/* Theme-specific overrides layered on top of the migrated prototype styles. */

:root {
	color-scheme: light;
}

:root[data-theme-tone='dark'] {
	color-scheme: dark;
}

body {
	color: var(--color-surface-text, #18181b) !important;
	background: var(--color-page-canvas, var(--color-brand-sand, #f8f5f2));
}

:is(main#main-content, .site-content, #main) {
	color: var(--color-surface-text, #18181b);
}

.bg-black {
	background-color: #050505 !important;
}

.bg-black\/10 {
	background-color: rgb(5 5 5 / 0.1) !important;
}

[class~='bg-[var(--color-brand-gold)]'],
[class~='bg-[#d4af37]'] {
	color: var(--color-accent-contrast, #050505) !important;
}

[class~='bg-[var(--color-brand-gold)]'] :is(.text-black, .text-zinc-950),
[class~='bg-[#d4af37]'] :is(.text-black, .text-zinc-950) {
	color: var(--color-accent-contrast, #050505) !important;
}

[class~='bg-[var(--color-brand-emerald)]'],
[class~='bg-[#0f5132]'] {
	color: var(--color-primary-contrast, #ffffff) !important;
}

[class~='bg-[var(--color-brand-emerald)]'] :is(.text-white, [class~='text-white/60'], [class~='text-white/70'], [class~='text-white/80'], [class~='text-white/85']),
[class~='bg-[#0f5132]'] :is(.text-white, [class~='text-white/60'], [class~='text-white/70'], [class~='text-white/80'], [class~='text-white/85']) {
	color: var(--color-primary-contrast, #ffffff) !important;
}

:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) [class~='text-[var(--color-brand-gold)]'],
:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) [class~='text-[#d4af37]'] {
	color: var(--color-accent-text, var(--color-brand-gold)) !important;
}

:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is(h1, h2, h3, h4, h5, h6, p, span, div, summary, td, th, label).text-white:not(.bg-black):not(.bg-red-600):not(.sis-on-dark),
:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is(h1, h2, h3, h4, h5, h6, p, span, div, summary, td, th, label)[class~='text-white/60']:not(.sis-on-dark),
:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is(h1, h2, h3, h4, h5, h6, p, span, div, summary, td, th, label)[class~='text-white/70']:not(.sis-on-dark),
:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is(h1, h2, h3, h4, h5, h6, p, span, div, summary, td, th, label)[class~='text-white/80']:not(.sis-on-dark),
:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is(h1, h2, h3, h4, h5, h6, p, span, div, summary, td, th, label)[class~='text-white/85']:not(.sis-on-dark) {
	color: var(--color-surface-text, #18181b) !important;
}

:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is(.text-gray-700, .text-gray-600, .text-gray-500, .text-gray-400, .text-zinc-500, .text-zinc-400, .text-zinc-300, .text-zinc-200):not(.sis-on-dark) {
	color: var(--color-surface-muted, #57534e) !important;
}

:root[data-theme-tone='dark'] :is(main#main-content, .site-content, #main) :is(.text-gray-700, .text-gray-600, .text-gray-500, .text-gray-400, .text-zinc-600, .text-zinc-500, .text-zinc-400):not(.sis-on-light) {
	color: var(--color-surface-muted, #d4d4d8) !important;
}

:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) .text-red-400 {
	color: #b91c1c !important;
}

:root[data-theme-tone='dark'] :is(main#main-content, .site-content, #main) .text-red-400 {
	color: #fca5a5 !important;
}

:is(main#main-content, .site-content, #main) .bg-red-600.text-white,
:is(main#main-content, .site-content, #main) [class~='bg-red-600'][class~='text-white'] {
	color: #ffffff !important;
}

:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is(a, button)[class~='text-white']:not(.bg-black):not(.bg-red-600):not([class~='bg-zinc-700']):not(.sis-on-dark),
:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is(a, button)[class~='hover:text-white']:hover,
:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is(a, button)[class~='hover:text-white']:focus-visible {
	color: var(--color-surface-text, #18181b) !important;
}

:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) [class~='hover:border-white']:hover,
:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) [class~='hover:border-white']:focus-visible {
	border-color: var(--color-accent-text, var(--color-brand-gold)) !important;
}

:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is([class~='bg-zinc-950'], [class~='bg-zinc-950/50'], [class~='bg-zinc-900'], [class~='bg-zinc-900/50'], [class~='bg-zinc-800'], [class~='bg-zinc-800/50']) {
	color: var(--color-surface-text, #18181b) !important;
}

:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) [class~='bg-zinc-950'] {
	background-color: var(--color-surface-950, #ffffff) !important;
}

:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) [class~='bg-zinc-900'] {
	background-color: var(--color-surface-900, #f6efe7) !important;
}

:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) [class~='bg-zinc-900/50'] {
	background-color: rgb(var(--color-surface-900-rgb, 246 239 231) / 0.72) !important;
}

:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) [class~='bg-zinc-800'] {
	background-color: var(--color-surface-800, #ebe0d2) !important;
}

:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) [class~='bg-zinc-700'] {
	background-color: var(--color-control-bg, #ffffff) !important;
}

:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) [class~='bg-zinc-800/50'] {
	background-color: rgb(var(--color-surface-800-rgb, 235 224 210) / 0.55) !important;
}

:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) [class~='bg-zinc-950/50'] {
	background-color: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.72) !important;
}

:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is([class~='hover:bg-zinc-950/50'], [class~='hover:bg-zinc-900/60'], [class~='hover:bg-zinc-800'], [class~='hover:bg-zinc-800/50']):hover,
:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is([class~='hover:bg-zinc-950/50'], [class~='hover:bg-zinc-900/60'], [class~='hover:bg-zinc-800'], [class~='hover:bg-zinc-800/50']):focus-visible {
	background-color: rgb(var(--color-surface-800-rgb, 235 224 210) / 0.72) !important;
}

:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) [class~='border-zinc-800'] {
	border-color: var(--color-surface-border, #d6c9bc) !important;
}

:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is([class~='border-zinc-700'], [class~='border-zinc-600']) {
	border-color: var(--color-surface-border-strong, #b8a590) !important;
}

:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is(input, textarea, select):is([class~='bg-zinc-950'], [class~='bg-zinc-950/50'], [class~='bg-zinc-900'], [class~='bg-zinc-900/50'], [class~='bg-zinc-800'], [class~='bg-zinc-700'], [class~='bg-zinc-800/50']) {
	border-color: var(--color-control-border, #b8a590) !important;
	background-color: var(--color-control-bg, #ffffff) !important;
	color: var(--color-control-text, #18181b) !important;
	caret-color: var(--color-control-text, #18181b) !important;
}

:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is(input, textarea, select):is([class~='bg-zinc-950'], [class~='bg-zinc-950/50'], [class~='bg-zinc-900'], [class~='bg-zinc-900/50'], [class~='bg-zinc-800'], [class~='bg-zinc-700'], [class~='bg-zinc-800/50'])::placeholder {
	color: rgb(var(--color-surface-text-rgb, 24 24 27) / 0.48) !important;
}

:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is(a, button, input[type='submit'])[class~='bg-zinc-700'],
:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is(a, button, input[type='submit']).sis-btn-neutral {
	border-color: var(--color-button-neutral-border, var(--color-button-neutral-bg)) !important;
	background-color: var(--color-button-neutral-bg, #0f5132) !important;
	color: var(--color-button-neutral-text, #ffffff) !important;
}

:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is(a, button, input[type='submit'])[class~='bg-zinc-700']:hover,
:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is(a, button, input[type='submit'])[class~='bg-zinc-700']:focus-visible {
	color: var(--color-button-neutral-text, #ffffff) !important;
	filter: brightness(1.04);
}

:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is(button, input[type='submit'])[class~='bg-[var(--color-brand-gold)]'],
:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is(a, button)[class~='bg-[var(--color-brand-gold)]'] {
	color: var(--color-accent-contrast, #050505) !important;
}

:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is([class~='bg-zinc-950'], [class~='bg-zinc-950/50'], [class~='bg-zinc-900'], [class~='bg-zinc-900/50'], [class~='bg-zinc-800'], [class~='bg-zinc-800/50']) :is([class~='text-white']):not([class~='bg-red-600']),
:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is([class~='bg-zinc-950'], [class~='bg-zinc-950/50'], [class~='bg-zinc-900'], [class~='bg-zinc-900/50'], [class~='bg-zinc-800'], [class~='bg-zinc-800/50']):is([class~='text-white']):not([class~='bg-red-600']) {
	color: var(--color-surface-text, #18181b) !important;
}

:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is([class~='bg-zinc-950'], [class~='bg-zinc-950/50'], [class~='bg-zinc-900'], [class~='bg-zinc-900/50'], [class~='bg-zinc-800'], [class~='bg-zinc-800/50']) :is([class~='text-white/60'], [class~='text-white/70'], [class~='text-white/80'], [class~='text-white/85'], [class~='text-zinc-200'], [class~='text-zinc-300'], [class~='text-zinc-400'], [class~='text-zinc-500'], [class~='text-gray-300'], [class~='text-gray-400'], [class~='text-gray-500']),
:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is([class~='bg-zinc-950'], [class~='bg-zinc-950/50'], [class~='bg-zinc-900'], [class~='bg-zinc-900/50'], [class~='bg-zinc-800'], [class~='bg-zinc-800/50']):is([class~='text-white/60'], [class~='text-white/70'], [class~='text-white/80'], [class~='text-white/85'], [class~='text-zinc-200'], [class~='text-zinc-300'], [class~='text-zinc-400'], [class~='text-zinc-500'], [class~='text-gray-300'], [class~='text-gray-400'], [class~='text-gray-500']) {
	color: var(--color-surface-muted, #57534e) !important;
}

:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is([class~='bg-zinc-950'], [class~='bg-zinc-950/50'], [class~='bg-zinc-900'], [class~='bg-zinc-900/50'], [class~='bg-zinc-800'], [class~='bg-zinc-800/50']) :is([class~='hover:text-white']):hover,
:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is([class~='bg-zinc-950'], [class~='bg-zinc-950/50'], [class~='bg-zinc-900'], [class~='bg-zinc-900/50'], [class~='bg-zinc-800'], [class~='bg-zinc-800/50']) :is([class~='hover:text-white']):focus-visible,
:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is([class~='bg-zinc-950'], [class~='bg-zinc-950/50'], [class~='bg-zinc-900'], [class~='bg-zinc-900/50'], [class~='bg-zinc-800'], [class~='bg-zinc-800/50']):is([class~='hover:text-white']):hover,
:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is([class~='bg-zinc-950'], [class~='bg-zinc-950/50'], [class~='bg-zinc-900'], [class~='bg-zinc-900/50'], [class~='bg-zinc-800'], [class~='bg-zinc-800/50']):is([class~='hover:text-white']):focus-visible {
	color: var(--color-surface-text, #18181b) !important;
}

:is(main#main-content, .site-content, #main) :is(.bg-red-600.text-white, [class~='bg-red-600'][class~='text-white']) {
	color: #ffffff !important;
}

:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is(input, textarea, select):is([class~='bg-zinc-950'], [class~='bg-zinc-950/50'], [class~='bg-zinc-900'], [class~='bg-zinc-900/50'], [class~='bg-zinc-800'], [class~='bg-zinc-800/50']) {
	caret-color: var(--color-surface-text, #18181b) !important;
}

:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is(input, textarea, select):is([class~='bg-zinc-950'], [class~='bg-zinc-950/50'], [class~='bg-zinc-900'], [class~='bg-zinc-900/50'], [class~='bg-zinc-800'], [class~='bg-zinc-800/50'])::placeholder,
:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is(input, textarea, select)[class~='placeholder:text-white/40']::placeholder {
	color: rgb(var(--color-surface-text-rgb, 24 24 27) / 0.42) !important;
}

.material-symbols-rounded {
	font-family: 'Material Symbols Rounded';
	font-style: normal;
	font-weight: 400;
	letter-spacing: normal;
	line-height: 1;
	text-transform: none;
	white-space: nowrap;
	word-wrap: normal;
	direction: ltr;
	font-feature-settings: 'liga';
	-webkit-font-smoothing: antialiased;
	font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.focus\:not-sr-only:focus {
	position: static;
	width: auto;
	height: auto;
	margin: 0;
	overflow: visible;
	clip: auto;
	white-space: normal;
}

.sis-menu,
.sis-submenu {
	list-style: none;
	margin: 0;
	padding-left: 0;
	padding-right: 0;
	padding-inline-start: 0;
	padding-inline-end: 0;
	}

.sis-menu-item {
	position: relative;
}

.sis-menu-item > a {
	text-decoration: none;
	transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

.sis-site-logo img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: contain;
}

.sis-section-header {
	display: grid;
	gap: 1rem;
	align-items: end;
	margin-bottom: 2.5rem;
	padding-bottom: 1.25rem;
	border-bottom: 1px solid rgb(var(--color-surface-text-rgb, 24 24 27) / 0.08);
}

.sis-section-heading {
	max-width: 42rem;
}

.sis-section-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	margin: 0 0 0.75rem;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-section-eyebrow::after {
	content: '';
	width: 3rem;
	height: 1px;
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.45);
}

.sis-section-title {
	margin: 0;
	font-family: 'Playfair Display', serif;
	font-size: clamp(2rem, 3vw, 2.75rem);
	line-height: 1.05;
	color: var(--color-surface-text, #18181b) !important;
}

.sis-section-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.75rem 1rem;
	border: 1px solid var(--color-surface-border, #d6c9bc);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--color-surface-text, #18181b) !important;
	text-decoration: none;
	transition: border-color 0.18s ease, color 0.18s ease, background-color 0.18s ease;
}

.sis-section-link:hover,
.sis-section-link:focus-visible {
	border-color: var(--color-accent-text, var(--color-brand-gold));
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-home-hero {
	position: relative;
	overflow: hidden;
	border-bottom: 1px solid rgb(var(--color-surface-text-rgb, 24 24 27) / 0.08);
	background: linear-gradient(135deg, rgb(var(--color-surface-950-rgb, 255 255 255) / 0.98) 0%, rgb(var(--color-surface-900-rgb, 246 239 231) / 0.94) 52%, rgb(var(--color-surface-950-rgb, 255 255 255) / 0.98) 100%);
}

.sis-home-hero::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(115deg, rgb(var(--color-surface-950-rgb, 255 255 255) / 0.98) 0%, rgb(var(--color-surface-950-rgb, 255 255 255) / 0.82) 28%, rgb(var(--color-surface-950-rgb, 255 255 255) / 0.52) 52%, rgb(var(--color-surface-950-rgb, 255 255 255) / 0.88) 100%);
	z-index: 1;
}

.sis-home-hero::after {
	content: '';
	position: absolute;
	left: -6rem;
	bottom: -7rem;
	width: 18rem;
	height: 18rem;
	background: radial-gradient(circle, rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.18) 0%, rgb(var(--color-brand-gold-rgb, 212 175 55) / 0) 72%);
	z-index: 1;
}

.sis-home-hero-media {
	position: absolute;
	inset: 0;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	opacity: 0.24;
	filter: saturate(0.9) contrast(1.02);
	transform: scale(1.02);
	transform-origin: center;
	will-change: transform;
	}

.sis-home-hero-inner {
	position: relative;
	z-index: 2;
	display: grid;
	gap: 2rem;
	align-items: end;
	padding-top: clamp(4rem, 8vw, 6rem);
	padding-bottom: clamp(4rem, 8vw, 5.5rem);
	}

.sis-home-hero-copy {
	max-width: 48rem;
}

.sis-home-hero-kicker {
	margin: 0 0 1rem;
	font-size: 0.88rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-home-hero-title {
	margin: 0;
	font-family: 'Playfair Display', serif;
	font-size: clamp(3.4rem, 8vw, 6.6rem);
	line-height: 0.94;
	letter-spacing: -0.03em;
	color: var(--color-surface-text, #18181b) !important;
	text-wrap: balance;
}

.sis-home-hero-title-accent {
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-home-hero-description {
	max-width: 44rem;
	margin: 1.5rem 0 0;
	font-size: clamp(1.2rem, 2vw, 1.6rem);
	line-height: 1.48;
	color: var(--color-surface-text, #18181b) !important;
}

.sis-home-hero .btn-primary-lift {
	box-shadow: 0 18px 36px -26px rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.85);
}

.sis-home-hero .btn-secondary-lift {
	color: var(--color-surface-text, #18181b) !important;
	border-color: var(--color-surface-border-strong, #b8a590) !important;
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.72);
	backdrop-filter: blur(10px);
}

.sis-home-hero .btn-secondary-lift:hover,
.sis-home-hero .btn-secondary-lift:focus-visible {
	color: var(--color-accent-text, var(--color-brand-gold)) !important;
	border-color: var(--color-accent-text, var(--color-brand-gold)) !important;
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.9);
}

.sis-home-hero-proof {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.85rem;
	margin-top: 2rem;
}

.sis-home-hero-proof-item {
	display: grid;
	gap: 0.35rem;
	padding: 1rem 1.1rem;
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.18);
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.62);
	backdrop-filter: blur(10px);
	box-shadow: 0 16px 36px -32px rgba(15, 23, 42, 0.5);
}

.sis-home-hero-proof-value {
	font-family: 'Playfair Display', serif;
	font-size: clamp(1.7rem, 3vw, 2.4rem);
	line-height: 1;
	color: var(--color-surface-text, #18181b) !important;
}

.sis-home-hero-proof-label {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--color-surface-muted, #57534e);
}

.sis-home-hero-panel {
	position: relative;
	display: grid;
	gap: 1rem;
	padding: 1.75rem;
	align-self: stretch;
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.18);
	background-color: var(--color-brand-emerald, #0f5132);
	background-image: linear-gradient(180deg, rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.96) 0%, rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.88) 100%);
	backdrop-filter: blur(12px);
	box-shadow: 0 32px 48px -36px rgba(15, 23, 42, 0.55);
	color: #ffffff;
	overflow: hidden;
}

.sis-home-hero-panel::after {
	content: '';
	position: absolute;
	inset: auto -4rem -5rem auto;
	width: 14rem;
	height: 14rem;
	background: radial-gradient(circle, rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.16) 0%, rgb(var(--color-brand-gold-rgb, 212 175 55) / 0) 72%);
	pointer-events: none;
}

.sis-home-hero-panel-kicker,
.sis-home-trust-kicker,
.sis-home-faculties-tag {
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.sis-home-hero-panel-kicker {
	margin: 0;
	color: rgba(255, 255, 255, 0.72);
}

.sis-home-hero-panel-title {
	margin: 0;
	font-family: 'Playfair Display', serif;
	font-size: clamp(1.7rem, 3vw, 2.4rem);
	line-height: 1.08;
	text-wrap: balance;
}

.sis-home-hero-panel-copy {
	margin: 0;
	font-size: 1rem;
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.78);
}

.sis-home-hero-panel-list {
	display: grid;
	gap: 0.75rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sis-home-hero-panel-list li {
	position: relative;
	padding-left: 1.25rem;
	font-size: 0.95rem;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.88);
}

.sis-home-hero-panel-list li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.65rem;
	width: 0.45rem;
	height: 0.45rem;
	background: var(--color-brand-gold);
	border-radius: 999px;
}

.sis-home-hero-panel-mark {
	display: flex;
	justify-content: flex-end;
	margin-top: 0.25rem;
}

.sis-home-hero-panel-mark img {
	width: clamp(7rem, 22vw, 11rem);
	opacity: 0.28;
	filter: brightness(0) invert(1);
}

.sis-home-trust {
	background: linear-gradient(180deg, rgb(var(--color-surface-900-rgb, 246 239 231) / 0.54) 0%, rgb(var(--color-surface-950-rgb, 255 255 255) / 0.98) 42%, rgb(var(--color-surface-900-rgb, 246 239 231) / 0.4) 100%);
	border-top: 1px solid rgb(var(--color-surface-text-rgb, 24 24 27) / 0.08);
	border-bottom: 1px solid rgb(var(--color-surface-text-rgb, 24 24 27) / 0.08);
	padding: clamp(4rem, 8vw, 5.5rem) 0;
}

.sis-home-trust-inner {
	display: grid;
	gap: 2rem;
	align-items: start;
}

.sis-home-trust-title {
	margin: 0;
	font-family: 'Playfair Display', serif;
	font-size: clamp(3rem, 6vw, 4.5rem);
	line-height: 0.98;
	color: var(--color-surface-text, #18181b) !important;
}

.sis-home-trust-description {
	margin: 1.25rem 0 0;
	font-size: clamp(1.15rem, 2.4vw, 1.55rem);
	line-height: 1.6;
	color: var(--color-surface-text, #18181b) !important;
}

.sis-home-trust-note {
	margin-top: 1.75rem;
	padding: 1.25rem 1.35rem;
	border-left: 3px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.55);
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.76);
	box-shadow: 0 18px 36px -34px rgba(15, 23, 42, 0.4);
}

.sis-home-trust-note-title {
	margin: 0;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-home-trust-note-copy {
	margin: 0.75rem 0 0;
	font-size: 1rem;
	line-height: 1.65;
	color: var(--color-surface-muted, #57534e);
}

.sis-home-trust-list {
	display: grid;
	gap: 0.9rem;
	margin: 1.5rem 0 0;
	padding: 0;
	list-style: none;
}

.sis-home-trust-list li {
	position: relative;
	padding-left: 1.2rem;
	font-size: 0.98rem;
	line-height: 1.7;
	color: var(--color-surface-text, #18181b) !important;
}

.sis-home-trust-list li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.7rem;
	width: 0.42rem;
	height: 0.42rem;
	background: var(--color-brand-gold);
	border-radius: 999px;
}

.sis-home-trust-stats {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	align-content: start;
}

.sis-stat-card {
	display: grid;
	gap: 0.6rem;
	height: 100%;
	padding: 1.5rem;
	border: 1px solid var(--color-surface-border, #d6c9bc);
	background: linear-gradient(180deg, rgb(var(--color-surface-950-rgb, 255 255 255) / 0.96) 0%, rgb(var(--color-surface-900-rgb, 246 239 231) / 0.92) 100%);
	box-shadow: 0 18px 36px -30px rgba(15, 23, 42, 0.28);
}

.sis-stat-value {
	font-family: 'Playfair Display', serif;
	font-size: clamp(2.5rem, 4vw, 3.5rem);
	font-weight: 700;
	line-height: 1;
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-stat-label {
	margin: 0;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--color-surface-muted, #57534e);
}

.sis-feature-card {
	display: grid;
	gap: 1rem;
	height: 100%;
	padding: 1.5rem;
	border: 1px solid var(--color-surface-border, #d6c9bc);
	background: linear-gradient(180deg, rgb(var(--color-surface-950-rgb, 255 255 255) / 0.96) 0%, rgb(var(--color-surface-900-rgb, 246 239 231) / 0.92) 100%);
	box-shadow: 0 18px 36px -30px rgba(15, 23, 42, 0.28);
	text-decoration: none;
	transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.sis-feature-card:hover,
.sis-feature-card:focus-visible {
	transform: translateY(-3px);
	border-color: var(--color-accent-text, var(--color-brand-gold));
	box-shadow: 0 28px 48px -34px rgba(15, 23, 42, 0.32);
}

.sis-feature-card-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.24);
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.12);
	color: var(--color-accent-text, var(--color-brand-gold));
	font-size: 1.5rem;
}

.sis-feature-card-body {
	display: grid;
	gap: 0.6rem;
}

.sis-feature-card-meta {
	margin: 0;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--color-surface-muted, #57534e);
}

.sis-feature-card-title {
	margin: 0;
	font-size: 1.15rem;
	font-weight: 700;
	line-height: 1.35;
	color: var(--color-surface-text, #18181b) !important;
	transition: color 0.18s ease;
}

.sis-feature-card-summary {
	margin: 0;
	font-size: 0.94rem;
	line-height: 1.62;
	color: var(--color-surface-muted, #57534e);
}

.sis-feature-card:hover .sis-feature-card-title,
.sis-feature-card:focus-visible .sis-feature-card-title {
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-feature-card-link {
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-home-faculties-shell {
	display: grid;
	gap: 1.75rem;
	align-items: start;
}

.sis-home-faculties-intro {
	display: grid;
	gap: 1.1rem;
	padding: 1.5rem;
	border: 1px solid var(--color-surface-border, #d6c9bc);
	background: linear-gradient(180deg, rgb(var(--color-surface-950-rgb, 255 255 255) / 0.96) 0%, rgb(var(--color-surface-900-rgb, 246 239 231) / 0.92) 100%);
	box-shadow: 0 18px 36px -30px rgba(15, 23, 42, 0.28);
}

.sis-home-faculties-copy,
.sis-home-faculties-summary {
	margin: 0;
	font-size: 1rem;
	line-height: 1.7;
	color: var(--color-surface-muted, #57534e);
}

.sis-home-faculties-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
}

.sis-home-faculties-tag {
	display: inline-flex;
	align-items: center;
	padding: 0.55rem 0.75rem;
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.22);
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.1);
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-home-faculties-grid {
	display: grid;
	gap: 1rem;
}

.sis-feature-card--lead {
	padding: 1.85rem;
	background: linear-gradient(180deg, rgb(var(--color-surface-950-rgb, 255 255 255) / 1) 0%, rgb(var(--color-surface-900-rgb, 246 239 231) / 0.95) 100%);
}

.sis-feature-card--lead .sis-feature-card-title {
	font-size: clamp(1.5rem, 2.8vw, 2.2rem);
	line-height: 1.18;
}

.sis-feature-card--lead .sis-feature-card-summary {
	font-size: 1rem;
	max-width: 34rem;
}

.sis-listing-hero {
	background: linear-gradient(180deg, rgb(var(--color-surface-900-rgb, 246 239 231) / 0.74) 0%, rgb(var(--color-surface-950-rgb, 255 255 255) / 0.98) 44%, rgb(var(--color-surface-900-rgb, 246 239 231) / 0.46) 100%);
	border-top: 1px solid rgb(var(--color-surface-text-rgb, 24 24 27) / 0.08);
	border-bottom: 1px solid rgb(var(--color-surface-text-rgb, 24 24 27) / 0.08);
	padding-top: clamp(3.5rem, 7vw, 5rem) !important;
	padding-bottom: clamp(3.5rem, 7vw, 5rem) !important;
}

.sis-listing-hero-inner {
	display: grid;
	gap: 1.5rem;
	align-items: start;
}

.sis-listing-hero-copy {
	max-width: 46rem;
}

.sis-listing-kicker,
.sis-listing-panel-eyebrow,
.sis-result-summary {
	margin: 0;
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-listing-title {
	margin: 0;
	font-family: 'Playfair Display', serif;
	font-size: clamp(2.8rem, 6vw, 4.7rem);
	line-height: 0.98;
	color: var(--color-surface-text, #18181b) !important;
	text-wrap: balance;
}

.sis-listing-description {
	margin: 1.25rem 0 0;
	font-size: clamp(1.08rem, 2.1vw, 1.35rem);
	line-height: 1.7;
	color: var(--color-surface-text, #18181b) !important;
}

.sis-listing-search {
	margin-top: 1.75rem;
	padding: 1rem;
	max-width: 44rem;
}

.sis-listing-search-row {
	display: flex;
	gap: 0.75rem;
	align-items: stretch;
}

.sis-listing-search-input {
	flex: 1 1 auto;
	min-height: 3.5rem;
	padding: 0 1rem;
	border: 1px solid var(--color-surface-border-strong, #b8a590);
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.82);
	color: var(--color-surface-text, #18181b) !important;
	font-size: 1rem;
	outline: none;
	transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.sis-listing-search-input:focus {
	border-color: var(--color-accent-text, var(--color-brand-gold));
	box-shadow: 0 0 0 3px rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.12);
}

.sis-listing-search-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	min-height: 3.5rem;
	padding: 0 1.25rem;
	border: 1px solid var(--color-brand-gold);
	background: var(--color-brand-gold);
	color: #18181b;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	transition: transform 0.18s ease, filter 0.18s ease;
}

.sis-listing-search-button:hover,
.sis-listing-search-button:focus-visible {
	transform: translateY(-1px);
	filter: brightness(0.97);
}

.sis-listing-panel {
	display: grid;
	gap: 1rem;
	align-content: start;
	padding: 1.5rem;
}

.sis-listing-panel-copy {
	margin: 0;
	font-size: 0.98rem;
	line-height: 1.7;
	color: var(--color-surface-muted, #57534e);
}

.sis-listing-panel-stats {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.85rem;
}

.sis-listing-stat {
	display: grid;
	gap: 0.35rem;
	padding: 1rem;
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.16);
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.74);
}

.sis-listing-stat-value {
	font-family: 'Playfair Display', serif;
	font-size: clamp(1.65rem, 3vw, 2.4rem);
	line-height: 1;
	color: var(--color-surface-text, #18181b) !important;
}

.sis-listing-stat-label {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--color-surface-muted, #57534e);
}

.sis-listing-panel-list {
	display: grid;
	gap: 0.75rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sis-listing-panel-list li {
	position: relative;
	padding-left: 1.05rem;
	font-size: 0.95rem;
	line-height: 1.65;
	color: var(--color-surface-text, #18181b) !important;
}

.sis-listing-panel-list li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.72rem;
	width: 0.42rem;
	height: 0.42rem;
	background: var(--color-brand-gold);
	border-radius: 999px;
}

.sis-filter-bar {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 2rem;
}

.sis-filter-chip {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.8rem 1rem;
	border: 1px solid var(--color-surface-border, #d6c9bc);
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.72);
	color: var(--color-surface-text, #18181b) !important;
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	transition: border-color 0.18s ease, background-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.sis-filter-chip:hover,
.sis-filter-chip:focus-visible {
	border-color: var(--color-accent-text, var(--color-brand-gold));
	color: var(--color-accent-text, var(--color-brand-gold));
	transform: translateY(-1px);
}

.sis-filter-chip[data-active='true'] {
	border-color: var(--color-accent-text, var(--color-brand-gold));
	background: var(--color-brand-gold);
	color: #18181b;
	box-shadow: 0 18px 36px -28px rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.85);
}

.sis-listing-section {
	padding: clamp(2.75rem, 6vw, 4.5rem) 0;
}

.sis-result-summary {
	margin-bottom: 1.25rem;
	color: var(--color-surface-muted, #57534e);
}

.sis-result-list {
	display: grid;
	gap: 1rem;
}

.sis-listing-grid {
	display: grid;
	gap: 1rem;
}

.sis-archive-section {
	display: grid;
	gap: 1.25rem;
}

.sis-archive-section + .sis-archive-section {
	margin-top: 2.25rem;
}

.sis-archive-section-header {
	display: flex;
	flex-wrap: wrap;
	align-items: end;
	justify-content: space-between;
	gap: 1rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid rgb(var(--color-surface-text-rgb, 24 24 27) / 0.08);
}

.sis-archive-section-kicker {
	margin: 0;
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-archive-section-title {
	margin: 0.35rem 0 0;
	font-family: 'Playfair Display', serif;
	font-size: clamp(1.5rem, 2.8vw, 2.15rem);
	line-height: 1.15;
	color: var(--color-surface-text, #18181b) !important;
}

.sis-archive-section-note {
	margin: 0;
	font-size: 0.92rem;
	line-height: 1.6;
	color: var(--color-surface-muted, #57534e);
}

.sis-archive-card {
	display: grid;
	gap: 1rem;
	height: 100%;
	padding: 1.35rem;
}

.sis-archive-card-head {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
}

.sis-archive-card-body {
	display: grid;
	gap: 0.5rem;
	min-width: 0;
}

.sis-archive-card-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	flex-shrink: 0;
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.2);
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.12);
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-archive-card-icon .material-symbols-rounded {
	font-size: 1.4rem;
}

.sis-archive-card-kicker {
	margin: 0;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-archive-card-title {
	margin: 0;
	font-size: 1.35rem;
	line-height: 1.25;
	color: var(--color-surface-text, #18181b) !important;
}

.sis-archive-card-title-link {
	color: inherit;
	text-decoration: none;
	transition: color 0.18s ease;
}

.sis-archive-card:hover .sis-archive-card-title-link,
.sis-archive-card:focus-within .sis-archive-card-title-link {
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-archive-card-summary {
	margin: 0;
	font-size: 0.98rem;
	line-height: 1.68;
	color: var(--color-surface-muted, #57534e);
}

.sis-archive-card-meta {
	margin: 0;
	font-size: 0.88rem;
	line-height: 1.6;
	color: var(--color-surface-muted, #57534e);
}

.sis-archive-card-footer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem 1rem;
	margin-top: auto;
}

.sis-archive-card-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: auto;
}

.sis-archive-card-link,
.sis-archive-card-link-secondary {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	text-decoration: none;
	transition: color 0.18s ease, transform 0.18s ease;
}

.sis-archive-card-link {
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-archive-card-link-secondary {
	color: var(--color-surface-text, #18181b) !important;
}

.sis-archive-card-link:hover,
.sis-archive-card-link:focus-visible,
.sis-archive-card-link-secondary:hover,
.sis-archive-card-link-secondary:focus-visible {
	transform: translateX(2px);
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-archive-card-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
}

.sis-archive-badge {
	display: inline-flex;
	align-items: center;
	padding: 0.4rem 0.65rem;
	border: 1px solid var(--color-surface-border, #d6c9bc);
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.74);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--color-surface-muted, #57534e);
}

.sis-archive-badge--accent {
	border-color: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.22);
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.12);
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-archive-badge--live {
	border-color: rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.24);
	background: rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.12);
	color: rgb(var(--color-brand-emerald-rgb, 15 81 50) / 1);
}

.sis-course-archive-shell {
	display: grid;
	gap: 1.25rem;
	align-items: start;
}

.sis-course-archive-sidebar,
.sis-course-archive-main {
	display: grid;
	gap: 1rem;
}

.sis-course-archive-sidebar {
	order: 2;
	align-self: start;
	--sis-course-sticky-top: 8.5rem;
	--sis-course-sticky-bottom: 1rem;
	--sis-course-sidebar-shift: 0px;
}

.sis-course-archive-main {
	order: 1;
}

.sis-course-sidebar-panel {
	display: grid;
	gap: 1.1rem;
	padding: 1.1rem;
	transform: translate3d(0, calc(var(--sis-course-sidebar-shift) * -1), 0);
	transform-origin: top center;
	transition: border-color 0.18s ease, box-shadow 0.18s ease;
	will-change: transform;
}

.sis-course-sidebar-head {
	display: grid;
	gap: 0.45rem;
}

.sis-course-sidebar-title {
	margin: 0;
	font-family: 'Playfair Display', serif;
	font-size: clamp(1.2rem, 2.1vw, 1.55rem);
	line-height: 1.15;
	color: var(--color-surface-text, #18181b) !important;
}

.sis-course-sidebar-copy {
	margin: 0;
	font-size: 0.88rem;
	line-height: 1.58;
	color: var(--color-surface-muted, #57534e);
}

.sis-course-filter-section {
	display: grid;
	gap: 0.7rem;
	padding-top: 0.95rem;
	border-top: 1px solid rgb(var(--color-surface-text-rgb, 24 24 27) / 0.08);
}

.sis-course-filter-section:first-of-type {
	padding-top: 0;
	border-top: 0;
}

.sis-course-filter-section-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.sis-course-filter-section-title {
	margin: 0;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--color-surface-text, #18181b) !important;
}

.sis-course-filter-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2rem;
	height: 2rem;
	padding: 0 0.55rem;
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.22);
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.12);
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-course-filter-options {
	display: grid;
	gap: 0.55rem;
}

.sis-course-filter-option {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 0.55rem;
	align-items: center;
	width: 100%;
	padding: 0.68rem 0.8rem;
	border: 1px solid var(--color-surface-border, #d6c9bc);
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.74);
	color: var(--color-surface-text, #18181b) !important;
	font-size: 0.86rem;
	line-height: 1.35;
	text-align: left;
	transition: border-color 0.18s ease, background-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}

.sis-course-filter-option:hover,
.sis-course-filter-option:focus-visible {
	border-color: var(--color-accent-text, var(--color-brand-gold));
	transform: translateY(-1px);
	box-shadow: 0 18px 36px -30px rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.7);
}

.sis-course-filter-option[data-active='true'] {
	border-color: var(--color-accent-text, var(--color-brand-gold));
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.14);
	box-shadow: 0 18px 36px -30px rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.75);
}

.sis-course-filter-option-count {
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--color-surface-muted, #57534e);
}

.sis-course-filter-option[data-active='true'] .sis-course-filter-option-count {
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-course-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: end;
	justify-content: space-between;
	gap: 0.85rem 1rem;
	padding: 1.15rem 1.25rem;
}

.sis-course-toolbar-copy {
	display: grid;
	gap: 0.35rem;
	max-width: 36rem;
}

.sis-course-toolbar-status-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.8rem;
}

.sis-course-toolbar-title {
	margin: 0;
	font-family: 'Playfair Display', serif;
	font-size: clamp(1.35rem, 2.4vw, 1.95rem);
	line-height: 1.08;
	letter-spacing: -0.02em;
	color: var(--color-surface-text, #18181b) !important;
}

.sis-course-results-summary {
	margin: 0;
	font-size: 0.9rem;
	line-height: 1.58;
	color: var(--color-surface-muted, #57534e);
}

.sis-course-filter-status {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	padding: 0.45rem 0.75rem;
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.24);
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.12);
	font-size: 0.73rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-course-filter-status-spinner {
	width: 0.85rem;
	height: 0.85rem;
	border: 2px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.26);
	border-top-color: var(--color-accent-text, var(--color-brand-gold));
	border-radius: 999px;
	animation: sis-course-spinner 0.75s linear infinite;
}

.sis-course-results[data-loading='true'] {
	opacity: 0.72;
	transition: opacity 0.18s ease;
}

.sis-course-results[data-loading='true'] .sis-course-card {
	pointer-events: none;
}

.sis-course-filter-option:disabled,
.sis-course-reset-button:disabled,
.sis-course-view-btn:disabled {
	cursor: progress;
	opacity: 0.7;
	transform: none;
	box-shadow: none;
}

.sis-course-view-toggle {
	display: inline-grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.65rem;
	min-width: min(100%, 15rem);
}

.sis-course-view-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.72rem 0.95rem;
	border: 1px solid var(--color-surface-border, #d6c9bc);
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.72);
	color: var(--color-surface-text, #18181b) !important;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	transition: border-color 0.18s ease, background-color 0.18s ease, color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}

.sis-course-view-btn:hover,
.sis-course-view-btn:focus-visible {
	border-color: var(--color-accent-text, var(--color-brand-gold));
	color: var(--color-accent-text, var(--color-brand-gold));
	transform: translateY(-1px);
	box-shadow: 0 18px 36px -30px rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.65);
}

.sis-course-view-btn[data-active='true'] {
	border-color: var(--color-accent-text, var(--color-brand-gold));
	background: var(--color-brand-gold);
	color: var(--color-accent-contrast, #18181b) !important;
	box-shadow: 0 18px 36px -28px rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.75);
}

.sis-course-results {
	display: grid;
	gap: 0.85rem;
	grid-template-columns: minmax(0, 1fr);
}

.sis-course-card {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: stretch;
	min-height: 100%;
	padding: 0;
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	background: linear-gradient(180deg, rgb(var(--color-surface-950-rgb, 255 255 255) / 1) 0%, rgb(var(--color-surface-900-rgb, 246 239 231) / 0.44) 100%);
}

.sis-course-card-media {
	position: relative;
	display: block;
	min-height: 10.25rem;
	background: linear-gradient(180deg, rgb(var(--color-surface-900-rgb, 246 239 231) / 0.84) 0%, rgb(var(--color-surface-950-rgb, 255 255 255) / 0.98) 100%);
	border-bottom: 1px solid rgb(var(--color-surface-text-rgb, 24 24 27) / 0.08);
	overflow: hidden;
}

.sis-course-card-image,
.sis-course-card-media-fallback {
	display: block;
	width: 100%;
	height: 100%;
}

.sis-course-card-image {
	object-fit: cover;
	min-height: 100%;
	transition: transform 0.5s ease, filter 0.22s ease;
}

.sis-course-card:hover .sis-course-card-image,
.sis-course-card:focus-visible .sis-course-card-image {
	transform: scale(1.035);
	filter: saturate(1.04);
}

.sis-course-card-media-overlay {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 0.9rem;
	pointer-events: none;
	background: linear-gradient(180deg, rgb(12 26 21 / 0.14) 0%, rgb(12 26 21 / 0) 42%, rgb(12 26 21 / 0.46) 100%);
	z-index: 1;
}

.sis-course-card-media-overlay .sis-archive-badge--accent {
	align-self: start;
	background: rgb(255 255 255 / 0.82);
	backdrop-filter: blur(10px);
	box-shadow: 0 16px 30px -24px rgb(12 26 21 / 0.38);
}

.sis-course-card-media-stat {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	justify-self: start;
	align-self: end;
	padding: 0.5rem 0.8rem;
	border: 1px solid rgb(255 255 255 / 0.22);
	background: rgb(12 26 21 / 0.55);
	backdrop-filter: blur(10px);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #f8fafc;
}

.sis-course-card-media-stat .material-symbols-rounded {
	font-size: 1rem;
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-course-card-media-fallback {
	display: grid;
	place-items: center;
	gap: 0.9rem;
	padding: 1.5rem;
	background:
		radial-gradient(circle at 20% 20%, rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.18) 0%, rgb(var(--color-brand-gold-rgb, 212 175 55) / 0) 36%),
		linear-gradient(145deg, rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.12) 0%, rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.14) 100%);
	text-align: center;
	color: var(--color-surface-text, #18181b) !important;
}

.sis-course-card-media-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 4rem;
	height: 4rem;
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.24);
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.7);
	color: var(--color-accent-text, var(--color-brand-gold));
	box-shadow: 0 20px 32px -28px rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.6);
}

.sis-course-card-media-icon .material-symbols-rounded {
	font-size: 1.8rem;
}

.sis-course-card-media-label {
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.sis-course-card-content {
	display: grid;
	gap: 0.72rem;
	padding: 1.15rem 1.2rem 1.05rem;
}

.sis-course-card-topline {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.55rem;
}

.sis-course-card-code {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.36rem 0.58rem;
	border: 1px solid rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.18);
	background: rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.08);
	font-size: 0.66rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--color-surface-text, #18181b) !important;
}

.sis-course-card-code-label {
	opacity: 0.72;
}

.sis-course-card-code-value {
	color: var(--color-surface-text, #18181b) !important;
}

.sis-course-card-heading {
	display: grid;
	gap: 0.35rem;
}

.sis-course-card .sis-archive-card-title {
	font-size: clamp(1.18rem, 2vw, 1.48rem);
	line-height: 1.08;
	letter-spacing: -0.02em;
	transition: color 0.18s ease;
}

.sis-course-card:hover .sis-archive-card-title,
.sis-course-card:focus-visible .sis-archive-card-title {
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-course-card .sis-archive-card-summary {
	font-size: 0.92rem;
	line-height: 1.58;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	overflow: hidden;
}

.sis-course-card-facts {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(8.75rem, 1fr));
	gap: 0.45rem;
	margin-top: auto;
}

.sis-course-card-fact {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	min-width: 0;
	padding: 0.48rem 0.65rem;
	border: 1px solid var(--color-surface-border, #d6c9bc);
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.82);
	font-size: 0.73rem;
	font-weight: 600;
	line-height: 1.34;
	color: var(--color-surface-muted, #57534e);
}

.sis-course-card-fact .material-symbols-rounded {
	flex: 0 0 auto;
	font-size: 1rem;
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-course-card-fact--code {
	border-color: rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.18);
	background: rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.08);
	color: rgb(var(--color-brand-emerald-rgb, 15 81 50) / 1);
}

.sis-course-card-side {
	display: grid;
	gap: 0.8rem;
	align-content: center;
	padding: 1.05rem 1.15rem 1.15rem;
	border-top: 1px solid rgb(var(--color-surface-text-rgb, 24 24 27) / 0.08);
	background: linear-gradient(180deg, rgb(var(--color-surface-900-rgb, 246 239 231) / 0.18) 0%, rgb(var(--color-surface-900-rgb, 246 239 231) / 0.44) 100%);
}

.sis-course-card-side-copy {
	display: grid;
	gap: 0.4rem;
}

.sis-course-card-side-eyebrow {
	margin: 0;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--color-surface-muted, #57534e);
}

.sis-course-card-stat {
	margin: 0;
	font-family: 'Playfair Display', serif;
	font-size: clamp(1.12rem, 1.8vw, 1.45rem);
	line-height: 1.05;
	color: var(--color-surface-text, #18181b) !important;
}

.sis-course-card-side-note {
	margin: 0;
	font-size: 0.8rem;
	line-height: 1.48;
	color: var(--color-surface-muted, #57534e);
}

.sis-course-card-actions {
	display: grid;
	gap: 0.5rem;
}

.sis-course-card-action-primary {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 0.78rem 0.92rem;
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.32);
	background: linear-gradient(135deg, rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.22) 0%, rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.1) 100%);
	font-size: 0.71rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--color-surface-text, #18181b) !important;
	box-shadow: 0 18px 30px -26px rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.72);
}

.sis-course-card-action-primary .material-symbols-rounded {
	font-size: 1rem;
	color: var(--color-brand-emerald);
}

.sis-course-card-action-secondary {
	font-size: 0.74rem;
	line-height: 1.42;
	max-width: 18ch;
	color: var(--color-surface-muted, #57534e);
}

.sis-course-empty {
	display: grid;
	gap: 1rem;
	margin-top: 1rem;
}

.sis-course-reset-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.8rem 1rem;
	border: 1px solid var(--color-brand-gold);
	background: var(--color-brand-gold);
	color: #18181b;
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	transition: transform 0.18s ease, filter 0.18s ease, box-shadow 0.18s ease;
}

.sis-course-reset-button:hover,
.sis-course-reset-button:focus-visible {
	transform: translateY(-1px);
	filter: brightness(0.97);
	box-shadow: 0 18px 36px -28px rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.75);
}

.sis-archive-badge--expired {
	border-color: rgb(var(--color-surface-text-rgb, 24 24 27) / 0.12);
	background: rgb(var(--color-surface-text-rgb, 24 24 27) / 0.05);
	color: var(--color-surface-muted, #57534e);
}

.sis-archive-badge--upcoming {
	border-color: rgb(14 116 144 / 0.24);
	background: rgb(14 116 144 / 0.12);
	color: rgb(14 116 144 / 1);
}

.sis-event-card-meta {
	display: grid;
	gap: 0.75rem;
}

.sis-event-card-meta-item {
	display: flex;
	align-items: flex-start;
	gap: 0.6rem;
	font-size: 0.9rem;
	line-height: 1.6;
	color: var(--color-surface-muted, #57534e);
}

.sis-event-card-meta-item .material-symbols-rounded {
	margin-top: 0.12rem;
	font-size: 1.05rem;
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-pagination-shell {
	margin-top: 2rem;
}

.sis-pagination-shell .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: center;
}

.sis-pagination-shell .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.75rem;
	min-height: 2.75rem;
	padding: 0 0.95rem;
	border: 1px solid var(--color-surface-border, #d6c9bc);
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.72);
	color: var(--color-surface-text, #18181b) !important;
	text-decoration: none;
	transition: border-color 0.18s ease, color 0.18s ease, background-color 0.18s ease;
}

.sis-pagination-shell .page-numbers:hover,
.sis-pagination-shell .page-numbers:focus-visible {
	border-color: var(--color-accent-text, var(--color-brand-gold));
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-pagination-shell .page-numbers.current {
	border-color: var(--color-accent-text, var(--color-brand-gold));
	background: var(--color-brand-gold);
	color: var(--color-accent-contrast, #18181b) !important;
}

.sis-listing-empty {
	display: grid;
	gap: 1rem;
	max-width: 48rem;
	margin: 0 auto;
	padding: clamp(1.75rem, 4vw, 2.5rem);
	text-align: center;
}

.sis-listing-empty-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 4rem;
	height: 4rem;
	margin: 0 auto;
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.18);
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.12);
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-listing-empty-icon .material-symbols-rounded {
	font-size: 2rem;
}

.sis-listing-empty-title {
	margin: 0;
	font-family: 'Playfair Display', serif;
	font-size: clamp(1.85rem, 3vw, 2.4rem);
	line-height: 1.15;
	color: var(--color-surface-text, #18181b) !important;
}

.sis-listing-empty-copy {
	margin: 0;
	font-size: 1rem;
	line-height: 1.7;
	color: var(--color-surface-muted, #57534e);
}

.sis-listing-empty-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.75rem;
}

.sis-listing-empty-actions a {
	text-decoration: none;
}

.sis-page-hero {
	position: relative;
	overflow: hidden;
	padding-top: clamp(3.5rem, 7vw, 5rem) !important;
	padding-bottom: clamp(3.5rem, 7vw, 5rem) !important;
}

.sis-page-hero::before {
	content: '';
	position: absolute;
	top: -6rem;
	right: -4rem;
	width: 18rem;
	height: 18rem;
	background: radial-gradient(circle, rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.16) 0%, rgb(var(--color-brand-gold-rgb, 212 175 55) / 0) 72%);
	pointer-events: none;
}

.sis-page-hero::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgb(var(--color-surface-950-rgb, 255 255 255) / 0.16) 0%, rgb(var(--color-surface-950-rgb, 255 255 255) / 0) 52%);
	pointer-events: none;
}

.sis-page-hero > * {
	position: relative;
	z-index: 1;
}

.sis-kpi-card,
.sis-surface-card,
.sis-banner-panel,
.sis-form-shell {
	border: 1px solid var(--color-surface-border, #d6c9bc);
	background: linear-gradient(180deg, rgb(var(--color-surface-950-rgb, 255 255 255) / 0.96) 0%, rgb(var(--color-surface-900-rgb, 246 239 231) / 0.92) 100%);
	box-shadow: 0 20px 38px -32px rgba(15, 23, 42, 0.28);
}

:is(.sis-kpi-card, .sis-surface-card, .sis-banner-panel, .sis-form-shell) {
	color: var(--color-surface-text, #18181b) !important;
}

:is(.sis-kpi-card, .sis-surface-card, .sis-banner-panel, .sis-form-shell) :is(.text-white),
:is(.sis-kpi-card, .sis-surface-card, .sis-banner-panel, .sis-form-shell).text-white {
	color: var(--color-surface-text, #18181b) !important;
}

:is(.sis-kpi-card, .sis-surface-card, .sis-banner-panel, .sis-form-shell) :is(.text-zinc-500, .text-zinc-400, .text-zinc-300, .text-gray-700, .text-gray-500, .text-gray-400, .text-gray-300),
:is(.sis-kpi-card, .sis-surface-card, .sis-banner-panel, .sis-form-shell):is(.text-zinc-500, .text-zinc-400, .text-zinc-300, .text-gray-700, .text-gray-500, .text-gray-400, .text-gray-300) {
	color: var(--color-surface-muted, #57534e) !important;
}

:is(.sis-kpi-card, .sis-surface-card, .sis-banner-panel, .sis-form-shell) :is(.border-zinc-800, .border-zinc-700, .border-zinc-600),
:is(.sis-kpi-card, .sis-surface-card, .sis-banner-panel, .sis-form-shell):is(.border-zinc-800, .border-zinc-700, .border-zinc-600) {
	border-color: var(--color-surface-border, #d6c9bc) !important;
}

.sis-kpi-card {
	padding: 1.25rem 1.35rem;
}

a.sis-surface-card,
.sis-surface-card {
	text-decoration: none;
	transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

a.sis-surface-card:hover,
a.sis-surface-card:focus-visible {
	transform: translateY(-3px);
	border-color: var(--color-accent-text, var(--color-brand-gold));
	box-shadow: 0 28px 48px -34px rgba(15, 23, 42, 0.32);
}

.sis-banner-panel {
	padding: clamp(1.5rem, 3vw, 2rem);
}

.sis-form-shell {
	padding: clamp(1.5rem, 3vw, 2.25rem);
}

.sis-auth-grid {
	display: grid;
	gap: 1rem;
}

.sis-auth-card {
	display: grid;
	gap: 1rem;
	align-content: start;
}

.sis-auth-card-title {
	margin: 0;
	font-family: 'Playfair Display', serif;
	font-size: clamp(1.75rem, 3vw, 2.35rem);
	line-height: 1.12;
	color: var(--color-surface-text, #18181b) !important;
}

.sis-auth-card-copy {
	margin: 0;
	font-size: 1rem;
	line-height: 1.7;
	color: var(--color-surface-muted, #57534e);
}

.sis-auth-form form {
	display: grid;
	gap: 1rem;
	margin-top: 0.25rem;
	width: 100%;
}

.sis-auth-form p {
	margin: 0;
	width: 100%;
}

.sis-auth-form label {
	display: block;
	margin-bottom: 0.45rem;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--color-surface-muted, #57534e);
}

.sis-auth-form input:not([type='checkbox']):not([type='submit']) {
	width: 100%;
	min-height: 3.4rem;
	padding: 0 1rem;
	border: 1px solid var(--color-surface-border-strong, #b8a590);
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.88);
	color: var(--color-surface-text, #18181b) !important;
	font-size: 1rem;
	outline: none;
	transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
	box-sizing: border-box;
}

.sis-auth-form input:not([type='checkbox']):not([type='submit']):focus {
	border-color: var(--color-accent-text, var(--color-brand-gold));
	box-shadow: 0 0 0 3px rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.12);
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 1);
}

.sis-auth-form .login-password a,
.sis-auth-inline-links a {
	color: var(--color-accent-text, var(--color-brand-gold));
	text-decoration: none;
	transition: color 0.18s ease;
}

.sis-auth-form .login-password a:hover,
.sis-auth-form .login-password a:focus-visible,
.sis-auth-inline-links a:hover,
.sis-auth-inline-links a:focus-visible {
	color: var(--color-surface-text, #18181b) !important;
	text-decoration: underline;
	text-underline-offset: 0.18rem;
}

.sis-auth-form .login-remember label {
	display: inline-flex;
	align-items: center;
	gap: 0.65rem;
	margin-bottom: 0;
	font-size: 0.84rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-transform: none;
	color: var(--color-surface-muted, #57534e);
}

.sis-auth-form input[type='checkbox'] {
	width: 1rem;
	height: 1rem;
	accent-color: var(--color-accent-text, var(--color-brand-gold));
	margin: 0;
	flex-shrink: 0;
}

.sis-auth-form .login-submit {
	margin-top: 0.25rem;
	padding-top: 0.25rem;
	border-top: 1px solid rgb(var(--color-surface-text-rgb, 24 24 27) / 0.08);
}

.sis-auth-form input[type='submit'] {
	width: 100%;
	min-height: 3.4rem;
	padding: 0.95rem 1.2rem;
	border: 1px solid var(--color-brand-gold);
	background: var(--color-brand-gold);
	color: #18181b;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	transition: transform 0.18s ease, filter 0.18s ease;
	cursor: pointer;
}

.sis-auth-form input[type='submit']:hover,
.sis-auth-form input[type='submit']:focus-visible {
	transform: translateY(-1px);
	filter: brightness(0.97);
}

.sis-auth-inline-links,
.sis-auth-utility-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.85rem 1rem;
	align-items: center;
}

.sis-auth-inline-links {
	font-size: 0.88rem;
	line-height: 1.5;
	color: var(--color-surface-muted, #57534e);
}

.sis-auth-utility-links a {
	text-decoration: none;
}

.sis-auth-support-list,
.sis-auth-gate-list {
	display: grid;
	gap: 0.8rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sis-auth-support-list li,
.sis-auth-gate-list li {
	position: relative;
	padding-left: 1.05rem;
	font-size: 0.95rem;
	line-height: 1.65;
	color: var(--color-surface-text, #18181b) !important;
}

.sis-auth-support-list li::before,
.sis-auth-gate-list li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.72rem;
	width: 0.42rem;
	height: 0.42rem;
	background: var(--color-brand-gold);
	border-radius: 999px;
}

.sis-auth-gate {
	max-width: 48rem;
	margin: 0 auto;
	padding: 1.25rem 0 0;
}

.sis-auth-gate .sis-listing-empty {
	max-width: none;
	text-align: center;
}

.sis-auth-gate-list {
	max-width: 34rem;
	margin: 0 auto;
	text-align: left;
}

.sis-menu-item.has-children > a {
	padding-right: 1rem;
}

.sis-submenu {
	position: absolute;
	top: calc(100% - 0.25rem);
	left: 0;
	z-index: 80;
	display: grid;
	gap: 0.25rem;
	min-width: 15rem;
	padding: 0.75rem;
	background: rgba(255, 255, 255, 0.98);
	border: 1px solid rgba(228, 228, 231, 0.95);
	box-shadow: 0 24px 48px -30px rgba(0, 0, 0, 0.45);
	opacity: 0;
	visibility: hidden;
	transform: translateY(0.5rem);
	pointer-events: none;
	transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
	backdrop-filter: blur(14px);
	}

.sis-submenu .sis-submenu {
	top: -0.75rem;
	left: calc(100% - 0.25rem);
	}

.sis-menu-item:hover > .sis-submenu,
.sis-menu-item:focus-within > .sis-submenu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	pointer-events: auto;
}

.mobile-panel-animated {
	overflow: hidden;
	max-height: 0;
	opacity: 0;
	transition: max-height 0.22s ease, opacity 0.22s ease;
	}

.mobile-panel-animated.is-open {
	max-height: 80vh;
	opacity: 1;
	overflow-y: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
	}

.sis-header-utility-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 0.45rem 0.7rem;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.sis-header-utility-link,
.sis-header-account-link {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	min-height: 2.35rem;
	color: rgb(255 255 255 / 0.82);
	text-decoration: none;
	transition: color 0.18s ease, border-color 0.18s ease, background-color 0.18s ease;
}

.sis-header-utility-link:hover,
.sis-header-utility-link:focus-visible,
.sis-header-account-link:hover,
.sis-header-account-link:focus-visible {
	color: #ffffff;
}

.sis-header-account-link {
	padding: 0 0.8rem;
	border: 1px solid rgb(255 255 255 / 0.16);
	background: rgb(255 255 255 / 0.06);
}

.sis-header-account-link.is-authenticated {
	border-color: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.34);
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.12);
	color: #ffffff;
}

.sis-header-account-link .material-symbols-rounded {
	font-size: 1rem;
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-header-search-trigger {
	display: inline-flex;
	align-items: center;
	gap: 0.65rem;
	min-height: 2.35rem;
	padding: 0.2rem 0.85rem 0.2rem 0.35rem;
	border: 1px solid rgb(255 255 255 / 0.16);
	background: rgb(255 255 255 / 0.08);
	color: #ffffff;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	transition: border-color 0.18s ease, background-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}

.sis-header-search-trigger:hover,
.sis-header-search-trigger:focus-visible {
	border-color: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.42);
	background: rgb(255 255 255 / 0.12);
	transform: translateY(-1px);
	box-shadow: 0 16px 28px -24px rgb(0 0 0 / 0.4);
}

.sis-header-search-trigger-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.9rem;
	height: 1.9rem;
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.24);
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.16);
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-header-search-trigger-icon .material-symbols-rounded {
	font-size: 1rem;
}

.sis-header-search-trigger-label {
	line-height: 1;
}

.sis-mobile-topbar-action,
.sis-mobile-menu-toggle,
.sis-mobile-panel-close,
.sis-mobile-menu-action {
	text-decoration: none;
}

.sis-mobile-topbar-action {
	display: none;
}

.sis-mobile-menu-toggle .material-symbols-rounded,
.sis-mobile-panel-close .material-symbols-rounded {
	font-size: 1.25rem;
	line-height: 1;
}

.sis-mobile-panel-backdrop,
.sis-mobile-panel-close {
	cursor: pointer;
}

@media screen and (min-width: 768px) {
	.sis-mobile-topbar-action {
		display: none !important;
	}
}

@media screen and (max-width: 1279px) {
	body {
		padding-top: var(--sis-site-header-height, 7.25rem);
	}

	body.admin-bar {
		padding-top: calc(var(--sis-site-header-height, 7.25rem) + 46px);
	}

	.sis-site-header {
		position: fixed !important;
		top: 0;
		left: 0;
		right: 0;
		z-index: 80;
		width: 100%;
	}

	body.admin-bar .sis-site-header {
		top: 46px;
	}

	@media screen and (min-width: 783px) {
		body.admin-bar {
			padding-top: calc(var(--sis-site-header-height, 7.25rem) + 32px);
		}

		body.admin-bar .sis-site-header {
			top: 32px;
		}
	}

	.sis-top-menu {
		display: none !important;
	}

	.sis-logo-row-inner {
		min-height: 4.25rem;
		padding-top: 0.5rem;
		padding-bottom: 0.5rem;
	}

	.sis-logo-row .sis-site-logo {
		flex: 0 1 auto !important;
		width: auto;
		max-width: min(60vw, 13.5rem) !important;
	}

	.sis-logo-row .sis-site-logo :is(img, .custom-logo) {
		width: min(60vw, 12.75rem) !important;
		max-width: min(60vw, 12.75rem) !important;
		max-height: 3.3rem;
		height: auto !important;
		object-fit: contain;
	}

	.sis-mobile-menu-toggle {
		min-width: 2.9rem;
		min-height: 2.9rem;
		justify-content: center;
		border-color: var(--color-surface-border, #d6c9bc);
		background: var(--color-surface-950, #ffffff);
		color: var(--color-surface-text, #18181b) !important;
		box-shadow: 0 10px 24px -22px rgb(15 23 42 / 0.55);
	}

	.mobile-panel-animated {
		position: fixed !important;
		inset: 0;
		z-index: 120;
		display: block;
		max-height: none !important;
		border: 0 !important;
		background: transparent !important;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		overflow-x: hidden;
		overflow-y: auto;
		transition: opacity 0.22s ease, visibility 0.22s ease;
	}

	.mobile-panel-animated.hidden {
		display: none !important;
	}

	.mobile-panel-animated.is-open {
		max-height: none !important;
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		overflow-y: auto;
	}

	.sis-mobile-panel-backdrop {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		border: 0;
		background: rgb(5 18 13 / 0.56);
		backdrop-filter: blur(3px);
	}

	.sis-mobile-panel-shell {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		z-index: 1;
		display: flex;
		width: min(92vw, 26rem);
		max-width: 100%;
		flex-direction: column;
		background: var(--color-surface-950, #ffffff);
		color: var(--color-surface-text, #18181b);
		box-shadow: -28px 0 60px -38px rgb(0 0 0 / 0.58);
		transform: translateX(1.25rem);
		transition: transform 0.22s ease;
	}

	.mobile-panel-animated.is-open .sis-mobile-panel-shell {
		transform: translateX(0);
	}

	html[dir='rtl'] .sis-mobile-panel-shell {
		right: auto;
		left: 0;
		transform: translateX(-1.25rem);
		box-shadow: 28px 0 60px -38px rgb(0 0 0 / 0.58);
	}

	html[dir='rtl'] .mobile-panel-animated.is-open .sis-mobile-panel-shell {
		transform: translateX(0);
	}

	.sis-mobile-panel-head {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 1rem;
		min-height: 4.75rem;
		padding: max(0.8rem, env(safe-area-inset-top)) 1rem 0.8rem;
		border-bottom: 1px solid var(--color-surface-border, #d6c9bc);
		background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.96);
	}

	.sis-mobile-panel-logo {
		display: inline-flex;
		min-width: 0;
		align-items: center;
	}

	.sis-mobile-panel-logo :is(img, .custom-logo) {
		width: min(56vw, 12.75rem) !important;
		max-width: min(56vw, 12.75rem) !important;
		max-height: 3rem;
		height: auto !important;
		object-fit: contain;
	}

	.sis-mobile-panel-close {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 2.9rem;
		height: 2.9rem;
		min-width: 2.9rem;
		min-height: 2.9rem;
		border: 1px solid var(--color-surface-border, #d6c9bc);
		background: rgb(var(--color-surface-900-rgb, 246 239 231) / 0.72);
		color: var(--color-surface-text, #18181b) !important;
	}

	.sis-mobile-panel-scroll {
		display: grid;
		gap: 0.9rem;
		min-height: 0;
		overflow-y: auto;
		padding: 1rem 1rem max(1.4rem, env(safe-area-inset-bottom));
		-webkit-overflow-scrolling: touch;
		overscroll-behavior: contain;
	}

	.sis-mobile-menu-section {
		border: 1px solid var(--color-surface-border, #d6c9bc);
		background: rgb(var(--color-surface-900-rgb, 246 239 231) / 0.42);
	}

	.sis-mobile-menu-section-title {
		padding: 0.75rem 0.85rem;
		border-bottom: 1px solid var(--color-surface-border, #d6c9bc);
		color: var(--color-accent-text, var(--color-brand-gold));
		font-size: 0.72rem;
		font-weight: 800;
		letter-spacing: 0.14em;
		text-transform: uppercase;
	}

	.sis-mobile-menu-actions {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		gap: 0.6rem;
		border: 0;
		background: transparent;
	}

	.sis-mobile-menu-action {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-height: 2.9rem;
		padding: 0 0.8rem;
		border: 1px solid var(--color-surface-border-strong, #b8a590);
		background: var(--color-surface-950, #ffffff);
		color: var(--color-surface-text, #18181b) !important;
		font-size: 0.75rem;
		font-weight: 800;
		letter-spacing: 0.12em;
		text-align: center;
		text-transform: uppercase;
	}

	.sis-mobile-menu-action-primary {
		border-color: var(--color-brand-gold);
		background: var(--color-brand-gold);
		color: var(--color-accent-contrast, #050505) !important;
	}

	.sis-mobile-pill-grid {
		display: flex;
		flex-wrap: wrap;
		gap: 0.55rem;
		padding: 0.85rem;
	}

	.sis-mobile-pill-grid a,
	.sis-mobile-menu-footer a {
		min-height: 2.65rem;
		text-decoration: none;
	}

	.sis-mobile-primary-section :is(a, summary) {
		color: var(--color-surface-text, #18181b) !important;
	}

	.sis-mobile-primary-section summary {
		min-height: 3rem;
	}

	.sis-mobile-primary-section details[open] > summary {
		border-bottom: 1px solid var(--color-surface-border, #d6c9bc);
		background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.74);
	}

	.sis-mobile-menu-footer {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.55rem;
		padding-top: 0.1rem;
	}

	.sis-mobile-menu-footer a {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		border: 1px solid var(--color-surface-border, #d6c9bc);
		background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.72);
		color: var(--color-surface-text, #18181b) !important;
		font-size: 0.72rem;
		font-weight: 800;
		letter-spacing: 0.1em;
		text-transform: uppercase;
	}

	body[data-mobile-menu-open='true'] {
		overflow: hidden;
	}

	body[data-mobile-menu-open='true'] :is(.theme-switcher-widget, #cookie-consent-banner) {
		opacity: 0 !important;
		pointer-events: none !important;
		visibility: hidden !important;
	}
}

@media screen and (max-width: 767px) {
	.theme-switcher-widget {
		display: none !important;
	}

	.sis-topbar-inner {
		display: grid !important;
		grid-template-columns: auto minmax(0, 1fr);
		min-height: 3rem;
		gap: 0.5rem;
		padding-top: 0.45rem;
		padding-bottom: 0.45rem;
	}

	.sis-topbar #language-switcher {
		height: 2.15rem;
		min-width: 0;
	}

	.sis-topbar #language-switcher a {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: 2.1rem;
		min-height: 2.1rem;
		padding: 0 0.55rem;
		font-size: 0.68rem;
	}

	.sis-topbar-donate,
	.sis-header-utility-links .sis-desktop-topbar-action {
		display: none !important;
	}

	.sis-header-utility-links.sis-topbar-actions {
		flex-wrap: nowrap;
		justify-content: flex-end;
		gap: 0.35rem;
		min-width: 0;
	}

	.sis-mobile-topbar-action {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		gap: 0.28rem;
		min-width: 0;
		min-height: 2.15rem;
		padding: 0 0.48rem;
		border: 1px solid rgb(255 255 255 / 0.18);
		background: rgb(255 255 255 / 0.07);
		color: #ffffff !important;
		font-size: 0.66rem;
		font-weight: 800;
		letter-spacing: 0.06em;
		line-height: 1;
		text-transform: uppercase;
		white-space: nowrap;
	}

	.sis-mobile-topbar-action .material-symbols-rounded {
		font-size: 0.95rem;
		line-height: 1;
	}

	.sis-header-search-trigger {
		width: 2.15rem;
		min-width: 2.15rem;
		min-height: 2.15rem;
		padding: 0;
		gap: 0;
		justify-content: center;
	}

	.sis-header-search-trigger-icon {
		width: 2.05rem;
		height: 2.05rem;
		border: 0;
		background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.2);
	}

	.sis-header-search-trigger-label {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		border: 0;
	}

	.sis-logo-row-inner {
		min-height: 4rem;
		gap: 0.75rem;
	}

	.sis-mobile-menu-toggle {
		padding: 0 0.7rem;
	}
}

@media screen and (max-width: 374px) {
	.sis-mobile-topbar-action {
		width: 2.15rem;
		padding: 0;
	}

	.sis-mobile-topbar-action span:last-child,
	.sis-mobile-menu-toggle-label {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		border: 0;
	}
}

.search-overlay-animated {
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.22s ease, visibility 0.22s ease;
	}

.search-overlay-animated.is-open {
	opacity: 1;
	visibility: visible;
	}

[data-search-overlay] {
	align-items: center;
	justify-content: center;
	padding: clamp(1rem, 4vw, 2rem);
	background-color: var(--color-brand-emerald, #0f5132);
	background-image: linear-gradient(140deg, rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.84) 0%, rgb(12 26 21 / 0.82) 100%);
	backdrop-filter: blur(18px);
	isolation: isolate;
	}

[data-search-overlay]::before,
[data-search-overlay]::after {
	content: '';
	position: absolute;
	pointer-events: none;
	}

[data-search-overlay]::before {
	inset: 0;
	background: linear-gradient(135deg, rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.08) 0%, rgb(var(--color-brand-gold-rgb, 212 175 55) / 0) 42%, rgb(var(--color-surface-950-rgb, 255 255 255) / 0.05) 100%);
	}

[data-search-overlay]::after {
	left: auto;
	right: -6rem;
	top: -5rem;
	width: 18rem;
	height: 18rem;
	background: radial-gradient(circle, rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.26) 0%, rgb(var(--color-brand-gold-rgb, 212 175 55) / 0) 72%);
	}

[data-search-overlay]:not(.hidden) {
	display: flex;
	}

.sis-search-overlay-panel {
	position: relative;
	z-index: 1;
	width: min(100%, 64rem);
	display: grid;
	gap: 1.25rem;
	padding: clamp(1.5rem, 4vw, 2.5rem);
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.18);
	background-color: var(--color-surface-950, #ffffff);
	background-image: linear-gradient(180deg, rgb(var(--color-surface-950-rgb, 255 255 255) / 0.98) 0%, rgb(var(--color-surface-900-rgb, 246 239 231) / 0.95) 100%);
	box-shadow: 0 36px 64px -42px rgb(15 23 42 / 0.55);
	transform: translateY(1rem);
	transition: transform 0.22s ease, box-shadow 0.22s ease;
}

.search-overlay-animated.is-open .sis-search-overlay-panel {
	transform: translateY(0);
}

.sis-search-overlay-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.sis-search-overlay-kicker {
	margin: 0;
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-search-overlay-close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	border: 1px solid var(--color-surface-border, #d6c9bc);
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.82);
	color: var(--color-surface-text, #18181b) !important;
	transition: border-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.sis-search-overlay-close:hover,
.sis-search-overlay-close:focus-visible {
	border-color: var(--color-accent-text, var(--color-brand-gold));
	color: var(--color-accent-text, var(--color-brand-gold));
	transform: translateY(-1px);
}

.sis-search-overlay-title {
	margin: 0;
	font-family: 'Playfair Display', serif;
	font-size: clamp(2.3rem, 5vw, 4rem);
	line-height: 1;
	color: var(--color-surface-text, #18181b) !important;
	text-wrap: balance;
}

.sis-search-overlay-copy {
	margin: 0;
	max-width: 42rem;
	font-size: clamp(1rem, 2vw, 1.2rem);
	line-height: 1.7;
	color: var(--color-surface-muted, #57534e);
}

.sis-search-overlay-form {
	display: grid;
	gap: 0.75rem;
}

.sis-search-overlay-row {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 0.75rem;
	padding: 0.75rem;
	border: 1px solid var(--color-surface-border-strong, #b8a590);
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.86);
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.45);
}

.sis-search-overlay-input-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.9rem;
	height: 2.9rem;
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.18);
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.12);
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-search-overlay-input-icon .material-symbols-rounded {
	font-size: 1.2rem;
}

.sis-search-overlay-input {
	min-width: 0;
	min-height: 3.25rem;
	border: 0;
	background: transparent;
	color: var(--color-surface-text, #18181b) !important;
	font-size: clamp(1.05rem, 2.5vw, 1.45rem);
	line-height: 1.2;
	outline: none;
}

.sis-search-overlay-input::placeholder {
	color: rgb(var(--color-surface-text-rgb, 24 24 27) / 0.4);
}

.sis-search-overlay-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 3.25rem;
	padding: 0 1.3rem;
	border: 1px solid var(--color-brand-gold);
	background: var(--color-brand-gold);
	color: #18181b;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	transition: transform 0.18s ease, filter 0.18s ease;
}

.sis-search-overlay-submit:hover,
.sis-search-overlay-submit:focus-visible {
	transform: translateY(-1px);
	filter: brightness(0.97);
}

.sis-search-overlay-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: center;
}

.sis-search-overlay-link {
	display: inline-flex;
	align-items: center;
	min-height: 2.7rem;
	padding: 0 0.95rem;
	border: 1px solid var(--color-surface-border, #d6c9bc);
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.78);
	color: var(--color-surface-text, #18181b) !important;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	text-decoration: none;
	transition: border-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.sis-search-overlay-link:hover,
.sis-search-overlay-link:focus-visible {
	border-color: var(--color-accent-text, var(--color-brand-gold));
	color: var(--color-accent-text, var(--color-brand-gold));
	transform: translateY(-1px);
}

body[data-overlay-open='true'] {
	overflow: hidden;
	}

footer a {
	text-decoration: none;
	}

footer.text-gray-700,
footer .text-gray-700,
footer .text-sm.text-gray-700,
footer .text-xs.text-gray-700 {
	color: var(--color-surface-muted, #57534e) !important;
	}

.theme-switcher-widget {
	color: #18181b;
	transition: opacity 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
	}

body[data-overlay-open='true'] .theme-switcher-widget {
	opacity: 0;
	pointer-events: none;
	transform: translateY(0.75rem);
	}

#cookie-consent-banner {
	left: 1rem;
	right: 1rem;
	bottom: 1rem;
	width: auto;
	max-width: none;
	}

body[data-cookie-banner='visible'] #back-to-top {
	bottom: 8.5rem;
	}

body.customize-support {
	scroll-padding-top: 32px;
}

@media screen and (max-width: 640px) {
	.sis-home-hero-proof {
		grid-template-columns: 1fr;
	}

	.sis-home-trust-stats {
		grid-template-columns: 1fr;
	}

	.sis-listing-search-row {
		flex-direction: column;
	}

	.sis-listing-panel-stats {
		grid-template-columns: 1fr;
	}

	.sis-course-archive-sidebar {
		margin-top: 0.25rem;
	}

	.sis-course-toolbar,
	.sis-course-sidebar-panel,
	.sis-course-card-content,
	.sis-course-card-side {
		padding: 1.15rem;
	}

	.sis-course-view-toggle {
		width: 100%;
	}

	.sis-archive-card-footer {
		align-items: flex-start;
	}
}

@media screen and (max-width: 782px) {
	.sis-section-header {
		gap: 0.75rem;
		margin-bottom: 2rem;
	}

	body[data-cookie-banner='visible'] .theme-switcher-widget {
		bottom: 11rem !important;
	}

	body[data-cookie-banner='visible'] #back-to-top {
		bottom: 14rem;
	}

	body.customize-support {
		scroll-padding-top: 46px;
	}
}

@media screen and (min-width: 768px) {
	.sis-home-hero-inner {
		grid-template-columns: minmax(0, 1.08fr) minmax(18rem, 0.92fr);
	}

	.sis-home-faculties-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sis-feature-card--lead {
		grid-column: span 2;
	}

	.sis-section-header {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 1.5rem;
	}

	#cookie-consent-banner {
		left: auto;
		right: 1rem;
		width: 24rem;
		max-width: calc(100vw - 2rem);
	}
}

@media screen and (min-width: 1024px) {
	.sis-home-hero-inner {
		grid-template-columns: minmax(0, 1.2fr) minmax(20rem, 0.8fr);
	}

	.sis-listing-hero-inner {
		grid-template-columns: minmax(0, 1.15fr) minmax(18rem, 0.85fr);
	}

	.sis-auth-grid {
		grid-template-columns: minmax(0, 1.05fr) minmax(18rem, 0.95fr);
	}

	.sis-course-archive-shell {
		grid-template-columns: minmax(13.75rem, 15.25rem) minmax(0, 1fr);
	}

	.sis-course-archive-sidebar {
		position: sticky;
		top: var(--sis-course-sticky-top);
		order: 0;
	}

	.sis-course-archive-main {
		order: 0;
	}

	.sis-course-sidebar-panel {
		gap: 0.9rem;
		padding: 0.95rem;
	}

	.sis-course-filter-section {
		gap: 0.6rem;
		padding-top: 0.8rem;
	}

	.sis-course-filter-option {
		padding: 0.62rem 0.74rem;
		font-size: 0.82rem;
	}

	.sis-course-filter-count {
		min-width: 1.75rem;
		height: 1.75rem;
		padding: 0 0.4rem;
		font-size: 0.7rem;
	}

	.sis-listing-grid--two {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sis-listing-grid--three {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.sis-home-trust-inner {
		grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
	}

	.sis-home-faculties-shell {
		grid-template-columns: minmax(18rem, 0.78fr) minmax(0, 1.22fr);
	}

	.sis-home-faculties-intro {
		position: sticky;
		top: 8.5rem;
	}
}

@media screen and (min-width: 768px) {
	.sis-course-results[data-view='cards'] {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media screen and (min-width: 900px) {
	.sis-course-archive-shell {
		grid-template-columns: minmax(13.5rem, 14.75rem) minmax(0, 1fr);
	}

	.sis-course-archive-sidebar {
		position: sticky;
		top: var(--sis-course-sticky-top);
		order: 0;
	}

	.sis-course-archive-main {
		order: 0;
	}

	.sis-course-sidebar-panel {
		gap: 0.95rem;
		padding: 1rem;
	}

	.sis-course-filter-section {
		gap: 0.62rem;
		padding-top: 0.84rem;
	}

	.sis-course-filter-option {
		padding: 0.64rem 0.76rem;
		font-size: 0.83rem;
	}

	.sis-course-filter-count {
		min-width: 1.82rem;
		height: 1.82rem;
		padding: 0 0.42rem;
		font-size: 0.72rem;
	}
}

@media screen and (min-width: 1280px) {
	.sis-course-results[data-view='cards'] {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media screen and (min-width: 782px) {
	.sis-course-results[data-view='list'] .sis-course-card {
		grid-template-columns: minmax(10.5rem, 11.75rem) minmax(0, 1fr) minmax(9.5rem, 10.75rem);
	}

	.sis-course-results[data-view='list'] .sis-course-card-media {
		min-height: auto;
		min-height: 100%;
		border-right: 1px solid rgb(var(--color-surface-text-rgb, 24 24 27) / 0.08);
		border-bottom: 0;
	}

	.sis-course-results[data-view='list'] .sis-course-card-content {
		padding: 0.95rem 1rem;
		gap: 0.62rem;
	}

	.sis-course-results[data-view='list'] .sis-course-card .sis-archive-card-title {
		font-size: clamp(1.08rem, 1.6vw, 1.32rem);
	}

	.sis-course-results[data-view='list'] .sis-course-card .sis-archive-card-summary {
		font-size: 0.88rem;
		-webkit-line-clamp: 5;
	}

	.sis-course-results[data-view='list'] .sis-course-card-facts {
		grid-template-columns: minmax(0, 1fr);
		justify-items: start;
	}

	.sis-course-results[data-view='list'] .sis-course-card-fact {
		max-width: 15rem;
		display: grid;
		grid-template-columns: auto minmax(0, 1fr);
		align-items: start;
		gap: 0.55rem;
	}

	.sis-course-results[data-view='list'] .sis-course-card-side {
		align-content: space-between;
		align-items: end;
		justify-content: space-between;
		text-align: right;
		border-top: 0;
		border-left: 1px solid rgb(var(--color-surface-text-rgb, 24 24 27) / 0.08);
		padding: 0.95rem;
	}

	.sis-course-results[data-view='list'] .sis-course-card-topline {
		align-items: start;
	}

	.sis-course-results[data-view='list'] .sis-course-card-actions {
		justify-items: end;
	}

	.sis-course-results[data-view='list'] .sis-course-card-action-primary {
		min-width: min(100%, 13rem);
	}

	.sis-course-results[data-view='cards'] .sis-course-card-media {
		aspect-ratio: 2 / 1;
		min-height: auto;
	}

	.sis-course-results[data-view='cards'] .sis-course-card-content {
		padding: 1rem 1.05rem 0.85rem;
	}

	.sis-course-results[data-view='cards'] .sis-course-card .sis-archive-card-title {
		font-size: clamp(1.2rem, 1.7vw, 1.42rem);
	}

	.sis-course-results[data-view='cards'] .sis-course-card .sis-archive-card-summary {
		-webkit-line-clamp: 3;
	}

	.sis-course-results[data-view='cards'] .sis-course-card-side {
		grid-template-columns: minmax(0, 1fr);
		align-items: start;
		padding-top: 0.25rem;
		padding-inline: 1.05rem;
	}

	.sis-course-results[data-view='cards'] .sis-course-card-actions {
		grid-template-columns: minmax(0, 1fr);
	}

	.sis-course-results[data-view='cards'] .sis-course-card-facts {
		grid-template-columns: minmax(0, 1fr);
	}

	.sis-course-results[data-view='cards'] .sis-course-card-action-primary {
		width: 100%;
	}
}

@keyframes sis-course-spinner {
	to {
		transform: rotate(360deg);
	}
}

@media screen and (max-width: 767px) {
	.sis-search-overlay-panel {
		padding: 1.25rem;
	}

	.sis-search-overlay-row {
		grid-template-columns: minmax(0, 1fr);
	}

	.sis-search-overlay-input-icon {
		display: none;
	}

	.sis-search-overlay-submit {
		width: 100%;
	}
}

/* LearnPress profile refresh ------------------------------------------------ */

body.learnpress-profile section.py-20.reveal.reveal-up {
	padding-top: clamp(1.5rem, 3vw, 2.5rem);
	padding-bottom: clamp(3rem, 6vw, 4.5rem);
}

body.learnpress-profile section.py-20.reveal.reveal-up > .max-w-5xl.mx-auto.px-6 {
	box-sizing: border-box;
	width: 100%;
	max-width: 88rem;
	padding-left: clamp(1rem, 3vw, 2rem);
	padding-right: clamp(1rem, 3vw, 2rem);
}

body.learnpress-profile .prose.prose-invert.max-w-none.page {
	max-width: none;
}

body.learnpress-profile .prose.prose-invert.max-w-none.page > header.mb-8 {
	display: none;
}

body.learnpress-profile .prose.prose-invert.max-w-none.page > .text-gray-700 {
	color: inherit;
}

body.learnpress-profile .theme-switcher-widget {
	display: none !important;
}

#learn-press-profile.current-user > .lp-content-area > .lp-user-cover-image_background.lp-hidden {
	display: none !important;
}

.sis-profile-hero {
	position: relative;
	overflow: hidden;
	padding-top: clamp(3.75rem, 7vw, 5.5rem);
	padding-bottom: clamp(2.4rem, 5vw, 4rem);
	background:
		linear-gradient(120deg, rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.94) 0%, rgb(12 26 21 / 0.88) 45%, rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.92) 100%),
		linear-gradient(180deg, rgb(var(--color-surface-950-rgb, 255 255 255) / 0.08) 0%, rgb(var(--color-surface-950-rgb, 255 255 255) / 0) 100%);
	border-bottom: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.22);
	color: #ffffff;
}

.sis-profile-hero::before,
.sis-profile-hero::after {
	content: '';
	position: absolute;
	pointer-events: none;
}

.sis-profile-hero::before {
	inset: 0;
	background: linear-gradient(135deg, rgb(255 255 255 / 0.18) 0%, rgb(255 255 255 / 0) 48%, rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.14) 100%);
	opacity: 0.92;
}

.sis-profile-hero::after {
	right: -7rem;
	top: -5rem;
	width: 20rem;
	height: 20rem;
	background: radial-gradient(circle, rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.22) 0%, rgb(var(--color-brand-gold-rgb, 212 175 55) / 0) 72%);
}

.sis-profile-hero-media {
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(100deg, rgb(12 26 21 / 0.74) 0%, rgb(12 26 21 / 0.35) 42%, rgb(12 26 21 / 0.82) 100%),
		var(--sis-profile-hero-image, radial-gradient(circle at top left, rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.22) 0%, rgb(var(--color-brand-gold-rgb, 212 175 55) / 0) 46%), linear-gradient(135deg, rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.42) 0%, rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.16) 100%));
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	opacity: 0.92;
	transform: scale(1.03);
	transform-origin: center;
	filter: saturate(1.02) contrast(1.05);
}

.sis-profile-hero--fallback .sis-profile-hero-media {
	background-image:
		radial-gradient(circle at top left, rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.22) 0%, rgb(var(--color-brand-gold-rgb, 212 175 55) / 0) 42%),
		linear-gradient(140deg, rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.72) 0%, rgb(12 26 21 / 0.24) 46%, rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.18) 100%);
	opacity: 1;
}

.sis-profile-hero > * {
	position: relative;
	z-index: 1;
}

.sis-profile-hero-inner {
	display: grid;
	gap: 2rem;
	align-items: end;
}

.sis-profile-hero-primary {
	display: grid;
	gap: 1.35rem;
	align-items: center;
}

.sis-profile-avatar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: clamp(5.75rem, 10vw, 7rem);
	height: clamp(5.75rem, 10vw, 7rem);
	border: 2px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.84);
	border-radius: 1.75rem;
	background: rgb(255 255 255 / 0.08);
	box-shadow: 0 24px 40px -32px rgb(0 0 0 / 0.7);
	overflow: hidden;
	backdrop-filter: blur(12px);
}

.sis-profile-avatar img,
.sis-profile-avatar .avatar {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sis-profile-identity {
	display: grid;
	gap: 0.8rem;
	max-width: 40rem;
}

.sis-profile-kicker,
.sis-profile-content-kicker,
.sis-profile-section-label {
	margin: 0;
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: rgb(var(--color-accent-text-rgb, 212 175 55) / 0.96);
}

.sis-profile-name {
	margin: 0;
	font-family: 'Playfair Display', serif;
	font-size: clamp(2.4rem, 5vw, 4.6rem);
	line-height: 0.96;
	letter-spacing: -0.03em;
	text-wrap: balance;
	color: #ffffff;
}

.sis-profile-name-ar {
	margin: 0;
	max-width: 34rem;
	font-size: clamp(1rem, 2vw, 1.2rem);
	line-height: 1.7;
	color: rgb(255 255 255 / 0.82);
}

.sis-profile-meta-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: center;
}

.sis-profile-meta-pill {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	min-height: 2.65rem;
	padding: 0 0.9rem;
	border: 1px solid rgb(255 255 255 / 0.14);
	border-radius: 999px;
	background: rgb(255 255 255 / 0.08);
	backdrop-filter: blur(12px);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgb(255 255 255 / 0.92);
}

.sis-profile-meta-pill .material-symbols-rounded,
.sis-profile-meta-pill i {
	font-size: 1rem;
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-profile-stat-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
	gap: 0.95rem;
	align-content: start;
}

.sis-profile-stat {
	display: grid;
	gap: 0.35rem;
	padding: 1rem 1.1rem;
	border: 1px solid rgb(255 255 255 / 0.14);
	border-radius: 1.2rem;
	background: rgb(8 17 14 / 0.34);
	backdrop-filter: blur(14px);
	box-shadow: 0 22px 38px -34px rgb(0 0 0 / 0.72);
}

.sis-profile-stat.is-accent {
	border-color: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.32);
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.12);
}

.sis-profile-stat-label {
	margin: 0;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: rgb(255 255 255 / 0.7);
}

.sis-profile-stat-value {
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.45;
	color: #ffffff;
}

.sis-profile-stat.is-accent .sis-profile-stat-value {
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-profile-hero-extras {
	margin-top: 1.35rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.85rem;
	align-items: center;
}

.sis-profile-hero-extras .lp-profile-left,
.sis-profile-hero-extras .lp-profile-right {
	display: grid;
	gap: 0.85rem;
	padding: 1rem;
	border: 1px solid rgb(255 255 255 / 0.14);
	border-radius: 1.25rem;
	background: rgb(8 17 14 / 0.28);
	backdrop-filter: blur(14px);
	box-shadow: 0 22px 38px -34px rgb(0 0 0 / 0.72);
}

.sis-profile-hero-extras .lp-profile-left {
	flex: 0 0 auto;
	align-items: center;
}

.sis-profile-hero-extras .lp-profile-right {
	flex: 1 1 18rem;
	align-content: center;
	max-width: min(100%, 26rem);
}

.sis-profile-hero-extras .user-avatar {
	position: relative;
	width: clamp(8rem, 18vw, 11rem);
}

.sis-profile-hero-extras .user-avatar > img.avatar {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.28);
	border-radius: 1.1rem;
	object-fit: cover;
	background: rgb(255 255 255 / 0.1);
}

.sis-profile-hero-extras .lp-btn-to-edit-avatar {
	position: absolute;
	right: 0.75rem;
	bottom: 0.75rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.2rem;
	padding: 0 0.85rem;
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.3);
	border-radius: 999px;
	background: rgb(12 26 21 / 0.86);
	color: #ffffff;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: none;
	transition: transform 0.18s ease, border-color 0.18s ease, background-color 0.18s ease;
}

.sis-profile-hero-extras .lp-btn-to-edit-avatar:hover,
.sis-profile-hero-extras .lp-btn-to-edit-avatar:focus-visible {
	transform: translateY(-1px);
	border-color: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.48);
	background: rgb(12 26 21 / 0.94);
}

.sis-profile-hero-extras .lp-profile-username {
	display: none;
}

.sis-profile-hero-extras .lp-profile-user-bio,
.sis-profile-hero-extras .lp-profile-user-bio p {
	margin: 0;
}

.sis-profile-hero-extras .lp-profile-user-bio p {
	font-size: 0.95rem;
	line-height: 1.7;
	color: rgb(255 255 255 / 0.82);
}

.sis-profile-nav-shell {
	position: sticky;
	top: 64px;
	z-index: 35;
	overflow: hidden;
	border-top: 1px solid rgb(var(--color-surface-text-rgb, 24 24 27) / 0.08);
	border-bottom: 1px solid rgb(var(--color-surface-text-rgb, 24 24 27) / 0.08);
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.9);
	backdrop-filter: blur(18px);
	box-shadow: 0 24px 38px -36px rgb(15 23 42 / 0.35);
}

.sis-profile-nav-inner {
	display: grid;
	gap: 0.85rem;
	min-width: 0;
}

.profile-nav.sis-profile-nav {
	max-width: 100%;
	overflow: hidden;
}

.sis-profile-tab-list,
.sis-profile-section-list {
	display: flex;
	flex-wrap: nowrap;
	gap: 0.75rem;
	margin: 0;
	padding: 0;
	list-style: none;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scrollbar-width: none;
}

.sis-profile-tab-list::-webkit-scrollbar,
.sis-profile-section-list::-webkit-scrollbar {
	display: none;
}

.sis-profile-tab-list {
	padding: 0.95rem 0 0.75rem;
}

body.sis-learnpress .sis-profile-nav-shell,
body.sis-learnpress .sis-profile-nav-inner,
body.sis-learnpress .profile-nav.sis-profile-nav,
body.sis-learnpress .sis-profile-tab-list,
body.sis-learnpress .sis-profile-section-list {
	max-width: 100vw;
	contain: paint;
}

.sis-profile-tab-item,
.sis-profile-section-item {
	flex: 0 0 auto;
}

.sis-profile-tab-link,
.sis-profile-section-link {
	display: inline-flex;
	align-items: center;
	gap: 0.65rem;
	white-space: nowrap;
	text-decoration: none;
	transition: transform 0.18s ease, background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

.sis-profile-tab-link {
	min-height: 3rem;
	padding: 0 1rem;
	border: 1px solid transparent;
	border-radius: 999px;
	background: transparent;
	font-size: 0.88rem;
	font-weight: 700;
	color: var(--color-surface-muted, #57534e);
}

.sis-profile-tab-link:hover,
.sis-profile-tab-link:focus-visible {
	border-color: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.22);
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.1);
	color: var(--color-surface-text, #18181b) !important;
	transform: translateY(-1px);
}

.sis-profile-tab-link.is-active {
	border-color: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.3);
	background: linear-gradient(180deg, rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.96) 0%, rgb(193 152 29 / 0.92) 100%);
	color: #18181b;
	box-shadow: 0 18px 28px -24px rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.7);
}

.sis-profile-tab-icon {
	font-size: 1.08rem;
}

.sis-profile-section-switcher {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.85rem;
	padding: 0 0 1rem;
	border-top: 1px solid rgb(var(--color-surface-text-rgb, 24 24 27) / 0.08);
}

.sis-profile-section-label {
	font-size: 0.68rem;
	color: var(--color-surface-muted, #57534e);
}

.sis-profile-section-link {
	min-height: 2.35rem;
	padding: 0 0.9rem;
	border: 1px solid var(--color-surface-border, #d6c9bc);
	border-radius: 999px;
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.78);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	color: var(--color-surface-muted, #57534e);
}

.sis-profile-section-link:hover,
.sis-profile-section-link:focus-visible {
	border-color: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.34);
	color: var(--color-surface-text, #18181b) !important;
}

.sis-profile-section-link.is-active {
	border-color: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.32);
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.12);
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-profile-content {
	padding-top: clamp(2rem, 4vw, 3rem);
	padding-bottom: clamp(3rem, 5vw, 4.5rem);
}

.sis-profile-content-shell {
	display: grid;
	gap: 1.3rem;
}

.sis-profile-content-header {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 0.85rem 1.25rem;
	align-items: end;
}

.sis-profile-content-heading {
	display: grid;
	gap: 0.5rem;
	max-width: 40rem;
}

.sis-profile-content-title {
	margin: 0;
	font-family: 'Playfair Display', serif;
	font-size: clamp(2rem, 4vw, 3rem);
	line-height: 1;
	color: var(--color-surface-text, #18181b) !important;
}

.sis-profile-content-caption {
	margin: 0;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--color-surface-muted, #57534e);
}

.sis-profile-content-panel,
.sis-profile-panel {
	border: 1px solid var(--color-surface-border, #d6c9bc);
	border-radius: 1.6rem;
	background: linear-gradient(180deg, rgb(var(--color-surface-950-rgb, 255 255 255) / 0.98) 0%, rgb(var(--color-surface-900-rgb, 246 239 231) / 0.95) 100%);
	box-shadow: 0 26px 46px -38px rgb(15 23 42 / 0.28);
	color: var(--color-surface-text, #18181b) !important;
}

.sis-profile-content-panel {
	padding: clamp(1.35rem, 3vw, 2rem);
}

.sis-profile-tab-body {
	display: grid;
	gap: 1.5rem;
}

.sis-profile-dashboard {
	gap: 1.75rem;
}

.sis-profile-dashboard-grid {
	align-items: stretch;
}

.sis-profile-table-shell {
	border-radius: 1rem;
	overflow: hidden;
}

.sis-profile-table {
	border-collapse: collapse;
}

.sis-profile-empty-state {
	border-radius: 1rem;
}

.sis-profile-dashboard-actions {
	align-items: stretch;
}

.sis-profile-quick-link {
	border-radius: 1.2rem;
	text-decoration: none;
}

.sis-profile-quick-link:hover,
.sis-profile-quick-link:focus-visible {
	transform: translateY(-2px);
	box-shadow: 0 24px 40px -34px rgb(15 23 42 / 0.32);
}

.sis-profile-content-panel :is(h1, h2, h3, h4, h5, h6),
.sis-profile-panel :is(h1, h2, h3, h4, h5, h6) {
	color: var(--color-surface-text, #18181b) !important;
}

.sis-profile-content-panel :is(.text-white, .text-zinc-200, .text-zinc-300),
.sis-profile-panel :is(.text-white, .text-zinc-200, .text-zinc-300) {
	color: var(--color-surface-text, #18181b) !important;
}

.sis-profile-content-panel :is(.text-gray-500, .text-gray-400, .text-zinc-400, .text-zinc-500),
.sis-profile-panel :is(.text-gray-500, .text-gray-400, .text-zinc-400, .text-zinc-500) {
	color: var(--color-surface-muted, #57534e) !important;
}

.sis-profile-content-panel :is(.bg-zinc-900, .bg-zinc-800, .bg-zinc-800/50),
.sis-profile-panel :is(.bg-zinc-900, .bg-zinc-800, .bg-zinc-800/50) {
	background-color: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.82) !important;
}

.sis-profile-content-panel :is(.border-zinc-800, .border-zinc-700, .divide-zinc-800),
.sis-profile-panel :is(.border-zinc-800, .border-zinc-700, .divide-zinc-800) {
	border-color: var(--color-surface-border, #d6c9bc) !important;
}

.sis-profile-content-panel :is(table, form),
.sis-profile-panel :is(table, form) {
	width: 100%;
}

.sis-profile-content-panel :is(input:not([type='checkbox']):not([type='radio']):not([type='submit']), textarea, select),
.sis-profile-panel :is(input:not([type='checkbox']):not([type='radio']):not([type='submit']), textarea, select) {
	width: 100%;
	min-height: 3.1rem;
	padding: 0.8rem 1rem;
	border: 1px solid var(--color-surface-border-strong, #b8a590);
	border-radius: 0.95rem;
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.9);
	color: var(--color-surface-text, #18181b) !important;
	outline: none;
	box-sizing: border-box;
	transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}

.sis-profile-content-panel :is(input:not([type='checkbox']):not([type='radio']):not([type='submit']), textarea, select):focus,
.sis-profile-panel :is(input:not([type='checkbox']):not([type='radio']):not([type='submit']), textarea, select):focus {
	border-color: var(--color-accent-text, var(--color-brand-gold));
	box-shadow: 0 0 0 3px rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.12);
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 1);
}

.sis-profile-content-panel :is(button, input[type='submit'], .button, .btn),
.sis-profile-panel :is(button, input[type='submit'], .button, .btn) {
	border-radius: 999px;
}

.sis-profile-content-panel table :is(th, td),
.sis-profile-panel table :is(th, td) {
	vertical-align: middle;
}

.sis-profile-content-panel .learn-press-message,
.sis-profile-content-panel .lp-message,
.sis-profile-panel .learn-press-message,
.sis-profile-panel .lp-message {
	padding: 1rem 1.1rem;
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.24);
	border-radius: 1rem;
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.1);
}

@media screen and (max-width: 767px) {
	body.learnpress-profile section.py-20.reveal.reveal-up {
		padding-top: 1rem;
	}

	.sis-profile-hero {
		padding-top: 3rem;
		padding-bottom: 2.2rem;
	}

	.sis-profile-hero-extras .lp-profile-left,
	.sis-profile-hero-extras .lp-profile-right {
		width: 100%;
		max-width: none;
	}

	.sis-profile-hero-extras .user-avatar {
		width: min(100%, 9rem);
	}

	.sis-profile-tab-link {
		min-height: 2.85rem;
		padding: 0 0.85rem;
		font-size: 0.82rem;
	}

	.sis-profile-section-switcher {
		padding-bottom: 0.85rem;
	}

	.sis-profile-content-panel,
	.sis-profile-panel {
		border-radius: 1.2rem;
	}
}

@media screen and (min-width: 768px) {
	.sis-profile-hero-inner {
		grid-template-columns: minmax(0, 1.12fr) minmax(18rem, 0.88fr);
	}

	.sis-profile-hero-primary {
		grid-template-columns: auto minmax(0, 1fr);
	}
}

@media screen and (min-width: 1024px) {
	.sis-profile-tab-list {
		gap: 0.9rem;
	}

	.sis-profile-content-shell {
		gap: 1.5rem;
	}
}

@media screen and (max-width: 1279px) {
	.sis-submenu {
		position: static;
		min-width: 0;
		padding: 0;
		border: 0;
		box-shadow: none;
		background: transparent;
		opacity: 1;
		visibility: visible;
		transform: none;
		pointer-events: auto;
	}
}
/* Global Heading Contrast Fix - Ensures headings match the theme surface text color instead of defaulting to white */
body:not(.home) .site-content h1:not(.text-white):not([class*="text-light"]):not(.has-text-color),
body:not(.home) .site-content h2:not(.text-white):not([class*="text-light"]):not(.has-text-color),
body:not(.home) .site-content h3:not(.text-white):not([class*="text-light"]):not(.has-text-color),
body:not(.home) .site-content h4:not(.text-white):not([class*="text-light"]):not(.has-text-color),
body:not(.home) .site-content h5:not(.text-white):not([class*="text-light"]):not(.has-text-color),
body:not(.home) .site-content h6:not(.text-white):not([class*="text-light"]):not(.has-text-color),
h1.entry-title, h2.entry-title, .page-title, .widget-title,
#main h1, #main h2, #main h3, #main h4, #main h5, #main h6 {
        color: var(--color-surface-text, #18181b) !important;
}

/* Ensure LearnPress and BuddyPress fallback to surface text */
#learn-press-profile :is(h1, h2, h3, h4, h5, h6):not(.text-white),
.learnpress :is(h1, h2, h3, h4, h5, h6):not(.text-white),
#buddypress :is(h1, h2, h3, h4, h5, h6):not(.text-white),
.woocommerce :is(h1, h2, h3, h4, h5, h6):not(.text-white) {
        color: var(--color-surface-text, #18181b) !important;
}

/* Keep intentional black-on-accent callouts readable after broad heading fallbacks. */
:is(#main, main#main-content, .site-content) :is([class~='bg-[var(--color-brand-gold)]'], [class~='bg-[#d4af37]']) :is(h1, h2, h3, h4, h5, h6, p, span, div).text-black,
:is(#main, main#main-content, .site-content) :is([class~='bg-[var(--color-brand-gold)]'], [class~='bg-[#d4af37]']) :is(h1, h2, h3, h4, h5, h6, p, span, div)[class~='text-black/80'],
:is(#main, main#main-content, .site-content) :is([class~='bg-[var(--color-brand-gold)]'], [class~='bg-[#d4af37]']) :is(h1, h2, h3, h4, h5, h6, p, span, div).text-zinc-950 {
	color: var(--color-accent-contrast, #050505) !important;
}

/* LearnPress compatibility layer ------------------------------------------ */

body.sis-learnpress {
	--sis-lp-panel-bg: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.96);
	--sis-lp-panel-soft: rgb(var(--color-surface-900-rgb, 246 239 231) / 0.92);
	--sis-lp-border: var(--color-surface-border, #d6c9bc);
	--sis-lp-text: var(--color-surface-text, #18181b);
	--sis-lp-muted: var(--color-surface-muted, #57534e);
	--sis-lp-accent: var(--color-accent-text, var(--color-brand-gold, #d4af37));
	--sis-lp-safe-bottom: 0px;
	max-width: 100%;
	overflow-x: hidden;
}

@supports selector(html:has(body)) {
	html:has(body.sis-learnpress) {
		max-width: 100%;
		overflow-x: hidden;
	}
}

body.sis-learnpress :is(.reveal, .reveal-up),
body.sis-learnpress :is(.sis-lp-course-shell, .sis-profile-hero-inner, .sis-profile-dashboard, .sis-profile-content, #learn-press-profile, #learn-press-checkout, #popup-course, #learn-press-content-item) {
	opacity: 1 !important;
	transform: none !important;
	visibility: visible !important;
}

body.sis-learnpress .theme-switcher-widget {
	display: none !important;
	opacity: 0 !important;
	pointer-events: none !important;
	visibility: hidden !important;
}

body.sis-learnpress[data-cookie-banner='visible'] {
	--sis-lp-safe-bottom: clamp(6rem, 16vh, 8.5rem);
}

body.sis-learnpress #cookie-consent-banner {
	left: 1rem;
	right: auto;
	bottom: 1rem;
	width: min(24rem, calc(100vw - 2rem));
	max-width: min(26rem, calc(100vw - 1.5rem));
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.34);
	box-shadow: 0 24px 46px -30px rgb(0 0 0 / 0.4);
}

body.sis-learnpress .top_heading_out {
	margin: 0 0 clamp(1rem, 3vw, 1.75rem);
	padding: clamp(1.15rem, 3vw, 2rem) clamp(1rem, 4vw, 2rem);
	border-bottom: 1px solid var(--sis-lp-border);
	background:
		linear-gradient(120deg, rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.96), rgb(13 24 22 / 0.9)),
		var(--color-brand-emerald, #0f5132);
	color: #ffffff;
}

body.sis-learnpress .top_heading_out :is(.top_site_main, .breadcrumbs-wrapper, .banner-wrapper, .container) {
	width: min(100%, 72rem);
	max-width: 72rem;
	margin-inline: auto;
	padding: 0;
	color: inherit;
}

body.sis-learnpress .top_heading_out .page-title {
	margin: 0;
	color: #ffffff !important;
	font-family: 'Playfair Display', serif;
	font-size: clamp(1.75rem, 4vw, 3.25rem);
	line-height: 1;
}

body.sis-learnpress .top_heading_out .breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin: 0.8rem 0 0;
	padding: 0;
	list-style: none;
	color: rgb(255 255 255 / 0.82);
}

body.sis-learnpress .top_heading_out .breadcrumbs li {
	display: inline-flex;
	align-items: center;
	width: auto;
	color: inherit;
}

body.sis-learnpress .top_heading_out .breadcrumbs li + li::before {
	content: '/';
	margin-inline-end: 0.4rem;
	color: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.82);
}

body.sis-learnpress .top_heading_out .breadcrumbs a {
	color: #ffffff;
	text-decoration: none;
}

body.sis-lp-page-checkout .top_heading_out {
	margin-bottom: 0.75rem;
	padding-block: clamp(0.85rem, 2vw, 1.25rem);
}

body.sis-lp-page-checkout .top_heading_out .page-title {
	font-size: clamp(1.55rem, 3vw, 2.25rem);
}

body.sis-lp-page-checkout .top_heading_out .breadcrumbs {
	margin-top: 0.45rem;
	font-size: 0.82rem;
}

body.sis-lp-classroom .top_heading_out {
	display: none !important;
}

body.sis-learnpress #thim-popup-login:not(.active) {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	overflow: hidden !important;
}

body.sis-learnpress .theme-switcher-widget {
	display: none !important;
}

.sis-lp-course-shell {
	color: var(--sis-lp-text);
	padding-top: clamp(1.5rem, 4vw, 3rem) !important;
	padding-bottom: calc(3rem + var(--sis-lp-safe-bottom)) !important;
}

.sis-lp-breadcrumb {
	margin-bottom: clamp(0.85rem, 2vw, 1.25rem) !important;
}

.sis-lp-course-hero {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: clamp(0.75rem, 1.5vw, 1rem);
	align-items: start;
	margin-bottom: clamp(1rem, 2.5vw, 1.6rem);
	padding: clamp(1rem, 2.5vw, 1.45rem);
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.26);
	border-radius: 0.5rem;
	background:
		linear-gradient(120deg, rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.94), rgb(13 24 22 / 0.92)),
		rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.92);
	box-shadow: 0 28px 48px -42px rgb(0 0 0 / 0.72);
}

.sis-lp-course-hero :is(h1, h2, h3, p, span):not(.material-symbols-rounded) {
	color: rgb(255 255 255 / 0.92) !important;
}

.sis-lp-course-hero h1 {
	color: #ffffff !important;
	font-size: clamp(1.55rem, 3.2vw, 2.55rem) !important;
	text-shadow: 0 2px 14px rgb(0 0 0 / 0.28);
}

.sis-lp-course-hero .sis-lp-course-meta > span {
	color: rgb(255 255 255 / 0.78) !important;
}

:root[data-theme-tone='light'] body.sis-learnpress .sis-lp-course-hero :is(h1, h1.text-white, h1 span, .sis-lp-course-meta > span),
body.sis-learnpress .sis-lp-course-hero :is(h1, h1.text-white, h1 span, .sis-lp-course-meta > span) {
	color: #ffffff !important;
}

:root[data-theme-tone='light'] body.sis-learnpress #learn-press-course .sis-lp-course-hero h1.text-white,
:root[data-theme-tone='light'] body.sis-learnpress #learn-press-course .sis-lp-course-hero h1.text-white span,
body.sis-learnpress #learn-press-course .sis-lp-course-hero h1.text-white,
body.sis-learnpress #learn-press-course .sis-lp-course-hero h1.text-white span {
	color: #ffffff !important;
}

:root[data-theme-tone='light'] body.sis-learnpress .sis-lp-course-hero h1 .font-arabic,
body.sis-learnpress .sis-lp-course-hero h1 .font-arabic {
	color: rgb(255 255 255 / 0.96) !important;
	margin-top: 0.35rem !important;
	font-size: clamp(1.05rem, 2vw, 1.45rem) !important;
}

.sis-lp-course-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: clamp(2.7rem, 6vw, 3.4rem);
	height: clamp(2.7rem, 6vw, 3.4rem);
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.45);
	border-radius: 0.5rem;
	background: rgb(255 255 255 / 0.08);
	color: var(--color-brand-gold, #d4af37);
}

.sis-lp-course-icon .material-symbols-rounded {
	font-size: clamp(1.55rem, 3vw, 2rem);
}

.sis-lp-course-heading {
	min-width: 0;
}

.sis-lp-course-meta > span {
	display: inline-flex;
	align-items: center;
	min-height: 1.35rem;
	font-size: 0.82rem;
}

.sis-lp-course-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(18rem, 22rem);
	gap: clamp(0.9rem, 2vw, 1.35rem);
	align-items: start;
}

.sis-lp-course-main {
	display: grid;
	gap: 0.9rem;
	min-width: 0;
}

.sis-lp-content-panel,
.sis-lp-curriculum-panel,
.sis-lp-action-panel {
	border-radius: 0.5rem;
	background: var(--sis-lp-panel-bg);
	color: var(--sis-lp-text);
}

.sis-lp-content-panel {
	border-color: var(--sis-lp-border) !important;
}

.sis-lp-content-panel.p-8,
.sis-lp-action-panel.p-8 {
	padding: clamp(1rem, 2vw, 1.35rem) !important;
}

.sis-lp-content-panel h2 {
	margin-bottom: 0.55rem !important;
	font-size: 0.86rem;
	letter-spacing: 0;
}

.sis-lp-content-panel .prose {
	font-size: 1rem !important;
	line-height: 1.55 !important;
}

.sis-lp-content-panel :is(h1, h2, h3, h4, h5, h6, p, li, span, div):not(.material-symbols-rounded) {
	color: inherit;
}

.sis-lp-curriculum-panel {
	display: grid;
	gap: 0.65rem;
	padding: clamp(0.9rem, 2vw, 1.25rem);
	border: 1px solid var(--sis-lp-border);
}

.sis-lp-section-heading {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: 0.2rem 1rem;
}

.sis-lp-section-heading .sis-lp-kicker {
	grid-column: 1 / -1;
}

.sis-lp-kicker {
	margin: 0;
	font-size: 0.76rem;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--sis-lp-accent);
}

.sis-lp-section-heading h2,
.sis-lp-action-panel h2 {
	margin: 0;
	color: var(--sis-lp-text) !important;
	font-family: 'Playfair Display', serif;
	font-size: clamp(1.2rem, 2vw, 1.55rem);
	line-height: 1.12;
}

.sis-lp-course-aside {
	position: sticky;
	top: 1.5rem;
	min-width: 0;
}

.sis-lp-action-panel {
	display: grid;
	gap: 0.7rem;
	border-color: var(--sis-lp-border) !important;
	box-shadow: 0 20px 34px -32px rgb(15 23 42 / 0.45);
}

.sis-lp-native-actions {
	display: grid;
	gap: 0.55rem;
}

.sis-lp-native-actions :is(.course-price, .course-graduation, .lp-course-progress-wrapper, .course-results-progress, .course-remaining-time) {
	display: flex;
	align-items: center;
	margin: 0;
	min-height: 2.35rem;
	padding: 0.62rem 0.72rem;
	border: 1px solid var(--sis-lp-border);
	border-radius: 0.375rem;
	background: var(--sis-lp-panel-soft);
	color: var(--sis-lp-text);
}

.sis-lp-native-actions .course-price .price,
.sis-lp-native-actions .course-price .free,
.sis-lp-native-actions .course-price .origin-price {
	color: var(--sis-lp-text);
}

.sis-lp-action-panel .lp-course-buttons,
.sis-lp-action-panel .lp-course-buttons-wrapper {
	display: grid;
	gap: 0.55rem;
	width: 100%;
}

.sis-lp-action-panel .lp-course-buttons :is(form, div),
.sis-lp-action-panel .lp-course-buttons-wrapper :is(form, div) {
	width: 100%;
}

body.sis-learnpress :is(.lp-button, button.lp-button, .button-enroll-course, .button-purchase-course, .course-btn-continue, .btn-purchase-certificate) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	min-height: 2.55rem;
	padding: 0.72rem 1rem;
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.74);
	border-radius: 0.375rem;
	background: var(--color-brand-gold, #d4af37);
	color: var(--color-accent-contrast, #050505) !important;
	font-weight: 700;
	line-height: 1.1;
	text-decoration: none;
	white-space: normal;
	cursor: pointer;
	transition: filter 0.18s ease, transform 0.18s ease, border-color 0.18s ease;
}

body.sis-learnpress :is(a, button, input, select, textarea, [tabindex]):focus-visible {
	outline: 3px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.62);
	outline-offset: 3px;
}

.sis-lp-action-panel :is(.lp-button, button.lp-button, .button-enroll-course, .button-purchase-course, .course-btn-continue, .btn-purchase-certificate) {
	width: 100%;
}

body.sis-learnpress :is(.lp-button, button.lp-button, .button-enroll-course, .button-purchase-course, .course-btn-continue, .btn-purchase-certificate):hover,
body.sis-learnpress :is(.lp-button, button.lp-button, .button-enroll-course, .button-purchase-course, .course-btn-continue, .btn-purchase-certificate):focus-visible {
	filter: brightness(1.04);
	transform: translateY(-1px);
}

.sis-lp-action-links {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.45rem;
	padding-top: 0.65rem;
	border-top: 1px solid var(--sis-lp-border);
}

.sis-lp-action-links a {
	display: flex;
	align-items: center;
	min-height: 2.25rem;
	padding: 0.55rem 0.65rem;
	border: 1px solid var(--sis-lp-border);
	border-radius: 0.375rem;
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.68);
	color: var(--sis-lp-text);
	font-size: 0.84rem;
	font-weight: 700;
	line-height: 1.15;
	text-decoration: none;
	overflow-wrap: anywhere;
}

.sis-lp-action-links a:hover,
.sis-lp-action-links a:focus-visible {
	border-color: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.72);
	color: var(--sis-lp-accent);
}

#learn-press-course-curriculum {
	margin: 0;
	color: var(--sis-lp-text);
}

#learn-press-course-curriculum .curriculum-scrollable,
#learn-press-course-curriculum .curriculum-sections,
#learn-press-course-curriculum .section-content {
	margin: 0;
	padding: 0;
	list-style: none;
}

#learn-press-course-curriculum .curriculum-sections {
	display: grid;
	gap: 0.55rem;
}

#learn-press-course-curriculum .section {
	overflow: hidden;
	border: 1px solid var(--sis-lp-border);
	border-radius: 0.5rem;
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.86);
}

#learn-press-course-curriculum .section-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.65rem;
	padding: 0.65rem 0.8rem;
	background: var(--sis-lp-panel-soft);
}

#learn-press-course-curriculum .section-left {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto;
	align-items: center;
	gap: 0.5rem;
	width: 100%;
	min-width: 0;
	cursor: pointer;
}

#learn-press-course-curriculum .section-left:focus-visible {
	outline: 3px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.62);
	outline-offset: 3px;
}

#learn-press-course-curriculum .section-title-wrap {
	display: grid;
	gap: 0.15rem;
	min-width: 0;
}

#learn-press-course-curriculum .section-title {
	margin: 0;
	color: var(--sis-lp-text) !important;
	font-size: 0.92rem;
	font-weight: 800;
	line-height: 1.22;
}

#learn-press-course-curriculum .section-desc {
	margin: 0.35rem 0 0;
	color: var(--sis-lp-muted);
	font-size: 0.9rem;
	font-weight: 500;
}

#learn-press-course-curriculum .section-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 1.55rem;
	padding: 0.22rem 0.5rem;
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.28);
	border-radius: 999px;
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.11);
	color: var(--sis-lp-accent);
	font-size: 0.7rem;
	font-weight: 800;
	white-space: nowrap;
}

#learn-press-course-curriculum .section-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.55rem;
	height: 1.55rem;
	border: 1px solid var(--sis-lp-border);
	border-radius: 999px;
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.74);
	color: var(--sis-lp-text);
}

#learn-press-course-curriculum .section.closed .section-content,
#learn-press-course-curriculum .section-content[hidden] {
	display: none;
}

