/* Cahaba Package Store */
:root{
  --bg:#090909;--bg-soft:#111;--card:#151515;--text:#f6f2e9;--muted:#aaa59c;
  --gold:#d6a84e;--gold-light:#f1d694;--line:rgba(255,255,255,.09);
  --white:#fff;--radius:24px;--shadow:0 25px 80px rgba(0,0,0,.35);--max:1240px
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:"DM Sans",sans-serif;background:radial-gradient(circle at 70% 0%,rgba(214,168,78,.08),transparent 35%),var(--bg);color:var(--text);line-height:1.6;overflow-x:hidden}
body.age-locked{overflow:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,textarea{font:inherit}
button{cursor:pointer}
.container{width:min(calc(100% - 36px),var(--max));margin-inline:auto}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.73rem;font-weight:700;color:var(--gold)}
.section-title{font-family:"Playfair Display",serif;font-size:clamp(2.6rem,6vw,5rem);line-height:.98;letter-spacing:-.035em;margin-top:12px}
.section-copy{color:var(--muted);max-width:650px;margin-top:20px;font-size:1.02rem}
.btn{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 22px;border-radius:999px;border:1px solid transparent;transition:.25s ease;font-weight:700;font-size:.93rem}
.btn-primary{color:#111;background:var(--gold)}
.btn-primary:hover{transform:translateY(-2px);background:var(--gold-light)}
.btn-secondary{border-color:rgba(255,255,255,.22);color:#fff;background:rgba(255,255,255,.04);backdrop-filter:blur(12px)}
.btn-secondary:hover{border-color:var(--gold);color:var(--gold-light)}

.age-gate{position:fixed;inset:0;z-index:999;background:radial-gradient(circle at 50% 20%,rgba(214,168,78,.15),transparent 35%),rgba(4,4,4,.98);display:grid;place-items:center;padding:24px}
.age-gate.hidden{display:none}
.age-card{width:min(100%,520px);text-align:center;border:1px solid rgba(255,255,255,.12);background:#101010;border-radius:30px;padding:44px 28px;box-shadow:var(--shadow)}
.age-logo{width:62px;height:62px;margin:0 auto 22px;border:1px solid var(--gold);color:var(--gold);border-radius:50%;display:grid;place-items:center;font:700 1.8rem "Playfair Display",serif}
.age-card h1{font:700 clamp(2.2rem,8vw,4rem) "Playfair Display",serif;line-height:1;margin:12px 0}
.age-card p:not(.eyebrow){color:var(--muted);margin-bottom:24px}
.age-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:18px}
.age-card small{color:#777}

.nav-wrap{position:fixed;top:0;left:0;width:100%;z-index:100;padding:18px 0;transition:.3s ease}
.nav-wrap.scrolled{background:rgba(8,8,8,.86);backdrop-filter:blur(20px);border-bottom:1px solid var(--line);padding:11px 0}
nav{display:flex;align-items:center;justify-content:space-between;gap:20px}
.logo{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:-.02em}
.logo-mark{width:42px;height:42px;border-radius:50%;border:1px solid rgba(214,168,78,.7);display:grid;place-items:center;font-family:"Playfair Display",serif;color:var(--gold);font-size:1.2rem;flex:0 0 auto}
.logo-text small{display:block;color:var(--muted);font-size:.62rem;text-transform:uppercase;letter-spacing:.18em;margin-top:-3px}
.nav-links{display:flex;align-items:center;gap:28px;font-size:.88rem;color:#d5d1c9}
.nav-links a:hover{color:var(--gold-light)}
.nav-cta{color:#111!important}
.mobile-toggle{display:none;width:44px;height:44px;border-radius:50%;background:transparent;color:#fff;border:1px solid var(--line)}

.hero{min-height:100svh;display:flex;align-items:flex-end;position:relative;isolation:isolate;overflow:hidden;padding:140px 0 70px}
.hero::before{content:"";position:absolute;inset:0;z-index:-3;background:linear-gradient(to right,rgba(4,4,4,.97) 0%,rgba(4,4,4,.75) 44%,rgba(4,4,4,.2) 100%),linear-gradient(to top,#090909 0%,transparent 35%),url("https://images.unsplash.com/photo-1569529465841-dfecdab7503b?auto=format&fit=crop&w=2000&q=90") center 38%/cover no-repeat}
.hero::after{content:"";position:absolute;width:650px;height:650px;right:-180px;top:-150px;background:radial-gradient(circle,rgba(214,168,78,.25),transparent 60%);filter:blur(10px);z-index:-2}
.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:50px}
.hero h1{font-family:"Playfair Display",serif;font-size:clamp(4rem,9vw,8.4rem);line-height:.83;letter-spacing:-.055em;max-width:880px}
.hero h1 span{color:var(--gold-light);font-style:italic;font-weight:500}
.hero-copy{color:#cbc6bc;max-width:570px;margin:30px 0;font-size:clamp(1rem,1.5vw,1.18rem)}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.hero-side{justify-self:end;width:min(100%,390px)}
.glass-card{background:rgba(16,16,16,.64);backdrop-filter:blur(22px);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow)}
.glass-card h3{font-family:"Playfair Display",serif;font-size:1.8rem;margin:6px 0 20px}
.store-detail{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.09);font-size:.9rem}
.store-detail:last-child{border-bottom:none}
.store-detail span:first-child{color:var(--muted)}
.store-detail strong{text-align:right}

.marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0;overflow:hidden;background:#0d0d0d}
.marquee-track{width:max-content;display:flex;gap:42px;animation:marquee 30s linear infinite;text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;color:#d7d2c8;font-weight:700}
.marquee-track span::after{content:"◆";color:var(--gold);margin-left:42px;font-size:.45rem}
@keyframes marquee{to{transform:translateX(-50%)}}

section{padding:110px 0}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:48px}
.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}
.category-card{min-height:340px;position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);isolation:isolate}
.category-card::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.94),rgba(0,0,0,.05) 65%);z-index:-1}
.category-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .5s ease}
.category-card:hover img{transform:scale(1.05)}
.category-content{position:absolute;left:25px;right:25px;bottom:24px}
.category-content h3{font-family:"Playfair Display",serif;font-size:1.7rem;margin-bottom:4px}
.category-content p{color:#c5c0b7;font-size:.85rem}

.featured{background:#0c0c0c;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.product-card{overflow:hidden;border-radius:var(--radius);border:1px solid var(--line);background:var(--card)}
.product-image{height:340px;background-size:cover;background-position:center;position:relative}
.product-image::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.45),transparent 45%)}
.product-one{background-image:url("https://images.unsplash.com/photo-1527281400683-1aae777175f8?auto=format&fit=crop&w=1000&q=85")}
.product-two{background-image:url("https://images.unsplash.com/photo-1608885898957-a5598a7c378b?auto=format&fit=crop&w=1000&q=85")}
.product-three{background-image:url("https://images.unsplash.com/photo-1513558161293-cdaf765ed2fd?auto=format&fit=crop&w=1000&q=85")}
.product-body{padding:25px}
.tag{display:inline-flex;padding:6px 10px;border:1px solid rgba(214,168,78,.35);border-radius:999px;color:var(--gold-light);font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}
.product-body h3{font:700 1.8rem "Playfair Display",serif;margin:13px 0 7px}
.product-body p{color:var(--muted)}

