*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:var(--font-heading);font-weight:400;line-height:1.1;letter-spacing:-.01em;margin:0 0 .5em}
h1{font-size:clamp(2rem,4vw,3rem)}h2{font-size:clamp(1.6rem,3vw,2.2rem)}
/* Baseline for authored/custom sections: native semantics, designed controls.
   Zero-specificity defaults allow section classes to supply their own appearance. */
:where(button,input[type=submit],input[type=button]){font:inherit;color:inherit}
:where(button:not([class]),input[type=submit]:not([class]),input[type=button]:not([class])){display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 20px;border:1px solid color-mix(in srgb,var(--color-text) 22%,transparent);border-radius:10px;background:var(--color-bg);font:600 14px/1.4 var(--font-body);cursor:pointer;box-shadow:0 1px 2px rgb(0 0 0 / 5%)}
:where(button:not([class])):hover:not(:disabled){background:color-mix(in srgb,var(--color-text) 5%,var(--color-bg))}
:where(button:not([class])):disabled{opacity:.45;cursor:not-allowed}
:where(summary){list-style:none;cursor:pointer}
:where(summary)::marker{content:""}
:where(summary)::-webkit-details-marker{display:none}
:where(summary:not(:has(svg))){display:flex;align-items:center;gap:12px;min-height:44px;padding-block:10px}
:where(summary:not(:has(svg)))::after{content:"";width:7px;height:7px;flex:0 0 7px;margin-inline-start:auto;margin-inline-end:4px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg)}
:where(details[open]>summary:not(:has(svg)))::after{transform:rotate(225deg)}
:where(details>p){margin-block:4px 16px}
:where(button,summary):focus-visible{outline:2px solid var(--color-text);outline-offset:4px}
.page-width{max-width:var(--page-width);margin:0 auto;padding:0 20px}
.narrow{max-width:760px}.center{text-align:center}
.muted{opacity:.65}
.skip-link{position:absolute;left:-999px}.skip-link:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:99}
.section{padding:56px 0}
.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:24px}
.link{text-decoration:underline;text-underline-offset:4px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 28px;border-radius:999px;background:var(--color-accent);color:var(--color-accent-text);border:1px solid var(--color-accent);font:600 15px/1 var(--font-body);cursor:pointer;transition:opacity .15s}
.button:hover{opacity:.88}.button:disabled{opacity:.4;cursor:not-allowed}
.button--outline{background:transparent;color:var(--color-text);border-color:currentColor}
.button--full{width:100%}
.placeholder{aspect-ratio:1;background:linear-gradient(135deg,rgba(0,0,0,.05),rgba(0,0,0,.1));border-radius:var(--radius)}
.rte p{margin:0 0 1em}
.announcement{background:var(--color-text);color:var(--color-bg);text-align:center;font-size:13px;padding:8px 12px}
.site-header{position:sticky;top:0;z-index:20;background:var(--color-bg);border-bottom:1px solid rgba(0,0,0,.07)}
.header-inner{display:flex;align-items:center;gap:32px;height:68px}
.logo{font:600 22px/1 var(--font-heading);letter-spacing:.08em;text-transform:uppercase}
.logo img{height:32px;width:auto}
.main-nav{display:flex;gap:24px;font-size:14px}
.main-nav a:hover,.main-nav a[aria-current]{text-decoration:underline;text-underline-offset:6px}
.header-icons{margin-left:auto;display:flex;gap:16px;align-items:center}
.cart-link{position:relative;display:flex}
.cart-count{position:absolute;top:-8px;right:-10px;min-width:18px;height:18px;border-radius:9px;background:var(--color-accent);color:var(--color-accent-text);font-size:11px;font-weight:700;display:grid;place-items:center;padding:0 4px}
.cart-count[hidden]{display:none}
@media (max-width:800px){.main-nav{display:none}}
.hero{padding:32px 0 48px}
.hero-inner{display:grid;grid-template-columns:1fr 1.2fr;gap:40px;align-items:center}
.hero--stacked .hero-inner{grid-template-columns:1fr;text-align:center}
.hero--stacked .hero-copy{max-width:640px;margin:0 auto}
.hero-heading{font-size:clamp(2.6rem,6vw,4.6rem)}
.hero-sub{font-size:18px;opacity:.75;margin:0 0 28px}
.hero-media img,.hero-media .placeholder{width:100%;border-radius:calc(var(--radius) * 1.5);aspect-ratio:4/3;object-fit:cover}
@media (max-width:800px){.hero-inner{grid-template-columns:1fr}.hero-media{order:-1}}
.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:28px 20px}
.product-card-media{position:relative;overflow:hidden;border-radius:var(--radius);background:rgba(0,0,0,.04);aspect-ratio:1}
.product-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.product-card:hover img{transform:scale(1.03)}
.product-card-title{margin:12px 0 2px;font-weight:500}
.product-card-price{margin:0;font-size:15px}
.tag{position:absolute;top:10px;left:10px;background:var(--color-accent);color:var(--color-accent-text);font-size:12px;font-weight:600;padding:3px 10px;border-radius:999px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.split--reverse .split-media{order:2}
.split-media img,.split-media .placeholder{width:100%;border-radius:calc(var(--radius) * 1.5);aspect-ratio:4/3;object-fit:cover}
@media (max-width:800px){.split{grid-template-columns:1fr}.split--reverse .split-media{order:0}}
.collection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}
.collection-card img,.collection-card .placeholder{aspect-ratio:1;object-fit:cover;border-radius:var(--radius);width:100%}
.collection-card span{display:block;margin-top:10px;font-weight:500}
.newsletter-form,.search-form{display:flex;gap:10px;max-width:480px;margin:20px auto 0}
.search-form{margin:0 0 24px}
input[type=email],input[type=search],input[type=text],input[type=number]{height:48px;border:1px solid rgba(0,0,0,.2);border-radius:999px;padding:0 18px;font:inherit;background:#fff;color:inherit;flex:1;min-width:0}
.product-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:56px;align-items:start}
.product-main-image{width:100%;border-radius:var(--radius);aspect-ratio:1;object-fit:cover;background:rgba(0,0,0,.04)}
.thumbs{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.product-media-list{display:flex;flex-direction:column;gap:12px}
.product-external-video iframe{display:block;width:100%;aspect-ratio:16/9;height:auto;border:0;border-radius:var(--radius)}
.shopis-model{position:relative}.shopis-model img:not([hidden]){display:block;width:100%;border-radius:var(--radius);aspect-ratio:1;object-fit:cover}.shopis-model__actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:8px}.shopis-model__actions button{min-height:44px;padding:0 18px;border-radius:999px;border:1px solid currentColor;background:transparent;color:inherit;font:inherit;cursor:pointer}.shopis-model__frame{border-radius:var(--radius)}
.thumb{width:72px;height:72px;padding:0;border:2px solid transparent;border-radius:calc(var(--radius) * .6);overflow:hidden;cursor:pointer;background:none}
.thumb.is-active{border-color:var(--color-text)}
.thumb img{width:100%;height:100%;object-fit:cover}
.product-info{position:sticky;top:96px}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:12px;margin:0 0 8px}
.price{font-size:22px;margin:0 0 24px;display:flex;gap:10px;align-items:baseline}
.option{border:0;padding:0;margin:0 0 18px}
.option legend{font-size:14px;font-weight:600;margin-bottom:8px}
.pill input{position:absolute;opacity:0;pointer-events:none}
.pill span{display:inline-block;padding:8px 16px;border:1px solid rgba(0,0,0,.2);border-radius:999px;margin:0 6px 6px 0;cursor:pointer;font-size:14px}
.pill input:checked+span{background:var(--color-text);color:var(--color-bg);border-color:var(--color-text)}
.buy-row{display:flex;gap:10px;margin:8px 0 28px}
.qty{width:84px;flex:none!important;text-align:center;padding:0 8px!important}
@media (max-width:800px){.product-layout{grid-template-columns:1fr;gap:28px}.product-info{position:static}}
.collection-head{margin-bottom:28px}
.pagination{display:flex;gap:20px;justify-content:center;margin-top:40px}
.cart-line{display:grid;grid-template-columns:88px 1fr 84px 100px;gap:16px;align-items:center;padding:18px 0;border-bottom:1px solid rgba(0,0,0,.08)}
.cart-thumb img{border-radius:calc(var(--radius) * .6);aspect-ratio:1;object-fit:cover}
.cart-line-info p{margin:2px 0}
.cart-line-total{text-align:right;margin:0}
.cart-footer{display:flex;justify-content:space-between;gap:24px;margin-top:28px;align-items:flex-start;flex-wrap:wrap}
.cart-total{min-width:280px}.cart-total p{margin:0 0 8px}
@media (max-width:600px){.cart-line{grid-template-columns:64px 1fr 70px}.cart-line-total{display:none}}
.site-footer{border-top:1px solid rgba(0,0,0,.08);margin-top:48px;padding:48px 0 24px;font-size:14px}
.footer-inner{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap}
.footer-inner nav{display:flex;gap:20px;flex-wrap:wrap}
.footer-brand{font:600 18px/1 var(--font-heading);letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px}
.footer-bottom{margin-top:32px;font-size:13px}
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--color-text);color:var(--color-bg);padding:12px 20px;border-radius:999px;font-size:14px;z-index:50}

