/* WINKOO shop v2 bundle: home v2 + shop v2 */
/* WINKOO homepage v2: warm, simple, research-based. Font B: Petrona (headings) + Figtree (body); logo Cormorant Garamond Bold. */
:root{
  --bg:#FBF6EE; --panel:#F3E8DA; --text:#2F2A26; --muted:#6B6058; --blue:#23305E; --blue-2:#1B2649;
  --cream:#FBF3E6; --line:#E6DACB; --dark:#2B2521;
  --logo:"Cormorant Garamond", Georgia, serif;
  --head:"Petrona", Georgia, "Times New Roman", serif;
  --body:"Figtree", "Helvetica Neue", Arial, sans-serif;
  --r:14px; --gutter:clamp(16px,4vw,48px); --max:1200px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:400 17px/1.55 var(--body);-webkit-font-smoothing:antialiased}
@media (min-width:900px){body{font-size:18px}}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--head);font-weight:500;line-height:1.14;margin:0;text-wrap:balance}
p{margin:0}
.wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--gutter)}
.sec{padding-block:clamp(48px,7vw,84px)}
.sec h2{font-size:clamp(28px,3vw,36px)}
.sub{color:var(--muted);margin-top:8px;max-width:48ch}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:16px;z-index:50;background:#fff;padding:8px 12px}
.pill{display:inline-flex;align-items:center;gap:8px;padding:14px 26px;border-radius:999px;font:600 16px/1 var(--body);text-decoration:none;border:0;cursor:pointer;transition:transform .2s}
.pill:hover{transform:translateY(-1px)}
.pill.light{background:var(--cream);color:var(--text)}
.pill.blue{background:var(--blue);color:#fff}
.link{font-weight:600;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
a:focus-visible,button:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:6px}
.proof{display:flex;align-items:center;gap:10px;font-size:15px;color:var(--muted)}
.proof::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--blue)}

/* header */
.hdr{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:rgba(251,246,238,.96);backdrop-filter:saturate(1.2) blur(6px);border-bottom:1px solid var(--line)}
.hdr .wrap{display:flex;align-items:center;gap:28px;padding-block:14px}
.logo{font-family:var(--logo);font-weight:700;font-size:26px;letter-spacing:.2em;margin-right:auto;line-height:1;text-decoration:none}
.hdr nav{display:flex;gap:24px;font-size:15px}
.hdr nav a,.cart{text-decoration:none}
.hdr nav a:hover,.cart:hover{text-decoration:underline;text-underline-offset:4px}
.cart{font-size:15px;white-space:nowrap}
@media (max-width:640px){.hdr nav{display:none}}

/* hero */
.hero{padding-top:16px}
.hero .frame{position:relative;border-radius:var(--r);overflow:hidden;min-height:clamp(440px,64vh,640px);display:flex;align-items:flex-end;background:#d9c7b0}
.hero picture,.hero img{position:absolute;inset:0;width:100%;height:100%}
.hero img{object-fit:cover;object-position:62% 50%}
.hero .frame::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(30,22,16,0) 38%,rgba(30,22,16,.66) 100%)}
.hero .copy{position:relative;z-index:1;color:#fff;padding:clamp(22px,4vw,48px);display:grid;gap:14px;max-width:640px;justify-items:start}
.hero h1{font-size:clamp(32px,4.2vw,48px)}
.hero p{font-size:clamp(16px,1.4vw,19px);opacity:1}
.hero{padding-top:0}.hero .wrap{max-width:none;padding-inline:0}.hero .frame{border-radius:0;min-height:clamp(520px,80vh,860px)}.hero img{object-position:64% 55%}.hero .frame::after{background:linear-gradient(90deg,rgba(26,19,14,.78) 0%,rgba(26,19,14,.55) 32%,rgba(26,19,14,.12) 58%,rgba(26,19,14,0) 70%),linear-gradient(180deg,rgba(26,19,14,0) 50%,rgba(26,19,14,.40) 100%)}.hero .copy{padding-left:max(var(--gutter),calc((100vw - var(--max))/2 + var(--gutter)));padding-bottom:clamp(32px,6vw,72px);max-width:none}.hero .copy>*{max-width:560px}.hero h1,.hero p{text-shadow:0 1px 2px rgba(0,0,0,.35),0 2px 24px rgba(0,0,0,.35)}

/* mobile: photo on top, words underneath, so the headline never covers the vase */
@media (max-width:640px){.hero .frame{display:block;min-height:0;background:var(--dark)}.hero picture,.hero img{position:relative;inset:auto;height:auto;aspect-ratio:1/1}.hero .frame::after{display:none}.hero .copy{padding:22px 20px 26px}.hero h1,.hero p{text-shadow:none}}

.trust{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 36px;padding-block:18px;font-size:15px;color:var(--muted)}
.trust span::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--blue);margin-right:10px;vertical-align:2px}

