/* Brahman Liquor & Smoke — handcrafted CSS */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  background:#1a1208;
  color:#e8dcc4;
  line-height:1.7;
  font-size:17px;
}
a{color:#d4a056;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s}
a:hover{border-bottom-color:#d4a056}
img{max-width:100%;height:auto;display:block}

/* Header */
header.site-header{
  background:linear-gradient(180deg,#0f0a04 0%,#1a1208 100%);
  border-bottom:2px solid #5a3a18;
  padding:1.2rem 0;
  position:sticky;top:0;z-index:50;
  box-shadow:0 4px 20px rgba(0,0,0,.4);
}
.container{max-width:1100px;margin:0 auto;padding:0 1.5rem}
.nav-wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}
.brand{font-family:"Playfair Display",Georgia,serif;font-size:1.7rem;letter-spacing:.05em;color:#e8c574;font-weight:700;border:none}
.brand:hover{border:none;color:#f0d088}
.brand span{display:block;font-size:.7rem;letter-spacing:.3em;color:#8a6a3a;font-weight:400;margin-top:.1rem}
nav ul{list-style:none;margin:0;padding:0;display:flex;gap:1.8rem;flex-wrap:wrap}
nav a{color:#c4b090;font-size:.95rem;letter-spacing:.04em;text-transform:uppercase;border:none;padding-bottom:2px}
nav a:hover,nav a.active{color:#e8c574;border-bottom:1px solid #d4a056}

/* Hero */
.hero{
  background:
    linear-gradient(rgba(15,10,4,.78),rgba(15,10,4,.85)),
    repeating-linear-gradient(45deg,#2a1c10 0,#2a1c10 2px,#1a1208 2px,#1a1208 14px);
  padding:5rem 0 4.5rem;
  text-align:center;
  border-bottom:1px solid #3a2818;
}
.hero h1{
  font-family:"Playfair Display",Georgia,serif;
  font-size:clamp(2.2rem,5vw,3.6rem);
  color:#e8c574;
  margin:0 0 1rem;
  letter-spacing:.02em;
  line-height:1.15;
}
.hero p.tagline{font-size:1.15rem;color:#c4b090;max-width:640px;margin:0 auto 1.8rem;font-style:italic}
.cta-row{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap;margin-top:1.5rem}
.btn{
  display:inline-block;
  padding:.85rem 1.8rem;
  background:transparent;
  color:#e8c574;
  border:2px solid #d4a056;
  font-family:Georgia,serif;
  font-size:1rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  cursor:pointer;
  transition:all .25s;
}
.btn:hover{background:#d4a056;color:#1a1208;border-bottom-color:#d4a056}
.btn.solid{background:#8b4513;color:#f4e4c1;border-color:#8b4513}
.btn.solid:hover{background:#a0561a;border-color:#a0561a}

/* Sections */
main{padding:3.5rem 0}
section{padding:2.5rem 0}
h2{
  font-family:"Playfair Display",Georgia,serif;
  font-size:2rem;
  color:#e8c574;
  margin:0 0 1.2rem;
  border-bottom:1px solid #5a3a18;
  padding-bottom:.5rem;
  letter-spacing:.02em;
}
h3{font-family:"Playfair Display",Georgia,serif;color:#d4a056;font-size:1.3rem;margin:1.5rem 0 .5rem}

/* Category grid */
.cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;margin-top:2rem}
.cat{
  background:linear-gradient(180deg,#231811 0%,#1a1208 100%);
  border:1px solid #3a2818;
  padding:2rem 1.5rem;
  text-align:center;
  transition:border-color .25s,transform .25s;
}
.cat:hover{border-color:#d4a056;transform:translateY(-3px)}
.cat .ico{
  font-size:2.5rem;
  color:#d4a056;
  margin-bottom:.8rem;
  font-family:"Playfair Display",Georgia,serif;
  font-style:italic;
}
.cat h3{margin:.3rem 0 .8rem;border:none;padding:0;font-size:1.25rem;color:#e8c574}
.cat p{margin:0;color:#a8956f;font-size:.95rem}

/* Info / two-col */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start;margin-top:2rem}
.two-col .col p{margin:0 0 1rem}
@media(max-width:760px){.two-col{grid-template-columns:1fr;gap:1.5rem}}

/* Cards (contact, hours) */
.info-card{
  background:#231811;
  border-left:4px solid #d4a056;
  padding:1.5rem 1.8rem;
  margin:1.5rem 0;
}
.info-card h3{margin-top:0;color:#e8c574}
.info-card p{margin:.3rem 0}
.info-card strong{color:#d4a056}

/* Hours table */
.hours{width:100%;border-collapse:collapse;margin-top:1rem}
.hours td{padding:.5rem 1rem;border-bottom:1px solid #3a2818;color:#c4b090}
.hours td:first-child{font-weight:bold;color:#d4a056;letter-spacing:.05em}
.hours tr:last-child td{border-bottom:none}

/* Forms / lists in policies */
.policy ol,.policy ul{padding-left:1.5rem}
.policy li{margin-bottom:.5rem}
.policy h2{margin-top:2.5rem}
.last-updated{color:#8a6a3a;font-style:italic;font-size:.9rem;margin-bottom:2rem}

/* Footer */
footer{
  background:#0f0a04;
  border-top:2px solid #5a3a18;
  padding:2.5rem 0 1.5rem;
  margin-top:4rem;
  color:#8a6a3a;
  font-size:.92rem;
}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem;margin-bottom:2rem}
@media(max-width:760px){.foot-grid{grid-template-columns:1fr;gap:1.5rem}}
footer h4{color:#d4a056;font-family:"Playfair Display",Georgia,serif;margin:0 0 .8rem;font-size:1.05rem;letter-spacing:.05em}
footer ul{list-style:none;padding:0;margin:0}
footer ul li{margin-bottom:.4rem}
footer a{color:#a8956f;border:none}
footer a:hover{color:#d4a056;border:none}
.legal{border-top:1px solid #2a1c10;padding-top:1.2rem;text-align:center;color:#5a4a30;font-size:.85rem}

/* Age gate banner */
.age-warning{
  background:#3a1a08;
  color:#f4d8a0;
  text-align:center;
  padding:.7rem 1rem;
  font-size:.88rem;
  letter-spacing:.05em;
  border-bottom:1px solid #5a2810;
}
.age-warning strong{color:#f4e4c1}

/* Misc */
.lead{font-size:1.15rem;color:#d4c4a0}
.divider{border:none;border-top:1px solid #3a2818;margin:2rem 0}
