/* =========================================================================
 * CONVENCIÓN DE PUNTO DE QUIEBRE — LEER ANTES DE EDITAR
 *
 * Este sitio pasa de escritorio a móvil en UN SOLO corte: 1100 px.
 *   · escritorio  → @media ( min-width: 1101px )
 *   · móvil       → @media ( max-width: 1100px )
 *
 * NO uses 930/931 ni cortes intermedios (900, 1050…) para la cabecera, la
 * barra inferior ni la rejilla de las landings: Felipe rechazó expresamente
 * la etapa tablet intermedia, en la que los elementos iban desapareciendo de
 * uno en uno. Para auditarlo:
 *   herramientas/barrido-corte-responsive.py /ruta
 * ========================================================================= */

/*
 * Piel "Orgánico" para las páginas interiores (2026-09-01). Se carga después
 * de site.css / fidelity.css / redesign-v2.css y NO cambia la maquetación ni
 * el contenido: redirige los tokens del rediseño 2.0 a la paleta verde de la
 * clínica, unifica la tipografía en Nunito y redondea botones y tarjetas para
 * que las 22 URLs interiores hablen el mismo idioma visual que la portada.
 */

body.pm-organico:not( .pm-route--inicio ) {
	--pm-v2-ink: #17382f;
	--pm-v2-navy: #17382f;
	--pm-v2-navy-deep: #0c211b;
	--pm-v2-green: #6fa91d;
	--pm-v2-brand: #94cf2e;
	--pm-v2-lime: #adc743;
	--pm-v2-surface: #f8f8f2;
	--pm-v2-tint: #eff8df;
	--pm-v2-border: #dce7df;
	--pm-v2-muted: #63766f;
	--pm-v2-white: #fff;
	--pm-v2-shadow-sm: 0 12px 30px rgba( 15, 54, 43, .08 );
	--pm-v2-shadow-md: 0 30px 70px rgba( 15, 54, 43, .15 );
	--pm-v2-radius-sm: 18px;
	--pm-v2-radius: 28px;
	--pm-v2-radius-lg: 40px;
	background: var( --pmho-cream );
	font-family: var( --pmho-ff );
}

/* El fondo con patrón dental del rediseño 2.0 se retira: la portada usa crema liso. */
body.pm-organico:not( .pm-route--inicio ),
body.pm-organico:not( .pm-route--inicio ) .pm-main,
body.pm-organico:not( .pm-route--inicio ) .pm-full-blanco {
	background-image: none;
}

body.pm-organico:not( .pm-route--inicio ) .pm-main {
	position: relative;
	overflow: clip;
}

/* Tipografía: todo Nunito (los !important del rediseño 2.0 obligan a repetirlos). */
body.pm-organico:not( .pm-route--inicio ) .pm-main,
body.pm-organico:not( .pm-route--inicio ) .pm-main p,
body.pm-organico:not( .pm-route--inicio ) .pm-main li,
body.pm-organico:not( .pm-route--inicio ) .pm-main td,
body.pm-organico:not( .pm-route--inicio ) .pm-main th,
body.pm-organico:not( .pm-route--inicio ) .pm-main label,
body.pm-organico:not( .pm-route--inicio ) .pm-main input,
body.pm-organico:not( .pm-route--inicio ) .pm-main textarea,
body.pm-organico:not( .pm-route--inicio ) .pm-main button,
body.pm-organico:not( .pm-route--inicio ) .pm-main a,
body.pm-organico:not( .pm-route--inicio ) .pm-legacy-site,
body.pm-organico:not( .pm-route--inicio ) .pm-legacy-site *,
body.pm-organico:not( .pm-route--inicio ) .pm-urgencia,
body.pm-organico:not( .pm-route--inicio ) .pm-urgencia * {
	font-family: var( --pmho-ff ) !important;
}

body.pm-organico:not( .pm-route--inicio ) .pm-main h1,
body.pm-organico:not( .pm-route--inicio ) .pm-main h2,
body.pm-organico:not( .pm-route--inicio ) .pm-main h3,
body.pm-organico:not( .pm-route--inicio ) .pm-main h4,
body.pm-organico:not( .pm-route--inicio ) .pm-main .pm-titulo,
body.pm-organico:not( .pm-route--inicio ) .pm-legacy-site h1,
body.pm-organico:not( .pm-route--inicio ) .pm-legacy-site h2,
body.pm-organico:not( .pm-route--inicio ) .pm-legacy-site h3,
body.pm-organico:not( .pm-route--inicio ) .pm-urgencia h1,
body.pm-organico:not( .pm-route--inicio ) .pm-urgencia h2,
body.pm-organico:not( .pm-route--inicio ) .pm-urgencia h3 {
	font-family: var( --pmho-ff ) !important;
	font-weight: 800;
	letter-spacing: -.02em;
	color: var( --pmho-ink );
}

body.pm-organico:not( .pm-route--inicio ) .pm-main .pm-titulo::after,
body.pm-organico:not( .pm-route--inicio ) .pm-main .pm-titulo::before {
	background: var( --pmho-green );
	border-radius: 999px;
}

body.pm-organico:not( .pm-route--inicio ) .pm-main p,
body.pm-organico:not( .pm-route--inicio ) .pm-main li {
	color: var( --pmho-ink );
}

/* Botones: píldoras verdes como en la portada. */
body.pm-organico:not( .pm-route--inicio ) .pm-boton,
body.pm-organico:not( .pm-route--inicio ) .pm-enviar,
body.pm-organico:not( .pm-route--inicio ) .wpcf7-submit,
body.pm-organico:not( .pm-route--inicio ) .pm-legacy-button {
	border-radius: 999px !important;
	background: var( --pmho-green ) !important;
	border-color: var( --pmho-green ) !important;
	color: var( --pmho-deep ) !important;
	font-weight: 800 !important;
	letter-spacing: .04em;
	box-shadow: 0 12px 28px rgba( 122, 176, 36, .25 );
	transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}

body.pm-organico:not( .pm-route--inicio ) .pm-boton:hover,
body.pm-organico:not( .pm-route--inicio ) .pm-enviar:hover,
body.pm-organico:not( .pm-route--inicio ) .wpcf7-submit:hover,
body.pm-organico:not( .pm-route--inicio ) .pm-legacy-button:hover {
	background: #a6df43 !important;
	transform: translateY( -2px );
}

