.elementor-3928 .elementor-element.elementor-element-6143867b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;}.elementor-3928 .elementor-element.elementor-element-6143867b:not(.elementor-motion-effects-element-type-background), .elementor-3928 .elementor-element.elementor-element-6143867b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://escuelashenming.cl/wp-content/uploads/2026/10/portada-paisaje-tinta-1.webp");background-position:60% 62%;background-size:cover;}.elementor-3928 .elementor-element.elementor-element-334c9f4b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3928 .elementor-element.elementor-element-334c9f4b:not(.elementor-motion-effects-element-type-background), .elementor-3928 .elementor-element.elementor-element-334c9f4b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://escuelashenming.cl/wp-content/uploads/2026/10/niebla-1.webp");}.elementor-3928 .elementor-element.elementor-element-5af2cc29{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3928 .elementor-element.elementor-element-5af2cc29:not(.elementor-motion-effects-element-type-background), .elementor-3928 .elementor-element.elementor-element-5af2cc29 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://escuelashenming.cl/wp-content/uploads/2026/10/niebla-1.webp");}.elementor-3928 .elementor-element.elementor-element-3af6ca4a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:18px 18px;--row-gap:18px;--column-gap:18px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-3928 .elementor-element.elementor-element-5ffff01a{text-align:start;}.elementor-3928 .elementor-element.elementor-element-562caa92{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:14px 14px;--row-gap:14px;--column-gap:14px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-3928 .elementor-element.elementor-element-48f925ed .elementor-heading-title{font-family:"Ma Shan Zheng", Sans-serif;color:#FFFEFB;}.elementor-3928 .elementor-element.elementor-element-3dd034e .elementor-heading-title{font-family:"Montserrat", Sans-serif;color:#8A938B;}.elementor-3928 .elementor-element.elementor-element-511c7b5b .elementor-heading-title{font-family:"Montserrat", Sans-serif;color:#3A3A3A;}.elementor-3928 .elementor-element.elementor-element-682aea2 .elementor-heading-title{font-family:"Cormorant Garamond", Sans-serif;color:#3A3A3A;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-3928 .elementor-element.elementor-element-209b5c27{font-family:"Roboto", Sans-serif;}.elementor-3928 .elementor-element.elementor-element-659327ba{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:14px 14px;--row-gap:14px;--column-gap:14px;--flex-wrap:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-3928 .elementor-element.elementor-element-30e11003 .elementor-button{background-color:#7A1E1E;font-family:"Montserrat", Sans-serif;fill:#FFFEFB;color:#FFFEFB;}.elementor-3928 .elementor-element.elementor-element-30e11003 .elementor-button:hover, .elementor-3928 .elementor-element.elementor-element-30e11003 .elementor-button:focus{background-color:#5C1616;color:#FFFEFB;border-color:#5C1616;}.elementor-3928 .elementor-element.elementor-element-30e11003 .elementor-button:hover svg, .elementor-3928 .elementor-element.elementor-element-30e11003 .elementor-button:focus svg{fill:#FFFEFB;}.elementor-3928 .elementor-element.elementor-element-1e30f2b9 .elementor-button{background-color:transparent;font-family:"Montserrat", Sans-serif;fill:#3A3A3A;color:#3A3A3A;}.elementor-3928 .elementor-element.elementor-element-1e30f2b9 .elementor-button:hover, .elementor-3928 .elementor-element.elementor-element-1e30f2b9 .elementor-button:focus{background-color:#3A3A3A;color:#FFFEFB;border-color:#3A3A3A;}.elementor-3928 .elementor-element.elementor-element-1e30f2b9 .elementor-button:hover svg, .elementor-3928 .elementor-element.elementor-element-1e30f2b9 .elementor-button:focus svg{fill:#FFFEFB;}.elementor-3928 .elementor-element.elementor-element-53664be2{font-family:"Roboto", Sans-serif;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-3928 .elementor-element.elementor-element-6143867b:not(.elementor-motion-effects-element-type-background), .elementor-3928 .elementor-element.elementor-element-6143867b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-position:0px 0px;}}@media(min-width:768px){.elementor-3928 .elementor-element.elementor-element-6143867b{--content-width:1140px;}}@media(max-width:767px){.elementor-3928 .elementor-element.elementor-element-6143867b:not(.elementor-motion-effects-element-type-background), .elementor-3928 .elementor-element.elementor-element-6143867b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-position:bottom center;background-repeat:no-repeat;background-size:200% auto;}.elementor-3928 .elementor-element.elementor-element-562caa92{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-3928 .elementor-element.elementor-element-659327ba{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}}/* Start custom CSS *//*
 * Escuela Shen Ming · estilos del rediseño
 * Se carga en el CSS personalizado de cada página rediseñada (Elementor > Ajustes de página > Avanzado).
 * Afecta solo a los contenedores con la clase sm-seccion; la cabecera y el pie de Astra no se tocan.
 * Clases asignadas en Elementor > Avanzado > Clases CSS.
 */

