/* IE Rest — design system. Mobile first; gutters never collapse to 0. */
@font-face{font-family:Inter;src:url(/assets/fonts/inter.woff2) format("woff2");font-weight:400 700;font-display:swap}
@font-face{font-family:Fraunces;src:url(/assets/fonts/fraunces.woff2) format("woff2");font-weight:600 800;font-display:swap}

:root{
  --brand:#0a4d3c;--brand-2:#0e6b53;--brand-soft:#e7f2ed;--accent:#f4b740;--accent-2:#e59f1c;
  --ink:#10231c;--ink-2:#3d4f48;--muted:#6b7a74;--line:#e3e8e5;--bg:#faf9f6;--card:#fff;--tint:#f2f5f2;
  --ok:#15803d;--ok-bg:#e7f6ec;--bad:#b42318;--bad-bg:#fdecea;--warn:#a15c07;--warn-bg:#fdf3e1;
  --r:14px;--r-sm:9px;--sh:0 1px 2px rgba(16,35,28,.06),0 6px 20px rgba(16,35,28,.06);--sh-lg:0 10px 40px rgba(16,35,28,.14);
  --gutter:clamp(16px,4vw,48px);--max:1280px;
  --f:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--fd:Fraunces,Georgia,"Times New Roman",serif;
  --fs:clamp(15px,.35vw + 14px,17px);
}
@media (min-width:1920px){:root{--max:1560px;--fs:18px}}
@media (min-width:2560px){:root{--max:1880px;--fs:21px}}

*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{overflow-x:clip;-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:90px}
body{overflow-x:clip;margin:0;font-family:var(--f);font-size:var(--fs);line-height:1.6;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg,iframe{max-width:100%;display:block}
img{height:auto}
a{color:var(--brand-2);text-decoration-thickness:1px;text-underline-offset:2px}
a:hover{color:var(--brand)}
h1,h2,h3{font-family:var(--fd);line-height:1.15;letter-spacing:-.01em;margin:0 0 .5em;color:var(--ink)}
h1{font-size:clamp(1.9rem,4.2vw,3.3rem);font-weight:800}
h2{font-size:clamp(1.35rem,2.4vw,1.95rem);font-weight:700}
h3{font-size:1.1rem;font-family:var(--f);font-weight:650;letter-spacing:0}
h1 small,h2 small{font-family:var(--f);font-size:.5em;font-weight:500;color:var(--muted);letter-spacing:0}
p{margin:0 0 1em}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}
.sr,.hp{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:8px 14px;border-radius:8px;z-index:100}
.skip:focus{left:12px}
.i{width:1.15em;height:1.15em;flex:none;display:inline-block;vertical-align:-.2em}
.fine{font-size:.82em;color:var(--muted)}
.center{text-align:center}.narrow{max-width:780px}
.hide-sm{display:none!important}
@media (min-width:760px){.hide-sm{display:revert!important}.pill.hide-sm{display:inline-flex!important}.btn.hide-sm{display:inline-flex!important}}
@media (max-width:420px){.hide-xs{display:none!important}}
@media (max-width:759px){.b-header__cta [data-nav]{display:none}.cookie{font-size:.78rem;padding:10px 12px}.cookie p{margin-bottom:8px}}

/* layout */
.wrap{width:100%;max-width:calc(var(--max) + var(--gutter)*2);margin-inline:auto;padding-inline:var(--gutter)}
.section{padding-block:clamp(40px,6vw,84px)}
.section--tight{padding-block:clamp(22px,3vw,40px)}
.section--tint{background:var(--tint)}
.section--brand{background:var(--brand-soft)}
.section__head{display:flex;gap:16px;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;margin-bottom:22px}
.section__head h2{margin:0}
.eyebrow{font-size:.78rem;font-weight:650;text-transform:uppercase;letter-spacing:.08em;color:var(--brand-2);margin:0 0 .4em}
.link-arrow{display:inline-flex;gap:6px;align-items:center;font-weight:600;text-decoration:none}
.link-arrow .i{transition:transform .2s}.link-arrow:hover .i{transform:translateX(3px)}
.grid{display:grid;gap:clamp(12px,1.6vw,22px)}
.grid--cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,265px),1fr))}
.grid--cities{grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr))}
.grid--cuisines{grid-template-columns:repeat(auto-fill,minmax(min(46%,170px),1fr))}
.layout{display:grid;gap:clamp(22px,3vw,44px);padding-block:clamp(22px,3vw,40px)}
@media (min-width:1000px){.layout{grid-template-columns:minmax(0,1fr) 320px}.layout--even{grid-template-columns:1fr 1fr}.layout--form{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}}
.layout--even,.layout--form{padding-block:0}
.block{margin-bottom:clamp(28px,4vw,48px)}
.prose p{color:var(--ink-2)}
.prose ul{padding-left:1.2em;color:var(--ink-2)}
.prose li{margin-bottom:.4em}

