/* ==========================================================================
   PEPTOVITALIS — Redesign "D" (2026-09-16)

   A modern premium storefront: black and gold on a warm light ground.
   Product photography carries the page; type is a heavy grotesk with a
   small italic serif accent in deep gold. Pill buttons, rounded cards,
   warm (never black) shadows. Gold is ornament only — rules, icons,
   rings, badges. Small gold text always uses --gold-deep (AA).

   Order: tokens · base · layout · components · pages · responsive · motion
   ========================================================================== */

/* ------------------------------------------------------------------ tokens */
:root{
  --bg:        #FAFAF8;
  --surface:   #FFFFFF;
  --sand:      #F1EEE6;
  --sand-2:    #E8E3D7;

  --ink:       #141417;
  --ink-hover: #2A2A2E;
  --ink-2:     #3D3A34;
  --muted:     #615D55;   /* 6.2:1 on --bg */

  --gold:      #B8903F;   /* ornament only */
  --gold-deep: #8A6A2A;   /* small gold text, 4.8:1 */
  --gold-lite: #D9BA78;   /* gold on black */
  --gold-soft: rgba(184,144,63,.14);

  --line:      #E3DDD0;
  --line-2:    #EEEAE1;

  --err:       oklch(0.50 0.16 30);
  --err-soft:  oklch(0.50 0.16 30 / .08);
  --warn:      oklch(0.56 0.14 55);

  --f-sans:  "Schibsted Grotesk", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --f-serif: "Instrument Serif", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  --f-mono:  "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;

  --r-xl: 24px;
  --r-lg: 20px;
  --r-md: 14px;
  --r-sm: 10px;
  --pill: 999px;

  --sh-1: 0 1px 2px rgba(40,32,20,.06), 0 12px 32px -12px rgba(40,32,20,.18);
  --sh-2: 0 2px 4px rgba(40,32,20,.06), 0 26px 48px -18px rgba(40,32,20,.28);
  --sh-3: 0 4px 8px rgba(40,32,20,.08), 0 40px 80px -24px rgba(40,32,20,.36);

  --max: 1320px;
  --gut: clamp(16px, 4vw, 48px);
  --sec: clamp(56px, 8vw, 112px);
  --hdr-h: 76px;

  --ease: cubic-bezier(.2,.8,.2,1);
  --z-sticky: 100;
  --z-drawer: 210;
  --z-gate: 300;
  --z-fly: 400;

  color-scheme: light;
}

/* -------------------------------------------------------------------- base */
*,*::before,*::after{box-sizing:border-box}
/* `hidden` must beat every author display (.item{display:flex}, .check{display:grid}) */
[hidden]{display:none!important}

html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink-2);
  font-family:var(--f-sans);
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}
img,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
h1,h2,h3{
  margin:0;color:var(--ink);font-weight:800;
  letter-spacing:-.03em;line-height:1.06;text-wrap:balance;
}
h1 em,h2 em,h3 em{
  font-family:var(--f-serif);font-style:italic;font-weight:400;
  color:var(--gold-deep);letter-spacing:-.01em;
  font-size:1.1em;line-height:.9;padding-right:.04em;
}
p{margin:0 0 1em}
::selection{background:var(--ink);color:#fff}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:6px}

.vh{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}
.skip{
  position:absolute;left:16px;top:-60px;z-index:999;
  background:var(--ink);color:#fff;padding:10px 18px;border-radius:var(--pill);
  text-decoration:none;font-weight:600;
}
.skip:focus{top:12px}

.mono,.data{font-family:var(--f-mono);font-variant-numeric:tabular-nums}
.ic{width:24px;height:24px;flex:none}

/* ------------------------------------------------------------------ layout */
.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--gut)}
.wrap--narrow{max-width:1040px}
main{display:block}

.sec{padding-block:var(--sec)}
.sec--flush{padding-top:0}

.sec__bar{
  display:flex;align-items:flex-end;justify-content:space-between;gap:24px;
  margin-bottom:clamp(28px,4vw,48px);
}
.sec__bar h2{font-size:clamp(32px,3.6vw,44px)}
.sec__bar--center{justify-content:center;text-align:center}
.eyebrow{
  margin:0 0 12px;font-size:12px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--gold-deep);
  display:flex;align-items:center;gap:10px;
}
.eyebrow::before{content:"";width:22px;height:1.5px;background:var(--gold)}
.sec__bar--center .eyebrow{justify-content:center}
.sec__bar--center .eyebrow::after{content:"";width:22px;height:1.5px;background:var(--gold)}
.sec__link{
  display:inline-flex;align-items:center;gap:8px;white-space:nowrap;
  font-size:15px;font-weight:600;color:var(--ink);text-decoration:none;
  padding-bottom:3px;border-bottom:1.5px solid var(--gold);
  transition:gap .25s var(--ease);
}
.sec__link .ic{width:18px;height:18px}
.sec__link:hover{gap:12px}
.sec__head{margin-bottom:24px}
.sec__head h2{font-size:clamp(26px,2.6vw,32px);margin-bottom:8px}
.sec__head p{color:var(--muted);margin:0}

/* ---------------------------------------------------------------- buttons */
.btn{
  --btn-h:44px;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  height:var(--btn-h);padding:0 22px;border-radius:var(--pill);
  border:1.5px solid var(--ink);background:var(--ink);color:#fff;
  font-family:var(--f-sans);font-size:15px;font-weight:600;letter-spacing:-.005em;line-height:1;
  text-decoration:none;white-space:nowrap;cursor:pointer;
  transition:background-color .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease),
             transform .2s var(--ease),box-shadow .25s var(--ease);
}
.btn .ic{width:18px;height:18px;transition:transform .25s var(--ease)}
.btn:hover:not(:disabled){background:var(--ink-hover);border-color:var(--ink-hover);transform:translateY(-1px);box-shadow:0 10px 22px -12px rgba(20,20,23,.55)}
.btn:hover:not(:disabled) .ic{transform:translateX(3px)}
.btn:active:not(:disabled){transform:scale(.98)}
.btn--primary{}
.btn--lg{--btn-h:48px;padding:0 28px;font-size:16px}
.btn--sm{--btn-h:40px;padding:0 18px;font-size:14px}
.btn--wide{width:100%}
.btn--ghost{background:transparent;color:var(--ink)}
.btn--ghost:hover:not(:disabled){background:var(--ink);color:#fff}
.btn:disabled,.btn--dis{
  background:#DDD8CC;border-color:#DDD8CC;color:#6E695F;cursor:not-allowed;box-shadow:none;
}
.btn--ghost:disabled{background:transparent;border-color:var(--line);color:#8A857B}

/* ------------------------------------------------------------------ pills */
.pill{
  display:inline-flex;align-items:center;gap:10px;margin:0;
  padding:7px 14px 7px 10px;border-radius:var(--pill);
  font-size:13px;font-weight:600;letter-spacing:.01em;line-height:1.2;
}
.pill--gold{background:var(--gold-soft);color:var(--gold-deep);box-shadow:inset 0 0 0 1px rgba(184,144,63,.28)}
.pill__dot{
  width:8px;height:8px;border-radius:50%;background:var(--gold);flex:none;
  box-shadow:0 0 0 4px rgba(184,144,63,.2);
}

/* --------------------------------------------------------- announcement */
.announce{background:var(--ink);color:rgba(255,255,255,.85);font-size:12.5px;line-height:1.3}
.announce__in{
  max-width:var(--max);margin:0 auto;padding:9px var(--gut);
  display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:4px 12px;text-align:center;
}
.announce strong{color:#fff;font-weight:600}
.announce__sep{color:var(--gold-lite)}

/* ------------------------------------------------------------------ header */
.hdr{
  position:sticky;top:0;z-index:var(--z-sticky);
  background:rgba(255,255,255,.92);
  -webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);
  border-bottom:1px solid var(--line);
  transition:box-shadow .3s var(--ease);
}
.hdr.stuck{box-shadow:0 10px 30px -18px rgba(40,32,20,.35)}
.hdr__bar{
  max-width:var(--max);margin:0 auto;padding:0 var(--gut);min-height:var(--hdr-h);
  display:flex;align-items:center;gap:22px;
}
/* meniul nu se strânge sub lățimea textului (altfel „Contact" se taie și logo-ul atinge „Shop") */
.hdr__bar > .hdr__nav{flex:1 1 auto;min-width:max-content}
.hdr__brand{display:flex;flex-direction:column;text-decoration:none;color:var(--ink);line-height:1;flex:none}
.hdr__word{font-weight:800;font-size:19px;letter-spacing:.16em}
.hdr__est{
  margin-top:5px;font-size:10.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold-deep);
}
.hdr__nav{display:flex;justify-content:center;gap:clamp(18px,2.4vw,36px)}
.hdr__nav a{
  position:relative;padding:6px 0;text-decoration:none;white-space:nowrap;
  font-size:15px;font-weight:500;color:var(--ink-2);transition:color .2s;
}
.hdr__nav a::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px;
  background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease);
}
.hdr__nav a:hover,.hdr__nav a[aria-current]{color:var(--ink)}
.hdr__nav a:hover::after,.hdr__nav a[aria-current]::after{transform:scaleX(1)}
.hdr__nav a[aria-current]{font-weight:600}

