/*
 * Reference fidelity layer for the 16 approved guest-menu compositions.
 * Functional selectors remain shared; visual hierarchy and layout are theme-owned.
 */

.guest-visit-quick {
    display: none !important;
}

@media (max-width: 640px) {
    .guest-shell[data-theme-layout] .theme-menu .theme-add-button span {
        display: none;
    }

    /* 05. Night: cinematic hero, vertical focus index and horizontal reel. */
    .guest-shell[data-theme-layout="dark"] {
        --state-bg: #070b0d;
        --state-surface: #090e11;
        --state-ink: #f4f1ea;
        --state-muted: #929b9e;
        --state-line: #465057;
        --state-accent: #47d99b;
        --state-font: Georgia, serif;
        background: #070b0d;
    }

    .guest-shell[data-theme-layout="dark"] .guest-utility-shell {
        color: #f4f1ea;
        background: #070b0d;
        border-bottom-color: #273038;
    }

    .guest-shell[data-theme-layout="dark"] .guest-locale-select select {
        background: #070b0d;
        color: #f4f1ea;
    }

    .guest-shell[data-theme-layout="dark"] .theme-dark {
        position: relative;
        padding: 0 0 22px;
        overflow: hidden;
        background: #070b0d;
        color: #f4f1ea;
    }

    .guest-shell[data-theme-layout="dark"] .night-header {
        position: absolute;
        z-index: 3;
        top: 20px;
        left: 18px;
        width: 48%;
        padding: 0;
        color: #fff;
    }

    .guest-shell[data-theme-layout="dark"] .night-header > span,
    .guest-shell[data-theme-layout="dark"] .night-header > p {
        display: none;
    }

    .guest-shell[data-theme-layout="dark"] .night-header h1 {
        font-family: Georgia, serif;
        font-size: 27px;
        font-weight: 400;
        line-height: 1.05;
    }

    .guest-shell[data-theme-layout="dark"] .night-categories {
        position: absolute;
        z-index: 4;
        top: 98px;
        left: 18px;
        display: grid;
        width: 112px;
        gap: 12px;
    }

    .guest-shell[data-theme-layout="dark"] .night-categories .category-tab {
        display: grid;
        min-height: 38px;
        justify-content: start;
        padding: 5px 0;
        border: 0;
        border-left: 1px solid #57615f;
        background: transparent;
        color: #9da5a2;
        font-family: Georgia, serif;
        font-size: 13px;
        text-align: left;
    }

    .guest-shell[data-theme-layout="dark"] .night-categories .category-tab.is-active {
        padding-left: 10px;
        border-left: 2px solid #48d99b;
        color: #48d99b;
    }

    .guest-shell[data-theme-layout="dark"] .night-stage {
        display: block;
        padding: 0;
    }

    .guest-shell[data-theme-layout="dark"] .night-feature {
        position: relative;
        min-height: 530px;
        border: 0;
    }

    .guest-shell[data-theme-layout="dark"] .night-feature > img {
        width: 100%;
        height: 530px;
        object-fit: cover;
    }

    .guest-shell[data-theme-layout="dark"] .night-feature-shade {
        position: absolute;
        inset: 0;
        background: linear-gradient(90deg, rgba(4, 8, 10, .82), transparent 65%), linear-gradient(0deg, #070b0d 2%, transparent 45%);
    }

    .guest-shell[data-theme-layout="dark"] .night-feature-copy {
        position: absolute;
        right: 20px;
        bottom: 22px;
        left: 136px;
        padding: 0;
    }

    .guest-shell[data-theme-layout="dark"] .night-feature-copy > span,
    .guest-shell[data-theme-layout="dark"] .night-feature-copy > p {
        display: none;
    }

    .guest-shell[data-theme-layout="dark"] .night-feature-copy h2 {
        color: #f4f1ea;
        font-family: Georgia, serif;
        font-size: 24px;
        font-weight: 400;
        line-height: 1.05;
    }

    .guest-shell[data-theme-layout="dark"] .night-feature-copy footer {
        margin-top: 8px;
    }

    .guest-shell[data-theme-layout="dark"] .night-feature-copy footer strong {
        color: #48d99b;
        font-size: 18px;
    }

    .guest-shell[data-theme-layout="dark"] .night-add {
        border: 1px solid #48d99b;
        background: #07100d;
        color: #48d99b;
    }

    .guest-shell[data-theme-layout="dark"] .night-reel {
        display: flex;
        gap: 10px;
        padding: 12px 16px 4px;
        overflow-x: auto;
    }

    .guest-shell[data-theme-layout="dark"] .night-reel-card {
        width: 116px;
        min-width: 116px;
        padding: 0;
        border: 0;
        background: transparent;
    }

    .guest-shell[data-theme-layout="dark"] .night-reel-card > img {
        height: 104px;
        border: 1px solid #4a5358;
    }

    .guest-shell[data-theme-layout="dark"] .night-reel-card > span {
        display: none;
    }

    .guest-shell[data-theme-layout="dark"] .night-reel-card h2 {
        margin-top: 8px;
        color: #f4f1ea;
        font-size: 12px;
        font-weight: 400;
        line-height: 1.2;
    }

    .guest-shell[data-theme-layout="dark"] .night-reel-card footer {
        margin-top: 5px;
    }

    .guest-shell[data-theme-layout="dark"] .night-reel-card footer strong {
        color: #48d99b;
        font-size: 13px;
    }

    .guest-shell[data-theme-layout="dark"] .night-reel-card .night-add {
        width: 28px;
        min-width: 28px;
        height: 28px;
    }

    .guest-shell[data-theme-layout="dark"] .guest-service-actions {
        border-color: #3c454a;
        background: #070b0d;
        color: #eceeea;
    }

    .guest-shell[data-theme-layout="dark"] .guest-service-actions > button:nth-child(3) {
        background: transparent;
        color: #48d99b;
    }

    /* 06. Editorial: issue contents and asymmetric magazine spread. */
    .guest-shell[data-theme-layout="editorial"] {
        --state-bg: #fff;
        --state-surface: #fff;
        --state-ink: #101010;
        --state-muted: #6e6e6e;
        --state-line: #111;
        --state-accent: #1644bd;
        --state-font: Georgia, serif;
        background: #fff;
    }

    .guest-shell[data-theme-layout="editorial"] .guest-utility-shell {
        color: #111;
        background: #fff;
        border-bottom: 0;
    }

    .guest-shell[data-theme-layout="editorial"] .guest-restaurant-copy strong {
        max-width: 150px;
        font-size: 28px;
        font-weight: 700;
        line-height: .82;
    }

    .guest-shell[data-theme-layout="editorial"] .theme-editorial {
        display: grid;
        grid-template-columns: 42% 58%;
        padding: 0 0 22px;
        background: #fff;
        color: #111;
    }

    .guest-shell[data-theme-layout="editorial"] .editorial-coverline {
        display: flex;
        min-height: 68px;
        grid-column: 1 / -1;
        align-items: flex-start;
        justify-content: flex-end;
        padding: 0 16px 10px;
        border-bottom: 1px solid #111;
    }

    .guest-shell[data-theme-layout="editorial"] .editorial-coverline > div {
        display: grid;
        text-align: right;
    }

    .guest-shell[data-theme-layout="editorial"] .editorial-coverline > div span {
        display: none;
    }

    .guest-shell[data-theme-layout="editorial"] .editorial-coverline > div b {
        font-size: 12px;
        font-weight: 400;
    }

    .guest-shell[data-theme-layout="editorial"] .editorial-coverline h1,
    .guest-shell[data-theme-layout="editorial"] .editorial-coverline p {
        display: none;
    }

    .guest-shell[data-theme-layout="editorial"] .editorial-contents {
        display: grid;
        grid-template-columns: 1fr;
        grid-auto-flow: row;
        grid-column: 1;
        align-content: start;
        gap: 0;
        padding: 26px 14px;
        border-right: 1px solid #111;
    }

    .guest-shell[data-theme-layout="editorial"] .editorial-contents > span {
        margin-bottom: 22px;
        color: #1644bd;
        font-family: Arial, sans-serif;
        font-size: 13px;
        font-weight: 800;
        text-transform: uppercase;
    }

    .guest-shell[data-theme-layout="editorial"] .editorial-contents .category-tab {
        display: grid;
        min-height: 84px;
        grid-template-columns: 1fr;
        align-content: start;
        gap: 0;
        padding: 8px 0;
        border: 0;
        border-bottom: 1px solid #111;
        background: transparent;
        color: #111;
        font-family: Georgia, serif;
        font-size: 13px;
        min-width: 0;
        text-align: left;
    }

    .guest-shell[data-theme-layout="editorial"] .editorial-contents .category-tab b {
        color: inherit;
        font-size: 44px;
        font-weight: 400;
        line-height: 1;
    }

    .guest-shell[data-theme-layout="editorial"] .editorial-contents .category-tab.is-active {
        color: #1644bd;
    }

    .guest-shell[data-theme-layout="editorial"] .editorial-spread {
        display: block;
        min-width: 0;
        grid-column: 2;
        padding: 0;
    }

    .guest-shell[data-theme-layout="editorial"] .editorial-lead {
        display: block;
        border: 0;
        background: #fff;
    }

    .guest-shell[data-theme-layout="editorial"] .editorial-lead figure {
        height: 470px;
    }

    .guest-shell[data-theme-layout="editorial"] .editorial-lead figure img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .guest-shell[data-theme-layout="editorial"] .editorial-lead figcaption,
    .guest-shell[data-theme-layout="editorial"] .editorial-lead blockquote,
    .guest-shell[data-theme-layout="editorial"] .editorial-lead > div > p {
        display: none;
    }

    .guest-shell[data-theme-layout="editorial"] .editorial-lead > div {
        padding: 14px 12px;
        border-bottom: 1px solid #111;
    }

    .guest-shell[data-theme-layout="editorial"] .editorial-lead h2 {
        font-family: Georgia, serif;
        font-size: 17px;
        font-weight: 400;
        line-height: 1.05;
    }

    .guest-shell[data-theme-layout="editorial"] .editorial-lead footer {
        margin-top: 10px;
    }

    .guest-shell[data-theme-layout="editorial"] .editorial-lead footer strong {
        color: #1644bd;
        font-size: 16px;
    }

    .guest-shell[data-theme-layout="editorial"] .editorial-add {
        width: 32px;
        min-width: 32px;
        height: 32px;
        background: #1644bd;
    }

    .guest-shell[data-theme-layout="editorial"] .editorial-columns {
        display: grid;
        grid-template-columns: 1fr;
    }

    .guest-shell[data-theme-layout="editorial"] .editorial-story {
        display: grid;
        min-height: 102px;
        grid-template-columns: 72px minmax(0, 1fr);
        gap: 9px;
        padding: 10px;
        border: 0;
        border-bottom: 1px solid #111;
    }

    .guest-shell[data-theme-layout="editorial"] .editorial-story > img {
        width: 72px;
        height: 82px;
        grid-row: 1 / span 4;
    }

    .guest-shell[data-theme-layout="editorial"] .editorial-story > span,
    .guest-shell[data-theme-layout="editorial"] .editorial-story > p {
        display: none;
    }

    .guest-shell[data-theme-layout="editorial"] .editorial-story h2 {
        font-size: 13px;
        line-height: 1.1;
    }

    .guest-shell[data-theme-layout="editorial"] .editorial-story footer {
        margin-top: 4px;
    }

    .guest-shell[data-theme-layout="editorial"] .guest-service-actions {
        border-top: 1px solid #111;
        background: #fff;
        color: #111;
    }

    .guest-shell[data-theme-layout="editorial"] .guest-service-actions > button:nth-child(3) {
        background: #1644bd;
        color: #fff;
    }

    /* 07. Graphic: route index, coded rows and hard signal blocks. */
    .guest-shell[data-theme-layout="contrast"] {
        --state-bg: #fff;
        --state-surface: #fff;
        --state-ink: #080808;
        --state-muted: #515151;
        --state-line: #080808;
        --state-accent: #e00000;
        --state-font: "Arial Narrow", Arial, sans-serif;
        background: #fff;
    }

    .guest-shell[data-theme-layout="contrast"] .guest-utility-shell {
        color: #090909;
        background: #fff;
        border: 3px solid #090909;
        border-bottom-width: 2px;
    }

    .guest-shell[data-theme-layout="contrast"] .guest-restaurant-copy strong {
        font-family: "Arial Narrow", Arial, sans-serif;
        font-size: 19px;
        font-weight: 900;
    }

    .guest-shell[data-theme-layout="contrast"] .theme-contrast {
        display: grid;
        grid-template-columns: 104px minmax(0, 1fr);
        padding: 0 8px 18px;
        background: #fff;
        color: #090909;
    }

    .guest-shell[data-theme-layout="contrast"] .graphic-signal {
        grid-column: 1 / -1;
        padding: 14px 8px 10px 118px;
        border-bottom: 3px solid #090909;
    }

    .guest-shell[data-theme-layout="contrast"] .graphic-signal > span,
    .guest-shell[data-theme-layout="contrast"] .graphic-signal > p {
        display: none;
    }

    .guest-shell[data-theme-layout="contrast"] .graphic-signal h1 {
        font-family: "Arial Narrow", Arial, sans-serif;
        font-size: 42px;
        font-weight: 900;
        line-height: .9;
        text-transform: uppercase;
    }

    .guest-shell[data-theme-layout="contrast"] .graphic-routes {
        display: grid;
        grid-template-columns: 1fr;
        grid-auto-flow: row;
        grid-column: 1;
        align-content: start;
        border-right: 3px solid #090909;
    }

    .guest-shell[data-theme-layout="contrast"] .graphic-routes .category-tab {
        display: grid;
        min-height: 98px;
        grid-template-columns: 1fr;
        align-content: start;
        gap: 2px;
        padding: 10px 8px;
        border: 0;
        border-bottom: 2px solid #090909;
        background: #fff;
        color: #090909;
        font-family: "Arial Narrow", Arial, sans-serif;
        text-align: left;
        text-transform: uppercase;
    }

    .guest-shell[data-theme-layout="contrast"] .graphic-routes .category-tab b {
        font-size: 30px;
        line-height: 1;
    }

    .guest-shell[data-theme-layout="contrast"] .graphic-routes .category-tab span {
        width: 100%;
        font-size: 12px;
        min-width: 0;
        font-weight: 900;
        line-height: 1.05;
        overflow-wrap: anywhere;
        word-break: normal;
    }

    .guest-shell[data-theme-layout="contrast"] .graphic-routes .category-tab.is-active {
        background: #e00000;
        color: #fff;
    }

    .guest-shell[data-theme-layout="contrast"] .graphic-manifest {
        display: block;
        min-width: 0;
        grid-column: 2;
        padding: 0;
    }

    .guest-shell[data-theme-layout="contrast"] .graphic-item,
    .guest-shell[data-theme-layout="contrast"] .graphic-item.is-featured {
        display: grid;
        min-height: 86px;
        grid-template-columns: 46px minmax(0, 1fr) auto 34px;
        gap: 6px;
        padding: 10px 6px;
        border: 0;
        border-bottom: 2px solid #090909;
        background: #fff;
        box-shadow: none;
    }

    .guest-shell[data-theme-layout="contrast"] .graphic-item > img {
        display: none;
    }

    .guest-shell[data-theme-layout="contrast"] .graphic-number {
        align-self: start;
        font-family: "Arial Narrow", Arial, sans-serif;
        font-size: 28px;
        font-weight: 900;
        line-height: 1;
    }

    .guest-shell[data-theme-layout="contrast"] .graphic-copy span,
    .guest-shell[data-theme-layout="contrast"] .graphic-copy p {
        display: none;
    }

    .guest-shell[data-theme-layout="contrast"] .graphic-copy h2 {
        font-family: "Arial Narrow", Arial, sans-serif;
        font-size: 14px;
        font-weight: 900;
        line-height: 1.05;
        text-transform: uppercase;
    }

    .guest-shell[data-theme-layout="contrast"] .graphic-price {
        align-self: start;
        font-family: "Arial Narrow", Arial, sans-serif;
        font-size: 14px;
        white-space: nowrap;
    }

    .guest-shell[data-theme-layout="contrast"] .graphic-add {
        width: 32px;
        min-width: 32px;
        height: 32px;
        border: 2px solid #090909;
        background: #fff;
        color: #090909;
    }

    .guest-shell[data-theme-layout="contrast"] .guest-service-actions {
        border: 3px solid #090909;
        border-bottom: 0;
        background: #fff;
        color: #090909;
    }

    .guest-shell[data-theme-layout="contrast"] .guest-service-actions > button {
        border-right: 2px solid #090909;
        font-family: "Arial Narrow", Arial, sans-serif;
        font-weight: 900;
        text-transform: uppercase;
    }

    .guest-shell[data-theme-layout="contrast"] .guest-service-actions > button:nth-child(3) {
        background: #e00000;
        color: #fff;
    }

    /* 08. Brutalist: primary-color posters and kitchen-ticket geometry. */
    .guest-shell[data-theme-layout="brutalist"] {
        --state-bg: #56b5eb;
        --state-surface: #fff;
        --state-ink: #050505;
        --state-muted: #2b2b2b;
        --state-line: #050505;
        --state-accent: #ffd51d;
        --state-font: "Arial Narrow", Arial, sans-serif;
        background: #56b5eb;
    }

    .guest-shell[data-theme-layout="brutalist"] .guest-utility-shell {
        color: #050505;
        background: #56b5eb;
        border: 3px solid #050505;
    }

    .guest-shell[data-theme-layout="brutalist"] .guest-restaurant-copy strong {
        font-family: "Arial Narrow", Arial, sans-serif;
        font-size: 20px;
        font-weight: 900;
        text-transform: uppercase;
    }

    .guest-shell[data-theme-layout="brutalist"] .theme-brutalist {
        padding: 8px;
        background: #56b5eb;
        color: #050505;
    }

    .guest-shell[data-theme-layout="brutalist"] .brutalist-poster {
        min-height: 98px;
        padding: 10px 8px;
        border: 3px solid #050505;
        background: #fff;
    }

    .guest-shell[data-theme-layout="brutalist"] .brutalist-poster > span,
    .guest-shell[data-theme-layout="brutalist"] .brutalist-poster > p,
    .guest-shell[data-theme-layout="brutalist"] .brutalist-poster > b {
        display: none;
    }

    .guest-shell[data-theme-layout="brutalist"] .brutalist-poster h1 {
        font-family: "Arial Narrow", Arial, sans-serif;
        font-size: 60px;
        font-weight: 900;
        line-height: .9;
        text-transform: uppercase;
    }

    .guest-shell[data-theme-layout="brutalist"] .brutalist-tabs {
        display: none;
    }

    .guest-shell[data-theme-layout="brutalist"] .brutalist-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
        margin-top: 8px;
    }

    .guest-shell[data-theme-layout="brutalist"] .brutalist-block,
    .guest-shell[data-theme-layout="brutalist"] .brutalist-block.is-featured {
        position: relative;
        display: grid;
        min-height: 184px;
        grid-template-columns: 92px minmax(0, 1fr);
        overflow: hidden;
        padding: 10px;
        border: 3px solid #050505;
        background: #ffd51d;
        box-shadow: none;
    }

    .guest-shell[data-theme-layout="brutalist"] .brutalist-block:nth-child(3n + 2) {
        background: #f04428;
    }

    .guest-shell[data-theme-layout="brutalist"] .brutalist-block:nth-child(3n) {
        background: #56b5eb;
    }

    .guest-shell[data-theme-layout="brutalist"] .brutalist-code {
        z-index: 2;
        grid-column: 1;
        font-family: "Arial Narrow", Arial, sans-serif;
        font-size: 54px;
        font-weight: 900;
        line-height: .86;
    }

    .guest-shell[data-theme-layout="brutalist"] .brutalist-block > img {
        position: absolute;
        right: -18px;
        bottom: -10px;
        width: 66%;
        height: 90%;
        object-fit: contain;
        filter: saturate(1.08);
    }

    .guest-shell[data-theme-layout="brutalist"] .brutalist-block > div:not(.brutalist-code) {
        z-index: 2;
        grid-column: 1;
        align-self: end;
    }

    .guest-shell[data-theme-layout="brutalist"] .brutalist-block span,
    .guest-shell[data-theme-layout="brutalist"] .brutalist-block p {
        display: none;
    }

    .guest-shell[data-theme-layout="brutalist"] .brutalist-block h2 {
        font-family: "Arial Narrow", Arial, sans-serif;
        font-size: 20px;
        font-weight: 900;
        line-height: .92;
        text-transform: uppercase;
    }

    .guest-shell[data-theme-layout="brutalist"] .brutalist-block footer {
        position: absolute;
        z-index: 3;
        right: 9px;
        bottom: 8px;
        display: flex;
        align-items: center;
        gap: 6px;
    }

    .guest-shell[data-theme-layout="brutalist"] .brutalist-block footer strong {
        padding: 2px 5px;
        background: #050505;
        color: #fff;
        font-family: "Arial Narrow", Arial, sans-serif;
        font-size: 18px;
    }

    .guest-shell[data-theme-layout="brutalist"] .brutalist-add {
        width: 34px;
        min-width: 34px;
        height: 34px;
        border: 3px solid #050505;
        background: #fff;
        color: #050505;
    }

    .guest-shell[data-theme-layout="brutalist"] .guest-service-actions {
        border: 3px solid #050505;
        border-bottom: 0;
        background: #fff;
        color: #050505;
    }

    .guest-shell[data-theme-layout="brutalist"] .guest-service-actions > button {
        border-right: 3px solid #050505;
        font-family: "Arial Narrow", Arial, sans-serif;
        font-weight: 900;
        text-transform: uppercase;
    }

    .guest-shell[data-theme-layout="brutalist"] .guest-service-actions > button:nth-child(3) {
        background: #ffd51d;
        color: #050505;
    }
}

