/* ==========================================================================
   EUCA Prevención — main.css
   Sistema de diseño del theme (chrome + secciones).
   Los tokens replican theme.json como variables --euca-* para que esta hoja
   sea autónoma (funciona en el front y en previsualizaciones aisladas).
   ========================================================================== */

:root {
	/* Color */
	--euca-primary:        #00b5ef;
	--euca-primary-dark:   #0087b3;
	--euca-primary-light:  #6ec1e4;
	--euca-section-blue:   #6ec1e4;
	--euca-section-strong: #00a6db;
	--euca-accent:         #bccb04;
	--euca-accent-dark:    #709f24;
	--euca-heading:        #16163f;
	--euca-text:           #4a4a4a;
	--euca-text-muted:     #54595f;
	--euca-success:        #23a455;
	--euca-surface:        #d7d7d9;
	--euca-white:          #ffffff;

	/* Tipografía */
	--euca-sans:  "Montserrat", system-ui, -apple-system, sans-serif;
	--euca-serif: "Merriweather", Georgia, "Times New Roman", serif;

	--euca-fs-small:      14px;
	--euca-fs-base:       16px;
	--euca-fs-medium:     20px;
	--euca-fs-subheading: 30px;
	--euca-fs-large:      38px;
	--euca-fs-section:    50px;
	--euca-fs-hero:       55px;
	--euca-fs-hero-xl:    60px;

	/* Tamaños base editables desde el Personalizador (Tipografía) */
	--euca-h1:   55px;
	--euca-h2:   50px;
	--euca-h3:   30px;
	--euca-h4:   24px;
	--euca-h5:   20px;
	--euca-h6:   16px;
	--euca-body: 16px;

	/* Layout */
	--euca-content: 1140px;
	--euca-wide:    1400px;
	--euca-gutter:  20px;

	/* Ritmo vertical de sección */
	--euca-section-y: 64px;

	/* Navegación principal y submenú (replican el menú original Elementor).
	   Editables también desde Apariencia → Editor → Estilos → Bloques → Navegación. */
	--euca-menu-fs:            16px;   /* tamaño del menú superior */
	--euca-menu-color:         #16163f;
	--euca-menu-hover:         #00b5ef;
	--euca-submenu-bg:         #6ec1e4; /* fondo de la caja desplegable */
	--euca-submenu-text:       #ffffff;
	--euca-submenu-hover-bg:   #ffffff;
	--euca-submenu-hover-text: #0087b3;
	--euca-submenu-fs:         15px;
	--euca-nav-transition:     .25s ease;
	--euca-header-h:           85px;   /* alto real de la cabecera. OJO: el navbar es fijo y
	                                      el body reserva este hueco; si cambias el padding o
	                                      el alto del logo, actualiza también este valor. */
}

/* --- Reset ligero ---------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; }
img, svg { max-width: 100%; height: auto; display: block; }
ul { margin: 0; padding: 0; list-style: none; }

/* --- Base ------------------------------------------------------------------ */
body {
	font-family: var(--euca-sans);
	font-size: var(--euca-body);
	font-weight: 300;
	line-height: 1.7;
	color: var(--euca-text);
	background: var(--euca-white);
	-webkit-font-smoothing: antialiased;
}

/* Negritas de los textos de todas las secciones: peso 700 real.
   (Requiere la cara Montserrat 700 — montserrat-700.woff2 — declarada en theme.json;
   font-synthesis garantiza negrita aunque el .woff2 aún no esté subido.) */
strong, b { font-weight: 700; font-synthesis: weight; }

h1, h2, h3, h4, h5, h6 {
	font-family: var(--euca-serif);
	font-weight: 300;
	line-height: 1.3;
	color: var(--euca-heading);
	margin: 0 0 .5em;
}
h1 { font-size: var(--euca-h1); }
h2 { font-size: var(--euca-h2); }
h3 {
	font-size: var(--euca-h3);
	font-weight: 500;
	line-height: 1.4;
	color: var(--euca-text-muted);
}
h4 { font-size: var(--euca-h4); }
h5 { font-size: var(--euca-h5); }
h6 { font-size: var(--euca-h6); }

p { margin: 0 0 1.2em; }

a { color: var(--euca-primary); text-decoration: none; }
a:hover { color: var(--euca-primary-dark); }

.container,
.euca-seccion__inner,
.site-header__inner,
.site-footer__inner,
.site-footer__bar-inner {
	width: 100%;
	max-width: var(--euca-content);
	margin-inline: auto;
	padding-inline: var(--euca-gutter);
}

/* --- Botones --------------------------------------------------------------- */
.euca-btn,
.wp-block-button__link,
button[type="submit"],
input[type="submit"] {
	display: inline-block;
	font-family: var(--euca-sans);
	font-weight: 600;
	font-size: var(--euca-fs-base);
	line-height: 1.2;
	color: var(--euca-white);
	background: var(--euca-accent);
	border: 0;
	border-radius: 2px;
	padding: .85em 1.6em;
	cursor: pointer;
	transition: background-color .2s ease, transform .2s ease, box-shadow .2s ease;
	will-change: transform;
}
.euca-btn:hover,
.wp-block-button__link:hover,
button[type="submit"]:hover,
input[type="submit"]:hover {
	background: var(--euca-accent-dark);
	color: var(--euca-white);
	transform: translateY(-2px);
	box-shadow: 0 8px 18px rgba(0, 0, 0, .18);
}
/* feedback al pulsar */
.euca-btn:active,
.wp-block-button__link:active,
button[type="submit"]:active,
input[type="submit"]:active {
	transform: translateY(0);
	box-shadow: 0 2px 6px rgba(0, 0, 0, .15);
}
/* respeta "reducir movimiento": sin desplazamiento, solo color + sombra */
@media (prefers-reduced-motion: reduce) {
	.euca-btn,
	.wp-block-button__link,
	button[type="submit"],
	input[type="submit"] { transition: background-color .2s ease, box-shadow .2s ease; }
	.euca-btn:hover,
	.wp-block-button__link:hover,
	button[type="submit"]:hover,
	input[type="submit"]:hover { transform: none; }
}
/* Variante de botón azul (CTAs tipo "PIDE CITA", "Solicita información") */
.euca-btn--blue { background: var(--euca-primary-light); }
.euca-btn--blue:hover { background: var(--euca-primary); }

/* Disparador manual del modal de cita (Calendly) sobre un elemento que no sea
   un enlace: necesita el cursor de puntero. Ver euca.js. */
.euca-cita-popup { cursor: pointer; }

/* --- Accesibilidad --------------------------------------------------------- */
.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden; clip: rect(1px,1px,1px,1px);
	white-space: nowrap;
}
.skip-link {
	position: absolute; left: -999px; top: 0; z-index: 100;
	background: #fff; padding: .6em 1em;
}
.skip-link:focus { left: 0; }

/* ==========================================================================
   CABECERA
   ========================================================================== */
.site-header {
	background: var(--euca-white);
	border-bottom: 1px solid #eee;
}
.site-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	min-height: 78px;
}
.site-header__logo-text {
	font-family: var(--euca-sans);
	font-weight: 700;
	font-size: 30px;
	color: var(--euca-primary);
	letter-spacing: .02em;
}

.site-nav__menu {
	display: flex;
	align-items: center;
	gap: 26px;
}
.site-nav__menu a {
	font-family: var(--euca-sans);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--euca-heading);
}
.site-nav__menu a:hover { color: var(--euca-primary); }

/* Submenús desplegables */
.site-nav__menu li { position: relative; }
.site-nav__menu .sub-menu {
	position: absolute;
	left: 0; top: 100%;
	min-width: 230px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(0,0,0,.12);
	padding: 8px 0;
	display: none;
	z-index: 50;
}
.site-nav__menu li:hover > .sub-menu { display: block; }
.site-nav__menu .sub-menu a {
	display: block;
	padding: 9px 18px;
	font-size: 12px;
	letter-spacing: .03em;
}

