/* Dark coastal cards with one uniform subtle gradient. */
:root{--ink:#18344b;--muted:#52677b;--sea:#143d56;--line:#dce5ed;--bg:#f2f6fb;--aqua:#d8f5f0;--orange:#ffb957}
body{background:#f8fafb}
.masthead{background:var(--coastal-gradient,linear-gradient(115deg,#153c54,#286578));border-bottom:3px solid var(--search-panel-accent,#7495a1);box-shadow:0 4px 20px #163c5012}
.region{font-size:.8125rem;color:#d6f4ee;letter-spacing:.07em;border:1px solid #ffffff40;border-radius:30px;padding:8px 14px}
.intro{padding:6px 0 2px}.eyebrow{color:#23667b;font-size:.8125rem;letter-spacing:.11em}
h1{font-weight:700;color:#143d56;font-size:2.75rem;letter-spacing:-.035em}.lede{line-height:1.6}
.filters{border-top:0;border:1px solid #d9e4ed;border-radius:16px;box-shadow:0 6px 22px #1b45650b;padding:18px;gap:16px}
.filters label{font-size:.875rem;color:#334e66}.filters select{background:#f5f8fc;border-color:#d4e0eb;border-radius:9px;font-size:.9375rem;min-height:46px;padding-left:12px}
.filters select:focus{background:#fff}.nearby{background:#e8f4f6;border-color:#cce3e8;border-radius:13px;padding:12px 16px}.nearby-heading h2{font-size:.9375rem}.nearby-heading p{font-size:.8125rem}.nearby-controls label{font-size:.8125rem}.nearby-controls select{font-size:.8125rem}
.location-button{background:#18576a;border-color:#18576a;border-radius:8px;font-size:.8125rem;min-height:42px}.location-button:hover{background:#103f51}.location-status{font-size:.8125rem}.clear-location{font-size:.8125rem}
.contribute{font-size:.875rem;margin-top:12px}.contribute a{padding:6px 12px;border-radius:20px;text-decoration:none;background:#fff;border:1px solid #d6e3ec}.contribute a:hover{border-color:#36849b}
.results-bar{margin-top:24px}#result-title{font-size:1.25rem;letter-spacing:-.025em}#count{background:#e3ebf3;color:#405c74;border-radius:20px;padding:5px 10px;font-size:.8125rem}
.expand-all{border-radius:9px;min-height:44px;font-size:.875rem}.reset{font-size:.875rem}
.cards{gap:22px}.card{--card-accent:#77d6c7;--card-deep:#245e5b;--card-end:#173e3e;--badge-ink:#173f3d;border:1px solid var(--card-edge,#32777d);border-radius:6px;box-shadow:0 4px 10px #17364b12,0 14px 30px #17364b20}
.card-head{position:relative;border:0;border-top:5px solid var(--card-accent);padding:20px 20px 16px;background:var(--card-gradient,linear-gradient(125deg,#143d56,#1b5164));color:#fff}
.card-head h3{font-size:1.1875rem;letter-spacing:-.015em;line-height:1.4}.card-head .venue-meta{color:#edf2f7;font-size:.875rem;line-height:1.55;margin-top:12px}
.venue-identity{gap:14px;align-items:center}.venue-identity .venue-title-row{align-items:center}.venue-identity h3{flex-basis:120px}
.restaurant-monogram{background:var(--card-accent,#77d6c7);color:var(--badge-ink,#203f48);border:1px solid #ffffff66;box-shadow:inset 0 1px 0 #ffffff70,0 4px 12px #0000001c}
.venue-logo.restaurant-monogram{width:64px;height:64px;flex:0 0 64px;border-radius:14px;padding:4px;transform:none}
.restaurant-monogram span{font-family:Georgia,'Times New Roman',serif;font-size:1.65rem;letter-spacing:-.04em;transform:none}
.restaurant-monogram::after{display:none}
.card-head .venue-contacts{gap:8px;margin-top:14px}.card-head .venue-contacts .contact-link{border:1px solid #ffffff40;background:#ffffff12;color:#fff;width:38px;height:38px;border-radius:10px;min-height:38px}
.card-head .venue-contacts .contact-link:hover{background:#fff;color:var(--card-deep);border-color:#fff}.card-head .venue-contacts .contact-link svg{width:17px;height:17px}
.suggest-update{display:inline-block;font-size:.8125rem;margin-top:10px;color:#edf2f7;text-decoration-color:#ffffff70;text-underline-offset:4px}
.card .section{margin:0 20px;border-color:#e6edf3}.card .section>summary{font-size:.9375rem;padding:16px 0;color:#25485f;min-height:54px}.card .section-label{gap:9px}
.card .section .section-dot{width:9px;height:9px;border-radius:3px;background:#c37a16;transform:rotate(45deg)}.card .happy .section-dot{background:#158576}.card .events .section-dot{background:#8356b5}
.card summary::after{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid #dbe5ed;border-radius:50%;background:#f4f8fc;color:#385c76;flex:none}
.card .menu{font-size:.9375rem;line-height:1.6;padding-bottom:18px}.card .menu-priced{gap:14px;padding-bottom:6px;border-bottom:1px dotted #e2eaf1}.card .menu-priced:last-child{border-bottom:0;padding-bottom:0}.card .price{color:#173e55;font-weight:700}.card .menu .note{font-size:.875rem}
.card .menu .schedule{background:#e8f5f2;border-left-color:#188777;color:#185f55;border-radius:0 7px 7px 0;font-size:.875rem;padding:8px 11px;margin-bottom:13px}.card .special-time{background:#e4f3ee;color:#185f55}
.card .menu .event{background:#f1eafa;color:#673891;border-left-color:#9162b6}.card .more{font-size:.875rem}
.seo-directory .card-head h2{font-size:1.2rem;line-height:1.4}.seo-menu h3{color:#286675}.seo-towns a,.seo-contacts a{background:#fff;padding:10px 14px;border:1px solid var(--line);border-radius:9px}
.seo-home-nav a{display:inline-flex;align-items:center;min-height:44px;font-weight:700}.legal-links{font-size:.875rem}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.card{transition:box-shadow .18s,transform .18s}.card:hover{transform:translateY(-3px);box-shadow:0 8px 16px #17364b18,0 20px 36px #17364b29}}
@media(max-width:700px){main{padding:22px 16px}.intro{margin-bottom:20px}h1{font-size:2.2rem}.filters{padding:14px;gap:12px}.filters select{font-size:1rem}.nearby{padding:12px}.nearby-controls{gap:10px}.nearby-heading p{font-size:.8125rem}.cards{gap:18px}.card-head{padding:18px}.venue-logo.restaurant-monogram{width:58px;height:58px;flex-basis:58px;border-radius:13px}.venue-identity{gap:12px}.card-head h3{font-size:1.125rem}.card .section{margin:0 18px}.card .menu{font-size:.9375rem}.results-actions{gap:4px}.results-bar{gap:10px}#count{font-size:.8125rem}.contribute{font-size:.8125rem}}
@media(max-width:380px){h1{font-size:2rem}.results-actions{margin-left:0;width:100%;justify-content:space-between}.venue-identity h3{flex-basis:100px}.card-head .venue-title-row .venue-distance{max-width:90px}}
@media(prefers-contrast:more){.card{border-color:#7b92a5}.card .menu-priced{border-color:#7b92a5}.card-head .venue-contacts .contact-link{border-color:#fff}}

/* Keep item descriptions and prices aligned. */
.card .menu > p.item{margin:0 0 2px;padding:6px 8px;border-bottom:0;border-radius:5px}

/* One shared dark, subtle gradient for every restaurant card. */
.card{--card-accent:var(--search-panel-accent,#7495a1);--card-edge:#bdd0da;--card-deep:#143d56;--card-end:#397387;--badge-ink:#183f55;--card-gradient:var(--coastal-gradient,linear-gradient(115deg,#153c54,#286578))}
.card-head h3,.seo-directory .card-head a{color:#fff}
.card-head .venue-contacts .contact-link{color:#fff}
.card-head .venue-contacts .contact-link:focus-visible{outline-color:#fff}
.card .restaurant-monogram{background:#fff7e7;color:var(--card-deep);border:1px solid #f0dfba;box-shadow:0 3px 12px #002b3b20}
.card-head .venue-meta{color:#edf2f7}
.card-head .venue-contacts .contact-link{background:#ffffff16;border-color:#ffffff60}
.card .section>summary{color:var(--card-deep)}
.card .menu .schedule{background:#f0f6f7;border-left-color:var(--card-end);color:#214956}
.card{background:#fff}
.card .section-dot{transform:none;border-radius:50%}
.card-head .venue-title-row .venue-distance{background:#ffffff22;color:#fff;border-color:#ffffff55}

/* Compact filters matching the blue and green coastal theme. */
.filter-panel{position:relative;padding:16px 18px;background:linear-gradient(115deg,#f3fafb 0%,#fff 50%,#eff8f4 100%);border:1px solid #d6e4e9;border-radius:15px;box-shadow:0 5px 20px #294b6810;overflow:hidden}
.filter-panel::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(95deg,#4ba1bb,#aadbdc 48%,#6ed7be)}
.filter-panel .filters{border:0;border-radius:0;box-shadow:none;background:transparent;padding:0;gap:14px}
.filter-panel .filters label{font-size:.8125rem;color:#334e66}
.filter-panel select{background:#ffffffd9;border:1px solid #c9d7df;border-radius:8px;min-height:40px;font-size:.875rem;padding:8px 30px 8px 11px;margin-top:6px;box-shadow:0 1px 2px #23496606}
.filter-panel select:hover{border-color:#36849b}.filter-panel select:focus-visible{outline:2px solid #36849b;outline-offset:2px}
.filter-panel .nearby{background:transparent;border:0;border-top:1px solid #d8e6e8;border-radius:0;margin-top:14px;padding:12px 0 0;gap:8px 16px}
.filter-panel .nearby-heading h2{font-size:.8125rem;color:#334e66;font-weight:700}
.filter-panel .nearby-controls{gap:10px}.filter-panel .nearby-controls label{font-size:.8125rem;color:#334e66}
.filter-panel .nearby-controls select{margin:0;width:160px;min-height:38px;font-size:.8125rem;background:#fff}
.filter-panel select:disabled{background:#f0f2f2;color:#687b86;border-color:#d5dfe2;opacity:1}
.filter-panel .location-button{background:#18576a;border-color:#18576a;border-radius:8px;min-height:38px;font-size:.8125rem;padding:7px 12px;box-shadow:0 2px 5px #214f7015}
.filter-panel .location-button:hover{background:#103f51}.filter-panel .clear-location{color:#18576a;font-size:.8125rem}
.filter-panel .location-status{color:#586b79;font-size:.75rem}

@media(max-width:1000px){.filter-panel .nearby{grid-template-columns:minmax(0,1fr) auto}.filter-panel .nearby-controls{justify-content:flex-end}}
@media(max-width:700px){.filter-panel{padding:14px}.filter-panel .filters{gap:10px}.filter-panel .filters label{font-size:.75rem}.filter-panel .filters select{font-size:.875rem}.filter-panel .nearby{grid-template-columns:1fr;margin-top:12px;padding-top:12px;gap:10px}.filter-panel .nearby-controls{grid-template-columns:minmax(0,1fr) auto;justify-content:normal}.filter-panel .nearby-controls label{grid-column:2;grid-row:1;display:flex;width:auto;gap:6px}.filter-panel .nearby-controls select{width:144px}.filter-panel .clear-location{grid-column:1/-1;grid-row:2;justify-self:start;padding:0;min-height:32px}}
@media(max-width:420px){.filter-panel .nearby-controls{grid-template-columns:1fr}.filter-panel .nearby-controls label{grid-column:1;grid-row:2;display:grid;grid-template-columns:auto minmax(0,1fr);width:100%}.filter-panel .nearby-controls select{width:100%}.filter-panel .clear-location{grid-row:3}}

/* Search shares the filter panel's compact coastal styling. */
.search-field{margin-bottom:14px}.search-field>label{font-size:.8125rem;color:#334e66;margin-bottom:6px}
.search-input-wrap{position:relative}.search-input-wrap>svg{position:absolute;left:12px;top:11px;width:18px;height:18px;color:#527b90;pointer-events:none}
.search-input-wrap input{font:inherit;font-size:.875rem;width:100%;min-width:0;min-height:40px;padding:9px 12px 9px 39px;border:1px solid #c9d7df;border-radius:8px;background:#ffffffd9;color:#18344b;box-shadow:0 1px 2px #23496606}
.search-input-wrap input::placeholder{color:#61798a;opacity:1}.search-input-wrap input:hover{border-color:#36849b}.search-input-wrap input:focus-visible{outline:2px solid #36849b;outline-offset:2px;background:#fff}
#search-help{margin:5px 0 0;font-size:.75rem;color:#52677b;line-height:1.4}
@media(max-width:700px){.search-field>label{font-size:.75rem}.search-input-wrap input{font-size:.75rem;min-height:42px}.search-input-wrap>svg{top:12px}}

/* Immediate catalog suggestions and matching menu rows. */
.filter-panel{overflow:visible}.search-input-wrap{z-index:5}
.search-suggestions{position:absolute;inset:calc(100% + 5px) 0 auto;margin:0;padding:5px;list-style:none;background:#fff;border:1px solid #bfcfd9;border-radius:10px;box-shadow:0 10px 28px #17364b26;max-height:320px;overflow:auto}
.search-suggestions[hidden]{display:none}
.search-suggestions li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 11px;border-radius:6px;cursor:pointer;color:#18344b;font-size:.875rem;min-height:40px}
.search-suggestions li:hover,.search-suggestions li[aria-selected="true"]{background:#e7f4f4}
.search-suggestions small{font-size:.6875rem;flex:none;color:#4e6c7e;background:#edf3f7;padding:3px 7px;border-radius:12px}
.card .menu p.search-match{background:#e4f4ec;border-left:3px solid #188777;padding-left:9px;box-shadow:inset 0 0 0 1px #18877718}
.search-match mark{background:#fff0b8;color:#173e55;border-radius:3px;padding:1px 3px;box-decoration-break:clone}
.search-price-badge{display:inline-block;margin:10px 0 0;padding:5px 9px;font-size:.75rem;line-height:1.4;font-weight:700;background:#ffffffe6;border:1px solid #ffffff;border-radius:6px;color:#153f65}
.search-sort{color:#52677b;font-size:.75rem;margin:-5px 0 14px;line-height:1.5}.search-sort:empty{display:none}
@media(max-width:700px){.search-suggestions li{padding:11px 9px}.search-suggestions small{font-size:.625rem}.search-suggestions{max-height:280px}.search-sort{margin-top:0}}


.closed-filter{display:flex;align-items:center;gap:.55rem;margin:0 20px 15px;font-weight:600}.closed-filter input{width:18px;height:18px;accent-color:#086c76}.seasonal-badge{display:inline-block;padding:5px 9px;border:1px solid #b8c9cd;border-radius:6px;background:#edf2f3;color:#405c62;font-size:.8rem;font-weight:700}


.daily-spotlight-badge{display:inline-flex;align-items:center;gap:5px;width:fit-content;border:1px solid #f5d482;background:linear-gradient(115deg,#fff5cf,#f4d98b);color:#50370c;padding:5px 9px;border-radius:999px;font-size:.69rem;font-weight:800;line-height:1.2;letter-spacing:.025em;white-space:nowrap;box-shadow:0 2px 7px #001b3526}.daily-spotlight-badge svg{flex:none}.venue-title-row .daily-spotlight-badge{align-self:center}
.card .menu .schedule{color:#17527c;background:#e8f2fa;border-left-color:#387aa8}



/* One quiet divider per item, with its linked notes inside the same block. */
.card .menu-item-group{margin:0;padding:0;background:transparent}
.card .menu-item-group + .menu-item-group{border-top:1px solid rgba(30,68,91,.06)}
.card .menu-item-group > p.item{margin:0;padding:4px 8px;border-bottom:0;border-radius:0;font-size:14px}
.card .menu-item-group > p.item-note{margin:0;padding:0 8px 4px;border:0;font-size:.75rem;line-height:1.5}
.card .menu p.offer-note,.card .menu .card-special-group>p.note.offer-note:first-child{font-size:.6875rem;line-height:1.5;font-weight:400;color:#52636b}
@media(prefers-contrast:more){.card .menu-item-group + .menu-item-group{border-top-color:#7b92a5}}


/* Search and day are the primary controls; nearby stays a compact optional box. */
.filter-panel{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:12px 16px;padding:14px 16px}
.filter-panel .search-field{margin:0;min-width:0}
.filter-panel .filters{display:block;min-width:0}
.filter-panel .filters select{margin-top:6px;min-height:42px}
.filter-panel .nearby{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;width:fit-content;max-width:100%;margin:0;padding:5px 9px;background:#eaf4f6;border:1px solid #cee1e7;border-radius:9px}
.filter-panel .nearby-heading h2{font-size:.75rem}
.filter-panel .nearby-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:6px}
.filter-panel .nearby-controls label{display:flex;gap:5px;width:auto;font-size:.75rem}
.filter-panel .nearby-controls select{width:125px;min-height:36px;font-size:.75rem;padding:6px 24px 6px 8px}
.filter-panel .location-button{min-height:36px;font-size:.75rem;padding:6px 10px}
.filter-panel .clear-location{min-height:36px;padding:6px;font-size:.75rem}
.filter-panel .location-status{flex-basis:100%;font-size:.75rem}
.filter-panel .more-filters{grid-column:1/-1;margin:0;padding:0;border:0}
.filter-panel .more-filters>summary{min-height:32px;padding:4px 0;font-size:.75rem}
.load-more-results{text-align:center;padding:18px 0 8px;color:#52677b;font-size:.8125rem}
.load-more-results[hidden]{display:none}
.load-more-results p{margin:0 0 8px}
.load-more-results button{min-height:44px;padding:9px 18px;border:1px solid #b7cfd9;border-radius:9px;background:#fff;color:#18576a;font-weight:700;cursor:pointer}
.load-more-results button:hover{background:#eaf4f6}
@media(max-width:700px){.filter-panel{grid-template-columns:minmax(0,1fr) 120px;gap:10px;padding:12px}.filter-panel .filters select{font-size:.6875rem;font-weight:400;padding:8px 22px 8px 6px}.filter-panel .nearby{gap:5px 7px}.filter-panel .nearby-controls select{width:115px;font-size:.6875rem;padding:6px 22px 6px 7px}.filter-panel .nearby-controls label{grid-column:auto;grid-row:auto}.filter-panel .clear-location{grid-column:auto;grid-row:auto}}
@media(max-width:360px){.filter-panel{grid-template-columns:1fr}.filter-panel .filters{width:140px}}

/* Polished search controls: full-width search, paired selects and quiet actions. */
.filter-panel-polished.filter-panel{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 16px;
  padding:20px;background:#ffffffed;border:1px solid #d5e4e9;border-radius:20px;
  box-shadow:0 8px 28px #183f5510;
}
.filter-panel-polished.filter-panel::before{display:none}
.filter-panel-polished .search-field{grid-column:1/-1;margin:0;min-width:0}
.filter-panel-polished .search-field>label,
.filter-panel-polished .filters label{font-size:.8125rem;font-weight:700;color:#36566a}
.filter-panel-polished .search-input-wrap input{
  min-height:48px;font-size:1rem;padding:12px 14px 12px 42px;
  background:#f7fafb;border:1px solid #cfdee5;border-radius:12px;box-shadow:none;
}
.filter-panel-polished .search-input-wrap>svg{left:14px;top:15px;width:18px;height:18px}
.filter-panel-polished #search-help{margin:7px 0 0;font-size:.75rem;line-height:1.5;color:#617888}
.filter-panel-polished .filters{
  grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;padding:0;border:0;background:transparent;box-shadow:none;
}
.filter-panel-polished .filters label{min-width:0}
.filter-panel-polished .filters select{
  width:100%;min-width:0;min-height:48px;margin-top:7px;padding:11px 28px 11px 12px;
  font-size:1rem;font-weight:400;border-radius:12px;background:#f7fafb;
  border:1px solid #cfdee5;box-shadow:none;
}
.filter-panel-polished .filters select:disabled{background:#f1f5f7;color:#637989}
.filter-panel-polished .nearby{
  grid-column:1;display:block;width:auto;min-width:0;max-width:100%;
  margin:0;padding:0;border:0;border-radius:0;background:transparent;
}
.filter-panel-polished .nearby-controls{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center}
.filter-panel-polished .location-button{
  display:inline-flex;align-items:center;justify-content:center;min-height:44px;
  padding:10px 15px;border:1px solid #bed8de;border-radius:999px;
  background:#eaf5f5;color:#18576a;font-size:.8125rem;font-weight:700;box-shadow:none;
}
.filter-panel-polished .location-button:hover{background:#dcefee;border-color:#77aeb9}
.filter-panel-polished .location-button:disabled{opacity:.7;cursor:wait}
.filter-panel-polished .clear-location{
  min-height:44px;padding:8px 6px;font-size:.75rem;color:#526d7e;
}
.filter-panel-polished .clear-location[hidden]{display:none}
.filter-panel-polished .location-status{font-size:.75rem;line-height:1.5;margin:8px 0 0}
.filter-panel-polished .location-status:empty{display:none}
.filter-panel-polished .more-filters{
  grid-column:2;align-self:start;margin:0;padding:0;border:0;
}
.filter-panel-polished .more-filters>summary{
  width:auto;min-height:44px;padding:10px 0 10px 8px;font-size:.8125rem;
  color:#526d7e;justify-content:flex-end;gap:8px;
}
.filter-panel-polished .more-filters[open]{grid-column:1/-1;border-top:1px solid #e2ebef;padding-top:8px}
.filter-panel-polished .more-filters[open]>summary{justify-content:flex-start;padding-left:0}
.filter-panel-polished .more-filters .closed-filter{margin:4px 0 0;min-height:44px}
.filter-panel-polished input:focus-visible,
.filter-panel-polished select:focus-visible{outline:3px solid #32899b;outline-offset:2px;background:#fff}
@media(min-width:701px){
  .filter-panel-polished.filter-panel{grid-template-columns:minmax(0,1fr) minmax(280px,.7fr);gap:16px 24px}
  .filter-panel-polished .search-field{grid-column:1;grid-row:1}
  .filter-panel-polished .filters{grid-column:2;grid-row:1}
  .filter-panel-polished .nearby{grid-column:1;grid-row:2}
  .filter-panel-polished .more-filters{grid-column:2;grid-row:2}
  .filter-panel-polished .more-filters[open]{grid-column:2;border-top:0;padding-top:0}
}
@media(max-width:700px){
  .filter-panel-polished.filter-panel{grid-template-columns:minmax(0,1fr) auto;padding:16px;gap:14px 10px;border-radius:18px}
  .filter-panel-polished .filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:auto}
  .filter-panel-polished .filters select{font-size:1rem;padding-right:26px}
}
@media(max-width:340px){
  .filter-panel-polished.filter-panel{padding:12px;column-gap:6px}
  .filter-panel-polished .filters select{padding-left:8px}
  .filter-panel-polished .location-button{padding:10px 12px}
}

.filter-panel-polished .more-filters>summary{
  display:flex;align-items:center;padding:10px 12px;border:1px solid #d9e5ea;
  border-radius:999px;background:#f7fafb;list-style:none;cursor:pointer;
}
.filter-panel-polished .more-filters>summary::after{display:none}
.filter-panel-polished .more-filters>summary::-webkit-details-marker{display:none}
.filter-panel-polished .more-filters>summary svg{width:16px;height:16px;flex:none}
.filter-panel-polished .more-filters>summary:hover{background:#edf4f6;border-color:#abc8d2}
.filter-panel-polished .more-filters[open]>summary{width:fit-content;padding:10px 12px;background:#eaf5f5;color:#18576a}

/* Secondary site actions stay together, above the search panel. */
.home-actions.calendar-top-nav{display:flex;align-items:center;justify-content:space-between;gap:12px}
.home-actions .calendar-home-button{border-radius:12px}
.site-menu{position:relative;text-align:left;flex:none}
.site-menu>summary{
  display:flex;align-items:center;gap:8px;min-height:44px;padding:10px 14px;
  color:#18576a;background:#ffffffbd;border:1px solid #c6dbe3;border-radius:12px;
  font-size:.875rem;font-weight:700;cursor:pointer;list-style:none;
}
.site-menu>summary::after,.site-menu>summary::-webkit-details-marker{display:none}
.site-menu>summary svg{width:18px;height:18px}
.site-menu[open]>summary,.site-menu>summary:hover{background:#eaf5f5;border-color:#86b6c2}
.site-menu-items{
  position:absolute;right:0;top:calc(100% + 8px);z-index:30;width:240px;max-width:calc(100vw - 32px);
  padding:7px;border:1px solid #ccdde5;border-radius:15px;background:#fff;
  box-shadow:0 12px 36px #143d5626;
}
.site-menu-items>a,.site-menu #print-menus{
  display:flex;align-items:center;justify-content:flex-start;gap:10px;width:100%;
  min-height:46px;height:auto;padding:12px;border:0;border-radius:9px;background:transparent;
  color:#234d63;text-align:left;text-decoration:none;font:inherit;font-size:.875rem;font-weight:600;
}
.site-menu #print-menus svg{width:18px;height:18px;flex:none}
.site-menu-items>a:hover,.site-menu #print-menus:hover{background:#edf6f7}
@media(max-width:700px){
  .home-actions .calendar-home-button,.site-menu>summary{font-size:.8125rem;min-height:44px;padding:10px 12px}
}

/* Keep the mobile filter panel light and compact. */
.filter-panel-polished.filter-panel{padding:14px 16px;gap:8px 12px;border-radius:15px;box-shadow:0 4px 18px #183f550c}
.filter-panel-polished .search-field>label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.filter-panel-polished .search-input-wrap input{min-height:42px;height:42px;padding:9px 12px 9px 36px;border-radius:9px}
.filter-panel-polished .search-input-wrap input::placeholder{font-size:.8125rem;color:#617888}
.filter-panel-polished .search-input-wrap>svg{left:11px;top:13px;width:16px;height:16px}
.filter-panel-polished .filters label{font-size:.75rem}
.filter-panel-polished .filters select{min-height:40px;height:40px;margin-top:5px;padding:8px 26px 8px 10px;font-size:.875rem;border-radius:9px}
.filter-panel-polished .location-button{min-height:38px;padding:8px 12px;font-size:.75rem}
.filter-panel-polished .clear-location{min-height:38px;font-size:.75rem}
.filter-panel-polished .more-filters>summary{min-height:38px;padding:8px 11px;font-size:.75rem}
.filter-panel-polished .more-filters>summary svg{width:14px;height:14px}
.filter-panel-polished .more-filters[open]>summary{padding:8px 11px}
@media(min-width:701px){
 .filter-panel-polished .search-field{align-self:end}
}
@media(max-width:700px){
 .filter-panel-polished.filter-panel{padding:12px;gap:9px 10px;border-radius:14px}
 .filter-panel-polished .filters{gap:10px}
 .filter-panel-polished .filters select{font-size:.875rem;padding-left:10px}
}

.filter-panel-polished .more-filters{justify-self:end}
.filter-panel-polished .more-filters>summary{width:fit-content}
.filter-panel-polished .more-filters[open]{justify-self:stretch}

/* A little coastal color, with the same thin control layout. */
.filter-panel-polished.filter-panel{
 background:linear-gradient(110deg,#edf8f8 0%,#fafdff 55%,#edf8f2 100%);
 border-color:#acd2d8;box-shadow:0 4px 18px #17677710;
}
.filter-panel-polished.filter-panel::before{
 display:block;height:3px;background:linear-gradient(90deg,#147a92,#56c6bf 55%,#94d3b7);
 border-radius:14px 14px 0 0;
}
.filter-panel-polished .search-input-wrap input,
.filter-panel-polished .filters select{background:#ffffffed;border-color:#bbd7de}
.filter-panel-polished .search-input-wrap>svg{color:#168195}
.filter-panel-polished .filters label{color:#246577}
.filter-panel-polished .filters select:disabled{background:#e8f2f4;border-color:#c4dce2}
.filter-panel-polished .location-button{
 background:#d8efed;border-color:#acd4ce;color:#16656a;
}
.filter-panel-polished .more-filters>summary{
 background:#e4f0f6;border-color:#bbd3e0;color:#265d78;
}
.home-actions.calendar-top-nav{justify-content:flex-start}
.site-menu>summary{
 background:linear-gradient(115deg,#18576a,#217d80);color:#fff;border-color:#185f70;
 box-shadow:0 3px 9px #18576a15;
}
.site-menu>summary:hover,.site-menu[open]>summary{background:#18576a;border-color:#18576a;color:#fff}
.site-menu-items{left:0;right:auto}
.site-menu-items>.calendar-home-button{
 background:transparent;color:#234d63;border:0;justify-content:flex-start;font-weight:600;
}
.site-menu-items>.calendar-home-button:hover{background:#edf6f7}

/* Top navigation uses the same compact controls and icon rhythm. */
.home-actions.calendar-top-nav{margin:0 0 18px}
.site-menu-items svg{width:18px;height:18px;flex:none}

/* Keep navigation reachable while the page content scrolls normally. */
.masthead{position:sticky;top:0;z-index:100;height:72px}
.masthead .home-actions.calendar-top-nav{margin:0;padding:0;flex:none;width:auto}
.masthead .brand{margin-right:auto;min-width:0}
.masthead .site-menu-items{max-height:calc(100dvh - 90px);overflow-y:auto}
.masthead .site-menu>summary{border-color:#ffffff40;box-shadow:none}
@media(max-width:700px){
 .masthead{height:64px;padding:0 16px;gap:12px;justify-content:flex-start}
 .masthead .site-menu>summary{width:44px;height:44px;padding:12px;justify-content:center}
 .masthead .site-menu-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .masthead .brand{gap:8px;margin-right:0}
 .masthead .brand-logo-tile{width:48px;height:34px}
 .masthead .brand-wordmark{width:clamp(140px,45vw,190px);flex-shrink:1}
}

.card .daily .section-dot{background:#287bb8}


/* Packed desktop rows keep search and keyboard order in the original DOM. */
.cards-packed{grid-auto-rows:4px;row-gap:2px;grid-auto-flow:row dense}
.cards-packed>.card{margin-bottom:20px}
@media print{.cards-packed{grid-auto-rows:auto;grid-auto-flow:row;row-gap:20px}.cards-packed>.card{grid-row-end:auto!important;margin-bottom:0}}

/* Total live listings, independent of the selected filters. */
.restaurant-total{display:inline-flex;align-items:center;gap:8px;max-width:100%;margin:14px 0 0;padding:7px 12px;border:1px solid #d7b66b;border-radius:999px;background:var(--coastal-gradient,linear-gradient(115deg,#153c54,#286578));color:#fff;font-size:.8125rem;font-weight:700;line-height:1.4;box-shadow:0 4px 12px #125c6b24,inset 0 1px 0 #ffffff24}
.restaurant-total strong{font-size:1.375rem;font-weight:800;line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.restaurant-total-growth{color:#d4e6ea;font-weight:600}
.restaurant-total svg{width:32px;height:20px;flex:none;color:#bbd1d7}
@media(max-width:380px){.restaurant-total{gap:7px;padding:7px 10px}.restaurant-total strong{font-size:1.25rem}.restaurant-total svg{width:30px;height:19px}}
.restaurant-total[hidden]{display:none}

/* Classic coastal: white details, warm borders and quiet brass clocks. */
.card .menu .card-event-group{border:1px solid #e9e2d6;border-radius:9px;margin:13px 0 10px;padding:12px 11px;overflow:hidden;background:#fff}
.card .menu .card-event-group:last-child{margin-bottom:0}
.card .menu .card-event-group>p{margin:10px 0 0;padding:0}
.card .menu .card-event-group .event{border:0;border-radius:0;background:none;color:#21485a;padding:0;margin:0;font-size:.9375rem;line-height:1.4}
.card .menu .card-event-group>p.spacer{height:0;padding:0}
.card .menu .card-event-group>.menu-item-group{padding:0 2px}
.card-event-lead{display:flex;gap:10px;align-items:flex-start}
.card-event-main{flex:1;min-width:0}
.card .menu .restaurant-event-categories{display:flex;flex-wrap:wrap;gap:4px;margin:7px 0 0;line-height:1.4}
.restaurant-event-category{display:inline-block;font-size:.6875rem;font-weight:600;color:#536c76;background:#f2f5f5;border:1px solid #e0e8e8;border-radius:4px;padding:2px 5px}
.card .menu .event-date-tile{display:block;flex:0 0 37px;width:37px;min-width:37px;background:#faf7ef;border:1px solid #e8e0cf;border-radius:6px;padding:4px 2px;text-align:center;color:#607483;line-height:1.2}
.card .menu .event-date-tile span{display:block;font-size:8px;letter-spacing:1px;text-transform:uppercase}
.card .menu .event-date-tile b{display:block;font-size:19px;color:#2a4d5d;margin:2px 0}
.card .menu .event-clock{margin:5px 0 0;color:#7b6542;font-size:.75rem;font-weight:600;line-height:1.5}
.event-clock::before,.schedule-clock::before{content:'';display:inline-block;width:12px;height:12px;vertical-align:-2px;margin-right:5px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cg fill='none' stroke='black' stroke-width='1.5'%3E%3Ccircle cx='10' cy='10' r='7'/%3E%3Cpath d='M10 6v4l3 2'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat}
.card .menu .card-event-group>.event-area{border-top:1px solid #eee8dd;padding-top:8px;color:#746853;font-size:.75rem}
.event-area::before,.schedule-area::before{content:'';display:inline-block;width:12px;height:12px;vertical-align:-2px;margin-right:5px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cg fill='none' stroke='black' stroke-width='1.5'%3E%3Cpath d='M10 18s6-6 6-11A6 6 0 0 0 4 7c0 5 6 11 6 11Z'/%3E%3Ccircle cx='10' cy='7' r='2'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat}
.card .card-event-group .event-booking{background:none;color:#746044;border:0;border-bottom:1px solid #ded3bf;border-radius:0;padding:4px 0;min-height:36px;font-size:.8125rem;justify-content:flex-start}
.card .card-event-group .event-booking:hover{color:#21485a;background:#faf7ef}
.card .menu .card-special-group{border:1px solid #e9e2d6;border-radius:9px;margin:13px 0 10px;padding:12px 11px;background:#fff}
.card .menu .card-special-group:last-child{margin-bottom:0}
.card .menu .schedule{background:none;border:0;border-radius:0;color:#7b6542;padding:0;margin:0 0 10px;font-size:.75rem;font-weight:600;line-height:1.5}
.schedule-clock,.schedule-title,.schedule-area{display:block}
.schedule-title{color:#25495a;font-size:.875rem;margin-bottom:4px}
.schedule-area{color:#746853;font-size:.75rem;margin-top:5px;font-weight:400}
.card .menu .schedule:has(.schedule-area){display:flex;flex-direction:column}
.schedule-title{order:-2}.schedule-area{order:-1;margin:0 0 5px}
.card .menu .menu-intro{color:#25495a;font-size:.875rem;font-weight:600}
.card .menu .menu-unpriced{font-weight:400}
.card .menu .card-special-group>.menu-item-group>p.item,.card .menu .card-special-group>.menu-item-group>p.item-note{padding-left:0;padding-right:0}

/* Portrait phones: deepen the card shadow as it approaches the viewport center. */
@media(max-width:700px) and (orientation:portrait) and (prefers-reduced-motion:no-preference){
 .cards>.card{
  border-color:var(--card-edge,#387577);
  box-shadow:0 4px 10px color-mix(in srgb,#102b3b calc(7% + var(--card-glow,0)*13%),transparent),
   0 14px 30px color-mix(in srgb,#102b3b calc(12% + var(--card-glow,0)*30%),transparent);
 }
}

/* Desktop filters retain enough space for their selected option text. */
@media(min-width:701px){
 .filter-panel-polished.filter-panel{grid-template-columns:minmax(0,1fr) auto}
 .filter-panel-polished .search-field{grid-column:1/-1;grid-row:1}
 .filter-panel-polished .filters{grid-column:1/-1;grid-row:2;grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .filter-panel-polished .filters label{grid-column:auto;grid-row:auto}
 .filter-panel-polished .nearby{grid-column:1;grid-row:3}
 .filter-panel-polished .more-filters,.filter-panel-polished .more-filters[open]{grid-column:2;grid-row:3}
}
@media(min-width:850px){
 .filter-panel-polished .filters{grid-template-columns:minmax(125px,1fr) minmax(165px,1.3fr) minmax(240px,1.7fr) minmax(120px,1fr)!important}
}
@media(min-width:1100px){
 .filter-panel-polished.filter-panel{grid-template-columns:minmax(260px,1fr) minmax(680px,1.8fr);column-gap:16px}
 .filter-panel-polished .search-field{grid-column:1;grid-row:1}
 .filter-panel-polished .filters{grid-column:2;grid-row:1}
 .filter-panel-polished .nearby{grid-column:1;grid-row:2}
 .filter-panel-polished .more-filters,.filter-panel-polished .more-filters[open]{grid-column:2;grid-row:2}
}

/* Shared control typography for specials and events. */
.filter-panel-polished{
 --control-font-family:Arial,Helvetica,sans-serif;
 --control-font-size:.875rem;
 --control-font-weight:400;
 --search-font-size:1rem;
 --search-placeholder-size:.8125rem;
}
.filter-panel-polished .search-input-wrap input{
 font-family:var(--control-font-family);font-size:var(--search-font-size);
 font-weight:var(--control-font-weight);font-style:normal;
}
.filter-panel-polished .search-input-wrap input::placeholder{
 font-family:var(--control-font-family);font-size:var(--search-placeholder-size);
 font-weight:var(--control-font-weight);font-style:normal;
}

/* Shared coastal search palette: soft blue panels, white controls and navy labels. */
:root{--coastal-gradient:linear-gradient(115deg,#153c54,#286578);--search-panel-bg:linear-gradient(125deg,#dceceb,#e9f2ef);--search-panel-edge:#c4d9d8;--search-panel-accent:#7495a1;--search-control-bg:#fcfefe;--search-control-edge:#c9dbdc;--search-label:#143d56;--search-help:#526b7b}
.filter-panel-polished.filter-panel{
 background:var(--search-panel-bg);
 border-color:var(--search-panel-edge);box-shadow:0 2px 6px #143d5604,0 14px 32px #143d5612;
}
.filter-panel-polished.filter-panel::before{background:var(--search-panel-accent)}
.filter-panel-polished .search-field>label,
.filter-panel-polished .filters label,
.filter-panel-polished .nearby-heading h2,
.filter-panel-polished .closed-filter{color:var(--search-label)}
.filter-panel-polished #search-help,
.filter-panel-polished .nearby-heading p,
.filter-panel-polished .location-status,
.filter-panel-polished .clear-location{color:var(--search-help)}
.filter-panel-polished .more-filters[open]{border-top-color:#c8d9e3}

.filter-panel-polished .search-input-wrap input,
.filter-panel-polished .filters select{background:var(--search-control-bg);border-color:var(--search-control-edge)}
.filter-panel-polished .search-input-wrap>svg{color:#476985}


/* Main search keeps City; date navigation sits directly above the cards. */
.filter-panel-polished.main-date-panel{grid-template-columns:minmax(0,1fr) auto}
.filter-panel-polished.main-date-panel .search-field{grid-column:1/-1;grid-row:1}
.filter-panel-polished.main-date-panel .filters{grid-column:1/-1;grid-row:2;grid-template-columns:minmax(0,1fr)!important}
.filter-panel-polished.main-date-panel .filters label{grid-column:auto;grid-row:auto}
.filter-panel-polished.main-date-panel .filters label[for="location"]{grid-column:auto}
.filter-panel-polished.main-date-panel .nearby{grid-column:1/-1;grid-row:3}
@media(min-width:850px){
 .filter-panel-polished.main-date-panel{grid-template-columns:minmax(240px,1fr) minmax(320px,.8fr)}
 .filter-panel-polished.main-date-panel .search-field{grid-column:1;grid-row:1}
 .filter-panel-polished.main-date-panel .filters{grid-column:2;grid-row:1;grid-template-columns:minmax(0,1fr)!important}
 .filter-panel-polished.main-date-panel .filters label[for="location"]{grid-column:auto}
 .filter-panel-polished.main-date-panel .nearby{grid-column:1/-1;grid-row:2}
}
/* Match the events date bar, with one date instead of a range. */
.menu-date-bar{padding:12px;margin:18px 0 14px;border:1px solid var(--search-panel-edge);border-radius:15px;background:var(--search-panel-bg)}
.menu-date-controls{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:8px;align-items:end;max-width:320px;margin:0 auto 10px}
.menu-date-controls label{min-width:0;font-size:.75rem;color:var(--search-label)}
.menu-date-controls input{display:block;width:100%;min-width:0;height:40px;margin-top:3px;padding:6px 8px;border:1px solid #bbd7de;border-radius:9px;background:#fff;color:var(--ink);font-family:var(--control-font-family,Arial,Helvetica,sans-serif);font-size:var(--control-font-size,.875rem);font-weight:var(--control-font-weight,400);font-style:normal}
.menu-date-controls button{height:40px;min-width:0;padding:2px;border:1px solid #bbd7de;border-radius:9px;background:#fff;color:var(--sea);font:inherit;font-size:1.25rem;cursor:pointer}
.menu-date-controls button:disabled{opacity:.4;cursor:default}
.menu-date-controls button:focus-visible,.menu-date-controls input:focus-visible{outline:3px solid #b7661a;outline-offset:3px}
@media(max-width:700px){
 .menu-date-bar{padding:9px;margin:14px 0 12px;border-radius:12px}
 .menu-date-controls{grid-template-columns:40px minmax(0,1fr) 40px;gap:5px}
 .menu-date-controls label{font-size:.6875rem}
 .menu-date-controls input{padding:5px 3px;border-radius:7px}
}

.menu-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;max-width:530px;margin:auto}
.menu-days button{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:38px;padding:5px 2px;border:1px solid #bbd7de;border-radius:9px;background:#fff;color:var(--sea);font:inherit;cursor:pointer}
.menu-days span{font-size:.75rem}.menu-days strong{font-size:.875rem}
.menu-days button[aria-pressed=true]{background:var(--sea);border-color:var(--sea);color:#fff;box-shadow:0 3px 10px #103f4826}
.menu-days button:disabled{opacity:.4;cursor:default}
.menu-days button:focus-visible{outline:3px solid #b7661a;outline-offset:3px}
@media(max-width:700px){
 .menu-date-controls{margin-bottom:8px}
 .menu-days{gap:3px}
 .menu-days button{gap:3px;min-height:36px;border-radius:7px}
 .menu-days span{font-size:.625rem}.menu-days strong{font-size:.75rem}
}

/* Keep distance beside the location action, with a full-width City field. */
.filter-panel-polished.main-date-panel .nearby-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:8px;max-width:420px}
.filter-panel-polished.main-date-panel .nearby-controls label{grid-column:2;grid-row:1;display:block;width:100%;min-width:0;font-size:.75rem;color:var(--search-label)}
.filter-panel-polished.main-date-panel .nearby-controls select{display:block;width:100%;height:40px;min-height:40px;margin-top:0;padding:8px 26px 8px 10px;border-radius:9px;background:var(--search-control-bg);border-color:var(--search-control-edge);font-family:var(--control-font-family);font-size:var(--control-font-size);font-weight:var(--control-font-weight)}
.filter-panel-polished.main-date-panel .location-button{grid-column:1;grid-row:1;width:100%;min-width:0;padding:10px 8px}
.filter-panel-polished.main-date-panel .clear-location{grid-column:1/-1;grid-row:2;justify-self:start;min-height:32px;padding:4px 0}

/* Approved coastal finish: navy date navigation and sea-glass search. */
.filter-panel-polished .location-button{background:var(--coastal-gradient);border-color:#285d71;color:#fff}
.filter-panel-polished .location-button:hover{background:linear-gradient(115deg,#112f48,#20576b);border-color:#285d71}
.menu-date-bar{background:var(--coastal-gradient);border-color:#204e64;box-shadow:0 8px 22px #143d5618,inset 0 1px 0 #ffffff12}
.menu-date-controls label{color:#dce9ed}
.menu-date-controls input{background:#fcfefe;border-color:#becfd6;color:#18344b;-webkit-text-fill-color:#18344b;color-scheme:light}
.menu-date-controls input::-webkit-datetime-edit,.menu-date-controls input::-webkit-datetime-edit-fields-wrapper{color:#18344b;-webkit-text-fill-color:#18344b}
.menu-date-controls button{background:#ffffff12;border-color:#ffffff38;color:#fff}
.menu-days button{background:#ffffff14;border-color:#ffffff14;color:#e7f1f4}
.menu-days button[aria-pressed=true]{background:#f2f7f8;border-color:#f2f7f8;color:#143d56;box-shadow:0 3px 10px #071c2b25}
.menu-days span,.menu-days strong{color:inherit;-webkit-text-fill-color:currentColor}
.menu-days button[aria-pressed=true] span,.menu-days button[aria-pressed=true] strong{color:#143d56;-webkit-text-fill-color:#143d56}

/* Flowing wave lines replace the straight menu bars; original brand art stays. */
.masthead .site-menu>summary{background:#ffffff14}
.masthead .site-menu>summary:hover,.masthead .site-menu[open]>summary{background:#ffffff24;border-color:#ffffff65}
.masthead .site-menu>summary>svg{width:22px;height:22px;flex:none}
@media(max-width:700px){.masthead .site-menu>summary{padding:10px}}


/* Section icons replace bullets; shared hours stay visible when collapsed. */
.section-icon{width:17px;height:17px;flex:0 0 17px;color:inherit}
.section-label{min-width:0}
.section>summary:has(.section-time){display:grid;grid-template-columns:minmax(0,1fr) auto 20px;gap:9px}
.section-time{color:#286a99;font-size:.75rem;font-weight:500;line-height:1.35;text-align:right;max-width:110px}
/* Event clocks use the same blue as every other section clock. */
/* Date navigation shares the search surface on both pages. */
.menu-date-bar{background:var(--search-panel-bg);border-color:var(--search-panel-edge);box-shadow:0 2px 6px #143d5604,0 14px 32px #143d5612}
.menu-date-controls label{color:var(--search-label)}
.menu-date-controls button,.menu-days button{background:var(--search-control-bg);border-color:var(--search-control-edge);color:var(--search-label)}
.menu-days button[aria-pressed=true]{background:var(--coastal-gradient);border-color:#285d71;color:#fff}
.menu-days button[aria-pressed=true] span,.menu-days button[aria-pressed=true] strong{color:#fff;-webkit-text-fill-color:#fff}

/* Main-page date selector uses the selected-day button style. */
.menu-date-controls{max-width:420px;align-items:end;margin-bottom:0}
.menu-date-picker{position:relative;display:flex;align-items:center;justify-content:center;min-height:40px;margin-top:3px;padding:8px 10px;border:1px solid #becfdc;border-radius:9px;background:#edf4fa;color:#18344b;box-shadow:0 2px 6px #103f4810;font:600 .875rem/1.3 var(--control-font-family,Arial,Helvetica,sans-serif);text-align:center}
.menu-date-picker input{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:pointer}
.menu-date-picker:focus-within{outline:3px solid #b7661a;outline-offset:3px}
.menu-date-picker input::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;cursor:pointer}
@media(max-width:700px){.menu-date-controls{margin-bottom:0}.menu-date-picker{padding:8px 5px;border-radius:7px;font-size:.8125rem}}

.filter-panel-polished.main-date-panel .clear-location{grid-column:1;grid-row:2;font-size:.75rem}
.filter-panel-polished.main-date-panel .nearby-controls .reset{grid-column:2;grid-row:2;justify-self:end;align-self:center;margin:0;padding:4px 0;min-height:32px;color:var(--search-help);font:inherit;font-size:.75rem;background:none;border:0;text-decoration:underline;cursor:pointer}

/* Give the date arrows more room while keeping the selector compact. */
.menu-date-controls{grid-template-columns:52px minmax(0,1fr) 52px}
@media(max-width:700px){.menu-date-controls{grid-template-columns:48px minmax(0,1fr) 48px}}


.special-active{display:inline-flex;align-items:center;gap:4px;margin-left:6px;padding:2px 6px;border:1px solid #b3d8c7;border-radius:999px;background:#e4f3eb;color:#205a40;font-size:10px;font-weight:700;line-height:1.3;white-space:nowrap;vertical-align:middle}
.special-active::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}
.section-time:has(.special-active){max-width:120px}
.section-time .special-active{margin:3px 0 0 6px}
@media print{.special-active{display:none!important}}


/* Matching compact mobile page titles. */
@media(max-width:700px){body:not(.seo-page) main>.intro h1{font-size:clamp(1.2rem,6vw,1.6rem);line-height:1.2}}

/* Date controls on the left, nearby controls on the right, just below search. */
.search-date-layout{display:contents}
@media(min-width:850px){
 .search-date-layout{display:block;position:relative}
 .search-date-layout .filter-panel-polished.main-date-panel .nearby{grid-column:2;min-width:0}
 .search-date-layout>.menu-date-bar{position:absolute;left:16px;top:81px;width:calc((100% - 44px)*5/9);margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
 .search-date-layout>.menu-date-bar .menu-date-controls{margin:0}
}


/* Owner-selected refined G vector icons, only for specials section headings. */
.section-icon.section-icon-coastal{width:26px;height:26px;flex:0 0 26px;object-fit:contain}

/* Lighter pale blue accordion headers keep menus white and text unchanged. */
.card .section>summary{
 margin-left:-20px;margin-right:-20px;padding-left:20px;padding-right:20px;
 background-color:#f0f6f9;
 background-image:linear-gradient(125deg,#e3eef3,#f0f6f9);
}
.card .section{border-color:#d5e1e7}
.card .section[open]>summary{box-shadow:inset 0 -1px #d5e1e7}
.card .section .menu{background:#fff}
.card .section>summary::after{background:var(--coastal-gradient,linear-gradient(115deg,#153c54,#286578));border-color:#153c54;color:#fff}

/* Keep location clearing beside Distance, without secondary reset/date captions. */
.filter-panel-polished.main-date-panel .nearby-controls{max-width:none;width:100%}
.filter-panel-polished.main-date-panel .clear-location{grid-column:2;grid-row:2;justify-self:end;white-space:nowrap}
.menu-date-controls .menu-date-picker{margin-top:0}
@media(min-width:1000px){
 .filter-panel-polished.main-date-panel .nearby-controls:has(.clear-location:not([hidden])){grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}
 .filter-panel-polished.main-date-panel .clear-location{grid-column:3;grid-row:1;align-self:center;margin-left:3px}
}



.seo-menu>.menu-intro,.print-block .menu-intro,.compact-section .menu-intro{font-weight:600}

/* Specials distance marker: preserve existing text, background and placement. */
#results .card-head .venue-title-row .venue-distance{border:1px solid #eadcc3;color:#fff;max-width:none;white-space:nowrap}
#results .venue-distance .distance-pin{display:inline-block;vertical-align:-2px;margin-right:4px}

#results .card-head>.daily-spotlight-badge{margin-top:10px}



/* Approved owner images only. Existing palette remains the readable foreground. */
.card-head:has(>.approved-restaurant-photo){isolation:isolate;background:transparent}
.card-head>.approved-restaurant-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;pointer-events:none}
.card-head>.approved-restaurant-tint{position:absolute;inset:0;background:var(--card-gradient,linear-gradient(125deg,#143d56,#1b5164));opacity:.88;z-index:-1;pointer-events:none}
.venue-logo.approved-restaurant-logo,.seo-restaurant-logo.approved-restaurant-logo{background:#fff;padding:5px;overflow:hidden}
.approved-restaurant-logo img{display:block;width:100%;height:100%;object-fit:contain}
@media(prefers-contrast:more){.card-head>.approved-restaurant-tint{opacity:.97}}

/* Presentation-only menu structure; offer-scoped eligibility never becomes shared. */
.menu .menu-category{margin:14px 0 5px;padding-top:9px;border-top:1px solid #e7e7e0;font-size:.8rem;line-height:1.45;font-weight:700;color:#25495a;overflow-wrap:anywhere}
.menu .menu-time-group{margin:13px 0 10px;border:1px solid #e0ddd4;border-radius:9px;padding:10px;background:#faf9f5}
.menu .menu-time-group>.schedule{margin:0 0 7px}
.card .menu .menu-time-offers>.card-special-group{margin:6px 0 0;border:0;border-top:1px solid #e7e7e0;border-radius:0;padding:9px 0 2px;background:transparent}
.card .menu .menu-time-offers>.card-special-group:first-child{border-top:0;padding-top:2px}
.menu-note-help{position:relative;display:inline-block;vertical-align:middle;font-size:.75rem}
.menu-note-help>summary{padding:3px 0;margin:0;width:auto;height:auto;gap:4px;background:none;border:0;display:inline-flex;align-items:center;justify-content:flex-start;min-height:28px;font-size:.7rem;font-weight:500;cursor:pointer;color:#25495a;border-radius:4px;list-style:none}
.menu-note-help>summary::-webkit-details-marker{display:none}
.menu-note-help>summary:focus-visible{outline:2px solid #146d84;outline-offset:2px}
.menu-note-help .menu-note-icon{display:inline-block;flex:none;border:1px solid currentColor;border-radius:50%;width:14px;height:14px;text-align:center;line-height:14px;font-weight:700}
.menu-note-help .menu-note-text{display:block;white-space:pre-wrap;padding:9px 11px;background:#f1f6f7;border:1px solid #ccdce0;border-radius:7px;color:#354b56;max-width:100%;overflow-wrap:anywhere}
.menu-note-help[data-enhanced]{max-width:100%}
.menu-note-help[data-enhanced][open]{display:inline-block}
.menu-note-help[data-enhanced] .menu-note-text{position:fixed;inset:auto;margin:0;box-sizing:border-box;width:280px;max-width:calc(100vw - 16px);max-height:min(240px,calc(100dvh - 16px));overflow:auto;overscroll-behavior:contain;font-size:.6875rem;line-height:1.45;text-align:left;box-shadow:0 5px 18px #17364b26;z-index:10000}
.menu-note-help .menu-note-text::backdrop{background:transparent;pointer-events:none}
@media print{.menu-note-help[data-enhanced] .menu-note-text{position:static!important;width:auto!important;max-width:none!important;max-height:none!important;overflow:visible!important;box-shadow:none!important}}
@media print{.menu-note-help>summary{display:none!important}.menu-note-help,.menu-note-help .menu-note-text{display:block!important}.menu-note-help .menu-note-text{border:0;padding:0;background:none}.menu-category{break-after:avoid}.menu-time-group{background:none}}
.seo-menu .menu-category,.print-block .menu-category,.compact-section .menu-category{font-size:.85em;line-height:1.4;font-weight:700;margin:10px 0 4px;break-after:avoid}
.print-offer-scope+.print-offer-scope{margin-top:6px;padding-top:5px;border-top:1px solid #ddd}

.card .menu-note-help>summary::after,.menu-note-help>summary::after{display:none;content:none}

@media print{.menu-note-help::details-content{display:block!important;content-visibility:visible!important}}


/* Restriction copy: 11px, one pixel below the prior 12px popup copy. */
.card .menu p.offer-note.restriction-inline,.menu-note-help .menu-note-text{font-size:.6875rem;line-height:1.45;overflow-wrap:anywhere}

.card .menu .menu-untimed-offer+.menu-untimed-offer{margin-top:8px}.card .menu .menu-untimed-group>.restriction-inline{margin-bottom:0}

/* Keep the unchanged distance label below the address, clear of the restaurant name. */
.card-head>.venue-meta+.venue-distance{display:table;max-width:none;margin:6px 0 0;padding:4px 7px;border:1px solid #eadcc3;border-radius:6px;background:#ffffff22;color:#fff;font-size:.6875rem;line-height:1.4;font-weight:700;white-space:nowrap;text-align:left}
