
/* 7BrewPrice v3 — burgundy & cream premium theme. Original design, trademark-safe. */
:root{
  --bg:#fdf3f1; --bg2:#f5e8e6; --card:#ffffff;
  --ink:#1a202c; --muted:#4a5568; --faint:#718096;
  --primary:#751f2b; --primary-dark:#601722; --primary-mid:#a63d48;
  --gold:#c9a227; --gold-soft:#f3e3ac;
  --line:#e8d3cf;
  --radius:20px;
  --shadow:0 6px 24px rgba(117,31,43,.08);
  --shadow-lg:0 18px 48px rgba(117,31,43,.16);
  --maxw:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  background:var(--bg);color:var(--ink);line-height:1.7;font-size:16.5px;
  -webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.logo,.btn{font-family:"Archivo","Inter",system-ui,sans-serif}
img,svg{max-width:100%}
a{color:var(--primary-mid);text-decoration:none}
a:hover{text-decoration:underline}
::selection{background:var(--gold-soft);color:var(--primary-dark)}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}
section[id],h3[id]{scroll-margin-top:96px}

/* ---------- header : burgundy bar ---------- */
.site-header{position:sticky;top:0;z-index:80;background:var(--primary);
  box-shadow:0 4px 20px rgba(96,23,34,.35)}
.header-inner{display:flex;align-items:center;gap:14px;max-width:var(--maxw);
  margin:0 auto;padding:0 20px;min-height:72px}
