/* Shared storefront design. Product photos and admin theme values remain authoritative. */
:root{--font-body:system-ui,-apple-system,"Segoe UI",sans-serif;--font-display:Georgia,"Times New Roman",serif;--sans:var(--font-body);--serif:var(--font-display);--space-unit:8px;--space-section:clamp(48px,7vw,96px);--radius-control:6px;--duration-ui:160ms;--button-bg:var(--accent-dark,#4d302c)}
body{font-family:var(--font-body);font-size:16px;line-height:1.6}
h1,h2,h3{font-family:var(--font-display);font-weight:400;text-wrap:balance;overflow-wrap:anywhere}
a,button,input,select,textarea{touch-action:manipulation}
:focus-visible{outline:3px solid #76574f!important;outline-offset:4px!important}
[hidden]{display:none!important}
section[id],footer[id],main[id]{scroll-margin-top:145px}
.container{width:min(1240px,calc(100% - 64px))}
.topline{display:block!important;background:var(--accent-dark,#4d302c);color:#fff;padding:8px 16px;font:12px/1.6 var(--font-body);text-transform:none;letter-spacing:.02em}
.header{background:var(--page,#fff);backdrop-filter:none}
.nav{height:88px;gap:24px}.brand{font:400 30px var(--font-display);letter-spacing:-.05em}.brand span{color:var(--muted)}
.navlinks{font:14px var(--font-body);gap:30px}.navlinks a{padding:12px 0}.navlinks a:hover{text-decoration:underline;text-underline-offset:5px}
.icon-btn{min-height:44px;font:14px var(--font-body);border-color:var(--line);background:transparent;padding:10px 15px}
.eyebrow{font:14px var(--font-body);letter-spacing:0;text-transform:none;color:var(--muted);margin-bottom:18px}
.button,.add,.primary,.card-mobile-add{min-height:48px;font:600 14px/1.45 var(--font-body);letter-spacing:0;text-transform:none;padding:14px 20px;border-radius:var(--radius-control)!important;transition:background-color var(--duration-ui),color var(--duration-ui)}
.button:hover,.add:hover,.primary:hover{transform:none;filter:brightness(.93)}
.text-link{font:14px/1.6 var(--font-body);text-underline-offset:4px}
.hero{padding:36px 0 44px}.hero-grid{display:grid!important;grid-template-columns:1fr 1.05fr!important;align-items:center;gap:48px;min-height:500px;background:transparent;border:0;overflow:visible}
.hero-copy{grid-column:1;grid-row:1;text-align:left;align-items:flex-start;padding:40px 0!important;max-width:560px;width:100%}
.hero h1#heroTitle{font:400 clamp(48px,5.5vw,80px)/1.04 var(--font-display)!important;letter-spacing:-.045em!important;margin:0 0 24px!important}
.hero h1 span{color:inherit!important;display:block}
.hero #heroDescription{font:17px/1.75 var(--font-body)!important;max-width:450px!important;margin:0 0 28px!important;color:var(--muted)}
.hero-buttons{margin-top:0;justify-content:flex-start;gap:22px}
.hero-art{grid-column:2;grid-row:1;width:100%!important;max-width:none!important;height:auto!important;min-height:0!important;aspect-ratio:1.12;object-fit:contain!important;background:transparent!important;display:block;padding:0}
.section{padding:40px 0 var(--space-section)}.section-head{align-items:end;margin-bottom:32px;gap:24px}.section-head h2{font:400 clamp(32px,4vw,48px)/1.15 var(--font-display);letter-spacing:-.035em}.section-note{font-size:14px;max-width:270px;line-height:1.6}
.featured-slot{width:100%;overflow:visible}.featured-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;width:100%!important;transform:none!important;transition:none}
.featured-card{display:flex;flex-direction:column;min-height:0;background:transparent;border:0;overflow:visible;width:auto!important}
.featured-photo{padding:0;aspect-ratio:1;min-height:0;display:block;background:var(--soft);overflow:hidden}
.featured-photo img{display:block;width:100%;height:100%;max-height:none;object-fit:contain;transition:none}
.featured-copy{padding:22px 0 0;text-align:left;align-items:flex-start;flex:1;justify-content:flex-start}.featured-copy h3{font:400 clamp(24px,2.3vw,31px)/1.2 var(--font-display);letter-spacing:-.025em}.featured-copy .price{font:600 17px var(--font-body);margin:12px 0}.featured-description{font:14px/1.7 var(--font-body);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 12px}.scent-notes{font-size:13px;color:var(--muted);margin:0 0 20px}.featured-actions{justify-content:flex-start;width:100%;gap:18px;margin-top:auto;padding-top:12px}.featured-actions .button{flex:1;text-align:center}.collection-link{display:inline-block;margin-top:36px}
.story{padding:0 0 var(--space-section)}.story-box{background:var(--soft);color:var(--ink);padding:clamp(28px,5vw,64px);gap:48px;grid-template-columns:1fr 1fr;border:0}.story-box h2{font:400 clamp(32px,4vw,48px)/1.15 var(--font-display);letter-spacing:-.03em}.story-box .eyebrow{color:var(--muted)}.story-text{color:var(--ink);font:16px/1.8 var(--font-body);margin:0}.story-points{font:13px/1.6 var(--font-body);letter-spacing:0;text-transform:none;color:var(--muted);gap:18px}.brand-story-text{max-width:780px;margin:40px auto 0;font:16px/1.85 var(--font-body);text-align:left;color:var(--muted)}
.footer{padding:36px 0 44px;font:14px var(--font-body)}.footer-row{align-items:center}.footer-brand{font:26px var(--font-display)}.footer-links{display:flex;gap:24px;flex-wrap:wrap}.footer-links a{padding:10px 0}
.intro{padding:52px 0 30px}.intro h1{font:400 clamp(40px,5vw,64px)/1.1 var(--font-display);letter-spacing:-.035em}.intro p{max-width:620px;font-size:16px;line-height:1.8}.catalog{padding:24px 0 var(--space-section)}.toolbar{gap:20px;align-items:center}.filter{font:14px var(--font-body);min-height:44px;padding:10px 16px}.search{min-height:48px;padding:10px 14px;border:1px solid var(--line);border-radius:6px!important}.search input{font-size:16px;min-width:0}.search:focus-within{outline:2px solid #76574f;outline-offset:3px}.results{font-size:14px}.products{gap:32px}.card-title{font:400 26px/1.25 var(--font-display)}.card-desc{font:14px/1.75 var(--font-body)}.card-top{gap:14px;flex-wrap:wrap}.card-meta,.chips,.smallnote{font-size:14px;letter-spacing:0;text-transform:none}.card-image img{object-fit:contain;transform:none!important}.card-visual{aspect-ratio:1}.quick-add{opacity:1;transform:none;font-size:14px;min-height:46px}.card-mobile-add{display:none}.card-info{padding-top:20px}
.product-layout{gap:clamp(28px,5vw,72px);padding-bottom:56px;align-items:start}.product-copy{padding-top:22px}.product-copy h1{font:400 clamp(36px,4vw,56px)/1.1 var(--font-display);letter-spacing:-.035em}.product-copy .description{font:16px/1.85 var(--font-body)}.product-visual{background:var(--soft);min-width:0}.product-visual img{object-fit:contain}.quantity button{min-height:44px;min-width:44px}.crumbs{font-size:13px;padding:24px 0;flex-wrap:wrap}.purchase-row{flex-wrap:wrap;gap:16px}.more{padding:32px 0 60px}.custom-cta,.custom-builder{border-radius:6px!important}.custom-cta h2,.custom-builder h2{font-family:var(--font-display)}.custom-cta p,.custom-builder p{font-size:15px}.custom-actions button,.step-nav button{min-height:44px}.custom-option{min-width:0;overflow-wrap:anywhere}
.cart-drawer{padding:28px;overscroll-behavior:contain}.cart-head h2{font:32px var(--font-display)}.cart-name{font:20px/1.3 var(--font-display)}.cart-price,.cart-hint{font-size:13px}.qty button,.remove,.close{min-height:44px;min-width:44px}.price,.total{font-variant-numeric:tabular-nums}.cart-items{overscroll-behavior:contain}.toast{font:14px var(--font-body);max-width:calc(100% - 32px);text-align:center}
.skip-link{position:fixed;top:8px;left:8px;z-index:100;background:#fff;color:#392e2b;padding:12px 20px;transform:translateY(-150%)}.skip-link:focus{transform:none}
.wrap{width:min(800px,calc(100% - 40px));margin:40px auto 72px}.wrap .card{padding:clamp(22px,4vw,42px);box-shadow:none}.wrap h1{font:400 clamp(30px,5vw,44px)/1.2 var(--font-display)}.wrap input,.wrap textarea{font:16px/1.5 var(--font-body);min-height:48px}.wrap button{min-height:48px;font-family:var(--font-body)}.wrap .note{background:var(--soft,#eeeaf5);line-height:1.8}.wrap .muted{font-size:15px}.wrap .small{font-size:13px}
@media(max-width:900px){.container{width:calc(100% - 40px)}.nav{gap:16px}.navlinks{gap:18px}.hero-grid{gap:28px;min-height:420px}.hero h1#heroTitle{font-size:56px!important}.featured-track{gap:20px}.featured-actions{flex-wrap:wrap}.featured-actions .button{flex-basis:100%}.story-box{gap:28px}.products{gap:24px}}
@media(max-width:700px){.nav{height:auto;min-height:100px;flex-wrap:wrap;padding:14px 0 10px;gap:12px}.brand{font-size:27px}.nav-actions{margin-left:auto}.navlinks{display:flex!important;order:3;width:100%;justify-content:space-between;gap:12px;font-size:13px;overflow:auto;white-space:nowrap}.navlinks a{padding:6px 0}.hero{padding:26px 0 24px}.hero-grid{display:flex!important;flex-direction:column;gap:18px;min-height:0}.hero-copy{padding:8px 0 0!important;max-width:100%}.hero h1#heroTitle{font-size:clamp(42px,10vw,64px)!important}.hero #heroDescription{font-size:16px!important;margin-bottom:24px!important}.hero-art{aspect-ratio:1.55;max-height:320px;width:100%!important;order:2}.hero-buttons{gap:16px}.hero-buttons .button{padding:14px 16px}.section{padding:30px 0 52px}.section-head{display:block}.section-note{max-width:none;margin:14px 0 0}.featured-track{grid-template-columns:1fr;gap:40px}.featured-photo{aspect-ratio:1.15}.featured-copy{padding-top:20px}.featured-copy h3{font-size:30px}.featured-actions{flex-wrap:nowrap}.featured-actions .button{flex-basis:auto}.featured-description{-webkit-line-clamp:unset}.story-box{grid-template-columns:1fr;gap:24px}.brand-story-text{font-size:15px;margin-top:28px}.story{padding-bottom:52px}.footer-row{display:flex;align-items:start;flex-direction:column;gap:14px}.footer-links{gap:24px}.intro{padding:36px 0 18px}.products{grid-template-columns:1fr;gap:36px}.toolbar{flex-wrap:wrap}.search{width:100%;max-width:none;flex-basis:100%}.card-visual{aspect-ratio:1.15}.quick-add{display:none}.card-mobile-add{display:block}.product-layout{grid-template-columns:1fr;gap:20px}.product-copy{padding-top:0}.product-visual{min-height:0}.cart-drawer{padding:20px}.custom-cta{flex-direction:column;align-items:start}.custom-cta a{width:100%;text-align:center}.wrap{margin-top:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Keep closed drawers out of keyboard navigation and keep mobile links visible. */
.cart-drawer:not(.open){visibility:hidden}.cart-drawer.open{visibility:visible}
@media(max-width:700px){.navlinks{flex-wrap:wrap;overflow:visible;white-space:normal;justify-content:flex-start;gap:8px 20px}.custom-cta{margin-bottom:48px!important}}
