/* ==========================================================================
   EMAM — estilos del diseño aprobado.
   El contenido se edita en Elementor; cada bloque se estiliza por su clase
   CSS (Avanzado → Clases CSS). No borrar ni renombrar las clases emam-*.
   ========================================================================== */

:root {
	--emam-y: #FFCE0A;
	--emam-y-soft: #FFF6D6;
	--emam-ink: #111111;
	--emam-gold: #B9902A;
	--emam-muted: #6B6B6B;
	--emam-body: #5F5C57;
	--emam-line: #ECECE8;
	--emam-ease: cubic-bezier(.2, .7, .3, 1);
	--emam-gutter: max(32px, calc((100vw - 1240px) / 2));
	--emam-hdr-h: 0px;
	--emam-band:
		radial-gradient(ellipse 60% 50% at 88% 0%, rgba(255, 214, 64, .16) 0%, rgba(255, 214, 64, 0) 70%),
		radial-gradient(ellipse 50% 40% at 6% 100%, rgba(255, 206, 10, .10) 0%, rgba(255, 206, 10, 0) 70%),
		linear-gradient(180deg, #FFFDF7 0%, #FBF6E9 100%);
	--emam-band-mirror:
		radial-gradient(ellipse 60% 50% at 10% 0%, rgba(255, 214, 64, .16) 0%, rgba(255, 214, 64, 0) 70%),
		radial-gradient(ellipse 50% 40% at 94% 100%, rgba(255, 206, 10, .10) 0%, rgba(255, 206, 10, 0) 70%),
		linear-gradient(180deg, #FFFDF7 0%, #FBF6E9 100%);
	--emam-arrow-w: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h15M13 6l6 6-6 6'/%3E%3C/svg%3E");
	--emam-check-k: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7'/%3E%3C/svg%3E");
	--emam-pin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s7-6 7-11a7 7 0 1 0-14 0c0 5 7 11 7 11Z'/%3E%3Ccircle cx='12' cy='10' r='2.4'/%3E%3C/svg%3E");
}

html { scroll-behavior: smooth; }
body {
	margin: 0;
	font-family: Figtree, system-ui, sans-serif;
	color: var(--emam-ink);
	background: #FFFFFF;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}
body a { color: inherit; text-decoration: none; }
body a:hover, body a:active { color: inherit; }
.elementor p:last-child { margin-bottom: 0; }
[id="inicio"], [id="porque"], [id="formulario"], [id="faqs"] { scroll-margin-top: 110px; }
[id="cursos"] { scroll-margin-top: 90px; }

/* Contenedor de ancho de diseño */
.e-con.emam-wrap {
	width: 100%;
	max-width: 1240px;
	margin-inline: auto;
	padding-inline: 32px;
}
.e-con.emam-section > .emam-wrap { padding-block: clamp(72px, 9vw, 120px); }

/* ---------- Tipografía base ---------- */
.emam-eyebrow .elementor-heading-title {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	font: 600 12px/1.3 Figtree, sans-serif;
	letter-spacing: 3px;
	text-transform: uppercase;
	white-space: nowrap;
	color: var(--emam-gold);
}
.emam-eyebrow .elementor-heading-title::before,
.emam-eyebrow--center .elementor-heading-title::after {
	content: "";
	flex: none;
	width: 22px;
	height: 1px;
	background: currentColor;
}
.emam-eyebrow--center .elementor-heading-title { justify-content: center; }
.emam-eyebrow--light .elementor-heading-title,
.emam-eyebrow--hero .elementor-heading-title { color: var(--emam-y); }

body .emam-h2 .elementor-heading-title {
	margin: 0;
	font: 500 clamp(28px, 3.4vw, 42px)/1.08 Outfit, sans-serif;
	letter-spacing: -1.4px;
	color: var(--emam-ink);
}
body .emam-h2--light .elementor-heading-title { color: #FFFFFF; }
.emam-h2--narrow .elementor-heading-title { max-width: 20ch; }
.emam-about .emam-h2--narrow .elementor-heading-title { max-width: 16ch; }
.emam-cta-band .emam-h2--narrow .elementor-heading-title { max-width: 18ch; }

.emam-lead {
	max-width: 60ch !important;
	font-size: 17px;
	line-height: 1.7;
	color: var(--emam-muted);
}
.emam-lead p { margin: 0; }
.emam-courses .emam-lead { max-width: 52ch !important; }
.emam-branches .emam-lead { max-width: 46ch !important; }
.emam-form-section .emam-lead { max-width: none !important; }
.emam-lead--narrow { max-width: 38ch !important; font-size: 16px; line-height: 1.65; }

.e-con.emam-head { gap: 16px; margin-bottom: 52px; align-items: flex-start; }
.e-con.emam-head--center { align-items: center; text-align: center; }
.emam-courses .e-con.emam-head { gap: 14px; margin-bottom: 32px; }
.emam-form-section .e-con.emam-head { margin-bottom: 56px; }
.emam-branches .e-con.emam-head { margin-bottom: 48px; }

/* ---------- Botones ---------- */
.emam-btn .elementor-button {
	display: inline-flex;
	align-items: center;
	white-space: nowrap;
	border: none;
	border-radius: 999px;
	font-family: Figtree, sans-serif;
	text-transform: uppercase;
	transition: background .32s ease, color .32s ease, box-shadow .35s ease, transform .35s var(--emam-ease);
}
.emam-btn .elementor-button-content-wrapper { display: inline-flex; align-items: center; gap: inherit; flex-direction: row; }
.emam-btn .elementor-button-icon { display: grid; place-items: center; margin: 0; transition: transform .32s var(--emam-ease); }
.emam-btn .elementor-button-icon svg { width: 16px; height: 16px; fill: none; }
.emam-btn .elementor-button:hover .elementor-button-icon { transform: translateX(4px); }

/* Blanco con círculo negro (hero) */
.emam-btn--light .elementor-button {
	gap: 14px;
	padding: 14px 14px 14px 28px;
	background: #FFFFFF;
	color: var(--emam-ink);
	font-size: 14px;
	letter-spacing: 1.2px;
	line-height: 1;
}
.emam-btn--light .elementor-button-icon,
.emam-btn--yellow .elementor-button-icon {
	width: 34px;
	height: 34px;
	border-radius: 999px;
	background: var(--emam-ink);
	color: #FFFFFF;
}
.emam-btn--light .elementor-button:hover {
	background: var(--emam-y);
	color: var(--emam-ink);
	box-shadow: 0 16px 34px rgba(0, 0, 0, .28);
	transform: translateY(-3px);
}

/* Amarillo con círculo negro */
.emam-btn--yellow .elementor-button {
	gap: 16px;
	padding: 14px 14px 14px 32px;
	background: var(--emam-y);
	color: var(--emam-ink);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 2px;
	line-height: 1;
}
.emam-btn--yellow .elementor-button-icon { width: 40px; height: 40px; }
.emam-btn--yellow .elementor-button-icon svg { width: 18px; height: 18px; }
.emam-btn--yellow .elementor-button:hover {
	color: var(--emam-ink);
	box-shadow: 0 16px 34px rgba(255, 206, 10, .4);
	transform: translateY(-3px);
}

/* Negro */
.emam-btn--dark .elementor-button {
	justify-content: center;
	gap: 12px;
	padding: 15px 28px;
	background: var(--emam-ink);
	color: #FFFFFF;
	font-size: 13px;
	letter-spacing: 1.4px;
	line-height: 1.2;
}
.emam-btn--dark .elementor-button-icon svg { width: 18px; height: 18px; fill: currentColor; }
.emam-btn--dark .elementor-button:hover {
	background: var(--emam-y);
	color: var(--emam-ink);
	box-shadow: 0 14px 30px rgba(255, 206, 10, .35);
	transform: translateY(-3px);
}
.emam-btn--dark .elementor-button:hover .elementor-button-icon { transform: none; }

/* Contorno (WhatsApp en cursos) */
.emam-btn--outline .elementor-button {
	gap: 9px;
	padding: 9px 16px;
	background: transparent;
	border: 1.5px solid var(--emam-ink);
	color: var(--emam-ink);
	font-size: 14px;
	font-weight: 600;
	text-transform: none;
	line-height: 1.2;
}
.emam-btn--outline .elementor-button-icon svg { width: 15px; height: 15px; fill: currentColor; }
.emam-btn--outline .elementor-button:hover { background: var(--emam-y); color: var(--emam-ink); transform: translateY(-2px); }
.emam-btn--outline .elementor-button:hover .elementor-button-icon { transform: none; }

/* Enlace subrayado sobre oscuro ("Ver cursos") */
.emam-textlink .elementor-button {
	padding: 0 0 6px;
	background: none;
	border-radius: 0;
	border-bottom: 1px solid rgba(255, 255, 255, .45);
	color: #FFFFFF;
	font-size: 15px;
	line-height: 1.3;
	transition: border-color .3s ease;
}
.emam-textlink .elementor-button:hover { background: none; color: #FFFFFF; border-bottom-color: var(--emam-y); }

/* ---------- Header ---------- */
.e-con.emam-hdr {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 40;
	background: transparent;
	transition: background .4s ease, box-shadow .4s ease, backdrop-filter .4s ease;
}
body.admin-bar .e-con.emam-hdr { top: 32px; }
@media (max-width: 782px) { body.admin-bar .e-con.emam-hdr { top: 46px; } }
.emam-hdr.is-scrolled, .emam-hdr.is-open, .emam-solid-hdr .emam-hdr {
	background: rgba(255, 255, 255, .94);
	backdrop-filter: blur(10px);
	box-shadow: 0 8px 24px rgba(17, 17, 17, .07);
}
.e-con.emam-hdr-inner {
	width: 100%;
	max-width: 1240px;
	margin-inline: auto;
	padding: 26px 32px;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
	transition: padding .35s var(--emam-ease);
}
.emam-hdr.is-scrolled .emam-hdr-inner, .emam-hdr.is-open .emam-hdr-inner, .emam-solid-hdr .emam-hdr-inner { padding-block: 8px; }
.emam-hdr-logo a { display: block; line-height: 0; }
.emam-hdr-logo img {
	display: block;
	width: 68px;
	height: 68px;
	object-fit: contain;
	filter: drop-shadow(0 2px 10px rgba(0, 0, 0, .4));
	transition: width .35s var(--emam-ease), height .35s var(--emam-ease), filter .4s ease;
}
.emam-hdr.is-scrolled .emam-hdr-logo img, .emam-hdr.is-open .emam-hdr-logo img, .emam-solid-hdr .emam-hdr-logo img { width: 44px; height: 44px; filter: none; }

.emam-nav ul.hfe-nav-menu { display: flex; align-items: center; gap: 34px; margin: 0; padding: 0; list-style: none; }
.emam-nav div.hfe-nav-menu { justify-content: center; }
/* El script de Ultimate Addons mide el menú oculto en móvil y le deja width:0 al volver a escritorio */
.emam-nav nav.hfe-nav-menu__layout-horizontal { position: static !important; width: auto !important; left: auto !important; }
.emam-nav .hfe-nav-menu > li { margin: 0 !important; }
body .emam-nav .hfe-nav-menu .menu-item a.hfe-menu-item {
	position: relative;
	padding: 0 0 4px !important;
	font: 400 15px/1.3 Figtree, sans-serif;
	color: rgba(255, 255, 255, .82) !important;
	background: none !important;
	transition: color .3s ease;
}
body .emam-nav .hfe-nav-menu .menu-item a.hfe-menu-item::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0;
	height: 1.5px;
	background: var(--emam-y);
	opacity: 1 !important;
	transition: width .3s var(--emam-ease);
}
body .emam-nav .hfe-nav-menu .menu-item a.hfe-menu-item:hover { color: #FFFFFF !important; }
body .emam-nav .hfe-nav-menu .menu-item a.hfe-menu-item:hover::after,
body .emam-nav .hfe-nav-menu .menu-item-type-post_type.current-menu-item > a.hfe-menu-item::after { width: 100%; }
body .emam-nav .hfe-nav-menu .menu-item-type-post_type.current-menu-item > a.hfe-menu-item { color: #FFFFFF !important; }

body .emam-nav .hfe-nav-menu > li:last-child > a.hfe-menu-item {
	padding: 12px 24px !important;
	border: 1px solid rgba(255, 255, 255, .55);
	border-radius: 999px;
	font-size: 13px;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	white-space: nowrap;
	color: #FFFFFF !important;
	transition: background .4s ease, color .4s ease, border-color .4s ease, box-shadow .35s ease, transform .35s var(--emam-ease);
}
body .emam-nav .hfe-nav-menu > li:last-child > a.hfe-menu-item::after { display: none; }
/* Hover del botón Contáctanos en todos los estados del header (más específico que los hovers generales del menú) */
body .emam-hdr .emam-nav .hfe-nav-menu > li.menu-item:last-child > a.hfe-menu-item:hover {
	background: var(--emam-y) !important;
	border-color: var(--emam-y);
	color: var(--emam-ink) !important;
	box-shadow: 0 12px 26px rgba(255, 206, 10, .35);
	transform: translateY(-2px);
}

/* Header con fondo (al bajar, menú abierto o páginas sin hero) */
.emam-hdr.is-scrolled .emam-nav .hfe-nav-menu .menu-item a.hfe-menu-item,
.emam-hdr.is-open .emam-nav .hfe-nav-menu .menu-item a.hfe-menu-item,
.emam-solid-hdr .emam-nav .hfe-nav-menu .menu-item a.hfe-menu-item { color: var(--emam-muted) !important; }
.emam-hdr.is-scrolled .emam-nav .hfe-nav-menu .menu-item a.hfe-menu-item:hover,
.emam-solid-hdr .emam-nav .hfe-nav-menu .menu-item a.hfe-menu-item:hover,
.emam-hdr.is-scrolled .emam-nav .hfe-nav-menu .menu-item-type-post_type.current-menu-item > a.hfe-menu-item,
.emam-solid-hdr .emam-nav .hfe-nav-menu .menu-item-type-post_type.current-menu-item > a.hfe-menu-item { color: var(--emam-ink) !important; }
.emam-hdr.is-scrolled .emam-nav .hfe-nav-menu > li:last-child > a.hfe-menu-item,
.emam-solid-hdr .emam-nav .hfe-nav-menu > li:last-child > a.hfe-menu-item {
	background: var(--emam-ink) !important;
	border-color: var(--emam-ink);
	color: #FFFFFF !important;
}

/* Hamburguesa (la crea emam.js a partir del menú de WordPress) */
.emam-burger {
	display: none;
	place-items: center;
	width: 46px;
	height: 46px;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, .25);
	border-radius: 999px;
	background: var(--emam-ink);
	box-shadow: 0 6px 18px rgba(0, 0, 0, .35);
	cursor: pointer;
}
.emam-burger:hover, .emam-burger:focus { background: var(--emam-ink); }
.emam-burger svg { width: 20px; height: 20px; }
.emam-mnav {
	display: none;
	flex-direction: column;
	padding: 4px 20px 22px;
	background: #FFFFFF;
	border-top: 1px solid var(--emam-line);
	box-shadow: 0 18px 30px rgba(17, 17, 17, .10);
}
.emam-hdr.is-open .emam-mnav { display: flex; }
.emam-mnav a { padding: 15px 4px; font-size: 17px; color: var(--emam-ink); border-bottom: 1px solid #F0EEE9; }
.emam-mnav a:last-child {
	margin-top: 18px;
	padding: 15px 24px;
	border: none;
	border-radius: 999px;
	background: var(--emam-ink);
	color: #FFFFFF;
	font-size: 13px;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	text-align: center;
}

/* Páginas sin hero: el contenido arranca debajo del header */
.emam-solid-hdr [data-elementor-type="wp-page"] > .e-con:first-child { padding-top: var(--emam-hdr-h); }

/* ---------- Hero ---------- */
.e-con.emam-hero {
	position: relative;
	min-height: min(82vh, 700px);
	justify-content: center;
	align-items: stretch;
	background-color: var(--emam-ink);
	background-size: cover;
	background-position: center;
	overflow: hidden;
}
.e-con.emam-hero--short { min-height: min(72vh, 600px); }
.e-con.emam-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(95deg, rgba(10, 10, 10, .9) 0%, rgba(10, 10, 10, .78) 46%, rgba(10, 10, 10, .3) 100%);
	pointer-events: none;
}
.e-con.emam-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		linear-gradient(rgba(255, 255, 255, .12), rgba(255, 255, 255, .12)) 0 0 / 100% 1px no-repeat,
		linear-gradient(rgba(255, 255, 255, .12), rgba(255, 255, 255, .12)) var(--emam-gutter) 0 / 1px 100% no-repeat,
		linear-gradient(rgba(255, 255, 255, .12), rgba(255, 255, 255, .12)) calc(100% - var(--emam-gutter)) 0 / 1px 100% no-repeat;
}
.e-con.emam-hero-inner {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 1240px;
	margin: auto;
	padding: clamp(130px, 13vw, 170px) 32px clamp(72px, 8vw, 110px);
	gap: 28px;
	justify-content: center;
}
.emam-hero--short .e-con.emam-hero-inner { gap: 26px; }
.emam-hero-inner > .elementor-element { max-width: 640px !important; }
body .emam-h1 .elementor-heading-title {
	margin: 0;
	font: 500 clamp(38px, 5vw, 68px)/1.02 Outfit, sans-serif;
	letter-spacing: -2.6px;
	color: #FFFFFF;
	text-wrap: balance;
}
body .emam-h1--sm .elementor-heading-title { font-size: clamp(36px, 4.8vw, 64px); letter-spacing: -2.4px; }
.emam-h1 em { font-style: italic; font-weight: 400; color: var(--emam-y); }
.emam-hero-inner > .emam-hero-lead { max-width: 44ch !important; }
.emam-hero-lead { font-size: 18px; line-height: 1.7; color: #FFFFFF; }
.emam-hero-lead p { margin: 0; }
.e-con.emam-hero-ctas { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 24px; padding-top: 4px; }

.e-con.emam-stats {
	flex-direction: row;
	flex-wrap: wrap;
	gap: 40px;
	margin-top: 16px;
	padding-top: 26px;
	border-top: 1px solid rgba(255, 255, 255, .18);
}
.e-con.emam-stat { gap: 3px; width: auto; }
.emam-stat-num .elementor-heading-title { font: 500 26px/1.1 Outfit, sans-serif; letter-spacing: -1.2px; color: #FFFFFF; white-space: nowrap; }
.emam-stat-label .elementor-heading-title { font: 400 11px/1.4 Figtree, sans-serif; letter-spacing: 1.6px; text-transform: uppercase; color: rgba(255, 255, 255, .7); white-space: nowrap; }

.emam-scroll-cue { position: absolute !important; right: var(--emam-gutter); bottom: 0; z-index: 1; width: auto !important; }
.emam-scroll-cue .elementor-heading-title { display: flex; flex-direction: column; align-items: center; gap: 14px; padding: 0 22px 30px; }
.emam-scroll-cue .elementor-heading-title::after { content: ""; width: 1px; height: 56px; background: rgba(255, 255, 255, .35); }
.emam-scroll-cue a { writing-mode: vertical-rl; font: 400 11px/1 Figtree, sans-serif; letter-spacing: 2.4px; text-transform: uppercase; color: rgba(255, 255, 255, .7) !important; transition: color .3s ease; }
.emam-scroll-cue a:hover { color: var(--emam-y) !important; }

/* ---------- Marquesina ---------- */
.e-con.emam-ticker { overflow: hidden; background: linear-gradient(90deg, #111111 0%, #1F1A05 50%, #111111 100%); }
.emam-ticker-list { width: max-content !important; max-width: none !important; }
.emam-ticker-list .elementor-icon-list-items {
	display: flex;
	flex-wrap: nowrap;
	width: max-content;
	margin: 0 !important;
	padding: 16px 0 !important;
	animation: emamMarquee 34s linear infinite;
}
.emam-ticker:hover .elementor-icon-list-items { animation-play-state: paused; }
.emam-ticker-list .elementor-icon-list-item {
	display: flex !important;
	align-items: center;
	gap: 26px;
	margin: 0 !important;
	padding: 0 26px 0 0 !important;
	white-space: nowrap;
	font: 600 12px/1.3 Figtree, sans-serif;
	letter-spacing: 2.2px;
	text-transform: uppercase;
	color: #EDEDEA;
}
.emam-ticker-list .elementor-icon-list-item::before { content: ""; flex: none; width: 5px; height: 5px; border-radius: 999px; background: var(--emam-y); }
.emam-ticker-list .elementor-icon-list-item::after { display: none !important; }
.emam-ticker-list .elementor-icon-list-text { color: inherit; padding: 0 !important; }
@keyframes emamMarquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ---------- Por qué elegir EMAM ---------- */
.e-con.emam-why-grid { flex-direction: row; flex-wrap: wrap; gap: 20px; }
.emam-why-card {
	flex: 1 1 calc(33.333% - 14px);
	min-width: 190px !important;
	padding: 44px 30px 38px;
	background: #FFFFFF;
	border: 1px solid #F0EEE9;
	border-radius: 20px;
	box-shadow: 0 10px 30px rgba(17, 17, 17, .05);
	transition: box-shadow .35s ease, border-color .35s ease, transform .9s var(--emam-ease);
}
.emam-why-card:hover { box-shadow: 0 20px 44px rgba(17, 17, 17, .13); border-color: #E4E1D9; transform: translateY(-6px); }
.emam-why-card .elementor-icon-box-wrapper { display: flex; flex-direction: column; align-items: center; gap: 16px; text-align: center; }
.emam-why-card .elementor-icon-box-icon { margin: 0 !important; display: flex; }
.emam-why-card .elementor-icon {
	display: grid;
	place-items: center;
	width: 84px;
	height: 84px;
	border-radius: 84px 0 84px 84px;
	background: var(--emam-y-soft);
	color: var(--emam-ink);
	transition: background .35s ease, transform .35s var(--emam-ease);
}
.emam-why-card .elementor-icon:hover { background: var(--emam-y); transform: rotate(-8deg) scale(1.06); }
.emam-why-card .elementor-icon svg { width: 34px; height: 34px; fill: none; }
.emam-why-card.is-done .elementor-icon { animation: emamTilt 1.8s ease-in-out calc(.9s + var(--rv-d, 0s)) 1 both; }
.emam-why-card .elementor-icon-box-content { display: flex; flex-direction: column; gap: 16px; }
.emam-why-card .elementor-icon-box-title { margin: 6px 0 0; font: 600 18px/1.25 Outfit, sans-serif; letter-spacing: -.2px; color: var(--emam-ink); }
.emam-why-card .elementor-icon-box-description { margin: 0; font-size: 15.5px; line-height: 1.75; color: var(--emam-body); }
@keyframes emamTilt { 0% { transform: rotate(0); } 45% { transform: rotate(14deg); } 100% { transform: rotate(0); } }

/* ---------- Bandas claras ---------- */
.e-con.emam-band { background: var(--emam-band); border-top: 1px solid #F1EBDC; border-bottom: 1px solid #F1EBDC; }
.e-con.emam-band--mirror { background: var(--emam-band-mirror); border-bottom: none; }

/* ---------- Cursos ---------- */
.e-con.emam-courses > .emam-wrap { padding-block: clamp(56px, 7vw, 88px); }
.e-con.emam-courses-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 32px;
	padding-top: 8px;
	align-items: start;
}
.e-con.emam-course-list { gap: 8px; min-width: 0; }
.e-con.emam-opt {
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	gap: 16px;
	padding: 11px 14px;
	background: #FFFFFF;
	border: 1.5px solid #E9E4D6;
	border-radius: 14px;
	box-shadow: 0 2px 8px rgba(17, 17, 17, .03);
	cursor: pointer;
	user-select: none;
	transition: background .3s ease, border-color .3s ease, box-shadow .35s ease, transform .35s var(--emam-ease);
}
.e-con.emam-opt::before {
	content: "";
	position: static !important;
	display: block;
	opacity: 1 !important;
	mix-blend-mode: normal;
	flex: none;
	width: 24px;
	height: 24px;
	box-sizing: border-box;
	border: 1.5px solid #C9C5BB;
	border-radius: 999px;
	background: #FFFFFF no-repeat center / 13px;
	transition: background-color .3s ease, border-color .3s ease;
}
.e-con.emam-opt:hover { border-color: var(--emam-ink); transform: translateX(4px); }
.e-con.emam-opt.is-on { background: var(--emam-ink); border-color: var(--emam-ink); box-shadow: 0 16px 36px rgba(17, 17, 17, .22); transform: translateX(6px); }
.e-con.emam-opt.is-on::before { background-color: var(--emam-y); background-image: var(--emam-check-k); border-color: var(--emam-y); }
.emam-opt:focus-visible { outline: 2px solid var(--emam-y); outline-offset: 2px; }
.emam-opt-letter { flex: none; width: 30px !important; }
.emam-opt-letter img { display: block; width: 24px; height: 24px; margin: auto; object-fit: contain; }
.e-con.emam-opt-body { flex: 1; min-width: 0; gap: 3px; }
.e-con.emam-opt-title { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 10px; }
.emam-opt-name .elementor-heading-title { font: 600 15.5px/1.25 Outfit, sans-serif; letter-spacing: -.2px; white-space: nowrap; color: var(--emam-ink); transition: color .3s ease; }
.emam-opt-meta { min-width: 0; }
.emam-opt-meta .elementor-heading-title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 400 12.5px/1.4 Figtree, sans-serif; letter-spacing: .2px; color: var(--emam-muted); transition: color .3s ease; }
.emam-opt-hours .elementor-heading-title { font: 600 15px/1.2 Outfit, sans-serif; letter-spacing: -.3px; white-space: nowrap; color: var(--emam-ink); transition: color .3s ease; }
.emam-opt.is-on .emam-opt-name .elementor-heading-title, .emam-opt.is-on .emam-opt-hours .elementor-heading-title { color: #FFFFFF; }
.emam-opt.is-on .emam-opt-meta .elementor-heading-title { color: #C9C4B6; }
.emam-badge .elementor-heading-title { padding: 4px 9px; border-radius: 999px; background: var(--emam-y); color: var(--emam-ink); font: 700 10px/1.2 Figtree, sans-serif; letter-spacing: 1.4px; text-transform: uppercase; white-space: nowrap; }

.e-con.emam-course-help { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 8px; padding: 0 4px; }
.emam-course-help-text .elementor-heading-title { font: 400 14px/1.4 Figtree, sans-serif; color: var(--emam-muted); }

.e-con.emam-course-details { position: sticky; top: 96px; min-width: 0; }
.e-con.emam-det {
	display: none;
	gap: 18px;
	padding: 28px 30px;
	background: #FFFFFF;
	border: 1.5px solid var(--emam-ink);
	border-radius: 18px;
	box-shadow: 0 18px 48px rgba(17, 17, 17, .08);
}
.e-con.emam-det.is-on, html:not(.emam-js) .e-con.emam-det:first-child { display: flex; }
.e-con.emam-det-top { flex-direction: row; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 24px; }
.e-con.emam-det-title { gap: 8px; width: auto; min-width: 0; flex: 0 1 auto; }
.emam-det-eyebrow .elementor-heading-title { font: 600 11px/1.3 Figtree, sans-serif; letter-spacing: 2.4px; text-transform: uppercase; color: var(--emam-gold); }
body .emam-det-name .elementor-heading-title { margin: 0; font: 500 23px/1.15 Outfit, sans-serif; letter-spacing: -.6px; color: var(--emam-ink); text-wrap: balance; }
.e-con.emam-det-hours { width: auto; margin-left: auto; align-items: flex-end; gap: 2px; }
.emam-det-practice .elementor-heading-title { font: 500 26px/1.15 Outfit, sans-serif; letter-spacing: -1px; white-space: nowrap; color: var(--emam-ink); }
.emam-det-theory .elementor-heading-title { font: 400 12px/1.4 Figtree, sans-serif; letter-spacing: .6px; white-space: nowrap; color: var(--emam-muted); }
.emam-det-note { font-size: 15px; line-height: 1.6; color: #4A4A46; }
.e-con.emam-det-includes { gap: 12px; padding-top: 18px; border-top: 1px solid var(--emam-line); }
.emam-det-label .elementor-heading-title { font: 600 11px/1.3 Figtree, sans-serif; letter-spacing: 2.4px; text-transform: uppercase; color: var(--emam-muted); }
.emam-det-list .elementor-icon-list-items { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 8px 20px; margin: 0; padding: 0; }
.emam-det-list .elementor-icon-list-item { display: flex !important; align-items: flex-start !important; gap: 10px; margin: 0 !important; padding: 0 !important; font-size: 14px; line-height: 1.45; color: var(--emam-ink); }
.emam-det-list .elementor-icon-list-item::after { display: none !important; }
.emam-det-list .elementor-icon-list-icon { flex: none; margin-top: 4px; padding: 0 !important; }
.emam-det-list .elementor-icon-list-icon svg { width: 16px !important; height: 16px !important; fill: none !important; color: var(--emam-ink); }
.emam-det-list .elementor-icon-list-text { padding: 0 !important; color: var(--emam-ink); }
.emam-det-consider { padding: 11px 14px; border-radius: 12px; background: #F7F6F3; font-size: 13px; line-height: 1.55; color: var(--emam-muted); }
.emam-det-consider p::before { content: "· "; color: var(--emam-gold); }
.emam-det-cta .elementor-button { width: 100%; }

/* ---------- Testimonios ---------- */
.e-con.emam-dark { background: linear-gradient(160deg, #111111 0%, #1C1808 100%); }
.emam-reviews .e-con.emam-wrap { gap: clamp(40px, 5vw, 64px); }
.e-con.emam-reviews-head { flex-direction: row; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 32px; }
.e-con.emam-reviews-title { gap: 20px; width: auto; min-width: 0; }
.e-con.emam-reviews-meta { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 12px 24px; width: auto; }
.emam-stars .elementor-heading-title { font: 400 13px/1 Figtree, sans-serif; letter-spacing: 3px; color: var(--emam-y); }
.emam-reviews-note .elementor-heading-title { font: 400 14px/1.4 Figtree, sans-serif; color: #A8A6A0; white-space: nowrap; }
.emam-reviews-meta .emam-stars { margin-right: -12px; }
.emam-arrows { display: flex; align-items: center; gap: 10px; }
.emam-arrow {
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	padding: 0;
	border: 1px solid #3A3833;
	border-radius: 999px;
	background: none;
	color: #FFFFFF;
	cursor: pointer;
	transition: border-color .3s ease, background .3s ease, transform .3s var(--emam-ease);
}
.emam-arrow:hover, .emam-arrow:focus { border-color: var(--emam-y); background: #221F1A; transform: scale(1.08); color: #FFFFFF; }
.emam-arrow svg { width: 17px; height: 17px; }
.emam-railwrap { position: relative; width: 100%; min-width: 0; }
.emam-side-arrow { display: none; }

.e-con.emam-rail {
	flex-direction: row;
	flex-wrap: nowrap;
	gap: 20px;
	width: 100%;
	min-width: 0;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	padding-top: 10px;
	margin-top: -10px;
	padding-bottom: 4px;
	scrollbar-width: none;
}
.e-con.emam-rail::-webkit-scrollbar { display: none; }
.e-con.emam-review {
	flex: 0 0 calc((100% - 40px) / 3);
	scroll-snap-align: start;
	gap: 20px;
	padding: 32px 28px;
	background: #191917;
	border: 1px solid #2A2A28;
	border-radius: 20px;
	transition: transform .4s var(--emam-ease), border-color .35s ease, background .35s ease;
}
.e-con.emam-review:hover { transform: translateY(-8px); border-color: #4A4640; background: #1E1E1B; }
.emam-review .emam-stars .elementor-heading-title { font-size: 12px; }
.emam-review-quote { font-size: 16px; line-height: 1.75; color: #F2F1EC; text-wrap: pretty; }
.e-con.emam-review-foot { flex-direction: row; align-items: center; gap: 14px; margin-top: auto; padding-top: 22px; border-top: 1px solid #2A2A28; }
.emam-avatar { flex: none; width: 64px !important; }
.emam-avatar .elementor-heading-title {
	display: grid;
	place-items: center;
	width: 64px;
	height: 64px;
	border-radius: 999px;
	background: var(--emam-y);
	font: 500 20px/1 Outfit, sans-serif;
	letter-spacing: .4px;
	color: var(--emam-ink);
}
.emam-review:nth-child(4n+2) .emam-avatar .elementor-heading-title { background: #F0D9A0; }
.emam-review:nth-child(4n+3) .emam-avatar .elementor-heading-title { background: #E8C56B; }
.emam-review:nth-child(4n+4) .emam-avatar .elementor-heading-title { background: #FFE08A; }
.e-con.emam-review-who { gap: 3px; min-width: 0; }
.emam-review-name .elementor-heading-title { font: 400 15px/1.35 Figtree, sans-serif; color: #FFFFFF; }
.emam-review-tag .elementor-heading-title { font: 400 13px/1.35 Figtree, sans-serif; color: #8A8880; }

/* ---------- Formulario (Fluent Forms) ---------- */
.e-con.emam-form-section { background: #FFFFFF; }
.emam-form-wrap .fluentform .ff-el-group { display: flex; flex-direction: column; margin-bottom: 0; }
.emam-form-wrap .frm-fluent-form fieldset { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 44px 24px; }
.emam-form-wrap .ff-t-container {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
	gap: 44px;
	width: 100%;
	margin: 0 !important;
}
.emam-form-wrap .ff-t-container .ff-t-cell { flex-basis: auto !important; width: auto !important; padding: 0 !important; min-width: 0; }
.emam-form-wrap .ff-t-container:has(.ff-t-column-2:last-child) .ff-t-column-2 { grid-column: span 2; }
.emam-form-wrap .ff-el-input--label { margin-bottom: 14px !important; padding: 0 !important; font-size: 11px; line-height: 1.2 !important; }
.emam-form-wrap .ff-el-input--label label {
	display: inline-block;
	margin: 0;
	padding: 0 !important;
	font: 600 11px/1.2 Figtree, sans-serif !important;
	letter-spacing: 2.4px;
	text-transform: uppercase;
	color: var(--emam-muted) !important;
}
.emam-form-wrap .ff-el-is-required.asterisk-right label::after { content: "*"; margin-left: 5px; color: var(--emam-gold) !important; }
.emam-form-wrap .ff-el-form-control {
	width: 100%;
	height: auto !important;
	min-height: 0;
	padding: 10px 0 !important;
	border: none !important;
	border-bottom: 1px solid #D9D9D4 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	font: 400 17px/1.2 Figtree, sans-serif !important;
	letter-spacing: 0;
	color: var(--emam-ink) !important;
	outline: none;
	transition: border-color .3s ease;
}
.emam-form-wrap select.ff-el-form-control { cursor: pointer; }
.emam-form-wrap .ff-el-form-control::placeholder { color: #9A9893; opacity: 1; }
.emam-form-wrap .ff-el-form-control:focus { border-bottom-color: var(--emam-y) !important; }
.emam-form-wrap .ff-el-is-error .ff-el-form-control { border-bottom-color: #C0392B !important; }
.emam-form-wrap .error.text-danger { margin-top: 6px; font-size: 12.5px; color: #C0392B; }
.emam-form-wrap .emam-form-note { flex: 1 1 320px; margin: 0; }
.emam-form-wrap .emam-form-note p { margin: 0; font-size: 13px; line-height: 1.6; color: var(--emam-muted); }
.emam-form-wrap .emam-form-note .emam-req { color: var(--emam-gold); }
.emam-form-wrap .emam-form-note a { border-bottom: 1px solid #D9D9D4; color: var(--emam-ink); }
.emam-form-wrap .ff_submit_btn_wrapper { flex: none; margin: 0 !important; }
.emam-form-wrap .ff-btn-submit.emam-submit {
	display: inline-flex;
	align-items: center;
	gap: 16px;
	padding: 14px 14px 14px 32px !important;
	border: none !important;
	border-radius: 999px !important;
	background: var(--emam-y) !important;
	color: var(--emam-ink) !important;
	font: 600 13px/1 Figtree, sans-serif !important;
	letter-spacing: 2px;
	text-transform: uppercase;
	white-space: nowrap;
	opacity: 1 !important;
	cursor: pointer;
	transition: box-shadow .35s ease, transform .35s var(--emam-ease);
}
.emam-form-wrap .ff-btn-submit.emam-submit::after {
	content: "";
	width: 40px;
	height: 40px;
	border-radius: 999px;
	background: var(--emam-ink) var(--emam-arrow-w) no-repeat center / 18px;
	transition: transform .32s var(--emam-ease);
}
.emam-form-wrap .ff-btn-submit.emam-submit:hover { box-shadow: 0 14px 30px rgba(255, 206, 10, .45); transform: translateY(-3px); }
.emam-form-wrap .ff-btn-submit.emam-submit:hover::after { transform: translateX(4px); }
.emam-form-wrap .ff-message-success { border: none; box-shadow: none; }

/* ---------- FAQs ---------- */
.e-con.emam-faqs-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 56px;
	align-items: start;
}
.e-con.emam-faqs-intro { gap: 16px; min-width: 0; }
.emam-faqs-photo { margin-top: 20px; }
.emam-faqs-photo img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 18px;
	box-shadow: 0 18px 44px rgba(17, 17, 17, .12);
}
.emam-accordion { min-width: 0; }
.emam-accordion .elementor-accordion { border-top: 1px solid #DEDCD5; }
.emam-accordion .elementor-accordion-item { border: none !important; border-bottom: 1px solid #DEDCD5 !important; transition: border-color .3s ease; }
.emam-accordion .elementor-accordion-item:hover { border-bottom-color: var(--emam-ink) !important; }
.emam-accordion .elementor-tab-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 24px 0 !important;
	border: none !important;
	cursor: pointer;
	transition: padding .3s var(--emam-ease);
}
.emam-accordion .elementor-accordion-title {
	font: 500 17px/1.35 Outfit, sans-serif;
	letter-spacing: -.1px;
	color: var(--emam-ink) !important;
	transition: color .3s ease;
}
.emam-accordion .elementor-accordion-icon { display: none !important; }
.emam-accordion .elementor-tab-title::after {
	content: "+";
	flex: none;
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border: 1px solid #DEDCD5;
	border-radius: 999px;
	font: 400 16px/1 Figtree, sans-serif;
	color: var(--emam-muted);
	transition: background .3s ease, border-color .3s ease, color .3s ease, transform .3s var(--emam-ease);
}
.emam-accordion .elementor-tab-title.elementor-active::after { content: "−"; }
.emam-accordion .elementor-tab-title:hover { padding-left: 10px !important; }
.emam-accordion .elementor-tab-title:hover .elementor-accordion-title { color: var(--emam-gold) !important; }
.emam-accordion .elementor-tab-title:hover::after { background: var(--emam-y); border-color: var(--emam-y); color: var(--emam-ink); transform: rotate(90deg); }
body .emam-accordion .elementor-accordion .elementor-accordion-item .elementor-tab-content {
	padding: 0 40px 26px 0;
	border: none !important;
	font-size: 15.5px;
	line-height: 1.75;
	color: var(--emam-body);
}

/* ---------- Footer ---------- */
.e-con.emam-footer { background: linear-gradient(180deg, #111111 0%, #1A1607 100%); color: #FFFFFF; }
.e-con.emam-footer-grid {
	display: grid;
	grid-template-columns: minmax(220px, .9fr) minmax(0, 2.3fr);
	gap: 56px 52px;
	padding-block: clamp(64px, 8vw, 92px) 56px;
}
.e-con.emam-footer-brand { gap: 22px; min-width: 0; }
.e-con.emam-footer-logo { flex-direction: row; align-items: center; gap: 12px; }
.emam-footer-logo-img { width: 60px !important; flex: none; }
.emam-footer-logo-img img { display: block; width: 60px; height: 60px; object-fit: contain; }
.emam-footer-name .elementor-heading-title { font: 700 17px/1 Outfit, sans-serif; letter-spacing: 2.4px; color: #FFFFFF; }
.emam-footer-desc { max-width: 28ch !important; font-size: 14px; line-height: 1.7; color: #A8A6A0; }
.emam-footer-contact .elementor-icon-list-items { display: flex; flex-direction: column; gap: 12px; margin: 0; padding: 0; }
.emam-footer-contact .elementor-icon-list-item { margin: 0 !important; padding: 0 !important; }
.emam-footer-contact .elementor-icon-list-item::after { display: none !important; }
.emam-footer-contact .elementor-icon-list-item a {
	display: inline-flex !important;
	align-items: center;
	gap: 10px;
	width: auto !important;
	font-size: 15px;
	white-space: nowrap;
	color: #FFFFFF;
	transition: color .28s ease, transform .28s var(--emam-ease);
}
.emam-footer-contact .elementor-icon-list-item a:hover { color: var(--emam-y); transform: translateX(-4px); }
.emam-footer-contact .elementor-icon-list-icon { padding: 0 !important; }
.emam-footer-contact .elementor-icon-list-icon svg { width: 16px !important; height: 16px !important; fill: none !important; color: currentColor; }
.emam-footer-contact .elementor-icon-list-text { color: inherit !important; padding: 0 !important; }
.e-con.emam-footer-social { flex-direction: row; gap: 12px; padding-top: 6px; }
.emam-social { width: auto !important; }
.emam-social .elementor-icon {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border: 1px solid #3A3833;
	border-radius: 999px;
	color: #FFFFFF;
	transition: border-color .3s ease, color .3s ease, background .3s ease, transform .3s var(--emam-ease);
}
.emam-social .elementor-icon svg { width: 16px; height: 16px; fill: currentColor; }
.emam-social .elementor-icon:hover { border-color: var(--emam-y); background: var(--emam-y); color: var(--emam-ink); transform: translateY(-4px); }

.e-con.emam-footer-branches { gap: 24px; min-width: 0; }
.emam-footer-title .elementor-heading-title { font: 600 11px/1.3 Outfit, sans-serif; letter-spacing: 2.6px; text-transform: uppercase; color: var(--emam-y); }
.e-con.emam-branch-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px 40px; }
.e-con.emam-branch { gap: 10px; min-width: 0; }
body .emam-branch-name .elementor-heading-title { margin: 0; font: 500 16px/1.3 Outfit, sans-serif; color: #FFFFFF; }
.emam-branch-name a { display: inline-flex; align-items: center; gap: 8px; color: #FFFFFF !important; transition: color .28s ease, transform .28s var(--emam-ease); }
.emam-branch-name a::before {
	content: "";
	flex: none;
	width: 14px;
	height: 14px;
	background: var(--emam-y);
	-webkit-mask: var(--emam-pin) no-repeat center / contain;
	mask: var(--emam-pin) no-repeat center / contain;
}
.emam-branch-name a:hover { color: var(--emam-y) !important; transform: translateX(-5px); }
.emam-branch-address p { margin: 0; font-size: 13.5px; line-height: 1.75; }
.emam-branch-address a { color: #A8A6A0 !important; transition: color .28s ease; }
.emam-branch-address a:hover { color: #FFFFFF !important; }

.e-con.emam-footer-bottom {
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 20px;
	padding-block: 28px 44px;
	border-top: 1px solid #2A2A28;
}
.emam-footer-copy .elementor-heading-title, .emam-footer-legal .elementor-heading-title { font: 400 12.5px/1.5 Figtree, sans-serif; letter-spacing: .6px; color: #8A8880; }
.emam-footer-legal a { display: inline-block; color: #8A8880 !important; transition: color .28s ease, transform .28s var(--emam-ease); }
.emam-footer-legal a:hover { color: var(--emam-y) !important; transform: translateX(-5px); }

.emam-wa-float { position: fixed !important; right: 24px; bottom: 24px; z-index: 50; width: auto !important; }
.emam-wa-float .elementor-icon {
	display: grid;
	place-items: center;
	width: 56px;
	height: 56px;
	border-radius: 999px;
	background: var(--emam-ink);
	color: #FFFFFF;
	box-shadow: 0 4px 20px rgba(0, 0, 0, .25);
	transition: background .3s ease, transform .3s var(--emam-ease), box-shadow .3s ease;
}
.emam-wa-float .elementor-icon svg { width: 26px; height: 26px; fill: currentColor; }
.emam-wa-float .elementor-icon:hover { background: var(--emam-y); color: #FFFFFF; transform: scale(1.08) translateY(-3px); box-shadow: 0 10px 30px rgba(0, 0, 0, .3); }

/* ---------- Conoce EMAM ---------- */
.e-con.emam-about > .emam-wrap, .e-con.emam-values > .emam-wrap, .e-con.emam-branches > .emam-wrap { padding-block: clamp(72px, 9vw, 110px); }
.e-con.emam-about-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: clamp(32px, 5vw, 72px);
	align-items: start;
}
.e-con.emam-about-title { gap: 16px; min-width: 0; }
.emam-about-text { min-width: 0; font-size: 17px; line-height: 1.75; color: #4A4A46; }
.emam-about-text p { margin: 0 0 22px; }
.e-con.emam-mosaic {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(240px, 1fr);
	gap: 20px;
	margin-top: clamp(48px, 6vw, 72px);
	align-items: stretch;
}
.e-con.emam-mosaic-photo {
	position: relative;
	min-height: 320px;
	aspect-ratio: 3 / 2;
	border-radius: 24px;
	overflow: hidden;
	background-size: cover;
	background-position: center;
	box-shadow: 0 22px 54px rgba(17, 17, 17, .14);
}
.emam-photo-badge { position: absolute !important; left: 22px; bottom: 22px; width: auto !important; }
.emam-photo-badge .elementor-heading-title {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 10px 16px;
	border-radius: 999px;
	background: rgba(17, 17, 17, .82);
	backdrop-filter: blur(6px);
	font: 400 12px/1.2 Figtree, sans-serif;
	letter-spacing: 1.8px;
	text-transform: uppercase;
	color: #FFFFFF;
}
.emam-photo-badge .elementor-heading-title::before { content: ""; width: 6px; height: 6px; border-radius: 999px; background: var(--emam-y); }
.e-con.emam-mosaic-side { gap: 20px; min-width: 0; }
.e-con.emam-stat-dark { flex: 1; justify-content: flex-end; gap: 6px; padding: 30px 28px; border-radius: 24px; background: var(--emam-ink); }
.emam-stat-dark-num .elementor-heading-title { font: 500 52px/1 Outfit, sans-serif; letter-spacing: -2.6px; color: var(--emam-y); }
.emam-stat-dark-label .elementor-heading-title { font: 400 14px/1.5 Figtree, sans-serif; color: #C9C4B6; }
.e-con.emam-stat-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.e-con.emam-stat-card { gap: 4px; padding: 22px 20px; border: 1px solid #F0EAD8; border-radius: 20px; background: #FFFFFF; box-shadow: 0 10px 30px rgba(17, 17, 17, .05); }
.emam-stat-card-num .elementor-heading-title { font: 500 34px/1 Outfit, sans-serif; letter-spacing: -1.6px; color: var(--emam-ink); }
.emam-stat-card-label .elementor-heading-title { font: 400 13px/1.4 Figtree, sans-serif; color: var(--emam-muted); }

.e-con.emam-values-grid { flex-direction: row; flex-wrap: wrap; gap: 20px; }
.e-con.emam-value {
	position: relative;
	flex: 1 1 calc(33.333% - 14px);
	min-width: 220px !important;
	gap: 10px;
	padding: 40px 34px 36px;
	overflow: hidden;
	background: #FFFFFF;
	border: 1px solid #F0EAD8;
	border-radius: 22px;
	box-shadow: 0 10px 30px rgba(17, 17, 17, .05);
	transition: transform .4s var(--emam-ease), box-shadow .4s ease, border-color .35s ease;
}
.e-con.emam-value:hover { transform: translateY(-8px); box-shadow: 0 26px 54px rgba(17, 17, 17, .13); border-color: #E6DDC2; }
.emam-value-num { position: absolute !important; top: 22px; right: 26px; width: auto !important; }
.emam-value-num .elementor-heading-title { font: 500 60px/1 Outfit, sans-serif; letter-spacing: -3px; color: #FFF1C2; user-select: none; }
.emam-value-icon { margin-bottom: 14px; }
.emam-value-icon .elementor-icon {
	display: grid;
	place-items: center;
	width: 72px;
	height: 72px;
	border-radius: 20px;
	background: var(--emam-ink);
	color: var(--emam-y);
	box-shadow: 0 10px 24px rgba(17, 17, 17, .18);
	transition: background .35s ease, color .35s ease, transform .4s var(--emam-ease);
}
.emam-value-icon .elementor-icon svg { width: 30px; height: 30px; fill: none; }
.emam-value-icon .elementor-icon:hover { background: var(--emam-y); color: var(--emam-ink); transform: rotate(-6deg) scale(1.06); }
body .emam-value-title .elementor-heading-title { margin: 6px 0 0; font: 600 22px/1.2 Outfit, sans-serif; letter-spacing: -.4px; color: var(--emam-ink); }
.emam-value-title .elementor-heading-title::after { content: ""; display: block; width: 34px; height: 2px; margin-top: 10px; border-radius: 2px; background: var(--emam-y); }
.emam-value-text { font-size: 15.5px; line-height: 1.75; color: var(--emam-body); }

.e-con.emam-branch-cards { flex-direction: row; flex-wrap: wrap; gap: 20px; }
.e-con.emam-branch-card {
	flex: 1 1 calc(50% - 10px);
	min-width: 230px !important;
	gap: 14px;
	padding: 30px 26px;
	background: #FFFFFF;
	border: 1px solid #F0EAD8;
	border-radius: 22px;
	color: var(--emam-ink);
	box-shadow: 0 10px 30px rgba(17, 17, 17, .05);
	transition: border-color .35s ease, box-shadow .35s ease, transform .4s var(--emam-ease);
}
.e-con.emam-branch-card:hover { border-color: var(--emam-ink); box-shadow: 0 26px 54px rgba(17, 17, 17, .14); transform: translateY(-8px); color: var(--emam-ink); }
.e-con.emam-branch-card-head { flex-direction: row; align-items: center; gap: 12px; }
.emam-pin-box { width: auto !important; flex: none; }
.emam-pin-box .elementor-icon {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 14px;
	background: var(--emam-ink);
	color: var(--emam-y);
	transition: background .35s ease, color .35s ease, transform .35s var(--emam-ease);
}
.emam-pin-box .elementor-icon svg { width: 18px; height: 18px; fill: none; }
.emam-branch-card:hover .emam-pin-box .elementor-icon { background: var(--emam-y); color: var(--emam-ink); transform: rotate(-6deg); }
.emam-branch-card-name .elementor-heading-title { font: 600 18px/1.3 Outfit, sans-serif; letter-spacing: -.3px; color: var(--emam-ink); }
.emam-branch-card-address { font-size: 14.5px; line-height: 1.7; color: var(--emam-body); }
.emam-branch-card-cta { margin-top: auto; }
.emam-branch-card-cta .elementor-heading-title {
	padding-top: 14px;
	border-top: 1px solid #F0EAD8;
	font: 600 12px/1.3 Figtree, sans-serif;
	letter-spacing: 1.6px;
	text-transform: uppercase;
	white-space: nowrap;
	color: var(--emam-gold);
}

.e-con.emam-cta-band {
	background:
		radial-gradient(ellipse 50% 80% at 100% 50%, rgba(255, 206, 10, .14) 0%, rgba(255, 206, 10, 0) 70%),
		linear-gradient(160deg, #111111 0%, #1C1808 100%);
}
.e-con.emam-cta-band-inner { flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 40px; padding-block: clamp(64px, 8vw, 96px); }
.e-con.emam-cta-band-text { gap: 12px; width: auto; min-width: 0; }
body .emam-cta-band .emam-h2 .elementor-heading-title { font-size: clamp(26px, 3.2vw, 40px); line-height: 1.1; }
.emam-cta-band-lead { max-width: 44ch !important; font-size: 16px; line-height: 1.6; color: #C9C4B6; }

/* ---------- Gracias / Aviso ---------- */
.e-con.emam-thanks { background: var(--emam-band); }
.e-con.emam-thanks-inner { align-items: center; text-align: center; gap: 20px; padding-block: clamp(72px, 10vw, 130px); }
.emam-thanks-icon .elementor-icon {
	display: grid;
	place-items: center;
	width: 72px;
	height: 72px;
	border-radius: 999px;
	background: var(--emam-y);
	color: var(--emam-ink);
	box-shadow: 0 14px 30px rgba(255, 206, 10, .35);
}
.emam-thanks-icon .elementor-icon svg { width: 30px; height: 30px; fill: none; }
body .emam-thanks-title .elementor-heading-title { margin: 0; font: 500 clamp(32px, 4vw, 48px)/1.08 Outfit, sans-serif; letter-spacing: -1.6px; color: var(--emam-ink); }
.emam-thanks .emam-lead { max-width: 54ch !important; }
.e-con.emam-thanks-help { align-items: center; gap: 16px; width: 100%; max-width: 460px; margin-top: 12px; padding-top: 32px; border-top: 1px solid var(--emam-line); }
.emam-thanks-help-title .elementor-heading-title { font: 500 19px/1.3 Outfit, sans-serif; color: var(--emam-ink); }
.emam-thanks-help-text { font-size: 15px; line-height: 1.65; color: var(--emam-muted); }
.emam-back .elementor-heading-title { font: 400 14px/1.4 Figtree, sans-serif; }
.emam-back a { padding-bottom: 2px; border-bottom: 1px solid #D9D9D4; color: var(--emam-muted) !important; transition: color .3s ease, border-color .3s ease; }
.emam-back a:hover { color: var(--emam-ink) !important; border-color: var(--emam-y); }
.e-con.emam-legal-inner { gap: 24px; max-width: 820px; }
.e-con.emam-legal { background: var(--emam-band); }
.emam-legal-text { font-size: 16px; line-height: 1.75; color: #4A4A46; }
.emam-legal-text p { margin: 0 0 16px; }
.emam-legal-text h2 { margin: 40px 0 14px; font: 500 22px/1.25 Outfit, sans-serif; letter-spacing: -.4px; color: var(--emam-ink); }
.emam-legal-text ul { margin: 0 0 16px; padding-left: 22px; }
.emam-legal-text li { margin-bottom: 8px; }
.emam-legal-text li::marker { color: var(--emam-gold); }
.emam-legal-text a { border-bottom: 1px solid #D9D9D4; color: var(--emam-ink); transition: border-color .3s ease; }
.emam-legal-text a:hover { border-color: var(--emam-y); color: var(--emam-ink); }
.emam-legal-text strong { color: var(--emam-ink); font-weight: 600; }
.emam-legal-text .emam-legal-note { margin-bottom: 24px; padding: 14px 18px; border-left: 3px solid var(--emam-y); border-radius: 0 12px 12px 0; background: #FFF6D6; font-size: 14.5px; line-height: 1.6; color: #4A4A46; }

/* ---------- Animaciones de entrada ---------- */
@keyframes emamRise { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: translateY(0); } }
.emam-js .emam-rv { opacity: 0; }
.emam-js .emam-rv.is-in { animation: emamRise .8s cubic-bezier(.2, .7, .2, 1) both; animation-delay: var(--rv-d, 0s); }
.emam-js .emam-rv.is-done { opacity: 1; animation: none; }
.elementor-editor-active .emam-rv, .elementor-editor-preview .emam-rv { opacity: 1 !important; animation: none !important; }

/* En el editor de Elementor se muestran todos los cursos para poder editarlos */
.elementor-editor-active .e-con.emam-det { display: flex !important; margin-bottom: 16px; }
.elementor-editor-active .emam-hdr { position: relative !important; background: #111111; }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; }
	.emam-js .emam-rv { opacity: 1; }
}

@media (min-width: 721px) and (max-width: 1024px) {
	.e-con.emam-review { flex-basis: calc((100% - 20px) / 2); }
}

/* Cabecera del detalle de curso: horas siempre a la derecha; si el nombre es largo, ocupa dos renglones */
@media (min-width: 1000px) {
	.e-con.emam-det-top { flex-wrap: nowrap; }
	.e-con.emam-det-title { flex: 1 1 auto; }
	.e-con.emam-det-hours { flex: none; }
}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 860px) {
	.emam-nav { display: none !important; }
	.emam-burger { display: grid; }
	.emam-hdr-logo img { width: 52px !important; height: 52px !important; }
	.e-con.emam-hdr-inner { padding: 12px 20px !important; }
	.emam-hdr.is-scrolled .emam-hdr-logo img, .emam-hdr.is-open .emam-hdr-logo img, .emam-solid-hdr .emam-hdr-logo img { width: 44px !important; height: 44px !important; }
	.emam-hdr.is-scrolled .emam-hdr-inner, .emam-hdr.is-open .emam-hdr-inner, .emam-solid-hdr .emam-hdr-inner { padding-block: 8px !important; }
}

@media (max-width: 720px) {
	/* Hero: foto completa arriba, texto abajo */
	/* --emam-hero-m = alto de la foto en móvil (inicio 4:3; Conoce es panorámica y se recorta al centro) */
	.e-con.emam-hero { --emam-hero-m: 75vw; }
	.e-con.emam-hero--short { --emam-hero-m: 56vw; }
	.e-con.emam-hero, .e-con.emam-hero--short {
		min-height: 0;
		padding-top: var(--emam-hero-m);
		background-size: auto var(--emam-hero-m) !important;
		background-position: center top !important;
		background-repeat: no-repeat !important;
		background-color: var(--emam-ink) !important;
	}
	.e-con.emam-hero::before {
		inset: 0 0 auto 0;
		height: var(--emam-hero-m);
		background: linear-gradient(180deg, rgba(10, 10, 10, .6) 0%, rgba(10, 10, 10, 0) 30%, rgba(10, 10, 10, 0) 58%, #111111 100%);
	}
	.e-con.emam-hero::after, .emam-scroll-cue { display: none !important; }
	.e-con.emam-hero-inner { margin: 0; padding: 4px 20px 56px; }

	.emam-btn--light .elementor-button, .emam-btn--yellow .elementor-button { gap: 10px; padding: 9px 9px 9px 20px; font-size: 12px; letter-spacing: .8px; }
	.emam-btn--light .elementor-button-icon, .emam-btn--yellow .elementor-button-icon { width: 30px; height: 30px; }

	.e-con.emam-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
	.emam-stat-num .elementor-heading-title { font-size: 24px; }
	.emam-stat-label .elementor-heading-title { white-space: normal; font-size: 10px; letter-spacing: 1px; line-height: 1.35; }

	.e-con.emam-course-details { position: relative; top: auto; }

	.emam-reviews .e-con.emam-wrap { padding-inline: 16px; }
	.emam-arrows--head { display: none; }
	.emam-railwrap { padding: 0 24px; }
	.e-con.emam-review { flex-basis: 100%; }
	.emam-side-arrow {
		display: grid;
		position: absolute;
		top: 50%;
		z-index: 2;
		width: 40px;
		height: 40px;
		padding: 0;
		place-items: center;
		border: none;
		border-radius: 999px;
		background: var(--emam-y);
		color: var(--emam-ink);
		box-shadow: 0 8px 20px rgba(0, 0, 0, .4);
		transform: translateY(-50%);
		cursor: pointer;
	}
	.emam-side-arrow:hover, .emam-side-arrow:focus { background: var(--emam-y); color: var(--emam-ink); }
	.emam-side-arrow svg { width: 17px; height: 17px; }
	.emam-side-arrow--prev { left: 0; }
	.emam-side-arrow--next { right: 0; }

	.emam-form-wrap .ff-t-container .ff-t-column-2 { grid-column: auto !important; }
	.e-con.emam-mosaic { grid-template-columns: 1fr; }
	.e-con.emam-footer-grid { grid-template-columns: 1fr; gap: 44px; padding-inline: 24px; }
	.e-con.emam-branch-grid { grid-template-columns: 1fr; gap: 26px; }
}
