/* ================================================================
   Vattenhålet — main.css  (complete, mobile-first)
   ================================================================ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --green:#1b6b35;--green-d:#134f27;--green-l:#eef7f1;
  --red:#8b1a1a;--gold:#d4a017;--gold-l:#f2c94c;
  --dark:#111111;--dark-2:#1c1c1c;--dark-3:#252525;
  --cream:#faf8f5;--cream-2:#f3f0ea;
  --text:#1e1e1e;--text-2:#666;--border:#e2ddd6;--white:#ffffff;
  --r-sm:5px;--r:10px;--r-lg:16px;
  --sh-sm:0 2px 8px rgba(0,0,0,.07);--sh:0 4px 20px rgba(0,0,0,.10);--sh-lg:0 12px 40px rgba(0,0,0,.18);
  --serif:'Georgia','Times New Roman',serif;
  --sans:system-ui,-apple-system,'Segoe UI',sans-serif;
  --ease:.22s ease;--nav-h:68px;
}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--text);background:var(--cream);line-height:1.65;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--green);text-decoration:none;transition:color var(--ease)}
a:hover{color:var(--green-d)}
ul,ol{list-style:none}
button{cursor:pointer;font:inherit;border:none;background:none}

/* ── Layout ─────────────────────────────────────────── */
.container{width:100%;max-width:1180px;margin:0 auto;padding:0 1.5rem}
.sec{padding:5rem 0}
.sec-sm{padding:3rem 0}
.eyebrow{display:inline-flex;align-items:center;gap:.45rem;font-size:.72rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--green);background:var(--green-l);border:1px solid rgba(27,107,53,.2);padding:.32rem .9rem;border-radius:50px;margin-bottom:1rem}
.sec-title{font-family:var(--serif);font-size:clamp(1.75rem,3.8vw,2.6rem);color:var(--dark);line-height:1.15;margin-bottom:.5rem}
.sec-title em{font-style:normal;color:var(--green)}
.sec-title .gd{color:var(--gold)}
.rule{width:44px;height:3px;background:var(--gold);border-radius:2px;margin:.75rem 0 1.25rem}
.rule.c{margin-left:auto;margin-right:auto}
.sec-sub{color:var(--text-2);font-size:.97rem;max-width:520px;margin:0 auto}

/* ── Buttons ─────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.72rem 1.65rem;border-radius:4px;font-weight:700;font-size:.88rem;letter-spacing:.04em;border:2px solid transparent;transition:all var(--ease);white-space:nowrap}
.btn-gold{background:var(--gold);color:var(--dark);border-color:var(--gold)}
.btn-gold:hover{background:var(--gold-l);color:var(--dark)}
.btn-green{background:var(--green);color:var(--white);border-color:var(--green)}
.btn-green:hover{background:var(--green-d);color:var(--white)}
.btn-white{background:var(--white);color:var(--dark);border-color:var(--white)}
.btn-white:hover{background:transparent;color:var(--white)}
.btn-outline{background:transparent;color:var(--white);border-color:rgba(255,255,255,.55)}
.btn-outline:hover{background:var(--white);color:var(--dark)}

/* ── Notice / HH bars ───────────────────────────────── */
.notice-bar{background:var(--gold);color:var(--dark);text-align:center;padding:.5rem 1rem;font-weight:700;font-size:.84rem}
.hh-bar{background:var(--red);color:var(--white);padding:.6rem 0}
.hh-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.6rem;font-size:.86rem}
.hh-badge{background:var(--gold);color:var(--dark);font-weight:800;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;padding:.22rem .65rem;border-radius:50px}
.hh-text{font-weight:600;display:flex;flex-wrap:wrap;gap:.25rem .75rem;align-items:center}
.hh-meta{opacity:.75;font-size:.8rem}