#learn-press-course-curriculum .section-content {
	display: grid;
}

#learn-press-course-curriculum .course-item {
	border-top: 1px solid var(--sis-lp-border);
}

#learn-press-course-curriculum .section-item-link {
	display: grid;
	grid-template-columns: 1.35rem minmax(0, 1fr) auto;
	column-gap: 0.65rem;
	row-gap: 0.15rem;
	align-items: center;
	min-height: 2.8rem;
	padding: 0.48rem 0.78rem;
	color: var(--sis-lp-text);
	text-decoration: none;
}

#learn-press-course-curriculum .section-item-link::before {
	grid-column: 1;
	grid-row: 1;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 1.35rem !important;
	min-width: 1.35rem;
	height: 1.35rem;
	margin: 0 !important;
	border-radius: 999px;
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.12);
	color: var(--sis-lp-accent);
	font-size: 0.78rem;
	text-align: center;
}

#learn-press-course-curriculum .section-item-link:hover,
#learn-press-course-curriculum .section-item-link:focus-visible {
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.1);
}

#learn-press-course-curriculum :is(.item-name, .item-title, .course-item-title) {
	grid-column: 2;
	grid-row: 1;
	min-width: 0;
	color: var(--sis-lp-text);
	font-size: 0.9rem;
	font-weight: 700;
	overflow-wrap: anywhere;
}

