
:root{
  --ink:#111111; --paper:#F7F6F2; --paper2:#EDEBE4; --muted:#706C64; --line:#E1DED4;
  --red:#D81324; --navy:#151A2E; --white:#ffffff;
  --r:3px; --gap:8px;
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){ } }
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth; scroll-padding-top:96px;}
body{font-family:'Inter',sans-serif; color:var(--ink); background:var(--paper); -webkit-font-smoothing:antialiased; overflow-x:hidden;}
img{max-width:100%; display:block;}
h1,h2,h3,.disp{font-family:'Archivo',sans-serif; font-weight:800; letter-spacing:-.02em; line-height:1.02;}
.logo-font{font-family:'Archivo',sans-serif; font-weight:900;}
a{color:inherit; text-decoration:none;}
button{font-family:inherit; cursor:pointer; border:none; background:none; color:inherit;}
input{font-family:inherit;}
.wrap{max-width:1320px; margin:0 auto; padding:0 24px;}
.btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; height:54px; padding:0 30px; font-size:13px; font-weight:700; letter-spacing:1.6px; text-transform:uppercase; border-radius:var(--r); transition:transform .15s ease, background .2s, color .2s, box-shadow .2s; white-space:nowrap;}
.btn:active{transform:scale(.97);}
.btn-primary{background:var(--ink); color:#fff;}
.btn-primary:hover{background:#000; box-shadow:0 6px 20px rgba(0,0,0,.18);}
.btn-ghost{background:transparent; border:1.5px solid var(--white); color:var(--white);}
.btn-ghost:hover{background:rgba(255,255,255,.12);}
.btn-dark-outline{background:transparent; border:1.5px solid var(--ink); color:var(--ink);}
.btn-dark-outline:hover{background:var(--ink); color:#fff;}
.btn-wa{background:#1EA952; color:#fff;}
.btn-wa:hover{background:#178a43;}
svg.icon{width:22px; height:22px; stroke:currentColor; stroke-width:1.6; fill:none; stroke-linecap:round; stroke-linejoin:round; display:block;}

/* ---------- Announcement ---------- */
.announce{background:var(--ink); color:#fff; text-align:center; font-size:12.5px; letter-spacing:.5px; padding:9px 16px;}

/* ---------- Header ---------- */
header{position:sticky; top:0; z-index:60; background:rgba(247,246,242,.92); backdrop-filter:blur(10px); border-bottom:1px solid transparent; transition:all .25s ease;}
header.home-top{background:transparent; border-color:transparent;}
header.scrolled{border-color:var(--line); box-shadow:0 2px 14px rgba(0,0,0,.05);}
.hdr-inner{display:flex; align-items:center; justify-content:space-between; height:88px; transition:height .25s ease;}
header.scrolled .hdr-inner{height:68px;}
.hdr-logo img{height:34px; transition:height .25s ease; filter:var(--logofilter,none);}
header.scrolled .hdr-logo img{height:27px;}
header.home-top:not(.scrolled) .hdr-logo img{filter:brightness(0) invert(1);}
nav.main-nav{display:flex; gap:34px;}
nav.main-nav a{font-size:13px; font-weight:600; letter-spacing:1px; text-transform:uppercase; position:relative; padding:6px 0;}
nav.main-nav a::after{content:'';position:absolute; left:0; right:0; bottom:0; height:1.5px; background:currentColor; transform:scaleX(0); transition:transform .2s;}
nav.main-nav a:hover::after{transform:scaleX(1);}
header.home-top:not(.scrolled) .hdr-inner, header.home-top:not(.scrolled) nav.main-nav a, header.home-top:not(.scrolled) .icon-btn{color:#fff;}
.hdr-icons{display:flex; align-items:center; gap:6px;}
.lang-toggle{height:36px; padding:0 12px; border:1px solid var(--line); border-radius:2px; font-size:12px; font-weight:700;}
.lang-toggle:hover{background:var(--paper2);}
.icon-btn{position:relative; width:40px; height:40px; display:flex; align-items:center; justify-content:center; border-radius:50%; transition:background .15s;}
.icon-btn:hover{background:rgba(0,0,0,.06);}
header.home-top:not(.scrolled) .icon-btn:hover{background:rgba(255,255,255,.15);}
.badge-count{position:absolute; top:1px; right:1px; width:16px; height:16px; border-radius:50%; background:var(--red); color:#fff; font-size:9.5px; font-weight:700; display:flex; align-items:center; justify-content:center;}
.hamburger{display:none;}
.search-bar{max-width:0; overflow:hidden; transition:max-width .25s ease; display:flex; align-items:center;}
.search-bar.open{max-width:260px; margin-right:6px;}
.search-bar input{width:100%; height:38px; border:1px solid var(--line); border-radius:20px; padding:0 16px; font-size:13.5px; background:#fff;}

/* ---------- Mobile nav drawer ---------- */
.mnav{position:fixed; inset:0; background:var(--paper); z-index:200; transform:translateX(100%); transition:transform .3s ease; display:flex; flex-direction:column; overflow-y:auto;}
.mnav.open{transform:translateX(0);}
.mnav-top{display:flex; align-items:center; justify-content:space-between; height:72px; padding:0 20px; border-bottom:1px solid var(--line);}
.mnav-links{padding:20px;}
.mnav-links a{display:flex; align-items:center; justify-content:space-between; font-size:24px; font-weight:700; padding:16px 0; border-bottom:1px solid var(--line); font-family:'Archivo',sans-serif;}
.mnav-foot{margin-top:auto; padding:24px 20px; background:var(--ink); color:#fff;}
.mnav-foot a{display:block; font-size:14px; padding:8px 0; opacity:.9;}

/* ---------- Hero ---------- */
.hero{position:relative; min-height:92vh; display:flex; align-items:flex-end; color:#fff; overflow:hidden; margin-top:-88px;}
.hero-bg{position:absolute; inset:0; z-index:0; background-size:cover; background-position:center 20%;}
.hero-bg-alt{z-index:1; opacity:0; background-color:#f4f3f1; background-size:contain; background-repeat:no-repeat; background-position:center center; transition:opacity 1.2s ease;}
html[dir="rtl"] .hero-bg,html[dir="rtl"] .hero-bg-alt{transform:scaleX(-1);}
.hero-bg-alt.is-visible{opacity:1;}
.hero-scrim{position:absolute; z-index:2; inset:0; background:linear-gradient(180deg, rgba(10,10,12,.55) 0%, rgba(10,10,12,.15) 32%, rgba(10,10,12,.2) 55%, rgba(8,8,10,.88) 100%);}
.hero-content{position:relative; z-index:3; padding-bottom:76px; width:100%;}
.hero-label{display:flex; align-items:center; gap:12px; font-size:12.5px; font-weight:700; letter-spacing:3px; margin-bottom:18px; opacity:.95;}
.hero-label .ln{width:34px; height:1px; background:#fff;}
.hero h1{font-size:clamp(44px,7.4vw,96px); text-transform:uppercase;}
.hero p.sub{max-width:480px; font-size:16.5px; line-height:1.6; margin:22px 0 32px; opacity:.92; font-weight:400;}
.hero-ctas{display:flex; gap:14px; flex-wrap:wrap;}
.hero-meta{position:absolute; right:28px; bottom:28px; font-size:12.5px; letter-spacing:1px; opacity:.8; z-index:2;}

/* ---------- Section titles ---------- */
.sec{padding:96px 0;}
.sec-head{display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:40px; flex-wrap:wrap; gap:16px;}
.sec-title{font-size:clamp(30px,4vw,44px); text-transform:uppercase;}
.sec-kicker{font-size:12px; font-weight:700; letter-spacing:2.5px; color:var(--red); text-transform:uppercase; margin-bottom:10px; display:block;}
.sec-sub{color:var(--muted); font-size:15px; max-width:480px;}

/* ---------- Categories ---------- */
.cat-grid{display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px; align-items:stretch;}
.cat-card{display:flex; flex-direction:column; width:100%; min-width:0; height:100%; border:1px solid var(--line); border-radius:4px; overflow:hidden; cursor:pointer; background:#fff; text-align:inherit; transition:border-color .18s ease, transform .18s ease, box-shadow .18s ease;}
.cat-card:hover{border-color:#aaa69c; transform:translateY(-2px); box-shadow:0 8px 20px rgba(17,17,17,.07);}
.cat-card:focus-visible,.chip:focus-visible{outline:2px solid var(--red); outline-offset:3px;}
.cat-card.no-cover{background:var(--paper2); min-height:190px;}
.cat-card img{display:block; width:100%; aspect-ratio:1/1; object-fit:contain; background:#f5f4f1;}
.cat-label{display:flex; align-items:center; justify-content:center; min-height:72px; padding:12px 10px; color:var(--ink); background:#fff; text-align:center;}
.cat-label .t{font-family:'Archivo',sans-serif; font-weight:700; font-size:clamp(13px,1.25vw,16px); line-height:1.4; text-transform:uppercase; letter-spacing:.15px; overflow-wrap:normal; word-break:normal;}
.cat-label .s{font-size:11.5px; opacity:.85; margin-top:3px;}

/* ---------- Filter bar ---------- */
.filter-bar{display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; margin-bottom:36px;}
.chip{display:flex; align-items:center; justify-content:center; width:100%; min-width:0; min-height:48px; height:auto; padding:10px 12px; border-radius:4px; border:1px solid var(--line); background:#fff; font-size:13px; font-weight:600; line-height:1.35; text-align:center; text-transform:uppercase; transition:background .15s ease, color .15s ease, border-color .15s ease;}
.chip.active, .chip:hover{background:var(--ink); color:#fff; border-color:var(--ink);}

/* ---------- Product grid ---------- */
.grid{display:grid; grid-template-columns:repeat(4,1fr); gap:28px 24px;}
.card{cursor:pointer;}
.card-img{position:relative; aspect-ratio:4/5; border-radius:var(--r); overflow:hidden; background:#f1f0ed;}
.card-img img{width:100%; height:100%; object-fit:contain; position:absolute; inset:0; transition:opacity .4s ease;}
.card-img img.alt{opacity:0;}
.card:hover .card-img img.alt{opacity:1;}
.card-badge{position:absolute; top:12px; left:12px; background:#fff; padding:6px 11px; font-size:10.5px; font-weight:700; letter-spacing:1px; text-transform:uppercase; border-radius:2px; z-index:2;}
.card-badge.sale{background:var(--red); color:#fff;}
.wish-btn{position:absolute; top:10px; right:10px; width:34px; height:34px; border-radius:50%; background:rgba(255,255,255,.92); display:flex; align-items:center; justify-content:center; z-index:2; transition:transform .15s;}
.wish-btn:hover{transform:scale(1.08);}
.wish-btn svg{width:17px; height:17px;}
.wish-btn.active svg{fill:var(--red); stroke:var(--red);}
.qa-btn{position:absolute; left:10px; right:10px; bottom:10px; height:44px; background:#fff; border-radius:var(--r); font-size:11.5px; font-weight:700; letter-spacing:1.4px; text-transform:uppercase; opacity:0; transform:translateY(8px); transition:all .2s; z-index:2;}
.card:hover .qa-btn{opacity:1; transform:translateY(0);}
.card-info{margin-top:14px;}
.card-name{font-weight:700; font-size:14.5px;}
.card-sub{color:var(--muted); font-size:12.5px; margin-top:2px;}
.card-desc{color:var(--muted); font-size:12px; line-height:1.45; margin-top:6px; max-height:2.9em; overflow:hidden;}
.card-price-row{display:flex; align-items:center; justify-content:space-between; margin-top:8px;}
.card-price{font-weight:700; font-size:15px;}
.card-price.sale{color:var(--red);}
.was{color:var(--muted); font-size:12.5px; text-decoration:line-through; margin-right:6px;}
.dots{display:flex; gap:6px; margin-top:10px;}
.dot{width:14px; height:14px; border-radius:50%; border:1px solid rgba(0,0,0,.15);}

/* ---------- Editorial / tagline block ---------- */
.editorial{position:relative; min-height:70vh; display:flex; align-items:center; color:#fff; background-size:cover; background-position:center;}
.editorial-photo{background-image:url("images/f2.jpeg"); background-position:center 42%;}
.editorial::before{content:''; position:absolute; inset:0; background:linear-gradient(90deg, rgba(10,10,12,.15) 0%, rgba(10,10,12,.85) 65%);}
.editorial-inner{position:relative; z-index:2; max-width:520px; margin-left:auto; padding-right:8%;}
.editorial .kicker{font-size:12px; font-weight:700; letter-spacing:3px; color:#f2b8bd; margin-bottom:16px; text-transform:uppercase;}
.editorial h2{font-size:clamp(30px,4.4vw,50px); text-transform:uppercase; margin-bottom:18px;}
.editorial .brand-story-title{font-size:clamp(34px,5.4vw,62px); letter-spacing:.01em;}
.editorial .brand-story-location{margin-top:18px; font-size:14px; line-height:1.6;}
.editorial .brand-story-location a{text-decoration:underline; text-underline-offset:3px;}
.editorial p{opacity:.85; line-height:1.7; margin-bottom:28px; font-size:15.5px;}

/* ---------- Values ---------- */
.values{display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.value{padding:44px 30px; border-right:1px solid var(--line);}
.value:last-child{border-right:none;}
.value svg{width:34px; height:34px; stroke-width:1.3; margin-bottom:18px;}
.value h3{font-family:'Inter'; font-weight:700; font-size:16px; margin-bottom:8px;}
.value p{color:var(--muted); font-size:13.5px; line-height:1.5;}

/* ---------- Instagram ---------- */
.ig-grid{display:grid; grid-template-columns:repeat(6,1fr); gap:4px;}
.ig-tile{position:relative; aspect-ratio:1/1; overflow:hidden; background:#f1f0ed;}
.ig-tile img{display:block; width:100%; height:100%; object-fit:contain; transition:transform .5s;}
.ig-tile:hover img{transform:scale(1.02);}
.ig-tile .ov{position:absolute; inset:0; background:rgba(0,0,0,0); transition:background .2s; display:flex; align-items:center; justify-content:center; opacity:0;}
.ig-tile:hover .ov{background:rgba(0,0,0,.3); opacity:1;}

/* ---------- WhatsApp CTA banner ---------- */
.wa-banner{background:var(--navy); color:#fff; padding:64px 0; text-align:center;}
.wa-banner h2{font-size:clamp(26px,3.6vw,40px); text-transform:uppercase; margin-bottom:14px;}
.wa-banner p{opacity:.75; margin-bottom:28px; font-size:15px;}

/* ---------- Footer ---------- */
footer{background:var(--ink); color:#fff; padding:80px 0 0;}
.foot-grid{display:grid; grid-template-columns:1.3fr .8fr .8fr .8fr 1fr; gap:32px; padding-bottom:56px;}
.foot-brand p{opacity:.65; font-size:14px; line-height:1.7; margin:16px 0 22px; max-width:280px;}
.foot-social{display:flex; gap:10px;}
.foot-social a{width:38px; height:38px; border-radius:50%; border:1px solid rgba(255,255,255,.25); display:flex; align-items:center; justify-content:center; transition:background .15s;}
.foot-social a:hover{background:rgba(255,255,255,.12);}
.foot-social svg{width:17px; height:17px;}
.foot-col h4{font-size:11.5px; letter-spacing:2px; opacity:.6; margin-bottom:18px; text-transform:uppercase;}
.foot-col a, .foot-col p, .foot-col .foot-item{display:block; font-size:14px; opacity:.85; margin-bottom:12px; line-height:1.5;}
.foot-bottom{border-top:1px solid rgba(255,255,255,.12); padding:24px 0; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; font-size:12.5px; opacity:.6;}
.wm{overflow:hidden; height:120px; display:flex; align-items:center; justify-content:center;}
.wm span{font-family:'Archivo',sans-serif; font-weight:900; font-size:170px; color:#fff; opacity:.05; letter-spacing:6px; white-space:nowrap;}

/* ---------- Floating WhatsApp ---------- */
.fab-wa{position:fixed; right:22px; bottom:22px; width:60px; height:60px; border-radius:50%; background:#1EA952; display:flex; align-items:center; justify-content:center; box-shadow:0 8px 26px rgba(0,0,0,.28); z-index:150; animation:pulse 2.6s infinite;}
.fab-wa svg{width:30px; height:30px; fill:#fff;}
@keyframes pulse{0%,100%{box-shadow:0 8px 26px rgba(30,169,82,.0), 0 8px 26px rgba(0,0,0,.28);} 50%{box-shadow:0 8px 26px rgba(30,169,82,.45), 0 8px 26px rgba(0,0,0,.28);}}

/* ---------- Cart drawer ---------- */
.overlay-bg{position:fixed; inset:0; background:rgba(10,10,10,.5); z-index:210; opacity:0; pointer-events:none; transition:opacity .25s;}
.overlay-bg.open{opacity:1; pointer-events:auto;}
.cart-drawer{position:fixed; top:0; right:0; bottom:0; width:440px; max-width:92vw; background:#fff; z-index:220; transform:translateX(100%); transition:transform .3s ease; display:flex; flex-direction:column;}
.cart-drawer.open{transform:translateX(0);}
.cart-head{display:flex; align-items:center; justify-content:space-between; padding:24px 24px 18px; border-bottom:1px solid var(--line);}
.cart-head h3{font-size:20px;}
.cart-items{flex:1; overflow-y:auto; padding:18px 24px;}
.cart-item{display:flex; gap:14px; padding:16px 0; border-bottom:1px solid var(--line);}
.cart-item img{width:78px; height:98px; object-fit:contain; border-radius:2px; background:#f1f0ed;}
.ci-name{font-weight:700; font-size:14px;}
.ci-meta{font-size:12px; color:var(--muted); margin:3px 0 10px;}
.ci-row{display:flex; align-items:center; justify-content:space-between;}
.stepper{display:flex; align-items:center; border:1px solid var(--line); border-radius:2px;}
.stepper button{width:28px; height:28px; font-size:15px;}
.stepper span{width:26px; text-align:center; font-size:13px;}
.ci-price{font-weight:700; font-size:13.5px;}
.ci-remove{font-size:11.5px; color:var(--muted); text-decoration:underline; margin-top:8px;}
.cart-empty{text-align:center; padding:60px 20px; color:var(--muted);}
.cart-foot{padding:20px 24px 26px; border-top:1px solid var(--line);}
.cf-row{display:flex; justify-content:space-between; font-size:14px; margin-bottom:10px;}
.cf-total{font-size:18px; font-weight:800; margin:14px 0 4px;}

/* ---------- PDP modal ---------- */
.pdp{position:fixed; inset:0; background:var(--paper); z-index:300; overflow-y:auto; transform:translateY(100%); transition:transform .3s ease;}
.pdp.open{transform:translateY(0);}
.pdp-top{position:sticky; top:0; background:var(--paper); z-index:5; display:flex; align-items:center; justify-content:space-between; padding:18px 24px; border-bottom:1px solid var(--line);}
.pdp-body{display:grid; grid-template-columns:1fr 1fr; gap:0; max-width:1320px; margin:0 auto;}
.pdp-gallery{padding:24px;}
.pdp-gallery-main{aspect-ratio:4/5; border-radius:var(--r); overflow:hidden; background:#eee; position:relative;}
.pdp-gallery-main{cursor:zoom-in;}
.pdp-gallery-main img{width:100%; height:100%; object-fit:contain; position:absolute; inset:0; opacity:0; transition:opacity .3s;}
.pdp-gallery-main img.show{opacity:1;}
.image-zoom{position:fixed; inset:0; z-index:500; background:rgba(0,0,0,.94); display:none; align-items:center; justify-content:center; padding:5vh 5vw; cursor:zoom-out;}
.image-zoom.open{display:flex;}
.image-zoom img{max-width:90vw; max-height:88vh; object-fit:contain; transform:scale(1); transition:transform .2s ease; cursor:zoom-in; touch-action:pan-x pan-y;}
.image-zoom img.zoomed{transform:scale(2); cursor:grab;}
.image-zoom-close{position:absolute; top:18px; right:22px; color:#fff; width:44px; height:44px; display:grid; place-items:center; font-size:32px;}
.zoom-nav{position:absolute; top:50%; transform:translateY(-50%); width:48px; height:48px; border:1px solid rgba(255,255,255,.65); border-radius:50%; color:#fff; font-size:28px; display:grid; place-items:center;}
.zoom-nav.prev{left:20px;}.zoom-nav.next{right:20px;}
.zoom-count{position:absolute; left:50%; bottom:18px; transform:translateX(-50%); color:#fff; font-size:13px;}
.pdp-thumbs{display:flex; gap:10px; margin-top:10px; overflow-x:auto; padding-bottom:4px;}
.pdp-thumbs img{width:76px; height:96px; flex:0 0 auto; object-fit:contain; background:#f1f0ed; border-radius:2px; cursor:pointer; opacity:.55; border:1.5px solid transparent;}
.pdp-thumbs img.active{opacity:1; border-color:var(--ink);}
.pdp-info{padding:60px 60px 140px 40px;}
.pdp-cat{color:var(--muted); font-size:12.5px; text-transform:uppercase; letter-spacing:1px;}
.pdp-name{font-size:clamp(28px,3vw,38px); text-transform:uppercase; margin:8px 0 6px;}
.pdp-price{font-size:24px; font-weight:800; margin:14px 0 18px;}
.pdp-desc{color:var(--muted); font-size:14.5px; line-height:1.7; max-width:520px; white-space:pre-line; overflow-wrap:anywhere; margin-bottom:26px;}
.pdp-desc-empty{font-style:italic; opacity:.85;}
.pdp-badge-line{display:inline-block; margin:0 0 16px; padding:4px 10px; background:var(--ink); color:#fff; font-size:11px; letter-spacing:.08em; text-transform:uppercase;}
.pdp-measurements{display:flex; flex-wrap:wrap; gap:8px 20px; margin:-12px 0 24px; color:var(--muted); font-size:13px; line-height:1.5;}
.pdp-label{font-size:11.5px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--muted); margin-bottom:10px;}
.pdp-colors{display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin:2px 0 26px;}
.color-choice{display:grid; place-items:center; width:44px; height:44px; flex:0 0 44px; padding:0; border:1px solid transparent; border-radius:50%; background:transparent; cursor:pointer; transition:transform .18s ease,box-shadow .18s ease;}
.color-choice:hover{transform:scale(1.07); background:transparent;}
.color-choice:focus-visible{outline:2px solid var(--ink); outline-offset:3px;}
.color-choice .dot{width:34px; height:34px; border:1px solid rgba(0,0,0,.16); border-radius:50%; box-shadow:inset 0 1px 2px rgba(255,255,255,.3),0 1px 3px rgba(0,0,0,.12);}
.color-choice.sel{border-color:var(--ink); box-shadow:0 0 0 2px var(--paper),0 0 0 3px var(--ink);}
.pdp-sizes{display:grid; grid-template-columns:repeat(6,1fr); gap:8px; margin-bottom:8px;}
.size-btn{height:46px; border:1.5px solid var(--line); border-radius:var(--r); font-size:13.5px; font-weight:600;}
.size-btn.sel{background:var(--ink); color:#fff; border-color:var(--ink);}
.size-guide-link{font-size:12.5px; text-decoration:underline; color:var(--muted); display:inline-block; margin:6px 0 26px;}
.qty-row{display:flex; gap:12px; margin-bottom:14px;}
.qty-row .stepper{height:54px; width:140px;}
.qty-row .stepper button{width:44px; height:100%; font-size:18px;}
.qty-row .stepper span{flex:1; font-size:15px;}
.pdp-add{flex:1;}
.pdp-info-rows .row{display:flex; gap:14px; padding:18px 0; border-top:1px solid var(--line);}
.pdp-info-rows .row:last-child{border-bottom:1px solid var(--line);}
.pdp-info-rows svg{width:22px; height:22px; flex-shrink:0; margin-top:2px;}
.pdp-info-rows b{font-size:14px; display:block;}
.pdp-info-rows span{font-size:12.5px; color:var(--muted);}
.toast{position:fixed; left:50%; bottom:30px; transform:translate(-50%,20px); background:var(--ink); color:#fff; padding:14px 26px; border-radius:30px; font-size:13.5px; font-weight:600; z-index:400; opacity:0; transition:all .25s; pointer-events:none;}
.toast.show{opacity:1; transform:translate(-50%,0);}

/* =================== RESPONSIVE =================== */
@media(max-width:1080px){
  .grid{grid-template-columns:repeat(3,1fr);}
  .cat-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .cat-card:nth-child(4):nth-last-child(2){grid-column:2;}
  .filter-bar{grid-template-columns:repeat(3,minmax(0,1fr));}
  .foot-grid{grid-template-columns:1fr 1fr; gap:36px 24px;}
  .pdp-info{padding:40px 40px 140px;}
}
@media(max-width:860px){
  .wrap{padding:0 18px;}
  nav.main-nav{display:none;}
  .hamburger{display:flex; width:40px; height:40px; align-items:center; justify-content:center;}
  .search-bar{display:none;}
  .search-bar.open{display:flex;position:absolute;top:100%;right:18px;z-index:65;width:min(320px,calc(100vw - 36px));max-width:none;margin:0;padding:8px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 24px rgba(0,0,0,.12);border-radius:4px;}
  .search-bar.open input{width:100%;min-width:0;}
  .hero{min-height:88vh; margin-top:-72px;}
  .hero-bg{background-position:center 20%;}
  .hero-bg-alt.is-mobile{background-size:contain; background-position:center center;}
  .hdr-inner, header.scrolled .hdr-inner{height:72px;}
  .sec{padding:64px 0;}
  .cat-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .filter-bar{grid-template-columns:repeat(3,minmax(0,1fr));}
  .cat-card:last-child:nth-child(odd):not(:first-child){grid-column:1/-1; width:calc((100% - 10px)/2); justify-self:center;}
  .grid{grid-template-columns:repeat(2,1fr); gap:20px 14px;}
  .card-name{font-size:13.5px;}
  .values{grid-template-columns:repeat(2,1fr);}
  .value{border-bottom:1px solid var(--line); border-right:1px solid var(--line);}
  .value:nth-child(2n){border-right:none;}
  .editorial{min-height:60vh;}
  .editorial-photo{min-height:68vh; background-position:54% center;}
  .editorial-inner{max-width:100%; margin:0; padding:0 20px;}
  .ig-grid{grid-template-columns:repeat(3,1fr); gap:3px;}
  .foot-grid{grid-template-columns:1fr 1fr; padding-bottom:36px;}
  .foot-brand{grid-column:1/-1; margin-bottom:10px;}
  .pdp-body{grid-template-columns:1fr;}
  .pdp-info{padding:8px 20px 32px;}
  .pdp-gallery{padding:20px 20px 0;}
  .cart-drawer{width:100vw; max-width:100vw;}
  .fab-wa{right:16px; bottom:16px; width:54px; height:54px;}
  .fab-wa svg{width:26px;height:26px;}
}
@media(max-width:520px){
  .hero h1{font-size:clamp(38px,11vw,58px);}
  .hero p.sub{font-size:15px;}
  .hero-ctas .btn{flex:1; height:50px; font-size:12px; padding:0 14px;}
  .hero-meta{display:none;}
  .cat-grid{grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px;}
  .grid{gap:16px 10px;}
  .sec-head{margin-bottom:26px;}
  .filter-bar{grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; overflow:visible; padding-bottom:0;}
  .chip{min-height:46px; padding:9px 8px; font-size:12px;}
  .editorial h2{font-size:30px;}
  .wa-banner{padding:48px 0;}
  .ig-grid{grid-template-columns:repeat(2,1fr);}
  .foot-grid{grid-template-columns:1fr;}
  .wm span{font-size:90px;}
  .pdp-sizes{grid-template-columns:repeat(4,1fr);}
}
:root{box-sizing:border-box; padding-top:env(safe-area-inset-top,0px);}
header{padding-top:env(safe-area-inset-top,0px);}
