/* Tutorshub v9.1.0 — optional medium-dark luxury theme and premium controls */

body.th-luxury-dark {
  --th-lux-bg: #0b1422;
  --th-lux-bg-deep: #07101c;
  --th-lux-surface: #111f31;
  --th-lux-surface-2: #17283e;
  --th-lux-card: #14243a;
  --th-lux-card-hover: #1a2e47;
  --th-lux-line: rgba(190, 211, 236, .15);
  --th-lux-line-strong: rgba(244, 198, 93, .28);
  --th-lux-text: #f4f7fb;
  --th-lux-muted: #a9bad0;
  --th-lux-faint: #7f94ae;
  --th-lux-gold: #f4c65d;
  --th-lux-gold-bright: #ffdb7c;
  --th-lux-gold-deep: #d99a22;
  --th-lux-blue: #4b98ef;
  --th-lux-teal: #27c59a;
  --th-lux-shadow: 0 24px 70px rgba(0, 0, 0, .26);
  --th-lux-shadow-soft: 0 14px 38px rgba(0, 0, 0, .18);
  color: var(--th-lux-text);
  background:
    radial-gradient(circle at 8% 4%, rgba(52, 125, 211, .13), transparent 30rem),
    radial-gradient(circle at 92% 26%, rgba(244, 198, 93, .07), transparent 26rem),
    var(--th-lux-bg);
}

html body.th-luxury-dark {
  color: var(--th-lux-text) !important;
  background:
    radial-gradient(circle at 8% 4%, rgba(52, 125, 211, .13), transparent 30rem),
    radial-gradient(circle at 92% 26%, rgba(244, 198, 93, .07), transparent 26rem),
    var(--th-lux-bg) !important;
}

body.th-luxury-dark :is(main, .th84-home, .th-marketplace-page, .th-app-page, .th-reg-page, .th-search-page, .tutorshub-profile-page, .tutorshub-profile-route) {
  color: var(--th-lux-text);
  background-color: transparent;
}

body.th-luxury-dark :is(main, .th84-home, .th-app-page, .th-reg-page, .th-search-page) :is(h1, h2, h3, h4, h5, h6) {
  color: var(--th-lux-text);
}

body.th-luxury-dark :is(main, .th84-home, .th-app-page, .th-reg-page, .th-search-page) :is(p, .meta, .th-help) {
  color: var(--th-lux-muted);
}

body.th-luxury-dark a {
  text-underline-offset: 3px;
}

/* Premium button language */
body.th-luxury-dark :is(.btn, .th-role-cta, .th84-green, .th-reference-cta, .th-continue, .th-demo-request, .th-demo-start, .th-payment-confirm, .th-submit-row button, button[type="submit"], input[type="submit"]) {
  min-height: 46px;
  border: 1px solid rgba(255, 231, 169, .72) !important;
  border-radius: 14px !important;
  color: #152033 !important;
  background:
    linear-gradient(115deg, rgba(255, 255, 255, .34), transparent 34%),
    linear-gradient(135deg, var(--th-lux-gold-bright), var(--th-lux-gold) 48%, var(--th-lux-gold-deep)) !important;
  box-shadow: 0 11px 28px rgba(217, 154, 34, .24), inset 0 1px 0 rgba(255, 255, 255, .65) !important;
  font-weight: 800 !important;
  letter-spacing: -.01em;
  transition: transform .22s ease, box-shadow .22s ease, filter .22s ease !important;
}

body.th-luxury-dark :is(.btn, .th-role-cta, .th84-green, .th-reference-cta, .th-continue, .th-demo-request, .th-demo-start, .th-payment-confirm, .th-submit-row button, button[type="submit"], input[type="submit"]):hover {
  color: #0b1727 !important;
  filter: brightness(1.055) saturate(1.04);
  transform: translateY(-2px);
  box-shadow: 0 16px 36px rgba(217, 154, 34, .32), inset 0 1px 0 rgba(255, 255, 255, .72) !important;
}

