/* Website-only tokens and explicit surfaces. Employee/account themes are separate. */
html[data-site-theme] { color-scheme: light; }
html[data-site-theme=dark] {
  color-scheme: dark;
  --site-bg: #101f29; --site-panel: #192d39; --site-soft: #213947;
  --site-text: #e2edf1; --site-strong: #f1f7f9; --site-muted: #b3c8d1; --site-line: #3b5664;
  --primary: #61d0d8; --primary-dark: #87e2e8; --secondary: #f1f7f9;
  --btn-bg: #0c747e; --btn-hover: #0b5c64;
  --bg-main: var(--site-bg); --bg-white: var(--site-panel); --text-main: var(--site-text); --text-muted: var(--site-muted); --border: var(--site-line);
  --glass-bg: rgba(25,45,57,.88); --glass-border: #3b5664;
  --petrol-dark: #87e2e8; --navy: var(--site-strong); --paper: var(--site-panel); --surface: var(--site-bg); --surface-strong: var(--site-soft); --text: var(--site-text); --muted: var(--site-muted); --line: var(--site-line);
  --shadow-soft: 0 10px 40px -10px rgba(0,0,0,.25); --shadow: 0 24px 70px rgba(0,0,0,.22);
  --ui-text: var(--site-text); --ui-text-strong: var(--site-strong); --ui-glass-solid: var(--site-panel); --ui-line: var(--site-line); --ui-field: var(--site-soft); --ui-accent: #61d0d8; --ui-backdrop: rgba(3,12,19,.7);
}
.site-theme-switch { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 7px; width: 104px; min-width: 104px; min-height: 44px; flex: 0 0 104px; margin: 0; padding: 4px; border: 0; border-radius: 12px; color: #07545b; cursor: pointer; line-height: 1; }
.site-theme-switch svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 18px; }
.site-theme-switch input { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.site-theme-track { width: 44px; height: 25px; flex: 0 0 44px; border: 1px solid #90b7bd; border-radius: 99px; background: #d7ebed; transition: background .18s; }
.site-theme-track::before { content: ''; display: block; width: 19px; height: 19px; margin: 2px; border-radius: 50%; background: #fff; box-shadow: 0 1px 4px rgba(6,42,46,.3); transition: transform .18s; }
.site-theme-switch input:checked + .site-theme-track { background: #126d78; border-color: #61d0d8; }
.site-theme-switch input:checked + .site-theme-track::before { transform: translateX(19px); }
.site-theme-switch:has(input:focus-visible) { outline: 3px solid #1598a3; outline-offset: 3px; }
.site-theme-mobile { display: none; margin-left: auto; margin-right: 12px; }
.site-theme-menu { align-self: center; }
html[data-site-theme] #navbar.has-site-theme .nav-inner { max-width: 1440px; }
html[data-site-theme] #navbar.has-site-theme .nav-links { gap: 16px; }
html[data-site-theme] #navbar.has-site-theme .nav-buttons { gap: 8px; margin-left: 0; }
html[data-site-theme] :is(.nav-buttons,.site-nav-actions)>a { white-space: nowrap; }
/* Leave room for the extra control before the existing navigation wraps. */
@media (max-width: 1280px) {
  html[data-site-theme] #navbar.has-site-theme .nav-links, html[data-site-theme] .site-navbar.has-site-theme .site-nav-links { display: none; }
  html[data-site-theme] #navbar.has-site-theme .menu-toggle { display: block; }
  html[data-site-theme] .site-navbar.has-site-theme .site-menu-toggle { display: grid; }
  .site-theme-mobile { display: inline-flex; }
}
html[data-site-theme=dark] body { background: var(--site-bg); color: var(--site-text); }
html[data-site-theme=dark] :is(#navbar,.site-navbar,.lead-header) { background: rgba(16,31,41,.96); border-color: var(--site-line); }
html[data-site-theme=dark] :is(.logo,.site-logo,.lead-logo,.menu-toggle,.site-menu-toggle,.site-menu-close,.menu-close,.mobile-menu-logo,.site-mobile-links>a:not(.site-nav-button),.site-nav-links>a:not(.site-nav-button)) { color: var(--site-strong); }
html[data-site-theme=dark] .site-theme-switch { color: #87e2e8; }
html[data-site-theme=dark] .skip-link { background: #0b1822; color: #fff; }
html[data-site-theme=dark] :is(.ticker-track,.ticker-track-slow) img { padding: 10px; border-radius: 12px; background: #fff; filter: none; }
html[data-site-theme=dark] .slide-logo { padding: 8px; border-radius: 10px; background: #fff; }
html[data-site-theme=dark] .site-theme-track { background: #213947; border-color: #678a9c; }
html[data-site-theme=dark] :is(.mobile-menu,.site-mobile-menu,.mobile-menu-footer,.site-mobile-contact) { background: var(--site-panel); border-color: var(--site-line); }
html[data-site-theme=dark] :is(.mobile-quick-action,.site-mobile-action) { background: var(--site-soft); border-color: var(--site-line); color: var(--site-text); }
html[data-site-theme=dark] :is(.btn-nav-shop,.site-nav-shop,.shop-cart-button) { background: #213947; color: #f1f7f9 !important; border-color: var(--site-line); }
html[data-site-theme=dark] :is(.btn-nav-check,.site-nav-check) { background: #24434c; color: #abedf1 !important; border-color: #4e8d98; }
html[data-site-theme=dark] :is(.btn-nav-check,.site-nav-check):hover { background: #305963; }
html[data-site-theme=dark] :is(.bg-dark,footer#support,.site-footer,.legal-action-box) { background: #0b1822; }
html[data-site-theme=dark] :is(.cta-banner,.career-cta,.einvoice-cta) { background: linear-gradient(135deg,#126d78,#0b1822); }
html[data-site-theme=dark] :is(.cta-banner,.career-cta,.einvoice-cta) .btn { background: #edf8fa !important; color: #123641 !important; }
html[data-site-theme=dark] :is(.glass-card:hover,.slider-container,.legal-content,.legal-toc,.legal-section,.service-card,.service-block,.legal-company-card,.legal-summary>div,.career-card,.career-job,.career-open-application,.einvoice-card,.einvoice-benefit,.signo-notice,.order-form,.package-card,.lead-form,.cookie-card,.portal-player-shell,.portal-video-card,.portal-sidebar) { background: var(--site-panel); border-color: var(--site-line); }
html[data-site-theme=dark] :is(.career-section--soft,.einvoice-section--soft,.signo-section--soft,.setup-fee,.legal-notice,.legal-clause,.service-facts>div,.cookie-accordion,.cookie-accordion-header,.cookie-accordion-desc,.package-select,.lead-consent,.interest-card,.quiz-head,.choice,.chip-grid label span,.recommendation,.dimension,.recommendation-group,.report-preview) { background: var(--site-soft); border-color: var(--site-line); color: var(--site-text); }
html[data-site-theme=dark] :is(.legal-hero,.legal-main) { background: var(--site-bg); }
html[data-site-theme=dark] :is(.legal-summary strong,.legal-section h2,.legal-section h3,.legal-section h4,.service-card h3,.cookie-title,.cookie-logo,.cookie-acc-title,.cookie-accordion-header,.legal-clause strong) { color: var(--site-strong); }
html[data-site-theme=dark] :is(.service-block-head p,.service-facts span,.cookie-text,.dsgvo-footer-links,.cookie-accordion-desc,.cookie-close,.portal-youtube-note) { color: var(--site-muted); }
html[data-site-theme=dark] :is(.legal-section-number,.legal-kicker,.service-badge,.hero-badge) { background: #24434c; color: #abedf1; }
html[data-site-theme=dark] :is(.calendar-graphic,.cal-body) { background: var(--site-panel); }
html[data-site-theme=dark] :is(.cal-hole,.legal-toc a:hover,.cookie-table th,.cookie-table tbody tr:nth-child(even)) { background: var(--site-soft); }
html[data-site-theme=dark] :is(input:not([type=checkbox]):not([type=radio]),select,textarea,.db-select-trigger,.db-select-menu,.db-select-option):not(:where(#snipcart *)) { background: var(--site-soft); color: var(--site-text); border-color: var(--site-line); }
html[data-site-theme=dark] :is(input,textarea):not(:where(#snipcart *))::placeholder { color: #a5bec9; opacity: 1; }
html[data-site-theme=dark] :is(.db-select-option:hover,.db-select-option.active,.interest-card:has(input:checked),.choice:has(input:checked),.chip-grid input:checked+span) { background: #305963; color: var(--site-strong); border-color: #61d0d8; }
html[data-site-theme=dark] :is(.db-select-option,.choice-title,.choice strong,.chip-grid label span,.option-description) { color: var(--site-text); }
html[data-site-theme=dark] :is(.btn-secondary,.button-secondary,.dsgvo-btn-secondary) { background: var(--site-soft); color: var(--site-text); border-color: var(--site-line); }
html[data-site-theme=dark] :is(.dsgvo-btn-primary,.button-primary) { background: #0c747e; color: #fff; }
html[data-site-theme=dark] .package-card.is-selected { border-color: #61d0d8; }
html[data-site-theme=dark] .package-card.is-selected .package-select { background: #0c747e; color: #fff; }
html[data-site-theme=dark] .quiz-actions { background: linear-gradient(180deg,transparent,var(--site-panel) 24%); }
html[data-site-theme=dark] :is(.mini-score,.score-orbit) { background: radial-gradient(circle,var(--site-panel) 59%,transparent 61%),conic-gradient(var(--score-color) var(--score),#3b5664 0); }
/* Shop images and manufacturer logos keep an intentional white image canvas. */
html[data-site-theme=dark] .shop-page { --shop-ink: var(--site-strong); --shop-petrol: #87e2e8; --shop-line: var(--site-line); --shop-surface: var(--site-panel); --shop-soft: var(--site-soft); --shop-mint: #24434c; background: var(--site-bg); }
html[data-site-theme=dark] :is(.filter-btn,.shop-input,.product-details-link,.shop-empty-state,.purchase-panel,.gallery-thumb,.product-note,.product-media-badge,.product-cat) { background: var(--site-panel); border-color: var(--site-line); color: var(--site-text); }
html[data-site-theme=dark] :is(.filter-btn.active,.filter-btn:hover,.product-details-link:hover) { background: #305963; color: #f1f7f9; border-color: #61d0d8; }
html[data-site-theme=dark] :is(.product-card-desc,.product-meta .desc,.product-availability,.product-tax-note,.tax-note,.price-note,.delivery-note,.shop-result-count,.shop-empty-state p,.spec-table td,.spec-table th) { color: var(--site-muted); }
html[data-site-theme=dark] :is(.product-delivery-badge,.product-support-note) { background: #23463e; color: #b1edd2; }
html[data-site-theme=dark] :is(.spec-table tr:nth-child(even),.product-tab-content,.product-tabs) { background: var(--site-soft); }
html[data-site-theme=dark] :is(.form-status--error,.notice-error,.lead-status.error) { background: #4c2630; color: #ffc4cd; border-color: #a76773; }
html[data-site-theme=dark] :is(.form-status--success,.lead-status.success) { background: #1c4538; color: #b9f2d3; border-color: #4f9477; }
html[data-site-theme=dark] .cookie-table { border-color: var(--site-line); }
html[data-site-theme=dark] :is(.cookie-table,.service-block--modern,.withdrawal-template,.portal-library,.shop-controls,.hero-check-card) { background: var(--site-panel); }
html[data-site-theme=dark] :is(.withdrawal-template p,.legal-version,.hero-check-card .hero-check-head,.hero-check-intro>strong,.hero-check-intro>span,.hero-check-list li) { color: var(--site-text); }
html[data-site-theme=dark] :is(.hero-check-list li,.shop-result-count,.b2b-notice,.dimension-grid,.score-legend,.contact-field input,.contact-field textarea,.contact-field select) { background: var(--site-soft); color: var(--site-text); border-color: var(--site-line); }
html[data-site-theme=dark] .hero-check-result { background: #0b1822; color: var(--site-text); }
html[data-site-theme=dark] .hero-check-result small { color: var(--site-muted); }
html[data-site-theme=dark] :is(.btn-video,.product-card-primary,.legal-toc .legal-toc-action) { background: #0c747e; color: #fff; }
html[data-site-theme=dark] :is(.btn-video,.product-card-primary):hover { background: #0b5c64; color: #fff; }
html[data-site-theme=dark] .legal-kicker { background: transparent; color: #87e2e8; }
html[data-site-theme=dark] :is(.service-block-head,.contact-panel,.success-panel,.result-topic) { background: var(--site-soft); border-color: var(--site-line); }
html[data-site-theme=dark] :is(.consent-row,.contact-heading p,.withdrawal-template small) { color: var(--site-muted); }
html[data-site-theme=dark] :is(.field label b,.consent-row b,.form-status.is-error) { color: #ffb6c2; }
html[data-site-theme=dark] :is(.feature-list li,.purchase-label,.purchase-benefits>span,.specs-heading p,.specs-table th,.specs-table td) { color: var(--site-muted); }
html[data-site-theme=dark] :is(.specs-table-wrap,.specs-table th,.solution-section,.result-card,.result-list li) { background: var(--site-soft); border-color: var(--site-line); }
html[data-site-theme=dark] .result-list li { color: var(--site-text); }
html[data-site-theme=dark] .result-card-good { background: #1c3b32; }
html[data-site-theme=dark] .result-card-open { background: #403128; }
html[data-site-theme=dark] .recommendation.is-primary .recommendation-fit { background: #305963; color: #b9eff3; }
html[data-site-theme=dark] .cookie-always-active { color: #a4e7bc; }
html[data-site-theme=dark] .required { color: #ffb6c2; }
html[data-site-theme=dark] .portal-cta { background: radial-gradient(circle at 100% 0,rgba(21,152,163,.3),transparent 42%),#0b1822; }
html[data-site-theme=dark] :is(.product-buy-button,.shop-cart-count) { background: #0c747e; color: #fff; }
html[data-site-theme=dark] .product-buy-button:hover { background: #0b5c64; }
html[data-site-theme=dark] .reveal-panel > .reveal-panel-inner { background: var(--site-soft); border-color: var(--site-line); color: var(--site-text); }
html[data-site-theme=dark] .chip-grid label:has(input:checked) span { background: #305963; border-color: #61d0d8; color: #f1f7f9; }
html[data-site-theme=dark] .product-info { background: var(--site-panel); border-color: var(--site-line); }
html[data-site-theme=dark] .product-info-row { color: var(--site-muted); }
html[data-site-theme=dark] .product-info-row dd { color: var(--site-strong); }
html[data-site-theme=dark] .question-number { color: #87e2e8; }
html[data-site-theme=dark] .choice:has(input:checked) small { color: #d2e6ed; }
/* Snipcart 3.0.31 stays consistently light. Its hosted payment UI is independent. */
html[data-site-theme] #snipcart { color-scheme: light; color: #1e293b; --primary: #0f7a83; --primary-dark: #0b5c64; --secondary: #0f172a; --text-main: #1e293b; --text-muted: #475569; }
html[data-site-theme] #snipcart .snipcart-input { background: #fff; color: #1e293b; border: 1px solid #cbdadd; border-radius: 10px; }
html[data-site-theme] #snipcart .snipcart-input__input { background: transparent; color: #1e293b; font-size: 16px; border: 0; border-radius: inherit; box-shadow: none; }
html[data-site-theme] #snipcart .snipcart-form__select { background-color: #fff; color: #1e293b; border-color: #cbdadd; border-radius: 10px; font-size: 16px; }
html[data-site-theme] #snipcart :is(input,textarea)::placeholder { color: #64748b; opacity: 1; }
html[data-site-theme] #snipcart .snipcart-form__label { color: #334155; white-space: normal; line-height: 1.5; }
html[data-site-theme] #snipcart .snipcart-input:focus-within, html[data-site-theme] #snipcart .snipcart-form__select:focus { border-color: #0f7a83; box-shadow: 0 0 0 3px rgba(15,122,131,.14); }
html[data-site-theme] #snipcart .snipcart-input--invalid { border-color: #d93120; }
html[data-site-theme] #snipcart .snipcart-cart-button--highlight { background: #0f7a83; color: #fff; border-radius: 10px; }
html[data-site-theme] #snipcart .snipcart-cart-button--highlight:not(:disabled):not(.snipcart-cart-button--disabled):hover { background: #0b5c64; }
html[data-site-theme] #snipcart .snipcart-cart-button:disabled, html[data-site-theme] #snipcart .snipcart-cart-button--disabled { background: #e6edf0; color: #64748b; cursor: not-allowed; }
@media (prefers-reduced-motion: reduce) { .site-theme-track,.site-theme-track::before { transition: none; } }
