/* ==========================================================================
   VISIT SHOP TEMPLATE — styles for the shared cart/checkout module (cart.js)
   and the reviews home-section. One file for every page; the per-page style
   blocks keep the original drawer look, these only add the new pieces.
   ========================================================================== */

/* delivery / pickup switch */
.fulfil{display:flex;gap:8px}
.fulfil__b{flex:1;padding:12px 10px;border:1px solid var(--line);border-radius:var(--r);
  background:transparent;color:var(--muted);font-family:var(--ff-ar);font-size:13.5px;cursor:pointer;transition:.2s}
.fulfil__b.on{border-color:var(--wine,#6E1E28);color:var(--ink);box-shadow:inset 0 0 0 1px var(--wine,#6E1E28)}

/* coupon */
.couponrow{display:flex;gap:8px}
.couponrow input{flex:1;min-width:0}
.couponmsg{font-size:11.5px;margin-top:6px;min-height:14px;color:var(--muted)}
.couponmsg.ok{color:#2F6B4F}
.couponmsg.bad{color:#B3302B}
.totals .disc span:last-child{color:#2F6B4F}

/* checkout finishes */
.paychoice{margin-top:16px;display:flex;flex-direction:column;gap:8px}
.paychoice__t{font-family:var(--ff-ar);font-size:12.5px;color:var(--muted);text-align:center;margin-bottom:2px}
.pay__b{width:100%}
.paypalbox{margin-top:4px}
.paypalbox:empty{display:none}
.paynote{font-size:11.5px;color:var(--muted);text-align:center;min-height:0}
.paynote:empty{display:none}

/* reviews home-section */
.revs{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:0}
.rev{border:1px solid var(--line);border-radius:var(--r);padding:26px 22px;background:var(--paper)}
.rev__stars{color:#C9A227;letter-spacing:3px;font-size:13px;margin-bottom:10px}
.rev__txt{font-family:var(--ff-ar);font-size:14.5px;line-height:1.9;color:var(--ink)}
.rev__name{margin-top:14px;font-size:12px;color:var(--muted)}

/* text wordmark (replaces the per-brand PNG pair; painted from settings.brand) */
.brandmark--text{font-family:var(--ff-lat,serif);font-size:clamp(17px,2.4vw,22px);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);white-space:nowrap}

/* ============================================================ v212 — checkout field errors + centered small print */
.field--bad input,.field--bad select,.field--bad textarea{border-color:#c0392b !important;box-shadow:0 0 0 1px #c0392b inset}
.field--bad label{color:#c0392b}
.pol{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:clamp(20px,3vw,44px);text-align:center}
.pol h3{margin-bottom:8px}
.micro{display:flex;flex-wrap:wrap;justify-content:center;text-align:center;gap:6px 14px}

/* v213 — size chips */
.sizes{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.sizechip{border:1px solid var(--line);background:transparent;color:var(--ink);padding:8px 16px;font-family:var(--ff-ui);font-size:12px;letter-spacing:.08em;cursor:pointer;transition:border-color .15s}
.sizechip.on{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink) inset}
.sizechip--oos{opacity:.45;text-decoration:line-through;cursor:not-allowed}
.sizechip .oostag{font-style:normal;font-size:9px;margin-inline-start:4px}

/* ============================================================ v236 — long Latin wordmarks on phones + layout safety */
body{overflow-x:clip}
@media(max-width:640px){
  .hdr__in{gap:8px}
  .hdr__icons{gap:2px}
  .brandlink{min-width:0;overflow:hidden}
  .brandmark--text{font-size:12.5px;letter-spacing:.08em}
}

/* v253 — home sections alternate softly so each block reads separately */
main > .sec:nth-child(even){background:var(--cream-2,#EFE9DB)}
main > .sec{border-top:1px solid var(--line)}
main > .sec:first-child{border-top:0}