:root {
	/* Paleta A de la maqueta (colores oficiales de la escuela en Canva) */
	--sm-papel: #faf7f2;
	--sm-blanco: #fffefb;
	--sm-niebla: #f1f2ec;
	--sm-linea: #e4e2da;
	--sm-salvia: #a4b8a5;
	--sm-tinta: #3a3a3a;
	--sm-gris: #5f605c;
	--sm-aguada: #8a938b;
	--sm-vino: #7a1e1e;
	--sm-vino-oscuro: #5c1616;

	--sm-titulo: "Montserrat", sans-serif;
	--sm-texto: "Roboto", sans-serif;
	--sm-serif: "Cormorant Garamond", Georgia, serif;
	--sm-caligrafia: "Ma Shan Zheng", "KaiTi", serif;

	--sm-radio: 28px;
	--sm-radio-banda: 36px;
	--sm-margen-banda: clamp(12px, 2vw, 28px);
	--sm-espacio: clamp(64px, 7vw, 104px);
}

body {
	background-color: var(--sm-papel);
}

/* Cabecera de Astra en las páginas rediseñadas: menú en tinta, como en la maqueta */

body.ast-theme-transparent-header:has(.sm-seccion) #masthead .main-header-menu .menu-link,
body.ast-theme-transparent-header:has(.sm-seccion) #masthead .ast-builder-menu .menu-item > .menu-link {
	color: var(--sm-gris);
	font-family: "Montserrat", sans-serif;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

body.ast-theme-transparent-header:has(.sm-seccion) #masthead .main-header-menu .current-menu-item > .menu-link,
body.ast-theme-transparent-header:has(.sm-seccion) #masthead .main-header-menu .menu-link:hover {
	color: var(--sm-tinta);
}

body.ast-theme-transparent-header:has(.sm-seccion) #masthead .ast-mobile-menu-trigger-minimal,
body.ast-theme-transparent-header:has(.sm-seccion) #masthead .ast-mobile-menu-trigger-fill,
body.ast-theme-transparent-header:has(.sm-seccion) #masthead .menu-toggle {
	background: transparent;
	color: var(--sm-tinta);
}

body.ast-theme-transparent-header:has(.sm-seccion) #masthead .ast-mobile-svg {
	fill: var(--sm-tinta);
}

/* Cabecera fija al bajar, como en la maqueta */
body.ast-theme-transparent-header:has(.sm-seccion) #masthead {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 99;
	backdrop-filter: blur(8px);
}

body.admin-bar.ast-theme-transparent-header:has(.sm-seccion) #masthead {
	top: 32px;
}

@media (max-width: 782px) {
	body.admin-bar.ast-theme-transparent-header:has(.sm-seccion) #masthead {
		top: 46px;
	}
}

/* Bajo 600 px la barra de WordPress deja de ser fija y se va con el scroll */
@media (max-width: 600px) {
	body.admin-bar.ast-theme-transparent-header:has(.sm-seccion) #masthead {
		top: 0;
	}
}

/* Barra de papel con línea inferior, como la cabecera de la maqueta */
body.ast-theme-transparent-header:has(.sm-seccion) #masthead .main-header-bar,
body.ast-theme-transparent-header:has(.sm-seccion) #masthead .ast-primary-header-bar,
body.ast-theme-transparent-header:has(.sm-seccion) #masthead #ast-mobile-header .ast-primary-header-bar {
	background: color-mix(in srgb, var(--sm-papel) 92%, transparent);
	border-bottom: 1px solid var(--sm-linea);
}

/* Logo y alto de barra como en la maqueta */
body.ast-theme-transparent-header:has(.sm-seccion) #masthead .site-logo-img img {
	width: 135px;
	max-width: none;
	height: auto;
}

body.ast-theme-transparent-header:has(.sm-seccion) #masthead .site-primary-header-wrap {
	min-height: 75px;
	padding-block: 0;
}

body.ast-theme-transparent-header:has(.sm-seccion) #masthead .ast-custom-button {
	border-color: var(--sm-vino);
	border-radius: 999px;
	background: var(--sm-vino);
	color: #fffefb;
	font: 600 12px/1 "Montserrat", sans-serif;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

body.ast-theme-transparent-header:has(.sm-seccion) #masthead .ast-custom-button:hover {
	border-color: var(--sm-vino-oscuro);
	background: var(--sm-vino-oscuro);
}

/* Base de cada sección */

.sm-seccion {
	--gap: 0px;
	--row-gap: 0px;
	--column-gap: 0px;
	position: relative;
	isolation: isolate;
	overflow: hidden;
	--padding-top: var(--sm-espacio);
	--padding-bottom: var(--sm-espacio);
	--padding-left: 20px;
	--padding-right: 20px;
	color: var(--sm-gris);
	font: 300 17px/1.75 var(--sm-texto);
	/* Cormorant usa números antiguos por defecto; el "1" se confunde con una "I" */
	font-variant-numeric: lining-nums;
}

/* El contenido queda sobre las acuarelas y la niebla */
.sm-seccion .e-con:not(.sm-niebla),
.sm-seccion .elementor-widget:not(.sm-acuarela) {
	position: relative;
	z-index: 1;
}

.sm-seccion .elementor-heading-title {
	margin: 0;
	font-family: var(--sm-titulo);
	color: var(--sm-tinta);
	text-transform: uppercase;
	text-wrap: balance;
}

