/* ==========================================================================
   FCG Farm Shop — storefront
   Tokens deliberately match the marketing site so /shop feels like one brand.
   ========================================================================== */
:root{
  --ink:#0B1524; --forest:#15263D; --forest-2:#1D3352;
  --olive:#C8612A; --olive-d:#A44D1F; --leaf:#E39A5B; --sage:#9FB3C8; --mist:#DDE5EE;
  --cream:#FAF6EF; --sand:#F3EBDD; --paper:#FFFFFF;
  --gold:#B8861F; --gold-l:#DCA92F; --clay:#B42318; --ok:#2E7D32;
  --text:#1F2937; --text-soft:#4B5768; --text-faint:#8A94A3;
  --line:rgba(21,38,61,.12); --line-strong:rgba(21,38,61,.24);
  --font-display:"Fraunces","Georgia",serif;
  --font-body:"Inter","Segoe UI",system-ui,-apple-system,sans-serif;
  --r:14px; --r-lg:22px; --r-sm:8px;
  --shadow-sm:0 1px 2px rgba(11,21,36,.05),0 4px 14px rgba(11,21,36,.05);
  --shadow:0 2px 6px rgba(11,21,36,.06),0 14px 40px rgba(11,21,36,.09);
  --ease:cubic-bezier(.22,.61,.36,1);
  --header-h:66px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;font-family:var(--font-body);font-size:16px;line-height:1.65;color:var(--text);
  background:var(--cream);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
ul,ol{margin:0;padding:0;list-style:none}
h1,h2,h3,h4{margin:0;font-family:var(--font-display);font-weight:600;line-height:1.16;
  letter-spacing:-.018em;color:var(--forest)}
p{margin:0 0 1em}
p:last-child{margin-bottom:0}
::selection{background:var(--olive);color:var(--cream)}
:focus-visible{outline:2.5px solid var(--gold);outline-offset:2px;border-radius:3px}
table{border-collapse:collapse;width:100%}

.wrap{width:100%;max-width:1200px;margin-inline:auto;padding-inline:24px}
.wrap--narrow{max-width:840px}
.section{padding:clamp(32px,5vw,56px) 0}
.grid{display:grid;gap:22px}
.g-2{grid-template-columns:repeat(2,1fr)}
.g-3{grid-template-columns:repeat(3,1fr)}
.g-4{grid-template-columns:repeat(4,1fr)}
.stack{display:flex;flex-direction:column;gap:14px}
.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.row--between{justify-content:space-between}
.mt-s{margin-top:16px}.mt-m{margin-top:28px}.mt-l{margin-top:44px}
.muted{color:var(--text-soft)}
.faint{color:var(--text-faint);font-size:.88rem}
.center{text-align:center}
.right{text-align:right}
.nowrap{white-space:nowrap}
hr.rule{border:0;height:1px;background:var(--line);margin:24px 0}

.h-xl{font-size:clamp(1.9rem,4vw,2.9rem);letter-spacing:-.03em}
.h-lg{font-size:clamp(1.5rem,3vw,2.15rem);letter-spacing:-.026em}
.h-md{font-size:clamp(1.2rem,2vw,1.5rem);letter-spacing:-.018em}
.h-sm{font-size:1.05rem}
.eyebrow{display:inline-block;font-size:11.5px;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:var(--olive);margin-bottom:12px}
.lead{font-size:1.06rem;color:var(--text-soft)}
.price{font-family:var(--font-display);font-weight:600;color:var(--forest)}
.price-strike{text-decoration:line-through;color:var(--text-faint);font-weight:400;
  font-size:.86em;margin-left:7px;font-family:var(--font-body)}

/* ------------------------------------------------------------------ header */
.topstrip{background:var(--forest);color:rgba(221,229,238,.82);font-size:12.3px;letter-spacing:.03em}
.topstrip .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:36px}
.topstrip a:hover{color:var(--gold-l)}

.shopheader{position:sticky;top:0;z-index:60;background:rgba(247,244,235,.93);
  backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid transparent;transition:box-shadow .3s,border-color .3s}