/* ── Navbar ──────────────────────────────────────────── */
.navbar{position:sticky;top:0;z-index:900;background:var(--dark);height:var(--nav-h);box-shadow:0 2px 20px rgba(0,0,0,.45)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:var(--nav-h)}
.nav-brand{display:flex;align-items:center;gap:.6rem}
.nav-brand img{height:42px;width:42px;border-radius:50%;object-fit:cover}
.brand-text{display:flex;flex-direction:column;line-height:1.1}
.brand-name{font-family:var(--serif);font-size:.97rem;color:var(--white);font-weight:700}
.brand-sub{font-size:.64rem;color:var(--gold);letter-spacing:.07em;text-transform:uppercase}
.nav-links{display:none;align-items:center;gap:.05rem}
.nav-links a{color:rgba(255,255,255,.7);padding:.42rem .78rem;border-radius:var(--r-sm);font-size:.86rem;font-weight:600;transition:all var(--ease)}
.nav-links a:hover,.nav-links a.active{color:var(--white);background:rgba(255,255,255,.09)}
.nav-cta{background:var(--gold)!important;color:var(--dark)!important;border-radius:4px!important;display:inline-flex!important;align-items:center;gap:.38rem;margin-left:.4rem;font-weight:700!important;padding:.4rem 1rem!important}
.nav-cta:hover{background:var(--gold-l)!important}
.hamburger{display:flex;flex-direction:column;gap:5px;padding:.4rem}
.hamburger span{display:block;width:22px;height:2px;background:var(--white);border-radius:2px;transition:all var(--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)}
@media(min-width:860px){.nav-links{display:flex}.hamburger{display:none}}
.mobile-menu{display:none;position:fixed;inset:var(--nav-h) 0 0 0;background:var(--dark-2);z-index:800;overflow-y:auto;padding:.5rem 0}
.mobile-menu.open{display:block}
.mobile-menu nav a{display:block;padding:.9rem 1.5rem;color:rgba(255,255,255,.78);font-size:1rem;font-weight:600;border-bottom:1px solid rgba(255,255,255,.05);transition:all var(--ease)}
.mobile-menu nav a:hover{color:var(--white);background:var(--green)}
.mobile-menu .mm-cta{margin:1rem 1.5rem 0;text-align:center;background:var(--gold);color:var(--dark)!important;border-radius:4px;padding:.8rem!important;font-weight:700;display:block}

/* ══ HERO SLIDER ════════════════════════════════════════ */
.hero-slider{position:relative;width:100%;height:90vh;min-height:520px;max-height:920px;overflow:hidden;background:var(--dark)}
.slide{position:absolute;inset:0;display:flex;align-items:center;opacity:0;visibility:hidden;transition:opacity .75s ease,visibility .75s ease;pointer-events:none;z-index:0}
.slide.active{opacity:1;visibility:visible;pointer-events:auto;z-index:1}
.slide-bg{position:absolute;inset:0;background-size:cover;background-position:center;background-color:#0d1a0f}
.slide-overlay{position:absolute;inset:0}
.slide-content{position:relative;z-index:2;display:flex;align-items:center;gap:2.5rem;width:100%;max-width:1180px;margin:0 auto;padding:0 1.5rem}
@media(max-width:639px){
  .slide-content{flex-direction:column;justify-content:center;gap:1.25rem;padding-top:1rem}
  .slide-text{order:1;text-align:left}
  .slide-float{order:2;width:clamp(100px,45vw,180px);align-self:flex-end;margin-top:-1rem}
  .slide-title{font-size:clamp(1.7rem,8vw,2.8rem)}
  .slide-subtitle{font-size:.9rem;margin-bottom:1.25rem}
}
.slide-text{flex:1;min-width:0}
.slide-eyebrow{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--gold);border:1px solid rgba(212,160,23,.45);padding:.28rem .8rem;border-radius:3px;margin-bottom:1.1rem}
.slide-title{font-family:var(--serif);font-size:clamp(2.2rem,6vw,4.2rem);color:var(--white);line-height:1.05;margin-bottom:1rem;text-shadow:0 2px 20px rgba(0,0,0,.4)}
.slide-subtitle{font-size:clamp(.92rem,1.6vw,1.05rem);color:rgba(255,255,255,.72);margin-bottom:2rem;max-width:460px;line-height:1.65}
.slide-actions{display:flex;gap:.75rem;flex-wrap:wrap}
.slide-float{flex-shrink:0;width:clamp(110px,22vw,300px);filter:drop-shadow(0 20px 50px rgba(0,0,0,.55));animation:floatAnim 4s ease-in-out infinite;display:block}
@keyframes floatAnim{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
.slider-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:10;width:46px;height:46px;border-radius:50%;background:rgba(0,0,0,.38);border:1px solid rgba(255,255,255,.18);color:var(--white);display:flex;align-items:center;justify-content:center;transition:all var(--ease);backdrop-filter:blur(4px)}
.slider-arrow:hover{background:var(--green);border-color:var(--green)}
.slider-prev{left:1.25rem}
.slider-next{right:1.25rem}
.slider-controls{position:absolute;bottom:1.5rem;left:50%;transform:translateX(-50%);z-index:10;display:flex;align-items:center;gap:.5rem}
.slider-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.35);border:none;padding:0;transition:all var(--ease)}
.slider-dot.active{background:var(--gold);width:24px;border-radius:4px}