#learn-press-course-curriculum .course-item-meta {
	grid-column: 3;
	grid-row: 1;
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: 0.35rem;
	width: auto;
	min-width: 1.35rem;
	margin: 0;
	color: var(--sis-lp-muted);
	font-size: 0.75rem;
	white-space: nowrap;
}

#learn-press-course-curriculum :is(.item-meta, .item-status, .duration, .count-questions, .question-count) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--sis-lp-muted);
	font-size: 0.75rem;
}

#learn-press-course-curriculum .course-item.item-locked .section-item-link,
#learn-press-course-curriculum .section-item-link[aria-disabled='true'] {
	cursor: not-allowed;
	background: rgb(var(--color-surface-900-rgb, 246 239 231) / 0.35);
	opacity: 0.78;
}

#learn-press-course-curriculum .course-item.item-preview .section-item-link {
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.08);
}

#learn-press-course-curriculum .course-item.current .section-item-link {
	box-shadow: inset 4px 0 0 var(--color-brand-gold, #d4af37);
}

#learn-press-course-curriculum .learn-press-progress {
	min-width: 6rem;
	height: 0.45rem;
	overflow: hidden;
	border-radius: 999px;
	background: rgb(var(--color-surface-800-rgb, 226 218 207) / 0.9);
}

#learn-press-course-curriculum .learn-press-progress__active {
	height: 100%;
	border-radius: inherit;
	background: var(--color-brand-gold, #d4af37);
}

