/* Schnitz Ada Grill — shared global stylesheet (linked on every page). */

/* ============ TOKENS ============ */
:root{
  --ember-charcoal:#1F1B17;
  --ember-red:#C9472F;
  --ember-red-dark:#B23D27;
  --deli-cream:#F4EEE3;
  --roast:#26221D;
  --river-blue:#2E6DB4;
  --flame-orange:#E8772A;
  --flame-gold:#F2B829;
  --toasted-cream:#EAE0CE;
  --cream-line:rgba(38,34,29,0.12);
  --night-line:rgba(244,238,227,0.14);

  --ff-display:"Archivo Expanded","Archivo",system-ui,sans-serif;
  --ff-meta:"Archivo",system-ui,sans-serif;
  --ff-body:"Source Serif 4",Georgia,serif;

  --h1:4.0rem; --h2:2.5rem; --h3:1.5rem; --lead:1.25rem; --body:1.0rem; --cap:0.875rem;

  --maxw:1240px;
  --nav-h:74px;
}
@media (max-width:768px){
  :root{ --h1:2.5rem; --h2:1.85rem; --h3:1.25rem; --lead:1.125rem; --nav-h:64px; }
}

*{box-sizing:border-box;margin:0;padding:0}
html{background-color:#1F1B17;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto} }

body{
  background-color:#1F1B17;
  font-family:var(--ff-body);
  font-size:var(--body);
  line-height:1.6;
  color:var(--roast);
  padding-top:env(safe-area-inset-top,0px);
  overflow-x:hidden;
}
body::before{
  content:'';position:fixed;inset:0;pointer-events:none;z-index:2;opacity:0.045;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}

img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3,.kicker{font-family:var(--ff-display);letter-spacing:-0.01em;line-height:1.05}
h1{font-size:var(--h1);font-weight:800}
h2{font-size:var(--h2);font-weight:700}
h3{font-size:var(--h3);font-weight:700}
p{font-size:var(--body)}
.lead{font-size:var(--lead);line-height:1.55}

.kicker{
  font-family:var(--ff-meta);font-weight:600;font-size:var(--cap);
  text-transform:uppercase;letter-spacing:0.14em;color:var(--ember-red);
  display:inline-flex;align-items:center;gap:.6rem;
}
.kicker.on-dark{color:var(--flame-orange)}
.kicker::before{content:'';width:26px;height:2px;background:currentColor;display:inline-block}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(20px,5vw,48px)}
section{position:relative;z-index:3}
.pad{padding:clamp(64px,9vw,96px) 0}

.ground-cream{background-color:var(--deli-cream)}
.ground-toasted{background-color:var(--toasted-cream)}
.ground-night{background-color:var(--ember-charcoal);color:var(--deli-cream)}
.ground-night h1,.ground-night h2,.ground-night h3{color:var(--deli-cream)}
.ground-night .muted{color:rgba(244,238,227,0.72)}
.muted{color:rgba(38,34,29,0.66)}

/* ============ BUTTONS ============ */
.btn{
  font-family:var(--ff-meta);font-weight:600;font-size:0.95rem;letter-spacing:0.02em;
  display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;border:none;
  padding:0.85rem 1.4rem;border-radius:3px;transition:background-color .2s ease,transform .12s ease,color .2s ease,border-color .2s ease;
}
.btn:focus-visible{outline:3px solid var(--river-blue);outline-offset:3px}
.btn-ember{background-color:var(--ember-red);color:var(--deli-cream)}
.btn-ember:hover{background-color:var(--ember-red-dark);transform:translateY(-1px)}
.btn-ember:active{transform:translateY(0)}
.btn-outline{background:transparent;border:1.5px solid currentColor;color:var(--roast)}
.ground-night .btn-outline{color:var(--deli-cream)}
.btn-outline:hover{background-color:rgba(201,71,47,0.1);transform:translateY(-1px)}
.btn-outline:active{transform:translateY(0)}
.btn .ext{width:12px;height:12px;flex:none}

