.estado-vacio {
    width: 100%;
    min-height: 300px;
    display: grid;
    place-items: center;
    padding: 52px 28px;
    color: var(--texto-suave);
    background: var(--blanco);
    border: 1px solid var(--borde);
    border-radius: 18px;
    text-align: center;
}

.estado-vacio__contenido {
    width: min(100%, 620px);
}

.estado-vacio__icono {
    width: 38px;
    height: 38px;
    margin-bottom: 16px;
    color: var(--verde);
}

.estado-vacio h3 {
    margin-bottom: 10px;
    color: var(--verde-oscuro);
    font-size: clamp(21px, 2.3vw, 28px);
    line-height: 1.18;
}

.estado-vacio__descripcion {
    max-width: 560px;
    margin-inline: auto;
    font-size: 15px;
}

.estado-vacio__pregunta {
    margin: 28px 0 12px;
    color: var(--verde-oscuro);
    font-size: 14px;
    font-weight: 700;
}

.estado-vacio__cta {
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 11px 20px;
    color: var(--blanco);
    background: var(--verde);
    border-radius: 9px;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    transition: transform .2s, background .2s;
}

.estado-vacio__cta:hover {
    background: #163d24;
    transform: translateY(-1px);
}

.estado-vacio__cta:focus-visible {
    outline: 3px solid #8fac87;
    outline-offset: 4px;
}

/* En los catálogos estáticos, la presencia de una tarjeta publicada controla
   el estado vacío; el número escrito en la cabecera no interviene. */
.alojamientos-grid-vacio:has(.alojamiento-card) {
    display: grid;
}

.alojamientos-grid-vacio:has(.alojamiento-card) > .estado-vacio {
    display: none;
}

@media (max-width: 640px) {
    .estado-vacio {
        min-height: 0;
        padding: 38px 20px;
        border-radius: 15px;
    }

    .estado-vacio h3 { font-size: 21px; }
    .estado-vacio__descripcion { font-size: 14px; }
    .estado-vacio__pregunta { margin-top: 24px; }
    .estado-vacio__cta { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    .estado-vacio__cta { transition: none; }
}

.catalogo-gastronomia__hero {
    padding-bottom: 48px;
    color: var(--blanco);
    background: var(--verde-oscuro);
}

.catalogo-gastronomia__hero .breadcrumb { padding-bottom: 42px; }

.catalogo-gastronomia__volver {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 18px;
    color: #dbe3dd;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
}

.catalogo-gastronomia__volver:hover { color: var(--blanco); }
.catalogo-gastronomia__volver svg { width: 17px; height: 17px; }

.catalogo-gastronomia__titulo {
    max-width: 920px;
    font-size: clamp(38px, 6vw, 68px);
    line-height: 1;
    letter-spacing: -.045em;
}

.catalogo-gastronomia__resultados {
    min-height: 500px;
    padding: 48px 0 88px;
    background: var(--crema-gastronomia, var(--crema));
}

.catalogo-gastronomia__cabecera {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 22px;
}

.catalogo-gastronomia__cabecera h2 {
    color: var(--verde-oscuro);
    font-size: 22px;
}

.catalogo-gastronomia__contador {
    flex: 0 0 auto;
    color: var(--texto-suave);
    font-size: 13px;
}

.catalogo-gastronomia__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.catalogo-gastronomia__grid > .estado-vacio { grid-column: 1 / -1; }

@media (max-width: 980px) {
    .catalogo-gastronomia__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
    .catalogo-gastronomia__hero { padding-bottom: 38px; }
    .catalogo-gastronomia__hero .breadcrumb { padding-bottom: 32px; }
    .catalogo-gastronomia__titulo { font-size: 36px; }
    .catalogo-gastronomia__resultados { padding: 38px 0 60px; }
    .catalogo-gastronomia__cabecera { display: block; }
    .catalogo-gastronomia__cabecera h2 { font-size: 18px; }
    .catalogo-gastronomia__contador { margin-top: 4px; }
    .catalogo-gastronomia__grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
}
