/*
Theme Name: Cigar Shop New
Theme URI: https://www.cigarshopnew.online/
Author: Cigar Shop New
Description: Boutique catalog theme for Cigar Shop New.
Version: 1.0.1
Text Domain: cigarshop
*/

:root {
  --bg: #120e0b;
  --panel: #1c1510;
  --ink: #f4ead8;
  --muted: #cbb79a;
  --gold: #c4a15a;
  --line: #3b2c22;
}

* { box-sizing: border-box; }
body {
  margin: 0;
  background: radial-gradient(1200px 500px at 20% -10%, #2a1c12 0%, var(--bg) 45%);
  color: var(--ink);
  font-family: "Source Sans 3", "Segoe UI", sans-serif;
  line-height: 1.55;
}
a { color: var(--gold); text-decoration: none; }
.cs-wrap { width: min(1100px, calc(100% - 40px)); margin: 0 auto; }
.cs-header { border-bottom: 1px solid var(--line); background: rgba(10,8,6,0.88); position: sticky; top: 0; z-index: 20; }
.cs-header-row { display: flex; justify-content: space-between; align-items: center; padding: 18px 0; gap: 24px; }
.cs-logo { color: var(--ink); font-family: "Libre Baskerville", Georgia, serif; letter-spacing: 0.14em; text-transform: uppercase; font-size: 14px; }
.cs-nav { display: flex; gap: 18px; font-size: 14px; }
.cs-nav a { color: var(--muted); }
.cs-hero { padding: 72px 0 36px; }
.cs-hero h1 { font-family: "Libre Baskerville", Georgia, serif; font-size: clamp(32px, 5vw, 52px); line-height: 1.2; margin: 8px 0 16px; }
.cs-kicker { letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold); font-size: 12px; }
.cs-lead { max-width: 640px; color: var(--muted); font-size: 18px; }
.cs-btn { display: inline-block; background: var(--gold); color: #1a120b; padding: 10px 18px; font-weight: 600; }
.cs-btn-ghost { background: transparent; color: var(--gold); border: 1px solid var(--gold); }
.cs-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 18px; padding: 12px 0 64px; }
.cs-card { background: var(--panel); border: 1px solid var(--line); padding: 20px; min-height: 260px; }
.cs-card h2 { font-family: "Libre Baskerville", Georgia, serif; font-size: 20px; }
.cs-card h2 a { color: var(--ink); }
.cs-card-band { height: 8px; background: linear-gradient(90deg, #6b3a1f, var(--gold), #3d2a18); margin: -20px -20px 16px; }
.cs-price { color: var(--gold); font-weight: 600; }
.cs-page { padding: 48px 0 72px; max-width: 760px; }
.cs-prose p { color: var(--muted); }
.cs-footer { border-top: 1px solid var(--line); padding: 28px 0 40px; color: var(--muted); font-size: 14px; }
.cs-fine { opacity: 0.75; font-size: 12px; }
.age-gate { position: fixed; inset: 0; background: rgba(8,6,5,0.94); display: grid; place-items: center; z-index: 50; }
.age-gate[hidden] { display: none; }
.age-gate__card { width: min(420px, calc(100% - 32px)); background: var(--panel); border: 1px solid var(--gold); padding: 32px; text-align: center; }
.age-gate__card button { margin: 8px; padding: 10px 18px; cursor: pointer; background: var(--gold); border: 0; }
#cs-age-no { background: transparent; color: var(--ink); border: 1px solid var(--line); }