@media (max-width: 640px) {
    body.guest-page {
        min-width: 320px;
    }

    .guest-page .guest-experience {
        position: relative;
        width: min(100%, 430px);
        min-height: 100vh;
        margin: 0 auto;
        padding: 0 0 calc(76px + env(safe-area-inset-bottom));
        overflow: hidden;
        background: var(--brand-bg);
        box-shadow: 0 0 42px rgba(0, 0, 0, .1);
    }

    .guest-shell[data-theme-layout] .guest-utility-shell {
        position: relative;
        z-index: 40;
        margin: 0;
        border: 0;
        border-bottom: 1px solid currentColor;
        background: var(--brand-surface);
        box-shadow: none;
    }

    .guest-shell[data-theme-layout] .guest-utility {
        min-height: 72px;
        gap: 10px;
        padding: 12px 16px;
        border: 0;
    }

    .guest-shell[data-theme-layout] .guest-restaurant-identity {
        min-width: 0;
        flex: 1 1 auto;
    }

    .guest-shell[data-theme-layout] .guest-restaurant-mark:not(.has-image) {
        display: none;
    }

    .guest-shell[data-theme-layout] .guest-restaurant-mark.has-image {
        width: 34px;
        height: 34px;
        flex-basis: 34px;
        border: 0;
        background: transparent;
    }

    .guest-shell[data-theme-layout] .guest-restaurant-copy {
        display: flex;
        min-width: 0;
        flex: 1 1 auto;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
    }

    .guest-shell[data-theme-layout] .guest-restaurant-copy strong {
        max-width: 190px;
        color: inherit;
        font-family: Georgia, "Times New Roman", serif;
        font-size: 20px;
        font-weight: 500;
        line-height: 1.05;
    }

    .guest-shell[data-theme-layout] .guest-restaurant-copy small {
        flex: 0 0 auto;
        color: inherit;
        font-size: 11px;
        white-space: nowrap;
    }

    .guest-shell[data-theme-layout] .guest-restaurant-copy small i {
        display: none;
    }

    .guest-shell[data-theme-layout] .guest-utility-tools {
        flex: 0 0 auto;
        gap: 5px;
    }

    .guest-shell[data-theme-layout] .guest-utility-tools > .guide-launcher-inline,
    .guest-shell[data-theme-layout] .guest-accessibility {
        display: none;
    }

    .guest-shell[data-theme-layout] .guest-utility-tools button,
    .guest-shell[data-theme-layout] .guest-locale-select select {
        min-width: 34px;
        min-height: 34px;
        padding: 0 7px;
        border-color: currentColor;
        border-radius: 0;
        font-size: 10px;
    }

    .guest-shell[data-theme-layout] .guest-visit-quick {
        display: inline-flex !important;
        width: 34px;
        max-width: 34px;
        overflow: hidden;
        padding: 0 !important;
        border-radius: 50% !important;
    }

    .guest-shell[data-theme-layout] .guest-visit-quick > span:last-child {
        display: none;
    }

    .guest-shell[data-theme-layout] .guest-visit-quick .waiter-face {
        width: 32px;
        height: 32px;
        flex: 0 0 32px;
        border: 0;
        font-size: 10px;
    }

    .guest-shell[data-theme-layout] .guest-service-bar {
        display: block;
        padding: 0;
    }

    .guest-shell[data-theme-layout] .guest-visit-summary {
        display: none;
    }

    .guest-shell[data-theme-layout] .guest-service-actions {
        position: fixed;
        z-index: 90;
        right: auto;
        bottom: 0;
        left: 50%;
        width: min(100%, 430px);
        min-height: 70px;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        transform: translateX(-50%);
        backdrop-filter: none;
    }

    .guest-shell[data-theme-layout] .guest-service-actions > button {
        min-height: 70px;
        border-radius: 0;
        font-size: 9px;
        line-height: 1.15;
    }

    .guest-shell[data-theme-layout] .guest-service-actions svg {
        width: 21px;
        height: 21px;
    }

    .guest-shell[data-theme-layout] .guest-campaign-rail {
        display: none;
    }

    .guest-shell[data-theme-layout] .floating-order-button {
        right: max(14px, calc((100vw - 430px) / 2 + 14px));
        bottom: calc(82px + env(safe-area-inset-bottom));
        width: 54px;
        height: 54px;
        border-radius: 0;
    }

    .guest-shell[data-theme-layout] .guest-legal-links {
        padding: 20px 16px 12px;
    }

    /* Full-height detail, order and payment states from the approved mobile boards. */
    .guest-shell[data-theme-layout] .dish-options-modal,
    .guest-shell[data-theme-layout] .table-order-modal,
    .guest-shell[data-theme-layout] .payment-modal,
    .guest-shell[data-theme-layout] .tip-modal {
        z-index: 160;
        align-items: stretch;
        padding: 0;
    }

    .guest-shell[data-theme-layout] .dish-options-card,
    .guest-shell[data-theme-layout] .table-order-modal-card,
    .guest-shell[data-theme-layout] .payment-modal-card,
    .guest-shell[data-theme-layout] .tip-modal-card {
        width: min(100%, 430px);
        height: 100dvh;
        max-height: none;
        margin: 0 auto;
        overflow-x: hidden;
        overflow-y: auto;
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }

    .guest-shell[data-theme-layout] .dish-options-card {
        display: grid;
        grid-template-rows: minmax(280px, 44vh) minmax(0, 1fr);
        padding: 0;
    }

    .guest-shell[data-theme-layout] .dish-options-close,
    .guest-shell[data-theme-layout] .table-order-close,
    .guest-shell[data-theme-layout] .payment-close,
    .guest-shell[data-theme-layout] .tip-close {
        position: fixed;
        z-index: 4;
        top: 14px;
        left: max(14px, calc((100vw - 430px) / 2 + 14px));
        width: 42px;
        height: 42px;
        border: 1px solid currentColor;
        border-radius: 50%;
        background: color-mix(in srgb, var(--state-surface) 92%, transparent);
        color: var(--state-ink);
        font-size: 0;
    }

    .guest-shell[data-theme-layout] .dish-options-close::before,
    .guest-shell[data-theme-layout] .table-order-close::before,
    .guest-shell[data-theme-layout] .payment-close::before,
    .guest-shell[data-theme-layout] .tip-close::before {
        font-size: 25px;
        content: "\2190";
    }

    .guest-shell[data-theme-layout] .dish-options-media {
        min-height: 0;
        border: 0;
    }

    .guest-shell[data-theme-layout] .dish-options-media > img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .guest-shell[data-theme-layout] .dish-options-media figcaption {
        display: none;
    }

    .guest-shell[data-theme-layout] .dish-options-content {
        padding: 22px 18px calc(28px + env(safe-area-inset-bottom));
    }

    .guest-shell[data-theme-layout] .dish-options-content > header h2 {
        font-size: clamp(30px, 9vw, 42px);
        line-height: 1.02;
    }

    .guest-shell[data-theme-layout] .dish-options-content > header p {
        font-size: 22px;
    }

    .guest-shell[data-theme-layout] .dish-options-content .primary-button,
    .guest-shell[data-theme-layout] .payment-modal-card .primary-button,
    .guest-shell[data-theme-layout] .tip-modal-card .primary-button {
        min-height: 58px;
        font-size: 16px;
    }

    .guest-shell[data-theme-layout] .table-order-modal-card,
    .guest-shell[data-theme-layout] .payment-modal-card,
    .guest-shell[data-theme-layout] .tip-modal-card {
        padding: 76px 18px 28px;
    }

    .guest-shell[data-theme-layout] .table-order-panel-modal {
        min-height: 100%;
        grid-template-rows: auto auto auto minmax(0, 1fr) auto;
        align-content: stretch;
    }

    .guest-shell[data-theme-layout] .table-order-progress {
        align-items: flex-start;
        align-content: flex-start;
    }

    .guest-shell[data-theme-layout] .table-order-list {
        align-content: start;
    }

    .guest-shell[data-theme-layout] .table-order-footer {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: end;
        gap: 14px;
        padding-top: 16px;
        border-top: 1px solid var(--state-line);
    }

    .guest-shell[data-theme-layout] .table-order-footer .table-order-summary {
        justify-items: start;
    }

    .guest-shell[data-theme-layout] .table-order-footer .primary-button {
        min-width: 116px;
        min-height: 52px;
        border-radius: 0;
        background: var(--state-accent);
        color: var(--state-ink);
    }

    .guest-shell[data-theme-layout] .table-order-head h2,
    .guest-shell[data-theme-layout] .payment-modal-head h2,
    .guest-shell[data-theme-layout] .tip-modal-card h2 {
        font-size: clamp(34px, 10vw, 48px);
        line-height: 1;
    }

    .guest-shell[data-theme-layout] .payment-summary > strong {
        font-size: clamp(34px, 12vw, 58px);
        line-height: 1;
    }

    .guest-shell[data-theme-layout] .payment-method-option,
    .guest-shell[data-theme-layout] .payment-scope label {
        min-height: 72px;
    }

    /* 01. Modern: Swiss index, editorial hero and strict rows. */
    .guest-shell[data-theme-layout="modern"] {
        --state-bg: #fff;
        --state-surface: #fff;
        --state-ink: #101512;
        --state-muted: #6b716d;
        --state-line: #1b231e;
        --state-accent: #ff5c4d;
        --state-font: Arial, sans-serif;
        background: #fff;
    }

    .guest-shell[data-theme-layout="modern"] .guest-utility-shell {
        color: #123f2f;
        background: #fff;
    }

    .guest-shell[data-theme-layout="modern"] .theme-modern {
        position: relative;
        display: block;
        padding-top: 0;
        border-top: 0;
        background: #fff;
    }

    .guest-shell[data-theme-layout="modern"] .modern-masthead {
        display: block;
        min-height: 176px;
        padding: 38px 132px 22px 18px;
        border-bottom: 0;
    }

    .guest-shell[data-theme-layout="modern"] .modern-masthead h1 {
        max-width: 100%;
        margin-top: 4px;
        font-size: 38px;
        line-height: .9;
        overflow-wrap: break-word;
    }

    .guest-shell[data-theme-layout="modern"] .modern-masthead p {
        display: none;
    }

    .guest-shell[data-theme-layout="modern"] .modern-category-index {
        position: absolute;
        top: 34px;
        right: 14px;
        display: grid;
        width: 112px;
        gap: 0;
        padding: 0 !important;
        overflow: visible;
        border: 0;
    }

    .guest-shell[data-theme-layout="modern"] .modern-category-index .category-tab {
        width: 100%;
        min-width: 0;
        min-height: 29px;
        grid-template-columns: 20px 1fr;
        gap: 4px;
        padding: 5px 2px;
        border: 0;
        color: #151a17;
        font-size: 10px;
    }

    .guest-shell[data-theme-layout="modern"] .modern-category-index .category-tab.is-active {
        border-bottom: 2px solid #ff5c4d;
        background: transparent;
        color: #ff5c4d;
    }

    .guest-shell[data-theme-layout="modern"] .modern-catalogue {
        padding: 0 18px 24px;
    }

    .guest-shell[data-theme-layout="modern"] .modern-feature {
        display: grid;
        min-height: 0;
        grid-template-columns: 1fr auto;
        background: transparent;
    }

    .guest-shell[data-theme-layout="modern"] .modern-feature > img {
        grid-column: 1 / -1;
        width: 100%;
        min-height: 0;
        height: 184px;
        border: 0;
    }

    .guest-shell[data-theme-layout="modern"] .modern-feature-copy {
        display: contents;
    }

    .guest-shell[data-theme-layout="modern"] .modern-feature-copy > span,
    .guest-shell[data-theme-layout="modern"] .modern-feature-copy > p {
        display: none;
    }

    .guest-shell[data-theme-layout="modern"] .modern-feature-copy h2 {
        grid-column: 1;
        margin: 0;
        padding: 13px 10px 13px 0;
        border-bottom: 1px solid #c5c8c5;
        font-size: 16px;
        line-height: 1.15;
    }

    .guest-shell[data-theme-layout="modern"] .modern-feature-copy footer {
        display: flex;
        grid-column: 2;
        grid-row: 2;
        align-items: center;
        gap: 8px;
        margin: 0;
        padding: 7px 0 7px 8px;
        border-bottom: 1px solid #c5c8c5;
    }

    .guest-shell[data-theme-layout="modern"] .modern-feature-copy footer > strong {
        font-size: 15px;
        white-space: nowrap;
    }

    .guest-shell[data-theme-layout="modern"] .modern-feature-copy .modern-add {
        display: inline-flex;
        width: 34px;
        min-width: 34px;
        height: 34px;
        padding: 0;
        background: #123f2f;
        color: #fff;
    }

    .guest-shell[data-theme-layout="modern"] .modern-menu-list {
        margin-top: 4px;
        border-top: 0;
    }

    .guest-shell[data-theme-layout="modern"] .modern-menu-row {
        min-height: 112px;
        grid-template-columns: 108px minmax(0, 1fr) 40px;
        gap: 10px;
        padding: 14px 0;
    }

    .guest-shell[data-theme-layout="modern"] .modern-menu-row .modern-row-number,
    .guest-shell[data-theme-layout="modern"] .modern-menu-row small,
    .guest-shell[data-theme-layout="modern"] .modern-menu-row p {
        display: none;
    }

    .guest-shell[data-theme-layout="modern"] .modern-menu-row > img {
        width: 108px;
        height: 84px;
        grid-column: 1;
    }

    .guest-shell[data-theme-layout="modern"] .modern-menu-row > div {
        grid-column: 2;
        align-self: center;
    }

    .guest-shell[data-theme-layout="modern"] .modern-menu-row h2 {
        font-size: 16px;
        line-height: 1.15;
    }

    .guest-shell[data-theme-layout="modern"] .modern-menu-row > strong {
        grid-column: 2;
        align-self: end;
        font-size: 18px;
    }

    .guest-shell[data-theme-layout="modern"] .modern-menu-row .modern-add {
        grid-column: 3;
        grid-row: 1 / span 2;
        align-self: center;
        background: #123f2f;
        color: #fff;
    }

    .guest-shell[data-theme-layout="modern"] .guest-service-actions {
        border: 0;
        background: #123f2f;
        color: #fff;
    }

    .guest-shell[data-theme-layout="modern"] .guest-service-actions > button:nth-child(3) {
        background: #ff5c4d;
        color: #111;
    }

    /* 02. Gastropub: cinematic plate, chapter strip and bar tickets. */
    .guest-shell[data-theme-layout="bistro"] {
        --state-bg: #06131c;
        --state-surface: #071620;
        --state-ink: #f4eadc;
        --state-muted: #aa9b8e;
        --state-line: #bd754d;
        --state-accent: #c98655;
        --state-font: Georgia, serif;
        background: #06131c;
    }

    .guest-shell[data-theme-layout="bistro"] .guest-utility-shell {
        color: #f5eadc;
        background: #280f17;
        border-color: #6f3c36;
    }

    .guest-shell[data-theme-layout="bistro"] .guest-restaurant-copy strong {
        font-family: Georgia, serif;
        letter-spacing: 0;
    }

    .guest-shell[data-theme-layout="bistro"] .theme-bistro {
        padding: 0;
        background: #06131c;
    }

    .guest-shell[data-theme-layout="bistro"] .bistro-marquee {
        min-height: 480px;
        justify-content: flex-start;
        padding: 26px 20px;
        background-image: linear-gradient(180deg, rgba(3, 13, 20, .08) 35%, #06131c 94%), var(--theme-cover);
        background-position: center;
    }

    .guest-shell[data-theme-layout="bistro"] .bistro-marquee > span,
    .guest-shell[data-theme-layout="bistro"] .bistro-marquee > h1,
    .guest-shell[data-theme-layout="bistro"] .bistro-marquee > p {
        display: none;
    }

    .guest-shell[data-theme-layout="bistro"] .bistro-marquee-dish {
        display: grid;
        width: 80%;
        margin-top: auto;
        gap: 5px;
        color: #f3e7d7;
        text-shadow: 0 2px 10px #000;
    }

    .guest-shell[data-theme-layout="bistro"] .bistro-marquee-dish span {
        color: #d98a59;
        font-family: "Arial Narrow", Arial, sans-serif;
        font-size: 11px;
        letter-spacing: 0;
        text-transform: uppercase;
    }

    .guest-shell[data-theme-layout="bistro"] .bistro-marquee-dish strong {
        font-family: Georgia, serif;
        font-size: 38px;
        font-weight: 400;
        line-height: 1;
        text-transform: uppercase;
    }

    .guest-shell[data-theme-layout="bistro"] .bistro-marquee-dish b {
        color: #e08d54;
        font-family: Georgia, serif;
        font-size: 24px;
        font-weight: 400;
    }

    .guest-shell[data-theme-layout="bistro"] .bistro-chapters {
        display: flex;
        gap: 0;
        overflow-x: auto;
        border-top: 1px solid #573829;
        border-bottom: 1px solid #573829;
        background: #071620;
    }

    .guest-shell[data-theme-layout="bistro"] .bistro-chapters .category-tab {
        min-width: max-content;
        min-height: 48px;
        padding: 0 18px;
        border: 0;
        color: #bda999;
        font-family: "Arial Narrow", Arial, sans-serif;
        font-size: 11px;
        text-transform: uppercase;
    }

    .guest-shell[data-theme-layout="bistro"] .bistro-chapters .category-tab.is-active {
        border-bottom: 2px solid #e08d54;
        color: #fff;
    }

    .guest-shell[data-theme-layout="bistro"] .bistro-board {
        display: block;
        padding: 0 14px 20px;
    }

    .guest-shell[data-theme-layout="bistro"] .bistro-special {
        display: grid;
        min-height: 112px;
        grid-template-columns: minmax(0, 1fr) 120px;
        grid-template-rows: auto auto;
        border: 0;
        border-bottom: 1px solid #573829;
        background: transparent;
        color: #f3e6d4;
    }

    .guest-shell[data-theme-layout="bistro"] .bistro-special-stamp {
        display: none;
    }

    .guest-shell[data-theme-layout="bistro"] .bistro-special > img {
        width: 120px;
        height: 112px;
        min-height: 112px;
        grid-column: 2;
        grid-row: 1 / span 2;
    }

    .guest-shell[data-theme-layout="bistro"] .bistro-special > div:not(.bistro-special-stamp) {
        grid-column: 1;
        grid-row: 1;
        padding: 15px 12px 0 8px;
    }

    .guest-shell[data-theme-layout="bistro"] .bistro-special small,
    .guest-shell[data-theme-layout="bistro"] .bistro-special p {
        display: none;
    }

    .guest-shell[data-theme-layout="bistro"] .bistro-special h2 {
        margin: 0;
        color: #f3e6d4;
        font-size: 18px;
        font-weight: 400;
        line-height: 1.1;
        text-transform: uppercase;
    }

    .guest-shell[data-theme-layout="bistro"] .bistro-special footer {
        grid-column: 1;
        grid-row: 2;
        padding: 0 12px 13px 8px;
    }

    .guest-shell[data-theme-layout="bistro"] .bistro-special footer strong {
        color: #e08d54;
        font-size: 18px;
        font-weight: 400;
    }

    .guest-shell[data-theme-layout="bistro"] .bistro-ticket-list {
        border-top: 0;
    }

    .guest-shell[data-theme-layout="bistro"] .bistro-ticket {
        display: grid;
        min-height: 112px;
        grid-template-columns: minmax(0, 1fr) 120px;
        gap: 0;
        padding: 0;
        border: 0;
        border-bottom: 1px solid #573829;
        background: transparent;
    }

    .guest-shell[data-theme-layout="bistro"] .bistro-ticket > img {
        width: 120px;
        height: 112px;
        grid-column: 2;
        grid-row: 1 / span 2;
    }

    .guest-shell[data-theme-layout="bistro"] .bistro-ticket > div {
        grid-column: 1;
        grid-row: 1;
        padding: 15px 12px 0 8px;
    }

    .guest-shell[data-theme-layout="bistro"] .bistro-ticket span {
        display: none;
    }

    .guest-shell[data-theme-layout="bistro"] .bistro-ticket h2 {
        color: #f3e6d4;
        font-family: Georgia, serif;
        font-size: 18px;
        font-weight: 400;
        line-height: 1.1;
        text-transform: uppercase;
    }

    .guest-shell[data-theme-layout="bistro"] .bistro-ticket p {
        display: none;
    }

    .guest-shell[data-theme-layout="bistro"] .bistro-ticket footer {
        display: flex;
        grid-column: 1;
        grid-row: 2;
        align-items: center;
        justify-content: space-between;
        padding: 0 12px 13px 8px;
        border: 0;
    }

    .guest-shell[data-theme-layout="bistro"] .bistro-ticket footer strong {
        color: #e08d54;
        font-family: Georgia, serif;
        font-size: 18px;
    }

    .guest-shell[data-theme-layout="bistro"] .bistro-add {
        width: 34px;
        min-width: 34px;
        height: 34px;
        border: 1px solid #b36d47;
        background: transparent;
        color: #e4a276;
    }

    .guest-shell[data-theme-layout="bistro"] .guest-service-actions {
        border: 1px solid #63372e;
        background: #071620;
        color: #d58a5c;
    }

    /* 03. Classic: plated courses and dotted price leaders. */
    .guest-shell[data-theme-layout="classic"] {
        --state-bg: #fbfaf6;
        --state-surface: #fff;
        --state-ink: #173725;
        --state-muted: #6b6b61;
        --state-line: #c9aa68;
        --state-accent: #770e24;
        --state-font: Georgia, serif;
        background: #fbfaf6;
    }

    .guest-shell[data-theme-layout="classic"] .guest-utility-shell {
        color: #173725;
        background: #fff;
        border-bottom-color: #c9aa68;
    }

    .guest-shell[data-theme-layout="classic"] .theme-classic {
        padding: 22px 18px 26px;
        background: #fbfaf6;
    }

    .guest-shell[data-theme-layout="classic"] .classic-title-page {
        padding-bottom: 8px;
    }

    .guest-shell[data-theme-layout="classic"] .classic-monogram,
    .guest-shell[data-theme-layout="classic"] .classic-title-page small,
    .guest-shell[data-theme-layout="classic"] .classic-title-page p {
        display: none;
    }

    .guest-shell[data-theme-layout="classic"] .classic-title-page h1 {
        font-size: 32px;
        letter-spacing: 0;
        text-transform: uppercase;
    }

    .guest-shell[data-theme-layout="classic"] .classic-course-nav {
        display: none;
    }

    .guest-shell[data-theme-layout="classic"] .classic-courses {
        margin-top: 0;
    }

    .guest-shell[data-theme-layout="classic"] .classic-course {
        padding: 10px 0 12px;
        border-bottom: 1px solid #c9aa68;
    }

    .guest-shell[data-theme-layout="classic"] .classic-course > header {
        display: grid;
        grid-template-columns: 1fr auto 1fr;
        align-items: center;
        gap: 12px;
        margin-bottom: 10px;
    }

    .guest-shell[data-theme-layout="classic"] .classic-course > header span {
        height: 1px;
        background: #c9aa68;
    }

    .guest-shell[data-theme-layout="classic"] .classic-course > header h2 {
        color: #173725;
        font-size: 18px;
        font-weight: 400;
        text-transform: uppercase;
    }

    .guest-shell[data-theme-layout="classic"] .classic-course-image {
        width: 100%;
        height: 112px;
        margin-bottom: 2px;
        overflow: hidden;
    }

    .guest-shell[data-theme-layout="classic"] .classic-course-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .guest-shell[data-theme-layout="classic"] .classic-dish-line {
        display: grid;
        min-height: 38px;
        grid-template-columns: minmax(0, auto) 1fr auto 30px;
        gap: 7px;
        padding: 8px 0;
        border: 0;
    }

    .guest-shell[data-theme-layout="classic"] .classic-dish-line h3 {
        color: #1c251f;
        font-size: 13px;
        font-weight: 400;
    }

    .guest-shell[data-theme-layout="classic"] .classic-dish-line p {
        display: none;
    }

    .guest-shell[data-theme-layout="classic"] .classic-dish-line > i {
        display: block;
        align-self: center;
        border-bottom: 1px dotted #777;
    }

    .guest-shell[data-theme-layout="classic"] .classic-dish-line > strong {
        align-self: center;
        color: #1c251f;
        font-size: 13px;
        font-weight: 400;
        white-space: nowrap;
    }

    .guest-shell[data-theme-layout="classic"] .classic-add {
        width: 30px;
        min-width: 30px;
        height: 30px;
        border: 1px solid #770e24;
        background: transparent;
        color: #770e24;
    }

    .guest-shell[data-theme-layout="classic"] .guest-service-actions {
        border-top: 1px solid #c9aa68;
        background: #fff;
        color: #173725;
    }

    .guest-shell[data-theme-layout="classic"] .guest-service-actions > button:nth-child(3) {
        background: transparent;
        color: #770e24;
    }

    /* 04. Botanical: vertical category garden and seasonal mosaic. */
    .guest-shell[data-theme-layout="garden"] {
        --state-bg: #f5f8f1;
        --state-surface: #fff;
        --state-ink: #245934;
        --state-muted: #60705f;
        --state-line: #9eb38f;
        --state-accent: #cc542f;
        --state-font: Georgia, serif;
        background: #f5f8f1;
    }

    .guest-shell[data-theme-layout="garden"] .guest-utility-shell {
        color: #245934;
        background: #fff;
        border-bottom-color: #d5ddd1;
    }

    .guest-shell[data-theme-layout="garden"] .theme-garden {
        display: grid;
        grid-template-columns: 92px minmax(0, 1fr);
        padding: 0 0 24px;
        background: #f5f8f1;
    }

    .guest-shell[data-theme-layout="garden"] .garden-intro {
        display: grid;
        min-height: 112px;
        grid-column: 1 / -1;
        grid-template-columns: 1fr;
        padding: 22px 18px;
        border-bottom: 1px solid #d5ddd1;
    }

    .guest-shell[data-theme-layout="garden"] .garden-intro h1 {
        font-size: 38px;
        line-height: .95;
    }

    .guest-shell[data-theme-layout="garden"] .garden-intro p,
    .guest-shell[data-theme-layout="garden"] .garden-intro > i {
        display: none;
    }

    .guest-shell[data-theme-layout="garden"] .garden-categories {
        display: grid;
        align-content: start;
        grid-column: 1;
        gap: 0;
        border-right: 1px solid #d5ddd1;
    }

    .guest-shell[data-theme-layout="garden"] .garden-categories .category-tab {
        min-height: 92px;
        padding: 10px 8px;
        border: 0;
        border-bottom: 1px solid #d5ddd1;
        background: #f8faf5;
        color: #28603a;
        font-family: Georgia, serif;
        font-size: 17px;
        text-align: left;
    }

    .guest-shell[data-theme-layout="garden"] .garden-categories .category-tab.is-active {
        background: #fff;
        color: #cc542f;
    }

    .guest-shell[data-theme-layout="garden"] .garden-mosaic {
        display: grid;
        grid-column: 2;
        grid-template-columns: 1fr;
        gap: 0;
    }

    .guest-shell[data-theme-layout="garden"] .garden-dish,
    .guest-shell[data-theme-layout="garden"] .garden-dish.is-featured {
        display: grid;
        min-height: 128px;
        grid-column: 1;
        grid-template-columns: 42% 1fr;
        border: 0;
        border-bottom: 1px solid #d5ddd1;
        background: #fff;
    }

    .guest-shell[data-theme-layout="garden"] .garden-dish.is-featured {
        min-height: 310px;
        grid-template-columns: 1fr;
    }

    .guest-shell[data-theme-layout="garden"] .garden-dish figure {
        min-height: 128px;
    }

    .guest-shell[data-theme-layout="garden"] .garden-dish.is-featured figure {
        height: 230px;
    }

    .guest-shell[data-theme-layout="garden"] .garden-dish figure img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .guest-shell[data-theme-layout="garden"] .garden-dish > div {
        padding: 12px 10px;
    }

    .guest-shell[data-theme-layout="garden"] .garden-dish small {
        display: none;
    }

    .guest-shell[data-theme-layout="garden"] .garden-dish h2 {
        color: #245934;
        font-family: Georgia, serif;
        font-size: 17px;
        font-weight: 400;
        line-height: 1.05;
    }

    .guest-shell[data-theme-layout="garden"] .garden-dish p {
        display: none;
    }

    .guest-shell[data-theme-layout="garden"] .garden-dish footer {
        margin-top: 8px;
        padding-top: 0;
    }

    .guest-shell[data-theme-layout="garden"] .garden-dish footer strong {
        color: #245934;
        font-size: 14px;
    }

    .guest-shell[data-theme-layout="garden"] .garden-add {
        width: 34px;
        min-width: 34px;
        height: 34px;
        border-radius: 50%;
        background: #245934;
    }

    .guest-shell[data-theme-layout="garden"] .guest-service-actions {
        background: #245934;
        color: #fff;
    }
}

@media (max-width: 640px) {
    /* 09. Japanese: vertical chapter index and quiet ledger rows. */
    .guest-shell[data-theme-layout="japanese"] {
        --state-bg: #fbfbf8;
        --state-surface: #fff;
        --state-ink: #20231f;
        --state-muted: #747871;
        --state-line: #b7bab5;
        --state-accent: #bd161b;
        --state-font: Georgia, serif;
        background: #fbfbf8;
    }

    .guest-shell[data-theme-layout="japanese"] .guest-utility-shell {
        color: #20231f;
        background: #fff;
        border-bottom-color: #20231f;
    }

    .guest-shell[data-theme-layout="japanese"] .theme-japanese {
        padding: 20px 14px 24px;
        background: #fbfbf8;
        color: #20231f;
    }

    .guest-shell[data-theme-layout="japanese"] .japanese-intro {
        display: block;
        padding: 0 0 18px;
        border-bottom: 1px solid #a9aca7;
    }

    .guest-shell[data-theme-layout="japanese"] .japanese-mark,
    .guest-shell[data-theme-layout="japanese"] .japanese-intro span,
    .guest-shell[data-theme-layout="japanese"] .japanese-intro p {
        display: none;
    }

    .guest-shell[data-theme-layout="japanese"] .japanese-intro h1 {
        font-family: Georgia, serif;
        font-size: 34px;
        font-weight: 400;
        line-height: 1;
    }

    .guest-shell[data-theme-layout="japanese"] .japanese-catalogue-shell {
        display: grid;
        grid-template-columns: 58px minmax(0, 1fr);
        align-items: start;
    }

    .guest-shell[data-theme-layout="japanese"] .japanese-index {
        display: grid;
        grid-template-columns: 1fr;
        align-content: start;
        grid-column: 1;
        gap: 0;
        border-right: 1px solid #d1d3ce;
    }

    .guest-shell[data-theme-layout="japanese"] .japanese-index .category-tab {
        display: grid;
        width: 100%;
        min-width: 0;
        min-height: 112px;
        place-items: center;
        padding: 8px 4px;
        border: 0;
        border-bottom: 1px solid #d1d3ce;
        background: transparent;
        color: #282d28;
    }

    .guest-shell[data-theme-layout="japanese"] .japanese-index .category-tab span {
        display: none;
    }

    .guest-shell[data-theme-layout="japanese"] .japanese-index .category-tab small {
        font-family: Georgia, serif;
        font-size: 14px;
        line-height: 1;
        writing-mode: vertical-rl;
        transform: rotate(180deg);
    }

    .guest-shell[data-theme-layout="japanese"] .japanese-index .category-tab.is-active {
        color: #bd161b;
    }

    .guest-shell[data-theme-layout="japanese"] .japanese-ledger {
        display: block;
        min-width: 0;
        grid-column: 2;
        padding: 0;
    }

    .guest-shell[data-theme-layout="japanese"] .japanese-dish,
    .guest-shell[data-theme-layout="japanese"] .japanese-dish.is-featured {
        display: grid;
        min-height: 126px;
        grid-template-columns: 112px minmax(0, 1fr) 34px;
        gap: 9px;
        padding: 10px 0 10px 10px;
        border: 0;
        border-bottom: 1px solid #d1d3ce;
        background: transparent;
        box-shadow: none;
    }

    .guest-shell[data-theme-layout="japanese"] .japanese-order {
        display: none;
    }

    .guest-shell[data-theme-layout="japanese"] .japanese-dish > img {
        width: 112px;
        height: 104px;
        grid-column: 1;
        grid-row: 1 / span 2;
    }

    .guest-shell[data-theme-layout="japanese"] .japanese-dish > div {
        grid-column: 2;
        align-self: center;
    }

    .guest-shell[data-theme-layout="japanese"] .japanese-dish small,
    .guest-shell[data-theme-layout="japanese"] .japanese-dish p {
        display: none;
    }

    .guest-shell[data-theme-layout="japanese"] .japanese-dish h2 {
        font-family: Georgia, serif;
        font-size: 16px;
        font-weight: 400;
        line-height: 1.15;
    }

    .guest-shell[data-theme-layout="japanese"] .japanese-dish > strong {
        grid-column: 2;
        align-self: end;
        color: #bd161b;
        font-family: Georgia, serif;
        font-size: 16px;
        font-weight: 400;
    }

    .guest-shell[data-theme-layout="japanese"] .japanese-add {
        width: 32px;
        min-width: 32px;
        height: 32px;
        grid-column: 3;
        grid-row: 1 / span 2;
        align-self: center;
        border: 1px solid #bd161b;
        background: #fff;
        color: #bd161b;
    }

    .guest-shell[data-theme-layout="japanese"] .guest-service-actions {
        border-top: 1px solid #a9aca7;
        background: #fff;
        color: #20231f;
    }

    .guest-shell[data-theme-layout="japanese"] .guest-service-actions > button:nth-child(3) {
        border-top: 2px solid #bd161b;
        background: #fff;
        color: #bd161b;
    }

    /* 10. Festival: category flags and collage trays. */
    .guest-shell[data-theme-layout="festival"] {
        --state-bg: #fff;
        --state-surface: #fff;
        --state-ink: #0b0b0b;
        --state-muted: #484848;
        --state-line: #0b0b0b;
        --state-accent: #ffcb10;
        --state-font: "Arial Narrow", Arial, sans-serif;
        background: #fff;
    }

    .guest-shell[data-theme-layout="festival"] .guest-utility-shell {
        color: #0b0b0b;
        background: #fff;
        border-bottom: 0;
    }

    .guest-shell[data-theme-layout="festival"] .guest-restaurant-copy strong {
        font-family: "Arial Narrow", Arial, sans-serif;
        font-size: 22px;
        font-weight: 900;
        line-height: .88;
    }

    .guest-shell[data-theme-layout="festival"] .theme-festival {
        display: grid;
        grid-template-columns: 60px minmax(0, 1fr);
        overflow: hidden;
        background: #fff;
        color: #0b0b0b;
    }

    .guest-shell[data-theme-layout="festival"] .festival-banner {
        position: relative;
        min-height: 104px;
        grid-column: 1 / -1;
        padding: 12px 18px 6px 96px;
        overflow: hidden;
    }

    .guest-shell[data-theme-layout="festival"] .festival-banner::before {
        position: absolute;
        top: 4px;
        right: 70px;
        width: 94px;
        height: 94px;
        background: #ff5a48;
        clip-path: polygon(50% 0, 100% 100%, 0 78%);
        content: "";
    }

    .guest-shell[data-theme-layout="festival"] .festival-banner > span,
    .guest-shell[data-theme-layout="festival"] .festival-banner > p,
    .guest-shell[data-theme-layout="festival"] .festival-banner > div {
        display: none;
    }

    .guest-shell[data-theme-layout="festival"] .festival-banner h1 {
        position: relative;
        z-index: 1;
        font-family: "Arial Narrow", Arial, sans-serif;
        font-size: 48px;
        font-weight: 900;
        line-height: .84;
        transform: rotate(-3deg);
        text-transform: uppercase;
    }

    .guest-shell[data-theme-layout="festival"] .festival-categories {
        display: grid;
        min-width: 0;
        grid-column: 1;
        align-content: start;
        gap: 0;
    }

    .guest-shell[data-theme-layout="festival"] .festival-categories .category-tab {
        display: grid;
        width: 60px;
        min-width: 60px;
        min-height: 118px;
        place-items: center;
        padding: 8px 5px;
        border: 0;
        background: #ff5a48;
        color: #fff;
        font-family: "Arial Narrow", Arial, sans-serif;
        font-size: 13px;
        font-weight: 900;
        writing-mode: vertical-rl;
        transform: none;
    }

    .guest-shell[data-theme-layout="festival"] .festival-categories .category-tab:nth-child(3n + 2) {
        background: #13b5aa;
    }

    .guest-shell[data-theme-layout="festival"] .festival-categories .category-tab:nth-child(3n) {
        background: #ffc814;
        color: #111;
    }

    .guest-shell[data-theme-layout="festival"] .festival-categories .category-tab:nth-child(4n) {
        background: #1a54cc;
    }

    .guest-shell[data-theme-layout="festival"] .festival-categories .category-tab.is-active {
        box-shadow: inset -6px 0 0 #111;
    }

    .guest-shell[data-theme-layout="festival"] .festival-collage {
        display: grid;
        min-width: 0;
        grid-column: 2;
        grid-auto-flow: dense;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px;
        padding: 0 8px 18px;
    }

    .guest-shell[data-theme-layout="festival"] .festival-tile,
    .guest-shell[data-theme-layout="festival"] .festival-tile.is-featured {
        position: relative;
        display: block;
        min-height: 178px;
        overflow: hidden;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: #ff5a48;
        box-shadow: none;
    }

    .guest-shell[data-theme-layout="festival"] .festival-tile.is-featured {
        min-height: 300px;
        grid-column: 1 / -1;
    }

    .guest-shell[data-theme-layout="festival"] .festival-tile > img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .guest-shell[data-theme-layout="festival"] .festival-label,
    .guest-shell[data-theme-layout="festival"] .festival-tile > div > p {
        display: none;
    }

    .guest-shell[data-theme-layout="festival"] .festival-tile > div {
        position: absolute;
        right: 6px;
        bottom: 42px;
        left: 6px;
        padding: 6px;
        background: #fff;
    }

    .guest-shell[data-theme-layout="festival"] .festival-tile h2 {
        font-family: "Arial Narrow", Arial, sans-serif;
        font-size: 14px;
        font-weight: 900;
        line-height: 1;
        text-transform: uppercase;
    }

    .guest-shell[data-theme-layout="festival"] .festival-tile footer {
        position: absolute;
        right: 6px;
        bottom: 6px;
        left: 6px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 4px 6px;
        background: #ffc814;
    }

    .guest-shell[data-theme-layout="festival"] .festival-add {
        width: 30px;
        min-width: 30px;
        height: 30px;
        background: #111;
        color: #fff;
    }

    .guest-shell[data-theme-layout="festival"] .guest-service-actions {
        border: 0;
        background: #111;
        color: #fff;
    }

    .guest-shell[data-theme-layout="festival"] .guest-service-actions > button:nth-child(2),
    .guest-shell[data-theme-layout="festival"] .guest-service-actions > button:nth-child(4) {
        background: #ff5a48;
    }

    .guest-shell[data-theme-layout="festival"] .guest-service-actions > button:nth-child(3) {
        background: #13b5aa;
        color: #111;
    }

    /* 11. Atelier: seasonal collection split and numbered object register. */
    .guest-shell[data-theme-layout="atelier"] {
        --state-bg: #faf9f6;
        --state-surface: #fff;
        --state-ink: #191816;
        --state-muted: #77716a;
        --state-line: #aa7c48;
        --state-accent: #005c64;
        --state-font: Georgia, serif;
        background: #faf9f6;
    }

    .guest-shell[data-theme-layout="atelier"] .guest-utility-shell {
        color: #191816;
        background: #fff;
        border-bottom: 0;
    }

    .guest-shell[data-theme-layout="atelier"] .theme-atelier {
        display: grid;
        grid-template-columns: 42% minmax(0, 1fr);
        padding: 0 14px 24px;
        background: #faf9f6;
        color: #191816;
    }

    .guest-shell[data-theme-layout="atelier"] .atelier-heading {
        display: block;
        min-height: 218px;
        grid-column: 1;
        padding: 26px 14px 20px 0;
        border-right: 1px solid #aa7c48;
    }

    .guest-shell[data-theme-layout="atelier"] .atelier-heading > div {
        display: grid;
    }

    .guest-shell[data-theme-layout="atelier"] .atelier-heading span {
        font-family: Georgia, serif;
        font-size: 33px;
        line-height: 1;
        overflow-wrap: anywhere;
        white-space: normal;
    }

    .guest-shell[data-theme-layout="atelier"] .atelier-heading small {
        margin-top: 12px;
        color: #77716a;
        font-size: 12px;
    }

    .guest-shell[data-theme-layout="atelier"] .atelier-heading h1,
    .guest-shell[data-theme-layout="atelier"] .atelier-heading p {
        display: none;
    }

    .guest-shell[data-theme-layout="atelier"] .atelier-index {
        display: grid;
        grid-column: 1;
        align-content: start;
        gap: 0;
        padding-right: 14px;
        border-right: 1px solid #aa7c48;
    }

    .guest-shell[data-theme-layout="atelier"] .atelier-index .category-tab {
        display: grid;
        min-height: 80px;
        align-content: start;
        justify-content: start;
        padding: 10px 0;
        border: 0;
        border-bottom: 1px solid #aa7c48;
        background: transparent;
        color: #191816;
        font-family: Georgia, serif;
        font-size: 15px;
        text-align: left;
    }

    .guest-shell[data-theme-layout="atelier"] .atelier-index .category-tab::before {
        color: #191816;
        font-size: 27px;
        content: counter(atelier-category, decimal-leading-zero);
        counter-increment: atelier-category;
    }

    .guest-shell[data-theme-layout="atelier"] .atelier-index {
        counter-reset: atelier-category -1;
    }

    .guest-shell[data-theme-layout="atelier"] .atelier-index .category-tab.is-active {
        color: #005c64;
    }

    .guest-shell[data-theme-layout="atelier"] .atelier-catalogue {
        display: block;
        min-width: 0;
        grid-column: 2;
        grid-row: 1 / span 2;
        padding: 0;
    }

    .guest-shell[data-theme-layout="atelier"] .atelier-object {
        position: relative;
        display: block;
        min-height: 488px;
        border: 0;
        background: transparent;
    }

    .guest-shell[data-theme-layout="atelier"] .atelier-object figure {
        height: 488px;
        border: 0;
    }

    .guest-shell[data-theme-layout="atelier"] .atelier-object figure > span {
        display: none;
    }

    .guest-shell[data-theme-layout="atelier"] .atelier-object figure img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .guest-shell[data-theme-layout="atelier"] .atelier-spec {
        position: absolute;
        right: 8px;
        bottom: 10px;
        left: 8px;
        padding: 12px;
        background: rgba(255, 255, 255, .92);
    }

    .guest-shell[data-theme-layout="atelier"] .atelier-spec small,
    .guest-shell[data-theme-layout="atelier"] .atelier-spec p,
    .guest-shell[data-theme-layout="atelier"] .atelier-spec dl {
        display: none;
    }

    .guest-shell[data-theme-layout="atelier"] .atelier-spec h2 {
        font-family: Georgia, serif;
        font-size: 17px;
        font-weight: 400;
        line-height: 1.05;
    }

    .guest-shell[data-theme-layout="atelier"] .atelier-spec footer {
        margin-top: 8px;
    }

    .guest-shell[data-theme-layout="atelier"] .atelier-add {
        width: 32px;
        min-width: 32px;
        height: 32px;
        border: 1px solid #005c64;
        background: #005c64;
        color: #fff;
    }

    .guest-shell[data-theme-layout="atelier"] .atelier-object-list {
        display: grid;
        grid-template-columns: 1fr;
    }

    .guest-shell[data-theme-layout="atelier"] .atelier-card {
        display: grid;
        min-height: 118px;
        grid-template-columns: 78px minmax(0, 1fr);
        gap: 8px;
        padding: 10px 0;
        border: 0;
        border-bottom: 1px solid #aa7c48;
        background: transparent;
    }

    .guest-shell[data-theme-layout="atelier"] .atelier-card > span,
    .guest-shell[data-theme-layout="atelier"] .atelier-card > p {
        display: none;
    }

    .guest-shell[data-theme-layout="atelier"] .atelier-card > img {
        width: 78px;
        height: 98px;
        grid-row: 1 / span 2;
    }

    .guest-shell[data-theme-layout="atelier"] .atelier-card h2 {
        align-self: end;
        font-size: 14px;
        font-weight: 400;
        line-height: 1.1;
    }

    .guest-shell[data-theme-layout="atelier"] .atelier-card footer {
        align-self: start;
    }

    .guest-shell[data-theme-layout="atelier"] .guest-service-actions {
        border-top: 1px solid #aa7c48;
        background: #fff;
        color: #191816;
    }

    .guest-shell[data-theme-layout="atelier"] .guest-service-actions > button:nth-child(3) {
        background: #005c64;
        color: #fff;
    }

    /* 12. Black Label: private-club panorama and red price register. */
    .guest-shell[data-theme-layout="black_label"] {
        --state-bg: #030504;
        --state-surface: #050706;
        --state-ink: #eee9df;
        --state-muted: #928e86;
        --state-line: #5b5b55;
        --state-accent: #8d1422;
        --state-font: Georgia, serif;
        background: #030504;
    }

    .guest-shell[data-theme-layout="black_label"] .guest-utility-shell {
        color: #eee9df;
        background: #030504;
        border-bottom-color: #31332f;
    }

    .guest-shell[data-theme-layout="black_label"] .guest-locale-select select {
        background: #030504;
        color: #eee9df;
    }

    .guest-shell[data-theme-layout="black_label"] .theme-black-label {
        padding: 24px 20px 26px;
        background: #030504;
        color: #eee9df;
    }

    .guest-shell[data-theme-layout="black_label"] .black-label-heading {
        padding: 0 0 18px;
        border-bottom: 0;
    }

    .guest-shell[data-theme-layout="black_label"] .black-label-heading > span,
    .guest-shell[data-theme-layout="black_label"] .black-label-heading > p,
    .guest-shell[data-theme-layout="black_label"] .black-label-heading > i {
        display: none;
    }

    .guest-shell[data-theme-layout="black_label"] .black-label-heading h1 {
        color: #eee9df;
        font-family: Georgia, serif;
        font-size: 29px;
        font-weight: 400;
    }

    .guest-shell[data-theme-layout="black_label"] .black-label-nav {
        display: none;
    }

    .guest-shell[data-theme-layout="black_label"] .black-label-register {
        padding: 0;
    }

    .guest-shell[data-theme-layout="black_label"] .black-label-feature {
        display: block;
        padding: 0 0 22px;
        border-bottom: 1px solid #474941;
    }

    .guest-shell[data-theme-layout="black_label"] .black-label-feature > img {
        width: 100%;
        height: 330px;
        object-fit: cover;
    }

    .guest-shell[data-theme-layout="black_label"] .black-label-feature > div {
        padding: 16px 0 0;
    }

    .guest-shell[data-theme-layout="black_label"] .black-label-feature span,
    .guest-shell[data-theme-layout="black_label"] .black-label-feature p {
        display: none;
    }

    .guest-shell[data-theme-layout="black_label"] .black-label-feature h2 {
        color: #eee9df;
        font-family: Georgia, serif;
        font-size: 24px;
        font-weight: 400;
        line-height: 1.05;
    }

    .guest-shell[data-theme-layout="black_label"] .black-label-feature footer {
        margin-top: 8px;
    }

    .guest-shell[data-theme-layout="black_label"] .black-label-feature footer strong {
        color: #b41d2c;
        font-size: 20px;
        font-weight: 400;
    }

    .guest-shell[data-theme-layout="black_label"] .black-label-add {
        width: 34px;
        min-width: 34px;
        height: 34px;
        border: 1px solid #b41d2c;
        background: transparent;
        color: #b41d2c;
    }

    .guest-shell[data-theme-layout="black_label"] .black-label-row {
        display: grid;
        min-height: 104px;
        grid-template-columns: 44px minmax(0, 1fr) auto 34px;
        gap: 8px;
        padding: 14px 0;
        border-bottom: 1px solid #474941;
    }

    .guest-shell[data-theme-layout="black_label"] .black-label-row > span {
        color: #77736d;
        font-family: Georgia, serif;
        font-size: 28px;
    }

    .guest-shell[data-theme-layout="black_label"] .black-label-row small,
    .guest-shell[data-theme-layout="black_label"] .black-label-row p,
    .guest-shell[data-theme-layout="black_label"] .black-label-row > i {
        display: none;
    }

    .guest-shell[data-theme-layout="black_label"] .black-label-row h2 {
        color: #eee9df;
        font-family: Georgia, serif;
        font-size: 16px;
        font-weight: 400;
    }

    .guest-shell[data-theme-layout="black_label"] .black-label-row > strong {
        align-self: center;
        color: #b41d2c;
        font-family: Georgia, serif;
        font-size: 15px;
        font-weight: 400;
        white-space: nowrap;
    }

    .guest-shell[data-theme-layout="black_label"] .black-label-row .black-label-add {
        align-self: center;
    }

    .guest-shell[data-theme-layout="black_label"] .guest-service-actions {
        border-top: 1px solid #474941;
        background: #030504;
        color: #eee9df;
    }

    .guest-shell[data-theme-layout="black_label"] .guest-service-actions > button:nth-child(3) {
        background: transparent;
        color: #b41d2c;
    }
}

@media (max-width: 640px) {
    /* 13. Art deco: grand-hotel symmetry, stepped frame and brass register. */
    .guest-shell[data-theme-layout="art_deco"] {
        --state-bg: #002e27;
        --state-surface: #003b31;
        --state-ink: #f5efe2;
        --state-muted: #c0b49b;
        --state-line: #c9963e;
        --state-accent: #c9963e;
        --state-font: Georgia, serif;
        background: #002e27;
    }

    .guest-shell[data-theme-layout="art_deco"] .guest-utility-shell {
        color: #f5efe2;
        background: #002e27;
        border: 1px solid #c9963e;
    }

    .guest-shell[data-theme-layout="art_deco"] .guest-locale-select select {
        background: #002e27;
        color: #f5efe2;
    }

    .guest-shell[data-theme-layout="art_deco"] .theme-art-deco {
        position: relative;
        margin: 6px;
        padding: 18px 12px 24px;
        border: 1px solid #c9963e;
        background: radial-gradient(circle at 50% 28%, #064b3c, #002e27 62%);
        color: #f5efe2;
    }

    .guest-shell[data-theme-layout="art_deco"] .theme-art-deco::before {
        position: absolute;
        inset: 6px;
        border: 1px solid rgba(201, 150, 62, .45);
        pointer-events: none;
        content: "";
    }

    .guest-shell[data-theme-layout="art_deco"] .deco-header {
        position: relative;
        z-index: 1;
        padding: 2px 20px 18px;
        text-align: center;
    }

    .guest-shell[data-theme-layout="art_deco"] .deco-header > span,
    .guest-shell[data-theme-layout="art_deco"] .deco-header > p {
        display: none;
    }

    .guest-shell[data-theme-layout="art_deco"] .deco-header > div {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        color: #c9963e;
    }

    .guest-shell[data-theme-layout="art_deco"] .deco-header > div i {
        width: 44px;
        height: 1px;
        background: #c9963e;
    }

    .guest-shell[data-theme-layout="art_deco"] .deco-header h1 {
        margin-top: 8px;
        color: #f5efe2;
        font-family: Georgia, serif;
        font-size: 43px;
        font-weight: 400;
    }

    .guest-shell[data-theme-layout="art_deco"] .deco-nav {
        display: none;
    }

    .guest-shell[data-theme-layout="art_deco"] .deco-stage {
        position: relative;
        z-index: 1;
        display: grid;
        min-height: 396px;
        grid-template-columns: 70px minmax(0, 1fr) 70px;
        align-items: center;
        gap: 6px;
        padding: 10px 0 24px;
    }

    .guest-shell[data-theme-layout="art_deco"] .deco-stage figure {
        position: relative;
        height: 330px;
        overflow: hidden;
        border: 2px solid #c9963e;
        clip-path: polygon(14% 0, 86% 0, 86% 5%, 94% 5%, 94% 13%, 100% 13%, 100% 87%, 94% 87%, 94% 95%, 86% 95%, 86% 100%, 14% 100%, 14% 95%, 6% 95%, 6% 87%, 0 87%, 0 13%, 6% 13%, 6% 5%, 14% 5%);
    }

    .guest-shell[data-theme-layout="art_deco"] .deco-stage figure img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .guest-shell[data-theme-layout="art_deco"] .deco-stage figcaption {
        position: absolute;
        right: 0;
        bottom: 0;
        left: 0;
        padding: 12px 8px;
        background: rgba(0, 28, 24, .82);
        color: #f5efe2;
        font-family: Georgia, serif;
        font-size: 15px;
        text-align: center;
    }

    .guest-shell[data-theme-layout="art_deco"] .deco-stage-side {
        display: grid;
        gap: 10px;
        color: #f5efe2;
        font-family: Georgia, serif;
        text-align: center;
    }

    .guest-shell[data-theme-layout="art_deco"] .deco-stage-side span {
        font-size: 14px;
        line-height: 1.05;
    }

    .guest-shell[data-theme-layout="art_deco"] .deco-stage-side strong {
        color: #d8ad60;
        font-size: 17px;
        font-weight: 400;
    }

    .guest-shell[data-theme-layout="art_deco"] .deco-stage-add {
        position: absolute;
        right: 50%;
        bottom: 4px;
        width: 40px;
        min-width: 40px;
        height: 40px;
        border: 1px solid #c9963e;
        border-radius: 50%;
        background: #003b31;
        color: #d8ad60;
        transform: translateX(50%);
    }

    .guest-shell[data-theme-layout="art_deco"] .deco-menu {
        position: relative;
        z-index: 1;
        padding: 12px 0 0;
        border-top: 1px solid #c9963e;
    }

    .guest-shell[data-theme-layout="art_deco"] .deco-course {
        margin-bottom: 18px;
    }

    .guest-shell[data-theme-layout="art_deco"] .deco-course > header {
        display: flex;
        align-items: center;
        gap: 9px;
        margin-bottom: 8px;
    }

    .guest-shell[data-theme-layout="art_deco"] .deco-course > header i {
        height: 1px;
        flex: 1;
        background: #c9963e;
    }

    .guest-shell[data-theme-layout="art_deco"] .deco-course > header h2 {
        color: #d8ad60;
        font-family: Georgia, serif;
        font-size: 17px;
        font-weight: 400;
    }

    .guest-shell[data-theme-layout="art_deco"] .deco-course-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .guest-shell[data-theme-layout="art_deco"] .deco-dish {
        display: grid;
        min-height: 136px;
        align-content: start;
        padding: 10px;
        border: 1px solid #8b6d34;
        background: rgba(0, 27, 23, .55);
        text-align: center;
    }

    .guest-shell[data-theme-layout="art_deco"] .deco-dish > img {
        height: 86px;
        margin-bottom: 8px;
    }

    .guest-shell[data-theme-layout="art_deco"] .deco-dish p {
        display: none;
    }

    .guest-shell[data-theme-layout="art_deco"] .deco-dish h3 {
        color: #f5efe2;
        font-family: Georgia, serif;
        font-size: 14px;
        font-weight: 400;
    }

    .guest-shell[data-theme-layout="art_deco"] .deco-dish > strong {
        margin-top: 7px;
        color: #d8ad60;
        font-weight: 400;
    }

    .guest-shell[data-theme-layout="art_deco"] .deco-dish .deco-add {
        width: 30px;
        min-width: 30px;
        height: 30px;
        margin: 8px auto 0;
        border: 1px solid #c9963e;
        background: transparent;
        color: #d8ad60;
    }

    .guest-shell[data-theme-layout="art_deco"] .guest-service-actions {
        border: 1px solid #c9963e;
        background: #002e27;
        color: #f5efe2;
    }

    .guest-shell[data-theme-layout="art_deco"] .guest-service-actions > button:nth-child(3) {
        background: transparent;
        color: #d8ad60;
    }

    /* 14. Chef's table: numbered tasting journey and service progress. */
    .guest-shell[data-theme-layout="chefs_table"] {
        --state-bg: #fff;
        --state-surface: #fff;
        --state-ink: #26201c;
        --state-muted: #756e65;
        --state-line: #aaa399;
        --state-accent: #a40e12;
        --state-font: Georgia, serif;
        background: #fff;
    }

    .guest-shell[data-theme-layout="chefs_table"] .guest-utility-shell {
        color: #26201c;
        background: #fff;
        border-bottom: 0;
    }

    .guest-shell[data-theme-layout="chefs_table"] .theme-chefs-table {
        padding: 16px 18px 24px;
        background: #fff;
        color: #26201c;
    }

    .guest-shell[data-theme-layout="chefs_table"] .chef-table-header {
        padding: 4px 0 16px;
        border-bottom: 1px solid #aaa399;
        text-align: center;
    }

    .guest-shell[data-theme-layout="chefs_table"] .chef-table-header > span {
        color: #a40e12;
        font-family: Georgia, serif;
        font-size: 16px;
    }

    .guest-shell[data-theme-layout="chefs_table"] .chef-table-header h1 {
        margin-top: 8px;
        font-family: Georgia, serif;
        font-size: 29px;
        font-weight: 400;
        line-height: 1;
    }

    .guest-shell[data-theme-layout="chefs_table"] .chef-table-header p {
        display: none;
    }

    .guest-shell[data-theme-layout="chefs_table"] .chef-table-header > div {
        display: flex;
        justify-content: space-between;
        margin-top: 13px;
        font-family: Georgia, serif;
        font-size: 14px;
    }

    .guest-shell[data-theme-layout="chefs_table"] .chef-course-nav {
        display: none;
    }

    .guest-shell[data-theme-layout="chefs_table"] .chef-course-journey {
        position: relative;
        padding: 12px 0 0 12px;
    }

    .guest-shell[data-theme-layout="chefs_table"] .chef-progress {
        position: absolute;
        top: 18px;
        bottom: 18px;
        left: 34px;
        width: 1px;
        background: #aaa399;
    }

    .guest-shell[data-theme-layout="chefs_table"] .chef-course-step {
        position: relative;
        display: grid;
        min-height: 106px;
        grid-template-columns: 48px minmax(0, 1fr) 112px;
        gap: 8px;
        padding: 10px 0;
        border: 0;
        border-bottom: 1px solid #ddd8d1;
        background: #fff;
    }

    .guest-shell[data-theme-layout="chefs_table"] .chef-course-step:nth-child(5) {
        margin-right: -18px;
        margin-left: -12px;
        padding-left: 12px;
        border-left: 4px solid #a40e12;
        background: #faf2f1;
    }

    .guest-shell[data-theme-layout="chefs_table"] .chef-course-number {
        z-index: 1;
        display: grid;
        width: 40px;
        height: 40px;
        place-items: center;
        align-self: center;
        border: 1px solid #aaa399;
        border-radius: 50%;
        background: #fff;
    }

    .guest-shell[data-theme-layout="chefs_table"] .chef-course-number span {
        display: none;
    }

    .guest-shell[data-theme-layout="chefs_table"] .chef-course-number b {
        font-family: Georgia, serif;
        font-size: 14px;
        font-weight: 400;
    }

    .guest-shell[data-theme-layout="chefs_table"] .chef-course-step > img {
        width: 112px;
        height: 88px;
        grid-column: 3;
        grid-row: 1;
        object-fit: contain;
    }

    .guest-shell[data-theme-layout="chefs_table"] .chef-course-step > div:last-child {
        grid-column: 2;
        grid-row: 1;
        align-self: center;
    }

    .guest-shell[data-theme-layout="chefs_table"] .chef-course-step small,
    .guest-shell[data-theme-layout="chefs_table"] .chef-course-step p {
        display: none;
    }

    .guest-shell[data-theme-layout="chefs_table"] .chef-course-step h2 {
        font-family: Georgia, serif;
        font-size: 18px;
        font-weight: 400;
        line-height: 1.05;
    }

    .guest-shell[data-theme-layout="chefs_table"] .chef-course-step footer {
        margin-top: 8px;
    }

    .guest-shell[data-theme-layout="chefs_table"] .chef-course-step footer strong {
        color: #a40e12;
        font-family: Georgia, serif;
        font-weight: 400;
    }

    .guest-shell[data-theme-layout="chefs_table"] .chef-add {
        width: 30px;
        min-width: 30px;
        height: 30px;
        border: 1px solid #a40e12;
        background: #fff;
        color: #a40e12;
    }

    .guest-shell[data-theme-layout="chefs_table"] .guest-service-actions {
        border-top: 1px solid #aaa399;
        background: #fff;
        color: #26201c;
    }

    .guest-shell[data-theme-layout="chefs_table"] .guest-service-actions > button:nth-child(3) {
        background: #a40e12;
        color: #fff;
    }

    /* 15. Mediterranean: ultramarine market, catch of the day and shared plates. */
    .guest-shell[data-theme-layout="mediterranean"] {
        --state-bg: #fff;
        --state-surface: #fff;
        --state-ink: #0f3e9b;
        --state-muted: #67728a;
        --state-line: #0f3e9b;
        --state-accent: #e80015;
        --state-font: Georgia, serif;
        background: #fff;
    }

    .guest-shell[data-theme-layout="mediterranean"] .guest-utility-shell {
        color: #0f3e9b;
        background: #fff;
        border-bottom: 0;
    }

    .guest-shell[data-theme-layout="mediterranean"] .theme-mediterranean {
        padding: 0 14px 22px;
        background: #fff;
        color: #0f3e9b;
    }

    .guest-shell[data-theme-layout="mediterranean"] .med-market-header {
        padding: 14px 0 16px;
    }

    .guest-shell[data-theme-layout="mediterranean"] .med-market-header > span,
    .guest-shell[data-theme-layout="mediterranean"] .med-market-header > p,
    .guest-shell[data-theme-layout="mediterranean"] .med-market-header > div {
        display: none;
    }

    .guest-shell[data-theme-layout="mediterranean"] .med-market-header h1 {
        color: #111;
        font-family: Georgia, serif;
        font-size: 34px;
        font-weight: 400;
        line-height: .98;
    }

    .guest-shell[data-theme-layout="mediterranean"] .med-market-nav {
        display: flex;
        margin: 0 -14px;
        overflow-x: auto;
        background: #0f3e9b;
    }

    .guest-shell[data-theme-layout="mediterranean"] .med-market-nav .category-tab {
        min-width: max-content;
        min-height: 46px;
        padding: 0 15px;
        border: 0;
        background: transparent;
        color: #fff;
        font-family: Arial, sans-serif;
        font-size: 11px;
    }

    .guest-shell[data-theme-layout="mediterranean"] .med-market-nav .category-tab.is-active {
        border-bottom: 4px solid #ffcd18;
    }

    .guest-shell[data-theme-layout="mediterranean"] .med-market-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 6px;
        padding-top: 12px;
    }

    .guest-shell[data-theme-layout="mediterranean"] .med-market-item,
    .guest-shell[data-theme-layout="mediterranean"] .med-market-item.is-featured {
        position: relative;
        display: block;
        min-height: 206px;
        grid-column: span 1;
        overflow: hidden;
        border: 1px solid #0f3e9b;
        background: #fff;
    }

    .guest-shell[data-theme-layout="mediterranean"] .med-market-item.is-featured {
        min-height: 378px;
        grid-column: 1 / -1;
    }

    .guest-shell[data-theme-layout="mediterranean"] .med-market-item figure {
        height: 132px;
    }

    .guest-shell[data-theme-layout="mediterranean"] .med-market-item.is-featured figure {
        height: 286px;
    }

    .guest-shell[data-theme-layout="mediterranean"] .med-market-item figure img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .guest-shell[data-theme-layout="mediterranean"] .med-market-item figure span,
    .guest-shell[data-theme-layout="mediterranean"] .med-market-item small,
    .guest-shell[data-theme-layout="mediterranean"] .med-market-item p {
        display: none;
    }

    .guest-shell[data-theme-layout="mediterranean"] .med-market-item > div {
        padding: 9px;
    }

    .guest-shell[data-theme-layout="mediterranean"] .med-market-item h2 {
        color: #0f3e9b;
        font-family: Georgia, serif;
        font-size: 16px;
        font-weight: 400;
        line-height: 1.05;
    }

    .guest-shell[data-theme-layout="mediterranean"] .med-market-item footer {
        margin-top: 8px;
    }

    .guest-shell[data-theme-layout="mediterranean"] .med-market-item footer strong {
        color: #e80015;
        font-family: Georgia, serif;
        font-size: 16px;
        font-weight: 400;
    }

    .guest-shell[data-theme-layout="mediterranean"] .med-add {
        width: 32px;
        min-width: 32px;
        height: 32px;
        border: 1px solid #0f3e9b;
        background: #fff;
        color: #0f3e9b;
    }

    .guest-shell[data-theme-layout="mediterranean"] .guest-service-actions {
        border-top: 1px solid #0f3e9b;
        background: #fff;
        color: #0f3e9b;
    }

    .guest-shell[data-theme-layout="mediterranean"] .guest-service-actions > button:nth-child(3) {
        background: #0f3e9b;
        color: #fff;
    }

    .guest-shell[data-theme-layout="mediterranean"] .guest-service-actions > button:nth-child(4) {
        color: #e80015;
    }

    /* 16. Patisserie: glass shelves, airy products and dine-in/takeaway modes. */
    .guest-shell[data-theme-layout="patisserie"] {
        --state-bg: #fff;
        --state-surface: #fff;
        --state-ink: #232028;
        --state-muted: #6c7185;
        --state-line: #c8d6e7;
        --state-accent: #bd0b2b;
        --state-font: Georgia, serif;
        background: #fff;
    }

    .guest-shell[data-theme-layout="patisserie"] .guest-utility-shell {
        color: #232028;
        background: #fff;
        border-bottom: 0;
    }

    .guest-shell[data-theme-layout="patisserie"] .theme-patisserie {
        padding: 20px 10px 24px;
        background: #fff;
        color: #232028;
    }

    .guest-shell[data-theme-layout="patisserie"] .patisserie-header {
        padding: 0 14px 16px;
    }

    .guest-shell[data-theme-layout="patisserie"] .patisserie-header > span,
    .guest-shell[data-theme-layout="patisserie"] .patisserie-header > p {
        display: none;
    }

    .guest-shell[data-theme-layout="patisserie"] .patisserie-header h1 {
        font-family: Georgia, serif;
        font-size: 34px;
        font-weight: 400;
        line-height: .98;
    }

    .guest-shell[data-theme-layout="patisserie"] .patisserie-mode {
        display: flex;
        gap: 0;
        margin-top: 14px;
        border: 1px solid #bd0b2b;
    }

    .guest-shell[data-theme-layout="patisserie"] .patisserie-mode button {
        min-height: 34px;
        flex: 1;
        border: 0;
        background: #fff;
        color: #bd0b2b;
        font-family: Arial, sans-serif;
        font-size: 11px;
    }

    .guest-shell[data-theme-layout="patisserie"] .patisserie-mode button.is-active {
        background: #bd0b2b;
        color: #fff;
    }

    .guest-shell[data-theme-layout="patisserie"] .patisserie-shelf-labels {
        display: flex;
        gap: 0;
        margin: 0 4px 10px;
        overflow-x: auto;
        border-bottom: 1px solid #c8d6e7;
    }

    .guest-shell[data-theme-layout="patisserie"] .patisserie-shelf-labels .category-tab {
        min-width: max-content;
        min-height: 38px;
        padding: 0 13px;
        border: 0;
        background: #fff;
        color: #394158;
        font-family: Arial, sans-serif;
        font-size: 11px;
    }

    .guest-shell[data-theme-layout="patisserie"] .patisserie-shelf-labels .category-tab.is-active {
        border-bottom: 3px solid #bd0b2b;
        color: #bd0b2b;
    }

    .guest-shell[data-theme-layout="patisserie"] .patisserie-showcase {
        display: block;
        padding: 0;
        background: linear-gradient(90deg, #f2f7fd, #fff 18%, #fff 82%, #f2f7fd);
    }

    .guest-shell[data-theme-layout="patisserie"] .patisserie-dessert {
        display: grid;
        min-height: 172px;
        grid-template-columns: 64% minmax(0, 1fr);
        align-items: center;
        gap: 6px;
        padding: 8px 10px;
        border: 1px solid #c8d6e7;
        border-bottom-width: 5px;
        background: rgba(244, 249, 255, .65);
        box-shadow: inset 0 -12px 18px rgba(92, 126, 166, .1);
    }

    .guest-shell[data-theme-layout="patisserie"] .patisserie-plate {
        width: 100%;
        height: 150px;
        grid-column: 1;
        grid-row: 1 / span 4;
        border: 0;
        border-radius: 0;
        background: transparent;
    }

    .guest-shell[data-theme-layout="patisserie"] .patisserie-plate img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    .guest-shell[data-theme-layout="patisserie"] .patisserie-dessert > span,
    .guest-shell[data-theme-layout="patisserie"] .patisserie-dessert > p {
        display: none;
    }

    .guest-shell[data-theme-layout="patisserie"] .patisserie-dessert h2 {
        align-self: end;
        color: #232028;
        font-family: Georgia, serif;
        font-size: 17px;
        font-weight: 400;
        line-height: 1.08;
    }

    .guest-shell[data-theme-layout="patisserie"] .patisserie-dessert footer {
        align-self: start;
        margin-top: 8px;
    }

    .guest-shell[data-theme-layout="patisserie"] .patisserie-dessert footer strong {
        color: #bd0b2b;
        font-family: Georgia, serif;
        font-size: 18px;
        font-weight: 400;
    }

    .guest-shell[data-theme-layout="patisserie"] .patisserie-add {
        width: 32px;
        min-width: 32px;
        height: 32px;
        border: 1px solid #bd0b2b;
        background: #fff;
        color: #bd0b2b;
    }

    .guest-shell[data-theme-layout="patisserie"] .patisserie-gift-box {
        margin-top: 10px;
        padding: 16px;
        border: 1px solid #c8d6e7;
        background: #f2f7fd;
    }

    .guest-shell[data-theme-layout="patisserie"] .guest-service-actions {
        border-top: 1px solid #c8d6e7;
        background: #fff;
        color: #4d5361;
    }

    .guest-shell[data-theme-layout="patisserie"] .guest-service-actions > button:nth-child(3) {
        background: #bd0b2b;
        color: #fff;
    }
}

/*
 * Reference state screens. The same live order data is intentionally composed
 * in a different visual grammar for every preset; these are not palette skins.
 */
@media (max-width: 640px) {
    .guest-shell[data-theme-layout] .payment-modal-card {
        display: flex;
        flex-direction: column;
        gap: 16px;
        background: var(--state-surface);
        color: var(--state-ink);
    }

    .guest-shell[data-theme-layout] .payment-modal-head {
        order: 0;
        padding-right: 0;
    }

    .guest-shell[data-theme-layout] .payment-provider-card {
        display: none;
    }

    .guest-shell[data-theme-layout] .payment-summary {
        order: 1;
    }

    .guest-shell[data-theme-layout] .payment-scope {
        display: grid;
        order: 2;
        gap: 8px;
        margin: 0;
        padding: 0;
        border: 0;
    }

    .guest-shell[data-theme-layout] .payment-scope legend {
        width: 100%;
        margin-bottom: 8px;
        color: var(--state-muted);
        font-family: Arial, sans-serif;
        font-size: 11px;
        font-weight: 800;
        text-transform: uppercase;
    }

    .guest-shell[data-theme-layout] .payment-scope label {
        display: flex;
        min-height: 58px;
        align-items: center;
        gap: 10px;
        padding: 12px 14px;
        border: 1px solid var(--state-line);
        background: transparent;
        color: var(--state-ink);
        cursor: pointer;
    }

    .guest-shell[data-theme-layout] .payment-scope label:has(input:checked) {
        border-color: var(--state-accent);
        background: color-mix(in srgb, var(--state-accent) 10%, var(--state-surface));
    }

    .guest-shell[data-theme-layout] .payment-scope input,
    .guest-shell[data-theme-layout] .payment-method-option input {
        width: 20px;
        height: 20px;
        flex: 0 0 auto;
        accent-color: var(--state-accent);
    }

    .guest-shell[data-theme-layout] .payment-item-selector,
    .guest-shell[data-theme-layout] [data-payment-custom-field] {
        order: 3;
    }

    .guest-shell[data-theme-layout] .payment-methods {
        order: 4;
        gap: 10px;
    }

    .guest-shell[data-theme-layout] .payment-method-option {
        min-height: 70px;
        padding: 10px 14px;
    }

    .guest-shell[data-theme-layout] .payment-method-option > span:last-child {
        font-size: 16px;
    }

    .guest-shell[data-theme-layout] .payment-method-icon {
        display: grid;
        width: 42px;
        height: 42px;
        flex: 0 0 42px;
        place-items: center;
        color: var(--state-accent);
    }

    .guest-shell[data-theme-layout] .payment-method-icon svg {
        width: 34px;
        height: 34px;
        fill: none;
        stroke: currentColor;
        stroke-linecap: square;
        stroke-linejoin: miter;
        stroke-width: 1.7;
    }

    .guest-shell[data-theme-layout] .payment-modal-card > .primary-button {
        order: 5;
    }

    .guest-shell[data-theme-layout] .payment-modal-card > [data-cancel-payment] {
        order: 6;
    }

    .guest-shell[data-theme-layout] .table-order-head {
        align-items: flex-start;
    }

    .guest-shell[data-theme-layout] .table-order-toolbar {
        display: grid;
        gap: 8px;
    }

    .guest-shell[data-theme-layout] .visit-participants {
        display: none;
    }

    .guest-shell[data-theme-layout] .table-order-progress span {
        border-radius: 0;
        background: transparent;
    }

    .guest-shell[data-theme-layout] .table-order-card {
        padding: 0;
    }

    .guest-shell[data-theme-layout] .table-order-card > header {
        padding: 10px 0;
    }

    .guest-shell[data-theme-layout] .table-order-item {
        position: relative;
        display: grid;
        grid-template-columns: 64px minmax(0, 1fr) auto;
        align-items: center;
        gap: 12px;
    }

    .guest-shell[data-theme-layout] .table-order-item-photo {
        width: 64px;
        height: 64px;
        grid-column: 1;
        object-fit: cover;
    }

    .guest-shell[data-theme-layout] .table-order-item > div {
        grid-column: 2;
        min-width: 0;
    }

    .guest-shell[data-theme-layout] .table-order-item > .item-status {
        grid-column: 3;
        max-width: 88px;
        white-space: normal;
    }

    .guest-shell[data-theme-layout] .cart-drawer {
        z-index: 155;
        width: min(100%, 430px);
        padding: 20px 18px calc(24px + env(safe-area-inset-bottom));
        border: 0;
        background: var(--state-surface);
        color: var(--state-ink);
    }

    .guest-shell[data-theme-layout] .cart-drawer.is-open ~ .floating-order-button {
        opacity: 0;
        pointer-events: none;
    }

    .guest-shell[data-theme-layout] .dish-options-content form > .primary-button {
        position: sticky;
        z-index: 3;
        bottom: 0;
        box-shadow: 0 -10px 24px color-mix(in srgb, var(--state-surface) 88%, transparent);
    }

    .guest-shell[data-theme-layout] .cart-header {
        flex: 0 0 auto;
    }

    .guest-shell[data-theme-layout] .cart-header strong {
        font-size: 30px;
        line-height: 1;
    }

    .guest-shell[data-theme-layout] .cart-line {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 12px;
        padding: 14px 0;
        border-width: 0 0 1px;
        background: transparent;
    }

    /* 01. Modern: product ledger, strict columns and oversized payment total. */
    .guest-shell[data-theme-layout="modern"] .dish-options-media {
        border-bottom: 1px solid #101512;
    }

    .guest-shell[data-theme-layout="modern"] .dish-options-content > header > span,
    .guest-shell[data-theme-layout="modern"] .payment-modal-head > span,
    .guest-shell[data-theme-layout="modern"] .table-order-head > div > span {
        color: #ff5c4d;
        font-family: Arial, sans-serif;
        letter-spacing: 0;
    }

    .guest-shell[data-theme-layout="modern"] .dish-options-groups,
    .guest-shell[data-theme-layout="modern"] .dish-options-content form {
        gap: 0;
    }

    .guest-shell[data-theme-layout="modern"] .modifier-group,
    .guest-shell[data-theme-layout="modern"] .dish-options-content .field {
        padding: 14px 0;
        border-top: 1px solid #b9bfbb;
    }

    .guest-shell[data-theme-layout="modern"] .table-order-modal-card,
    .guest-shell[data-theme-layout="modern"] .payment-modal-card {
        background: #fff;
    }

    .guest-shell[data-theme-layout="modern"] .table-order-panel-modal {
        gap: 0;
    }

    .guest-shell[data-theme-layout="modern"] .table-order-head {
        padding-bottom: 18px;
        border-bottom: 1px solid #101512;
    }

    .guest-shell[data-theme-layout="modern"] .table-order-summary strong {
        color: #123f2f;
    }

    .guest-shell[data-theme-layout="modern"] .table-order-toolbar {
        padding: 10px 0;
        border-bottom: 1px solid #c8ccc9;
    }

    .guest-shell[data-theme-layout="modern"] .table-order-progress {
        justify-content: space-between;
        padding: 10px 0;
        border-bottom: 1px solid #101512;
    }

    .guest-shell[data-theme-layout="modern"] .table-order-progress span {
        padding: 0;
        border: 0;
    }

    .guest-shell[data-theme-layout="modern"] .table-order-card,
    .guest-shell[data-theme-layout="modern"] .table-order-item {
        border-width: 0 0 1px;
        background: #fff;
    }

    .guest-shell[data-theme-layout="modern"] .table-order-card > header {
        display: none;
    }

    .guest-shell[data-theme-layout="modern"] .table-order-item {
        min-height: 90px;
        padding: 12px 0;
    }

    .guest-shell[data-theme-layout="modern"] .table-order-item > .item-status {
        padding: 0;
        background: transparent;
        color: #ff5c4d;
        text-align: right;
    }

    .guest-shell[data-theme-layout="modern"] .payment-summary {
        min-height: 132px;
        justify-content: center;
        padding: 18px 0 24px;
        border-width: 0 0 1px;
        background: transparent;
    }

    .guest-shell[data-theme-layout="modern"] .payment-summary strong {
        color: #101512;
        font-family: Arial, sans-serif;
        font-size: 66px;
        font-weight: 400;
    }

    .guest-shell[data-theme-layout="modern"] .payment-scope label,
    .guest-shell[data-theme-layout="modern"] .payment-method-option {
        border-color: #bec3bf;
        background: #fff;
    }

    .guest-shell[data-theme-layout="modern"] .payment-scope label:has(input:checked) {
        border-color: #ff5c4d;
    }

    /* 02. Gastropub: copper tickets, dark kitchen board and wallet receipt. */
    .guest-shell[data-theme-layout="bistro"] .guest-locale-select select {
        background: #280f17;
        color: #f5eadc;
    }

    .guest-shell[data-theme-layout="bistro"] .dish-options-card,
    .guest-shell[data-theme-layout="bistro"] .table-order-modal-card,
    .guest-shell[data-theme-layout="bistro"] .payment-modal-card,
    .guest-shell[data-theme-layout="bistro"] .cart-drawer {
        background: #06131c;
        color: #f4eadc;
    }

    .guest-shell[data-theme-layout="bistro"] .dish-options-card {
        grid-template-rows: minmax(320px, 48vh) minmax(0, 1fr);
    }

    .guest-shell[data-theme-layout="bistro"] .dish-options-content,
    .guest-shell[data-theme-layout="bistro"] .table-order-modal-card,
    .guest-shell[data-theme-layout="bistro"] .payment-modal-card {
        outline: 1px solid #7e4c36;
        outline-offset: -8px;
    }

    .guest-shell[data-theme-layout="bistro"] .dish-options-content > header h2,
    .guest-shell[data-theme-layout="bistro"] .table-order-head h2,
    .guest-shell[data-theme-layout="bistro"] .payment-modal-head h2 {
        color: #f4eadc;
        font-family: Georgia, serif;
        font-weight: 400;
        text-transform: uppercase;
    }

    .guest-shell[data-theme-layout="bistro"] .dish-options-content > header > span,
    .guest-shell[data-theme-layout="bistro"] .payment-modal-head > span,
    .guest-shell[data-theme-layout="bistro"] .table-order-head > div > span {
        color: #d98553;
    }

    .guest-shell[data-theme-layout="bistro"] .modifier-group,
    .guest-shell[data-theme-layout="bistro"] .dish-options-content .field,
    .guest-shell[data-theme-layout="bistro"] .table-order-head,
    .guest-shell[data-theme-layout="bistro"] .table-order-progress {
        border-color: #7e4c36;
    }

    .guest-shell[data-theme-layout="bistro"] .table-order-card {
        border: 0;
        background: #06131c;
    }

    .guest-shell[data-theme-layout="bistro"] .table-order-card > header {
        border-bottom: 1px solid #925c3e;
        color: #d98553;
    }

    .guest-shell[data-theme-layout="bistro"] .table-order-item {
        min-height: 112px;
        grid-template-columns: 104px minmax(0, 1fr);
        padding: 10px 0;
        border-width: 0 0 1px;
        border-color: #68412f;
        background: transparent;
    }

    .guest-shell[data-theme-layout="bistro"] .table-order-item-photo {
        width: 104px;
        height: 92px;
    }

    .guest-shell[data-theme-layout="bistro"] .table-order-item > .item-status {
        grid-column: 2;
        justify-self: start;
        padding: 0;
        background: transparent;
        color: #d98553;
    }

    .guest-shell[data-theme-layout="bistro"] .payment-summary {
        min-height: 190px;
        place-content: center;
        border: 12px solid #111923;
        outline: 1px solid #c4885f;
        background: #e8e0d4;
        color: #171413;
        text-align: center;
        box-shadow: inset 0 0 0 1px #8b735f;
    }

    .guest-shell[data-theme-layout="bistro"] .payment-summary strong {
        color: #171413;
        font-family: Georgia, serif;
        font-size: 52px;
        font-weight: 400;
    }

    .guest-shell[data-theme-layout="bistro"] .payment-scope label,
    .guest-shell[data-theme-layout="bistro"] .payment-method-option {
        border-color: #a4613e;
        background: #06131c;
        color: #f4eadc;
    }

    .guest-shell[data-theme-layout="bistro"] .payment-methods {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .guest-shell[data-theme-layout="bistro"] .payment-method-option {
        min-height: 92px;
        flex-direction: column;
        justify-content: center;
        text-align: center;
    }

    /* 03. Classic: formal courses, gold rules and centered service ritual. */
    .guest-shell[data-theme-layout="classic"] .dish-options-card,
    .guest-shell[data-theme-layout="classic"] .table-order-modal-card,
    .guest-shell[data-theme-layout="classic"] .payment-modal-card,
    .guest-shell[data-theme-layout="classic"] .cart-drawer {
        background: #fbfaf6;
        color: #173725;
    }

    .guest-shell[data-theme-layout="classic"] .dish-options-media {
        background: #fbfaf6;
    }

    .guest-shell[data-theme-layout="classic"] .dish-options-media > img {
        object-fit: contain;
    }

    .guest-shell[data-theme-layout="classic"] .dish-options-content > header,
    .guest-shell[data-theme-layout="classic"] .table-order-head,
    .guest-shell[data-theme-layout="classic"] .payment-modal-head {
        padding-bottom: 16px;
        border-bottom: 1px solid #c9aa68;
        text-align: center;
    }

    .guest-shell[data-theme-layout="classic"] .dish-options-content > header h2,
    .guest-shell[data-theme-layout="classic"] .table-order-head h2,
    .guest-shell[data-theme-layout="classic"] .payment-modal-head h2 {
        font-weight: 400;
        text-transform: uppercase;
    }

    .guest-shell[data-theme-layout="classic"] .table-order-summary {
        justify-items: center;
    }

    .guest-shell[data-theme-layout="classic"] .table-order-card {
        border: 0;
        background: transparent;
    }

    .guest-shell[data-theme-layout="classic"] .table-order-card > header {
        justify-content: center;
        border-bottom: 1px solid #c9aa68;
        text-align: center;
    }

    .guest-shell[data-theme-layout="classic"] .table-order-item {
        padding: 14px 0;
        border-width: 0 0 1px;
        border-color: #d7c28f;
        background: transparent;
    }

    .guest-shell[data-theme-layout="classic"] .table-order-item-photo {
        border-radius: 50%;
        object-fit: contain;
    }

    .guest-shell[data-theme-layout="classic"] .table-order-item > .item-status {
        padding: 0;
        background: transparent;
        color: #8a651d;
        text-align: right;
    }

    .guest-shell[data-theme-layout="classic"] .payment-summary {
        min-height: 156px;
        place-content: center;
        border-width: 0 0 1px;
        border-color: #c9aa68;
        background: transparent;
        text-align: center;
    }

    .guest-shell[data-theme-layout="classic"] .payment-summary strong {
        color: #770e24;
        font-family: Georgia, serif;
        font-size: 50px;
        font-weight: 400;
    }

    .guest-shell[data-theme-layout="classic"] .payment-scope label,
    .guest-shell[data-theme-layout="classic"] .payment-method-option {
        border-width: 0 0 1px;
        border-color: #d7c28f;
        background: transparent;
        font-family: Georgia, serif;
    }

    /* 04. Botanical: status herbarium and three broad payment leaves. */
    .guest-shell[data-theme-layout="garden"] .dish-options-card,
    .guest-shell[data-theme-layout="garden"] .table-order-modal-card,
    .guest-shell[data-theme-layout="garden"] .payment-modal-card,
    .guest-shell[data-theme-layout="garden"] .cart-drawer {
        background: #f8fbf7;
        color: #19472f;
    }

    .guest-shell[data-theme-layout="garden"] .dish-options-card {
        grid-template-rows: minmax(350px, 52vh) minmax(0, 1fr);
    }

    .guest-shell[data-theme-layout="garden"] .dish-options-content,
    .guest-shell[data-theme-layout="garden"] .table-order-panel-modal {
        background-image: linear-gradient(135deg, transparent 94%, #dce8d8 94%);
    }

    .guest-shell[data-theme-layout="garden"] .dish-options-content > header h2,
    .guest-shell[data-theme-layout="garden"] .table-order-head h2,
    .guest-shell[data-theme-layout="garden"] .payment-modal-head h2 {
        color: #1c5a37;
        font-family: Georgia, serif;
        font-weight: 400;
    }

    .guest-shell[data-theme-layout="garden"] .table-order-card {
        border: 0;
        background: transparent;
    }

    .guest-shell[data-theme-layout="garden"] .table-order-card > header {
        color: #1c5a37;
    }

    .guest-shell[data-theme-layout="garden"] .table-order-item {
        grid-template-columns: 82px minmax(0, 1fr) 92px;
        padding: 10px 0;
        border-width: 0 0 1px;
        background: transparent;
    }

    .guest-shell[data-theme-layout="garden"] .table-order-item-photo {
        width: 82px;
        height: 72px;
        border-radius: 36px 0 36px 0;
    }

    .guest-shell[data-theme-layout="garden"] .table-order-item > .item-status {
        border-left: 1px solid #a8b9a9;
        border-radius: 0;
        background: transparent;
        color: #c04f32;
    }

    .guest-shell[data-theme-layout="garden"] .payment-summary {
        min-height: 168px;
        justify-content: center;
        border: 0;
        background: #1b6037;
        color: #fff;
    }

    .guest-shell[data-theme-layout="garden"] .payment-summary span,
    .guest-shell[data-theme-layout="garden"] .payment-summary strong {
        color: #fff;
        font-family: Georgia, serif;
        font-weight: 400;
    }

    .guest-shell[data-theme-layout="garden"] .payment-scope {
        gap: 0;
    }

    .guest-shell[data-theme-layout="garden"] .payment-scope label {
        min-height: 82px;
        border: 0;
        font-family: Georgia, serif;
        font-size: 18px;
    }

    .guest-shell[data-theme-layout="garden"] .payment-scope label:nth-of-type(1) { background: #1b6037; color: #fff; }
    .guest-shell[data-theme-layout="garden"] .payment-scope label:nth-of-type(2) { background: #cde995; color: #19472f; }
    .guest-shell[data-theme-layout="garden"] .payment-scope label:nth-of-type(3),
    .guest-shell[data-theme-layout="garden"] .payment-scope label:nth-of-type(4) { background: #d95a32; color: #fff; }

    /* 05. Night: live service timeline and luminous payment tiles. */
    .guest-shell[data-theme-layout="dark"] .dish-options-card,
    .guest-shell[data-theme-layout="dark"] .table-order-modal-card,
    .guest-shell[data-theme-layout="dark"] .payment-modal-card,
    .guest-shell[data-theme-layout="dark"] .cart-drawer {
        background: #070b0d;
        color: #f4f1ea;
    }

    .guest-shell[data-theme-layout="dark"] .dish-options-content > header h2,
    .guest-shell[data-theme-layout="dark"] .table-order-head h2,
    .guest-shell[data-theme-layout="dark"] .payment-modal-head h2 {
        font-family: Georgia, serif;
        font-weight: 400;
    }

    .guest-shell[data-theme-layout="dark"] .table-order-list {
        position: relative;
        padding-left: 24px;
    }

    .guest-shell[data-theme-layout="dark"] .table-order-list::before {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 7px;
        width: 1px;
        background: #47d99b;
        content: "";
    }

    .guest-shell[data-theme-layout="dark"] .table-order-card {
        position: relative;
        border: 0;
        background: transparent;
    }

    .guest-shell[data-theme-layout="dark"] .table-order-card::before {
        position: absolute;
        top: 16px;
        left: -24px;
        width: 14px;
        height: 14px;
        border: 1px solid #47d99b;
        border-radius: 50%;
        background: #070b0d;
        content: "";
    }

    .guest-shell[data-theme-layout="dark"] .table-order-card > header {
        color: #47d99b;
    }

    .guest-shell[data-theme-layout="dark"] .table-order-item {
        grid-template-columns: 88px minmax(0, 1fr) auto;
        padding: 12px 0;
        border-width: 0 0 1px;
        border-color: #374247;
        background: transparent;
    }

    .guest-shell[data-theme-layout="dark"] .table-order-item-photo {
        width: 88px;
        height: 72px;
        border: 1px solid #566166;
    }

    .guest-shell[data-theme-layout="dark"] .table-order-item > .item-status {
        padding: 0;
        background: transparent;
        color: #47d99b;
    }

    .guest-shell[data-theme-layout="dark"] .payment-summary {
        min-height: 176px;
        justify-content: center;
        border: 0;
        background: transparent;
    }

    .guest-shell[data-theme-layout="dark"] .payment-summary strong {
        color: #f4f1ea;
        font-family: Georgia, serif;
        font-size: 58px;
        font-weight: 400;
    }

    .guest-shell[data-theme-layout="dark"] .payment-methods {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .guest-shell[data-theme-layout="dark"] .payment-method-option {
        min-height: 170px;
        flex-direction: column;
        justify-content: center;
        border-color: #465057;
        background: #070b0d;
        color: #f4f1ea;
        text-align: center;
    }

    /* 06. Editorial: issue table, typographic totals and blue editorial controls. */
    .guest-shell[data-theme-layout="editorial"] .dish-options-card,
    .guest-shell[data-theme-layout="editorial"] .table-order-modal-card,
    .guest-shell[data-theme-layout="editorial"] .payment-modal-card,
    .guest-shell[data-theme-layout="editorial"] .cart-drawer {
        background: #fff;
        color: #101010;
    }

    .guest-shell[data-theme-layout="editorial"] .dish-options-card {
        position: relative;
        display: block;
        padding-top: 70px;
    }

    .guest-shell[data-theme-layout="editorial"] .dish-options-media {
        position: absolute;
        top: 72px;
        left: 61%;
        right: 0;
        width: auto;
        height: 42vh;
        margin: 16px 0 0;
    }

    .guest-shell[data-theme-layout="editorial"] .dish-options-content {
        padding-top: 12px;
    }

    .guest-shell[data-theme-layout="editorial"] .dish-options-content > header {
        width: 58%;
        min-height: 42vh;
        padding-right: 10px;
    }

    .guest-shell[data-theme-layout="editorial"] .dish-options-content > header h2 {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        font-size: 33px;
        overflow-wrap: break-word;
        word-break: normal;
    }

    .guest-shell[data-theme-layout="editorial"] .dish-options-content > header h2,
    .guest-shell[data-theme-layout="editorial"] .table-order-head h2,
    .guest-shell[data-theme-layout="editorial"] .payment-modal-head h2 {
        font-family: Georgia, serif;
        font-size: 48px;
        font-weight: 400;
        line-height: .92;
    }

    .guest-shell[data-theme-layout="editorial"] .dish-options-content > header h2 {
        font-size: 38px;
    }

    .guest-shell[data-theme-layout="editorial"] .dish-options-content > header p {
        color: #1646b7;
        font-family: Georgia, serif;
    }

    .guest-shell[data-theme-layout="editorial"] .table-order-card,
    .guest-shell[data-theme-layout="editorial"] .table-order-item {
        border-width: 0 0 1px;
        border-color: #111;
        background: transparent;
    }

    .guest-shell[data-theme-layout="editorial"] .table-order-card > header {
        color: #1646b7;
        text-transform: uppercase;
    }

    .guest-shell[data-theme-layout="editorial"] .table-order-item-photo {
        display: none;
    }

    .guest-shell[data-theme-layout="editorial"] .table-order-item {
        grid-template-columns: minmax(0, 1fr) auto;
        padding: 16px 0;
    }

    .guest-shell[data-theme-layout="editorial"] .table-order-item > div { grid-column: 1; }
    .guest-shell[data-theme-layout="editorial"] .table-order-item > .item-status { grid-column: 2; padding: 0; background: transparent; color: #ef1b18; }

    .guest-shell[data-theme-layout="editorial"] .table-order-summary strong,
    .guest-shell[data-theme-layout="editorial"] .payment-summary strong {
        color: #1646b7;
        font-family: Georgia, serif;
        font-size: 64px;
        font-weight: 400;
    }

    .guest-shell[data-theme-layout="editorial"] .payment-summary {
        min-height: 176px;
        padding: 18px 0;
        border-width: 1px 0;
        border-color: #111;
        background: transparent;
    }

    .guest-shell[data-theme-layout="editorial"] .payment-scope label,
    .guest-shell[data-theme-layout="editorial"] .payment-method-option {
        border-color: #111;
        background: #fff;
        text-transform: uppercase;
    }

    .guest-shell[data-theme-layout="editorial"] .payment-scope label:has(input:checked) {
        background: #1646b7;
        color: #fff;
    }

    /* 07. Graphic: numbered kitchen codes and hard red/green status blocks. */
    .guest-shell[data-theme-layout="contrast"] .dish-options-card,
    .guest-shell[data-theme-layout="contrast"] .table-order-modal-card,
    .guest-shell[data-theme-layout="contrast"] .payment-modal-card,
    .guest-shell[data-theme-layout="contrast"] .cart-drawer {
        background: #f7f7f4;
        color: #080808;
        font-family: "Arial Narrow", Arial, sans-serif;
    }

    .guest-shell[data-theme-layout="contrast"] .dish-options-content > header h2,
    .guest-shell[data-theme-layout="contrast"] .table-order-head h2,
    .guest-shell[data-theme-layout="contrast"] .payment-modal-head h2 {
        font-family: Impact, "Arial Narrow", Arial, sans-serif;
        font-weight: 400;
        line-height: .92;
        text-transform: uppercase;
    }

    .guest-shell[data-theme-layout="contrast"] .table-order-head,
    .guest-shell[data-theme-layout="contrast"] .payment-modal-head {
        padding-bottom: 10px;
        border-bottom: 4px solid #080808;
    }

    .guest-shell[data-theme-layout="contrast"] .table-order-card {
        border: 3px solid #080808;
        background: #fff;
    }

    .guest-shell[data-theme-layout="contrast"] .table-order-card > header {
        padding: 12px;
        background: #e90000;
        color: #fff;
        text-transform: uppercase;
    }

    .guest-shell[data-theme-layout="contrast"] .table-order-item {
        grid-template-columns: minmax(0, 1fr) auto;
        border-width: 0 0 2px;
        border-color: #080808;
        background: #fff;
    }

    .guest-shell[data-theme-layout="contrast"] .table-order-item-photo { display: none; }
    .guest-shell[data-theme-layout="contrast"] .table-order-item > div { grid-column: 1; }
    .guest-shell[data-theme-layout="contrast"] .table-order-item > .item-status { grid-column: 2; border-radius: 0; background: #f3d600; color: #080808; }
    .guest-shell[data-theme-layout="contrast"] .table-order-item.is-served > .item-status { background: #128326; color: #fff; }

    .guest-shell[data-theme-layout="contrast"] .payment-summary {
        min-height: 112px;
        grid-template-columns: 1fr auto;
        align-items: center;
        border-width: 0 0 4px;
        border-color: #080808;
        background: transparent;
    }

    .guest-shell[data-theme-layout="contrast"] .payment-summary strong {
        color: #080808;
        font-family: Impact, "Arial Narrow", Arial, sans-serif;
        font-size: 52px;
    }

    .guest-shell[data-theme-layout="contrast"] .payment-scope label,
    .guest-shell[data-theme-layout="contrast"] .payment-method-option {
        border: 3px solid #080808;
        background: #fff;
        font-family: Impact, "Arial Narrow", Arial, sans-serif;
        font-size: 17px;
        text-transform: uppercase;
    }

    .guest-shell[data-theme-layout="contrast"] .payment-scope label:has(input:checked) {
        background: #080808;
        color: #fff;
    }

    /* 08. Brutalist: poster tickets, loud totals and primary colour blocks. */
    .guest-shell[data-theme-layout="brutalist"] .dish-options-card,
    .guest-shell[data-theme-layout="brutalist"] .table-order-modal-card,
    .guest-shell[data-theme-layout="brutalist"] .payment-modal-card,
    .guest-shell[data-theme-layout="brutalist"] .cart-drawer {
        background: #62b4ef;
        color: #050505;
        font-family: "Arial Narrow", Arial, sans-serif;
    }

    .guest-shell[data-theme-layout="brutalist"] .dish-options-content {
        background: #ffd318;
    }

    .guest-shell[data-theme-layout="brutalist"] .dish-options-content > header h2,
    .guest-shell[data-theme-layout="brutalist"] .table-order-head h2,
    .guest-shell[data-theme-layout="brutalist"] .payment-modal-head h2 {
        font-family: Impact, "Arial Narrow", Arial, sans-serif;
        font-size: 52px;
        font-weight: 400;
        line-height: .86;
        text-transform: uppercase;
    }

    .guest-shell[data-theme-layout="brutalist"] .table-order-card {
        padding: 12px;
        border: 4px solid #050505;
        background: #fff;
        box-shadow: 6px 6px 0 #ef3b24;
    }

    .guest-shell[data-theme-layout="brutalist"] .table-order-card > header {
        background: #ffd318;
        color: #050505;
    }

    .guest-shell[data-theme-layout="brutalist"] .table-order-item {
        grid-template-columns: 44px minmax(0, 1fr);
        border: 0;
        border-bottom: 2px dashed #050505;
        background: #fff;
    }

    .guest-shell[data-theme-layout="brutalist"] .table-order-item-photo { display: none; }
    .guest-shell[data-theme-layout="brutalist"] .table-order-item::before {
        display: grid;
        width: 38px;
        height: 38px;
        grid-column: 1;
        grid-row: 1 / span 2;
        place-items: center;
        background: #050505;
        color: #fff;
        font-size: 18px;
        font-weight: 900;
        content: "1";
    }
    .guest-shell[data-theme-layout="brutalist"] .table-order-item > div { grid-column: 2; }
    .guest-shell[data-theme-layout="brutalist"] .table-order-item > .item-status { grid-column: 1 / -1; max-width: none; border: 2px solid #050505; border-radius: 0; background: #ffd318; color: #050505; text-align: center; }
    .guest-shell[data-theme-layout="brutalist"] .table-order-item.is-served > .item-status { background: #62b4ef; }

    .guest-shell[data-theme-layout="brutalist"] .payment-summary {
        min-height: 196px;
        place-content: center;
        border: 4px solid #050505;
        background: #ef3b24;
        color: #050505;
        text-align: center;
    }

    .guest-shell[data-theme-layout="brutalist"] .payment-summary strong {
        color: #050505;
        font-family: Impact, "Arial Narrow", Arial, sans-serif;
        font-size: 74px;
    }

    .guest-shell[data-theme-layout="brutalist"] .payment-scope {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .guest-shell[data-theme-layout="brutalist"] .payment-scope legend { grid-column: 1 / -1; }
    .guest-shell[data-theme-layout="brutalist"] .payment-scope label,
    .guest-shell[data-theme-layout="brutalist"] .payment-method-option { border: 3px solid #050505; background: #fff; font-family: Impact, "Arial Narrow", Arial, sans-serif; text-transform: uppercase; }
    .guest-shell[data-theme-layout="brutalist"] .payment-scope label:has(input:checked) { background: #ffd318; }

    /* 09. Japanese: quiet ledger, red seals and generous negative space. */
    .guest-shell[data-theme-layout="japanese"] .dish-options-card,
    .guest-shell[data-theme-layout="japanese"] .table-order-modal-card,
    .guest-shell[data-theme-layout="japanese"] .payment-modal-card,
    .guest-shell[data-theme-layout="japanese"] .cart-drawer {
        background: #fbfbf8;
        color: #272b27;
    }

    .guest-shell[data-theme-layout="japanese"] .dish-options-card { grid-template-rows: minmax(315px, 47vh) minmax(0, 1fr); }
    .guest-shell[data-theme-layout="japanese"] .dish-options-content > header h2,
    .guest-shell[data-theme-layout="japanese"] .table-order-head h2,
    .guest-shell[data-theme-layout="japanese"] .payment-modal-head h2 { font-family: Georgia, serif; font-weight: 400; }

    .guest-shell[data-theme-layout="japanese"] .table-order-panel-modal { gap: 0; }
    .guest-shell[data-theme-layout="japanese"] .table-order-head,
    .guest-shell[data-theme-layout="japanese"] .table-order-toolbar,
    .guest-shell[data-theme-layout="japanese"] .table-order-progress { padding-bottom: 14px; border-bottom: 1px solid #c8cbc7; }
    .guest-shell[data-theme-layout="japanese"] .table-order-card { border: 0; background: transparent; }
    .guest-shell[data-theme-layout="japanese"] .table-order-card > header { display: none; }
    .guest-shell[data-theme-layout="japanese"] .table-order-item { grid-template-columns: minmax(0, 1fr) auto; padding: 18px 0; border-width: 0 0 1px; background: transparent; }
    .guest-shell[data-theme-layout="japanese"] .table-order-item-photo { display: none; }
    .guest-shell[data-theme-layout="japanese"] .table-order-item > div { grid-column: 1; }
    .guest-shell[data-theme-layout="japanese"] .table-order-item > .item-status { grid-column: 2; width: 62px; height: 62px; display: grid; place-items: center; border: 1px solid #c32626; border-radius: 50%; background: transparent; color: #c32626; text-align: center; }

    .guest-shell[data-theme-layout="japanese"] .payment-summary { min-height: 172px; justify-content: center; border-width: 0 0 1px; background: transparent; }
    .guest-shell[data-theme-layout="japanese"] .payment-summary strong { color: #c32626; font-family: Georgia, serif; font-size: 58px; font-weight: 400; }
    .guest-shell[data-theme-layout="japanese"] .payment-scope label,
    .guest-shell[data-theme-layout="japanese"] .payment-method-option { border-width: 0 0 1px; background: transparent; font-family: Georgia, serif; }
    .guest-shell[data-theme-layout="japanese"] .payment-scope label:has(input:checked) { color: #c32626; }

    /* 10. Festival: stacked colour trays and a tilted blue payment poster. */
    .guest-shell[data-theme-layout="festival"] .dish-options-card,
    .guest-shell[data-theme-layout="festival"] .table-order-modal-card,
    .guest-shell[data-theme-layout="festival"] .payment-modal-card,
    .guest-shell[data-theme-layout="festival"] .cart-drawer { background: #fff; color: #111; font-family: "Trebuchet MS", Arial, sans-serif; }
    .guest-shell[data-theme-layout="festival"] .dish-options-content { background: #ff5a49; color: #fff; }
    .guest-shell[data-theme-layout="festival"] .dish-options-content > header h2,
    .guest-shell[data-theme-layout="festival"] .table-order-head h2,
    .guest-shell[data-theme-layout="festival"] .payment-modal-head h2 { font-family: Impact, "Arial Narrow", Arial, sans-serif; font-weight: 400; line-height: .9; }

    .guest-shell[data-theme-layout="festival"] .table-order-card { border: 0; background: transparent; }
    .guest-shell[data-theme-layout="festival"] .table-order-card > header { display: none; }
    .guest-shell[data-theme-layout="festival"] .table-order-items { gap: 10px; }
    .guest-shell[data-theme-layout="festival"] .table-order-item { grid-template-columns: 88px minmax(0, 1fr) auto; padding: 10px; border: 0; border-radius: 18px; box-shadow: 0 7px 0 rgba(0,0,0,.24); }
    .guest-shell[data-theme-layout="festival"] .table-order-item:nth-child(4n+1) { background: #ff5a49; }
    .guest-shell[data-theme-layout="festival"] .table-order-item:nth-child(4n+2) { background: #11b7ac; }
    .guest-shell[data-theme-layout="festival"] .table-order-item:nth-child(4n+3) { background: #ffd018; }
    .guest-shell[data-theme-layout="festival"] .table-order-item:nth-child(4n+4) { background: #1763d7; color: #fff; }
    .guest-shell[data-theme-layout="festival"] .table-order-item-photo { width: 88px; height: 76px; border-radius: 50%; }
    .guest-shell[data-theme-layout="festival"] .table-order-item > .item-status { padding: 5px; border-radius: 0; background: #050505; color: #fff; }

    .guest-shell[data-theme-layout="festival"] .payment-summary { min-height: 180px; padding: 24px; border: 0; background: #1763d7; color: #fff; clip-path: polygon(0 0, 100% 12%, 88% 100%, 0 88%); }
    .guest-shell[data-theme-layout="festival"] .payment-summary span,
    .guest-shell[data-theme-layout="festival"] .payment-summary strong { color: #fff; font-family: Impact, "Arial Narrow", Arial, sans-serif; }
    .guest-shell[data-theme-layout="festival"] .payment-summary strong { font-size: 62px; }
    .guest-shell[data-theme-layout="festival"] .payment-scope { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; }
    .guest-shell[data-theme-layout="festival"] .payment-scope legend { grid-column: 1 / -1; }
    .guest-shell[data-theme-layout="festival"] .payment-scope label { border-color: #111; background: #fff; font-weight: 900; }
    .guest-shell[data-theme-layout="festival"] .payment-scope label:has(input:checked) { background: #11b7ac; }
    .guest-shell[data-theme-layout="festival"] .payment-methods { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .guest-shell[data-theme-layout="festival"] .payment-method-option { min-height: 112px; flex-direction: column; justify-content: center; border: 2px solid #111; background: #fff; text-align: center; }

    /* 11. Atelier: numbered objects, round plates and a restrained progress rail. */
    .guest-shell[data-theme-layout="atelier"] .dish-options-card,
    .guest-shell[data-theme-layout="atelier"] .table-order-modal-card,
    .guest-shell[data-theme-layout="atelier"] .payment-modal-card,
    .guest-shell[data-theme-layout="atelier"] .cart-drawer { background: #f8f7f3; color: #1b1a18; }
    .guest-shell[data-theme-layout="atelier"] .dish-options-content > header h2,
    .guest-shell[data-theme-layout="atelier"] .table-order-head h2,
    .guest-shell[data-theme-layout="atelier"] .payment-modal-head h2 { font-family: Georgia, serif; font-weight: 400; }

    .guest-shell[data-theme-layout="atelier"] .table-order-progress { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); padding: 30px 0 12px; border-top: 1px solid #8b8479; }
    .guest-shell[data-theme-layout="atelier"] .table-order-progress::before { position: absolute; top: 14px; right: 8%; left: 8%; height: 1px; background: #8b8479; content: ""; }
    .guest-shell[data-theme-layout="atelier"] .table-order-progress span { padding: 0; border: 0; text-align: center; }
    .guest-shell[data-theme-layout="atelier"] .table-order-progress::after { position: absolute; top: 9px; left: 8%; width: 11px; height: 11px; border-radius: 50%; background: #075a61; content: ""; }
    .guest-shell[data-theme-layout="atelier"] .table-order-card { border: 0; background: transparent; }
    .guest-shell[data-theme-layout="atelier"] .table-order-card > header { display: none; }
    .guest-shell[data-theme-layout="atelier"] .table-order-item { grid-template-columns: 28px 76px minmax(0, 1fr); padding: 14px 0; border-width: 0 0 1px; background: transparent; }
    .guest-shell[data-theme-layout="atelier"] .table-order-item::before { grid-column: 1; align-self: start; color: #83765f; content: "0" counter(list-item); }
    .guest-shell[data-theme-layout="atelier"] .table-order-item-photo { width: 76px; height: 76px; grid-column: 2; border-radius: 50%; object-fit: contain; }
    .guest-shell[data-theme-layout="atelier"] .table-order-item > div { grid-column: 3; }
    .guest-shell[data-theme-layout="atelier"] .table-order-item > .item-status { grid-column: 3; justify-self: start; padding: 0; background: transparent; color: #075a61; }

    .guest-shell[data-theme-layout="atelier"] .payment-summary { min-height: 176px; justify-content: center; border-width: 0 0 1px; background: transparent; }
    .guest-shell[data-theme-layout="atelier"] .payment-summary strong { font-family: Georgia, serif; font-size: 64px; font-weight: 400; }
    .guest-shell[data-theme-layout="atelier"] .payment-scope label,
    .guest-shell[data-theme-layout="atelier"] .payment-method-option { border-color: #b7afa2; background: transparent; font-family: Georgia, serif; }

    /* 12. Black label: private-club register and restrained red signals. */
    .guest-shell[data-theme-layout="black_label"] .dish-options-card,
    .guest-shell[data-theme-layout="black_label"] .table-order-modal-card,
    .guest-shell[data-theme-layout="black_label"] .payment-modal-card,
    .guest-shell[data-theme-layout="black_label"] .cart-drawer { background: #050605; color: #eee9de; }
    .guest-shell[data-theme-layout="black_label"] .guest-locale-select select { background: #050605; color: #eee9de; }
    .guest-shell[data-theme-layout="black_label"] .dish-options-content > header h2,
    .guest-shell[data-theme-layout="black_label"] .table-order-head h2,
    .guest-shell[data-theme-layout="black_label"] .payment-modal-head h2 { font-family: Georgia, serif; font-weight: 400; }
    .guest-shell[data-theme-layout="black_label"] .dish-options-content > header p,
    .guest-shell[data-theme-layout="black_label"] .table-order-summary strong { color: #c8323d; }

    .guest-shell[data-theme-layout="black_label"] .table-order-card { border: 0; background: transparent; }
    .guest-shell[data-theme-layout="black_label"] .table-order-card > header { color: #c8323d; }
    .guest-shell[data-theme-layout="black_label"] .table-order-item { grid-template-columns: 72px minmax(0, 1fr) auto; padding: 14px 0; border-width: 0 0 1px; border-color: #44433e; background: transparent; }
    .guest-shell[data-theme-layout="black_label"] .table-order-item-photo { width: 72px; height: 66px; }
    .guest-shell[data-theme-layout="black_label"] .table-order-item > div > span { color: #c8323d; }
    .guest-shell[data-theme-layout="black_label"] .table-order-item > .item-status { padding: 0; background: transparent; color: #c8323d; }

    .guest-shell[data-theme-layout="black_label"] .payment-summary { min-height: 210px; place-content: center; border-width: 1px 0; border-color: #4e4c46; background: transparent; text-align: center; }
    .guest-shell[data-theme-layout="black_label"] .payment-summary strong { color: #eee9de; font-family: Georgia, serif; font-size: 66px; font-weight: 400; }
    .guest-shell[data-theme-layout="black_label"] .payment-scope label,
    .guest-shell[data-theme-layout="black_label"] .payment-method-option { border-width: 0 0 1px; border-color: #4e4c46; background: #050605; color: #eee9de; font-family: Georgia, serif; }
    .guest-shell[data-theme-layout="black_label"] .payment-scope label:has(input:checked),
    .guest-shell[data-theme-layout="black_label"] .payment-method-option:has(input:checked) { color: #c8323d; }

    /* 13. Art deco: symmetrical course cards and stepped brass frames. */
    .guest-shell[data-theme-layout="art_deco"] .dish-options-card,
    .guest-shell[data-theme-layout="art_deco"] .table-order-modal-card,
    .guest-shell[data-theme-layout="art_deco"] .payment-modal-card,
    .guest-shell[data-theme-layout="art_deco"] .cart-drawer { background: #022c23; color: #f4ead8; outline: 1px solid #c49245; outline-offset: -9px; }
    .guest-shell[data-theme-layout="art_deco"] .dish-options-content > header,
    .guest-shell[data-theme-layout="art_deco"] .table-order-head,
    .guest-shell[data-theme-layout="art_deco"] .payment-modal-head { text-align: center; }
    .guest-shell[data-theme-layout="art_deco"] .dish-options-content > header h2,
    .guest-shell[data-theme-layout="art_deco"] .table-order-head h2,
    .guest-shell[data-theme-layout="art_deco"] .payment-modal-head h2 { color: #f4ead8; font-family: Georgia, serif; font-weight: 400; }

    .guest-shell[data-theme-layout="art_deco"] .table-order-items { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .guest-shell[data-theme-layout="art_deco"] .table-order-card { border: 0; background: transparent; }
    .guest-shell[data-theme-layout="art_deco"] .table-order-card > header { grid-column: 1 / -1; justify-content: center; color: #c49245; }
    .guest-shell[data-theme-layout="art_deco"] .table-order-item { display: flex; min-width: 0; flex-direction: column; align-items: stretch; padding: 7px; border: 1px solid #c49245; background: #022c23; text-align: center; }
    .guest-shell[data-theme-layout="art_deco"] .table-order-item-photo { width: 100%; height: 120px; object-fit: cover; }
    .guest-shell[data-theme-layout="art_deco"] .table-order-item > .item-status { max-width: none; padding: 4px 0; background: transparent; color: #d1a34e; text-align: center; }

    .guest-shell[data-theme-layout="art_deco"] .payment-summary { min-height: 210px; place-content: center; border: 8px double #c49245; background: #073b30; text-align: center; }
    .guest-shell[data-theme-layout="art_deco"] .payment-summary strong { color: #d9aa58; font-family: Georgia, serif; font-size: 58px; font-weight: 400; }
    .guest-shell[data-theme-layout="art_deco"] .payment-scope { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .guest-shell[data-theme-layout="art_deco"] .payment-scope legend { grid-column: 1 / -1; color: #d9aa58; text-align: center; }
    .guest-shell[data-theme-layout="art_deco"] .payment-scope label,
    .guest-shell[data-theme-layout="art_deco"] .payment-method-option { border: 1px solid #c49245; background: #022c23; color: #f4ead8; font-family: Georgia, serif; }
    .guest-shell[data-theme-layout="art_deco"] .payment-scope label:has(input:checked) { background: linear-gradient(90deg, #b67e31, #edc575, #b67e31); color: #122b24; }

    /* 14. Chef's table: course progression with active and completed stages. */
    .guest-shell[data-theme-layout="chefs_table"] .dish-options-card,
    .guest-shell[data-theme-layout="chefs_table"] .table-order-modal-card,
    .guest-shell[data-theme-layout="chefs_table"] .payment-modal-card,
    .guest-shell[data-theme-layout="chefs_table"] .cart-drawer { background: #faf8f5; color: #29241f; }
    .guest-shell[data-theme-layout="chefs_table"] .dish-options-content > header h2,
    .guest-shell[data-theme-layout="chefs_table"] .table-order-head h2,
    .guest-shell[data-theme-layout="chefs_table"] .payment-modal-head h2 { font-family: Georgia, serif; font-weight: 400; }
    .guest-shell[data-theme-layout="chefs_table"] .table-order-list { position: relative; padding-left: 42px; }
    .guest-shell[data-theme-layout="chefs_table"] .table-order-list::before { position: absolute; top: 0; bottom: 0; left: 18px; width: 1px; border-left: 1px dashed #a7a095; content: ""; }
    .guest-shell[data-theme-layout="chefs_table"] .table-order-card { position: relative; border: 0; background: transparent; }
    .guest-shell[data-theme-layout="chefs_table"] .table-order-card::before { position: absolute; top: 10px; left: -42px; display: grid; width: 36px; height: 36px; place-items: center; border: 1px solid #a7a095; border-radius: 50%; background: #faf8f5; color: #9f1118; content: "\2713"; }
    .guest-shell[data-theme-layout="chefs_table"] .table-order-card > header { color: #9f1118; }
    .guest-shell[data-theme-layout="chefs_table"] .table-order-item { grid-template-columns: minmax(0, 1fr) 92px; min-height: 100px; padding: 12px 0; border-width: 0 0 1px; background: transparent; }
    .guest-shell[data-theme-layout="chefs_table"] .table-order-item-photo { width: 92px; height: 72px; grid-column: 2; grid-row: 1 / span 2; border-radius: 50%; object-fit: contain; }
    .guest-shell[data-theme-layout="chefs_table"] .table-order-item > div { grid-column: 1; }
    .guest-shell[data-theme-layout="chefs_table"] .table-order-item > .item-status { grid-column: 1; justify-self: start; padding: 0; background: transparent; color: #9f1118; }

    .guest-shell[data-theme-layout="chefs_table"] .payment-summary { min-height: 130px; grid-template-columns: 1fr auto; align-items: end; padding: 16px 0; border-width: 0 0 1px; background: transparent; }
    .guest-shell[data-theme-layout="chefs_table"] .payment-summary strong { color: #9f1118; font-family: Georgia, serif; font-size: 42px; font-weight: 400; }
    .guest-shell[data-theme-layout="chefs_table"] .payment-scope label,
    .guest-shell[data-theme-layout="chefs_table"] .payment-method-option { border-color: #8e8880; background: transparent; font-family: Georgia, serif; }

    /* 15. Mediterranean: common-table rows and ceramic payment blocks. */
    .guest-shell[data-theme-layout="mediterranean"] .dish-options-card,
    .guest-shell[data-theme-layout="mediterranean"] .table-order-modal-card,
    .guest-shell[data-theme-layout="mediterranean"] .payment-modal-card,
    .guest-shell[data-theme-layout="mediterranean"] .cart-drawer { background: #fffef8; color: #153786; }
    .guest-shell[data-theme-layout="mediterranean"] .dish-options-content > header h2,
    .guest-shell[data-theme-layout="mediterranean"] .table-order-head h2,
    .guest-shell[data-theme-layout="mediterranean"] .payment-modal-head h2 { color: #153786; font-family: Georgia, serif; font-weight: 400; }
    .guest-shell[data-theme-layout="mediterranean"] .table-order-progress { border-bottom: 4px solid #153786; }
    .guest-shell[data-theme-layout="mediterranean"] .table-order-card { border: 0; background: transparent; }
    .guest-shell[data-theme-layout="mediterranean"] .table-order-card > header { color: #153786; }
    .guest-shell[data-theme-layout="mediterranean"] .table-order-item { grid-template-columns: 72px minmax(0, 1fr) auto; padding: 10px 0; border-width: 0 0 1px; border-color: #a9b6d4; background: transparent; }
    .guest-shell[data-theme-layout="mediterranean"] .table-order-item-photo { width: 72px; height: 66px; border-radius: 50%; }
    .guest-shell[data-theme-layout="mediterranean"] .table-order-item > div > span { color: #e80015; }
    .guest-shell[data-theme-layout="mediterranean"] .table-order-item > .item-status { padding: 0; background: transparent; color: #153786; }

    .guest-shell[data-theme-layout="mediterranean"] .payment-summary { min-height: 160px; justify-content: center; border: 2px solid #153786; background: linear-gradient(90deg, #fff 0 76%, #ffd01a 76%); }
    .guest-shell[data-theme-layout="mediterranean"] .payment-summary strong { color: #e80015; font-family: Georgia, serif; font-size: 54px; font-weight: 400; }
    .guest-shell[data-theme-layout="mediterranean"] .payment-scope { gap: 10px; }
    .guest-shell[data-theme-layout="mediterranean"] .payment-scope label { min-height: 86px; border: 2px solid #153786; background: linear-gradient(90deg, #fff 0 76%, #ffd01a 76%); color: #153786; font-family: Georgia, serif; font-size: 18px; }
    .guest-shell[data-theme-layout="mediterranean"] .payment-scope label:nth-of-type(2) { background: linear-gradient(90deg, #fff 0 76%, #153786 76%); }
    .guest-shell[data-theme-layout="mediterranean"] .payment-scope label:nth-of-type(3),
    .guest-shell[data-theme-layout="mediterranean"] .payment-scope label:nth-of-type(4) { background: linear-gradient(90deg, #fff 0 76%, #e80015 76%); }
    .guest-shell[data-theme-layout="mediterranean"] .payment-method-option { border-color: #153786; background: #fff; color: #153786; }

    /* 16. Patisserie: glass order shelves and pale-blue payment stationery. */
    .guest-shell[data-theme-layout="patisserie"] .dish-options-card,
    .guest-shell[data-theme-layout="patisserie"] .table-order-modal-card,
    .guest-shell[data-theme-layout="patisserie"] .payment-modal-card,
    .guest-shell[data-theme-layout="patisserie"] .cart-drawer { background: #fff; color: #232028; }
    .guest-shell[data-theme-layout="patisserie"] .dish-options-media { background: linear-gradient(#fff, #edf5ff); border-bottom: 6px solid #d3e1f0; }
    .guest-shell[data-theme-layout="patisserie"] .dish-options-media > img { object-fit: contain; }
    .guest-shell[data-theme-layout="patisserie"] .dish-options-content > header h2,
    .guest-shell[data-theme-layout="patisserie"] .table-order-head h2,
    .guest-shell[data-theme-layout="patisserie"] .payment-modal-head h2 { font-family: Georgia, serif; font-weight: 400; }

    .guest-shell[data-theme-layout="patisserie"] .table-order-card { padding: 10px; border: 1px solid #c8d6e7; background: #f3f8fe; }
    .guest-shell[data-theme-layout="patisserie"] .table-order-card > header { color: #bd0b2b; font-family: Georgia, serif; }
    .guest-shell[data-theme-layout="patisserie"] .table-order-item { grid-template-columns: 104px minmax(0, 1fr) auto; padding: 10px 0; border-width: 0 0 1px; border-color: #c8d6e7; background: transparent; }
    .guest-shell[data-theme-layout="patisserie"] .table-order-item-photo { width: 104px; height: 76px; object-fit: contain; }
    .guest-shell[data-theme-layout="patisserie"] .table-order-item > .item-status { padding: 0; background: transparent; color: #5c86c5; }

    .guest-shell[data-theme-layout="patisserie"] .payment-summary { min-height: 176px; place-content: center; border: 1px solid #c8d6e7; background: #eef6ff; text-align: center; }
    .guest-shell[data-theme-layout="patisserie"] .payment-summary strong { color: #bd0b2b; font-family: Georgia, serif; font-size: 58px; font-weight: 400; }
    .guest-shell[data-theme-layout="patisserie"] .payment-scope label,
    .guest-shell[data-theme-layout="patisserie"] .payment-method-option { border-color: #c8d6e7; background: #f6faff; font-family: Georgia, serif; }
    .guest-shell[data-theme-layout="patisserie"] .payment-scope label:has(input:checked),
    .guest-shell[data-theme-layout="patisserie"] .payment-method-option:has(input:checked) { border-color: #bd0b2b; color: #bd0b2b; }
}

@media (max-width: 640px) {
    .guest-shell[data-theme-layout="contrast"] .graphic-signal h1 {
        max-width: 100%;
        font-size: 28px;
        overflow-wrap: normal;
        word-break: normal;
    }

    .guest-shell[data-theme-layout="atelier"] .atelier-heading span {
        font-size: 21px;
        overflow-wrap: normal;
        word-break: normal;
    }

    .guest-shell[data-theme-layout="classic"] .classic-course-nav,
    .guest-shell[data-theme-layout="brutalist"] .brutalist-tabs,
    .guest-shell[data-theme-layout="black_label"] .black-label-nav,
    .guest-shell[data-theme-layout="art_deco"] .deco-nav,
    .guest-shell[data-theme-layout="chefs_table"] .chef-course-nav {
        position: relative;
        z-index: 5;
        display: flex;
        justify-content: flex-start;
        gap: 0;
        margin: 0 0 10px !important;
        padding: 0 !important;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scrollbar-width: none;
        touch-action: pan-x;
    }

    .guest-shell[data-theme-layout="classic"] .classic-course-nav::-webkit-scrollbar,
    .guest-shell[data-theme-layout="brutalist"] .brutalist-tabs::-webkit-scrollbar,
    .guest-shell[data-theme-layout="black_label"] .black-label-nav::-webkit-scrollbar,
    .guest-shell[data-theme-layout="art_deco"] .deco-nav::-webkit-scrollbar,
    .guest-shell[data-theme-layout="chefs_table"] .chef-course-nav::-webkit-scrollbar {
        display: none;
    }

    .guest-shell[data-theme-layout="classic"] .classic-course-nav .category-tab,
    .guest-shell[data-theme-layout="brutalist"] .brutalist-tabs .category-tab,
    .guest-shell[data-theme-layout="black_label"] .black-label-nav .category-tab,
    .guest-shell[data-theme-layout="art_deco"] .deco-nav .category-tab,
    .guest-shell[data-theme-layout="chefs_table"] .chef-course-nav .category-tab {
        width: auto;
        min-width: max-content;
        min-height: 44px;
        flex: 0 0 auto;
        padding: 0 14px;
        white-space: nowrap;
        touch-action: manipulation;
    }

    .guest-shell[data-theme-layout="bistro"] .table-order-toolbar .segmented-control {
        border-color: #8f593e;
        background: #06131c;
    }

    .guest-shell[data-theme-layout="bistro"] .table-order-toolbar .segmented-control button {
        color: #baa697;
    }

    .guest-shell[data-theme-layout="bistro"] .table-order-toolbar .segmented-control button.is-active {
        background: #b76d43;
        color: #07131b;
    }

    .guest-shell[data-theme-layout="bistro"] .table-order-progress span,
    .guest-shell[data-theme-layout="bistro"] .table-order-card header span {
        color: #a99688;
    }

    .guest-shell[data-theme-layout="dark"] .table-order-head > div > span,
    .guest-shell[data-theme-layout="dark"] .table-order-progress span,
    .guest-shell[data-theme-layout="dark"] .table-order-card header span {
        color: #aab5b3;
    }

    .guest-shell[data-theme-layout="black_label"] .table-order-head > div > span,
    .guest-shell[data-theme-layout="black_label"] .table-order-progress span,
    .guest-shell[data-theme-layout="black_label"] .table-order-card header span {
        color: #b7b0a4;
    }

    .guest-shell[data-theme-layout="art_deco"] .table-order-toolbar .segmented-control {
        border-color: #c49245;
        background: #022c23;
    }

    .guest-shell[data-theme-layout="art_deco"] .table-order-toolbar .segmented-control button {
        color: #f4ead8;
    }

    .guest-shell[data-theme-layout="art_deco"] .table-order-toolbar .segmented-control button.is-active {
        background: #c49245;
        color: #092b24;
    }

    .guest-shell[data-theme-layout="art_deco"] .table-order-head > div > span,
    .guest-shell[data-theme-layout="art_deco"] .table-order-progress span,
    .guest-shell[data-theme-layout="art_deco"] .table-order-card header span {
        color: #e0bc79;
    }

    .guest-shell[data-theme-layout] .payment-modal-card > .primary-button {
        position: sticky;
        z-index: 3;
        bottom: 0;
        box-shadow: 0 -10px 24px color-mix(in srgb, var(--state-surface) 88%, transparent);
    }

    .guest-shell[data-theme-layout="modern"] .table-order-footer .table-order-summary strong { color: #123f2f; font-size: 34px; }
    .guest-shell[data-theme-layout="modern"] .table-order-footer .primary-button { background: #123f2f; color: #fff; }

    .guest-shell[data-theme-layout="bistro"] .table-order-footer { border-color: #8f593e; background: #171615; padding: 14px; }
    .guest-shell[data-theme-layout="bistro"] .table-order-footer .table-order-summary strong { color: #d98553; font-size: 34px; }
    .guest-shell[data-theme-layout="bistro"] .table-order-footer .primary-button,
    .guest-shell[data-theme-layout="bistro"] .payment-modal-card > .primary-button { background: #b76d43; color: #fff4e8; }

    .guest-shell[data-theme-layout="classic"] .table-order-footer { border-color: #c9aa68; }
    .guest-shell[data-theme-layout="classic"] .table-order-footer .table-order-summary strong { color: #770e24; font-family: Georgia, serif; font-size: 34px; font-weight: 400; }
    .guest-shell[data-theme-layout="classic"] .table-order-footer .primary-button,
    .guest-shell[data-theme-layout="classic"] .payment-modal-card > .primary-button { background: #770e24; color: #fff; }

    .guest-shell[data-theme-layout="garden"] .table-order-footer { border-color: #9eb0a0; }
    .guest-shell[data-theme-layout="garden"] .table-order-footer .table-order-summary strong { color: #1b6037; font-family: Georgia, serif; font-size: 34px; font-weight: 400; }
    .guest-shell[data-theme-layout="garden"] .table-order-footer .primary-button,
    .guest-shell[data-theme-layout="garden"] .payment-modal-card > .primary-button { background: #1b6037; color: #fff; }

    .guest-shell[data-theme-layout="dark"] .table-order-footer { border-color: #465057; }
    .guest-shell[data-theme-layout="dark"] .table-order-footer .table-order-summary strong { color: #47d99b; font-family: Georgia, serif; font-size: 34px; font-weight: 400; }
    .guest-shell[data-theme-layout="dark"] .table-order-footer .primary-button,
    .guest-shell[data-theme-layout="dark"] .payment-modal-card > .primary-button { background: #ff4f4a; color: #fff; }

    .guest-shell[data-theme-layout="editorial"] .table-order-footer .primary-button,
    .guest-shell[data-theme-layout="editorial"] .payment-modal-card > .primary-button { background: #1646b7; color: #fff; }

    .guest-shell[data-theme-layout="contrast"] .table-order-footer { border-top: 4px solid #080808; }
    .guest-shell[data-theme-layout="contrast"] .table-order-footer .table-order-summary strong { color: #080808; font-family: Impact, "Arial Narrow", Arial, sans-serif; font-size: 44px; }
    .guest-shell[data-theme-layout="contrast"] .table-order-footer .primary-button,
    .guest-shell[data-theme-layout="contrast"] .payment-modal-card > .primary-button { border: 3px solid #080808; background: #128326; color: #fff; }

    .guest-shell[data-theme-layout="brutalist"] .table-order-footer { padding: 12px; border: 4px solid #050505; background: #ef3b24; }
    .guest-shell[data-theme-layout="brutalist"] .table-order-footer .table-order-summary strong { color: #050505; font-family: Impact, "Arial Narrow", Arial, sans-serif; font-size: 46px; }
    .guest-shell[data-theme-layout="brutalist"] .table-order-footer .primary-button,
    .guest-shell[data-theme-layout="brutalist"] .payment-modal-card > .primary-button { border: 3px solid #050505; background: #ffd318; color: #050505; }

    .guest-shell[data-theme-layout="japanese"] .table-order-footer .table-order-summary strong { color: #c32626; font-family: Georgia, serif; font-size: 34px; font-weight: 400; }
    .guest-shell[data-theme-layout="japanese"] .table-order-footer .primary-button,
    .guest-shell[data-theme-layout="japanese"] .payment-modal-card > .primary-button { background: #bd131d; color: #fff; }

    .guest-shell[data-theme-layout="festival"] .table-order-footer { padding: 12px; border: 3px solid #111; background: #050505; }
    .guest-shell[data-theme-layout="festival"] .table-order-footer .table-order-summary span,
    .guest-shell[data-theme-layout="festival"] .table-order-footer .table-order-summary strong { color: #fff; }
    .guest-shell[data-theme-layout="festival"] .table-order-footer .table-order-summary strong { font-family: Impact, "Arial Narrow", Arial, sans-serif; font-size: 42px; }
    .guest-shell[data-theme-layout="festival"] .table-order-footer .primary-button,
    .guest-shell[data-theme-layout="festival"] .payment-modal-card > .primary-button { background: #ffd018; color: #111; }

    .guest-shell[data-theme-layout="atelier"] .table-order-footer .table-order-summary strong { color: #075a61; font-family: Georgia, serif; font-size: 34px; font-weight: 400; }
    .guest-shell[data-theme-layout="atelier"] .table-order-footer .primary-button,
    .guest-shell[data-theme-layout="atelier"] .payment-modal-card > .primary-button { background: #075a61; color: #fff; }

    .guest-shell[data-theme-layout="black_label"] .table-order-footer { border-color: #4e4c46; }
    .guest-shell[data-theme-layout="black_label"] .table-order-footer .table-order-summary strong { color: #c8323d; font-family: Georgia, serif; font-size: 36px; font-weight: 400; }
    .guest-shell[data-theme-layout="black_label"] .table-order-footer .primary-button,
    .guest-shell[data-theme-layout="black_label"] .payment-modal-card > .primary-button { background: #8f1620; color: #fff; }

    .guest-shell[data-theme-layout="art_deco"] .table-order-footer { padding: 12px; border: 3px double #c49245; }
    .guest-shell[data-theme-layout="art_deco"] .table-order-footer .table-order-summary strong { color: #d9aa58; font-family: Georgia, serif; font-size: 32px; font-weight: 400; }
    .guest-shell[data-theme-layout="art_deco"] .table-order-footer .primary-button,
    .guest-shell[data-theme-layout="art_deco"] .payment-modal-card > .primary-button { border: 1px solid #d9aa58; background: #073b30; color: #f4ead8; }

    .guest-shell[data-theme-layout="chefs_table"] .table-order-footer .table-order-summary strong { color: #9f1118; font-family: Georgia, serif; font-size: 34px; font-weight: 400; }
    .guest-shell[data-theme-layout="chefs_table"] .table-order-footer .primary-button,
    .guest-shell[data-theme-layout="chefs_table"] .payment-modal-card > .primary-button { background: #a40009; color: #fff; }

    .guest-shell[data-theme-layout="mediterranean"] .table-order-footer { border-color: #153786; }
    .guest-shell[data-theme-layout="mediterranean"] .table-order-footer .table-order-summary strong { color: #e80015; font-family: Georgia, serif; font-size: 34px; font-weight: 400; }
    .guest-shell[data-theme-layout="mediterranean"] .table-order-footer .primary-button,
    .guest-shell[data-theme-layout="mediterranean"] .payment-modal-card > .primary-button { background: #e80015; color: #fff; }

    .guest-shell[data-theme-layout="patisserie"] .table-order-footer { border-color: #c8d6e7; }
    .guest-shell[data-theme-layout="patisserie"] .table-order-footer .table-order-summary strong { color: #bd0b2b; font-family: Georgia, serif; font-size: 34px; font-weight: 400; }
    .guest-shell[data-theme-layout="patisserie"] .table-order-footer .primary-button,
    .guest-shell[data-theme-layout="patisserie"] .payment-modal-card > .primary-button { background: #bd0b2b; color: #fff; }
}
