/* Shop, PDP, cart, drawer, checkout, order. */

/* ---------- shop bar ---------- */
.shopbar{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s4);align-items:center;
  justify-content:space-between;margin-bottom:var(--s3)}
.chips{display:flex;flex-wrap:wrap;gap:.5rem}
.chip{min-height:44px;padding:.55rem 1.1rem;border-radius:999px;border:1px solid var(--border);
  background:var(--raised);color:var(--fg);font:inherit;font-size:var(--fs-sm);font-weight:600;
  cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.chip[aria-pressed="true"]{background:var(--fg);color:var(--surface);border-color:var(--fg)}
.sortlab{display:flex;align-items:center;gap:.6rem;font-size:var(--fs-sm);color:var(--muted)}
.sortlab select{min-height:44px;padding:.5rem .75rem;border:1px solid var(--border);
  border-radius:var(--r);background:var(--raised);color:var(--fg);font:inherit}
.shopcount{color:var(--muted);font-size:var(--fs-sm);margin-bottom:var(--s3)}
.card[data-out] .tile{opacity:.62}

/* ---------- PDP ---------- */
.pdp{padding-block:calc(var(--nav-h) + clamp(1.5rem,4vw,2.5rem)) clamp(3rem,7vw,5rem)}
.pdp [data-pdp-title]{margin-block:var(--s2) 0;font-size:var(--fs-h1)}
.pdp__grid{display:grid;gap:var(--s5);margin-top:var(--s3)}
@media(min-width:861px){.pdp [data-pdp-title]{grid-column:1/-1}}
@media(min-width:861px){.pdp__grid{grid-template-columns:1.15fr .85fr;gap:var(--s7);align-items:start}}
.pdp__gal{display:grid;gap:var(--s2)}
.pdp__main{aspect-ratio:4/5}
.pdp__thumbs{display:flex;gap:.5rem;flex-wrap:wrap}
.thumb{width:74px;padding:0;border:1px solid var(--border);background:none;border-radius:var(--r);
  cursor:pointer;overflow:hidden;transition:border-color .2s}
.thumb .tile{aspect-ratio:1;border:0;border-radius:0}
.thumb.is-on{border-color:var(--fg)}
@media(min-width:861px){.pdp__buy{position:sticky;top:calc(var(--nav-h) + 24px)}}
.pdp__buy .pdp__ribbon{display:inline-block;background:var(--flare);color:#101010;font-size:.6875rem;
  font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:.3rem .6rem;
  border-radius:2px;margin:0 0 var(--s2)}
.pdp__price{font-family:var(--display);font-size:clamp(1.5rem,3vw,2.1rem);font-weight:800;
  font-variant-numeric:tabular-nums;margin:.4rem 0 var(--s3)}
.pdp__desc p{color:var(--muted)}
.pdp__facts{list-style:none;padding:var(--s3) 0 0;margin:var(--s3) 0 0;border-top:1px solid var(--border);
  display:grid;gap:.5rem;font-size:var(--fs-sm);color:var(--muted)}
.copygap{border:1px dashed var(--accent);border-radius:var(--r);padding:var(--s3);margin-bottom:var(--s3)}
.copygap__tag{font-size:var(--fs-xs);font-weight:800;letter-spacing:.1em;color:var(--accent);
  text-transform:uppercase;margin:0 0 .5rem}
.copygap p:last-child{margin:0;color:var(--muted)}

/* option pickers — a swatch is NEVER the only affordance (two colours are both #000000) */
.optgrp{margin-bottom:var(--s3)}
.optgrp__h{display:flex;justify-content:space-between;gap:1rem;font-size:var(--fs-xs);
  font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 .6rem}
.optgrp__v{color:var(--fg)}
.optgrp__row{display:flex;flex-wrap:wrap;gap:.5rem}
.sz{min-width:52px;min-height:44px;padding:.5rem .8rem;border:1px solid var(--border);
  background:var(--raised);color:var(--fg);font:inherit;font-weight:700;border-radius:var(--r);cursor:pointer}
.sz.is-on{background:var(--fg);color:var(--surface);border-color:var(--fg)}
.sw{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;padding:.4rem .75rem .4rem .45rem;
  border:1px solid var(--border);background:var(--raised);color:var(--fg);font:inherit;
  font-size:var(--fs-sm);border-radius:999px;cursor:pointer}
.sw i{width:18px;height:18px;border-radius:50%;border:1px solid rgb(0 0 0/.28);flex:0 0 auto}
.sw.is-on{border-color:var(--fg);box-shadow:inset 0 0 0 1px var(--fg)}
.sz.is-off,.sw.is-off{opacity:.34;cursor:not-allowed;text-decoration:line-through}
.buy{display:grid;gap:.6rem;margin-block:var(--s3)}
.buy__out{font-weight:700;color:var(--accent);margin:0}

/* ---------- drawer ---------- */
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(430px,94vw);z-index:120;
  background:var(--paper-0);color:var(--fg-ink);display:flex;flex-direction:column;
  box-shadow:-14px 0 40px rgb(0 0 0/.22)}
