:root{color-scheme:light}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:8px 11px;border:1px solid var(--line);border-radius:6px;background:transparent;color:var(--ink);font:11px var(--sans);cursor:pointer;white-space:nowrap}.theme-icon{font-size:19px;line-height:1}.theme-toggle:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.theme-toggle:hover{background:var(--paper)}.guide-theme-bar{display:flex;justify-content:flex-end;margin-bottom:18px}
html[data-theme=dark]{--ink:#f1eee5;--muted:#b6bcb2;--paper:#171d19;--white:#222b24;--line:#485249;--green:#a9c4ab;--green-dark:#c0d7c1;--gold:#d7be88;color-scheme:dark}
html[data-theme=dark] body{background:var(--paper);color:var(--ink)}
html[data-theme=dark] :is(input,select,textarea){color:var(--ink);background-color:var(--white);border-color:var(--line)}
html[data-theme=dark] :is(.header,.site-header,.cart-panel,.admin-box,.product-detail-modal,.detail-copy,.product-modal,.modal-details,.newsletter,.trust,.stone-category,.admin-product-card,.admin-add-card,.store-search input,.guide-links a){background-color:var(--white);color:var(--ink)}
html[data-theme=dark] :is(.hero,.story,.stone-collection,.advanced-filters,.guide-section,.stones-section,.stones-cards article,.admin-photo-box){background-color:#273029}
html[data-theme=dark] :is(.hero p,.story-copy p,.trust,.filter,.advanced-check,.size-filter-options button,.stone-category p,.art-note,.admin-photo-copy,.photo-hint,.specifications dt,.modal-description,.stock-note,.detail-copy p,.product-type){color:var(--muted)}
html[data-theme=dark] :is(.text-button,.cart-toggle,.close-cart,.admin-close,.detail-close,.remove-item,.quantity button,.add-button,.detail-link,.filter-toggle,.clear-filters,.customer-logout,.admin-icon-button,.saved-remove,.close-button){color:var(--ink)}
html[data-theme=dark] :is(.button,.filter.active,.filter:hover,.add-button:hover,.size-filter-options button.selected,.detail-size-list button.selected,.newsletter-form button,.cart-count,.login-button:hover){background:var(--green);border-color:var(--green);color:#17241b}
html[data-theme=dark] .button:hover{background:#c0d7c1;border-color:#c0d7c1;color:#17241b}
html[data-theme=dark] .button.outline{background:transparent;color:var(--green)}
html[data-theme=dark] .button.outline:hover{background:var(--green);color:#17241b}
html[data-theme=dark] :is(.product-image .tag,.detail-photo .tag,.product-badge){background:#26382b;color:var(--ink)}
html[data-theme=dark] .favorite-toggle{background:#222b24;color:#d8c49a;border-color:var(--line)}
html[data-theme=dark] .favorite-toggle.active{color:#ffaaa7}
html[data-theme=dark] .product-data span{border-color:var(--line)}
html[data-theme=dark] :is(.footer,footer,.announcement,.toast){background:#101712;color:#f1eee5}
html[data-theme=dark] :is(.footer a,.footer p,.footer .brand-sub,.copyright,.admin-entry){color:#c4cec1}
html[data-theme=dark] .hero-art{background:linear-gradient(145deg,#303a32,#566154 52%,#26332a)}
html[data-theme=dark] .hero-art:after{background:radial-gradient(ellipse at 50% 54%,#ffffff18,transparent 55%)}
html[data-theme=dark] .story-visual{background:radial-gradient(ellipse at 50% 55%,#62705e,#344135 52%,#202b22)}
/* Product photographs and illustration backgrounds keep their original colours. */
@media(max-width:1100px){.header-actions{gap:8px}.theme-toggle{padding:8px}.theme-label{display:none}}
@media(max-width:620px){.header{height:auto;min-height:82px;grid-template-columns:1fr auto;gap:5px 8px;padding:8px 4%}.header .brand{grid-column:1;grid-row:1;justify-self:start}.header-actions{grid-column:2;grid-row:1;gap:5px}.header .nav{grid-column:1/-1;grid-row:2;justify-content:center;gap:25px;padding:4px 0}.theme-toggle{min-width:36px;min-height:44px;padding:7px}.header .brand-name{font-size:15px}.header .brand-sub{letter-spacing:.15em}.header .cart-toggle{min-width:30px;min-height:44px}.header .language-select{min-height:36px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
html[data-theme=dark] .detail-close{background:var(--white);color:var(--ink);border:1px solid var(--line)}
html[data-theme=dark] input::placeholder,html[data-theme=dark] textarea::placeholder{color:#aeb8aa;opacity:1}