/* buttons, pills, chips */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border-radius:999px;border:1.5px solid transparent;font-weight:650;font-size:.95rem;line-height:1.1;text-decoration:none;cursor:pointer;transition:background .15s,transform .15s,box-shadow .15s;white-space:nowrap}
.btn:active{transform:translateY(1px)}
.btn--primary{background:var(--brand);color:#fff}.btn--primary:hover{background:var(--brand-2);color:#fff}
.btn--accent{background:var(--accent);color:#231a02}.btn--accent:hover{background:var(--accent-2);color:#231a02}
.btn--ghost{background:#fff;border-color:var(--line);color:var(--ink)}.btn--ghost:hover{border-color:var(--brand);color:var(--brand)}
.btn--ghost-light{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.5);color:#fff;backdrop-filter:blur(6px)}.btn--ghost-light:hover{background:rgba(255,255,255,.22);color:#fff}
.btn--sm{min-height:36px;padding:7px 13px;font-size:.86rem}
.btn--lg{min-height:52px;padding:14px 26px;font-size:1.02rem}
.btn--block{width:100%}
.iconbtn{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:12px;border:1px solid var(--line);background:#fff;cursor:pointer;color:var(--ink)}
.iconbtn .i{width:20px;height:20px}
.linkbtn{background:none;border:0;padding:0;color:inherit;text-decoration:underline;cursor:pointer;font-size:inherit}
.pill{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:.78rem;font-weight:650;background:var(--tint);color:var(--ink-2);white-space:nowrap}
.pill--open{background:var(--ok-bg);color:var(--ok)}.pill--open::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;animation:pulse 2s infinite}
.pill--closed{background:var(--bad-bg);color:var(--bad)}
.pill--warn{background:var(--warn-bg);color:var(--warn)}
.pill--soft{background:#fff;border:1px solid var(--line)}
@keyframes pulse{50%{opacity:.35}}
.chip{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:.88rem;font-weight:550;color:var(--ink);text-decoration:none;cursor:pointer;margin:0 6px 8px 0}
.chip:hover,.chip.is-on{border-color:var(--brand);background:var(--brand);color:#fff}
.chip--glass{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.35);color:#fff}
.chip--glass:hover{background:#fff;color:var(--brand)}
.bar{display:inline-block;width:70px;height:7px;border-radius:9px;background:var(--line);vertical-align:middle;overflow:hidden}
.bar>span{display:block;height:100%;background:var(--brand-2);border-radius:9px}

/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--line)}
.topbar{background:var(--brand);color:#dcebe4;font-size:.8rem}
.topbar__in{display:flex;align-items:center;gap:16px;justify-content:space-between;min-height:34px}
.topbar__live{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.topbar__live .dot{width:7px;height:7px;border-radius:50%;background:var(--accent);animation:pulse 2s infinite}
.topbar__msg{flex:1;text-align:center;opacity:.9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.topbar__link{color:#fff;text-decoration:none;display:inline-flex;gap:6px;align-items:center;font-weight:600;white-space:nowrap}
.nav{display:flex;align-items:center;gap:16px;min-height:68px}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);flex:none}
.brand__mark{width:40px;height:40px}
.brand__txt{display:flex;flex-direction:column;line-height:1.1}
.brand__txt strong{font-family:var(--fd);font-size:1.3rem;font-weight:800}
.brand__txt small{font-size:.7rem;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}
.brand--light{color:#fff}.brand--light small{color:#b9d3c8}
.nav__main{margin-left:auto}
.nav__main>ul{list-style:none;margin:0;padding:0;display:flex;gap:4px}
.nav__main>ul>li>a{display:block;padding:10px 14px;border-radius:10px;font-weight:600;font-size:.95rem;color:var(--ink);text-decoration:none}
.nav__main>ul>li>a:hover{background:var(--tint);color:var(--brand)}
.nav__tools{display:flex;gap:8px;align-items:center}
.has-mega{position:relative}
.mega{position:absolute;top:100%;left:50%;transform:translate(-50%,8px);background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-lg);padding:20px;width:min(860px,92vw);opacity:0;visibility:hidden;transition:.18s;z-index:60}
.mega--sm{width:min(520px,92vw)}
.has-mega:hover .mega,.has-mega:focus-within .mega{opacity:1;visibility:visible;transform:translate(-50%,0)}
.mega__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.mega__h{font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:6px}
.mega ul{list-style:none;padding:0;margin:0}
.mega li a{display:flex;justify-content:space-between;gap:8px;padding:5px 8px;border-radius:7px;color:var(--ink);text-decoration:none;font-size:.9rem}
.mega li a:hover{background:var(--tint);color:var(--brand)}
.mega li a span{color:var(--muted);font-size:.8rem}
.mega__cols{columns:2;column-gap:18px}
.mega__all{display:inline-flex;gap:6px;align-items:center;margin-top:10px;font-weight:600;text-decoration:none}
.nav__burger{display:inline-grid}
@media (max-width:1023px){
  .site-header,.b-header{backdrop-filter:none;background:#fff}
  .nav__main{position:fixed;inset:0 0 0 auto;width:min(360px,88vw);background:#fff;box-shadow:var(--sh-lg);transform:translateX(105%);transition:transform .25s;overflow-y:auto;padding:84px 20px 30px;z-index:70;margin:0}
  .nav__main.is-open{transform:none}
  .nav__main>ul{flex-direction:column}
  .mega{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:0 0 0 12px;width:auto;display:none}
  .has-mega.is-open .mega{display:block}
  .mega__grid{grid-template-columns:1fr 1fr}
  .nav__tools{margin-left:auto}
  body.nav-open::after{content:"";position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:65}
}
@media (min-width:1024px){.nav__burger{display:none}}
.searchbar{border-top:1px solid var(--line);background:#fff;padding-block:12px;position:relative}
.searchbar__form{display:flex;align-items:center;gap:10px;border:1.5px solid var(--line);border-radius:999px;padding:4px 6px 4px 16px;background:#fff}
.searchbar__form input{flex:1;border:0;outline:0;min-width:0;padding:8px 0;background:transparent}
.ac{position:absolute;left:var(--gutter);right:var(--gutter);top:calc(100% - 6px);background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-lg);z-index:80;overflow:hidden;display:none;max-width:760px}
.ac.is-open{display:block}
.ac a{display:flex;gap:12px;align-items:center;padding:10px 14px;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--line)}
.ac a:last-child{border:0}
.ac a:hover,.ac a.is-active{background:var(--tint)}
.ac img{width:44px;height:44px;border-radius:8px;object-fit:cover;flex:none}
.ac small{display:block;color:var(--muted)}

/* hero (home) */
.hero{position:relative;color:#fff;background-color:var(--brand);background-image:linear-gradient(120deg,rgba(6,40,31,.92),rgba(10,77,60,.72) 55%,rgba(10,77,60,.35)),var(--hero,none);background-size:cover;background-position:center;background-repeat:no-repeat;padding-block:clamp(48px,8vw,110px) clamp(24px,4vw,40px)}
.hero__in>*{max-width:860px}
.hero h1{color:#fff;font-size:clamp(2.2rem,6vw,4.4rem);margin-bottom:.3em}
.hero .eyebrow{color:var(--accent)}
.hero__lead{font-size:clamp(1.02rem,1.4vw,1.22rem);color:#e2efe9;max-width:640px}
.hero__search{position:relative;display:flex;align-items:center;gap:10px;background:#fff;border-radius:999px;padding:6px 6px 6px 18px;box-shadow:var(--sh-lg);max-width:680px;color:var(--ink);margin-top:22px}
.hero__search>.i{color:var(--muted)}
.hero__search input{flex:1;min-width:0;border:0;outline:0;padding:10px 0;background:transparent;font-size:1rem}
.hero__search .ac{left:0;right:0;top:calc(100% + 8px)}
.hero__search--light{border:1.5px solid var(--line);box-shadow:none;margin-inline:auto}
.hero__chips{margin-top:18px;display:flex;flex-wrap:wrap;align-items:center;gap:0}
.hero__chips>span{font-size:.85rem;color:#cfe3da;margin-right:10px;margin-bottom:8px}
.hero__stats{list-style:none;padding:0;margin:clamp(28px,4vw,48px) 0 0;display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(255,255,255,.18);border-radius:var(--r);overflow:hidden;border:1px solid rgba(255,255,255,.18)}
@media (min-width:760px){.hero__stats{grid-template-columns:repeat(5,1fr)}}
.hero__stats li{background:rgba(6,40,31,.55);padding:16px 18px;backdrop-filter:blur(6px)}
.hero__stats strong{display:block;font-family:var(--fd);font-size:clamp(1.5rem,2.6vw,2.1rem);color:#fff}
.hero__stats span{font-size:.8rem;color:#cfe3da}
.hero__stats .is-live strong{color:var(--accent)}

/* page hero */
.phero{position:relative;color:#fff;background-color:var(--brand);background-image:linear-gradient(100deg,rgba(6,40,31,.94),rgba(10,77,60,.8) 55%,rgba(10,77,60,.45)),var(--hero,none);background-size:cover;background-position:center;background-repeat:no-repeat;padding-block:clamp(26px,4vw,56px)}
.phero h1{color:#fff}
.phero .eyebrow{color:var(--accent)}
.phero__lead{color:#e2efe9;max-width:760px;font-size:1.05rem}
.phero--plain{background-image:linear-gradient(120deg,#0a4d3c,#0e6b53)}
.phero .crumbs a,.phero .crumbs span{color:#cfe3da}
.kpis{list-style:none;padding:0;margin:18px 0 0;display:flex;flex-wrap:wrap;gap:10px}
.kpis li{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:10px 16px;min-width:120px}
.kpis strong{display:block;font-family:var(--fd);font-size:1.4rem;color:#fff;line-height:1.2}
.kpis span{font-size:.78rem;color:#cfe3da}
.kpis--light li{background:#fff;border-color:var(--line)}
.kpis--light strong{color:var(--brand)}.kpis--light span{color:var(--muted)}

/* breadcrumbs */
.crumbs ol{list-style:none;padding:0;margin:0 0 14px;display:flex;flex-wrap:wrap;gap:4px;font-size:.84rem}
.crumbs li:not(:last-child)::after{content:"›";margin-left:6px;opacity:.6}
.crumbs a{color:inherit;text-decoration:none}.crumbs a:hover{text-decoration:underline}

/* city cards */
.city{position:relative;display:block;aspect-ratio:4/3;border-radius:var(--r);overflow:hidden;background:var(--brand);text-decoration:none;box-shadow:var(--sh);isolation:isolate}
.city img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.city:hover img{transform:scale(1.06)}
.city__shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(6,30,23,.88))}
.city__body{position:absolute;left:14px;right:14px;bottom:12px;color:#fff;display:flex;flex-direction:column}
.city__name{font-family:var(--fd);font-weight:700;font-size:1.2rem;line-height:1.2}
.city__meta{font-size:.8rem;color:#d7e8e0}
.city__prov{position:absolute;top:10px;left:10px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;background:rgba(255,255,255,.9);color:var(--brand);padding:3px 9px;border-radius:999px}

/* cuisine tiles */
.cuis{position:relative;display:flex;flex-direction:column;justify-content:flex-end;aspect-ratio:3/2;border-radius:var(--r);overflow:hidden;text-decoration:none;color:#fff;padding:12px 14px;background:var(--brand-2);isolation:isolate}
.cuis img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .5s}
.cuis::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.75));z-index:-1}
.cuis:hover img{transform:scale(1.06)}
.cuis__name{font-weight:700;font-size:1.05rem}
.cuis__n{font-size:.78rem;opacity:.9}

/* town cloud */
.towncloud{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr));gap:10px}
.towncloud a{display:flex;flex-direction:column;padding:12px 14px;border-radius:var(--r-sm);background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--ink);transition:.15s;height:100%}
.towncloud a:hover{border-color:var(--brand);box-shadow:var(--sh);transform:translateY(-2px)}
.towncloud span{font-size:.8rem;color:var(--muted)}
.towncloud--sm{grid-template-columns:repeat(auto-fill,minmax(min(100%,160px),1fr))}
.towncloud.center{justify-content:center;margin-top:24px}

/* restaurant card */
.card{display:flex;flex-direction:column;background:var(--card);border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);border:1px solid var(--line);transition:transform .2s,box-shadow .2s}
.card:hover{transform:translateY(-3px);box-shadow:var(--sh-lg)}
.card__img{position:relative;display:block;aspect-ratio:3/2;background:var(--tint);overflow:hidden}
.card__img img{width:100%;height:100%;object-fit:cover}
.card__cuisine{position:absolute;left:10px;top:10px;background:rgba(255,255,255,.94);color:var(--ink);font-size:.74rem;font-weight:700;padding:3px 9px;border-radius:999px}
.card__body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1}
.card__title{font-size:1.06rem;margin:0}
.card__title a{color:var(--ink);text-decoration:none}
.card__title a:hover{color:var(--brand)}
.card__meta{font-size:.84rem;color:var(--muted);margin:0;display:flex;gap:6px;align-items:flex-start}
.card__tags{margin:0;display:flex;flex-wrap:wrap;gap:6px}
.card__actions{display:flex;gap:8px;margin-top:auto;padding-top:8px}

/* now + guides */
.now{display:grid;gap:clamp(20px,3vw,40px)}
@media (min-width:1000px){.now{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}}
.now__panel{background:var(--brand);color:#fff;border-radius:calc(var(--r) + 6px);padding:clamp(22px,3vw,36px)}
.now__panel .eyebrow{color:var(--accent)}
.now__time{font-family:var(--fd);font-size:clamp(3rem,7vw,5rem);line-height:1;margin:0}
.now__date{color:#cfe3da}
.now__list{list-style:none;padding:0;margin:18px 0 22px;display:grid;gap:10px}
.now__list li{display:flex;gap:10px;align-items:flex-start;color:#e2efe9}
.now__panel .fine{color:#a9c6ba;margin-top:12px}
.guides{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:12px}
.guides--big{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr))}
.guide{display:flex;gap:14px;align-items:flex-start;padding:16px;border-radius:var(--r);background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--ink);transition:.15s}
.guide:hover{border-color:var(--brand);box-shadow:var(--sh)}
.guide__ic{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--brand-soft);color:var(--brand);flex:none}
.guide__ic .i{width:22px;height:22px}
.guide strong{display:block}
.guide small{display:block;color:var(--muted);font-size:.84rem}
.guide em{display:block;font-style:normal;font-size:.8rem;color:var(--brand-2);margin-top:4px;font-weight:600}

/* tables */
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:#fff;-webkit-overflow-scrolling:touch}
.table{width:100%;border-collapse:collapse;font-size:.92rem}
.table th,.table td{padding:11px 14px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.table thead th{background:var(--tint);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);white-space:nowrap}
.table[data-sortable] thead th{cursor:pointer}
.table[data-sortable] thead th:hover{color:var(--brand)}
.table tbody tr:last-child>*{border-bottom:0}
.table tbody tr:hover{background:#fbfcfb}
.table tbody th{font-weight:600}
.table--compact th,.table--compact td{padding:8px 12px}
.table--facts th{width:44%;color:var(--muted);font-weight:500}
.table--facts td{font-weight:550}

/* how / steps */
.how{display:grid;gap:30px}
@media (min-width:1000px){.how{grid-template-columns:1.3fr 1fr;align-items:center}}
.steps{list-style:none;counter-reset:s;padding:0;margin:0;display:grid;gap:14px}
.steps li{counter-increment:s;display:grid;grid-template-columns:48px 1fr;gap:4px 14px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px}
.steps li::before{content:counter(s);grid-row:span 2;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--accent);font-family:var(--fd);font-weight:800;font-size:1.3rem}
.steps span{color:var(--muted);font-size:.92rem}

/* sidebar */
.layout__side{display:flex;flex-direction:column;gap:18px}
.sidecard{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px}
.sidecard__h{font-family:var(--f);font-size:1rem;font-weight:700;margin-bottom:10px}
.sidelist{list-style:none;padding:0;margin:0}
.sidelist li{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px dashed var(--line);font-size:.92rem}
.sidelist li:last-child{border:0}
.sidelist a{text-decoration:none;color:var(--ink)}
.sidelist a:hover{color:var(--brand)}
.sidelist span{color:var(--muted);font-size:.84rem}
@media (min-width:1000px){.sticky-ad{position:sticky;top:110px}}
.sideimg img{border-radius:var(--r);aspect-ratio:4/3;object-fit:cover;width:100%}

/* pager */
.pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin-top:28px}
.pager ol{list-style:none;display:flex;gap:6px;padding:0;margin:0;flex-wrap:wrap}
.pager a,.pager span{display:grid;place-items:center;min-width:42px;height:42px;padding:0 12px;border-radius:12px;border:1px solid var(--line);background:#fff;text-decoration:none;color:var(--ink);font-weight:600}
.pager [aria-current]{background:var(--brand);color:#fff;border-color:var(--brand)}
.pager__gap{align-self:center;color:var(--muted)}

/* map components */
.map-box{border-radius:var(--r);overflow:hidden;border:1px solid var(--line)}
.lmap{height:420px;background:#e8eee9;z-index:1}
.split{display:grid;gap:18px;padding-block:22px}
@media (min-width:980px){
  .split{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:start}
  .split__map{position:sticky;top:106px;height:calc(100vh - 124px)}
  .lmap--tall{height:100%;border-radius:var(--r);border:1px solid var(--line)}
}
@media (max-width:979px){.split__map{order:-1}.lmap--tall{height:52vh;min-height:320px;border-radius:var(--r);border:1px solid var(--line)}}
.split__hint{font-size:.84rem;color:var(--muted);display:flex;gap:8px;align-items:center}
.filterbar{display:flex;flex-wrap:wrap;margin-bottom:6px}
.rlist{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.ritem{position:relative;display:grid;grid-template-columns:auto 72px minmax(0,1fr);gap:12px;align-items:center;background:#fff;border:1.5px solid var(--line);border-radius:var(--r);padding:12px;transition:border-color .15s,box-shadow .15s,transform .15s;cursor:pointer}
.ritem.is-hl{border-color:var(--brand);box-shadow:0 0 0 3px rgba(14,107,83,.15);transform:translateX(3px)}
.ritem__n{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--brand);color:#fff;font-weight:700;font-size:.82rem}
.ritem__img{width:72px;height:72px;border-radius:10px;object-fit:cover}
.ritem__t{font-family:var(--f);font-size:1rem;font-weight:700;margin:0}
.ritem__t a{color:var(--ink);text-decoration:none}
.ritem__t a::after{content:"";position:absolute;inset:0}
.ritem__m{margin:2px 0;font-size:.84rem;color:var(--muted)}
.ritem__s{margin:0;font-size:.8rem;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.ritem__act{grid-column:1/-1;display:flex;gap:8px;position:relative;z-index:2}
@media (min-width:560px){.ritem{grid-template-columns:auto 84px minmax(0,1fr) auto}.ritem__img{width:84px;height:84px}.ritem__act{grid-column:auto;flex-direction:column}}
.map-legend{display:flex;flex-wrap:wrap;gap:14px;font-size:.8rem;color:var(--muted);padding:8px 2px}
.map-legend a{margin-left:auto}
.lg{display:inline-block;width:12px;height:12px;border-radius:50%;vertical-align:-1px;margin-right:4px;border:2px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,.2)}
.lg--a{background:#0e6b53}.lg--h{background:#f4b740}
.pin{background:none;border:0}
.pin span{display:grid;place-items:center;width:28px;height:28px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--brand-2);border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.35);transition:transform .15s,background .15s}
.pin b{transform:rotate(45deg);color:#fff;font-size:11px;font-family:var(--f)}
.pin.is-hl span{background:var(--accent);transform:rotate(-45deg) scale(1.35)}
.pin.is-hl b{color:#231a02}
.pin.is-me span{background:#2563eb}
.leaflet-popup-content{font-family:var(--f);font-size:.9rem;margin:12px 14px}
.leaflet-popup-content a.btn{color:#fff}
.near__actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:18px}
.near__county{display:flex;gap:8px}
.near__county select{min-height:44px;border-radius:999px;border:1px solid rgba(255,255,255,.4);padding:0 14px;background:#fff;color:var(--ink)}
.near__status{margin-top:12px;color:#e2efe9}
.empty{padding:20px;background:#fff;border:1px dashed var(--line);border-radius:var(--r);color:var(--muted)}
.facts{list-style:none;padding:0;margin:0 0 16px;display:grid;gap:10px}
.facts li{display:flex;gap:10px;align-items:flex-start}
.facts li>.i{color:var(--brand-2);margin-top:3px}
.facts li span{margin-left:auto;color:var(--muted)}
.facts--lg li span{margin-left:0;color:inherit}
.weather{display:flex;gap:10px;align-items:center;padding:12px 14px;border-radius:var(--r-sm);background:var(--tint);margin-top:12px}

/* notices & forms */
.notice{display:flex;gap:10px;align-items:flex-start;padding:14px 16px;border-radius:var(--r-sm);margin-bottom:18px;font-size:.93rem}
.notice ul{margin:0;padding-left:18px}
.notice--ok{background:var(--ok-bg);color:var(--ok)}
.notice--err{background:var(--bad-bg);color:var(--bad)}
.notice--info{background:var(--warn-bg);color:#6b4304}
.form{display:grid;gap:14px}
.form label{display:grid;gap:6px;font-weight:600;font-size:.9rem}
.form input[type=text],.form input[type=email],.form input[type=month],.form textarea,.form select{width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:var(--r-sm);background:#fff;font-weight:400}
.form input:focus,.form textarea:focus{border-color:var(--brand);outline:0;box-shadow:0 0 0 3px rgba(14,107,83,.15)}
.form__row{display:grid;gap:14px}
@media (min-width:640px){.form__row{grid-template-columns:1fr 1fr}}
.form .check{display:flex;gap:10px;align-items:flex-start;font-weight:400}
.form .check input{margin-top:5px;width:18px;height:18px;flex:none}
.stars-input{border:0;padding:0;margin:0;display:inline-flex;flex-direction:row-reverse;justify-content:flex-end;gap:4px}
.stars-input legend{font-weight:600;font-size:.9rem;margin-bottom:6px;width:100%}
.stars-input input{position:absolute;opacity:0}
.stars-input label{font-size:2rem;color:#d4d9d6;cursor:pointer;line-height:1}
.stars-input input:checked~label,.stars-input label:hover,.stars-input label:hover~label{color:var(--accent)}
.stars-input input:focus-visible+label{outline:2px solid var(--brand)}

/* footer */
.site-footer{background:#07231b;color:#b9d3c8;margin-top:clamp(30px,5vw,60px)}
.footer__cta{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between;padding-block:28px;border-bottom:1px solid rgba(255,255,255,.1)}
.footer__cta-h{font-family:var(--fd);font-size:1.5rem;color:#fff;margin:0}
.footer__cta p{margin:0}
.footer__cta-btns{display:flex;gap:10px;flex-wrap:wrap}
.footer__grid{display:grid;gap:28px;padding-block:40px;grid-template-columns:1fr}
@media (min-width:640px){.footer__grid{grid-template-columns:1fr 1fr}}
@media (min-width:1000px){.footer__grid{grid-template-columns:1.6fr 1fr 1fr 1fr}}
.footer__h{color:#fff;font-weight:700;margin-bottom:12px}
.site-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.site-footer a{color:#dcebe4;text-decoration:none}
.site-footer a:hover{color:var(--accent)}
.footer__mail{display:flex;gap:8px;align-items:center}
.footer__social{display:flex;gap:14px}
.footer__bottom{border-top:1px solid rgba(255,255,255,.1);font-size:.8rem}
.footer__bottom-in{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;padding-block:16px 90px}
@media (min-width:760px){.footer__bottom-in{padding-bottom:16px}}
.totop{margin-left:auto;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.1)}

/* cookie */
.cookie{position:fixed;left:max(12px,env(safe-area-inset-left));bottom:max(12px,env(safe-area-inset-bottom));z-index:90;max-width:min(380px,calc(100vw - 24px));background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-lg);padding:14px 16px;font-size:.84rem;animation:up .3s ease}
.cookie p{margin:0 0 10px;color:var(--ink-2)}
.cookie__btns{display:flex;gap:8px;justify-content:flex-end}
body.biz .cookie{bottom:max(76px,calc(env(safe-area-inset-bottom) + 76px))}
@media (min-width:760px){body.biz .cookie{bottom:16px}}
@keyframes up{from{transform:translateY(20px);opacity:0}}

/* ads */
.ad{margin:22px auto;text-align:center;min-height:100px;overflow:hidden}
.ad__label{display:block;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.grid>.ad{grid-column:1/-1;margin:4px 0}
.ad-pv{margin:18px 0;border:2px dashed #94a3b8;border-radius:12px;min-height:90px;display:grid;place-items:center;color:#64748b;font:600 .85rem var(--f);background:repeating-linear-gradient(45deg,#f8fafc,#f8fafc 10px,#eef2f7 10px,#eef2f7 20px);grid-column:1/-1;padding:10px}
.ad-pv.is-active{border-color:#f59e0b;background:#fff7e6;color:#b45309;box-shadow:0 0 0 6px rgba(245,158,11,.25);min-height:120px}
.ad-pv__code{width:100%}

/* ---------- restaurant mini-site ---------- */
.b-strip{background:var(--ink);color:#c9d6d0;font-size:.8rem}
.b-strip__in{display:flex;gap:12px;align-items:center;min-height:34px;flex-wrap:wrap}
.b-strip a{color:#fff!important;text-decoration:none}
.b-strip__brand{font-weight:800;font-family:var(--fd)}
.b-strip__clock{margin-left:auto;display:inline-flex;gap:6px;align-items:center}
.b-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.b-header__in{display:flex;align-items:center;gap:16px;min-height:70px}
.b-logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);min-width:0}
.b-logo__mono{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--brand);color:#fff;font-family:var(--fd);font-weight:800;font-size:1.05rem;flex:none;box-shadow:0 0 0 3px var(--brand-soft)}
.b-logo__txt{display:flex;flex-direction:column;min-width:0;line-height:1.15}
.b-logo__txt strong{font-family:var(--fd);font-size:1.15rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.b-logo__txt small{color:var(--muted);font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.b-nav{margin-left:auto}
.b-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:2px}
.b-nav a{display:block;padding:9px 13px;border-radius:10px;color:var(--ink);text-decoration:none;font-weight:600;font-size:.94rem}
.b-nav a:hover,.b-nav a[aria-current]{background:var(--brand-soft);color:var(--brand)}
.b-header__cta{display:flex;gap:8px;align-items:center;margin-left:auto}
@media (max-width:1023px){
  .b-nav{position:fixed;inset:0 0 0 auto;width:min(320px,86vw);background:#fff;box-shadow:var(--sh-lg);transform:translateX(105%);transition:transform .25s;padding:84px 20px;z-index:70;margin:0}
  .b-nav.is-open{transform:none}
  .b-nav ul{flex-direction:column}
}
@media (min-width:1024px){.b-header__cta{margin-left:0}}
.biz .btn--primary{background:var(--brand)}
.biz .btn--primary:hover{filter:brightness(1.12);background:var(--brand)}
.biz .eyebrow,.biz a{color:var(--brand)}
.biz .btn,.biz .b-footer a,.biz .chip:hover,.biz .chip.is-on{color:inherit}
.biz .btn--primary,.biz .btn--primary:hover{color:#fff}
.biz .btn--accent{color:#231a02}

.b-hero{position:relative;min-height:clamp(380px,62vh,640px);display:flex;align-items:flex-end;color:#fff;background:var(--ink);overflow:hidden}
.b-hero__slides{position:absolute;inset:0}
.b-hero__slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .9s ease}
.b-hero__slide.is-active{opacity:1}
.b-hero__slide img{width:100%;height:100%;object-fit:cover;animation:kb 18s ease-in-out infinite alternate}
@keyframes kb{to{transform:scale(1.08)}}
@media (prefers-reduced-motion:reduce){.b-hero__slide img{animation:none}}
.b-hero__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.15) 30%,rgba(0,0,0,.82))}
.b-hero__content{position:relative;padding-block:clamp(40px,6vw,70px) clamp(64px,7vw,84px)}
.b-hero .crumbs a,.b-hero .crumbs span{color:#e5e7eb}
.b-hero h1{color:#fff;font-size:clamp(2rem,5.4vw,4rem);max-width:980px;text-shadow:0 2px 20px rgba(0,0,0,.35)}
.b-hero__kicker{display:inline-block;font-size:.84rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);padding:5px 12px;border-radius:999px;backdrop-filter:blur(6px)}
.b-hero__status{display:flex;flex-wrap:wrap;gap:10px;align-items:center;color:#f1f5f9}
.b-hero__cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.stars{display:inline-flex;gap:4px;align-items:center;color:var(--accent);font-weight:700}
.b-hero__ctrl{position:absolute;right:var(--gutter);bottom:18px;display:flex;gap:8px;align-items:center;z-index:2}
.b-hero__ctrl .iconbtn{background:rgba(0,0,0,.4);border-color:rgba(255,255,255,.3);color:#fff;font-size:1.4rem;width:38px;height:38px}
.b-hero__dots{display:flex;gap:6px}
.b-hero__dots button{width:9px;height:9px;border-radius:50%;border:0;background:rgba(255,255,255,.5);cursor:pointer;padding:0}
.b-hero__dots button[aria-current]{background:#fff;width:22px;border-radius:9px}

.b-split{display:grid;gap:clamp(16px,2.4vw,28px)}
@media (min-width:900px){.b-split{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}.b-split--map{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}}
.card-p{background:#fff;border:1px solid var(--line);border-radius:calc(var(--r) + 4px);padding:clamp(18px,2.4vw,28px);box-shadow:var(--sh)}
.hours__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px}
.hours__head h2{display:flex;gap:10px;align-items:center;margin:0;font-size:1.4rem}
.hours__clock{margin:0;font-family:var(--fd);font-size:1.5rem;font-weight:700}
.hours__clock small{font-family:var(--f);font-size:.78rem;color:var(--muted);font-weight:500}
.hours__now{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;padding:14px 16px;border-radius:12px;margin:14px 0}
.hours__now strong{font-size:1.2rem}
.hours__now.is-open{background:var(--ok-bg);color:var(--ok)}
.hours__now.is-closed{background:var(--bad-bg);color:var(--bad)}
.hours__now.is-unknown{background:var(--warn-bg);color:var(--warn)}
.hours__count{margin-left:auto;font-weight:700;font-variant-numeric:tabular-nums}
.hours__table{width:100%;border-collapse:collapse;font-size:.95rem}
.hours__table th,.hours__table td{padding:9px 6px;border-bottom:1px solid var(--line);text-align:left}
.hours__table td{text-align:right;font-variant-numeric:tabular-nums}
.hours__table th{font-weight:550}
.hours__table em{font-style:normal;font-size:.72rem;background:var(--brand);color:#fff;padding:2px 7px;border-radius:999px;margin-left:6px;vertical-align:1px}
.hours__table tr.is-today{background:var(--brand-soft);font-weight:700}
.hours__note{font-size:.84rem;color:var(--muted);margin:12px 0;display:flex;gap:8px;align-items:flex-start}
.mapcard{display:flex;flex-direction:column;gap:12px}
.map-embed{position:relative;border-radius:calc(var(--r) + 4px);overflow:hidden;border:1px solid var(--line);box-shadow:var(--sh);background:#e5e3df;aspect-ratio:4/3.2;min-height:300px}
.map-embed--tall{aspect-ratio:auto;height:clamp(360px,62vh,640px)}
.map-embed iframe{width:100%;height:100%;border:0}
.map-embed__tap{position:absolute;inset:0;display:none;align-items:flex-end;justify-content:center;padding-bottom:18px;text-decoration:none}
.map-embed__tap span{display:inline-flex;gap:8px;align-items:center;background:var(--brand);color:#fff;padding:10px 18px;border-radius:999px;font-weight:700;box-shadow:var(--sh-lg)}
@media (hover:none) and (pointer:coarse){.map-embed__tap{display:flex}}
.mapcard__addr{display:flex;gap:8px;align-items:center;margin:0;font-weight:550}
.mapcard__addr .linkbtn{margin-left:auto;font-size:.84rem;color:var(--muted)}
.maplinks{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
@media (min-width:560px){.maplinks{grid-template-columns:repeat(4,1fr)}}
.maplinks a{display:flex;gap:8px;align-items:center;justify-content:center;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:#fff;text-decoration:none;color:var(--ink)!important;font-weight:600;font-size:.86rem;transition:.15s;min-height:44px}
.maplinks a:hover{border-color:var(--brand);box-shadow:var(--sh)}
.maplinks svg{width:20px;height:20px;flex:none}
.maplinks a.maplinks__dir{grid-column:1/-1;background:var(--brand)!important;color:#fff!important;border-color:var(--brand)!important}
.quick{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:10px}
.quick li{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:12px 14px}
.quick li>.i{width:24px;height:24px;color:var(--brand)}
.quick small{display:block;color:var(--muted);font-size:.74rem;text-transform:uppercase;letter-spacing:.05em}
.quick span{font-weight:600;font-size:.93rem;min-width:0;overflow-wrap:anywhere}
.dishes{list-style:none;padding:0;margin:0;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr))}
.dish{display:flex;gap:14px;justify-content:space-between;background:#fff;border-radius:var(--r);padding:16px 18px;border:1px solid var(--line)}
.dish h3{margin:0 0 4px;font-size:1rem}
.dish p{margin:0;font-size:.88rem;color:var(--muted)}
.dish__price{font-family:var(--fd);font-weight:700;font-size:1.15rem;color:var(--brand);white-space:nowrap}
.dish__tags{margin-top:6px!important}
.tag{display:inline-block;font:700 .64rem/1 var(--f);padding:3px 5px;border-radius:5px;vertical-align:2px;letter-spacing:.03em}
.tag--v{background:#e8f5e9;color:#2e7d32}.tag--vg{background:#dcfce7;color:#166534}.tag--gf{background:#fef3c7;color:#92400e}.tag--s{background:#fee2e2;color:#b91c1c}
.busy__tabs{display:flex;gap:4px;flex-wrap:wrap;margin:10px 0 14px}
.busy__tabs button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:5px 10px;font-size:.82rem;font-weight:600;cursor:pointer}
.busy__tabs button[aria-selected=true]{background:var(--brand);border-color:var(--brand);color:#fff}
.busy__chart{display:flex;align-items:flex-end;gap:3px;height:130px;padding-bottom:2px;border-bottom:1px solid var(--line)}
.busy__chart span{flex:1;height:100%;display:flex;align-items:flex-end}
.busy__chart i{display:block;width:100%;height:var(--v);min-height:2px;background:color-mix(in srgb,var(--brand) 55%,#fff);border-radius:4px 4px 0 0;transition:height .35s}
.busy__chart .is-now i{background:var(--accent)}
.busy__axis{display:flex;justify-content:space-between;font-size:.72rem;color:var(--muted);margin-top:4px}
.busy__txt{margin:12px 0 4px}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(46%,220px),1fr));gap:10px}
.gallery figure{margin:0;position:relative;border-radius:var(--r-sm);overflow:hidden;aspect-ratio:4/3}
.gallery img{width:100%;height:100%;object-fit:cover}
.gallery figcaption{position:absolute;left:0;right:0;bottom:0;font-size:.68rem;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.7));padding:14px 8px 5px}
.qa__item{border-bottom:1px solid var(--line);padding:12px 0}
.qa__item h3{margin:0 0 4px;font-size:1rem}
.qa__item p{margin:0;color:var(--ink-2);font-size:.94rem}
.empty-card{background:#fff;border:1px dashed var(--line);border-radius:var(--r);padding:22px}
.rating-big{display:flex;gap:6px;align-items:center;font-size:1.1rem;color:var(--accent)}
.rating-big strong{font-size:1.6rem;color:var(--ink)}
.review{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;margin-bottom:12px}
.review header{display:flex;gap:12px;align-items:center;margin-bottom:8px}
.review header small{display:block;color:var(--muted);font-size:.8rem}
.review__avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--brand-soft);color:var(--brand);font-weight:800}
.review__stars{margin-left:auto;color:var(--accent);letter-spacing:1px}
.review__stars span{color:#dfe3e0}
.review__reply{background:var(--tint);border-radius:10px;padding:10px 12px;font-size:.9rem}
.review__reply p{margin:4px 0 0}
.ratingbox{display:flex;gap:22px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px;margin-bottom:16px}
.ratingbox__big{font-family:var(--fd);font-size:3rem;margin:0;line-height:1}
.ratingbox__big small{font-size:1rem;color:var(--muted)}
.ratingbox__bars{list-style:none;padding:0;margin:0;flex:1;display:grid;gap:4px;font-size:.84rem}
.ratingbox__bars li{display:grid;grid-template-columns:30px 1fr 24px;gap:8px;align-items:center}
.ratingbox__bars .bar{width:100%}
.b-pagehead{background:var(--brand-soft);padding-block:clamp(24px,4vw,48px)}
.b-pagehead .lead{font-size:1.06rem;color:var(--ink-2);max-width:820px}
.menu-nav{display:flex;gap:8px;overflow-x:auto;padding:14px 0 4px;position:sticky;top:70px;background:var(--bg);z-index:5;scrollbar-width:thin}
.menu-nav a{flex:none;padding:8px 14px;border-radius:999px;background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--ink)!important;font-weight:600;font-size:.88rem}
.menu-nav a:hover{border-color:var(--brand)}
.menu-cat{margin-bottom:34px}
.menu-cat h2{border-bottom:2px solid var(--brand);padding-bottom:8px}
.menu-list{list-style:none;padding:0;margin:0}
.menu-list li{display:grid;grid-template-columns:minmax(0,auto) 1fr auto;gap:10px;align-items:baseline;padding:12px 0;border-bottom:1px dashed var(--line)}
.menu-list h3{margin:0;font-size:1.02rem}
.menu-list p{margin:3px 0 0;color:var(--muted);font-size:.9rem}
.menu-list__main{grid-column:1/3;max-width:640px}
.menu-list__dots{display:none}
.menu-list__price{font-family:var(--fd);font-weight:700;color:var(--brand);white-space:nowrap}
.legend{list-style:none;padding:0;display:grid;gap:8px}
.b-footer{background:var(--ink);color:#b8c4bf;margin-top:40px}
.b-footer__grid{display:grid;gap:26px;padding-block:36px;grid-template-columns:1fr}
@media (min-width:640px){.b-footer__grid{grid-template-columns:1fr 1fr}}
@media (min-width:1000px){.b-footer__grid{grid-template-columns:1.4fr 1fr 1.2fr 1.2fr}}
.b-footer__name{font-family:var(--fd);font-size:1.4rem;color:#fff}
.b-footer p{display:flex;gap:8px;align-items:flex-start}
.b-footer__h{color:#fff;font-weight:700}
.b-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.b-footer a,.biz .b-footer a{color:#e5ece9;text-decoration:none}
.b-footer a:hover{color:var(--accent)}
.actionbar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;background:#fff;border-top:1px solid var(--line);box-shadow:0 -6px 20px rgba(0,0,0,.08);padding-bottom:env(safe-area-inset-bottom)}
.actionbar a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:9px 4px;text-decoration:none;color:var(--ink)!important;font-size:.72rem;font-weight:650}
.actionbar a .i{width:22px;height:22px}
.actionbar a.is-main{background:var(--brand);color:#fff!important}
@media (min-width:760px){.actionbar{display:none}}
.recent__list{display:flex;gap:10px;overflow-x:auto;padding-bottom:6px}
.recent__list a{flex:none;display:flex;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px 12px 8px 8px;text-decoration:none;color:var(--ink)!important;font-weight:600;font-size:.88rem}
.recent__list img{width:40px;height:40px;border-radius:8px;object-fit:cover}
.explore{display:flex;flex-wrap:wrap;margin-top:16px}
.explore.center{justify-content:center}
.big404{font-family:var(--fd);font-size:clamp(5rem,15vw,9rem);line-height:1;color:var(--brand);margin:0}
.biz .chip{color:var(--ink)}
.biz .chip:hover{color:#fff;background:var(--brand);border-color:var(--brand)}
.amen{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:14px}
.amen__g{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:14px 16px}
.amen__g h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 8px}
.amen__g ul{list-style:none;margin:0;padding:0;display:grid;gap:5px;font-size:.92rem}
.amen__g li{display:flex;gap:8px;align-items:flex-start}
.amen__g .i{color:var(--ok);margin-top:3px}
.themes{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px}
.pill--star{background:#fff6dd;color:#8a5a00}
.rstar{color:#b77900}
.stars small{font-weight:500;color:#f1f5f9}
