/*
Theme Name: Zewarlyn
Description: Zewarlyn jewelry store theme. Edit everything in Appearance > Customize > Zewarlyn Theme Settings.
Version: 4.2
Text Domain: zewarlyn
*/

/* ===== Tokens (all overridden from the Customizer) ===== */
:root{--gold:#b08a4a;--dk:#0e2b25;--bg:#faf7f1;--on:#f5efe2;--gc:176,138,74;--shc:14,43,37;
--gl:color-mix(in srgb,var(--gold),#fff 42%);--gd:color-mix(in srgb,var(--gold) 70%,var(--dk));
--mut:color-mix(in srgb,var(--dk) 74%,var(--bg));
--be:color-mix(in srgb,var(--bg),var(--gold) 12%);--hbg:var(--bg);--fbg:var(--dk);
--fh:'Cormorant Garamond',serif;--fb:Jost,sans-serif;--btnr:0;--spd:.9s;--ease:cubic-bezier(.2,.7,.2,1);--ease2:cubic-bezier(.22,1,.36,1);--line:rgba(var(--gc),.30)}

/* ===== Base ===== */
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--dk);font:400 16px/1.75 var(--fb);-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.zw-open,body.nav-open{overflow:hidden}
h1,h2,h3,h4{font-family:var(--fh);font-weight:500;line-height:1.1;margin:0 0 .4em}
h1{font-size:clamp(44px,6.4vw,86px)}h2{font-size:clamp(32px,4vw,52px)}
a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
::selection{background:var(--gold);color:var(--dk)}
.w{max-width:1280px;margin:auto;padding:0 28px}.sec{padding:110px 0}.c{text-align:center}.sec h2.c{margin-bottom:50px}.alt{background:var(--be)}
.sec h2.c::after{content:"";display:block;width:54px;height:1px;background:var(--gold);margin:22px auto 0}

/* ===== Intro loader + scroll progress ===== */
.zwpre{position:fixed;inset:0;z-index:300;background:var(--bg);display:grid;place-items:center;transition:opacity .8s ease .1s,visibility .8s .1s,transform 1s var(--ease2)}
.zwpre .pin{text-align:center}.zwpre img{max-height:84px;width:auto;margin:0 auto;animation:pre 1.2s var(--ease) both}
.zwpre span{font:400 clamp(30px,5vw,54px) var(--fh);letter-spacing:.3em;animation:pre 1.2s var(--ease) both}
.zwpre i{display:block;height:1px;background:var(--gold);width:0;margin:26px auto 0;animation:preln 1.1s .2s var(--ease2) forwards}
.zw-seen .zwpre{display:none}.zw-done .zwpre{opacity:0;visibility:hidden;transform:translateY(-18px)}
@keyframes pre{from{opacity:0;transform:translateY(16px) scale(.96);filter:blur(6px)}}@keyframes preln{to{width:140px}}
.zwp{position:fixed;top:0;left:0;height:3px;width:100%;background:linear-gradient(90deg,var(--gold),var(--gl));transform-origin:0 50%;transform:scaleX(var(--p,0));z-index:250;pointer-events:none}

/* ===== Header ===== */
.top{background:var(--dk);color:var(--on);text-align:center;font-size:13px;letter-spacing:.06em;padding:9px}
.hd{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding:18px 40px;position:sticky;top:0;z-index:60;border-bottom:1px solid var(--line);transition:padding .45s var(--ease)}
.hd::before{content:"";position:absolute;inset:0;background:var(--hbg);z-index:-1;transition:background .45s}
.hd.sc{padding-top:9px;padding-bottom:9px;box-shadow:0 14px 40px -26px rgba(var(--shc),.55)}
.hd.sc::before{background:color-mix(in srgb,var(--hbg) 84%,transparent);-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%)}
.hd ul{display:flex;gap:34px;list-style:none;margin:0;padding:0;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase}
.hd nav a{position:relative;display:inline-block;padding:4px 0}
.hd nav a::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease2)}
.hd nav a:hover::after,.hd nav .current-menu-item>a::after{transform:scaleX(1);transform-origin:left}
.hd .r{display:flex;justify-content:flex-end;align-items:center;gap:22px;font-size:14px}
.lg{justify-self:center}.lgt{font:400 26px var(--fh);letter-spacing:.34em;white-space:nowrap}.lg img{max-height:54px;width:auto;transition:max-height .45s var(--ease)}.hd.sc .lg img{max-height:42px}
.bagb{position:relative;display:inline-flex;align-items:center;gap:8px;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;padding:6px 4px}
.bagb svg{width:24px;height:24px;transition:transform .5s var(--ease2)}.bagb:hover svg{transform:translateY(-2px) rotate(-6deg)}
.zw-cnt{position:absolute;top:-5px;left:14px;min-width:18px;height:18px;padding:0 4px;border-radius:99px;background:var(--gold);color:var(--dk);font:500 11px/18px var(--fb);letter-spacing:0;text-align:center;transition:transform .4s var(--ease2)}
.zw-cnt[data-n="0"]{transform:scale(0)}.zw-cnt.bump{animation:bump .6s var(--ease2)}
@keyframes bump{30%{transform:scale(1.6)}60%{transform:scale(.85)}}
.bg,.nx{display:none}