body.sis-learnpress :is(.learn-press-message, .lp-message, .message) {
	padding: 1rem 1.1rem;
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.28);
	border-radius: 0.5rem;
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.1);
	color: var(--sis-lp-text);
}

body.sis-learnpress #learn-press-checkout {
	box-sizing: border-box;
	width: min(58rem, calc(100vw - 2rem)) !important;
	max-width: min(58rem, calc(100vw - 2rem)) !important;
	margin: clamp(0.75rem, 2vw, 1.25rem) auto clamp(2.5rem, 5vw, 4rem) !important;
	padding: clamp(0.9rem, 2vw, 1.25rem) !important;
	border: 1px solid var(--sis-lp-border);
	border-radius: 0.5rem;
	background:
		linear-gradient(180deg, rgb(var(--color-surface-950-rgb, 255 255 255) / 0.98), rgb(var(--color-surface-900-rgb, 246 239 231) / 0.92)),
		var(--sis-lp-panel-bg);
	box-shadow: 0 26px 46px -38px rgb(15 23 42 / 0.26);
}

body.sis-learnpress #learn-press-checkout .learn-press-message.error {
	display: block;
	margin: 0 0 0.85rem;
	padding: 0.75rem 0.9rem;
	border-color: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.3);
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.11);
	font-size: 0.94rem;
	font-weight: 700;
	line-height: 1.45;
	overflow-wrap: anywhere;
}

