/* =========================================
   PIO WEB V8
   HoJA DE ESTILOS PRINCIPAL
========================================= */


/* =========================================
   RESET BÁSICO
========================================= */

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    overflow-y: scroll;
}

body {
    margin: 0;
    position: relative;
    isolation: isolate;
    font-family: Arial, Helvetica, sans-serif;
    background: #f7f3ed;
    color: #333;
    line-height: 1.5;
}

body.menu-page {
    background: #f7f3ed;
}


body.menu-page > *:not(script):not(.cart-overlay):not(.cart-drawer):not(.fab-chicken-container):not(.product-modal) {
    position: relative;
    z-index: 1;
}

body.cart-open {
    overflow: hidden;
}

button,
input,
textarea {
    font: inherit;
}

button {
    cursor: pointer;
}


/* =========================================
   CABECERA
========================================= */

header {
    text-align: center;
    background: #ffffff;
    padding-bottom: 25px;
}

header>img {
    display: block;
    width: 100%;
    height: auto;
}


/* =========================================
   BOTÓN DE LLAMADA EN CABECERA
========================================= */

.llamada-centro {
    display: flex;
    justify-content: center;
    padding: 20px 15px 0;
}

.cta-grande {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 15px;

    background: #e67e22;
    color: #ffffff;

    padding: 14px 24px;
    border-radius: 12px;

    text-decoration: none;
    font-size: 1.15rem;
    font-weight: bold;

    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.18);

    transition:
        background 0.25s ease,
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.cta-grande:hover {
    background: #c0392b;
    transform: scale(1.04);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.28);
}

.cta-grande .icono-llamada {
    width: 80px;
    height: 80px;
    object-fit: contain;
    flex-shrink: 0;
}


/* =========================================
   SECCIONES
========================================= */

.section {
    width: 92%;
    max-width: 1400px;
    margin: 0 auto;
    padding: 45px 0;
}

.section h2 {
    margin: 0 0 28px;
    text-align: center;
    color: #c0392b;
    font-size: 2rem;
    line-height: 1.2;
}

.subtitulo-seccion {
    margin: -15px 0 28px;
    text-align: center;
    color: #666;
    line-height: 1.6;
}


/* =========================================
   SUBTÍTULO DE PRODUCTO
   Ej.: "Búlgara, más bien"
========================================= */

.subtitulo-producto {
    margin: -2px 0 10px;
    font-size: 0.95rem;
    font-style: italic;
    color: #777;
}


/* =========================================
   GRID GENERAL
   4 TARJETAS POR FILA
========================================= */

.menu-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
    align-items: stretch;
}


/* =========================================
   GRID DE 5 COLUMNAS
   RACIONES
========================================= */

.menu-grid.grid-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}


/* =========================================
   TARJETAS
========================================= */

.card {
    background: #ffffff;

    border-radius: 10px;
    padding: 14px;

    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.10);

    display: flex;
    flex-direction: column;

    overflow: hidden;

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;

    cursor: pointer;
}

.card:focus-visible {
    outline: 3px solid #c0392b;
    outline-offset: 3px;
}

.card:hover {
    transform: translateY(-3px);
    box-shadow: 0 7px 16px rgba(0, 0, 0, 0.16);
}


/* =========================================
   IMÁGENES DE PRODUCTO
========================================= */

.card img {
    width: 100%;
    height: 180px;

    object-fit: cover;

    border-radius: 7px;

    display: block;
}


/* =========================================
   EFECTO ZOOM EN IMÁGENES
========================================= */

.zoom-img {
    transition: transform 0.3s ease;
}

.zoom-img:hover {
    transform: scale(1.08);
}


/* =========================================
   TEXTOS DE LAS TARJETAS
========================================= */

.card h3 {
    margin: 15px 0 8px;

    color: #333;

    font-size: 1.05rem;
    line-height: 1.35;
}

.card p {
    margin: 0;

    color: #555;

    flex-grow: 1;
}

.product-modal {
    width: min(65vw, 750px);
    max-height: 92svh;
    overflow: auto;
    padding: 0;
    border: 0;
    border-radius: 28px;
    color: #333;
    box-shadow: 0 24px 70px rgba(0, 0, 0, .32);
}

.product-modal::backdrop {
    background: rgba(25, 20, 17, .56);
}

.product-modal-close {
    position: absolute;
    top: 20px;
    right: 22px;
    z-index: 2;
    width: 64px;
    height: 64px;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, .92);
    color: #333;
    font-size: 2.8rem;
    line-height: 1;
}

.product-modal-media {
    margin: 0;
}

.product-modal-media img {
    display: block;
    width: 100%;
    height: min(35svh, 350px);
    object-fit: cover;
}

