/* Compact menu rows. Kept separate from the finder product cards. */
body:has(.menu-v4) .page-hero{padding-block:40px 38px;grid-template-columns:minmax(0,1fr) minmax(260px,34%);gap:5%;background:#e8eee5}
body:has(.menu-v4) .page-hero h1{font-size:clamp(48px,5.6vw,78px);max-width:740px}
body:has(.menu-v4) .page-hero .lede{margin-top:18px;font-size:clamp(15px,1.3vw,18px)}
body:has(.menu-v4) .page-hero>img{height:260px;max-height:none;object-position:center 47%}
.menu-v4{padding-top:36px;background:#f8f6ef}
.menu-v4 .filter-panel{max-width:1450px;margin-inline:auto;padding:26px 30px;background:#e8eee6;border:1px solid #cbd9ce;border-radius:9px}
.menu-v4 .menu-filter-top{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(240px,.7fr);gap:16px;align-items:end}
.menu-v4 .search-label,.menu-v4 .menu-select-label{display:block;font-size:13px;font-weight:600;line-height:1.35;margin:0}
.menu-v4 .search-label input,.menu-v4 #menu-category-select{display:block;width:100%;min-width:0;min-height:48px;margin:8px 0 0;padding:10px 15px;background:#fffefa;border:1px solid #9eaea3;border-radius:5px;color:#172a20;font-size:16px}
.menu-v4 #menu-categories{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 14px}
.menu-v4 .menu-group-button{min-height:44px;padding:8px 17px;background:#fffefa;border:1px solid #bacdc0;border-radius:100px;font-size:13px;font-weight:600;line-height:1.2}
.menu-v4 .menu-group-button.active,.menu-v4 .menu-group-button[aria-pressed=true]{background:#183e2b;border-color:#183e2b;color:#fff}
.menu-v4 .filter-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px 24px;border-top:1px solid #cbd9ce;padding-top:15px;font-size:13px}
.menu-v4 .filter-row label{display:flex;align-items:center;gap:8px;min-height:44px}
.menu-v4 #allergen-filter{min-height:44px;max-width:240px;padding:7px 12px;border:1px solid #9eaea3;background:#fffefa;border-radius:5px;color:#172a20}
.menu-v4 #vegan-filter{width:20px;height:20px;accent-color:#183e2b}
.menu-v4 #menu-count{font-weight:600;margin-left:auto;white-space:nowrap}
.menu-v4 #menu-reset{min-height:44px;padding:8px 13px;border-color:#839d8b;background:#fffefa;font-size:12px;font-weight:600}
.menu-v4 .menu-results-heading{display:flex;justify-content:space-between;gap:12px;align-items:baseline;max-width:1450px;margin:30px auto 16px;border-bottom:1px solid #b9c9bd;padding-bottom:12px}
.menu-v4 .menu-results-heading h2{font-family:'Barlow Condensed',sans-serif;letter-spacing:-.02em;font-size:clamp(29px,3vw,43px);margin:0}
.menu-v4 .menu-results-heading p{font-size:12px;color:#52665b;margin:0}
.menu-v4>.small-copy{max-width:1450px;margin:12px auto 0;color:#52665b}
.menu-v4 #product-grid{display:block;max-width:1450px;margin-inline:auto}
.menu-v4 .menu-category-section{scroll-margin-top:calc(var(--header-offset,78px) + 20px);margin:0 0 34px}
.menu-v4 .menu-category-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:15px 2px 12px;border-bottom:2px solid #183e2b}
.menu-v4 .menu-category-heading h2{font-family:'Barlow Condensed',sans-serif;font-size:clamp(28px,2.7vw,38px);letter-spacing:-.02em;line-height:1.05;margin:0}
.menu-v4 .menu-category-heading span{font-size:11px;white-space:nowrap;color:#587064}
.menu-v4 .menu-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:44px;align-items:stretch}
.menu-v4 .menu-item{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;align-items:start;padding:13px 0 15px;border-bottom:1px solid #d8ded5;scroll-margin-top:calc(var(--header-offset,78px) + 20px)}
.menu-v4 .menu-item-main{min-width:0}
.menu-v4 .menu-item-open{display:flex;flex-direction:column;align-items:flex-start;width:100%;min-height:44px;min-width:0;text-align:left;padding:0;border:0;border-radius:0;background:none;line-height:1.35}
.menu-v4 .menu-item-open:hover .menu-item-title,.menu-v4 .menu-item-open:focus-visible .menu-item-title{text-decoration:underline;text-decoration-color:#53906a;text-underline-offset:4px}
.menu-v4 .menu-item-title{font-size:15px;font-weight:600;line-height:1.3;overflow-wrap:anywhere}
.menu-v4 .menu-item-desc,.menu-v4 .menu-item-volume{font-size:12px;line-height:1.4;color:#57695e;margin-top:4px;overflow-wrap:anywhere}
.menu-v4 .menu-item-hint{font-size:11px;font-weight:600;color:#34704d;margin-top:4px}
.menu-v4 .menu-prices{min-width:102px;max-width:180px;align-self:start;text-align:right;font-variant-numeric:tabular-nums}
.menu-v4 .menu-price-line{display:grid;grid-template-columns:auto auto;justify-content:end;gap:12px;line-height:1.45;white-space:nowrap}
.menu-v4 .menu-price-line+.menu-price-line{margin-top:2px}
.menu-v4 .menu-size{font-size:11px;color:#58695e}
.menu-v4 .menu-price-value,.menu-v4 .menu-price-single{font-size:14px;font-weight:600;line-height:1.35;color:#183e2b;white-space:nowrap}
.menu-v4 .menu-price-verbatim{font-size:11px;line-height:1.35;margin:5px 0 0;color:#53665a;white-space:normal}
.menu-v4 .menu-empty{padding:24px;border:1px solid #cbd9ce;border-radius:5px;background:#fffefa;font-size:14px}
#product-dialog{padding:0;width:min(640px,calc(100% - 24px));max-height:calc(100dvh - 28px);border-radius:10px;overflow:auto;background:#faf9f4}
#product-dialog>.dialog-close{position:sticky;top:12px;float:right;z-index:2;min-width:44px;min-height:44px;margin:12px 12px -56px 0;padding:4px;background:#e8eee6;border:1px solid #9fbaa9;border-radius:50%;font-size:18px}
#product-dialog #product-detail{padding:28px 30px 12px;clear:both;overflow-wrap:anywhere}
#product-dialog .menu-detail-category{margin:0 54px 7px 0;font-size:11px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:#457051}
#product-dialog .menu-detail-title{font-size:clamp(32px,4vw,47px);line-height:1.06;letter-spacing:-.04em;margin:0 52px 12px 0}
#product-dialog .menu-detail-desc{font-size:15px;line-height:1.6;margin:0 0 16px}
#product-dialog .menu-detail-volume{font-size:12px;color:#53665a;margin:0 0 12px}
#product-dialog .menu-detail-section{padding:16px 0;border-top:1px solid #d6ddd3}
#product-dialog .menu-detail-section h3{font-family:Manrope,Arial,sans-serif;font-size:12px;line-height:1.4;font-weight:600;letter-spacing:.1em;text-transform:uppercase;margin:0 0 6px}
#product-dialog .menu-detail-section p{font-size:14px;line-height:1.55;margin:0}
#product-dialog .menu-detail-prices .menu-prices{max-width:none;min-width:0;text-align:left;width:max-content}
#product-dialog .menu-detail-prices .menu-price-line{justify-content:space-between;gap:28px}
#product-dialog .menu-detail-prices .menu-size{font-size:13px}
#product-dialog .menu-detail-prices .menu-price-value,#product-dialog .menu-detail-prices .menu-price-single{font-size:17px}
#product-dialog .menu-detail-disclaimer,#product-dialog .menu-detail-note{font-size:11px;line-height:1.6;color:#506156;margin:12px 0 0}
#product-dialog .menu-dialog-footer{position:sticky;bottom:0;z-index:2;padding:12px 30px calc(12px + env(safe-area-inset-bottom));background:#faf9f4;border-top:1px solid #d6ddd3;box-shadow:0 -7px 20px #faf9f4d9}
#product-dialog .menu-dialog-done{width:100%;min-height:48px;background:#183e2b;color:white;border:1px solid #183e2b;border-radius:4px;font-size:13px;font-weight:600}
@media(max-width:900px){.menu-v4 .menu-rows{grid-template-columns:1fr}.menu-v4 .menu-item{column-gap:18px}.menu-v4 .menu-item-title{font-size:16px}}
@media(max-width:760px){body:has(.menu-v4) .page-hero{display:block;padding:28px 6% 26px}body:has(.menu-v4) .page-hero h1{font-size:clamp(43px,10vw,66px)}body:has(.menu-v4) .page-hero .lede{margin-top:10px}body:has(.menu-v4) .page-hero>img{display:none}.menu-v4{padding-top:22px}.menu-v4 .filter-panel{padding:17px}.menu-v4 .menu-filter-top{grid-template-columns:1fr;gap:12px}.menu-v4 #menu-categories{margin:15px 0 11px}.menu-v4 .menu-group-button{padding-inline:12px;font-size:12px}.menu-v4 .filter-row{gap:6px 16px}.menu-v4 .filter-row label{flex-wrap:wrap}.menu-v4 #menu-count{margin-left:0}.menu-v4 .menu-results-heading{margin-top:24px}.menu-v4 .menu-results-heading p{display:none}.menu-v4 .menu-category-section{margin-bottom:22px}.menu-v4 .menu-category-heading{padding-top:14px}.menu-v4 .menu-item{padding:12px 0;column-gap:10px}.menu-v4 .menu-prices{min-width:92px}.menu-v4 .menu-price-line{gap:7px}.menu-v4 .menu-item-hint{font-size:11px}#product-dialog #product-detail{padding:24px 20px 12px}#product-dialog .menu-dialog-footer{padding-inline:20px}}
@media(max-width:390px){.menu-v4 .menu-item-title{font-size:14px}.menu-v4 .menu-item-desc{font-size:11px}.menu-v4 .menu-prices{min-width:88px}.menu-v4 .menu-price-value,.menu-v4 .menu-price-single{font-size:13px}.menu-v4 .menu-size{font-size:10px}}