body.sis-learnpress #learn-press-checkout .learn-press-message.error a {
	display: inline;
	color: var(--sis-lp-text);
	text-decoration-color: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.7);
}

body.sis-learnpress #learn-press-checkout .learn-press-message.error::after {
	content: 'Browse courses or return to your profile to continue learning.';
	display: block;
	margin-top: 0.25rem;
	color: var(--sis-lp-muted);
	font-size: 0.8rem;
	font-weight: 600;
	line-height: 1.35;
}

body.sis-learnpress #learn-press-checkout-form {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(17rem, 0.88fr);
	gap: 0.85rem;
	align-items: start;
	width: 100%;
	margin: 0 !important;
}

body.sis-learnpress #learn-press-checkout-form > .lp-checkout-form__after {
	grid-column: 1;
	grid-row: 1;
	display: grid;
	gap: 0.75rem;
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	min-width: 0;
}

body.sis-learnpress #learn-press-checkout-form > .lp-checkout-form__before {
	grid-column: 2;
	grid-row: 1;
	display: grid;
	gap: 0.75rem;
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	min-width: 0;
}

body.sis-learnpress #learn-press-checkout-form > input[type='radio'] {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

body.sis-learnpress #learn-press-checkout :is(#checkout-account-login, #checkout-order, .learn-press-checkout-comment) {
	margin: 0 !important;
	padding: 0.85rem;
	border: 1px solid var(--sis-lp-border);
	border-radius: 0.5rem;
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.76);
	color: var(--sis-lp-text);
	overflow: visible !important;
}