/* ===== Buttons ===== */
.btn{position:relative;overflow:hidden;display:inline-block;background:var(--dk);color:var(--on);padding:15px 34px;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;border:1px solid var(--dk);border-radius:var(--btnr);cursor:pointer;font-family:var(--fb);transition:background .35s,color .35s,transform .35s var(--ease),box-shadow .35s}
.btn::after{content:"";position:absolute;top:0;left:-120%;width:55%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.32),transparent);transform:skewX(-20deg);transition:left .9s var(--ease)}
.btn:hover{background:transparent;color:var(--dk);transform:translateY(-2px);box-shadow:0 14px 28px -16px rgba(var(--shc),.5)}.btn:hover::after{left:150%}
.hd .btn{padding:10px 22px}.btn.g{background:var(--gold);border-color:var(--gold);color:var(--dk)}.btn.g:hover{background:transparent;color:#fff;border-color:#fff}
.btn.o{background:transparent;color:var(--dk)}.btn.o:hover{background:var(--dk);color:var(--on)}

/* ===== Hero ===== */
.hero{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center;padding:70px 6vw 100px;background:radial-gradient(120% 90% at 85% 20%,color-mix(in srgb,var(--bg),var(--gold) 22%),var(--bg) 62%)}
.hero::before{content:"";position:absolute;z-index:-1;width:560px;height:560px;right:-140px;top:-180px;background:radial-gradient(circle,rgba(var(--gc),.38),transparent 66%);animation:drift 14s ease-in-out infinite alternate}
.hero::after{content:"";position:absolute;z-index:-1;width:420px;height:420px;left:-120px;bottom:-160px;background:radial-gradient(circle,rgba(var(--gc),.25),transparent 66%);animation:drift 18s ease-in-out infinite alternate-reverse}
@keyframes drift{to{transform:translate(-60px,50px) scale(1.15)}}
.eb{display:inline-flex;align-items:center;gap:14px;font:400 12px var(--fb);letter-spacing:.3em;text-transform:uppercase;color:var(--gd);margin-bottom:22px}.eb::before{content:"";width:42px;height:1px;background:var(--gold)}
.hero p{max-width:470px;font-size:18px;color:var(--mut);margin:22px 0 38px}
.wd{display:inline-block;overflow:hidden;vertical-align:top;padding:0 .02em .12em}
.wd i{display:inline-block;font-style:normal}
.zw-an .wd i{animation:wd 1.1s var(--ease2) both;animation-delay:calc(.15s + var(--w)*.09s)}
.zw-an .hero .eb{animation:in 1s .05s both}.zw-an .hero p{animation:in 1s .75s both}.zw-an .hero .btn{animation:in 1s .95s both}
.zw-an .hero .ar{animation:in 1.3s .3s both}
@keyframes wd{from{transform:translateY(110%) rotate(4deg)}}@keyframes in{from{opacity:0;transform:translateY(22px)}}
.js:not(.zw-done):not(.zw-seen) .hero *,.js:not(.zw-done):not(.zw-seen) .hero{animation-play-state:paused!important}
.art{display:grid;place-items:center;color:var(--gd);background:linear-gradient(160deg,color-mix(in srgb,var(--bg),var(--gold) 10%),color-mix(in srgb,var(--bg),var(--gold) 36%));width:100%;height:100%}.art svg{width:56%}
.ar{position:relative;max-width:460px;margin-left:auto;width:100%}
.ar::before{content:"";position:absolute;inset:22px -22px -22px 22px;border:1px solid var(--gold);border-radius:999px 999px 0 0}
.ar .art,.ar img{position:relative;aspect-ratio:3/4;height:auto;width:100%;object-fit:cover;border-radius:999px 999px 0 0}
.hero .ar{translate:0 var(--py,0)}
.zw-an .hero .ar>img,.zw-an .hero .ar>.art{animation:float 8s ease-in-out infinite}
.hero .ar::after{content:"";position:absolute;z-index:-1;width:150%;aspect-ratio:1;left:-25%;top:-12%;border:1px dashed rgba(var(--gc),.4);border-radius:50%;animation:spin 70s linear infinite}
@keyframes float{50%{transform:translateY(-14px)}}@keyframes spin{to{transform:rotate(360deg)}}

/* ===== Marquee ===== */
.mq{overflow:hidden;white-space:nowrap;background:var(--dk);color:var(--on);border-block:1px solid rgba(var(--gc),.45);padding:15px 0}
.mt{display:inline-flex;animation:mq 34s linear infinite}.mq:hover .mt{animation-play-state:paused}
.mg{display:inline-flex}.mg span{display:inline-flex;align-items:center;font:400 22px var(--fh);letter-spacing:.08em;padding:0 38px}
.mg span::after{content:"\2726";color:var(--gold);font-size:13px;margin-left:76px}
@keyframes mq{to{transform:translateX(-50%)}}

/* ===== Statement / features ===== */
.stmt{max-width:900px;margin:0 auto;font:300 clamp(26px,3.2vw,40px)/1.4 var(--fh)}
.fts{display:grid;grid-template-columns:repeat(4,1fr);margin-top:70px;border-top:1px solid var(--line)}
.fts div{padding:30px 24px;border-right:1px solid var(--line);font-size:14px;transition:background .5s,transform .6s var(--ease)}.fts div:last-child{border:0}.fts h4{font-size:26px;color:var(--gd)}
.fts div:hover{background:rgba(var(--gc),.07)}

/* ===== Category tiles ===== */
.cats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:0 16px}
.cat{position:relative;aspect-ratio:3/4;overflow:hidden;color:#fff}
.cat .art,.cat img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}.cat:hover .art,.cat:hover img{transform:scale(1.08)}
.cat::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 50%,rgba(var(--shc),.72))}
.cat::before{content:"";position:absolute;inset:14px;border:1px solid rgba(255,255,255,.75);z-index:2;opacity:0;transform:scale(1.06);transition:opacity .6s,transform .8s var(--ease);pointer-events:none}.cat:hover::before{opacity:1;transform:none}
.cat span{position:absolute;left:26px;bottom:22px;z-index:3;font:400 34px var(--fh);transition:transform .7s var(--ease)}.cat:hover span{transform:translateY(-10px)}

/* ===== Products ===== */
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px 26px}.pc{position:relative}
.pi{position:relative;background:var(--be);aspect-ratio:4/5;overflow:hidden}.pi>a:not(.atc){display:block;height:100%}
.pi img{width:100%;height:100%;object-fit:cover;transition:transform 1.3s var(--ease),opacity .7s}.pi img.h{position:absolute;inset:0;opacity:0}
.pc:hover .pi img{transform:scale(1.07)}.pc:hover .pi img.h{opacity:1}
.pc h4{font-size:24px;margin:16px 0 2px;transition:color .3s}.pc:hover h4{color:var(--gd)}.pr{color:var(--gd);font-size:15px}
.atc{position:absolute;left:12px;right:12px;bottom:12px;z-index:3;text-align:center;padding:13px 10px;font:500 12px var(--fb);letter-spacing:.16em;text-transform:uppercase;color:var(--dk);cursor:pointer;
background:color-mix(in srgb,var(--bg) 90%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--btnr);
transform:translateY(135%);transition:transform .65s var(--ease2),background .3s,color .3s,opacity .3s}
.pc:hover .atc,.atc:focus-visible{transform:none}.atc:hover{background:var(--dk);color:var(--on)}.atc.ld{opacity:.55;pointer-events:none}.atc.ok{background:var(--gold);color:var(--dk)}
.sale{position:absolute;top:12px;left:12px;z-index:4;background:var(--gold);color:var(--dk);font:400 11px var(--fb);letter-spacing:.14em;text-transform:uppercase;padding:4px 13px;font-style:normal;border-radius:var(--btnr)}

/* ===== Deal ===== */
.deal{background:var(--dk);color:var(--on);padding:70px 0}.deal .w{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap}
.cd{display:flex;gap:38px}.cd div{text-align:center}.cd b{display:block;font:300 62px/1 var(--fh);color:var(--gl)}.cd small{font-size:12px;letter-spacing:.14em}