body.th-luxury-dark :is(.btn, .th-role-cta, .th84-green, .th-reference-cta, .th-continue, .th-demo-request, .th-demo-start, .th-payment-confirm, .th-submit-row button, button[type="submit"], input[type="submit"]):active {
  transform: translateY(0) scale(.985);
  box-shadow: 0 7px 18px rgba(217, 154, 34, .22), inset 0 1px 0 rgba(255, 255, 255, .55) !important;
}

body.th-luxury-dark :is(.th84-outline, .th-view-all, .th84-section-head > a, .th-role-switcher-v85 a, .th-tabs a, .th-search-tabs a, .card-actions .btn:not(.green):not(.blue)) {
  border: 1px solid rgba(196, 215, 238, .2) !important;
  border-radius: 13px !important;
  color: #e8f1fc !important;
  background: linear-gradient(145deg, rgba(255, 255, 255, .1), rgba(255, 255, 255, .035)) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 10px 26px rgba(0, 0, 0, .13) !important;
  backdrop-filter: blur(15px);
  transition: border-color .2s ease, background .2s ease, color .2s ease, transform .2s ease !important;
}

body.th-luxury-dark :is(.th84-outline, .th-view-all, .th84-section-head > a, .th-role-switcher-v85 a, .th-tabs a, .th-search-tabs a, .card-actions .btn:not(.green):not(.blue)):hover {
  color: var(--th-lux-gold-bright) !important;
  border-color: rgba(244, 198, 93, .52) !important;
  background: rgba(244, 198, 93, .08) !important;
  transform: translateY(-2px);
}

body.th-luxury-dark :is(a, button, input, select, textarea):focus-visible {
  outline: 3px solid rgba(244, 198, 93, .48) !important;
  outline-offset: 3px;
}

body.th-luxury-dark :is(.th-wa-button, .btn.green.th-wa-button) {
  border-color: rgba(110, 255, 198, .42) !important;
  color: #fff !important;
  background: linear-gradient(135deg, #21d994, #08a96f) !important;
  box-shadow: 0 14px 35px rgba(13, 180, 119, .3) !important;
}

/* Five header systems, one dark luxury finish */
body.th-luxury-dark .site-header:is(.th-pair-signature-white, .th-pair-aurora-glass, .th-pair-editorial-luxe, .th-pair-neo-grid, .th-pair-studio-blue) {
  color: var(--th-lux-text) !important;
  border-bottom: 1px solid var(--th-lux-line) !important;
  box-shadow: 0 14px 38px rgba(0, 0, 0, .2) !important;
  backdrop-filter: saturate(1.2) blur(18px);
}

body.th-luxury-dark .site-header.th-pair-signature-white { background: linear-gradient(115deg, rgba(13, 25, 41, .97), rgba(21, 43, 66, .96)) !important; }
body.th-luxury-dark .site-header.th-pair-aurora-glass { background: linear-gradient(115deg, rgba(16, 27, 43, .96), rgba(27, 48, 70, .94)) !important; }
body.th-luxury-dark .site-header.th-pair-editorial-luxe { background: linear-gradient(115deg, rgba(8, 18, 31, .98), rgba(22, 34, 52, .97)) !important; }
body.th-luxury-dark .site-header.th-pair-neo-grid { background: linear-gradient(115deg, rgba(5, 14, 27, .98), rgba(16, 48, 83, .97)) !important; }
body.th-luxury-dark .site-header.th-pair-studio-blue { background: linear-gradient(115deg, rgba(8, 35, 70, .98), rgba(14, 76, 129, .96)) !important; }

body.th-luxury-dark .site-header :is(.th84-nav, .th84-shell) {
  background: transparent !important;
}

html body.th-luxury-dark .site-header.th84-header.th-hf-header .th84-nav {
  color: var(--th-lux-text) !important;
  border-color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.th-luxury-dark .site-header .th84-links a {
  color: #dce8f7 !important;
  text-shadow: 0 1px 1px rgba(0, 0, 0, .18);
}

body.th-luxury-dark .site-header .th84-links a:is(:hover, :focus-visible, .is-active) {
  color: var(--th-lux-gold-bright) !important;
}

body.th-luxury-dark .site-header .th84-links a:after {
  background: linear-gradient(90deg, var(--th-lux-gold-deep), var(--th-lux-gold-bright)) !important;
}

body.th-luxury-dark .site-header :is(.th84-outline, .th-lang, .th-lang-switch, .th-language-switcher) {
  color: #e8f1fc !important;
  border-color: rgba(211, 226, 244, .21) !important;
  background: rgba(255, 255, 255, .065) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08) !important;
}

body.th-luxury-dark .site-header :is(.th84-green, .th84-actions .is-primary, .th-lang-btn.is-active) {
  color: #122039 !important;
  border-color: rgba(255, 230, 162, .76) !important;
  background: linear-gradient(135deg, var(--th-lux-gold-bright), var(--th-lux-gold-deep)) !important;
  box-shadow: 0 10px 26px rgba(217, 154, 34, .25), inset 0 1px 0 rgba(255, 255, 255, .62) !important;
}

body.th-luxury-dark .site-header .th84-topbar {
  color: #d9e6f5 !important;
  border-bottom-color: rgba(255, 255, 255, .08) !important;
  background: rgba(3, 11, 21, .72) !important;
}

body.th-luxury-dark .site-header .th84-brand {
  background: transparent !important;
  box-shadow: none !important;
}

body.th-luxury-dark .site-header :is(.th84-logo-img, .th84-mobile-logo-img) {
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.th-luxury-dark .site-header .mobile-toggle {
  color: var(--th-lux-gold-bright) !important;
  border-color: rgba(244, 198, 93, .4) !important;
  background: linear-gradient(145deg, rgba(244, 198, 93, .16), rgba(255, 255, 255, .055)) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12), 0 9px 24px rgba(0, 0, 0, .2) !important;
}

html body.th-luxury-dark .site-header.th84-header.th-hf-header .mobile-toggle {
  color: var(--th-lux-gold-bright) !important;
  border-color: rgba(244, 198, 93, .4) !important;
  background: linear-gradient(145deg, rgba(244, 198, 93, .16), rgba(255, 255, 255, .055)) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12), 0 9px 24px rgba(0, 0, 0, .2) !important;
}