/* ══ EVENT BANNERS ══════════════════════════════════════ */
.event-banner{position:relative;overflow:hidden;padding:5rem 0}
.banner-bg{position:absolute;inset:0;background-size:cover;background-position:center}
.banner-overlay{position:absolute;inset:0}
.banner-split{position:relative;z-index:2;display:grid;grid-template-columns:1fr;gap:3rem;align-items:center;max-width:1180px;margin:0 auto;padding:0 1.5rem}
@media(min-width:760px){.banner-split{grid-template-columns:1fr 1fr}}
.banner-freq{font-size:.7rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;margin-bottom:.7rem}
.banner-title{font-family:var(--serif);font-size:clamp(1.9rem,4vw,2.9rem);line-height:1.08;margin-bottom:.8rem}
.banner-subtitle{font-size:1.05rem;margin-bottom:.85rem}
.banner-body{font-size:.93rem;line-height:1.72;margin-bottom:2rem;max-width:480px}
.banner-visual-side{display:flex;align-items:center;justify-content:center}
.banner-icon-box{width:160px;height:160px;border-radius:var(--r-lg);border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.07);display:flex;align-items:center;justify-content:center;backdrop-filter:blur(8px);flex-shrink:0}
.banner-icon-box svg{width:64px;height:64px;flex-shrink:0}
.banner-float-img{width:clamp(140px,18vw,260px);filter:drop-shadow(0 16px 40px rgba(0,0,0,.5));animation:floatAnim 4s ease-in-out infinite}