.shopheader.is-stuck{border-bottom-color:var(--line);box-shadow:0 6px 28px rgba(11,21,36,.07)}
.shopheader .wrap{display:flex;align-items:center;gap:18px;min-height:var(--header-h)}
.brand{display:flex;align-items:center;gap:11px;flex:none}
.brand img{width:36px;height:auto}
.brand b{font-family:var(--font-display);font-size:15.5px;color:var(--forest);display:block;line-height:1.1}
.brand span{font-size:9.4px;font-weight:600;letter-spacing:.19em;text-transform:uppercase;color:var(--olive);opacity:.85}

.shopnav{display:flex;gap:2px;align-items:center;margin-left:8px}
.shopnav a{padding:8px 13px;border-radius:100px;font-size:14.2px;font-weight:500;transition:all .2s}
.shopnav a:hover{background:rgba(200,97,42,.08);color:var(--olive)}
.shopnav a.is-active{color:var(--olive);font-weight:600;background:rgba(200,97,42,.09)}

.searchbox{flex:1;max-width:380px;position:relative;margin-left:auto}
.searchbox input{width:100%;padding:9px 14px 9px 36px;border:1px solid var(--line-strong);
  border-radius:100px;background:var(--paper);font-size:14px;font-family:inherit}
.searchbox input:focus{outline:0;border-color:var(--olive);box-shadow:0 0 0 3px rgba(200,97,42,.1)}
.searchbox svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:15px;height:15px;
  stroke:var(--text-faint);fill:none;stroke-width:2}
.suggest{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--paper);
  border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden;z-index:70;display:none}
.suggest.show{display:block}
.suggest a{display:flex;justify-content:space-between;gap:12px;padding:11px 15px;font-size:14px;border-bottom:1px solid var(--line)}
.suggest a:last-child{border-bottom:0}
.suggest a:hover{background:rgba(200,97,42,.05)}
.suggest em{font-style:normal;color:var(--text-faint);font-size:12px}

.headactions{display:flex;align-items:center;gap:8px;flex:none}
.iconbtn{position:relative;display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:100px;
  border:1px solid var(--line-strong);font-size:14px;font-weight:600;transition:all .2s}
.iconbtn:hover{border-color:var(--olive);background:rgba(200,97,42,.06)}
.iconbtn svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8}
.cartbadge{min-width:19px;height:19px;border-radius:100px;background:var(--olive);color:var(--cream);
  font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;padding:0 5px}
.burger{display:none;width:40px;height:40px;border-radius:10px;border:1px solid var(--line);
  align-items:center;justify-content:center;flex:none}
.burger span{display:block;width:17px;height:1.8px;background:var(--forest);position:relative;border-radius:2px}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:17px;height:1.8px;background:var(--forest);border-radius:2px}
.burger span::before{top:-5.5px}.burger span::after{top:5.5px}

/* ------------------------------------------------------------------ buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:12px 24px;
  border-radius:100px;font-size:14.5px;font-weight:600;border:1.5px solid transparent;
  transition:all .25s var(--ease);white-space:nowrap;text-align:center}
.btn svg{width:16px;height:16px}
.btn--primary{background:var(--olive);color:var(--cream);box-shadow:0 5px 16px rgba(200,97,42,.25)}
.btn--primary:hover{background:var(--olive-d);transform:translateY(-1px)}
.btn--gold{background:var(--gold);color:#1B1405}
.btn--gold:hover{background:var(--gold-l);transform:translateY(-1px)}
.btn--ghost{border-color:var(--line-strong);color:var(--forest)}
.btn--ghost:hover{border-color:var(--olive);background:rgba(200,97,42,.06)}
.btn--danger{border-color:rgba(180,35,24,.4);color:var(--clay)}
.btn--danger:hover{background:rgba(180,35,24,.08)}
.btn--sm{padding:8px 16px;font-size:13.2px}
.btn--lg{padding:15px 32px;font-size:15.5px}
.btn--block{width:100%}
.btn[disabled],.btn.is-disabled{opacity:.45;pointer-events:none}
.linkish{color:var(--olive);font-weight:600;font-size:14px;border-bottom:1.5px solid rgba(200,97,42,.3);padding-bottom:1px}
.linkish:hover{border-color:var(--olive)}

/* -------------------------------------------------------------------- flash */
.flashwrap{position:fixed;top:14px;right:14px;z-index:200;display:flex;flex-direction:column;gap:9px;max-width:360px}
.flash{display:flex;gap:11px;align-items:flex-start;padding:13px 16px;border-radius:var(--r);
  background:var(--paper);border:1px solid var(--line-strong);box-shadow:var(--shadow);font-size:14px;
  animation:flashIn .35s var(--ease)}
