/**
 * Pattern: MWM Distributiva
 */

/*
 * Fondo corporativo aquí (no usar .has-corporativo-01-background-color: trae !important de WP).
 */
.mwm-distributiva {
	background-color: var(--wp--preset--color--corporativo-01);
}

.editor-styles-wrapper .mwm-distributiva.alignfull {
	background-color: var(--wp--preset--color--corporativo-01);
}

/*
 * Plantillas listado Alquiler / Venta: fondo azul (quaternary), copy intro en blanco;
 * header-theme.js usa data-header-theme en el bloque para alternar .mwm-header--dark.
 */
.mwm-distributiva--listing {
	background-color: var(--wp--preset--color--quaternary);
}

.editor-styles-wrapper .mwm-distributiva.mwm-distributiva--listing.alignfull {
	background-color: var(--wp--preset--color--quaternary);
}

.mwm-distributiva--listing .mwm-distributiva__header,
.mwm-distributiva--listing .mwm-distributiva__header .wp-block-group {
	color: var(--wp--preset--color--background);
}

.mwm-distributiva--listing .mwm-distributiva__header .has-text-color {
	color: var(--wp--preset--color--background) !important;
}

.mwm-distributiva--listing .mwm-distributiva__header a {
	color: inherit;
}

/*
 * Cabecera intro (texto): ancho máximo + separación respecto a las cards.
 */
.mwm-distributiva .mwm-distributiva__header,
.wp-block-group.mwm-distributiva__header {
	box-sizing: border-box;
	width: 100%;
	max-width: 856px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 96px;
}

.editor-styles-wrapper .mwm-distributiva .mwm-distributiva__header {
	box-sizing: border-box;
	width: 100%;
	max-width: 856px;
	margin-left: auto !important;
	margin-right: auto !important;
	margin-bottom: 96px !important;
}

/*
 * Contenedor pin (sin radio ni margen inferior; el aire va en `.mwm-distributiva__header`).
 */
.mwm-distributiva__banners {
	box-sizing: border-box;
	margin-top: 0;
	margin-bottom: 0;
	position: relative;
	height: 100svh;
	min-height: 100svh;
}

.editor-styles-wrapper .mwm-distributiva .mwm-distributiva__banners {
	margin-bottom: 0 !important;
}

/* --- Secciones apiladas en el mismo rectángulo (orden z lo fija JS) --- */

.mwm-distributiva__section {
	position: absolute;
	inset: 0;
	will-change: transform;
}

/*
 * Desktop (pin GSAP): sin margen entre secciones absolute — el margen encoge la 2ª tarjeta
 * respecto a la 1ª y rompe la misma altura en el mismo rectángulo.
 */

@media (min-width: 783px) {

	/*
	 * Pin GSAP: alto total = viewport − admin bar.
	 * El hueco útil lo define la sección: header arriba y 2rem abajo.
	 */
	.mwm-distributiva__banners {
		box-sizing: border-box;
		height: calc(100svh - var(--wp-admin--admin-bar--height, 0px));
		min-height: calc(100svh - var(--wp-admin--admin-bar--height, 0px));
	}

	.mwm-distributiva__section {
		top: var(--mwm-header-height);
		right: 0;
		bottom: 2rem;
		left: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
	}

	.mwm-distributiva .mwm-distributiva__banners>.mwm-distributiva__section {
		margin-block-start: 0 !important;
		margin-block-end: 0 !important;
	}
}

/* --- Card: radio en cada banner --- */

.mwm-distributiva__banner {
	position: relative;
	overflow: hidden;
	height: 100%;
	border-radius: 12px;
	background-color: var(--wp--preset--color--corporativo-01);
}

@media (min-width: 783px) {
	.mwm-distributiva__banner {
		width: 100%;
		height: 100%;
		box-sizing: border-box;
	}
}

/* Media area */
.mwm-distributiva__banner-media {
	position: absolute;
	inset: 0;
}

.mwm-distributiva__banner-media .wp-block-video {
	position: absolute;
	inset: 0;
	margin: 0;
}

.mwm-distributiva__banner-media .wp-block-video video {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Overlay bar at bottom */
.mwm-distributiva__banner-overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	display: flex;
	flex-wrap: wrap !important;
	align-items: center;
	justify-content: space-between;
	gap: 20px 24px;
	padding: 35px 47px;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.6), transparent);
	z-index: 1;
	box-sizing: border-box;
}

.mwm-distributiva__banner-title {
	margin: 0;
	letter-spacing: -0.01em;
}

/*
 * Columna izquierda del overlay: título + descripción opcional (Figma sobre nosotros, 6501:21153).
 */
.mwm-distributiva__banner-overlay > .mwm-distributiva__banner-text,
.mwm-distributiva__banner-overlay > .mwm-distributiva__banner-title {
	flex: 1 1 auto;
	min-width: min(100%, 12rem);
	max-width: 100%;
}

.mwm-distributiva__banner-text {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-end;
	gap: 24px;
}

.editor-styles-wrapper .mwm-distributiva__banner-text {
	gap: 24px;
}

.mwm-distributiva__banner-text .mwm-distributiva__banner-title {
	margin: 0;
}

.mwm-distributiva__banner-desc,
.editor-styles-wrapper .mwm-distributiva__banner-desc {
	margin: 0;
	padding: 0;
	max-width: 416px;
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--normal);
	font-weight: 400;
	line-height: 1.3;
	letter-spacing: -0.01em;
	color: var(--wp--preset--color--tertiary);
}

.mwm-distributiva__banner-overlay > .wp-block-button {
	flex: 0 1 auto;
	max-width: 100%;
	align-self: center;
}

.mwm-distributiva__banner-overlay > .wp-block-button .wp-block-button__link {
	white-space: normal;
	text-align: center;
}

/* --- Responsive --- */

@media (max-width: 782px) {
	.mwm-distributiva {
		padding-top: 60px !important;
		padding-bottom: 60px !important;
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	.mwm-distributiva .mwm-distributiva__header,
	.wp-block-group.mwm-distributiva__header {
		margin-bottom: 56px;
	}

	.editor-styles-wrapper .mwm-distributiva .mwm-distributiva__header {
		margin-bottom: 56px !important;
	}

	/* Separación entre cards en columna (solo aquí aplica el flujo). */
	.mwm-distributiva .mwm-distributiva__banners>.mwm-distributiva__section:not(:first-child) {
		margin-block-start: var(--mwm-header-height) !important;
	}

	.mwm-distributiva__banners {
		height: auto;
		min-height: 0;
	}

	.mwm-distributiva__section {
		position: relative;
		inset: auto;
		will-change: auto;
	}

	/*
	 * Misma altura para todas las tarjetas: valor único (responsive), no height:auto por contenido.
	 */
	.mwm-distributiva__banners {
		--mwm-distributiva-banner-height: clamp(400px, 72vw, 560px);
	}

	.mwm-distributiva__banner {
		box-sizing: border-box;
		height: var(--mwm-distributiva-banner-height);
		min-height: var(--mwm-distributiva-banner-height);
		max-height: var(--mwm-distributiva-banner-height);
	}

	.mwm-distributiva__banner-overlay {
		padding: 24px;
	}

	.mwm-distributiva__banner-desc {
		max-width: 100%;
	}
}