/* ══ OPENING HOURS WIDGET ═══════════════════════════════ */
.hours-widget{display:flex;flex-direction:column;gap:.4rem}
.hour-row{display:flex;align-items:center;justify-content:space-between;padding:.6rem .85rem;border-radius:var(--r-sm);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.07);font-size:.88rem;flex-wrap:nowrap}
.hour-row.today{background:rgba(27,107,53,.18);border-color:var(--green);font-weight:700}
.day-label{color:rgba(255,255,255,.6);white-space:nowrap;min-width:110px}
.hour-row.today .day-label{color:rgba(255,255,255,.9)}
.hour-time{font-weight:700;display:flex;align-items:center;gap:.35rem;white-space:nowrap;flex-wrap:nowrap}
.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;flex-shrink:0}
.status-dot.open{background:#4ade80;box-shadow:0 0 5px #4ade80}
.status-dot.closed{background:#f87171}
.open-label{color:#4ade80;font-size:.72rem;font-weight:700}
.closed-label{color:#f87171;font-size:.72rem;font-weight:700}
.lunch-chip{background:rgba(27,107,53,.15);border:1px solid rgba(27,107,53,.3);border-radius:var(--r-sm);padding:.55rem .85rem;font-size:.8rem;color:rgba(255,255,255,.65);margin-top:.5rem}

/* ══ MENU HERO ═══════════════════════════════════════════ */
.menu-hero{background:var(--dark);padding:4.5rem 0 3.5rem;text-align:center;position:relative;overflow:hidden}
.menu-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 25% 50%,rgba(27,107,53,.28) 0%,transparent 55%),radial-gradient(circle at 75% 50%,rgba(139,26,26,.18) 0%,transparent 55%)}
.menu-hero .container{position:relative;z-index:1}
.menu-hero .sec-title{color:var(--white)}
.menu-hero .eyebrow{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14);color:rgba(255,255,255,.8)}

/* ══ PIZZA MENU ══════════════════════════════════════════ */
.menu-tabs-bar{position:sticky;top:var(--nav-h);z-index:100;background:var(--dark);border-bottom:none;overflow-x:auto;scrollbar-width:none;padding:.75rem 0}
.menu-tabs-bar::-webkit-scrollbar{display:none}
.menu-tabs{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.5rem;min-width:max-content;padding:0 1.5rem;margin:0 auto;max-width:1180px}
/* Each tab: pill shape */
.menu-tab{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;
  padding:.5rem .9rem;min-width:72px;
  background:rgba(255,255,255,.08);
  border:1.5px solid rgba(255,255,255,.15);
  border-radius:50px;
  font-size:.78rem;font-weight:600;color:rgba(255,255,255,.7);
  cursor:pointer;transition:all var(--ease);white-space:nowrap;
}
.menu-tab:hover{background:rgba(255,255,255,.15);color:var(--white);border-color:rgba(255,255,255,.3)}
.menu-tab.active{background:var(--green);color:var(--white);border-color:var(--green);box-shadow:0 2px 12px rgba(27,107,53,.4)}
/* "Alla" tab special style */
.menu-tab.tab-all{background:rgba(212,160,23,.15);border-color:var(--gold);color:var(--gold)}
.menu-tab.tab-all:hover{background:var(--gold);color:var(--dark)}
.menu-tab.tab-all.active{background:var(--gold);color:var(--dark);border-color:var(--gold);box-shadow:0 2px 12px rgba(212,160,23,.4)}
/* Tab images */
.tab-img{width:30px;height:30px;border-radius:50%;object-fit:cover;border:1.5px solid rgba(255,255,255,.3);transition:border-color var(--ease)}
.menu-tab.active .tab-img{border-color:rgba(255,255,255,.8)}
.tab-icon{width:22px;height:22px;opacity:.55;transition:opacity var(--ease)}
.menu-tab.active .tab-icon,.menu-tab:hover .tab-icon{opacity:1}
.menu-cat-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;gap:1rem}
.menu-cat-name{font-family:var(--serif);font-size:1.35rem;color:var(--dark)}
.menu-cat-price{display:inline-block;background:var(--green-l);color:var(--green);font-size:.78rem;font-weight:700;padding:.18rem .6rem;border-radius:50px}
.menu-grid{display:grid;grid-template-columns:1fr;gap:.5rem}
@media(min-width:600px){.menu-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1000px){.menu-grid{grid-template-columns:1fr 1fr 1fr}}
.menu-section-block{padding:1.75rem 0;border-bottom:1px solid var(--border)}
.menu-section-block:last-child{border-bottom:none}
.menu-card{display:flex;align-items:flex-start;justify-content:space-between;gap:.7rem;padding:.85rem 1rem;background:var(--white);border:1px solid var(--border);border-radius:var(--r);transition:all var(--ease)}
.menu-card:hover{border-color:var(--green);box-shadow:var(--sh-sm)}
.mc-left{display:flex;gap:.55rem;flex:1;align-items:flex-start}
.mc-num{flex-shrink:0;width:22px;height:22px;border-radius:50%;background:var(--green);color:var(--white);font-size:.65rem;font-weight:800;display:flex;align-items:center;justify-content:center;margin-top:.15rem}
.mc-name{font-weight:700;font-size:.92rem;color:var(--text)}
.mc-desc{font-size:.76rem;color:var(--text-2);margin-top:.1rem}
.mc-price{flex-shrink:0;font-weight:800;color:var(--green);font-size:.92rem;white-space:nowrap}
.mc-price small{font-size:.66rem;color:var(--text-2);font-weight:400;display:block;text-align:right}
.menu-extras-note{background:var(--green-l);border:1.5px solid rgba(27,107,53,.25);border-radius:var(--r);padding:1.1rem 1.25rem;margin-top:2rem;font-size:.85rem;color:var(--text)}
.menu-extras-note table{width:100%;border-collapse:collapse}
.menu-extras-note td{padding:.22rem 0;vertical-align:top}
.menu-extras-note td:first-child{color:var(--text-2);padding-right:1rem}
.menu-extras-note td:last-child{font-weight:700;color:var(--green);text-align:right;white-space:nowrap}
.menu-extras-note .note-footer{margin-top:.65rem;padding-top:.65rem;border-top:1px solid rgba(27,107,53,.2);font-size:.8rem;color:var(--text-2)}

