/* ============================================
   Rosario Ya - Mobile safety layer
   Last-loaded guardrails for Chrome Android scroll/repaint stability.
   ============================================ */

html,
body {
    max-width: 100%;
    overflow-x: hidden;
}

body {
    touch-action: pan-y;
    overscroll-behavior-x: none;
}

img,
svg,
video,
canvas {
    max-width: 100%;
}

button,
a,
input,
select,
textarea {
    -webkit-tap-highlight-color: transparent;
}

@media (hover: none) and (pointer: coarse) {
    .btn-filtro:hover,
    .card:hover,
    .btn-menu:hover,
    .botones .btn:hover,
    .btn-agregar-negocio:hover {
        transform: none !important;
        box-shadow: none;
    }
}

@media (max-width: 768px) {
    .hero-rosarioya,
    .hero-rosarioya *,
    #carritosGrid,
    #carritosGrid *,
    .filtros,
    .buscador-box,
    .app-surface,
    .app-surface *,
    .app-panel,
    .app-panel *,
    .app-banner,
    .app-banner *,
    .pwa-install-panel,
    .pwa-install-panel *,
    .stats-panel,
    .stats-panel *,
    .metric-card,
    .metric-card *,
    .data-table-wrap {
        backface-visibility: visible !important;
        -webkit-backface-visibility: visible !important;
        filter: none !important;
        -webkit-filter: none !important;
        perspective: none !important;
        transform-style: flat !important;
        will-change: auto !important;
    }

    #carritosGrid .card,
    #carritosGrid .card-body,
    #carritosGrid .card-header,
    #carritosGrid .botones,
    #carritosGrid .btn-menu,
    .app-surface,
    .app-panel,
    .app-banner,
    .pwa-install-panel,
    .stats-panel,
    .metric-card,
    .data-table-wrap {
        transform: none !important;
        -webkit-transform: none !important;
    }

    #carritosGrid .card::before,
    #carritosGrid .card::after,
    #carritosGrid .horario-container::after {
        display: none !important;
        content: none !important;
    }

    #carritosGrid .card {
        isolation: isolate;
        overflow: hidden;
        contain: none;
    }

    #carritosGrid .btn-menu,
    #carritosGrid .botones .btn,
    .btn-filtro {
        transition: background-color .16s ease, border-color .16s ease, color .16s ease;
    }

    .carrito-flotante,
    .modal-local-cta {
        transform: none !important;
        -webkit-transform: none !important;
    }
}
/* Pedido web: menu usable en pantallas angostas */
.modal-local,
.modal-local-content,
#tab-menu {
    max-width: 100vw !important;
    overflow-x: hidden !important;
}

.modal-local .runtime-menu-item,
.runtime-menu-item {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(88px, auto) !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    min-width: 0 !important;
}

.modal-local .runtime-menu-item:has(.foto-producto),
.runtime-menu-item:has(.foto-producto) {
    grid-template-columns: 64px minmax(0, 1fr) minmax(88px, auto) !important;
    align-items: center !important;
}

.modal-local .runtime-menu-item .foto-producto,
.runtime-menu-item .foto-producto {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 64px !important;
    height: 64px !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    border-radius: 14px !important;
    align-self: center !important;
}

.modal-local .runtime-menu-item:has(.foto-producto) .menu-item-info,
.runtime-menu-item:has(.foto-producto) .menu-item-info {
    grid-column: 2 !important;
}

.modal-local .runtime-menu-actions,
.runtime-menu-actions {
    grid-column: 2 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    width: auto !important;
    min-width: 88px !important;
    max-width: 100% !important;
}

.modal-local .runtime-menu-actions .precio,
.runtime-menu-actions .precio {
    white-space: nowrap !important;
    font-size: .95rem !important;
}

.modal-local .runtime-menu-actions .btn-agregar,
.runtime-menu-actions .btn-agregar {
    display: inline-flex !important;
    flex: 0 0 34px !important;
    width: 34px !important;
    height: 34px !important;
    align-items: center !important;
    justify-content: center !important;
}

@media (max-width: 420px) {
    .modal-local .runtime-menu-item,
    .runtime-menu-item {
        grid-template-columns: minmax(0, 1fr) minmax(78px, auto) !important;
        gap: 8px !important;
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    .modal-local .runtime-menu-item:has(.foto-producto),
    .runtime-menu-item:has(.foto-producto) {
        grid-template-columns: 52px minmax(0, 1fr) minmax(78px, auto) !important;
    }

    .modal-local .runtime-menu-item .foto-producto,
    .runtime-menu-item .foto-producto {
        width: 52px !important;
        height: 52px !important;
        border-radius: 12px !important;
    }

    .modal-local .runtime-menu-actions,
    .runtime-menu-actions {
        min-width: 78px !important;
        gap: 6px !important;
    }

    .modal-local .runtime-menu-actions .btn-agregar,
    .runtime-menu-actions .btn-agregar {
        flex-basis: 32px !important;
        width: 32px !important;
        height: 32px !important;
    }
}