[dir="rtl"] body { text-align: start; }
[dir="rtl"] .option { text-align: right; }

.nav-group{position:relative}.nav-group summary{cursor:pointer;list-style:none}.nav-group summary:after{content:"";margin-inline-start:6px}.nav-group ul{list-style:none;margin:8px 0 0;padding:12px;background:var(--color-bg);border:1px solid rgba(0,0,0,.1);border-radius:var(--radius);min-width:180px}.main-nav>.nav-group>ul{position:absolute;inset-inline-start:0;z-index:20}.nav-group li{padding:6px}.nav-group a{display:block}.nav-group .nav-group>ul{position:static}.nav-group summary:focus-visible{outline:2px solid currentColor;outline-offset:4px}

.search-form{position:relative;flex-wrap:wrap}[data-predictive-results]{flex-basis:100%;width:100%;border:1px solid rgba(0,0,0,.1);border-radius:var(--radius);background:var(--color-bg);padding:8px}[data-predictive-results] a{display:block;padding:10px;border-radius:6px}[data-predictive-results] a[aria-selected="true"],[data-predictive-results] a:hover{background:rgba(0,0,0,.06)}[data-predictive-status]{font-size:13px;flex-basis:100%}

.mobile-navigation{display:none}@media(max-width:800px){.mobile-navigation{display:block;position:relative;margin-inline-start:auto}.mobile-navigation summary{cursor:pointer}.mobile-navigation>nav{position:absolute;inset-inline-end:0;top:100%;z-index:30;min-width:230px;max-width:80vw;padding:16px;border:1px solid rgba(0,0,0,.1);border-radius:var(--radius);background:var(--color-bg)}.mobile-navigation>nav>a,.mobile-navigation>nav>.nav-group{display:block;padding:8px 0}.mobile-navigation .nav-group>ul{position:static}}