/* ══ DRINKS MENU ═════════════════════════════════════════ */
.drinks-page{background:var(--cream)}
.drinks-cat-block{margin-bottom:3.5rem}
.drinks-cat-block:last-child{margin-bottom:0}

/* Green banner — same as pizza category header image strip */
.dcb-banner{position:relative;background:var(--green);border-radius:var(--r-lg) var(--r-lg) 0 0;min-height:72px;display:flex;align-items:center;justify-content:space-between;padding:1rem 1.75rem;overflow:visible}
.dcb-title{font-family:var(--serif);font-size:clamp(1.1rem,2vw,1.45rem);color:var(--white);font-weight:700}
.dcb-visual{flex-shrink:0;display:flex;align-items:flex-end}
.dcb-img{width:clamp(75px,9vw,120px);height:auto;object-fit:contain;margin-top:-35px;margin-bottom:-4px;filter:drop-shadow(0 -4px 14px rgba(0,0,0,.3));animation:floatAnim 4s ease-in-out infinite}
.dcb-svg-icon{width:44px;height:44px;color:rgba(255,255,255,.6)}
.dcb-svg-icon svg{width:100%;height:100%}

/* Items grid: white, directly below banner, same cards as pizza */
.drinks-items-grid{background:var(--white);border-radius:0 0 var(--r-lg) var(--r-lg);border:1px solid var(--border);border-top:none;padding:1rem 1.1rem 1.25rem;display:grid;grid-template-columns:1fr;gap:.45rem}
@media(min-width:600px){.drinks-items-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1000px){.drinks-items-grid{grid-template-columns:1fr 1fr 1fr}}
.drink-item{display:flex;align-items:flex-start;justify-content:space-between;gap:.7rem;padding:.85rem 1rem;background:var(--green-l);border:1.5px solid rgba(27,107,53,.15);border-radius:var(--r);transition:all var(--ease)}
.drink-item:hover{border-color:var(--green);box-shadow:var(--sh-sm);transform:translateY(-1px)}
.drink-item-name{font-weight:700;font-size:.92rem;color:var(--text)}
.drink-item-desc{font-size:.76rem;color:var(--text-2);margin-top:.1rem}
.drink-item-price{flex-shrink:0;font-weight:800;color:var(--green);font-size:.92rem;white-space:nowrap;text-align:right}
.drink-item-price small{font-size:.66rem;color:var(--text-2);font-weight:400;display:block}