/* ===== Blocks, slider, promo, reviews ===== */
.two{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.two p{max-width:440px;margin:0 0 34px;color:var(--mut)}.rev .ar{order:2;margin-left:0}
.two .ar img,.two .ar .art{transition:transform 1.4s var(--ease)}.two .ar:hover img,.two .ar:hover .art{transform:scale(1.03)}
.sh{display:flex;justify-content:space-between;align-items:end;margin-bottom:40px}.sh h2{margin:0}
.sh button{border:1px solid var(--gold);background:none;width:46px;height:46px;border-radius:50%;color:var(--dk);cursor:pointer;margin-left:8px;font-size:20px;transition:background .3s,color .3s,transform .4s var(--ease)}.sh button:hover{background:var(--gold);color:#fff;transform:scale(1.08)}
.slide{display:grid;grid-auto-flow:column;grid-auto-columns:calc(25% - 20px);gap:26px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;cursor:grab}.slide>*{scroll-snap-align:start}.slide::-webkit-scrollbar{display:none}.slide.dr{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto}.slide.dr a{pointer-events:none}
.promo{display:grid;grid-template-columns:1fr 1fr}.pm{position:relative;min-height:460px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:60px 7%;color:#fff;overflow:hidden;background:color-mix(in srgb,var(--dk) 88%,#000)}
.pm:last-child{background:color-mix(in srgb,var(--dk) 62%,var(--gold))}.pm .art,.pm>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5;transition:transform 2s var(--ease)}.pm:hover .art,.pm:hover>img{transform:scale(1.06)}.pm .art{background:none;opacity:.32}.pm h2,.pm .btn{position:relative}.pm h2{max-width:420px;margin-bottom:26px}
.tst{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.tst blockquote{position:relative;margin:0;padding-top:34px;font:300 24px/1.45 var(--fh)}
.tst blockquote::before{content:"\201C";position:absolute;top:-14px;left:-4px;font:400 86px/1 var(--fh);color:var(--gd);opacity:.35}
.tst cite{display:block;margin-top:16px;font:400 14px var(--fb);color:var(--gd);font-style:normal;letter-spacing:.08em}

/* ===== Footer ===== */
.ft{position:relative;background:var(--fbg);color:color-mix(in srgb,var(--on),var(--dk) 28%);padding:80px 0 30px}.ft::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.ft .w{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:40px}.ft h3,.ft h4{color:var(--on)}.ft h3{letter-spacing:.3em}.ft h4{font-size:22px}
.ft ul{list-style:none;margin:0;padding:0}.ft li{margin:6px 0}.ft li a{display:inline-block;transition:color .3s,transform .4s var(--ease)}.ft li a:hover{color:#fff;transform:translateX(6px)}
.ft small{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.12);padding-top:24px;opacity:.7}

/* ===== Slide-in cart ===== */
.zwo{position:fixed;inset:0;z-index:90;background:rgba(var(--shc),.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:opacity .55s,visibility .55s}
.zw-open .zwo,.nav-open .zwo{opacity:1;visibility:visible}
.zwc{position:fixed;top:0;bottom:0;right:0;z-index:100;width:min(450px,100vw);background:var(--bg);display:flex;flex-direction:column;transform:translateX(104%);visibility:hidden;
transition:transform .7s var(--ease2),visibility 0s .7s;box-shadow:-40px 0 90px -30px rgba(0,0,0,.5)}
.zwc[data-side=left]{right:auto;left:0;transform:translateX(-104%);box-shadow:40px 0 90px -30px rgba(0,0,0,.5)}
.zw-open .zwc{transform:none;visibility:visible;transition-delay:0s}
.zwh{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;border-bottom:1px solid var(--line)}
.zwh h3{margin:0;font-size:32px}.zwh small{font:400 15px var(--fb);color:var(--gd)}.zw-cn2{font-style:normal}
.zwh .x,.nx{width:42px;height:42px;border-radius:50%;border:1px solid var(--gold);background:none;color:var(--dk);font-size:24px;line-height:1;cursor:pointer;transition:transform .6s var(--ease2),background .3s,color .3s}
.zwh .x:hover,.nx:hover{transform:rotate(90deg);background:var(--gold);color:#fff}
#zwc-body{flex:1;display:flex;flex-direction:column;min-height:0;transition:opacity .3s}.zwc.ld #zwc-body{opacity:.45;pointer-events:none}
.zws{padding:16px 28px;background:var(--be);font-size:13px;border-bottom:1px solid var(--line)}.zws p{margin:0}
.bar{height:4px;background:rgba(var(--gc),.25);border-radius:9px;overflow:hidden;margin-top:10px}
.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--gl));border-radius:9px;animation:bar 1.2s var(--ease) both}.zws.ok .bar i{background:linear-gradient(90deg,#6f9a5e,#a6cc93)}
@keyframes bar{from{width:0}}
.zwl{flex:1;overflow:auto;list-style:none;margin:0;padding:6px 28px}
.zwi{display:grid;grid-template-columns:86px 1fr auto;gap:18px;padding:20px 0;border-bottom:1px solid rgba(var(--gc),.18)}
.zwc.stag .zwi{animation:zi .7s var(--ease2) both;animation-delay:calc(.3s + var(--i)*.08s)}@keyframes zi{from{opacity:0;transform:translateX(36px)}}
.zwi .th img{width:86px;height:108px;object-fit:cover;background:var(--be)}
.zwi .nm{display:block;font:400 21px/1.2 var(--fh)}.zwi .nm:hover{color:var(--gd)}.zwi .pr{display:block;margin:4px 0 10px;font-size:14px}
.zwi dl{margin:2px 0;font-size:12px;opacity:.75}.zwi dl p,.zwi dl dd{display:inline;margin:0}.zwi dt{display:inline;font-weight:400}.zwi dd::after{content:"";display:block}
.q{display:inline-flex;align-items:center;border:1px solid rgba(var(--gc),.55);border-radius:var(--btnr)}
.q button{width:32px;height:32px;border:0;background:none;color:var(--dk);font-size:17px;cursor:pointer;transition:background .25s,color .25s}.q button:hover:not(:disabled){background:var(--gold);color:#fff}.q button:disabled{opacity:.3;cursor:not-allowed}.q b{min-width:30px;text-align:center;font-weight:400;font-size:14px}
.rm{align-self:start;border:0;background:none;font-size:24px;line-height:1;color:var(--dk);opacity:.5;cursor:pointer;transition:opacity .25s,transform .5s var(--ease2)}.rm:hover{opacity:1;transform:rotate(90deg);color:var(--gd)}
.zwf{padding:22px 28px 28px;border-top:1px solid var(--line);background:var(--be)}
.tot{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px;font-size:13px;letter-spacing:.16em;text-transform:uppercase}.tot b{font:400 28px var(--fh);letter-spacing:0;text-transform:none;color:var(--dk)}
.zwf .btn{display:block;width:100%;text-align:center}.zwf .btn+.btn{margin-top:10px}.zwf small{display:block;margin-top:14px;text-align:center;font-size:12px;opacity:.7;line-height:1.5}
.zwe{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:40px}.zwe svg{width:78px;height:78px;color:var(--gd);animation:float 5s ease-in-out infinite}.zwe p{font:300 26px var(--fh);margin:10px 0 18px}
.zwt{position:fixed;left:50%;bottom:30px;z-index:140;transform:translate(-50%,30px);opacity:0;background:var(--dk);color:var(--on);padding:14px 28px;font-size:14px;letter-spacing:.05em;border-radius:var(--btnr);pointer-events:none;transition:opacity .5s,transform .6s var(--ease2);max-width:90vw;text-align:center}.zwt.on{opacity:1;transform:translate(-50%,0)}
.zwfly{position:fixed;z-index:200;background-size:cover;background-position:center;pointer-events:none;box-shadow:0 22px 50px -12px rgba(0,0,0,.45)}

/* ===== Floating buttons ===== */
.btt,.zwa{position:fixed;bottom:22px;z-index:70;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;cursor:pointer}
.btt{right:22px;border:1px solid var(--gold);background:var(--bg);color:var(--dk);opacity:0;transform:translateY(24px);pointer-events:none;transition:opacity .5s,transform .6s var(--ease2),background .3s,color .3s}
.btt.on{opacity:1;transform:none;pointer-events:auto}.btt:hover{background:var(--gold);color:#fff}.btt svg,.zwa svg{width:22px;height:22px}
.zwa{left:22px;background:#25d366;color:#fff;border:0;box-shadow:0 12px 26px -10px rgba(37,211,102,.7)}.zwa::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #25d366;animation:ping 2.4s ease-out infinite}
@keyframes ping{to{transform:scale(1.7);opacity:0}}

/* ===== Scroll reveal ===== */
.js .zw-an [data-r]{opacity:0;transition:opacity var(--spd) ease calc(var(--i,0)*.09s),transform var(--spd) var(--ease) calc(var(--i,0)*.09s)}
.js .zw-an.an-up [data-r]{transform:translateY(38px)}
.js .zw-an.an-zoom [data-r]{transform:scale(.92)}
.js .zw-an.an-left [data-r]{transform:translateX(-46px)}
.js .zw-an [data-r].in{opacity:1;transform:none}

/* ===== Inner pages & WooCommerce ===== */
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.pg,.wcm{padding-top:64px;padding-bottom:130px;min-height:60vh}
.pg article>h1,.wcm .page-title,.woocommerce-products-header h1{text-align:center;font-size:clamp(40px,5vw,64px);margin:0 0 56px}
.pg article>h1::after,.wcm .page-title::after{content:"";display:block;width:54px;height:1px;background:var(--gold);margin:22px auto 0}
.zw-an .pg article>h1,.zw-an .wcm .page-title{animation:in 1s both}
.entry{max-width:900px;margin:0 auto}.woocommerce-cart .entry,.woocommerce-checkout .entry,.woocommerce-account .entry{max-width:none}.entry p{color:var(--mut)}.pg .woocommerce{max-width:1180px;margin:0 auto}
.woocommerce-breadcrumb{font-size:13px;letter-spacing:.04em;color:var(--mut);margin:0 0 30px}.woocommerce-breadcrumb a{color:var(--gd)}.woocommerce-breadcrumb a:hover{text-decoration:underline}
address{font-style:normal;line-height:1.8}mark{background:none;color:var(--gd)}
.woocommerce-notices-wrapper{grid-column:1/-1}

/* buttons */
.button,#place_order,button.single_add_to_cart_button{position:relative;overflow:hidden;display:inline-block;background:var(--dk);color:var(--on);border:1px solid var(--dk);padding:15px 32px;font:500 12.5px/1.4 var(--fb);letter-spacing:.16em;text-transform:uppercase;text-align:center;border-radius:var(--btnr);cursor:pointer;transition:background .35s,color .35s,transform .35s var(--ease),box-shadow .35s,border-color .35s}
.button:hover,#place_order:hover{background:transparent;color:var(--dk);transform:translateY(-2px);box-shadow:0 14px 28px -16px rgba(var(--shc),.5)}
.button.alt,.checkout-button,#place_order,.single_add_to_cart_button{background:var(--gold);border-color:var(--gold);color:var(--dk)}
.button.alt:hover,.checkout-button:hover,#place_order:hover,.single_add_to_cart_button:hover{background:var(--dk);border-color:var(--dk);color:var(--on)}
.button:disabled,.button[disabled]{opacity:.4;pointer-events:none}.button.ld,.button.loading{opacity:.55;pointer-events:none}.button.ok{background:var(--gold);border-color:var(--gold);color:var(--dk)}
.added_to_cart{display:none}

/* forms */
main input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=hidden]),main textarea,main select{width:100%;max-width:100%;padding:13px 16px;border:1px solid rgba(var(--gc),.5);background:rgba(255,255,255,.7);font:400 15px var(--fb);color:var(--dk);border-radius:var(--btnr);transition:border-color .3s,box-shadow .3s;-webkit-appearance:none;appearance:none}
main select{background-image:linear-gradient(45deg,transparent 50%,var(--gd) 50%),linear-gradient(135deg,var(--gd) 50%,transparent 50%);background-position:calc(100% - 20px) 52%,calc(100% - 14px) 52%;background-size:6px 6px;background-repeat:no-repeat;padding-right:38px}
main textarea{min-height:120px;resize:vertical;line-height:1.6}
main input::placeholder,main textarea::placeholder{color:color-mix(in srgb,var(--dk) 45%,var(--bg))}
main input:focus,main textarea:focus,main select:focus{outline:0;border-color:var(--gold);box-shadow:0 0 0 3px rgba(var(--gc),.2)}
input[type=checkbox],input[type=radio]{accent-color:var(--gold);width:17px;height:17px;vertical-align:-3px;margin-right:8px}
.form-row{margin:0 0 20px;padding:0}.form-row label{display:block;font-size:13.5px;letter-spacing:.02em;color:var(--mut);margin-bottom:7px}.form-row label.checkbox,.form-row .woocommerce-form__label-for-checkbox{display:flex;align-items:center;letter-spacing:0;font-size:14.5px;color:var(--dk)}
.woocommerce-input-wrapper{display:block}.required,abbr[title]{color:var(--gd);text-decoration:none;border:0}
.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper,.woocommerce-address-fields__field-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.woocommerce-billing-fields__field-wrapper>.form-row,.woocommerce-shipping-fields__field-wrapper>.form-row,.woocommerce-address-fields__field-wrapper>.form-row{grid-column:1/-1;width:100%;float:none}
.woocommerce-billing-fields__field-wrapper>.form-row-first,.woocommerce-billing-fields__field-wrapper>.form-row-last,.woocommerce-shipping-fields__field-wrapper>.form-row-first,.woocommerce-shipping-fields__field-wrapper>.form-row-last,.woocommerce-address-fields__field-wrapper>.form-row-first,.woocommerce-address-fields__field-wrapper>.form-row-last,
#billing_city_field,#billing_state_field,#billing_postcode_field,#billing_phone_field,#shipping_city_field,#shipping_state_field,#shipping_postcode_field{grid-column:auto!important}
.select2-container{width:100%!important}.select2-container .select2-selection--single{height:50px;border:1px solid rgba(var(--gc),.5);background:rgba(255,255,255,.7);border-radius:var(--btnr)}
.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:48px;padding-left:16px;color:var(--dk);font-size:15px}.select2-container--default .select2-selection--single .select2-selection__arrow{height:48px;right:8px}
.select2-container--open .select2-selection--single,.select2-container--focus .select2-selection--single{border-color:var(--gold)}
.select2-dropdown{background:var(--bg);border:1px solid var(--gold);border-radius:var(--btnr);z-index:99999;font:400 15px var(--fb)}.select2-search--dropdown .select2-search__field{border:1px solid var(--line);padding:9px 12px;border-radius:var(--btnr)}
.select2-container--default .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-results__option--highlighted[data-selected]{background:var(--dk);color:var(--on)}
form.login,form.register,form.lost_reset_password,.woocommerce-form-login{border:1px solid var(--line);padding:34px;background:rgba(255,255,255,.5);margin:0 0 30px}
.u-columns{display:grid;grid-template-columns:1fr 1fr;gap:50px}.u-column1,.u-column2{width:100%;float:none}
.woocommerce h2,.woocommerce h3{margin-top:0}.woocommerce-checkout h3,.u-columns h2,.woocommerce-account h2{font-size:clamp(28px,3vw,36px)}

/* notices */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-notice{list-style:none;margin:0 0 28px;padding:18px 24px;background:var(--be);border-left:3px solid var(--gold);display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;font-size:15px}
.woocommerce-error{border-color:#b4533c;background:#f8ebe6}.woocommerce-message .button,.woocommerce-info .button{order:2;margin-left:auto;padding:11px 22px}.woocommerce-info a,.woocommerce-message a:not(.button){color:var(--gd);text-decoration:underline}

/* tables */
main table{width:100%;border-collapse:collapse}
.shop_table th,.shop_table td{padding:18px 14px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;font-size:15px}
.shop_table thead th{font:500 12.5px var(--fb);letter-spacing:.14em;text-transform:uppercase;color:var(--gd);padding-top:0}
.shop_table tfoot th{font-weight:500}.shop_table .order-total td,.shop_table .order-total th{font:500 26px var(--fh);border-bottom:0;white-space:nowrap}
.price del{opacity:.5;margin-right:6px}.price ins{text-decoration:none}

/* quantity stepper (added by theme.js) */
.quantity{display:inline-flex;align-items:stretch;border:1px solid rgba(var(--gc),.5);background:rgba(255,255,255,.7);border-radius:var(--btnr)}
.quantity .qty{width:54px!important;border:0!important;background:none!important;box-shadow:none!important;text-align:center;padding:12px 0!important;-moz-appearance:textfield}
.quantity .qty::-webkit-outer-spin-button,.quantity .qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.quantity .zq{width:40px;border:0;background:none;color:var(--dk);font-size:18px;cursor:pointer;transition:background .25s,color .25s}.quantity .zq:hover{background:var(--dk);color:var(--on)}

/* cart */
.woocommerce-cart .woocommerce{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:0 56px;align-items:start;max-width:1280px}
.woocommerce-cart .woocommerce>.cart-empty,.woocommerce-cart .woocommerce>.return-to-shop{grid-column:1/-1}
.woocommerce-cart-form{margin:0}.woocommerce-cart-form .shop_table{border-top:0}
a.remove{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--line);border-radius:50%;font-size:19px;line-height:1;color:var(--dk)!important;transition:background .3s,color .3s,transform .5s var(--ease2)}
a.remove:hover{background:var(--dk);border-color:var(--dk);color:var(--on)!important;transform:rotate(90deg)}
td.product-thumbnail{width:112px}td.product-thumbnail img{width:96px;height:120px;aspect-ratio:4/5;object-fit:cover;background:var(--be);display:block}
td.product-name a{font:500 24px/1.2 var(--fh)}td.product-name a:hover{color:var(--gd)}td.product-price,td.product-subtotal{color:var(--gd);white-space:nowrap}
td.actions{padding:26px 0 0!important;border-bottom:0!important}td.actions::after{content:"";display:block;clear:both}
.actions .coupon{float:left;display:flex;gap:10px;align-items:stretch}.actions .coupon label{display:none}.actions #coupon_code{width:220px!important}.actions>.button{float:right}
.cart-collaterals{position:sticky;top:110px}.cart_totals{background:var(--be);border:1px solid var(--line);padding:34px;float:none!important;width:100%!important}.cart_totals h2{font-size:34px;margin-bottom:12px}
.cart_totals th{width:36%;font-weight:500}.cart_totals td{text-align:right}.cart_totals .shop_table th,.cart_totals .shop_table td{padding:15px 0}
.wc-proceed-to-checkout{padding-top:22px}.wc-proceed-to-checkout .button{display:block;width:100%}
.cart-empty{text-align:center;font:400 30px var(--fh);padding:30px 0 10px}.return-to-shop{text-align:center}

/* checkout */
.woocommerce-additional-fields{margin-top:34px}
form.checkout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);column-gap:64px;align-items:start}
.woocommerce-checkout .woocommerce{max-width:1180px}
#customer_details{grid-column:1;grid-row:1/span 3}#customer_details .col-1,#customer_details .col-2{width:100%;float:none}
#order_review_heading{grid-column:2;grid-row:1;margin-bottom:18px;font-size:34px}#order_review{grid-column:2;grid-row:2;background:var(--be);border:1px solid var(--line);padding:30px}
#order_review .shop_table th,#order_review .shop_table td{padding:14px 0}#order_review .shop_table thead th{padding-top:0}
.woocommerce-form-coupon-toggle{margin-bottom:0}.checkout_coupon{border:1px solid var(--line);padding:24px;margin-bottom:28px;background:rgba(255,255,255,.5);display:flex;gap:12px;flex-wrap:wrap}.checkout_coupon .form-row{margin:0}.checkout_coupon .form-row-first{flex:1;min-width:200px}
#payment{background:none}#payment ul.payment_methods{list-style:none;margin:22px 0 0;padding:0;border:0}#payment li{margin:0 0 10px;list-style:none}#payment ul.payment_methods>li:not(.woocommerce-info):not(.woocommerce-notice){border:1px solid var(--line);padding:14px 18px;background:rgba(255,255,255,.55)}#payment li label{font-size:15px;color:var(--dk);margin:0;display:inline}
.payment_box{background:none;padding:10px 0 0 25px;font-size:14px;color:var(--mut);margin:0}.payment_box p{margin:0}.payment_box::before{display:none}
#payment .place-order{padding-top:8px}#place_order{width:100%;margin-top:14px;padding:18px}.woocommerce-privacy-policy-text,.woocommerce-terms-and-conditions-wrapper{font-size:13px;color:var(--mut)}.woocommerce-privacy-policy-text a{color:var(--gd);text-decoration:underline}
.woocommerce-order-overview{display:flex;flex-wrap:wrap;gap:20px 44px;list-style:none;margin:0 0 40px;padding:28px;background:var(--be);border:1px solid var(--line);font-size:13px;color:var(--mut)}
.woocommerce-order-overview strong{display:block;font:500 22px var(--fh);color:var(--dk);margin-top:4px}.woocommerce-thankyou-order-received{font:400 28px var(--fh);text-align:center;margin-bottom:34px}

/* account */
.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation){display:grid;grid-template-columns:250px minmax(0,1fr);gap:56px;align-items:start}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;border:1px solid var(--line);background:rgba(255,255,255,.4)}
.woocommerce-MyAccount-navigation li a{display:block;padding:15px 20px;border-bottom:1px solid var(--line);font-size:13px;letter-spacing:.12em;text-transform:uppercase;transition:background .3s,color .3s,padding .4s var(--ease)}
.woocommerce-MyAccount-navigation li:last-child a{border:0}.woocommerce-MyAccount-navigation li a:hover,.woocommerce-MyAccount-navigation li.is-active a{background:var(--dk);color:var(--on);padding-left:28px}

