/* ═══════════════════════════════════════════════════════════════════════
   09 · RESPONSIVE — todos los quiebres en un solo archivo, ordenados de
   mayor a menor. Cubre el sitio público y el panel.
   ═══════════════════════════════════════════════════════════════════════ */

/* ── tablet horizontal ─────────────────────────────────────────────── */
@media (max-width: 1080px) {
    .mz-portada-slider__rejilla { grid-template-columns: 1fr; }
    .mz-slide { grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr); }
    .mz-promos-lado {
        grid-template-rows: auto;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .mz-promo { min-height: 150px; }
    .mz-heroe__rejilla { grid-template-columns: 1fr; }
    .mz-heroe__cifras { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .mz-catalogo { grid-template-columns: 240px minmax(0, 1fr); }
    .mz-ficha { grid-template-columns: 1fr; }
    .mz-trazabilidad { grid-template-columns: 1fr; }
    .mz-carrito,
    .mz-checkout { grid-template-columns: 1fr; }
    .mz-resumen { position: static; }
    .mz-panel__dos-columnas { grid-template-columns: 1fr; }
    .mz-footer__rejilla { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ── tablet vertical / móvil grande ────────────────────────────────── */
@media (max-width: 860px) {
    .mz-menu-boton { display: inline-flex; }

    /* El buscador pasa a su propio renglón, como en el template. */
    .mz-header__fila { flex-wrap: wrap; row-gap: 0.75rem; }
    .mz-buscador-grande { order: 3; flex-basis: 100%; max-width: none; }
    .mz-header__iconos { margin-left: auto; }

    .mz-topbar__enlaces { display: none; }

    .mz-slide {
        grid-template-columns: 1fr;
        gap: 0.75rem;
        padding: clamp(1.25rem, 4vw, 2rem);
        min-height: 0;
    }

    .mz-slide__imagen { max-height: 190px; justify-self: end; width: auto; }
    .mz-slide__titulo { max-width: none; }
    .mz-slider { min-height: 0; }

    .mz-nav-categorias__nosotros { display: none; }
    .mz-nav-categorias__fila { min-height: 42px; }

    .mz-catalogo { grid-template-columns: 1fr; }
    .mz-filtros { position: static; }
    .mz-ficha__columnas { grid-template-columns: 1fr; }
    .mz-dos-columnas { grid-template-columns: 1fr; }

    .mz-panel__marco { grid-template-columns: 1fr; }

    .mz-panel__menu {
        position: fixed;
        inset: 0 auto 0 0;
        width: 250px;
        transform: translateX(-100%);
        transition: transform 0.22s ease;
        z-index: 1000;
    }

    .mz-panel__menu.abierto { transform: translateX(0); }

    .mz-panel__hamburguesa { display: inline-flex; }

    .mz-footer__boletin-fila { flex-direction: column; align-items: flex-start; }
    .mz-boletin { width: 100%; }
    .mz-boletin input { flex: 1; min-width: 0; }
}

/* ── móvil ─────────────────────────────────────────────────────────── */
@media (max-width: 620px) {
    .mz-slide__titulo { font-size: 1.55rem; }
    .mz-slide__imagen { display: none; }

    .mz-promos-lado { grid-template-columns: 1fr; }
    .mz-promo { min-height: 120px; }
    .mz-promo h2 { font-size: 1.05rem; }

    .mz-beneficios__rejilla { grid-template-columns: 1fr; }

    .mz-categorias { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .mz-categoria { padding: 1rem 0.75rem; }
    .mz-categoria__icono { width: 44px; height: 44px; font-size: 1.35rem; }

    .mz-rejilla-tarjetas { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); }
    .mz-tarjeta__titulo { font-size: 0.95rem; }
    .mz-tarjeta__acciones { opacity: 1; transform: none; }

    .mz-pasos { grid-template-columns: 1fr; }
    .mz-llamado__caja { flex-direction: column; align-items: flex-start; }

    .mz-linea { grid-template-columns: 64px minmax(0, 1fr); }
    .mz-linea img { width: 64px; height: 64px; }
    .mz-linea__cantidad { grid-column: 1 / -1; }
    .mz-linea__importe { grid-column: 1 / -1; text-align: right; }
    .mz-linea__quitar { grid-column: 2; justify-self: end; }

    .mz-footer__rejilla { grid-template-columns: 1fr; }
    .mz-panel__usuario div { display: none; }

    .mz-heroe__cifras { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .mz-heroe__buscador { flex-wrap: wrap; border-radius: var(--mz-radio); padding: 0.75rem; }
    .mz-heroe__buscador input { width: 100%; }
    .mz-heroe__buscador .mz-boton { width: 100%; }
}