/* ============ NAV ============ */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  background-color:rgba(31,27,23,0.55);
  -webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);
  transition:background-color .3s ease,box-shadow .3s ease,border-color .3s ease;
  border-bottom:1px solid transparent;
  padding:0 calc(clamp(20px,5vw,48px) + env(safe-area-inset-right,0px)) 0 calc(clamp(20px,5vw,48px) + env(safe-area-inset-left,0px));
}
.nav.solid{
  background-color:rgba(31,27,23,0.97);
  border-bottom-color:var(--ember-red);
  box-shadow:0 6px 26px rgba(0,0,0,0.28);
}
.nav-inner{max-width:var(--maxw);margin:0 auto;display:flex;align-items:center;gap:1.5rem;height:var(--nav-h)}
.nav-links{display:flex;align-items:center;gap:1.7rem;margin-left:auto}
.nav-link{
  font-family:var(--ff-meta);font-weight:500;font-size:0.92rem;color:var(--deli-cream);
  letter-spacing:0.01em;position:relative;padding:.4rem 0;
}
.nav-link::after{content:'';position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--ember-red);transition:width .2s ease}
.nav-link:hover::after,.nav-link.active::after{width:100%}
.nav-link.active{color:#fff}
.nav-cta-group{display:flex;align-items:center;gap:.7rem}
.nav-call{
  font-family:var(--ff-meta);font-weight:600;font-size:0.9rem;color:var(--deli-cream);
  display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .8rem;border:1px solid var(--night-line);border-radius:3px;
  transition:border-color .2s ease,color .2s ease;
}
.nav-call:hover{border-color:var(--ember-red);color:#fff}
.nav-call svg{width:15px;height:15px}
.nav-order{padding:.6rem 1rem;font-size:0.88rem}

/* wordmark */
.wordmark{display:inline-flex;align-items:center;gap:.55rem;line-height:1}
.wm-waves{width:24px;height:30px;flex:none}
.wm-flame{width:16px;height:30px;flex:none}
.wm-text{display:flex;flex-direction:column;line-height:0.92}
.wm-text .s1{font-family:var(--ff-display);font-weight:800;font-size:1.18rem;letter-spacing:0.04em;color:var(--deli-cream);text-transform:uppercase}
.wm-text .s2{font-family:var(--ff-meta);font-weight:600;font-size:0.6rem;letter-spacing:0.42em;color:var(--flame-orange);text-transform:uppercase}
.nav .wm-text .s1{color:var(--deli-cream)}

/* live status pill */
.status-pill{
  font-family:var(--ff-meta);font-weight:600;font-size:0.78rem;letter-spacing:0.02em;
  display:inline-flex;align-items:center;gap:.5rem;color:var(--deli-cream);
}
.status-dot{width:9px;height:9px;border-radius:50%;background:var(--ember-red);flex:none}
.status-dot.open{background:#3FA34D;animation:pulse 2s ease-in-out infinite}
.status-dot.closed{background:#9a544a}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.55}}
@media (prefers-reduced-motion:reduce){ .status-dot.open{animation:none} }
.nav-status{margin-left:1rem}

/* hamburger / drawer */
.hamburger{display:none;background:none;border:none;cursor:pointer;width:42px;height:42px;align-items:center;justify-content:center;flex-direction:column;gap:5px}
.hamburger span{display:block;width:24px;height:2px;background:var(--deli-cream);transition:transform .25s ease,opacity .2s ease}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-drawer{
  position:fixed;inset:0;z-index:999;background-color:var(--ember-charcoal);
  display:flex;flex-direction:column;gap:.4rem;
  padding:calc(5.5rem + env(safe-area-inset-top,0px)) calc(2rem + env(safe-area-inset-right,0px)) 2rem calc(2rem + env(safe-area-inset-left,0px));
  transform:translateX(100%);transition:transform .3s ease;visibility:hidden;
}
.mobile-drawer.open{transform:translateX(0);visibility:visible}
.mobile-drawer a{font-family:var(--ff-display);font-weight:700;font-size:1.7rem;color:var(--deli-cream);padding:.7rem 0;border-bottom:1px solid var(--night-line)}
.mobile-drawer a:hover{color:var(--flame-orange)}
.mobile-drawer .drawer-status{margin-top:1.4rem}

/* ============ LEDGER (shared between index featured + menu page) ============ */
.ledger-row{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:.6rem;padding:.85rem 0;border-bottom:1px solid var(--cream-line)}
.ledger-name{font-family:var(--ff-body);font-weight:600;font-size:1.02rem;color:var(--roast)}
.ledger-desc{font-family:var(--ff-body);font-size:0.9rem;color:rgba(38,34,29,0.62);grid-column:1/2;margin-top:.15rem}
.ledger-lead{flex:1;border-bottom:1px dotted rgba(38,34,29,0.4);margin:0 .5rem .35rem;align-self:flex-end;min-width:18px}
.ledger-price{font-family:var(--ff-meta);font-weight:600;font-size:1rem;font-variant-numeric:tabular-nums;color:var(--ember-red);white-space:nowrap}
.price-note{font-family:var(--ff-meta);font-size:0.8rem;color:rgba(38,34,29,0.55)}

/* ============ REVIEWS (shared index + story) ============ */
.review{background-color:var(--deli-cream);border-left:3px solid var(--ember-red);border-radius:3px;padding:clamp(24px,3vw,34px);display:flex;flex-direction:column;gap:1rem}
.review .q{font-family:var(--ff-body);font-size:1.08rem;line-height:1.5;color:var(--roast)}
.review .src{font-family:var(--ff-meta);font-size:0.78rem;letter-spacing:0.08em;text-transform:uppercase;color:rgba(38,34,29,0.55);margin-top:auto}
.review .stars{color:var(--flame-gold);letter-spacing:2px;font-size:0.95rem}
.rating-row{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;font-family:var(--ff-meta);font-size:0.86rem}
.rating-row span{display:inline-flex;align-items:center;gap:.45rem;color:var(--roast)}
.ground-night .rating-row span{color:rgba(244,238,227,0.85)}
.rating-row b{color:var(--ember-red);font-weight:700}
.rating-row .stars{color:var(--flame-gold);letter-spacing:1px}

/* ============ VISIT (shared index + visit) ============ */
.visit-info{display:flex;flex-direction:column;gap:1.1rem}
.visit-info .vrow{display:flex;gap:.8rem;align-items:flex-start}
.visit-info .vrow svg{width:18px;height:18px;flex:none;color:var(--ember-red);margin-top:3px}
.visit-info .vlabel{font-family:var(--ff-meta);font-weight:600;font-size:0.74rem;letter-spacing:0.1em;text-transform:uppercase;color:rgba(38,34,29,0.5)}
.visit-info .vval{font-size:1rem;line-height:1.45}
.map-frame{border-radius:5px;overflow:hidden;border:1px solid var(--cream-line);box-shadow:0 16px 40px rgba(0,0,0,0.12);min-height:320px}
.map-frame iframe{width:100%;height:100%;min-height:320px;border:0;display:block;filter:saturate(0.9)}

/* ============ FOOTER ============ */
.site-footer{background-color:var(--ember-charcoal);color:var(--deli-cream);padding-top:clamp(56px,7vw,80px)}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1.2fr 1.3fr 1.3fr;gap:clamp(28px,3.5vw,48px)}
.fcol h4{font-family:var(--ff-meta);font-weight:600;font-size:0.74rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--flame-orange);margin-bottom:1.1rem}
.fcol .wordmark{margin-bottom:1rem}
.fcol p,.fcol a,.fcol li{font-size:0.92rem;color:rgba(244,238,227,0.78);line-height:1.65}
.fcol ul{list-style:none;display:flex;flex-direction:column;gap:.5rem}
.fcol a{transition:color .2s ease}
.fcol a:hover{color:var(--flame-orange)}
.f-tagline{font-family:var(--ff-body);font-size:0.95rem;color:rgba(244,238,227,0.7);max-width:30ch}
.f-hours{display:flex;flex-direction:column;gap:.4rem}
.f-hours .hr{display:flex;justify-content:space-between;gap:1rem;font-family:var(--ff-meta);font-size:0.86rem;border-bottom:1px solid var(--night-line);padding-bottom:.35rem}
.f-hours .hr .d{color:rgba(244,238,227,0.6)}
.f-hours .hr .t{color:var(--deli-cream);font-variant-numeric:tabular-nums}
.f-status{margin-top:.9rem}
.f-week{background:rgba(244,238,227,0.05);border:1px solid var(--night-line);border-radius:5px;padding:18px}
.f-week p{font-size:0.88rem;margin-bottom:.9rem}
.f-week .wk-cta{display:flex;flex-direction:column;gap:.5rem}
.f-week .wk-cta a{font-family:var(--ff-meta);font-weight:600;font-size:0.84rem;color:var(--flame-orange);display:inline-flex;align-items:center;gap:.4rem}
.f-social{display:flex;gap:.7rem;margin-top:.4rem}
.f-social a{width:34px;height:34px;border:1px solid var(--night-line);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:border-color .2s ease,background-color .2s ease}
.f-social a:hover{border-color:var(--ember-red);background:rgba(201,71,47,0.12)}
.f-social svg{width:16px;height:16px;color:var(--deli-cream)}
.footer-legal{border-top:1px solid var(--night-line);margin-top:clamp(40px,5vw,56px);padding:1.5rem 0;display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:center;justify-content:space-between}
.footer-legal p{font-family:var(--ff-meta);font-size:0.78rem;color:rgba(244,238,227,0.5)}
.footer-legal a{color:rgba(244,238,227,0.7)}
.footer-legal a:hover{color:var(--flame-orange)}
.attrib{font-family:var(--ff-meta);font-size:0.72rem;color:rgba(244,238,227,0.38)}

/* ============ STICKY MOBILE BAR ============ */
.mobile-bar{
  position:fixed;left:0;right:0;bottom:0;z-index:990;display:none;
  background-color:var(--ember-charcoal);border-top:1px solid var(--ember-red);
  padding:.6rem calc(.9rem + env(safe-area-inset-right,0px)) calc(.6rem + env(safe-area-inset-bottom,0px)) calc(.9rem + env(safe-area-inset-left,0px));
  gap:.7rem;transition:transform .3s ease;
}
.mobile-bar a{flex:1;justify-content:center;font-size:0.9rem;padding:.8rem}
.mobile-bar.hide{transform:translateY(120%)}

/* ============ SCROLL REVEAL ============ */
.reveal{opacity:0;transform:translateY(14px)}
.reveal.in{opacity:1;transform:none;transition:opacity .5s ease,transform .5s ease}
.reveal.s1{transition-delay:.06s} .reveal.s2{transition-delay:.1s} .reveal.s3{transition-delay:.14s}
@media (prefers-reduced-motion:reduce){ .reveal{opacity:1;transform:none;transition:none} }

@supports (animation-timeline: view()){
  @media (prefers-reduced-motion:no-preference){
    .anim-rise{animation:riseIn linear both;animation-timeline:view();animation-range:entry 0% cover 26%}
    @keyframes riseIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
  }
}

/* ============ RESPONSIVE (shared) ============ */
@media (max-width:980px){
  .footer-grid{grid-template-columns:1fr 1fr;gap:32px}
}
@media (max-width:768px){
  .nav-links{display:none}
  .nav-call .label{display:none}
  .hamburger{display:flex}
  .nav-status{display:none}
  .mobile-bar{display:flex}
}
@media (max-width:480px){
  .footer-grid{grid-template-columns:1fr}
}