/* ══ EVENTS PAGE ══════════════════════════════════════════ */
.event-cards-grid{display:grid;grid-template-columns:1fr;gap:1.1rem}
@media(min-width:560px){.event-cards-grid{grid-template-columns:1fr 1fr}}
@media(min-width:860px){.event-cards-grid{grid-template-columns:1fr 1fr 1fr}}
.ev-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;transition:all var(--ease)}
.ev-card:hover{box-shadow:var(--sh);transform:translateY(-3px)}
.ev-card-top{background:var(--green);color:var(--white);padding:.9rem 1.2rem;display:flex;justify-content:space-between;align-items:center}
.ev-day{font-size:1.75rem;font-weight:800;line-height:1}
.ev-month{font-size:.68rem;letter-spacing:.07em;text-transform:uppercase;opacity:.8}
.ev-type-badge{font-size:.68rem;font-weight:700;text-transform:uppercase;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);padding:.22rem .58rem;border-radius:3px}
.ev-card-body{padding:1rem 1.2rem}
.ev-title{font-size:.96rem;font-weight:700;margin-bottom:.28rem}
.ev-desc{font-size:.8rem;color:var(--text-2)}
.ev-time{font-size:.78rem;color:var(--green);font-weight:700;margin-top:.4rem;display:flex;align-items:center;gap:.28rem}

/* ══ CONTACT PAGE ═════════════════════════════════════════ */
.contact-layout{display:grid;grid-template-columns:1fr;gap:2.5rem}
@media(min-width:860px){.contact-layout{grid-template-columns:1fr 1fr}}
.contact-dark{background:var(--dark-2);color:var(--white);border-radius:var(--r-lg);padding:2rem}
.contact-dark h3{font-family:var(--serif);font-size:1.05rem;color:var(--gold);margin-bottom:1.2rem;padding-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.08)}
.info-item{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.9rem}
.info-icon{width:34px;height:34px;flex-shrink:0;background:rgba(255,255,255,.07);border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center}
.info-icon svg{width:15px;height:15px;stroke:var(--gold)}
.info-label{font-size:.7rem;color:rgba(255,255,255,.38);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.08rem}
.info-val{color:rgba(255,255,255,.82);font-size:.92rem}
.info-val a{color:rgba(255,255,255,.82)}
.info-val a:hover{color:var(--gold)}
.hours-section-title{font-family:var(--serif);font-size:1rem;color:var(--gold);margin:1.5rem 0 .9rem;display:flex;align-items:center;gap:.45rem}
.social-row{display:flex;gap:.5rem;margin-top:1.1rem}
.social-btn{width:36px;height:36px;border-radius:var(--r-sm);background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.65);display:flex;align-items:center;justify-content:center;transition:all var(--ease)}
.social-btn:hover{background:var(--green);border-color:var(--green);color:var(--white)}
.social-btn svg{width:15px;height:15px}
.contact-form-wrap{background:var(--white);border-radius:var(--r-lg);padding:2rem;box-shadow:var(--sh)}
.contact-form-wrap h3{font-family:var(--serif);font-size:1.25rem;margin-bottom:1.4rem;color:var(--dark)}
.form-group{margin-bottom:.9rem}
.form-group label{display:block;font-size:.79rem;font-weight:600;color:var(--text-2);margin-bottom:.3rem}
.form-group input,.form-group textarea,.form-group select{width:100%;padding:.65rem .85rem;border:1.5px solid var(--border);border-radius:var(--r-sm);font:inherit;font-size:.91rem;color:var(--text);background:var(--white);transition:border var(--ease)}
.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--green)}
.form-group textarea{resize:vertical;min-height:105px}
.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
@media(max-width:480px){.form-row-2{grid-template-columns:1fr}}
.form-feedback{padding:.7rem .95rem;border-radius:var(--r-sm);font-size:.85rem;margin-bottom:.9rem;display:none}
.form-feedback.ok{display:block;background:#d1fae5;border:1px solid #6ee7b7;color:#065f46}
.form-feedback.err{display:block;background:#fee2e2;border:1px solid #fca5a5;color:#7f1d1d}

/* ══ FOOTER (DARK) ════════════════════════════════════════ */
.site-footer{background:var(--dark);color:rgba(255,255,255,.55);padding:4rem 0 0}
.footer-grid{display:grid;grid-template-columns:1fr;gap:2.25rem;padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,.07)}
@media(min-width:560px){.footer-grid{grid-template-columns:1fr 1fr}}
@media(min-width:900px){.footer-grid{grid-template-columns:1.5fr 1fr 1.2fr 1.2fr}}
.footer-brand img{border-radius:50%;margin-bottom:.8rem}
.footer-brand p{font-size:.86rem;line-height:1.6;max-width:210px;color:rgba(255,255,255,.55)}
.footer-social{display:flex;gap:.45rem;margin-top:.9rem}
.footer-social a{width:34px;height:34px;border-radius:var(--r-sm);background:rgba(255,255,255,.07);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.55);transition:all var(--ease)}
.footer-social a:hover{background:var(--green);color:var(--white)}
.footer-social svg{width:15px;height:15px}
.footer-nav h4,.footer-contact h4,.footer-hours h4{color:var(--white);font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;margin-bottom:.8rem}
.footer-nav a{display:block;font-size:.86rem;color:rgba(255,255,255,.5);margin-bottom:.42rem;transition:color var(--ease)}
.footer-nav a:hover{color:var(--gold)}
.footer-contact p,.footer-contact a{display:block;font-size:.86rem;color:rgba(255,255,255,.5);margin-bottom:.42rem;transition:color var(--ease)}
.footer-contact a:hover{color:var(--gold)}