/* Texto oscuro sobre el verde WhatsApp (contraste 6,6:1; el blanco daba 2,2:1), como en la portada. */
body.pm-organico:not( .pm-route--inicio ) .pm-boton--whatsapp,
body.pm-organico:not( .pm-route--inicio ) .pm-legacy-button--green {
	background: #22c76b !important;
	border-color: #22c76b !important;
	color: var( --pmho-deep, #0c211b ) !important;
	box-shadow: 0 12px 28px rgba( 34, 199, 107, .3 );
}

body.pm-organico:not( .pm-route--inicio ) .pm-legacy-button--red,
body.pm-organico:not( .pm-route--inicio ) .pm-legacy-button--dark {
	background: var( --pmho-ink ) !important;
	border-color: var( --pmho-ink ) !important;
	color: #fff !important;
	box-shadow: none;
}

/* Tarjetas, cajas y formularios: esquinas redondeadas y sombra suave. */
body.pm-organico:not( .pm-route--inicio ) .pm-caja,
body.pm-organico:not( .pm-route--inicio ) .pm-cols > *,
body.pm-organico:not( .pm-route--inicio ) .pm-articulo,
body.pm-organico:not( .pm-route--inicio ) .pm-form,
body.pm-organico:not( .pm-route--inicio ) .pm-servicio-card,
body.pm-organico:not( .pm-route--inicio ) .pm-entrada,
body.pm-organico:not( .pm-route--inicio ) .pm-post,
body.pm-organico:not( .pm-route--inicio ) .pm-legacy-form,
body.pm-organico:not( .pm-route--inicio ) .pm-legacy-benefits > *,
body.pm-organico:not( .pm-route--inicio ) .pm-urgencia__form {
	border-radius: 32px;
	border-color: var( --pmho-line );
}

body.pm-organico:not( .pm-route--inicio ) .pm-caja--verde {
	background: var( --pmho-pale );
}

body.pm-organico:not( .pm-route--inicio ) .pm-flechas li::before,
body.pm-organico:not( .pm-route--inicio ) .pm-checks li::before {
	color: var( --pmho-gdeep );
}

body.pm-organico:not( .pm-route--inicio ) .pm-main input[type="text"],
body.pm-organico:not( .pm-route--inicio ) .pm-main input[type="email"],
body.pm-organico:not( .pm-route--inicio ) .pm-main input[type="tel"],
body.pm-organico:not( .pm-route--inicio ) .pm-main textarea {
	border-radius: 18px;
	border-color: var( --pmho-line );
}

body.pm-organico:not( .pm-route--inicio ) .pm-main input:focus-visible,
body.pm-organico:not( .pm-route--inicio ) .pm-main textarea:focus-visible {
	outline: 3px solid var( --pmho-gdeep );
	outline-offset: 2px;
	border-color: var( --pmho-gdeep );
}

/* Enlaces del contenido en verde profundo, subrayados. */
body.pm-organico:not( .pm-route--inicio ) .pm-main .pm-caja a:not( .pm-boton ),
body.pm-organico:not( .pm-route--inicio ) .pm-main .pm-articulo a:not( .pm-boton ),
body.pm-organico:not( .pm-route--inicio ) .pm-main .pm-post__contenido a:not( .pm-boton ),
body.pm-organico:not( .pm-route--inicio ) .pm-main .pm-flechas a {
	color: var( --pmho-gdeep );
	text-decoration: underline;
	text-underline-offset: 4px;
	text-decoration-thickness: 2px;
}

/* Imágenes y mapas con las esquinas del sistema. */
body.pm-organico:not( .pm-route--inicio ) .pm-main img:not( .pm-servicio-card__imagen img ),
body.pm-organico:not( .pm-route--inicio ) .pm-mapa iframe,
body.pm-organico:not( .pm-route--inicio ) .pm-main iframe {
	border-radius: 24px;
}

body.pm-organico:not( .pm-route--inicio ) .pm-carrusel {
	border-radius: 32px;
	overflow: hidden;
}

/* Manchas verdes de fondo, como en la portada (solo decorativas). */
body.pm-organico:not( .pm-route--inicio ) .pm-main::before {
	position: absolute;
	top: -160px;
	right: -200px;
	z-index: -1;
	width: 620px;
	height: 620px;
	border-radius: 50%;
	background: var( --pmho-pale );
	content: "";
	pointer-events: none;
}

body.pm-organico:not( .pm-route--inicio ) .pm-main::after {
	position: absolute;
	top: 640px;
	left: -140px;
	z-index: -1;
	width: 340px;
	height: 340px;
	border-radius: 50%;
	background: var( --pmho-lima );
	opacity: .28;
	content: "";
	pointer-events: none;
}

body.pm-organico:not( .pm-route--inicio ) .pm-main > * {
	position: relative;
	z-index: 1;
}

/* Título inicial en la misma posición y tamaño en todas las interiores:
 * 40 px bajo la cabecera, 56 px de cuerpo (el rediseño 2.0 variaba entre 60 y 72). */
body.pm-organico:not( .pm-route--inicio ) .pm-main {
	padding-top: 40px !important;
}

body.pm-organico:not( .pm-route--inicio ) .pm-main h1,
body.pm-organico:not( .pm-route--inicio ) .pm-main h1.pm-titulo {
	margin-top: 0 !important;
	font-size: 56px !important;
	line-height: 1.05 !important;
}

/* El post lleva su título dentro de la tarjeta: la tarjeta sube a la misma altura. */
body.pm-organico:not( .pm-route--inicio ) .pm-post {
	margin-top: 0 !important;
}

@media ( max-width: 700px ) {
	body.pm-organico:not( .pm-route--inicio ) .pm-main {
		padding-top: 24px !important;
	}

	body.pm-organico:not( .pm-route--inicio ) .pm-main h1,
	body.pm-organico:not( .pm-route--inicio ) .pm-main h1.pm-titulo {
		font-size: clamp( 32px, 9.5vw, 40px ) !important;
	}
}

/* Columnas de texto + imagen: mismos bordes (la altura la fija el JS). */
body.pm-organico:not( .pm-route--inicio ) .pm-cols {
	align-items: start;
}

body.pm-organico:not( .pm-route--inicio ) .pm-cols > .pm-caja {
	display: flex;
	flex-direction: column;
	justify-content: center;
	box-sizing: border-box;
}

body.pm-organico:not( .pm-route--inicio ) .pm-cols img {
	width: 100%;
	display: block;
}

/* Listas de las páginas de servicio: mismo tamaño en todas. */
body.pm-organico:not( .pm-route--inicio ) .pm-cols > .pm-caja .pm-flechas li,
body.pm-organico:not( .pm-route--inicio ) .pm-cols > .pm-caja li {
	font-size: 19px !important;
	font-weight: 700 !important;
	line-height: 1.5 !important;
}

body.pm-organico:not( .pm-route--inicio ) .pm-cols--igualada > .pm-caja {
	min-height: var( --pm-igual ) !important;
}

body.pm-organico:not( .pm-route--inicio ) .pm-cols.pm-cols--igualada:not( .pm-cols--abarca ) > div:not( .pm-caja ) > img,
body.pm-organico:not( .pm-route--inicio ) .pm-cols.pm-cols--igualada:not( .pm-cols--abarca ) > div:not( .pm-caja ) > iframe,
body.pm-organico:not( .pm-route--inicio ) .pm-cols.pm-cols--igualada:not( .pm-cols--abarca ) > div:not( .pm-caja ) img,
body.pm-organico:not( .pm-route--inicio ) .pm-cols.pm-cols--igualada:not( .pm-cols--abarca ) > div:not( .pm-caja ) iframe,
body.pm-organico:not( .pm-route--inicio ) .pm-cols.pm-cols--igualada:not( .pm-cols--abarca ) > p > img {
	height: var( --pm-igual ) !important;
	object-fit: cover;
}

/* Quiénes Somos: el video ocupa el mismo ancho que la imagen y el mapa de su columna. */
body.pm-organico:not( .pm-route--inicio ) .pm-cols .pm-video,
body.pm-organico:not( .pm-route--inicio ) .pm-cols div:has( > iframe.pm-video ) {
	width: 100% !important;
	max-width: 100% !important;
	margin-inline: 0 !important;
}

body.pm-organico:not( .pm-route--inicio ) .pm-cols iframe.pm-video,
body.pm-organico:not( .pm-route--inicio ) .pm-cols .pm-video iframe {
	display: block;
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	aspect-ratio: 16 / 9;
	border-radius: 24px;
}

/* Caja que abarca varios medios (Quiénes Somos): mismo alto que la columna y
 * texto reajustado (más cuerpo, más aire) para llenarla con proporción. */
body.pm-organico:not( .pm-route--inicio ) .pm-cols--abarca > .pm-caja {
	min-height: var( --pm-igual ) !important;
	height: var( --pm-igual ) !important;
	justify-content: space-evenly;
	padding-block: 44px !important;
}

body.pm-organico:not( .pm-route--inicio ) .pm-cols--abarca > .pm-caja p {
	font-size: 18px !important;
	line-height: 1.75 !important;
	margin-block: 0 !important;
}


/* Frase de complemento bajo el título (Servicios). */
body.pm-organico:not( .pm-route--inicio ) .pm-main .pm-subtitulo {
	max-width: 620px;
	margin: 14px 0 32px !important;
	color: var( --pmho-muted );
	font-size: 19px !important;
	line-height: 1.55;
}

/* El H1 de Servicios se alinea al mismo margen que la frase y las tarjetas. */
body.pm-organico:not( .pm-route--inicio ) .pm-main h1.pm-solo-lectores {
	margin-left: 0 !important;
	padding-left: 0 !important;
}

/* Cuando el título lleva frase de complemento, ambos quedan juntos (como en Servicios). */
body.pm-organico:not( .pm-route--inicio ) .pm-main h1.pm-titulo:has( + .pm-subtitulo ) {
	margin-bottom: 0 !important;
}

/* ---------------------------------------------------------------- Convenios
 * Dos tarjetas con el patrón de Servicios (logo en la baldosa + H2), sin
 * listas ni carruseles (pedido de Felipe, 1-sep).
 */
body.pm-organico.pm-route--convenios .pm-convenios-grilla {
	grid-template-columns: repeat( 2, minmax( 0, 300px ) ) !important;
	justify-content: start;
}

body.pm-organico.pm-route--convenios .pm-convenios-grilla > * {
	text-align: center;
}

body.pm-organico.pm-route--convenios .pm-convenios-grilla img {
	width: 220px !important;
	height: 110px !important;
	padding: 16px 22px;
	object-fit: contain;
	margin-inline: auto;
	border-radius: 24px !important;
	background: var( --pmho-pale );
}

@media ( max-width: 700px ) {
	body.pm-organico.pm-route--convenios .pm-convenios-grilla {
		grid-template-columns: 1fr !important;
	}
}

/* ------------------------------------------------ Convenio Caja los Andes
 * Mismo contenido, disposición ordenada: carrusel a la izquierda y, a la
 * derecha, una tarjeta (logo en baldosa + beneficios) calzada con los bordes
 * del carrusel; el mapa con altura proporcionada.
 */
body.pm-organico:is( .pm-route--convenio-caja-los-andes-ancud, .pm-route--convenio-corporacion-municipal-ancud ) .pm-main .pm-cols {
	align-items: stretch !important;
	gap: 32px;
}

body.pm-organico:is( .pm-route--convenio-caja-los-andes-ancud, .pm-route--convenio-corporacion-municipal-ancud ) .pm-main .pm-cols > div:nth-child( 2 ) {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 22px;
	padding: 28px;
	border: 1px solid var( --pmho-line );
	border-radius: 32px;
	background: var( --pmho-white );
	box-shadow: var( --pmho-shadow );
	box-sizing: border-box;
}

body.pm-organico:is( .pm-route--convenio-caja-los-andes-ancud, .pm-route--convenio-corporacion-municipal-ancud ) .pm-main .pm-cols > div:nth-child( 2 ) > p {
	display: grid;
	place-items: center;
	margin: 0 !important;
	padding: 18px 24px;
	border-radius: 24px;
	background: var( --pmho-pale );
}

body.pm-organico:is( .pm-route--convenio-caja-los-andes-ancud, .pm-route--convenio-corporacion-municipal-ancud ) .pm-main .pm-cols > div:nth-child( 2 ) > p img {
	width: auto !important;
	max-width: 260px;
	height: auto !important;
	max-height: 90px;
	margin: 0 !important;
	border-radius: 0 !important;
}

body.pm-organico:is( .pm-route--convenio-caja-los-andes-ancud, .pm-route--convenio-corporacion-municipal-ancud ) .pm-main .pm-cols .pm-caja,
body.pm-organico:is( .pm-route--convenio-caja-los-andes-ancud, .pm-route--convenio-corporacion-municipal-ancud ) .pm-main .pm-cols .pm-caja--verde {
	margin: 0 !important;
	padding: 6px 8px !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

body.pm-organico:is( .pm-route--convenio-caja-los-andes-ancud, .pm-route--convenio-corporacion-municipal-ancud ) .pm-main .pm-cols .pm-flechas {
	display: grid !important;
	gap: 14px !important;
	margin: 0 !important;
}

body.pm-organico:is( .pm-route--convenio-caja-los-andes-ancud, .pm-route--convenio-corporacion-municipal-ancud ) .pm-main .pm-cols .pm-flechas li {
	margin: 0 !important;
	padding-block: 0 !important;
	font-size: 18px !important;
	line-height: 1.45 !important;
}

body.pm-organico:is( .pm-route--convenio-caja-los-andes-ancud, .pm-route--convenio-corporacion-municipal-ancud ) .pm-main .pm-cols .pm-carrusel {
	height: 100%;
	border-radius: 32px;
}

body.pm-organico:is( .pm-route--convenio-caja-los-andes-ancud, .pm-route--convenio-corporacion-municipal-ancud ) .pm-main .pm-mapa {
	margin-top: 32px !important;
}

body.pm-organico:is( .pm-route--convenio-caja-los-andes-ancud, .pm-route--convenio-corporacion-municipal-ancud ) .pm-main .pm-mapa iframe {
	height: 340px !important;
	border-radius: 32px;
}

/* Tarjeta de texto a la izquierda y carrusel a la derecha, como en el resto del sitio. */
body.pm-organico:is( .pm-route--convenio-caja-los-andes-ancud, .pm-route--convenio-corporacion-municipal-ancud ) .pm-main .pm-cols > div:nth-child( 2 ) {
	order: 1;
}

body.pm-organico:is( .pm-route--convenio-caja-los-andes-ancud, .pm-route--convenio-corporacion-municipal-ancud ) .pm-main .pm-cols > div:nth-child( 1 ) {
	order: 2;
}

/* Compacto: la tarjeta mide lo que su contenido y el carrusel se ajusta a esa
 * altura (cuadrado, centrado en su columna), como en la portada. */
body.pm-organico:is( .pm-route--convenio-caja-los-andes-ancud, .pm-route--convenio-corporacion-municipal-ancud ) .pm-main .pm-cols {
	align-items: stretch !important;
}

body.pm-organico:is( .pm-route--convenio-caja-los-andes-ancud, .pm-route--convenio-corporacion-municipal-ancud ) .pm-main .pm-cols > div:nth-child( 2 ) {
	gap: 16px;
	padding: 24px;
	justify-content: flex-start;
}

body.pm-organico:is( .pm-route--convenio-caja-los-andes-ancud, .pm-route--convenio-corporacion-municipal-ancud ) .pm-main .pm-cols > div:nth-child( 2 ) > p {
	min-height: 0;
	padding: 14px 20px;
}

body.pm-organico:is( .pm-route--convenio-caja-los-andes-ancud, .pm-route--convenio-corporacion-municipal-ancud ) .pm-main .pm-cols > div:nth-child( 2 ) > p img {
	max-height: 72px;
}

body.pm-organico:is( .pm-route--convenio-caja-los-andes-ancud, .pm-route--convenio-corporacion-municipal-ancud ) .pm-main .pm-cols .pm-flechas li {
	font-size: 17px !important;
}

body.pm-organico:is( .pm-route--convenio-caja-los-andes-ancud, .pm-route--convenio-corporacion-municipal-ancud ) .pm-main .pm-cols > div:nth-child( 1 ) {
	position: relative;
	min-height: 0;
}

body.pm-organico:is( .pm-route--convenio-caja-los-andes-ancud, .pm-route--convenio-corporacion-municipal-ancud ) .pm-main .pm-cols .pm-carrusel {
	position: absolute !important;
	top: 0 !important;
	bottom: 0 !important;
	left: 50% !important;
	width: auto !important;
	max-width: 100%;
	height: auto !important;
	margin: 0 !important;
	aspect-ratio: 1 / 1;
	transform: translateX( -50% ) !important;
}

body.pm-organico:is( .pm-route--convenio-caja-los-andes-ancud, .pm-route--convenio-corporacion-municipal-ancud ) .pm-main .pm-cols .pm-carrusel .pm-carrusel__pista {
	height: 100%;
}

body.pm-organico:is( .pm-route--convenio-caja-los-andes-ancud, .pm-route--convenio-corporacion-municipal-ancud ) .pm-main .pm-cols .pm-carrusel img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
}

@media ( max-width: 1100px ) {
	body.pm-organico:is( .pm-route--convenio-caja-los-andes-ancud, .pm-route--convenio-corporacion-municipal-ancud ) .pm-main .pm-cols .pm-carrusel {
		position: relative !important;
		top: auto !important;
		bottom: auto !important;
		left: auto !important;
		width: min( 100%, 480px ) !important;
		transform: none !important;
		margin-inline: auto !important;
	}

	body.pm-organico:is( .pm-route--convenio-caja-los-andes-ancud, .pm-route--convenio-corporacion-municipal-ancud ) .pm-main .pm-cols .pm-carrusel img {
		height: auto !important;
	}
}

/* Uniformidad tipográfica: H1 siempre 800; listas de beneficios de convenios en 700. */
body.pm-organico:not( .pm-route--inicio ) .pm-main h1,
body.pm-organico:not( .pm-route--inicio ) .pm-main h1.pm-solo-lectores {
	font-weight: 800 !important;
}

body.pm-organico:is( .pm-route--convenio-caja-los-andes-ancud, .pm-route--convenio-corporacion-municipal-ancud ) .pm-main .pm-cols .pm-flechas li {
	font-weight: 700 !important;
}

/* =====================================================================
 * Cajas de texto uniformes (2026-09-02)
 * Un solo estilo para todo cuadro de texto del sitio: fondo blanco, borde
 * fino, esquinas 32px, sombra suave y relleno 48px. Tipografía única:
 * párrafos 18px/1.7 regular, listas 18px/1.5 negrita, color tinta.
 * Las páginas de convenio conservan su tarjeta compacta (logo + lista).
 * ===================================================================== */
body.pm-organico:not( .pm-route--inicio ):not( .pm-route--convenio-caja-los-andes-ancud ):not( .pm-route--convenio-corporacion-municipal-ancud ) .pm-main .pm-caja.pm-caja,
body.pm-organico:not( .pm-route--inicio ):not( .pm-route--convenio-caja-los-andes-ancud ):not( .pm-route--convenio-corporacion-municipal-ancud ) .pm-main .pm-caja--verde.pm-caja--verde,
body.pm-organico:not( .pm-route--inicio ) .pm-legacy-thanks__copy.pm-legacy-thanks__copy,
body.pm-organico.pm-route--urgencia-dental .pm-urgencia__grid > .pm-reveal:has( > .pm-checks ) {
	background: rgba( 255, 255, 255, .96 ) !important;
	background-image: none !important;
	border: 1px solid var( --pmho-line ) !important;
	border-radius: 32px !important;
	box-shadow: 0 12px 30px rgba( 15, 54, 43, .08 ) !important;
	padding: 48px !important;
}

/* Tarjeta de las páginas de convenio: mismo borde, fondo y sombra. */
body.pm-organico:is( .pm-route--convenio-caja-los-andes-ancud, .pm-route--convenio-corporacion-municipal-ancud ) .pm-main .pm-cols > div:nth-child( 2 ) {
	background: rgba( 255, 255, 255, .96 ) !important;
	border: 1px solid var( --pmho-line ) !important;
	border-radius: 32px !important;
	box-shadow: 0 12px 30px rgba( 15, 54, 43, .08 ) !important;
	padding: 32px !important;
}

/* Párrafos dentro de las cajas */
body.pm-organico:not( .pm-route--inicio ) .pm-main .pm-caja.pm-caja p,
body.pm-organico:not( .pm-route--inicio ) .pm-cols--abarca.pm-cols--abarca > .pm-caja p,
body.pm-organico:not( .pm-route--inicio ) .pm-legacy-thanks__copy.pm-legacy-thanks__copy p {
	font-family: "Nunito", sans-serif !important;
	font-size: 18px !important;
	font-weight: 400 !important;
	line-height: 1.7 !important;
	color: var( --pmho-ink ) !important;
}

/* Listas dentro de las cajas (servicios, contacto, convenios, landings) */
body.pm-organico:not( .pm-route--inicio ) .pm-main .pm-caja.pm-caja li,
body.pm-organico:not( .pm-route--inicio ) .pm-cols.pm-cols > .pm-caja.pm-caja li,
body.pm-organico:is( .pm-route--convenio-caja-los-andes-ancud, .pm-route--convenio-corporacion-municipal-ancud ) .pm-main .pm-cols.pm-cols .pm-flechas.pm-flechas li,
body.pm-organico.pm-route--urgencia-dental .pm-checks.pm-checks li,
body.pm-organico:not( .pm-route--inicio ) .pm-legacy-benefits.pm-legacy-benefits li {
	font-family: "Nunito", sans-serif !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	line-height: 1.5 !important;
	color: var( --pmho-ink ) !important;
}

/* Encabezados dentro de las cajas y formularios */
body.pm-organico:not( .pm-route--inicio ) .pm-main .pm-caja.pm-caja :is( h2, h3, h4 ),
body.pm-organico:not( .pm-route--inicio ) .pm-main .pm-form :is( h2, h3 ),
body.pm-organico:not( .pm-route--inicio ) .pm-legacy-form.pm-legacy-form h2,
body.pm-organico.pm-route--urgencia-dental .pm-urgencia__form h2 {
	font-family: "Nunito", sans-serif !important;
	font-weight: 800 !important;
	color: var( --pmho-ink ) !important;
}

@media ( max-width: 1100px ) {
	body.pm-organico:not( .pm-route--inicio ):not( .pm-route--convenio-caja-los-andes-ancud ):not( .pm-route--convenio-corporacion-municipal-ancud ) .pm-main .pm-caja.pm-caja,
	body.pm-organico:not( .pm-route--inicio ):not( .pm-route--convenio-caja-los-andes-ancud ):not( .pm-route--convenio-corporacion-municipal-ancud ) .pm-main .pm-caja--verde.pm-caja--verde,
	body.pm-organico:not( .pm-route--inicio ) .pm-legacy-thanks__copy.pm-legacy-thanks__copy,
	body.pm-organico.pm-route--urgencia-dental .pm-urgencia__grid > .pm-reveal:has( > .pm-checks ) {
		padding: 28px !important;
	}

	body.pm-organico:is( .pm-route--convenio-caja-los-andes-ancud, .pm-route--convenio-corporacion-municipal-ancud ) .pm-main .pm-cols > div:nth-child( 2 ) {
		padding: 24px !important;
	}
}

/* Formularios: misma caja que los cuadros de texto. */
body.pm-organico:not( .pm-route--inicio ) .pm-form.pm-form,
body.pm-organico:not( .pm-route--inicio ) .pm-legacy-form.pm-legacy-form,
body.pm-organico.pm-route--urgencia-dental .pm-urgencia__form.pm-urgencia__form {
	background: rgba( 255, 255, 255, .96 ) !important;
	border: 1px solid var( --pmho-line ) !important;
	border-radius: 32px !important;
	box-shadow: 0 12px 30px rgba( 15, 54, 43, .08 ) !important;
	padding: 48px !important;
}

@media ( max-width: 1100px ) {
	body.pm-organico:not( .pm-route--inicio ) .pm-form.pm-form,
	body.pm-organico:not( .pm-route--inicio ) .pm-legacy-form.pm-legacy-form,
	body.pm-organico.pm-route--urgencia-dental .pm-urgencia__form.pm-urgencia__form {
		padding: 28px !important;
	}
}

@media ( max-width: 1100px ) {
	/* Mismos selectores que en escritorio para que el relleno móvil gane. */
	body.pm-organico:not( .pm-route--inicio ):not( .pm-route--convenio-caja-los-andes-ancud ):not( .pm-route--convenio-corporacion-municipal-ancud ) .pm-main .pm-caja.pm-caja,
	body.pm-organico:not( .pm-route--inicio ):not( .pm-route--convenio-caja-los-andes-ancud ):not( .pm-route--convenio-corporacion-municipal-ancud ) .pm-main .pm-caja--verde.pm-caja--verde,
	body.pm-organico:not( .pm-route--inicio ) .pm-form.pm-form.pm-form {
		padding: 28px !important;
	}
}

/* Botón bajo la imagen en las páginas de servicio: en flujo normal, centrado
 * en la columna de la imagen. El JS reserva su altura (--pm-igual-medio) para
 * que la imagen arranque en el borde superior de la caja y el botón termine
 * en su borde inferior. */
body.pm-organico:not( .pm-route--inicio ) .pm-main .pm-cols > div:not( .pm-caja ) > p:has( > .pm-boton ) {
	display: flex !important;
	justify-content: center !important;
	margin: 24px 0 0 !important;
	text-align: center !important;
}

body.pm-organico:not( .pm-route--inicio ) .pm-main .pm-cols > div:not( .pm-caja ) > p > .pm-boton.pm-boton {
	position: static !important;
	top: auto !important;
	left: auto !important;
	width: auto !important;
	height: auto !important;
	min-height: 50px !important;
	margin: 0 !important;
	padding: 13px 28px !important;
	font-size: 16px !important;
	transform: none !important;
}

body.pm-organico:not( .pm-route--inicio ) .pm-cols.pm-cols--igualada:not( .pm-cols--abarca ) > div:not( .pm-caja ) > img,
body.pm-organico:not( .pm-route--inicio ) .pm-cols.pm-cols--igualada:not( .pm-cols--abarca ) > div:not( .pm-caja ) img {
	height: var( --pm-igual-medio, var( --pm-igual ) ) !important;
}

/* =====================================================================
 * Páginas ocultas (landings antiguas, Urgencia, Gracias, legales, blog):
 * mismos títulos, botones, cajas y fuentes que el resto del sitio.
 * ===================================================================== */
/* Títulos principales: 56px / 800 como en las páginas visibles */
body.pm-organico:not( .pm-route--inicio ) .pm-legacy-site h1,
body.pm-organico:not( .pm-route--inicio ) .pm-legacy-hero h1,
body.pm-organico:not( .pm-route--inicio ) .pm-legacy-thanks h2,
body.pm-organico:not( .pm-route--inicio ) .pm-urgencia__hero h1 {
	font-family: "Nunito", sans-serif !important;
	font-size: 56px !important;
	font-weight: 800 !important;
	line-height: 1.1 !important;
	color: var( --pmho-ink ) !important;
}

body.pm-organico:not( .pm-route--inicio ) .pm-legacy-site h2:not( .pm-legacy-thanks h2 ),
body.pm-organico:not( .pm-route--inicio ) .pm-urgencia h2 {
	font-family: "Nunito", sans-serif !important;
	font-weight: 800 !important;
	color: var( --pmho-ink ) !important;
}

/* Botones: misma píldora que el resto (16px / 800, alto 50) */
body.pm-organico:not( .pm-route--inicio ) .pm-legacy-button.pm-legacy-button,
body.pm-organico:not( .pm-route--inicio ) .pm-legacy-site .pm-boton.pm-boton,
body.pm-organico:not( .pm-route--inicio ) .pm-urgencia .pm-boton.pm-boton {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 50px !important;
	height: auto !important;
	padding: 13px 28px !important;
	border-radius: 999px !important;
	font-family: "Nunito", sans-serif !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
	letter-spacing: .04em !important;
}

/* Tarjetas de beneficios (landings antiguas) */
body.pm-organico:not( .pm-route--inicio ) .pm-legacy-benefits.pm-legacy-benefits li {
	grid-template-columns: 32px 1fr !important;
	align-items: center !important;
	margin: 0 0 16px !important;
	padding: 18px 24px !important;
	background: rgba( 255, 255, 255, .96 ) !important;
	border: 1px solid var( --pmho-line ) !important;
	border-radius: 32px !important;
	box-shadow: 0 12px 30px rgba( 15, 54, 43, .08 ) !important;
}

/* Testimonios (landings antiguas y Urgencia) */
body.pm-organico:not( .pm-route--inicio ) .pm-legacy-testimonials blockquote,
body.pm-organico:not( .pm-route--inicio ) .pm-testimonios-grid > * {
	background: rgba( 255, 255, 255, .96 ) !important;
	border: 1px solid var( --pmho-line ) !important;
	border-radius: 32px !important;
	box-shadow: 0 12px 30px rgba( 15, 54, 43, .08 ) !important;
	padding: 32px !important;
}

body.pm-organico:not( .pm-route--inicio ) .pm-legacy-testimonials blockquote p,
body.pm-organico:not( .pm-route--inicio ) .pm-testimonios-grid p {
	font-family: "Nunito", sans-serif !important;
	font-size: 16px !important;
	line-height: 1.6 !important;
	color: var( --pmho-muted ) !important;
}

body.pm-organico:not( .pm-route--inicio ) .pm-legacy-testimonials h3,
body.pm-organico:not( .pm-route--inicio ) .pm-testimonios-grid h3 {
	font-family: "Nunito", sans-serif !important;
	font-size: 22px !important;
	font-weight: 800 !important;
	color: var( --pmho-gdeep ) !important;
}

/* Legales y blog: Nunito en todo, sin Questrial */
body.pm-organico:not( .pm-route--inicio ) .pm-articulo,
body.pm-organico:not( .pm-route--inicio ) .pm-articulo *,
body.pm-organico:not( .pm-route--inicio ) .pm-entrada,
body.pm-organico:not( .pm-route--inicio ) .pm-entrada * {
	font-family: "Nunito", sans-serif !important;
}

body.pm-organico:not( .pm-route--inicio ) .pm-articulo p,
body.pm-organico:not( .pm-route--inicio ) .pm-articulo li {
	font-size: 17px !important;
	line-height: 1.7 !important;
	color: var( --pmho-ink ) !important;
}

/* Título visible de las landings antiguas (el H1 real es solo para lectores). */
body.pm-organico:not( .pm-route--inicio ) .pm-legacy-hero h2 {
	font-size: 56px !important;
	line-height: 1.1 !important;
}

/* Blog: el H1 respeta el ancho y margen del contenido. */
body.pm-organico.pm-route--blog .pm-main > h1 {
	box-sizing: border-box;
	max-width: 1280px;
	margin-inline: auto !important;
	padding-inline: 40px;
}

/* Botón "Obtener más información" (landing Caja los Andes): sin ancho fijo. */
body.pm-organico:not( .pm-route--inicio ) .pm-legacy-site .pm-legacy-button.pm-legacy-button {
	width: auto !important;
	max-width: 100% !important;
	white-space: normal !important;
}

/* Blog: el H1 visible se centra con el contenido (anula el margen 0 de Servicios). */
body.pm-organico.pm-route--blog .pm-main > h1.pm-solo-lectores {
	width: min( 1200px, calc( 100% - 80px ) ) !important;
	max-width: none;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-inline: 0 !important;
}

/* El título del formulario de las landings no toma el tamaño del hero. */
body.pm-organico:not( .pm-route--inicio ) .pm-legacy-hero .pm-legacy-form h2 {
	font-size: 28px !important;
	line-height: 1.3 !important;
}

/* Botón con flecha de la landing Caja los Andes: ancho al contenido, centrado. */
body.pm-organico:not( .pm-route--inicio ) .pm-legacy-site .pm-legacy-button--dark.pm-legacy-button--dark {
	width: fit-content !important;
	min-width: 0 !important;
	margin-inline: auto !important;
	gap: 14px !important;
}

body.pm-organico:not( .pm-route--inicio ) .pm-legacy-site .pm-legacy-button--dark.pm-legacy-button--dark {
	justify-self: center !important;
	align-self: center !important;
}

@media ( max-width: 1100px ) {
	/* Títulos de landings en móvil: mismo tamaño que el resto (≈37px). */
	body.pm-organico:not( .pm-route--inicio ) .pm-legacy-site h1,
	body.pm-organico:not( .pm-route--inicio ) .pm-legacy-hero h1,
	body.pm-organico:not( .pm-route--inicio ) .pm-legacy-hero h2,
	body.pm-organico:not( .pm-route--inicio ) .pm-legacy-thanks h2,
	body.pm-organico:not( .pm-route--inicio ) .pm-urgencia__hero h1 {
		font-size: 37px !important;
		line-height: 1.15 !important;
	}
}

/* =====================================================================
 * Landings ocultas reordenadas con las reglas de cajas del sitio
 * (2026-09-02). Se abandona la réplica a píxel del Wix: rejilla de dos
 * columnas iguales, medio (video/imagen) con el borde superior alineado al
 * formulario, caja de beneficios que cierra en el mismo borde inferior y
 * botones centrados en su columna.
 * ===================================================================== */
/* --- Landings con hero + formulario (Clínica Dental, Ortodoncia, Implantes, Terceros Molares) --- */
body.pm-organico .pm-legacy-hero {
	height: auto !important;
	min-height: 0 !important;
	padding: 56px 0 80px !important;
}

body.pm-organico .pm-legacy-grid {
	display: grid !important;
	grid-template-columns: minmax( 0, 1fr ) minmax( 0, 1fr ) !important;
	grid-template-rows: auto auto auto auto minmax( 0, 1fr ) !important;
	grid-template-areas:
		"titulo cta"
		"sub    cta"
		"media  form"
		"wsp    form"
		"benef  form" !important;
	column-gap: 52px !important;
	row-gap: 0 !important;
	align-items: start !important;
	width: min( 1200px, calc( 100% - 80px ) ) !important;
	height: auto !important;
	margin: 0 auto !important;
	padding: 0 !important;
}

body.pm-organico .pm-legacy-grid > .pm-legacy-primary,
body.pm-organico .pm-legacy-grid > .pm-legacy-secondary {
	display: contents !important;
}

body.pm-organico .pm-legacy-grid .pm-legacy-primary > *,
body.pm-organico .pm-legacy-grid .pm-legacy-secondary > * {
	position: static !important;
	width: auto !important;
	max-width: none !important;
	height: auto !important;
	margin: 0 !important;
}

body.pm-organico .pm-legacy-grid .pm-legacy-primary > h2 {
	grid-area: titulo;
	margin-bottom: 12px !important;
}

body.pm-organico .pm-legacy-grid .pm-legacy-subtitle {
	grid-area: sub;
	margin-bottom: 28px !important;
	font-size: 22px !important;
	line-height: 1.35 !important;
}

body.pm-organico .pm-legacy-grid .pm-legacy-video,
body.pm-organico .pm-legacy-grid .pm-legacy-feature-image {
	grid-area: media;
	width: 100% !important;
	border-radius: 32px !important;
	border: 1px solid var( --pmho-line ) !important;
	box-shadow: 0 12px 30px rgba( 15, 54, 43, .08 ) !important;
	overflow: hidden;
}

body.pm-organico .pm-legacy-grid .pm-legacy-video {
	aspect-ratio: 16 / 9;
	padding: 0 !important;
}

body.pm-organico .pm-legacy-grid .pm-legacy-video iframe {
	position: absolute;
	inset: 0;
	width: 100% !important;
	height: 100% !important;
	border-radius: 32px;
}

body.pm-organico .pm-legacy-grid .pm-legacy-feature-image {
	object-fit: cover;
}

body.pm-organico .pm-legacy-grid .pm-legacy-primary > .pm-legacy-button {
	grid-area: wsp;
	justify-self: center;
	margin: 24px 0 !important;
}

body.pm-organico .pm-legacy-grid .pm-legacy-benefits.pm-legacy-benefits {
	grid-area: benef;
	align-self: stretch !important;
	display: flex !important;
	flex-direction: column;
	justify-content: space-evenly;
	gap: 18px;
	box-sizing: border-box;
	padding: 32px 36px !important;
	background: rgba( 255, 255, 255, .96 ) !important;
	border: 1px solid var( --pmho-line ) !important;
	border-radius: 32px !important;
	box-shadow: 0 12px 30px rgba( 15, 54, 43, .08 ) !important;
}

body.pm-organico .pm-legacy-grid .pm-legacy-benefits.pm-legacy-benefits li {
	display: grid !important;
	grid-template-columns: 32px minmax( 0, 1fr ) !important;
	gap: 14px !important;
	align-items: center !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

body.pm-organico .pm-legacy-grid .pm-legacy-secondary > .pm-legacy-button {
	grid-area: cta;
	justify-self: center;
	align-self: end;
	margin-bottom: 28px !important;
}

body.pm-organico .pm-legacy-grid .pm-legacy-form.pm-legacy-form {
	grid-area: form;
	align-self: stretch !important;
	display: flex;
	flex-direction: column;
	justify-content: center;
	box-sizing: border-box;
}

/* --- Urgencia Dental: mismo patrón (botón centrado arriba, imagen | formulario) --- */
body.pm-organico .pm-urgencia__grid {
	display: grid !important;
	grid-template-columns: minmax( 0, 1fr ) minmax( 0, 1fr ) !important;
	grid-template-rows: auto auto auto minmax( 0, 1fr ) !important;
	grid-template-areas:
		"cta   cta"
		"media form"
		"wsp   form"
		"benef form" !important;
	column-gap: 52px !important;
	row-gap: 0 !important;
	align-items: start !important;
}

body.pm-organico .pm-urgencia__grid > .pm-reveal {
	display: contents !important;
}

body.pm-organico .pm-urgencia__grid > .pm-reveal > img {
	grid-area: media;
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	border: 1px solid var( --pmho-line ) !important;
	border-radius: 32px !important;
	box-shadow: 0 12px 30px rgba( 15, 54, 43, .08 ) !important;
	object-fit: cover;
}

body.pm-organico .pm-urgencia__grid > .pm-reveal > p:has( > .pm-boton ) {
	display: flex !important;
	justify-content: center !important;
	margin: 0 !important;
}

body.pm-organico .pm-urgencia__grid > .pm-reveal:first-child > p:has( > .pm-boton ) {
	grid-area: wsp;
	margin: 24px 0 !important;
}

body.pm-organico .pm-urgencia__grid > .pm-reveal:last-child > p:has( > .pm-boton ) {
	grid-area: cta;
	margin-bottom: 28px !important;
}

body.pm-organico .pm-urgencia__grid .pm-checks.pm-checks {
	grid-area: benef;
	align-self: stretch !important;
	display: flex !important;
	flex-direction: column;
	justify-content: space-evenly;
	gap: 16px;
	box-sizing: border-box;
	margin: 0 !important;
	padding: 32px 36px !important;
	background: rgba( 255, 255, 255, .96 ) !important;
	border: 1px solid var( --pmho-line ) !important;
	border-radius: 32px !important;
	box-shadow: 0 12px 30px rgba( 15, 54, 43, .08 ) !important;
}

body.pm-organico .pm-urgencia__grid .pm-checks.pm-checks li {
	margin: 0 !important;
}

body.pm-organico .pm-urgencia__grid .pm-urgencia__form.pm-urgencia__form {
	grid-area: form;
	align-self: stretch !important;
	display: flex;
	flex-direction: column;
	justify-content: center;
	box-sizing: border-box;
	margin: 0 !important;
}

/* --- Landing antigua Convenio Caja los Andes: caja única | carrusel + botón, botones debajo --- */
body.pm-organico .pm-legacy-convenio {
	display: grid !important;
	grid-template-columns: minmax( 0, 1fr ) minmax( 0, 1fr ) !important;
	grid-template-areas:
		"titulo titulo"
		"frase  frase"
		"benef  media"
		"b2     b3" !important;
	gap: 32px 52px !important;
	align-items: stretch !important;
	width: min( 1200px, calc( 100% - 80px ) ) !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 auto !important;
	padding: 56px 0 80px !important;
}

body.pm-organico .pm-legacy-convenio::after {
	display: none !important;
}

body.pm-organico .pm-legacy-convenio > :not( .pm-legacy-background ) {
	position: static !important;
	top: auto !important;
	left: auto !important;
	width: auto !important;
	max-width: none !important;
	height: auto !important;
	margin: 0 !important;
}

body.pm-organico .pm-legacy-convenio > h2 {
	grid-area: titulo;
	text-align: center;
	margin: 0 auto 8px !important;
	max-width: 900px !important;
}

/* La caja de beneficios manda la altura: carrusel (cuadrado) + botón la igualan, como en /implantes-dentales/. */
body.pm-organico .pm-legacy-convenio > .pm-legacy-convenio__media {
	grid-area: media;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	gap: 24px !important;
	min-height: 0;
}

body.pm-organico .pm-legacy-convenio .pm-legacy-convenio__cuadro {
	position: relative !important;
	flex: 1 1 auto !important;
	width: 100% !important;
	min-height: 0 !important;
}

body.pm-organico .pm-legacy-convenio .pm-legacy-convenio__media > .pm-legacy-button--dark {
	position: static !important;
	flex: 0 0 auto !important;
	align-self: center !important;
	width: auto !important;
	min-height: 50px !important;
	margin: 0 !important;
	padding: 13px 28px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: var( --pmho-ink ) !important;
	font-size: 16px !important;
	line-height: 1.2 !important;
	transform: none !important;
}

body.pm-organico .pm-legacy-convenio .pm-legacy-convenio__media > .pm-legacy-button--dark::after {
	content: none !important;
	display: none !important;
}

body.pm-organico .pm-legacy-convenio .pm-legacy-convenio__carrusel {
	position: absolute !important;
	top: 0 !important;
	bottom: 0 !important;
	left: 50% !important;
	width: auto !important;
	max-width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	aspect-ratio: 1 / 1;
	transform: translateX( -50% ) !important;
	box-sizing: border-box;
	background: rgba( 255, 255, 255, .96 ) !important;
	border: 1px solid var( --pmho-line ) !important;
	border-radius: 32px !important;
	box-shadow: 0 12px 30px rgba( 15, 54, 43, .08 ) !important;
	overflow: hidden;
}

body.pm-organico .pm-legacy-convenio .pm-legacy-convenio__carrusel .pm-carrusel__pista {
	height: 100%;
}

/* Las dos láminas tienen proporciones distintas (658×658 y 456×521): se muestran completas. */
body.pm-organico .pm-legacy-convenio .pm-legacy-convenio__carrusel .pm-carrusel__item > img {
	position: static !important;
	width: 100% !important;
	max-width: none !important;
	height: 100% !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	object-fit: contain !important;
	object-position: center !important;
}

body.pm-organico .pm-legacy-convenio > .pm-legacy-benefits--convenio {
	grid-area: benef;
	align-self: start !important;
	display: flex !important;
	flex-direction: column;
	justify-content: space-evenly;
	gap: 18px;
	box-sizing: border-box;
	padding: 32px 36px !important;
	background: rgba( 255, 255, 255, .96 ) !important;
	border: 1px solid var( --pmho-line ) !important;
	border-radius: 32px !important;
	box-shadow: 0 12px 30px rgba( 15, 54, 43, .08 ) !important;
}

body.pm-organico .pm-legacy-convenio > .pm-legacy-benefits--convenio li {
	display: grid !important;
	grid-template-columns: 32px minmax( 0, 1fr ) !important;
	gap: 14px !important;
	align-items: center !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

body.pm-organico .pm-legacy-convenio > .pm-legacy-button--dark,
body.pm-organico .pm-legacy-convenio > p > .pm-legacy-button--dark {
	grid-area: b1;
	justify-self: center !important;
}

body.pm-organico .pm-legacy-convenio > .pm-legacy-button--green {
	grid-area: b2;
	justify-self: center !important;
}

body.pm-organico .pm-legacy-convenio > .pm-legacy-button--red {
	grid-area: b3;
	justify-self: center !important;
}

/* Testimonios de las landings: tres columnas iguales, sin anchos fijos */
body.pm-organico .pm-legacy-testimonial-grid {
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) ) !important;
	gap: 24px !important;
	width: min( 1200px, calc( 100% - 80px ) ) !important;
	margin: 0 auto !important;
}

body.pm-organico .pm-legacy-testimonial-grid > * {
	width: auto !important;
	height: auto !important;
}

@media ( max-width: 1100px ) {
	/* redesign-v2 fija dos columnas con `body.pm-redesign-v2.pm-legacy-document`
	   y no las suelta hasta 900px: hay que igualar su peso para que el cuerpo
	   pase a una columna en el mismo corte que la cabecera. */
	body.pm-organico.pm-redesign-v2.pm-legacy-document .pm-legacy-grid,
	body.pm-organico .pm-legacy-grid {
		grid-template-columns: minmax( 0, 1fr ) !important;
		grid-template-rows: auto !important;
		grid-template-areas: "titulo" "sub" "media" "wsp" "benef" "cta" "form" !important;
		row-gap: 0 !important;
		width: min( 1200px, calc( 100% - 40px ) ) !important;
	}

	body.pm-organico .pm-legacy-grid .pm-legacy-secondary > .pm-legacy-button {
		margin: 28px 0 !important;
	}

	/* redesign-v2 fija dos columnas con `.pm-family--urgencia` y no las suelta
	   hasta 900px: hay que igualar su peso para colapsar en el mismo corte. */
	body.pm-organico.pm-redesign-v2.pm-family--urgencia .pm-urgencia__grid,
	body.pm-organico .pm-urgencia__grid {
		grid-template-columns: minmax( 0, 1fr ) !important;
		grid-template-rows: auto !important;
		grid-template-areas: "cta" "media" "wsp" "benef" "form" !important;
	}

	body.pm-organico .pm-urgencia__grid .pm-urgencia__form.pm-urgencia__form {
		margin-top: 28px !important;
	}

	body.pm-organico .pm-legacy-convenio {
		grid-template-columns: minmax( 0, 1fr ) !important;
		grid-template-areas: "titulo" "frase" "media" "benef" "b2" "b3" !important;
		gap: 24px !important;
		width: min( 1200px, calc( 100% - 40px ) ) !important;
	}

	body.pm-organico .pm-legacy-convenio .pm-legacy-convenio__cuadro {
		flex: 0 0 auto !important;
	}

	body.pm-organico .pm-legacy-convenio .pm-legacy-convenio__carrusel {
		position: relative !important;
		top: auto !important;
		bottom: auto !important;
		left: auto !important;
		width: min( 100%, 480px ) !important;
		transform: none !important;
		margin-inline: auto !important;
	}

	body.pm-organico .pm-legacy-testimonial-grid {
		grid-template-columns: minmax( 0, 1fr ) !important;
		width: min( 1200px, calc( 100% - 40px ) ) !important;
	}

	body.pm-organico .pm-legacy-grid .pm-legacy-benefits.pm-legacy-benefits,
	body.pm-organico .pm-urgencia__grid .pm-checks.pm-checks,
	body.pm-organico .pm-legacy-convenio > .pm-legacy-benefits--convenio {
		padding: 24px !important;
	}
}

/* Refuerzo de especificidad frente al rediseño 2.0 (body.pm-redesign-v2.pm-legacy-document …). */
body.pm-organico.pm-legacy-document .pm-legacy-convenio,
body.pm-organico.pm-redesign-v2 .pm-legacy-convenio {
	display: grid !important;
	grid-template-columns: minmax( 0, 1fr ) minmax( 0, 1fr ) !important;
	grid-template-areas:
		"titulo titulo"
		"frase  frase"
		"benef  media"
		"b2     b3" !important;
	gap: 32px 52px !important;
	align-items: stretch !important;
	width: min( 1200px, calc( 100% - 80px ) ) !important;
	padding: 56px 0 80px !important;
}

/* Título del hero al mismo tamaño que las landings hermanas (redesign-v2 lo fija con clamp). */
body.pm-organico.pm-redesign-v2.pm-legacy-document .pm-legacy-convenio > h2 {
	font-family: "Nunito", sans-serif !important;
	font-size: 56px !important;
	font-weight: 800 !important;
	line-height: 1.1 !important;
	color: var( --pmho-ink ) !important;
}

body.pm-organico.pm-redesign-v2.pm-legacy-document .pm-legacy-convenio > .pm-legacy-convenio__media {
	grid-area: media !important;
	position: static !important;
	width: auto !important;
	height: auto !important;
	min-height: 0 !important;
}

body.pm-organico.pm-redesign-v2 .pm-legacy-convenio .pm-legacy-convenio__carrusel .pm-carrusel__item > img {
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	height: 100% !important;
	object-fit: contain !important;
}

/* "Obtener más información": misma píldora que los otros dos botones (redesign-v2 lo volvía tarjeta con flecha). */
body.pm-organico.pm-redesign-v2.pm-legacy-document .pm-legacy-convenio .pm-legacy-button--dark {
	justify-self: center !important;
	align-self: center !important;
	width: auto !important;
	min-height: 50px !important;
	padding: 13px 28px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: var( --pmho-ink ) !important;
	font-size: 16px !important;
	line-height: 1.2 !important;
}

body.pm-organico.pm-redesign-v2.pm-legacy-document .pm-legacy-convenio .pm-legacy-button--dark::after {
	content: none !important;
	display: none !important;
}

body.pm-organico.pm-family--urgencia .pm-urgencia__grid {
	gap: 0 52px !important;
}

body.pm-organico.pm-family--urgencia .pm-urgencia__grid > div > ul.pm-checks.pm-checks {
	margin: 0 !important;
}

@media ( max-width: 1100px ) {
	body.pm-organico.pm-legacy-document .pm-legacy-convenio,
	body.pm-organico.pm-redesign-v2 .pm-legacy-convenio {
		grid-template-columns: minmax( 0, 1fr ) !important;
		grid-template-areas: "titulo" "frase" "media" "benef" "b2" "b3" !important;
		gap: 24px !important;
		width: min( 1200px, calc( 100% - 40px ) ) !important;
	}

	body.pm-organico.pm-redesign-v2.pm-legacy-document .pm-legacy-convenio > h2 {
		font-size: 37px !important;
	}
}

body.pm-organico.pm-legacy-document .pm-legacy-convenio,
body.pm-organico.pm-redesign-v2 .pm-legacy-convenio {
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box;
}

/* El recuadro del video vuelve a ser el contexto de posición de su iframe. */
body.pm-organico .pm-legacy-grid .pm-legacy-video.pm-legacy-video {
	position: relative !important;
}

/* Refuerzos de especificidad (rediseño 2.0 usa body.pm-redesign-v2.pm-legacy-document …). */
body.pm-organico.pm-legacy-document .pm-legacy-grid,
body.pm-organico.pm-redesign-v2 .pm-legacy-grid {
	row-gap: 0 !important;
	column-gap: 52px !important;
	padding: 0 !important;
}

body.pm-organico.pm-redesign-v2 .pm-legacy-grid .pm-legacy-benefits li,
body.pm-organico.pm-redesign-v2 .pm-legacy-convenio > .pm-legacy-benefits--convenio li {
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

body.pm-organico.pm-redesign-v2 .pm-legacy-convenio > .pm-legacy-button,
body.pm-organico.pm-redesign-v2 .pm-legacy-convenio > p > .pm-legacy-button {
	position: static !important;
	transform: none !important;
	margin: 0 !important;
	justify-self: center !important;
	align-self: center !important;
}

body.pm-organico.pm-redesign-v2 .pm-legacy-convenio > .pm-legacy-button--red {
	grid-column: b3 !important;
	grid-row: b3 !important;
}

body.pm-organico.pm-redesign-v2 .pm-legacy-convenio > .pm-legacy-button--green {
	grid-column: b2 !important;
	grid-row: b2 !important;
}

body.pm-organico.pm-redesign-v2 .pm-legacy-convenio > .pm-legacy-button--dark,
body.pm-organico.pm-redesign-v2 .pm-legacy-convenio > p > .pm-legacy-button--dark {
	grid-column: b1 !important;
	grid-row: b1 !important;
}

body.pm-organico.pm-redesign-v2 .pm-legacy-convenio > .pm-legacy-benefits--convenio,
body.pm-organico.pm-redesign-v2 .pm-legacy-grid .pm-legacy-benefits {
	display: flex !important;
	flex-direction: column !important;
	justify-content: space-evenly !important;
	gap: 18px !important;
}

/* Testimonios (landings y Urgencia): tarjetas de altura automática e igualada,
 * sin desbordes, con la caja y el texto estándar del sitio. */
body.pm-organico.pm-redesign-v2 .pm-legacy-testimonial-grid,
body.pm-organico.pm-redesign-v2 .pm-testimonios-grid {
	display: grid !important;
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) ) !important;
	align-items: stretch !important;
	gap: 24px !important;
	width: min( 1200px, calc( 100% - 80px ) ) !important;
	height: auto !important;
	margin: 0 auto 36px !important;
	padding: 0 !important;
}