.hdr__search{
  position:relative;display:flex;align-items:center;width:clamp(180px,17vw,250px);
  height:44px;border-radius:var(--pill);background:var(--sand);
  box-shadow:inset 0 0 0 1px transparent;transition:box-shadow .2s,background .2s;
}
.hdr__search .ic{position:absolute;left:14px;width:18px;height:18px;color:var(--muted);pointer-events:none}
.hdr__search input{
  width:100%;height:100%;border:0;background:transparent;border-radius:var(--pill);
  padding:0 16px 0 40px;font-size:14px;outline:none;color:var(--ink);
}
.hdr__search input::placeholder{color:var(--muted)}
.hdr__search:focus-within{background:#fff;box-shadow:inset 0 0 0 1.5px var(--ink),0 0 0 4px var(--gold-soft)}

/* currency selector: native <select> (keyboard + screen reader for free), styled as a pill */
.hdr__cur{position:relative;display:inline-flex;align-items:center}
.hdr__cur select{
  -webkit-appearance:none;appearance:none;height:44px;margin:0;cursor:pointer;
  border:0;border-radius:var(--pill);background-color:var(--sand);color:var(--ink);
  padding:0 34px 0 16px;font:600 14px/1 var(--f-sans);font-variant-numeric:tabular-nums;letter-spacing:.01em;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%238A6A2A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;background-size:12px 8px;
  box-shadow:inset 0 0 0 1px transparent;transition:box-shadow .2s,background-color .2s;
}
.hdr__cur select:hover{box-shadow:inset 0 0 0 1px var(--line)}
.hdr__cur select:focus-visible{outline:none;background-color:#fff;box-shadow:inset 0 0 0 1.5px var(--ink),0 0 0 4px var(--gold-soft)}

.hdr__cart{
  display:inline-flex;align-items:center;gap:9px;height:44px;padding:0 8px 0 16px;
  border:0;border-radius:var(--pill);background:var(--ink);color:#fff;
  font-size:15px;font-weight:600;transition:background .2s,transform .2s var(--ease);
}
.hdr__cart .ic{width:20px;height:20px;color:var(--gold-lite)}
.hdr__cart:hover{background:var(--ink-hover);transform:translateY(-1px)}
.hdr__count{
  display:grid;place-items:center;min-width:28px;height:28px;padding:0 7px;border-radius:var(--pill);
  background:var(--gold);color:var(--ink);font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;
}
.hdr__count.pop{animation:pop .5s var(--ease)}
.hdr__cart.lit{box-shadow:0 0 0 4px var(--gold-soft)}
@keyframes pop{0%{transform:scale(1)}40%{transform:scale(1.35)}100%{transform:scale(1)}}

/* --------------------------------------------------------------- crumbs */
.crumbs{margin:0 0 14px;font-size:13px;color:var(--muted)}
.crumbs a{color:var(--muted);text-decoration:none}
.crumbs a:hover{color:var(--ink);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:3px}
.crumbs span{margin-inline:4px;color:var(--line)}

.pagehead{padding:clamp(28px,4vw,48px) 0 clamp(24px,3vw,36px)}
.shop__h{font-size:clamp(40px,5vw,64px);letter-spacing:-.035em;line-height:1.02}
.pagehead__sub{
  display:flex;align-items:flex-start;gap:8px;margin:14px 0 0;color:var(--muted);font-size:16px;
}
.pagehead__sub .ic{width:20px;height:20px;color:var(--gold);margin-top:2px}

/* ------------------------------------------------------------ product card */
.grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.6vw,24px);
}
.grid--shop{grid-template-columns:repeat(3,minmax(0,1fr))}

.item{
  position:relative;display:flex;flex-direction:column;
  background:var(--surface);border-radius:var(--r-lg);padding:10px;
  box-shadow:var(--sh-1);outline:1px solid rgba(227,221,208,.6);outline-offset:-1px;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease);
}
.item[hidden]{display:none!important}
.item:hover{transform:translateY(-4px);box-shadow:var(--sh-2)}
.item__ph{
  position:relative;display:grid;place-items:center;overflow:hidden;
  aspect-ratio:1/1.02;border-radius:var(--r-md);
  background:radial-gradient(60% 55% at 50% 58%,#FBFAF6 0%,rgba(251,250,246,0) 70%),var(--sand);
}
.item__ph::after{        /* soft floor under the vial */
  content:"";position:absolute;left:22%;right:22%;bottom:7%;height:10%;
  background:radial-gradient(closest-side,rgba(40,32,20,.16),transparent);z-index:0;
}
.item__ph .shot{
  position:absolute;z-index:1;left:0;top:3%;width:100%;height:94%;max-width:none;object-fit:contain;
  transition:transform .5s var(--ease);transform-origin:50% 80%;
}
.item:hover .item__ph .shot{transform:scale(1.04)}
.tag{
  position:absolute;top:12px;left:12px;z-index:2;
  display:inline-flex;align-items:center;gap:6px;
  padding:5px 10px;border-radius:var(--pill);background:rgba(255,255,255,.9);
  font-size:11.5px;font-weight:600;letter-spacing:.02em;color:var(--ink-2);
  box-shadow:0 1px 2px rgba(40,32,20,.08);
}
.tag--in::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold)}
.tag--out{background:var(--ink);color:#fff}
.tag--low{color:var(--warn)}

.item__b{display:flex;flex-direction:column;flex:1;padding:16px 10px 8px}
.item__cat{font-size:12px;font-weight:500;color:var(--muted);letter-spacing:.01em;margin-bottom:4px}
.item__name{font-size:18px;font-weight:700;letter-spacing:-.02em;line-height:1.2;margin:0}
.item__name a{text-decoration:none;color:var(--ink)}
.item__name a::after{content:"";position:absolute;inset:0;border-radius:inherit;z-index:1}
.item__doz{
  margin:6px 0 16px;font-family:var(--f-mono);font-size:12.5px;color:var(--muted);
  font-variant-numeric:tabular-nums;
}
.item__row{
  margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding-top:14px;border-top:1px solid var(--line-2);
}
.item__price{font-size:20px;font-weight:700;letter-spacing:-.02em;color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums}
.item__price small{font-size:13px;font-weight:600;color:var(--muted);letter-spacing:0}
.item .btn{position:relative;z-index:2}

/* ----------------------------------------------------------------- forms */
input[type=text],input[type=search],input[type=email],input[type=tel],input[type=number],select,textarea{
  -webkit-appearance:none;appearance:none;
}
input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}
input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
input[type=number]{-moz-appearance:textfield}