/* Footer hours — compact, no wrap */
#footer-hours-list .hour-row{background:transparent;border:none;padding:.22rem 0;border-radius:0;flex-wrap:nowrap}
#footer-hours-list .day-label{color:rgba(255,255,255,.45);white-space:nowrap;min-width:64px;font-size:.82rem}
#footer-hours-list .hour-time{color:rgba(255,255,255,.75);font-size:.82rem;white-space:nowrap;flex-wrap:nowrap;gap:.3rem;font-weight:700}
#footer-hours-list .lunch-chip{display:none}

.footer-bottom{padding:1.1rem 0;font-size:.78rem;text-align:center;color:rgba(255,255,255,.35)}
.footer-bottom a{color:rgba(255,255,255,.35)}
.footer-bottom a:hover{color:var(--gold)}
.footer-bottom .nordigate{color:var(--gold)}
.footer-bottom .nordigate:hover{color:var(--gold-l)}

/* ══ PIZZA TABS: GRID ON MOBILE ════════════════════════════ */
/* Mobile: show dropdown wrapper, hide pill tabs */
@media(max-width:699px){
  .menu-tabs-bar{padding:.6rem 1rem}
  .menu-tabs{display:none}
  .menu-cat-select-wrap{
    position:relative;display:block;
  }
  .menu-cat-select-wrap::after{
    content:'';
    position:absolute;right:1rem;top:50%;transform:translateY(-50%);
    width:0;height:0;
    border-left:5px solid transparent;
    border-right:5px solid transparent;
    border-top:6px solid var(--gold);
    pointer-events:none;
  }
  .menu-cat-select{
    display:block;width:100%;
    padding:.78rem 3rem .78rem 1rem;
    font:inherit;font-size:.95rem;font-weight:700;
    color:var(--white);
    background:linear-gradient(135deg,var(--green),var(--green-d));
    border:2px solid var(--gold);
    border-radius:8px;
    appearance:none;-webkit-appearance:none;
    cursor:pointer;
  }
  .menu-cat-select:focus{outline:none;border-color:var(--gold-l);box-shadow:0 0 0 3px rgba(212,160,23,.2)}
  .menu-cat-select option{background:var(--dark);color:var(--white);font-weight:600}
}
@media(min-width:700px){
  .menu-cat-select,.menu-cat-select-wrap{display:none}
}