body.sis-learnpress #learn-press-checkout :is(#checkout-account-login, #checkout-order, .learn-press-checkout-comment, #checkout-payment) h4 {
	margin: 0 0 0.65rem;
	color: var(--sis-lp-text) !important;
	font-size: 1rem;
	font-weight: 800;
	line-height: 1.2;
	text-transform: none;
}

body.sis-learnpress #checkout-account-login .lp-form-fields {
	display: grid;
	gap: 0.58rem;
	margin: 0 0 0.65rem;
	padding: 0;
	list-style: none;
}

body.sis-learnpress #checkout-account-login .form-field {
	margin: 0;
}

body.sis-learnpress #checkout-account-login label {
	display: block;
	margin: 0 0 0.24rem;
	color: var(--sis-lp-text);
	font-size: 0.82rem;
	font-weight: 700;
	line-height: 1.25;
}

body.sis-learnpress #checkout-account-login :is(input[type='text'], input[type='password']) {
	width: 100%;
	min-height: 2.35rem;
	padding: 0.54rem 0.7rem;
	border: 1px solid var(--sis-lp-border);
	border-radius: 0.375rem;
	background: var(--sis-lp-panel-bg);
	color: var(--sis-lp-text);
	font-size: 0.9rem;
}

body.sis-learnpress #checkout-account-login .lp-checkout-remember {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin: 0;
	padding-top: 0.1rem;
	color: var(--sis-lp-muted);
	font-size: 0.82rem;
	line-height: 1.2;
}

