/* Scoped to restaurant menus and their previews. The SaaS tokens stay unchanged. */
.menu-theme {
    --color-primary:var(--menu-primary);
    --color-primary-dark:color-mix(in srgb,var(--menu-primary),#000 14%);
    --color-primary-light:color-mix(in srgb,var(--menu-primary) 12%,var(--menu-card));
    --color-primary-accessible:var(--menu-text);
    --color-primary-accessible-hover:var(--menu-primary);
    --color-secondary:var(--menu-secondary);
    --color-accent:var(--menu-accent);
    --color-text:var(--menu-text);
    --color-text-muted:var(--menu-text-secondary);
    --color-gray-light:color-mix(in srgb,var(--menu-text) 5%,var(--menu-card));
    --color-gray-medium:var(--menu-border);
    --border-color:var(--menu-border);
    --shadow-primary:0 12px 24px -8px color-mix(in srgb,var(--menu-primary) 45%,transparent);
    --menu-primary-soft:color-mix(in srgb,var(--menu-primary) 28%,var(--menu-card));
    --menu-highlight-soft:color-mix(in srgb,var(--menu-accent) 10%,var(--menu-card));
    --menu-overlay-card:color-mix(in srgb,var(--menu-card) 94%,transparent);
    --menu-secondary-text:#FFFFFF;
    color:var(--menu-text);
    background:var(--menu-background);
    accent-color:var(--menu-button);
}
body.demo-page.menu-theme, .menu-theme.demo-shell, .menu-theme .demo-shell { background:var(--menu-background); }
.menu-theme .demo-card, .menu-theme .demo-sheet { background:var(--menu-card); }
.menu-theme .btn--primary, .menu-theme .demo-card__add-float, .menu-theme .demo-qty__btn--plus {
    background:var(--menu-button); color:var(--menu-button-text); border-color:var(--menu-button);
}
.menu-theme .btn--primary:hover, .menu-theme .demo-card__add-float:hover { background:var(--menu-button); filter:brightness(.94); }
.menu-theme .btn--primary:active, .menu-theme .demo-card__add-float:active { filter:brightness(.88); }
.menu-theme .btn--secondary { background:var(--menu-card); color:var(--menu-text); border-color:var(--menu-border); }
.menu-theme .btn--secondary:hover { background:var(--color-gray-light); }
.menu-theme :is(button,a,input,textarea,select):focus-visible { outline:3px solid var(--menu-primary); outline-offset:3px; }
.menu-theme button:disabled { opacity:.5; cursor:not-allowed; }
.menu-theme .demo-badge, .menu-theme .demo-reco__tab.is-active { background:var(--menu-accent); color:var(--menu-accent-text); }
.menu-theme .demo-badge { border:1px solid color-mix(in srgb,var(--menu-accent-text) 20%,transparent); }
.menu-theme .demo-banner--primary, .menu-theme .demo-banner--accent { background:var(--menu-accent); color:var(--menu-accent-text); }
.menu-theme :is(.demo-categories__item.is-active,.demo-identity__logo,.demo-card__unavailable span,.demo-cart-bar,.demo-toast,.demo-banner--dark,.demo-footer,.demo-welcome__logo,.demo-central-fab) { color:var(--menu-secondary-text); }
.menu-theme .demo-footer *, .menu-theme .demo-cart-bar__info span { color:inherit; }
.menu-theme .demo-cart-bar .btn--primary { color:var(--menu-button-text); }
.menu-theme .demo-option__control { border-color:var(--menu-border); }
.menu-theme .demo-option.is-checked .demo-option__control, .menu-theme .demo-option input:checked ~ .demo-option__control { background:var(--menu-button); border-color:var(--menu-button); }
.menu-theme .demo-option__control svg { color:var(--menu-button-text); }
.menu-theme .demo-card__fav.is-active, .menu-theme .demo-product__fav.is-active { color:var(--menu-accent); }
.menu-theme .demo-card:hover { box-shadow:var(--shadow-primary); }
.menu-theme .demo-central-fab { background:var(--menu-secondary); }
.menu-theme .onboarding__preview-content { padding-bottom:20px; }
.menu-theme .onboarding__preview-content > .btn { margin:8px 4px; }
.menu-theme .demo-cross__add { background:var(--menu-button); color:var(--menu-button-text); }
.menu-theme .demo-stepper__dot.is-done { background:var(--menu-button); color:var(--menu-button-text); }
.menu-theme .demo-welcome__logo, .menu-theme .demo-mesa-andamento__mesa-icon { color:var(--menu-secondary-text); }
.menu-theme .demo-qty__btn { color:var(--menu-text); background:var(--menu-card); border-color:var(--menu-border); }
.menu-theme :is(h1,h2,h3,h4) { color:var(--menu-text); }
.menu-theme .demo-footer :is(h1,h2,h3,h4) { color:var(--menu-secondary-text); }
.menu-theme .demo-central-fab:hover { background:var(--menu-secondary); filter:brightness(1.1); }
.menu-theme .demo-central-fab__badge { background:var(--menu-accent); border-color:var(--menu-card); }
.menu-theme .demo-success__icon { color:var(--menu-accent); background:var(--menu-highlight-soft); }
/* Status do restaurante: verde quando aberto, vermelho quando fechado, em qualquer tema (é uma cor de estado, não de marca). */
.menu-theme .demo-info-chip.is-open { color:#166534; background:#DCFCE7; border-color:#86EFAC; }
.menu-theme .demo-info-chip.is-closed { color:#B91C1C; background:#FEF2F2; border-color:#FECACA; }
.menu-theme .demo-stepper button { color:var(--menu-text); background:var(--menu-card); border-color:var(--menu-border); }