/* Restaurant page layout. Appearance variables come from Preferences. */
html { box-sizing:border-box; scroll-padding-top:20px; }
*, *::before, *::after { box-sizing:inherit; }
body { margin:0; font-family:Georgia,'Times New Roman',serif; -webkit-text-size-adjust:100%; }
.customer-notice { width:calc(100% - 32px); max-width:1040px!important; margin:20px auto!important; padding:18px 24px!important; border-width:1px!important; border-radius:12px!important; font-family:system-ui,sans-serif!important; text-align:center; }
.customer-notice h2 { color:var(--ev-heading); font-weight:650; margin-bottom:8px!important; }
.customer-notice p { margin-bottom:8px!important; }
.customer-notice p:last-child { margin-bottom:0!important; }
.site-nav { padding:6px max(12px,calc((100vw - 1160px)/2)); gap:8px; }
.site-nav ._jumpMenu { gap:2px; }
.site-nav ._jumpMenu li { border:0; }
.site-nav ._jumpMenu li a { padding:10px 8px; border-radius:5px; font-family:system-ui,sans-serif; font-weight:550; font-size:calc(14px * var(--ev-scale)); line-height:1.4; }
._header { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); align-items:center; gap:40px; width:calc(100% - 48px); max-width:1040px; margin:36px auto; padding:0 0 30px; border-bottom:1px solid var(--ev-line); }
._logoBlock { grid-column:2; grid-row:1; width:100%; min-width:0; float:none; }
._logo { display:block; width:100%; height:auto; float:none; margin:0; border-radius:8px; }
._info { grid-column:1; grid-row:1; width:100%; float:none; padding:0; font-size:calc(17px * var(--ev-scale)); line-height:var(--reading-leading); font-family:system-ui,sans-serif; }
.subHeadPoints { margin:16px 0 0; color:var(--ev-text); }
.subHeadPoints li { margin:3px 0; }
.subHeadPoints li:first-child { font-weight:650; }
.subLunchOrders { color:var(--ev-heading); }
.menu-table-scroll { width:calc(100% - 48px); max-width:1040px; margin:0 auto 28px; border:1px solid var(--ev-line); border-radius:12px; background:var(--ev-panel); }
._items { width:100%; min-width:0; margin:0; border-collapse:collapse; font-size:1em; }
._items td, ._items th { padding:14px 18px; vertical-align:top; font-size:1em; border-bottom:1px solid var(--ev-line); }
._items thead tr:first-child th { padding:20px 18px 14px; background:var(--ev-raised); color:var(--ev-heading); }
._items b { font-size:1.2em; font-weight:bold; text-align:left; }
._items th { font-family:system-ui,sans-serif; font-size:.75em; font-weight:650; }
._items td:not(:first-child) { font-variant-numeric:tabular-nums; }
._items tbody tr:last-child td { border-bottom:0; }
._items tr:hover td { background:var(--ev-raised); }
._items .subHeading { color:var(--ev-heading); font-size:1em; font-weight:bold; }
._items .subHead { color:var(--ev-muted); font-size:.85em; }
._footer { width:calc(100% - 48px); max-width:1040px; margin:48px auto 24px; padding:28px 20px; border-top:2px solid var(--ev-gold); font:calc(15px * var(--ev-scale))/var(--reading-leading) system-ui,sans-serif; }
._footer p { margin:0 0 12px; }
._footer h1 { margin:16px 0; color:var(--ev-heading); font-size:1.2em; font-weight:750; letter-spacing:.04em; }
._footer hr { border:0; border-top:1px solid var(--ev-line); margin:20px 0; }
._footer a { text-decoration:underline; text-underline-offset:3px; }
body > center { margin:20px auto; max-width:calc(100% - 32px); }
body > center img { max-width:100%; height:auto; border-radius:8px; }
#circle-r-ribbon { background:white; border-radius:50%; }
@media(max-width:768px) {
 .customer-notice { width:calc(100% - 24px); margin:12px auto!important; padding:16px!important; font-size:calc(16px * var(--ev-scale))!important; }
 .site-nav { padding:4px 8px; }
 .site-nav ._jumpMenu li a { padding:12px; font-size:calc(16px * var(--ev-scale)); }
 ._header { display:flex; flex-direction:column; gap:22px; width:calc(100% - 32px); margin:24px auto; padding-bottom:24px; }
 ._logoBlock { width:100%; min-width:0; max-width:480px; }
 ._info { width:100%; font-size:calc(16px * var(--ev-scale)); }
 .menu-table-scroll { width:calc(100% - 24px); margin-bottom:20px; border-radius:10px; }
 ._items td, ._items th { padding:12px 10px; }
 ._items thead tr:first-child th { padding:16px 12px; }
 ._items { font-size:calc(18px * var(--ev-scale)); }
 ._items[data-price-grid] { display:block; }
 ._items[data-price-grid] thead, ._items[data-price-grid] tbody { display:block; }
 ._items[data-price-grid] tr { display:block; }
 ._items[data-price-grid] thead tr:nth-child(2) { display:none; }
 ._items[data-price-grid] th { display:block; width:100%; }
 ._items[data-price-grid] tr[data-priced-row] { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding:14px 12px; gap:10px 4px; border-bottom:1px solid var(--ev-line); }
 ._items[data-price-grid] tr[data-priced-row] td { padding:0; border:0; min-width:0; overflow-wrap:anywhere; }
 ._items[data-price-grid] tr[data-priced-row] td:first-child { grid-column:1/-1; font-weight:bold; }
 ._items[data-price-grid] td[data-size] { text-align:center!important; font-size:.85em; }
 ._items[data-price-grid] td[data-size]::before { content:attr(data-size); display:block; margin-bottom:3px; font:600 .72em/1.5 system-ui,sans-serif; color:var(--ev-muted); }
 ._items[data-price-grid] tr:not([data-priced-row]) td { display:block; }
 ._footer { width:calc(100% - 32px); margin-top:30px; padding:24px 0; }
}
@media print { .customer-notice { border-color:#777!important; } ._header,.menu-table-scroll,._footer { width:100%; max-width:none; } .menu-table-scroll { border:0; break-inside:auto; } ._items tr { break-inside:avoid; } }
/* Reset the legacy 98% table header width in the mobile price layout. */
@media(max-width:768px) {
 ._items[data-price-grid] thead,
 ._items[data-price-grid] tbody { width:100%; min-width:0; }
}
/* Slightly tighter page rhythm, preserving control touch targets. */
.customer-notice { margin:16px auto!important; padding:14px 20px!important; }
._header { gap:32px; margin:28px auto; padding-bottom:24px; }
.menu-table-scroll { margin-bottom:22px; }
._items td, ._items th { padding:12px 16px; }
._items thead tr:first-child th { padding:16px 16px 12px; }
._footer { margin-top:38px; padding:24px 16px; }
@media(max-width:768px) {
 .customer-notice { margin:10px auto!important; padding:12px 14px!important; }
 ._header { gap:18px; margin:20px auto; padding-bottom:20px; }
 .menu-table-scroll { margin-bottom:16px; }
 ._items td, ._items th { padding:10px 9px; }
 ._items thead tr:first-child th { padding:13px 12px; }
 ._items[data-price-grid] tr[data-priced-row] { padding:12px 12px; gap:8px 4px; }
 ._items[data-price-grid] tr[data-priced-row] td { padding:0; }
 ._footer { margin-top:24px; padding:20px 0; }
}
/* Ordering information beside the logo. */
._info.order-info { text-align:left; }
.order-eyebrow { margin:0 0 8px; color:var(--ev-gold); font-size:.72em; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
.order-hours { margin:0 0 16px; color:var(--ev-heading); font-size:1.85em; font-weight:750; line-height:1.25; letter-spacing:-.025em; }
.order-hours span { display:block; color:var(--ev-text); font-weight:500; font-size:.75em; margin-top:4px; letter-spacing:0; }
a.order-address { display:inline-block; color:var(--ev-text); text-decoration:none; line-height:var(--reading-leading); }
.order-address span { color:var(--ev-gold); font-size:.85em; text-decoration:underline; text-underline-offset:3px; }
.order-delivery { margin:18px 0; padding:10px 14px; border-left:3px solid var(--ev-gold); border-radius:0 7px 7px 0; background:var(--ev-raised); color:var(--ev-heading); font-size:.9em; font-weight:650; }
.order-delivery span { display:block; color:var(--ev-muted); font-size:.85em; font-weight:400; }
a.order-call { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:4px 16px; min-height:52px; padding:12px 16px; border-radius:8px; background:#8e1327; color:#fff; text-decoration:none; font-weight:700; }
a.order-call:hover { background:#680c1b; color:#fff; text-decoration:none; }
.order-call span { font-variant-numeric:tabular-nums; white-space:nowrap; }
a.order-cell { display:inline-flex; align-items:center; min-height:44px; margin-top:4px; font-size:.85em; text-underline-offset:3px; }
.order-notes { margin:10px 0 0; color:var(--ev-muted); font-size:.76em; line-height:var(--reading-leading); }
@media(max-width:768px) {
 ._info.order-info { text-align:left; max-width:480px; }
 .order-hours { font-size:1.75em; }
 .order-hours span { display:inline-block; margin-left:8px; margin-top:0; }
 .order-delivery { margin:14px 0; }
}
/* Balance the ordering block on portrait phones. */
@media(max-width:768px) and (orientation:portrait) {
 ._info.order-info { text-align:center; padding-inline:8px; }
 .order-delivery { text-align:center; }
 .order-call { text-align:left; }
 .order-cell { justify-content:center; }
}
.order-details { display:contents; }
.order-location { display:contents; }
@media(max-width:768px) and (orientation:portrait) {
 ._info.order-info { text-align:left; }
 .order-eyebrow { text-align:center; margin-bottom:16px; }
 .order-details { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:18px; align-items:start; }
 .order-location { display:block; min-width:0; }
 .order-details .order-hours { font-size:1.35em; margin-bottom:12px; }
 .order-details .order-hours span { display:block; margin:4px 0 0; }
 .order-details .order-address { font-size:.83em; overflow-wrap:anywhere; }
 .order-details .order-notes { margin:0; padding-left:14px; border-left:1px solid var(--ev-line); font-size:.8em; }
 .order-details .order-notes br { display:block; content:""; margin-top:14px; }
 .order-cell { display:flex!important; justify-content:center; }
}
.order-notes p { margin:0; }
.order-notes p + p { margin-top:8px; }
@media(max-width:768px) and (orientation:portrait) {
 .order-details { gap:12px 18px; }
 .order-details .order-location, .order-details .order-notes { display:contents; }
 .order-details .order-hours { grid-column:1; grid-row:1; margin:0; }
 .order-details .order-address { grid-column:1; grid-row:2; }
 .order-note-lunch, .order-note-holidays { padding-left:14px; border-left:1px solid var(--ev-line); color:var(--ev-muted); font-size:.8em; line-height:var(--reading-leading); }
 .order-details .order-note-lunch { grid-column:2; grid-row:1; margin:0; }
 .order-details .order-note-holidays { grid-column:2; grid-row:2; margin:0; }
}
@media(max-width:768px) and (orientation:portrait) {
 .order-details { position:relative; }
 .order-details::before { content:""; position:absolute; top:0; bottom:0; left:calc((100% - 18px) * .53488372 + 9px); width:1px; background:var(--ev-line); }
 .order-note-lunch, .order-note-holidays { border-left:0; }
}
a.order-call-secondary { margin-top:10px; background:var(--ev-raised); border:1px solid var(--ev-gold); color:var(--ev-gold); }
a.order-call-secondary:hover { background:var(--ev-panel); color:var(--ev-heading); }
/* Landscape header: information and logo above a shared action row. */
@media(min-width:769px) and (orientation:landscape) {
 ._header { grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:20px 32px; align-items:center; }
 ._info.order-info { display:contents; }
 .order-details { display:block; grid-column:1; grid-row:1; }
 .order-location { display:block; }
 .order-details .order-hours { font-size:1.5em; margin-bottom:12px; }
 .order-details .order-hours span { display:inline-block; margin:0 0 0 10px; font-size:.7em; }
 .order-details .order-address { font-size:.83em; }
 .order-details .order-notes { font-size:.72em; margin-top:12px; }
 ._logoBlock { grid-column:2; grid-row:1; align-self:center; }
 .order-delivery { grid-column:1/-1; grid-row:2; margin:0; padding:10px 16px; font:600 calc(15px * var(--ev-scale))/var(--reading-leading) system-ui,sans-serif; }
 .order-delivery span { display:inline; margin-left:14px; }
 a.order-call { grid-column:1; grid-row:3; font:650 calc(16px * var(--ev-scale))/1.5 system-ui,sans-serif; }
 a.order-call-secondary { grid-column:2; grid-row:3; margin:0; }
}
@media(max-width:768px) and (orientation:landscape) {
 ._header { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px 24px; }
 ._info.order-info { display:contents; }
 .order-details { display:block; grid-column:1; grid-row:1; }
 .order-location { display:block; }
 ._logoBlock { grid-column:2; grid-row:1; }
 .order-details .order-hours { font-size:1.3em; }
 .order-details .order-address { font-size:.8em; }
 .order-details .order-notes { font-size:.7em; }
 .order-delivery { grid-column:1/-1; grid-row:2; margin:0; font:600 calc(14px * var(--ev-scale))/1.6 system-ui,sans-serif; }
 a.order-call { grid-column:1; grid-row:3; font:650 calc(14px * var(--ev-scale))/1.5 system-ui,sans-serif; }
 a.order-call-secondary { grid-column:2; grid-row:3; margin:0; }
}
/* A complete footer, with locally hosted vector award artwork. */
.restaurant-footer { width:calc(100% - 48px); max-width:1040px; margin:40px auto 0; border-top:3px solid var(--ev-gold); color:var(--ev-text); font:calc(15px * var(--ev-scale))/var(--reading-leading) system-ui,sans-serif; }
.restaurant-footer * { min-width:0; }
.restaurant-footer p { margin:0 0 12px; }
.footer-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:28px 0 24px; }
.footer-kicker { color:var(--ev-gold); font-size:.72em; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.footer-heading h2 { margin:0; color:var(--ev-heading); font:700 2em/1.2 Georgia,serif; }
.restaurant-footer a { text-decoration:none; text-underline-offset:4px; }
.restaurant-footer a:hover { text-decoration:underline; }
.footer-top { display:inline-flex; align-items:center; min-height:44px; padding:8px 14px; border:1px solid var(--ev-line); border-radius:7px; white-space:nowrap; }
.footer-details { display:grid; grid-template-columns:1fr 1fr 1.1fr; gap:30px; padding:24px 0 30px; border-top:1px solid var(--ev-line); }
.footer-details section + section { border-left:1px solid var(--ev-line); padding-left:26px; }
.restaurant-footer h3 { margin:0 0 14px; font-size:.8em; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--ev-heading); }
.footer-details p { color:var(--ev-muted); font-size:.9em; }
.footer-details .footer-cash,.footer-details .footer-feature { color:var(--ev-heading); font-size:1.2em; font-weight:700; }
.footer-details .footer-cash { display:inline-block; padding:6px 12px; border:1px solid var(--ev-gold); border-radius:6px; background:var(--ev-raised); }
.footer-details a { display:flex; align-items:center; min-height:36px; overflow-wrap:anywhere; }
.footer-awards { display:grid; grid-template-columns:1.1fr 1fr 1fr; gap:24px; align-items:center; padding:28px; border:1px solid var(--ev-line); border-radius:12px; background:var(--ev-panel); }
.footer-awards-intro h3 { font:700 1.6em/1.3 Georgia,serif; letter-spacing:0; text-transform:none; }
.footer-awards-intro > p:last-child { color:var(--ev-muted); font-size:.85em; }
a.footer-award { display:block; align-self:stretch; padding:14px; border:1px solid var(--ev-line); border-radius:9px; background:var(--ev-page); color:var(--ev-heading); }
.award-art { display:flex; align-items:center; justify-content:center; height:190px; margin-bottom:12px; border-radius:6px; background:#fff; padding:12px; }
.award-art img { display:block; width:auto; height:auto; max-width:100%; max-height:100%; }
.footer-award > span { display:block; font-size:.85em; font-weight:650; }
.footer-award > span > span { display:block; color:var(--ev-muted); font-size:.85em; font-weight:400; margin-top:3px; }
.footer-bottom { display:flex; justify-content:space-between; gap:16px; padding:22px 0; font-size:.75em; color:var(--ev-muted); }
@media(max-width:768px) {
 .restaurant-footer { width:calc(100% - 32px); margin-top:28px; }
 .footer-heading { flex-wrap:wrap; padding:22px 0; }
 .footer-details { grid-template-columns:1fr 1fr; gap:22px; }
 .footer-details section + section { padding-left:0; border-left:0; }
 .footer-details section:last-child { grid-column:1/-1; border-top:1px solid var(--ev-line); padding-top:20px; }
 .footer-details a { min-height:44px; }
 .footer-awards { grid-template-columns:1fr 1fr; gap:12px; padding:16px; }
 .footer-awards-intro { grid-column:1/-1; }
 .award-art { height:150px; padding:6px; }
 a.footer-award { padding:10px; }
}
@media(max-width:480px) { .footer-awards { padding:12px; gap:10px; } .award-art { height:130px; } .footer-heading h2 { font-size:1.8em; } }
@media print { .restaurant-footer { width:100%; break-inside:avoid; } .footer-top,.footer-bottom { display:none; } }
/* Separate awards with the same simple rule as the information section. */
.footer-awards { border:0; border-top:1px solid var(--ev-line); border-radius:0; padding:28px 0; background:transparent; }
@media(max-width:768px) { .footer-awards { padding:22px 0; } }
/* Let the award artwork stand on its own without card frames. */
a.footer-award { border:0; border-radius:0; background:transparent; }
/* Keep the complete footer in the normal portrait document flow. */
.restaurant-footer, .footer-awards { height:auto; max-height:none; overflow:visible; }
.award-art img { object-fit:contain; }
@media(max-width:768px) and (orientation:portrait) {
 .footer-awards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); padding-bottom:28px; }
 .footer-award { visibility:visible; }
}
@media(max-width:768px) and (orientation:portrait) {
 .footer-details section:last-child { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 16px; align-items:start; }
 .footer-details section:last-child h3 { grid-column:1/-1; margin-bottom:8px; }
 .footer-details section:last-child a { font-size:.85em; }
}
/* One compact header, with a shared brand and Menu disclosure. */
html{scroll-padding-top:90px}.site-nav{position:relative;display:flex;align-items:center;flex-wrap:nowrap;justify-content:flex-start;gap:12px;min-height:76px;margin:0;padding:10px max(16px,calc((100vw - 1040px)/2));z-index:100;background:#8e1327}
.restaurant-brand:not([hidden]){display:inline-flex;align-items:center;gap:10px;margin:0 auto 0 0;padding:4px 0;background:transparent;border:0;color:white;font:700 22px/1.2 Georgia,serif;cursor:pointer;white-space:nowrap;min-height:44px}.restaurant-brand img{width:32px;height:32px;object-fit:contain;flex:none}.site-nav #ev-preferences-button{order:0;margin-left:auto;color:white}
.site-nav .mobile-menu-toggle:not([hidden]){display:inline-flex;align-items:center;justify-content:center;gap:8px;order:1;min-height:44px;padding:10px 14px;border:1px solid #bd6573;border-radius:24px;background:transparent;color:white;font:600 14px/1.4 system-ui,sans-serif;cursor:pointer}.site-nav .menu-chevron{display:none}
html.nav-ready .site-nav ._jumpMenu{display:none;position:absolute;top:calc(100% + 8px);right:max(16px,calc((100vw - 1040px)/2));width:min(360px,calc(100vw - 32px));max-height:calc(100dvh - 100px);overflow:auto;padding:10px;margin:0;border:1px solid #bd6573;border-radius:12px;background:#8e1327;box-shadow:0 15px 40px #0003;z-index:101}
html.nav-ready .site-nav.menu-open ._jumpMenu{display:grid;grid-template-columns:1fr 1fr;gap:4px}.site-nav ._jumpMenu li{border:0;min-width:0}.site-nav ._jumpMenu li a{justify-content:flex-start;text-align:left;min-height:48px;padding:10px 12px;font:600 15px/1.4 system-ui,sans-serif;color:white}
.site-nav.restaurant-directional-header{position:fixed;top:0;left:0;right:0;width:100%;transform:translateY(0);transition:transform .18s ease}.site-nav.restaurant-directional-header.is-scroll-hidden{transform:translateY(-100%);pointer-events:none}.footer-bottom{justify-content:center;border-top:1px solid var(--ev-line);margin-top:20px;text-align:center}.footer-bottom a{font-weight:600;text-underline-offset:.2em}
@media(max-width:768px){.site-nav{gap:8px;padding:10px 16px;min-height:72px}.restaurant-brand:not([hidden]){font-size:19px;gap:8px}.restaurant-brand img{width:26px;height:26px}.site-nav ._jumpMenu{order:2}.site-nav .mobile-menu-toggle:not([hidden]){padding:10px 12px}.site-nav #ev-preferences-button{margin-left:auto;order:0}}
@media(max-width:380px){.site-nav .mobile-menu-toggle span{display:none}.site-nav .mobile-menu-toggle:not([hidden]){width:44px;padding:10px}.restaurant-brand:not([hidden]){font-size:18px}}
@media(prefers-reduced-motion:reduce){.site-nav.restaurant-directional-header{transition:none}}
@media print{.site-nav.restaurant-directional-header,.restaurant-nav-space{display:none}}
