/* ═══════════════════════════════════════════════════════════════════════
   05 · CATÁLOGO — cabecera de página, filtros laterales y resultados
   ═══════════════════════════════════════════════════════════════════════ */

.mz-cabecera-pagina {
    background:
        radial-gradient(circle at 85% 20%, rgba(47, 93, 58, 0.18), transparent 55%),
        var(--mz-arena);
    padding: clamp(2rem, 5vw, 3.5rem) 0;
}

.mz-cabecera-pagina--compacta { padding: 1rem 0; background: var(--mz-crema); }

.mz-cabecera-pagina--trazabilidad {
    background: linear-gradient(120deg, var(--mz-verde-oscuro), var(--mz-verde));
    color: #edf4e9;
}

.mz-cabecera-pagina--trazabilidad h1 { color: #fff; }

.mz-cabecera-pagina__codigo {
    font-family: var(--mz-titulo);
    font-size: 1.6rem;
    color: var(--mz-oro);
    letter-spacing: 0.06em;
    margin: 0;
}

.mz-migas {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.82rem;
    color: var(--mz-tinta-suave);
    margin-bottom: 0.75rem;
}

.mz-migas i { font-size: 0.65rem; }

.mz-catalogo {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 2rem;
    align-items: start;
}

.mz-filtros {
    position: sticky;
    top: 110px;
    background: #fff;
    border: 1px solid var(--mz-borde);
    border-radius: var(--mz-radio);
    padding: 1.25rem;
}

.mz-filtros__titulo { font-size: 1.05rem; margin-bottom: 1rem; }

.mz-filtros form { display: grid; gap: 1rem; }

.mz-filtro { display: grid; gap: 0.3rem; }

.mz-filtro label {
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    font-weight: 700;
    color: var(--mz-tinta-suave);
}

.mz-filtro input,
.mz-filtro select {
    padding: 0.55rem 0.7rem;
    border: 1px solid var(--mz-borde);
    border-radius: var(--mz-radio-chico);
    font-family: var(--mz-texto);
    font-size: 0.9rem;
    background: #fff;
}

.mz-filtros__limpiar {
    text-align: center;
    font-size: 0.85rem;
    color: var(--mz-tinta-suave);
}

.mz-catalogo__barra {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 1.25rem;
    font-size: 0.9rem;
    color: var(--mz-tinta-suave);
}

.mz-catalogo__barra p { margin: 0; }

.mz-catalogo__activos span { color: var(--mz-tierra); font-weight: 700; }
