/* ============================================================
   LMB Boutique — shared premium design system
   Locked palette sampled from the approved "Your bag" plate.
   Used by cart.html / checkout2.html / shop2.html.
   ============================================================ */
:root{
  /* sampled tones */
  --oxblood:#3A0A12;        /* deep card / footer base */
  --oxblood-d:#23070C;      /* promo bar, deepest */
  --oxblood-soft:#5E000E;
  --crimson:#7A1620;        /* burgundy CTA fill */
  --crimson-d:#5E0E16;      /* CTA hover */
  --gold:#C49A4C;           /* warm gold accent */
  --gold-soft:#E4CD92;      /* light gold on dark */
  --gold-line:rgba(196,154,76,.45);

  --cream:#FAF6F2;          /* page bg */
  --cream-nav:#FAF4F1;      /* nav bg */
  --cream-pure:#FFFFFF;
  --cream-soft:#F4ECE4;     /* product tiles */

  --ink:#241B19;
  --ink-soft:#3A302C;
  --muted:#8A7B72;
  --line:rgba(58,10,18,.12);
  --shadow-card:0 14px 40px rgba(58,10,18,.07);
}
*{box-sizing:border-box}
html,body{max-width:100%;overflow-x:hidden}
body{margin:0;font-family:'Jost',system-ui,sans-serif;color:var(--ink-soft);background:var(--cream);-webkit-font-smoothing:antialiased}
a{color:inherit}
img{max-width:100%}
input,textarea,select,button{max-width:100%}
.wrap{max-width:1240px;margin:0 auto;padding:0 clamp(16px,4vw,52px)}

/* preview ribbon */
.pv{background:#1a0508;color:#fff;text-align:center;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;padding:7px 12px}
.pv b{color:var(--gold-soft);font-weight:500}

/* ---- PROMO BAR ---- */
.promo{background:var(--oxblood-d);color:var(--gold-soft);text-align:center;font-size:.66rem;letter-spacing:.26em;text-transform:uppercase;padding:9px 12px;font-weight:500}

/* ---- NAV ---- */
.nav{position:sticky;top:0;z-index:60;background:var(--cream-nav);border-bottom:1px solid var(--line)}
.nav__in{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;height:72px;padding:0 clamp(16px,4vw,52px)}
.nav__links{display:flex;gap:24px;font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);font-weight:500}
.nav__links a{text-decoration:none;white-space:nowrap;transition:.15s}
.nav__links a:hover{color:var(--oxblood)}
.nav__links .caret{font-size:.7em;opacity:.7}
.nav__brand{text-align:center;text-decoration:none;line-height:1}
.nav__brand b{font-family:'Playfair Display',serif;font-weight:600;font-size:1.5rem;letter-spacing:.16em;color:var(--oxblood);display:block}
.nav__brand span{font:600 .54rem/1 Jost;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);display:block;margin-top:5px}
.nav__icons{display:flex;justify-content:flex-end;align-items:center;gap:18px}
.nav__icons a{color:var(--oxblood);display:inline-flex;position:relative;text-decoration:none}
.nav__icons svg{width:19px;height:19px;stroke-width:1.5}
.u-bag-count{position:absolute;top:-7px;right:-9px;background:var(--crimson);color:#fff;border-radius:20px;min-width:17px;height:17px;display:inline-flex;align-items:center;justify-content:center;font-size:.62rem;font-weight:600;padding:0 4px}
@media(max-width:880px){
  .nav__in{grid-template-columns:auto 1fr auto;height:62px}
  .nav__links{display:none}
  .nav__brand b{font-size:1.25rem}
}

/* ---- shared section headings ---- */
.panel-h{font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin:0 0 18px;font-weight:500}

/* ---- BUTTONS ---- */
.btn{font-family:'Jost',sans-serif;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;border-radius:4px;padding:15px 26px;cursor:pointer;transition:.18s;border:1px solid var(--crimson);background:var(--crimson);color:#fff;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:10px;line-height:1}
.btn:hover{background:var(--crimson-d);border-color:var(--crimson-d)}
.btn[disabled]{opacity:.45;pointer-events:none}
.btn-block{width:100%}
.btn-gold{background:var(--gold);border-color:var(--gold);color:var(--oxblood-d)}
.btn-gold:hover{background:#b88c3f;border-color:#b88c3f;color:var(--oxblood-d)}
.btn-ghost{background:transparent;color:var(--oxblood);border-color:var(--gold-line)}
.btn-ghost:hover{background:var(--cream-soft);color:var(--oxblood);border-color:var(--gold)}
/* outline-on-dark (sits on the burgundy card / dark hero) */
.btn-outline-l{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.btn-outline-l:hover{background:rgba(255,255,255,.12);border-color:#fff;color:#fff}

/* ---- FOOTER ---- */
.foot{background:var(--oxblood);color:rgba(255,255,255,.85);margin-top:8px}
.foot__in{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,3vw,44px);padding:clamp(32px,4vw,52px) clamp(16px,4vw,52px)}
@media(max-width:760px){.foot__in{grid-template-columns:1fr 1fr;gap:28px}}
@media(max-width:440px){.foot__in{grid-template-columns:1fr}}
.foot__item{display:flex;gap:14px;align-items:flex-start}
.foot__ic{flex-shrink:0;width:38px;height:38px;border-radius:50%;border:1px solid var(--gold-line);display:flex;align-items:center;justify-content:center;color:var(--gold)}
.foot__ic svg{width:18px;height:18px;stroke-width:1.4}
.foot__t b{display:block;font-family:'Playfair Display',serif;font-weight:500;font-size:1.02rem;color:#fff;margin-bottom:3px}
.foot__t span{font-size:.8rem;color:rgba(255,255,255,.6);font-weight:300;line-height:1.45}
.foot__bar{border-top:1px solid rgba(255,255,255,.12);text-align:center;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.45);padding:18px 12px}
.foot__bar b{color:var(--gold-soft);font-family:'Playfair Display',serif;font-weight:500;letter-spacing:.12em}