body.th-luxury-dark .site-header :is(.mobile-menu, .th84-mobile-menu, .th-mobile-panel) {
  color: var(--th-lux-text) !important;
  border-color: var(--th-lux-line) !important;
  background: linear-gradient(165deg, #14263b, #0c1929) !important;
  box-shadow: 0 28px 60px rgba(0, 0, 0, .36) !important;
}

body.th-luxury-dark .site-header :is(.mobile-menu, .th84-mobile-menu, .th-mobile-panel) a {
  color: #e4edf8 !important;
  border-color: rgba(196, 215, 238, .11) !important;
}

body.th-luxury-dark .site-header :is(.mobile-menu, .th84-mobile-menu, .th-mobile-panel) a:is(:hover, .is-active) {
  color: var(--th-lux-gold-bright) !important;
  background: rgba(244, 198, 93, .07) !important;
}

html body.th-luxury-dark .site-header.th84-header.th-hf-header .mobile-menu {
  color: var(--th-lux-text) !important;
  border-color: var(--th-lux-line) !important;
  background: linear-gradient(165deg, #14263b, #0c1929) !important;
  box-shadow: 0 28px 60px rgba(0, 0, 0, .36) !important;
}

html body.th-luxury-dark .site-header.th84-header.th-hf-header .mobile-menu .container {
  background: transparent !important;
}

html body.th-luxury-dark .site-header.th84-header.th-hf-header .mobile-menu a,
html body.th-luxury-dark .site-header.th84-header.th-hf-header .mobile-menu .th-mobile-language > strong {
  color: #e4edf8 !important;
  border-color: rgba(196, 215, 238, .11) !important;
}

html body.th-luxury-dark .site-header.th84-header.th-hf-header .mobile-menu .th-mobile-language {
  border-color: rgba(196, 215, 238, .13) !important;
}

html body.th-luxury-dark .site-header.th84-header.th-hf-header .mobile-menu .th-language-switch,
html body.th-luxury-dark .site-header.th84-header.th-hf-header .mobile-menu .th-mobile-account a {
  color: #e4edf8 !important;
  border-color: rgba(196, 215, 238, .18) !important;
  background: rgba(255, 255, 255, .055) !important;
}

html body.th-luxury-dark .site-header.th84-header.th-hf-header .mobile-menu .th-mobile-account a:last-child,
html body.th-luxury-dark .site-header.th84-header.th-hf-header .mobile-menu .th-lang-btn.is-active {
  color: #142039 !important;
  border-color: rgba(255, 231, 169, .72) !important;
  background: linear-gradient(135deg, var(--th-lux-gold-bright), var(--th-lux-gold-deep)) !important;
}

/* Homepage */
body.th-luxury-dark .th84-home {
  background:
    radial-gradient(circle at 90% 18%, rgba(52, 125, 211, .14), transparent 28rem),
    var(--th-lux-bg) !important;
}

body.th-luxury-dark .th84-hero-shade {
  background: linear-gradient(90deg, rgba(3, 12, 25, .92) 0%, rgba(5, 18, 36, .74) 43%, rgba(5, 17, 31, .22) 72%, rgba(5, 17, 31, .38) 100%) !important;
}

body.th-luxury-dark .th84-badge {
  color: #dfeaf7 !important;
  border-color: rgba(244, 198, 93, .35) !important;
  background: rgba(10, 29, 50, .72) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1) !important;
  backdrop-filter: blur(12px);
}

body.th-luxury-dark .th84-accent { color: #44deb0 !important; }
body.th-luxury-dark .th84-copy p { color: #d5e1ee !important; }

body.th-luxury-dark .th84-trust > * {
  color: #e8f1fb !important;
  border-color: rgba(211, 225, 242, .2) !important;
  background: rgba(7, 23, 42, .58) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .07) !important;
  backdrop-filter: blur(10px);
}

body.th-luxury-dark .th84-arrow {
  color: var(--th-lux-gold-bright) !important;
  border-color: rgba(244, 198, 93, .34) !important;
  background: rgba(7, 18, 32, .72) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .28) !important;
  backdrop-filter: blur(10px);
}

body.th-luxury-dark .th84-dots button {
  border-color: rgba(255, 255, 255, .55) !important;
  background: rgba(255, 255, 255, .23) !important;
}

body.th-luxury-dark .th84-dots button.is-active { background: var(--th-lux-gold) !important; }

body.th-luxury-dark .th84-search {
  color: var(--th-lux-text) !important;
  border: 1px solid var(--th-lux-line) !important;
  background: linear-gradient(145deg, rgba(24, 43, 66, .97), rgba(14, 28, 45, .98)) !important;
  box-shadow: 0 24px 65px rgba(0, 0, 0, .32), inset 0 1px 0 rgba(255, 255, 255, .08) !important;
}

body.th-luxury-dark .th84-tabs {
  border-color: var(--th-lux-line) !important;
  background: rgba(5, 14, 25, .28) !important;
}

body.th-luxury-dark .th84-tabs button {
  color: var(--th-lux-muted) !important;
  border-color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.th-luxury-dark .th84-tabs button.is-active {
  color: #152033 !important;
  background: linear-gradient(135deg, var(--th-lux-gold-bright), var(--th-lux-gold-deep)) !important;
}

body.th-luxury-dark :is(.th84-search, .th-search-filter-card, .panel, .th-contact-card, .th-premium-register-form) :is(label, legend) {
  color: #dfe9f6 !important;
}

body.th-luxury-dark :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
  color: var(--th-lux-text) !important;
  border-color: rgba(190, 211, 236, .19) !important;
  background: rgba(5, 15, 27, .62) !important;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, .2) !important;
}