/* Toggle móvil */
.site-header__toggle {
	display: none;
	background: none; border: 0; cursor: pointer;
	width: 44px; height: 44px;
}
.site-header__burger,
.site-header__burger::before,
.site-header__burger::after {
	display: block; height: 2px; width: 26px;
	background: var(--euca-heading); position: relative;
}
.site-header__burger::before,
.site-header__burger::after { content: ""; position: absolute; left: 0; }
.site-header__burger::before { top: -8px; }
.site-header__burger::after  { top: 8px; }

@media (max-width: 900px) {
	.site-header__toggle { display: inline-flex; align-items: center; justify-content: center; }
	.site-nav { display: none; }
	.site-nav.is-open { display: block; position: absolute; left: 0; right: 0; background: #fff; padding: 16px var(--euca-gutter); box-shadow: 0 8px 24px rgba(0,0,0,.1); }
	.site-nav.is-open .site-nav__menu { flex-direction: column; align-items: flex-start; gap: 14px; }
	.site-nav.is-open .sub-menu { position: static; display: block; box-shadow: none; padding-left: 12px; }
}

/* ==========================================================================
   SECCIONES (bloque `seccion` — 4 fondos)
   ========================================================================== */
.euca-seccion {
	padding-block: var(--euca-section-y);
}
.euca-seccion--blanco { background: var(--euca-white); }
.euca-seccion--surface { background: #eef0f1; }

/* Fondo azul claro: texto blanco, titulares finos */
.euca-seccion--azul-claro {
	background: var(--euca-section-blue);
	color: var(--euca-white);
}
.euca-seccion--azul-claro :is(h1,h2,h3,h4,h5,h6) {
	color: var(--euca-white);
	font-weight: 300;
}

/* Fondo azul marca (sección de tarjetas de la home) */
.euca-seccion--azul-marca {
	background: var(--euca-section-strong);
	color: var(--euca-white);
}
.euca-seccion--azul-marca :is(h1,h2,h3,h4,h5,h6) {
	color: var(--euca-white);
	font-weight: 300;
}

/* Fondo foto + overlay: texto blanco, titulares con más peso */
.euca-seccion--foto {
	position: relative;
	background-size: cover;
	background-position: center;
	color: var(--euca-white);
}
/* Fondo fijo (parallax) del bloque sección. Se desactiva en móvil (iOS lo ignora). */
.euca-seccion--fijo { background-attachment: fixed; }
@media (max-width: 798px) { .euca-seccion--fijo { background-attachment: scroll; } }
.euca-seccion--foto::before {
	content: "";
	position: absolute; inset: 0;
	background: rgba(20, 22, 40, .55);
}
.euca-seccion--foto > .euca-seccion__inner { position: relative; z-index: 1; }
.euca-seccion--foto :is(h1,h2,h3,h4,h5,h6),
.euca-seccion--foto .euca-seccion__heading {
	color: var(--euca-white) !important;
	font-weight: 500;
	line-height: 1.4;
}

/* Centrado de cabeceras de sección (las franjas centran el título) */
.euca-seccion__heading { text-align: center; margin-bottom: 1.2em; }

/* ==========================================================================
   PIE
   ========================================================================== */
.site-footer {
	color: rgba(255,255,255,.85);
	position: relative;
	background-color: var(--euca-primary-dark);
	background-image: url('../images/footer-bg.jpg');
	background-size: cover;
	background-position: center;
}
.site-footer::before {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(0, 135, 179, .88);
	z-index: 0;
}
.site-footer > * { position: relative; z-index: 1; }
.site-footer__inner {
	display: grid;
	grid-template-columns: 1fr 1fr 1.2fr;
	gap: 40px;
	padding-block: 56px 40px;
}
.site-footer__title {
	font-family: var(--euca-sans);
	text-transform: uppercase;
	letter-spacing: .06em;
	font-size: 15px;
	font-weight: 600;
	color: var(--euca-white);
	margin: 0 0 18px;
}
.site-footer__menu a,
.site-footer__contact {
	color: rgba(255,255,255,.85);
	font-size: 14px;
	line-height: 2.1;
}
.site-footer__menu a:hover { color: var(--euca-accent); }
.site-footer__contact a { color: rgba(255,255,255,.85); text-decoration: none; }
.site-footer__contact a:hover { color: var(--euca-accent); }
/* Sello DMCA bajo el horario (columna "Dónde estamos"). */
.site-footer .dmca-badge { display: inline-block; margin-top: 16px; line-height: 0; }
.site-footer__contact { line-height: 1.6; }
.site-footer__contact li { display: flex; gap: 10px; margin-bottom: 14px; align-items: flex-start; }
.site-footer__contact li i { margin-top: 3px; font-size: 15px; color: rgba(255,255,255,.7); width: 16px; text-align: center; flex-shrink: 0; }
.site-footer__badge { margin-top: 8px; width: 90px; }

.site-footer__bar {
	background: rgba(0,0,0,.12);
	border-top: 3px solid var(--euca-accent);
}
.site-footer__bar-inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 18px;
	padding-block: 16px;
	font-size: 12px;
	letter-spacing: .03em;
}
.site-footer__legal { display: flex; flex-wrap: wrap; gap: 18px; }
.site-footer__legal a,
.site-footer__legal .eucaljo,
.site-footer__copy { color: rgba(255,255,255,.8); text-transform: uppercase; font-size: 12px; }
.site-footer__legal a:hover,
.site-footer__legal .eucaljo:hover { color: var(--euca-accent); }
/* Enlace ofuscado: es un span, pero debe verse y comportarse como enlace. */
.eucaljo { cursor: pointer; }
/* En el check de aceptación de FluentForms se ve como enlace normal. */
.ff_t_c .eucaljo { text-decoration: underline; }
.ff_t_c .eucaljo:hover { color: var(--euca-primary); }

@media (max-width: 800px) {
	.site-footer__inner { grid-template-columns: 1fr; gap: 32px; }
}

/* WhatsApp flotante */
.wa-float {
	position: fixed;
	right: 22px; bottom: 22px;
	width: 52px; height: 52px;
	display: inline-flex; align-items: center; justify-content: center;
	background: #25d366; color: #fff;
	border-radius: 50%;
	box-shadow: 0 6px 18px rgba(0,0,0,.25);
	z-index: 90;
}
.wa-float:hover { color: #fff; filter: brightness(1.05); }
.wa-float svg { width: 30px; height: 30px; }

/* ==========================================================================
   RESPONSIVE TIPOGRÁFICO
   ========================================================================== */
@media (max-width: 782px) {
	:root {
		--euca-fs-hero: 36px;
		--euca-fs-hero-xl: 40px;
		--euca-fs-section: 32px;
		--euca-fs-subheading: 24px;
		--euca-section-y: 44px;
	}
}

/* ==========================================================================
   LANDING — hero, breadcrumb, nav secundario (Fase 2.2)
   ========================================================================== */
.euca-hero { padding-block: 90px; }
/* Fondo fijo (parallax) configurable por página vía ACF. Se desactiva en móvil:
   iOS/Safari ignoran background-attachment:fixed y provoca tirones. */
.euca-hero--fijo { background-attachment: fixed; }
@media (max-width: 798px) { .euca-hero--fijo { background-attachment: scroll; } }
.euca-hero__inner { text-align: center; }
.euca-hero__title { color: var(--euca-white); font-weight: 300; margin: 0; }
.euca-breadcrumb { margin-top: .6em; font-size: 13px; color: rgba(255,255,255,.85); }
.euca-breadcrumb a { color: rgba(255,255,255,.9); }
.euca-breadcrumb a:hover { color: #fff; }

.euca-subnav { background: #f2f2f2; border-bottom: 1px solid #e6e6e6; }
.euca-subnav__inner { max-width: var(--euca-content); margin-inline: auto; display: flex; justify-content: center; }
.euca-subnav__menu { display: flex; gap: 24px; }
.euca-subnav__menu a { display: block; padding: 14px 10px; font-size: 13px; letter-spacing: .04em; text-transform: uppercase; color: var(--euca-heading); }
.euca-subnav__menu a:hover { color: var(--euca-primary); }

/* Overlays configurables del fondo `foto` */
.euca-seccion--foto::before { background: rgba(0,0,0,.5); }
.euca-seccion--foto.is-overlay-blue::before  { background: rgba(0,135,179,.62); }
.euca-seccion--foto.is-overlay-dark::before  { background: rgba(45,45,45,.62); }
.euca-seccion--foto.is-overlay-black::before { background: rgba(0,0,0,.55); }

/* Titular con filete azul a la izquierda (recurrente en el sitio) */
.euca-title-accent {
	border-left: 4px solid var(--euca-primary);
	padding-left: 18px;
	text-align: left;
}

/* ==========================================================================
   BLOQUE texto-imagen
   ========================================================================== */
.euca-texto-imagen { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; }
.euca-texto-imagen__media img { width: 100%; border-radius: 2px; }
.euca-texto-imagen--img-izquierda .euca-texto-imagen__media { order: 0; }
.euca-texto-imagen--img-izquierda .euca-texto-imagen__body  { order: 1; }
.euca-texto-imagen--img-derecha  .euca-texto-imagen__media  { order: 1; }
.euca-texto-imagen--img-derecha  .euca-texto-imagen__body   { order: 0; }
.euca-texto-imagen--sin-imagen   { grid-template-columns: 1fr; }
@media (max-width: 800px) {
	.euca-texto-imagen { grid-template-columns: 1fr; }
	.euca-texto-imagen__media { order: 0 !important; }
}

/* ==========================================================================
   BLOQUE checklist
   ========================================================================== */
.euca-checklist { margin: 0; padding: 0; list-style: none; }
.euca-checklist__item { position: relative; padding-left: 28px; margin-bottom: 14px; line-height: 1.6; }
.euca-checklist__item p { margin: 0; }
.euca-checklist--flecha .euca-checklist__item::before {
	content: "\203A"; position: absolute; left: 4px; top: -3px;
	font-size: 22px; font-weight: 700; color: var(--euca-primary);
}
.euca-checklist--check .euca-checklist__item::before {
	content: "\2713"; position: absolute; left: 2px; top: 0;
	font-weight: 700; color: var(--euca-success);
}
/* Sobre fondos de color, el marcador de flecha va en lima */
.euca-seccion--azul-claro  .euca-checklist--flecha .euca-checklist__item::before,
.euca-seccion--azul-marca  .euca-checklist--flecha .euca-checklist__item::before,
.euca-seccion--foto        .euca-checklist--flecha .euca-checklist__item::before { color: var(--euca-accent); }

/* ==========================================================================
   BLOQUE columnas-texto
   ========================================================================== */
.euca-columnas { display: grid; gap: 30px 48px; }
.euca-columnas--2 { grid-template-columns: repeat(2, 1fr); }
.euca-columnas--3 { grid-template-columns: repeat(3, 1fr); }
.euca-columnas--4 { grid-template-columns: repeat(4, 1fr); }
.euca-columnas__titulo { color: var(--euca-heading); font-weight: 500; font-size: var(--euca-fs-subheading); line-height: 1.3; margin: 0 0 .4em; }
.euca-columnas__texto p { margin: 0; }
@media (max-width: 800px) { .euca-columnas { grid-template-columns: 1fr !important; } }

/* Editor: aviso de bloque vacío */
.euca-block-empty { color: #888; font-style: italic; padding: 12px; border: 1px dashed #ccc; }

/* Listas de CONTENIDO (páginas legales, prosa): restaurar viñetas/numeración que el
   reset global `ul{list-style:none}` quita. Acotado a listas sin clase dentro de un
   grupo de contenido → no afecta a menús ni a los componentes EUCA (que llevan clase). */
.wp-block-group ul:not([class]) { list-style: disc; padding-left: 1.25em; margin: 0 0 1.2em; }
.wp-block-group ol:not([class]) { list-style: decimal; padding-left: 1.25em; margin: 0 0 1.2em; }
.wp-block-group ul:not([class]) li,
.wp-block-group ol:not([class]) li { margin-bottom: .4em; line-height: 1.6; }

/* ==========================================================================
   Logo subible (custom-logo)
   ========================================================================== */
.custom-logo-link { display: inline-block; line-height: 0; }
.custom-logo,
.site-header__logo { max-height: 50px; width: auto; height: auto; display: block; }

/* ==========================================================================
   BLOQUE acordeon (FAQ)
   ========================================================================== */
.euca-acordeon { border-top: 1px solid #e3e3e3; }
.euca-acordeon__item { border-bottom: 1px solid #e3e3e3; }
.euca-acordeon__head {
	width: 100%; display: flex; align-items: center; gap: 14px;
	background: none; border: 0; cursor: pointer; text-align: left;
	padding: 18px 4px; font-family: var(--euca-serif);
	font-size: 18px; line-height: 1.4; color: var(--euca-primary-dark);
}
.euca-acordeon__icon { flex: 0 0 auto; width: 16px; height: 16px; position: relative; }
.euca-acordeon__icon::before,
.euca-acordeon__icon::after { content: ""; position: absolute; background: currentColor; }
.euca-acordeon__icon::before { left: 0; top: 7px; width: 16px; height: 2px; }
.euca-acordeon__icon::after  { left: 7px; top: 0; width: 2px; height: 16px; transition: opacity .2s ease; }
.euca-acordeon__item.is-open .euca-acordeon__icon::after { opacity: 0; }
.euca-acordeon__q { flex: 1; }
.euca-acordeon__a { padding: 0 4px 20px 30px; }
.euca-acordeon__a p:last-child { margin-bottom: 0; }

/* Acordeón sobre banda de color */
.euca-seccion--azul-claro .euca-acordeon,
.euca-seccion--azul-marca .euca-acordeon { border-top-color: rgba(255,255,255,.45); }
.euca-seccion--azul-claro .euca-acordeon__item,
.euca-seccion--azul-marca .euca-acordeon__item { border-bottom-color: rgba(255,255,255,.45); }
.euca-seccion--azul-claro .euca-acordeon__head,
.euca-seccion--azul-marca .euca-acordeon__head { color: #fff; }
.euca-seccion--azul-claro .euca-acordeon__a,
.euca-seccion--azul-marca .euca-acordeon__a { color: rgba(255,255,255,.92); }

/* ==========================================================================
   HOME — hero propio (antetítulo + título 50/fino + subtítulo)
   ========================================================================== */
.euca-hero--home {
	min-height: 66vh;            /* altura del hero — ajusta este valor a gusto */
	display: flex;
	align-items: center;
	padding-block: 90px;
}
.euca-hero__eyebrow {
	color: #fff; font-family: var(--euca-serif);
	font-size: 28px; font-weight: 300; line-height: 1.2; margin: 0 0 .15em;
}
.euca-hero__title--home { font-size: var(--euca-fs-section); font-weight: 300; margin: 0; }
.euca-hero__subtitle { color: rgba(255,255,255,.9); font-size: var(--euca-fs-base); margin: .6em 0 0; }

/* ==========================================================================
   BLOQUE tarjetas
   ========================================================================== */
.euca-tarjetas { display: grid; gap: 22px; }
.euca-tarjetas--cols-2 { grid-template-columns: repeat(2, 1fr); }
.euca-tarjetas--cols-3 { grid-template-columns: repeat(3, 1fr); }
.euca-tarjetas--cols-4 { grid-template-columns: repeat(4, 1fr); }
.euca-tarjetas--cols-5 { grid-template-columns: repeat(5, 1fr); }
@media (max-width: 900px) { .euca-tarjetas { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 560px) { .euca-tarjetas { grid-template-columns: 1fr !important; } }

/* Estilo IMAGEN: foto de fondo + overlay + contenido abajo */
.euca-tarjeta--imagen {
	position: relative; display: flex; align-items: flex-end;
	min-height: 230px; padding: 22px; border-radius: 3px; overflow: hidden;
	background-size: cover; background-position: center; color: #fff; text-decoration: none;
}
.euca-tarjeta--imagen::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.65)); transition: background .2s; }
.euca-tarjeta--imagen:hover::before { background: linear-gradient(180deg, rgba(0,0,0,.1), rgba(0,0,0,.78)); }
.euca-tarjeta--imagen .euca-tarjeta__body { position: relative; z-index: 1; }
.euca-tarjeta--imagen .euca-tarjeta__titulo { color: #fff; font-family: var(--euca-sans); font-weight: 600; font-size: 20px; line-height: 1.25; margin: 0 0 .3em; }
.euca-tarjeta--imagen .euca-tarjeta__texto { color: rgba(255,255,255,.92); font-size: 14px; margin: 0; }
.euca-tarjeta__cta { display: inline-block; margin-top: .6em; font-size: 13px; font-weight: 600; color: var(--euca-accent); }

/* Estilo NUMERADA: caja blanca con sombra */
.euca-tarjeta--numerada {
	background: #fff; border-radius: 3px; padding: 30px 26px;
	box-shadow: 0 10px 30px rgba(0,0,0,.08); text-decoration: none; display: block;
	border-top: 3px solid transparent; transition: border-color .2s ease, transform .2s ease;
}
.euca-tarjeta--numerada:hover { border-top-color: var(--euca-accent); transform: translateY(-3px); }
.euca-tarjeta__num { display: block; font-family: var(--euca-serif); font-size: 38px; font-weight: 300; color: var(--euca-primary-light); line-height: 1; margin-bottom: .15em; }
.euca-tarjeta--numerada .euca-tarjeta__titulo { color: var(--euca-heading); font-family: var(--euca-serif); font-weight: 500; font-size: 22px; line-height: 1.3; margin: 0 0 .4em; }
.euca-tarjeta--numerada .euca-tarjeta__texto { color: var(--euca-text-muted); font-size: 15px; margin: 0; }

/* ==========================================================================
   BLOQUE cursos-grid (tarjetas de curso)
   ========================================================================== */
.euca-cursos-grid { display: grid; gap: 22px; }
.euca-cursos-grid--cols-3 { grid-template-columns: repeat(3, 1fr); }
.euca-cursos-grid--cols-4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 900px) { .euca-cursos-grid { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 560px) { .euca-cursos-grid { grid-template-columns: 1fr !important; } }

.euca-curso-card { display: block; text-decoration: none; }
.euca-curso-card__media {
	display: block; position: relative; aspect-ratio: 1 / 1; border-radius: 2px;
	background: #cdd3d6 center/cover no-repeat; overflow: hidden;
}
/* Imagen del curso como <img> real (con alt) que cubre el cuadro, en lugar de fondo CSS. */
.euca-curso-card__img,
.euca-curso-single__imgel { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.euca-curso-card__badge {
	position: absolute; left: 0; bottom: 14px;
	background: rgba(0,0,0,.55); color: #fff; font-family: var(--euca-sans);
	font-size: 12px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase;
	padding: 5px 12px;
}
.euca-curso-card__titulo {
	display: block; margin-top: 12px; font-family: var(--euca-serif);
	font-size: 15px; line-height: 1.35; color: var(--euca-primary-light);
}
.euca-curso-card:hover .euca-curso-card__titulo { color: var(--euca-primary); }
.euca-curso-card__precio { display: block; margin-top: 6px; font-size: 14px; }
/* Precio tachado y oferta en líneas separadas (tachado arriba, oferta debajo). */
.euca-curso-card__precio del { display: block; color: #9aa0a6; }
.euca-curso-card__precio strong { display: block; color: var(--euca-accent-dark); font-weight: 600; }
.euca-cursos-grid__vertodos { text-align: center; margin-top: 30px; }
/* Tarjetas más allá del lote inicial (8): ocultas hasta pulsar "Ver todos". */
.euca-curso-card--oculto { display: none; }

/* ==========================================================================
   BLOQUE intro (título + entradilla + 2 párrafos, rejilla 2×2)
   ========================================================================== */
.euca-intro {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 50px 56px;
	align-items: start;
}
.euca-intro__titulo {
	margin: 0;
	font-family: var(--euca-serif);
	font-size: var(--euca-fs-section);
	font-weight: 300;
	line-height: 1.2;
	color: var(--euca-heading);
}
.euca-intro__lead,
.euca-intro__col { color: #4d588a; line-height: 1.7; }      /* azul de texto — ajustable */
.euca-intro__lead p,
.euca-intro__col p { margin: 0 0 1em; }
.euca-intro__lead p:last-child,
.euca-intro__col p:last-child { margin-bottom: 0; }
.euca-intro__lead strong,
.euca-intro__col strong { color: var(--euca-heading); font-weight: 700; }
@media (max-width: 800px) {
	.euca-intro { grid-template-columns: 1fr; gap: 20px; }
}

/* ==========================================================================
   FICHA DE CURSO (single-curso) + pestañas
   ========================================================================== */
.euca-curso-single { padding-block: var(--euca-section-y); }
.euca-curso-single__inner { max-width: var(--euca-content); margin-inline: auto; padding-inline: var(--euca-gutter); }
.euca-curso-single .euca-breadcrumb { color: var(--euca-text-muted); margin-bottom: 22px; }
.euca-curso-single .euca-breadcrumb a { color: var(--euca-primary); }

.euca-curso-single__head { display: grid; grid-template-columns: 40% 1fr; gap: 40px; align-items: start; }
.euca-curso-single__img {
	display: block; position: relative; aspect-ratio: 1 / 1;
	background: #cdd3d6 center/cover no-repeat; border-radius: 2px; overflow: hidden;
}
.euca-curso-single__titulo { margin: 0 0 .3em; font-family: var(--euca-sans); font-size: 40px; font-weight: 300; line-height: 1.2; color: var(--euca-heading); }
@media (max-width: 600px) { .euca-curso-single__titulo { font-size: 28px; } }
.euca-curso-single__precio { font-size: 22px; color: var(--euca-accent-dark); margin: 0 0 1em; }
/* Precio tachado y oferta en líneas separadas (tachado arriba, oferta debajo). */
.euca-curso-single__precio del { display: block; color: #9aa0a6; font-size: 17px; font-weight: 400; margin-bottom: 2px; }
.euca-curso-single__precio strong { display: block; }
.euca-curso-single__desc { color: var(--euca-text); margin: 0 0 1.4em; }
.euca-curso-single__desc p { margin: 0 0 .6em; }
.euca-curso-single__desc p:last-child { margin-bottom: 0; }

.euca-curso-single__cta { margin: 2.6em 0 0; }

/* ==========================================================================
   MODAL genérico (lo usa "Solicitar información" de la ficha de curso).
   Disparador: [data-euca-modal="id"] · Cierre: [data-euca-modal-close], Esc o
   clic en el fondo. Lógica en euca.js.
   ========================================================================== */
.euca-modal[hidden] { display: none; }
.euca-modal {
	position: fixed; inset: 0; z-index: 200;
	display: flex; align-items: center; justify-content: center;
	padding: 20px;
}
.euca-modal__overlay {
	position: absolute; inset: 0;
	background: rgba(0, 0, 0, .6);
	animation: euca-modal-fade .2s ease both;
}
.euca-modal__dialog {
	position: relative;
	width: 100%; max-width: 560px;
	max-height: calc(100vh - 40px); overflow-y: auto;
	background: #fff; border-radius: 4px;
	padding: 32px;
	box-shadow: 0 20px 60px rgba(0, 0, 0, .3);
	animation: euca-modal-in .25s ease both;
}
.euca-modal__titulo {
	margin: 0 0 .2em; font-family: var(--euca-sans);
	font-size: 24px; font-weight: 500; color: var(--euca-heading);
}
.euca-modal__sub { margin: 0 0 1.4em; font-size: 14px; color: var(--euca-text-muted); }
.euca-modal__close {
	position: absolute; top: 8px; right: 12px;
	background: none; border: 0; cursor: pointer; padding: 4px 8px;
	font-size: 30px; line-height: 1; color: var(--euca-text-muted);
}
.euca-modal__close:hover { color: var(--euca-heading); }
/* Evita que la página de detrás haga scroll con el modal abierto. */
body.euca-modal-abierto { overflow: hidden; }
@keyframes euca-modal-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes euca-modal-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
	.euca-modal__dialog { animation: euca-modal-fade .2s ease both; }
}
@media (max-width: 560px) {
	.euca-modal { padding: 12px; }
	.euca-modal__dialog { padding: 24px 20px; }
}

/* --- Variante promocional (modal automático de la home) ---------------------
   Réplica del popup del original ("Radiografías en Unidades Móviles"):
   caja azul #293FAD sin radios, texto blanco, X cian FUERA del cuadro (arriba
   a la izquierda) y foto asomando por la esquina superior derecha.
   Se imprime desde inc/theme-options.php; contenido editable en Ajustes EUCA. */
.euca-modal--promo .euca-modal__dialog {
	max-width: 700px;
	background: #293FAD;
	border-radius: 0;
	color: #fff;
	padding: 44px 52px 40px;
	margin-top: 56px;              /* aire para la X y la imagen desbordadas */
	overflow: visible;             /* deja asomar la imagen */
	max-height: none;
	display: flow-root;            /* contiene la imagen flotada */
}
.euca-modal--promo .euca-modal__close {
	top: -52px; left: -6px; right: auto;
	color: var(--euca-primary);
	font-size: 34px; font-weight: 700;
}
.euca-modal--promo .euca-modal__close:hover { color: #fff; }
/* Flotada con márgenes negativos: asoma por la esquina pero reserva su hueco
   en el flujo, de modo que título, texto y campos la rodean sin taparse. */
.euca-modal--promo__imagen {
	float: right;
	width: 280px; max-width: 45%;
	margin: -90px -96px 18px 28px;
	line-height: 0;
}
.euca-modal--promo__imagen img { width: 100%; height: auto; display: block; }
.euca-modal--promo__titulo {
	margin: 0 0 .6em;
	font-family: var(--euca-serif);
	font-size: 28px; font-weight: 400; line-height: 1.35;
	color: #fff;
}
.euca-modal--promo__texto { font-size: 15px; line-height: 1.7; margin: 0 0 1.6em; }
.euca-modal--promo__texto p { margin: 0 0 .8em; }
.euca-modal--promo__texto a { color: var(--euca-primary-light); }

/* Formulario (FluentForms) dentro del modal promocional: campos con fondo
   transparente y borde blanco, placeholder blanco, botón blanco con texto azul. */
.euca-modal--promo__form .ff-el-form-control,
.euca-modal--promo__form input[type="text"],
.euca-modal--promo__form input[type="email"],
.euca-modal--promo__form input[type="tel"],
.euca-modal--promo__form textarea {
	background: transparent;
	border: 1px solid #fff;
	border-radius: 0;
	color: #fff;
	padding: 14px 16px;
}
.euca-modal--promo__form .ff-el-form-control::placeholder,
.euca-modal--promo__form input::placeholder,
.euca-modal--promo__form textarea::placeholder { color: rgba(255, 255, 255, .85); }
.euca-modal--promo__form .ff-el-input--label label { color: #fff; }
.euca-modal--promo__form .ff_btn_style,
.euca-modal--promo__form .ff-btn-submit,
.euca-modal--promo__form button[type="submit"] {
	background: #fff;
	color: #293FAD;
	border: 0; border-radius: 0;
	font-family: var(--euca-sans);
	font-weight: 600; font-size: 14px;
	text-transform: uppercase; letter-spacing: .02em;
	padding: 14px 24px;
	cursor: pointer;
}
.euca-modal--promo__form .ff_btn_style:hover,
.euca-modal--promo__form .ff-btn-submit:hover,
.euca-modal--promo__form button[type="submit"]:hover { background: var(--euca-primary); color: #fff; }
/* El botón alineado a la derecha, como el original. */
.euca-modal--promo__form .ff_submit_btn_wrapper { text-align: right; }

@media (max-width: 700px) {
	.euca-modal--promo .euca-modal__dialog { padding: 32px 24px 28px; margin-top: 40px; }
	.euca-modal--promo .euca-modal__close { top: -40px; left: 0; }
	.euca-modal--promo__imagen { display: none; }
	.euca-modal--promo__titulo { font-size: 22px; }
}

.euca-curso-meta { display: grid; grid-template-columns: max-content 1fr; gap: 8px 18px; margin: 0; }
.euca-curso-meta dt { font-weight: 600; color: var(--euca-heading); }
.euca-curso-meta dd { margin: 0; color: var(--euca-text); }
.euca-curso-meta dd a { color: var(--euca-primary); }

/* Pestañas */
.euca-tabs { margin-top: 48px; }
.euca-tabs__nav { display: flex; gap: 4px; border-bottom: 1px solid #e3e3e3; }
.euca-tabs__tab {
	background: #f2f2f2; border: 1px solid #e3e3e3; border-bottom: 0; cursor: pointer;
	padding: 12px 22px; font-family: var(--euca-sans); font-size: 14px; color: var(--euca-text-muted);
	border-radius: 3px 3px 0 0; margin-bottom: -1px;
}
.euca-tabs__tab.is-active { background: #fff; color: var(--euca-heading); font-weight: 600; }
.euca-tabs__panel { display: none; padding: 28px 2px; }
.euca-tabs__panel.is-active { display: block; }
.euca-temario__titulo { font-family: var(--euca-sans); font-size: 16px; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; color: var(--euca-heading); margin: 1.4em 0 .6em; }
.euca-temario__titulo:first-child { margin-top: 0; }
.euca-temario ul { margin: 0 0 1em; padding-left: 1.1em; }
.euca-temario li { margin-bottom: .3em; }
.euca-temario p { margin: 1.1em 0 .4em; }
.euca-temario p:first-child { margin-top: 0; }
.euca-temario strong { color: var(--euca-heading); }
/* Pestaña "Más información" */
.euca-curso-desc h2 { font-size: var(--euca-fs-medium); margin: 1.2em 0 .4em; }
.euca-curso-desc h2:first-child { margin-top: 0; }
.euca-curso-desc p { margin: 0 0 1em; }

@media (max-width: 800px) {
	.euca-curso-single__head { grid-template-columns: 1fr; }
	.euca-curso-single__img { max-width: 360px; }
}

/* ==========================================================================
   PÁGINA DE CONTACTO
   ========================================================================== */
.euca-hero--corto { padding-block: 84px; }

.euca-contacto { display: grid; grid-template-columns: 45% 1fr; gap: 48px; align-items: start; }
.euca-contacto__titulo { font-family: var(--euca-serif); font-weight: 300; font-size: 32px; color: var(--euca-text-muted); margin: 0 0 1em; }
.euca-contacto__datos { list-style: none; margin: 0; padding: 0; }
.euca-contacto__datos li { display: flex; gap: 14px; align-items: flex-start; margin-bottom: 18px; line-height: 1.5; color: var(--euca-text); }
.euca-contacto__datos svg { flex: 0 0 auto; width: 22px; height: 22px; fill: var(--euca-primary); margin-top: 1px; }
.euca-contacto__datos a { color: var(--euca-text); }
.euca-contacto__datos .is-maps a,
.euca-contacto__datos a:hover { color: var(--euca-primary); }
.euca-contacto__rgpd { margin-top: 18px; font-size: 12px; color: var(--euca-text-muted); }
.euca-contacto__rgpd p { margin: 0 0 .3em; }

/* Empujón de estilo al formulario de FluentForms (botón lima de marca) */
.euca-contacto__form .ff-btn-submit,
.euca-contacto__form button[type="submit"] {
	background: var(--euca-accent); color: #fff; border: 0;
	padding: 14px 44px; font-family: var(--euca-sans); font-weight: 600; cursor: pointer;
}
.euca-contacto__form .ff-btn-submit:hover,
.euca-contacto__form button[type="submit"]:hover { background: var(--euca-accent-dark); }

@media (max-width: 800px) { .euca-contacto { grid-template-columns: 1fr; gap: 36px; } }

/* ==========================================================================
   Ajustes de chrome para FSE (bloques site-logo / navigation)
   ========================================================================== */
.site-header .wp-block-navigation { font-family: var(--euca-sans); font-size: 14px; }
.site-header .wp-block-navigation a { color: var(--euca-heading); }
.site-header .wp-block-navigation a:hover { color: var(--euca-primary); }
.site-footer .wp-block-navigation { font-size: 14px; }
.site-footer .wp-block-columns { gap: 40px; }
.site-footer__bar { border-top: 3px solid var(--euca-accent); margin-top: 28px; padding-block: 18px; }

/* ==========================================================================
   FASE 4 — Paridad del chrome FSE (bloques navigation / columns)
   ========================================================================== */

/* --- Cabecera --- */
/* El aire de la cabecera lo da este padding: con box-sizing:border-box el logo (60px)
   empuja la caja hasta 84px + 1px de borde = 85px, que es --euca-header-h. */
.site-header__inner { min-height: 64px; padding-block: 12px; }
/* Logo: se fija SOLO el alto y el ancho va automático → nunca se deforma. */
.site-header .wp-block-site-logo { width: 136px; }
.site-header .wp-block-site-logo img,
.site-header .custom-logo {
	width: 136px;
	height: auto;
	max-width: 136px;
	max-height: none;   /* anula el max-height:50px de .custom-logo que lo recortaba */
	object-fit: contain;
}
.site-header .wp-block-navigation { font-family: var(--euca-sans); }
.site-header .wp-block-navigation .wp-block-navigation__container { gap: 30px; align-items: center; }
/* Menú superior: tamaño 16px como el original, navy, hover azul con transición suave */
.site-header .wp-block-navigation .wp-block-navigation-item__content,
.site-header .wp-block-navigation a {
	font-size: var(--euca-menu-fs); font-weight: 400; letter-spacing: .02em;
	color: var(--euca-menu-color); text-decoration: none;
	transition: color var(--euca-nav-transition);
}
.site-header .wp-block-navigation .wp-block-navigation-item__content:hover,
.site-header .wp-block-navigation a:hover { color: var(--euca-menu-hover); }

/* --- Submenú desplegable: réplica del original (fondo azul claro, texto blanco) --- */
.site-header .wp-block-navigation .wp-block-navigation-submenu .wp-block-navigation__submenu-container {
	background: var(--euca-submenu-bg);
	box-shadow: 0 15px 20px 0 rgba(0,0,0,.1);
	border: 0; padding: 0;
	min-width: 320px !important;  /* gana al min-width:200px que mete el core */
	width: auto;
	border-radius: 0;
}
.site-header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
.site-header .wp-block-navigation .wp-block-navigation__submenu-container a {
	color: var(--euca-submenu-text);
	font-size: var(--euca-submenu-fs); font-weight: 400; letter-spacing: 0;
	padding: 13px 16px; width: 100%;
	transition: background-color var(--euca-nav-transition), color var(--euca-nav-transition);
}
.site-header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item:hover > .wp-block-navigation-item__content,
.site-header .wp-block-navigation .wp-block-navigation__submenu-container a:hover {
	background: var(--euca-submenu-hover-bg);
	color: var(--euca-submenu-hover-text);
}
/* la flechita del item con submenú también en navy */
.site-header .wp-block-navigation > .wp-block-navigation__container > .wp-block-navigation-submenu > .wp-block-navigation-item__content { color: var(--euca-menu-color); }
.site-header .wp-block-navigation .wp-block-navigation__submenu-icon { transition: transform var(--euca-nav-transition); }
.site-header .wp-block-navigation .wp-block-navigation-submenu:hover .wp-block-navigation__submenu-icon { transform: rotate(180deg); }
/* botón móvil del overlay */
.site-header .wp-block-navigation__responsive-container-open,
.site-header .wp-block-navigation__responsive-container-close { color: var(--euca-heading); }
.site-header .wp-block-navigation__responsive-container-close { width: 34px; height: 34px; }

/* ==========================================================================
   NAVBAR FIJO EN ESCRITORIO (a partir de 601px; en móvil queda en flujo)
   ========================================================================== */
@media (min-width: 601px) {
	html { scroll-padding-top: calc(var(--euca-header-h) + 16px); }  /* anclas no quedan bajo la barra */
	.site-header {
		position: fixed; top: 0; left: 0; right: 0; z-index: 100;
	}
	body { padding-top: var(--euca-header-h); }            /* reserva el hueco del header fijo */
	.admin-bar .site-header { top: 32px; }                  /* bajo la barra de admin (logado) */
}
@media (min-width: 601px) and (max-width: 782px) {
	.admin-bar .site-header { top: 46px; }                  /* la barra de admin mide 46px aquí */
}

/* ==========================================================================
   MENÚ MÓVIL — overlay del bloque navigation (estilo + animación)
   Reglas activas solo cuando el overlay está abierto (.is-menu-open),
   así no afectan al menú de escritorio.
   ========================================================================== */
/* Estructura: ítems alineados a la izquierda, con aire y zona de toque amplia */
.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { width: 100%; }
.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	align-items: flex-start;   /* el core los pone a la derecha y pegados */
	gap: 2px;
	width: 100%;
}
.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { width: 100%; }
.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	width: 100%; padding: 14px 6px; font-size: 18px;
	border-bottom: 1px solid #eef0f1;
}
/* Submenú dentro del overlay: oculto por defecto, se despliega (acordeón) al
   tocar el parent (clase .euca-sub-open la pone euca.js). Ancho completo,
   indentado y sin caja flotante. */
.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	display: none;
	min-width: 0 !important; width: 100%;
	background: #f6f8f9; box-shadow: none; padding: 0 0 0 14px;
}
.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu.euca-sub-open > .wp-block-navigation__submenu-container {
	display: flex;
}
/* Indicador "+" / "−" en los ítems con submenú (sustituye al chevron del core) */
.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu > .wp-block-navigation-item__content .wp-block-navigation__submenu-icon {
	display: none;
}
.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu > .wp-block-navigation-item__content {
	display: flex; align-items: center; justify-content: space-between;
}
.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu > .wp-block-navigation-item__content::after {
	content: "+";
	margin-left: 12px;
	font-size: 24px; line-height: 1; font-weight: 400;
	color: var(--euca-menu-color);
}
.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu.euca-sub-open > .wp-block-navigation-item__content::after {
	content: "\2212";   /* signo menos "−" al estar desplegado */
}
.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	color: var(--euca-menu-color); font-size: 15px; padding: 12px 6px;
}
.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
	background: transparent; color: var(--euca-menu-hover);
}

/* Animación de entrada y salida del overlay móvil.
   - ENTRADA: @keyframes (soporte universal — se ve en cualquier móvil), con los
     ítems entrando escalonados.
   - SALIDA: display:allow-discrete (navegadores modernos); en los antiguos el
     cierre es instantáneo.
   Se aplica SIEMPRE (sin gate de reduced-motion, que es lo que la anulaba si el
   móvil tenía "reducir movimiento"); más abajo hay un fallback suave solo-fundido
   para usuarios con esa preferencia. */
@media (max-width: 600px) {
	/* Contenedor: fundido + deslizamiento. La entrada la refuerza el keyframe;
	   la transición + allow-discrete dan la SALIDA en navegadores modernos. */
	.site-header .wp-block-navigation__responsive-container {
		transition: opacity .26s ease, transform .26s ease, display .26s allow-discrete;
	}
	.site-header .wp-block-navigation__responsive-container.is-menu-open {
		opacity: 1; transform: translateY(0);
		animation: euca-menu-in .3s ease both;
	}
	.site-header .wp-block-navigation__responsive-container:not(.is-menu-open) {
		opacity: 0; transform: translateY(-14px);
	}
	/* Entrada escalonada de los ítems (keyframe → universal) */
	.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item {
		animation: euca-menu-item .34s ease both;
	}
	.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(2) { animation-delay: .05s; }
	.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(3) { animation-delay: .10s; }
	.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(4) { animation-delay: .15s; }
	.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(5) { animation-delay: .20s; }
	.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(6) { animation-delay: .25s; }
}
@keyframes euca-menu-in { from { opacity: 0; transform: translateY(-14px); } to { opacity: 1; transform: none; } }
@keyframes euca-menu-item { from { opacity: 0; transform: translateX(12px); } to { opacity: 1; transform: none; } }

/* Fallback para usuarios con "reducir movimiento": sin desplazamiento, solo un
   fundido muy suave (respeta la preferencia sin dejar el menú sin transición). */
@media (max-width: 600px) and (prefers-reduced-motion: reduce) {
	.site-header .wp-block-navigation__responsive-container.is-menu-open,
	.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item {
		animation: euca-menu-fade .2s ease both;
	}
	.site-header .wp-block-navigation__responsive-container,
	.site-header .wp-block-navigation__responsive-container.is-menu-open,
	.site-header .wp-block-navigation__responsive-container:not(.is-menu-open) { transform: none; }
}
@keyframes euca-menu-fade { from { opacity: 0; } to { opacity: 1; } }

/* --- Pie --- */
/* el grid lo hace ahora el bloque columns: anulamos el grid del clásico en __inner */
.site-footer__inner { display: block; padding-block: 56px 40px; }
.site-footer .wp-block-columns { gap: 40px; align-items: start; margin: 0; }
.site-footer .wp-block-navigation { display: block; }
.site-footer .wp-block-navigation .wp-block-navigation__container { flex-direction: column; gap: 0; align-items: flex-start; }
.site-footer .wp-block-navigation .wp-block-navigation-item__content,
.site-footer .wp-block-navigation a {
	color: rgba(255,255,255,.85); font-size: 14px; line-height: 2.1; text-decoration: none;
}
.site-footer .wp-block-navigation .wp-block-navigation-item__content:hover,
.site-footer .wp-block-navigation a:hover { color: var(--euca-accent); }
.site-footer__bar-inner { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 18px; }

/* ==========================================================================
   BLOQUE cursos-listado (controles de buscador + orden)
   ========================================================================== */
.euca-cursos-listado__controles {
	display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 26px;
}
.euca-cursos-listado__buscar {
	flex: 1 1 260px; min-width: 200px;
	padding: 11px 14px; border: 1px solid #d7d7d9; border-radius: 2px;
	font-family: var(--euca-sans); font-size: 15px;
}
.euca-cursos-listado__orden {
	padding: 11px 14px; border: 1px solid #d7d7d9; border-radius: 2px;
	font-family: var(--euca-sans); font-size: 15px; background: #fff; cursor: pointer;
}
.euca-cursos-listado__buscar:focus,
.euca-cursos-listado__orden:focus { outline: 2px solid var(--euca-primary-light); outline-offset: 1px; }
.euca-cursos-listado__vacio { text-align: center; color: var(--euca-text-muted); padding: 24px 0; }

/* Filtros por sector y modalidad (pestañas/botones) */
.euca-cursos-filtros { display: flex; flex-direction: column; gap: 12px; margin-bottom: 24px; }
.euca-cursos-filtros__grupo { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.euca-cursos-filtros__label { font-family: var(--euca-sans); font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: var(--euca-text-muted); margin-right: 6px; }
.euca-cursos-filtros__btn {
	font-family: var(--euca-sans); font-size: 14px; line-height: 1;
	padding: 9px 16px; border: 1px solid #d7d7d9; border-radius: 999px;
	background: #fff; color: var(--euca-heading); cursor: pointer;
	transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}
.euca-cursos-filtros__btn:hover { border-color: var(--euca-primary); color: var(--euca-primary); }
.euca-cursos-filtros__btn.is-active { background: var(--euca-primary); border-color: var(--euca-primary); color: #fff; }

/* Animación de aparición/desaparición de tarjetas al filtrar */
.euca-cursos-grid .euca-curso-card { transition: opacity .3s ease, transform .3s ease; }
.euca-cursos-grid .euca-curso-card.is-oculta { opacity: 0; transform: scale(.96); pointer-events: none; }
@media (prefers-reduced-motion: reduce) {
	/* Respeta la preferencia: mantenemos el fundido (suave) pero sin el desplazamiento/escala. */
	.euca-cursos-grid .euca-curso-card { transition-property: opacity; }
	.euca-cursos-grid .euca-curso-card.is-oculta { transform: none; }
}

/* Menú secundario de modalidades ("Más información") */
.euca-cursos-submenu {
	display: flex; flex-wrap: wrap; align-items: center; gap: 6px 22px;
	padding-bottom: 18px; margin-bottom: 24px; border-bottom: 1px solid #e6e8ea;
}
.euca-cursos-submenu__label {
	font-family: var(--euca-sans); font-weight: 600; font-size: 13px;
	text-transform: uppercase; letter-spacing: .04em; color: var(--euca-text-muted); margin-right: 4px;
}
.euca-cursos-submenu__link {
	font-family: var(--euca-sans); font-size: 15px; color: var(--euca-heading);
	text-decoration: none; padding: 4px 2px; border-bottom: 2px solid transparent;
	transition: color .2s ease, border-color .2s ease;
}
.euca-cursos-submenu__link:hover { color: var(--euca-primary); }
.euca-cursos-submenu__link.is-active { color: var(--euca-primary); border-bottom-color: var(--euca-primary); font-weight: 600; }

/* Botón "Cargar más" */
.euca-cursos-listado__masbox { text-align: center; margin-top: 32px; }

/* El "Cargar más" es un .euca-btn (display:inline-block), que pisa el atributo
   [hidden]; forzamos que se oculte cuando el JS lo marca como oculto. */
.euca-cursos-listado__mas[hidden] { display: none; }

/* Botón "Más información" + panel de texto desplegable (tras el grid) */
.euca-mas-info-box { text-align: center; margin-top: 8px; }
.euca-mas-info-panel { display: none; }
.euca-mas-info-panel.is-open { display: block; animation: euca-mas-info-in .3s ease both; }
@keyframes euca-mas-info-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

/* ==========================================================================
   BLOG con barra lateral
   ========================================================================== */
/* Acotado y reparto como el original: contenido ~72% + barra lateral fija ~280px,
   centrado a 1140 (el "constrained" de WP no acota aquí; se fuerza con max-width). */
.euca-blog-layout {
	max-width: var(--euca-content) !important;
	margin: 0 auto;
	padding-inline: var(--euca-gutter);
	gap: 48px;
	align-items: flex-start;
}
.euca-blog-layout > .wp-block-column:first-child { flex: 1 1 0% !important; min-width: 0; }
.euca-blog-layout > .wp-block-column:last-child  { flex: 0 0 280px !important; }
@media (max-width: 900px) {
	.euca-blog-layout > .wp-block-column { flex: 1 1 100% !important; }
}

/* Espaciado del contenedor del blog (aire bajo el navbar fijo y antes del pie). */
.euca-blog-main { padding-top: 36px; padding-bottom: 64px; }

/* Títulos sueltos de índice/archivo ("Blog", "Categoría: …"): alinear al contenido (1140),
   no a la izquierda del viewport, y con la tipografía del blog. */
.euca-blog-main > .wp-block-heading,
.euca-blog-main > .wp-block-query-title,
.euca-blog-main > .wp-block-term-description {
	max-width: var(--euca-content);
	margin-inline: auto;
	padding-inline: var(--euca-gutter);
}
.euca-blog-main > .wp-block-heading,
.euca-blog-main > .wp-block-query-title {
	font-family: var(--euca-sans);
	font-weight: 300;
	font-size: 40px;
	line-height: 1.2;
	color: #3a3a3a;
	margin-bottom: 28px;
}

/* Enlace de categoría al pie de la entrada: azul de marca + icono de carpeta (como el original). */
.euca-post-cat { margin-top: 2.4em; font-family: var(--euca-sans); font-size: 15px; }
/* En las tarjetas del índice/archivo, la categoría va entre título y extracto: compacta. */
.euca-blog-layout .wp-block-query .euca-post-cat { margin: .15em 0 .7em; font-size: 13px; }
.euca-post-cat a { color: var(--euca-primary); text-decoration: none; }
.euca-post-cat a:hover { color: var(--euca-primary-dark); }
.euca-post-cat::before {
	content: ""; display: inline-block; width: 16px; height: 15px; margin-right: 8px; vertical-align: -2px;
	background: var(--euca-primary);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 4H2v16h20V6H12l-2-2z'/%3E%3C/svg%3E") center/contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 4H2v16h20V6H12l-2-2z'/%3E%3C/svg%3E") center/contain no-repeat;
}
/* Tipografía del blog igual al original: titulares en Montserrat peso 300, tamaños menores
   (el tema usa Merriweather grande por defecto; el blog del origen es sans y más pequeño). */
.euca-blog-layout .wp-block-post-title,
.euca-blog-layout .wp-block-post-title a,
.euca-blog-layout .wp-block-post-content h2,
.euca-blog-layout .wp-block-post-content h3,
.euca-blog-layout .wp-block-post-content h4 { font-family: var(--euca-sans); }

.euca-blog-layout h1.wp-block-post-title { font-size: 40px; font-weight: 300; line-height: 1.2; color: #3a3a3a; margin-bottom: .4em; }
.euca-blog-layout h2.wp-block-post-title,
.euca-blog-layout h2.wp-block-post-title a { font-size: 30px; font-weight: 300; line-height: 1.25; color: #3a3a3a; }
.euca-blog-layout h2.wp-block-post-title a:hover { color: var(--euca-primary); }
.euca-blog-layout .wp-block-post-title { margin-bottom: .2em; }
/* Aire entre la imagen destacada y el texto de la entrada. */
.euca-blog-layout .wp-block-post-featured-image { margin-bottom: 32px; }

.euca-blog-layout .wp-block-post-content h2 { font-size: 30px; font-weight: 300; line-height: 1.3; color: #3a3a3a; margin: 1.4em 0 .5em; }
.euca-blog-layout .wp-block-post-content h3 { font-size: 24px; font-weight: 400; line-height: 1.3; color: #3a3a3a; margin: 1.2em 0 .4em; }
.euca-blog-layout .wp-block-post-content h4 { font-size: 20px; font-weight: 500; color: #3a3a3a; margin: 1.1em 0 .4em; }
.euca-blog-layout .wp-block-post-content p,
.euca-blog-layout .wp-block-post-content li { font-size: 16px; line-height: 1.6; }
.euca-blog-layout .wp-block-post-date { font-size: 13px; color: var(--euca-text-muted); }
.euca-blog-layout .wp-block-post-template { gap: 40px; }
.euca-blog-layout > .wp-block-column > .wp-block-query .wp-block-post-template li { padding-bottom: 32px; border-bottom: 1px solid #eee; }

.euca-sidebar { position: sticky; top: 90px; }
.euca-sidebar__cta { background: var(--euca-section-blue); color: #fff; padding: 24px; border-radius: 3px; }
.euca-sidebar__cta h3 { color: #fff; margin-top: 0; font-family: var(--euca-serif); }
.euca-sidebar__cta p { margin-bottom: 16px; }
.euca-sidebar__cta .wp-block-button__link { background: var(--euca-accent); color: #fff; border-radius: 2px; }
.euca-sidebar__cta .wp-block-button__link:hover { background: var(--euca-accent-dark); }
.euca-sidebar__widget { margin-top: 28px; }
.euca-sidebar__widget h3 {
	font-family: var(--euca-serif); font-size: 20px; color: var(--euca-heading);
	border-bottom: 2px solid var(--euca-primary); padding-bottom: 8px; margin: 0 0 14px;
}
.euca-sidebar__widget ul { margin: 0; padding: 0; list-style: none; }
.euca-sidebar__widget li { margin-bottom: 10px; line-height: 1.4; }
.euca-sidebar__widget .wp-block-post-title { font-size: 14px; margin: 0 0 10px; }
.euca-sidebar a { color: var(--euca-text); text-decoration: none; }
.euca-sidebar a:hover { color: var(--euca-primary); }
/* Últimas entradas: miniatura + título en fila, como el original. */
.euca-sidebar__recientes li { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 14px; }
.euca-sidebar__recientes .wp-block-latest-posts__featured-image { flex: 0 0 70px; margin: 0; }
.euca-sidebar__recientes .wp-block-latest-posts__featured-image img { width: 70px; height: 70px; object-fit: cover; display: block; }
.euca-sidebar__recientes .wp-block-latest-posts__post-title { font-size: 14px; line-height: 1.4; }
@media (max-width: 900px) { .euca-sidebar { position: static; } }

/* ==========================================================================
   RESPONSIVE GLOBAL — a partir de 798px todo se apila en vertical
   ========================================================================== */
@media (max-width: 798px) {

	/* Columnas nativas de bloques (pie, secciones de formulario, etc.) */
	.wp-block-columns { flex-direction: column !important; gap: 28px; }
	.wp-block-columns > .wp-block-column { flex-basis: 100% !important; width: 100% !important; max-width: 100%; }

	/* Rejillas de los bloques EUCA → una sola columna */
	.euca-texto-imagen,
	.euca-columnas,
	.euca-tarjetas,
	.euca-cursos-grid,
	.euca-intro,
	.euca-contacto,
	.euca-curso-single__head,
	.site-footer__inner { grid-template-columns: 1fr !important; }

	/* En el dúo texto+imagen, la imagen siempre arriba al apilar */
	.euca-texto-imagen__media { order: -1 !important; }

	/* Layout del blog (2 columnas → 1) */
	.euca-blog-layout { grid-template-columns: 1fr !important; }

	/* Holgura tipográfica al apilar */
	.euca-seccion { --euca-fs-section: 34px; }
}