/* product row: one line on desktop, swipe on mobile */
.row-head{display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.card{display:grid;gap:8px;text-decoration:none;min-width:0;align-content:start}
.card .img{position:relative;background:#EFE8DE;border-radius:12px;overflow:hidden;aspect-ratio:1}
.card img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.card:hover img{transform:scale(1.03)}
.badge{position:absolute;left:10px;top:10px;background:var(--blue);color:#fff;font:600 12px/1 var(--body);padding:6px 10px;border-radius:999px}
.card h3{font-size:21px}
.card .meta{display:flex;justify-content:space-between;align-items:center;gap:8px;color:var(--muted);font-size:15px}
.swatch{display:flex;gap:4px}.swatch i{width:11px;height:11px;border-radius:50%;display:block}
.card.all .img{background:var(--blue);color:var(--cream);display:grid;place-content:center;text-align:center;padding:18px;gap:6px}
.card.all .img strong{font:500 24px/1.15 var(--head)}
.card.all .img span{font-size:15px;opacity:.85}
.below{margin-top:18px}
@media (max-width:760px){
  .cards{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);gap:14px;margin-inline:calc(var(--gutter)*-1);padding-inline:var(--gutter);padding-bottom:6px;scrollbar-width:none}
  .cards::-webkit-scrollbar{display:none}
  .card{flex:0 0 64%;scroll-snap-align:start}
}

/* before / after */
.block{background:var(--blue);color:var(--cream);border-radius:var(--r)}
.ba{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:clamp(24px,4vw,56px);align-items:center;padding:clamp(24px,4vw,56px)}
@media (max-width:760px){.ba{grid-template-columns:1fr}}
.ba .copy{display:grid;gap:14px;min-width:0;justify-items:start}
.ba h2{font-size:clamp(30px,3.4vw,42px)}
.ba p{opacity:.92;max-width:34ch}
.ba .proof{color:rgba(251,243,230,.88)}.ba .proof::before{background:var(--cream)}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pair figure{margin:0;position:relative}
.pair img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:10px}
.pair figcaption{position:absolute;left:10px;top:10px;background:rgba(251,243,230,.94);color:var(--text);font-size:13px;padding:5px 10px;border-radius:999px}

/* three moves */
.moves{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:28px}
.moves figure{margin:0;display:grid;gap:10px;min-width:0}
.moves img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r)}
.moves b{font:500 21px/1.2 var(--head)}
.moves span{color:var(--muted);font-size:15px}
.moves figcaption{display:grid;gap:2px}
@media (max-width:760px){.moves{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);margin-inline:calc(var(--gutter)*-1);padding-inline:var(--gutter);scrollbar-width:none}.moves figure{flex:0 0 72%;scroll-snap-align:start}}

/* rooms */
.rooms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:28px}
.rooms a{text-decoration:none;display:grid;gap:8px;align-content:start}
.rooms img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r)}
.rooms b{font-weight:600}
.rooms .pairs{color:var(--muted);font-size:15px}
@media (max-width:760px){.rooms{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);margin-inline:calc(var(--gutter)*-1);padding-inline:var(--gutter);scrollbar-width:none}.rooms a{flex:0 0 72%;scroll-snap-align:start}}

/* why + voice */
.why{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}
@media (max-width:760px){.why{grid-template-columns:1fr}}
.why .photo img{width:100%;height:100%;min-height:320px;object-fit:cover;border-radius:var(--r)}
.panel{background:var(--panel);border-radius:var(--r);padding:clamp(24px,4vw,44px);display:grid;gap:14px;align-content:center}
.panel h2{font-size:clamp(26px,2.6vw,32px)}
.panel p{color:var(--muted)}
.quote{font:500 clamp(19px,1.9vw,22px)/1.4 var(--head);color:var(--text)!important;border-left:3px solid var(--blue);padding-left:16px;margin-top:6px}

/* trade */
.trade{display:flex;flex-wrap:wrap;gap:18px 40px;align-items:center;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:32px}
.trade h2{font-size:clamp(24px,2.4vw,30px)}
.trade p{color:var(--muted);max-width:56ch;margin-top:6px}

@media (prefers-reduced-motion:reduce){.card img,.pill{transition:none}}