body.pm-organico.pm-redesign-v2 .pm-legacy-testimonial-grid blockquote,
body.pm-organico.pm-redesign-v2 .pm-legacy-testimonial-grid blockquote:nth-child( n ),
body.pm-organico.pm-redesign-v2 .pm-testimonios-grid > div {
	position: static !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 12px !important;
	width: auto !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 32px !important;
	overflow: visible !important;
	box-sizing: border-box;
	background: rgba( 255, 255, 255, .96 ) !important;
	border: 1px solid var( --pmho-line ) !important;
	border-radius: 32px !important;
	box-shadow: 0 12px 30px rgba( 15, 54, 43, .08 ) !important;
	text-align: left !important;
}

body.pm-organico.pm-redesign-v2 .pm-legacy-testimonial-grid h3,
body.pm-organico.pm-redesign-v2 .pm-testimonios-grid h3 {
	position: static !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	font-family: "Nunito", sans-serif !important;
	font-size: 22px !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
	color: var( --pmho-gdeep ) !important;
}

body.pm-organico.pm-redesign-v2 .pm-legacy-testimonial-grid p,
body.pm-organico.pm-redesign-v2 .pm-testimonios-grid p {
	position: static !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	font-family: "Nunito", sans-serif !important;
	font-size: 18px !important;
	font-weight: 400 !important;
	line-height: 1.7 !important;
	color: var( --pmho-ink ) !important;
	overflow: visible !important;
}

