/* Flexible theme tokens. Classic Bistro is the sole theme for this release. */
.features-menu-sheet {
 --menu-paper: #f7f3eb;
 --menu-ink: #29251f;
 --menu-muted: #625b51;
 --menu-rule: #b9ad9c;
 --menu-texture: url('assets/soft-greige-paper.svg');
 --menu-heading-font: Georgia, 'Times New Roman', serif;
 --menu-category-font: Arial, Helvetica, sans-serif;
 box-sizing: border-box;
 width: 100%;max-width: 960px;margin: 0 auto;
 padding: 30px 38px;
 color: var(--menu-ink);
 background-color: var(--menu-paper);background-image: var(--menu-texture);
 background-blend-mode: multiply;
 border: 5px double var(--menu-rule);
}
.features-menu-tools {max-width: 960px;margin: 0 auto 12px;display: flex;justify-content: flex-end;}
.features-menu-tools[hidden],.features-menu-sheet[hidden] {display: none!important;}
.features-menu-enlarge {display: inline-flex;gap: 8px;align-items: center;background: #303335;color: #f5f0e7;border: 1px solid #646768;border-radius: 4px;padding: 10px 14px;font: 14px Georgia,serif;cursor: zoom-in;}
.features-menu-enlarge svg {width: 19px;height: 19px;fill: none;stroke: currentColor;stroke-width: 1.5;}
.features-menu-enlarge:focus-visible {outline: 2px solid #303335;outline-offset: 3px;}
.features-menu-title {text-align: center;margin-bottom: 24px;}
.features-menu-title h2 {font: 400 42px/1.15 var(--menu-heading-font);text-transform: uppercase;letter-spacing: .11em;margin: 0 0 10px;}
.features-menu-title p {display: flex;align-items: center;justify-content: center;gap: 20px;font: 400 16px/1.4 var(--menu-heading-font);letter-spacing: .2em;text-transform: uppercase;margin: 0;color: var(--menu-muted);}
.features-menu-title p:before,.features-menu-title p:after {content: '';width: 85px;border-top: 1px solid var(--menu-rule);}
.specials-page .features-menu-sheet .regular-features {margin: 0;padding: 0;border: 0;}
.specials-page .features-menu-sheet .daily-mainstays-box {padding: 16px 18px;border: 1px solid var(--menu-rule);background: transparent;}
.specials-page .features-menu-sheet .regular-heading {text-align: center;margin: 0 0 12px;}
.specials-page .features-menu-sheet .regular-heading .eyebrow,
.specials-page .features-menu-sheet .regular-intro {display: none;}
.specials-page .features-menu-sheet .regular-heading h2 {font: 400 17px/1.4 var(--menu-heading-font);letter-spacing: .18em;text-transform: uppercase;color: var(--menu-ink);margin: 0;}
.specials-page .features-menu-sheet .regular-grid {display: grid;grid-template-columns: 1fr 1fr;gap: 0;}
.specials-page .features-menu-sheet .regular-card {background: transparent;border: 0;padding: 10px 18px;display: block;min-height: 0;}
.specials-page .features-menu-sheet .regular-card + .regular-card {border-left: 1px solid var(--menu-rule);}
.specials-page .features-menu-sheet .regular-card:before,
.specials-page .features-menu-sheet .regular-card:after {display: none;}
.specials-page .features-menu-sheet .regular-card h3 {color: var(--menu-muted);font: 400 14px/1.4 var(--menu-heading-font);letter-spacing: .06em;margin: 0 0 7px;text-transform: uppercase;}
.specials-page .features-menu-sheet .regular-card h3:before,
.specials-page .features-menu-sheet .regular-card h3:after,
.specials-page .features-menu-sheet .bistro-category-divider {display: none;}
.specials-page .features-menu-sheet .public-mainstay-option h4 {font: 400 25px/1.25 var(--menu-heading-font);margin: 0 0 8px;color: var(--menu-ink);}
.specials-page .features-menu-sheet .regular-card .public-mainstay-option p,
.specials-page .features-menu-sheet .regular-card>div>p {font: 400 15px/1.45 var(--menu-heading-font);color: var(--menu-muted);margin: 0 auto;max-width: 100%;}
.specials-page .features-menu-sheet .regular-card .bistro-note p {font-size: 13px;font-style: italic;}
.specials-page .features-menu-sheet .today-features {margin: 0;padding: 0;border: 0;}
.specials-page .features-menu-sheet .today-heading {display: none;}
.specials-page .features-menu-sheet .feature-columns {display: block;margin: 0;}
.specials-page .features-menu-sheet .feature-group {background: transparent;border: 0;margin: 24px 0 0;padding: 0;}
.specials-page .features-menu-sheet .feature-group-heading {background: #34383a;color: #f7f3eb;padding: 10px 14px;margin: 0 0 10px;border-top: 1px solid var(--menu-rule);border-bottom: 1px solid var(--menu-rule);text-align: center;}
.specials-page .features-menu-sheet .feature-group-heading>span,
.specials-page .features-menu-sheet .feature-type {display: none;}
.specials-page .features-menu-sheet .feature-group-heading h3 {display: block;font: 500 18px/1.4 var(--menu-category-font);letter-spacing: .025em;text-transform: none;color: #f7f3eb;margin: 0;}
.specials-page .features-menu-sheet .feature-group-heading .feature-category-title {display: grid;grid-template-columns: 1fr auto 1fr;align-items: baseline;gap: 14px;font: inherit;letter-spacing: inherit;text-transform: inherit;color: inherit;opacity: 1;}
.specials-page .features-menu-sheet .feature-group-heading .feature-category-name {grid-column: 2;font: inherit;letter-spacing: inherit;text-transform: inherit;color: inherit;opacity: 1;}
.specials-page .features-menu-sheet .feature-category-hours {grid-column: 3;justify-self: end;white-space: nowrap;font: 400 13px/1.4 var(--menu-category-font);letter-spacing: 0;text-transform: none;color: #e5ded3;}
.specials-page .features-menu-sheet .feature-group-heading h3:before,
.specials-page .features-menu-sheet .feature-group-heading h3:after {display: none;}
.specials-page .features-menu-sheet .feature-group-list {display: block;}
.specials-page .features-menu-sheet .feature-group-list[hidden] {display: none!important;}
.specials-page .features-menu-sheet .feature-compact-card {background: transparent;border: 0;padding: 12px 8px;margin: 0;text-align: center;display: block;}
.specials-page .features-menu-sheet .feature-compact-card + .feature-compact-card {border-top: 1px solid var(--menu-rule);}
.specials-page .features-menu-sheet .feature-compact-copy h4 {font: 400 25px/1.25 var(--menu-heading-font);color: var(--menu-ink);margin: 0 0 6px;}
.specials-page .features-menu-sheet .feature-compact-copy p {font: 400 16px/1.45 var(--menu-heading-font);color: var(--menu-muted);margin: 0 auto;max-width: 760px;white-space: pre-line;}
.specials-page .features-menu-sheet .feature-sold-out {opacity: .65;}
.specials-page .features-menu-sheet .sold-out-stamp {position: static;display: inline-block;margin: 8px 0 0;transform: none;font-size: 11px;}
.specials-page .features-menu-sheet .empty-feature-toggle {display: flex;align-items: center;justify-content: center;gap: 10px;width: 100%;padding: 0;background: transparent;color: #f7f3eb;border: 0;font: 400 14px var(--menu-category-font);cursor: pointer;}
.specials-page .features-menu-sheet .empty-feature-toggle h3 {width: 100%;}
.specials-page .features-menu-sheet .empty-feature-toggle .feature-category-hours {padding-right: 18px;}
.specials-page .features-menu-sheet .empty-feature-toggle .feature-chevron {color: #f7f3eb;opacity: 1;}
.specials-page .features-menu-sheet .empty-feature-toggle:focus-visible {outline: 2px solid #f7f3eb;outline-offset: 4px;}
.specials-page .features-menu-sheet .empty-feature-toggle>span:not(.feature-chevron) {display: none;}
.specials-page .features-menu-sheet .empty-feature-toggle h3 {font-size: 18px;letter-spacing: .025em;}
.specials-page .features-menu-sheet .empty-feature-toggle h3:before,
.specials-page .features-menu-sheet .empty-feature-toggle h3:after {display: none;}
.specials-page .features-menu-sheet .feature-empty-card {padding: 12px;background: transparent;border: 0;text-align: center;}
.specials-page .features-menu-sheet .feature-empty-card h4 {font: 400 17px var(--menu-heading-font);color: var(--menu-ink);margin: 0 0 5px;}
.specials-page .features-menu-sheet .feature-empty-card p {font: 400 15px var(--menu-heading-font);color: var(--menu-muted);margin: 0;}
/* Native dialog keeps focus and Escape/close behavior separate from public upload overrides. */
.features-menu-reader {position: fixed;inset: 0;width: calc(100vw - 32px);height: calc(100dvh - 32px);max-width: 1280px;max-height: none;margin: auto;padding: 0;border: 1px solid #706859;background: #292b2c;color: #f5f0e7;overflow: hidden;}
.features-menu-reader[open] {display: flex;flex-direction: column;}
.features-menu-reader::backdrop {background: rgba(0,0,0,.75);}
.features-reader-toolbar {display: flex;align-items: center;justify-content: space-between;gap: 12px;padding: 12px 16px;border-bottom: 1px solid #55534e;}
.features-reader-toolbar>strong {font: 400 19px Georgia,serif;}
.features-reader-controls {display: flex;align-items: center;gap: 6px;flex-wrap: wrap;}
.features-reader-controls button {background: #3d4143;color: #fff;border: 1px solid #747572;padding: 8px 10px;min-height: 36px;font: 13px Arial,sans-serif;cursor: pointer;}
.features-reader-controls button:disabled {opacity: .4;cursor: default;}
.features-reader-controls button:focus-visible {outline: 2px solid #fff;outline-offset: 2px;}
.features-reader-controls output {width: 42px;text-align: center;font: 12px Arial,sans-serif;}
.features-reader-viewport {flex: 1;min-height: 0;overflow: auto;padding: 16px;overscroll-behavior: contain;}
.features-reader-stage {position: relative;margin: 0 auto;}
.specials-page .features-menu-reader-sheet {position: absolute;top: 0;left: 0;width: 900px;max-width: none;margin: 0;transform-origin: top left;}
.features-reader-viewport.can-drag {cursor: grab;}
.features-reader-viewport.is-dragging {cursor: grabbing;user-select: none;}
@media(max-width:650px) {
 .features-menu-sheet:not(.features-menu-reader-sheet) {padding: 22px 16px;}
 .features-menu-sheet:not(.features-menu-reader-sheet) .features-menu-title h2 {font-size: 31px;}
 .features-menu-title p {font-size: 13px;gap: 10px;}
 .specials-page .features-menu-sheet:not(.features-menu-reader-sheet) .regular-grid {grid-template-columns: 1fr;}
 .specials-page .features-menu-sheet:not(.features-menu-reader-sheet) .regular-card + .regular-card {border-left: 0;border-top: 1px solid var(--menu-rule);}
 .specials-page .features-menu-sheet:not(.features-menu-reader-sheet) .feature-compact-copy h4 {font-size: 23px;}
 .specials-page .features-menu-sheet:not(.features-menu-reader-sheet) .feature-group-heading h3 {font-size: 16px;letter-spacing: .025em;gap: 8px;}
 .specials-page .features-menu-sheet:not(.features-menu-reader-sheet) .feature-category-hours {font-size: 13px;}
 .specials-page .features-menu-sheet:not(.features-menu-reader-sheet) .feature-category-title {display: flex;flex-direction: column;align-items: center;gap: 3px;}
 .specials-page .features-menu-sheet:not(.features-menu-reader-sheet) .empty-feature-toggle .feature-category-hours {padding-right: 0;}
 .features-menu-reader {width: 100vw;height: 100dvh;border: 0;}
 .features-reader-toolbar {align-items: flex-start;padding: 10px;flex-direction: column;gap: 8px;}
 .features-reader-toolbar>strong {font-size: 16px;}
 .features-reader-controls {gap: 5px;}
 .features-reader-controls button {padding: 8px;font-size: 12px;}
}
