/* Semantic surfaces only: never recolor product images, SVGs or videos. */
:root{--theme-surface:#fff;--theme-text:var(--lux-navy);--theme-action:var(--lux-navy);--theme-on-action:#fff;--theme-accent:var(--lux-olive);--theme-canvas:var(--lux-ivory);--theme-muted:var(--lux-muted);--theme-soft:var(--warm);--theme-border:var(--lux-line);--theme-control-border:#818978;--theme-danger:#922d35;--theme-success:#315c36}
body{background:var(--theme-canvas);color:var(--theme-text)}
body :is(input,select,textarea){background:var(--theme-surface);color:var(--theme-text);border-color:var(--theme-control-border)}
body :is(input,textarea)::placeholder{color:var(--theme-muted);opacity:1}
body :is(dialog,.modal,.dialog,.collection-card,.catalog-card){background:var(--theme-surface);color:var(--theme-text);border-color:var(--theme-border)}
body :is(.model-catalog,.editorial-card,.featured-product,#notice){background:var(--theme-soft);color:var(--theme-text)}
body :is(button,.file-button){background:var(--theme-surface);color:var(--theme-text);border-color:var(--theme-control-border);box-shadow:none}
body :is(.solid-button,.primary,.button-dark,.color-options button[aria-pressed=true],.catalog-views button[aria-pressed=true]){background:var(--theme-action);color:var(--theme-on-action);border-color:var(--theme-action)}
body :is(button,a,input,select,textarea):focus-visible{outline:3px solid var(--theme-accent);outline-offset:4px;box-shadow:0 0 0 2px var(--theme-surface)}
body :is(.small-note,.rug-caption,small){color:var(--theme-muted)}
body :is(.announcement,.contact-section){background:var(--theme-action);color:var(--theme-on-action)}
body .contact-section :is(h2,h3,.eyebrow){color:var(--theme-on-action)}
#variant-photo{background:var(--theme-soft)}
.theme-preview-notice{padding:12px;margin:0;background:var(--theme-surface);color:var(--theme-text);text-align:center;border:2px solid var(--theme-accent)}
.theme-controls{display:flex;gap:12px;flex-wrap:wrap;align-items:end}.theme-controls label{display:grid;gap:6px}.theme-controls select{min-height:48px;padding:10px;font:inherit;max-width:100%;border:1px solid var(--theme-control-border);border-radius:12px}
.theme-actions{display:flex;gap:12px;flex-wrap:wrap}.theme-actions button{padding:12px 18px;min-height:44px}
#theme-preview{width:100%;height:680px;border:1px solid var(--theme-border);border-radius:16px;background:var(--theme-surface)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

body:has(#products) nav{background:var(--theme-soft);border-color:var(--theme-border)}
body:has(#products) #status{background:var(--theme-soft);color:var(--theme-text)}
body :is(.catalog-card,.card,.panel){border-color:var(--theme-border)}
body .designs-cta{background:var(--theme-action);color:var(--theme-on-action);border-color:var(--theme-action)}

:root{--lux-navy:#2f4a3a;--lux-olive:#2f4a3a;--lux-ivory:#ede5d8;--lux-muted:#2f4a3a;--lux-line:#9b8d7a;--paper:#ede5d8;--ink:#2f4a3a;--accent:#2f4a3a;--muted:#2f4a3a;--line:#9b8d7a;--warm:#d8c8b4;--theme-text:#2f4a3a;--theme-action:#2f4a3a;--theme-accent:#2f4a3a;--theme-canvas:#ede5d8;--theme-muted:#2f4a3a;--theme-soft:#d8c8b4;--theme-border:#9b8d7a;--theme-control-border:#2f4a3a}.model-catalog,.editorial-card,.featured-product{background:var(--warm)}
body header nav a.designs-cta{background:#2f4a3a!important;color:#fff!important;border:1px solid #2f4a3a!important}body .announcement{border-bottom:3px solid #6e7c61}body .hero-copy{border-top:3px solid #6e7c61}body :is(a,button,input,select):focus-visible{outline:3px solid #2f4a3a!important;outline-offset:4px}body .trial-banner{background:#ede5d8!important;color:#2f4a3a}body :is(button,a.button,a.designs-cta):hover{box-shadow:inset 0 0 0 2px currentColor}body button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}
/* Approved public olive interaction styles. */
html:root body{--control-strong:var(--theme-action);--control-light:var(--theme-canvas)}
html:root body :is(button,a.button,a.designs-cta,:where(#page-categories) a){border:1px solid var(--control-strong)!important;transition:background-color .15s,color .15s,border-color .15s;min-height:44px}
html:root body :is(button,a.button,:where(#page-categories) a){background:var(--theme-soft)!important;color:var(--control-strong)!important}
html:root body :is(a.designs-cta,.button-dark,.primary,.solid-button,[aria-pressed=true],[aria-selected=true],[aria-current=page],:where(#page-categories) a.active){background:var(--control-strong)!important;color:#fff!important}
html:root body :is(button,a.button,a.designs-cta,:where(#page-categories) a):is(:focus-visible,:active):not(:disabled):not([aria-disabled=true]){background:var(--control-strong)!important;color:#fff!important;outline:3px solid var(--control-strong)!important;outline-offset:4px}
html:root body :is(a.designs-cta,.button-dark,.primary,.solid-button):is(:focus-visible,:active):not(:disabled):not([aria-disabled=true]){background:var(--control-light)!important;color:var(--control-strong)!important}
@media(hover:hover){
html:root body :is(button,a.button,a.designs-cta,:where(#page-categories) a):hover:not(:disabled):not([aria-disabled=true]){background:var(--control-strong)!important;color:#fff!important}
html:root body :is(a.designs-cta,.button-dark,.primary,.solid-button):hover:not(:disabled):not([aria-disabled=true]){background:var(--control-light)!important;color:var(--control-strong)!important}
}
html:root body :is(button:disabled,[aria-disabled=true]){background:#e5e7eb!important;color:#374151!important;border-color:#9b8d7a!important;opacity:.65;cursor:not-allowed;box-shadow:none!important;outline:none!important}
@media(prefers-reduced-motion:reduce){html:root body :is(button,a.button,a.designs-cta,:where(#page-categories) a){transition:none!important}}
/* Olive navigation: preserve resting styles, invert only during interaction. */
@media(hover:hover){html:root body header nav a:not(.designs-cta):hover{background:#2f4a3a!important;color:#fff!important;border-radius:999px;box-shadow:0 0 0 8px #2f4a3a}}
html:root body header nav a:not(.designs-cta):focus-visible{background:#2f4a3a!important;color:#fff!important;border-radius:999px;box-shadow:0 0 0 8px #2f4a3a;outline:3px solid #2f4a3a!important;outline-offset:11px}
html:root body header nav a:not(.designs-cta){transition:none}
