/* ── Fonts ──────────────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300..500;1,9..144,300..500&family=Newsreader:ital,opsz,wght@0,6..72,300..400;1,6..72,300..400&family=Karla:wght@400;500;600&display=swap');

/* ── Tokens ─────────────────────────────────────────── */
:root {
  --bark:      #17120C;
  --ink:       #241C12;
  --ink-2:     #4A3F30;
  --ink-3:     #6F6252;
  --cream:     #FAF6EE;
  --sand:      #F0E7D7;
  --linen:     #E4D8C2;
  --gold:      #A9801C;
  --gold-2:    #C09A34;
  --gold-lit:  #E5CA88;
  --rule:      rgba(36,28,18,.14);
  --rule-gold: rgba(169,128,28,.30);
  --f-display: "Fraunces","Iowan Old Style",Georgia,serif;
  --f-read:    "Newsreader",Georgia,serif;
  --f-ui:      "Karla","Helvetica Neue",Arial,sans-serif;
}

/* ── Base ───────────────────────────────────────────── */
body {
  background: var(--cream);
  color: var(--ink);
  font-family: var(--f-ui);
  font-size: 16px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}
h1,h2,h3,h4,h5 {
  font-family: var(--f-display);
  font-weight: 400;
  letter-spacing: -.015em;
  color: var(--ink);
}
a { color: var(--gold); }
a:hover { color: var(--ink); }

/* ── Header / nav ───────────────────────────────────── */
#header {
  background: rgba(250,246,238,.93);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--rule);
}
#header .header-nav,
#header .header-top { background: transparent; border: 0; }
#_desktop_top_menu .top-menu a,
#_desktop_top_menu .top-menu .nav-link {
  font-family: var(--f-ui);
  font-size: .795rem;
  letter-spacing: .13em;
  text-transform: uppercase;
  font-weight: 500;
  color: var(--ink-2);
  text-decoration: none;
}
#_desktop_top_menu .top-menu a:hover,
#_desktop_top_menu .top-menu .nav-link:hover { color: var(--gold); }

/* ── Buttons ────────────────────────────────────────── */
.btn-primary, .btn-primary:focus {
  background: var(--gold);
  border-color: var(--gold);
  color: #FFF9EA;
  font-family: var(--f-ui);
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  border-radius: 0;
  transition: background .28s, border-color .28s;
}
.btn-primary:hover {
  background: var(--ink);
  border-color: var(--ink);
  color: var(--cream);
}
.btn-secondary, .btn-secondary:focus {
  background: transparent;
  border: 1px solid var(--rule-gold);
  color: var(--ink);
  font-family: var(--f-ui);
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  border-radius: 0;
}
.btn-secondary:hover {
  background: var(--ink);
  border-color: var(--ink);
  color: var(--cream);
}

/* ── Product cards ──────────────────────────────────── */
.product-miniature .card {
  background: var(--cream);
  border: 1px solid var(--rule);
  border-radius: 0;
}
.product-miniature .card:hover { border-color: var(--rule-gold); }
.product-miniature .product-title a {
  font-family: var(--f-display);
  font-size: 1.18rem;
  font-weight: 400;
  color: var(--ink);
  text-decoration: none;
}
.product-miniature .price { color: var(--gold); font-weight: 500; }
.product-miniature .card-body { background: var(--cream); }

/* ── Product page ───────────────────────────────────── */
.product-prices .current-price { color: var(--gold); font-size: 1.6rem; }
.product-description { font-family: var(--f-read); color: var(--ink-2); font-weight: 300; line-height: 1.78; }

/* ── Breadcrumb ─────────────────────────────────────── */
.breadcrumb-item a { color: var(--ink-3); }
.breadcrumb-item.active { color: var(--ink); }
.breadcrumb-item + .breadcrumb-item::before { color: var(--ink-3); }

/* ── Footer ─────────────────────────────────────────── */
#footer {
  background: var(--bark);
  color: #B7A98F;
}
#footer a { color: #B7A98F; text-decoration: none; }
#footer a:hover { color: var(--gold-lit); }
#footer h3, #footer h4 {
  font-family: var(--f-ui);
  font-size: .72rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--gold-lit);
  font-weight: 600;
}

/* ── Alerts ─────────────────────────────────────────── */
.alert-success { background: rgba(78,91,46,.1); border-color: #4E5B2E; color: var(--ink); border-radius: 0; }
.alert-warning { background: rgba(169,128,28,.1); border-color: var(--gold); color: var(--ink); border-radius: 0; }

/* ── Forms ──────────────────────────────────────────── */
.form-control {
  border-color: var(--rule);
  border-radius: 0;
  font-family: var(--f-ui);
  color: var(--ink);
  background: var(--cream);
}
.form-control:focus {
  border-color: var(--gold);
  box-shadow: 0 0 0 2px rgba(169,128,28,.18);
}
label { font-family: var(--f-ui); color: var(--ink-2); font-size: .875rem; }

