/* Public appearance controls; the operations/admin interface keeps its own theme.
   Dark selectors outrank page-specific rules, including model CSS loaded later. */
.public-site .theme-control { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding-block: 22px; }
.public-site .theme-control[hidden] { display: none; }
.public-site .theme-control label { color: #c3ccce; font-size: .8rem; }
.public-site .theme-control select { min-height: 44px; padding: 8px 30px 8px 12px; border: 1px solid #526164; border-radius: 8px; background: #223039; color: #f3f5f4; color-scheme: dark; font: inherit; font-size: .85rem; }
.public-site .theme-control select:focus-visible { outline: 3px solid #77e0ce; outline-offset: 3px; }
html[data-theme="light"] { color-scheme: light; }
html[data-theme="dark"] { color-scheme: dark;
  --graphite: #f0f4f3; --ink: #f0f4f3; --ink-soft: #d0dad7;
  --paper: #141a1d; --surface: #101619; --surface-soft: #202b2d;
  --muted: #afbbb7; --line: #405053;
  --accent: #5dd6c4; --accent-dark: #77e0ce; --accent-soft: #183c36;
  --warning: #ffabb7; --warning-dark: #ffc0c9; --warning-soft: #3c2229;
  --shadow: 0 22px 60px rgba(0,0,0,.25); }
html[data-theme="dark"] .public-site.public-site.public-site :where(.site-header) { background: rgba(20,26,29,.96); }
html[data-theme="dark"] .public-site.public-site.public-site :where(.page-hero,.hero-section::before) { background: var(--surface); }
html[data-theme="dark"] .public-site.public-site.public-site :where(.home-device-link,.process-steps li,.process-delivery-card,.about-principles article,.about-independent,.contact-channel,.contact-shipping-terms,.group-series,.group-assurance,.group-search input,.model-hero,.model-information,.repair-group,.repair-option,.public-request-form,.request-device-card,.request-next-steps,.delivery-choice,.request-side-panel article,.request-device-selection,.request-repair-choice,.request-empty-options,.request-temp-photo,.request-success-card,.cookie-banner,.cookie-preferences-card,.model-link-card,.process-grid article,.service-card,.principle-list article,.empty-price-state,.model-selector,.model-selector select,.trust-strip,.guide-card) { background: #1b2427; border-color: var(--line); }
html[data-theme="dark"] .public-site.public-site.public-site :where(.public-form-field input:not([type="checkbox"]):not([type="radio"]),.public-form-field select,.public-form-field textarea) { background: #141c1f; border-color: #566a6e; color: var(--ink); }
html[data-theme="dark"] .public-site.public-site.public-site :where(input,textarea)::placeholder { color: #9eafaa; opacity: 1; }
html[data-theme="dark"] .public-site.public-site.public-site :where(.repair-catalog-section,.model-finder-section,.service-principle) { background: var(--paper); }
html[data-theme="dark"] .public-site.public-site.public-site :where(.repair-option-list) { background: #111a1d; }
html[data-theme="dark"] .public-site.public-site.public-site :where(.repair-expanded-details,.model-spec-list span,.request-summary-card) { background: var(--surface-soft); }
html[data-theme="dark"] .public-site.public-site.public-site :where(.process-promise,.about-promise,.contact-request-card,.stock-inquiry-card,.model-hero-assurances li,.guide-answer) { background: #18302d; border-color: #385b53; }
html[data-theme="dark"] .public-site.public-site.public-site :where(.process-promise-mark) { background: #244a42; }
html[data-theme="dark"] .public-site.public-site.public-site :where(.repair-group[open] > summary) { background: #223a35; }
html[data-theme="dark"] .public-site.public-site.public-site :where(.home-device-link:hover,.contact-channel:hover,.group-model-link:hover) { background: #203632; }
html[data-theme="dark"] .public-site.public-site.public-site :where(.button-primary,.skip-link) { background: #5dd6c4; color: #102622 !important; box-shadow: none; }
html[data-theme="dark"] .public-site.public-site.public-site :where(.button-primary:hover) { background: #77e0ce; }
html[data-theme="dark"] .public-site.public-site.public-site :where(.button-secondary) { border-color: #668c84; }
html[data-theme="dark"] .public-site.public-site.public-site :where(.button-secondary:hover) { background: #203632; }
html[data-theme="dark"] .public-site.public-site.public-site :where(.button-light) { background: #e5f4ef; color: #172126 !important; }
html[data-theme="dark"] .public-site.public-site.public-site :where(.button-link-danger) { color: #ffabb7; }
html[data-theme="dark"] .public-site.public-site.public-site :where(.request-step-progress button span) { background: #243330; }
html[data-theme="dark"] .public-site.public-site.public-site :where(.public-form-error-summary) { background: #3c2229; border-color: #aa6672; color: #ffc0c9; }
html[data-theme="dark"] .public-site.public-site.public-site :where(.success-mark,.check-list li::before) { background: #5dd6c4; color: #102622; }
html[data-theme="dark"] .public-site.public-site.public-site :where(.model-note-warning,.guide-warning) { background: #352b20; border-color: #806745; }
html[data-theme="dark"] .public-site.public-site.public-site :where(.model-mobile-action) { background: rgba(20,26,29,.98); }
html[data-theme="dark"] .public-site.public-site.public-site :where(.final-cta) { background: #183c36; }
html[data-theme="dark"] .public-site.public-site.public-site :where(.site-footer) { background: #0d1316; }
html[data-theme="dark"] .public-site.public-site.public-site :where(.footer-bottom p) { color: #a8b5b0; }
html[data-theme="dark"] .public-site.public-site.public-site :where(.rich-content a) { color: var(--accent-dark); }
html[data-theme="dark"] .public-site.public-site.public-site :where(.group-search input) { border-color: #566a6e; }
html[data-theme="dark"] .public-site.public-site.public-site :where(.model-device-visual) { background: #f7f8fa; border-color: #526164; }
html[data-theme="dark"] .public-site.public-site.public-site :where(.model-device-visual svg) { stroke: #15191c; }
html[data-theme="dark"] .public-site.public-site.public-site :where(.model-device-visual > span) { color: #30373c; }
html[data-theme="dark"] .public-site.public-site.public-site :where(.public-field-error::before) { background: #ffabb7; color: #331018; }
html[data-theme="dark"] .public-site.public-site.public-site :where([aria-invalid="true"],.has-error input,.has-error select,.has-error textarea) { border-color: #ffabb7; }
html[data-theme="dark"] body.public-site.model-page { --paper: #141a1d; --line: #405053; }

/* System appearance still works when JavaScript is disabled. */
@media (prefers-color-scheme: dark) {
html:not([data-theme]) { color-scheme: dark;
  --graphite: #f0f4f3; --ink: #f0f4f3; --ink-soft: #d0dad7;
  --paper: #141a1d; --surface: #101619; --surface-soft: #202b2d;
  --muted: #afbbb7; --line: #405053;
  --accent: #5dd6c4; --accent-dark: #77e0ce; --accent-soft: #183c36;
  --warning: #ffabb7; --warning-dark: #ffc0c9; --warning-soft: #3c2229;
  --shadow: 0 22px 60px rgba(0,0,0,.25); }
html:not([data-theme]) .public-site.public-site.public-site :where(.site-header) { background: rgba(20,26,29,.96); }
html:not([data-theme]) .public-site.public-site.public-site :where(.page-hero,.hero-section::before) { background: var(--surface); }
html:not([data-theme]) .public-site.public-site.public-site :where(.home-device-link,.process-steps li,.process-delivery-card,.about-principles article,.about-independent,.contact-channel,.contact-shipping-terms,.group-series,.group-assurance,.group-search input,.model-hero,.model-information,.repair-group,.repair-option,.public-request-form,.request-device-card,.request-next-steps,.delivery-choice,.request-side-panel article,.request-device-selection,.request-repair-choice,.request-empty-options,.request-temp-photo,.request-success-card,.cookie-banner,.cookie-preferences-card,.model-link-card,.process-grid article,.service-card,.principle-list article,.empty-price-state,.model-selector,.model-selector select,.trust-strip,.guide-card) { background: #1b2427; border-color: var(--line); }
html:not([data-theme]) .public-site.public-site.public-site :where(.public-form-field input:not([type="checkbox"]):not([type="radio"]),.public-form-field select,.public-form-field textarea) { background: #141c1f; border-color: #566a6e; color: var(--ink); }
html:not([data-theme]) .public-site.public-site.public-site :where(input,textarea)::placeholder { color: #9eafaa; opacity: 1; }
html:not([data-theme]) .public-site.public-site.public-site :where(.repair-catalog-section,.model-finder-section,.service-principle) { background: var(--paper); }
html:not([data-theme]) .public-site.public-site.public-site :where(.repair-option-list) { background: #111a1d; }
html:not([data-theme]) .public-site.public-site.public-site :where(.repair-expanded-details,.model-spec-list span,.request-summary-card) { background: var(--surface-soft); }
html:not([data-theme]) .public-site.public-site.public-site :where(.process-promise,.about-promise,.contact-request-card,.stock-inquiry-card,.model-hero-assurances li,.guide-answer) { background: #18302d; border-color: #385b53; }
html:not([data-theme]) .public-site.public-site.public-site :where(.process-promise-mark) { background: #244a42; }
html:not([data-theme]) .public-site.public-site.public-site :where(.repair-group[open] > summary) { background: #223a35; }
html:not([data-theme]) .public-site.public-site.public-site :where(.home-device-link:hover,.contact-channel:hover,.group-model-link:hover) { background: #203632; }
html:not([data-theme]) .public-site.public-site.public-site :where(.button-primary,.skip-link) { background: #5dd6c4; color: #102622 !important; box-shadow: none; }
html:not([data-theme]) .public-site.public-site.public-site :where(.button-primary:hover) { background: #77e0ce; }
html:not([data-theme]) .public-site.public-site.public-site :where(.button-secondary) { border-color: #668c84; }
html:not([data-theme]) .public-site.public-site.public-site :where(.button-secondary:hover) { background: #203632; }
html:not([data-theme]) .public-site.public-site.public-site :where(.button-light) { background: #e5f4ef; color: #172126 !important; }
html:not([data-theme]) .public-site.public-site.public-site :where(.button-link-danger) { color: #ffabb7; }
html:not([data-theme]) .public-site.public-site.public-site :where(.request-step-progress button span) { background: #243330; }
html:not([data-theme]) .public-site.public-site.public-site :where(.public-form-error-summary) { background: #3c2229; border-color: #aa6672; color: #ffc0c9; }
html:not([data-theme]) .public-site.public-site.public-site :where(.success-mark,.check-list li::before) { background: #5dd6c4; color: #102622; }
html:not([data-theme]) .public-site.public-site.public-site :where(.model-note-warning,.guide-warning) { background: #352b20; border-color: #806745; }
html:not([data-theme]) .public-site.public-site.public-site :where(.model-mobile-action) { background: rgba(20,26,29,.98); }
html:not([data-theme]) .public-site.public-site.public-site :where(.final-cta) { background: #183c36; }
html:not([data-theme]) .public-site.public-site.public-site :where(.site-footer) { background: #0d1316; }
html:not([data-theme]) .public-site.public-site.public-site :where(.footer-bottom p) { color: #a8b5b0; }
html:not([data-theme]) .public-site.public-site.public-site :where(.rich-content a) { color: var(--accent-dark); }
html:not([data-theme]) .public-site.public-site.public-site :where(.group-search input) { border-color: #566a6e; }
html:not([data-theme]) .public-site.public-site.public-site :where(.model-device-visual) { background: #f7f8fa; border-color: #526164; }
html:not([data-theme]) .public-site.public-site.public-site :where(.model-device-visual svg) { stroke: #15191c; }
html:not([data-theme]) .public-site.public-site.public-site :where(.model-device-visual > span) { color: #30373c; }
html:not([data-theme]) .public-site.public-site.public-site :where(.public-field-error::before) { background: #ffabb7; color: #331018; }
html:not([data-theme]) .public-site.public-site.public-site :where([aria-invalid="true"],.has-error input,.has-error select,.has-error textarea) { border-color: #ffabb7; }
html:not([data-theme]) body.public-site.model-page { --paper: #141a1d; --line: #405053; }
}