/* shop archive */
.woocommerce-result-count{float:left;font-size:14px;color:var(--mut);margin:0 0 30px;line-height:46px}.woocommerce-ordering{float:right;margin:0 0 30px}.woocommerce-ordering select{width:auto!important;min-width:200px;padding:11px 38px 11px 16px!important;font-size:14px!important}
ul.products{clear:both;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:52px 26px;list-style:none;margin:0;padding:0}ul.products.columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}ul.products.columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}
ul.products li.product{position:relative;display:flex;flex-direction:column;margin:0;padding:0;list-style:none;text-align:left;float:none;width:auto}
li.product a.woocommerce-LoopProduct-link{display:block;position:relative}li.product .zwimg,li.product a.woocommerce-LoopProduct-link{overflow:hidden}
li.product img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;background:var(--be);transition:transform 1.3s var(--ease)}li.product:hover img{transform:scale(1.05)}
li.product a.woocommerce-LoopProduct-link>img{margin-bottom:0}
.woocommerce-loop-product__title{font:500 24px/1.2 var(--fh);margin:18px 0 4px;transition:color .3s}li.product:hover .woocommerce-loop-product__title{color:var(--gd)}
li.product .price{display:block;color:var(--gd);font-size:16px;font-weight:500}
li.product .button{display:block;width:100%;margin-top:16px;padding:13px 10px;background:transparent;color:var(--dk);border-color:rgba(var(--gc),.7);margin-top:auto}li.product .price{margin-bottom:16px}li.product .button:hover{background:var(--dk);color:var(--on);border-color:var(--dk)}
.onsale{position:absolute;top:14px;left:14px;z-index:6;background:var(--gold);color:var(--dk);font:500 11px/1 var(--fb);letter-spacing:.14em;text-transform:uppercase;padding:7px 14px;border-radius:var(--btnr)}
.star-rating{position:relative;overflow:hidden;width:5.4em;height:1em;line-height:1;font-size:15px;letter-spacing:.1em;margin:6px 0}
.star-rating::before{content:"\2605\2605\2605\2605\2605";color:rgba(var(--gc),.3);position:absolute;top:0;left:0}.star-rating span{position:absolute;top:0;left:0;overflow:hidden;padding-top:1.5em}.star-rating span::before{content:"\2605\2605\2605\2605\2605";color:var(--gold);position:absolute;top:0;left:0}
.woocommerce-pagination ul{display:flex;justify-content:center;gap:8px;list-style:none;margin:64px 0 0;padding:0}
.woocommerce-pagination .page-numbers{display:grid;place-items:center;min-width:44px;height:44px;padding:0 6px;border:1px solid var(--line);border-radius:50%;font-size:14px;transition:background .3s,color .3s}
.woocommerce-pagination a.page-numbers:hover,.woocommerce-pagination .current{background:var(--dk);color:var(--on);border-color:var(--dk)}