body.sis-learnpress #checkout-account-login .lp-checkout-remember label {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	width: auto;
	margin: 0;
	color: var(--sis-lp-muted);
	font-size: inherit;
	font-weight: 600;
}

body.sis-learnpress #checkout-account-login .lp-checkout-remember input[type='checkbox'] {
	position: static;
	width: 1rem;
	height: 1rem;
	margin: 0;
	accent-color: var(--color-brand-gold, #d4af37);
}

body.sis-learnpress #checkout-account-login .lp-lost-password-link {
	color: var(--sis-lp-muted);
	text-decoration: underline;
	text-decoration-color: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.38);
}

body.sis-learnpress #checkout-account-login .lp-checkout-sign-up-link:empty {
	display: none;
}

body.sis-learnpress #checkout-order .lp-checkout-order__inner {
	overflow: hidden;
	border: 1px solid var(--sis-lp-border);
	border-radius: 0.375rem;
	background: var(--sis-lp-panel-bg);
}

body.sis-learnpress #checkout-order table {
	border: 0;
	border-radius: 0;
	border-collapse: collapse;
	background: transparent;
}

body.sis-learnpress #checkout-order :is(th, td) {
	padding: 0.58rem 0.65rem;
	border: 0;
	border-bottom: 1px solid var(--sis-lp-border);
	color: var(--sis-lp-text);
	font-size: 0.88rem;
	line-height: 1.25;
	vertical-align: middle;
}

body.sis-learnpress #checkout-order .course-thumbnail {
	display: none !important;
	width: 0 !important;
	min-width: 0 !important;
	padding: 0 !important;
}

body.sis-learnpress #checkout-order .course-name a {
	display: block;
	color: var(--sis-lp-text);
	font-weight: 800;
	text-decoration: none;
	overflow-wrap: anywhere;
}

body.sis-learnpress #checkout-order .col-number {
	width: 5.5rem;
	color: var(--sis-lp-muted);
	text-align: right;
	white-space: nowrap;
}

body.sis-learnpress #checkout-order tfoot tr:last-child :is(th, td) {
	border-bottom: 0;
}

body.sis-learnpress #checkout-order .order-total :is(th, td) {
	font-size: 1rem;
	font-weight: 900;
}

