
        /* ================================================================
           SUPERSWISH - V2 rapidez + comodidad de menú
           Platos más grandes, lectura clara, toques cómodos y menos trabajo
           de renderizado en móvil.
           ================================================================ */
        :root {
            --menu-img-size: clamp(118px, 18vw, 150px);
            --menu-img-size-mobile: 126px;
        }

        .main-container {
            content-visibility: auto;
            contain-intrinsic-size: 1000px;
        }

        .restaurant-card,
        .menu-item,
        .cart-item {
            content-visibility: auto;
            contain-intrinsic-size: 180px;
        }

        .menu-item {
            display: grid !important;
            grid-template-columns: var(--menu-img-size) minmax(0, 1fr) minmax(112px, auto);
            gap: 14px !important;
            align-items: center !important;
            padding: 14px !important;
            min-height: calc(var(--menu-img-size) + 28px);
            border-radius: 24px !important;
        }

        .menu-image {
            width: var(--menu-img-size) !important;
            height: var(--menu-img-size) !important;
            border-radius: 24px !important;
            object-fit: cover !important;
            flex-shrink: 0;
        }

        .menu-info h4 {
            font-size: clamp(1rem, 1.9vw, 1.18rem) !important;
            line-height: 1.15 !important;
            margin-bottom: 4px;
        }

        .menu-info p {
            font-size: clamp(.82rem, 1.5vw, .95rem) !important;
            line-height: 1.35 !important;
            color: #4b5563 !important;
        }

        .menu-price {
            font-size: clamp(1.1rem, 2vw, 1.3rem) !important;
            margin-bottom: 8px;
        }

        .add-btn {
            min-height: 44px !important;
            padding: 10px 16px !important;
            font-size: .82rem !important;
        }

        .cart-item-image {
            width: 74px !important;
            height: 74px !important;
            border-radius: 20px !important;
        }

        .restaurant-image {
            height: clamp(130px, 18vw, 160px) !important;
        }

        @media (max-width: 640px) {
            .card {
                border-radius: 22px !important;
            }
            .menu-item {
                grid-template-columns: var(--menu-img-size-mobile) minmax(0, 1fr) !important;
                gap: 12px !important;
                padding: 12px !important;
                min-height: calc(var(--menu-img-size-mobile) + 24px);
            }
            .menu-image {
                width: var(--menu-img-size-mobile) !important;
                height: var(--menu-img-size-mobile) !important;
                border-radius: 22px !important;
            }
            .menu-item > div:last-child {
                grid-column: 1 / -1;
                display: flex;
                align-items: center;
                justify-content: space-between;
                gap: 12px;
                text-align: left !important;
                padding-top: 4px;
            }
            .menu-price {
                margin-bottom: 0 !important;
                white-space: nowrap;
            }
            .add-btn {
                width: auto !important;
                min-width: 126px;
            }
            .restaurant-image {
                height: 150px !important;
            }
        }

        @media (max-width: 390px) {
            :root { --menu-img-size-mobile: 112px; }
            .menu-info p { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
            .add-btn { min-width: 112px; padding-inline: 12px !important; }
        }

        @media (hover: none), (pointer: coarse) {
            .card:hover,
            .restaurant-card:hover,
            .menu-item:hover,
            .payment-method-card:hover,
            .partner-type-card:hover {
                transform: none !important;
            }
            .particles { opacity: .45 !important; }
        }
    