@keyframes flashIn{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}
.flash--success{border-left:3px solid var(--ok)}
.flash--error{border-left:3px solid var(--clay)}
.flash--info{border-left:3px solid var(--gold)}
.flash button{margin-left:auto;color:var(--text-faint);font-size:18px;line-height:1;padding:0 2px}

/* --------------------------------------------------------------- hero/intro */
.shophero{background:radial-gradient(110% 130% at 85% 0%,rgba(70,120,190,.26) 0%,rgba(21,38,61,0) 60%),
  linear-gradient(160deg,#1D3352,#15263D 60%,#1C2811);color:var(--mist);padding:clamp(34px,5vw,56px) 0;position:relative;overflow:hidden}
.shophero::before{content:"";position:absolute;inset:0;opacity:.05;background-size:72px 84px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='84'%3E%3Cpath d='M36 2 68 21v42L36 82 4 63V21z' fill='none' stroke='%23F7F4EB' stroke-width='1.4'/%3E%3C/svg%3E")}
.shophero .wrap{position:relative;z-index:2}
.shophero h1{color:var(--cream)}
.shophero p{color:rgba(221,229,238,.84);max-width:60ch;margin-top:10px}
.crumbs{display:flex;gap:8px;align-items:center;font-size:12.5px;color:rgba(221,229,238,.62);margin-bottom:16px}
.crumbs a:hover{color:var(--gold-l)}
.crumbs--dark{color:var(--text-faint)}
.crumbs--dark a:hover{color:var(--olive)}

/* ------------------------------------------------------------- category pills */
.pills{display:flex;gap:9px;flex-wrap:wrap}
.pill{display:inline-flex;align-items:center;gap:7px;padding:8px 16px;border-radius:100px;
  border:1px solid var(--line-strong);font-size:13.6px;font-weight:600;background:var(--paper);transition:all .22s}
.pill:hover{border-color:var(--olive);background:rgba(200,97,42,.06)}
.pill.is-active{background:var(--olive);border-color:var(--olive);color:var(--cream)}
.pill em{font-style:normal;opacity:.6;font-weight:500}

/* ------------------------------------------------------------- product card */
.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.pcard{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;
  display:flex;flex-direction:column;transition:transform .3s var(--ease),box-shadow .3s,border-color .3s;position:relative}
.pcard:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--line-strong)}
.pcard__media{aspect-ratio:4/3;position:relative;overflow:hidden;background:linear-gradient(150deg,var(--mist),var(--sand));
  display:flex;align-items:center;justify-content:center}
.pcard__media img{width:100%;height:100%;object-fit:cover}
.pcard__ph{font-family:var(--font-display);font-size:2.4rem;font-weight:600;color:rgba(200,97,42,.3);letter-spacing:-.03em}
.pcard__body{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1}
.pcard__cat{font-size:10.8px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:7px}
.pcard__name{font-family:var(--font-display);font-size:1.06rem;font-weight:600;color:var(--forest);line-height:1.25;margin-bottom:7px}
.pcard__desc{font-size:13.4px;color:var(--text-soft);line-height:1.52;margin-bottom:14px}
.pcard__foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px}
.pcard__price{font-family:var(--font-display);font-size:1.1rem;font-weight:600;color:var(--forest)}
.pcard__price small{font-family:var(--font-body);font-size:11px;color:var(--text-faint);font-weight:500;display:block;letter-spacing:.04em}