/* ══ MISC ══════════════════════════════════════════════════ */
[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .5s ease,transform .5s ease}
[data-reveal].visible{opacity:1;transform:none}
.msg-badge{display:inline-flex;align-items:center;justify-content:center;background:var(--red);color:#fff;font-size:.62rem;font-weight:800;width:17px;height:17px;border-radius:50%;margin-left:.3rem;flex-shrink:0}

/* ── Coming Soon ──────────────────────────────────────── */
.cs-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--dark);background-image:radial-gradient(circle at 20% 50%,rgba(27,107,53,.25) 0%,transparent 50%),radial-gradient(circle at 80% 50%,rgba(139,26,26,.15) 0%,transparent 50%);padding:2rem}
.cs-card{text-align:center;max-width:540px;width:100%}
.cs-logo{width:90px;height:90px;border-radius:50%;margin:0 auto 1.5rem}
.cs-title{font-family:var(--serif);font-size:clamp(2rem,6vw,3.2rem);color:var(--white);margin-bottom:.75rem;line-height:1.1}
.cs-title em{font-style:normal;color:var(--gold)}
.cs-sub{font-size:1rem;color:rgba(255,255,255,.6);margin-bottom:2.5rem;line-height:1.65}
.cs-divider{width:48px;height:3px;background:var(--gold);border-radius:2px;margin:1.25rem auto}
.cs-contact{display:flex;flex-direction:column;gap:.5rem;align-items:center}
.cs-contact a{color:rgba(255,255,255,.65);font-size:.9rem;transition:color var(--ease)}
.cs-contact a:hover{color:var(--gold)}
.cs-admin{position:fixed;bottom:1rem;right:1rem;font-size:.72rem}
.cs-admin a{color:rgba(255,255,255,.2)}
.cs-admin a:hover{color:rgba(255,255,255,.5)}
::-webkit-scrollbar{width:5px}
::-webkit-scrollbar-track{background:var(--dark)}
::-webkit-scrollbar-thumb{background:var(--green);border-radius:3px}

/* Reduce top gap on menu page after the dark tab bar */
.menu-hero + .menu-tabs-bar + .container.sec,
#menu-content { padding-top: 2rem; }

/* HH bar rich content */
.hh-text ul{display:flex;flex-wrap:wrap;gap:.2rem .75rem;padding:0;margin:0;list-style:none}
.hh-text li{display:flex;align-items:center;gap:.3rem;white-space:nowrap}
.hh-text li::before{content:'•';color:var(--gold);font-size:.7rem}
.hh-text strong{font-weight:800}

/* ── Quill HTML rendering in banners/slides ────────────── */
/* Allow Quill color spans to show - inherit parent color by default */
.banner-body span[style],.banner-subtitle span[style],
.banner-body strong,.banner-body em,
.banner-subtitle strong,.banner-subtitle em { color:inherit }
/* But let explicit color attributes override */
.banner-body [style*="color"],.banner-subtitle [style*="color"] { color:revert }

/* Banner list styling */
.banner-body ul,.banner-subtitle ul { padding-left:1.25rem;margin:.4rem 0 }
.banner-body li,.banner-subtitle li { margin:.2rem 0;list-style:disc }
.banner-body p { margin:.3rem 0 }
.banner-body p:first-child { margin-top:0 }

/* Slide subtitle HTML */
.slide-subtitle span[style] { color:inherit }
.slide-subtitle [style*="color"] { color:revert }

/* HH bar Quill content */
.hh-text p { display:inline }
.hh-text [style*="color"] { color:revert }
.hh-text ul { padding-left:1rem }
.hh-text li { list-style:none;display:inline-block;margin:0 .6rem 0 0 }
.hh-text li::before { content:'• ';color:var(--gold) }