body.th-luxury-dark :is(input, textarea)::placeholder { color: #8094ad !important; opacity: 1; }
body.th-luxury-dark select option { color: #eef4fb; background: #13243a; }

body.th-luxury-dark :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea):focus {
  border-color: rgba(244, 198, 93, .6) !important;
  box-shadow: 0 0 0 4px rgba(244, 198, 93, .1) !important;
}

body.th-luxury-dark :is(.th84-subjects, .th84-how, .th-contact-section, .th-about-body) {
  color: var(--th-lux-text) !important;
  background: transparent !important;
}

body.th-luxury-dark :is(.th84-section-head, .th-blueprint-section-head, .th-results-head) p { color: var(--th-lux-muted) !important; }

body.th-luxury-dark .th84-subject {
  color: var(--th-lux-text) !important;
  border-color: var(--th-lux-line) !important;
  background: linear-gradient(145deg, rgba(24, 43, 66, .94), rgba(15, 30, 48, .98)) !important;
  box-shadow: var(--th-lux-shadow-soft) !important;
}

body.th-luxury-dark .th84-subject:hover {
  border-color: rgba(244, 198, 93, .37) !important;
  background: linear-gradient(145deg, #1c334e, #12253c) !important;
  box-shadow: 0 20px 44px rgba(0, 0, 0, .25) !important;
  transform: translateY(-4px);
}

body.th-luxury-dark .th84-subject :is(p, small, span) { color: var(--th-lux-muted) !important; }
body.th-luxury-dark .th84-subject :is(h3, strong) { color: var(--th-lux-text) !important; }

body.th-luxury-dark .th84-proof {
  color: var(--th-lux-text) !important;
  border-block: 1px solid var(--th-lux-line) !important;
  background: linear-gradient(120deg, #10233a, #173755 55%, #10253c) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04) !important;
}

body.th-luxury-dark .th84-proof :is(p, span, small) { color: #c1d1e2 !important; }

body.th-luxury-dark .th84-how-grid article {
  color: var(--th-lux-text) !important;
  border-color: var(--th-lux-line) !important;
  background: linear-gradient(145deg, var(--th-lux-card), #102033) !important;
  box-shadow: var(--th-lux-shadow-soft) !important;
}

body.th-luxury-dark .th84-how-grid article p { color: var(--th-lux-muted) !important; }

/* Earlier homepage shortcode variants inherit the same finish. */
body.th-luxury-dark :is(.th-final-home, .th-blueprint-home, .th-blueprint-subjects, .th-blueprint-featured, .th-blueprint-how, .th-blueprint-why) {
  color: var(--th-lux-text) !important;
  background: transparent !important;
}

body.th-luxury-dark :is(.th-final-search, .th-blueprint-search) {
  color: var(--th-lux-text) !important;
  border-color: var(--th-lux-line) !important;
  background: linear-gradient(145deg, rgba(24, 43, 66, .98), rgba(14, 28, 45, .99)) !important;
  box-shadow: var(--th-lux-shadow) !important;
}

body.th-luxury-dark :is(.th-final-search, .th-blueprint-search) :is(form, .th-search-tabs) {
  color: var(--th-lux-text) !important;
  border-color: var(--th-lux-line) !important;
  background: transparent !important;
}

body.th-luxury-dark :is(.th-final-search, .th-blueprint-search) form label {
  border-color: rgba(190, 211, 236, .19) !important;
  background: rgba(5, 15, 27, .55) !important;
}

body.th-luxury-dark :is(.th-final-search, .th-blueprint-search) :is(input, select) {
  color: var(--th-lux-text) !important;
  background: transparent !important;
}

body.th-luxury-dark :is(.th-final-search, .th-blueprint-search) .th-search-tabs button {
  color: var(--th-lux-muted) !important;
  border-color: transparent !important;
  background: rgba(255, 255, 255, .035) !important;
  box-shadow: none !important;
}

body.th-luxury-dark :is(.th-final-search, .th-blueprint-search) .th-search-tabs button.is-active {
  color: #142039 !important;
  background: linear-gradient(135deg, var(--th-lux-gold-bright), var(--th-lux-gold-deep)) !important;
}

body.th-luxury-dark #subjects.th-final-subject-section,
body.th-luxury-dark .th-blueprint-home #subjects,
body.th-luxury-dark .th-blueprint-why,
body.th-luxury-dark .th-blueprint-featured,
body.th-luxury-dark .th-blueprint-how {
  color: var(--th-lux-text) !important;
  background: transparent !important;
}

body.th-luxury-dark :is(.th-final-subjects, .th-blueprint-subjects) > .th-subject,
body.th-luxury-dark .th-why-grid article {
  color: var(--th-lux-text) !important;
  border-color: var(--th-lux-line) !important;
  background: linear-gradient(145deg, var(--th-lux-card), #102033) !important;
  box-shadow: var(--th-lux-shadow-soft) !important;
}

body.th-luxury-dark :is(.th-final-subjects, .th-blueprint-subjects) > .th-subject :is(strong, b),
body.th-luxury-dark .th-why-grid article strong { color: var(--th-lux-text) !important; }

body.th-luxury-dark :is(.th-final-subjects, .th-blueprint-subjects) > .th-subject :is(span, small),
body.th-luxury-dark .th-why-grid article small { color: var(--th-lux-muted) !important; }

body.th-luxury-dark .th-stats {
  border: 1px solid var(--th-lux-line) !important;
  background: rgba(39, 197, 154, .08) !important;
}

body.th-luxury-dark .th-stats :is(span, b, small) { color: #dce9f5 !important; border-color: var(--th-lux-line) !important; }

/* Marketplace, registration, dashboard and content pages */
body.th-luxury-dark :is(.panel, .tutor-card, .th-card, .th-view-card, .th-role-card, .th-reg-formcard, .th-contact-card, .th-about-card, .th-about-mission, .th-search-filter-card, .th-demo-box, .th-demo-complete-card, .th-confirmed-booking, .th-statement, .profile-main) {
  color: var(--th-lux-text) !important;
  border-color: var(--th-lux-line) !important;
  background: linear-gradient(145deg, rgba(23, 41, 63, .98), rgba(15, 29, 47, .99)) !important;
  box-shadow: var(--th-lux-shadow-soft) !important;
}

body.th-luxury-dark :is(.panel, .tutor-card, .th-card, .th-view-card, .th-role-card, .th-reg-formcard, .th-contact-card, .th-about-card, .th-about-mission, .th-search-filter-card, .th-demo-box, .th-demo-complete-card, .profile-main) :is(h1, h2, h3, h4, strong) {
  color: var(--th-lux-text) !important;
}

body.th-luxury-dark :is(.panel, .tutor-card, .th-card, .th-view-card, .th-role-card, .th-reg-formcard, .th-contact-card, .th-about-card, .th-about-mission, .th-search-filter-card, .th-demo-box, .th-demo-complete-card, .profile-main) :is(p, small, .meta) {
  color: var(--th-lux-muted) !important;
}

body.th-luxury-dark :is(.th-contact-hero, .th-about-hero, .th-reg-hero, .th-search-intro, .profile-hero, .th-user-hero) {
  color: var(--th-lux-text) !important;
  border-color: var(--th-lux-line) !important;
  background:
    radial-gradient(circle at 78% 20%, rgba(75, 152, 239, .22), transparent 23rem),
    linear-gradient(125deg, #0d1b2d, #153453 56%, #11253c) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .055) !important;
}

body.th-luxury-dark :is(.th-contact-hero, .th-about-hero, .th-reg-hero, .th-search-intro, .profile-hero, .th-user-hero) :is(h1, h2, h3) { color: #fff !important; }
body.th-luxury-dark :is(.th-contact-hero, .th-about-hero, .th-reg-hero, .th-search-intro, .profile-hero, .th-user-hero) p { color: #c8d7e7 !important; }
body.th-luxury-dark :is(.kicker, .th-reg-eyebrow, .th-final-kicker, .th-form-badge) { color: var(--th-lux-gold-bright) !important; }

body.th-luxury-dark :is(.th-role-card, .tutor-card, .th-view-card, .th-about-card):hover {
  border-color: rgba(244, 198, 93, .32) !important;
  background: linear-gradient(145deg, var(--th-lux-card-hover), #13283f) !important;
  box-shadow: 0 21px 48px rgba(0, 0, 0, .25) !important;
}

body.th-luxury-dark :is(.th-role-icon, .th-about-icon, .th-contact-icon, .th-subject-icon, .th-demo-icon) {
  color: var(--th-lux-gold-bright) !important;
  border-color: rgba(244, 198, 93, .25) !important;
  background: rgba(244, 198, 93, .09) !important;
}

body.th-luxury-dark :is(.th-reg-aside, .th-blueprint-why, .th-final-hero, .th-blueprint-home) {
  color: var(--th-lux-text) !important;
  background: linear-gradient(145deg, #0c1d31, #173a5c) !important;
}

body.th-luxury-dark :is(.th-search-badges span, .profile-tags span, .th-about-pills span, .th-reg-safe, .th-online-badge, .th-demo-badge, .th-status) {
  color: #dce8f5 !important;
  border-color: rgba(190, 211, 236, .17) !important;
  background: rgba(255, 255, 255, .065) !important;
}

body.th-luxury-dark :is(.th-result-count, .th-count, .th-good) {
  color: var(--th-lux-gold-bright) !important;
  border-color: rgba(244, 198, 93, .24) !important;
  background: rgba(244, 198, 93, .08) !important;
}

body.th-luxury-dark .th-contact-points > div {
  color: var(--th-lux-text) !important;
  border-color: var(--th-lux-line) !important;
  background: rgba(20, 36, 58, .92) !important;
  box-shadow: var(--th-lux-shadow-soft) !important;
}

body.th-luxury-dark .th-contact-points > div b { color: var(--th-lux-text) !important; }
body.th-luxury-dark .th-contact-points > div span { color: var(--th-lux-muted) !important; }

body.th-luxury-dark .th-contact-form-grid :is(input, textarea),
body.th-luxury-dark :is(.th-final-search, .th-blueprint-search) form :is(input, select) {
  color: var(--th-lux-text) !important;
  border-color: rgba(190, 211, 236, .19) !important;
  background: rgba(5, 15, 27, .62) !important;
}

body.th-luxury-dark :is(.notice, .notice-info, .notice-success) {
  color: #d9e8f6 !important;
  border-color: rgba(75, 152, 239, .28) !important;
  background: rgba(39, 91, 143, .18) !important;
}

body.th-luxury-dark .notice.error,
body.th-luxury-dark .th-danger {
  color: #ffd7d7 !important;
  border-color: rgba(255, 122, 122, .32) !important;
  background: rgba(141, 42, 52, .2) !important;
}

body.th-luxury-dark :is(table, .table-wrap, .th-table-wrap) {
  color: var(--th-lux-text) !important;
  border-color: var(--th-lux-line) !important;
  background: var(--th-lux-surface) !important;
}

body.th-luxury-dark :is(th, td) { color: inherit !important; border-color: var(--th-lux-line) !important; }
body.th-luxury-dark th { color: #f6dfa4 !important; background: rgba(244, 198, 93, .07) !important; }
body.th-luxury-dark tr:nth-child(even) td { background: rgba(255, 255, 255, .018) !important; }

/* Footer and CTA repair */
body.th-luxury-dark .footer:is(.th-pair-signature-white, .th-pair-aurora-glass, .th-pair-editorial-luxe, .th-pair-neo-grid, .th-pair-studio-blue) {
  color: var(--th-lux-muted) !important;
  border-top: 1px solid var(--th-lux-line) !important;
  background:
    radial-gradient(circle at 86% 12%, rgba(61, 135, 216, .13), transparent 24rem),
    linear-gradient(145deg, #0a1422, #101f31 52%, #0c1726) !important;
}

body.th-luxury-dark .footer :is(h2, h3, h4, strong) { color: var(--th-lux-text) !important; }
body.th-luxury-dark .footer :is(p, .copy, .footer-note) { color: var(--th-lux-muted) !important; }
body.th-luxury-dark .footer a:not(.th-next-footer-stage > a) { color: #c6d5e6 !important; }
body.th-luxury-dark .footer a:not(.th-next-footer-stage > a):hover { color: var(--th-lux-gold-bright) !important; }

body.th-luxury-dark .footer .footer-pill {
  color: #f4dfaa !important;
  border-color: rgba(244, 198, 93, .28) !important;
  background: rgba(244, 198, 93, .075) !important;
}

body.th-luxury-dark .footer .footer-bottom { border-color: var(--th-lux-line) !important; }

body.th-luxury-dark .footer .th-next-footer-stage {
  color: var(--th-lux-text) !important;
  border: 1px solid rgba(196, 215, 238, .13) !important;
  background:
    radial-gradient(circle at 82% 20%, rgba(244, 198, 93, .14), transparent 18rem),
    linear-gradient(120deg, #132943, #193b5d 56%, #11243a) !important;
  box-shadow: 0 24px 65px rgba(0, 0, 0, .27), inset 0 1px 0 rgba(255, 255, 255, .055) !important;
}

body.th-luxury-dark .footer .th-next-footer-stage :is(small, .th-next-footer-proof) { color: #b9cade !important; }

html body.th-luxury-dark .footer .th-next-footer-stage > a {
  min-width: 164px !important;
  min-height: 50px !important;
  padding: 13px 21px !important;
  color: #142039 !important;
  border: 1px solid rgba(255, 231, 169, .74) !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg, var(--th-lux-gold-bright), var(--th-lux-gold-deep)) !important;
  box-shadow: 0 13px 32px rgba(217, 154, 34, .27), inset 0 1px 0 rgba(255, 255, 255, .65) !important;
  font-weight: 850 !important;
  transform: none !important;
}

html body.th-luxury-dark .footer .th-next-footer-stage > a:hover {
  color: #081526 !important;
  filter: brightness(1.06);
  transform: translateY(-2px) !important;
}

body.th-luxury-dark .th-back-to-top {
  color: #142039 !important;
  border: 1px solid rgba(255, 231, 169, .7) !important;
  background: linear-gradient(145deg, var(--th-lux-gold-bright), var(--th-lux-gold-deep)) !important;
  box-shadow: 0 13px 32px rgba(217, 154, 34, .26) !important;
}

@media (max-width: 900px) {
  body.th-luxury-dark .site-header:is(.th-pair-signature-white, .th-pair-aurora-glass, .th-pair-editorial-luxe, .th-pair-neo-grid, .th-pair-studio-blue) {
    background: rgba(11, 24, 40, .97) !important;
  }

  body.th-luxury-dark .th-mobile-bottom-nav {
    color: var(--th-lux-muted) !important;
    border-top-color: rgba(190, 211, 236, .16) !important;
    background: rgba(10, 21, 35, .96) !important;
    box-shadow: 0 -15px 38px rgba(0, 0, 0, .27), inset 0 1px 0 rgba(255, 255, 255, .04) !important;
    backdrop-filter: blur(18px) saturate(1.2) !important;
  }

  body.th-luxury-dark .th-mobile-bottom-nav > a {
    color: var(--th-lux-muted) !important;
    background: transparent !important;
  }

  body.th-luxury-dark .th-mobile-bottom-nav > a:is(:hover, :focus-visible, .is-active) {
    color: var(--th-lux-gold-bright) !important;
    background: rgba(244, 198, 93, .075) !important;
  }

  body.th-luxury-dark .th-mobile-bottom-nav > a.is-active:after {
    background: linear-gradient(90deg, var(--th-lux-gold-deep), var(--th-lux-gold-bright)) !important;
    box-shadow: 0 2px 10px rgba(244, 198, 93, .35);
  }

  body.th-luxury-dark .th84-search {
    border-radius: 20px !important;
  }

  body.th-luxury-dark .th84-search form > button[type="submit"] {
    width: 100% !important;
  }
}

@media (max-width: 560px) {
  body.th-luxury-dark :is(.panel, .tutor-card, .th-card, .th-view-card, .th-role-card, .th-reg-formcard, .th-contact-card, .th-about-card, .th-about-mission, .th-search-filter-card) {
    border-radius: 18px !important;
  }

  body.th-luxury-dark :is(.btn, .th-role-cta, .th84-green, .th-reference-cta, button[type="submit"], input[type="submit"]) {
    min-height: 48px;
    border-radius: 13px !important;
  }

  html body.th-luxury-dark .footer .th-next-footer-stage > a {
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.th-luxury-dark *, body.th-luxury-dark *:before, body.th-luxury-dark *:after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}