.tag{position:absolute;top:12px;font-size:10.6px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  padding:5px 10px;border-radius:100px;z-index:2}
.tag--save{left:12px;background:var(--gold);color:#1B1405}
.tag--fresh{right:12px;background:var(--ok);color:#fff}
.tag--out{left:12px;background:var(--clay);color:#fff}

.badge{display:inline-flex;align-items:center;gap:5px;font-size:11.4px;font-weight:600;letter-spacing:.04em;
  padding:4px 10px;border-radius:100px;background:rgba(200,97,42,.08);color:var(--olive-d);border:1px solid rgba(200,97,42,.13)}
.badge--gold{background:rgba(184,134,31,.12);color:#8A6412;border-color:rgba(184,134,31,.2)}
.badge--green{background:rgba(46,125,50,.1);color:#2E7D32;border-color:rgba(46,125,50,.2)}
.badge--red{background:rgba(180,35,24,.1);color:var(--clay);border-color:rgba(180,35,24,.22)}
.badge--grey{background:rgba(200,97,42,.06);color:var(--text-faint)}

/* ------------------------------------------------------------- product page */
.pdp{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:start}
.pdp__media{position:sticky;top:90px}
.pdp__main{aspect-ratio:1;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);
  background:linear-gradient(150deg,var(--mist),var(--sand));display:flex;align-items:center;justify-content:center}
.pdp__main img{width:100%;height:100%;object-fit:cover}
.pdp__ph{font-family:var(--font-display);font-size:5rem;color:rgba(200,97,42,.26);font-weight:600}
.pdp__thumbs{display:flex;gap:9px;margin-top:11px;flex-wrap:wrap}
.pdp__thumbs button{width:66px;height:66px;border-radius:10px;overflow:hidden;border:2px solid var(--line);background:var(--sand)}
.pdp__thumbs button.is-active{border-color:var(--olive)}
.pdp__thumbs img{width:100%;height:100%;object-fit:cover}

.variants{display:flex;flex-wrap:wrap;gap:9px}
.variant{position:relative}
.variant input{position:absolute;opacity:0;pointer-events:none}
.variant label{display:flex;flex-direction:column;gap:2px;padding:11px 17px;border-radius:var(--r);
  border:1.5px solid var(--line-strong);cursor:pointer;transition:all .2s;background:var(--paper);min-width:104px}
.variant label b{font-size:14px;font-weight:600;color:var(--forest)}
.variant label span{font-size:13px;color:var(--olive);font-family:var(--font-display);font-weight:600}
.variant input:checked + label{border-color:var(--olive);background:rgba(200,97,42,.07);box-shadow:0 0 0 3px rgba(200,97,42,.09)}
.variant input:disabled + label{opacity:.42;cursor:not-allowed}
.variant input:focus-visible + label{outline:2.5px solid var(--gold);outline-offset:2px}

.qty{display:inline-flex;align-items:center;border:1.5px solid var(--line-strong);border-radius:100px;overflow:hidden;background:var(--paper)}
.qty button{width:38px;height:42px;font-size:18px;color:var(--olive);transition:background .2s}
.qty button:hover{background:rgba(200,97,42,.08)}
.qty input{width:48px;height:42px;border:0;text-align:center;font-size:15px;font-weight:600;font-family:inherit;background:transparent;
  -moz-appearance:textfield}
.qty input::-webkit-outer-spin-button,.qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

.pincheck{display:flex;gap:8px;flex-wrap:wrap}
.pincheck input{flex:1;min-width:130px;padding:11px 15px;border:1px solid var(--line-strong);border-radius:var(--r);font-family:inherit;font-size:14.5px}
.pincheck input:focus{outline:0;border-color:var(--olive);box-shadow:0 0 0 3px rgba(200,97,42,.1)}
.pinresult{margin-top:10px;font-size:13.6px;padding:10px 14px;border-radius:10px;display:none}
.pinresult.show{display:block}
.pinresult.ok{background:rgba(46,125,50,.08);color:#2E7D32;border:1px solid rgba(46,125,50,.2)}
.pinresult.bad{background:rgba(180,35,24,.08);color:var(--clay);border:1px solid rgba(180,35,24,.2)}

.panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(20px,2.6vw,30px)}
.panel--flat{border-radius:var(--r);padding:20px}
.panel h3{margin-bottom:14px}
.panel__head{display:flex;align-items:center;gap:11px;padding-bottom:14px;margin-bottom:18px;border-bottom:1px solid var(--line)}
.panel__head svg{width:19px;height:19px;stroke:var(--olive);fill:none;stroke-width:1.7;flex:none}

.prose{font-size:15.2px;line-height:1.7;color:var(--text-soft)}
.prose p{margin-bottom:1em}

.spec{display:grid;grid-template-columns:auto 1fr;gap:9px 22px;font-size:14.2px}
.spec dt{color:var(--text-faint);font-weight:500}
.spec dd{margin:0;color:var(--forest);font-weight:600}

/* -------------------------------------------------------------------- cart */
.cartlayout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:28px;align-items:start}
.cartline{display:grid;grid-template-columns:86px 1fr auto;gap:16px;padding:18px 0;border-bottom:1px solid var(--line);align-items:center}
.cartline:last-child{border-bottom:0}
.cartline__img{width:86px;height:86px;border-radius:var(--r-sm);overflow:hidden;background:linear-gradient(150deg,var(--mist),var(--sand));
  display:flex;align-items:center;justify-content:center;flex:none}
.cartline__img img{width:100%;height:100%;object-fit:cover}
.cartline__img span{font-family:var(--font-display);font-size:1.5rem;color:rgba(200,97,42,.3)}
.cartline__name{font-weight:600;color:var(--forest);font-size:15px;margin-bottom:3px;display:block}
.cartline__meta{font-size:13px;color:var(--text-faint)}
.cartline__right{text-align:right;display:flex;flex-direction:column;gap:9px;align-items:flex-end}

.summary{position:sticky;top:90px}
.sumrow{display:flex;justify-content:space-between;gap:16px;padding:9px 0;font-size:14.6px}
.sumrow--total{border-top:1px solid var(--line);margin-top:9px;padding-top:15px;font-size:1.12rem;
  font-family:var(--font-display);font-weight:600;color:var(--forest)}
.sumrow .free{color:var(--ok);font-weight:600}

.progressbar{height:6px;border-radius:100px;background:rgba(200,97,42,.12);overflow:hidden;margin-top:9px}
.progressbar i{display:block;height:100%;background:linear-gradient(90deg,var(--olive),var(--leaf));border-radius:100px;transition:width .5s var(--ease)}

.empty{text-align:center;padding:60px 20px}
.empty svg{width:52px;height:52px;stroke:var(--sage);fill:none;stroke-width:1.3;margin:0 auto 18px}

/* ------------------------------------------------------------------ forms */
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.field label{font-size:12.2px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--olive-d)}
.field label i{color:var(--clay);font-style:normal}
.field input,.field select,.field textarea{padding:12px 15px;border:1px solid var(--line-strong);
  border-radius:10px;font-family:inherit;font-size:15px;background:var(--paper);color:var(--text);width:100%}
.field textarea{min-height:92px;resize:vertical;line-height:1.55}
.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:var(--olive);box-shadow:0 0 0 3px rgba(200,97,42,.1)}
.field.has-error input,.field.has-error select,.field.has-error textarea{border-color:var(--clay);box-shadow:0 0 0 3px rgba(180,35,24,.09)}
.field .err{font-size:12.6px;color:var(--clay)}
.field .hint{font-size:12.6px;color:var(--text-faint)}
.formrow{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.formrow--3{grid-template-columns:1fr 1fr 1fr}

.choice{display:flex;gap:12px;align-items:flex-start;padding:15px 18px;border:1.5px solid var(--line-strong);
  border-radius:var(--r);cursor:pointer;transition:all .2s;background:var(--paper);margin-bottom:11px}
.choice:hover{border-color:var(--olive)}
.choice input{margin-top:3px;accent-color:var(--olive);width:17px;height:17px;flex:none}
.choice.is-selected{border-color:var(--olive);background:rgba(200,97,42,.05)}
.choice.is-disabled{opacity:.5;cursor:not-allowed}
.choice b{display:block;font-size:14.8px;color:var(--forest);margin-bottom:2px}
.choice span{font-size:13.4px;color:var(--text-soft);line-height:1.5}

.note{display:flex;gap:11px;align-items:flex-start;padding:14px 17px;border-radius:12px;font-size:13.6px;line-height:1.55}
.note--gold{background:rgba(184,134,31,.08);border:1px solid rgba(184,134,31,.22);color:#7A5910}
.note--green{background:rgba(46,125,50,.07);border:1px solid rgba(46,125,50,.2);color:#2E7D32}
.note--red{background:rgba(180,35,24,.07);border:1px solid rgba(180,35,24,.22);color:var(--clay)}
.note svg{width:16px;height:16px;flex:none;margin-top:2px;stroke:currentColor;fill:none;stroke-width:1.9}

/* -------------------------------------------------------------- order view */
.steps{display:flex;gap:0;margin:24px 0;overflow-x:auto;padding-bottom:4px}
.step{flex:1;min-width:92px;text-align:center;position:relative;padding-top:28px;font-size:12.4px;color:var(--text-faint)}
.step::before{content:"";position:absolute;top:9px;left:0;right:0;height:2px;background:var(--line)}
.step:first-child::before{left:50%}
.step:last-child::before{right:50%}
.step i{position:absolute;top:3px;left:50%;transform:translateX(-50%);width:15px;height:15px;border-radius:50%;
  background:var(--cream);border:2px solid var(--line-strong);z-index:2}
.step.done{color:var(--olive);font-weight:600}
.step.done::before{background:var(--olive)}
.step.done i{background:var(--olive);border-color:var(--olive)}
.step.current i{background:var(--gold);border-color:var(--gold);box-shadow:0 0 0 4px rgba(184,134,31,.18)}

.otable th{text-align:left;padding:11px 14px;background:rgba(200,97,42,.06);font-size:11.3px;font-weight:700;
  letter-spacing:.11em;text-transform:uppercase;color:var(--olive-d);border-bottom:1px solid var(--line)}
.otable td{padding:13px 14px;border-bottom:1px solid var(--line);font-size:14.2px;vertical-align:top}
.otable tr:last-child td{border-bottom:0}
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--paper)}

/* ------------------------------------------------------------------ footer */
.shopfooter{background:var(--ink);color:rgba(221,229,238,.6);padding:48px 0 0;font-size:14px;margin-top:56px}
.shopfooter__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:36px;padding-bottom:40px}
.shopfooter h5{font-size:11.2px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-l);margin-bottom:16px}
.shopfooter li{margin-bottom:9px}
.shopfooter a:hover{color:var(--gold-l)}
.shopfooter__bot{border-top:1px solid rgba(247,244,235,.1);padding:20px 0 28px;display:flex;
  justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12.5px;color:rgba(221,229,238,.42)}