.product-modal h2 { margin: 0; color: #333; font-size: clamp(1.75rem, 3vw, 2.6rem); }
.product-modal-category { margin: 0 0 8px; color: #8d4c16; font-size: 1rem; font-weight: 700; text-transform: capitalize; }
.product-modal-price { margin: 12px 0 20px; color: #c0392b; font-size: 1.75rem; font-weight: 800; }
.product-modal-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-top: 0;
    padding: 26px 48px 38px;
}

.product-modal-actions > .add-to-cart {
    min-height: 72px;
    flex: 1;
    font-size: 1.35rem;
}

.product-modal-content {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(190px, 250px);
    gap: 36px;
    align-items: end;
    padding: 34px 48px 0;
}

.product-modal-copy > [data-product-modal-description] {
    font-size: clamp(1rem, 1.8vw, 1.35rem);
    line-height: 1.55;
}

.product-modal-allergens {
    align-self: end;
    padding: 12px;
    border: 1px solid #eadfd5;
    border-radius: 14px;
    background: #fbf7f2;
}

.product-modal-allergens > strong {
    display: block;
    margin-bottom: 9px;
    color: #63574e;
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.product-modal-allergen-icons {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 7px;
}

.allergen-icon {
    display: inline-flex;
    width: 46px;
    height: 46px;
    overflow: hidden;
    border-radius: 9px;
    background: #ffffff;
}

.allergen-icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.allergen-table {
    width: min(92%, 590px);
    margin: 72px auto 24px;
    padding: clamp(18px, 3vw, 36px);
    border-radius: 24px;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 18px 48px rgba(64, 43, 27, .12);
    text-align: center;
}

.allergen-table h2 {
    margin: 0 0 22px;
    color: #333;
    font-size: clamp(1.55rem, 3vw, 2.35rem);
}

.allergen-table img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 16px;
}

.allergen-table p {
    margin: 20px 0 0;
    color: #5d5148;
    font-size: .92rem;
}

@media (max-width: 560px) {
    .product-modal {
        width: min(94vw, 1300px);
        border-radius: 20px;
    }

    .product-modal-close {
        top: 12px;
        right: 12px;
        width: 48px;
        height: 48px;
        font-size: 2.2rem;
    }

    .product-modal-media img {
        height: min(40svh, 300px);
    }

    .product-modal-content {
        grid-template-columns: 1fr;
        gap: 16px;
        padding: 24px 22px 0;
    }

    .product-modal-allergens {
        width: 100%;
    }

    .product-modal-allergen-icons {
        justify-content: flex-start;
    }

    .product-modal-actions {
        padding: 22px;
        gap: 14px;
    }

    .product-modal-actions > .add-to-cart {
        min-height: 58px;
        font-size: 1rem;
    }

    .allergen-table {
        margin-top: 46px;
        border-radius: 18px;
    }
}

/* =========================================
   BARRA DE PEDIDO Y BOTONES DE PRODUCTO
========================================= */

.order-toolbar {
    position: sticky;
    top: 0;
    z-index: 800;
    background: rgba(255, 255, 255, 0.96);
    border-top: 1px solid #eeeeee;
    border-bottom: 1px solid #e7ded4;
    box-shadow: 0 5px 18px rgba(51, 51, 51, 0.08);
    backdrop-filter: blur(10px);
}

.order-toolbar-inner {
    width: 92%;
    max-width: 1400px;
    min-height: 72px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.order-toolbar p {
    margin: 0;
    color: #4a4038;
}

.category-nav-wrapper {
    width: 100%;
    overflow-x: auto;
    padding: 10px 16px 14px;
    border-top: 1px solid #f0e6dc;
    background: #ffffff;
    scrollbar-width: thin;
    scrollbar-color: #d9cdc2 transparent;
    -webkit-overflow-scrolling: touch;
}

.category-nav-wrapper::-webkit-scrollbar { height: 4px; }
.category-nav-wrapper::-webkit-scrollbar-track { background: transparent; }
.category-nav-wrapper::-webkit-scrollbar-thumb { background: #d9cdc2; border-radius: 999px; }

.category-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: max-content;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0;
    list-style: none;
}

.category-nav li { margin: 0; padding: 0; }

.category-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 18px;
    border-radius: 999px;
    background: #f5efe6;
    color: #4a4038;
    box-shadow: 0 2px 6px rgba(0, 0, 0, .04);
    font-size: .94rem;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
    transition: background .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.category-pill:hover {
    background: #e8dfd5;
    color: #1d1b19;
    box-shadow: 0 4px 10px rgba(0, 0, 0, .08);
    transform: translateY(-1px);
}

.category-pill.is-active {
    background: #c83e2b;
    color: #ffffff;
    box-shadow: 0 4px 14px rgba(200, 62, 43, .35);
}

.pill-icon { font-size: 1.05rem; line-height: 1; }

@media (max-width: 900px) {
    .category-nav { justify-content: flex-start; }
}

.home-link {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    padding: 0 16px;
    border: 1px solid #d9cdc2;
    border-radius: 10px;
    color: #4a4038;
    font-weight: 700;
    text-decoration: none;
    background: #ffffff;
}

.home-link:hover {
    border-color: #c0392b;
    color: #c0392b;
}

.home-link:focus-visible {
    outline: 3px solid #2057d4;
    outline-offset: 3px;
}

.cart-trigger,
.add-to-cart,
.submit-order {
    border: 0;
    border-radius: 10px;
    background: #c0392b;
    color: #ffffff;
    font-weight: 700;
    transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.cart-trigger {
    min-height: 44px;
    padding: 10px 16px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
    box-shadow: 0 4px 10px rgba(192, 57, 43, 0.22);
}

.cart-count {
    min-width: 23px;
    height: 23px;
    padding: 0 6px;
    border-radius: 999px;
    display: inline-grid;
    place-items: center;
    background: #ffffff;
    color: #c0392b;
    font-size: 0.78rem;
}

.add-to-cart {
    width: 100%;
    min-height: 42px;
    margin-top: auto;
    padding: 10px 14px;
}

.card p + .add-to-cart {
    margin-top: 16px;
}

.add-to-cart.is-added {
    background: #287a50;
}

.cart-trigger:hover,
.add-to-cart:hover,
.submit-order:hover:not(:disabled) {
    background: #962d22;
    transform: translateY(-1px);
    box-shadow: 0 6px 14px rgba(150, 45, 34, 0.22);
}

.cart-trigger:focus-visible,
.add-to-cart:focus-visible,
.submit-order:focus-visible,
.cart-close:focus-visible,
.quantity-control button:focus-visible,
.order-form input:focus-visible,
.order-form select:focus-visible,
.order-form textarea:focus-visible {
    outline: 3px solid rgba(230, 126, 34, 0.45);
    outline-offset: 2px;
}

/* =========================================
   CARRITO LATERAL
========================================= */

.cart-overlay {
    position: fixed !important;
    inset: 0 !important;
    z-index: 99998 !important;
    background: rgba(18, 14, 12, .72) !important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.cart-drawer {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    z-index: 99999 !important;
    width: min(480px, 100vw) !important;
    height: 100dvh !important;
    display: flex !important;
    flex-direction: column !important;
    background: #ffffff !important;
    box-shadow: -20px 0 60px rgba(0, 0, 0, .4) !important;
    transform: translateX(105%) !important;
    visibility: hidden !important;
    transition: transform .3s cubic-bezier(.16, 1, .3, 1), visibility .3s !important;
}

.cart-drawer.is-open {
    transform: translateX(0) !important;
    visibility: visible !important;
}

.fab-chicken-container {
    position: fixed !important;
    right: 28px !important;
    bottom: 28px !important;
    z-index: 99990 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    gap: 14px !important;
    pointer-events: auto !important;
}

.fab-chicken-trigger {
    position: relative !important;
    display: grid !important;
    place-items: center !important;
    width: 68px !important;
    height: 68px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: linear-gradient(135deg, #ffffff, #f7f3ed) !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .3), 0 0 0 3px rgba(255, 255, 255, .9) !important;
    cursor: pointer !important;
    transition: transform .25s cubic-bezier(.16, 1, .3, 1), box-shadow .25s ease !important;
}

.fab-chicken-trigger:hover {
    transform: scale(1.08) !important;
    box-shadow: 0 14px 36px rgba(0, 0, 0, .38), 0 0 0 4px #ffffff !important;
}

.fab-chicken-img {
    position: relative !important;
    z-index: 2 !important;
    width: 54px !important;
    height: 54px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .15) !important;
}

.yellow-wave-ring {
    position: absolute !important;
    inset: -6px !important;
    z-index: 1 !important;
    border: 3px solid #ffd700 !important;
    border-radius: 50% !important;
    box-shadow: 0 0 18px #ffd700, inset 0 0 10px #ffcc00 !important;
    animation: yellow-pulse-wave 2.2s infinite cubic-bezier(.215, .61, .355, 1) !important;
    pointer-events: none !important;
}

.yellow-wave-ring--delay { animation-delay: 1.1s !important; }

@keyframes yellow-pulse-wave {
    0% { transform: scale(.9); opacity: .95; }
    70% { transform: scale(1.6); opacity: 0; }
    100% { transform: scale(1.75); opacity: 0; }
}

.fab-pills-menu {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    gap: 12px !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(18px) scale(.9) !important;
    transition: opacity .25s ease, transform .25s cubic-bezier(.16, 1, .3, 1), visibility .25s !important;
    pointer-events: none !important;
}

.fab-chicken-container.is-active .fab-pills-menu {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) scale(1) !important;
    pointer-events: auto !important;
}

.fab-pill {
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    min-height: 48px !important;
    padding: 11px 22px !important;
    border: 0 !important;
    border-radius: 999px !important;
    box-shadow: 0 10px 28px rgba(0, 0, 0, .28) !important;
    font-size: .96rem !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    cursor: pointer !important;
}

.fab-pill--phone {
    border: 1px solid rgba(255, 255, 255, .15) !important;
    background: linear-gradient(135deg, #24201d, #14110f) !important;
    color: #ffffff !important;
}

.fab-pill--cart {
    border: 1px solid rgba(255, 255, 255, .2) !important;
    background: linear-gradient(135deg, #d9432f, #b32b1b) !important;
    color: #ffffff !important;
}

.fab-pill-icon {
    display: inline-grid !important;
    place-items: center !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, .2) !important;
}

.fab-cart-badge {
    margin-left: 2px !important;
    background: #ffffff !important;
    color: #c83e2b !important;
    font-weight: 800 !important;
}

.cart-header {
    padding: 22px 24px 18px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    border-bottom: 1px solid #eadfd5;
}

.cart-kicker {
    margin: 0 0 2px;
    color: #777;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.cart-header h2 {
    margin: 0;
    color: #c0392b;
    font-size: 1.65rem;
}

.cart-close {
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 50%;
    background: #f4eee8;
    color: #333333;
    font-size: 1.8rem;
    line-height: 1;
}

.cart-content {
    min-height: 0;
    padding: 0 24px 28px;
    overflow-y: auto;
}

.cart-empty {
    margin: 28px 0;
    padding: 18px;
    border: 1px dashed #d7c6b7;
    border-radius: 10px;
    color: #666666;
    text-align: center;
}

.cart-items {
    margin: 0;
    padding: 0;
    list-style: none;
}

.cart-list-actions {
    display: flex;
    justify-content: flex-end;
    padding-top: 10px;
}

.clear-cart {
    padding: 6px 0;
    border: 0;
    background: transparent;
    color: #a23228;
    font-size: 0.86rem;
    font-weight: 700;
    text-decoration: underline;
}

.clear-cart:hover {
    color: #781f18;
}

.cart-item {
    padding: 18px 0;
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr) auto;
    gap: 13px;
    align-items: start;
    border-bottom: 1px solid #eee5dd;
}

.cart-item img {
    width: 72px;
    height: 72px;
    border-radius: 8px;
    object-fit: cover;
}

.cart-item-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.cart-item-info > span {
    color: #777777;
    font-size: 0.82rem;
}

.cart-line-total {
    white-space: nowrap;
    font-size: 0.9rem;
}

.quantity-control {
    margin-top: 8px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.quantity-control button {
    min-width: 30px;
    height: 30px;
    border: 1px solid #d8cbc0;
    border-radius: 7px;
    background: #ffffff;
    color: #333333;
    font-weight: 700;
}

.quantity-control .remove-item {
    width: auto;
    margin-left: 3px;
    padding: 0 5px;
    border: 0;
    color: #a23228;
    font-size: 0.76rem;
    text-decoration: underline;
}

.cart-summary {
    padding: 20px 0 10px;
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    font-size: 1.15rem;
}

.cart-summary strong {
    color: #c0392b;
    font-size: 1.45rem;
}

.rice-notice,
.pickup-copy {
    margin: 8px 0 20px;
    padding: 11px 12px;
    border-radius: 8px;
    background: #f8f0e8;
    color: #665244;
    font-size: 0.82rem;
}

.order-form {
    padding-top: 20px;
    border-top: 1px solid #e7ded4;
}

.order-form h3 {
    margin: 0 0 16px;
    color: #333333;
}

.order-form label {
    display: block;
    margin: 12px 0 5px;
    color: #403832;
    font-size: 0.9rem;
    font-weight: 700;
}

.order-form label span {
    color: #777777;
    font-weight: 400;
}

.order-form input,
.order-form select,
.order-form textarea {
    width: 100%;
    padding: 11px 12px;
    border: 1px solid #ccbfb4;
    border-radius: 8px;
    background: #ffffff;
    color: #333333;
}

.order-form select {
    min-height: 44px;
}

.order-form input[aria-invalid="true"],
.order-form select[aria-invalid="true"] {
    border-color: #b3261e;
}

.order-form select:disabled,
.pickup-time-control.is-blocked,
.order-form select.is-blocked {
    cursor: not-allowed;
    opacity: 0.62;
}

.schedule-notice,
.extension-notice {
    margin: 8px 0 14px;
    padding: 10px 12px;
    border-radius: 8px;
    background: #fff5df;
    color: #6c4b18;
    font-size: 0.8rem;
    line-height: 1.45;
}

.schedule-notice.is-blocked {
    background: #f7e4e1;
    color: #8d2b24;
    font-weight: 700;
}

.order-form.is-schedule-blocked input:not(#pickup-date),
.order-form.is-schedule-blocked select,
.order-form.is-schedule-blocked textarea,
.order-form.is-schedule-blocked .submit-order {
    filter: grayscale(1);
    opacity: 0.48;
}

.order-form.is-schedule-blocked #pickup-date {
    border-color: #c0392b;
    box-shadow: 0 0 0 2px rgba(192, 57, 43, 0.12);
}

.extension-notice {
    background: #edf6ee;
    color: #315f37;
}

.field-error {
    min-height: 18px;
    display: block;
    color: #b3261e;
    font-size: 0.76rem;
}

.submit-order {
    width: 100%;
    min-height: 48px;
    padding: 12px 18px;
}

.submit-order:disabled {
    cursor: not-allowed;
    background: #b8aaa0;
}

.form-status {
    min-height: 24px;
    margin: 12px 0 0;
    font-size: 0.85rem;
    font-weight: 700;
}

.form-status.is-error {
    color: #a23228;
}

.form-status.is-success {
    color: #287a50;
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}


/* =========================================
   ENLACES GENERALES
========================================= */

a {
    color: #c0392b;
}

a:hover {
    color: #962d22;
}


/* =========================================
   CONTACTO
========================================= */

#contacto {
    text-align: center;
}

#contacto p {
    margin: 10px 0;
}

#contacto a {
    color: #c0392b;
    font-weight: bold;
    text-decoration: none;
}

#contacto a:hover {
    text-decoration: underline;
}


/* =========================================
   FOOTER
========================================= */

footer {
    background: #333333;
    color: #ffffff;

    text-align: center;

    padding: 25px 15px;
    margin-top: 30px;

    font-size: 0.95rem;
}

footer p {
    margin: 0;
}

.aviso-imagenes {
    margin: 10px auto 0;
    max-width: 850px;

    font-size: 0.78rem;
    line-height: 1.4;

    color: #cccccc;
}


/* =========================================
   BOTÓN FLOTANTE DE LLAMADA
========================================= */

.llamada-movil {
    position: fixed;

    right: 20px;
    bottom: 20px;

    z-index: 1000;

    display: inline-flex;

    background: #ffffff;

    border-radius: 50%;

    padding: 6px;

    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.llamada-movil img {
    width: 65px;
    height: 65px;

    object-fit: contain;

    display: block;
}

.llamada-movil:hover {
    transform: scale(1.08);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.30);
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 1024px) {

    .menu-grid,
    .menu-grid.grid-5 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .section {
        width: 94%;
    }

    .section h2 {
        font-size: 1.75rem;
    }

    .card img {
        height: 200px;
    }

    .cta-grande {
        font-size: 1.05rem;
        padding: 12px 20px;
    }

    .cta-grande .icono-llamada {
        width: 70px;
        height: 70px;
    }

}


/* =========================================
   MÓVIL
========================================= */

@media (max-width: 600px) {

    body.menu-page {
        background-image: none;
        background-position: center;
    }

    .order-toolbar-inner {
        width: 92%;
        min-height: 66px;
        gap: 8px;
    }

    .home-link {
        min-height: 40px;
        padding: 0 10px;
    }

    .order-toolbar p {
        display: none;
    }

    .order-toolbar p span {
        display: none;
    }

    .cart-trigger {
        padding: 9px 12px;
    }

    .section {
        width: 90%;
        padding: 30px 0;
    }

    .section h2 {
        font-size: 1.55rem;
        margin-bottom: 22px;
    }

    .subtitulo-seccion {
        margin: -10px 0 22px;
        font-size: 0.95rem;
    }

    .menu-grid,
    .menu-grid.grid-5 {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .card {
        padding: 12px;
    }

    .card img {
        height: 220px;
    }

    .card h3 {
        font-size: 1.05rem;
    }

    .subtitulo-producto {
        font-size: 0.9rem;
    }

    .cta-grande {
        width: 100%;

        justify-content: center;

        font-size: 1rem;

        padding: 12px 16px;

        border-radius: 10px;
    }

    .cta-grande .icono-llamada {
        width: 55px;
        height: 55px;
    }

    .llamada-movil {
        right: 14px;
        bottom: 14px;
    }

    .llamada-movil img {
        width: 56px;
        height: 56px;
    }

    .aviso-imagenes {
        font-size: 0.72rem;
        padding: 0 10px;
    }

    .cart-header,
    .cart-content {
        padding-left: 18px;
        padding-right: 18px;
    }

    .cart-item {
        grid-template-columns: 62px minmax(0, 1fr);
    }

    .cart-item img {
        width: 62px;
        height: 62px;
    }

    .cart-line-total {
        grid-column: 2;
    }

}


/* =========================================
   MÓVILES PEQUEÑOS
========================================= */

@media (max-width: 390px) {

    .section {
        width: 92%;
    }

    .card img {
        height: 190px;
    }

    .cta-grande {
        gap: 10px;
        font-size: 0.92rem;
    }

    .cta-grande .icono-llamada {
        width: 48px;
        height: 48px;
    }

}


/* =========================================
   SEO LOCAL / GEO + ACCESIBILIDAD
   Añadido sin modificar la estructura visual principal
========================================= */
.visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.local-info {
    text-align: center;
}

.local-info p {
    max-width: 960px;
    margin: 0 auto 14px;
}

.faq-section {
    max-width: 1050px;
}

.faq-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.faq-item {
    padding: 20px;
    border-radius: 14px;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 6px 20px rgba(64, 43, 27, .08);
}

.faq-item h3 {
    margin: 0 0 8px;
    color: #403A35;
    font-size: 1rem;
}

.faq-item p {
    margin: 0;
    color: #5d5148;
}

@media (max-width: 700px) {
    .faq-list { grid-template-columns: 1fr; }
}


/* =========================================
   V12 - CABECERA CARTA
========================================= */

.hero-carta {
    position: relative;
    isolation: isolate;
    width: 100%;
    aspect-ratio: 2048 / 682;
    min-height: 500px;
    overflow: hidden;
    padding: 0 !important;
    text-align: left !important;
    background-color: #f7eadb !important;
    background-image: url("images/masterportadaweb1.webp") !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-position: calc(50% - 40px) calc(50% - 40px) !important;
}
.hero-carta__shade {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(249,239,226,.08) 0%, rgba(249,239,226,.12) 36%, rgba(249,239,226,.03) 62%, rgba(249,239,226,0) 84%);
}
.hero-carta__topbar {
    position: absolute;
    z-index: 10;
    top: 1.75%;
    left: 1.4%;
    right: 1.4%;
    min-height: 78px;
    display: grid;
    grid-template-columns: minmax(300px, .95fr) 1fr auto;
    align-items: center;
    gap: clamp(18px, 2vw, 38px);
    padding: 14px clamp(24px, 3vw, 48px);
    border: 1px solid rgba(117, 72, 44, .06);
    border-radius: clamp(22px, 1.45vw, 30px);
    background: rgba(255, 252, 248, .96);
    box-shadow: 0 8px 28px rgba(69, 43, 28, .09);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}
.hero-carta__brand { justify-self:start; display:block; width:min(100%,425px); text-decoration:none !important; }
.hero-carta__brand img { display:block; width:100%; height:auto; }
.hero-carta__nav { display:flex; align-items:center; justify-content:center; gap:clamp(24px,2.15vw,46px); min-width:0; }
.hero-carta__nav a { position:relative; display:inline-flex; align-items:center; min-height:46px; padding:4px 0; color:#51382d !important; font-family:Arial, Helvetica, sans-serif; font-size:clamp(.92rem,1vw,1.18rem); font-weight:700; line-height:1; text-decoration:none !important; white-space:nowrap; }
.hero-carta__nav a:hover, .hero-carta__nav a:focus-visible, .hero-carta__nav a.is-active { color:#fb4e11 !important; }
.hero-carta__nav a.is-active::after { content:""; position:absolute; left:0; right:0; bottom:0; height:4px; border-radius:999px; background:#fb4e11; }
.hero-carta__home-btn { justify-self:end; display:inline-flex; align-items:center; justify-content:center; min-width:132px; min-height:52px; padding:12px 22px; border-radius:999px; background:#ff4d0d; color:#fff !important; box-shadow:0 8px 18px rgba(246,75,13,.22); font-family:Arial, Helvetica, sans-serif; font-size:clamp(.98rem,1.02vw,1.14rem); font-weight:800; line-height:1; text-decoration:none !important; white-space:nowrap; }
.hero-carta__home-btn:hover, .hero-carta__home-btn:focus-visible { transform:translateY(-1px); background:#e94309; color:#fff !important; }
.hero-carta__copy { position:absolute; z-index:4; top:24%; left:16.3%; width:45.5%; text-align:center; }
.hero-carta__eyebrow { margin:0 0 2.4%; color:#e3611d; font-family:Arial, Helvetica, sans-serif; font-size:clamp(.92rem,1.14vw,1.48rem); font-weight:700; line-height:1.1; letter-spacing:.22em; text-transform:uppercase; }
.hero-carta__title { margin:0 !important; width:100%; text-align:center !important; }
.hero-carta__title img { display:block; width:100%; height:auto; max-height:18.5vh; object-fit:contain; }
.hero-carta__claim { margin:1.4% 0 0; color:#4b2f25; font-family:Arial, Helvetica, sans-serif; font-size:clamp(1.55rem,2vw,3rem); font-weight:800; line-height:1.08; letter-spacing:-.02em; }
.hero-carta__underline { display:block; width:29%; height:clamp(4px,.33vw,7px); margin:1.4% auto 0; border-radius:50%; background:#ff4d0d; transform:rotate(-1deg) scaleX(.92); }

.hero-call-strip { margin:0; padding:22px 15px 18px; background:#f3f3f3; }
.hero-call-strip .cta-grande { margin:0 auto; }
.hero-categories-strip { padding:8px 18px 26px; background:#f3f3f3; }
.hero-categories-strip__inner { display:grid; grid-template-columns:repeat(5, minmax(120px,170px)); justify-content:center; gap:24px; max-width:1040px; margin:0 auto; }
.hero-category-card { display:flex; flex-direction:column; align-items:center; gap:12px; text-decoration:none !important; }
.hero-category-card__iconbox { width:140px; height:140px; display:flex; align-items:center; justify-content:center; border-radius:28px; background:linear-gradient(180deg, #ffbb2c 0%, #ff9f06 100%); box-shadow:inset 0 2px 4px rgba(255,255,255,.32), 0 10px 24px rgba(125,67,11,.20); }
.hero-category-card__iconbox svg { width:76px; height:76px; fill:none; stroke:#fff6ea; stroke-width:3.2; stroke-linecap:round; stroke-linejoin:round; filter:drop-shadow(0 2px 3px rgba(129,77,14,.28)); overflow:visible; }
.hero-category-card__iconbox svg circle { fill:#fff6ea; stroke:none; }
.hero-category-card__label { color:#5b2f18; font-family:Arial, Helvetica, sans-serif; font-size:clamp(1rem,1vw,1.18rem); font-weight:800; line-height:1.05; text-align:center; }
.hero-category-card:hover .hero-category-card__iconbox, .hero-category-card:focus-visible .hero-category-card__iconbox { transform:translateY(-3px); box-shadow:inset 0 2px 4px rgba(255,255,255,.32), 0 14px 28px rgba(125,67,11,.24); }

.order-toolbar--compact { background:#fff; border-top:1px solid #e7dfd7; border-bottom:1px solid #ece5de; }
.order-toolbar-inner--compact { justify-content:flex-end; min-height:74px; }
.order-toolbar--compact p, .order-toolbar--compact .home-link, .order-toolbar--compact .category-nav-wrapper { display:none !important; }

@media (max-width: 1260px) {
    .hero-carta { aspect-ratio:auto; min-height:680px; background-position:60% center !important; }
    .hero-carta__topbar { top:14px; left:16px; right:16px; grid-template-columns:1fr auto; grid-template-areas:"brand home" "nav nav"; row-gap:6px; padding:12px 22px 10px; }
    .hero-carta__brand { grid-area:brand; width:min(330px, 50vw); }
    .hero-carta__home-btn { grid-area:home; }
    .hero-carta__nav { grid-area:nav; justify-content:flex-start; overflow-x:auto; scrollbar-width:none; }
    .hero-carta__nav::-webkit-scrollbar { display:none; }
    .hero-carta__copy { top:29%; left:10%; width:63%; }
    .hero-categories-strip__inner { grid-template-columns:repeat(5, minmax(100px, 1fr)); gap:16px; }
    .hero-category-card__iconbox { width:120px; height:120px; }
    .hero-category-card__iconbox svg { width:64px; height:64px; }
}
@media (max-width: 900px) {
    .hero-carta { min-height:780px; background-position:63% center !important; }
    .hero-carta__topbar { grid-template-columns:1fr; grid-template-areas:"brand" "home" "nav"; justify-items:center; min-height:168px; }
    .hero-carta__brand { justify-self:center; width:min(360px, 72vw); }
    .hero-carta__home-btn { justify-self:center; min-width:min(100%, 240px); }
    .hero-carta__nav { width:100%; justify-content:center; gap:24px; }
    .hero-carta__copy { top:34%; left:6%; width:88%; padding:18px 16px; border-radius:24px; background:rgba(249,239,226,.72); backdrop-filter:blur(2px); }
    .hero-categories-strip__inner { grid-template-columns:repeat(3, 1fr); max-width:720px; }
    .hero-category-card__iconbox { width:116px; height:116px; border-radius:24px; }
}
@media (max-width: 620px) {
    .hero-carta { min-height:860px; }
    .hero-carta__topbar { padding:12px 14px; }
    .hero-carta__brand { width:min(320px, 80vw); }
    .hero-carta__nav { gap:20px; }
    .hero-carta__nav a { font-size:.94rem; }
    .hero-carta__copy { top:36%; left:4%; width:92%; }
    .hero-carta__eyebrow { font-size:.76rem; letter-spacing:.14em; }
    .hero-carta__claim { font-size:clamp(1.45rem, 6.7vw, 2.2rem); }
    .hero-categories-strip__inner { grid-template-columns:repeat(2, 1fr); gap:14px 10px; }
    .hero-category-card__iconbox { width:108px; height:108px; }
    .hero-category-card__iconbox svg { width:58px; height:58px; }
    .hero-category-card:last-child { grid-column:1 / -1; }
    .hero-call-strip { padding:18px 12px 14px; }
}


/* =========================================
   V13 - AJUSTES CABECERA Y BOTONES
========================================= */

.hero-carta__topbar {
    grid-template-columns: minmax(310px, .95fr) 1fr auto;
}

.hero-carta__nav {
    gap: clamp(26px, 2.2vw, 48px);
}

.hero-carta__home-btn {
    min-width: 156px;
    min-height: 54px;
    padding: 12px 26px;
    font-size: clamp(1rem, 1.05vw, 1.18rem);
}

.hero-carta__copy {
    top: 33%;
    left: 27%;
    width: 31.5%;
}

.hero-carta__title img {
    max-height: 21vh;
}

.hero-carta__claim {
    margin-top: 1.6%;
    font-size: clamp(1.75rem, 2.15vw, 3.25rem);
}

.hero-call-strip {
    padding: 14px 15px 12px;
}

.cta-grande {
    gap: 12px;
    padding: 10px 22px;
    border-radius: 12px;
    font-size: 1.02rem;
}

.cta-grande .icono-llamada {
    width: 58px;
    height: 58px;
}

.order-toolbar--compact {
    background: #ffffff;
    border-top: 1px solid #e7dfd7;
    border-bottom: 1px solid #ece5de;
}

.order-toolbar-inner--compact {
    width: 92%;
    max-width: 1400px;
    min-height: 74px;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
    padding: 12px 0;
}

.toolbar-category-btn {
    min-height: 48px;
    padding: 10px 16px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    border: 1px solid #ead9c7;
    border-radius: 12px;
    background: #fff7ef;
    color: #5a3a29;
    font-size: .98rem;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
    box-shadow: 0 4px 10px rgba(126, 84, 42, .08);
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease;
}

.toolbar-category-btn:hover,
.toolbar-category-btn:focus-visible {
    transform: translateY(-1px);
    background: #fff3e4;
    border-color: #e1c3a4;
    box-shadow: 0 6px 14px rgba(126, 84, 42, .12);
}

.toolbar-category-btn__icon {
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    background: linear-gradient(180deg, #ffb52a 0%, #ff9900 100%);
    box-shadow: inset 0 2px 3px rgba(255,255,255,.28), 0 2px 6px rgba(162, 92, 12, .22);
}

.toolbar-category-btn__icon svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: #fff7ec;
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
    overflow: visible;
}

.toolbar-category-btn__icon svg circle {
    fill: #fff7ec;
    stroke: none;
}

.order-toolbar--compact .cart-trigger,
.order-toolbar--compact .toolbar-category-btn {
    min-height: 48px;
}

.order-toolbar--compact .cart-trigger {
    padding: 10px 16px;
    border-radius: 12px;
    background: #2f7e4e;
    box-shadow: 0 4px 10px rgba(47,126,78,.22);
}

.order-toolbar--compact .cart-trigger:hover,
.order-toolbar--compact .cart-trigger:focus-visible {
    background: #266742;
    box-shadow: 0 6px 14px rgba(38,103,66,.24);
}

.hero-categories-strip {
    display: none !important;
}

@media (max-width: 1260px) {
    .hero-carta__copy {
        top: 37%;
        left: 22%;
        width: 43%;
    }
}

@media (max-width: 900px) {
    .hero-carta__copy {
        top: 39%;
        left: 9%;
        width: 82%;
    }

    .order-toolbar-inner--compact {
        justify-content: center;
    }
}

@media (max-width: 620px) {
    .cta-grande {
        padding: 9px 16px;
        font-size: .94rem;
    }

    .cta-grande .icono-llamada {
        width: 48px;
        height: 48px;
    }

    .toolbar-category-btn,
    .order-toolbar--compact .cart-trigger {
        width: calc(50% - 6px);
        justify-content: center;
    }

    .hero-carta__copy {
        top: 40%;
    }
}


/* =========================================
   V14 - AJUSTE FINAL SOLICITADO
========================================= */

.hero-carta {
    background-image: url("images/masterportadaweb1.webp") !important;
    background-size: cover !important;
    background-position: calc(50% - 40px) calc(50% - 40px) !important;
}

.hero-carta__topbar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 24px !important;
}

.hero-carta__brand {
    flex: 0 1 425px;
}

.hero-carta__actions {
    margin-left: auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 22px;
}

.hero-carta__nav {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 24px !important;
    width: auto !important;
    overflow: visible !important;
}

.hero-carta__home-btn {
    flex: 0 0 auto;
    min-width: 156px;
    min-height: 54px;
}

/* El bloque del título se mantiene centrado entre personaje y plato. */
.hero-carta__copy {
    top: 33%;
    left: 27%;
    width: 31.5%;
}

.hero-call-strip,
.hero-categories-strip {
    display: none !important;
}

.order-toolbar--compact {
    position: sticky;
    top: 0;
    z-index: 800;
    background: rgba(255,255,255,.97);
    border-top: 1px solid #e8dfd7;
    border-bottom: 1px solid #e8dfd7;
    box-shadow: 0 5px 18px rgba(51,51,51,.08);
    backdrop-filter: blur(10px);
}

.order-toolbar-inner--compact {
    width: min(98%, 1540px);
    max-width: 1540px;
    min-height: 72px;
    margin: 0 auto;
    padding: 10px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    flex-wrap: nowrap;
}

.toolbar-action-btn,
.order-toolbar--compact .cart-trigger {
    box-sizing: border-box;
    height: 48px !important;
    min-height: 48px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 14px !important;
    border-radius: 12px !important;
    font-family: Arial, Helvetica, sans-serif;
    font-size: .92rem;
    font-weight: 800;
    line-height: 1;
    text-decoration: none !important;
    white-space: nowrap;
    flex: 0 0 auto;
}

.toolbar-call-btn {
    background: #dc5a1d;
    border: 1px solid #dc5a1d;
    color: #fff !important;
    box-shadow: 0 4px 10px rgba(220,90,29,.20);
}

.toolbar-call-btn:hover,
.toolbar-call-btn:focus-visible {
    background: #c64d15;
    border-color: #c64d15;
    color: #fff !important;
}

.toolbar-call-btn__icon {
    width: 32px;
    height: 32px;
    object-fit: contain;
    flex: 0 0 32px;
}

.toolbar-category-btn {
    background: #fff7ef !important;
    border: 1px solid #ead9c7 !important;
    color: #5a3a29 !important;
    box-shadow: 0 4px 10px rgba(126,84,42,.08) !important;
}

.toolbar-category-btn__icon {
    width: 26px;
    height: 26px;
    flex: 0 0 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: linear-gradient(180deg,#ffb52a 0%,#ff9900 100%);
    box-shadow: inset 0 2px 3px rgba(255,255,255,.28), 0 2px 6px rgba(162,92,12,.20);
}

.toolbar-category-btn__icon svg {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: #fff7ec;
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
    overflow: visible;
}
.toolbar-category-btn__icon svg circle { fill:#fff7ec; stroke:none; }

.order-toolbar--compact .cart-trigger {
    background: #2f7e4e !important;
    border: 1px solid #2f7e4e !important;
    color: #fff !important;
    box-shadow: 0 4px 10px rgba(47,126,78,.22) !important;
}

.order-toolbar--compact .cart-trigger:hover,
.order-toolbar--compact .cart-trigger:focus-visible {
    background: #266742 !important;
    border-color: #266742 !important;
}

.order-toolbar--compact .cart-icon-shell {
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
}

@media (max-width: 1380px) {
    .order-toolbar-inner--compact {
        width: 99%;
        gap: 7px;
    }
    .toolbar-action-btn,
    .order-toolbar--compact .cart-trigger {
        padding-inline: 10px !important;
        font-size: .85rem;
    }
    .toolbar-call-btn__icon {
        width: 28px;
        height: 28px;
        flex-basis: 28px;
    }
}

@media (max-width: 1100px) {
    .hero-carta__topbar {
        flex-wrap: wrap;
    }
    .hero-carta__actions {
        width: 100%;
        justify-content: flex-end;
    }
    .order-toolbar-inner--compact {
        overflow-x: auto;
        justify-content: flex-start;
        padding-inline: 12px;
        scrollbar-width: thin;
    }
}

@media (max-width: 700px) {
    .hero-carta__actions {
        gap: 14px;
    }
    .hero-carta__nav {
        gap: 14px !important;
    }
    .hero-carta__home-btn {
        min-width: 120px;
        min-height: 48px;
    }
    .order-toolbar-inner--compact {
        flex-wrap: nowrap;
    }
}


/* =========================================
   V15 - COMPACTACION VISUAL 25%
   Mantiene jerarquía y contenido de V14.
========================================= */

/* Cabecera principal: menos altura, mismo protagonismo visual */
.hero-carta {
    aspect-ratio: auto !important;
    height: clamp(380px, 25vw, 430px) !important;
    min-height: 0 !important;
    background-size: cover !important;
    background-position: calc(50% - 40px) calc(50% - 40px) !important;
}

/* Barra superior más compacta sin reducir en exceso los textos */
.hero-carta__topbar {
    top: 8px !important;
    left: 1.4% !important;
    right: 1.4% !important;
    min-height: 64px !important;
    padding: 8px clamp(20px, 2.6vw, 42px) !important;
    border-radius: 24px !important;
    gap: 18px !important;
}

.hero-carta__brand {
    flex-basis: 390px !important;
    max-width: 390px !important;
}

.hero-carta__actions {
    gap: 16px !important;
}

.hero-carta__nav {
    gap: clamp(10px, 1vw, 20px) !important;
}

.hero-carta .hero-carta__nav a {
    min-height: 38px !important;
    font-size: clamp(.82rem, .88vw, 1rem) !important;
}

.hero-carta__home-btn {
    min-width: 142px !important;
    min-height: 46px !important;
    padding: 10px 22px !important;
    font-size: clamp(.95rem, 1vw, 1.08rem) !important;
}

/* Recolocación vertical: menos aire, sin empequeñecer el título principal */
.hero-carta__copy {
    top: 29.5% !important;
    left: 27% !important;
    width: 31.5% !important;
}

.hero-carta__eyebrow {
    margin-bottom: 1.7% !important;
}

.hero-carta__title img {
    max-height: 19vh !important;
}

.hero-carta__claim {
    margin-top: 1.1% !important;
    font-size: clamp(1.65rem, 2vw, 3rem) !important;
    line-height: 1.04 !important;
}

.hero-carta__underline {
    margin-top: 1% !important;
}

/* Barra inferior: misma altura de botón, menos aire y menos anchura desperdiciada */
.order-toolbar-inner--compact {
    width: min(99%, 1500px) !important;
    max-width: 1500px !important;
    min-height: 60px !important;
    padding: 6px 0 !important;
    gap: 6px !important;
}

.toolbar-action-btn,
.order-toolbar--compact .cart-trigger {
    height: 48px !important;
    min-height: 48px !important;
    padding: 0 10px !important;
    gap: 7px !important;
    border-radius: 11px !important;
    font-size: .89rem !important;
}

.toolbar-call-btn {
    padding-left: 9px !important;
    padding-right: 12px !important;
}

.toolbar-call-btn__icon {
    width: 28px !important;
    height: 28px !important;
    flex-basis: 28px !important;
}

.toolbar-category-btn__icon {
    width: 24px !important;
    height: 24px !important;
    flex-basis: 24px !important;
    border-radius: 7px !important;
}

.toolbar-category-btn__icon svg {
    width: 15px !important;
    height: 15px !important;
}

.order-toolbar--compact .cart-icon-shell {
    width: 26px !important;
    height: 26px !important;
    flex-basis: 26px !important;
}

/* Responsive: conservar la compacidad sin comprimir el contenido en exceso */
@media (max-width: 1380px) {
    .hero-carta {
        height: clamp(360px, 30vw, 410px) !important;
    }

    .hero-carta__brand {
        flex-basis: 350px !important;
        max-width: 350px !important;
    }

    .order-toolbar-inner--compact {
        gap: 5px !important;
    }

    .toolbar-action-btn,
    .order-toolbar--compact .cart-trigger {
        padding-inline: 8px !important;
        font-size: .82rem !important;
    }
}

@media (max-width: 1100px) {
    .hero-carta {
        height: 560px !important;
    }

    .hero-carta__topbar {
        padding: 8px 16px !important;
    }

    .hero-carta__copy {
        top: 32% !important;
        left: 17% !important;
        width: 50% !important;
    }
}

@media (max-width: 700px) {
    .hero-carta {
        height: 650px !important;
    }

    .hero-carta__brand {
        max-width: 300px !important;
    }

    .hero-carta__copy {
        top: 36% !important;
        left: 8% !important;
        width: 84% !important;
    }

    .order-toolbar-inner--compact {
        min-height: 58px !important;
        padding: 5px 8px !important;
        gap: 5px !important;
    }
}


#temporada .menu-grid {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 24px;
}
#temporada .menu-grid .card {
    flex: 0 1 calc(25% - 18px);
    min-width: 280px;
}

/* =========================================
   V10 - AJUSTES DE NAVEGACIÓN Y CONFIRMACIÓN
========================================= */

.hero-carta {
    background-position: calc(50% + 70px) calc(50% + 55px) !important;
}

.hero-carta__actions {
    min-width: 0;
}

.hero-carta__nav {
    gap: clamp(10px, 1vw, 20px) !important;
}

.hero-carta__nav a {
    font-size: clamp(.82rem, .88vw, 1rem) !important;
}

.order-toolbar-inner--compact {
    overflow-x: auto;
    scrollbar-width: thin;
}

.cart-warning {
    margin: 0 0 16px;
    padding: 13px 15px;
    border: 1px solid rgba(169, 66, 45, .18);
    border-radius: 12px;
    color: #7f3022;
    font-size: .9rem;
    font-weight: 700;
    line-height: 1.45;
    text-align: center;
}

.cart-warning--confirmation {
    background: #fff5df;
}

.cart-warning--festival {
    margin-top: 14px;
    background: #fbe8e4;
}

.order-warning {
    width: min(92vw, 620px);
    max-height: 90vh;
    overflow: auto;
    padding: clamp(22px, 4vw, 34px);
    border: 0;
    border-radius: 24px;
    background: #fffaf4;
    color: #403a35;
    box-shadow: 0 24px 70px rgba(38, 25, 18, .34);
    text-align: center;
}

.order-warning::backdrop {
    background: rgba(35, 24, 18, .66);
    backdrop-filter: blur(3px);
}

.order-warning__close {
    position: absolute;
    top: 10px;
    right: 12px;
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 50%;
    background: #fff;
    color: #8b3b25;
    font-size: 2rem;
    line-height: 1;
    box-shadow: 0 4px 14px rgba(64, 58, 53, .14);
}

.order-warning img {
    display: block;
    width: 100%;
    height: auto;
    margin: 6px auto 18px;
}

.order-warning h2 {
    margin: 0 0 8px;
    color: #a9422d;
}

.order-warning p {
    margin: 0 auto 20px;
    max-width: 46ch;
    font-size: 1.05rem;
    font-weight: 700;
}

.order-warning__accept {
    min-width: 150px;
    min-height: 46px;
    padding: 10px 22px;
    border: 0;
    border-radius: 999px;
    background: #d95f22;
    color: #fff;
    font-weight: 800;
}

@media (max-width: 1100px) {
    .hero-carta {
        background-position: 58% 60% !important;
    }

    .hero-carta__topbar {
        align-items: flex-start !important;
        flex-wrap: wrap;
    }

    .hero-carta__actions,
    .hero-carta__nav {
        width: 100% !important;
        justify-content: flex-start !important;
        overflow-x: auto !important;
    }
}

@media (max-width: 700px) {
    .hero-carta {
        background-position: 61% 62% !important;
    }

    .hero-carta__nav {
        gap: clamp(12px, 2vw, 18px) !important;
    }

    .order-warning {
        padding: 20px 16px 24px;
        border-radius: 18px;
    }
}

/* =========================================
   V12 - CARTA INFORMATIVA (encargos por teléfono)
========================================= */
#temporada .menu-grid,
#postres .menu-grid {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 24px;
}
#postres .menu-grid .card {
    flex: 0 1 calc(25% - 18px);
    min-width: 280px;
}
.is-ordering-disabled .cart-trigger,
.is-ordering-disabled .fab-pill--cart,
.is-ordering-disabled .cart-drawer,
.is-ordering-disabled .cart-overlay,
.is-ordering-disabled .product-modal-actions {
    display: none !important;
}
.product-modal-call { display: none; padding: 8px 48px 36px; }
@media (max-width: 600px) { .product-modal-call { padding: 8px 20px 24px; } }
.is-ordering-disabled .product-modal-call { display: block; }
.product-modal-call__link {
    display: flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 20px;
    border-radius: 999px; background: #D95F22; color: #ffffff !important; font-weight: 700; text-decoration: none;
}
.product-modal-call__link:hover, .product-modal-call__link:focus-visible { background: #B94B1C; }
