/* Shared appearance layer. Product photography and the original logo retain their colours. */
:root{--surface:#fff;--surface-hover:#f1f7ef;--accent:#237a46;--focus-ring:#3c79542a;--on-accent:#fff}
html[data-theme=dark]{color-scheme:dark;--warm-white:#101c18;--white:#172720;--mint:#182c23;--sage:#243e30;--text:#edf4ee;--muted:#b2c6b8;--border:#365043;--primary:#96d3aa;--deep:#b1e0bf;--leaf:#a0cf91;--surface:#1b3027;--surface-hover:#254435;--accent:#96d3aa;--focus-ring:#96d3aa38;--on-accent:#102d1d}
html[data-theme=light]{color-scheme:light}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:0 0 auto;min-width:44px;min-height:44px;padding:9px 12px;border:1px solid currentColor;border-color:color-mix(in srgb,currentColor 25%,transparent);border-radius:30px;background:transparent;color:inherit;font-size:.75rem;line-height:1;transition:background .25s,border-color .25s,box-shadow .25s}
.theme-toggle:hover{background:#93ba9626;box-shadow:0 3px 14px #082d1512}
.theme-toggle[hidden]{display:none}
.theme-toggle svg{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:rotate .35s}
.theme-toggle:hover svg{rotate:18deg}.theme-moon{display:none}[data-theme=dark] .theme-sun{display:none}[data-theme=dark] .theme-moon{display:block}
.site-header{gap:clamp(12px,1.7vw,28px)}.desktop-navigation{margin-left:auto;gap:clamp(9px,1.4vw,25px)}
[data-theme=dark] ::selection{background:#9acd9e;color:#102d1d}
[data-theme=dark] .site-header.scrolled,[data-theme=dark] .solid-header .site-header{background:#101e18ed;color:var(--text);border-color:var(--border);box-shadow:0 5px 22px #0002}
[data-theme=dark] .site-header.scrolled .desktop-navigation a,[data-theme=dark] .solid-header .desktop-navigation a,[data-theme=dark] .site-header.scrolled .dropdown-toggle,[data-theme=dark] .solid-header .dropdown-toggle,[data-theme=dark] .site-header.scrolled .menu-trigger,[data-theme=dark] .solid-header .menu-trigger{color:var(--text)}
[data-theme=dark] .desktop-navigation a[aria-current]:after{background:var(--accent)}
[data-theme=dark] .desktop-navigation .nav-dropdown{background:#1b3027;color:var(--text);border-color:var(--border);box-shadow:0 18px 50px #0006}
[data-theme=dark] .desktop-navigation .nav-dropdown>a{color:var(--text)!important}
[data-theme=dark] .nav-dropdown>p{color:var(--muted)}
[data-theme=dark] .desktop-navigation .nav-dropdown>a:hover,[data-theme=dark] .desktop-navigation .nav-dropdown>a:focus-visible{background:var(--surface-hover)}
[data-theme=dark] .button,[data-theme=dark] .pagination a[aria-current]{background:var(--accent);color:var(--on-accent)}
[data-theme=dark] .button:hover{background:#b1e0bf;color:#102d1d;box-shadow:0 8px 28px #0003}
[data-theme=dark] .button-white{background:#f5faf3;color:#123824}
[data-theme=dark] .buttons-outline .button:not(.button-white){background:transparent;color:var(--accent);border-color:var(--accent)}
[data-theme=dark] .buttons-outline .button:not(.button-white):hover{background:var(--accent);color:var(--on-accent)}
[data-theme=dark] .since-mark strong,[data-theme=dark] .therapy-number{color:var(--accent)}
[data-theme=dark] .therapy-card:hover,[data-theme=dark] .accordion:hover,[data-theme=dark] .accordion[open]{background:var(--surface-hover)}
[data-theme=dark] .empty-state{background:var(--surface)}
[data-theme=dark] .cta-section{background:var(--mint)}
[data-theme=dark] .text-link:not(.light):hover,[data-theme=dark] .field:focus-within label{color:var(--accent)}
[data-theme=dark] .slider-prev,[data-theme=dark] .slider-next{color:var(--text);border-color:var(--border)}
[data-theme=dark] .slider-prev:hover,[data-theme=dark] .slider-next:hover{background:var(--surface-hover)}
[data-theme=dark] .product-card:hover h3{color:var(--accent)}
[data-theme=dark] .circle-link{color:var(--accent);border-color:var(--border)}
[data-theme=dark] .product-image,[data-theme=dark] .product-display{background:#e8eee5;border-color:#5b7561}
[data-theme=dark] .product-card:hover .product-image{background:#f1f5eb;border-color:#b5d2a5;box-shadow:0 16px 35px #0004}
[data-theme=dark] form input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=color]),[data-theme=dark] form textarea,[data-theme=dark] form select{background:var(--surface);color:var(--text);border-color:var(--border);color-scheme:dark}
[data-theme=dark] form input:not([type=hidden]):not([type=checkbox]):not([type=radio]):hover,[data-theme=dark] form textarea:hover,[data-theme=dark] form select:hover{background:var(--surface-hover);border-color:#789c84;box-shadow:0 4px 15px #0002}
[data-theme=dark] form input:not([type=checkbox]):not([type=radio]):focus,[data-theme=dark] form textarea:focus,[data-theme=dark] form select:focus{background:#1e382b;border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring),0 8px 22px #0002}
[data-theme=dark] form input::placeholder,[data-theme=dark] form textarea::placeholder{color:#a8bbae;opacity:1}
[data-theme=dark] input:is([type=checkbox],[type=radio]){accent-color:var(--accent)}
[data-theme=dark] input::file-selector-button{background:#2b4b38;color:var(--text);border:0;border-radius:5px;padding:6px 12px;margin-right:12px}
[data-theme=dark] .form-errors{background:#3a2424;border-color:#cf9389;color:#ffe4df}
[data-theme=dark] .review-note{background:#352d1a;color:#efd9a4}
[data-theme=dark] .footer-light .site-footer{background:#182c23;color:var(--text)}
[data-theme=dark] .footer-light .site-footer em,[data-theme=dark] .footer-light .site-footer .eyebrow{color:#cbe2bc}
[data-theme=dark] .footer-light .footer-note,[data-theme=dark] .footer-light .footer-bottom,[data-theme=dark] .footer-light .footer-main{color:var(--muted);border-color:var(--border)}
[data-theme=dark] .footer-light .footer-conversation,[data-theme=dark] .footer-light .footer-conversation em{color:var(--text)}
[data-theme=dark] .footer-light .footer-main>div:not(.footer-brand)>a:hover{color:var(--text);background:var(--surface-hover)}
[data-theme=dark] .site-footer{border-top:1px solid #3a5840}
.footer-bottom [data-theme-default]{white-space:normal;text-align:left}
/* Arrival is short and never blocks a link, form or back navigation. */
.content-arriving main{animation:content-arrive .36s cubic-bezier(.22,1,.36,1)}
.page-swipe{display:none!important}
@media(min-width:1100px) and (max-width:1270px){.site-header{padding-inline:3%}.desktop-navigation{gap:10px}.desktop-navigation .nav-parent>a{font-size:.68rem}.theme-toggle [data-theme-label]{display:none}.theme-toggle{padding:10px}}
@media(max-width:1099px){.site-header .theme-toggle{margin-left:auto}.site-header .menu-trigger{margin-left:0}}
@media(max-width:600px){.site-header{gap:12px}.theme-toggle{padding:9px}.theme-toggle [data-theme-label]{display:none}.site-header .menu-trigger{gap:8px}}
@media(prefers-reduced-motion:reduce){.theme-toggle,.theme-toggle svg{transition:none}.content-arriving main{animation:none}}
body[data-motion=reduced] .theme-toggle,body[data-motion=reduced] .theme-toggle svg{transition:none}
