:root{
  --ink:#0e0e0e; --black:#000000; --paper:#f7f6f3; --card:#ffffff; --line:#ece9e2;
  --muted:#5b5650; --hint:#938b80;
  --brand:#a4141a; --brand-dark:#6f0c10; --brand-ink:#4a080a;        /* blood red */
  --gold:#c9a227; --gold-dark:#8f6f15; --gold-soft:#f3e7c2;          /* deep gold */
  --gold-grad:linear-gradient(135deg,#f1db88 0%,#cba42d 44%,#9a7916 100%); /* shiny gold */
  --ok:#1d7a4d; --ok-bg:#e8f4ee;
  --maxw:1100px;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html{scroll-behavior:smooth;}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  line-height:1.6;font-size:16px;
}
a{color:var(--brand-dark);text-decoration:none;}
a:hover{text-decoration:underline;}
img{max-width:100%;display:block;}
h1,h2,h3{line-height:1.2;margin:0 0 .5em;font-weight:800;letter-spacing:-.01em;}
/* Change #2 — larger h1 clamp */
h1{font-size:clamp(32px,5.5vw,58px);}
h2{font-size:clamp(22px,3.4vw,32px);}
h3{font-size:18px;}
.eyebrow{font-size:13px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--brand);margin:0 0 .6em;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px;}
.muted{color:var(--muted);}

