/*
Theme Name: LifeGuide Child
Theme URI: http://webdesign-finder.com/lifeguide
Template: lifeguide
Author: MWTemplates
Author URI: http://modernwebtemplates.com/
Description: Lifeguide - powerful wordpress sites builder. Live customizer allows to easily change theme colors, change logo, title, tagline, add social icons and adjust widgets according to your needs.
Tags: translation-ready,custom-header,left-sidebar,right-sidebar,post-formats,full-width-template
Version: 1.0.9.1710234454
Updated: 2024-03-12 09:07:34

*/

/* ESKURA - Ajuste del desplegable del menú principal (propuesta Tandem, 2026-10)
   - Desplegable más cerca del elemento al que se hace clic (antes ~53px de hueco)
   - Texto del submenú alineado con el elemento padre
   - Submenú con grosor normal (antes 700) y espaciado más compacto
   Solo escritorio (>=1200px, mismo punto de corte que el tema); el menú móvil no cambia. */
@media screen and (min-width: 1200px) {
	/* Desplegable tipo "nube" (2026-10): una tarjeta redondeada que nace desde el propio elemento del menu.
	   El elemento padre queda dentro de la tarjeta, separado de las opciones por una linea de 1px.
	   El top se calcula sobre la altura del <li> (50% = centro del texto), asi sirve con cabecera completa y compacta. */
	.top-menu > li:not(.cita-online):hover,
	.top-menu > li:not(.cita-online):focus-within { overflow: visible; z-index: 5; }  /* la tarjeta tapa a los vecinos */
	/* Los 5 elementos principales, centrados y mas separados; Cita online e idiomas se quedan a la derecha */
	.top-menu { width: 100%; }
	.top-menu > li:first-child { margin-left: auto; }
	.top-menu > li:nth-child(5) { margin-right: auto; }
	/* El tema da 27px de margen a cada lado del texto (dentro del <li>): se pasan al <li> para que el <li> mida lo mismo que el texto
	   y la nube quede centrada sin depender de JS */
	.top-menu > li:nth-child(-n+5) > a { margin-left: 0 !important; margin-right: 0 !important; }
	.top-menu > li:nth-child(-n+4) { margin-right: 68px; }
}
@media screen and (min-width: 1360px) {
	.top-menu > li:nth-child(-n+4) { margin-right: 92px; }
	.top-menu > li:last-child { margin-right: 26px; }
}
@media screen and (min-width: 1200px) {
	.top-menu > li:not(.cita-online) > a { position: relative; z-index: 2; transition: transform .3s cubic-bezier(.2, .8, .2, 1); }
	.top-menu > li:not(.cita-online):hover > a { transform: translateY(-1px); }
	/* Al abrir una tarjeta, los demas elementos se atenuan (la tarjeta puede tapar parte del vecino) */
	.top-menu:has(> li:nth-child(-n+5):hover > ul.sub-menu) > li:nth-child(-n+5):not(:hover) > a { opacity: .22; transition: opacity .25s ease; }

	.top-menu > li:not(.cita-online) > ul.sub-menu {
		top: calc(50% - 27px);
		left: 50%;
		min-width: calc(100% + 48px);
		text-align: center;
		padding: 66px 0 14px;
		z-index: 6;
		background: transparent;
		box-shadow: none;
		opacity: 0;
		visibility: hidden;
		transform: translate(calc(-50% + var(--nx, 0px)), 6px);
		transition: opacity .15s ease, transform .3s cubic-bezier(.2, .8, .2, 1), visibility 0s linear .15s;
	}
	.top-menu > li:not(.cita-online):hover > ul.sub-menu,
	.top-menu > li:not(.cita-online):focus-within > ul.sub-menu {
		opacity: 1;
		visibility: visible;
		transform: translateX(calc(-50% + var(--nx, 0px)));
		transition-delay: .06s, .06s, 0s;
	}

	/* La tarjeta (nube): una sola, la mueve menu-cloud.js al pasar de un elemento a otro */
	.top-nav { position: relative; }
	.nav-cloud {
		position: absolute;
		z-index: 4;
		pointer-events: none;
		border-radius: 20px;
		background: #fff;
		box-shadow: 0 2px 6px rgba(0, 0, 0, .06), 0 18px 44px rgba(0, 0, 0, .14);
		opacity: 0;
		transform: translateY(8px) scale(.94);
		transform-origin: 50% 0;
		transition: left .4s cubic-bezier(.2, .8, .2, 1), top .4s cubic-bezier(.2, .8, .2, 1), width .4s cubic-bezier(.2, .8, .2, 1),
			height .4s cubic-bezier(.2, .8, .2, 1), opacity .2s ease, transform .35s cubic-bezier(.2, .8, .2, 1);
	}
	.nav-cloud.is-open { opacity: 1; transform: none; }
	.nav-cloud.is-instant { transition: none; }
	@media (prefers-reduced-motion: reduce) {
		.nav-cloud, .top-menu > li > ul.sub-menu, .top-menu > li > a { transition: none !important; }
	}
	/* Separador de 1px entre el elemento principal y las opciones */
	.top-menu > li:not(.cita-online) > ul.sub-menu::before {
		content: "";
		position: absolute;
		top: 54px; left: 24px; right: 24px;
		height: 1px;
		background: #e3e3de;
	}

	.top-menu > li > ul.sub-menu a {
		font-weight: 400;
		padding: 9px 24px;
	}

	/* Idiomas: un poco de aire a la derecha para que la tarjeta quede centrada bajo "ES" sin salirse de la pantalla */
	.top-menu > li:last-child > ul.sub-menu { min-width: calc(100% + 24px); }

	/* Cita online: boton independiente, con su propia animacion */
	.top-menu > li.cita-online > a {
		transition: transform .25s cubic-bezier(.2, .8, .2, 1), box-shadow .25s ease, background-color .25s ease;
	}
	.top-menu > li.cita-online:hover > a,
	.top-menu > li.cita-online:focus-within > a {
		transform: translateY(-2px);
		box-shadow: 0 10px 22px rgba(0, 0, 0, .2);
		background-color: #6d6d6d;
		color: #fff !important;
	}
	.top-menu > li.cita-online:active > a { transform: translateY(0); box-shadow: 0 3px 8px rgba(0, 0, 0, .2); }
}

/* ==========================================================================
   EQUIPO - rediseño (rejilla de tarjetas). Clases eq-* generadas por
   tools/team/build_team.py sobre las páginas Equipo / Taldea / Team.
   ========================================================================== */
.eq-hero,
.eq-section,
.eq-unit,
.eq-grid,
.eq-card {
	--padding-top: 0; --padding-right: 0; --padding-bottom: 0; --padding-left: 0;
	--gap: 0px; --row-gap: 0px; --column-gap: 0px;
	box-sizing: border-box;
}

.eq-hero { width: 100%; padding: 8px 0 8px; text-align: center; }
.eq-title .elementor-heading-title {
	margin: 0; padding: 0 24px 28px;
	font-family: Raleway, sans-serif; font-weight: 300; font-size: clamp(28px, 4vw, 44px);
	letter-spacing: .22em; text-transform: uppercase; line-height: 1.1; color: #1f1f1f;
}
.eq-group { width: 100%; max-width: 1240px; margin: 0 auto; padding: 0 24px; box-sizing: border-box; }
.eq-group img {
	display: block; width: 100%; height: clamp(260px, 40vw, 600px);
	object-fit: cover; object-position: 50% 22%; border-radius: 20px;
}
@media (max-width: 640px) {
	.eq-group { padding: 0 16px; }
	.eq-group img { border-radius: 12px; }
}

.eq-section { max-width: 1240px; margin: 0 auto; padding: 88px 24px 0; }
.eq-section:last-child { padding-bottom: 96px; }
.eq-section-title .elementor-heading-title {
	margin: 0 0 8px; text-align: center; position: relative; padding-bottom: 22px;
	font-family: Raleway, sans-serif; font-weight: 300; font-size: clamp(22px, 2.6vw, 30px);
	letter-spacing: .2em; text-transform: uppercase; line-height: 1.25; color: #1f1f1f;
}
.eq-section-title .elementor-heading-title::after {
	content: ""; position: absolute; left: 50%; bottom: 0; width: 44px; height: 2px; margin-left: -22px; background: #8c8c8c;
}

.eq-unit { margin-top: 40px; }
.eq-unit-title .elementor-heading-title {
	margin: 0 0 22px; text-align: center;
	font-family: Raleway, sans-serif; font-weight: 600; font-size: 13px;
	letter-spacing: .24em; text-transform: uppercase; color: #8c8c8c;
}

.eq-grid { display: flex !important; flex-direction: row !important; flex-wrap: wrap; justify-content: center; gap: 28px !important; width: 100%; }
.eq-card {
	flex: 0 0 calc((100% - 84px) / 4) !important; max-width: calc((100% - 84px) / 4);
	display: flex; flex-direction: column;
	background: #ebebe7; border-radius: 8px; overflow: hidden;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .04); transition: box-shadow .25s ease, transform .25s ease;
}
.eq-card:hover { box-shadow: 0 10px 28px rgba(0, 0, 0, .10); transform: translateY(-3px); }