.drink-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.drink-card{min-height:270px;padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,#171717,#0d0d0d);display:flex;flex-direction:column;justify-content:space-between}
.drink-number{font:600 3rem "Playfair Display",serif;color:rgba(214,168,78,.33)}
.drink-card h3{font:700 2rem "Playfair Display",serif;margin:5px 0 8px}
.drink-card p:last-child{color:var(--muted)}

.request-section{background:radial-gradient(circle at 15% 50%,rgba(214,168,78,.08),transparent 32%)}
.request-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}
.request-form{padding:30px;border:1px solid var(--line);border-radius:var(--radius);background:#111;display:grid;gap:18px}
.request-form label{font-size:.83rem;font-weight:700;color:#d8d4cc;display:grid;gap:7px}
.request-form input,.request-form textarea{width:100%;border:1px solid rgba(255,255,255,.12);background:#090909;color:#fff;border-radius:13px;padding:14px 15px;outline:none}
.request-form input:focus,.request-form textarea:focus{border-color:rgba(214,168,78,.7)}
.request-form textarea{resize:vertical}
.request-form small{color:#777}

.visit-card{display:grid;grid-template-columns:1fr .85fr;gap:45px;border-radius:32px;padding:45px;background:#111;border:1px solid var(--line)}
.visit-details{margin:30px 0}
.visit-details div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:15px 0}
.visit-details span{color:var(--muted)}
.visit-details strong{text-align:right}
.map-placeholder{min-height:430px;border-radius:24px;background:linear-gradient(rgba(0,0,0,.25),rgba(0,0,0,.6)),url("https://images.unsplash.com/photo-1526778548025-fa2f459cd5c1?auto=format&fit=crop&w=1000&q=75") center/cover;display:grid;place-items:center;text-align:center;padding:30px}
.map-placeholder span{font-size:3rem}
.map-placeholder h3{font:700 2rem "Playfair Display",serif}
.map-placeholder p{color:#ddd;max-width:300px}

footer{padding:55px 0;border-top:1px solid var(--line);background:#070707}
.footer-grid{display:grid;grid-template-columns:1.2fr .7fr .7fr;gap:30px}
.footer-grid>div>p{color:var(--muted);margin-top:15px}
.footer-links{display:grid;gap:10px;align-content:start;color:#c8c4bc}
.footer-right{text-align:right;color:#c8c4bc}
.footer-right p{margin-top:5px!important;font-size:.84rem}

@media(max-width:950px){
  .mobile-toggle{display:grid;place-items:center}
  .nav-links{position:absolute;top:74px;left:18px;right:18px;background:#101010;border:1px solid var(--line);border-radius:20px;padding:18px;display:none;flex-direction:column;align-items:stretch;gap:4px;box-shadow:var(--shadow)}
  .nav-links.open{display:flex}
  .nav-links a{padding:12px 10px}
  .nav-cta{margin-top:7px}
  .hero-grid,.request-grid,.visit-card{grid-template-columns:1fr}
  .hero-side{justify-self:start;width:100%;max-width:480px}
  .category-grid{grid-template-columns:repeat(2,1fr)}
  .product-grid,.drink-grid{grid-template-columns:1fr}
  .product-image{height:390px}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-right{text-align:left}
}
@media(max-width:600px){
  .container{width:min(calc(100% - 28px),var(--max))}
  section{padding:82px 0}
  .logo-text{font-size:.82rem}
  .logo-text small{font-size:.52rem}
  .hero{padding-top:120px;align-items:center}
  .hero h1{font-size:clamp(3.7rem,18vw,6rem)}
  .hero-side{margin-top:20px}
  .glass-card{padding:22px}
  .category-grid{grid-template-columns:1fr}
  .category-card{min-height:310px}
  .product-image{height:320px}
  .visit-card{padding:24px}
  .visit-details div,.store-detail{flex-direction:column;gap:3px}
  .visit-details strong,.store-detail strong{text-align:left}
  .footer-grid{grid-template-columns:1fr}
  .age-actions .btn{width:100%}
}

.map-embed{min-height:430px;border-radius:24px;overflow:hidden;border:1px solid var(--line);background:#0b0b0b}
.map-embed iframe{width:100%;height:100%;min-height:430px;border:0;display:block}
