.public-page {
    color: #28323d;
}

.public-page [hidden] {
    display: none !important;
}

/* Tokens live in public-ds.css. This file is the public menu skin. */
body.public-menu-page {
    background: var(--restaurant-light);
    color: #444;
    font-family: "Poppins", sans-serif;
}

body.public-menu-page .menu-shell {
    display: block;
    width: min(1180px, calc(100% - 32px));
    padding: 28px 0 110px;
}

body.public-menu-page .menu-surface {
    overflow: visible;
    border: 0;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
}

body.public-menu-page .menu-topbar {
    padding: 0;
    border-radius: 24px 24px 0 0;
    background: var(--restaurant-cream);
}

body.public-menu-page .menu-hero-card { position: relative; }
body.public-menu-page .menu-hero-cover {
    min-height: 330px;
    padding: 20px;
    border-radius: 24px 24px 0 0;
    background-color: #f5c58a;
    background-position: center;
    box-shadow: inset 0 0 0 1px rgba(0,0,0,.04);
}
body.public-menu-page .menu-hero-overlay {
    background: linear-gradient(180deg, rgba(20, 8, 5, 0.08), rgba(20, 8, 5, 0.24) 58%, rgba(20, 8, 5, 0.68));
}
body.public-menu-page .menu-hero-title {
    position: relative;
    margin: -82px auto 0;
    width: min(720px, calc(100% - 36px));
    padding: 24px 28px 22px;
    border-radius: 18px 18px 0 0;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 -8px 28px rgba(0, 0, 0, 0.08);
    backdrop-filter: blur(12px);
}
body.public-menu-page .menu-hero-title h1 {
    color: var(--restaurant-dark);
    font-family: "Playfair Display", serif;
    font-size: clamp(2rem, 4.5vw, 3.4rem);
    font-weight: 900;
    letter-spacing: -0.03em;
}
body.public-menu-page .menu-brand-meta { color: #777; }
body.public-menu-page .menu-brand-meta span + span::before { content: "•"; margin-right: 10px; color: var(--restaurant-secondary); }
body.public-menu-page .menu-meta-pill {
    padding: 7px 14px;
    background: var(--restaurant-green);
    box-shadow: 0 6px 18px rgba(45, 106, 79, 0.25);
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
body.public-menu-page .menu-meta-pill-fechado,
body.public-menu-page .menu-meta-pill-pausado,
body.public-menu-page .menu-meta-pill-inativo { background: var(--restaurant-secondary); color: var(--restaurant-dark); }
body.public-menu-page .menu-cart-trigger-hero {
    border: 0;
    border-radius: 50px;
    background: #fff;
    color: var(--restaurant-dark);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.14);
}

body.public-menu-page .menu-toolbar {
    position: sticky;
    top: 0;
    z-index: 12;
    padding: 18px 24px;
    border-bottom: 1px solid #eee8e1;
    background: rgba(255, 255, 255, 0.96);
    backdrop-filter: blur(12px);
}
body.public-menu-page .menu-tabs { gap: 7px; }
body.public-menu-page .menu-tab {
    padding: 8px 19px;
    border: 2px solid #e5e5e5;
    border-radius: 50px;
    background: #fff;
    color: #666;
    font: 600 0.84rem "Poppins", sans-serif;
    transition: 0.3s;
}
body.public-menu-page .menu-tab.is-active,
body.public-menu-page .menu-tab:hover {
    border-color: var(--restaurant-primary);
    background: var(--restaurant-primary);
    box-shadow: 0 5px 18px rgba(232, 40, 26, 0.24);
    color: #fff;
}
body.public-menu-page .menu-search-input {
    min-height: 42px;
    border: 2px solid #e5e5e5;
    border-radius: 50px;
    font-family: "Poppins", sans-serif;
}
body.public-menu-page .menu-search-input:focus {
    border-color: var(--restaurant-primary);
    box-shadow: 0 0 0 4px rgba(232, 40, 26, 0.1);
}
body.public-menu-page .menu-contact-strip {
    flex-wrap: wrap;
    align-items: center;
    border: 0;
    background: var(--restaurant-dark);
    color: #fff;
}
body.public-menu-page .menu-contact-strip > span {
    flex: 1 1 320px;
    min-width: 0;
    line-height: 1.5;
}
body.public-menu-page .menu-contact-strip-actions {
    flex: 1 1 280px;
    justify-content: flex-end;
}
body.public-menu-page .menu-contact-strip .btn-light { border-radius: 50px; background: #fff; color: var(--restaurant-primary); white-space: nowrap; }

body.public-menu-page .menu-process-board {
    gap: 10px;
    padding: 22px 24px;
    border: 0;
    background: var(--restaurant-cream);
}
body.public-menu-page .menu-process-step {
    border: 1px solid #f0e4d9;
    border-radius: 14px;
    box-shadow: none;
}
body.public-menu-page .menu-process-step.is-active {
    border-color: rgba(232, 40, 26, 0.28);
    background: #fff;
    box-shadow: 0 8px 22px rgba(232, 40, 26, 0.08);
}
body.public-menu-page .menu-process-index,
body.public-menu-page .menu-drawer-step span {
    background: rgba(232, 40, 26, 0.1);
    color: var(--restaurant-primary);
}

body.public-menu-page .promo-banner {
    margin: 28px 24px;
    border-radius: 20px;
    background: linear-gradient(135deg, #1a0000, #2d0000);
    box-shadow: 0 20px 44px rgba(45, 0, 0, 0.2);
}
body.public-menu-page .promo-label { color: var(--restaurant-secondary); }
body.public-menu-page .promo-copy h2 { font-family: "Playfair Display", serif; }
body.public-menu-page .promo-button { border-radius: 50px; background: var(--restaurant-secondary); }

body.public-menu-page .menu-section-header { padding: 72px 24px 38px; text-align: center; }
body.public-menu-page .menu-section-heading { max-width: 620px; margin: 0 auto; }
body.public-menu-page .menu-section-kicker {
    display: block;
    margin-bottom: 4px;
    color: var(--restaurant-primary);
    font-family: "Dancing Script", cursive;
    font-size: 1.35rem;
}
body.public-menu-page .menu-section-header h2 {
    margin: 0 0 12px;
    color: var(--restaurant-dark);
    font-family: "Playfair Display", serif;
    font-size: clamp(2.2rem, 4vw, 3.2rem);
    font-weight: 900;
    line-height: 1.2;
}
body.public-menu-page .menu-section-header h2 em { color: var(--restaurant-primary); font-style: normal; }
body.public-menu-page .menu-section-line { display: block; width: 58px; height: 4px; margin: 0 auto 12px; border-radius: 4px; background: linear-gradient(90deg, var(--restaurant-primary), var(--restaurant-secondary)); }
body.public-menu-page .menu-section-header p { color: #888; }

body.public-menu-page .menu-category-section { padding: 0 24px 50px; }
body.public-menu-page .menu-category-head {
    margin-bottom: 18px;
    padding-bottom: 10px;
    border-bottom: 1px solid #eee8e1;
}
body.public-menu-page .menu-category-head h3 { color: var(--restaurant-dark); font-family: "Playfair Display", serif; font-size: 1.7rem; }
body.public-menu-page .menu-category-head span { color: #aaa; }
body.public-menu-page .menu-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
body.public-menu-page .menu-product-card {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 215px 1fr;
    gap: 0;
    padding: 0;
    border: 0;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 4px 22px rgba(0, 0, 0, 0.07);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}
body.public-menu-page .menu-product-card:hover { transform: translateY(-9px); border-color: transparent; box-shadow: 0 18px 48px rgba(0, 0, 0, 0.13); }
body.public-menu-page .menu-product-media { width: 100%; height: 215px; border-radius: 18px 18px 0 0; }
body.public-menu-page .menu-product-media-frame { background: var(--restaurant-cream); }
body.public-menu-page .menu-product-media img { transform: none; transition: transform 0.5s ease; }
body.public-menu-page .menu-product-card:hover .menu-product-media img { transform: scale(1.09); }
body.public-menu-page .menu-product-media-badge {
    padding: 5px 11px;
    border-radius: 7px;
    background: var(--restaurant-secondary);
    color: var(--restaurant-dark);
    box-shadow: none;
    font-size: 0.7rem;
}
body.public-menu-page .menu-product-media-badge.is-secondary { background: var(--restaurant-green); }
body.public-menu-page .menu-product-main { display: flex; flex-direction: column; gap: 10px; padding: 18px; }
body.public-menu-page .menu-product-category { color: var(--restaurant-secondary); font-size: 0.7rem; letter-spacing: 0.1em; }
body.public-menu-page .menu-product-title-block h4 { color: var(--restaurant-dark); font-family: "Playfair Display", serif; font-size: 1.18rem; line-height: 1.25; }
body.public-menu-page .menu-product-badges { display: none; }
body.public-menu-page .menu-product-main p { min-height: 3.55em; color: #aaa; font-size: 0.78rem; line-height: 1.5; -webkit-line-clamp: 2; }
body.public-menu-page .menu-product-actions { display: flex; margin-top: auto; }
body.public-menu-page .menu-qty-control { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
body.public-menu-page .menu-price-cta { display: flex; width: 100%; grid-template-columns: none; }
body.public-menu-page .menu-price-cta strong { color: var(--restaurant-primary); font-family: "Playfair Display", serif; font-size: 1.35rem; font-weight: 800; }
body.public-menu-page .menu-add-button {
    flex: 0 0 44px;
    width: 44px;
    min-width: 44px;
    max-width: 44px;
    height: 44px;
    min-height: 44px;
    padding: 0;
    aspect-ratio: 1;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--restaurant-primary), var(--restaurant-primary-dark));
    box-shadow: 0 4px 11px rgba(232, 40, 26, 0.28);
    font-size: 1.45rem;
    line-height: 1;
    transition: transform 0.3s ease;
}
body.public-menu-page .menu-add-button:hover { transform: scale(1.15) rotate(90deg); }

body.public-menu-page .menu-cart-drawer {
    position: fixed;
    top: 18px;
    right: 18px;
    z-index: 30;
    width: min(430px, calc(100vw - 36px));
    max-height: calc(100dvh - 36px);
    padding-bottom: env(safe-area-inset-bottom);
    transform: translateX(calc(100% + 40px));
    transition: transform 0.25s ease;
    border-radius: 20px;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.28);
}
body.public-menu-page .menu-cart-drawer.is-open { transform: translateX(0); }
body.public-menu-page .menu-cart-drawer.cart-panel {
    padding: 0 20px 20px;
    border: 0;
    background: #fff;
    color: var(--ds-text);
    font-family: var(--ds-font);
}
body.public-menu-page .menu-drawer-header {
    position: sticky;
    top: 0;
    z-index: 4;
    margin: 0 -20px 16px;
    padding: 22px 20px 14px;
    border-bottom: 1px solid #f0e9e2;
    background: #fff;
}
body.public-menu-page .cart-kicker {
    color: var(--ds-primary);
    font-family: var(--ds-script);
    font-size: 1.25rem;
    letter-spacing: 0;
    text-transform: none;
}
body.public-menu-page .cart-header h2,
body.public-menu-page .checkout-head h3 {
    color: var(--ds-dark);
    font-family: var(--ds-display);
    font-weight: 900;
    letter-spacing: -0.03em;
}
body.public-menu-page .cart-count-badge {
    min-width: 0;
    padding: 6px 12px;
    border-radius: 999px;
    background: rgba(232, 40, 26, 0.1);
    color: var(--ds-primary);
}
body.public-menu-page .menu-drawer-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--ds-cream);
    color: var(--ds-dark);
}
body.public-menu-page .menu-drawer-steps {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 16px;
}
body.public-menu-page .menu-drawer-step {
    min-height: 46px;
    border: 1px solid #f0e9e2;
    border-radius: 999px;
    background: #fff;
    color: var(--ds-text);
    font-family: var(--ds-font);
    font-size: 0.84rem;
    font-weight: 600;
}
body.public-menu-page .menu-drawer-step span {
    width: 28px;
    height: 28px;
    background: var(--ds-cream);
    color: var(--ds-primary);
}
body.public-menu-page .menu-drawer-step.is-active {
    border-color: transparent;
    background: linear-gradient(135deg, var(--ds-primary), var(--ds-primary-dark));
    color: #fff;
    box-shadow: 0 8px 20px rgba(232, 40, 26, 0.28);
}
body.public-menu-page .menu-drawer-step.is-active span {
    background: #fff;
    color: var(--ds-primary);
}
body.public-menu-page .cart-items { gap: 12px; }
body.public-menu-page .cart-item {
    border: 1px solid #f0e9e2;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.04);
}
body.public-menu-page .cart-item-top strong {
    color: var(--ds-dark);
    font-family: var(--ds-display);
    font-size: 1.15rem;
}
body.public-menu-page .cart-item-top span,
body.public-menu-page .cart-note-label span,
body.public-menu-page .checkout-head p {
    color: var(--ds-muted);
}
body.public-menu-page .cart-item-top span {
    font-size: 0.68rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
body.public-menu-page .cart-remove-button {
    border-radius: 999px;
    background: rgba(232, 40, 26, 0.08);
    color: var(--ds-primary);
}
body.public-menu-page .qty-control button {
    flex: 0 0 34px;
    width: 34px;
    min-width: 34px;
    max-width: 34px;
    height: 34px;
    padding: 0;
    aspect-ratio: 1;
    border-radius: 50%;
    background: var(--ds-cream);
    color: var(--ds-primary);
    font-weight: 800;
    line-height: 1;
}
body.public-menu-page .qty-control span,
body.public-menu-page .cart-item-middle strong,
body.public-menu-page .cart-summary-row strong {
    color: var(--ds-dark);
    font-family: var(--ds-display);
}
body.public-menu-page .cart-item-middle strong,
body.public-menu-page .cart-summary-row strong {
    color: var(--ds-primary);
}
body.public-menu-page .cart-note-label textarea,
body.public-menu-page .checkout-form select,
body.public-menu-page .checkout-form textarea,
body.public-menu-page .checkout-form input:not([type="hidden"]):not([type="checkbox"]) {
    border: 1px solid #f0e9e2;
    border-radius: 14px;
    background: var(--ds-cream);
    color: var(--ds-dark);
}
body.public-menu-page .cart-note-label textarea:focus,
body.public-menu-page .checkout-form select:focus,
body.public-menu-page .checkout-form textarea:focus,
body.public-menu-page .checkout-form input:focus {
    border-color: var(--ds-primary);
    box-shadow: 0 0 0 4px rgba(232, 40, 26, 0.12);
    background: #fff;
}
body.public-menu-page .menu-summary-card,
body.public-menu-page .checkout-preview,
body.public-menu-page .checkout-consent-card {
    border: 0;
    border-radius: 18px;
    background: var(--ds-cream);
}
body.public-menu-page .menu-summary-card {
    margin-top: 16px;
    padding: 16px;
}
body.public-menu-page .cart-summary-row span { color: var(--ds-muted); }
body.public-menu-page .menu-stage-actions .btn-primary,
body.public-menu-page .checkout-actions .btn-primary,
body.public-menu-page .menu-cart-summary-button,
body.public-menu-page .mobile-cart-fab,
body.public-menu-page .extras-modal-footer .btn-primary {
    border-radius: 50px;
    background: linear-gradient(135deg, var(--ds-primary), var(--ds-primary-dark));
    box-shadow: 0 8px 22px rgba(232, 40, 26, 0.28);
}
body.public-menu-page .checkout-actions .btn-light,
body.public-menu-page .checkout-secondary-button {
    border-radius: 50px;
    background: #fff;
    color: var(--ds-dark);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.06);
}
body.public-menu-page .menu-cart-drawer .empty-state {
    border-radius: 18px;
    background: var(--ds-cream);
    color: var(--ds-muted);
}
body.public-menu-page .cart-overlay:not([hidden]) { display: block; background: rgba(26, 26, 26, 0.46); }
body.public-menu-page .menu-cart-summary-bar:not([hidden]) { display: flex; }
body.public-menu-page .menu-cart-summary-bar {
    right: max(22px, calc((100vw - 1180px) / 2));
    left: max(22px, calc((100vw - 1180px) / 2));
    border: 0;
    border-radius: 22px;
    background: #fff;
    color: var(--ds-dark);
    box-shadow: var(--ds-shadow);
}
body.public-menu-page .menu-cart-summary-info,
body.public-menu-page .menu-cart-summary-info strong { color: var(--ds-dark); }
body.public-menu-page .mobile-cart-fab { color: #fff; }
body.public-menu-page .back-to-top-button { background: var(--restaurant-primary); }
body.public-menu-page .checkout-form .form-group label {
    color: var(--ds-muted);
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
body.public-menu-page .checkout-choice-grid,
body.public-menu-page .checkout-choice-grid-payment {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
body.public-menu-page .checkout-choice-button {
    border: 1px solid #f0e9e2;
    border-radius: 50px;
    background: #fff;
    color: var(--ds-dark);
    font-family: var(--ds-font);
    font-weight: 600;
}
body.public-menu-page .checkout-choice-button:hover,
body.public-menu-page .checkout-choice-button:focus-visible {
    border-color: var(--ds-primary);
    box-shadow: 0 0 0 4px rgba(232, 40, 26, 0.12);
}
body.public-menu-page .checkout-choice-button.is-active {
    border-color: transparent;
    background: linear-gradient(135deg, var(--ds-primary), var(--ds-primary-dark));
    color: #fff;
    box-shadow: 0 8px 20px rgba(232, 40, 26, 0.28);
}
body.public-menu-page .hint-box,
body.public-menu-page .checkout-success {
    border: 0;
    border-radius: 18px;
    background: var(--ds-cream);
    color: var(--ds-muted);
}
body.public-menu-page .checkout-success-copy strong,
body.public-menu-page .checkout-success-meta strong {
    color: var(--ds-dark);
    font-family: var(--ds-display);
}
body.public-menu-page .checkout-consent-card input {
    accent-color: var(--ds-primary);
}

@media (max-width: 980px) {
    body.public-menu-page .menu-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.public-menu-page .menu-shell { width: min(100% - 24px, 820px); padding-top: 12px; }
    body.public-menu-page .menu-product-card { grid-template-columns: 1fr; padding: 0; }
    body.public-menu-page .menu-product-media { width: 100%; height: 215px; }
    body.public-menu-page .menu-product-actions { flex-direction: row; align-items: center; }
    body.public-menu-page .menu-price-cta { flex: 1 1 auto; }
    body.public-menu-page .menu-toolbar { top: 0; }
    body.public-menu-page .menu-contact-strip > span,
    body.public-menu-page .menu-contact-strip-actions { flex: 0 1 auto; }
    body.public-menu-page .menu-cart-trigger { display: inline-flex; }
    body.public-menu-page .mobile-cart-fab { display: inline-flex; z-index: 28; }
    body.public-menu-page .menu-cart-summary-bar { display: none !important; }
}

@media (max-width: 620px) {
    body.public-menu-page .menu-shell { width: 100%; padding: 0 0 100px; }
    body.public-menu-page .menu-surface { border-radius: 0; }
    body.public-menu-page .menu-hero-cover { min-height: 148px; border-radius: 0; }
    body.public-menu-page .menu-hero-title { margin-top: -28px; padding: 14px 14px 12px; }
    body.public-menu-page .menu-brand-meta { display: grid; gap: 4px; }
    body.public-menu-page .menu-brand-meta span + span::before { display: none; }
    body.public-menu-page .menu-hero-title h1 { font-size: 1.85rem; }
    body.public-menu-page .menu-toolbar {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
        padding: 10px 12px;
    }
    body.public-menu-page .menu-tabs {
        width: 100%;
        max-width: 100%;
        flex-wrap: nowrap;
        overflow-x: auto;
        scrollbar-width: none;
    }
    body.public-menu-page .menu-tabs::-webkit-scrollbar { display: none; }
    body.public-menu-page .menu-toolbar-right { width: 100%; }
    body.public-menu-page .menu-contact-strip { gap: 10px; padding: 12px 14px; }
    body.public-menu-page .menu-contact-strip > span {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
        font-size: 0.86rem;
        line-height: 1.35;
    }
    body.public-menu-page .menu-process-board { grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 10px 12px; }
    body.public-menu-page .menu-process-step { min-height: 0; padding: 10px 8px; gap: 8px; }
    body.public-menu-page .menu-process-copy small { display: none; }
    body.public-menu-page .menu-process-copy strong { font-size: 0.82rem; }
    body.public-menu-page .promo-banner { display: grid; grid-template-columns: 1fr; margin: 12px; padding: 16px; }
    body.public-menu-page .promo-copy h2 { font-size: 1.45rem; line-height: 1.15; }
    body.public-menu-page .promo-visual { display: none; }
    body.public-menu-page .menu-section-header { padding: 28px 16px 12px; }
    body.public-menu-page .menu-section-header h2 { font-size: 1.7rem; }
    body.public-menu-page .menu-category-section { padding: 0 12px 24px; }
    body.public-menu-page .menu-category-head { margin-bottom: 10px; }
    body.public-menu-page .menu-category-head h3 { font-size: 1.3rem; }
    body.public-menu-page .menu-product-grid { grid-template-columns: 1fr; gap: 12px; }
    body.public-menu-page .menu-product-card {
        grid-template-columns: 104px minmax(0, 1fr);
        grid-template-rows: auto;
        min-height: 112px;
    }
    body.public-menu-page .menu-product-card:hover,
    body.public-menu-page .menu-add-button:hover { transform: none; }
    body.public-menu-page .menu-product-media {
        width: 104px;
        height: 100%;
        min-height: 112px;
        border-radius: 18px 0 0 18px;
    }
    body.public-menu-page .menu-product-media-frame,
    body.public-menu-page .menu-product-media img { height: 100%; }
    body.public-menu-page .menu-product-media-tags { display: none; }
    body.public-menu-page .menu-product-main { padding: 10px 12px 10px 10px; gap: 4px; }
    body.public-menu-page .menu-product-title-block h4 { font-size: 1.05rem; }
    body.public-menu-page .menu-product-main p {
        min-height: 0;
        margin: 0;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
    }
    body.public-menu-page .menu-price-cta { align-items: center; gap: 8px; }
    body.public-menu-page .menu-price-cta strong { font-size: 1.12rem; }
    body.public-menu-page .extras-modal-dialog {
        width: calc(100% - 16px);
        max-height: calc(100dvh - 16px);
        margin: 8px auto;
        border-radius: 20px;
    }
    body.public-menu-page .extras-modal-layout { grid-template-columns: 1fr; }
    body.public-menu-page .extras-modal-media { min-height: 140px; max-height: 168px; }
    body.public-menu-page .mobile-cart-fab {
        left: 12px;
        right: 12px;
        bottom: 12px;
        justify-content: space-between;
        width: auto;
        border-radius: 16px;
    }
    body.public-menu-page .back-to-top-button {
        display: none !important;
    }
    body.public-menu-page .menu-cart-drawer { top: auto; right: 0; bottom: 0; width: 100%; max-height: 100dvh; border-radius: 24px 24px 0 0; transform: translateY(105%); padding-bottom: env(safe-area-inset-bottom); }
    body.public-menu-page .checkout-actions {
        position: sticky;
        bottom: 0;
        z-index: 2;
        display: grid;
        gap: 8px;
        margin: 0 -16px -12px;
        padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
        background: #fff;
        border-top: 1px solid #eee8e1;
    }
    body.public-menu-page .checkout-actions .btn { width: 100%; }
    body.public-menu-page .menu-cart-drawer.is-open { transform: translateY(0); }
}

.public-page .menu-surface,
.public-page .menu-cart-drawer,
.public-page .menu-cart-summary-bar,
.public-page .extras-modal-dialog {
    color: #28323d;
}

.public-page .btn {
    border-radius: 14px;
    font-weight: 800;
}

.public-page .btn-light {
    background: #eef2f5;
    border-color: #d9dfe5;
    color: #32404d;
}

.public-page .btn-light:hover {
    background: #e5eaef;
}

.public-page .btn-primary,
.public-page .menu-add-button,
.public-page .menu-cart-summary-button,
.public-page .mobile-cart-fab {
    color: #fff;
}

.public-page .promo-button {
    color: #40250f;
}

.public-page .form-group label {
    color: #4d5661;
}

.public-page .form-group input,
.public-page .form-group select,
.public-page .form-group textarea,
.public-page .cart-note-label textarea,
.public-page .menu-search-input {
    background: #fff;
    color: #28323d;
    -webkit-text-fill-color: #28323d;
    caret-color: #28323d;
    border: 1px solid #d2d8df;
    box-shadow: none;
}

.public-page .form-group input::placeholder,
.public-page .form-group textarea::placeholder,
.public-page .cart-note-label textarea::placeholder,
.public-page .menu-search-input::placeholder {
    color: #8a94a0;
}

.public-page .form-group input:focus,
.public-page .form-group select:focus,
.public-page .form-group textarea:focus,
.public-page .cart-note-label textarea:focus,
.public-page .menu-search-input:focus,
.public-page .checkout-form select:focus,
.public-page .checkout-form textarea:focus {
    background: #fff;
    border-color: color-mix(in srgb, var(--sg3-green) 70%, #ffffff 30%);
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--sg3-green) 16%, #ffffff 84%);
}

.public-page .checkout-form select,
.public-page .checkout-form input:not([type="hidden"]):not([type="checkbox"]),
.public-page .checkout-form textarea {
    color: #28323d;
    -webkit-text-fill-color: #28323d;
    caret-color: #28323d;
}

.public-page .checkout-form input:not([type="hidden"]):not([type="checkbox"])::placeholder,
.public-page .checkout-form textarea::placeholder {
    color: #8a94a0;
    -webkit-text-fill-color: #8a94a0;
}

.public-page .checkout-form input:-webkit-autofill,
.public-page .checkout-form input:-webkit-autofill:hover,
.public-page .checkout-form input:-webkit-autofill:focus,
.public-page .checkout-form textarea:-webkit-autofill,
.public-page .checkout-form textarea:-webkit-autofill:hover,
.public-page .checkout-form textarea:-webkit-autofill:focus {
    -webkit-text-fill-color: #28323d;
    caret-color: #28323d;
    box-shadow: 0 0 0 1000px #ffffff inset;
    transition: background-color 9999s ease-in-out 0s;
}

.public-page .mount-search-input,
.public-page .mount-selector-bar select {
    appearance: none;
    width: 100%;
    min-height: 46px;
    padding: 10px 42px 10px 14px;
    border: 1px solid #d2d8df;
    border-radius: 12px;
    background: #ffffff;
    color: #28323d;
    -webkit-text-fill-color: #28323d;
    box-shadow: none;
    background-image:
        linear-gradient(45deg, transparent 50%, #687482 50%),
        linear-gradient(135deg, #687482 50%, transparent 50%);
    background-position:
        calc(100% - 18px) calc(50% - 2px),
        calc(100% - 12px) calc(50% - 2px);
    background-size: 6px 6px, 6px 6px;
    background-repeat: no-repeat;
}

.public-page .mount-search-input {
    margin: 10px 0 12px;
    padding-right: 14px;
    background-image: none;
}

.public-page .mount-selector-bar select option {
    background: #ffffff;
    color: #28323d;
    -webkit-text-fill-color: #28323d;
}

.public-page .mount-selector-bar select:focus {
    background-color: #ffffff;
    border-color: color-mix(in srgb, var(--sg3-green) 70%, #ffffff 30%);
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--sg3-green) 16%, #ffffff 84%);
}

.public-page .mount-selected-item {
    background: #ffffff;
    border: 1px solid #d2d8df;
}

.public-page .mount-selected-item span {
    color: #28323d;
    -webkit-text-fill-color: #28323d;
}

.public-page .mount-selected-item .btn-light {
    color: #28323d;
    border-color: #d2d8df;
    background: #f5f7fa;
}

.public-page .extras-subtotal-card {
    background: #ffffff;
    border: 1px solid #d2d8df;
}

.public-page .extras-subtotal-card span,
.public-page .extras-subtotal-card strong {
    color: #28323d;
    -webkit-text-fill-color: #28323d;
}

.public-page .checkout-head h3,
.public-page .cart-header h2,
.public-page .extras-modal-header h3 {
    color: #26313c;
}

.public-page .checkout-head p,
.public-page .cart-kicker,
.public-page .cart-item-top span,
.public-page .cart-note-label span,
.public-page .checkout-address.is-disabled,
.public-page .hint-box,
.public-page .menu-section-header p,
.public-page .menu-product-main p {
    color: #7a8490;
}

.public-page .menu-product-card {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
    align-items: start;
    gap: 18px;
    padding: 0 0 18px;
    border-radius: 30px;
    border: 1px solid rgba(224, 228, 233, 0.94);
    background: linear-gradient(180deg, #ffffff 0%, #fdfaf7 100%);
    box-shadow: 0 22px 44px rgba(18, 24, 32, 0.08);
    overflow: hidden;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.public-page .menu-product-card:hover {
    transform: translateY(-2px);
    border-color: color-mix(in srgb, var(--sg3-green) 24%, #d4dbe2 76%);
    box-shadow: 0 28px 56px rgba(18, 24, 32, 0.12);
}

.public-page .menu-product-media {
    position: relative;
    width: 100%;
    height: 228px;
    border-radius: 0;
    background: transparent;
    overflow: hidden;
}

.public-page .menu-product-media-frame {
    position: relative;
    width: 100%;
    height: 100%;
    border-radius: 0;
    background: linear-gradient(145deg, color-mix(in srgb, var(--sg3-green) 70%, #ffffff 30%), #eef2f4 72%);
    display: grid;
    place-items: center;
    overflow: hidden;
}

.public-page .menu-product-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.02);
}

.public-page .menu-product-media-frame > span {
    font-size: 4rem;
    font-weight: 800;
    color: #fff;
    text-shadow: 0 10px 18px rgba(0, 0, 0, 0.12);
}

.public-page .menu-product-media-tags {
    position: absolute;
    top: 14px;
    left: 14px;
    right: 14px;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 8px;
    pointer-events: none;
    z-index: 2;
}

.public-page .menu-product-media-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 12px;
    border-radius: 999px;
    background: #f59d1a;
    color: #ffffff;
    font-size: 0.74rem;
    font-weight: 800;
    line-height: 1;
    box-shadow: 0 10px 18px rgba(245, 157, 26, 0.28);
}

.public-page .menu-product-media-badge.is-secondary {
    background: rgba(24, 32, 39, 0.72);
    color: #ffffff;
    box-shadow: none;
}

.public-page .menu-product-main {
    display: grid;
    align-content: start;
    gap: 16px;
    padding: 0 18px;
}

.public-page .menu-product-topline {
    display: grid;
    gap: 12px;
}

.public-page .menu-product-title-block {
    display: grid;
    gap: 6px;
}

.public-page .menu-product-title-block h4 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.02;
    letter-spacing: -0.02em;
}

.public-page .menu-product-category {
    color: #f59d1a;
    font-size: 0.76rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.16em;
}

.public-page .menu-product-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.public-page .menu-product-main p {
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.56;
    min-height: 4.6em;
}

.public-page .menu-product-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: stretch;
    margin-top: 2px;
}

.public-page .menu-price-cta strong {
    display: inline-flex;
    align-items: center;
    color: #d93218;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 2rem;
    font-weight: 700;
    line-height: 0.96;
}

.public-page .menu-price-cta {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
}

.public-page .menu-qty-control {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    justify-self: start;
    padding: 6px;
    border-radius: 999px;
    border: 1px solid #ece5de;
    background: #fbf7f2;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.88);
}

.public-page .menu-add-button {
    min-width: 54px;
    width: 54px;
    height: 54px;
    padding: 0;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    line-height: 1;
    box-shadow: 0 14px 28px color-mix(in srgb, var(--sg3-green) 24%, rgba(217, 50, 24, 0.34) 76%);
}

.public-page .menu-add-button span[aria-hidden="true"] {
    transform: translateY(-2px);
}

.public-page .cart-item,
.public-page .checkout-preview,
.public-page .menu-summary-card {
    background: #f8fafb;
}

.public-page .cart-item strong,
.public-page .cart-summary-row strong,
.public-page .checkout-preview strong,
.public-page .menu-cart-summary-info strong,
.public-page .menu-category-head h3,
.public-page .menu-product-topline h4,
.public-page .menu-section-header h2 {
    color: #26313c;
}

.public-page .cart-count-badge {
    background: color-mix(in srgb, var(--sg3-green) 14%, #ffffff 86%);
    color: color-mix(in srgb, var(--sg3-green) 72%, #1b2633 28%);
}

.public-page .qty-control button,
.public-page .menu-qty-btn {
    color: color-mix(in srgb, var(--sg3-green) 76%, #22303b 24%);
}

.public-page .menu-qty-btn {
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 999px;
    background: #ffffff;
    box-shadow: 0 8px 16px rgba(18, 24, 32, 0.08);
    font-size: 1.2rem;
    font-weight: 800;
}

.public-page .menu-qty-control span[data-card-qty] {
    min-width: 28px;
    text-align: center;
    font-weight: 800;
    color: #26313c;
}

.public-page .menu-cart-trigger-hero {
    background: rgba(255, 255, 255, 0.9);
    color: #2a3440;
    border: 1px solid rgba(0, 0, 0, 0.06);
}

.public-page .menu-cart-trigger-hero .menu-cart-pill,
.public-page .menu-cart-trigger-hero .menu-cart-icon {
    color: #2a3440;
}

.public-page .menu-meta-pill {
    color: #ffffff;
}

.public-page .menu-tab {
    appearance: none;
    cursor: pointer;
    color: #2f3740;
}

.public-page .menu-tab.is-active,
.public-page .menu-tab:hover {
    color: #fff;
}

.public-page .menu-toolbar.is-filtering {
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sg3-green) 28%, transparent 72%);
}

.public-page .menu-process-board {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    padding: 14px 18px 4px;
    background: #f4f4f6;
    border-bottom: 1px solid #d6d7db;
}

.public-page .menu-process-step,
.public-page .menu-drawer-step {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    border: 1px solid #d3d8de;
    background: #ffffff;
    color: #31404d;
    cursor: pointer;
    transition: 0.2s ease;
}

.public-page .menu-process-step {
    padding: 14px 16px;
    border-radius: 18px;
    text-align: left;
}

.public-page .menu-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 410px);
    gap: 24px;
    align-items: start;
    width: min(100%, 1320px);
}

.public-page .menu-cart-drawer {
    position: sticky;
    top: 24px;
    right: auto;
    width: auto;
    max-height: calc(100vh - 48px);
    transform: none;
    transition: none;
    overflow: auto;
}

.public-page .menu-cart-drawer.is-open {
    transform: none;
}

.public-page .menu-drawer-close,
.public-page .cart-overlay,
.public-page .menu-cart-summary-bar {
    display: none;
}

.public-page .menu-process-step:hover,
.public-page .menu-drawer-step:hover {
    border-color: color-mix(in srgb, var(--sg3-green) 34%, #c8d0d8 66%);
    box-shadow: 0 10px 22px rgba(18, 24, 32, 0.06);
}

.public-page .menu-process-step.is-active,
.public-page .menu-drawer-step.is-active {
    background: linear-gradient(180deg, color-mix(in srgb, var(--sg3-green) 10%, #ffffff 90%), #ffffff);
    border-color: color-mix(in srgb, var(--sg3-green) 46%, #c8d0d8 54%);
    box-shadow: 0 12px 24px color-mix(in srgb, var(--sg3-green) 12%, transparent 88%);
}

.public-page .menu-process-index,
.public-page .menu-drawer-step span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--sg3-green) 12%, #ffffff 88%);
    color: color-mix(in srgb, var(--sg3-green) 70%, #1f2d39 30%);
    font-weight: 800;
    flex: 0 0 auto;
}

.public-page .menu-process-copy {
    display: grid;
    gap: 2px;
}

.public-page .menu-process-copy strong {
    color: #26313c;
}

.public-page .menu-process-copy small {
    color: #7a8490;
}

.public-page .menu-drawer-steps {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 0 0 18px;
}

.public-page .menu-drawer-step {
    min-height: 48px;
    padding: 10px 14px;
    border-radius: 14px;
    font-weight: 800;
}

.public-page .menu-cart-stage[hidden] {
    display: none !important;
}

.public-page .menu-stage-actions {
    margin-top: 16px;
}

.public-page .menu-stage-actions .btn {
    width: 100%;
}

.public-page .product-badge-secondary {
    background: color-mix(in srgb, var(--sg3-green) 12%, #ffffff 88%);
    color: color-mix(in srgb, var(--sg3-green) 70%, #1f2b36 30%);
}

.public-page .form-error {
    background: #fde8e6;
    color: #ab332d;
}

.public-page .checkout-consent-card {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 16px;
    border-radius: 18px;
    border: 1px solid #dbe2e8;
    background: #f9fbfc;
    color: #50606e;
    cursor: pointer;
}

.public-page .checkout-consent-card input {
    margin-top: 2px;
    flex: 0 0 auto;
}

.public-page .checkout-consent-card span {
    color: #5b6773;
    line-height: 1.4;
}

.public-page .customer-memory-feedback {
    margin-top: 10px;
    padding: 12px 14px;
    border-radius: 16px;
    background: #f5f7f8;
    color: #5f6b77;
    font-weight: 700;
}

.public-page .customer-memory-feedback.is-success {
    background: #eef8ef;
    color: #23623a;
}

.public-page .menu-contact-strip-actions {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.public-page .recover-order-results {
    display: grid;
    gap: 12px;
    margin-top: 14px;
}

.public-page .recover-order-card {
    padding: 14px 16px;
    border-radius: 18px;
    border: 1px solid #dbe2e8;
    background: #f9fbfc;
}

.public-page .recover-order-card-top,
.public-page .recover-order-card-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.public-page .recover-order-card-top strong {
    color: #26313c;
}

.public-page .recover-order-card-top span,
.public-page .recover-order-card p {
    color: #5f6b77;
}

.public-page .recover-order-card p {
    margin: 10px 0 0;
}

.public-page .recover-order-card-actions {
    margin-top: 12px;
    justify-content: flex-end;
}

.public-page .hint-box {
    background: #f5f7f8;
}

.public-page .checkout-success {
    display: grid;
    gap: 14px;
    margin-top: 14px;
    padding: 16px 18px;
    border-radius: 20px;
    border: 1px solid color-mix(in srgb, var(--sg3-green) 20%, #dfe7dd 80%);
    background: linear-gradient(180deg, color-mix(in srgb, var(--sg3-green) 10%, #ffffff 90%), #ffffff);
}

.public-page .checkout-success[hidden] {
    display: none !important;
}

.public-page .checkout-success-copy {
    display: grid;
    gap: 6px;
}

.public-page .checkout-success-copy strong,
.public-page .checkout-success-meta strong {
    color: #23303b;
}

.public-page .checkout-success-copy p,
.public-page .checkout-success-meta span {
    color: #65707c;
}

.public-page .checkout-success-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.public-page .checkout-success-meta a {
    color: color-mix(in srgb, var(--sg3-green) 76%, #25313c 24%);
    font-weight: 800;
    text-decoration: none;
}

.public-page .checkout-success-meta a:hover {
    text-decoration: underline;
}

.public-status-page .status-pay-card {
    display: grid;
    gap: 12px;
    margin: 0;
    border-top: 1px solid #eee8e1;
}

.public-status-page .status-pay-card .status-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.public-status-page .status-pay-chip {
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    white-space: nowrap;
}

.public-status-page .status-pay-chip.is-waiting {
    background: #fff1e6;
    color: #9a4b00;
}

.public-status-page .status-pay-card.is-paid {
    border: 0;
    border-radius: 22px;
    background: linear-gradient(180deg, #e8f8ee 0%, #ffffff 70%);
    box-shadow: 0 14px 36px rgba(22, 101, 52, 0.12);
    padding: 18px;
}

.public-status-page .status-pay-confirmed {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}

.public-status-page .status-pay-check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    border-radius: 50%;
    background: linear-gradient(135deg, #16a34a, #15803d);
    color: #fff;
    font-size: 1.45rem;
    font-weight: 800;
    box-shadow: 0 10px 22px rgba(22, 163, 74, 0.28);
}

.public-status-page .status-pay-confirmed h2 {
    margin: 0 0 4px;
    color: #14532d;
    font-family: "Playfair Display", serif;
    font-size: 1.55rem;
}

.public-status-page .status-pay-confirmed p {
    margin: 0;
    color: #3f6212;
    font-size: 0.98rem;
    line-height: 1.45;
}

.public-status-page .status-pay-meta {
    display: grid;
    gap: 6px;
    margin: 0;
    padding: 12px 14px;
    list-style: none;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.82);
    color: #365314;
}

.public-status-page .status-pay-meta strong {
    color: #14532d;
}

.public-status-page .status-pay-card.is-just-confirmed {
    animation: statusPayConfirm 0.7s ease;
}

@keyframes statusPayConfirm {
    0% { transform: translateY(8px) scale(0.98); opacity: 0.4; }
    60% { transform: translateY(0) scale(1.01); opacity: 1; }
    100% { transform: none; }
}

.public-status-page .is-updated,
.public-status-page .timeline-item.is-updated,
.public-status-page .status-progress-step.is-updated,
.public-status-page .status-badge.is-updated {
    animation: statusLivePulse 1.1s ease;
}

@keyframes statusLivePulse {
    0% {
        transform: scale(0.98);
        box-shadow: 0 0 0 0 rgba(232, 40, 26, 0.28);
    }
    35% {
        transform: scale(1.02);
        box-shadow: 0 0 0 10px rgba(232, 40, 26, 0);
    }
    100% {
        transform: none;
        box-shadow: none;
    }
}

body.public-status-page .status-live-toast,
.status-live-toast {
    position: fixed;
    left: 50%;
    bottom: calc(18px + env(safe-area-inset-bottom));
    z-index: 80;
    max-width: min(92vw, 360px);
    padding: 12px 18px;
    border-radius: 999px;
    background: #1a1a1a;
    color: #fff;
    font-family: "Poppins", sans-serif;
    font-size: 0.92rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.28);
    transform: translate(-50%, 18px);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease, transform 0.25s ease;
}

.status-live-toast.is-visible {
    opacity: 1;
    transform: translate(-50%, 0);
}

.public-status-page .status-pay-card p {
    margin: 0;
}

.public-status-page .status-pay-test {
    padding: 12px 14px;
    border-radius: 14px;
    background: #fff6e8;
    color: #7a4b00;
}

.public-status-page .status-pay-qr {
    width: min(100%, 360px);
    height: auto;
    aspect-ratio: 1;
    object-fit: contain;
    justify-self: center;
    background: #fff;
    border-radius: 16px;
}

.public-status-page .status-pay-card textarea {
    width: 100%;
    min-height: 88px;
    resize: none;
    padding: 12px;
    border: 1px solid #eadfd4;
    border-radius: 14px;
    background: #fff;
    color: #1c1917;
    font-size: 0.8rem;
    line-height: 1.4;
}

.public-status-page .status-pay-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.public-status-page .status-pay-card .btn {
    justify-self: start;
}

.public-page .checkout-pix {
    display: grid;
    gap: 8px;
}

.public-page .checkout-pix img {
    width: min(100%, 320px);
    height: auto;
    aspect-ratio: 1;
    object-fit: contain;
    justify-self: center;
    background: #fff;
    border-radius: 16px;
}

.public-page .checkout-pix textarea {
    width: 100%;
    min-height: 72px;
    resize: none;
    font-size: 0.78rem;
    line-height: 1.35;
}

.public-page .checkout-success-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.public-page .checkout-success-feedback {
    padding: 12px 14px;
    border-radius: 16px;
    background: #eef8ef;
    color: #23623a;
    font-weight: 700;
}

.public-page .checkout-success-feedback.is-error {
    background: #fde8e6;
    color: #ab332d;
}

.public-page .extras-modal-dialog {
    width: min(880px, calc(100% - 32px));
    max-height: calc(100vh - 48px);
    margin: 24px auto;
    background: #ffffff;
    border-radius: 34px;
    overflow: auto;
    box-shadow: 0 30px 80px rgba(8, 12, 18, 0.28);
}

.public-page .extras-modal-layout {
    display: grid;
    grid-template-columns: minmax(220px, 38%) minmax(0, 1fr);
    min-height: 0;
}

.public-page .extras-modal-media {
    position: relative;
    min-height: 100%;
    background:
        radial-gradient(circle at top, rgba(255, 255, 255, 0.08), transparent 36%),
        linear-gradient(180deg, color-mix(in srgb, var(--sg3-green) 68%, #22160d 32%), #1d130d);
    overflow: hidden;
}

.public-page .extras-modal-media img,
.public-page .extras-modal-media-fallback {
    width: 100%;
    height: 100%;
}

.public-page .extras-modal-media img {
    display: block;
    object-fit: cover;
}

.public-page .extras-modal-media-fallback {
    display: grid;
    place-items: center;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 5rem;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.92);
}

.public-page .extras-modal-content {
    display: grid;
    grid-template-rows: auto 1fr auto;
    min-width: 0;
}

.public-page .extras-modal-header,
.public-page .extras-modal-body,
.public-page .extras-modal-footer {
    padding-left: 28px;
    padding-right: 28px;
    flex-wrap: wrap;
}

.public-page .extras-modal-header {
    padding-top: 28px;
    padding-bottom: 16px;
}

.public-page .extras-modal-header h3 {
    margin-top: 10px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2rem, 2.6vw, 3rem);
    line-height: 0.98;
    letter-spacing: -0.03em;
}

.public-page .extras-modal-body {
    padding-top: 0;
    padding-bottom: 20px;
}

.public-page .extras-modal-price-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
    flex-wrap: wrap;
}

.public-page .extras-modal-price {
    color: #d93218;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2rem, 2.4vw, 2.9rem);
    line-height: 1;
}

.public-page .extras-modal-price-note {
    color: #8c949e;
    font-weight: 700;
}

.public-page .extras-modal-body .hero-text {
    color: #697480;
    line-height: 1.68;
    margin: 0 0 18px;
}

.public-page .menu-product-card {
    cursor: pointer;
}

.public-page .extras-qty {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 16px;
    padding: 12px 14px;
    border-radius: 16px;
    background: #fff8f0;
}

.public-page .extras-qty > span {
    color: #1a1a1a;
    font-weight: 700;
}

.public-page .extras-qty-control {
    display: inline-flex;
    align-items: center;
    gap: 12px;
}

.public-page .extras-qty-control button {
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 50%;
    background: #fff;
    color: #e8281a;
    font-size: 1.2rem;
    font-weight: 800;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
}

.public-page .extras-qty-control strong {
    min-width: 1.4rem;
    color: #1a1a1a;
    font-size: 1.1rem;
    text-align: center;
}

.public-page .cart-overlay[hidden],
.public-page .menu-cart-summary-bar[hidden],
.public-page .extras-modal[hidden] {
    display: none !important;
}

.public-page .menu-drawer-close {
    color: #2c3440;
}

.public-page .checkout-actions {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.public-page .mobile-cart-fab {
    display: none;
    align-items: center;
    gap: 10px;
}

.public-page .mobile-cart-fab-icon {
    font-size: 1.15rem;
    line-height: 1;
}

.public-page .mobile-cart-fab-copy {
    display: grid;
    gap: 1px;
    text-align: left;
}

.public-page .mobile-cart-fab-copy small {
    font-size: 0.72rem;
    opacity: 0.84;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.public-page .mobile-cart-fab-copy strong,
.public-page .mobile-cart-fab-total {
    color: #ffffff;
}

.public-page .mobile-cart-fab-total {
    font-weight: 800;
}

.public-page .menu-cart-summary-bar,
.public-page .mobile-cart-fab {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.public-page .menu-cart-summary-bar.is-highlight,
.public-page .mobile-cart-fab.is-highlight {
    animation: cartEntryPulse 0.9s ease;
}

.public-page .back-to-top-button {
    position: fixed;
    right: 18px;
    bottom: 24px;
    z-index: 28;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 96px;
    min-height: 46px;
    padding: 0 16px;
    border: 1px solid rgba(29, 39, 48, 0.08);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.94);
    color: #25313c;
    box-shadow: 0 16px 34px rgba(11, 16, 24, 0.16);
    font-weight: 800;
    cursor: pointer;
    backdrop-filter: blur(10px);
}

.public-page .back-to-top-button[hidden] {
    display: none !important;
}

@keyframes cartEntryPulse {
    0% {
        transform: translateY(0) scale(1);
        box-shadow: 0 16px 34px rgba(11, 16, 24, 0.16);
    }

    40% {
        transform: translateY(-2px) scale(1.02);
        box-shadow: 0 20px 40px color-mix(in srgb, var(--sg3-green) 24%, rgba(11, 16, 24, 0.18) 76%);
    }

    100% {
        transform: translateY(0) scale(1);
        box-shadow: 0 16px 34px rgba(11, 16, 24, 0.16);
    }
}

.public-page .checkout-choice-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.public-page .checkout-choice-grid-payment {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.public-page .checkout-choice-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 12px 14px;
    border-radius: 16px;
    border: 1px solid #d6dce2;
    background: #ffffff;
    color: #33414d;
    font-weight: 800;
    cursor: pointer;
    transition: 0.2s ease;
}

.public-page .checkout-choice-button:hover {
    border-color: color-mix(in srgb, var(--sg3-green) 34%, #d6dce2 66%);
    box-shadow: 0 10px 22px rgba(18, 24, 32, 0.06);
}

.public-page .checkout-choice-button.is-active {
    border-color: color-mix(in srgb, var(--sg3-green) 52%, #d6dce2 48%);
    background: linear-gradient(180deg, color-mix(in srgb, var(--sg3-green) 12%, #ffffff 88%), #ffffff);
    color: color-mix(in srgb, var(--sg3-green) 78%, #24303a 22%);
    box-shadow: 0 12px 24px color-mix(in srgb, var(--sg3-green) 12%, transparent 88%);
}

.public-page .checkout-choice-button:focus-visible {
    outline: none;
    border-color: color-mix(in srgb, var(--sg3-green) 60%, #d6dce2 40%);
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--sg3-green) 16%, #ffffff 84%);
}

body.public-status-page {
    min-height: 100vh;
    margin: 0;
    padding: 28px 0 48px;
    background: var(--restaurant-light);
    color: #444;
    font-family: "Poppins", sans-serif;
}

body.public-status-page .status-shell {
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
    display: grid;
    gap: 0;
    overflow: hidden;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
}

body.public-status-page .status-topbar,
body.public-status-page .status-hero-card,
body.public-status-page .status-progress-card,
body.public-status-page .status-card,
body.public-status-page .status-support-card,
body.public-status-page .status-empty-card {
    background: #fff;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    color: #444;
}

body.public-status-page .status-topbar,
body.public-status-page .status-support-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 18px 24px;
}

body.public-status-page .status-topbar {
    background: var(--restaurant-cream);
}

body.public-status-page .status-brand {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    color: var(--restaurant-dark);
    text-decoration: none;
}

body.public-status-page .status-brand img {
    width: 48px;
    height: 48px;
    object-fit: contain;
}

body.public-status-page .status-brand span {
    display: inline-flex;
    align-items: baseline;
    gap: 2px;
    font-family: "Playfair Display", serif;
    font-size: 1.7rem;
    line-height: 1;
}

body.public-status-page .status-brand strong {
    color: var(--restaurant-dark);
    font-weight: 700;
}

body.public-status-page .status-brand em {
    color: var(--restaurant-primary);
    font-style: italic;
    font-weight: 700;
}

body.public-status-page .btn {
    border: 0;
    border-radius: 50px;
    font-family: "Poppins", sans-serif;
    font-weight: 600;
}

body.public-status-page .btn-primary {
    background: linear-gradient(135deg, var(--ds-primary), var(--ds-primary-dark));
    color: #fff;
    box-shadow: 0 8px 22px rgba(232, 40, 26, 0.28);
}

body.public-status-page .btn-primary:hover {
    background: linear-gradient(135deg, var(--ds-primary), var(--ds-primary-dark));
    transform: translateY(-1px);
}

body.public-status-page .btn-light {
    background: #fff;
    border: 1px solid #eee;
    color: var(--ds-dark);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.06);
}

body.public-status-page .btn-light:hover {
    background: #fff;
    color: var(--ds-primary);
}

body.public-status-page .status-topbar-actions,
body.public-status-page .status-support-actions,
body.public-status-page .status-empty-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

body.public-status-page .status-hero-card {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(280px, 0.8fr);
    gap: 20px;
    padding: 28px 24px 22px;
}

body.public-status-page .status-hero-brand {
    display: flex;
    align-items: center;
    gap: 18px;
}

body.public-status-page .status-hero-logo {
    width: 86px;
    height: 86px;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: var(--restaurant-cream);
    border: 1px solid #f0e4d9;
}

.public-status-page .status-hero-logo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body.public-status-page .status-hero-logo span {
    font-family: "Playfair Display", serif;
    font-size: 2rem;
    font-weight: 700;
    color: var(--restaurant-primary);
}

body.public-status-page .status-kicker,
body.public-status-page .status-empty-kicker {
    display: inline-block;
    color: var(--restaurant-primary);
    font-family: "Dancing Script", cursive;
    font-size: 1.35rem;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: none;
}

body.public-status-page .status-hero-copy h1,
body.public-status-page .status-card-head h2,
body.public-status-page .status-support-card h2,
body.public-status-page .status-empty-card h1 {
    margin: 4px 0 8px;
    color: var(--restaurant-dark);
    font-family: "Playfair Display", serif;
    font-weight: 700;
    letter-spacing: -0.03em;
    overflow-wrap: anywhere;
}

body.public-status-page .status-hero-copy p,
body.public-status-page .status-support-card p,
body.public-status-page .status-empty-card p,
body.public-status-page .status-pay-card p {
    margin: 0;
    color: var(--ds-muted);
}

.public-status-page .status-hero-aside {
    display: grid;
    gap: 14px;
    align-content: start;
}

body.public-status-page .status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 36px;
    padding: 7px 14px;
    border-radius: 50px;
    background: var(--restaurant-green);
    color: #fff;
    box-shadow: 0 6px 18px rgba(45, 106, 79, 0.25);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

body.public-status-page .status-badge-finalizado {
    background: var(--restaurant-green);
    color: #fff;
}

body.public-status-page .status-badge-cancelado {
    background: var(--restaurant-primary);
    color: #fff;
}

body.public-status-page .status-badge-erro_integracao {
    background: var(--restaurant-secondary);
    color: var(--restaurant-dark);
}

body.public-status-page .status-meta-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 8px;
    color: var(--ds-muted);
}

.public-status-page .status-meta-list li,
.public-status-page .status-order-item-top strong,
.public-status-page .status-order-item-top span {
    overflow-wrap: anywhere;
}

body.public-status-page .status-refresh-note {
    padding: 12px 14px;
    border-radius: 14px;
    background: var(--restaurant-cream);
    color: var(--ds-muted);
    font-size: 0.9rem;
}

body.public-status-page .status-progress-card {
    padding: 22px 24px;
    background: var(--restaurant-cream);
}

body.public-status-page .status-card,
body.public-status-page .status-empty-card {
    padding: 24px;
}

body.public-status-page .status-progress-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 10px;
}

body.public-status-page .status-progress-step {
    min-height: 92px;
    padding: 16px;
    border-radius: 14px;
    border: 1px solid #f0e4d9;
    background: #fff;
    display: grid;
    gap: 10px;
    align-content: start;
    box-shadow: none;
}

body.public-status-page .status-progress-step.is-complete,
body.public-status-page .status-progress-step.is-current {
    border-color: rgba(232, 40, 26, 0.28);
    background: #fff;
}

body.public-status-page .status-progress-step.is-current {
    box-shadow: 0 8px 22px rgba(232, 40, 26, 0.08);
}

body.public-status-page .status-progress-index {
    width: 36px;
    height: 36px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(232, 40, 26, 0.1);
    border: 0;
    font-weight: 700;
    color: var(--restaurant-primary);
}

body.public-status-page .status-progress-step.is-complete .status-progress-index,
body.public-status-page .status-progress-step.is-current .status-progress-index {
    background: var(--restaurant-primary);
    color: #fff;
}

.public-status-page .status-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.9fr);
    gap: 22px;
}

.public-status-page .status-card-head {
    margin-bottom: 18px;
}

.public-status-page .status-order-list {
    display: grid;
    gap: 14px;
}

body.public-status-page .status-order-item {
    padding: 16px;
    border-radius: 18px;
    background: var(--restaurant-cream);
    border: 0;
}

.public-status-page .status-order-item-top,
.public-status-page .status-totals > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

body.public-status-page .status-order-item-top span,
body.public-status-page .status-order-item p,
body.public-status-page .status-order-extras span {
    color: var(--ds-muted);
}

.public-status-page .status-order-item p {
    margin: 10px 0 0;
}

.public-status-page .status-order-extras {
    margin-top: 10px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

body.public-status-page .status-order-extras span {
    padding: 6px 10px;
    border-radius: 50px;
    background: #fff;
    color: var(--ds-text);
    font-size: 0.84rem;
}

.public-status-page .status-totals {
    margin-top: 18px;
    display: grid;
    gap: 12px;
}

body.public-status-page .status-totals > div {
    padding: 14px 16px;
    border-radius: 18px;
    background: var(--restaurant-cream);
    border: 0;
    color: var(--ds-muted);
}

body.public-status-page .status-totals > div.is-total {
    background: #fff;
    border: 1px solid rgba(232, 40, 26, 0.18);
    color: var(--restaurant-dark);
}

body.public-status-page .status-totals strong,
body.public-status-page .status-order-item-top strong {
    color: var(--restaurant-dark);
}

body.public-status-page .status-timeline-list .timeline-item {
    background: var(--restaurant-cream);
    border: 0;
    color: var(--ds-text);
}

body.public-status-page .status-timeline-list .timeline-item p,
body.public-status-page .status-timeline-list .timeline-item-head span {
    color: var(--ds-muted);
}

body.public-status-page .empty-state {
    background: var(--restaurant-cream);
    border: 0;
    color: var(--ds-muted);
}

body.public-status-page .status-support-card {
    background: var(--restaurant-dark);
    color: #fff;
}

body.public-status-page .status-support-card h2,
body.public-status-page .status-support-card .status-kicker {
    color: #fff;
}

body.public-status-page .status-support-card .status-kicker {
    color: var(--restaurant-secondary);
}

body.public-status-page .status-support-card p {
    color: #ddd;
}

body.public-status-page .status-support-card .btn-light {
    color: var(--restaurant-primary);
}

body.public-status-page .status-pay-card label,
body.public-status-page .status-pay-feedback {
    color: var(--ds-text);
}

body.public-status-page .status-empty-card {
    padding: 34px 28px;
    display: grid;
    gap: 16px;
}

@media (max-width: 980px) {
    .public-page .menu-product-card {
        gap: 14px;
        padding-bottom: 16px;
        border-radius: 24px;
    }

    .public-page .menu-product-media {
        width: 100%;
        height: 192px;
        border-radius: 0;
    }

    .public-page .menu-product-media-frame {
        width: 100%;
        height: 100%;
        border-radius: 0;
    }

    .public-page .menu-product-main {
        gap: 10px;
        padding: 0 16px;
    }

    .public-page .menu-product-title-block h4 {
        font-size: 1.7rem;
    }

    .public-page .menu-shell {
        grid-template-columns: 1fr;
        width: min(100%, 1080px);
    }

    .public-page .mobile-cart-fab {
        display: inline-flex;
    }

    .public-page .menu-cart-drawer {
        position: fixed;
        top: auto;
        right: 0;
        bottom: 0;
        width: 100%;
        max-height: 84vh;
        border-radius: 24px 24px 0 0;
        transform: translateY(calc(100% - 88px));
        transition: transform 0.25s ease;
    }

    .public-page .menu-cart-drawer.is-open {
        transform: translateY(0);
    }

    .public-page .menu-drawer-close,
    .public-page .cart-overlay,
    .public-page .menu-cart-summary-bar {
        display: initial;
    }

    .public-page .menu-drawer-close {
        display: inline-flex;
    }

    .public-page .cart-overlay {
        display: block;
    }

    .public-page .menu-cart-summary-bar {
        display: flex;
    }

    .public-page .menu-cart-summary-bar {
        padding: 14px 14px 16px;
        border-radius: 20px;
        background: linear-gradient(180deg, color-mix(in srgb, var(--sg3-green) 12%, #ffffff 88%), #ffffff);
        border-color: color-mix(in srgb, var(--sg3-green) 22%, #d9e2d8 78%);
    }

    .public-page .menu-cart-summary-info {
        gap: 6px;
    }

    .public-page .menu-cart-summary-info strong:first-child {
        font-size: 1rem;
    }

    .public-page .menu-cart-summary-button {
        min-height: 50px;
    }

    .public-page .menu-process-board,
    .public-page .menu-drawer-steps,
    .public-page .checkout-actions,
    .public-page .checkout-success-actions {
        grid-template-columns: 1fr;
    }

    .public-page .checkout-choice-grid,
    .public-page .checkout-choice-grid-payment {
        grid-template-columns: 1fr;
    }

    .public-page .checkout-success-meta {
        align-items: flex-start;
    }

    .public-page .extras-modal-layout {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .public-page .extras-modal-media {
        min-height: 260px;
    }

    .public-page .extras-modal-content {
        grid-template-rows: auto 1fr auto;
    }

    .public-page .back-to-top-button {
        left: 14px;
        right: auto;
        bottom: 124px;
        min-width: 88px;
        min-height: 44px;
    }
    body.public-menu-page .back-to-top-button {
        display: none !important;
    }

    .public-status-page .status-topbar,
    .public-status-page .status-support-card,
    .public-status-page .status-hero-card,
    .public-status-page .status-grid {
        grid-template-columns: 1fr;
        flex-direction: column;
        align-items: stretch;
    }

    body.public-status-page {
        padding: 16px 0 28px;
    }

    body.public-status-page .status-shell {
        width: min(1180px, calc(100% - 20px));
        gap: 0;
        border-radius: 20px;
    }

    body.public-status-page .status-topbar,
    body.public-status-page .status-support-card,
    body.public-status-page .status-empty-card,
    body.public-status-page .status-progress-card,
    body.public-status-page .status-card,
    body.public-status-page .status-hero-card {
        padding: 18px 16px;
        border-radius: 0;
    }

    .public-status-page .status-brand {
        width: 100%;
    }

    .public-status-page .status-brand img {
        width: 46px;
        height: 46px;
    }

    .public-status-page .status-brand span {
        font-size: 1.28rem;
        flex-wrap: wrap;
    }

    .public-status-page .status-topbar-actions,
    .public-status-page .status-support-actions,
    .public-status-page .status-empty-actions {
        width: 100%;
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .public-status-page .status-topbar-actions .btn,
    .public-status-page .status-support-actions .btn,
    .public-status-page .status-empty-actions .btn {
        width: 100%;
        justify-content: center;
        text-align: center;
    }

    .public-status-page .status-hero-brand {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
    }

    .public-status-page .status-hero-logo {
        width: 72px;
        height: 72px;
        border-radius: 20px;
    }

    .public-status-page .status-hero-copy h1 {
        font-size: 1.55rem;
        line-height: 1.08;
    }

    .public-status-page .status-kicker,
    .public-status-page .status-empty-kicker {
        letter-spacing: 0.08em;
    }

    .public-status-page .status-badge {
        width: 100%;
        justify-content: center;
        text-align: center;
        min-height: 44px;
    }

    .public-status-page .status-progress-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .public-status-page .status-progress-step {
        min-height: auto;
        padding: 14px 12px;
        gap: 8px;
        border-radius: 18px;
    }

    .public-status-page .status-grid {
        gap: 16px;
    }

    .public-status-page .status-card-head {
        margin-bottom: 14px;
    }

    .public-status-page .status-order-item {
        padding: 14px;
        border-radius: 16px;
    }

    .public-status-page .status-order-item-top,
    .public-status-page .status-totals > div,
    .public-status-page .status-timeline-list .timeline-item-head {
        flex-direction: column;
        align-items: flex-start;
    }

    .public-status-page .status-totals {
        gap: 10px;
    }

    .public-status-page .status-totals > div {
        gap: 6px;
        padding: 12px 14px;
        border-radius: 16px;
    }

    .public-status-page .status-timeline-list .timeline-item {
        padding: 14px;
        border-radius: 16px;
    }
}

@media (max-width: 640px) {
    .public-page .menu-product-card {
        gap: 12px;
        padding-bottom: 14px;
        border-radius: 22px;
    }

    .public-page .menu-product-media {
        width: 100%;
        height: 164px;
        border-radius: 0;
    }

    .public-page .menu-product-media-frame {
        width: 100%;
        height: 100%;
        border-radius: 0;
    }

    .public-page .menu-product-media-tags {
        top: 10px;
        left: 10px;
        right: 10px;
    }

    .public-page .menu-product-media-badge {
        padding: 5px 8px;
        font-size: 0.68rem;
    }

    .public-page .menu-product-title-block h4 {
        font-size: 1.45rem;
    }

    .public-page .menu-price-cta {
        grid-template-columns: 1fr;
        justify-items: stretch;
    }

    .public-page .menu-add-button {
        justify-self: end;
    }

    .public-page .menu-product-main p {
        min-height: 0;
    }

    .public-page .menu-product-actions {
        grid-template-columns: 1fr;
    }

    .public-page .extras-modal-dialog {
        border-radius: 26px;
    }

    .public-page .extras-modal-media {
        min-height: 210px;
    }

    .public-page .extras-modal-header,
    .public-page .extras-modal-body,
    .public-page .extras-modal-footer {
        padding-left: 18px;
        padding-right: 18px;
    }

    .public-page .extras-modal-header {
        padding-top: 18px;
    }

    .public-page .extras-modal-header h3 {
        font-size: 1.75rem;
    }

    .public-page .extras-modal-price-row {
        align-items: flex-start;
    }

    .public-status-page {
        padding: 14px 10px 24px;
    }

    .public-status-page .status-topbar,
    .public-status-page .status-support-card,
    .public-status-page .status-empty-card,
    .public-status-page .status-progress-card,
    .public-status-page .status-card,
    .public-status-page .status-hero-card {
        padding: 16px 14px;
        border-radius: 20px;
    }

    .public-status-page .status-brand {
        gap: 10px;
    }

    .public-status-page .status-brand span {
        font-size: 1.18rem;
    }

    .public-status-page .status-hero-copy h1,
    .public-status-page .status-card-head h2,
    .public-status-page .status-support-card h2,
    .public-status-page .status-empty-card h1 {
        font-size: 1.35rem;
    }

    .public-status-page .status-hero-copy p,
    .public-status-page .status-support-card p,
    .public-status-page .status-empty-card p,
    .public-status-page .status-refresh-note,
    .public-status-page .status-meta-list {
        font-size: 0.95rem;
    }

    .public-status-page .status-progress-grid {
        grid-template-columns: 1fr;
    }

    .public-status-page .status-progress-step {
        grid-template-columns: auto 1fr;
        align-items: center;
    }

    .public-status-page .status-order-extras {
        gap: 6px;
    }

    .public-status-page .status-order-extras span {
        font-size: 0.85rem;
    }
}