.sm-seccion h1.elementor-heading-title {
	max-width: 14ch;
	font-size: clamp(32px, 3.8vw, 52px);
	font-weight: 500;
	line-height: 1.12;
	letter-spacing: 0.06em;
}

.sm-seccion h2.elementor-heading-title {
	font-size: clamp(24px, 2.8vw, 36px);
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0.06em;
}

.sm-seccion h3.elementor-heading-title {
	font-size: 14.5px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0.12em;
}

.sm-seccion .elementor-widget-text-editor p:last-child {
	margin-bottom: 0;
}

/* Las bandas alternas se funden con el papel arriba y abajo, sin corte entre secciones */
.sm-banda-alterna {
	background: linear-gradient(180deg, var(--sm-papel) 0%, var(--sm-niebla) 90px, var(--sm-niebla) calc(100% - 90px), var(--sm-papel) 100%);
}

.sm-seccion.sm-banda-redondeada {
	--width: auto;
	margin-inline: var(--sm-margen-banda);
	border-radius: var(--sm-radio-banda);
}

/* Distribución */

.sm-seccion .sm-columnas {
	display: grid;
	gap: clamp(32px, 5vw, 72px);
	align-items: start;
}

.sm-columnas--1-1 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sm-columnas--4-8 { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); }
.sm-columnas--5-7 { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
.sm-columnas--auto { grid-template-columns: auto minmax(0, 1fr); }
.sm-seccion .sm-centrado,
.sm-seccion .sm-columnas--4-8,
.sm-seccion .sm-columnas--auto { align-items: center; }

.sm-seccion .sm-comparacion {
	gap: 0;
}

.sm-seccion .sm-fila {
	--flex-direction: row;
	--flex-wrap: nowrap;
	--align-items: baseline;
}

.sm-fila > .elementor-widget:first-child {
	flex: none;
	width: auto;
}

.sm-fila > .e-con {
	flex: 1;
}

.sm-encabezado {
	margin-bottom: clamp(40px, 5vw, 64px);
}

.sm-encabezado--centro {
	max-width: 760px;
	margin-inline: auto;
	text-align: center;
}

.sm-separado {
	margin-top: clamp(72px, 9vw, 112px);
}

/* Textos */

.sm-seccion .sm-antetitulo .elementor-heading-title {
	font: 500 11.5px/1.3 var(--sm-titulo);
	letter-spacing: 0.32em;
	color: var(--sm-aguada);
}

.sm-bajada {
	font-size: clamp(17px, 1.4vw, 19px);
	max-width: 56ch;
}

.sm-encabezado--centro .sm-bajada {
	margin-inline: auto;
}

.sm-seccion .sm-poema .elementor-heading-title {
	font: italic 400 clamp(22px, 2.3vw, 30px)/1.45 var(--sm-serif);
	color: var(--sm-tinta);
	text-transform: none;
}

.sm-seccion .sm-caracter .elementor-heading-title {
	font: 400 36px/1 var(--sm-caligrafia);
	color: var(--sm-tinta);
}

.sm-seccion .sm-sello .elementor-heading-title {
	display: grid;
	place-items: center;
	width: fit-content;
	padding: 10px 12px;
	border-radius: 10px;
	background: var(--sm-vino);
	color: var(--sm-blanco);
	font: 400 30px/1 var(--sm-caligrafia);
	box-shadow: inset 0 0 0 2px var(--sm-vino), inset 0 0 0 4px rgba(252, 251, 249, 0.55);
}

.sm-encabezado--centro .sm-sello .elementor-heading-title {
	margin-inline: auto;
}

.sm-seccion .sm-sello--vertical .elementor-heading-title {
	writing-mode: vertical-rl;
	letter-spacing: 0.1em;
	font-size: 24px;
}

.sm-seccion .sm-sello--mini .elementor-heading-title {
	padding: 5px 6px;
	border-radius: 8px;
	font-size: 15px;
}

.sm-puntos ul {
	display: grid;
	gap: 12px;
	max-width: 440px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sm-puntos li {
	display: flex;
	gap: 14px;
	align-items: baseline;
}

.sm-puntos li::before {
	content: "";
	flex: none;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--sm-vino);
	transform: translateY(-3px);
}

/* Botones y enlaces */

.sm-seccion .sm-boton .elementor-button {
	border: 1px solid var(--sm-vino);
	border-radius: 999px;
	padding: 17px 30px;
	background: var(--sm-vino);
	color: var(--sm-blanco);
	font: 600 12px/1 var(--sm-titulo);
	letter-spacing: 0.2em;
	text-transform: uppercase;
	transition: background-color 0.25s, color 0.25s, border-color 0.25s;
}

.sm-seccion .sm-boton .elementor-button:hover {
	background: var(--sm-vino-oscuro);
	border-color: var(--sm-vino-oscuro);
	color: var(--sm-blanco);
}

.sm-seccion .sm-boton--linea .elementor-button {
	background: transparent;
	border-color: var(--sm-tinta);
	color: var(--sm-tinta);
}

.sm-seccion .sm-boton--linea .elementor-button:hover {
	background: var(--sm-tinta);
	border-color: var(--sm-tinta);
	color: var(--sm-blanco);
}

.sm-seccion .sm-enlace .elementor-button {
	white-space: nowrap;
	padding: 0 0 6px;
	border: 0;
	border-bottom: 1px solid var(--sm-tinta);
	border-radius: 0;
	background: none;
	color: var(--sm-tinta);
	font: 600 12px/1 var(--sm-titulo);
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

.sm-seccion .sm-enlace .elementor-button:hover {
	color: var(--sm-vino);
	border-color: var(--sm-vino);
}

/* Imágenes */

.sm-foto img {
	width: 100%;
	border-radius: var(--sm-radio);
	object-fit: cover;
}

.sm-arco img {
	width: 100%;
	max-width: 420px;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border-radius: 999px 999px var(--sm-radio) var(--sm-radio);
}

.sm-arco-marco {
	justify-self: center;
	width: 100%;
	max-width: 420px;
}

.sm-seccion .elementor-widget.sm-sello--arco {
	position: absolute;
	right: -14px;
	bottom: 36px;
	width: auto;
}

/* Acuarelas decorativas: detrás del contenido y fundidas con el papel por los cuatro bordes */
.sm-acuarela {
	z-index: 0;
	opacity: 0.85;
	pointer-events: none;
	mix-blend-mode: multiply;
}

.sm-acuarela img {
	-webkit-mask-image: radial-gradient(ellipse 50% 50% at 50% 50%, #000 55%, transparent 100%);
	mask-image: radial-gradient(ellipse 50% 50% at 50% 50%, #000 55%, transparent 100%);
}

/* Niebla que se desplaza lento en la portada */

.sm-niebla {
	position: absolute;
	left: 0;
	z-index: 0;
	width: 200%;
	pointer-events: none;
	background-repeat: repeat-x;
	background-size: 50% 100%;
	animation: sm-deriva 90s linear infinite;
}

.sm-niebla--alta {
	top: 34%;
	height: 34%;
	opacity: 0.7;
}

.sm-niebla--baja {
	bottom: -4%;
	height: 42%;
	opacity: 0.9;
	animation-duration: 110s;
	animation-direction: reverse;
}

@keyframes sm-deriva {
	to {
		transform: translateX(-50%);
	}
}

/* Portada */

.sm-seccion.sm-portada {
	--min-height: min(100svh, 1000px);
	--padding-top: 24px;
	--padding-bottom: 24px;
}

/* La capa de paralaje de Elementor va detrás del velo */
.sm-seccion .elementor-motion-effects-container {
	z-index: -1;
}

/* Velo de papel a la izquierda para que el texto se lea sobre el paisaje */
.sm-portada::before,
.sm-matricula::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
}

/* Velo suave solo detrás del texto: el paisaje se ve completo, con el bambú a ambos lados */
.sm-portada::before {
	background:
		radial-gradient(ellipse 42% 58% at 24% 54%, rgba(250, 247, 242, 0.86) 0%, rgba(250, 247, 242, 0.6) 55%, transparent 100%),
		linear-gradient(0deg, var(--sm-papel) 0%, transparent 18%);
}

.sm-portada-texto {
	max-width: 540px;
}

.sm-portada .sm-bajada {
	font-size: 17px;
}

/* Espaciado vertical de cada sección, medido sobre la maqueta a 1600 px */
.sm-seccion.sm-propuesta { --padding-top: clamp(96px, 12vw, 194px); --padding-bottom: clamp(72px, 7.5vw, 121px); }
.sm-seccion.sm-manifiesto { --padding-top: clamp(96px, 12vw, 196px); --padding-bottom: clamp(80px, 9vw, 140px); }
.sm-seccion.sm-bienvenida { --padding-top: clamp(64px, 6vw, 95px); }
.sm-seccion.sm-formas,
.sm-seccion.sm-etapas,
.sm-seccion.sm-equipo,
.sm-seccion.sm-testimonios { --padding-top: clamp(72px, 8.25vw, 132px); }
.sm-seccion.sm-etapas { --padding-bottom: clamp(64px, 5.25vw, 84px); }
.sm-seccion.sm-clinica { --padding-top: clamp(72px, 7vw, 112px); --padding-bottom: clamp(64px, 6vw, 95px); }
.sm-seccion.sm-testimonios { --padding-bottom: clamp(80px, 9vw, 140px); }
.sm-seccion.sm-sede { --padding-top: clamp(64px, 6vw, 97px); --padding-bottom: clamp(64px, 6vw, 97px); }

.sm-testimonios .sm-encabezado {
	margin-bottom: 36px;
}

/* Lista de diferenciadores y filas con línea superior */

/* Foto de "Lo que nos distingue": alta, hasta el final de la lista */
.sm-propuesta .sm-columnas--5-7 {
	align-items: stretch;
}

.sm-foto-alta > .sm-foto {
	flex: 1;
}

.sm-foto-alta .sm-foto .elementor-widget-container,
.sm-foto-alta .sm-foto img {
	height: 100%;
	min-height: 480px;
	object-position: 38% center;
}

.sm-pie-foto {
	padding-left: 16px;
	border-left: 2px solid var(--sm-vino);
}

.sm-seccion .sm-poema--pie .elementor-heading-title {
	font-weight: 500;
}

.sm-icono img {
	width: 24px;
	height: 24px;
}

.sm-seccion .elementor-widget.sm-icono {
	flex: none;
	width: auto;
}

.sm-item {
	padding-block: 26px;
	border-top: 1px solid var(--sm-linea);
}

.sm-item p,
.sm-paso p,
.sm-tarjeta p {
	font-size: 15.5px;
}

/* Comparación "Lo habitual / En Shen Ming" */

.sm-comparacion {
	border: 1px solid var(--sm-linea);
	border-radius: var(--sm-radio);
	overflow: hidden;
	background: var(--sm-blanco);
}

.sm-comparacion-shen {
	border-left: 1px solid var(--sm-linea);
	background: color-mix(in srgb, var(--sm-vino) 5%, var(--sm-blanco));
	box-shadow: inset 0 3px 0 var(--sm-vino);
}

.sm-seccion .sm-comparacion-shen > .sm-antetitulo .elementor-heading-title {
	color: var(--sm-vino);
}

.sm-seccion .sm-cambio-texto h2.elementor-heading-title {
	font-size: clamp(22px, 2.4vw, 30px);
}

/* Filas compactas y a la misma altura en ambas columnas, como en la maqueta */
.sm-comparacion-titulo {
	height: 30px;
	margin-bottom: 10px;
	justify-content: center;
}

.sm-comparacion .sm-item {
	min-height: 92px;
	padding-block: 14px;
}

.sm-seccion .sm-comparacion .sm-item .sm-antetitulo .elementor-heading-title {
	font-size: 10.5px;
	letter-spacing: 0.22em;
}

.sm-comparacion .sm-item p {
	font-size: 15.5px;
	line-height: 1.5;
}

.sm-comparacion-habitual p {
	color: var(--sm-aguada);
}

.sm-comparacion-shen p {
	color: var(--sm-tinta);
	font-weight: 400;
}

/* Manifiesto */

.sm-manifiesto {
	background:
		radial-gradient(ellipse 70% 90% at 90% 20%, color-mix(in srgb, var(--sm-salvia) 30%, transparent), transparent 65%),
		radial-gradient(ellipse 50% 70% at 5% 100%, color-mix(in srgb, var(--sm-vino) 9%, transparent), transparent 65%),
		var(--sm-blanco);
	box-shadow: inset 0 0 0 1px var(--sm-linea);
}

.sm-seccion .sm-manifiesto-kai .elementor-heading-title {
	writing-mode: vertical-rl;
	font: 400 clamp(110px, 14vw, 210px)/1 var(--sm-caligrafia);
	color: var(--sm-vino);
}

.sm-seccion .sm-cita .elementor-heading-title {
	font: italic 400 clamp(30px, 4vw, 54px)/1.2 var(--sm-serif);
	color: var(--sm-tinta);
	text-transform: none;
	max-width: 20ch;
}

.sm-cifras {
	margin-top: 8px;
	padding-top: 28px;
	border-top: 1px solid var(--sm-linea);
}

.sm-seccion .sm-cifra .elementor-heading-title {
	font: 500 clamp(34px, 3.6vw, 48px)/1 var(--sm-titulo);
	letter-spacing: 0.02em;
	color: var(--sm-vino);
}

/* Tarjetas de "Tres formas" y equipo */

.sm-tarjeta .sm-foto,
.sm-persona .sm-foto {
	overflow: hidden;
	border-radius: var(--sm-radio);
}

.sm-tarjeta .sm-foto img,
.sm-persona .sm-foto img {
	aspect-ratio: 4 / 5;
	transition: transform 0.8s ease;
}

.sm-tarjeta-imagen {
	position: relative;
}

.sm-seccion .elementor-widget.sm-caracter--sobre {
	position: absolute;
	top: 14px;
	left: 18px;
	width: auto;
}

.sm-seccion .sm-caracter--sobre .elementor-heading-title {
	font-size: 44px;
	opacity: 0.75;
}

.sm-seccion.sm-formas {
	--padding-bottom: 76px;
}

/* Separación entre tarjetas igual a la maqueta */
.sm-formas .e-grid {
	--gap: 40px;
	gap: 40px;
}

.sm-equipo .e-grid {
	--gap: 36px;
	gap: 36px;
}

.sm-tarjeta:hover .sm-foto img {
	transform: scale(1.03);
}

.sm-persona p {
	font-size: 14.5px;
	line-height: 1.45;
}

/* Tarjeta de los docentes que se suman (sin foto todavía) */
.sm-persona-marco {
	aspect-ratio: 4 / 5;
	justify-content: center;
	align-items: center;
	border: 1px dashed var(--sm-aguada);
	border-radius: var(--sm-radio);
}

.sm-seccion .sm-persona-marco .sm-caracter .elementor-heading-title {
	font-size: 44px;
	color: var(--sm-aguada);
}

/* Galería de práctica clínica: una foto grande y dos apiladas */

.sm-seccion .sm-galeria {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	grid-template-rows: 1fr 1fr;
	gap: 16px;
	height: 520px;
}

.sm-galeria > .elementor-widget:first-child {
	grid-row: 1 / 3;
}

.sm-galeria .elementor-widget-container {
	height: 100%;
}

/* Alturas fijas: la grande ocupa las dos filas y las otras dos se reparten el alto */
.sm-seccion .sm-galeria img {
	width: 100%;
	height: 252px;
	object-fit: cover;
}

.sm-seccion .sm-galeria > .elementor-widget:first-child img {
	height: 520px;
}

/* Matrícula: paisaje de fondo con el texto sobre el cielo, a la derecha */

.sm-seccion.sm-matricula {
	--padding-top: clamp(88px, 11vw, 150px);
	--padding-bottom: clamp(88px, 11vw, 150px);
	--align-items: flex-end;
}

.sm-matricula::before {
	background: linear-gradient(270deg, rgba(250, 247, 242, 0.92) 0%, rgba(250, 247, 242, 0.7) 38%, rgba(250, 247, 242, 0) 62%);
}

.sm-matricula-texto {
	max-width: 520px;
}

/* Testimonios: desfile continuo (las tarjetas se duplican en shenming.js) */

.sm-testimonios {
	background:
		radial-gradient(ellipse 60% 80% at 10% 100%, color-mix(in srgb, var(--sm-salvia) 30%, transparent), transparent 70%),
		color-mix(in srgb, var(--sm-salvia) 20%, var(--sm-papel));
}

.sm-seccion .sm-testimonios-pista {
	--flex-wrap: nowrap;
	--gap: 24px;
	width: max-content;
	animation: sm-desfile 48s linear infinite;
}

.sm-testimonios-ventana {
	overflow: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}

.sm-testimonios-pista:hover {
	animation-play-state: paused;
}

@keyframes sm-desfile {
	to {
		transform: translateX(calc(-50% - 12px));
	}
}

.sm-seccion .sm-testimonio {
	--width: clamp(290px, 27vw, 360px);
	flex: none;
	padding: 36px 32px;
	border-radius: var(--sm-radio);
	background: var(--sm-blanco);
	box-shadow: 0 18px 40px -24px rgba(58, 58, 58, 0.35);
}

.sm-testimonio-cita p {
	font: italic 600 clamp(22px, 1.8vw, 25px)/1.42 var(--sm-serif);
	color: #1f1f1f;
}

.sm-testimonio-cita p::before {
	content: "“";
	display: block;
	margin-bottom: 10px;
	font: 400 64px/0.6 var(--sm-serif);
	color: var(--sm-vino);
}

.sm-seccion .sm-testimonio-autor {
	--align-items: center;
	align-items: center;
	padding-top: 18px;
	border-top: 1px solid var(--sm-linea);
}

.sm-seccion .sm-testimonio-autor > .sm-testimonio-foto {
	flex: none;
	width: auto;
}

.sm-testimonio-foto img {
	display: block;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	object-fit: cover;
	box-shadow: 0 0 0 3px var(--sm-blanco), 0 0 0 4px var(--sm-salvia);
}

.sm-seccion .sm-testimonio-nombre .elementor-heading-title {
	font: 600 12.5px/1.3 var(--sm-titulo);
	letter-spacing: 0.1em;
	color: var(--sm-vino);
}

.sm-testimonio-cargo p {
	margin: 0;
	font-size: 14px;
	line-height: 1.4;
}

/* Sede */

.sm-datos .sm-fila {
	padding-block: 12px;
	border-top: 1px solid var(--sm-linea);
}

.sm-seccion .sm-datos .sm-caracter .elementor-heading-title {
	font-size: 24px;
	color: var(--sm-vino);
}

.sm-datos a {
	color: inherit;
}

.sm-foto--sede img {
	aspect-ratio: 4 / 3;
}

/* Cierre */

.sm-seccion.sm-cierre {
	--padding-bottom: 0;
	--padding-left: 0;
	--padding-right: 0;
}

.sm-paisaje-cierre img {
	width: 100%;
	height: clamp(200px, 24vw, 340px);
	object-fit: cover;
	object-position: center 92%;
	-webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 55%);
	mask-image: linear-gradient(180deg, transparent 0%, #000 55%);
}

.sm-seccion .elementor-widget.sm-acuarela--centro {
	transform: translateX(-50%);
	opacity: 0.75;
}

/* Pie de página propio; el de Astra se oculta en las páginas rediseñadas */
body:has(.sm-seccion) .site-footer {
	display: none;
}

.sm-columnas--pie { grid-template-columns: minmax(0, 2fr) repeat(3, minmax(0, 1fr)); }

.sm-seccion .sm-columnas--pie {
	gap: 32px;
}

.sm-seccion.sm-pie {
	--padding-top: 64px;
	--padding-bottom: 28px;
	border-top: 1px solid var(--sm-linea);
	background: var(--sm-niebla);
}

.sm-pie .elementor-widget-text-editor {
	font-size: 14.5px;
	line-height: 1.75;
}

.sm-pie-logo {
	text-align: left;
}

.sm-pie-logo img {
	width: auto;
	height: 44px;
}

.sm-seccion.sm-pie .sm-poema .elementor-heading-title {
	max-width: 30ch;
	font-size: 19px;
}

.sm-seccion .sm-pie-titulo .elementor-heading-title {
	font: 500 11px/1 var(--sm-titulo);
	letter-spacing: 0.26em;
}

.sm-pie ul {
	display: grid;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sm-pie a {
	color: inherit;
}

.sm-pie .sm-pie-legal {
	margin-top: 12px;
	padding-top: 20px;
	border-top: 1px solid var(--sm-linea);
	font-size: 13px;
	color: var(--sm-aguada);
}

/* Páginas internas: cabecera con carácter de fondo */

.sm-seccion.sm-cabecera-pagina {
	--padding-top: clamp(120px, 12vw, 180px);
	--padding-bottom: clamp(56px, 8vw, 104px);
}

.sm-seccion .elementor-widget.sm-marca {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 0;
	width: auto;
	transform: translate(-50%, -40%);
	pointer-events: none;
}

.sm-seccion .sm-marca .elementor-heading-title {
	font: 400 clamp(180px, 24vw, 320px)/1 var(--sm-caligrafia);
	color: var(--sm-tinta);
	opacity: 0.045;
}

.sm-columnas--7-5 { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }

.sm-directora {
	align-items: center;
	margin-bottom: clamp(56px, 7vw, 96px);
}

.sm-directora .sm-foto img {
	aspect-ratio: 4 / 5;
}

.sm-seccion .sm-equipo-dos {
	--e-con-grid-template-columns: repeat(2, minmax(0, 1fr));
	max-width: 780px;
	margin-inline: auto;
}

.sm-cargo p {
	font-size: 14.5px;
	color: var(--sm-vino);
}

/* Admisión */

.sm-pasos {
	border-top: 1px solid var(--sm-tinta);
}

.sm-paso {
	padding: 30px 26px 8px;
	border-left: 1px solid var(--sm-linea);
}

.sm-paso:first-child {
	padding-left: 0;
	border-left: 0;
}

.sm-seccion.sm-admision .sm-paso:first-child .sm-caracter .elementor-heading-title {
	color: var(--sm-vino);
}

.sm-seccion .sm-paso .sm-caracter .elementor-heading-title {
	font-size: 48px;
}

.sm-formulario {
	padding: clamp(24px, 4vw, 44px);
	border: 1px solid var(--sm-linea);
	border-radius: var(--sm-radio);
	background: var(--sm-blanco);
}

.sm-seccion .sm-formulario.elementor-widget-form .elementor-field-label {
	font: 500 10.5px/1.2 var(--sm-titulo);
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--sm-tinta);
}

.sm-seccion .sm-formulario.elementor-widget-form .elementor-field-textual,
.sm-seccion .sm-formulario.elementor-widget-form .elementor-select-wrapper select {
	padding: 12px 0;
	border: 0;
	border-bottom: 1px solid var(--sm-gris);
	border-radius: 0;
	background: transparent;
	color: var(--sm-tinta);
	font: 400 16px var(--sm-texto);
}

.sm-seccion .sm-formulario.elementor-widget-form .elementor-field-textual:focus {
	outline: 0;
	border-bottom-color: var(--sm-vino);
	box-shadow: none;
}

.sm-seccion .sm-formulario.elementor-widget-form .elementor-button {
	padding: 17px 30px;
	border-radius: 999px;
	background: var(--sm-vino);
	color: var(--sm-blanco);
	font: 600 12px/1 var(--sm-titulo);
	letter-spacing: 0.2em;
	text-transform: uppercase;
	white-space: nowrap;
}

.sm-seccion .sm-formulario.elementor-widget-form .elementor-button:hover {
	background: var(--sm-vino-oscuro);
}

.sm-oferta {
	padding-top: 8px;
}

/* Si la cantidad de preguntas es impar, la última ocupa todo el ancho */
.sm-preguntas .sm-item:last-child:nth-child(odd) {
	grid-column: 1 / -1;
}

.sm-etapas .sm-caracter .elementor-heading-title {
	font-size: 52px;
}

/* Página "en construcción" (modo Próximamente de Elementor) */
.sm-seccion.sm-construccion {
	--min-height: 100svh;
}

.sm-construccion .sm-logo img {
	width: 135px;
	height: auto;
}

.sm-construccion .sm-contacto p {
	margin: 0;
	font-size: 14.5px;
	color: var(--sm-gris);
}

.sm-construccion .sm-contacto a {
	color: var(--sm-vino);
}

/* Tablet */

@media (max-width: 1024px) {
	.sm-columnas--4-8,
	.sm-columnas--5-7,
	.sm-columnas--7-5 {
		grid-template-columns: minmax(0, 1fr);
	}

	.sm-columnas--pie {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.sm-columnas--pie > :first-child {
		grid-column: 1 / -1;
	}

	.sm-foto-alta .sm-foto .elementor-widget-container,
	.sm-foto-alta .sm-foto img {
		height: 320px;
		min-height: 0;
	}

	.sm-acuarela {
		opacity: 0.5;
	}
}

/* Móvil */

@media (max-width: 767px) {
	.sm-seccion {
		--padding-top: 56px;
		--padding-bottom: 56px;
	}

	.sm-seccion .sm-columnas,
	.sm-columnas--1-1,
	.sm-columnas--auto {
		grid-template-columns: minmax(0, 1fr);
	}

	.sm-seccion.sm-banda-redondeada {
		margin-inline: 0;
		border-radius: 0;
	}

	.sm-acuarela {
		opacity: 0.35;
	}

	.sm-seccion .sm-testimonio {
		--width: 78vw;
	}

	.sm-seccion .sm-testimonios-pista {
		animation-duration: 36s;
	}

	/* En móvil el paisaje queda bajo el texto en vez de detrás */
	.sm-seccion.sm-portada {
		--min-height: 0;
		--padding-top: 110px;
		--padding-bottom: 260px;
	}

	.sm-portada::before {
		background: linear-gradient(180deg, var(--sm-papel) 55%, rgba(250, 247, 242, 0) 80%);
	}

	.sm-seccion.sm-matricula {
		--padding-top: 220px;
		--padding-bottom: 56px;
		--align-items: flex-start;
	}

	.sm-matricula::before {
		background: linear-gradient(0deg, var(--sm-papel) 52%, rgba(250, 247, 242, 0) 62%);
	}

	.sm-comparacion-shen {
		border-left: 0;
		border-top: 1px solid var(--sm-linea);
	}

	.sm-seccion .sm-manifiesto-kai .elementor-heading-title {
		writing-mode: horizontal-tb;
		font-size: 88px;
	}

	.sm-seccion .sm-equipo-dos {
		--e-con-grid-template-columns: minmax(0, 1fr);
	}

	/* En móvil las acuarelas de la cabecera se cruzaban con el título */
	.sm-cabecera-pagina .sm-acuarela {
		display: none;
	}

	.sm-seccion .sm-formulario.elementor-widget-form .elementor-button {
		letter-spacing: 0.12em;
	}

	.sm-paso,
	.sm-paso:first-child {
		padding: 24px 0 8px;
		border-left: 0;
		border-bottom: 1px solid var(--sm-linea);
	}

	.sm-seccion .sm-galeria {
		grid-template-columns: 1fr 1fr;
		grid-template-rows: 220px 160px;
		height: auto;
	}

	.sm-galeria > .elementor-widget:first-child {
		grid-row: auto;
		grid-column: 1 / 3;
	}

	.sm-seccion .sm-galeria img {
		height: 160px;
	}

	.sm-seccion .sm-galeria > .elementor-widget:first-child img {
		height: 220px;
	}
}

/* Niebla del manifiesto y del cierre */

.sm-niebla--manifiesto {
	bottom: -10%;
	height: 60%;
	opacity: 0.5;
	animation-duration: 80s;
}

.sm-cierre-paisaje {
	position: relative;
	overflow: hidden;
	margin-top: -10px;
}

.sm-niebla--borde {
	bottom: -6%;
	height: 38%;
	opacity: 0.55;
	animation-duration: 100s;
}

.sm-niebla--cierre {
	bottom: -10%;
	height: 70%;
	opacity: 0.8;
}

/* Indicador "Desliza" con gota de tinta */

.sm-seccion .elementor-widget.sm-desliza {
	position: absolute;
	left: 50%;
	bottom: 28px;
	width: auto;
	transform: translateX(-50%);
	padding-bottom: 46px;
}

.sm-seccion .sm-desliza .elementor-heading-title {
	font: 500 10.5px/1 var(--sm-titulo);
	letter-spacing: 0.32em;
	color: var(--sm-gris);
}

.sm-desliza::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 1px;
	height: 36px;
	background: var(--sm-tinta);
	transform-origin: top;
	animation: sm-gota 2.4s ease-in-out infinite;
}

@keyframes sm-gota {
	0% { transform: scaleY(0); opacity: 1; }
	60% { transform: scaleY(1); opacity: 1; }
	100% { transform: scaleY(1); opacity: 0; }
}

/* Movimiento en escritorio (las clases las pone shenming.js) */

@media (prefers-reduced-motion: no-preference) and (min-width: 768px) {
	.sm-portada .elementor-motion-effects-layer {
		animation: sm-respira 22s ease-out both;
	}

	.sm-js .sm-portada-texto > * {
		opacity: 0;
		transform: translateY(10px);
		animation: sm-sube 1.4s ease-out forwards;
	}

	.sm-js .sm-portada-texto > :nth-child(2) { animation-delay: 0.15s; }
	.sm-js .sm-portada-texto > :nth-child(3) { animation-delay: 0.3s; }
	.sm-js .sm-portada-texto > :nth-child(4) { animation-delay: 0.45s; }
	.sm-js .sm-portada-texto > :nth-child(5) { animation-delay: 0.6s; }

	.sm-js .sm-aparece {
		opacity: 0;
		transform: translateY(12px);
		transition: opacity 1.2s ease-out, transform 1.2s ease-out;
	}

	.sm-js .sm-aparece-imagen {
		opacity: 0;
		transform: scale(1.01);
		transition: opacity 1.4s ease-out, transform 1.6s ease-out;
	}

	.sm-js .sm-visible {
		opacity: 1;
		transform: none;
	}

	.sm-js .sm-manifiesto-kai.sm-aparece {
		transition-duration: 2s;
	}
}

@keyframes sm-respira {
	from { scale: 1.08; }
	to { scale: 1; }
}

@keyframes sm-sube {
	to { opacity: 1; transform: none; }
}

@media (max-width: 767px) {
	.sm-desliza {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sm-niebla,
	.sm-desliza::after,
	.sm-testimonios-pista {
		animation: none;
	}

	.sm-testimonios-ventana {
		overflow-x: auto;
	}
}/* End custom CSS */