/* Hello Cervantes: cabecera, banner, pie y clases de contenido migrado (.cv-*).
   Efectos solo con transition/transform (sin JS ni @keyframes); los de hover, dentro de @media (hover: hover). */
:root {
	--cv-azul: #1141b0;
	--cv-azul-noche: #070f59;
	--cv-azul-pie: #0c56d4;
	--cv-rojo: #d10b15;
	--cv-gris: #f5f7fa;
	--cv-texto: #1f2937;
	--cv-texto-suave: #374151;
	--cv-borde: #dfe4ee;
	--cv-radio: 10px;
	--cv-radio-lg: 16px;
	--cv-sombra: 0 6px 20px rgba(7, 15, 89, .10);
	--cv-sombra-sm: 0 2px 8px rgba(7, 15, 89, .06);
	--cv-sombra-lg: 0 18px 40px rgba(7, 15, 89, .16);
	--cv-ease: cubic-bezier(.22, .61, .36, 1);
	--cv-rapida: .25s;
	--cv-ancho: 1200px;
	--cv-serif: "Libre Baskerville", Georgia, serif;
	--cv-sans: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
}

body {
	background: #fff;
	color: var(--cv-texto);
	font-family: var(--cv-sans);
	font-size: 1rem;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
h1, h2, h3, h4, h5, h6 { font-family: var(--cv-serif); color: var(--cv-azul-noche); line-height: 1.25; letter-spacing: -.01em; }
a { color: var(--cv-azul); transition: color var(--cv-rapida) var(--cv-ease); }

.cv-contenedor { width: 100%; max-width: var(--cv-ancho); margin: 0 auto; padding: 0 16px; }
.cv-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.cv-saltar { position: absolute; left: -9999px; top: 0; z-index: 1000; padding: 8px 16px; background: #fff; color: var(--cv-azul-noche); }
.cv-saltar:focus { left: 8px; top: 8px; }
.cv-ancla { outline: none; }

/* --- Barra superior ------------------------------------------------------- */
/* Las plataformas (EduPage, Trendi, Bilingüe, Pagos en línea) nunca saltan de línea:
   es el bloque de contacto el que cede espacio y se va ocultando por tramos. */
.cv-topbar { background: var(--cv-azul); color: #e6ecff; font-size: clamp(.78rem, .74rem + .15vw, .85rem); }
.cv-topbar__interior { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 40px; }
.cv-topbar a { color: #fff; text-decoration: none; }
.cv-topbar__contacto, .cv-plataformas ul, .cv-redes { display: flex; flex-wrap: nowrap; align-items: center; gap: 0 clamp(10px, 1.4vw, 18px); margin: 0; padding: 0; list-style: none; }
/* contacto en dos líneas: teléfono y correo arriba, horario debajo */
.cv-topbar__contacto { flex-wrap: wrap; min-width: 0; padding: 6px 0; overflow: hidden; line-height: 1.5; }
.cv-topbar__horario { flex-basis: 100%; }
.cv-topbar__contacto li { white-space: nowrap; }
.cv-topbar__contacto i { margin-right: 6px; opacity: .8; }
.cv-topbar__contacto a:hover, .cv-topbar__contacto a:focus-visible { text-decoration: underline; }
.cv-topbar__derecha { display: flex; flex-shrink: 0; align-items: center; gap: clamp(12px, 1.4vw, 18px); }
.cv-plataformas a { position: relative; display: inline-block; padding: 2px 0; font-weight: 600; white-space: nowrap; }
.cv-plataformas a::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 2px;
	border-radius: 2px;
	background: currentColor;
	transform: scaleX(0);
	transition: transform var(--cv-rapida) var(--cv-ease);
	content: "";
}
.cv-plataformas a:hover::after, .cv-plataformas a:focus-visible::after { transform: scaleX(1); }
.cv-redes { gap: 12px; }
.cv-redes a { display: inline-flex; font-size: 1rem; transition: transform var(--cv-rapida) var(--cv-ease), opacity var(--cv-rapida); }
.cv-redes a:hover, .cv-redes a:focus-visible { opacity: .85; }

/* --- Barra principal ------------------------------------------------------- */
.cv-barra { position: sticky; top: 0; z-index: 100; background: #fff; border-bottom: 1px solid var(--cv-borde); transition: box-shadow var(--cv-rapida) var(--cv-ease); }
.admin-bar .cv-barra { top: 32px; }
.cv-barra.cv-barra--sombra { box-shadow: var(--cv-sombra); }
.cv-barra__interior { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 100px; }
.cv-marca { flex-shrink: 0; }
.cv-marca img { display: block; width: auto; max-height: 84px; }
.cv-marca__texto { font-family: var(--cv-serif); font-size: 1.25rem; font-weight: 700; color: var(--cv-azul-noche); text-decoration: none; }

.cv-navegacion { display: flex; align-items: center; gap: 20px; min-width: 0; }
.cv-menu { display: flex; flex-wrap: nowrap; align-items: center; gap: 4px; margin: 0; padding: 0; list-style: none; }
.cv-menu li { position: relative; }
.cv-menu a {
	position: relative;
	display: block;
	padding: 10px 12px;
	color: var(--cv-azul-noche);
	font-weight: 600;
	font-size: .95rem;
	text-decoration: none;
	border-radius: 6px;
	transition: color var(--cv-rapida) var(--cv-ease), background var(--cv-rapida) var(--cv-ease), padding var(--cv-rapida) var(--cv-ease);
}
.cv-menu > li > a:hover, .cv-menu > li > a:focus-visible,
.cv-menu .current-menu-item > a, .cv-menu .current-menu-ancestor > a { color: var(--cv-rojo); }
.cv-menu .menu-item-has-children > a::after { content: "\f107"; display: inline-block; margin-left: 6px; font: 900 .75em "Font Awesome 6 Free"; transition: transform var(--cv-rapida) var(--cv-ease); }
.cv-menu .sub-menu {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 10;
	min-width: 240px;
	margin: 0;
	padding: 8px;
	list-style: none;
	background: #fff;
	border-top: 3px solid var(--cv-rojo);
	border-radius: 0 0 var(--cv-radio) var(--cv-radio);
	box-shadow: var(--cv-sombra-lg);
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: opacity var(--cv-rapida) var(--cv-ease), transform var(--cv-rapida) var(--cv-ease), visibility var(--cv-rapida);
}
.cv-menu > li:nth-last-child(-n+2) > .sub-menu { right: 0; left: auto; } /* los últimos abren hacia dentro */
.cv-menu li:hover > .sub-menu,
.cv-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.cv-menu .sub-menu a { font-weight: 500; }
.cv-menu .sub-menu a:hover, .cv-menu .sub-menu a:focus-visible { background: var(--cv-gris); color: var(--cv-azul); padding-left: 18px; }
.cv-cabecera .cv-submenu-boton { display: none; }

.cv-cabecera .cv-hamburguesa { display: none; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 6px; background: none; cursor: pointer; }
.cv-cabecera .cv-hamburguesa:hover, .cv-cabecera .cv-hamburguesa:focus { background: var(--cv-gris); }
.cv-hamburguesa__icono, .cv-hamburguesa__icono::before, .cv-hamburguesa__icono::after {
	display: block;
	width: 26px;
	height: 3px;
	margin: 0 auto;
	background: var(--cv-azul-noche);
	border-radius: 2px;
	transition: transform var(--cv-rapida) var(--cv-ease), background var(--cv-rapida);
	content: "";
}
.cv-hamburguesa__icono { position: relative; }
.cv-hamburguesa__icono::before { position: absolute; top: -8px; }
.cv-hamburguesa__icono::after { position: absolute; top: 8px; }
.cv-hamburguesa[aria-expanded="true"] .cv-hamburguesa__icono { background: transparent; }
.cv-hamburguesa[aria-expanded="true"] .cv-hamburguesa__icono::before { transform: translateY(8px) rotate(45deg); }
.cv-hamburguesa[aria-expanded="true"] .cv-hamburguesa__icono::after { transform: translateY(-8px) rotate(-45deg); }

/* Escritorio: menú en una línea con espaciado fluido e indicador inferior animado. */
@media (min-width: 1101px) {
	.cv-menu > li > a {
		padding: 10px clamp(6px, .9vw, 12px);
		font-size: clamp(.875rem, .82rem + .2vw, .95rem);
		white-space: nowrap;
	}
	.cv-menu > li > a::before {
		position: absolute;
		right: clamp(6px, .9vw, 12px);
		bottom: 4px;
		left: clamp(6px, .9vw, 12px);
		height: 2px;
		border-radius: 2px;
		background: var(--cv-rojo);
		transform: scaleX(0);
		transition: transform var(--cv-rapida) var(--cv-ease);
		content: "";
	}
	.cv-menu > li > a:hover::before, .cv-menu > li > a:focus-visible::before,
	.cv-menu > .current-menu-item > a::before, .cv-menu > .current-menu-ancestor > a::before { transform: scaleX(1); }
	.cv-menu > li:hover > a::after, .cv-menu > li:focus-within > a::after { transform: rotate(180deg); }
}

/* --- Botones ------------------------------------------------------------- */
.cv-boton, .elementor-button {
	transition: background var(--cv-rapida) var(--cv-ease), color var(--cv-rapida) var(--cv-ease),
		transform var(--cv-rapida) var(--cv-ease), box-shadow var(--cv-rapida) var(--cv-ease);
}
.cv-boton {
	position: relative;
	display: inline-block;
	overflow: hidden;
	padding: 11px 24px;
	border-radius: 6px;
	background: var(--cv-azul);
	color: #fff !important;
	font-weight: 600;
	text-decoration: none;
}
.cv-boton:hover, .cv-boton:focus-visible { background: var(--cv-azul-noche); }
.cv-boton--cta { background: var(--cv-rojo); white-space: nowrap; }
.cv-boton--cta:hover, .cv-boton--cta:focus-visible { background: #a7080f; }
/* brillo que cruza el CTA al pasar el ratón (una sola transición, sin animación continua) */
.cv-boton--cta::after {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 40%;
	background: linear-gradient(100deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, .35), rgba(255, 255, 255, 0));
	transform: translateX(-120%) skewX(-20deg);
	transition: transform .6s var(--cv-ease);
	pointer-events: none;
	content: "";
}
.cv-boton--cta:hover::after, .cv-boton--cta:focus-visible::after { transform: translateX(320%) skewX(-20deg); }
.cv-boton--claro { background: #fff; color: var(--cv-azul-noche) !important; }

/* --- Banner de páginas interiores ---------------------------------------- */
.cv-banner {
	position: relative;
	padding: clamp(40px, 7vw, 80px) 0;
	color: #fff;
	background: linear-gradient(120deg, var(--cv-azul-noche), var(--cv-azul));
}
.cv-banner::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 4px;
	background: linear-gradient(90deg, var(--cv-rojo) 0 33%, transparent 33%);
	content: "";
}
.cv-banner__titulo { margin: 0 0 10px; color: #fff; font-size: clamp(1.7rem, 4vw, 2.75rem); line-height: 1.2; }
.cv-migas { font-size: .9rem; color: #cfd8ff; }
.cv-migas a { color: #fff; text-decoration: none; }
.cv-migas a:hover, .cv-migas a:focus-visible { text-decoration: underline; }
.cv-migas__sep { margin: 0 8px; }

/* --- Texto del contenido -------------------------------------------------- */
.elementor-widget-text-editor, .entry-content { font-size: 1.0625rem; color: var(--cv-texto-suave); overflow-wrap: break-word; }
/* Justificado formal en el texto de contenido. Se aplica al contenedor del widget (el texto migrado
   llega en <p> o en <div>) y gana al text-align que Elementor pone en el envoltorio del widget.
   Solo desde 768 px: en columnas estrechas el justificado abre huecos entre palabras. */
@media (min-width: 768px) {
	.elementor-widget-text-editor > .elementor-widget-container,
	.entry-content {
		text-align: justify;
		text-align-last: start;
		-webkit-hyphens: auto;
		hyphens: auto; /* idioma de <html lang="es-CO"> */
	}
	/* Excepciones: textos cortos y centrados de la portada, tarjetas, tablas y pasos. */
	.cv-seccion .elementor-widget-text-editor > .elementor-widget-container,
	.cv-entrada, .cv-tabla, .cv-paso, .cv-banner {
		text-align: inherit;
		text-align-last: auto; /* se hereda: sin esto, las frases de una línea quedarían a la izquierda */
		-webkit-hyphens: manual;
		hyphens: manual;
	}
}
.elementor-widget-text-editor p:last-child { margin-bottom: 0; }

/* Títulos de sección de la portada: acento rojo bajo el h2. */
.cv-seccion .elementor-widget-heading h2.elementor-heading-title::after {
	display: block;
	width: 56px;
	height: 3px;
	margin: .55em auto 0;
	border-radius: 3px;
	background: var(--cv-rojo);
	content: "";
}
.cv-seccion--cta .elementor-widget-heading h2.elementor-heading-title::after { background: #fff; }

/* --- Contenido migrado ------------------------------------------------------ */
.cv-tarjeta {
	padding: 16px;
	overflow: hidden;
	border: 1px solid var(--cv-borde);
	border-radius: var(--cv-radio-lg);
	background: #fff;
	box-shadow: var(--cv-sombra-sm);
	transition: transform var(--cv-rapida) var(--cv-ease), box-shadow var(--cv-rapida) var(--cv-ease), border-color var(--cv-rapida);
}
.cv-tarjeta a { text-decoration: none; }
.cv-tarjeta .elementor-heading-title a { color: inherit; transition: color var(--cv-rapida) var(--cv-ease); }
.cv-tarjeta:hover .elementor-heading-title a { color: var(--cv-rojo); }
.cv-tarjeta img { border-radius: var(--cv-radio); transition: transform .5s var(--cv-ease); }
.cv-seccion--cta, .cv-seccion--cta h2, .cv-seccion--cta p { color: #fff; }
.elementor .cv-seccion--cta .elementor-button { background: #fff; color: var(--cv-azul-noche); } /* gana a .elementor-kit-N .elementor-button */
.elementor .cv-seccion--cta .elementor-button:hover, .elementor .cv-seccion--cta .elementor-button:focus-visible { background: var(--cv-rojo); color: #fff; }

/* Imágenes del contenido: esquinas suaves y zoom dentro de su enlace. */
.elementor-widget-image a, .gallery-item a, .elementor-image-carousel a { display: block; overflow: hidden; border-radius: var(--cv-radio); }
.elementor-widget-image img, .gallery-item img { border-radius: var(--cv-radio); transition: transform .5s var(--cv-ease); }

.cv-paso { position: relative; padding: 24px 24px 24px 88px; margin: 10px 0; border-radius: var(--cv-radio-lg); background: var(--cv-gris); transition: box-shadow var(--cv-rapida) var(--cv-ease); }
.cv-paso__num {
	position: absolute;
	top: 22px;
	left: 22px;
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: var(--cv-azul);
	color: #fff;
	font-weight: 700;
	transition: background var(--cv-rapida) var(--cv-ease);
}
.cv-paso:hover .cv-paso__num { background: var(--cv-rojo); }
.cv-paso__titulo { margin: 0 0 6px; font-size: 1.1rem; }
.cv-paso p { margin: 0; }

.cv-eventos { margin: 0; padding: 0; list-style: none; }
.cv-eventos li { padding: 14px 12px; border-bottom: 1px solid var(--cv-borde); border-radius: 6px; transition: background var(--cv-rapida) var(--cv-ease); }
.cv-eventos li:hover { background: #fff; }
/* la fecha es la negrita del renglón: así el colegio solo tiene que pulsar «B» en el editor */
.cv-eventos__fecha, .cv-eventos li > strong:first-child { display: inline-block; min-width: 110px; margin-right: 12px; color: var(--cv-rojo); font-weight: 700; text-transform: uppercase; transition: transform var(--cv-rapida) var(--cv-ease); }

.cv-tabla { width: 100%; border-collapse: collapse; }
.cv-tabla th { background: var(--cv-azul); color: #fff; }
.cv-tabla th, .cv-tabla td { padding: 10px 12px; border: 1px solid var(--cv-borde); text-align: left; vertical-align: top; }
.cv-tabla tr:nth-child(even) td { background: var(--cv-gris); }
.elementor-widget-text-editor:has(.cv-tabla) { overflow-x: auto; }

.cv-enlaces { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; list-style: none; }

/* --- Pie ---------------------------------------------------------------- */
.cv-pie { margin-top: 0; color: #e8eeff; background: var(--cv-azul-noche); font-size: .95rem; }
.cv-pie__rejilla { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.3fr; gap: 40px; padding-top: 64px; padding-bottom: 48px; }
.cv-pie__titulo { margin: 0 0 18px; color: #fff; font-size: 1.1rem; }
.cv-pie a { color: #fff; text-decoration: none; }
.cv-pie a:hover, .cv-pie a:focus-visible { color: #ffd6d8; }
.cv-pie__logo { display: inline-block; margin-bottom: 16px; padding: 10px 14px; border-radius: var(--cv-radio); background: #fff; }
.cv-pie__logo img { display: block; max-height: 80px; width: auto; }
.cv-pie__lista { margin: 0; padding: 0; list-style: none; }
.cv-pie__lista li { margin-bottom: 10px; }
.cv-pie__lista a { display: inline-block; transition: color var(--cv-rapida) var(--cv-ease), transform var(--cv-rapida) var(--cv-ease); }
.cv-pie__lista--iconos li { display: flex; gap: 10px; min-width: 0; overflow-wrap: break-word; }
.cv-pie__lista--iconos li > :last-child { min-width: 0; }
.cv-pie__lista--iconos i { width: 16px; margin-top: 4px; color: #9fb3ff; }
.cv-redes--pie { margin-top: 16px; }
.cv-redes--pie a { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: rgba(255, 255, 255, .12); transition: background var(--cv-rapida) var(--cv-ease), transform var(--cv-rapida) var(--cv-ease); }
.cv-redes--pie a:hover, .cv-redes--pie a:focus-visible { background: var(--cv-rojo); color: #fff; opacity: 1; }
.cv-pie__legal { padding: 16px 0; background: #050a3f; font-size: .85rem; text-align: center; }

.cv-whatsapp {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 90;
	display: grid;
	place-items: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: #25d366;
	color: #fff;
	font-size: 1.9rem;
	box-shadow: 0 6px 18px rgba(0, 0, 0, .25);
	text-decoration: none;
	transition: transform var(--cv-rapida) var(--cv-ease), background var(--cv-rapida), box-shadow var(--cv-rapida);
}
.cv-whatsapp:hover, .cv-whatsapp:focus-visible { background: #1ebe5b; color: #fff; }

/* --- Efectos de hover (solo con ratón: en pantallas táctiles no se quedan «pegados») --- */
@media (hover: hover) {
	.cv-redes a:hover { transform: translateY(-2px); }
	.cv-boton:hover, .elementor-button:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(7, 15, 89, .22); }
	.cv-boton:active, .elementor-button:active { transform: none; box-shadow: none; }
	.cv-tarjeta:hover { transform: translateY(-6px); border-color: transparent; box-shadow: var(--cv-sombra-lg); }
	.cv-tarjeta:hover img { transform: scale(1.04); }
	.elementor-widget-image a:hover img, .gallery-item a:hover img { transform: scale(1.05); }
	.cv-paso:hover { box-shadow: var(--cv-sombra); }
	.cv-eventos li:hover .cv-eventos__fecha, .cv-eventos li:hover > strong:first-child { transform: translateX(4px); }
	.cv-pie__lista a:hover { transform: translateX(3px); }
	.cv-redes--pie a:hover { transform: translateY(-3px); }
	.cv-whatsapp:hover { transform: scale(1.08); box-shadow: 0 10px 26px rgba(0, 0, 0, .3); }
}

/* --- Responsive ----------------------------------------------------------- */
/* Por debajo de 1100 px no caben el menú y el botón: menú lateral. */
@media (max-width: 1100px) {
	.cv-ocultar-tablet { display: none; }
	.cv-pie__rejilla { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cv-cabecera .cv-hamburguesa { display: block; }
	.cv-barra__interior { min-height: 76px; }
	.cv-marca img { max-height: 60px; }
	.cv-navegacion {
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		z-index: 200;
		flex-direction: column;
		align-items: stretch;
		width: min(86vw, 360px);
		padding: 80px 20px 24px;
		overflow-y: auto;
		background: #fff;
		box-shadow: -10px 0 30px rgba(0, 0, 0, .2);
		transform: translateX(100%);
		visibility: hidden;
		transition: transform .3s var(--cv-ease), visibility .3s;
	}
	.cv-navegacion.cv-abierta { transform: none; visibility: visible; }
	.cv-cabecera .cv-hamburguesa { position: relative; z-index: 210; }
	body.cv-menu-abierto { overflow: hidden; }
	.cv-menu { flex-direction: column; align-items: stretch; }
	.cv-menu li { display: flex; flex-wrap: wrap; align-items: center; border-bottom: 1px solid var(--cv-borde); }
	.cv-menu li > a { flex: 1; }
	.cv-menu .menu-item-has-children > a::after { content: none; }
	.cv-cabecera .cv-submenu-boton { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 6px; background: none; color: var(--cv-azul-noche); cursor: pointer; }
	.cv-cabecera .cv-submenu-boton:hover, .cv-cabecera .cv-submenu-boton:focus { background: var(--cv-gris); color: var(--cv-azul-noche); }
	.cv-submenu-boton::before { content: "\f107"; font: 900 1rem "Font Awesome 6 Free"; transition: transform var(--cv-rapida) var(--cv-ease); }
	.cv-submenu-boton[aria-expanded="true"]::before { transform: rotate(180deg); }
	.cv-menu .sub-menu,
	.cv-menu > li:nth-last-child(-n+2) > .sub-menu {
		position: static;
		display: none;
		flex-basis: 100%;
		min-width: 0;
		padding: 0 0 8px 12px;
		border: 0;
		box-shadow: none;
		opacity: 1;
		visibility: visible;
		transform: none;
	}
	.cv-menu .sub-menu.cv-abierto { display: block; }
	.cv-menu .sub-menu li { border: 0; }
	.cv-boton--cta { margin-top: 16px; text-align: center; }
}

@media (max-width: 899px) {
	.cv-topbar__correo { display: none; } /* no cabe junto al teléfono; sigue en el pie */
}

@media (max-width: 782px) {
	.admin-bar .cv-barra { top: 0; }
}

@media (max-width: 767px) {
	/* en móvil la barra superior muestra solo las plataformas; teléfono y redes siguen en el pie y en WhatsApp */
	.cv-ocultar-movil, .cv-redes--topbar, .cv-topbar__contacto { display: none; }
	.cv-topbar__interior { justify-content: center; }
	.cv-topbar__derecha { min-width: 0; max-width: 100%; }
	.cv-plataformas { min-width: 0; max-width: 100%; overflow-x: auto; scrollbar-width: none; }
	.cv-plataformas::-webkit-scrollbar { display: none; }
	.cv-plataformas ul { gap: 0 clamp(12px, 4vw, 22px); }
	.cv-pie__rejilla { grid-template-columns: minmax(0, 1fr); gap: 28px; }
	.cv-paso { padding-left: 24px; padding-top: 84px; }
}

@media (max-width: 480px) {
	/* palabras largas en títulos («afrocolombianidad», «FUNDAMENTALES») en pantallas estrechas */
	h1, h2, h3, h4 { overflow-wrap: break-word; -webkit-hyphens: auto; hyphens: auto; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; }
	.cv-tarjeta:hover, .cv-tarjeta:hover img, .cv-boton:hover, .elementor-button:hover,
	.elementor-widget-image a:hover img, .gallery-item a:hover img, .cv-whatsapp:hover,
	.cv-pie__lista a:hover, .cv-redes a:hover, .cv-eventos li:hover .cv-eventos__fecha, .cv-eventos li:hover > strong:first-child { transform: none; }
	.cv-boton--cta::after { display: none; }
}