body.sis-learnpress .learn-press-checkout-comment {
	display: grid;
	gap: 0.45rem;
}

body.sis-learnpress .learn-press-checkout-comment h4 {
	margin: 0 !important;
	font-size: 0.88rem !important;
}

body.sis-learnpress .learn-press-checkout-comment textarea.order-comments {
	display: block;
	width: 100%;
	min-height: 5.25rem;
	height: 5.25rem;
	padding: 0.62rem 0.7rem;
	border: 1px solid var(--sis-lp-border);
	border-radius: 0.375rem;
	background: var(--sis-lp-panel-bg);
	color: var(--sis-lp-text);
	font-size: 0.88rem;
	line-height: 1.45;
	resize: vertical;
}

body.sis-learnpress #checkout-payment {
	margin: 0 !important;
	padding: 0;
}

body.sis-learnpress #checkout-payment .place-order-action {
	margin: 0;
}

body.sis-learnpress #learn-press-checkout-place-order {
	width: 100%;
	min-height: 2.5rem;
	border-radius: 0.375rem;
}

body.sis-learnpress #learn-press-checkout .lp-terms-and-conditions {
	margin: 0.65rem 0 0;
	color: var(--sis-lp-muted);
	font-size: 0.78rem;
	line-height: 1.4;
}

body.sis-learnpress #learn-press-checkout :is(table, .lp-list-table) {
	width: 100%;
	border: 1px solid var(--sis-lp-border);
	border-radius: 0.5rem;
	overflow: hidden;
	background: var(--sis-lp-panel-bg);
}

@media screen and (max-width: 815px) {
	body.sis-learnpress #learn-press-checkout {
		width: min(100%, calc(100vw - 1rem)) !important;
		max-width: min(100%, calc(100vw - 1rem)) !important;
		margin-top: 0.75rem !important;
		padding: 0.85rem !important;
	}

	body.sis-learnpress #learn-press-checkout .learn-press-message.error {
		margin-bottom: 0.75rem;
		padding: 0.72rem 0.78rem;
		font-size: 0.88rem;
	}

	body.sis-learnpress #learn-press-checkout-form {
		grid-template-columns: minmax(0, 1fr);
		gap: 0.75rem;
	}

	body.sis-learnpress #learn-press-checkout-form > .lp-checkout-form__after {
		grid-column: 1;
		grid-row: 1;
	}

	body.sis-learnpress #learn-press-checkout-form > .lp-checkout-form__before {
		grid-column: 1;
		grid-row: 2;
	}

	body.sis-learnpress #learn-press-checkout :is(#checkout-account-login, #checkout-order, .learn-press-checkout-comment) {
		padding: 0.75rem;
	}

	body.sis-learnpress #checkout-account-login .lp-checkout-remember {
		align-items: flex-start;
	}

	body.sis-learnpress #checkout-order :is(th, td) {
		padding: 0.55rem;
		font-size: 0.84rem;
	}

	body.sis-learnpress #checkout-order .col-number {
		width: 4.75rem;
	}
}

#popup-course,
#learn-press-content-item {
	background: var(--sis-lp-panel-bg);
	color: var(--sis-lp-text);
}

body.sis-learnpress #popup-course {
	padding-bottom: var(--sis-lp-safe-bottom);
}

body.sis-lp-classroom {
	overflow: hidden;
}

body.sis-lp-classroom :is(footer, .site-footer, #colophon, #loginform, .login form) {
	display: none !important;
}

body.sis-lp-classroom #popup-course {
	min-height: 100vh;
}

body.sis-learnpress #popup-header {
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.98) !important;
	border-bottom: 1px solid var(--sis-lp-border);
	box-shadow: 0 20px 34px -34px rgb(15 23 42 / 0.42);
	color: var(--sis-lp-text);
}

body.sis-learnpress #popup-header :is(a, button, .popup-header__inner, .course-title, .items-progress) {
	color: var(--sis-lp-text) !important;
}

body.sis-learnpress #learn-press-item-comments {
	display: none !important;
}

#popup-course :is(.course-curriculum, .curriculum-sections, .section-content),
#learn-press-content-item :is(.content-item-wrap, .content-item-summary, .learn-press-content-item-container) {
	color: var(--sis-lp-text);
}

#popup-course :is(.lp-course-curriculum, .course-section, .course-section__items, .course-item__link),
#learn-press-content-item :is(.content-item-summary, .content-item-description, .course-item-nav) {
	border-color: var(--sis-lp-border);
	color: var(--sis-lp-text);
}

#popup-course .lp-course-curriculum {
	background: var(--sis-lp-panel-bg);
}

#popup-course .course-section {
	border: 1px solid var(--sis-lp-border);
	border-radius: 0.5rem;
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.9);
}

#popup-course .course-section-header {
	background: var(--sis-lp-panel-soft);
	color: var(--sis-lp-text);
}

#popup-course .course-item__link {
	min-height: 3rem;
	text-decoration: none;
}

#popup-course .course-item.current .course-item__link,
#popup-course .course-item__link:hover,
#popup-course .course-item__link:focus-visible {
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.1);
}

#popup-course :is(.course-section__title, .course-item-title, .course-item__content, .course-item__left) {
	color: var(--sis-lp-text);
}

#popup-course :is(.course-section__description, .course-curriculum-info, .course-count-section, .course-count-lesson, .course-duration) {
	color: var(--sis-lp-muted);
}

#learn-press-content-item .content-item-summary {
	padding: clamp(1rem, 3vw, 2rem);
	border-radius: 0.5rem;
	background: var(--sis-lp-panel-bg);
}

#learn-press-content-item .content-item-description {
	line-height: 1.75;
}

#learn-press-content-item .course-item-nav a {
	color: var(--sis-lp-text);
	text-decoration: none;
}

#learn-press-content-item .course-item-nav a:hover,
#learn-press-content-item .course-item-nav a:focus-visible {
	color: var(--sis-lp-accent);
}

#popup-course :is(h1, h2, h3, h4, h5, h6),
#learn-press-content-item :is(h1, h2, h3, h4, h5, h6) {
	color: var(--sis-lp-text) !important;
}

#learn-press-checkout,
#learn-press-checkout-form,
body.sis-lp-profile #learn-press-profile {
	color: var(--sis-lp-text);
}

body.sis-learnpress :is(#learn-press-checkout-form, .learn-press-form, .lp-list-table, .order-comments, .learn-press-profile-course__tab__inner) {
	border-color: var(--sis-lp-border);
	border-radius: 0.5rem;
}

body.sis-learnpress :is(input:not([type='checkbox']):not([type='radio']):not([type='submit']), textarea, select) {
	max-width: 100%;
	color: var(--sis-lp-text);
}

#learn-press-profile :is(.learn-press-profile-course__tab__inner, .lp-profile-content, .lp-tab-sections, .profile-courses, .profile-quizzes, .profile-orders) {
	color: var(--sis-lp-text);
}

#learn-press-profile :is(table, .lp-list-table) {
	width: 100%;
	border-collapse: collapse;
	color: var(--sis-lp-text);
}

#learn-press-profile :is(th, td) {
	border-color: var(--sis-lp-border);
	color: var(--sis-lp-text);
}

.learnpress-certificates-profile,
.profile-certificates,
.wrap-content-certificates {
	color: var(--sis-lp-text);
}

.learnpress-certificates-profile .profile-heading,
.profile-certificates .profile-heading,
.wrap-content-certificates .profile-heading {
	margin: 0 0 1rem;
	color: var(--sis-lp-text) !important;
	font-family: 'Playfair Display', serif;
	font-size: clamp(1.45rem, 3vw, 2.1rem);
	line-height: 1.12;
}

.profile-certificates {
	display: grid;
	gap: 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.profile-certificates .course,
.learnpress-certificates-profile .certificate,
.single-certificate-content .certificate {
	padding: 1rem;
	border: 1px solid var(--sis-lp-border);
	border-radius: 0.5rem;
	background: var(--sis-lp-panel-bg);
}

.certificate-preview,
.certificate-preview-inner {
	max-width: 100%;
}

.certificate-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin: 1rem 0 0;
	padding: 0;
	list-style: none;
}

.sis-lp-course-extra-tabs,
.sis-lp-extension-hooks {
	display: grid;
	gap: 1rem;
	margin-top: 1.5rem;
}

.sis-lp-extra-tab,
.sis-lp-extension-hooks > * {
	padding: clamp(1rem, 2vw, 1.5rem);
	border: 1px solid var(--sis-lp-border);
	border-radius: 0.5rem;
	background: var(--sis-lp-panel-bg);
	color: var(--sis-lp-text);
}

.sis-lp-extra-tab h3 {
	margin: 0 0 0.75rem;
	color: var(--sis-lp-accent);
	font-size: 1.1rem;
	font-weight: 800;
	line-height: 1.25;
}

.sis-lp-extra-tab-content,
.sis-lp-extension-hooks {
	color: var(--sis-lp-text);
	overflow-wrap: anywhere;
}

.sis-lp-extra-tab-content :is(a, button),
.sis-lp-extension-hooks :is(a, button) {
	max-width: 100%;
}

@media screen and (max-width: 1023px) {
	.sis-lp-course-layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.sis-lp-course-aside {
		position: static;
		order: -1;
	}

	.sis-lp-course-main {
		order: 0;
	}
}

@media screen and (max-width: 640px) {
	.sis-lp-course-shell {
		padding-top: 1rem !important;
	}

	.sis-lp-breadcrumb {
		margin-bottom: 0.65rem !important;
		font-size: 0.76rem !important;
	}

	.sis-lp-course-hero {
		grid-template-columns: 2.35rem minmax(0, 1fr);
		gap: 0.65rem;
		margin-bottom: 0.85rem;
		padding: 0.9rem;
	}

	.sis-lp-course-icon {
		width: 2.35rem;
		height: 2.35rem;
	}

	.sis-lp-course-icon .material-symbols-rounded {
		font-size: 1.35rem;
	}

	.sis-lp-course-hero h1 {
		font-size: 1.45rem !important;
	}

	body.sis-learnpress .sis-lp-course-hero h1 .font-arabic {
		font-size: 1.05rem !important;
	}

	.sis-lp-course-meta {
		gap: 0.25rem 0.55rem !important;
		margin-top: 0.55rem !important;
	}

	.sis-lp-content-panel.p-8,
	.sis-lp-action-panel.p-8 {
		padding: 0.95rem !important;
	}

	.sis-lp-action-links a {
		font-size: 0.78rem;
	}

	#learn-press-course-curriculum .section-header,
	#learn-press-course-curriculum .section-item-link {
		padding-left: 0.65rem;
		padding-right: 0.65rem;
	}

	#learn-press-course-curriculum .section-item-link {
		grid-template-columns: 1.25rem minmax(0, 1fr) auto;
		column-gap: 0.55rem;
		min-height: 2.75rem;
	}

	#learn-press-course-curriculum .section-item-link::before {
		width: 1.25rem !important;
		min-width: 1.25rem;
		height: 1.25rem;
	}
}

@media screen and (max-width: 782px) {
	body.sis-learnpress[data-cookie-banner='visible'] {
		--sis-lp-safe-bottom: 10.5rem;
	}

	body.sis-learnpress #cookie-consent-banner {
		left: 0.75rem;
		right: 0.75rem;
		bottom: 0.75rem;
		max-width: none;
		padding: 0.9rem;
	}

	body.sis-learnpress #popup-course {
		display: flex !important;
		flex-direction: column;
		overflow-x: hidden;
		overflow-y: auto;
		background: var(--sis-lp-panel-bg);
	}

	body.sis-learnpress #popup-header {
		position: sticky !important;
		top: 0;
		left: 0 !important;
		z-index: 40;
		order: 0;
		width: 100% !important;
		min-height: 4rem;
		background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.96);
		border-bottom: 1px solid var(--sis-lp-border);
	}

	body.sis-learnpress #popup-content {
		position: relative !important;
		left: 0 !important;
		order: 1;
		width: 100% !important;
		min-width: 0;
		height: auto !important;
		margin: 0 !important;
		padding: 0.9rem;
		overflow: visible;
		transform: none !important;
	}

	body.sis-learnpress #learn-press-content-item,
	body.sis-learnpress #learn-press-content-item :is(.content-item-scrollable, .content-item-wrap, .content-item-summary) {
		position: relative !important;
		left: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0;
		margin: 0 !important;
		transform: none !important;
	}

body.sis-learnpress #popup-sidebar {
		position: relative !important;
		left: 0 !important;
		order: 2;
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		max-height: 42vh;
		margin: 0 !important;
		overflow: auto;
		border-top: 1px solid var(--sis-lp-border);
		background: var(--sis-lp-panel-bg);
		transform: none !important;
	}

	body.sis-learnpress #popup-sidebar::before {
		content: 'Course contents';
		position: sticky;
		top: 0;
		z-index: 2;
		display: block;
		padding: 0.75rem 1rem;
		border-bottom: 1px solid var(--sis-lp-border);
		background: var(--sis-lp-panel-soft);
		color: var(--sis-lp-text);
		font-size: 0.78rem;
		font-weight: 800;
		letter-spacing: 0.12em;
		text-transform: uppercase;
	}

	body.sis-learnpress #popup-sidebar :is(.search-course, .course-curriculum) {
		position: static !important;
		width: 100% !important;
		max-width: 100%;
		height: auto !important;
	}

	body.sis-learnpress #popup-footer {
		position: sticky !important;
		left: 0 !important;
		bottom: 0;
		z-index: 35;
		order: 3;
		width: 100% !important;
		background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.96);
		border-top: 1px solid var(--sis-lp-border);
	}

	body.sis-learnpress #learn-press-content-item .course-item-nav {
		position: sticky;
		bottom: 0.75rem;
		z-index: 5;
		display: flex;
		justify-content: flex-end;
		width: 100%;
		margin-top: 1rem;
	}
}

body.learnpress-profile .theme-switcher-widget,
body.sis-learnpress .theme-switcher-widget {
	display: none !important;
	opacity: 0 !important;
	pointer-events: none !important;
	visibility: hidden !important;
}

@media screen and (max-width: 767px) {
	.theme-switcher-widget {
		display: flex !important;
		left: 50% !important;
		right: auto !important;
		top: auto !important;
		bottom: calc(env(safe-area-inset-bottom, 0px) + 0.75rem) !important;
		width: auto !important;
		max-width: calc(100vw - 1.5rem);
		max-height: none;
		overflow-x: auto;
		overflow-y: hidden;
		transform: translateX(-50%) !important;
		z-index: 92 !important;
		padding: 0.35rem !important;
		border-radius: 999px;
	}

	.theme-switcher-widget .theme-switcher-themes {
		flex-direction: row !important;
		gap: 0.35rem !important;
	}

	.theme-switcher-widget .theme-btn {
		width: 2.75rem !important;
		height: 2.75rem !important;
		min-width: 2.75rem !important;
		min-height: 2.75rem !important;
	}

	body[data-cookie-banner='visible'] .theme-switcher-widget {
		bottom: calc(env(safe-area-inset-bottom, 0px) + 11rem) !important;
	}
}

body[data-overlay-open='true'] .theme-switcher-widget,
body[data-mobile-menu-open='true'] .theme-switcher-widget {
	opacity: 0 !important;
	pointer-events: none !important;
	visibility: hidden !important;
}

body.sis-learnpress .theme-switcher-widget {
	display: none !important;
	opacity: 0 !important;
	pointer-events: none !important;
	visibility: hidden !important;
}

@media screen and (max-width: 767px) {
	body.sis-learnpress .theme-switcher-widget {
		display: none !important;
		opacity: 0 !important;
		pointer-events: none !important;
		visibility: hidden !important;
	}
}

body.sis-learnpress .theme-switcher-widget {
	display: none !important;
	opacity: 0 !important;
	pointer-events: none !important;
	visibility: hidden !important;
}

@media screen and (max-width: 767px) {
	body.sis-learnpress .theme-switcher-widget {
		display: none !important;
		opacity: 0 !important;
		pointer-events: none !important;
		visibility: hidden !important;
	}
}

body.sis-learnpress .theme-switcher-widget {
	display: none !important;
	opacity: 0 !important;
	pointer-events: none !important;
	visibility: hidden !important;
}

@media screen and (max-width: 767px) {
	body.sis-learnpress .theme-switcher-widget {
		display: none !important;
		opacity: 0 !important;
		pointer-events: none !important;
		visibility: hidden !important;
	}
}

/* Keep the public appearance switcher available on every public surface. */
body.learnpress-profile .theme-switcher-widget,
body.sis-learnpress .theme-switcher-widget {
	display: flex !important;
	opacity: 1 !important;
	pointer-events: auto !important;
	visibility: visible !important;
}

@media screen and (max-width: 767px) {
	.theme-switcher-widget,
	body.learnpress-profile .theme-switcher-widget,
	body.sis-learnpress .theme-switcher-widget {
		display: flex !important;
		left: 0 !important;
		right: auto !important;
		top: 50% !important;
		bottom: auto !important;
		width: 1.75rem !important;
		max-width: 1.75rem;
		max-height: calc(100vh - 8rem);
		overflow: visible;
		transform: translateY(-50%) !important;
		z-index: 92 !important;
		padding: 0.4rem 0 !important;
		border-radius: 0 0.75rem 0.75rem 0;
	}

	.theme-switcher-widget .theme-switcher-themes {
		flex-direction: column !important;
		gap: 0.4rem !important;
	}

	.theme-switcher-widget .theme-btn {
		width: 1.15rem !important;
		height: 1.15rem !important;
		min-width: 1.15rem !important;
		min-height: 1.15rem !important;
	}

	body[data-cookie-banner='visible'] .theme-switcher-widget {
		bottom: auto !important;
	}
}

body[data-overlay-open='true'] .theme-switcher-widget,
body[data-mobile-menu-open='true'] .theme-switcher-widget {
	opacity: 0 !important;
	pointer-events: none !important;
	visibility: hidden !important;
}

body.sis-learnpress .theme-switcher-widget {
	display: none !important;
	opacity: 0 !important;
	pointer-events: none !important;
	visibility: hidden !important;
}

@media screen and (max-width: 767px) {
	body.sis-learnpress .theme-switcher-widget {
		display: none !important;
		opacity: 0 !important;
		pointer-events: none !important;
		visibility: hidden !important;
	}
}
