/* A compact product catalogue, with honest empty photo slots. */
.menu-app{--menu-paper:var(--surface);--menu-purple:var(--violet);--menu-ink:var(--ink);--menu-line:var(--line);--menu-muted:var(--muted);background:var(--menu-paper);color:var(--menu-ink);font-family:var(--font-body)}
.menu-app main{overflow:clip}
.menu-app :is(h1,h2,h3,button,input,select){font-family:inherit}
.menu-app [hidden]{display:none!important}
.menu-breadcrumb{display:flex;align-items:center;gap:10px;min-height:48px;padding-top:10px;color:var(--menu-muted);font-size:.8125rem}
.menu-breadcrumb a{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:4px}
.menu-breadcrumb a:hover{text-decoration:underline}
.menu-app-hero{display:flex;justify-content:space-between;align-items:end;gap:48px;padding-block:22px 34px}
.menu-app-copy h1{font-size:clamp(3.4rem,6.6vw,6rem);font-weight:750;letter-spacing:-.065em;line-height:1.1}
.menu-app-copy h1 em{display:inline-block;padding-right:.08em;padding-bottom:.06em;color:var(--menu-purple);font:normal 600 1em/1.1 Oswald,sans-serif;letter-spacing:-.065em}
.menu-app-copy>p{margin-top:15px;color:var(--menu-muted);font-size:1.0625rem;line-height:1.55}
.menu-app-copy{min-width:0}
.menu-place-chooser{flex:0 1 350px;min-width:0;padding-left:24px;border-left:2px solid var(--menu-purple);scroll-margin-top:calc(var(--menu-header-height,76px) + 20px)}
.menu-place-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:3px 12px;margin-bottom:7px}
.menu-place-chooser label{display:block;color:var(--menu-purple);font:normal 600 1.4rem/1.4 Oswald,sans-serif;letter-spacing:-.04em}
.menu-place-chooser select{display:block;width:100%;min-width:0;min-height:var(--control-height);padding:10px 12px;border:1px solid var(--menu-line);border-radius:var(--control-radius);background:var(--surface);color:var(--menu-ink);font-size:1rem;line-height:1.4}
.menu-place-description{margin-top:9px;font-size:.875rem;color:var(--menu-muted);line-height:1.5;overflow-wrap:anywhere}
.menu-place-link{display:inline-flex;align-items:center;gap:6px;min-height:var(--control-height-compact);padding-block:7px;color:var(--menu-purple);font-size:.8125rem;font-weight:650;line-height:1.4;text-underline-offset:4px}
.menu-place-link:hover{text-decoration:underline}
.menu-browser{padding-bottom:68px}
.menu-controls-shell{position:sticky;top:var(--menu-header-height,76px);z-index:12;border-block:1px solid var(--menu-line);background:var(--menu-paper)}
.menu-app .menu-controls{display:block;border:0;padding:12px 0;margin:0 auto}
.menu-app .menu-filters{display:flex;flex-wrap:wrap;gap:8px;overflow:visible;margin:0;padding:0}
.menu-app .filter{display:inline-flex;justify-content:center;align-items:center;gap:10px;min-height:var(--control-height-compact);padding:10px 24px;border:1px solid transparent;border-radius:var(--control-radius);background:transparent;color:var(--menu-muted);font-size:.9375rem;font-weight:600;white-space:nowrap}
.menu-app .filter small{font-size:.75rem;font-weight:500;color:inherit;opacity:.85}
.menu-app .filter:hover{background:var(--surface-soft);color:var(--menu-ink)}
.menu-app .filter.selected{background:var(--menu-purple);border-color:var(--menu-purple);color:#fff;box-shadow:none}
.menu-app .filter.selected:before{display:none}
.menu-app :is(.filter,.menu-product-open,.menu-place-link,.menu-place-chooser select,.menu-cafe-links a,.dish-dialog-close):focus-visible{outline:3px solid var(--menu-purple);outline-offset:4px}
.menu-catalog{padding-bottom:0}
.menu-catalog-top{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-top:24px}
.menu-app .catalog-count{margin:0;color:var(--menu-muted);font-size:.9375rem;font-weight:500}
.menu-app .menu-search{display:block;width:min(360px,65%);margin:0}
.menu-search-field{display:flex;align-items:center;gap:10px;min-height:var(--control-height);padding:0 15px;border:1px solid var(--menu-line);border-radius:var(--control-radius);background:#fff}
.menu-search-field>span{color:var(--menu-muted);font-size:1.5rem;line-height:1}
.menu-app .menu-search input{width:100%;min-width:0;min-height:var(--control-height-compact);padding:9px 0;border:0;border-radius:0;background:transparent;color:var(--menu-ink);font-size:.875rem;outline:0}
.menu-app .menu-search input::placeholder{color:var(--menu-muted);opacity:1}
.menu-app .menu-search input:focus-visible{outline:0}
.menu-search-field:focus-within{outline:3px solid var(--menu-purple);outline-offset:3px}
.menu-preview-note{margin-top:10px;font-size:.8125rem;line-height:1.5;color:var(--menu-muted)}
.menu-chapter{display:block;padding:32px 0 8px;scroll-margin-top:160px;border:0}
.menu-chapter+.menu-chapter{margin-top:36px;padding-top:38px;border-top:1px solid var(--menu-line)}
.menu-chapter-heading{display:block;margin:0 0 22px}
.menu-chapter-heading h2{font-size:var(--type-section);line-height:1.14;font-weight:700;letter-spacing:-.045em}
.menu-chapter-heading p{margin-top:7px;color:var(--menu-muted);font-size:.9375rem;line-height:1.5}
.menu-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.menu-product-grid-four{grid-template-columns:repeat(4,minmax(0,1fr))}
.menu-product{min-width:0;margin:0;background:transparent;border:0;border-radius:0;box-shadow:none}
.menu-product-open{display:flex;flex-direction:column;width:100%;height:100%;padding:0;border:0;border-radius:18px;background:transparent;color:inherit;text-align:left;cursor:pointer}
.menu-product-art{position:relative;display:block;flex:none;width:100%;aspect-ratio:1.35;overflow:hidden;border-radius:18px;background:var(--surface-soft)}
.menu-product-art img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.menu-product-open:hover img{transform:scale(1.035)}
.menu-product-art i{position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#fff;color:var(--menu-ink);font-style:normal;font-size:1.2rem;transition:background .18s ease}
.menu-product-open:hover .menu-product-art i{background:var(--lime)}
.menu-photo-pending{display:flex;justify-content:center;align-items:center;width:100%;height:100%;padding:24px;background:color-mix(in srgb,var(--surface) 94%,var(--ink));color:var(--menu-muted)}
.menu-photo-pending>span{font-size:.875rem;font-weight:500;letter-spacing:0;line-height:1.5;text-align:center}
.menu-product.awaiting-photo{align-self:start;border-top:1px solid var(--menu-line)}
.menu-app .awaiting-photo .menu-product-art{display:flex;align-items:center;justify-content:space-between;aspect-ratio:auto;min-height:var(--control-height-compact);overflow:visible;border-radius:0;background:transparent}
.awaiting-photo .menu-photo-pending{width:auto;height:auto;padding:0;background:transparent}
.awaiting-photo .menu-photo-pending>span{font-size:.75rem;text-align:left}
.awaiting-photo .menu-product-art i{position:static;flex:none;width:32px;height:32px;border-radius:50%;background:transparent;color:var(--menu-purple)}
.menu-app .awaiting-photo .menu-product-copy{flex:none;min-height:0;padding-top:7px}
.menu-app .awaiting-photo .menu-product-description{display:block;overflow:visible;-webkit-line-clamp:unset}
.menu-app .awaiting-photo .menu-product-meta{margin-top:0}
.menu-app .awaiting-photo .menu-product-open{flex:none}
.menu-product-copy{display:flex;flex-direction:column;flex:1;width:100%;min-height:142px;padding:17px 2px 0}
.menu-product-name{font-size:var(--type-product);line-height:1.35;font-weight:var(--weight-product);letter-spacing:-.025em;overflow-wrap:anywhere}
.menu-product-description{display:-webkit-box;overflow:hidden;margin-top:8px;color:var(--menu-muted);font-size:.875rem;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.menu-product-meta{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-top:auto;padding-top:17px}
.menu-product-price{font-size:1.1875rem;font-weight:700;white-space:nowrap}
.menu-product-meta .dish-weight{margin:0;color:var(--menu-muted);font-size:.8125rem;text-align:right;line-height:1.35}
.menu-product-grid-four .menu-product-art{aspect-ratio:1.12}

.menu-product-grid-four .menu-product-copy{min-height:142px}
.menu-app .empty-state{padding:60px 20px 30px;text-align:center}
.menu-app .empty-state h2{font-size:1.8rem}
.menu-app .empty-state p{margin:14px auto 24px;max-width:450px;color:var(--menu-muted)}
.menu-cafes{padding:52px 0;background:var(--surface-soft);scroll-margin-top:110px}
.menu-cafes>.wrap{display:grid;grid-template-columns:1fr 1.1fr;gap:70px;align-items:center}
.menu-cafes h2{font-size:var(--type-section);font-weight:700;letter-spacing:-.05em;line-height:1.1}
.menu-cafes header p{margin-top:18px;color:var(--menu-muted);font-size:.9375rem;line-height:1.6}
.menu-cafe-phone{display:inline-flex;align-items:center;min-height:44px;margin-top:12px;color:var(--menu-purple);font-size:1.125rem;font-weight:650}
.menu-cafe-links{display:grid;gap:10px}
.menu-cafe-links a{display:grid;grid-template-columns:1fr 42px;gap:6px 15px;align-items:center;padding:18px 21px;background:#fff;border-radius:14px}
.menu-cafe-links a>span{font-size:1.125rem;font-weight:650;letter-spacing:-.025em}
.menu-cafe-links small{grid-column:1;color:var(--menu-muted);font-size:.8125rem;line-height:1.4}
.menu-cafe-links i{grid-column:2;grid-row:1/3;display:grid;place-items:center;width:42px;height:42px;background:var(--surface-soft);border-radius:50%;color:var(--menu-purple);font-size:1.35rem;font-style:normal}
.menu-cafe-links a:hover i{background:var(--lime);color:var(--menu-ink)}
.dish-dialog{width:min(930px,calc(100% - 40px));max-height:calc(100dvh - 40px);margin:auto;padding:0;border:0;border-radius:22px;overflow:auto;background:var(--menu-paper);color:var(--menu-ink);box-shadow:0 25px 80px color-mix(in srgb,var(--ink) 21%,transparent)}
.dish-dialog::backdrop{background:color-mix(in srgb,var(--ink) 68%,transparent);backdrop-filter:blur(5px)}
.dish-dialog-close{position:absolute;right:13px;top:13px;z-index:2;display:grid;place-items:center;width:var(--control-height);height:var(--control-height);padding:0;border:1px solid var(--menu-line);border-radius:50%;background:#fff;color:var(--menu-ink);font-size:1.8rem;line-height:1}
.dish-dialog-grid{display:grid;grid-template-columns:1fr 1.05fr;min-height:510px}
.dish-dialog-grid>figure{height:100%;min-height:510px;margin:0;background:var(--surface-soft)}
.dish-dialog-grid>figure img{display:block;width:100%;height:100%;min-height:510px;object-fit:cover}
.dish-dialog-grid .menu-photo-pending{min-height:510px;padding:38px}
.dish-dialog-no-photo{width:min(640px,calc(100% - 40px))}
.dish-dialog-no-photo .dish-dialog-grid{display:block;min-height:0}
.dish-dialog-no-photo .dish-dialog-grid>figure{height:auto;min-height:0;padding:25px 35px 0;background:transparent}
.dish-dialog-no-photo .dish-dialog-grid .menu-photo-pending{justify-content:flex-start;min-height:0;padding:0;background:transparent}
.dish-dialog-no-photo .dish-dialog-copy{padding-top:12px}

.dish-dialog-copy{display:flex;flex-direction:column;padding:52px 35px 32px}
.dish-dialog-copy>span{color:var(--menu-purple);font-size:.875rem;font-weight:600}
.dish-dialog-copy h2{margin-top:12px;font-size:2rem;line-height:1.12;font-weight:700;letter-spacing:-.04em}
.dish-dialog-copy>p:not(.dish-dialog-note){margin-top:16px;color:var(--menu-muted);font-size:1rem;line-height:1.55}
.dish-dialog-copy>.dish-dialog-place{font-size:.875rem!important;line-height:1.5!important}
.dish-dialog-copy dl{display:grid;gap:14px;margin:26px 0 0;padding:22px 0;border-block:1px solid var(--menu-line)}
.dish-dialog-copy dl>div{display:grid;grid-template-columns:85px 1fr;gap:15px;font-size:.875rem;line-height:1.45}
.dish-dialog-copy dt{color:var(--menu-muted)}
.dish-dialog-copy dd{margin:0}
.dish-dialog-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:auto;padding-top:25px}
.dish-dialog-bottom>div{display:grid;gap:3px}
.dish-dialog-bottom small{color:var(--menu-muted);font-size:.75rem}
.dish-dialog-bottom strong{font-size:1.5rem;font-weight:700;white-space:nowrap}
.dish-dialog-bottom .button{min-height:var(--control-height);padding-inline:17px;white-space:normal;font-size:var(--control-font-size);text-align:center}
.dish-dialog-note{margin-top:19px!important;color:var(--menu-muted)!important;font-size:.75rem!important;line-height:1.5!important}
html:has(.dish-dialog[open]){overflow:hidden}
@media(max-width:1000px){
 .menu-product-grid{gap:18px}.menu-product-grid-four{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-product-grid-four .menu-product-art{aspect-ratio:1.35}.menu-cafes>.wrap{gap:35px}
 .menu-product-copy{min-height:165px}.menu-product-grid-four .menu-product-copy{min-height:145px}
}
@media(max-width:700px){
 .menu-app .wrap{width:calc(100% - 32px)}.menu-breadcrumb{min-height:43px;padding-top:5px;font-size:.75rem}
 .menu-app-hero{display:block;padding-block:12px 22px}.menu-app-copy h1{font-size:3.35rem;letter-spacing:-.06em}.menu-app-copy>p{margin-top:9px;font-size:.9375rem;line-height:1.5}.menu-place-chooser{margin-top:18px;padding:0;border:0}.menu-place-chooser label{font-size:1.35rem}.menu-place-description{font-size:.8125rem}
 .menu-controls-shell{top:var(--menu-header-height,68px)}.menu-app .menu-controls{padding-block:9px}.menu-app .menu-filters{gap:3px}.menu-app .filter{flex:1 0 auto;min-width:auto;min-height:var(--control-height-compact);padding:9px 6px;border-radius:var(--control-radius);font-size:.875rem}.menu-app .filter small{display:none}
 .menu-catalog-top{gap:14px;padding-top:17px}.menu-app .catalog-count{font-size:.8125rem;white-space:nowrap}.menu-app .menu-search{width:100%;max-width:275px}.menu-search-field{min-height:var(--control-height);padding-inline:11px;gap:7px}.menu-app .menu-search input{font-size:.8125rem}.menu-search-field>span{font-size:1.3rem}
 .menu-preview-note{max-width:460px;margin-top:9px;font-size:.75rem;line-height:1.5}
 .menu-chapter{padding-top:25px}.menu-chapter+.menu-chapter{margin-top:26px;padding-top:28px}.menu-chapter-heading{margin-bottom:16px}.menu-chapter-heading h2{font-size:var(--type-section)}.menu-chapter-heading p{margin-top:4px;font-size:.8125rem}
 .menu-product-grid,.menu-product-grid-four{grid-template-columns:repeat(auto-fit,minmax(min(100%,8.5rem),1fr));gap:25px 14px}.menu-product-art,.menu-product-grid-four .menu-product-art{aspect-ratio:1.13;border-radius:14px}.menu-product-open{border-radius:14px}
 .menu-photo-pending{padding:16px}.menu-product-art i{right:8px;bottom:8px;width:30px;height:30px;font-size:1rem}
 .menu-product-copy,.menu-product-grid-four .menu-product-copy{min-height:143px;padding:12px 0 0}.menu-product-description{margin-top:6px;font-size:.8125rem;line-height:1.45}.menu-product-meta{gap:5px;padding-top:12px;align-items:baseline}.menu-product-price{font-size:1.0625rem}.menu-product-meta .dish-weight{font-size:.6875rem}
 .menu-browser{padding-bottom:39px}.menu-cafes{padding:35px 0}.menu-cafes>.wrap{grid-template-columns:1fr;gap:25px}.menu-cafes h2{font-size:var(--type-section)}.menu-cafes header p{font-size:.875rem;margin-top:14px}.menu-cafes header p br{display:none}.menu-cafe-phone{font-size:1.0625rem;margin-top:6px}.menu-cafe-links a{padding:17px 18px}.menu-cafe-links a>span{font-size:1.0625rem}
 .dish-dialog{width:100%;max-width:none;max-height:92dvh;margin:auto 0 0;border-radius:22px 22px 0 0}.dish-dialog-grid{display:block;min-height:0}.dish-dialog-grid>figure{height:245px;min-height:0}.dish-dialog-grid>figure img{min-height:0;height:100%}.dish-dialog-grid .menu-photo-pending{min-height:0;padding:30px}.dish-dialog-copy{padding:25px 22px}.dish-dialog-copy h2{font-size:1.8rem}.dish-dialog-copy>p:not(.dish-dialog-note){font-size:.9375rem}.dish-dialog-copy dl{margin-top:22px}.dish-dialog-bottom{padding-top:23px}
 .dish-dialog-no-photo .dish-dialog-grid>figure{height:auto;min-height:0;padding:25px 22px 0}.dish-dialog-no-photo .dish-dialog-grid .menu-photo-pending{padding:0}
}
@media(max-width:360px){
 .menu-app-copy h1{font-size:2.8rem}.menu-app .filter{font-size:.875rem;padding-inline:6px}.menu-app .menu-search input{font-size:.75rem}.menu-catalog-top{gap:10px}.menu-product-grid{gap:22px 12px}.menu-product-copy,.menu-product-grid-four .menu-product-copy{min-height:169px}.menu-photo-pending{padding:13px}.menu-product-art i{width:25px;height:25px;right:7px;bottom:7px}.menu-product-meta{align-items:flex-start;flex-direction:column;gap:3px}.dish-dialog-bottom{flex-wrap:wrap}.dish-dialog-bottom .button{flex:1}.menu-product-meta .dish-weight{text-align:left}
}
@media(prefers-reduced-motion:reduce){.menu-product-art img,.menu-product-art i{transition:none}}
/* Comfortable supporting text in the compact catalogue. */
.menu-app .awaiting-photo .menu-product-art{min-height:var(--control-height-compact)}
.menu-app .menu-cafe-links small{font-size:.875rem}
@media(max-width:700px){
 .menu-app .menu-product-description{font-size:.875rem;line-height:1.5}
 .menu-app .menu-product-meta .dish-weight,.menu-app .menu-preview-note{font-size:.75rem}
 .menu-app .menu-search input{font-size:1rem}
 .menu-app .menu-product-copy,.menu-app .menu-product-grid-four .menu-product-copy{min-height:154px}
}