/* WINKOO shop v2: small collection, shown big. Builds on home.css tokens. */
[hidden]{display:none!important}
.hdr nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:4px}
.shop-intro{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(20px,4vw,56px);align-items:end;padding-block:clamp(36px,6vw,72px) clamp(20px,3vw,32px)}
.shop-intro h1{font-size:clamp(34px,4.4vw,56px);line-height:1.08}
.shop-intro h1 em{font-style:italic;color:var(--blue)}
.shop-intro p{color:var(--muted);margin-top:14px;max-width:46ch;font-size:clamp(17px,1.4vw,19px)}
.intro-facts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border-top:1px solid var(--line);padding-top:16px}
.intro-facts li{display:grid;gap:2px}
.intro-facts b{font:500 clamp(26px,2.6vw,34px)/1 var(--head);color:var(--blue)}
.intro-facts span{font-size:14px;color:var(--muted)}
@media (max-width:760px){.shop-intro{grid-template-columns:1fr}}

.shop-bar{position:sticky;top:57px;z-index:15;background:rgba(251,246,238,.96);backdrop-filter:blur(6px);display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;justify-content:space-between;padding-block:12px;border-bottom:1px solid var(--line)}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chips button{border:0;border-radius:999px;padding:10px 16px;background:var(--panel);color:var(--text);font:600 15px/1 var(--body);cursor:pointer}
.chips button small{font-weight:500;opacity:.6;margin-left:6px}
.chips button[aria-selected="true"]{background:var(--text);color:var(--bg)}
.colour-filter{display:flex;align-items:center;gap:10px;min-width:0}
.cf-label{font-size:14px;color:var(--muted);white-space:nowrap}
.cf-swatches{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;padding:3px}
.cf-swatches button{flex:none;width:26px;height:26px;border-radius:50%;border:0;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
.cf-swatches button[aria-pressed="true"]{outline:2px solid var(--text);outline-offset:2px}
.cf-clear{border:0;background:none;font:600 14px var(--body);text-decoration:underline;text-underline-offset:3px;cursor:pointer;color:var(--text);white-space:nowrap}
.cf-note{font-size:15px;color:var(--muted);min-height:1.2em;margin-top:14px}
@media (max-width:760px){.shop-bar{top:53px}.colour-filter{width:100%}.cf-label{display:none}}

/* grid: few pieces, shown big */
#product-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(14px,2vw,24px);padding-block:18px clamp(40px,6vw,72px)}
.pc{grid-column:span 4;display:grid;gap:10px;align-content:start;min-width:0}
.pc.feature{grid-column:span 8;grid-row:span 2}
.pc .ph{position:relative;background:#EFE8DE;border-radius:var(--r);overflow:hidden;aspect-ratio:1}
.pc.feature .ph{aspect-ratio:1}
.pc .ph img{width:100%;height:100%;object-fit:cover;transition:transform .5s,opacity .25s}
.pc a.ph:hover img{transform:scale(1.03)}
.pc .badge{left:12px;top:12px;font-size:12px}
.pc .soon{position:absolute;right:12px;top:12px;background:rgba(251,246,238,.94);color:var(--text);font:600 12px/1 var(--body);padding:6px 10px;border-radius:999px}
.pc .dots{position:absolute;left:0;right:0;bottom:12px;display:flex;justify-content:center;gap:6px;pointer-events:none}
.pc .dots i{width:6px;height:6px;border-radius:50%;background:rgba(47,42,38,.25)}
.pc .dots i.on{background:rgba(47,42,38,.75)}
.pc .ph .nav{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;border:0;background:rgba(251,246,238,.9);font:500 22px/1 var(--body);cursor:pointer;opacity:0;transition:opacity .2s}
.pc .ph:hover .nav,.pc .ph .nav:focus-visible{opacity:1}
.pc .ph .nav.p{left:10px}.pc .ph .nav.n{right:10px}
@media (hover:none){.pc .ph .nav{opacity:1}}
.pc .top{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.pc h2{font-size:clamp(22px,2vw,26px)}
.pc h2 a{text-decoration:none}
.pc .price{font-weight:600;white-space:nowrap}
.pc .desc{color:var(--muted);font-size:15px;margin-top:-4px}
.pc .meta{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.pc .sw{display:flex;gap:6px;flex-wrap:wrap}
.pc .sw button{width:20px;height:20px;border-radius:50%;border:0;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
.pc .sw button[aria-pressed="true"]{outline:2px solid var(--text);outline-offset:2px}
.pc .sizes{font-size:14px;color:var(--muted)}
.pc .cl{font-size:14px;color:var(--muted)}
.pc .cl b{color:var(--text);font-weight:600}
.pc.dim{opacity:.35}
.pc .placeholder{position:absolute;inset:0;display:grid;place-content:center;gap:10px;justify-items:center;color:var(--muted);font-size:14px}
.pc .placeholder svg{width:46%;height:auto}

/* help tile inside the grid */
.help{grid-column:span 4;background:var(--blue);color:var(--cream);border-radius:var(--r);padding:clamp(22px,3vw,32px);display:grid;gap:12px;align-content:center;aspect-ratio:1}
.help h3{font:500 clamp(24px,2.2vw,30px)/1.15 var(--head)}
.help p{opacity:.9;font-size:15px}
.help .tiles{display:flex;flex-wrap:wrap;gap:8px}
.help .tiles button{border:0;border-radius:999px;padding:9px 12px;background:rgba(251,243,230,.14);color:var(--cream);font:600 14px/1 var(--body);cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.help .tiles button i{width:12px;height:12px;border-radius:50%;display:block;box-shadow:0 0 0 1px rgba(251,243,230,.5)}
.help .tiles button:hover{background:rgba(251,243,230,.24)}

@media (max-width:980px){.pc,.help{grid-column:span 6}.pc.feature{grid-column:span 12;grid-row:auto}}
@media (max-width:560px){#product-grid{grid-template-columns:1fr 1fr;gap:18px 12px}.pc,.help{grid-column:span 1}.pc.feature,.help{grid-column:span 2}.help{aspect-ratio:auto}.pc:not(.feature) h2{font-size:19px}.pc:not(.feature) .desc{display:none}.pc:not(.feature) .top{flex-direction:column;gap:2px}.pc:not(.feature) .price{font-size:14px}.pc .sw button{width:18px;height:18px}.pc:not(.feature) .sizes{width:100%}}

/* how to choose */
.choose{border-top:1px solid var(--line);padding-block:clamp(32px,5vw,56px)}
.choose h2{font-size:clamp(26px,2.6vw,32px)}
.choose ol{list-style:none;margin:20px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;counter-reset:c}
.choose li{counter-increment:c;display:grid;gap:4px;padding-left:44px;position:relative}
.choose li::before{content:counter(c);position:absolute;left:0;top:-2px;width:30px;height:30px;border-radius:50%;background:var(--blue);color:var(--cream);display:grid;place-content:center;font:500 16px/1 var(--head)}
.choose b{font:500 19px/1.25 var(--head)}
.choose span{color:var(--muted);font-size:15px}
@media (max-width:760px){.choose ol{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.pc .ph img{transition:none}}

.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
#loading{display:none}
/* server-rendered cards (before the script upgrades them, and for no-JS/SEO) */
#product-grid:not(.is-v2) .product-card{grid-column:span 4;display:grid;gap:8px;text-decoration:none}
#product-grid:not(.is-v2) .image-wrap{background:#EFE8DE;border-radius:var(--r);overflow:hidden;aspect-ratio:1}
#product-grid:not(.is-v2) .image-wrap img{width:100%;height:100%;object-fit:cover}
#product-grid:not(.is-v2) .card-top{display:flex;justify-content:space-between;gap:10px}
#product-grid:not(.is-v2) h2{font-size:24px}
#product-grid:not(.is-v2) .variant-summary{color:var(--muted);font-size:15px}
#product-grid:not(.is-v2) .colour-row{display:flex;gap:6px;align-items:center;font-size:13px;color:var(--muted)}
#product-grid:not(.is-v2) .swatch{width:16px;height:16px;border-radius:50%;background:var(--swatch,#888);box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
.tone-argr{--swatch:#4a5236}.tone-chbl{--swatch:#262626}.tone-fire{--swatch:#b3161b}.tone-jagr{--swatch:#0f4a42}.tone-mare{--swatch:#5a1616}.tone-mogr{--swatch:#566035}.tone-mupu{--swatch:#86384a}.tone-nagr{--swatch:#707075}.tone-robl{--swatch:#1f336f}.tone-snwh{--swatch:#f1f0ec}.tone-sute{--swatch:#c0461f}.tone-aqbl{--swatch:#1f6fd6}.tone-olgr{--swatch:#66704b}.tone-onbl{--swatch:#25282b}.tone-vfire{--swatch:#7e3332}
@media (max-width:980px){#product-grid:not(.is-v2) .product-card{grid-column:span 6}}
@media (max-width:560px){#product-grid:not(.is-v2) .product-card{grid-column:span 1}}
