.mwm-pattern-metodologia {
	position: relative;
	overflow: clip;
	margin-top: 0 !important;
}

/* GSAP pin-spacer wrapper: override constrained layout */
.mwm-pattern-metodologia>.pin-spacer {
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
}

/* Pinned viewport container */
.mwm-pattern-metodologia>.metodologia-animate {
	max-width: none !important;
	margin: 0 !important;
	position: absolute !important;
	top: 0;
	left: 0;
	right: 0;
	width: 100% !important;
	height: 100vh;
	z-index: 1;
}

/* Image layer: fills viewport, centers the figure */
.mwm-pattern-metodologia .metodologia-image {
	position: absolute !important;
	inset: 0;
	display: flex !important;
	align-items: center;
	justify-content: center;
	max-width: none !important;
	margin: 0 !important;
	overflow: hidden;
}

/* Figure: starts small centered, GSAP animates to full viewport */
.mwm-pattern-metodologia .metodologia-image__photo {
	margin: 0 !important;
	max-width: none !important;
	width: 62vw;
	height: 62vh;
	border-radius: 12px;
	overflow: hidden;
	flex-shrink: 0;
}

.mwm-pattern-metodologia .metodologia-image__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	border-radius: 0 !important;
}

/* Text overlay: starts invisible, GSAP fades in */
.mwm-pattern-metodologia .metodologia-overlay {
	position: absolute !important;
	inset: 0;
	opacity: 0;
	display: flex !important;
	flex-direction: column !important;
	justify-content: flex-end !important;
	align-items: stretch !important;
	padding: 0 35px 40px;
	z-index: 2;
	max-width: none !important;
	margin: 0 !important;
	background: linear-gradient(to bottom,
			rgba(128, 139, 158, 0.2) 30%,
			var(--wp--preset--color--quaternary) 90%);
}

/* Content row: text left + CTA right */
.mwm-pattern-metodologia .metodologia-overlay__content {
	width: 100% !important;
	max-width: none !important;
	flex-shrink: 0;
}

.mwm-pattern-metodologia .metodologia-overlay__text {
	max-width: 856px;
	min-width: 0;
}

/* Solo en fila (texto + CTA): el bloque de texto ocupa el espacio libre. */
@media (min-width: 783px) {
	.mwm-pattern-metodologia .metodologia-overlay__text {
		flex: 1 1 0 !important;
	}
}

.mwm-pattern-metodologia .metodologia-overlay__text>p,
.mwm-pattern-metodologia .metodologia-overlay__text>h2 {
	margin: 0 !important;
	max-width: none !important;
}

.mwm-pattern-metodologia .metodologia-overlay .wp-block-button {
	flex-shrink: 0;
	margin: 0 !important;
}

/* Variante contacto: fondo crema aunque el bloque guardado tenga has-quaternary-background-color. */
main:has(.pattern-hero-contacto) .mwm-pattern-metodologia,
.mwm-pattern-metodologia--contact {
	background-color: var(--wp--preset--color--tertiary) !important;
}

main:has(.pattern-hero-contacto) .mwm-pattern-metodologia .metodologia-overlay,
.mwm-pattern-metodologia--contact .metodologia-overlay {
	background: linear-gradient(
		to bottom,
		rgba(247, 245, 240, 0.15) 30%,
		var(--wp--preset--color--tertiary) 90%
	) !important;
}

main:has(.pattern-hero-contacto) .mwm-pattern-metodologia .metodologia-overlay__text .has-tertiary-color,
.mwm-pattern-metodologia--contact .metodologia-overlay__text .has-tertiary-color,
main:has(.pattern-hero-contacto) .mwm-pattern-metodologia .metodologia-overlay__text > :is(p, h2),
.mwm-pattern-metodologia--contact .metodologia-overlay__text > :is(p, h2) {
	color: var(--wp--preset--color--foreground) !important;
}

main:has(.pattern-hero-contacto) .mwm-pattern-metodologia .metodologia-image__photo img,
.mwm-pattern-metodologia--contact .metodologia-image__photo img {
	object-fit: cover;
	object-position: center;
}

/* CTA naranja (primario) en la sección mapa de contacto. */
main:has(.pattern-hero-contacto) .mwm-pattern-metodologia .metodologia-overlay .wp-block-button.is-style-animated-secondary .wp-block-button__link,
.mwm-pattern-metodologia--contact .metodologia-overlay .wp-block-button.is-style-animated-secondary .wp-block-button__link {
	background-color: var(--wp--preset--color--accent) !important;
}