.field{display:flex;flex-direction:column;gap:7px;min-width:0}
.field label{font-size:14px;font-weight:600;color:var(--ink)}
.field__opt{font-weight:400;color:var(--muted);font-size:13px}
.field input,.field select,.field textarea{
  width:100%;min-height:48px;padding:12px 14px;border-radius:var(--r-sm);
  border:1px solid var(--line);background:#fff;font-size:16px;color:var(--ink);
  transition:border-color .2s,box-shadow .2s;
}
.field textarea{resize:vertical;min-height:96px;line-height:1.5}
.field select{
  padding-right:40px;cursor:pointer;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23141417' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center/18px;
}
.field input:hover,.field select:hover,.field textarea:hover{border-color:#CFC7B6}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;border-color:var(--ink);box-shadow:0 0 0 4px var(--gold-soft);
}
.field--err input,.field--err select,.field--err textarea{border-color:var(--err);background-color:#FFFBFA}
.field__err{margin:0;font-size:13px;font-weight:500;color:var(--err);display:flex;gap:6px;align-items:flex-start}
.field__err::before{
  content:"!";flex:none;display:grid;place-items:center;width:16px;height:16px;margin-top:1px;border-radius:50%;
  background:var(--err);color:#fff;font-size:11px;font-weight:700;line-height:1;
}

/* checkbox rows (gate + checkout + filters) */
.check{
  display:grid;grid-template-columns:22px 1fr;gap:14px;align-items:start;
  padding:15px 16px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--bg);
  font-size:15px;line-height:1.5;color:var(--ink-2);cursor:pointer;
  transition:border-color .2s,background .2s,box-shadow .2s;
}
.check + .check{margin-top:10px}
.check:hover{border-color:#CFC7B6;background:#fff}
.check:has(input:checked){border-color:var(--ink);background:#fff;box-shadow:0 0 0 3px var(--gold-soft)}
.check strong{color:var(--ink);font-weight:600}
.check a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:3px}
.field--err.check{border-color:var(--err);background:var(--err-soft)}
.check + .field__err{margin:8px 0 12px 4px}

.check input,.fchk input{
  -webkit-appearance:none;appearance:none;margin:0;flex:none;
  width:22px;height:22px;border-radius:7px;border:1.5px solid #A9A293;background:#fff;
  display:grid;place-items:center;cursor:pointer;transition:background .2s,border-color .2s;
}
.check input{margin-top:1px}
.check input::after,.fchk input::after{
  content:"";width:12px;height:12px;transform:scale(0);transition:transform .2s var(--ease);
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D9BA78' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4.5 12.5 5 5L19.5 7'/%3E%3C/svg%3E") center/contain no-repeat;
}
.check input:checked,.fchk input:checked{background:var(--ink);border-color:var(--ink)}
.check input:checked::after,.fchk input:checked::after{transform:scale(1)}

/* ------------------------------------------------------------------ drawer */
.drawer{position:fixed;inset:0;z-index:var(--z-drawer)}
.drawer__scrim{
  position:absolute;inset:0;background:rgba(20,20,23,.46);
  -webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade .3s var(--ease);
}
.drawer__panel{
  position:absolute;top:0;right:0;bottom:0;width:min(460px,100%);
  display:flex;flex-direction:column;background:var(--surface);
  border-radius:var(--r-xl) 0 0 var(--r-xl);box-shadow:var(--sh-3);
  animation:slidein .45s var(--ease);
}
.drawer__bar{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:22px 24px 18px;border-bottom:1px solid var(--line-2);
}
.drawer__bar span{font-size:20px;font-weight:700;letter-spacing:-.02em;color:var(--ink)}
.drawer__x{
  display:grid;place-items:center;width:40px;height:40px;padding:0;border-radius:50%;
  border:1px solid var(--line);background:#fff;font-size:24px;line-height:1;color:var(--ink);
  transition:background .2s,border-color .2s,transform .2s var(--ease);
}
.drawer__x:hover{background:var(--ink);border-color:var(--ink);color:#fff;transform:rotate(90deg)}
.drawer__items{flex:1;overflow-y:auto;padding:4px 24px;overscroll-behavior:contain}
.drawer__empty{
  margin:40px 0;padding:48px 16px 0;text-align:center;color:var(--muted);font-size:15px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B8903F' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 8.5h14l-1.1 11a1.5 1.5 0 0 1-1.5 1.5H7.6a1.5 1.5 0 0 1-1.5-1.5z'/%3E%3Cpath d='M9 8.5V7a3 3 0 0 1 6 0v1.5'/%3E%3C/svg%3E") top center/36px no-repeat;
}

.citem{
  display:grid;grid-template-columns:64px minmax(0,1fr) auto;
  grid-template-areas:"th name pret" "th meta meta" "th qty qty";
  column-gap:14px;row-gap:2px;padding:16px 0;border-bottom:1px solid var(--line-2);
}
.citem:last-child{border-bottom:0}
.citem::before{          /* vial thumbnail on sand */
  content:"";grid-area:th;align-self:start;width:64px;height:78px;border-radius:12px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 40'%3E%3Crect x='6.5' y='1' width='11' height='6' rx='1.6' fill='%23A7A8AD'/%3E%3Crect x='6.5' y='5' width='11' height='2' fill='%238E8F94'/%3E%3Cpath d='M8.5 7h7v3l3 3v23.5a2 2 0 0 1-2 2h-9a2 2 0 0 1-2-2V13l3-3z' fill='%23FFFFFF' stroke='%23CFC8B8' stroke-width='.8'/%3E%3Crect x='5.9' y='17' width='12.2' height='14' fill='%23141417'/%3E%3Crect x='7.5' y='21' width='9' height='5.5' fill='%23FFFFFF'/%3E%3Crect x='9.5' y='27.6' width='5' height='1' fill='%23B8903F'/%3E%3C/svg%3E") center/auto 72% no-repeat,
             var(--sand);
}
.citem__name{grid-area:name;font-weight:700;font-size:15.5px;color:var(--ink);letter-spacing:-.01em;line-height:1.3}
.citem__pret{grid-area:pret;font-weight:700;font-size:15.5px;color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums}
.citem__meta{grid-area:meta;font-family:var(--f-mono);font-size:12px;color:var(--muted)}
.citem__qty{grid-area:qty;display:flex;align-items:center;gap:6px;margin-top:10px}
.citem__qty button:not(.citem__rm){
  display:grid;place-items:center;width:32px;height:32px;padding:0;border-radius:50%;
  border:1px solid var(--line);background:#fff;font-size:17px;line-height:1;color:var(--ink);
  transition:background .2s,border-color .2s;
}
.citem__qty button:not(.citem__rm):hover{border-color:var(--ink);background:var(--ink);color:#fff}
.citem__qty span{min-width:26px;text-align:center;font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink)}
.citem__rm{
  margin-left:auto;border:0;background:none;padding:4px 0;font-size:13px;color:var(--muted);
  text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px;
}
.citem__rm:hover{color:var(--err);text-decoration-color:currentColor}

.drawer__foot{padding:18px 24px 22px;border-top:1px solid var(--line-2);background:var(--bg);border-bottom-left-radius:var(--r-xl)}
.drawer__line{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:4px 0;font-size:15px;color:var(--ink-2)}
.drawer__line strong{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}
.drawer__line--muted{color:var(--muted);font-size:14px}
.drawer__line--total{margin:8px 0 16px;padding-top:12px;border-top:1px solid var(--line)}
.drawer__line--total span{font-weight:600;color:var(--ink)}
.drawer__line--total strong{font-size:22px;font-weight:800;letter-spacing:-.02em}
.drawer__note{
  display:flex;gap:10px;align-items:flex-start;margin:14px 0 0;font-size:13px;line-height:1.5;color:var(--muted);
}
.drawer__note .ic{width:20px;height:20px;color:var(--gold);margin-top:-1px}
.drawer__note strong{color:var(--ink);font-weight:600}

.drawer__excl{font-size:12.5px;font-weight:500;color:var(--muted)}
.drawer__line--muted [data-cart-ship]{text-align:right}

.fly{
  z-index:var(--z-fly);pointer-events:none;object-fit:contain;
  filter:drop-shadow(0 12px 18px rgba(40,32,20,.25));
}

/* -------------------------------------------------------------------- gate */
.gate{
  position:fixed;inset:0;z-index:var(--z-gate);
  display:flex;padding:16px;overflow-y:auto;
  background:rgba(20,20,23,.7);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
}
.gate__panel{
  margin:auto;width:100%;max-width:560px;background:var(--surface);
  border-radius:var(--r-lg);box-shadow:var(--sh-3);overflow:hidden;
  animation:rise .5s var(--ease);
}
.gate__top{
  display:flex;align-items:center;gap:14px;padding:22px 32px;
  background:radial-gradient(120% 140% at 0% 0%,#FFFFFF 0%,var(--sand) 70%);
  border-bottom:1px solid var(--line);
}
.gate__seal .seal{width:52px;height:52px}
.gate__brand{margin:0;font-weight:800;letter-spacing:.16em;font-size:15px;color:var(--ink)}
.gate__body{padding:28px 32px 30px}
.gate__body h2{font-size:28px;font-weight:700;letter-spacing:-.025em;margin-bottom:12px}
.gate__body > p{font-size:15px;color:var(--ink-2);margin-bottom:20px}
.gate__actions{display:flex;align-items:center;gap:20px;margin-top:22px}
.gate__actions .btn{flex:1}
.gate__leave{
  font-size:15px;font-weight:600;color:var(--ink);text-decoration:underline;
  text-decoration-color:var(--gold);text-underline-offset:4px;padding:8px 10px;
}
.gate__fine{margin:16px 0 0;font-size:12.5px;color:var(--muted);line-height:1.5}

/* -------------------------------------------------------------------- misc */
.callout{
  position:relative;margin:24px 0 0;padding:18px 20px 18px 24px;border-radius:var(--r-md);
  background:var(--sand);color:var(--ink-2);font-size:14.5px;line-height:1.6;overflow:hidden;
}
.callout::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--gold)}
.callout strong{display:block;color:var(--ink);margin-bottom:4px}
.callout a{color:var(--ink);text-decoration-color:var(--gold);text-underline-offset:3px}
.warnbox{
  margin:0 0 20px;padding:14px 16px;border-radius:var(--r-md);
  background:oklch(0.97 0.03 60);color:var(--ink-2);font-size:14.5px;
  box-shadow:inset 0 0 0 1px oklch(0.88 0.06 60);
}
.warnbox strong{color:var(--ink)}
.empty{
  margin:0 0 20px;padding:28px;border-radius:var(--r-lg);background:var(--surface);
  text-align:center;color:var(--muted);box-shadow:var(--sh-1);
}
.empty a{color:var(--ink);font-weight:600;text-decoration-color:var(--gold);text-underline-offset:3px}

/* ================================================================== PAGES */

/* --------------------------------------------------------------- home hero */
.hero{
  position:relative;overflow:hidden;
  background:
    radial-gradient(900px 520px at 78% 40%,rgba(184,144,63,.10),transparent 70%),
    linear-gradient(180deg,#FFFFFF 0%,var(--bg) 100%);
}
.hero__in{
  max-width:var(--max);margin:0 auto;padding:clamp(36px,5vw,64px) var(--gut) clamp(48px,6vw,80px);
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.04fr);gap:clamp(32px,4vw,64px);
  align-items:center;min-height:620px;
}
.hero__copy h1{
  margin:22px 0 22px;font-size:clamp(44px,5.3vw,76px);font-weight:800;
  letter-spacing:-.04em;line-height:1.0;
}
.hero__copy h1 em{display:inline-block;font-size:1.12em;line-height:.85}
.hero__lead{max-width:46ch;font-size:18px;line-height:1.6;color:var(--ink-2);margin-bottom:30px}
.hero__cta{display:flex;flex-wrap:wrap;gap:12px}
.hero__pts{
  list-style:none;margin:34px 0 0;padding:22px 0 0;border-top:1px solid var(--line);
  display:flex;flex-wrap:wrap;gap:12px 28px;
}
.hero__pts li{display:flex;align-items:center;gap:10px;font-size:14.5px;font-weight:500;color:var(--ink)}
.hero__pts .ic{color:var(--gold);width:22px;height:22px}

.hero__art{position:relative}
.hero__stage{position:relative;aspect-ratio:1.08/1;display:grid;place-items:end center}
.hero__disc{
  position:absolute;left:50%;top:48%;width:90%;aspect-ratio:1;translate:-50% -50%;border-radius:50%;
  background:
    radial-gradient(closest-side,rgba(255,255,255,.95) 0%,rgba(255,255,255,0) 62%),
    radial-gradient(circle at 50% 42%,#F6F3EC 0%,var(--sand) 58%,var(--sand-2) 100%);
  box-shadow:inset 0 -30px 60px -30px rgba(40,32,20,.18);
}
.hero__disc::after{       /* thin gold ring */
  content:"";position:absolute;inset:-18px;border-radius:50%;
  border:1px solid rgba(184,144,63,.55);
}
.hero__disc::before{
  content:"";position:absolute;inset:-46px;border-radius:50%;
  border:1px dashed rgba(184,144,63,.28);
}
.shot--trio{
  position:relative;width:104%;max-width:none;margin-bottom:4%;
  filter:drop-shadow(0 30px 40px rgba(40,32,20,.22));
}
.hero__chip{
  position:absolute;right:2%;top:10%;margin:0;z-index:2;
  display:flex;align-items:center;gap:8px;padding:9px 16px 9px 12px;border-radius:var(--pill);
  background:rgba(255,255,255,.94);box-shadow:var(--sh-1);font-size:13px;color:var(--ink-2);
}
.hero__chip .ic{width:20px;height:20px;color:var(--gold)}
.hero__chip b{font-family:var(--f-mono);font-weight:500;color:var(--ink);font-size:12.5px}

.promo{
  position:absolute;left:-4%;bottom:4%;z-index:3;width:min(330px,62%);
  display:grid;grid-template-columns:84px 1fr;gap:14px;align-items:center;
  padding:12px 16px 12px 12px;border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--sh-3);
}
.promo__ph{
  display:grid;place-items:center;height:104px;border-radius:12px;overflow:hidden;
  background:radial-gradient(closest-side,#FBFAF6,var(--sand));
}
.promo__ph{position:relative}
.promo__img{position:absolute;left:0;top:6%;width:100%;height:92%;max-width:none;object-fit:contain}
.promo__body{min-width:0}
.promo__k{margin:0 0 2px;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-deep);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.promo__n{font-size:20px;font-weight:700;letter-spacing:-.02em}
.promo__m{margin:2px 0 10px;font-family:var(--f-mono);font-size:12px;color:var(--muted)}
.promo__buy{display:flex;align-items:center;justify-content:space-between;gap:8px}
.promo__p{font-weight:800;font-size:17px;color:var(--ink);white-space:nowrap;letter-spacing:-.01em}
.promo .btn{--btn-h:36px;padding:0 14px;font-size:13px}

/* ------------------------------------------------------------ trust bar */
.trustbar{background:var(--surface);border-block:1px solid var(--line)}
.trustbar__in{
  list-style:none;margin:0 auto;max-width:var(--max);padding:0 var(--gut);
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
}
.trustbar li{display:flex;gap:14px;align-items:flex-start;padding:28px 24px}
.trustbar li + li{border-left:1px solid var(--line-2)}
.trustbar li:first-child{padding-left:0}
.trustbar .ic{width:28px;height:28px;color:var(--gold);margin-top:1px}
.trustbar strong{display:block;font-size:15px;font-weight:600;color:var(--ink);line-height:1.3;margin-bottom:3px}
.trustbar span{display:block;font-size:13px;color:var(--muted);line-height:1.45}

/* ------------------------------------------------------------ categories */
.catgrid{
  display:grid;gap:clamp(14px,1.6vw,20px);
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-template-rows:repeat(3,minmax(210px,auto));
}
.catcard{
  position:relative;overflow:hidden;isolation:isolate;
  display:flex;flex-direction:column;justify-content:space-between;
  min-height:210px;padding:26px 26px 24px;border-radius:var(--r-lg);
  background:radial-gradient(80% 90% at 85% 100%,#FBF9F4 0%,rgba(251,249,244,0) 60%),var(--sand);
  text-decoration:none;color:var(--ink);
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),background-color .3s;
}
.catcard:hover{transform:translateY(-4px);box-shadow:var(--sh-2)}
.catcard__txt{position:relative;z-index:2;display:flex;flex-direction:column;max-width:58%}
.catcard__nume{font-size:20px;font-weight:700;letter-spacing:-.02em;line-height:1.15}
.catcard__d{display:none;margin-top:10px;font-size:14px;line-height:1.5;color:var(--ink-2)}
.catcard__meta{margin-top:8px;font-size:13px;font-weight:500;color:var(--muted)}
.catcard__n{font-family:var(--f-mono);font-weight:500;color:var(--gold-deep)}
.catcard__go{
  position:relative;z-index:2;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;
  background:#fff;color:var(--ink);box-shadow:0 1px 2px rgba(40,32,20,.08);
  transition:background .3s var(--ease),color .3s var(--ease),transform .3s var(--ease);
}
.catcard__go .ic{width:20px;height:20px}
.catcard:hover .catcard__go{background:var(--ink);color:var(--gold-lite);transform:translateX(4px)}
.catcard__vials{
  position:absolute;right:6%;bottom:-6%;z-index:1;height:84%;
  display:flex;align-items:flex-end;pointer-events:none;
}
.catcard__v{
  height:100%;width:auto;max-width:none;
  filter:drop-shadow(0 16px 18px rgba(40,32,20,.18));
  transition:transform .5s var(--ease);
}
.catcard__v:nth-child(1){order:2;position:relative;z-index:2}
.catcard__v:nth-child(2){order:1;height:86%;margin-right:-22px}
.catcard__v:nth-child(3){order:3;height:80%;margin-left:-22px}
.catcard:hover .catcard__v{transform:translateY(-6px)}
.catcard:hover .catcard__v:nth-child(2){transition-delay:.04s}
/* asymmetric layout: 1 feature + 2 small + 3 wide */
.catcard--1{grid-column:1/3;grid-row:1/3;padding:36px;background:
  radial-gradient(70% 70% at 70% 80%,#FFFFFF 0%,rgba(255,255,255,0) 65%),linear-gradient(160deg,#F4F1EA,#EAE4D6)}
.catcard--1 .catcard__nume{font-size:clamp(26px,2.6vw,34px);letter-spacing:-.03em}
.catcard--1 .catcard__d{display:block;max-width:30ch}
.catcard--1 .catcard__txt{max-width:52%}
.catcard--1 .catcard__vials{height:66%;right:6%;bottom:-3%}
.catcard--1 .catcard__v:nth-child(2){margin-right:-34px}
.catcard--1 .catcard__v:nth-child(3){margin-left:-34px}
.catcard--2{grid-column:3/5}
.catcard--3,.catcard--4{grid-column:span 1}
.catcard--3 .catcard__v:nth-child(n+2),.catcard--4 .catcard__v:nth-child(n+2){display:none}
.catcard--3 .catcard__txt,.catcard--4 .catcard__txt{max-width:72%}
.catcard--3 .catcard__nume,.catcard--4 .catcard__nume{font-size:19px}
.catcard--3 .catcard__vials,.catcard--4 .catcard__vials{right:-3%;height:66%;bottom:-8%}
.catcard--5{grid-column:1/3}
.catcard--6{grid-column:3/5}
.catcard--1 .catcard__go{width:52px;height:52px}

/* ----------------------------------------------------------------- steps */
.steps{padding-block:var(--sec);background:var(--sand);position:relative;overflow:hidden}
.steps::before{
  content:"";position:absolute;left:50%;top:-340px;width:900px;aspect-ratio:1;translate:-50% 0;border-radius:50%;
  background:radial-gradient(closest-side,rgba(255,255,255,.7),transparent);pointer-events:none;
}
.steps .wrap{position:relative}
.steps__list{
  list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(14px,1.6vw,24px);counter-reset:none;
}
.step{
  position:relative;padding:32px 30px 30px;border-radius:var(--r-lg);background:var(--surface);
  box-shadow:var(--sh-1);overflow:hidden;
}
.step__n{
  position:absolute;right:22px;top:4px;font-family:var(--f-serif);font-style:italic;
  font-size:104px;line-height:1;color:var(--gold-deep);opacity:.9;letter-spacing:-.02em;
}
.step__ic{
  display:grid;place-items:center;width:52px;height:52px;border-radius:50%;margin-bottom:26px;
  background:var(--gold-soft);color:var(--gold-deep);
}
.step__ic .ic{width:26px;height:26px}
.step h3{font-size:20px;font-weight:700;letter-spacing:-.02em;margin-bottom:8px}
.step p{margin:0;font-size:15px;color:var(--muted);line-height:1.55}
.step:not(:last-child)::after{
  content:"";position:absolute;left:30px;right:30px;bottom:0;height:3px;
  background:linear-gradient(90deg,var(--gold),transparent);opacity:.6;
}

/* ----------------------------------------------------------------- split */
.split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:center}
.split__media{
  position:relative;margin:0;border-radius:var(--r-xl);overflow:hidden;aspect-ratio:1.1/1;
  background:
    radial-gradient(60% 55% at 42% 55%,rgba(255,255,255,.9),transparent 70%),
    linear-gradient(160deg,#F5F2EB,var(--sand-2));
  display:grid;place-items:end center;box-shadow:var(--sh-1);
}
.split__media::before{
  content:"";position:absolute;left:50%;top:50%;width:78%;aspect-ratio:1;translate:-50% -50%;border-radius:50%;
  border:1px solid rgba(184,144,63,.45);
}
.shot--duo{position:relative;width:92%;max-width:none;margin:0 0 2% 22%;filter:drop-shadow(0 26px 30px rgba(40,32,20,.2))}
.split__tag{
  position:absolute;left:22px;top:22px;margin:0;padding:8px 14px;border-radius:var(--pill);
  background:var(--ink);color:#fff;font-size:13px;font-weight:500;
}
.split__tag .mono{color:var(--gold-lite);font-weight:500;margin-right:4px}
.split__copy h2{font-size:clamp(34px,3.8vw,48px);margin-bottom:18px}
.split__lead{font-size:18px;line-height:1.65;color:var(--ink-2);max-width:48ch}
.lotform{margin:28px 0 22px;padding:20px;border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--sh-1)}
.lotform__l{display:block;margin-bottom:10px;font-size:14px;font-weight:600;color:var(--ink)}
.lotform__row{display:flex;gap:8px;padding:5px;border-radius:var(--pill);background:var(--sand)}
.lotform__row input{
  flex:1;min-width:0;border:0;background:transparent;padding:0 16px;height:44px;
  font-family:var(--f-mono);font-size:15px;color:var(--ink);outline:none;border-radius:var(--pill);
}
.lotform__row:focus-within{box-shadow:inset 0 0 0 1.5px var(--ink),0 0 0 4px var(--gold-soft)}
.lotform__row input::placeholder{color:var(--muted)}
.split__note{font-size:14px;color:var(--muted);max-width:52ch}
.split__note a{color:var(--ink);text-decoration-color:var(--gold);text-underline-offset:3px}

/* ---------------------------------------------------------------- footer */
.ftr{
  position:relative;margin-top:0;background:var(--ink);color:rgba(255,255,255,.7);font-size:14px;line-height:1.6;
}
.ftr::before{
  content:"";position:absolute;left:0;right:0;top:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--gold) 20%,var(--gold-lite) 50%,var(--gold) 80%,transparent);
}
.ftr__in{max-width:var(--max);margin:0 auto;padding:clamp(56px,6vw,80px) var(--gut) 28px}
.ftr__top{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:40px}
.ftr__mark{margin:0 0 14px;font-size:22px;font-weight:800;letter-spacing:.16em;color:#fff}
.ftr__blurb{max-width:40ch;margin-bottom:20px}
.ftr__warn{
  display:inline-flex;align-items:center;gap:10px;margin:0;padding:10px 16px 10px 12px;border-radius:var(--r-md);
  border:1px solid rgba(217,186,120,.35);line-height:1.4;color:var(--gold-lite);font-size:13px;font-weight:500;
}
.ftr__warn .ic{width:18px;height:18px}
.ftr__col h2{margin:4px 0 16px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-lite)}
.ftr__col ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.ftr__col a,.ftr__anpc a{color:rgba(255,255,255,.7);text-decoration:none;transition:color .2s}
.ftr__col a:hover,.ftr__anpc a:hover{color:#fff;text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:4px}
.ftr__legal{margin-top:48px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12)}
.ftr__legal .data{margin:0 0 14px;font-size:12px;line-height:1.7;color:rgba(255,255,255,.6)}
.ftr__row{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.ftr__copy{margin:0;font-size:13px;color:rgba(255,255,255,.6)}
.ftr__anpc{margin:0;display:flex;gap:10px}
.ftr__anpc a{padding:5px 12px;border:1px solid rgba(255,255,255,.2);border-radius:var(--pill);font-size:12px;font-weight:600;letter-spacing:.06em}

/* --------------------------------------------------------------- catalog */
.shop{display:grid;grid-template-columns:272px minmax(0,1fr);gap:clamp(24px,2.6vw,36px);align-items:start;padding-bottom:var(--sec)}
.filters{
  position:sticky;top:calc(var(--hdr-h) + 20px);
  padding:22px;border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--sh-1);
}
.filters__box + .filters__box{margin-top:20px;padding-top:20px;border-top:1px solid var(--line-2)}
.filters__h{
  display:flex;justify-content:space-between;align-items:baseline;margin:0 0 12px;
  font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);
}
.filters__unit{font-family:var(--f-mono);letter-spacing:0;color:var(--muted);font-weight:400}
.filters__cats{display:grid;gap:2px}
.fchk{
  display:grid;grid-template-columns:22px 1fr auto;gap:12px;align-items:center;
  padding:8px 8px 8px 6px;margin-inline:-6px;border-radius:var(--r-sm);cursor:pointer;
  font-size:14.5px;color:var(--ink-2);transition:background .2s;
}
.fchk:hover{background:var(--bg)}
.fchk:has(input:checked){color:var(--ink);font-weight:600}
.fchk--plain{grid-template-columns:22px 1fr}
.fchk__t{line-height:1.3}
.fchk__n{
  min-width:26px;padding:2px 7px;border-radius:var(--pill);background:var(--sand);text-align:center;
  font-family:var(--f-mono);font-size:12px;font-weight:500;color:var(--muted);
}
.fchk:has(input:checked) .fchk__n{background:var(--ink);color:var(--gold-lite)}
.frange{display:flex;align-items:center;gap:8px}
.frange label{flex:1;min-width:0}
.frange input{
  width:100%;height:42px;padding:0 12px;border-radius:var(--r-sm);border:1px solid var(--line);background:#fff;
  font-family:var(--f-mono);font-size:14px;color:var(--ink);
}
.frange input:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 4px var(--gold-soft)}
.frange__s{color:var(--muted)}
.filters__reset{
  margin-top:20px;padding:4px 0;border:0;background:none;font-size:14px;font-weight:600;color:var(--ink);
  text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:1.5px;text-underline-offset:4px;
}
.filters__reset:hover{color:var(--gold-deep)}