.logo{font-weight:800;font-size:1.5rem;color:#fff;letter-spacing:.2px;white-space:nowrap}
.logo span{color:var(--gold-soft)}
.logo:hover{text-decoration:none}
.nav-toggle{display:none;background:rgba(255,255,255,.14);border:none;color:#fff;
  border-radius:12px;padding:8px 14px;font-size:1.2rem;cursor:pointer}
.main-nav{flex:1}
.main-nav ul{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0}
.main-nav a{color:#fff;padding:10px 15px;border-radius:12px;font-size:.94rem;font-weight:600;
  white-space:nowrap;transition:background .2s}
.main-nav a:hover{background:rgba(255,255,255,.14);text-decoration:none}
.main-nav a.active{background:rgba(255,255,255,.22)}
.has-drop{position:relative}
.main-nav ul.drop{display:none;position:absolute;top:100%;left:0;min-width:230px;background:#fff;
  border-radius:14px;box-shadow:var(--shadow-lg);padding:8px;list-style:none;z-index:90;
  flex-direction:column;align-items:stretch;gap:2px}
.has-drop:hover ul.drop,.has-drop:focus-within ul.drop{display:block}
.drop li{margin:0}
.drop a{display:block;color:var(--ink);padding:9px 14px;border-radius:9px;font-size:.9rem}
.drop a:hover{background:var(--bg2);color:var(--primary)}
.search-btn{margin-left:auto;background:rgba(255,255,255,.14);border:none;color:#fff;
  border-radius:12px;width:44px;height:44px;display:grid;place-items:center;cursor:pointer;
  transition:background .2s;flex:0 0 auto}
.search-btn:hover{background:rgba(255,255,255,.26)}
.search-btn svg{width:20px;height:20px}
@media(max-width:1020px){
  .nav-toggle{display:block}
  .header-inner{flex-wrap:wrap;padding:10px 20px}
  .main-nav{display:none;width:100%;flex:none}
  .main-nav.open{display:block}
  .main-nav>ul{flex-direction:column;align-items:stretch;padding:6px 0 12px;gap:2px}
  .main-nav a{display:block}
  .main-nav ul.drop{display:block;position:static;box-shadow:none;background:rgba(255,255,255,.08);
    margin:2px 0 2px 14px;padding:4px}
  .drop a{color:#ffe9e4}
  .drop a:hover{background:rgba(255,255,255,.14);color:#fff}
  .search-btn{margin-left:0}
}

/* ---------- search overlay ---------- */
.search-overlay{position:fixed;inset:0;background:rgba(26,10,13,.62);z-index:200;
  display:flex;justify-content:center;align-items:flex-start;padding:96px 20px 20px}
.search-overlay[hidden]{display:none}
.search-box{background:#fff;border-radius:20px;max-width:580px;width:100%;padding:22px;
  box-shadow:var(--shadow-lg)}
#searchInput{width:100%;padding:14px 16px;border:2px solid var(--line);border-radius:12px;
  font-size:1.05rem;font-family:inherit;color:var(--ink)}
#searchInput:focus{outline:none;border-color:var(--primary)}
#searchResults{margin-top:10px;max-height:320px;overflow-y:auto}
.search-result{display:flex;justify-content:space-between;align-items:center;gap:10px;
  padding:10px 14px;border-radius:10px;color:var(--ink)}
.search-result:hover{background:var(--bg2);text-decoration:none}
.search-result span{font-size:.8rem;color:var(--faint);font-weight:600}
.search-none{padding:12px;color:var(--muted)}

/* ---------- inner-page hero (blush band) ---------- */
.hero{background:var(--bg2);padding:52px 0 56px;text-align:center}
.hero h1{font-size:clamp(1.9rem,4.6vw,2.9rem);margin:.3em auto .35em;line-height:1.15;
  color:var(--ink);font-weight:800;max-width:20em;text-wrap:balance}
.hero p.lead{font-size:1.06rem;max-width:640px;margin:0 auto;color:var(--muted);font-weight:500}
.badge{display:inline-block;background:var(--primary);color:#fff;font-weight:800;font-size:.78rem;
  padding:9px 20px;border-radius:999px;margin-bottom:14px;letter-spacing:1.8px;text-transform:uppercase;
  box-shadow:0 6px 18px rgba(117,31,43,.35)}
.updated-line{font-size:.86rem;color:var(--muted);margin:.4em 0 1em;font-weight:600}

/* ---------- home hero : giant blush card ---------- */
.page-home .hero{background:none;padding:36px 0 12px}
.hero-card{background:var(--bg2);border-radius:28px;padding:clamp(28px,4.5vw,58px);
  display:grid;grid-template-columns:1.04fr .96fr;gap:clamp(24px,4vw,52px);align-items:center;
  box-shadow:var(--shadow)}
.eyebrow{color:var(--primary-mid);font-weight:800;letter-spacing:2.4px;font-size:.78rem;
  text-transform:uppercase;margin:0}
.hero-card h1{font-size:clamp(2.1rem,4.4vw,3.5rem);line-height:1.1;margin:.35em 0 .45em;
  font-weight:800;color:var(--ink);text-wrap:balance}
.hero-card h1 .accent{color:var(--primary-mid)}
.hero-sub{color:var(--muted);font-size:1.04rem;max-width:35rem;border-left:4px solid var(--primary-mid);
  padding-left:18px;margin:0 0 6px}
.hero-stats{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:20px 0 24px;
  font-size:1.02rem;color:var(--muted)}
.hero-stats b{color:var(--primary);font-weight:800}
.hero-stats .dot{color:var(--primary-mid);font-weight:800}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap}
.hero-visual{display:flex;flex-direction:column;gap:14px;min-width:0}
.visual-card{position:relative;border-radius:24px;overflow:hidden;
  background:linear-gradient(150deg,#601722,#380d13);box-shadow:var(--shadow-lg)}
.visual-card svg{display:block;width:100%;height:auto}
.visual-badge{position:absolute;top:18px;left:18px;background:var(--primary-mid);color:#fff;
  font-weight:800;font-size:.75rem;letter-spacing:1.6px;padding:9px 18px;border-radius:999px;
  text-transform:uppercase;box-shadow:0 6px 16px rgba(0,0,0,.3)}
.visual-cap{position:absolute;left:0;right:0;bottom:0;padding:34px 16px 14px;text-align:center;
  background:linear-gradient(transparent,rgba(18,4,7,.78));color:#fff;font-weight:800;
  letter-spacing:2.2px;font-size:.82rem}
.v-pills{display:flex;gap:10px;justify-content:center}
.v-pill{background:#2a1215;color:#f5e8e6;border-radius:999px;padding:12px 8px;min-height:190px;
  writing-mode:vertical-rl;font-size:.68rem;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;
  display:flex;align-items:center;justify-content:center;transition:background .2s,transform .2s;
  box-shadow:var(--shadow)}
.v-pill:hover{background:var(--primary);color:#fff;text-decoration:none;transform:translateY(-3px)}
@media(max-width:960px){
  .hero-card{grid-template-columns:1fr}
  .v-pills{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;padding-bottom:6px}
  .v-pill{writing-mode:horizontal-tb;min-height:0;padding:9px 18px;flex:0 0 auto}
}

/* ---------- content ---------- */
main{padding:8px 0 48px}
main h2{font-size:1.65rem;margin:2em 0 .55em;color:var(--ink);font-weight:800;letter-spacing:-.3px}
main h2::after{content:"";display:block;width:56px;height:5px;border-radius:3px;margin-top:10px;
  background:linear-gradient(90deg,var(--primary),var(--gold))}
h3{font-size:1.2rem;margin:1.3em 0 .4em;font-weight:700}
.kicker{color:var(--primary-mid);font-weight:800;text-transform:uppercase;font-size:.8rem;
  letter-spacing:1.8px}

/* drink cards */
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(265px,1fr));gap:20px;margin:22px 0}
.drink-card{position:relative;overflow:hidden;background:var(--card);border:1px solid var(--line);
  border-radius:var(--radius);padding:22px 20px 18px;box-shadow:var(--shadow);
  display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease}
.drink-card::before{content:"";position:absolute;top:0;left:0;right:0;height:6px;
  background:linear-gradient(90deg,var(--primary),var(--primary-mid),var(--gold))}
.drink-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.drink-card h3{margin:.15em 0 .3em;font-size:1.12rem}
.drink-card h3 a{color:var(--ink)}
.drink-card p.desc{font-size:.93rem;color:var(--muted);margin:.2em 0 .7em;flex:1}
.mini-table{width:100%;border-collapse:collapse;font-size:.87rem;margin-top:8px;border-radius:10px;
  overflow:hidden}
.mini-table th,.mini-table td{padding:8px;text-align:center}
.mini-table th{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;
  font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.5px}
.mini-table td{border-bottom:1px solid var(--line)}
.mini-table tr:last-child td{border-bottom:none}
.price{font-weight:800;color:var(--primary);font-size:1.05rem}
.tag{display:inline-block;font-size:.72rem;font-weight:800;padding:3px 11px;border-radius:999px;
  margin:2px 5px 2px 0;letter-spacing:.3px}
.tag-cat{background:var(--gold-soft);color:#7a5b00}
.tag-pop{background:var(--primary-mid);color:#fff}
.tag-sf{background:#2f855a;color:#fff}

/* data tables */
.data-table{width:100%;border-collapse:collapse;margin:16px 0;font-size:.95rem;background:#fff;
  border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}
.data-table th,.data-table td{padding:11px 14px;text-align:left}
.data-table th{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;
  font-weight:700;font-family:"Archivo",sans-serif;letter-spacing:.3px}
.data-table tr:nth-child(even) td{background:#fdf8f6}
.data-table tr:hover td{background:var(--bg2)}
.table-scroll{overflow-x:auto;border-radius:14px}

/* sticky category pills */
.pills{display:flex;gap:9px;flex-wrap:wrap;margin:18px 0;position:sticky;top:76px;z-index:20;
  background:rgba(253,243,241,.95);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  padding:12px 2px;border-bottom:1px solid var(--line)}
.pills a{background:#fff;border:2px solid var(--line);border-radius:999px;padding:7px 16px;
  font-size:.89rem;font-weight:700;color:var(--ink);box-shadow:var(--shadow);
  transition:transform .2s,border-color .2s}
.pills a:hover{border-color:var(--primary);color:var(--primary);text-decoration:none;
  transform:translateY(-2px)}

/* FAQ accordion */
details.faq{background:#fff;border:2px solid var(--line);border-radius:16px;margin:12px 0;
  padding:2px 20px;box-shadow:var(--shadow);transition:border-color .25s}
details.faq[open]{border-color:var(--primary-mid)}
details.faq summary{cursor:pointer;font-weight:700;padding:15px 0;list-style:none;
  font-family:"Archivo",sans-serif;font-size:1rem;display:flex;justify-content:space-between;
  align-items:center;gap:10px}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::after{content:"›";flex:0 0 auto;width:30px;height:30px;border-radius:50%;
  background:linear-gradient(135deg,var(--primary),var(--primary-mid));color:#fff;display:grid;
  place-items:center;font-size:1.3rem;transform:rotate(90deg);transition:transform .3s;line-height:1}
details.faq[open] summary::after{transform:rotate(270deg)}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease}
details.faq[open] .faq-a{grid-template-rows:1fr}
.faq-a>div{overflow:hidden}
.faq-a p{margin:.2em 0 1em;color:var(--muted)}

/* tools */
.tool-box{background:#fff;border:2px solid var(--line);border-radius:24px;box-shadow:var(--shadow-lg);
  padding:28px;margin:22px 0;position:relative;overflow:hidden}
.tool-box::before{content:"";position:absolute;top:0;left:0;right:0;height:8px;
  background:linear-gradient(90deg,var(--primary),var(--primary-mid),var(--gold))}
.quiz-progress{height:10px;background:var(--bg2);border-radius:999px;margin:6px 0 18px;overflow:hidden}
.quiz-progress div{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--primary),var(--primary-mid));
  transition:width .35s ease}
.quiz-q{margin:0 0 18px}
.quiz-q p{font-weight:700;margin:.2em 0 .6em;font-size:1.05rem}
.quiz-opts{display:flex;flex-wrap:wrap;gap:10px}
.quiz-opts button{border:2px solid var(--line);background:#fff;border-radius:999px;padding:10px 20px;
  cursor:pointer;font-size:.95rem;font-weight:600;color:var(--ink);transition:all .2s;font-family:inherit}
.quiz-opts button.sel{border-color:transparent;color:#fff;font-weight:700;
  background:linear-gradient(135deg,var(--primary),var(--primary-mid));
  box-shadow:0 6px 16px rgba(117,31,43,.35)}
.quiz-opts button:hover{border-color:var(--primary-mid);transform:translateY(-2px)}
.btn{display:inline-block;background:var(--primary);color:#fff;border:none;border-radius:999px;
  padding:14px 34px;font-size:1rem;font-weight:700;cursor:pointer;
  box-shadow:0 8px 22px rgba(117,31,43,.35);transition:transform .2s,box-shadow .2s,background .2s;
  font-family:"Archivo",sans-serif}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(117,31,43,.45);
  text-decoration:none;color:#fff;background:var(--primary-dark)}
.btn-outline{background:transparent;color:var(--primary);border:2px solid var(--primary);box-shadow:none}
.btn-outline:hover{background:var(--primary);color:#fff}
.btn.ghost{background:#fff;color:var(--primary);border:2px solid var(--primary);box-shadow:none}
.btn.ghost:hover{background:var(--bg2)}
.result-card{border:2px solid var(--gold-soft);border-radius:18px;padding:18px;margin:14px 0;
  background:#fffdf4;box-shadow:var(--shadow)}
.result-card b{font-family:"Archivo",sans-serif}
select,input[type=text],input[type=email],textarea{width:100%;padding:12px 14px;border:2px solid var(--line);
  border-radius:12px;font-size:1rem;margin:6px 0 14px;background:#fff;color:var(--ink);font-family:inherit}
select:focus,input:focus,textarea:focus{outline:none;border-color:var(--primary)}
label{font-weight:700;font-size:.94rem}

/* ad slots: hidden until ads approved (add ads-on to <body{bcls}>) */
.ad-slot{display:none}
body.ads-on .ad-slot{display:block;background:#f3e9e4;border:2px dashed #c9a9a4;border-radius:12px;
  color:#8a6a65;text-align:center;padding:26px 10px;margin:22px 0;font-size:.85rem}

/* footer */
.site-footer{background:linear-gradient(180deg,var(--primary-dark),#3c0e15);color:#e3c6c6;
  margin-top:48px;padding:54px 0 28px;font-size:.94rem;position:relative;overflow:hidden}
.site-footer::before{content:"";position:absolute;top:0;left:0;right:0;height:6px;
  background:linear-gradient(90deg,var(--primary-mid),var(--gold),var(--primary-mid))}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:28px;
  max-width:var(--maxw);margin:0 auto;padding:0 20px}
.site-footer h4{color:#fff;margin:.2em 0 .8em;font-size:1.02rem;letter-spacing:.4px}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin:.42em 0}
.site-footer a{color:#eecfcf;font-weight:500}
.site-footer a:hover{color:var(--gold-soft);text-decoration:none}
.footer-disclaimer{max-width:var(--maxw);margin:28px auto 0;padding:18px 20px 0;
  border-top:1px solid rgba(255,255,255,.16);font-size:.83rem;color:#c39a9a}
.copyright{max-width:var(--maxw);margin:14px auto 0;padding:0 20px;font-size:.83rem;color:#c39a9a}

/* misc */
.note{background:#fff;border-left:5px solid var(--primary-mid);padding:13px 18px;
  border-radius:0 14px 14px 0;margin:18px 0;font-size:.95rem;box-shadow:var(--shadow)}
.breadcrumb{font-size:.86rem;color:var(--faint);margin:16px 0 4px;font-weight:500}
.breadcrumb a{color:var(--faint)}
.toc{background:#fff;border:2px solid var(--line);border-radius:16px;padding:16px 22px;margin:18px 0;
  box-shadow:var(--shadow)}
.toc ul{margin:.3em 0;padding-left:1.2em}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media(max-width:700px){.two-col{grid-template-columns:1fr}}

/* reveal on scroll */
.has-js .reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
.has-js .reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .has-js .reveal{opacity:1;transform:none}
}
h2[id]{scroll-margin-top:150px}