/* ------------------------------------------------------------- pagination */
.pager{display:flex;gap:7px;justify-content:center;margin-top:36px;flex-wrap:wrap}
.pager a,.pager span{min-width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;
  border-radius:9px;border:1px solid var(--line-strong);font-size:14px;font-weight:600;padding:0 10px}
.pager a:hover{border-color:var(--olive);background:rgba(200,97,42,.06)}
.pager .is-current{background:var(--olive);border-color:var(--olive);color:var(--cream)}
.pager .is-disabled{opacity:.4;pointer-events:none}

/* ------------------------------------------------------------- responsive */
@media (max-width:1040px){
  .pgrid{grid-template-columns:repeat(3,1fr)}
  .shopnav{display:none}
  .burger{display:flex}
  .searchbox{max-width:none}
}
@media (max-width:860px){
  .pdp{grid-template-columns:1fr}
  .pdp__media{position:static}
  .cartlayout{grid-template-columns:1fr}
  .summary{position:static}
  .shopfooter__grid{grid-template-columns:1fr 1fr}
  .g-4{grid-template-columns:repeat(2,1fr)}
  .g-3{grid-template-columns:1fr}
}
@media (max-width:680px){
  .wrap{padding-inline:18px}
  .pgrid{grid-template-columns:repeat(2,1fr)}
  .formrow,.formrow--3{grid-template-columns:1fr}
  .g-2{grid-template-columns:1fr}
  .topstrip .wrap > *:last-child{display:none}
  .searchbox{order:5;flex-basis:100%;max-width:none;margin:0 0 12px}
  .shopheader .wrap{flex-wrap:wrap;padding-top:10px}
  .pcard__body{padding:14px 15px 16px}
  .cartline{grid-template-columns:64px 1fr;gap:12px}
  .cartline__img{width:64px;height:64px}
  .cartline__right{grid-column:1/-1;flex-direction:row;justify-content:space-between;align-items:center;width:100%}
  .flashwrap{left:12px;right:12px;max-width:none}
}
@media (max-width:420px){
  .pgrid{grid-template-columns:1fr}
  .shopfooter__grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important;scroll-behavior:auto !important}
}
@media print{
  .shopheader,.topstrip,.shopfooter,.flashwrap,.btn,.pager{display:none !important}
  body{background:#fff}
}
