/* Light brand treatment for the same component structure. No site-specific layout. */
body.theme-light {
  --site-bg-warm: var(--public-bg);
  --site-bg-accent: var(--public-bg);
  --site-bg-card: var(--public-surface);
  --site-bg-card-hover: var(--public-bg);
  --site-primary-light: var(--public-primary);
  --site-primary-soft: color-mix(in srgb, var(--public-primary) 8%, transparent);
  --site-primary-soft-15: color-mix(in srgb, var(--public-primary) 15%, transparent);
  --site-sage: var(--public-primary);
  --site-sage-light: var(--public-primary);
  --site-sage-soft: var(--site-primary-soft);
  --site-gold: var(--public-accent);
  --site-gold-light: var(--public-accent);
  --site-gold-soft: color-mix(in srgb, var(--public-accent) 15%, transparent);
  --site-border-light: var(--public-border);
  --site-border-dark: var(--public-border);
  --site-shadow-sm: 0 1px 3px #0000000f;
  --site-shadow-md: 0 4px 12px #00000014;
  --site-shadow-lg: 0 8px 24px #0000001a;
  --site-shadow-card: 0 2px 8px #0000000d;
  --site-v2-bordeaux: var(--public-primary);
  --site-v2-bordeaux-deep: var(--public-dark);
  --site-v2-silk: var(--public-heading);
  --site-v2-silk-soft: var(--public-text);
  --site-v2-charcoal: var(--public-bg);
  --site-v2-copy: var(--public-text);
  --site-v2-muted: var(--public-muted);
  --site-v2-heading: var(--public-heading);
  --site-v2-border: var(--public-border);
  --site-v2-brand: var(--public-primary);
  --site-v2-brand-dark: var(--public-dark);
  --site-v2-brand-soft: var(--site-primary-soft-15);
  --site-v2-panel: var(--public-surface);
  --site-v2-panel-soft: var(--public-surface);
  --site-v2-panel-alt: var(--public-bg);
  --site-v2-glow: var(--site-primary-soft);
  --site-hero-cream: var(--public-heading);
  --site-hero-gold: var(--public-accent);
  --site-hero-line: var(--public-border);
  --site-hero-muted: var(--public-muted);
  --site-hero-panel-strong: var(--public-surface);
  --site-hero-sage: var(--public-primary);
  --site-home-surface: var(--public-surface);
  --site-home-surface-strong: var(--public-surface);
  --site-scrollbar-track: var(--public-bg);
  --site-scrollbar-track-strong: var(--public-bg);
  --site-scrollbar-thumb: var(--public-primary);
  --site-scrollbar-thumb-horizontal: var(--public-primary);
  --site-scrollbar-thumb-hover: var(--public-dark);
  --site-scrollbar-thumb-border: var(--public-border);
  --site-scrollbar-corner: var(--public-bg);
  --site-theme-surface-color: var(--public-surface);
  --site-theme-surface-strong-color: var(--public-surface);
  --site-theme-surface-soft-color: var(--public-bg);
  --site-theme-strip-bg: var(--public-surface);
  --site-theme-field-hover-bg: var(--public-bg);
  --site-theme-secondary-bg: var(--public-surface);
  --site-theme-secondary-hover-bg: var(--public-bg);
  --site-theme-menu-hover-bg: var(--public-bg);
  --site-theme-menu-active-bg: var(--site-primary-soft-15);
  --site-theme-menu-cta-bg: var(--public-primary);
  --site-theme-menu-cta-color: #fff;
  --site-theme-menu-referral-bg: var(--public-bg);
  --site-theme-border-strong: var(--public-primary);
  --site-theme-shadow: var(--site-shadow-lg);
  --site-theme-focus: var(--site-primary-soft-15);
  --nav-icon-color: var(--public-text);
  --nav-icon-hover: var(--public-dark);
  --nav-icon-soft: color-mix(in srgb, var(--public-primary) 12%, transparent);
  --nav-badge-bg: var(--public-primary);
  --nav-badge-fg: #fff;
  --nav-badge-border: color-mix(in srgb, #fff 28%, transparent);
  --nav-badge-shadow: 0 4px 14px color-mix(in srgb, var(--public-primary) 30%, transparent);
  --font-heading: var(--public-font);
  --font-body: var(--public-body);
  --site-primary: var(--public-primary);
  --site-primary-dark: var(--public-dark);
  --site-text: var(--public-text);
  --site-text-secondary: var(--public-text);
  --site-text-muted: var(--public-muted);
  --site-heading: var(--public-heading);
  --site-border: var(--public-border);
  --site-bg: var(--public-bg);
  --site-theme-bg-base: var(--public-bg);
  --site-theme-page-bg: var(--public-bg);
  --site-theme-header-bg: var(--public-surface);
  --site-theme-header-bg-scrolled: var(--public-surface);
  --site-theme-footer-bg: var(--public-surface);
  --site-theme-surface-bg: var(--public-surface);
  --site-theme-surface-soft-bg: var(--public-bg);
  --site-theme-surface-strong-bg: var(--public-surface);
  --site-theme-field-bg: var(--public-surface);
  --site-theme-inset-bg: var(--public-bg);
  --site-theme-primary-bg: var(--public-primary);
  --site-theme-primary-hover-bg: var(--public-dark);
  --site-theme-border: var(--public-border);
  --site-theme-border-soft: var(--public-border);
  --app-tooltip-border: color-mix(in srgb, var(--public-accent) 62%, transparent);
  --app-tooltip-background: linear-gradient(145deg, var(--public-dark), var(--public-primary));
  --app-tooltip-arrow: var(--public-primary);
  --app-tooltip-text: #ffffff;
  --app-tooltip-shadow: 0 12px 30px color-mix(in srgb, var(--public-dark) 34%, transparent);
  color: var(--public-text);
  background: var(--public-bg);
  font-family: var(--public-body);
  color-scheme: light;
}
body.theme-light :is(h1, h2, h3, h4, h5, h6) {
  color: var(--public-heading);
  font-family: var(--public-font);
}
body.theme-light a { color: var(--public-primary); }
body.theme-light a:hover { color: var(--public-dark); }
body.theme-light :is(input, select, textarea) {
  color: var(--public-text);
  background: var(--public-surface);
  border-color: var(--public-border);
  font-family: var(--public-body);
}
body.theme-light :is(input, textarea)::placeholder { color: var(--public-muted); }
body.theme-light :is(.site-faq-public-section, .site-faq-public-hero-card, .site-contact-grid article) {
  background: var(--public-surface);
}
body.theme-light :is(.site-faq-public-item, .site-faq-public-pill, .site-faq-public-nav a) {
  border: 1px solid var(--public-border);
  background: var(--public-bg);
}
body.theme-light .site-faq-public-item[open] { border-color: var(--public-primary); }
body.theme-light :is(.site-header, .site-footer) { font-family: var(--public-body); }
body.theme-light .site-hero-card-label {
  color: white;
  background: #171b14d9;
  border-color: #ffffff45;
}
body.theme-light .site-hero-score-badge {
  background: var(--public-surface);
  border-radius: 50%;
  padding: .35rem;
}
body.theme-light :is(.site-hero-topline, .site-hero-proof-list span, .site-hero-kpi) {
  border-color: var(--public-border);
}
body.theme-light :is(.site-header, .site-footer, .site-public-hero, .site-public-stats article, .site-public-table-wrap, .site-public-table td, .site-public-cta, .site-contact-dialog, .site-nav--mobile, .site-nav-dropdown__panel) {
  color: var(--public-text);
  background: var(--public-surface);
  border-color: var(--public-border);
}
body.theme-light :is(.site-public-hero p, .site-public-stats span, .site-public-cta p, .site-public-table .col-name strong, .site-public-results-count, .site-results-toolbar label, .site-header, .site-footer, .site-footer a, .site-footer-name, .site-footer-copy) {
  color: var(--public-text);
}
body.theme-light .site-header a.site-nav-link--featured,
body.theme-light .site-public-kicker { color: var(--public-primary); }
body.theme-light .site-header .site-logo-icon { background: transparent; }
body.theme-light :is(.site-public-table thead, .site-public-table th) {
  background: var(--public-primary);
  color: white;
}
body.theme-light .site-public-table tbody tr:hover { background: var(--public-bg); }
body.theme-light :is(.site-btn-primary, .site-results-pagination__page.is-current) { background: var(--public-primary); color: white; border-color: var(--public-primary); }
body.theme-light :is(.site-btn-ghost, .site-results-pagination a, .site-results-toolbar select) { background: var(--public-surface); color: var(--public-text); border-color: var(--public-border); }
body.theme-light .site-profile-dialog {
  --site-profile-bg: var(--public-bg);
  --site-profile-panel: var(--public-surface);
  --site-profile-panel-alt: var(--public-surface);
  --site-profile-text: var(--public-text);
  --site-profile-text-soft: var(--public-muted);
  --site-profile-muted: var(--public-muted);
  --site-profile-border: var(--public-border);
  color-scheme: light;
}

/* Shared editorial component palette. */
body.theme-light {
  --news-bg: var(--public-bg);
  --news-text: var(--public-text);
  --news-heading: var(--public-heading);
  --news-accent: var(--public-primary);
  --news-muted: var(--public-muted);
  --news-language: var(--public-muted);
  --news-surface: var(--public-surface);
  --news-border: var(--public-border);
  --news-date: var(--public-muted);
  --news-rule: var(--public-border);
  --news-field-border: var(--public-border);
  --news-byline: var(--public-muted);
  --news-prose: var(--public-text);
  --news-quote-border: var(--public-border);
  --portrait-border: var(--public-border);
  --portrait-location-border: var(--public-border);
  --portrait-photo-shade: #160b13b3;
  --portrait-rule: var(--public-border);
  --portrait-link-underline: var(--public-border);
  --portrait-details-rule: var(--public-border);
  --portrait-accent: var(--public-primary);
  --portrait-text: var(--public-text);
  --portrait-glow: var(--public-bg);
  --portrait-bg: var(--public-bg);
  --portrait-hero: var(--public-surface);
  --portrait-topline: var(--public-muted);
  --portrait-heading: var(--public-heading);
  --portrait-summary: var(--public-text);
  --portrait-byline: var(--public-muted);
  --portrait-photo-caption: #fff4e6;
  --portrait-facts: var(--public-surface);
  --portrait-label: var(--public-muted);
  --portrait-value: var(--public-text);
  --portrait-button: var(--public-primary);
  --portrait-button-hover: var(--public-dark);
  --portrait-number: var(--public-primary);
  --portrait-prose: var(--public-text);
  --portrait-subheading: var(--public-heading);
  --portrait-link: var(--public-primary);
  --portrait-caption: var(--public-muted);
  --portrait-quote: var(--public-heading);
  --portrait-summary-heading: var(--public-heading);
  --portrait-share: var(--public-muted);
  --producers-card-border: var(--public-border);
  --producers-card-hover-border: var(--public-primary);
  --producers-rule: var(--public-border);
  --producers-control-bg: var(--public-surface);
  --producers-control-hover: var(--public-bg);
  --producers-intro: var(--public-muted);
  --producers-placeholder: var(--public-muted);
  --producers-control-text: var(--public-text);
  --producers-control-border: var(--public-border);
  --producers-disabled: var(--public-muted);
  --producers-body-muted: var(--public-muted);
  --producers-card-start: var(--public-surface);
  --producers-card-end: var(--public-surface);
  --producers-heading: var(--public-heading);
  --producers-meta: var(--public-muted);
  --producers-summary: var(--public-text);
  --producers-link: var(--public-primary);
  --producers-selected-start: var(--public-primary);
  --producers-selected-end: var(--public-dark);
  --portrait-font: var(--public-font);
  --producers-font: var(--public-font);
}

/* Image captions need their own contrast, independently of the page palette. */
.theme-light .site-method-hero-media figcaption {
  color: #fff;
  background: linear-gradient(0deg, #000b, transparent);
  text-shadow: 0 1px 3px #000;
}
.site-testimonial-pause { background: transparent; color: inherit; border: 1px solid currentColor; border-radius: 999px; padding: .3rem .7rem; margin-top: .75rem; font: inherit; cursor: pointer; }
.password-visibility-slash { display: none; }
.site-password-toggle.is-visible .password-visibility-slash { display: block; }

/* Account structure uses each brand's own type and controls. */
body.theme-light .site-auth-brand-title,
body.theme-light .site-auth-trust-strip strong,
body.theme-light .site-auth-login-highlight > strong {
  font-family: var(--public-font);
}
body.theme-light .site-btn-auth:not(.site-btn-outline) {
  background: var(--public-dark);
  color: #fff;
  border-color: var(--public-dark);
}
body.theme-light .site-btn-auth.site-btn-outline {
  background: var(--public-surface);
  color: var(--public-dark);
  border-color: var(--public-dark);
}
body.theme-light .site-auth-trust-strip > span,
body.theme-light .site-auth-benefits li,
body.theme-light .site-auth-benefits h3 {
  border-color: var(--public-border);
  background: var(--public-surface);
}
body.theme-light .site-auth-form .site-input:focus {
  border-color: var(--public-primary);
  box-shadow: 0 0 0 3px var(--site-primary-soft-15);
}
