/* Light mode inherits the existing design unchanged. Only the switch is new. */
.header-menu-controls{display:flex;align-items:center;gap:16px;justify-self:start}.header-menu-controls>.menu-toggle{display:inline-flex}
.theme-toggle{display:inline-flex;flex:none;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:0 3px;color:inherit;font:400 12px/1.2 var(--sans);white-space:nowrap}
.theme-switch-track{display:block;position:relative;flex:none;width:34px;height:20px;border:1px solid currentColor;border-radius:20px;background:transparent}
.theme-switch-thumb{position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background:currentColor;transition:transform .15s}
.theme-toggle[aria-checked=true] .theme-switch-thumb{transform:translateX(14px)}
.theme-toggle:focus-visible{outline:2px solid currentColor;outline-offset:3px}

@media(prefers-reduced-motion:reduce){.theme-switch-thumb{transition:none}}
@media screen {
html[data-theme=dark]{--paper:#000;--ink:#fff;--muted:#fff;--line:#454545;--olive:#fff;--soft:#111;--action-ink:#222;--action-hover:#383838;background:#000;color:#fff;color-scheme:dark}
html[data-theme=dark] body{background:#000!important;color:#fff!important}
html[data-theme=dark] body :where(h1,h2,h3,h4,h5,p,a,button,label,input,select,textarea,summary,dt,dd,li,th,td,legend,small,strong,span,div,section,article,figcaption,output):not(:where(.ss-stage,.ss-stage *)){color:#fff!important}
html[data-theme=dark] :is(input,select,textarea,option){background-color:#111!important;border-color:#666!important;accent-color:#fff}
html[data-theme=dark] input::placeholder,html[data-theme=dark] textarea::placeholder{color:#bbb!important;opacity:1}
html[data-theme=dark] :is(button,a,input,select,textarea,summary):focus-visible{outline-color:#fff!important}
html[data-theme=dark] :is(.site-header,.site-footer,.site-menu,.menu-head,.menu-column,.menu-tabs,.language-dialog,.language-panel){--paper:#000;--ink:#fff;--muted:#fff;--olive:#fff;--line:#454545;background-color:#000!important}
html[data-theme=dark] :is(.quiet-link,.service-cta,.request-submit,.consultation-link,.focus-button,.kitchen-button,.plan-primary,.shop-actions button,.shop-actions a){background:#222!important;border-color:#666!important}
html[data-theme=dark] :is(.quiet-link,.service-cta,.request-submit,.consultation-link,.focus-button,.kitchen-button,.plan-primary):hover{background:#383838!important}
html[data-theme=dark] :is(.home-showroom,.material-editorial,.value-story,.legal-form,.guide-note,.guide-navigation>a,.comfort-table thead,.comfort-table tbody tr:nth-child(even),.focus-options,.request-success,.bedding-size-grid a,.bedding-hardness-grid,.bedding-topper,.favorites-comparison th,.kitchen-page,.kitchen-catalog-section,.kitchen-consult,.kitchen-preview,.kitchen-category-menu,.kp-summary,.ks-price-summary,.kv-details,.ks-panel,.ks-item-editor,.ks-next,.ks-check,.plan-guide,.plan-config,.plan-enquiry-review){background-color:#000!important;border-color:#454545!important}
html[data-theme=dark] :is(.category-credit,.fabric-photo>figcaption,.swatch-photo>figcaption,.scene-credit,.plan-view-help,.plan-position,.plan-bottom,.plan-dialog,.plan-dialog-footer,.plan-dimensions,.plan-size-summary,.plan-short-arm,.plan-transport-result,.plan-calculation,.plan-tabs,.plan-toolbar,.plan-viewbar,.plan-actionbar,.plan-zoom,.plan-door-alert,.contact-dock,.google-start,.photo-viewer-close,.fabric-photo>.favorite-save,.swatch-photo>.favorite-save){background:#111!important;border-color:#555!important}
html[data-theme=dark] :is(.plan-toolbar button,.plan-more button,.plan-shapes button,.plan-tip button,.plan-feet button,.plan-short-arm button,.plan-arm,.plan-presets button,.plan-arm-card>button,.plan-form-choices button,.plan-piece-cards button,.plan-dialog-pieces button,.plan-corner-choices button,.plan-details-button,.plan-guide-files button,.plan-guide-files label,.plan-door-alert button,.kp-step-actions button,.kp-request-actions button,.ks-tools button,.ks-file,.ks-view-tools button,.ks-opening-buttons button,.ks-next>button,.ks-shapes button,.ks-selection-list button,.ks-load-more,.ks-group-choices button,.ks-price-bar button,.kv-picker .kv-model,.kv-picker .kv-option){background:#111!important;border-color:#666!important}
html[data-theme=dark] :is(button[aria-pressed=true],button[aria-selected=true],.kp-shape.selected,.language-choice[aria-current=true],.plan-arm:has(input:checked)){background:#383838!important;border-color:#fff!important}
html[data-theme=dark] :is(.favorite-save,.directions-link){color:#fff!important;border-color:#666!important}
html[data-theme=dark] .directions-link{background:#111!important}
html[data-theme=dark] .home-signature{color:#fff;text-shadow:0 1px 5px #000,0 2px 18px #0009}
html[data-theme=dark] ::selection{background:#fff;color:#000}
html[data-theme=dark] :is(.collection-photo,.category-media,.product-image,.studio-product,.studio-photo-link,.fabric-photo,.swatch-photo,.favorite-image,.focus-model-image,.kitchen-card-media,.kitchen-programme-media,.kitchen-image-unavailable){background-color:#000!important}
html[data-theme=dark] :is(.plan-wall-preview,.plan-sofa-preview,#plan-profile){background-color:#000!important}
html[data-theme=dark] :is(.plan-wall-preview,.plan-sofa-preview,#plan-profile) svg{background:#f1f3ed}
html[data-theme=dark] :is(.plan-view,.ks-canvas,.ks-room-preview){background-color:#f1f3ed}
/* Product photography, fabric swatches and planner drawings retain their real colours. */
html[data-theme=dark] :is(.plan-view,.plan-wall-preview,.plan-sofa-preview,#plan-profile,.ks-canvas,.ks-room-preview){color:#292d25}
html[data-theme=dark] .theme-switch-track{background:transparent!important}
html[data-theme=dark] .theme-switch-thumb{background:#fff!important}
/* Dialog surfaces and their controls must change together with the text. */
html[data-theme=dark] dialog{background-color:#111!important;color:#fff!important;border-color:#666!important}
html[data-theme=dark] dialog :is(button,select,input,textarea),html[data-theme=dark] :is(.direct-photo-button,.photo-viewer-reference,.plan-viewbar #plan-fullscreen,.plan-position #plan-selected-name,#plan-tip-count,.plan-input){background-color:#222!important;color:#fff!important;border-color:#777!important}
html[data-theme=dark] .direct-photo-dialog [type=submit]{background:#333!important;border-color:#999!important}
html[data-theme=dark] .planner-workspace{background-color:#111!important;border-color:#555!important}
html[data-theme=dark] .direct-photo-dialog [data-status]{color:#fff!important}
html[data-theme=dark] .site-menu .menu-close{background:transparent!important;border:0!important;box-shadow:none}
/* The 3D stage stays light in both themes; keep its controls and primary actions legible. */
html[data-theme=dark] .ss-stage :is(button,button span){color:#222!important}
html[data-theme=dark] .ss-stage button{background:#fff!important;border-color:#777!important}
html[data-theme=dark] :is(.sofa-studio,.ss-dialog) .ss-primary,
html[data-theme=dark] :is(.sofa-studio,.ss-dialog) .ss-primary *{background:#d3c1a0!important;color:#1b1d1a!important;border-color:#d3c1a0!important}
}
@media print{.theme-toggle{display:none!important}}