body.pm-organico.pm-redesign-v2 .pm-legacy-testimonials > .pm-legacy-button,
body.pm-organico.pm-redesign-v2 .pm-urgencia__testimonios .pm-boton {
	position: static !important;
	margin: 0 auto !important;
}

body.pm-organico.pm-redesign-v2 .pm-legacy-testimonials {
	height: auto !important;
	min-height: 0 !important;
	padding: 72px 0 !important;
}

@media ( max-width: 1100px ) {
	body.pm-organico.pm-redesign-v2 .pm-legacy-testimonial-grid,
	body.pm-organico.pm-redesign-v2 .pm-testimonios-grid {
		grid-template-columns: minmax( 0, 1fr ) !important;
		width: min( 1200px, calc( 100% - 40px ) ) !important;
	}

	body.pm-organico.pm-redesign-v2 .pm-legacy-testimonial-grid blockquote,
	body.pm-organico.pm-redesign-v2 .pm-testimonios-grid > div {
		padding: 24px !important;
	}
}

body.pm-organico.pm-redesign-v2 .pm-legacy-testimonials .pm-legacy-testimonial-grid blockquote p,
body.pm-organico.pm-redesign-v2 .pm-urgencia__testimonios .pm-testimonios-grid > div p {
	font-size: 18px !important;
	line-height: 1.7 !important;
	color: var( --pmho-ink ) !important;
}