.results{min-width:0}
.results__bar{
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  margin-bottom:20px;
}
.results__n{margin:0;font-size:15px;color:var(--muted)}
.results__n b{font-family:var(--f-mono);font-weight:500;color:var(--ink);font-size:16px}
.results__tools{display:flex;gap:10px;flex-wrap:wrap}
.results__search{position:relative;display:block}
.results__search .ic{position:absolute;left:15px;top:50%;translate:0 -50%;width:18px;height:18px;color:var(--muted);pointer-events:none}
.results__search input,.results__sort select{
  height:46px;border-radius:var(--pill);border:1px solid var(--line);background:#fff;font-size:14.5px;color:var(--ink);
  transition:border-color .2s,box-shadow .2s;
}
.results__search input{width:260px;padding:0 18px 0 42px}
.results__sort select{
  padding:0 44px 0 18px;cursor:pointer;font-weight:500;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23141417' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 16px center/18px;
}
.results__search input:focus,.results__sort select:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 4px var(--gold-soft)}

/* ----------------------------------------------------------- product page */
.pdp{max-width:var(--max);margin:0 auto;padding:clamp(24px,3vw,40px) var(--gut) var(--sec)}
.pdp__top{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:start}
.pshow{position:sticky;top:calc(var(--hdr-h) + 20px);margin:0}
.pshow__frame{
  position:relative;display:grid;place-items:center;overflow:hidden;aspect-ratio:1/1.02;
  border-radius:var(--r-xl);
  background:
    radial-gradient(48% 46% at 50% 50%,#FFFFFF 0%,rgba(255,255,255,0) 72%),
    linear-gradient(165deg,#F5F2EB 0%,var(--sand) 55%,var(--sand-2) 100%);
}
.pshow__frame::before{
  content:"";position:absolute;left:50%;top:50%;width:74%;aspect-ratio:1;translate:-50% -50%;border-radius:50%;
  border:1px solid rgba(184,144,63,.4);
}
.pshow__frame::after{
  content:"";position:absolute;left:30%;right:30%;bottom:8%;height:7%;
  background:radial-gradient(closest-side,rgba(40,32,20,.22),transparent);
}
.shot--hero{position:absolute;z-index:1;left:0;top:9%;width:100%;height:84%;max-width:none;object-fit:contain}
.pshow__badge{
  position:absolute;left:20px;top:20px;z-index:2;display:flex;align-items:center;gap:8px;
  padding:8px 14px 8px 10px;border-radius:var(--pill);background:rgba(255,255,255,.94);box-shadow:var(--sh-1);
  font-size:13px;font-weight:600;color:var(--ink);
}
.pshow__badge .ic{width:18px;height:18px;color:var(--gold)}
.pshow__cap{
  display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;
  font-family:var(--f-mono);font-size:12px;color:var(--ink-2);
}
.pshow__cap span{padding:5px 12px;border-radius:var(--pill);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}

.pdp__info h1{font-size:clamp(40px,4.4vw,56px);letter-spacing:-.035em;line-height:1.02;margin-bottom:14px}
.pdp__sum{font-size:18px;line-height:1.6;color:var(--ink-2);margin-bottom:26px;max-width:52ch}
.pdp__label{margin:0 0 10px;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}
.vrows{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}
.vrow{
  position:relative;display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"dot doza pret" "dot lot lot";
  column-gap:12px;row-gap:2px;align-items:center;min-width:min(100%,280px);
  padding:12px 18px 12px 14px;border-radius:var(--r-md);border:1.5px solid var(--line);background:#fff;cursor:pointer;
  transition:border-color .2s,box-shadow .2s;
}
.vrow:hover{border-color:#C9C1AF}
.vrow:has(input:checked){border-color:var(--ink);box-shadow:0 0 0 4px var(--gold-soft)}
.vrow input{
  grid-area:dot;-webkit-appearance:none;appearance:none;margin:0;width:20px;height:20px;border-radius:50%;
  border:1.5px solid #A9A293;background:#fff;display:grid;place-items:center;cursor:pointer;
}
.vrow input::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--gold);transform:scale(0);transition:transform .2s var(--ease)}
.vrow input:checked{border-color:var(--ink);background:var(--ink)}
.vrow input:checked::after{transform:scale(1)}
.vrow__doza{grid-area:doza;font-weight:700;font-size:16px;color:var(--ink)}
.vrow__pret{grid-area:pret;font-weight:600;font-size:15px;color:var(--ink);font-variant-numeric:tabular-nums}
.vrow__lot{grid-area:lot;font-family:var(--f-mono);font-size:11.5px;color:var(--muted)}
.vrow__stoc:empty{display:none}
.vrow__stoc{position:absolute;right:12px;top:-9px;padding:1px 8px;border-radius:var(--pill);background:var(--ink);color:#fff;font-size:11px}
.vrow--out{opacity:.6;cursor:not-allowed}

.buybar{padding:22px;border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--sh-1);margin-bottom:22px}
.buybar__top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.buybar__price{font-size:36px;font-weight:800;letter-spacing:-.03em;color:var(--ink);line-height:1;font-variant-numeric:tabular-nums}
.buybar__cod{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--muted)}
.buybar__cod .ic{width:20px;height:20px;color:var(--gold)}
.buybar__row{display:flex;gap:10px;flex-wrap:wrap}
.buybar__btns{display:flex;gap:10px;flex:1;min-width:0}
.buybar__btns .btn{flex:1;padding:0 18px}
.buybar__btns .btn--primary{flex:1.25}
.qty{
  display:inline-flex;align-items:center;height:48px;padding:4px;border-radius:var(--pill);
  background:var(--sand);flex:none;
}
.qty button{
  display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:50%;
  background:#fff;font-size:18px;color:var(--ink);box-shadow:0 1px 2px rgba(40,32,20,.1);transition:background .2s,color .2s;
}
.qty button:hover{background:var(--ink);color:#fff}
.qty button:active{transform:scale(.94)}
.qty input{
  width:40px;border:0;background:transparent;text-align:center;font-weight:700;font-size:16px;color:var(--ink);
  font-variant-numeric:tabular-nums;outline:none;
}

.buyinfo{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:12px}
.buyinfo li{display:flex;gap:12px;align-items:flex-start;font-size:14.5px;color:var(--ink-2);line-height:1.45}
.buyinfo .ic{width:22px;height:22px;color:var(--gold);margin-top:-1px}

.coalink{
  display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;margin-bottom:16px;
  padding:16px 18px;border-radius:var(--r-lg);background:var(--sand);text-decoration:none;color:var(--ink-2);
  transition:background .25s,box-shadow .25s;
}
.coalink:hover{background:var(--sand-2)}
.coalink__ic{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#fff;color:var(--gold-deep)}
.coalink__t b{display:block;color:var(--ink);font-size:15px;font-weight:600}
.coalink__t span{display:block;font-size:13px;color:var(--muted);margin-top:2px}
.coalink__go{color:var(--ink);transition:transform .25s var(--ease)}
.coalink__go .ic{width:20px;height:20px}
.coalink:hover .coalink__go{transform:translateX(4px)}

.pdp__more{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,3vw,40px);
  margin-top:clamp(56px,7vw,96px);align-items:start;
}
.pdp__overview,.pdp__specs{padding:clamp(24px,3vw,40px);border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--sh-1)}
.pdp__more h2{font-size:clamp(26px,2.6vw,32px);margin-bottom:16px}
.pdp__overview > p:not(.eyebrow){font-size:16.5px;line-height:1.7;color:var(--ink-2);max-width:70ch}
.spec{width:100%;border-collapse:collapse}
.spec th,.spec td{padding:13px 0;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}
.spec tr:last-child th,.spec tr:last-child td{border-bottom:0}
.spec th{width:40%;padding-right:16px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);line-height:1.5;padding-top:15px}
.spec td{font-family:var(--f-mono);font-size:13.5px;color:var(--ink);line-height:1.55;overflow-wrap:anywhere}