.bundle-group{margin:0 0 14px}.bundle-option{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0;font-size:14px}.bundle-option .qty{height:36px}.bundle-group.is-invalid{color:#b42318}

/* Product lists share the same controls in collection, search and recommendations.
   Native scrolling keeps each slider usable without a JavaScript hydration pass. */
.product-list{--product-ratio:1;grid-template-columns:repeat(var(--product-cols-mobile,2),minmax(0,1fr));column-gap:var(--product-gap-mobile,16px)}
.product-list>.product-card{min-width:0;scroll-snap-align:start}
.product-list--ratio-original{--product-ratio:auto}.product-list--ratio-portrait{--product-ratio:3/4}.product-list--ratio-landscape{--product-ratio:4/3}.product-list--ratio-wide{--product-ratio:16/9}
.product-list .product-card-media{aspect-ratio:var(--product-ratio)}
.product-list--ratio-original .product-card-media img{height:auto}
.product-list--mobile-slider{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:calc((100% - (var(--product-cols-mobile,2) - 1) * var(--product-gap-mobile,16px)) / var(--product-cols-mobile,2));overflow-x:auto;scroll-snap-type:x proximity;overscroll-behavior-inline:contain;padding-block-end:12px;scrollbar-width:thin}
.product-list:focus-visible,.product-card:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.product-card-vendor{margin:10px 0 0;font-size:13px}.product-card-title{overflow-wrap:anywhere}
.product-card-media .product-card-secondary{position:absolute;inset:0;opacity:0;transition:opacity 180ms ease-out}
@media(hover:hover) and (pointer:fine){.product-card:hover .product-card-secondary{opacity:1}}
.product-card:focus-visible .product-card-secondary{opacity:1}
@media(min-width:800px){
 .product-list{grid-template-columns:repeat(var(--product-cols,4),minmax(0,1fr));column-gap:var(--product-gap,20px);grid-auto-flow:row;grid-auto-columns:auto;overflow:visible;padding-block-end:0}
 .product-list--slider{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:calc((100% - (var(--product-cols,4) - 1) * var(--product-gap,20px)) / var(--product-cols,4));overflow-x:auto;scroll-snap-type:x proximity;overscroll-behavior-inline:contain;padding-block-end:12px;scrollbar-width:thin}
}
@media(prefers-reduced-motion:reduce){.product-card-media img,.product-card-media .product-card-secondary{transition:none}.product-card:hover img{transform:none}}
/* Content-section controls preserve the theme's inherited defaults. */
.content-heading--small{font-size:clamp(1.4rem,2vw,1.8rem)}.content-heading--medium{font-size:clamp(1.8rem,3vw,2.6rem)}.content-heading--large{font-size:clamp(2.4rem,5vw,4rem)}.content-heading--display{font-size:clamp(3rem,7vw,6rem)}
.hero-media,.split-media{position:relative;min-width:0}.hero-media picture,.split-media picture{display:block;width:100%;height:100%}.hero-media img,.split-media img{object-fit:var(--content-fit,cover)}
.content-media--small{--content-height:320px}.content-media--medium{--content-height:480px}.content-media--large{--content-height:640px}.content-media--full{--content-height:100svh}
:is(.content-media--small,.content-media--medium,.content-media--large,.content-media--full) :is(.hero-media,.split-media){height:var(--content-height)}
:is(.content-media--small,.content-media--medium,.content-media--large,.content-media--full) :is(.hero-media,.split-media) :is(img,.placeholder){height:100%;aspect-ratio:auto}
.content-position--top :is(.hero-inner,.split){align-items:start}.content-position--bottom :is(.hero-inner,.split){align-items:end}
.hero--overlay .hero-inner{position:relative;display:grid;grid-template-columns:1fr;max-width:none;padding:0;gap:0;isolation:isolate}.hero--overlay .hero-inner>*{grid-area:1/1}.hero--overlay .hero-copy{z-index:1;padding:40px;max-width:760px;align-self:center}.hero--overlay .hero-media{width:100%;min-height:420px}.hero--overlay .hero-media::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,var(--content-overlay,0));pointer-events:none}.hero--overlay .hero-media img,.hero--overlay .hero-media .placeholder{height:100%;min-height:420px;border-radius:0;aspect-ratio:16/7}.hero--overlay.content-position--top .hero-copy{align-self:start}.hero--overlay.content-position--bottom .hero-copy{align-self:end}.content-tone--light .hero-copy{color:white}.content-tone--dark .hero-copy{color:#111}
.content-image-width--small .split{grid-template-columns:1fr 2fr}.content-image-width--large .split{grid-template-columns:2fr 1fr}.content-image-width--small .split--reverse{grid-template-columns:2fr 1fr}.content-image-width--large .split--reverse{grid-template-columns:1fr 2fr}
.newsletter-form{flex-wrap:wrap}.newsletter-form>p{flex-basis:100%;margin-block:8px 0;font-size:13px}.newsletter--stacked .newsletter-form{display:grid}.newsletter--stacked .newsletter-form>*{width:100%}
@media(max-width:799px){
 .content-media-mobile--adapt{--content-height:auto}.content-media-mobile--small{--content-height:280px}.content-media-mobile--medium{--content-height:400px}.content-media-mobile--large{--content-height:560px}.content-media-mobile--full{--content-height:100svh}
 [class*=content-media-mobile--]:not(.content-media-mobile--inherit) :is(.hero-media,.split-media){height:var(--content-height)}
 .content-media-mobile--adapt :is(.hero-media,.split-media) :is(img,.placeholder){height:auto;aspect-ratio:4/3}
 .content-mobile--text_first .hero-media{order:1}.content-mobile--text_first .split-media{order:2}.content-mobile--image_first .split-media{order:-1}
 [class*=content-image-width--] .split{grid-template-columns:1fr}.hero--overlay .hero-copy{padding:24px}.hero--overlay .hero-inner>.hero-media{order:0}
}

.content-media--adapt :is(.hero-media,.split-media) img{height:auto;aspect-ratio:auto}.hero-copy .button+.button{margin-inline-start:12px}

@media(max-width:799px){:is(.content-media-mobile--small,.content-media-mobile--medium,.content-media-mobile--large,.content-media-mobile--full) :is(.hero-media,.split-media) :is(img,.placeholder){height:100%;aspect-ratio:auto}}