body.pm-organico.pm-redesign-v2 .pm-legacy-testimonials > .pm-legacy-button,
body.pm-organico.pm-redesign-v2 .pm-urgencia__testimonios .pm-boton {
	margin-top: 36px !important;
}

/* Botón Enviar centrado en todos los formularios de contacto. */
body.pm-organico form p:has( > input[type="submit"] ),
body.pm-organico form p:has( > button[type="submit"] ),
body.pm-organico form p:has( > .wpcf7-submit ),
body.pm-organico form p:has( > .pm-enviar ) {
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	text-align: center !important;
	margin: 16px 0 0 !important;
}

body.pm-organico form input[type="submit"],
body.pm-organico form button[type="submit"],
body.pm-organico form .wpcf7-submit,
body.pm-organico form .pm-enviar {
	display: inline-flex !important;
	float: none !important;
	margin: 0 auto !important;
}

/* El indicador de envío de CF7 no descentra el botón. */
body.pm-organico form p:has( > .wpcf7-submit ) .wpcf7-spinner {
	position: absolute;
	margin-left: 8px;
}

html body.pm-organico.pm-redesign-v2 form input.wpcf7-submit.wpcf7-submit.wpcf7-submit,
html body.pm-organico.pm-redesign-v2 form input[type="submit"].pm-enviar.pm-enviar,
html body.pm-organico.pm-redesign-v2 form button[type="submit"].pm-enviar.pm-enviar {
	margin: 0 !important;
	transform: none !important;
	position: static !important;
	left: auto !important;
}