/* nav */
.nav{position:sticky;top:0;z-index:50;background:var(--ink);color:#fff;}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:62px;}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.04em;color:#fff;}
.brand-logo{height:52px;width:auto;display:block;object-fit:contain;filter:drop-shadow(0 1px 4px rgba(0,0,0,.6));transition:filter .2s ease,transform .2s ease;}
.brand:hover .brand-logo{filter:drop-shadow(0 0 10px rgba(201,162,39,.55));transform:translateY(-1px);}
.nav nav{display:flex;gap:6px;align-items:center;}
.nav nav a{color:#e9e4da;padding:8px 12px;border-radius:8px;font-size:14px;font-weight:600;}
.nav nav a:hover{background:rgba(255,255,255,.08);text-decoration:none;color:#fff;}
.nav nav a.cta{background:var(--brand);color:#fff;}
.nav nav a.cta:hover{background:var(--brand-dark);}
/* Change #18 — nav active state */
.nav nav a.active{background:rgba(255,255,255,.14);color:#fff;}
.menu-toggle{display:none;background:none;border:none;color:#fff;font-size:24px;cursor:pointer;}

/* hero */
/* Change #1 — layered dark gradient */
.hero{background:radial-gradient(ellipse 80% 60% at 20% 30%,#3a0508 0%,#0e0e0e 60%),linear-gradient(160deg,#1a0203 0%,#000 100%);color:#fff;padding:72px 0 80px;position:relative;overflow:hidden;border-bottom:3px solid var(--gold);}
.hero:after{content:"";position:absolute;right:-120px;top:-120px;width:380px;height:380px;border:40px solid var(--brand);opacity:.22;border-radius:50%;}
.hero:before{content:"";position:absolute;right:60px;bottom:-90px;width:200px;height:200px;border:18px solid var(--gold);opacity:.14;border-radius:50%;}
/* Change #2 — hero h1 override */
.hero h1{color:#fff;max-width:15ch;font-size:clamp(32px,6vw,60px);letter-spacing:-0.03em;text-shadow:0 2px 32px rgba(164,20,26,.45);line-height:1.05;}
.hero p.lede{font-size:clamp(17px,2.2vw,21px);color:#d9d2c6;max-width:52ch;margin:0 0 1.6em;}
.hero .badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:1.4em;}
.badge{font-size:12.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;background:rgba(199,154,59,.12);color:var(--gold);padding:7px 12px;border-radius:999px;border:1px solid rgba(199,154,59,.4);}
/* Change #15 — hero eyebrow color */
.hero .eyebrow{color:#e7857f;}
.dark .eyebrow{color:var(--gold);}
.hero-inner{display:flex;align-items:center;gap:48px;}
.hero-text{flex:1;min-width:0;}
.hero-logo{flex:0 0 auto;display:flex;align-items:center;justify-content:center;}
.hero-logo img{width:260px;height:260px;object-fit:contain;filter:drop-shadow(0 0 40px rgba(164,20,26,.5));z-index:1;position:relative;}
@media(max-width:720px){.hero-inner{flex-direction:column-reverse;gap:24px;}.hero-logo img{width:160px;height:160px;}}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:15px;padding:13px 22px;border-radius:10px;border:2px solid transparent;cursor:pointer;}
.btn-primary{background:var(--brand);color:#fff;box-shadow:0 2px 10px rgba(164,20,26,.28);}
.btn-primary:hover{background:var(--brand-dark);text-decoration:none;color:#fff;}
/* Change #12 — btn-light with ink border */
.btn-light{background:#fff;color:var(--ink);border:2px solid var(--ink);}
.btn-light:hover{background:var(--ink);color:#fff;text-decoration:none;}
.btn-outline{background:transparent;border-color:#fff;color:#fff;}
.btn-outline:hover{background:rgba(255,255,255,.1);text-decoration:none;color:#fff;}
/* Change #10 — btn-ghost visible on white */
.btn-ghost{background:transparent;border:2px solid var(--ink);color:var(--ink);}
.btn-ghost:hover{background:var(--ink);color:#fff;text-decoration:none;}
.btn-gold{background:var(--gold-grad);color:#241a04;border-color:transparent;box-shadow:0 3px 12px rgba(154,121,22,.35);}
.btn-gold:hover{filter:brightness(1.07);color:#241a04;text-decoration:none;}
.btn-row{display:flex;gap:12px;flex-wrap:wrap;}
/* Change #12 — transitions on all button types */
.btn-outline,.btn-light,.btn-ghost,.btn-primary,.btn-gold{transition:background .15s ease,color .15s ease,box-shadow .15s ease,filter .15s ease;}
/* hero search */
.hero-search{display:flex;gap:10px;max-width:540px;margin-bottom:12px;}
.hero-search input{flex:1;min-width:0;font-size:16px;padding:14px 16px;border-radius:10px;border:2px solid var(--gold);background:#fff;color:var(--ink);}
.hero-search input:focus{outline:none;box-shadow:0 0 0 3px rgba(199,154,59,.3);}
@media(max-width:560px){ .hero-search{flex-wrap:wrap;} .hero-search input{width:100%;} .hero-search .btn{width:100%;justify-content:center;} }

/* sections */
section{padding:64px 0;}
section.alt{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.section-head{max-width:60ch;margin-bottom:36px;}
.grid{display:grid;gap:20px;}
.g3{grid-template-columns:repeat(3,1fr);}
.g2{grid-template-columns:repeat(2,1fr);}
.card-b{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:24px;}
.card-b h3{margin-bottom:.4em;}
.card-b .ico{width:44px;height:44px;border-radius:12px;background:#fdeceb;color:var(--brand-dark);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:900;margin-bottom:14px;}

/* tiers */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:start;}
.tier{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:26px;display:flex;flex-direction:column;}
.tier.feat{border:2px solid var(--brand);position:relative;}
.tier .tag{position:absolute;top:-13px;left:24px;background:var(--brand);color:#fff;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:5px 12px;border-radius:999px;}
.tier .rank{font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);}
.tier h3{font-size:24px;margin:.1em 0 .1em;}
.tier .sub{color:var(--muted);font-size:14px;margin-bottom:14px;}
.tier .price{font-size:30px;font-weight:900;color:var(--brand-dark);}
.tier .price small{font-size:14px;font-weight:600;color:var(--muted);}
.tier ul{list-style:none;padding:0;margin:16px 0 22px;}
.tier li{padding:7px 0 7px 26px;position:relative;font-size:14.5px;border-top:1px solid var(--line);}
.tier li:before{content:"✓";position:absolute;left:0;color:var(--ok);font-weight:900;}
.tier .btn{margin-top:auto;justify-content:center;}

/* zone */
.zone{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:center;}
.zone .map{background:var(--ink);border-radius:16px;padding:8px;}
.zonebox{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;}
.zonebox div{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px;}
.zonebox b{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--brand);}

/* forms */
.form{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:28px;max-width:640px;}
.field{margin-bottom:16px;}
.field label{display:block;font-size:13px;font-weight:700;color:var(--muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.04em;}
.field input,.field select,.field textarea{width:100%;font-size:16px;padding:12px 13px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-family:inherit;}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(179,38,30,.12);}
.field textarea{min-height:96px;resize:vertical;}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.note{background:var(--ok-bg);border:1px solid #cfe8da;border-radius:12px;padding:14px 16px;font-size:14px;color:#2f6f4f;}

/* footer */
/* Change #11 — gold top border */
footer{background:var(--ink);color:#cfc7bb;padding:46px 0 30px;font-size:14px;border-top:3px solid var(--gold);}
footer .cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px;margin-bottom:30px;}
/* Change #11 — styled footer h4 */
footer h4{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);border-left:3px solid var(--brand);padding-left:8px;margin:0 0 14px;font-weight:900;}
footer a{color:#cfc7bb;display:block;padding:3px 0;}
footer a:hover{color:#fff;}
.age{display:inline-flex;align-items:center;gap:8px;border:2px solid var(--brand);color:#fff;border-radius:999px;padding:5px 14px;font-weight:800;font-size:13px;}
.legal{border-top:1px solid rgba(255,255,255,.12);padding-top:18px;font-size:12.5px;color:#998f83;line-height:1.6;}

/* ===== storefront ===== */
.ship-bar{background:var(--black);color:var(--gold);text-align:center;font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:9px 16px;border-bottom:1px solid var(--gold-dark);}
.shop-tools{position:sticky;top:62px;z-index:40;background:var(--paper);border-bottom:1px solid var(--line);padding:14px 0;}
.shop-tools .wrap{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.searchbox{flex:1;min-width:220px;font-size:16px;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:#fff;}
.searchbox:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(179,38,30,.12);}
.shop-tools select{font-size:15px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;}
.cart-btn{position:relative;background:var(--brand);color:#fff;border:none;font-weight:700;font-size:15px;padding:11px 16px;border-radius:10px;cursor:pointer;}
.cart-btn .pill{position:absolute;top:-7px;right:-7px;background:var(--ink);color:#fff;font-size:11px;font-weight:800;min-width:20px;height:20px;border-radius:999px;display:flex;align-items:center;justify-content:center;padding:0 5px;}
/* Change #16 — hide pill when count is zero */
.cart-btn .pill[data-cart-count]{display:none;}
.prodgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;}
.prod{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;display:flex;flex-direction:column;transition:box-shadow .16s ease,transform .16s ease,border-color .16s ease;}
.prod:hover{box-shadow:0 8px 24px rgba(0,0,0,.09);transform:translateY(-3px);border-color:var(--gold);}
.prod .imgwrap{width:100%;aspect-ratio:1/1;background:#fff;border:1px solid var(--line);border-radius:10px;margin-bottom:12px;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.prod .pimg{width:100%;height:100%;object-fit:contain;}
.prod .pimg.ph{width:46px;height:46px;object-fit:contain;opacity:.35;}
.prod .imgwrap:has(.ph){background:var(--paper);}
/* Change #13 — product category label */
.prod .cat{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--brand-dark);}
.prod .nm{font-size:14.5px;font-weight:700;margin:5px 0 4px;line-height:1.3;}
.prod .meta{font-size:12.5px;color:var(--muted);margin-bottom:4px;}
/* Change #13 — product tags font-size raised to 12px */
.prod .tag-nic{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:#fdeceb;color:var(--brand-dark);padding:3px 8px;border-radius:6px;margin-bottom:8px;}
.prod .tag-ship{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:#eef3ee;color:var(--ok);padding:3px 8px;border-radius:6px;margin-bottom:8px;}
.prod .price{font-size:21px;font-weight:900;color:var(--brand-dark);margin-top:auto;}
.prod .price small{font-size:12px;font-weight:600;color:var(--muted);}
/* Change #3 — add-to-cart brand-red button */
.prod .add{margin-top:10px;background:var(--brand);color:#fff;border:none;font-weight:700;font-size:14px;padding:12px;min-height:44px;width:100%;border-radius:9px;cursor:pointer;box-shadow:0 2px 8px rgba(164,20,26,.22);transition:background .15s ease,box-shadow .15s ease;}
.prod .add:hover{background:var(--brand-dark);box-shadow:0 4px 16px rgba(164,20,26,.38);}
.prod .add.in{background:var(--ok);}
.loadmore{display:block;margin:28px auto 0;}
/* Change #19 — tilegrid minmax lowered to 140px */
.tilegrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:14px;}
/* Change #4 — category tile hover lift + dark-red gradient */
.tile{background:linear-gradient(135deg,#181818 0%,#0e0e0e 100%);color:#fff;border-radius:14px;padding:20px 16px;font-weight:800;font-size:15px;cursor:pointer;border:1px solid #2a2a2a;border-left:4px solid var(--gold);text-align:left;transition:transform .18s ease,border-left-color .18s ease,background .18s ease;}
.tile:hover{transform:translateY(-4px) translateX(2px);border-left-color:var(--brand);background:linear-gradient(135deg,#2a0406 0%,#0e0e0e 100%);text-decoration:none;color:#fff;}
.tile span{display:block;font-size:12px;font-weight:600;color:var(--gold);margin-top:4px;}
/* cart drawer */
.scrim{position:fixed;inset:0;background:rgba(0,0,0,.45);opacity:0;pointer-events:none;transition:.2s;z-index:90;}
.scrim.open{opacity:1;pointer-events:auto;}
.drawer{position:fixed;top:0;right:0;height:100%;width:380px;max-width:92vw;background:var(--paper);z-index:100;transform:translateX(100%);transition:.25s;display:flex;flex-direction:column;}
.drawer.open{transform:none;}
.drawer header{background:var(--ink);color:#fff;padding:16px 18px;display:flex;justify-content:space-between;align-items:center;}
.drawer header h3{margin:0;color:#fff;}
.drawer .x{background:none;border:none;color:#fff;font-size:24px;cursor:pointer;}
.drawer .items{flex:1;overflow:auto;padding:14px 18px;}
.citem{display:flex;gap:10px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--line);}
.citem .ci-nm{font-size:13.5px;font-weight:700;line-height:1.3;}
.citem .ci-meta{font-size:12px;color:var(--muted);}
.citem .qty{display:flex;align-items:center;gap:8px;margin-top:6px;}
/* Change #5 — qty buttons 36x36 touch target */
.citem .qty button{width:36px;height:36px;min-width:36px;min-height:36px;border:1px solid var(--line);background:#fff;border-radius:8px;font-size:18px;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.citem .ci-price{font-weight:800;color:var(--brand-dark);margin-left:auto;white-space:nowrap;}
.drawer .foot{border-top:1px solid var(--line);padding:16px 18px;background:var(--card);}
.drawer .ftrow{display:flex;justify-content:space-between;font-size:14px;margin-bottom:6px;}
.drawer .ftrow.tot{font-size:18px;font-weight:900;}
.deliv-note{font-size:12.5px;color:var(--ok);margin:6px 0 12px;}
.empty-cart{text-align:center;color:var(--muted);padding:40px 10px;}

/* floating tap-to-call / tap-to-text */
.callbar{position:fixed;right:18px;bottom:18px;z-index:70;display:flex;gap:10px;}
.callbar a{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:15px;padding:13px 18px;border-radius:999px;text-decoration:none;box-shadow:0 6px 18px rgba(0,0,0,.22);}
.callbar a:hover{text-decoration:none;}
.callbar .c-call{background:var(--brand);color:#fff;}
.callbar .c-text{background:var(--ink);color:#fff;}
.callbar .ico{font-size:18px;line-height:1;}
@media(max-width:560px){
  .callbar{left:12px;right:12px;bottom:12px;gap:10px;}
  .callbar a{flex:1;justify-content:center;padding:15px;}
  .callbar a .lbl{display:inline;}
  body{padding-bottom:84px;}
  /* Change #2 — hero h1 mobile reduction */
  .hero h1{font-size:clamp(26px,8vw,40px);}
  /* Change #8 — cart drawer footer clears callbar on mobile */
  .drawer .foot{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px));}
  /* Change #13 — product tags/cat larger on mobile */
  .prod .tag-nic,.prod .tag-ship{font-size:13px;}
  .prod .cat{font-size:13px;}
  /* Change #17 — shop tools mobile layout fixes */
  .shop-tools select{flex:1;min-width:0;font-size:14px;padding:10px 6px;}
  .shop-tools .wrap{row-gap:8px;}
  .searchbox{width:100%;flex:1 1 100%;}
  .cart-btn{flex-shrink:0;}
}
@media(max-width:860px){
  .g3,.tiers,.zone,footer .cols{grid-template-columns:1fr;}
  .g2,.row2{grid-template-columns:1fr;}
  .nav nav{display:none;position:absolute;top:62px;left:0;right:0;background:var(--ink);flex-direction:column;padding:10px 20px 18px;gap:4px;}
  .nav nav.open{display:flex;}
  .nav nav a{padding:12px;}
  .menu-toggle{display:block;}
}

/* ===== approved additions ===== */

/* Change #6 — focus-visible global ring */
:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:4px;}
.nav :focus-visible{outline-color:#fff;}
:focus:not(:focus-visible){outline:none;}

/* Change #7 — iOS safe-area insets */
@supports (padding: env(safe-area-inset-bottom)){
  .callbar{bottom:calc(18px + env(safe-area-inset-bottom));}
  @media(max-width:560px){
    .callbar{bottom:calc(12px + env(safe-area-inset-bottom));}
    body{padding-bottom:calc(84px + env(safe-area-inset-bottom));}
  }
}

/* Change #9 — trust bar CSS classes */
.trust-bar{background:#111;border-bottom:2px solid var(--gold-dark);}
.trust-bar .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;padding:14px 20px;}
.trust-item{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700;color:#d9d2c6;letter-spacing:.04em;text-transform:uppercase;}
.trust-item .ico{font-size:20px;}

/* Change #14 — 2-column product grid on narrow phones */
@media(max-width:480px){
  .prodgrid{grid-template-columns:repeat(2,1fr);gap:10px;}
  .prod .nm{font-size:13px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
}

/* Change #19 — force 2 columns on very small screens */
@media(max-width:380px){
  .tilegrid{grid-template-columns:repeat(2,1fr);gap:10px;}
}

/* ===== contact.html ===== */
.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin:0 0 32px;}
.contact-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:28px 24px;display:flex;flex-direction:column;gap:8px;}
.contact-ico{font-size:32px;line-height:1;margin-bottom:4px;}
.contact-card h3{margin:0;font-size:17px;}
.contact-card .muted{font-size:14px;margin:0;}
.contact-action{display:inline-block;margin-top:auto;padding-top:12px;font-weight:700;font-size:15px;color:var(--brand-dark);word-break:break-all;}
.contact-action:hover{color:var(--brand);}
.contact-hours{margin:auto 0 0;font-size:15px;padding-top:12px;}
.contact-note{background:var(--gold-soft);border-left:4px solid var(--gold);border-radius:6px;padding:16px 20px;font-size:14px;line-height:1.6;max-width:720px;}
@media(max-width:560px){
  .contact-grid{grid-template-columns:1fr;}
}
