/* Accessibility and purchasing clarity, applied after the existing brand system. */
body{font-weight:400}
button,input,select,textarea{font:inherit}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ae7330;outline-offset:4px}
[hidden]{display:none!important}
.icon-btn,.step,.thumb,.sidebar-close,.mz-pop-x{min-width:44px;min-height:44px}
.stock-out{color:#a53524}.stock-in{color:#276037}
body.pdp-light{--muted:#635c50;--accent-soft:#705022;--accent:#8b642b}
body.pdp-light .btn-primary{background:#8b5a1e;color:#fff}
body.pdp-light .btn-primary:hover{background:#80541c;color:#fff}
body.pdp-light .btn-add-price{color:inherit;opacity:1}
.pdp-costs{padding:20px;margin:22px 0;border:1px solid var(--line-2);border-radius:4px;background:var(--surface)}
.pdp-costs>strong{font-size:.98rem;color:var(--ink)}
.pdp-costs dl{margin:14px 0 10px;font-size:.92rem}
.pdp-costs dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:18px;padding:7px 0}
.pdp-costs dt{font-weight:400}.pdp-costs dd{white-space:nowrap;margin:0;font-weight:500}
.pdp-costs-total{border-top:1px solid var(--line-2);margin-top:5px;font-weight:600}
.pdp-costs small{display:block;color:var(--muted);line-height:1.6;font-size:.8rem}
.pdp-costs a,.product-desc a{color:var(--accent-soft);text-decoration:underline;text-underline-offset:3px}
.product-lead{line-height:1.7;color:var(--muted)}
body.pdp-light .product-lead{font-family:var(--sans);font-size:1rem;font-style:normal;font-weight:400;line-height:1.7;color:#5e574c}
/* Dark header/footer islands retain their own palette on light product pages. */
.site-header,.announce,.site-footer,.mz-pop{--muted:#b8ad97;--accent:#d4ad68;--accent-soft:#e6c98a;--ink:#f1eadf;--brand:#f4ede0;--surface:#15140f;--surface-2:#1b1a14}
.announce,.site-footer,.mz-pop{color:var(--ink)}
body.pdp-light .product-eyebrow,body.pdp-light .rcard-eyebrow,body.pdp-light .tool-teaser-arrow{color:#705022}
body.pdp-light .ritual-num{background:#8b5a1e;color:#fff}
.exp-hero-tag,.exp-hero-price{background:#201b13;color:#fff;padding:8px 12px;border-radius:3px}
.product-info h1{font-size:clamp(1.8rem,3.1vw,2.75rem);line-height:1.15}
.product-meta li strong{font-family:var(--sans)!important;font-size:.9rem!important;font-weight:500}
.product-desc{max-width:900px}.product-desc-supplier{line-height:1.85}
.product-desc-supplier table{display:block;overflow-x:auto;max-width:100%;border-collapse:collapse}
.product-desc-supplier td,.product-desc-supplier th{padding:8px;border:1px solid var(--line)}
.store-assurance{display:flex;justify-content:center;gap:22px 48px;flex-wrap:wrap;padding-block:23px;border-bottom:1px solid var(--line);font-size:.9rem;color:var(--ink)}
.store-assurance span,.store-assurance a{display:inline-flex;align-items:center;gap:9px}
.ho-hero-subtitle{font-family:var(--sans);font-size:clamp(.95rem,1.3vw,1.15rem);letter-spacing:.02em;color:#fff;max-width:450px;margin:16px auto 22px;line-height:1.6;text-shadow:0 2px 15px #000}
.ho-hero-title h1{font-size:clamp(3.1rem,6.5vw,6.8rem)}
.ho-hero-title .ho-btn{pointer-events:auto;position:relative;z-index:2;background:#dfbc78;color:#191309;border-color:#dfbc78;min-height:48px}
.ho-hero-title .ho-btn:hover{background:#f3d797}
img.ho-panel-bg,img.ho-scene-bg{width:100%;height:100%;object-fit:cover;background-image:none}
img.ho-panel-bg{object-position:center 30%}
.welcome-open{display:inline-block;background:transparent;border:0;border-bottom:1px solid currentColor;padding:7px 0;color:var(--accent-soft);cursor:pointer;text-align:left;min-height:44px;font-size:.88rem}
.pager a{min-height:44px;display:inline-flex;align-items:center}.pager a[aria-current]{font-weight:600}
.pager{flex-wrap:wrap}.pager-info{width:100%;text-align:center}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.reveal{opacity:1;transform:none}
.card-title{font-size:1.06rem;line-height:1.45}.card-body .card-title a{display:block}
.crumbs{line-height:1.8}.crumbs a{text-underline-offset:3px}.crumbs a:hover{text-decoration:underline}
.gallery-main img{max-width:100%;object-fit:contain}.thumb[aria-pressed=true]{outline:2px solid var(--accent);outline-offset:2px}
@media(max-width:640px){
 .site-header .header-inner{display:grid;grid-template-columns:44px minmax(0,1fr) 88px;gap:4px;align-items:center;padding:12px 0}
 .site-header .nav-toggle{grid-column:1;grid-row:1;order:0}
 .site-header .brand-link{grid-column:2;grid-row:1;margin:0;min-width:0}
 .site-header .header-actions{grid-column:3;grid-row:1;margin:0;gap:0}
 .site-header .main-nav{grid-column:1/-1;grid-row:2;margin:0;width:100%}
 .site-header .do-logo{gap:5px}.site-header .do-logo-mark{width:22px;height:26px}
 .site-header .do-logo-word{font-size:1rem;letter-spacing:.08em}
 .store-assurance{justify-content:flex-start;gap:12px;padding:18px 22px;font-size:.85rem}
 .ho-hero-title{width:100%;padding-inline:22px}.ho-hero-title h1{font-size:clamp(2.25rem,12vw,3.25rem);line-height:1.05;min-height:2.1em}
 .ho-hero-title h1>span{white-space:nowrap}
 .ho-hero-subtitle{font-size:.95rem;max-width:300px}
 .ho-panel,.ho-panel-bg,.ho-panel-in,.ho-panel-d{transition:none}
 .ho-panel:hover .ho-panel-bg{transform:scale(1.06);filter:grayscale(.06) brightness(.66)}
 .pdp-costs{padding:16px}.pdp-costs dl>div{gap:10px}
 .product-info h1{font-size:2rem}.product-meta li{gap:12px}.product-meta li strong{text-align:right}
 .sticky-buy{padding-bottom:env(safe-area-inset-bottom)}
 .mz-cookie{bottom:max(10px,env(safe-area-inset-bottom));max-height:45vh;overflow:auto}
 body:has(.mz-cookie:not([hidden])) .sticky-buy{display:none!important}
}
.order-mode-note{padding:12px 15px;border:1px solid var(--line-2);border-radius:3px;line-height:1.6;font-size:.9rem;color:var(--ink)}
body.is-checkout .main-nav,body.is-checkout .nav-toggle,body.is-checkout .search-toggle,body.is-checkout .search-bar,body.is-checkout .announce,body.is-checkout .footer-cta,body.is-checkout .footer-grid{display:none}
body.is-checkout .header-inner{display:flex;justify-content:space-between}
body.is-checkout .brand-link{margin-right:auto}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
 .reveal{opacity:1!important;transform:none!important}
}