/* La frase bajo el título también en Formas de Pago, legales y títulos de artículo. */
body.pm-organico:not( .pm-route--inicio ) .pm-main h1.pm-formas-titulo:has( + .pm-subtitulo ),
body.pm-organico:not( .pm-route--inicio ) .pm-main h1.pm-solo-lectores:has( + .pm-subtitulo ),
body.pm-organico:not( .pm-route--inicio ) .pm-main h1.pm-titulo--articulo:has( + .pm-subtitulo ) {
	margin-bottom: 0 !important;
}

/* Términos: el H1 (visible desde el rediseño) deja espacio para su subrayado. */
body.pm-organico:not( .pm-route--inicio ) .pm-main h1.pm-solo-lectores:has( + .pm-subtitulo ) {
	padding-bottom: 18px !important;
}

/* Imagen más alta que el texto: se reduce sin recortar y se centra en su columna. */
body.pm-organico:not( .pm-route--inicio ) .pm-cols.pm-cols--igualada.pm-cols--ajustada > div:not( .pm-caja ) img {
	display: block !important;
	width: auto !important;
	max-width: 100% !important;
	height: var( --pm-igual-medio ) !important;
	margin-inline: auto !important;
	object-fit: contain !important;
}

/* ------------------------------------------------ Formas de Pago
 * Mismo estilo de tarjetas que Convenios (pedido de Felipe, 5-sep), pero sin
 * enlaces: son dos elementos informativos. Las imágenes traen icono, título y
 * texto, así que van a tamaño legible.
 */
body.pm-organico.pm-route--formas-de-pago .pm-pagos-grilla {
	grid-template-columns: repeat( 2, minmax( 0, 520px ) ) !important;
	justify-content: start;
	gap: 28px;
}

body.pm-organico.pm-route--formas-de-pago .pm-pagos-grilla .pm-pago {
	text-align: center;
}

body.pm-organico.pm-route--formas-de-pago .pm-pagos-grilla img {
	display: block;
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 1496 / 841;
	padding: 0;
	margin: 0 0 14px;
	object-fit: cover;
	border-radius: 24px !important;
	background: var( --pmho-pale );
}

@media ( max-width: 700px ) {
	body.pm-organico.pm-route--formas-de-pago .pm-pagos-grilla {
		grid-template-columns: 1fr !important;
	}
}

/* ------------------------------------------------ Contacto
 * La capa de fidelidad fija los campos en 410px (medida del Wix); la tarjeta del
 * rediseño es más angosta y los campos sobresalían 33px por la derecha en
 * escritorio. Aquí ocupan el ancho disponible. (Revisión de Felipe, 5-sep.)
 */
