﻿/* ── Menu de categorias sticky ── */
.categorias-sticky-wrapper {
    position: relative;
    width: 100%;
    z-index: 98;
    background: var(--bs-body-bg, #fff);
    padding: 8px 12px;
    transition: box-shadow 0.2s ease;
    overflow: hidden;
}

/* Cardapio desktop: grade densa e cards horizontais; mobile permanece vertical. */
.cardapio-container { width: 100%; max-width: 1480px; margin-inline: auto; }
.cardapio-filters { padding-top: .25rem; }
.cardapio-title { font-size: clamp(1.45rem, 2vw, 1.9rem); font-weight: 750; }
.categoria-secao { scroll-margin-top: 132px; }
.categorias-sticky-wrapper { margin-bottom: 1rem; }

.cardapio-back-to-top {
    position: fixed;
    right: clamp(1rem, 3vw, 2rem);
    bottom: calc(5.25rem + env(safe-area-inset-bottom));
    z-index: 1030;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 1px solid var(--rd-border, #e3e7ed);
    border-radius: 50%;
    color: var(--rd-text, #18212f);
    background: color-mix(in srgb, var(--rd-surface, #fff) 92%, transparent);
    box-shadow: 0 8px 24px rgba(16, 24, 40, .14);
    backdrop-filter: blur(8px);
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity .18s ease, transform .18s ease, visibility .18s;
}

.cardapio-back-to-top.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
.cardapio-back-to-top:hover { color: var(--cor-principal); border-color: var(--cor-principal); }

@media (min-width: 992px) {
    .categorias-sticky-wrapper { top: 56px; border: 1px solid var(--rd-border, #e3e7ed); border-radius: 10px; padding: .55rem; }
    .categoria-secao { margin-bottom: 2rem; }
    .categoria-secao-titulo { font-size: 1.05rem; border: 0; padding: 0; margin-bottom: .75rem; color: var(--rd-text, #18212f); }
    #modalComplementos .modal-dialog { max-width: 760px; }
    #modalComplementos .modal-body { max-height: min(64vh, 680px); }
}

@media (min-width: 1200px) {
    .cardapio-container .produto-item { width: 25%; }
    .cardapio-container .product-card { height: 100%; display: grid; grid-template-columns: 42% 58%; overflow: hidden; }
    .cardapio-container .product-image { min-height: 172px; height: 100%; }
    .cardapio-container .product-image img { width: 100%; height: 100%; object-fit: cover; }
    .cardapio-container .product-card .card-body { min-width: 0; padding: .85rem; display: flex; flex-direction: column; justify-content: space-between; gap: .7rem; }
    .cardapio-container .product-footer { gap: .5rem; align-items: flex-end; }
    .cardapio-container .card-cart-action { min-width: 104px; width: auto; }
    .cardapio-container .product-card .product-description { white-space: normal; min-height: 2.5rem; max-height: 2.5rem; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
}

@media (max-width: 767.98px) {
    .categorias-sticky-wrapper { margin-inline: -.25rem; margin-bottom: .85rem; border-bottom: 1px solid var(--rd-border, #e3e7ed); }
    .categoria-secao { scroll-margin-top: 118px; margin-bottom: 1.5rem; }
    .categoria-secao-titulo { margin-bottom: .75rem; }
    .cardapio-back-to-top { right: .85rem; bottom: calc(5.75rem + env(safe-area-inset-bottom)); }
}

    .categorias-sticky-wrapper.is-sticky {
        position: fixed;
        top: 56px;
        left: 0;
        right: 0;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
    }

/* carrossel horizontal */
.categorias-scroll {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.5rem;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 2px;
    cursor: grab;
    user-select: none;
}

    .categorias-scroll.is-dragging {
        cursor: grabbing;
        scroll-behavior: auto;
    }

    .categorias-scroll::-webkit-scrollbar {
        display: none;
    }

@media (hover: hover) and (pointer: fine) {
    .categorias-scroll {
        scrollbar-width: thin;
        scrollbar-color: #adb5bd transparent;
        padding-bottom: 7px;
    }

        .categorias-scroll::-webkit-scrollbar {
            display: block;
            height: 6px;
        }

        .categorias-scroll::-webkit-scrollbar-thumb {
            background: #adb5bd;
            border-radius: 999px;
        }
}

/* botões não quebram */
.btn-categoria {
    flex: 0 0 auto;
    white-space: nowrap;
    border: 1px solid #dee2e6;
    background: #fff;
    color: #333;
    border-radius: 10px;
    padding: 0.45rem 0.9rem;
    font-size: 0.95rem;
}

    .btn-categoria.active {
        border-color: var(--cor-principal);
        color: var(--cor-principal);
        background: #fff;
    }

.categoria-secao {
    margin-bottom: 2.5rem;
}

.categoria-secao-titulo {
    font-size: 1.2rem;
    font-weight: 600;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid var(--cor-principal);
    color: var(--cor-principal);
}

@media (max-width: 767.98px) {
    .categorias-sticky-wrapper {
        padding: 8px 10px;
    }

    .categorias-scroll {
        gap: 0.4rem;
    }

    .btn-categoria {
        font-size: 0.9rem;
        padding: 0.4rem 0.75rem;
    }
}
/* ── Controle clean do carrinho no cardápio ── */
.card-cart-action {
    width: 100%;
    min-width: 132px;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.card-cart-badge {
    position: absolute;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 28px;
    padding: 0 8px;
    border-radius: 999px;
    background: var(--cor-principal);
    color: #fff;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.22);
    border: 2px solid rgba(255, 255, 255, 0.92);
    z-index: 3;
}

.card-cart-badge-image {
    top: 10px;
    left: 10px;
    backdrop-filter: blur(6px);
}

.cart-action-button,
.cart-quantity-control {
    width: 100%;
    min-height: 40px;
    border-radius: 0.85rem;
}

.cart-action-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    box-shadow: none;
}

.cart-quantity-control {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    background: linear-gradient(180deg, rgba(var(--bs-primary-rgb), 0.12), rgba(var(--bs-primary-rgb), 0.08));
    border: 1px solid rgba(var(--bs-primary-rgb), 0.2);
    overflow: hidden;
}

.cart-qty-btn {
    border: 0;
    background: transparent;
    color: var(--cor-principal);
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.cart-qty-btn:hover {
    background: rgba(var(--bs-primary-rgb), 0.12);
}

.cart-qty-btn:active {
    transform: scale(0.96);
}

.cart-qty-btn:focus-visible,
.cart-action-button:focus-visible {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb), 0.2);
}

.cart-qty-value {
    min-width: 32px;
    text-align: center;
    font-weight: 700;
    color: var(--cor-principal);
    font-size: 0.98rem;
}

.product-image {
    cursor: zoom-in;
}

.product-image-zoom {
    display: none;
}

.product-card .product-description {
    display: block;
    min-height: 1.25rem;
    max-height: 1.25rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.25;
}

.product-card-focus {
    animation: product-focus-pulse 1.8s ease;
}

@keyframes product-focus-pulse {
    0%, 100% {
        box-shadow: 0 8px 22px rgba(4, 8, 63, .08);
    }
    20%, 70% {
        border-color: var(--cor-principal);
        box-shadow: 0 0 0 .22rem rgba(4, 8, 63, .14), 0 12px 30px rgba(4, 8, 63, .18);
    }
}

.product-detail-modal .modal-dialog {
    max-width: min(1120px, calc(100vw - 2rem));
}

.product-detail-modal .modal-content {
    border-radius: 12px;
    overflow: hidden;
    isolation: isolate;
}

.product-detail-close {
    position: absolute;
    top: 14px;
    right: 14px;
    top: max(14px, env(safe-area-inset-top));
    right: max(14px, env(safe-area-inset-right));
    z-index: 20;
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    padding: 0;
    border: 1px solid rgba(0, 0, 0, .08);
    border-radius: 999px;
    color: #17212b;
    background: #fff;
    box-shadow: 0 8px 20px rgba(0, 0, 0, .16);
    font-size: 1.85rem;
    line-height: 1;
    opacity: 1;
}

.product-detail-close::before {
    content: "\00d7";
    transform: translateY(-1px);
}

.product-detail-grid {
    display: grid;
    grid-template-columns: minmax(320px, 52%) 1fr;
    min-height: min(720px, 82vh);
    background: #fff;
}

.product-detail-image-wrap {
    background: #f1f3f5;
    min-height: 420px;
}

.product-detail-image-wrap img {
    width: 100%;
    height: 100%;
    min-height: 420px;
    object-fit: cover;
    display: block;
}

.product-detail-info {
    padding: clamp(1.25rem, 3vw, 2.35rem);
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
    justify-content: center;
}

.product-detail-title {
    margin: 0;
    color: #17212b;
    font-weight: 850;
    line-height: 1.15;
}

.product-detail-price .product-price {
    margin: 0;
}

.product-detail-price .product-price-promo {
    max-width: 360px;
}

.product-detail-description-wrap {
    border-top: 1px solid #edf0f3;
    padding-top: 1rem;
}

.product-detail-description-wrap h6 {
    color: #344054;
    font-weight: 800;
    margin-bottom: .55rem;
}

.product-detail-description {
    color: #475467;
    font-size: 1rem;
    line-height: 1.6;
    white-space: pre-line;
    margin: 0;
}

/* Promoções nos cards do cardápio */
.product-card-promocao {
    border-color: rgba(220, 53, 69, .22);
    box-shadow: 0 8px 22px rgba(220, 53, 69, .08);
}

.product-card-promocao:hover {
    border-color: var(--cor-principal);
    box-shadow: 0 10px 26px rgba(4, 8, 63, .14);
}

.product-promo-badge {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 4;
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    min-height: 30px;
    padding: .35rem .6rem;
    border-radius: 999px;
    background: #dc3545;
    color: #fff;
    font-size: .78rem;
    font-weight: 800;
    line-height: 1;
    box-shadow: 0 8px 20px rgba(220, 53, 69, .28);
    border: 2px solid rgba(255, 255, 255, .95);
}

.product-price-promo {
    display: flex;
    flex-direction: column;
    gap: .18rem;
    padding: .55rem .65rem;
    border-radius: .75rem;
    background: #fff5f5;
    border: 1px solid rgba(220, 53, 69, .16);
}

.promo-price-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
}

.product-price-promo .price-original {
    color: #8a8f98;
    font-size: .78rem;
    font-weight: 600;
    text-decoration: line-through;
    text-decoration-thickness: 2px;
}

.product-price-promo .promo-tag {
    display: inline-flex;
    align-items: center;
    padding: .12rem .42rem;
    border-radius: 999px;
    background: #dc3545;
    color: #fff;
    font-size: .66rem;
    font-weight: 800;
    line-height: 1.2;
    white-space: nowrap;
}

.product-price-promo .price-atual-promo {
    color: #198754;
    font-size: 1.38rem;
    font-weight: 850;
    line-height: 1.1;
}

.promo-economy {
    color: #198754;
    font-size: .76rem;
    font-weight: 700;
}

@media (max-width: 575.98px) {
    .card-cart-action {
        min-width: 118px;
    }

    .card-cart-badge {
        min-width: 26px;
        height: 26px;
        top: 8px;
        left: 8px;
        font-size: 0.74rem;
        padding: 0 7px;
    }

    .cart-action-button,
    .cart-quantity-control,
    .cart-qty-btn {
        min-height: 36px;
        border-radius: 0.8rem;
    }

    .cart-action-button {
        gap: 0.3rem;
    }

    .cart-qty-value {
        min-width: 26px;
        font-size: 0.9rem;
    }

    .product-promo-badge {
        top: 8px;
        right: 8px;
        min-height: 26px;
        padding: .28rem .5rem;
        font-size: .7rem;
    }

    .product-price-promo {
        gap: .12rem;
        padding: .42rem .5rem;
        border-radius: .65rem;
    }

    .product-price-promo .price-atual-promo {
        font-size: 1.08rem;
    }

    .promo-economy {
        display: none;
    }

    .product-detail-grid {
        grid-template-columns: 1fr;
    }

    .product-detail-image-wrap,
    .product-detail-image-wrap img {
        min-height: 42vh;
        max-height: 48vh;
    }

    .product-detail-info {
        justify-content: flex-start;
    }
}

/* Celular em pé ou deitado: tela cheia pela altura real da janela. 100vh ignora a barra do
   navegador e, com o alinhamento inferior dos modais no design-system, jogava o topo (e o X)
   para fora da tela. O id vence a especificidade daquelas regras; só o modal-body rola. */
@media (max-width: 575.98px), (max-height: 575.98px) {
    #modalProdutoDetalhes {
        overflow: hidden;
    }

    #modalProdutoDetalhes .modal-dialog {
        width: 100%;
        max-width: none;
        height: 100%;
        min-height: 0;
        margin: 0;
        padding: 0;
        align-items: stretch;
        transform: none;
    }

    #modalProdutoDetalhes .modal-content {
        height: 100%;
        max-height: none;
        border-radius: 0;
    }

    #modalProdutoDetalhes .modal-body {
        -webkit-overflow-scrolling: touch;
    }

    .product-detail-close {
        width: 44px;
        height: 44px;
    }

    .product-detail-grid {
        align-content: start;
        min-height: 0;
    }
}

/* Celular deitado: imagem ao lado do texto, limitada à altura da tela. */
@media (min-width: 576px) and (max-height: 575.98px) {
    .product-detail-grid {
        grid-template-columns: minmax(0, 42%) 1fr;
    }

    .product-detail-image-wrap,
    .product-detail-image-wrap img {
        min-height: 0;
        max-height: 80vh;
    }

    .product-detail-info {
        justify-content: flex-start;
    }

    .product-detail-title {
        padding-right: 3rem;
    }
}

/* Cardápio contemporâneo compartilhado por cliente e administrador. */
.cardapio-container {
    --menu-border: #e4e7ec;
    --menu-muted: #667085;
    --menu-surface: #fff;
}

.cardapio-filters {
    position: relative;
    margin-bottom: 1rem !important;
    padding: clamp(1rem, 2.5vw, 1.65rem);
    overflow: hidden;
    border: 1px solid var(--menu-border);
    border-radius: 18px;
    background:
        radial-gradient(circle at 100% 0, color-mix(in srgb, var(--cor-principal) 10%, transparent), transparent 18rem),
        linear-gradient(135deg, #fff, #fafbfc);
    box-shadow: 0 12px 34px rgba(16,24,40,.07);
}

.cardapio-filters::after {
    position: absolute;
    top: -52px;
    right: -42px;
    width: 150px;
    height: 150px;
    border: 1px solid color-mix(in srgb, var(--cor-principal) 13%, transparent);
    border-radius: 50%;
    content: "";
    pointer-events: none;
}

.cardapio-heading { position: relative; z-index: 1; }
.cardapio-title { color: #101828; font-family: var(--rd-font-display); font-size: clamp(1.55rem, 3vw, 2.25rem); font-weight: 750; letter-spacing: -.03em; }
.cardapio-subtitle { color: var(--menu-muted); font-size: .875rem; }

.cardapio-filters > .row > .d-flex:last-child { position: relative; z-index: 2; padding: .35rem; border: 1px solid var(--menu-border); border-radius: 12px; background: rgba(255,255,255,.92); box-shadow: 0 4px 14px rgba(16,24,40,.055); }
.cardapio-filters .search-box { position: relative; }
.cardapio-filters .search-box > i { position: absolute; z-index: 2; top: 50%; left: .9rem; color: #98a2b3; transform: translateY(-50%); }
.cardapio-filters .search-box .form-control { min-height: 46px; padding-left: 2.55rem; border: 0; background: transparent; box-shadow: none; }
.cardapio-filters #limparBusca { min-width: 82px; border: 0; border-radius: 9px; color: #475467; background: #f2f4f7; font-weight: 700; }

.cardapio-container > .alert-info { border-color: color-mix(in srgb, var(--cor-principal) 18%, #e4e7ec); background: color-mix(in srgb, var(--cor-principal) 6%, #fff); color: #344054; }

.cardapio-container .categorias-sticky-wrapper {
    padding: .6rem;
    border: 1px solid var(--menu-border);
    border-radius: 14px;
    background: rgba(255,255,255,.92);
    box-shadow: 0 5px 18px rgba(16,24,40,.06);
    backdrop-filter: blur(14px);
}

.cardapio-container .categorias-sticky-wrapper.is-sticky { background: rgba(255,255,255,.96); box-shadow: 0 10px 30px rgba(16,24,40,.13); }
.cardapio-container .categorias-scroll { gap: .45rem; padding-bottom: 0; scrollbar-width: none; }
.cardapio-container .categorias-scroll::-webkit-scrollbar { display: none; }
.cardapio-container .btn-categoria { min-height: 40px; padding: .48rem .9rem; border: 1px solid transparent; border-radius: 999px; background: #f2f4f7; color: #475467; font-size: .84rem; font-weight: 700; transition: color .16s ease, background-color .16s ease, transform .16s ease, box-shadow .16s ease; }
.cardapio-container .btn-categoria:hover { color: #101828; background: #e9edf2; transform: translateY(-1px); }
.cardapio-container .btn-categoria.active { border-color: var(--cor-principal); background: var(--cor-principal); color: var(--cor-sobre-principal, #fff); box-shadow: 0 6px 16px color-mix(in srgb, var(--cor-principal) 20%, transparent); }

.cardapio-container .categoria-secao { margin-bottom: clamp(1.75rem, 4vw, 3rem); }
.cardapio-container .categoria-secao-titulo { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .9rem; padding: 0 .1rem .7rem; border: 0; border-bottom: 1px solid var(--menu-border); color: #101828; font-family: var(--rd-font-display); font-size: 1.08rem; font-weight: 700; }
.cardapio-container .categoria-secao-titulo > span { display: inline-flex; align-items: center; }
.cardapio-container .categoria-secao-titulo i { color: var(--cor-principal); }
.cardapio-container .categoria-secao-titulo small { flex: 0 0 auto; padding: .22rem .55rem; border-radius: 999px; background: #f2f4f7; color: var(--menu-muted); font-family: var(--rd-font-sans, sans-serif); font-size: .68rem; font-weight: 750; }

.cardapio-container .product-card {
    height: 100%;
    overflow: hidden;
    border: 1px solid var(--menu-border);
    border-radius: 15px;
    background: var(--menu-surface);
    box-shadow: 0 4px 16px rgba(16,24,40,.055);
    cursor: pointer;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.cardapio-container .product-card:hover { border-color: color-mix(in srgb, var(--cor-principal) 34%, #d0d5dd); box-shadow: 0 14px 32px rgba(16,24,40,.11); transform: translateY(-3px); }
.cardapio-container .product-image { overflow: hidden; background: #f2f4f7; }
.cardapio-container .product-image img { transition: transform .35s ease; }
.cardapio-container .product-card:hover .product-image img { transform: scale(1.035); }
.cardapio-container .product-card .card-body { padding: .9rem; }
.cardapio-container .product-name { margin-bottom: .3rem; color: #101828; font-size: .98rem; font-weight: 750; line-height: 1.3; }
.cardapio-container .product-card .product-description { color: var(--menu-muted); font-size: .8rem; line-height: 1.45; }
.cardapio-container .product-footer { align-items: end; gap: .65rem; }
.cardapio-container .product-price { margin: 0; }
.cardapio-container .price-atual { color: #101828; font-size: 1.05rem; font-weight: 800; letter-spacing: -.02em; }
.cardapio-container .cart-action-button { min-height: 42px; border-radius: 10px; font-weight: 750; }
.cardapio-container .cart-quantity-control { min-height: 42px; border-radius: 10px; background: color-mix(in srgb, var(--cor-principal) 8%, #fff); border-color: color-mix(in srgb, var(--cor-principal) 18%, #fff); }
.cardapio-container .product-card > .card-body .badge[title="Somente visualização"] { margin: 0; padding: .45rem .65rem; border-radius: 9px; background: #f2f4f7 !important; color: #475467 !important; font-weight: 700; }

.cardapio-container #nenhumResultadoBusca .alert,
.cardapio-container > .col-12 .alert { border: 1px dashed #d0d5dd; border-radius: 16px; background: #fafbfc; color: #667085; }

@media (min-width: 1200px) {
    .cardapio-container .produto-item { width: 33.333333%; }
    .cardapio-container .product-card { display: grid; grid-template-columns: 148px minmax(0, 1fr); }
    .cardapio-container .product-image { min-height: 176px; height: 100%; border-radius: 0; aspect-ratio: auto; }
    .cardapio-container .product-card .card-body { min-width: 0; padding: 1rem; }
    .cardapio-container .card-cart-action { min-width: 108px; }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
    .cardapio-container .produto-item { width: 50%; }
    .cardapio-container .product-card { display: grid; grid-template-columns: 138px minmax(0, 1fr); }
    .cardapio-container .product-image { min-height: 166px; height: 100%; border-radius: 0; aspect-ratio: auto; }
    .cardapio-container .product-card .card-body { min-width: 0; }
}

@media (max-width: 575.98px) {
    .cardapio-filters { padding: 1rem; border-radius: 14px; }
    .cardapio-title { font-size: 1.5rem; }
    .cardapio-filters > .row > .d-flex:last-child { gap: .25rem !important; padding: .25rem; }
    .cardapio-filters .search-box .form-control { min-height: 42px; font-size: .88rem; }
    .cardapio-filters #limparBusca { min-width: 66px; padding-inline: .55rem; }
    .cardapio-container .categorias-sticky-wrapper { margin-inline: -.15rem; padding: .48rem; border-radius: 12px; }
    .cardapio-container .btn-categoria { min-height: 38px; padding: .42rem .78rem; font-size: .8rem; }
    .cardapio-container .categoria-secao-titulo { font-size: 1rem; }
    .cardapio-container .product-card { height: 148px; margin-bottom: 0; overflow: hidden; border-radius: 13px; }
    .cardapio-container .product-image { width: 128px; min-width: 128px; height: 100%; border-radius: 0; aspect-ratio: auto; }
    .cardapio-container .product-card .card-body { min-width: 0; padding: .75rem; }
    .cardapio-container .product-name { font-size: .9rem; -webkit-line-clamp: 1; }
    .cardapio-container .product-card .product-description { min-height: 1.15rem; max-height: 1.15rem; font-size: .74rem; -webkit-line-clamp: 1; }
    .cardapio-container .product-footer { grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: .4rem; }
    .cardapio-container .card-cart-action { width: 42px; min-width: 42px; }
    .cardapio-container .cart-action-button { width: 42px; min-height: 40px; padding: 0; }
    .cardapio-container .cart-quantity-control { position: absolute; right: .6rem; bottom: .6rem; width: 118px; background: #fff; box-shadow: 0 7px 18px rgba(16,24,40,.14); }
    .cardapio-container .product-price-promo { padding: .35rem .42rem; }
    .cardapio-container .product-price-promo .promo-tag { display: none; }
}

/* Estados vazios: o que vai aparecer aqui e o próximo passo. */
.cardapio-vazio { display: grid; justify-items: center; gap: .6rem; max-width: 30rem; margin: 3.5rem auto 2.5rem; padding: 0 1rem; text-align: center; }
.cardapio-vazio-icone { width: 56px; height: 56px; display: grid; place-items: center; border-radius: 50%; background: color-mix(in srgb, var(--cor-principal) 10%, #fff); color: var(--cor-principal); font-size: 1.5rem; }
.cardapio-vazio h2 { margin: .25rem 0 0; color: #101828; font-family: var(--rd-font-display); font-size: 1.35rem; letter-spacing: -.02em; text-wrap: balance; }
.cardapio-vazio p { margin: 0; color: #5d6676; text-wrap: pretty; }
.cardapio-vazio .btn { margin-top: .4rem; }
