/* Home H2 — responsivo completo (solo archivos home-h2-*.css) */

/* Tipografía y cabeceras: títulos largos sin romper layout */
@media screen and (max-width: 600px) {
	.h2-section-head--lines {
		gap: 0.5rem;
	}

	.h2-section-head__title {
		font-size: clamp(0.75rem, 3.2vw, 0.95rem);
		white-space: normal;
		text-align: center;
		line-height: 1.2;
		max-width: 70vw;
	}

	.h2-section-head__rule {
		min-width: 12px;
	}

	.h2-section-head__ribbon {
		font-size: clamp(0.72rem, 3vw, 0.82rem);
	}

	.h2-section-head__title-badge {
		padding: 0.35em 1.1em;
		transform: skewX(-8deg);
	}

	.h2-section-head__title-badge-text {
		transform: skewX(8deg);
	}
}

@media screen and (max-width: 480px) {
	.home-h2__section {
		margin-bottom: clamp(1.5rem, 6vw, 2.5rem);
	}

	.h2-card__title {
		font-size: clamp(0.88rem, 3.8vw, 1rem);
	}

	.h2-card__title--overlay {
		padding: 0.65rem 0.5rem;
		font-size: clamp(0.85rem, 3.6vw, 0.95rem);
	}

	.h2-card__overlay {
		padding: 0.55rem 0.5rem 0.65rem;
		gap: 0.3rem;
	}

	.h2-card__overlay .h2-card__title--overlay {
		padding: 0;
		font-size: clamp(0.85rem, 3.6vw, 0.95rem);
	}

	.h2-card--podcast-hero .h2-card__overlay .h2-card__title--overlay {
		font-size: clamp(1rem, 3.8vw, 1.35rem);
		line-height: 1.2;
	}

	.h2-card__excerpt--overlay {
		font-size: 0.72rem;
		padding: 0 0.5rem 0.4rem;
	}

	.h2-card--podcast-hero .h2-card__media--stack .h2-card__overlay .h2-card__excerpt--overlay {
		font-size: clamp(0.74rem, 3.1vw, 0.88rem);
		line-height: 1.42;
	}

	.h2-card--podcast-hero .h2-card__media--stack > .h2-card__overlay {
		padding: 0.5rem 0.6rem 0.75rem;
		gap: 0.35rem;
	}

	.h2-card--destino-hero .h2-card__overlay .h2-card__title--overlay {
		font-size: clamp(1rem, 3.8vw, 1.35rem);
		line-height: 1.2;
	}

	.h2-card--destino-hero .h2-card__media--stack .h2-card__overlay .h2-card__excerpt--overlay {
		font-size: clamp(0.74rem, 3.1vw, 0.88rem);
		line-height: 1.42;
	}

	.h2-card--destino-hero .h2-card__media--stack > .h2-card__overlay {
		padding: 0.5rem 0.6rem 0.75rem;
		gap: 0.35rem;
	}

	.h2-card--cultura-main .h2-card__overlay .h2-card__title--overlay {
		font-size: clamp(1rem, 3.8vw, 1.35rem);
		line-height: 1.2;
	}

	.h2-card--cultura-main .h2-card__media--stack .h2-card__overlay .h2-card__excerpt--overlay {
		font-size: clamp(0.74rem, 3.1vw, 0.88rem);
		line-height: 1.42;
	}

	.h2-card--cultura-main .h2-card__media--stack > .h2-card__overlay {
		padding: 0.5rem 0.6rem 0.75rem;
		gap: 0.35rem;
	}

	.h2-card--hoteles-hero .h2-card__overlay .h2-card__title--overlay {
		font-size: clamp(1rem, 3.8vw, 1.35rem);
		line-height: 1.2;
	}

	.h2-card--hoteles-hero .h2-card__media--stack .h2-card__overlay .h2-card__excerpt--overlay {
		font-size: clamp(0.74rem, 3.1vw, 0.88rem);
		line-height: 1.42;
	}

	.h2-card--hoteles-hero .h2-card__media--stack > .h2-card__overlay {
		padding: 0.5rem 0.6rem 0.75rem;
		gap: 0.35rem;
	}

	.h2-card--cruceros-hero .h2-card__overlay .h2-card__title--overlay {
		font-size: clamp(1rem, 3.8vw, 1.35rem);
		line-height: 1.2;
	}

	.h2-card--cruceros-hero .h2-card__media--stack .h2-card__overlay .h2-card__excerpt--overlay {
		font-size: clamp(0.74rem, 3.1vw, 0.88rem);
		line-height: 1.42;
	}

	.h2-card--cruceros-hero .h2-card__media--stack > .h2-card__overlay {
		padding: 0.5rem 0.6rem 0.75rem;
		gap: 0.35rem;
	}

	.h2-list__thumb {
		flex: 0 0 clamp(56px, 18vw, 72px);
	}

	.h2-list__text {
		font-size: clamp(0.82rem, 3.5vw, 0.9rem);
	}

	/* Área táctil mínima en filas de lista */
	.h2-list__row {
		min-height: 44px;
		padding: 0.2rem 0;
		align-items: center;
	}

	.h2-more {
		text-align: center;
	}

	.h2-more__link {
		display: inline-block;
		padding: 0.35rem 0;
		min-height: 44px;
		line-height: 1.5;
	}
}

/* Móvil muy estrecho */
@media screen and (max-width: 380px) {
	.h2-section-head__title {
		max-width: 100%;
	}

	.h2-card--hero .h2-card__media {
		min-height: 180px;
	}

	/* Tarjetas con foto+overlay: no forzar alto mínimo (evita franja gris) */
	.h2-card--overlay.h2-card--hero .h2-card__media--stack {
		min-height: 0 !important;
	}
}

/* Preferencias de usuario */
@media (prefers-reduced-motion: reduce) {
	.h2-card__link,
	.h2-more__link,
	.h2-list__row {
		transition: none;
	}
}

/* Alto dinámico en landscape móvil */
@media screen and (max-height: 500px) and (orientation: landscape) {
	.h2-card--hero .h2-card__media {
		min-height: 160px;
	}

	.h2-card--overlay.h2-card--hero .h2-card__media--stack {
		min-height: 0 !important;
	}
}