body.pm-organico.pm-route--contacto .pm-form .campo {
	width: 100% !important;
	max-width: 100%;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

body.pm-organico.pm-route--contacto .pm-form .campo input,
body.pm-organico.pm-route--contacto .pm-form .campo textarea {
	width: 100% !important;
	max-width: 100%;
	box-sizing: border-box;
}

/* Contacto: neutraliza medidas y espaciados heredados del Wix en la tarjeta de
   texto, para que se vea igual que las tarjetas de las páginas de servicio. */
body.pm-organico.pm-route--contacto .pm-caja p,
body.pm-organico.pm-route--contacto .pm-caja li {
	width: auto !important;
	max-width: none !important;
	margin-left: 0 !important;
	letter-spacing: normal !important;
	word-spacing: normal !important;
}

/* Contacto: la tarjeta de texto (izquierda) se estira a la altura del formulario
   (derecha) y el botón de WhatsApp queda al pie de la tarjeta. (Felipe, 5-sep) */
@media ( min-width: 1101px ) {
	body.pm-organico.pm-route--contacto .pm-cols {
		align-items: stretch !important;
	}

	body.pm-organico.pm-route--contacto .pm-cols > .pm-caja {
		display: flex;
		flex-direction: column;
		height: auto !important;
	}

	body.pm-organico.pm-route--contacto .pm-cols > .pm-caja > p:last-child {
		margin-top: auto !important;
	}
}

/* Contacto: el botón de WhatsApp cuelga POR FUERA de la tarjeta, bajo su borde,
   como en las páginas de servicio (Felipe, 5-sep). La tarjeta sigue midiendo
   lo mismo que el formulario en escritorio. */
body.pm-organico.pm-route--contacto .pm-cols > .pm-caja {
	position: relative;
	overflow: visible;
	justify-content: flex-start !important; /* el texto arriba, no centrado */
}

body.pm-organico.pm-route--contacto .pm-cols > .pm-caja > p:last-child {
	position: absolute !important;
	left: 0;
	right: 0;
	top: auto !important;
	bottom: -84px !important;   /* 60px de botón + 24px de aire: no solapa la tarjeta */
	height: auto !important;
	margin: 0 !important;
	display: flex;               /* centra el botón bajo la tarjeta */
	justify-content: center;
	padding: 0 !important;
}

body.pm-organico.pm-route--contacto .pm-cols > .pm-caja .pm-boton--whatsapp {
	position: static !important;
	top: auto !important;
	bottom: auto !important;
	left: auto !important;
	transform: none !important;
	margin: 0 auto !important;
	display: inline-flex;
}

/* Espacio para el botón que cuelga: en escritorio bajo las dos columnas; en
   móvil entre la tarjeta y el formulario. */
@media ( min-width: 1101px ) {
	body.pm-organico.pm-route--contacto .pm-cols {
		margin-bottom: 100px;
	}
}

@media ( max-width: 1100px ) {
	body.pm-organico.pm-route--contacto .pm-cols > .pm-caja {
		margin-bottom: 112px !important;
	}
}

/* Contacto: el botón Enviar dentro del formulario, bajo el mensaje, centrado. */
body.pm-organico.pm-route--contacto .pm-form input[type="submit"],
body.pm-organico.pm-route--contacto .pm-form .pm-enviar {
	position: static !important;
	top: auto !important;
	bottom: auto !important;
	left: auto !important;
	transform: none !important;
	display: block;
	margin: 28px auto 0 !important;
}

body.pm-organico.pm-route--contacto .pm-form .wpcf7-form > p:last-of-type,
body.pm-organico.pm-route--contacto .pm-form .wpcf7-form > .campo:last-of-type {
	margin-bottom: 0 !important;
}

/* Contacto (escritorio): la tarjeta blanca termina 84px antes que el formulario
   y el botón de WhatsApp cuelga con su borde inferior alineado al del formulario. */
@media ( min-width: 1101px ) {
	body.pm-organico.pm-route--contacto .pm-cols {
		margin-bottom: 0;
	}
	body.pm-organico.pm-route--contacto .pm-main .pm-cols > .pm-caja.pm-caja.pm-caja.pm-caja {
		background: transparent !important;
		box-shadow: none !important;
		border-color: transparent !important;
		padding-bottom: 84px !important;
		isolation: isolate;
	}
	body.pm-organico.pm-route--contacto .pm-cols > .pm-caja::before {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		top: 0;
		bottom: 84px;
		background: rgba(255, 255, 255, 0.96);
		border: 1px solid #dce7df;
		border-radius: 32px;
		box-shadow: 0 12px 30px rgba(15, 54, 43, 0.08);
		z-index: -1;
	}
	body.pm-organico.pm-route--contacto .pm-cols > .pm-caja > p:last-child {
		bottom: 0 !important;   /* borde inferior del botón = borde inferior del formulario */
	}
}

/* Contacto: el mensaje determina su altura y deja espacio real para Enviar. */
body.pm-organico.pm-route--contacto .pm-form .campo:has(textarea) {
	height: auto !important;
	position: static !important;
	margin-bottom: 0 !important;
}
body.pm-organico.pm-route--contacto .pm-form .campo:has(textarea) > p {
	margin-bottom: 0 !important;
}
body.pm-organico.pm-route--contacto .pm-form .wpcf7-form > p:has(> .pm-enviar) {
	margin-top: 28px !important;
}

/* ------------------------------------------------------------------------
   Landings con encabezado propio (Urgencia Dental y las campañas): de tablet
   hacia abajo, los datos del encabezado (teléfono, «Escríbenos por WhatsApp
   ¡Da click en el Logo!» y ubicación) sobran, porque abajo aparece la barra
   estándar del sitio (Agendar · WhatsApp · Llamar, en home-organico.css).
   ------------------------------------------------------------------------ */
@media ( min-width: 1101px ) {
	/* En escritorio estas landings conservan su encabezado y no llevan barra. */
	body.pm-organico.pm-route--urgencia-dental .pmho-flotantes,
	body.pm-organico.pm-family--legacy .pmho-flotantes {
		display: none;
	}
}

@media ( max-width: 1100px ) {
	body.pm-organico.pm-route--urgencia-dental .pm-urgencia__header .datos,
	body.pm-organico.pm-family--legacy .pm-legacy-header__contact {
		display: none !important;
	}
}

/* ------------------------------------------------------------------------
   Urgencia Dental: el encabezado sigue el mismo patrón que las páginas de
   servicio — título, línea verde debajo y frase de complemento.
   ------------------------------------------------------------------------ */
body.pm-organico.pm-route--urgencia-dental .pm-urgencia__hero h1.pm-titulo {
	/* redesign-v2 fuerza position:static en esta landing: hay que ganarle
	   para que la línea verde se ancle al título y no a la sección. */
	position: relative !important;
	margin-bottom: 0 !important;
	padding-bottom: 18px;
}

body.pm-organico.pm-route--urgencia-dental .pm-urgencia__hero h1.pm-titulo::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 82px;
	height: 5px;
	background: var( --pmho-green );
	border-radius: 999px;
}

body.pm-organico.pm-route--urgencia-dental .pm-urgencia__hero .pm-subtitulo {
	max-width: 620px;
	margin: 14px 0 32px !important;
	color: var( --pmho-muted ) !important;
	font-size: 19px !important;
	font-weight: 400 !important;
	letter-spacing: normal !important;
	line-height: 1.55 !important;
	text-transform: none !important;
}

/* ------------------------------------------------------------------------
   Landings de campaña: mismo encabezado que las páginas de servicio —
   título visible, línea verde debajo y frase de complemento.
   ------------------------------------------------------------------------ */
body.pm-organico.pm-family--legacy #pm-legacy-title {
	position: relative !important;
	margin-bottom: 0 !important;
	padding-bottom: 18px;
}

body.pm-organico.pm-family--legacy #pm-legacy-title::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 82px;
	height: 5px;
	background: var( --pmho-green );
	border-radius: 999px;
}

body.pm-organico.pm-family--legacy .pm-legacy-subtitle {
	max-width: 620px;
	margin: 14px 0 32px !important;
	color: var( --pmho-muted ) !important;
	font-size: 19px !important;
	font-weight: 400 !important;
	font-style: normal !important;
	letter-spacing: normal !important;
	line-height: 1.55 !important;
	text-transform: none !important;
}

/* La landing de Convenio arma su hero con una rejilla de áreas: la frase de
   complemento estrena su propia fila, pegada al título como en las hermanas
   (el hueco de 32px de la rejilla se compensa con el margen negativo). */
body.pm-organico.pm-redesign-v2.pm-legacy-document .pm-legacy-convenio > .pm-legacy-subtitle {
	grid-area: frase !important;
	/* La rejilla separa las filas 32px; con -18px la frase queda a los 14px
	   que usan Servicios y las landings hermanas. */
	margin: -18px 0 0 !important;
}

@media ( max-width: 1100px ) {
	/* Ahí el hueco de la rejilla baja a 24px. */
	body.pm-organico.pm-redesign-v2.pm-legacy-document .pm-legacy-convenio > .pm-legacy-subtitle {
		margin: -10px 0 0 !important;
	}
}

/* El título de la landing de Convenio va centrado: la línea verde y la frase
   se centran con él para no quedar colgando a la izquierda. */
body.pm-organico.pm-family--legacy .pm-legacy-convenio #pm-legacy-title::after {
	left: 50%;
	transform: translateX( -50% );
}

body.pm-organico.pm-redesign-v2.pm-legacy-document .pm-legacy-convenio > .pm-legacy-subtitle {
	max-width: 720px;
	margin-right: auto !important;
	margin-left: auto !important;
	text-align: center;
}

/* ========================================================================
   Página Gracias (destino del formulario). Orden: confirmación → acciones →
   redes. Un solo widget por red: Facebook con su fachada e Instagram con
   tarjeta propia (Instagram no ofrece incrustado de perfil).
   ======================================================================== */
body.pm-organico.pm-route--gracias .pm-legacy-thanks__intro {
	max-width: 760px;
	margin: 0 auto 40px;
	text-align: center;
}

body.pm-organico.pm-route--gracias #pm-legacy-thanks-title {
	position: relative !important;
	margin: 0 !important;
	padding-bottom: 18px !important;
	font-family: "Nunito", sans-serif !important;
	font-size: 46px !important;
	font-weight: 800 !important;
	line-height: 1.1 !important;
	letter-spacing: -.02em !important;
	text-transform: none !important;
	color: var( --pmho-ink ) !important;
}

body.pm-organico.pm-route--gracias #pm-legacy-thanks-title::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX( -50% );
	width: 82px;
	height: 5px;
	background: var( --pmho-green );
	border-radius: 999px;
}

body.pm-organico.pm-route--gracias .pm-legacy-thanks__intro .pm-legacy-subtitle {
	max-width: 620px;
	margin: 14px auto 0 !important;
	color: var( --pmho-muted ) !important;
	font-size: 19px !important;
	font-weight: 400 !important;
	font-style: normal !important;
	letter-spacing: normal !important;
	line-height: 1.55 !important;
	text-align: center;
}

/* Los dos botones de acción, uno junto al otro y centrados. */
body.pm-organico.pm-route--gracias .pm-gracias-acciones {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 16px;
	margin: 0 0 56px;
}

body.pm-organico.pm-redesign-v2.pm-legacy-document.pm-route--gracias .pm-gracias-acciones > a.pm-legacy-button {
	position: static !important;
	margin: 0 !important;
	width: auto !important;
	max-width: none !important;
	height: auto !important;
}

body.pm-organico.pm-route--gracias .pm-gracias-redes__titulo {
	margin: 0 0 24px !important;
	font-family: "Nunito", sans-serif !important;
	font-size: 24px !important;
	font-weight: 800 !important;
	color: var( --pmho-ink ) !important;
	text-align: center;
}

body.pm-organico.pm-route--gracias .pm-gracias-redes {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-start;
	gap: 32px;
	margin: 0 0 8px;
}

/* El rediseño 2.0 pone height:auto a todo lo de esta landing: la fachada de
   Facebook necesita su tamaño real o el incrustado no cabe al abrirlo. */
body.pm-organico.pm-redesign-v2.pm-legacy-document.pm-route--gracias .pm-gracias-redes > .pm-facebook-facade--timeline {
	flex: 0 0 auto !important;
	width: 314px !important;
	height: 575px !important;
	max-width: 100% !important;
}

/* Tarjeta de red social: mismas medidas que la fachada de Facebook. */
body.pm-organico.pm-route--gracias .pm-red-tarjeta {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	box-sizing: border-box;
	width: 314px;
	height: 575px;
	border: 1px solid #dedede;
	border-radius: 12px;
	background: #fff;
	text-decoration: none;
	transition: transform .2s ease, box-shadow .2s ease;
}

body.pm-organico.pm-route--gracias .pm-red-tarjeta:hover,
body.pm-organico.pm-route--gracias .pm-red-tarjeta:focus-visible {
	transform: translateY( -3px );
	box-shadow: 0 16px 34px rgba( 15, 54, 43, .16 );
}

body.pm-organico.pm-route--gracias .pm-red-tarjeta__cabecera {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 16px;
	border-bottom: 1px solid #ececec;
}