.eq-photo { width: 100%; aspect-ratio: 3 / 4; background: #ebebe8; }
.eq-photo .elementor-widget-container { height: 100%; }
.eq-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 8%; }

.eq-info { padding: 22px 22px 26px; text-align: left; flex: 1 1 auto; }
.eq-info .eq-name {
	margin: 0 0 4px; font-family: Raleway, sans-serif; font-weight: 700; font-size: 15px;
	letter-spacing: .08em; text-transform: uppercase; line-height: 1.3; color: #1f1f1f;
}
.eq-info .eq-role { margin: 0; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; line-height: 1.4; color: #6b6b6b; font-weight: 600; }
.eq-info .eq-unit-tag { margin: 4px 0 0; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; font-style: italic; font-weight: 700; color: #8c8c8c; }
.eq-info .eq-creds { list-style: none; margin: 16px 0 0; padding: 0; }
.eq-info .eq-creds li {
	margin: 0; padding: 8px 0; border-top: 1px solid rgba(0, 0, 0, .09);
	font-size: 13px; line-height: 1.5; color: #4d4d4d;
}

/* Traumatología: 2 tarjetas más anchas y foto cuadrada (las fotos son de baja resolución y apaisadas) */
.eq-grid--2 .eq-card { flex-basis: 340px !important; max-width: 340px; }
.eq-card--wide .eq-photo { aspect-ratio: 1 / 1; }
.eq-card--wide .eq-photo img { object-position: 50% 20%; }

@media (max-width: 1099px) {
	.eq-card { flex-basis: calc((100% - 28px) / 2) !important; max-width: calc((100% - 28px) / 2); }
}
@media (max-width: 640px) {
	.eq-section { padding: 64px 18px 0; }
	.eq-grid { gap: 22px !important; }
	.eq-card, .eq-grid--2 .eq-card { flex-basis: 100% !important; max-width: 420px; }
}

/* Separación de los títulos respecto a la rejilla (el widget de Elementor tiene su propio margen) */
.eq-unit-title.elementor-widget { margin: 0 0 28px !important; }
.eq-section-title.elementor-widget { margin: 0 0 12px !important; }
.eq-card--blend .eq-photo img { mix-blend-mode: multiply; }

/* Fisioterapia: dos columnas en paralelo (unidad inferior | superior), cabeza de unidad arriba y
   especialidades en cascada debajo. En movil pasan a una sola columna (cabeza + su unidad, luego la otra). */
.eq-duo { display: flex !important; flex-direction: row !important; align-items: flex-start; justify-content: center; gap: 56px !important; width: 100%; margin-top: 40px; }
.eq-col { flex: 1 1 0 !important; min-width: 0; display: flex; flex-direction: column; align-items: center; }
.eq-headwrap { display: flex; justify-content: center; width: 100%; }
.eq-card--head { flex: 0 0 auto !important; width: 100%; max-width: 360px; }
.eq-card--head .eq-name { font-size: 17px; }
.eq-stack { position: relative; display: flex !important; flex-direction: column !important; gap: 18px !important; width: 100%; max-width: 560px; padding-top: 36px; }
.eq-stack::before { content: ""; position: absolute; top: 0; left: 50%; width: 2px; height: 36px; margin-left: -1px; background: #c9c9c5; }
.eq-card--row { flex: 0 0 auto !important; max-width: none; width: 100%; flex-direction: row; align-items: stretch; }
.eq-card--row .eq-photo { flex: 0 0 38%; width: 38%; aspect-ratio: auto; min-height: 100%; }
.eq-card--row .eq-info { padding: 18px 20px 20px; }
.eq-card--row .eq-creds li { font-size: 12.5px; padding: 6px 0; }
.eq-duo .eq-unit-title.elementor-widget { margin: 0 0 24px !important; }
@media (max-width: 900px) {
	.eq-duo { flex-direction: column !important; align-items: stretch; gap: 64px !important; }
}
@media (max-width: 520px) {
	.eq-card--row { flex-direction: column; }
	.eq-card--row .eq-photo { flex-basis: auto; width: 100%; aspect-ratio: 3 / 4; }
}
.eq-col > .e-con, .eq-col > .elementor-widget { width: 100%; }
.eq-headwrap > .eq-card--head { margin-left: auto; margin-right: auto; }
.eq-card--row .eq-photo { position: relative; min-height: 230px; }
.eq-card--row .eq-photo .elementor-widget-container { position: absolute; inset: 0; height: auto; }
.eq-card--row .eq-photo img { object-position: 50% 15%; }
@media (max-width: 520px) { .eq-card--row .eq-photo { min-height: 0; } .eq-card--row .eq-photo .elementor-widget-container { position: static; height: 100%; } }
.eq-card--row { flex-direction: row !important; }
.eq-card--row > .eq-photo { flex: 0 0 38% !important; width: 38% !important; max-width: 38%; }
.eq-card--row > .eq-info { flex: 1 1 0 !important; min-width: 0; align-self: center; }
@media (max-width: 520px) {
	.eq-card--row { flex-direction: column !important; }
	.eq-card--row > .eq-photo { flex-basis: auto !important; width: 100% !important; max-width: none; }
}

/* Escritorio: las dos columnas comparten rejilla (display: contents en eq-col/eq-headwrap/eq-stack), asi cada fila
   de tarjetas toma el alto de la mas alta de las dos. Clases eq-cN (columna) y eq-rN (fila) las genera build_team.py. */
@media (min-width: 901px) {
	.eq-duo { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 56px; row-gap: 18px; align-items: stretch; }
	.eq-col, .eq-headwrap, .eq-stack { display: contents !important; }
	.eq-c1 { grid-column: 1; }
	.eq-c2 { grid-column: 2; }
	.eq-duo .eq-card--head { justify-self: center; width: 100%; max-width: 360px; }
	.eq-duo .eq-card--row { max-width: 560px; justify-self: center; }
	.eq-duo .eq-unit-title { align-self: end; }
	.eq-stem { justify-self: center; width: 2px; height: 18px; background: #c9c9c5; margin: -18px 0 -18px; }
	.eq-stack::before { display: none; }
.eq-r1 { grid-row: 1; }
.eq-r2 { grid-row: 2; }
.eq-r3 { grid-row: 3; }
.eq-r4 { grid-row: 4; }
.eq-r5 { grid-row: 5; }
.eq-r6 { grid-row: 6; }
.eq-r7 { grid-row: 7; }
.eq-r8 { grid-row: 8; }
.eq-r9 { grid-row: 9; }
.eq-r10 { grid-row: 10; }
.eq-r11 { grid-row: 11; }
.eq-r12 { grid-row: 12; }
}
@media (max-width: 900px) { .eq-stem { display: none; } }
@media (min-width: 901px) {
	.eq-duo .eq-stem { width: 2px !important; min-width: 0 !important; height: 30px !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; }
}
.eq-hero .eq-group.elementor-widget { width: 100%; max-width: 1240px !important; margin-left: auto !important; margin-right: auto !important; }

/* ==========================================================================
   PORTADA - rediseño. Clases hm-* generadas por tools/home/build_home.py
   (reutiliza eq-section / eq-section-title del equipo).
   ========================================================================== */
.hm-info, .hm-gallery, .hm-cards, .hm-btns {
	--padding-top: 0; --padding-right: 0; --padding-bottom: 0; --padding-left: 0;
	--gap: 0px; --row-gap: 0px; --column-gap: 0px; box-sizing: border-box;
}
/* Lema de la cabecera: halo claro para que se lea sobre la foto */
.mwt-elementor-main-slider-layer-1 { font-weight: 300 !important; color: #1f1f1f; text-shadow: 0 0 28px rgba(255,255,255,.95), 0 0 10px rgba(255,255,255,.85), 0 0 2px rgba(255,255,255,.8); }

.hm-intro { text-align: center; padding-top: 80px; }
.hm-eyebrow { margin: 0 0 14px; font-size: 12px; font-weight: 700; letter-spacing: .26em; text-transform: uppercase; color: #8c8c8c; }
.hm-h1 .elementor-heading-title {
	margin: 0 0 26px; font-family: Raleway, sans-serif; font-weight: 300; font-size: clamp(26px, 3.4vw, 42px);
	letter-spacing: .12em; text-transform: uppercase; line-height: 1.25; color: #1f1f1f;
}
.hm-lead { max-width: 780px; margin: 0 auto; }
.hm-lead p { margin: 0 0 16px; font-size: 17px; line-height: 1.75; color: #4d4d4d; }
.hm-btns { display: flex !important; flex-direction: row !important; flex-wrap: wrap; justify-content: center; gap: 14px !important; width: 100%; margin-top: 18px; }
.hm-btn .elementor-button {
	display: inline-block; padding: 14px 30px; border-radius: 10px; background: #808080; color: #fff; border: 2px solid #808080;
	font-family: Raleway, sans-serif; font-weight: 700; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; transition: background .2s, color .2s, border-color .2s;
}
/* Mismo efecto que el boton Cita online del menu: sube, se oscurece un poco, sombra y texto siempre blanco */
.hm-btn .elementor-button { transition: transform .25s cubic-bezier(.2, .8, .2, 1), box-shadow .25s ease, background-color .25s ease, border-color .25s ease, color .25s ease; }
.hm-btn .elementor-button:hover, .hm-btn .elementor-button:focus-visible { background: #6d6d6d; border-color: #6d6d6d; color: #fff; transform: translateY(-2px); box-shadow: 0 10px 22px rgba(0, 0, 0, .2); }
.hm-btn .elementor-button:active { transform: translateY(0); box-shadow: 0 3px 8px rgba(0, 0, 0, .2); }
.hm-btn--ghost .elementor-button { background: transparent; color: #4d4d4d; border-color: #b5b5b0; }
.hm-btn--ghost .elementor-button:hover, .hm-btn--ghost .elementor-button:focus-visible { background: #6d6d6d; border-color: #6d6d6d; color: #fff; }

.hm-cards { display: flex !important; flex-direction: row !important; flex-wrap: wrap; justify-content: center; gap: 24px !important; width: 100%; margin-top: 56px; }
.hm-card-w { flex: 0 0 calc((100% - 72px) / 4) !important; max-width: calc((100% - 72px) / 4); display: flex; }
.hm-card-w .elementor-widget-container { display: flex; width: 100%; }
.hm-card { display: flex; flex-direction: column; width: 100%; padding: 28px 26px 24px; text-align: left; background: #ebebe7; border-radius: 12px; text-decoration: none; transition: box-shadow .25s, transform .25s; }
.hm-card:hover { box-shadow: 0 10px 28px rgba(0,0,0,.10); transform: translateY(-3px); }
.hm-card h3 { margin: 0 0 12px; font-family: Raleway, sans-serif; font-weight: 700; font-size: 14px; letter-spacing: .1em; text-transform: uppercase; line-height: 1.35; color: #1f1f1f; }
.hm-card p { margin: 0 0 18px; font-size: 14px; line-height: 1.6; color: #4d4d4d; flex: 1 1 auto; }
.hm-more { font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #8c8c8c; }
.hm-more::after { content: " →"; }

.hm-info { width: 100%; margin-top: 88px; padding: 56px 24px; background: #f5f5f3; }
.hm-info-w { max-width: 1100px; margin: 0 auto; }
.hm-info-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 40px 72px; text-align: center; }
.hm-info-item { flex: 1 1 220px; }
.hm-info-item h3 { margin: 0 0 12px; font-family: Raleway, sans-serif; font-weight: 700; font-size: 12px; letter-spacing: .24em; text-transform: uppercase; color: #8c8c8c; }
.hm-info-item p { margin: 0 0 8px; font-size: 18px; line-height: 1.55; color: #1f1f1f; }
.hm-info-item .hm-tel a { display: block; color: #1f1f1f; text-decoration: none; }
.hm-link { font-size: 13px; letter-spacing: .06em; color: #6b6b6b; text-decoration: underline; text-underline-offset: 3px; }
.hm-link:hover { color: #1f1f1f; }

.hm-diagram { width: 100%; margin-top: 28px; }
.hm-diagram img { display: block; width: 100%; height: auto; cursor: zoom-in; }
.hm-sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

.hm-gallery { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: 240px; gap: 16px !important; width: 100%; margin-top: 28px; }
.hm-gimg, .hm-gimg .elementor-widget-container, .hm-gimg a { display: block; width: 100%; height: 100%; }
.hm-gimg { overflow: hidden; border-radius: 14px; }
.hm-gimg img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.hm-gimg:hover img { transform: scale(1.04); }
.hm-g1 { grid-column: 1 / span 2; grid-row: 1 / span 2; }
.hm-g2 { grid-column: 3; grid-row: 1; }
.hm-g3 { grid-column: 4; grid-row: 1; }
.hm-g4 { grid-column: 3 / span 2; grid-row: 2; }
.hm-g5 { grid-column: 1; grid-row: 3; }
.hm-g6 { grid-column: 2; grid-row: 3; }
.hm-g7 { grid-column: 3 / span 2; grid-row: 3; }

.hm-cta { text-align: center; }
.hm-cta .hm-cta-title .elementor-heading-title { margin: 0 0 18px; font-family: Raleway, sans-serif; font-weight: 300; font-size: clamp(22px, 2.6vw, 30px); letter-spacing: .2em; text-transform: uppercase; color: #1f1f1f; }
.hm-cta .hm-btn { margin-top: 10px; }

@media (max-width: 1099px) { .hm-card-w { flex-basis: calc((100% - 24px) / 2) !important; max-width: calc((100% - 24px) / 2); } }
@media (max-width: 700px) {
	.hm-intro { padding-top: 56px; }
	.hm-card-w { flex-basis: 100% !important; max-width: 100%; }
	.hm-info { margin-top: 64px; padding: 44px 20px; }
	.hm-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 150px; gap: 10px !important; }
	.hm-g1, .hm-g2, .hm-g3, .hm-g4, .hm-g5, .hm-g6, .hm-g7 { grid-column: auto; grid-row: auto; }
	.hm-g1, .hm-g4, .hm-g7 { grid-column: span 2; }
	.hm-lead p { font-size: 16px; }
}
/* ajustes portada: Elementor da mas especificidad a los widgets hijos de contenedor */
.hm-intro .hm-lead.elementor-widget, .hm-cta .hm-lead.elementor-widget { width: 100%; max-width: 780px; margin-left: auto; margin-right: auto; }
.hm-info .hm-info-w.elementor-widget { width: 100%; max-width: 1100px; margin-left: auto; margin-right: auto; }
.hm-info-grid { flex-wrap: nowrap; }
.hm-h1 .elementor-heading-title { font-size: clamp(22px, 2.7vw, 34px); letter-spacing: .1em; }
@media (max-width: 800px) { .hm-info-grid { flex-wrap: wrap; } }
.hm-intro .hm-lead.elementor-widget, .hm-cta .hm-lead.elementor-widget { max-width: 780px !important; }

/* Introduccion de la portada: una sola columna centrada (eyebrow, titulo, botones, linea fina y texto).
   .hm-intro-l = titular + botones, .hm-intro-r = texto; Elementor mete huecos propios que se anulan aqui. */
.hm-intro { text-align: center; }
.hm-intro-top, .hm-intro-l, .hm-intro-r { --padding-top: 0; --padding-right: 0; --padding-bottom: 0; --padding-left: 0; --gap: 0px; --row-gap: 0px; --column-gap: 0px; box-sizing: border-box; gap: 0 !important; row-gap: 0 !important; align-items: center; width: 100%; }
.hm-intro-l .hm-eyebrow-w.elementor-widget { margin-bottom: 20px !important; }
.hm-intro-l .hm-eyebrow { margin: 0; }
.hm-intro-l .hm-h1.elementor-widget { margin-bottom: 32px !important; }
.hm-intro .hm-h1 .elementor-heading-title { margin: 0; font-size: clamp(24px, 2.7vw, 38px); line-height: 1.3; letter-spacing: .08em; text-align: center; }
.hm-intro .hm-btns { justify-content: center; margin-top: 0; }
.hm-intro-r { max-width: 780px; margin: 44px auto 0; padding-top: 40px; border-top: 1px solid #deded9; }
.hm-intro-r .hm-lead.elementor-widget { width: 100%; max-width: none !important; margin: 0 !important; }
.hm-intro-r .hm-lead.elementor-widget:not(:last-child) { margin-bottom: 20px !important; }
.hm-intro-r .hm-lead .elementor-widget-container, .hm-intro-r .hm-lead .elementor-widget-container > *, .hm-intro-r .hm-lead p { margin: 0 !important; padding: 0 !important; }
.hm-intro .hm-cards { margin-top: 72px; }
@media (max-width: 900px) {
	.hm-intro-r { margin-top: 36px; padding-top: 32px; }
	.hm-intro .hm-cards { margin-top: 48px; }
}

/* Portada: mismo ancho de contenido que el resto de paginas (1140 px; 1188 con el relleno lateral).
   Elementor ignora el max-width de .eq-section en estos contenedores, de ahi el !important. */
.hm-intro, .hm-method, .hm-fac, .hm-cta { width: 100% !important; max-width: 1188px !important; margin-left: auto !important; margin-right: auto !important; }
.hm-info .hm-info-w.elementor-widget { max-width: 860px; }
.hm-info-grid { gap: 40px 48px; }
.hm-gallery { grid-auto-rows: 210px; }
@media (max-width: 700px) { .hm-gallery { grid-auto-rows: 150px; } }
.hm-intro .hm-h1 .elementor-heading-title { font-size: clamp(22px, 2.3vw, 32px); }

/* Equipo: mismo ancho de contenido que el resto de paginas (1140 px; 1188 con el relleno lateral) */
.eq-section { width: 100% !important; max-width: 1188px !important; margin-left: auto !important; margin-right: auto !important; }
.eq-group { max-width: 1188px; }
.eq-hero .eq-group.elementor-widget { max-width: 1188px !important; }
.hm-info .hm-info-w.elementor-widget { width: 100%; max-width: 860px !important; margin-left: auto !important; margin-right: auto !important; }

/* ==========================================================================
   FOOTER - marca, menu, contacto y redes en 4 columnas dentro de 1140 px + franja inferior con enlaces legales.
   Widgets y menus por idioma: tools/footer/setup_footer.php. Franja inferior: template-parts/copyright/copyright-1.php.
   ========================================================================== */
#footer.footer { padding: 72px 0 56px; }
#footer.footer > .container { max-width: 1188px; padding: 0 24px; box-sizing: border-box; }
#footer .footer-widgets { display: grid !important; grid-template-columns: 1.5fr 1fr 1.2fr .8fr; column-gap: 56px; row-gap: 40px; align-items: start; }
#footer .footer-widgets > .widget { float: none !important; width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
#footer .widget-title, #footer .widget-title span { margin: 0 0 22px; font-family: Raleway, sans-serif; font-weight: 700; font-size: 12px; letter-spacing: .24em; text-transform: uppercase; line-height: 1.4; color: #9a9a96; }
#footer .widget-title span { margin: 0; display: inline; }
#footer a, #footer p { color: #e6e6e2; font-size: 15px; line-height: 1.8; font-weight: 400; text-decoration: none; }
#footer a:hover { color: #fff; }
#footer .menu, #footer .ft-list { list-style: none; margin: 0; padding: 0; }
#footer .menu li, #footer .ft-list li { margin: 0 0 10px; padding: 0; }
#footer .menu li a { font-weight: 400; }
#footer .menu li.current-menu-item > a { color: #fff; font-weight: 700; }
#footer .ft-list li { margin-bottom: 16px; line-height: 1.7; }
#footer .ft-hours { color: #b8b8b3; font-size: 14px; }
.ft-brand .ft-logo { display: block; width: 200px; height: auto; margin: 0 0 22px; filter: brightness(0) invert(1); }
.ft-brand p { margin: 0 0 24px; max-width: 300px; color: #b8b8b3 !important; font-size: 14px !important; line-height: 1.7 !important; }
#footer a.ft-cta { display: inline-block; padding: 13px 28px; border-radius: 10px; background: #808080; color: #fff; font-family: Raleway, sans-serif; font-weight: 700; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; transition: background .2s, color .2s; }
#footer a.ft-cta:hover { background: #fff; color: #1f1f1f; }
.ft-social { display: flex; gap: 12px; }
#footer .ft-social a { display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; font-size: 17px; line-height: 1; transition: background .2s, color .2s, border-color .2s; }
#footer .ft-social a:hover { background: #fff; border-color: #fff; color: #323232; }

#copyright.copyright { padding: 0 0 8px; }
#copyright .ft-bottom { max-width: 1188px; padding: 0 24px; box-sizing: border-box; display: flex; align-items: center; justify-content: space-between; gap: 16px 32px; flex-wrap: wrap; border-top: 1px solid rgba(255,255,255,.14); padding-top: 22px; padding-bottom: 14px; }
#copyright .copyright-text { margin: 0; font-size: 12.5px; letter-spacing: .02em; color: #9a9a96; text-align: left; }
#copyright .ft-legal-menu { list-style: none; display: flex; flex-wrap: wrap; gap: 8px 28px; margin: 0; padding: 0; }
#copyright .ft-legal-menu li { margin: 0; padding: 0; }
#copyright .ft-legal-menu a { font-size: 12.5px; letter-spacing: .02em; color: #b8b8b3; text-decoration: none; }
#copyright .ft-legal-menu a:hover { color: #fff; }

@media (max-width: 1000px) { #footer .footer-widgets { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) {
	#footer.footer { padding: 56px 0 40px; }
	#footer .footer-widgets { grid-template-columns: minmax(0, 1fr); row-gap: 44px; }
	#copyright .ft-bottom { flex-direction: column; align-items: flex-start; }
}
/* footer: ajustes de espaciado y franja inferior */
#footer .menu li { margin: 0 0 6px; line-height: 1.5; }
#footer .menu li a { display: inline-block; padding: 4px 0; line-height: 1.5; }
#copyright .ft-bottom { width: calc(100% - 48px); max-width: 1140px; padding-left: 0; padding-right: 0; margin-left: auto; margin-right: auto; }
#copyright .ft-bottom > * { margin-top: 0; margin-bottom: 0; }
#copyright .copyright-text { flex: 0 0 auto; text-transform: none; font-weight: 400; text-align: left; }
#copyright .ft-legal { margin-left: auto; }
#copyright .ft-bottom > *, #copyright .ft-legal-menu li { padding-left: 0 !important; padding-right: 0 !important; }
#copyright .ft-bottom .copyright-text { margin-left: 0 !important; }
#copyright .ft-bottom .ft-legal { margin-right: 0 !important; }
#copyright .container.ft-bottom { padding-left: 0 !important; padding-right: 0 !important; }
#copyright .ft-bottom::before, #copyright .ft-bottom::after { display: none !important; content: none !important; }

/* ==========================================================================
   SERVICIOS - tarjetas (imagen + desplegable de Elementor). Todas las paginas de servicios
   comparten estructura: contenedor hijo con imagen + acordeon. Se localizan con :has().
   ========================================================================== */
.e-con-inner:has(> .e-child > .elementor-widget-accordion) { gap: 28px !important; align-items: start !important; }
.e-con.e-child:has(> .elementor-widget-accordion) {
	--padding-top: 0; --padding-right: 0; --padding-bottom: 0; --padding-left: 0; --gap: 0px; --row-gap: 0px; --column-gap: 0px;
	padding: 0 !important; gap: 0 !important; row-gap: 0 !important; align-content: start;
	background: #ebebe7; border-radius: 16px; overflow: hidden;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .05), 0 10px 28px rgba(0, 0, 0, .07);
	transition: box-shadow .3s ease, transform .3s ease;
}
.e-con.e-child:has(> .elementor-widget-accordion):hover { transform: translateY(-4px); box-shadow: 0 2px 4px rgba(0, 0, 0, .06), 0 18px 40px rgba(0, 0, 0, .12); }
.e-con.e-child:has(> .elementor-widget-accordion) > .elementor-widget-image { overflow: hidden; margin: 0; }
.e-con.e-child:has(> .elementor-widget-accordion) > .elementor-widget-image img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; transition: transform .6s ease; }
.e-con.e-child:has(> .elementor-widget-accordion):hover > .elementor-widget-image img { transform: scale(1.04); }
.e-con.e-child > .elementor-widget-accordion { margin: 0; width: 100%; }
.e-con.e-child > .elementor-widget-accordion .elementor-accordion-item { border: 0 !important; }
.e-con.e-child > .elementor-widget-accordion .elementor-tab-title {
	display: flex; flex-direction: row-reverse; align-items: center; justify-content: space-between; gap: 16px;
	padding: 18px 22px !important; border: 0 !important; background: transparent !important; cursor: pointer;
}
.e-con.e-child > .elementor-widget-accordion .elementor-accordion-title,
.e-con.e-child > .elementor-widget-accordion .elementor-tab-title a {
	font-family: Raleway, sans-serif; font-weight: 700; font-size: 13px; letter-spacing: .09em; text-transform: uppercase; line-height: 1.4; color: #1f1f1f !important;
}
.e-con.e-child > .elementor-widget-accordion .elementor-accordion-icon {
	flex: 0 0 auto; display: flex !important; align-items: center; justify-content: center; width: 32px; height: 32px; margin: 0 !important; padding: 0;
	border-radius: 50%; background: #fff; border: 1px solid #d6d6d1; transition: background .2s, border-color .2s;
}
.e-con.e-child > .elementor-widget-accordion .elementor-accordion-icon svg { width: 11px; height: 11px; fill: #4d4d4d; transition: fill .2s; }
.e-con.e-child > .elementor-widget-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon { background: #1f1f1f; border-color: #1f1f1f; }
.e-con.e-child > .elementor-widget-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon svg { fill: #fff; }
.e-con.e-child > .elementor-widget-accordion .elementor-tab-content {
	margin: 0 22px; padding: 18px 0 26px !important; border: 0 !important; border-top: 1px solid rgba(0, 0, 0, .09) !important;
	font-size: 14.5px; line-height: 1.75; color: #4d4d4d !important;
}
.e-con.e-child > .elementor-widget-accordion .elementor-tab-content p { margin: 0 0 12px; color: #4d4d4d; }
.e-con.e-child > .elementor-widget-accordion .elementor-tab-content p:last-child { margin-bottom: 0; }
@media (max-width: 767px) { .e-con-inner:has(> .e-child > .elementor-widget-accordion) { gap: 20px !important; } }
.e-con.e-child > .elementor-widget-accordion .elementor-tab-content ul { margin: 0 0 12px; padding-left: 20px; }
.e-con.e-child > .elementor-widget-accordion .elementor-tab-content li { margin: 0 0 6px; padding: 0; line-height: 1.6; }
.e-con.e-child > .elementor-widget-accordion .elementor-tab-content h1, .e-con.e-child > .elementor-widget-accordion .elementor-tab-content h2, .e-con.e-child > .elementor-widget-accordion .elementor-tab-content h3, .e-con.e-child > .elementor-widget-accordion .elementor-tab-content h4 { margin: 0 0 10px; font-size: 15px; letter-spacing: .06em; color: #1f1f1f; }
/* el separador de puntos dentro del texto desplegado sobra: la tarjeta ya lleva su linea fina */
.e-con.e-child > .elementor-widget-accordion .elementor-tab-content img[src*="ESKURA_DOTS"] { display: none; }

/* Traumatologia: medicos separados de las tarjetas de servicios (espacio + linea fina de 1px, como en portada) */
.eq-section.eq-docs { margin-bottom: 64px !important; padding-bottom: 64px !important; position: relative; }
.eq-section.eq-docs::after { content: ""; position: absolute; left: 24px; right: 24px; bottom: 0; height: 1px; background: #deded9; }
@media (max-width: 767px) { .eq-section.eq-docs { margin-bottom: 40px !important; padding-bottom: 40px !important; } }

/* Servicios: imagen de cabecera con esquinas redondeadas (Readaptacion, Entrenamiento/Prevencion) */
.e-con-inner > .elementor-widget-image:has(+ .elementor-widget-text-editor) img { border-radius: 20px; display: block; }
/* Traumatologia: mismo hueco titulo-contenido que el resto de servicios */
.eq-section.eq-docs { padding-top: 10px !important; }

/* ===== FORMACION e INVESTIGACION: fichas modernizadas (fm-card / inv-card) ===== */
.e-con:has(> .e-con > .fm-card), .e-con:has(> .e-con > .inv-card) { gap: 32px 28px !important; }
.e-con:has(> .fm-card), .e-con:has(> .inv-card) { padding: 0 !important; margin: 0 !important; align-items: stretch !important; }
.e-con-inner:has(> .fm-card), .e-con-inner:has(> .inv-card) { height: 100%; padding: 0 !important; grid-template-rows: 1fr !important; }
.e-con:has(> .e-con-inner > .fm-card), .e-con:has(> .e-con-inner > .inv-card) { padding: 0 !important; }
.fm-card, .inv-card { height: 100%; margin: 0 !important; width: 100% !important; }
.fm-card > .elementor-widget-container, .inv-card > .elementor-widget-container { height: 100%; }
.fm-card .elementor-image-box-wrapper, .inv-card .elementor-image-box-wrapper {
  position: relative; display: flex !important; flex-direction: column; height: 100%; text-align: left !important;
  background: #ebebe7; border-radius: 16px; overflow: hidden;
  box-shadow: 0 1px 2px rgba(0,0,0,.06), 0 10px 28px rgba(0,0,0,.09);
  transition: transform .25s ease, box-shadow .25s ease;
}
.fm-card:hover .elementor-image-box-wrapper, .inv-card:hover .elementor-image-box-wrapper {
  transform: translateY(-4px); box-shadow: 0 2px 4px rgba(0,0,0,.06), 0 18px 40px rgba(0,0,0,.12);
}
.fm-card .elementor-image-box-img, .inv-card .elementor-image-box-img { position: relative; display: block !important; width: 100% !important; margin: 0 !important; overflow: hidden; }
.fm-card .elementor-image-box-img img, .inv-card .elementor-image-box-img img { display: block; width: 100% !important; height: auto; transition: transform .5s ease, filter .3s ease; }
.fm-card .elementor-image-box-img img { aspect-ratio: 1020 / 1442; object-fit: cover; }
.inv-card .elementor-image-box-img img { aspect-ratio: 4 / 3; object-fit: cover; object-position: top; }
.inv-card .elementor-image-box-img::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 38%; background: linear-gradient(to bottom, rgba(235,235,231,0), #ebebe7); pointer-events: none; }
.fm-card:hover .elementor-image-box-img img, .inv-card:hover .elementor-image-box-img img { transform: scale(1.03); }
.fm-card--past .elementor-image-box-img img { filter: grayscale(.45) opacity(.88); }
.fm-card--past:hover .elementor-image-box-img img { filter: none; }
.fm-card .elementor-image-box-content, .inv-card .elementor-image-box-content { display: flex; flex-direction: column; flex: 1; padding: 18px 22px 22px; width: 100% !important; text-align: left !important; }
.fm-card .elementor-image-box-description { order: -1; margin: 0 0 8px !important; font-family: Raleway, sans-serif; font-weight: 700; font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: #8a8a85; }
.fm-card .fm-badge { position: absolute; top: 14px; left: 14px; z-index: 3; padding: 6px 12px; border-radius: 999px; font-size: 10px; letter-spacing: .14em; line-height: 1; background: rgba(255,255,255,.94); color: #4d4d4d; box-shadow: 0 2px 8px rgba(0,0,0,.12); }
.fm-card--next .fm-badge { background: #1f1f1f; color: #fff; }
.fm-card .elementor-image-box-title, .inv-card .elementor-image-box-title { margin: 0 !important; font-family: Roboto, sans-serif !important; font-size: 15px !important; font-weight: 500 !important; line-height: 1.4 !important; letter-spacing: .01em; color: #1f1f1f; }
.fm-card .elementor-image-box-title, .inv-card .elementor-image-box-title { position: static !important; }
.inv-card .elementor-image-box-title { text-transform: none !important; font-size: 16px !important; }
.inv-card .inv-t { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.fm-card .elementor-image-box-title a, .inv-card .elementor-image-box-title a { color: inherit; }
.fm-card .elementor-image-box-title a::after, .inv-card .elementor-image-box-title a::after { content: ""; position: absolute; inset: 0; z-index: 2; }
.fm-card .elementor-image-box-content::after, .inv-card .elementor-image-box-content::after { margin-top: auto; padding-top: 16px; font-family: Raleway, sans-serif; font-weight: 700; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: #1f1f1f; }
.fm-card .elementor-image-box-content::after { content: "Ver curso \2192"; }
.inv-card .elementor-image-box-content::after { content: "Leer artículo \2192"; }
html[lang^="eu"] .fm-card .elementor-image-box-content::after { content: "Ikastaroa ikusi \2192"; }
html[lang^="eu"] .inv-card .elementor-image-box-content::after { content: "Artikulua irakurri \2192"; }
html[lang^="en"] .fm-card .elementor-image-box-content::after { content: "View course \2192"; }
html[lang^="en"] .inv-card .elementor-image-box-content::after { content: "Read article \2192"; }

/* Instalaciones: la galeria va justo bajo el titulo (sin el hueco de seccion de la portada) */
.eq-hero + .hm-fac { padding-top: 10px !important; margin-top: 0 !important; }
.eq-hero + .hm-fac .hm-gallery { margin-top: 0; }

/* Ritmo vertical comun menu - titulo - contenido (el de Instalaciones): ~57px entre el texto del titulo y el contenido */
:is(.page-id-45, .page-id-47, .page-id-49, .page-id-791, .page-id-794, .page-id-796, .page-id-807, .page-id-809, .page-id-811, .page-id-1130, .page-id-1133, .page-id-1135) .elementor > .e-con:first-child > .e-con-inner > .elementor-widget:first-child { margin-bottom: 30px !important; }
:is(.page-id-63, .page-id-65, .page-id-67) .elementor > .e-con:first-child > .e-con-inner > .elementor-widget:first-child { margin-bottom: -10px !important; }
:is(.page-id-4202, .page-id-4204, .page-id-4206) .elementor > .e-con:first-child > .e-con-inner > .elementor-widget:first-child { margin-bottom: -48px !important; }
:is(.page-id-4190, .page-id-4192, .page-id-4194, .page-id-4220, .page-id-4222, .page-id-4224) .eq-hero + .eq-section { padding-top: 10px !important; }
.eq-hero .eq-group.elementor-widget { margin-top: 18px !important; }

/* Logo de cabecera algo mas grande (100px -> 118px) para ganar presencia y nitidez */
@media screen and (min-width: 1200px) {
	.header:not(.affix) .logo.with-image img { width: 118px !important; height: 94px !important; max-height: 94px !important; max-width: none; }  /* con scroll (.affix) la cabecera es compacta y se queda en 100x80 */
}

/* ==========================================================================
   TARIFAS - tablas de precios como tarjetas (Osasun Zentroa y Movement)
   Las tablas son widgets HTML de Elementor (<table><tr><th>concepto<td>precio).
   ========================================================================== */
:is(.page-id-63, .page-id-65, .page-id-67, .page-id-4202, .page-id-4204, .page-id-4206) .elementor-widget-html table {
	width: 100%; margin: 0;
	border-collapse: separate; border-spacing: 0;
	border: 0; border-radius: 18px; overflow: hidden;
	background: #f5f5f3;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .06), 0 10px 28px rgba(0, 0, 0, .08);
}
:is(.page-id-63, .page-id-65, .page-id-67, .page-id-4202, .page-id-4204, .page-id-4206) .elementor-widget-html tr { transition: background-color .2s ease; }
:is(.page-id-63, .page-id-65, .page-id-67, .page-id-4202, .page-id-4204, .page-id-4206) .elementor-widget-html tr:hover { background: #ebebe7; }
:is(.page-id-63, .page-id-65, .page-id-67, .page-id-4202, .page-id-4204, .page-id-4206) .elementor-widget-html :is(th, td) {
	border: 0; border-bottom: 1px solid #e0e0da; background: transparent;
	padding: 22px 30px; vertical-align: middle;
}
:is(.page-id-63, .page-id-65, .page-id-67, .page-id-4202, .page-id-4204, .page-id-4206) .elementor-widget-html tr:last-child :is(th, td) { border-bottom: 0; }
:is(.page-id-63, .page-id-65, .page-id-67, .page-id-4202, .page-id-4204, .page-id-4206) .elementor-widget-html th {
	font-size: 17px; font-weight: 500; line-height: 1.4; color: #1f1f1f;
}
:is(.page-id-63, .page-id-65, .page-id-67, .page-id-4202, .page-id-4204, .page-id-4206) .elementor-widget-html td {
	width: 26% !important; text-align: right !important; white-space: nowrap;
	font-size: 18px; font-weight: 600; letter-spacing: .02em; color: #1f1f1f;
}
@media (max-width: 640px) {
	:is(.page-id-63, .page-id-65, .page-id-67, .page-id-4202, .page-id-4204, .page-id-4206) .elementor-widget-html :is(th, td) { padding: 16px 18px; }
	:is(.page-id-63, .page-id-65, .page-id-67, .page-id-4202, .page-id-4204, .page-id-4206) .elementor-widget-html th { font-size: 15px; }
	:is(.page-id-63, .page-id-65, .page-id-67, .page-id-4202, .page-id-4204, .page-id-4206) .elementor-widget-html td { font-size: 16px; width: 38% !important; white-space: normal; }
}

/* Los tres puntos (ESKURA_DOTS.png) ya no se usan: se ocultan en toda la web, junto con el contenedor si era lo unico que llevaba. */
.elementor-widget-image:has(img[src*="ESKURA_DOTS"]),
.e-con:has(> .e-con-inner > .elementor-widget:only-child img[src*="ESKURA_DOTS"]),
.e-con:has(> .elementor-widget:only-child img[src*="ESKURA_DOTS"]) { display: none !important; }
/* Las paginas que acababan en los puntos conservan un margen final parecido */
.elementor:has(> .e-con:last-child img[src*="ESKURA_DOTS"]) { padding-bottom: 72px; }
:is(.page-id-45, .page-id-47, .page-id-49) .elementor { padding-bottom: 52px; }
:is(.page-id-791, .page-id-794, .page-id-796, .page-id-807, .page-id-809, .page-id-811, .page-id-1130, .page-id-1133, .page-id-1135) .elementor { padding-bottom: 62px; }

/* ==========================================================================
   CONTACTO - tarjetas de sede + mapa + formulario (tools/contact/build_contact.py)
   ========================================================================== */
.ct-sedes { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px !important; width: min(1140px, 100%) !important; max-width: 1140px !important; margin: 0 auto !important; padding: 8px 0 0; box-sizing: border-box; }
.ct-card { background: #ebebe7; border-radius: 18px; box-shadow: 0 1px 2px rgba(0, 0, 0, .06), 0 10px 28px rgba(0, 0, 0, .09); padding: 34px 34px 30px !important; transition: transform .3s cubic-bezier(.2, .8, .2, 1), box-shadow .3s ease; }
.ct-card:hover { transform: translateY(-3px); box-shadow: 0 2px 4px rgba(0, 0, 0, .07), 0 16px 36px rgba(0, 0, 0, .12); }
.ct-eb { margin-bottom: 8px; }
.ct-eb .elementor-widget-container, .ct-eb { display: block; min-height: 28px; }
.ct-eb .elementor-widget-container { display: flex; align-items: center; }
.ct-form br { display: none; }
.ct-eyebrow { font-family: Raleway, sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: #8a8a85; }
.ct-badge { display: inline-block; margin-left: 12px; padding: 4px 11px; border-radius: 999px; background: #1f1f1f; color: #fff; font-family: Raleway, sans-serif; font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; vertical-align: 1px; }
.ct-name .elementor-heading-title { margin: 0 0 6px; font-family: Raleway, sans-serif; font-weight: 300; font-size: clamp(22px, 2.4vw, 30px); letter-spacing: .12em; text-transform: uppercase; color: #1f1f1f; }
.ct-name + .elementor-widget { padding-top: 14px; margin-top: 14px; border-top: 1px solid #d6d6d0; }
.ct-txt p { margin: 0 0 14px; font-size: 16px; line-height: 1.6; color: #3d3d3a; }
.ct-txt a { color: inherit; text-decoration: none; border-bottom: 1px solid #b5b5b0; transition: border-color .2s; }
.ct-txt a:hover { border-color: #1f1f1f; }
.ct-txt--soon p { color: #6b6b6b; font-style: italic; }
.ct-btns .elementor-widget-button, .ct-btns .elementor-widget-container { margin: 0 !important; padding: 0 !important; }
.ct-btns { padding: 0 !important; display: flex !important; flex-direction: row !important; flex-wrap: wrap; gap: 12px !important; margin-top: 8px; }
.ct-map-w { width: 100%; margin: auto 0 0; padding-top: 22px; }
.ct-card .ct-map { box-shadow: none; border-radius: 12px; }
.ct-soon { color: #6b6b6b; font-style: italic; }
.ct-map { border-radius: 20px; overflow: hidden; box-shadow: 0 1px 2px rgba(0, 0, 0, .06), 0 10px 28px rgba(0, 0, 0, .09); background: #ebebe7; }
.ct-map iframe { display: block; width: 100%; height: 260px; border: 0; }
	.ct-form { width: min(900px, 100%) !important; margin-left: auto !important; margin-right: auto !important; }
.ct-form .wpcf7-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 22px; }
.ct-form .wpcf7-form > fieldset, .ct-form .wpcf7-form > .screen-reader-response { display: none; }
.ct-form .wpcf7-form > label { display: block; margin: 0 !important; width: 100% !important; float: none !important; font-family: Raleway, sans-serif; font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #3d3d3a; }
.ct-form .wpcf7-form > label:nth-of-type(n+3) { grid-column: 1 / -1; }
.ct-form .wpcf7-form-control-wrap, .ct-form .wpcf7-form-control-wrap input, .ct-form .wpcf7-form-control-wrap textarea { display: block; width: 100% !important; max-width: none !important; box-sizing: border-box; }
.ct-form input[type="text"], .ct-form input[type="email"], .ct-form input[type="tel"], .ct-form textarea { margin-top: 8px; padding: 14px 18px; border: 1px solid #d6d6d0; border-radius: 12px; background: #f5f5f3; font-size: 16px; color: #1f1f1f; transition: border-color .2s, box-shadow .2s, background-color .2s; }
.ct-form textarea { min-height: 150px; resize: vertical; }
.ct-form input:focus, .ct-form textarea:focus { outline: none; border-color: #808080; background: #fff; box-shadow: 0 0 0 4px rgba(128, 128, 128, .15); }
.ct-form .wpcf7-form > p, .ct-form .wpcf7-form > .wpcf7-response-output { grid-column: 1 / -1; margin: 0; }
.ct-form .wpcf7-submit, .ct-form input[type="submit"], .ct-form button[type="submit"] {
	display: inline-block; padding: 14px 34px; border: 2px solid #808080; border-radius: 10px; background: #808080; color: #fff;
	font-family: Raleway, sans-serif; font-weight: 700; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; cursor: pointer;
	transition: transform .25s cubic-bezier(.2, .8, .2, 1), box-shadow .25s ease, background-color .25s ease, border-color .25s ease;
}
.ct-form .wpcf7-submit:hover, .ct-form input[type="submit"]:hover, .ct-form button[type="submit"]:hover { background: #6d6d6d; border-color: #6d6d6d; transform: translateY(-2px); box-shadow: 0 10px 22px rgba(0, 0, 0, .2); }
	.ct-form input[type="submit"] { justify-self: start; width: auto; }
.ct-priv { width: min(900px, 100%) !important; margin: 40px auto 0 !important; padding-top: 28px !important; border-top: 1px solid #d6d6d0; box-sizing: border-box; }
.ct-priv .elementor-heading-title, .ct-priv h3 { margin: 0 0 12px; font-family: Raleway, sans-serif; font-size: 13px !important; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: #3d3d3a; }
.ct-priv p { font-size: 13.5px; line-height: 1.65; color: #6b6b6b; margin: 0 0 10px; }
.ct-lead p { text-align: center; color: #6b6b6b; margin: 0 0 22px; }
@media (max-width: 767px) {
	.ct-sedes, .ct-form .wpcf7-form { grid-template-columns: 1fr; }
	.ct-form .wpcf7-form > label:nth-of-type(n+3) { grid-column: auto; }
	.ct-card { padding: 26px 22px 24px !important; }
	.ct-map iframe { height: 300px; }
}
.ct-eb, .ct-eb .elementor-widget-container { height: 28px; min-height: 0; }
.ct-priv, .ct-priv > .e-con-inner { padding-left: 0 !important; padding-right: 0 !important; }
.ct-priv .elementor-widget-container { padding-left: 0 !important; }

/* ==========================================================================
   MENU MOVIL (<1200px): panel blanco, X negra, todo centrado, sin puntos en el submenu,
   y Cita online + idioma agrupados al fondo del panel.
   ========================================================================== */
@media screen and (max-width: 1199px) {
	.nav-cloud { display: none; }

	/* Sin barra negra superior: el panel es blanco y deja sitio a la X */
	.top-nav { border-top: 0; padding: 74px 16px 28px; display: flex; flex-direction: column; box-sizing: border-box; }
	.top-nav .nav-btn span, .top-nav .nav-btn span:before, .top-nav .nav-btn span:after { background: #1f1f1f; }
	.top-nav .nav-btn#nav_close { top: 8px; }

	.top-nav .top-menu { display: flex; flex-direction: column; flex: 1 1 auto; width: 100%; min-height: 0; }
	.top-nav .top-menu > li { text-align: center; position: relative; }
	.top-nav .top-menu > li > a { display: block; padding: 15px 44px !important; color: #1f1f1f; text-align: center; }
	.top-nav .toggle_submenu { right: 6px; margin-top: 10px; }
	.top-nav ul ul { padding: 0 0 10px; }
	.top-nav ul ul li a { display: block; padding: 11px 20px; text-align: center; color: #4d4d4d; }
	.top-nav ul ul li a:before { display: none; }

	/* Cita online + idioma al fondo del panel */
	.top-nav .top-menu > li.cita-online { margin-top: auto; padding-top: 24px; }
	.top-nav .top-menu > li.cita-online > a {
		display: block; max-width: 320px; margin: 0 auto; padding: 16px 24px; border-radius: 12px;
		background: #808080; color: #fff; text-align: center;
		transition: transform .25s cubic-bezier(.2, .8, .2, 1), box-shadow .25s ease, background-color .25s ease;
	}
	.top-nav .top-menu > li.cita-online > a:hover, .top-nav .top-menu > li.cita-online > a:active { background: #6d6d6d; color: #fff !important; box-shadow: 0 8px 18px rgba(0, 0, 0, .18); }
	.top-nav .top-menu > li:last-child { margin-top: 6px; }
	.top-nav .top-menu > li:last-child > a { color: #4d4d4d; }

	/* El boton de WhatsApp no debe quedar por encima del menu abierto */
	body:has(.top-nav.active) #simple-chat-button--container { z-index: 5 !important; }
}

/* ==========================================================================
   CABECERA MOVIL (<1200px): logo centrado y mas grande, hamburguesa en circulo a la derecha
   y acceso rapido a Cita online a la izquierda (el enlace lo crea menu-cloud.js).
   ========================================================================== */
.hd-cita { display: none; }
@media screen and (max-width: 1199px) {
	.header .container-fluid { justify-content: center; position: relative; height: 100px; }
	.header .logo-wrap { width: auto; margin: 0 auto; height: 100px; display: flex; align-items: center; justify-content: center; }
	.header .logo.with-image img { width: 112px !important; height: 89px !important; max-height: 89px !important; max-width: none; transition: width .25s ease, height .25s ease; }

	.header #nav_toggle {
		position: absolute; right: 14px; top: 50%; margin: -22px 0 0; width: 44px; height: 44px; border-radius: 50%;
		background: #ebebe7 !important; transition: background-color .2s ease, transform .2s ease;
	}
	.header #nav_toggle:active { transform: scale(.94); }
	.header #nav_toggle span, .header #nav_toggle span:before, .header #nav_toggle span:after { width: 20px; height: 2px; background: #1f1f1f; }
	.header #nav_toggle span:before { bottom: 7px; }
	.header #nav_toggle span:after { top: 5px; }

	.hd-cita {
		display: flex; align-items: center; justify-content: center; position: absolute; left: 14px; top: 50%; margin-top: -22px;
		width: 44px; height: 44px; border-radius: 50%; background: #808080; color: #fff !important;
		transition: background-color .2s ease, transform .2s ease, box-shadow .2s ease;
	}
	.hd-cita svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
	.hd-cita:hover, .hd-cita:active { background: #6d6d6d; transform: translateY(-1px); box-shadow: 0 6px 14px rgba(0, 0, 0, .18); }

	/* Con scroll la cabecera se compacta */
	.header.affix .container-fluid, .header.affix .logo-wrap { height: 68px; }
	.header.affix .logo.with-image img { width: 66px !important; height: 53px !important; max-height: 53px !important; }
}

/* ==========================================================================
   CURSOS (Academy) - titulo en dos niveles: etiqueta de edicion + nombre del curso.
   Marcado generado por tools/academy/course_titles.php
   ========================================================================== */
.cu-title .elementor-heading-title { margin: 0; padding: 18px 24px 6px; text-align: center; font-family: Raleway, sans-serif !important; font-weight: 300 !important; text-transform: uppercase; color: #1f1f1f; line-height: 1.15; }
.cu-title .cu-ed { display: inline-block; margin-bottom: 14px; padding: 6px 16px; border-radius: 999px; background: #ebebe7; font-size: 13px; font-weight: 600; letter-spacing: .18em; color: #555; }
.cu-title .cu-name { display: block; max-width: 900px; margin: 0 auto; font-size: clamp(22px, 3.2vw, 36px); letter-spacing: .14em; text-wrap: balance; }
@media (max-width: 640px) { .cu-title .elementor-heading-title { padding: 10px 16px 4px; } .cu-title .cu-name { font-size: 18px; letter-spacing: .05em; } }

/* Footer en movil: todo centrado */
@media (max-width: 640px) {
	#footer .footer-widgets { text-align: center; justify-items: center; }
	#footer .ft-brand .ft-logo { margin-left: auto; margin-right: auto; }
	#footer .ft-brand p { margin-left: auto; margin-right: auto; }
	#footer .ft-social { justify-content: center; }
	#copyright .ft-bottom { align-items: center; text-align: center; }
	#copyright .ft-bottom .copyright-text, #copyright .ft-bottom .copyright-text * { text-align: center; }
	#copyright .ft-legal { margin-left: 0; }
	#copyright .ft-legal-menu { justify-content: center; }
}

/* ==========================================================================
   CALENDARIO de cursos (Academy) - shortcode [eskura_calendario], mu-plugins/eskura-calendar.php
   ========================================================================== */
.cal { width: min(900px, 100%); margin: 0 auto; }
.cal-month { margin: 34px 0 16px; font-family: Raleway, sans-serif; font-size: 13px; font-weight: 700; letter-spacing: .24em; color: #8a8a85; }
.cal-month:first-child { margin-top: 8px; }
.cal-list { display: flex; flex-direction: column; gap: 16px; }
.cal-item { display: grid; grid-template-columns: 150px minmax(0, 1fr) auto; align-items: center; gap: 28px; padding: 24px 30px; background: #ebebe7; border-radius: 18px; box-shadow: 0 1px 2px rgba(0, 0, 0, .06), 0 10px 28px rgba(0, 0, 0, .09); transition: transform .3s cubic-bezier(.2, .8, .2, 1), box-shadow .3s ease; }
.cal-item:hover { transform: translateY(-3px); box-shadow: 0 2px 4px rgba(0, 0, 0, .07), 0 16px 36px rgba(0, 0, 0, .12); }
.cal-date { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 14px 8px; background: #fff; border-radius: 14px; text-align: center; }
.cal-date strong { white-space: nowrap; font-family: Raleway, sans-serif; font-size: 20px; font-weight: 600; letter-spacing: .04em; color: #1f1f1f; line-height: 1.2; }
.cal-date span { margin-top: 4px; font-size: 12px; letter-spacing: .2em; color: #8a8a85; }
.cal-ed { display: inline-block; margin-bottom: 8px; padding: 4px 12px; border-radius: 999px; background: #fff; font-family: Raleway, sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #555; }
.cal-body h3 { margin: 0 0 6px; font-family: Raleway, sans-serif; font-weight: 400; font-size: 18px; letter-spacing: .06em; text-transform: uppercase; line-height: 1.35; color: #1f1f1f; }
.cal-body p { margin: 0; font-size: 15px; line-height: 1.55; color: #3d3d3a; }
.cal-place { color: #6b6b6b !important; }
.cal-actions { display: flex; flex-direction: column; gap: 10px; align-items: stretch; min-width: 168px; }
.cal-btn { display: block; padding: 13px 22px; border-radius: 10px; background: #808080; border: 1px solid #808080; color: #fff !important; text-align: center; font-family: Raleway, sans-serif; font-weight: 700; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; text-decoration: none !important; white-space: nowrap; transition: transform .25s ease, background-color .25s ease, box-shadow .25s ease; }
.cal-btn:hover { background: #6d6d6d; border-color: #6d6d6d; transform: translateY(-2px); box-shadow: 0 10px 22px rgba(0, 0, 0, .2); }
.cal-btn--ghost { background: transparent; color: #3d3d3a !important; border-color: #9a9a96; }
.cal-btn--ghost:hover { background: #808080; color: #fff !important; }
.cal-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 8px; }
.cal-tags .cal-ed { margin-bottom: 0; }
.cal-seats { display: inline-block; padding: 4px 12px; border-radius: 999px; background: #1f1f1f; color: #fff; font-family: Raleway, sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.cal-seats.is-full { background: #8a5a2b; }
/* Formulario de inscripcion [eskura_inscripcion] */
.reg-form { width: min(760px, 100%); margin: 0 auto; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 22px; padding: 34px; background: #ebebe7; border-radius: 18px; box-shadow: 0 1px 2px rgba(0, 0, 0, .06), 0 10px 28px rgba(0, 0, 0, .09); box-sizing: border-box; }
.reg-form label { display: block; font-family: Raleway, sans-serif; font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #3d3d3a; }
.reg-wide { grid-column: 1 / -1; }
.reg-form input[type="text"], .reg-form input[type="email"], .reg-form input[type="tel"], .reg-form select, .reg-form textarea { display: block; width: 100%; box-sizing: border-box; margin-top: 8px; padding: 14px 18px; border: 1px solid #d6d6d0; border-radius: 12px; background: #f5f5f3; font-size: 16px; font-weight: 400; letter-spacing: 0; text-transform: none; color: #1f1f1f; transition: border-color .2s, box-shadow .2s, background-color .2s; }
.reg-form select { font-style: normal; font-size: 15px; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; }
.reg-form input:focus, .reg-form select:focus, .reg-form textarea:focus { outline: none; border-color: #808080; background: #fff; box-shadow: 0 0 0 4px rgba(128, 128, 128, .15); }
.reg-form .reg-check { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; font-weight: 400; letter-spacing: 0; text-transform: none; }
.reg-form .reg-check input { margin-top: 4px; }
.reg-form .reg-check a { color: inherit; text-decoration: underline; }
.reg-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.reg-send { padding: 15px 34px; border: 1px solid #808080; border-radius: 10px; background: #808080; color: #fff; cursor: pointer; font-family: Raleway, sans-serif; font-weight: 700; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; transition: transform .25s ease, background-color .25s ease, box-shadow .25s ease; }
.reg-send:hover { background: #6d6d6d; border-color: #6d6d6d; transform: translateY(-2px); box-shadow: 0 10px 22px rgba(0, 0, 0, .2); }
.reg-msg { width: min(760px, 100%); margin: 0 auto 8px; padding: 16px 20px; border-radius: 12px; grid-column: 1 / -1; font-size: 16px; line-height: 1.5; box-sizing: border-box; }
.reg-msg--ok { background: #e3efe3; color: #23402a; text-align: center; }
.reg-msg--err { background: #f6e1de; color: #6b2a22; }
.cal-empty { text-align: center; color: #6b6b6b; }
@media (max-width: 720px) {
	.cal-item { grid-template-columns: 1fr; gap: 16px; padding: 22px 20px; text-align: center; justify-items: center; }
	.cal-date { width: 150px; }
	.cal-tags { justify-content: center; }
	.cal-actions { width: 100%; }
	.reg-form { grid-template-columns: 1fr; padding: 24px 20px; }
}
:is(.page-id-4214, .page-id-4216, .page-id-4218, .page-id-4226, .page-id-4228, .page-id-4230) .eq-hero + .eq-section { padding-top: 10px !important; }

/* ==========================================================================
   PAGINAS LEGALES (aviso legal / politica de privacidad) - tools/legal/build_legal.py
   ========================================================================== */
.lg-sec { padding-top: 10px !important; }
.lg-doc { width: min(820px, 100%) !important; margin: 0 auto !important; }
.lg-doc .lg-date { margin: 0 0 28px; text-align: center; font-size: 13px; letter-spacing: .08em; color: #8a8a85; }
.lg-doc h2 { margin: 34px 0 12px; font-family: Raleway, sans-serif; font-size: 15px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #1f1f1f; }
.lg-doc p, .lg-doc li { font-size: 16px; line-height: 1.7; color: #3d3d3a; }
.lg-doc p { margin: 0 0 14px; }
.lg-doc ul { margin: 0 0 14px; padding-left: 22px; list-style: disc; }
.lg-doc li { margin-bottom: 6px; }

/* ---- COOKIES: aviso en lugar del mapa hasta aceptar cookies de terceros ---- */
.ct-map-ph { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; height: 260px; padding: 24px; text-align: center; background: #ebebe7; }
.ct-map-ph[hidden], .ct-map iframe[hidden] { display: none !important; }
.ct-map-ph p { margin: 0; font-size: 14px; line-height: 1.5; color: #555; max-width: 340px; }
.ct-map-ph button { cursor: pointer; border: 0; border-radius: 40px; padding: 11px 22px; background: #808080; color: #fff; font: 600 12px/1 inherit; letter-spacing: .12em; text-transform: uppercase; }
.ct-map-ph a { font-size: 13px; color: #555; text-decoration: underline; }
@media (max-width: 640px) { .ct-map-ph { height: 300px; } }
.ct-map-ph .ct-map-accept { cursor: pointer; border: 0 !important; border-radius: 40px !important; padding: 13px 24px !important; background: #808080 !important; color: #fff !important; font-size: 12px !important; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.ct-map-ph .ct-map-accept:hover { background: #333 !important; }
@media (min-width: 641px) { #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container { padding-right: 96px; box-sizing: border-box; } }
/* En movil el boton de WhatsApp tapaba los botones del banner: se oculta mientras el banner esta visible */
@media (max-width: 640px) { body:has(#moove_gdpr_cookie_info_bar:not(.moove-gdpr-info-bar-hidden)) #simple-chat-button--container { display: none !important; } }

/* Portada: el titular usa el mismo estilo que los titulos de seccion (barra corta y gruesa en lugar de la linea fina) */
.hm-intro .hm-h1 .elementor-heading-title {
	position: relative; padding-bottom: 22px; margin: 0; font-size: clamp(22px, 2.6vw, 30px); letter-spacing: .2em; line-height: 1.25;
}
.hm-intro .hm-h1 .elementor-heading-title::after {
	content: ""; position: absolute; left: 50%; bottom: 0; width: 44px; height: 2px; margin-left: -22px; background: #8c8c8c;
}
.hm-intro-l .hm-h1.elementor-widget { margin-bottom: 8px !important; }
.hm-intro-r { border-top: 0; padding-top: 24px; margin-top: 0; }
@media (max-width: 900px) { .hm-intro-r { margin-top: 0; padding-top: 20px; } }
.hm-intro .hm-h1 .elementor-heading-title { font-size: clamp(20px, 2.2vw, 28px); letter-spacing: .16em; text-wrap: balance; }
@media (max-width: 640px) { .hm-intro .hm-h1 .elementor-heading-title { font-size: 20px; letter-spacing: .14em; } }

/* Movil: el diagrama de metodologia es ilegible encogido a 390 px; se desplaza en horizontal a un tamano legible */
@media (max-width: 640px) {
	.hm-diagram .elementor-widget-container { overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: 6px; }
	.hm-diagram img { width: 820px !important; max-width: none !important; height: auto; }
	.hm-diagram::after { content: "\2194"; display: block; text-align: center; color: #8c8c8c; font-size: 18px; line-height: 1; margin-top: 4px; }
}

/* Sin preloader (por si queda marcado en una pagina en cache) */
#preloader, .preloader { display: none !important; }

/* Menu movil: idiomas en una sola fila (antes ocupaban tres lineas y Cita online + ES/EU/EN quedaban fuera de pantalla)
   y el banner de cookies se oculta mientras el menu esta abierto */
@media screen and (max-width: 1199px) {
	.top-nav .top-menu > li:last-child { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; margin-top: 10px; }
	.top-nav .top-menu > li:last-child > .toggle_submenu { display: none !important; }
	.top-nav .top-menu > li:last-child > a { display: inline-block; padding: 10px 16px !important; font-weight: 700; }
	.top-nav .top-menu > li:last-child > ul.sub-menu { display: flex !important; position: static; opacity: 1; visibility: visible; height: auto; max-height: none; padding: 0; margin: 0; background: none; box-shadow: none; transform: none; }
	.top-nav .top-menu > li:last-child > ul.sub-menu > li a { display: inline-block; padding: 10px 16px; color: #4d4d4d; font-weight: 600; }
	body:has(.top-nav.active) #moove_gdpr_cookie_info_bar { display: none !important; }
	.top-nav { padding-bottom: 20px; }
}
@media screen and (max-width: 1199px) {
	.top-nav .top-menu > li:last-child > ul.sub-menu { align-items: center; flex-wrap: nowrap; width: auto !important; }
	.top-nav .top-menu > li:last-child > ul.sub-menu > li { width: auto !important; flex: 0 0 auto; float: none; white-space: nowrap; margin: 0; padding: 0; }
	.top-nav .top-menu > li:last-child > ul.sub-menu > li a { white-space: nowrap; line-height: 1.2; }
	.top-nav .top-menu > li:last-child > a { line-height: 1.2; }
}