/* single product */
.single-product div.product{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 80px;align-items:start}
.single-product div.product>*{grid-column:1/-1}.single-product div.product>.woocommerce-product-gallery{grid-column:1;grid-row:1}.single-product div.product>.summary{grid-column:2;grid-row:1;padding-top:8px}
.woocommerce-product-gallery{position:relative;margin:0}.woocommerce-product-gallery__wrapper{margin:0}
.woocommerce-product-gallery__image img{width:100%;height:auto;background:var(--be);box-shadow:0 40px 70px -44px rgba(var(--shc),.55)}
.flex-control-thumbs{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0 0;padding:0}.flex-control-thumbs img{cursor:pointer;opacity:.55;transition:opacity .3s}.flex-control-thumbs img:hover,.flex-control-thumbs img.flex-active{opacity:1}
.woocommerce-product-gallery__trigger{position:absolute;top:14px;right:14px;z-index:5;width:42px;height:42px;border-radius:50%;background:var(--bg);display:grid;place-items:center;font-size:0;box-shadow:0 8px 20px -8px rgba(0,0,0,.4)}.woocommerce-product-gallery__trigger::before{content:"\2315";font-size:22px}
.summary .product_title{font-size:clamp(36px,4vw,58px);margin-bottom:12px}.summary .price{display:block;font:500 30px var(--fh);color:var(--gd);margin:0 0 22px}
.woocommerce-product-details__short-description{color:var(--mut);margin-bottom:28px}
.summary form.cart{display:flex;flex-wrap:wrap;gap:14px;align-items:stretch;margin:0 0 28px}.summary form.cart .quantity .qty{height:100%}
.summary form.variations_form{display:block}.variations{border:0}.variations th,.variations td{border:0;padding:6px 0;display:block;text-align:left}.variations label{font-size:13px;letter-spacing:.06em}
.woocommerce-variation-add-to-cart{display:flex;gap:14px;flex-wrap:wrap;margin-top:16px}a.reset_variations{display:inline-block;margin-top:8px;font-size:13px;color:var(--gd);text-decoration:underline}
.single_add_to_cart_button{flex:1;min-width:200px}
.product_meta{display:grid;gap:4px;font-size:14px;color:var(--mut);border-top:1px solid var(--line);padding-top:18px}.product_meta a{color:var(--gd)}
.woocommerce-tabs{margin-top:90px}.wc-tabs{display:flex;justify-content:center;gap:46px;list-style:none;margin:0 0 40px;padding:0;border-bottom:1px solid var(--line)}
.wc-tabs li a{position:relative;display:block;padding:14px 0;font-size:13px;letter-spacing:.16em;text-transform:uppercase;opacity:.65;transition:opacity .3s}.wc-tabs li.active a,.wc-tabs li a:hover{opacity:1}
.wc-tabs li.active a::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--gold)}
.woocommerce-Tabs-panel{max-width:820px;margin:0 auto;color:var(--mut)}#tab-description>h2{display:none}
.related.products,.up-sells{margin-top:100px}.related>h2,.up-sells>h2{text-align:center;font-size:clamp(32px,4vw,48px);margin-bottom:46px}
.related>h2::after,.up-sells>h2::after{content:"";display:block;width:54px;height:1px;background:var(--gold);margin:20px auto 0}
.comment-form-rating select{width:auto}#reviews ol.commentlist{list-style:none;padding:0}