/* --------------------------------------------------------------- checkout */
.pagehead--ck{padding-bottom:28px}
.checkout{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,420px);gap:clamp(20px,3vw,40px);
  align-items:start;padding-bottom:var(--sec);
}
.ck__form{min-width:0}
.ck__box{
  min-width:0;margin:0 0 18px;padding:26px 28px 28px;border:0;border-radius:var(--r-lg);
  background:var(--surface);box-shadow:var(--sh-1);
}
.ck__box > legend{float:left;width:100%;padding:0;margin:0 0 20px}
.ck__box > legend + *{clear:both}
.ck__legend{
  display:block;font-size:20px!important;font-weight:700!important;
  letter-spacing:-.02em!important;text-transform:none!important;color:var(--ink)!important;
}
.ck__step{
  display:inline-grid;place-items:center;vertical-align:2px;margin-right:12px;width:30px;height:30px;border-radius:50%;background:var(--ink);
  color:var(--gold-lite);font-size:14px;font-weight:700;letter-spacing:0;
}
.ck__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.field--full{grid-column:1/-1}
.ck__alert{
  margin:0 0 18px;padding:14px 18px;border-radius:var(--r-md);background:var(--err-soft);
  color:var(--err);font-weight:500;font-size:15px;box-shadow:inset 0 0 0 1px oklch(0.50 0.16 30 / .3);
}
.hp{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.ck__note{margin-top:14px}
.ck__form > .btn{margin-top:4px}
.ck__sum{
  position:sticky;top:calc(var(--hdr-h) + 20px);border-radius:var(--r-lg);background:var(--surface);
  box-shadow:var(--sh-1);overflow:hidden;
}
.ck__sum .drawer__bar{padding:20px 24px 16px}
.ck__sum .drawer__items{max-height:min(46vh,420px);padding:0 24px}
.ck__sum .drawer__foot{border-bottom-left-radius:0}
.ck__empty{margin-bottom:18px}
.ck__nr{
  display:inline-flex;align-items:center;gap:10px;margin:0 0 22px;padding:10px 18px;border-radius:var(--pill);
  background:var(--ink);color:rgba(255,255,255,.8);font-size:14px;
}
.ck__nr b{font-family:var(--f-mono);font-weight:500;color:var(--gold-lite);font-size:16px;letter-spacing:.02em}

/* ------------------------------------------------------------------- COA */
.coa{padding-bottom:var(--sec)}
.coa__hero{
  background:radial-gradient(700px 360px at 50% 0%,rgba(184,144,63,.12),transparent 70%),linear-gradient(180deg,#fff,var(--bg));
  border-bottom:1px solid var(--line-2);margin-bottom:clamp(32px,4vw,56px);
}
.coa__head{max-width:760px;margin:0 auto;padding:clamp(40px,6vw,80px) var(--gut) clamp(40px,5vw,64px);text-align:center}
.coa__head h1{font-size:clamp(40px,5vw,64px);letter-spacing:-.035em;margin:20px 0 16px}
.coa__head > p:not(.pill){font-size:18px;color:var(--ink-2);max-width:54ch;margin:0 auto 28px}
.coa__search{
  position:relative;display:flex;gap:8px;max-width:560px;margin:0 auto;padding:6px;border-radius:var(--pill);
  background:#fff;box-shadow:var(--sh-2);
}
.coa__search .ic{position:absolute;left:22px;top:50%;translate:0 -50%;width:20px;height:20px;color:var(--muted)}
.coa__search input{
  flex:1;min-width:0;height:48px;border:0;background:transparent;padding:0 12px 0 48px;border-radius:var(--pill);
  font-family:var(--f-mono);font-size:16px;color:var(--ink);outline:none;
}
.coa__search:focus-within{box-shadow:var(--sh-2),0 0 0 2px var(--ink),0 0 0 6px var(--gold-soft)}
.coa__search .btn{--btn-h:48px;padding:0 26px}
.coa__archive{margin:clamp(28px,4vw,48px) 0 24px}
.coa__wrap{overflow-x:auto;border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--sh-1)}
.coa__all{width:100%;border-collapse:collapse;font-size:14.5px;min-width:640px}
.coa__all th{
  padding:14px 18px;text-align:left;background:var(--bg);border-bottom:1px solid var(--line);
  font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);
}
.coa__all td{padding:14px 18px;border-bottom:1px solid var(--line-2);font-family:var(--f-mono);font-size:13.5px;color:var(--ink)}
.coa__all tr:last-child td{border-bottom:0}
.coa__all tr:hover td{background:var(--bg)}
.coa__all a{color:var(--ink);font-weight:500;text-decoration-color:var(--gold);text-underline-offset:3px}
.coa__result{margin-bottom:24px;border-radius:var(--r-lg);overflow:hidden;background:var(--surface);box-shadow:var(--sh-2)}
.coa__bar{
  display:flex;justify-content:space-between;gap:12px;padding:16px 22px;background:var(--ink);color:#fff;font-weight:600;
}
.coa__bar span:first-child::before{content:"✓";display:inline-grid;place-items:center;width:22px;height:22px;margin-right:10px;border-radius:50%;background:var(--gold);color:var(--ink);font-size:12px}
.coa__bar span:last-child{font-family:var(--f-mono);font-weight:500;color:var(--gold-lite)}
.coa__bar--bad{background:var(--err)}
.coa__bar--bad span:first-child::before{content:"!";background:#fff;color:var(--err)}
.coa__bar--bad span:last-child{color:#fff}
.coa__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.coa__cell{margin:0;padding:16px 22px;border-bottom:1px solid var(--line-2);border-right:1px solid var(--line-2)}
.coa__cell dt{font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.coa__cell dd{margin:0;font-family:var(--f-mono);font-size:14px;color:var(--ink)}
.coa__cell dd.big{font-family:var(--f-sans);font-size:22px;font-weight:800;letter-spacing:-.02em}
.coa .callout{margin-top:0}

/* ------------------------------------------------------ prose (legal etc.) */
article.prose{
  width:min(900px,calc(100% - 2 * var(--gut)));margin:clamp(24px,4vw,56px) auto var(--sec);
  padding:clamp(28px,5vw,64px) clamp(22px,5vw,72px);border-radius:var(--r-xl);
  background:var(--surface);box-shadow:var(--sh-1);color:var(--ink-2);font-size:17px;line-height:1.72;
}
.prose > *{max-width:70ch}
.prose h1{font-size:clamp(34px,4vw,52px);letter-spacing:-.035em;line-height:1.04;margin-bottom:16px}
.prose h2{font-size:clamp(22px,2.2vw,26px);letter-spacing:-.02em;margin:44px 0 12px;line-height:1.2}
.prose h3{font-size:18px;letter-spacing:-.01em;margin:28px 0 8px}
.prose .updated{
  display:inline-flex;align-items:center;gap:8px;margin-bottom:28px;padding:6px 14px 6px 10px;border-radius:var(--pill);
  background:var(--gold-soft);color:var(--gold-deep);font-size:13px;font-weight:600;
}
.prose .updated::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gold)}
.prose ul,.prose ol{padding-left:1.3em;margin:0 0 1.2em}
.prose li{margin-bottom:.45em;padding-left:.2em}
.prose li::marker{color:var(--gold-deep);font-weight:600}
.prose a{color:var(--ink);font-weight:500;text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:1.5px;text-underline-offset:3px}
.prose a:hover{color:var(--gold-deep)}
.prose a.btn{color:var(--ink);text-decoration:none}
.prose a.btn:hover{color:#fff}
.prose strong{color:var(--ink);font-weight:600}
.prose code{font-family:var(--f-mono);font-size:.88em;padding:2px 6px;border-radius:6px;background:var(--sand)}
.prose table{width:100%;max-width:none;border-collapse:collapse;margin:8px 0 24px;font-size:15px;display:block;overflow-x:auto}
.prose table tbody,.prose table thead{display:table;width:100%;border-collapse:collapse}
.prose th,.prose td{padding:12px 16px 12px 0;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.prose th{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);width:34%}
.prose td{color:var(--ink)}
.prose .callout{max-width:none}
.prose .todo{
  margin:0 0 28px;padding:16px 18px;border-radius:var(--r-md);background:oklch(0.97 0.03 60);
  box-shadow:inset 0 0 0 1px oklch(0.86 0.07 60);font-size:14.5px;line-height:1.6;color:var(--ink-2);max-width:none;
}
.prose .todo strong{color:oklch(0.45 0.13 50)}
.okmark{
  display:grid;place-items:center;width:64px;height:64px;margin-bottom:22px;border-radius:50%;
  background:var(--ink);color:var(--gold-lite);box-shadow:0 0 0 8px var(--gold-soft);
}
.okmark .ic{width:30px;height:30px;stroke-width:2}

/* ========================================================= ACCOUNTS (2026-09-16)
   Prices and buying are login-only (ACCOUNTS-CONTRACT.md §2). account.js sets
   <html data-auth="in|out"> after GET /me; with no attribute the page renders the
   logged-out variant (no price flash), except .auth-out-known which waits for a
   definite answer (checkout, account page) and .auth-wait which shows meanwhile. */
html:not([data-auth="in"]) .auth-in{display:none!important}
html[data-auth="in"] .auth-out{display:none!important}
html:not([data-auth="out"]) .auth-out-known{display:none!important}
html[data-auth] .auth-wait{display:none!important}

/* ------------------------------------------------------------ header account */
.hdr__acct{position:relative;display:flex;align-items:center;gap:8px}
.hdr__login{
  display:inline-flex;align-items:center;gap:7px;height:44px;padding:0 12px;border-radius:var(--pill);
  font-size:15px;font-weight:600;color:var(--ink);text-decoration:none;white-space:nowrap;transition:background .2s;
}
.hdr__login .ic{width:20px;height:20px;color:var(--gold-deep)}
.hdr__login:hover{background:var(--sand)}
.hdr__join{--btn-h:40px;padding:0 16px}

.acct{position:relative}
.acct__btn{
  display:inline-flex;align-items:center;gap:9px;height:44px;max-width:210px;padding:0 14px 0 4px;
  border:0;border-radius:var(--pill);background:var(--sand);color:var(--ink);
  font-size:14.5px;font-weight:600;transition:box-shadow .2s,background .2s;
}
.acct__btn:hover,.acct__btn[aria-expanded="true"]{background:#fff;box-shadow:inset 0 0 0 1px var(--line)}
.acct__av{
  display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:50%;
  background:var(--ink);color:var(--gold-lite);font-size:14px;font-weight:700;
}
.acct__lbl{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.acct__menu{
  position:absolute;right:0;top:calc(100% + 10px);z-index:calc(var(--z-sticky) + 1);
  width:260px;padding:8px;border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--sh-3);
  outline:1px solid var(--line-2);animation:rise .3s var(--ease);
}
.acct__who{margin:0;padding:10px 12px 12px;border-bottom:1px solid var(--line-2)}
.acct__who b{display:block;color:var(--ink);font-size:15px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.acct__who span{display:block;font-size:13px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.acct__item{
  display:block;width:100%;margin-top:4px;padding:10px 12px;border:0;border-radius:var(--r-sm);background:none;
  text-align:left;font-size:15px;font-weight:500;color:var(--ink);text-decoration:none;
}
.acct__item:hover{background:var(--bg)}
.acct__item--out{color:var(--ink-2)}

/* ---------------------------------------------------------------- price gate */
.pgate{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.pgate__login{
  position:relative;z-index:2;display:inline-flex;align-items:center;gap:8px;
  font-size:15px;font-weight:700;color:var(--ink);text-decoration:none;
}
.pgate__login span{text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:1.5px;text-underline-offset:4px}
.pgate__login .ic{width:18px;height:18px;color:var(--gold-deep)}
.pgate__login:hover span{text-decoration-color:var(--ink)}
.pgate__join{position:relative;z-index:2;font-size:13px;color:var(--muted);text-decoration:none}
.pgate__join:hover{color:var(--ink);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:3px}
.item .pgate{margin-top:auto;padding-top:14px;border-top:1px solid var(--line-2)}
.promo .pgate{gap:2px}
.promo .pgate__login{font-size:14px}
.promo .pgate__join{font-size:12px}

.item__pur{
  display:flex;align-items:center;gap:6px;margin:-8px 0 14px;font-size:12.5px;font-weight:500;color:var(--ink-2);line-height:1.35;
}
.item__pur .ic{width:16px;height:16px;color:var(--gold);flex:none}
.item__pur--num{color:var(--ink);font-weight:600}

.pdp__pur{
  display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0 0 20px;padding:12px 16px;
  border-radius:var(--r-md);background:var(--gold-soft);box-shadow:inset 0 0 0 1px rgba(184,144,63,.25);
  font-size:15px;font-weight:600;color:var(--ink);
}
.pdp__pur .ic{width:20px;height:20px;color:var(--gold-deep)}
.pdp__pur-m{flex-basis:100%;margin-left:30px;margin-top:-4px;font-family:var(--f-mono);font-size:12px;font-weight:400;color:var(--muted)}
.buybar--gate{display:flex;flex-direction:column;gap:12px}
.buybar__gt{margin:0;font-size:15px;color:var(--ink-2)}
.buybar--gate .pgate__login{font-size:17px}
.buybar--gate .pgate__join{font-size:14px}

/* ------------------------------------------------------- cart + checkout gate */
.drawer__gate{display:flex;flex-direction:column;align-items:stretch;gap:12px}
.drawer__gt{display:flex;gap:10px;align-items:flex-start;margin:0 0 4px;font-size:14px;line-height:1.5;color:var(--muted)}
.drawer__gt .ic{width:22px;height:22px;color:var(--gold-deep);flex:none;margin-top:-1px}
.drawer__gt strong{display:block;color:var(--ink);font-weight:600}
.drawer__join{align-self:center;font-size:14px;font-weight:600;color:var(--ink);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:4px}

.ckgate{
  max-width:620px;margin:0 auto var(--sec);padding:clamp(28px,4vw,48px);border-radius:var(--r-xl);
  background:var(--surface);box-shadow:var(--sh-1);text-align:center;
}
.ckgate__ic{
  display:grid;place-items:center;width:60px;height:60px;margin:0 auto 18px;border-radius:50%;
  background:var(--ink);color:var(--gold-lite);box-shadow:0 0 0 8px var(--gold-soft);
}
.ckgate__ic .ic{width:26px;height:26px}
.ckgate h2{font-size:clamp(26px,3vw,32px);margin-bottom:10px}
.ckgate p{color:var(--ink-2);max-width:46ch;margin:0 auto 24px}
.ckgate__cta{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.done__cta{display:flex;flex-wrap:wrap;gap:10px}

/* ------------------------------------------------------------- account pages */
.acc{
  display:flex;flex-direction:column;align-items:center;gap:18px;
  padding:clamp(28px,5vw,72px) var(--gut) var(--sec);
  background:radial-gradient(700px 380px at 50% 0%,rgba(184,144,63,.10),transparent 70%);
}
.acc__card{
  width:100%;max-width:500px;padding:clamp(26px,4vw,44px);border-radius:var(--r-xl);
  background:var(--surface);box-shadow:var(--sh-2);
}
.acc--wide .acc__card{max-width:700px}
.acc__card h1{font-size:clamp(34px,4.2vw,48px);letter-spacing:-.035em;line-height:1.04;margin:18px 0 10px}
.acc__lead{margin:0 0 22px;font-size:16px;color:var(--ink-2)}
.acc__sub{margin:0;font-size:15px;font-weight:700;color:var(--ink)}
.acc__form{display:flex;flex-direction:column;gap:16px}
.acc__form > .btn{margin-top:6px}
.acc__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.acc__lrow{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.acc__aside{font-size:13.5px;font-weight:500;color:var(--ink-2);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:3px}
.acc__aside:hover{color:var(--ink)}
.acc__alt{margin:22px 0 0;padding-top:18px;border-top:1px solid var(--line-2);font-size:15px;color:var(--muted);text-align:center}
.acc__alt a,.acc__msg a,.acc__fine a,.acc__none a{color:var(--ink);font-weight:600;text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:3px}
.acc__ruo{display:flex;align-items:center;gap:8px;margin:0;font-size:13px;color:var(--muted)}
.acc__ruo .ic{width:18px;height:18px;color:var(--gold-deep)}
.acc__decl{margin:6px 0 0;padding:0;border:0;min-width:0}
.acc__decl legend{padding:0;margin:0 0 10px;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}
.acc__decl .field__err{margin:8px 0 10px 4px}
.acc__next{margin-top:18px}

.acc__msg{
  margin:0 0 18px;padding:14px 16px;border-radius:var(--r-md);font-size:15px;line-height:1.55;
  background:var(--err-soft);color:var(--err);box-shadow:inset 0 0 0 1px oklch(0.50 0.16 30 / .3);
}
.acc__msg strong,.acc__msg b{font-weight:700}
.acc__msg--ok{background:var(--gold-soft);color:var(--ink);box-shadow:inset 0 0 0 1px rgba(184,144,63,.35)}
.acc__msg--ok::before{
  content:"✓";display:inline-grid;place-items:center;width:20px;height:20px;margin-right:8px;vertical-align:-3px;
  border-radius:50%;background:var(--ink);color:var(--gold-lite);font-size:11px;font-weight:700;
}
.acc__msg--warn{background:oklch(0.97 0.03 60);color:var(--ink);box-shadow:inset 0 0 0 1px oklch(0.86 0.07 60)}
.acc__link{
  padding:0;border:0;background:none;font-weight:700;color:var(--ink);
  text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:3px;
}
.acc__link:disabled{color:var(--muted);cursor:default}

.acc__strength{display:flex;align-items:center;gap:10px;margin:2px 0 0;font-size:13px;color:var(--muted)}
.acc__bars{display:flex;gap:4px;flex:none}
.acc__bars i{width:22px;height:4px;border-radius:4px;background:var(--line)}
.acc__strength[data-level="1"] .acc__bars i:nth-child(-n+1){background:var(--err)}
.acc__strength[data-level="1"]{color:var(--err)}
.acc__strength[data-level="2"] .acc__bars i:nth-child(-n+2){background:var(--warn)}
.acc__strength[data-level="3"] .acc__bars i:nth-child(-n+3){background:var(--gold)}
.acc__strength[data-level="4"] .acc__bars i{background:var(--ink)}
.acc__strength[data-level="3"],.acc__strength[data-level="4"]{color:var(--ink-2)}

/* /account/ */
.accpage{display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);gap:clamp(18px,2.6vw,32px);align-items:start;padding-bottom:var(--sec)}
.accpage__side{display:flex;flex-direction:column;gap:16px}
.accpage__side .coalink{margin:0;background:var(--surface);box-shadow:var(--sh-1)}
.acc__panel{padding:clamp(22px,2.6vw,32px);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--sh-1);min-width:0}
.acc__h{font-size:22px;font-weight:700;letter-spacing:-.02em;margin-bottom:16px}
.acc__dl{margin:0}
.acc__dl div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;padding:11px 0;border-bottom:1px solid var(--line-2)}
.acc__dl div:last-child{border-bottom:0}
.acc__dl dt{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding-top:2px}
.acc__dl dd{margin:0;font-size:15px;color:var(--ink);overflow-wrap:anywhere}
.acc__fine{margin:14px 0 0;font-size:13.5px;color:var(--muted)}
.acc__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.acc__none{margin:0;padding:24px;border-radius:var(--r-md);background:var(--bg);text-align:center;color:var(--muted)}
.orders{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.order{padding:16px 18px;border-radius:var(--r-md);box-shadow:inset 0 0 0 1px var(--line)}
.order__top,.order__meta{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.order__nr{font-family:var(--f-mono);font-weight:500;font-size:15px;color:var(--ink)}
.order__st{padding:3px 10px;border-radius:var(--pill);background:var(--sand);font-size:12.5px;font-weight:600;color:var(--ink-2)}
.order__st--ok{background:var(--ink);color:var(--gold-lite)}
.order__st--bad{background:var(--err-soft);color:var(--err)}
.order__meta{margin-top:6px;font-size:13.5px;color:var(--muted)}
.order__total{font-size:17px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
.order__items{list-style:none;margin:10px 0 0;padding:10px 0 0;border-top:1px solid var(--line-2);display:grid;gap:4px;font-size:14px;color:var(--ink)}
.order__items span{font-family:var(--f-mono);font-size:12.5px;color:var(--muted)}

/* ------------------------------------------------------ home: purity standard */
.purity{background:linear-gradient(180deg,var(--bg),#fff 60%,var(--bg))}
.purity__in{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(32px,5vw,80px);align-items:center}
.purity__copy h2{font-size:clamp(34px,3.8vw,48px);margin-bottom:18px}
.purity__lead{font-size:18px;line-height:1.65;color:var(--ink-2);max-width:54ch;margin-bottom:30px}
.purity__list{list-style:none;margin:0 0 30px;padding:0;display:grid;gap:4px}
.purity__list li{display:grid;grid-template-columns:56px minmax(0,1fr);gap:16px;padding:18px 0;border-top:1px solid var(--line)}
.purity__list li:last-child{border-bottom:1px solid var(--line)}
.purity__n{font-family:var(--f-serif);font-style:italic;font-size:40px;line-height:1;color:var(--gold-deep)}
.purity__list h3{font-size:19px;font-weight:700;letter-spacing:-.02em;margin:2px 0 6px}
.purity__list p{margin:0;font-size:15.5px;line-height:1.6;color:var(--ink-2);max-width:60ch}
.purity__list b{color:var(--ink);font-weight:600}
.purity__list a{color:var(--ink);font-weight:600;text-decoration-color:var(--gold);text-underline-offset:3px}
.purity__cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px}
.purity__fine{margin:0;font-size:13.5px;color:var(--muted);max-width:40ch}

.coadoc{
  position:relative;margin:0;border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--sh-3);overflow:hidden;
  outline:1px solid var(--line-2);
}
.coadoc::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--gold),var(--gold-lite),var(--gold))}
.coadoc__head{display:flex;align-items:center;gap:14px;padding:26px 28px 20px;border-bottom:1px solid var(--line-2);background:linear-gradient(180deg,#fff,var(--bg))}
.coadoc__ic{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--ink);color:var(--gold-lite);flex:none}
.coadoc__k{margin:0;font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep)}
.coadoc__t{margin:2px 0 0;font-size:21px;font-weight:700;letter-spacing:-.02em;color:var(--ink);line-height:1.2}
.coadoc__rows{margin:0;padding:8px 28px}
.coadoc__rows div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;padding:12px 0;border-bottom:1px dashed var(--line)}
.coadoc__rows div:last-child{border-bottom:0}
.coadoc__rows dt{font-size:14.5px;font-weight:600;color:var(--ink)}
.coadoc__rows dd{margin:0;font-family:var(--f-mono);font-size:12.5px;color:var(--muted);text-align:right;padding-top:2px}
.coadoc__hl dt::before{content:"";display:inline-block;width:7px;height:7px;margin-right:8px;border-radius:50%;background:var(--gold);vertical-align:2px}
.coadoc__foot{display:flex;align-items:center;gap:10px;padding:16px 28px;background:var(--sand);font-size:13px;color:var(--ink-2)}
.coadoc__foot .ic{width:20px;height:20px;color:var(--gold-deep);flex:none}

@media (max-width:1100px){
  .accpage{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:960px){
  .purity__in{grid-template-columns:minmax(0,1fr)}
  .acct__menu{right:-60px}
}
@media (max-width:640px){
  .acc__grid{grid-template-columns:1fr}
  .acc__card h1{font-size:34px}
  .acc__dl div{grid-template-columns:96px minmax(0,1fr)}
  .purity__list li{grid-template-columns:44px minmax(0,1fr);gap:12px}
  .purity__n{font-size:32px}
  .coadoc__head,.coadoc__rows,.coadoc__foot{padding-inline:18px}
  .coadoc__rows div{grid-template-columns:minmax(0,1fr);gap:2px}
  .coadoc__rows dd{text-align:left}
  .item .pgate{align-items:stretch;text-align:center}
  .item .pgate__login{justify-content:center;font-size:14px}
  .pgate__login .ic{display:none}
  .acct__menu{right:-52px;width:min(260px,calc(100vw - 32px))}
  .ckgate__cta .btn{flex:1 1 100%}
}

/* ============================================================= RESPONSIVE */
@media (max-width:1600px){
  /* the header now carries the account links: the search moves to the catalogue page */
  .hdr__search{display:none}
  .hdr__nav{gap:24px}
}
@media (max-width:1240px){
  .hdr__bar{gap:16px}
  .hdr__nav{gap:18px}
  .hdr__join{display:none}
  .acct__lbl{display:none}
  .acct__btn{padding:0 4px}
  .grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .grid:not(.grid--shop) > .item:nth-child(n+7){display:none}
  .catcard--1 .catcard__vials{height:52%}
  .catcard--1 .catcard__txt{max-width:70%}
  .ftr__top{grid-template-columns:1.3fr repeat(3,1fr);gap:28px}
}
@media (max-width:1100px){
  .hdr__search{display:none}
  .grid--shop{grid-template-columns:repeat(2,minmax(0,1fr))}
  .trustbar__in{grid-template-columns:repeat(2,minmax(0,1fr))}
  .trustbar li:nth-child(3){padding-left:0;border-left:0}
  .trustbar li:nth-child(n+3){border-top:1px solid var(--line-2)}
  .hero__in{min-height:540px}
  .hero__pts{gap:10px 20px}
  .promo{left:-2%;width:min(300px,76%)}
  .pdp__more{grid-template-columns:minmax(0,1fr)}
  .checkout{grid-template-columns:minmax(0,1fr)}
  .ck__sum{position:static;order:-1}
}
@media (max-width:960px){
  :root{--hdr-h:auto}
  .hdr__bar{flex-wrap:wrap;gap:0 8px;padding-top:12px;min-height:0}
  .hdr__brand{flex:1 1 auto;min-width:0;order:1}
  .hdr__cur{order:2}
  .hdr__acct{order:3}
  .hdr__cart{order:4}
  .hdr__bar > .hdr__nav{
    order:5;flex:1 0 calc(100% + 2 * var(--gut));justify-content:flex-start;overflow-x:auto;gap:24px;margin:8px calc(-1 * var(--gut)) 0;
    padding:6px var(--gut) 10px;scrollbar-width:none;-webkit-overflow-scrolling:touch;
  }
  .hdr__nav::-webkit-scrollbar{display:none}
  .hero__in{grid-template-columns:minmax(0,1fr);min-height:0}
  .hero__art{max-width:640px;width:100%;margin:0 auto}
  .promo{left:0}
  .shop{grid-template-columns:minmax(0,1fr)}
  .filters{position:static;display:grid;grid-template-columns:1fr 1fr;gap:18px 24px;padding:18px}
  .filters__box + .filters__box{margin-top:0;padding-top:0;border-top:0}
  .filters__box:first-child{grid-column:1/-1}
  .filters__cats{display:flex;flex-wrap:wrap;gap:8px}
  .filters__cats .fchk{
    grid-template-columns:auto auto auto;gap:8px;margin:0;padding:7px 10px 7px 8px;border-radius:var(--pill);
    border:1px solid var(--line);font-size:13.5px;
  }
  .filters__cats .fchk input{width:18px;height:18px;border-radius:5px}
  .filters__cats .fchk:has(input:checked){border-color:var(--ink)}
  .filters__reset{grid-column:1/-1;margin-top:0;justify-self:start}
  .pdp__top{grid-template-columns:minmax(0,1fr)}
  .pshow{position:static}
  .pshow__frame{aspect-ratio:1.25/1}
  .catgrid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none}
  .catcard--1{grid-column:1/-1;grid-row:auto;min-height:320px}
  .catcard--2,.catcard--5,.catcard--6{grid-column:1/-1}
  .catcard--3,.catcard--4{grid-column:span 1}
  .steps__list{grid-template-columns:1fr}
  .step:not(:last-child)::after{display:none}
  .split{grid-template-columns:minmax(0,1fr)}
  .ftr__top{grid-template-columns:repeat(3,1fr)}
  .ftr__brand{grid-column:1/-1}
  .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid:not(.grid--shop) > .item:nth-child(n+7){display:flex}
  .grid > .item[hidden]{display:none!important}
}
@media (max-width:640px){
  body{font-size:16px}
  .announce{font-size:12px}
  .announce__more,.announce__sep{display:none}
  .hdr__word{font-size:16px;letter-spacing:.14em}
  .hdr__est{font-size:9.5px}
  .hdr__cart{height:42px;padding-left:14px}
  .hdr__cur select{height:42px;padding:0 28px 0 12px;font-size:13.5px;background-position:right 11px center}
  .hdr__cart-t{display:none}
  .hdr__bar{gap:0 6px}
  .hdr__login{padding:0 10px}
  .hdr__login .ic{display:none}
  .hdr__word{font-size:15px;letter-spacing:.1em}
  .hdr__cur select{height:40px;padding:0 24px 0 10px;font-size:13px;background-position:right 9px center}
  .acct__btn{height:40px;padding:0 2px}
  .acct__av{width:34px;height:34px}
  .hdr__cart{height:40px;padding:0 5px 0 11px;gap:6px}
  .hdr__count{min-width:26px;height:26px}
  .acct__lbl{display:none}
  .acct__btn{padding:0 4px}
  .sec__bar{flex-direction:column;align-items:flex-start;gap:14px}
  .sec__bar--center{align-items:center}
  .hero__in{padding-top:28px;gap:20px}
  .hero__copy h1{font-size:clamp(38px,11vw,48px);margin:18px 0 16px}
  .hero__lead{font-size:16.5px;margin-bottom:24px}
  .hero__cta .btn{flex:1 1 100%}
  .hero__pts{flex-direction:column;gap:10px;margin-top:26px;padding-top:18px}
  .hero__stage{aspect-ratio:1/0.92}
  .hero__chip{top:2%;right:0;font-size:12px}
  .hero__disc::before{inset:-26px}
  .promo{position:relative;left:auto;bottom:auto;width:100%;margin-top:-6%}
  .trustbar__in{grid-template-columns:1fr}
  .trustbar li{padding:18px 0!important;border-left:0!important}
  .trustbar li + li{border-top:1px solid var(--line-2)}
  .catgrid{grid-template-columns:1fr}
  .catcard,.catcard--3,.catcard--4{grid-column:1/-1;min-height:184px;padding:22px}
  .catcard--1{min-height:330px;padding:24px}
  .catcard__go,.catcard--1 .catcard__go{position:absolute;top:20px;right:20px;width:40px;height:40px}
  .catcard__vials,.catcard--3 .catcard__vials,.catcard--4 .catcard__vials{height:56%;right:6%;bottom:-4%}
  .catcard--1 .catcard__vials{height:58%;right:50%;translate:50% 0}
  .catcard__nume{font-size:19px}
  .catcard--1 .catcard__txt{max-width:80%}
  .catcard--1 .catcard__d{display:none}
  .catcard--3 .catcard__v:nth-child(n+2),.catcard--4 .catcard__v:nth-child(n+2){display:block}
  .catcard--3 .catcard__vials,.catcard--4 .catcard__vials{right:6%;height:84%}
  .catcard__txt,.catcard--3 .catcard__txt,.catcard--4 .catcard__txt{max-width:52%}
  .grid,.grid--shop{gap:12px}
  .item{padding:6px;border-radius:16px}
  .item__ph{border-radius:12px}
  .item__b{padding:12px 6px 6px}
  .item__cat{font-size:11px}
  .item__name{font-size:16px}
  .item__doz{font-size:11.5px;margin:4px 0 12px}
  .item__row{flex-direction:column;align-items:stretch;gap:10px;padding-top:12px}
  .item__price{font-size:18px}
  .item .btn{width:100%;--btn-h:38px;padding:0 10px}
  .tag{top:8px;left:8px;font-size:10.5px;padding:4px 8px}
  .results__tools,.results__search{width:100%}
  .results__search input{width:100%}
  .results__sort,.results__sort select{width:100%}
  .filters{grid-template-columns:1.25fr 1fr;padding:16px;gap:16px 16px}
  .filters__cats{flex-wrap:nowrap;overflow-x:auto;margin:0 -16px;padding:2px 16px 4px;scrollbar-width:none}
  .filters__cats::-webkit-scrollbar{display:none}
  .filters__cats .fchk{flex:none;white-space:nowrap}
  .frange input{height:40px;padding:0 8px;font-size:13px}
  .step{padding:26px 22px}
  .step__n{font-size:84px}
  .split__media{aspect-ratio:1/0.95}
  .lotform{padding:14px}
  .lotform__row .btn{padding:0 16px}
  .pdp__info h1{font-size:40px}
  .pdp__sum{font-size:16.5px}
  .buybar{padding:16px}
  .buybar__price{font-size:32px}
  .buybar__row{flex-direction:column}
  .qty{align-self:flex-start}
  .buybar__btns{flex-direction:column}
  .buybar__btns .btn{width:100%;flex:none}
  .pshow__frame{aspect-ratio:1/0.95}
  .spec th{width:42%;font-size:11px}
  .ck__box{padding:20px 18px 22px}
  .ck__grid{grid-template-columns:1fr}
  .ck__legend{font-size:18px!important}
  .gate{padding:12px}
  .gate__top{padding:16px 20px}
  .gate__body{padding:22px 20px 22px}
  .gate__body h2{font-size:24px}
  .gate__seal .seal{width:44px;height:44px}
  .drawer__panel{border-radius:0}
  .drawer__foot{border-bottom-left-radius:0}
  .drawer__bar,.drawer__foot{padding-inline:18px}
  .drawer__items{padding-inline:18px}
  .ftr__top{grid-template-columns:1fr 1fr;gap:32px 20px}
  .ftr__col:last-child{grid-column:1/-1}
  .prose th,.prose td{display:block;width:auto;padding:4px 0}
  .prose th{padding-top:14px;border-bottom:0}
  .prose table tbody,.prose table thead,.prose tr{display:block}
  .coa__search .btn{padding:0 18px}
  .coa__search .ic{left:18px}
  .coa__search input{padding-left:40px}
}

/* ================================================================= MOTION */
@keyframes rise{from{transform:translateY(12px)}to{transform:none}}
@keyframes slidein{from{transform:translateX(40px)}to{transform:none}}
@keyframes fade{from{opacity:.4}to{opacity:1}}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}

@media (prefers-reduced-motion:no-preference){
  /* transform only: content is visible even if the animation never runs */
  .hero__copy > *{animation:rise .8s var(--ease) both;animation-delay:calc(var(--i,0) * 70ms)}
  .promo{animation:rise .9s var(--ease) both;animation-delay:.28s}
  .hero__chip{animation:floaty 6s ease-in-out infinite}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