main:has(.pattern-hero-contacto) .mwm-pattern-metodologia .metodologia-overlay .wp-block-button.is-style-animated-secondary .cta-animated__shadow,
.mwm-pattern-metodologia--contact .metodologia-overlay .wp-block-button.is-style-animated-secondary .cta-animated__shadow {
	background-color: var(--wp--preset--color--tertiary) !important;
}

main:has(.pattern-hero-contacto) .mwm-pattern-metodologia .metodologia-overlay .wp-block-button.is-style-animated-secondary .cta-animated__text-wrap span:first-child,
.mwm-pattern-metodologia--contact .metodologia-overlay .wp-block-button.is-style-animated-secondary .cta-animated__text-wrap span:first-child,
main:has(.pattern-hero-contacto) .mwm-pattern-metodologia .metodologia-overlay .wp-block-button.is-style-animated-secondary .cta-animated__icon-wrap svg:first-child,
.mwm-pattern-metodologia--contact .metodologia-overlay .wp-block-button.is-style-animated-secondary .cta-animated__icon-wrap svg:first-child {
	color: var(--wp--preset--color--tertiary) !important;
}

main:has(.pattern-hero-contacto) .mwm-pattern-metodologia .metodologia-overlay .wp-block-button.is-style-animated-secondary .cta-animated__text-wrap span:last-child,
.mwm-pattern-metodologia--contact .metodologia-overlay .wp-block-button.is-style-animated-secondary .cta-animated__text-wrap span:last-child,
main:has(.pattern-hero-contacto) .mwm-pattern-metodologia .metodologia-overlay .wp-block-button.is-style-animated-secondary .cta-animated__icon-wrap svg:last-child,
.mwm-pattern-metodologia--contact .metodologia-overlay .wp-block-button.is-style-animated-secondary .cta-animated__icon-wrap svg:last-child {
	color: var(--wp--preset--color--accent) !important;
}

/* ---- Editor ---- */
.editor-styles-wrapper .mwm-pattern-metodologia>.metodologia-animate {
	position: relative !important;
	height: auto;
}

.editor-styles-wrapper .mwm-pattern-metodologia .metodologia-image {
	position: relative !important;
	inset: auto;
	display: block !important;
}

.editor-styles-wrapper .mwm-pattern-metodologia .metodologia-overlay {
	position: relative !important;
	inset: auto;
	opacity: 1;
	display: block !important;
	background: var(--wp--preset--color--quaternary);
}

.editor-styles-wrapper .mwm-pattern-metodologia--contact .metodologia-overlay,
.editor-styles-wrapper main:has(.pattern-hero-contacto) .mwm-pattern-metodologia .metodologia-overlay {
	background: var(--wp--preset--color--tertiary) !important;
}

.editor-styles-wrapper .metodologia-spacer {
	display: none;
}

/* ---- Mobile ---- */
@media (max-width: 782px) {
	.mwm-pattern-metodologia {
		overflow: visible;
	}

	.metodologia-spacer {
		height: 0 !important;
		display: none;
	}

	.mwm-pattern-metodologia>.metodologia-animate {
		position: relative !important;
		height: auto;
	}

	.mwm-pattern-metodologia .metodologia-image {
		position: relative !important;
		inset: auto;
		padding: 60px 16px;
	}

	.mwm-pattern-metodologia .metodologia-image__photo {
		width: 100%;
		max-width: none;
		aspect-ratio: auto;
		border-radius: 12px;
	}

	.mwm-pattern-metodologia .metodologia-overlay {
		position: relative !important;
		opacity: 1 !important;
		padding: 40px 24px;
		background: var(--wp--preset--color--quaternary);
	}

	main:has(.pattern-hero-contacto) .mwm-pattern-metodologia .metodologia-overlay,
	.mwm-pattern-metodologia--contact .metodologia-overlay {
		background: var(--wp--preset--color--tertiary) !important;
	}

	.mwm-pattern-metodologia .metodologia-overlay__content {
		flex-direction: column;
		align-items: flex-start;
		gap: 36px;
	}

	.mwm-pattern-metodologia .metodologia-overlay__text {
		flex: 0 1 auto;
		width: 100%;
		max-width: none;
	}
}