/* WooCommerce Cart / Checkout blocks (if the pages use blocks instead of shortcodes) */
.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout{font-family:var(--fb);color:var(--dk)}
.wc-block-components-button:not(.is-link),.wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button{background:var(--gold)!important;color:var(--dk)!important;border:1px solid var(--gold)!important;border-radius:var(--btnr)!important;font:500 12.5px var(--fb)!important;letter-spacing:.16em;text-transform:uppercase;padding:16px 28px!important}
.wc-block-components-button:not(.is-link):hover{background:var(--dk)!important;border-color:var(--dk)!important;color:var(--on)!important}
.wc-block-components-text-input input,.wc-block-components-combobox .components-combobox-control__input,.wc-block-components-select select{border-radius:var(--btnr)!important;border-color:rgba(var(--gc),.5)!important;background:rgba(255,255,255,.7)!important}
.wc-block-components-title,.wc-block-cart__totals-title,.wc-block-components-checkout-step__title{font-family:var(--fh)!important;font-weight:500!important}
.wc-block-components-sidebar-layout .wc-block-components-main,.wc-block-components-sidebar{padding-top:0}.wc-block-components-totals-wrapper{border-color:var(--line)!important}

/* ===== Responsive ===== */
@media(max-width:1180px){
.w{padding:0 24px}.hd{padding-left:28px;padding-right:28px}.hd ul{gap:26px}
.grid,ul.products,ul.products.columns-4{grid-template-columns:repeat(3,minmax(0,1fr))}.slide{grid-auto-columns:calc(33.333% - 18px)}
.two{gap:60px}.ft .w{gap:30px}.woocommerce-cart .woocommerce{grid-template-columns:minmax(0,1fr) 340px;gap:0 36px}form.checkout{column-gap:40px}
}
@media(max-width:900px){
.hero,.two,.promo,.ft .w{grid-template-columns:1fr}.hero{padding:40px 24px 70px;gap:50px}.ar,.rev .ar{margin:0 auto;max-width:340px}.rev .ar{order:0}
.cats,.fts{grid-template-columns:1fr 1fr}.grid,ul.products,ul.products.columns-3,ul.products.columns-4{grid-template-columns:1fr 1fr;gap:34px 14px}.tst{grid-template-columns:1fr;gap:40px}.sec{padding:70px 0}.two{gap:46px}.slide{grid-auto-columns:62%;gap:14px}
.fts div:nth-child(2){border-right:0}.fts div:nth-child(-n+2){border-bottom:1px solid var(--line)}
.hd{grid-template-columns:auto 1fr auto;padding:12px 18px;gap:12px}.hd .btn,.bl{display:none}
.bg{display:flex;flex-direction:column;justify-content:center;gap:6px;width:42px;height:42px;padding:10px;background:none;border:0;cursor:pointer}.bg i{display:block;height:1px;background:var(--dk);transition:transform .45s var(--ease2),opacity .3s}
.nav-open .bg i:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-open .bg i:nth-child(2){opacity:0}.nav-open .bg i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.hd nav{position:fixed;top:0;bottom:0;left:0;z-index:100;width:min(320px,84vw);background:var(--bg);padding:96px 34px 34px;transform:translateX(-104%);visibility:hidden;transition:transform .65s var(--ease2),visibility 0s .65s}
.nav-open .hd nav{transform:none;visibility:visible;transition-delay:0s}
.hd nav ul{flex-direction:column;gap:6px;font:500 30px var(--fh);letter-spacing:.02em;text-transform:none}.hd nav li{border-bottom:1px solid var(--line);padding:10px 0}
.nx{display:block;position:absolute;top:22px;right:22px}.lgt{font-size:20px;letter-spacing:.24em}
.cd{gap:20px}.cd b{font-size:40px}.cat span{font-size:26px;left:16px}.deal .w{justify-content:center;text-align:center}
.atc{transform:none;left:8px;right:8px;bottom:8px;padding:10px 6px;font-size:11px}
.btt{right:14px;bottom:14px}.zwa{left:14px;bottom:14px}.zwi{grid-template-columns:72px 1fr auto}.zwi .th img{width:72px;height:92px}
.pm{min-height:380px;padding:50px 28px}.stmt{padding:0 4px}.sec h2.c{margin-bottom:36px}
.pg,.wcm{padding-top:34px;padding-bottom:80px}.pg article>h1,.wcm .page-title,.woocommerce-products-header h1{margin-bottom:40px}
.single-product div.product{grid-template-columns:1fr;gap:34px 0}.single-product div.product>.woocommerce-product-gallery,.single-product div.product>.summary{grid-column:1;grid-row:auto}
.woocommerce-cart .woocommerce{grid-template-columns:1fr}.cart-collaterals{position:static;margin-top:44px}
form.checkout{grid-template-columns:1fr}#customer_details,#order_review_heading,#order_review{grid-column:1;grid-row:auto}#order_review_heading{margin-top:36px}
.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper,.woocommerce-address-fields__field-wrapper,.u-columns{grid-template-columns:1fr}
.woocommerce-billing-fields__field-wrapper>.form-row,.woocommerce-shipping-fields__field-wrapper>.form-row,.woocommerce-address-fields__field-wrapper>.form-row{grid-column:1/-1!important}
.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation){grid-template-columns:1fr;gap:30px}.u-columns{gap:30px}
/* cart rows become cards */
.shop_table_responsive thead{display:none}
.woocommerce-cart-form__cart-item{display:grid;grid-template-columns:92px 1fr;grid-template-areas:"th nm" "th pr" "th qt" "th st";column-gap:18px;position:relative;border-bottom:1px solid var(--line);padding:20px 0}
.woocommerce-cart-form__cart-item td{border:0!important;padding:3px 0!important;text-align:left!important;display:block}
td.product-thumbnail{grid-area:th;width:auto}td.product-thumbnail img{width:92px;height:116px}td.product-name{grid-area:nm;padding-right:40px!important}td.product-name a{font-size:22px}
td.product-price{grid-area:pr}td.product-quantity{grid-area:qt;padding:8px 0!important}td.product-subtotal{grid-area:st}
td.product-remove{position:absolute;top:18px;right:0;padding:0!important}
.woocommerce-cart-form__cart-item td[data-title]:not([data-title=""]):not(.product-name)::before{content:attr(data-title) ": ";font-size:13px;color:var(--mut);margin-right:4px}
.shop_table_responsive:not(.woocommerce-cart-form__contents) tr{display:block;border-bottom:1px solid var(--line);padding:12px 0}
.shop_table_responsive:not(.woocommerce-cart-form__contents) td{display:flex;justify-content:space-between;align-items:center;gap:16px;border:0;padding:7px 0;text-align:right}
.shop_table_responsive:not(.woocommerce-cart-form__contents) td[data-title]:not([data-title=""])::before{content:attr(data-title);font-size:13px;color:var(--mut);text-align:left}
td.actions{display:block;padding-top:22px!important}.actions .coupon{float:none;flex-wrap:wrap;margin-bottom:12px}.actions #coupon_code{width:100%!important}.actions .coupon .button{flex:1}.actions>.button{float:none;width:100%}
.cart_totals .shop_table_responsive tr{display:table-row;padding:0;border-bottom:0}.cart_totals .shop_table_responsive th,.cart_totals .shop_table_responsive td{display:table-cell;padding:15px 0;text-align:left;border-bottom:1px solid var(--line)}.cart_totals .shop_table_responsive td{text-align:right}
.cart_totals .shop_table_responsive td[data-title]:not([data-title=""])::before{content:none}
.wc-tabs{gap:24px}.woocommerce-result-count{float:none;display:block;line-height:1.4;margin-bottom:14px}.woocommerce-ordering{float:none;margin-bottom:26px}.woocommerce-ordering select{width:100%!important}
.woocommerce-loop-product__title{font-size:20px}li.product .button{padding:12px 6px;font-size:11px;letter-spacing:.1em}
.woocommerce-info,.woocommerce-message,.woocommerce-error{padding:16px 18px}.woocommerce-message .button,.woocommerce-info .button{margin-left:0;width:100%}
.ft{padding:60px 0 26px}.ft .w{gap:34px}
}
@media(max-width:560px){
.w{padding:0 18px}.hero{padding:28px 18px 60px}.hero h1{font-size:clamp(40px,12vw,56px)}.hero p{font-size:16.5px}.btn{padding:14px 26px}
.cats{padding:0 10px;gap:10px}.cat span{font-size:22px;left:14px;bottom:14px}.fts div{padding:22px 16px}.fts h4{font-size:22px}
.grid,ul.products{gap:30px 12px}.pc h4,.woocommerce-loop-product__title{font-size:19px}.pr,li.product .price{font-size:14.5px}
.slide{grid-auto-columns:78%}.sh{align-items:center}.cd{gap:14px}.cd b{font-size:34px}
.zwc{width:100vw}.zwh,.zwl,.zwf{padding-left:20px;padding-right:20px}.zwt{bottom:84px}
.ft .w{grid-template-columns:1fr 1fr}.ft .w>div:first-child{grid-column:1/-1}
.cart_totals,#order_review{padding:24px 20px}form.login,form.register,form.lost_reset_password,.woocommerce-form-login{padding:24px 20px}
.single_add_to_cart_button{min-width:100%}.summary form.cart{flex-direction:column}.summary form.cart .quantity{align-self:flex-start}
.wc-tabs{gap:16px;flex-wrap:wrap}.woocommerce-order-overview{gap:16px 30px;padding:22px}
}
@media(hover:none){.atc{transform:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.js .zw-an [data-r]{opacity:1;transform:none}}

/* ===== Content pages: About, Contact, FAQ, policies, Blog ===== */
.zw-lead{font:400 clamp(21px,2.4vw,28px)/1.5 var(--fh);color:var(--dk);max-width:760px;margin:0 auto 54px;text-align:center}.zw-lead a{color:var(--gd);text-decoration:underline}
.pg-about .entry,.pg-contact .entry,.pg-faq .entry,.pg-blog,.pg-post .entry{max-width:1100px}
.entry h2{font-size:clamp(28px,3vw,38px);margin:48px 0 14px}.entry h3{font-size:26px;margin:0 0 8px}.entry p,.entry li{font-size:17px;line-height:1.8}.entry a:not(.btn):not(.button){color:var(--gd);text-decoration:underline}
.entry ul,.entry ol{padding-left:22px}
.zw-split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;margin-bottom:70px}.zw-split h2{margin-top:0}.zw-pic img{width:100%;aspect-ratio:4/5;object-fit:cover;background:var(--be);box-shadow:0 40px 70px -44px rgba(var(--shc),.55)}
.zw-h{text-align:center;margin-top:0!important}.zw-h::after{content:"";display:block;width:54px;height:1px;background:var(--gold);margin:20px auto 0}
.zw-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:44px 0 70px;border-top:1px solid var(--line)}.zw-cards>div{padding:28px 24px;border-right:1px solid var(--line)}.zw-cards>div:last-child{border:0}.zw-cards h3{color:var(--gd)}.zw-cards p{font-size:15.5px;margin:0;color:var(--mut)}
.zw-cta{background:var(--dk);color:var(--on);text-align:center;padding:64px 28px}.zw-cta h2{margin:0 0 8px;color:var(--on)}.zw-cta p{margin:0 0 26px;color:color-mix(in srgb,var(--on),var(--dk) 25%)}
.zw-contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}.zw-cis{display:grid;gap:14px;margin-bottom:22px}
.zw-ci{display:block;border:1px solid var(--line);padding:20px 24px;background:rgba(255,255,255,.5);transition:border-color .3s,transform .4s var(--ease)}.zw-ci:hover{border-color:var(--gold);transform:translateX(6px)}
.zw-ci b{display:block;font:500 24px var(--fh)}.zw-ci span{color:var(--gd);font-size:15px}.zw-small{font-size:14px!important;color:var(--mut);line-height:1.6!important}
.zw-form{border:1px solid var(--line);background:rgba(255,255,255,.5);padding:34px}.zw-form .button{width:100%}.zw-hp{position:absolute!important;left:-9999px;height:0;overflow:hidden}
.zw-note{padding:16px 20px;margin-bottom:20px;border-left:3px solid var(--gold);background:var(--be);font-size:15px}.zw-note.err{border-color:#b4533c;background:#f8ebe6}
.zw-faq{max-width:820px;margin:0 auto}.zw-faq h2{font-size:30px;margin:44px 0 6px}.zw-faq h2:first-child{margin-top:0}
.zw-faq details{border-bottom:1px solid var(--line)}.zw-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;font:500 22px/1.3 var(--fh);transition:color .3s}
.zw-faq summary::-webkit-details-marker{display:none}.zw-faq summary::after{content:"+";flex:none;display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--line);border-radius:50%;font:300 20px var(--fb);color:var(--gd);transition:transform .4s var(--ease2),background .3s,color .3s}
.zw-faq summary:hover{color:var(--gd)}.zw-faq details[open] summary::after{content:"\2212";background:var(--dk);color:var(--on);border-color:var(--dk)}.zw-faq details p{margin:0 0 22px;color:var(--mut);max-width:720px}
.pg-shipping-returns .entry,.pg-privacy-policy .entry,.pg-terms .entry{max-width:780px}
/* blog */
.zw-pt{text-align:center;font-size:clamp(40px,5vw,64px);margin:0 0 20px}.zw-empty{padding:40px 0;font:400 24px var(--fh)}
.bl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:56px 30px}.bl-img{display:block;overflow:hidden;background:var(--be);aspect-ratio:4/3}.bl-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.3s var(--ease)}.bl-card:hover .bl-img img{transform:scale(1.05)}
.zw-meta{display:flex;gap:14px;flex-wrap:wrap;font-size:13.5px;color:var(--gd);margin:18px 0 6px}.zw-meta a{color:var(--gd)}
.bl-card h2{font-size:28px;margin:0 0 10px}.bl-card h2 a:hover{color:var(--gd)}.bl-ex{margin:0 0 14px;color:var(--mut);font-size:16px}.bl-more{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--dk);border-bottom:1px solid var(--gold);padding-bottom:3px}
.zw-post{max-width:760px;margin:0 auto}.zw-post header{text-align:center}.zw-post h1{font-size:clamp(36px,4.6vw,58px);margin-bottom:30px}.zw-post header .zw-meta{justify-content:center}
.zw-hero-img{margin:0 -80px 44px}.zw-hero-img img{width:100%;height:auto}.post-body{max-width:none!important}.post-body img{height:auto;margin:30px 0}.post-body h2{margin-top:44px}
.zw-pn{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin:56px 0 30px;padding-top:22px;font-size:15px}.zw-pn a{color:var(--gd)}
.ft .ftl{margin-left:22px}.ft .ftl:hover{color:#fff}
.zw-pt+.zw-lead{margin-top:0}
@media(max-width:1180px){.bl-grid{gap:44px 22px}.zw-hero-img{margin:0 0 40px}}
@media(max-width:900px){.zw-split,.zw-contact{grid-template-columns:1fr;gap:40px}.zw-cards{grid-template-columns:1fr 1fr}.zw-cards>div:nth-child(2){border-right:0}.zw-cards>div:nth-child(-n+2){border-bottom:1px solid var(--line)}
.bl-grid{grid-template-columns:1fr 1fr;gap:40px 16px}.bl-card h2{font-size:23px}.zw-lead{margin-bottom:38px}.zw-form{padding:24px 20px}.zw-faq summary{font-size:20px}.ft .w{grid-template-columns:1fr}}
@media(max-width:560px){.bl-grid{grid-template-columns:1fr}.zw-cards{grid-template-columns:1fr}.zw-cards>div{border-right:0!important;border-bottom:1px solid var(--line)}.zw-cta{padding:46px 20px}.ft .w{grid-template-columns:1fr 1fr}.ft .ftl{display:block;margin:8px 0 0}.entry p,.entry li{font-size:16px}}
.entry a.zw-ci{text-decoration:none;color:var(--dk)}.entry a.bl-more,.entry a.zw-pn{text-decoration:none}

/* ===== Video, reels, follow ===== */
.zv{display:block;width:100%;height:100%;border:0;object-fit:cover;background:#000}
.zv-f{position:relative;display:block;width:100%;height:100%;border:0;padding:0;cursor:pointer;background:linear-gradient(160deg,var(--dk),color-mix(in srgb,var(--dk) 60%,var(--gold))) center/cover no-repeat}
.zv-p{position:absolute;left:50%;top:50%;width:82px;height:82px;margin:-41px 0 0 -41px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--dk);display:grid;place-items:center;box-shadow:0 18px 40px -14px rgba(0,0,0,.55);transition:transform .5s var(--ease2),background .3s}.zv-p svg{width:30px;height:30px;margin-left:4px}
.zv-f:hover .zv-p{transform:scale(1.1);background:var(--gold)}
.vid{padding:100px 0}.vid-player{background:var(--be)}.vid h2{font-size:clamp(34px,4.4vw,56px);margin:0 0 12px}.vp{max-width:620px;margin:0 auto 38px;color:var(--mut);font-size:18px}
.vid-player .vf{max-width:1000px;margin:0 auto;aspect-ratio:16/9;background:#000;box-shadow:0 50px 80px -50px rgba(var(--shc),.7)}.vid-player .vf video,.vid-player .vf iframe{aspect-ratio:16/9}.vb{margin:36px 0 0}
.vid-banner{position:relative;padding:0;min-height:min(78vh,720px);display:grid;overflow:hidden;color:#fff}.vid-banner .vf{position:absolute;inset:0}.vid-banner .vf iframe{position:absolute;left:50%;top:50%;width:max(100%,177.78vh);height:max(100%,56.25vw);transform:translate(-50%,-50%);pointer-events:none}
.vid-banner .vo{position:relative;z-index:2;display:grid;align-items:center;background:linear-gradient(90deg,rgba(var(--shc),.72),rgba(var(--shc),.18) 70%);padding:90px 0}.vid-banner h2{color:#fff;max-width:620px}.vid-banner .vo p{max-width:520px;font-size:18px;margin:0 0 30px;color:rgba(255,255,255,.88)}
.rl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;justify-content:center}.rl:has(.rv:nth-child(-n+3):last-child){grid-template-columns:repeat(3,minmax(0,300px))}.rl:has(.rv:nth-child(-n+2):last-child){grid-template-columns:repeat(2,minmax(0,300px))}.rl:has(.rv:only-child){grid-template-columns:minmax(0,300px)}
.rv{margin:0}.rf{position:relative;aspect-ratio:9/16;overflow:hidden;background:var(--be);box-shadow:0 30px 50px -36px rgba(var(--shc),.6)}.rf::after{content:"";position:absolute;right:12px;bottom:12px;width:34px;height:34px;border-radius:50%;background:rgba(0,0,0,.45) center/16px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 9v6h4l5 4V5L8 9zM17 9a4 4 0 0 1 0 6'/%3E%3C/svg%3E");pointer-events:none;opacity:.9}.rf.snd::after{opacity:0}
.rf video{cursor:pointer}.rv figcaption{margin-top:14px;font:500 20px/1.3 var(--fh);text-align:center}
.fol .soc{margin:0 0 40px}.soc{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}.soc-i{display:grid;place-items:center;width:52px;height:52px;border:1px solid var(--line);border-radius:50%;color:var(--dk);transition:background .35s,color .35s,transform .5s var(--ease2),border-color .35s}.soc-i svg{width:22px;height:22px}.soc-i:hover{background:var(--dk);border-color:var(--dk);color:var(--on);transform:translateY(-4px)}
.fg{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.fg a,.fg span{display:block;overflow:hidden;aspect-ratio:1;background:var(--be)}.fg img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}.fg a:hover img{transform:scale(1.08)}
@media(max-width:1180px){.rl{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}}
@media(max-width:900px){.vid{padding:70px 0}.vid-banner{min-height:520px;padding:0}.vid-banner .vo{background:linear-gradient(180deg,rgba(var(--shc),.35),rgba(var(--shc),.75));align-items:end;padding:60px 0}.zv-p{width:68px;height:68px;margin:-34px 0 0 -34px}
.rl,.rl:has(.rv:nth-child(-n+3):last-child),.rl:has(.rv:nth-child(-n+2):last-child),.rl:has(.rv:only-child){display:flex;justify-content:flex-start;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 18px;margin:0 -18px;padding:0 18px 8px;scrollbar-width:none}.rl::-webkit-scrollbar{display:none}.rv{flex:0 0 68%;max-width:300px;scroll-snap-align:start}
.fg{grid-template-columns:repeat(3,1fr);gap:8px}.soc-i{width:48px;height:48px}.vp{font-size:16.5px;margin-bottom:28px}}
.vid-banner .vo>.w{width:100%}.vid-banner .vo{align-items:center}