.drawer[hidden]{display:none}
.dr__head{display:flex;align-items:center;justify-content:space-between;padding:var(--s3);
  border-bottom:1px solid var(--paper-200)}
.dr__head h2{font-size:1.15rem}
.dr__close,.dr__x{background:none;border:0;font-size:1.5rem;line-height:1;cursor:pointer;
  width:44px;height:44px;color:inherit}
.dr__list{list-style:none;margin:0;padding:var(--s2) var(--s3);overflow-y:auto;flex:1;display:grid;gap:var(--s2)}
.dr__row{display:grid;grid-template-columns:64px 1fr auto;gap:.75rem;align-items:center;
  padding-bottom:var(--s2);border-bottom:1px solid var(--paper-100)}
.dr__thumb{aspect-ratio:4/5;border-radius:3px;overflow:hidden;background:#fff}
.dr__thumb img{width:100%;height:100%;object-fit:contain}
.dr__name{margin:0;font-weight:700;font-size:.9rem;line-height:1.25}
.dr__opts,.dr__unit{margin:0;font-size:.78rem;color:var(--grey-650)}
.dr__qty{display:inline-flex;align-items:center;border:1px solid var(--paper-200);border-radius:var(--r)}
.dr__qty button{width:38px;height:38px;background:none;border:0;font-size:1.1rem;cursor:pointer;color:inherit}
.dr__qty button[disabled]{opacity:.35;cursor:not-allowed}
.dr__qty span{min-width:26px;text-align:center;font-variant-numeric:tabular-nums;font-weight:700}
.dr__total{grid-column:2/4;margin:0;font-weight:700;font-variant-numeric:tabular-nums}
.dr__foot{padding:var(--s3);border-top:1px solid var(--paper-200);display:grid;gap:.75rem}
.dr__sub{display:flex;justify-content:space-between;font-weight:700;font-variant-numeric:tabular-nums}
.dr__note{margin:0;font-size:.78rem;color:var(--grey-650)}
.dr__empty{text-align:center;padding:var(--s6) 0;display:grid;gap:var(--s2);justify-items:center}

/* ---------- cart page + checkout ---------- */
.cartpage{display:grid;gap:var(--s5)}
@media(min-width:861px){.cartpage{grid-template-columns:1.4fr .6fr;gap:var(--s6);align-items:start}}
.crows{list-style:none;margin:0;padding:0;display:grid;gap:var(--s3)}
.crow{display:grid;grid-template-columns:96px 1fr auto auto auto;gap:var(--s2);align-items:center;
  padding-bottom:var(--s3);border-bottom:1px solid var(--border)}
.crow__img{aspect-ratio:4/5;border-radius:var(--r);overflow:hidden;background:#fff;border:1px solid var(--border)}
.crow__img img{width:100%;height:100%;object-fit:contain}
.crow__name{font-weight:700;text-decoration:none}
.crow__opts,.crow__unit{margin:.2rem 0 0;font-size:var(--fs-sm);color:var(--muted)}
.crow__total{font-weight:700;font-variant-numeric:tabular-nums;margin:0;min-width:88px;text-align:right}
@media(max-width:640px){
  .crow{grid-template-columns:80px 1fr auto}
  .crow__total{grid-column:2/4;text-align:left}
}
.empty{text-align:center;padding:var(--s7) 0;display:grid;gap:var(--s2);justify-items:center}
.summary{background:var(--raised);border:1px solid var(--border);border-radius:var(--r);
  padding:var(--s3);display:grid;gap:var(--s2);position:sticky;top:calc(var(--nav-h) + 20px)}
.summary h2{font-size:1.1rem}
.summary__rows{margin:0;display:grid;gap:.5rem}
.summary__rows>div{display:flex;justify-content:space-between;gap:1rem}
.summary__rows dt{color:var(--muted);font-size:var(--fs-sm)}
.summary__rows dd{margin:0;font-variant-numeric:tabular-nums}
.summary__total{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;
  padding-top:var(--s2);border-top:1px solid var(--border);font-weight:700;margin:0}
.summary__total strong{font-family:var(--display);font-size:1.35rem;font-variant-numeric:tabular-nums}
.summary__note{font-size:var(--fs-xs);color:var(--muted);margin:0}
.summary__back{font-size:var(--fs-sm);text-decoration:none;color:var(--muted)}
.is-hidden{display:none}

.steps{list-style:none;display:flex;gap:var(--s3);padding:0;margin:var(--s3) 0 .75rem;
  font-size:var(--fs-sm);color:var(--grey-400);flex-wrap:wrap}
.steps li{display:flex;align-items:center;gap:.5rem}
.steps li span{width:26px;height:26px;border-radius:50%;border:1px solid currentColor;
  display:grid;place-items:center;font-size:.75rem;font-weight:700}
.steps li[aria-current]{color:#F5F5F5}
.steps li[aria-current] span{background:var(--flare);border-color:var(--flare);color:#101010}
.steps li.is-done{color:var(--flare)}
.steps__bar{height:3px;background:var(--ink-600);border-radius:2px;overflow:hidden}
.steps__bar i{display:block;height:100%;background:var(--flare);transform-origin:left;
  transform:scaleX(.33);transition:transform .4s ease}
.co{display:grid;gap:var(--s3)}
.co__step{border:0;padding:0;margin:0;display:grid;gap:var(--s3)}
.co__step legend{font-family:var(--display);font-size:1.35rem;font-weight:800;padding:0;margin-bottom:.5rem}
.co label{display:grid;gap:.4rem;font-size:var(--fs-sm);font-weight:600}
.co input,.co select,.co textarea{min-height:48px;padding:.7rem .85rem;border:1px solid var(--border);
  border-radius:var(--r);background:var(--raised);color:var(--fg);font:inherit;font-weight:400;width:100%}
.co textarea{min-height:96px;resize:vertical}
.co [aria-invalid]{border-color:#B3261E;box-shadow:0 0 0 2px rgb(179 38 30/.16)}
.err{color:#B3261E;font-size:var(--fs-sm);font-weight:600;margin:.15rem 0 0}
.hint{color:var(--muted);font-weight:400}
.f2{display:grid;gap:var(--s2)}
@media(min-width:600px){.f2{grid-template-columns:1fr 1fr}}
.radios{display:grid;gap:.6rem}
.radio{display:flex!important;grid-template-columns:none;align-items:flex-start;gap:.75rem;
  border:1px solid var(--border);border-radius:var(--r);padding:var(--s2);cursor:pointer;background:var(--raised)}
.radio input{width:auto;min-height:0;margin-top:.25rem}
.radio strong{display:block}
.radio em{display:block;font-style:normal;font-weight:400;font-size:var(--fs-sm);color:var(--muted)}
.radio:has(input:checked){border-color:var(--fg)}
.check{display:flex!important;align-items:center;gap:.6rem}
.check input{width:auto;min-height:0}
.co__nav{display:flex;flex-wrap:wrap;gap:var(--s2);justify-content:space-between;margin-top:var(--s2)}
.co__err{color:#B3261E;font-weight:600}
.rev{list-style:none;margin:0 0 var(--s3);padding:0;display:grid;gap:.5rem}
.rev li{display:flex;justify-content:space-between;gap:1rem;padding-bottom:.5rem;
  border-bottom:1px solid var(--border);font-size:var(--fs-sm)}
.rev li b{font-variant-numeric:tabular-nums;white-space:nowrap}
.rev__who{display:grid;gap:.75rem;color:var(--muted);font-size:var(--fs-sm)}
.rev__deliv{font-weight:600}
.order{display:grid;gap:var(--s3);padding-block:calc(var(--nav-h) + 2rem) 0;max-width:70ch}
.order__ref{display:flex;flex-direction:column;gap:.2rem;font-size:var(--fs-sm);color:var(--muted)}
.order__ref strong{font-family:var(--display);font-size:clamp(1.6rem,4vw,2.4rem);
  letter-spacing:.04em;color:var(--fg)}