body.pm-organico.pm-route--gracias .pm-red-tarjeta__glifo {
	flex: 0 0 auto;
	width: 40px;
	height: 40px;
	border-radius: 12px;
	background:
		radial-gradient( circle at 30% 107%, #fdf497 0%, #fd5949 45%, #d6249f 60%, #285aeb 90% );
	box-shadow: inset 0 0 0 2px #fff, inset 0 0 0 4px transparent;
}

body.pm-organico.pm-route--gracias .pm-red-tarjeta__glifo::after {
	content: "";
	display: block;
	width: 18px;
	height: 18px;
	margin: 11px auto;
	border: 2px solid #fff;
	border-radius: 6px;
	box-shadow: inset 0 0 0 1px transparent;
}

body.pm-organico.pm-route--gracias .pm-red-tarjeta__identidad {
	display: flex;
	flex-direction: column;
	min-width: 0;
	line-height: 1.25;
}

body.pm-organico.pm-route--gracias .pm-red-tarjeta__identidad strong {
	font-size: 15px;
	font-weight: 700;
	color: var( --pmho-ink );
}

body.pm-organico.pm-route--gracias .pm-red-tarjeta__identidad small {
	font-size: 13px;
	color: var( --pmho-muted );
}

body.pm-organico.pm-route--gracias .pm-red-tarjeta__foto {
	display: block;
	flex: 1 1 auto;
	overflow: hidden;
	min-height: 0;
}

body.pm-organico.pm-route--gracias .pm-red-tarjeta__foto img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

body.pm-organico.pm-route--gracias .pm-red-tarjeta__pie {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	height: 56px;
	background: linear-gradient( 90deg, #fd5949, #d6249f 55%, #285aeb );
	color: #fff;
	font-size: 15px;
	font-weight: 800;
	letter-spacing: .01em;
}

@media ( max-width: 700px ) {
	body.pm-organico.pm-route--gracias #pm-legacy-thanks-title {
		font-size: clamp( 30px, 8.5vw, 37px ) !important;
	}

	body.pm-organico.pm-route--gracias .pm-gracias-acciones > .pm-legacy-button {
		width: 100% !important;
		max-width: 340px;
	}

	body.pm-organico.pm-route--gracias .pm-gracias-redes {
		gap: 24px;
	}
}

/* En Gracias las dos tarjetas invitan igual: en vez del segundo recuadro
   simulado (que repetía la misma portada), Facebook lleva una franja fija
   «Cargar Facebook», gemela del pie de la tarjeta de Instagram. */
body.pm-organico.pm-route--gracias .pm-facebook-facade--timeline .pm-facebook-facade__trigger::after {
	display: none !important;
	content: none !important;
}

body.pm-organico.pm-route--gracias .pm-facebook-facade--timeline .pm-facebook-facade__load {
	display: flex !important;
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	width: auto;
	min-height: 56px;
	padding: 0;
	transform: none;
	border: 0;
	border-radius: 0;
	background: #0f6fe8; /* azul Facebook un punto más oscuro (antes #1877f2): blanco encima pasa de 4,2:1 a 4,7:1 */
	box-shadow: none;
	color: #fff;
	font-size: 15px;
	font-weight: 800;
}

body.pm-organico.pm-route--gracias .pm-facebook-facade--timeline .pm-facebook-facade__load b {
	width: 18px;
	height: 18px;
	margin-right: 8px;
	border-radius: 3px;
	background: #fff;
	color: #0f6fe8;
	font-size: 14px;
}

/* Sin el segundo recuadro, la portada simulada crece para llegar a la franja
   y la tarjeta no queda con un hueco blanco al pie. */
body.pm-organico.pm-route--gracias .pm-facebook-facade--timeline .pm-facebook-facade__post {
	height: 375px !important;
}

body.pm-organico.pm-route--gracias .pm-facebook-facade--timeline .pm-facebook-facade__cover {
	height: 261px !important;
}

/* Ortodoncia: imagen más compacta y columnas alineadas sin recortar el recurso. */
/* Ajustes de escritorio de esta landing: el corte va con el del resto del
   sitio (1100px), no en 931, para que el cuerpo cambie a la vez que la
   cabecera y no quede una etapa intermedia a dos columnas apretadas. */
@media (min-width: 1101px) {
 body.pm-organico.pm-redesign-v2.pm-legacy-document .pm-legacy-landing--ortodoncia .pm-legacy-grid {
  width: min(1100px, 100%) !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
 }
}

/* Ajustes de escritorio de esta landing: el corte va con el del resto del
   sitio (1100px), no en 931, para que el cuerpo cambie a la vez que la
   cabecera y no quede una etapa intermedia a dos columnas apretadas. */
@media (min-width: 1101px) {
 body.pm-organico.pm-redesign-v2.pm-legacy-document .pm-legacy-landing--ortodoncia .pm-legacy-primary h2 {
  font-size: 48px !important;
 }
 body.pm-organico.pm-redesign-v2.pm-legacy-document .pm-legacy-landing--ortodoncia .pm-legacy-benefits {
  padding: 24px 28px !important;
  gap: 18px !important;
 }
 body.pm-organico.pm-redesign-v2.pm-legacy-document .pm-legacy-landing--ortodoncia .pm-legacy-benefits li {
  font-size: 16px !important;
  line-height: 1.5 !important;
 }
}

/* Ortodoncia: reducir la imagen completa para compactar el formulario alineado. */
/* Ajustes de escritorio de esta landing: el corte va con el del resto del
   sitio (1100px), no en 931, para que el cuerpo cambie a la vez que la
   cabecera y no quede una etapa intermedia a dos columnas apretadas. */
@media (min-width: 1101px) {
 body.pm-organico.pm-redesign-v2.pm-legacy-document .pm-legacy-landing--ortodoncia .pm-legacy-feature-image {
  height: auto !important; /* antes 380px: la foto cuadrada quedaba estirada (Google la marcaba como deformada) */
  width: 100% !important;
  object-fit: contain !important;
  background: #fff;
 }
 body.pm-organico.pm-redesign-v2.pm-legacy-document .pm-legacy-landing--ortodoncia .pm-legacy-form {
  min-height: 0 !important;
  padding-top: 32px !important;
  padding-bottom: 32px !important;
 }
}

/* Ortodoncia: ocupar todo el marco sin franjas laterales ni recortar la imagen. */
/* Ajustes de escritorio de esta landing: el corte va con el del resto del
   sitio (1100px), no en 931, para que el cuerpo cambie a la vez que la
   cabecera y no quede una etapa intermedia a dos columnas apretadas. */
@media (min-width: 1101px) {
 body.pm-organico.pm-redesign-v2.pm-legacy-document .pm-legacy-landing--ortodoncia .pm-legacy-feature-image {
  object-fit: fill !important;
 }
}

/* Implantes: columnas compactas con los bordes superior e inferior alineados. */
/* Ajustes de escritorio de esta landing: el corte va con el del resto del
   sitio (1100px), no en 931, para que el cuerpo cambie a la vez que la
   cabecera y no quede una etapa intermedia a dos columnas apretadas. */
@media (min-width: 1101px) {
 body.pm-organico.pm-redesign-v2.pm-legacy-document .pm-legacy-landing--implantes .pm-legacy-grid {
  width: min(1100px, 100%) !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
 }
 body.pm-organico.pm-redesign-v2.pm-legacy-document .pm-legacy-landing--implantes .pm-legacy-primary h2 { font-size: 48px !important; }
 body.pm-organico.pm-redesign-v2.pm-legacy-document .pm-legacy-landing--implantes .pm-legacy-form {
  min-height: 0 !important;
  padding-top: 32px !important;
  padding-bottom: 32px !important;
 }
 body.pm-organico.pm-redesign-v2.pm-legacy-document .pm-legacy-landing--implantes .pm-legacy-benefits {
  padding: 24px 28px !important;
  gap: 18px !important;
 }
 body.pm-organico.pm-redesign-v2.pm-legacy-document .pm-legacy-landing--implantes .pm-legacy-benefits li {
  font-size: 16px !important;
  line-height: 1.5 !important;
 }
}

/* Ajustes de escritorio de esta landing: el corte va con el del resto del
   sitio (1100px), no en 931, para que el cuerpo cambie a la vez que la
   cabecera y no quede una etapa intermedia a dos columnas apretadas. */
@media (min-width: 1101px) {
 body.pm-organico.pm-redesign-v2.pm-legacy-document .pm-legacy-landing--implantes .pm-legacy-feature-image {
  height: auto !important; /* antes 380px: la lámina quedaba estirada (Google la marcaba como deformada) */
  width: 100% !important;
  object-fit: fill !important;
 }
}

@media (min-width: 1101px) {
 body.pm-organico.pm-redesign-v2.pm-legacy-document .pm-legacy-landing--terceros .pm-legacy-feature-image { height: auto !important; width: 100% !important; }
}

/* Terceros molares: columnas compactas con los bordes superior e inferior alineados. */
@media (min-width: 1101px) {
 body.pm-organico.pm-redesign-v2.pm-legacy-document .pm-legacy-landing--terceros .pm-legacy-grid {
  width: min(1100px, 100%) !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
 }
 body.pm-organico.pm-redesign-v2.pm-legacy-document .pm-legacy-landing--terceros .pm-legacy-primary h2 { font-size: 48px !important; }
 body.pm-organico.pm-redesign-v2.pm-legacy-document .pm-legacy-landing--terceros .pm-legacy-form {
  min-height: 0 !important;
  padding-top: 32px !important;
  padding-bottom: 32px !important;
 }
 body.pm-organico.pm-redesign-v2.pm-legacy-document .pm-legacy-landing--terceros .pm-legacy-benefits {
  padding: 24px 28px !important;
  gap: 18px !important;
 }
 body.pm-organico.pm-redesign-v2.pm-legacy-document .pm-legacy-landing--terceros .pm-legacy-benefits li {
  font-size: 16px !important;
  line-height: 1.5 !important;
 }
}

/* ------------------------------------------------------------------------
   Cabecera de las landings: limpia (sin la franja verde) y con el mismo
   borde difuminado que las páginas normales al desplazar.
   La franja verde venía de `legacy-landings.css`, que se la quita a cuatro
   landings pero se la deja a Gracias y a Convenio Caja los Andes.
   ------------------------------------------------------------------------ */
body.pm-organico.pm-family--legacy .pm-legacy-header__inner {
	border-bottom: 0 !important;
}

body.pm-organico.pm-family--legacy .pm-legacy-header {
	position: sticky;
	overflow: visible;
}

body.pm-organico.pm-family--legacy .pm-legacy-header::after {
	content: "";
	position: absolute;
	top: 100%;
	right: 0;
	left: 0;
	height: 44px;
	opacity: 0;
	background: linear-gradient( to bottom, rgba( 248, 248, 242, .92 ), rgba( 248, 248, 242, 0 ) );
	-webkit-backdrop-filter: saturate( 160% ) blur( 12px );
	backdrop-filter: saturate( 160% ) blur( 12px );
	-webkit-mask-image: linear-gradient( to bottom, #000, transparent );
	mask-image: linear-gradient( to bottom, #000, transparent );
	pointer-events: none;
	transition: opacity .3s ease;
}

body.pm-organico.pm-family--legacy .pm-legacy-header.is-scrolled::after {
	opacity: 1;
}

body.pm-organico.pm-family--legacy .pm-legacy-header.is-scrolled {
	box-shadow: 0 6px 24px rgba( 15, 54, 43, .05 );
}

/* Video en diferido (9-sep-2026). El iframe de YouTube no lleva src hasta que el visitante
   pulsa; encima va la miniatura con el botón de reproducir. Así la página no abre ninguna
   conexión ni cookie de YouTube al cargar (Prácticas recomendadas de Google) y pesa menos.
   Los recuadros conservan su tamaño y radio: el iframe sigue en el DOM con su CSS de siempre. */
.pm-video-facade {
	position: relative;
}

.pm-video-facade__play {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: var( --pm-facade-radius, 0 );
	background: #111;
	cursor: pointer;
	overflow: hidden;
}

.pm-video-facade__play img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.pm-video-facade__icono {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 76px;
	height: 54px;
	transform: translate( -50%, -50% );
	border-radius: 16px;
	background: rgba( 12, 33, 27, .82 );
	transition: background .2s ease, transform .2s ease;
}

.pm-video-facade__icono::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate( -38%, -50% );
	border-left: 24px solid #fff;
	border-top: 14px solid transparent;
	border-bottom: 14px solid transparent;
}

.pm-video-facade__play:hover .pm-video-facade__icono,
.pm-video-facade__play:focus-visible .pm-video-facade__icono {
	background: var( --pmho-gdeep, #6fa91d );
	transform: translate( -50%, -50% ) scale( 1.06 );
}

.pm-video-facade__play:focus-visible {
	outline: 3px solid var( --pmho-green, #94cf2e );
	outline-offset: 2px;
}

.pm-video-facade.is-playing .pm-video-facade__play {
	display: none;
}

body.pm-organico:not( .pm-route--inicio ) .pm-cols .pm-video.pm-video-facade {
	--pm-facade-radius: 24px;
}

body.pm-organico .pm-legacy-grid .pm-legacy-video.pm-video-facade {
	--pm-facade-radius: 32px;
}

/* Urgencia: su recuadro es 96/65 (más cuadrado que el video); la miniatura se muestra
   completa sobre fondo oscuro, como hacía el reproductor de YouTube antes de pulsar. */
.pm-urgencia__video.pm-video-facade .pm-video-facade__play img {
	object-fit: contain;
}
