/* ========================================
   Utility Classes
   ======================================== */
/*
 * No redefinir .d-none a nivel global aquí.
 * Este archivo se carga después de style.css (Bootstrap). Una segunda regla
 * .d-none { display: none !important } gana sobre .d-md-block / .d-lg-block en el
 * mismo elemento (misma especificidad, hoja posterior), rompiendo utilidades
 * responsive (p. ej. .table-of-contents.d-none.d-md-block en artículos).
 * Bootstrap ya define .d-none; no hace falta duplicarla.
 */

.fw-bold {
	font-weight: 700 !important;
}

/* ========================================
   Header Principal
   ======================================== */
.header-mize-nd {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1001;
	background-color: transparent;
	transition: all 0.3s ease;
	padding: 24px 0;
	border: none !important;
}

.header-mize-nd.scrolled {
	background-color: #ffffff;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
	padding: 16px 0;
}

.header-mize-nd.scrolled .header-mize-nd__container {
	padding: 0 56px;
}

body.light-page .header-mize-nd {
	background-color: #ffffff;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

.header-mize-nd__container {
	max-width: 1920px;
	margin: 0 auto;
	padding: 0 56px;
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 40px;
}

.header-mize-nd__logo {
	flex-shrink: 0;
	z-index: 999;
	position: relative;
}

.header-mize-nd__logo a {
	display: block;
	line-height: 0;
	position: relative;
}

.header-mize-nd__logo svg {
	display: block;
	width: 143px;
	height: auto;
	transition: opacity 0.3s ease;
}

.header-mize-nd__logo-white {
	opacity: 1;
	display: block;
	position: relative;
}

.header-mize-nd__logo-color {
	opacity: 0;
	position: absolute;
	top: 0;
	left: 0;
	width: 143px;
	height: auto;
}

.header-mize-nd.scrolled .header-mize-nd__logo-white,
body.light-page .header-mize-nd__logo-white {
	opacity: 0;
}

.header-mize-nd.scrolled .header-mize-nd__logo-color,
body.light-page .header-mize-nd__logo-color {
	opacity: 1;
}

.header-mize-nd__nav {
	display: flex;
	flex-shrink: 0;
	justify-content: flex-end;
	grid-column: 2;
}

/* Logo dentro del nav (solo visible en mobile) */
.header-mize-nd__nav-logo {
	display: none;
}

/* ========================================
   Submenús Desktop
   ======================================== */

/* Submenús - estilos base */
.header-mize-nd__nav .sub-menu {
	list-style: none;
	padding: 0;
	margin: 0;
}

.header-mize-nd__nav .sub-menu a {
	color: #003446 !important;
	font-family: 'PF Bague Sans Pro', sans-serif !important;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	text-decoration: none;
	white-space: nowrap;
	display: flex !important;
	align-items: center;
	gap: 5px;
	padding: 16px; /* Mover padding del li al a */
	width: 100%; /* Cubrir todo el ancho */
	cursor: pointer; /* Mostrar cursor pointer */
}

.header-mize-nd__nav .sub-menu a:hover {
	font-weight: 700;
	color: #003446 !important;
}

.header-mize-nd__nav .sub-menu a::after {
	display: none; /* Quitar la línea de subrayado en submenús */
}

/* Separación de icono y texto en submenús */
.header-mize-nd__nav .sub-menu .menu-item a img,
.header-mize-nd__nav .sub-menu .menu-item a .menu-icon {
	margin-right: 8px; /* El gap de flexbox ya crea el espacio */
	flex-shrink: 0; /* Prevenir que el icono se redimensione */
	width: 16px; /* Ancho fijo para todos los iconos */
	height: 16px; /* Alto fijo para todos los iconos */
	object-fit: contain; /* Mantener proporción dentro del tamaño fijo */
	display: block;
}

/* Asegurar que todos los textos estén alineados a la misma línea base */
.header-mize-nd__nav .sub-menu li {
	display: flex;
	align-items: baseline; /* Alinear por la línea base del texto */
	padding: 0; /* Quitar padding del li - lo ponemos en el a */
	position: relative;
}
/*
.header-mize-nd__nav .sub-menu li:first-child {
	padding-top: 6px;
}

.header-mize-nd__nav .sub-menu li:last-child {
	padding-bottom: 6px;
}
*/

.header-mize-nd__nav .sub-menu li:hover {
	background-color: #003446;
}

.header-mize-nd__nav .sub-menu > li:first-child:hover {
    border-top-right-radius: 14px;
    border-top-left-radius: 14px;
}

.header-mize-nd__nav .sub-menu > li:last-child:hover {
    border-bottom-right-radius: 14px;
    border-bottom-left-radius: 14px;
}

.header-mize-nd__nav .sub-menu li a {
	width: 100%;
}

.header-mize-nd__nav .sub-menu li:hover a {
	color: #ffffff !important;
	font-weight: 500 !important;
}

/* Submenu hover panel */
.header-mize-nd__submenu-hover {
	position: absolute;
	bottom: 28px;
	left: 0;
	transform: translateY(100%);
	z-index: 10;
	display: none !important; /* Oculto por defecto - !important previene parpadeo */
	padding-top: 28px; /* Área invisible de "puente" para mantener hover activo */
	margin-top: -45px; /* Compensar el padding para mantener posición visual */
	visibility: hidden;
	opacity: 0;
	transition: opacity 0.2s ease, visibility 0.2s ease;
}

.header-mize-nd__submenu-hover:not(.d-none) {
	display: block !important;
	visibility: visible;
	opacity: 1;
}

.header-mize-nd__submenu-panel {
	position: relative;
	margin-top: 0; /* Sin margen - el padding del contenedor crea el espacio */
	padding: 18px;
	filter: drop-shadow(-1px 1px 10px rgba(0, 52, 70, 0.15)) drop-shadow(1px -1px 10px rgba(0, 52, 70, 0.10));
	background-color: #fff;
	transition: ease 0.3s;
	display: flex;
	gap: 40px;
	padding: 0;
	border-radius: 16px;
}

.header-mize-nd__submenu-arrow {
	position: absolute;
	top: -10px;
	display: block;
	width: 20px;
	height: 20px;
	background-color: #fff;
	transform: rotateZ(45deg);
	display: none;
}

/* Sub-submenús column */
.header-mize-nd__submenu-column {
	border-left: 1px solid #dadada;
	/*padding-left: 14px;
	margin-left: 41px;*/
	margin-left: 0;
    padding-left: 0;
    border: none;
}

.header-mize-nd__submenu-column .sub-menu a {
	font-family: 'PF Bague Sans Pro', sans-serif !important;
	font-weight: 400 !important;
	color: #003446 !important;
	display: flex !important;
	align-items: center;
	gap: 10px;
}

.header-mize-nd__submenu-column .sub-menu a img,
.header-mize-nd__submenu-column .sub-menu a .menu-icon {
	width: 16px;
	height: 16px;
	object-fit: contain;
	flex-shrink: 0;
	display: block;
}

.header-mize-nd__submenu-column .sub-menu a:hover {
	font-weight: 700 !important;
	color: #003446 !important;
}

/* Ancho mínimo para diferentes submenús */
.header-mize-nd__nav .sub-menu[data-id="0"] {
	/*display: none;*/
	min-width: 158px;
}

.header-mize-nd__nav .sub-menu[data-id="1"] {
	min-width: 210px;
}

.header-mize-nd__nav .sub-menu[data-id="2"] {
	min-width: 154px;
}

/* Ocultar "All Posts" / "Todas las publicaciones" en desktop (dentro del submenú de Blog) */
/* Funciona para inglés, español y todos los idiomas */
.header-mize-nd__nav .sub-menu[data-id="2"] > li:first-child {
	display: none;
}

.header-mize-nd__nav .sub-menu[data-id="2"] > li:nth-child(2) {
	border-top-right-radius: 14px;
    border-top-left-radius: 14px;
}

.header-mize-nd__nav ul.header-mize-nd__menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	gap: 40px;
	background: transparent !important;
}

.header-mize-nd__nav ul[id^="menu-"] {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	gap: 40px;
	background: transparent !important;
}

.header-mize-nd__menu li {
	margin: 0;
	padding: 0;
	list-style: none;
}

.header-mize-nd__menu a {
	font-family: "PF Bague Sans Pro";
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
	color: #ffffff;
	text-decoration: none;
	transition: color 0.3s ease;
	position: relative;
	display: inline-block;
}

.header-mize-nd__nav .menu-item a,
.header-mize-nd__nav .page_item a {
	font-family: "PF Bague Sans Pro";
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
	color: #ffffff;
	text-decoration: none;
	transition: color 0.3s ease;
	position: relative;
	display: inline-block;
}

/* Línea animada del menú - DESACTIVADA */
.header-mize-nd__menu a::after,
.header-mize-nd__nav .menu-item a::after,
.header-mize-nd__nav .page_item a::after {
	display: none; /* Ocultar línea animada */
}

/* Colores del menú - estado normal */
.header-mize-nd__menu a,
.header-mize-nd__nav .menu-item a,
.header-mize-nd__nav .page_item a {
	color: #ffffff;
}

/* Colores del menú - estado scrolled/light-page */
.header-mize-nd.scrolled .header-mize-nd__menu a,
.header-mize-nd.scrolled .header-mize-nd__nav .menu-item a,
.header-mize-nd.scrolled .header-mize-nd__nav .page_item a,
body.light-page .header-mize-nd__menu a,
body.light-page .header-mize-nd__nav .menu-item a,
body.light-page .header-mize-nd__nav .page_item a {
	color: #003446;
}

/* Desactivar transiciones en estado scrolled para evitar parpadeo con gradiente */
.header-mize-nd.scrolled .header-mize-nd__menu > li > a,
.header-mize-nd.scrolled .header-mize-nd__nav > .menu-item > a,
.header-mize-nd.scrolled .header-mize-nd__nav > .page_item > a,
body.light-page .header-mize-nd__menu > li > a,
body.light-page .header-mize-nd__nav > .menu-item > a,
body.light-page .header-mize-nd__nav > .page_item > a {
	transition: none !important;
}

/* Hover del menú principal (SOLO primer nivel) - estado NORMAL (no scrolled) - color #2AD9C2 */
.header-mize-nd__menu > li > a:hover,
.header-mize-nd__nav > .menu-item > a:hover,
.header-mize-nd__nav > .page_item > a:hover,
.header-mize-nd__menu > li.submenu-active > a,
.header-mize-nd__nav > .menu-item.submenu-active > a {
	color: #2AD9C2 !important;
}

.header-mize-nd--dark .header-mize-nd__menu > li > a:hover,
.header-mize-nd--dark .header-mize-nd__menu > li.submenu-active > a {
	background: linear-gradient(90deg, #2AD9C2 0%, #005572 100%) !important;
	-webkit-background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	background-clip: text !important;
	color: transparent !important;
}

/* Hover del menú principal (SOLO primer nivel) - estado SCROLLED/LIGHT-PAGE - gradiente #005572 a #2AD9C2 */
.header-mize-nd.scrolled .header-mize-nd__menu > li > a:hover,
.header-mize-nd.scrolled .header-mize-nd__nav > .menu-item > a:hover,
.header-mize-nd.scrolled .header-mize-nd__nav > .page_item > a:hover,
.header-mize-nd.scrolled .header-mize-nd__menu > li.submenu-active > a,
.header-mize-nd.scrolled .header-mize-nd__nav > .menu-item.submenu-active > a,
body.light-page .header-mize-nd__menu > li > a:hover,
body.light-page .header-mize-nd__nav > .menu-item > a:hover,
body.light-page .header-mize-nd__nav > .page_item > a:hover,
body.light-page .header-mize-nd__menu > li.submenu-active > a,
body.light-page .header-mize-nd__nav > .menu-item.submenu-active > a {
	background: linear-gradient(90deg, #2AD9C2 0%, #005572 100%) !important;
	-webkit-background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	background-clip: text !important;
	color: transparent !important;
	transition: none !important;
}

.header-mize-nd__actions {
	display: flex;
	align-items: center;
	gap: 24px;
	flex-shrink: 0;
	grid-column: 3;
}


/* Ocultar elementos mobile por defecto en TODAS las resoluciones */
.header-mize-nd__cta-btn--mobile,
.header-mize-nd__language--mobile {
	display: none !important;
}

/* Ocultar elementos desktop por defecto (se mostrarán solo en desktop) */
.header-mize-nd__cta-btn--desktop,
.header-mize-nd__language--desktop {
	display: inline-flex;
}

.header-mize-nd__cta-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 12px 24px;
	background: linear-gradient(45deg, #29D8C1 0%, #29D8C1 100%);
	color: #003446;
	font-family: "PF Bague Sans Pro";
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	line-height: 1;
	border-radius: 30px;
	text-decoration: none;
	transition: background 0.3s ease, transform 0.3s ease;
	white-space: nowrap;
	position: relative;
	overflow: hidden;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-webkit-transform-style: preserve-3d;
	transform-style: preserve-3d;
}

.header-mize-nd__cta-btn:hover,
.header-mize-nd .header-mize-nd__cta-btn:hover {
	background: linear-gradient(45deg, #2AD9C2 0%, #98ECE1 100%) !important;
	color: #003446;
	text-decoration: none;
}

.header-mize-nd__cta-btn:active {
	transform: scale(0.98);
}

.header-mize-nd__language {
	position: relative;
}

.header-mize-nd__language-btn {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 12px;
	background: transparent;
	border: none;
	font-family: "PF Bague Sans Pro";
	font-size: 14px;
	font-weight: 500;
	color: #ffffff;
	cursor: pointer;
	transition: color 0.3s ease;
}

.header-mize-nd.scrolled .header-mize-nd__language-btn,
body.light-page .header-mize-nd__language-btn {
	color: #ffffff;
}

.header-mize-nd__language-btn:hover {
	color: #29D8C1;
}

.header-mize-nd__language-btn svg {
	transition: transform 0.3s ease;
}

.header-mize-nd__language-btn.active svg {
	transform: rotate(180deg);
}

.header-mize-nd__language-dropdown {
	position: absolute;
	top: calc(100% + 8px);
	right: 0;
	background-color: #ffffff;
	border-radius: 8px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
	list-style: none;
	margin: 0;
	padding: 8px 0;
	min-width: 150px;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-10px);
	transition: all 0.3s ease;
}

.header-mize-nd__language-dropdown.active {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.header-mize-nd__language-dropdown li {
	margin: 0;
	padding: 0;
}

.header-mize-nd__language-dropdown a {
	display: block;
	padding: 10px 20px;
	font-family: "PF Bague Sans Pro";
	font-size: 14px;
	font-weight: 500;
	color: #003446;
	text-decoration: none;
	transition: background-color 0.2s ease;
}

.header-mize-nd__language-dropdown a:hover {
	background-color: #f0f0f0;
	color: #29D8C1;
}

.header-mize-nd__mobile-toggle {
	display: none;
	flex-direction: column;
	gap: 5px;
	background: transparent;
	border: none;
	padding: 8px;
	cursor: pointer;
	position: relative;
	z-index: 1002;
}

.header-mize-nd__mobile-toggle span {
	display: block;
	width: 25px;
	height: 2px;
	background-color: #ffffff;
	transition: all 0.3s ease;
}

.header-mize-nd.scrolled .header-mize-nd__mobile-toggle span,
body.light-page .header-mize-nd__mobile-toggle span {
	background-color: #003446;
}

.header-mize-nd__mobile-toggle.active span {
	background-color: #ffffff !important;
}

.header-mize-nd__mobile-toggle.active span:nth-child(1) {
	transform: translateY(7px) rotate(45deg);
}

.header-mize-nd__mobile-toggle.active span:nth-child(2) {
	opacity: 0;
}

.header-mize-nd__mobile-toggle.active span:nth-child(3) {
	transform: translateY(-7px) rotate(-45deg);
}

.container .blog__title.text-center {
    padding-top: 100px!important;
}

html header.scrolled .header-mize-nd__menu li {
	z-index: 9999;
}

@media (max-width: 1440px) {
	.header-mize-nd__container {
		padding: 0 42px;
	}

	.header-mize-nd.scrolled .header-mize-nd__container {
		padding: 0 42px;
	}

	.header-mize-nd__logo svg {
		width: 107px;
	}

	.header-mize-nd__logo-color {
		width: 107px;
	}

	.header-mize-nd__menu {
		gap: 24px;
	}

	.header-mize-nd__menu a {
		font-size: 14px;
	}
}

@media (max-width: 1280px) {
	.header-mize-nd__logo svg {
		width: 120px;
	}

	.header-mize-nd__logo-color {
		width: 120px;
	}

	.header-mize-nd__menu {
		gap: 32px;
	}

	.header-mize-nd__menu a,
	.header-mize-nd__nav .menu-item a,
	.header-mize-nd__nav .page_item a {
		font-size: 14px;
	}

	.header-mize-nd__cta-btn {
		font-size: 13px;
		padding: 11px 22px;
	}
}

@media (max-width: 1024px) {

	.header-mize-nd__menu li {
		text-align: center!important;
	}

	.header-mize-nd {
		padding: 16px 0;
	}

	.header-mize-nd__container {
		padding: 0 40px;
		display: flex !important;
		grid-template-columns: unset !important;
		justify-content: space-between;
	}
	
	/* Ocultar panel de submenús hover en mobile/tablet */
	.header-mize-nd__submenu-hover {
		display: none !important;
	}
	
	/* Estilos de submenús mobile */
	/* Ocultar todos los submenús por defecto */
	.header-mize-nd__nav .menu-item-has-children:not(.menu-open) > .sub-menu {
		display: none !important;
	}
	
	/* Mostrar submenús cuando el padre está abierto */
	.header-mize-nd__nav .menu-item-has-children.menu-open > .sub-menu {
		display: block !important;
	}
	
	/* Ocultar último elemento de submenú de primer nivel (si es necesario) */
	/*.header-mize-nd__nav .header-mize-nd__menu > li.menu-item-has-children > ul.sub-menu > li:last-child {
		display: none !important;
	}*/
	
	/* Ocultar el link del primer item de submenú si no tiene menu-open */
	/*.header-mize-nd__nav .header-mize-nd__menu > li.menu-item-has-children:not(.menu-open) > ul.sub-menu > li:first-child > a {
		display: none !important;
	}
	*/

	/* Ocultar iconos de menú en mobile */
	.header-mize-nd__nav .sub-menu .menu-item a img, 
	.header-mize-nd__nav .sub-menu .menu-item a .menu-icon {
		display: none !important;
	}

	/* Estilos para items de tercer nivel */
	.header-mize-nd__nav .header-mize-nd__menu > li.menu-item-has-children > ul.sub-menu > li > ul.sub-menu > li > a {
		font-size: 20px !important;
		font-weight: 400 !important;
		color: #29D8C1 !important;
	}

	.language-switcher__dropdown li a:hover {
		color: #ffffff !important;
	}
	
	/* Submenús centrados sin afectar al padre */
	.header-mize-nd__nav .sub-menu {
		padding: 0;
		margin-top: 12px; /* Reducido de 16px a 12px para mejor uso del espacio */
		text-align: center;
		list-style: none;
	}
	
	.header-mize-nd__nav .sub-menu li {
		margin: 0;
		padding: 0;
	}
	
	/* Desactivar hover del li en mobile */
	.header-mize-nd__nav .sub-menu li:hover {
		background-color: transparent !important;
	}
	
	/*
	.header-mize-nd__nav .sub-menu li:hover a {
		color: inherit !important;
		font-weight: inherit !important;
	}
	*/
	
	/* Links de primer nivel de submenú (tamaño menor que el padre de 20px) */
	.header-mize-nd__nav .sub-menu a {
		color: #ffffff !important;
		font-size: 17px;
		padding: 6px 0; /* Reducido de 8px a 6px para mejor uso del espacio */
		display: flex;
		justify-content: center;
		text-align: center;
		transition: color 0.3s ease, font-weight 0.3s ease;
	}
	
	/* Nuevo efecto hover en submenús mobile */
	.header-mize-nd__nav .sub-menu a:hover {
		color: #2AD9C2 !important;
		font-weight: 600;
	}
	
	/* Sub-submenús (segundo nivel) */
	.header-mize-nd__nav .sub-menu .sub-menu {
		padding: 0;
		margin-top: 6px; /* Reducido de 8px a 6px para mejor uso del espacio */
	}
	
	/* Links de segundo nivel de submenú (aún más pequeños) */
	.header-mize-nd__nav .sub-menu .sub-menu a {
		font-size: 15px;
	}
	
	/* Nuevo efecto hover en sub-submenús mobile */
	.header-mize-nd__nav .sub-menu .sub-menu a:hover {
		color: #2AD9C2 !important;
		font-weight: 600;
	}
	
	/* Mostrar "All Posts" / "Todas las publicaciones" en mobile */
	/* Funciona para inglés, español y todos los idiomas */
	.header-mize-nd__nav .sub-menu[data-id="2"] > li:first-child {
		display: block !important;
	}

	.header-mize-nd__nav .sub-menu[data-id="2"] > li:nth-child(2) {
		border-top-right-radius: 0;
		border-top-left-radius: 0;
	}

	.header-mize-nd.scrolled .header-mize-nd__container {
		padding: 0 40px;
	}

	.header-mize-nd__mobile-toggle {
		display: flex !important;
	}

	.header-mize-nd__nav {
		position: fixed;
		top: 0;
		right: -100%;
		width: 100%;
		height: 100%;
		min-height: 100%;
		background: linear-gradient(135deg, #003446 0%, #005572 100%);
		padding: 100px 24px 40px;
		box-shadow: -2px 0 10px rgba(0, 0, 0, 0.1);
		transition: right 0.3s ease;
		z-index: 1000;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: flex-start;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch; /* Smooth scrolling en iOS */
	}

	.header-mize-nd__nav.active {
		right: 0;
	}
	
	/* Logo mobile dentro del nav */
	.header-mize-nd__nav-logo {
		display: block;
		position: absolute;
		top: 40px;
		left: 50%;
		transform: translateX(-50%);
		z-index: 1;
	}
	
	.header-mize-nd__nav-logo a {
		display: block;
		line-height: 0;
	}
	
	.header-mize-nd__nav-logo svg {
		width: 120px;
		height: auto;
		display: block;
	}

	body.menu-open {
		overflow: hidden;
	}

	.header-mize-nd__menu,
	.header-mize-nd__nav ul[id^="menu-"] {
		flex-direction: column;
		align-items: center;
		gap: 24px; /* Reducido de 32px a 24px para mejor aprovechamiento del espacio */
		width: 100%;
		margin: 70px 0 0 0; /* Centra verticalmente cuando hay poco contenido */
		padding: 0;
	}

	.header-mize-nd__menu a,
	.header-mize-nd__nav .menu-item a,
	.header-mize-nd__nav .page_item a {
		color: #ffffff !important;
		font-size: 20px;
		text-align: center;
		display: flex;
		justify-content: center;
		transition: color 0.3s ease, font-weight 0.3s ease;
	}
	
	/* Flechas para items con submenú - Position relative para contener la flecha absoluta */
	.header-mize-nd__menu .menu-item-has-children > a,
	.header-mize-nd__nav .sub-menu .menu-item-has-children > a {
		position: relative;
		display: inline-flex !important;
		align-items: center;
		gap: 8px;
	}
	
	/* Flecha después del texto - nivel principal */
	.header-mize-nd__nav .header-mize-nd__menu > li.menu-item-has-children > a::after,
	.header-mize-nd__menu > li.menu-item-has-children > a::after {
		content: '' !important;
		display: inline-block !important;
		width: 20px !important;
		height: 20px !important;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' viewBox='0 -960 960 960' width='24' fill='%23ffffff'%3E%3Cpath d='M480-344 240-584l56-56 184 184 184-184 56 56-240 240Z'/%3E%3C/svg%3E") !important;
		background-size: contain !important;
		background-repeat: no-repeat !important;
		background-position: center !important;
		transition: transform 0.3s ease !important;
		flex-shrink: 0 !important;
		position: absolute;
        right: -24px;
	}
	
	/* Rotar flecha cuando el menú está abierto */
	.header-mize-nd__nav .header-mize-nd__menu > li.menu-item-has-children.menu-open > a::after,
	.header-mize-nd__menu > li.menu-item-has-children.menu-open > a::after {
		transform: rotate(180deg) !important;
	}
	
	/* Flechas para submenús anidados (todos los niveles) */
	.header-mize-nd__nav .sub-menu .menu-item-has-children > a::after {
		content: '';
		display: inline-block;
		width: 18px;
		height: 18px;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' viewBox='0 -960 960 960' width='24' fill='%2329D8C1'%3E%3Cpath d='M480-344 240-584l56-56 184 184 184-184 56 56-240 240Z'/%3E%3C/svg%3E");
		background-size: contain;
		background-repeat: no-repeat;
		background-position: center;
		transition: transform 0.3s ease;
		flex-shrink: 0;
	}
	
	/* Rotar flechas de submenús anidados cuando están abiertos */
	.header-mize-nd__nav .sub-menu .menu-item-has-children.menu-open > a::after {
		transform: rotate(180deg);
	}

	.header-mize-nd__nav .sub-menu > li > a {
		color: #29D8C1 !important;
	}

	header.header-mize-nd.scrolled .header-mize-nd__menu > li > a:hover,
	header.header-mize-nd--dark .header-mize-nd__menu > li > a:hover,
	header.header-mize-nd--dark .header-mize-nd__menu > li.submenu-active > a {
		color: #ffffff !important;
		background: initial!important;
		background-clip: initial!important;
		-webkit-text-fill-color: initial!important;
	}

	/* Ocultar línea turquesa en mobile */
	.header-mize-nd__nav .menu-item a::after,
	.header-mize-nd__nav .page_item a::after {
		display: none !important;
	}
	
	/* Nuevo efecto hover para elementos padre en mobile */
	.header-mize-nd__menu a:hover,
	.header-mize-nd__nav .menu-item a:hover,
	.header-mize-nd__nav .page_item a:hover {
		color: #ffffff !important;
		font-weight: 500;
	}

	.header-mize-nd__actions {
		gap: 16px;
		position: relative;
		z-index: 1002;
	}

	.header-mize-nd__cta-btn--desktop,
	.header-mize-nd__language--desktop {
		display: none !important;
		visibility: hidden !important;
		opacity: 0 !important;
	}

	/* Mostrar elementos mobile cuando el nav está activo (sobrescribe el !important del display: none base) */
	.header-mize-nd__nav.active .header-mize-nd__cta-btn--mobile {
		display: inline-flex !important;
		padding: 12px 32px;
		font-size: 14px;
		margin-top: 16px;
	}

	.header-mize-nd__nav.active .header-mize-nd__language--mobile {
		display: block !important;
		margin-top: 16px;
		margin-bottom: 0; /* Asegura espacio al final cuando hay scroll */
	}
	
	/* Asegurarse de que los elementos mobile NUNCA se muestren fuera del nav activo en este breakpoint */
	.header-mize-nd__actions .header-mize-nd__cta-btn--mobile,
	.header-mize-nd__actions .header-mize-nd__language--mobile {
		display: none !important;
	}

	.header-mize-nd__language--mobile .header-mize-nd__language-btn {
		color: #ffffff;
		justify-content: center;
	}

	.header-mize-nd__language--mobile .header-mize-nd__language-dropdown {
		background-color: rgba(255, 255, 255, 0.1);
	}

	.header-mize-nd__language--mobile .header-mize-nd__language-dropdown a {
		color: #ffffff;
	}

	.header-mize-nd__language--mobile .header-mize-nd__language-dropdown a:hover {
		background-color: rgba(255, 255, 255, 0.1);
	}

	.header-mize-nd--light.scrolled .language-switcher__current,
	.header-mize-nd--dark.scrolled .language-switcher__current {
		color: #ffffff !important;
	}

	html body.blog .blog__columns > .article {
		display: flex;
		flex-flow: column;
		gap: 0;
	}

	html body.blog .blog__headline {
		gap: 40px; 
	}

	html body.blog .article.article--first .article__badge,
	html body.blog .blog__columns > .article .article__badge {
		font-size: 14px;
		line-height: 1;
		padding: 8px 12px 6px 12px;
	}

	html body.single.single-post .wp-block-table .table-responsive table tbody > tr > td {
		word-break: initial;
	}
}

@media (max-width: 768px) {

	/* Single post mobile: header always solid white (no transparent state) */
	body.single.single-post .header-mize-nd {
		background-color: #ffffff !important;
		box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
	}

	body.single.single-post .header-mize-nd .header-mize-nd__logo-white {
		opacity: 0;
	}

	body.single.single-post .header-mize-nd .header-mize-nd__logo-color {
		opacity: 1;
	}

	body.single.single-post .header-mize-nd .header-mize-nd__mobile-toggle span {
		background-color: #003446;
	}

	html body.single.single-post .single-post > .container {
		padding-top: 80px;
	}

	.header-mize-nd__container {
		padding: 0 24px;
	}

	.header-mize-nd.scrolled .header-mize-nd__container {
		padding: 0 24px;
	}

	.container .blog__title.text-center {
		padding-top: 150px !important;
	}

	/* El "no sticky" en mobile lo controla ahora el toggle (ver bloque
	   "SINGLE POST TOC - PIN TOGGLE" al final del archivo). Solo se aplica
	   cuando el usuario lo desactiva manualmente con la clase .is-unpinned. */
	html body.single.single-post .single-post .single-post__toc.is-unpinned {
		position: initial;
	}
}

@media (max-width: 480px) {
	.header-mize-nd__logo svg {
		width: 95px;
	}

	.header-mize-nd__cta-btn {
		padding: 8px 16px;
		font-size: 11px;
	}
}

/* ========================================
   HEADER VARIANTS
   ======================================== */

/* Light Variant (default) - White text for dark backgrounds */
.header-mize-nd--light .header-mize-nd__logo-white {
	opacity: 1;
}

.header-mize-nd--light .header-mize-nd__logo-color {
	opacity: 0;
}

.header-mize-nd--light .header-mize-nd__menu a,
.header-mize-nd--light .header-mize-nd__nav .menu-item a,
.header-mize-nd--light .header-mize-nd__nav .page_item a {
	color: #ffffff;
}

.header-mize-nd--light .header-mize-nd__cta-btn {
	background: linear-gradient(45deg, #29D8C1 0%, #29D8C1 100%);
	color: #003446;
}

.header-mize-nd--light .header-mize-nd__cta-btn:hover {
	background: linear-gradient(45deg, #2AD9C2 0%, #98ECE1 100%);
	color: #003446;
}

/* Dark Variant - Dark text for light backgrounds */
.header-mize-nd--dark .header-mize-nd__logo-white {
	opacity: 0;
}

.header-mize-nd--dark .header-mize-nd__logo-color {
	opacity: 1;
}

.header-mize-nd--dark .header-mize-nd__menu a,
.header-mize-nd--dark .header-mize-nd__nav .menu-item a,
.header-mize-nd--dark .header-mize-nd__nav .page_item a {
	color: #003446;
}

.header-mize-nd--dark .header-mize-nd__cta-btn {
	background: linear-gradient(45deg, #29D8C1 0%, #29D8C1 100%);
	color: #003446;
}

.header-mize-nd--dark .header-mize-nd__cta-btn:hover {
	background: linear-gradient(45deg, #2AD9C2 0%, #98ECE1 100%);
	color: #003446;
}

.header-mize-nd--dark .header-mize-nd__language-btn {
	color: #003446;
}

/* When scrolled, both variants become dark with white background */
.header-mize-nd--light.scrolled,
.header-mize-nd--dark.scrolled {
	background-color: #ffffff;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

.header-mize-nd--light.scrolled .header-mize-nd__logo-white,
.header-mize-nd--dark.scrolled .header-mize-nd__logo-white {
	opacity: 0;
}

.header-mize-nd--light.scrolled .header-mize-nd__logo-color,
.header-mize-nd--dark.scrolled .header-mize-nd__logo-color {
	opacity: 1;
}

.header-mize-nd--light.scrolled .header-mize-nd__menu a,
.header-mize-nd--light.scrolled .header-mize-nd__nav .menu-item a,
.header-mize-nd--light.scrolled .header-mize-nd__nav .page_item a,
.header-mize-nd--dark.scrolled .header-mize-nd__menu a,
.header-mize-nd--dark.scrolled .header-mize-nd__nav .menu-item a,
.header-mize-nd--dark.scrolled .header-mize-nd__nav .page_item a {
	color: #003446;
}

.header-mize-nd--light.scrolled .header-mize-nd__cta-btn:hover,
.header-mize-nd--dark.scrolled .header-mize-nd__cta-btn:hover {
	background: linear-gradient(45deg, #2AD9C2 0%, #98ECE1 100%);
	color: #003446;
}

/* Hamburger icon colors for variants */
.header-mize-nd--light .header-mize-nd__mobile-toggle span {
	background-color: #ffffff;
}

.header-mize-nd--dark .header-mize-nd__mobile-toggle span {
	background-color: #003446;
}

.header-mize-nd--light.scrolled .header-mize-nd__mobile-toggle span,
.header-mize-nd--dark.scrolled .header-mize-nd__mobile-toggle span {
	background-color: #003446;
}

/* ============================================
   Language Switcher (WPML)
   ============================================ */

.language-switcher {
	position: relative;
	padding: 15px;
	white-space: nowrap;
}

.language-switcher::before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 40px;
	transform: translateY(100%);
	background: transparent;
	pointer-events: auto;
}

.language-switcher:hover {
	z-index: 1000;
}

.language-switcher__current {
	color: #2AD9C2;
	font-family: 'PF Bague Sans Pro', sans-serif;
	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	line-height: normal;
	cursor: pointer;
	transition: color 0.2s ease;
	white-space: nowrap;
}

.language-switcher:hover .language-switcher__current {
	color: #2AD9C2;
}

.header-mize-nd.scrolled .language-switcher:hover .language-switcher__current {
	background: linear-gradient(90deg, #2AD9C2 0%, #005572 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
    color: transparent !important;
}

.language-switcher__dropdown {
	display: none;
	position: absolute;
	left: -15px;
	bottom: -8px;
	transform: translateY(100%);
	margin-top: 0;
	padding-top: 0;
	padding-bottom: 0;
	padding-left: 0;
	padding-right: 0;
	background-color: transparent;
	transition: opacity 0.2s ease, visibility 0.2s ease;
	filter: none;
	z-index: 999;
	min-width: 120px;
}

.language-switcher__dropdown ul {
	/*background-color: #fff;*/
	border-radius: 16px;
	filter: drop-shadow(-1px 1px 10px rgba(0, 52, 70, 0.15)) drop-shadow(1px -1px 10px rgba(0, 52, 70, 0.10));
	overflow: hidden;
	list-style: none;
	margin: 0;
	padding: 0;
}

.language-switcher__dropdown:after {
	display: none;
}

.language-switcher__dropdown li {
	background: #ffffff;
	display: block !important;
	margin: 0;
	padding: 0;
	position: relative;
	transition: background-color 0.2s ease;
}

.language-switcher__dropdown li:hover {
	background-color: #003446;
}

.language-switcher__dropdown li:first-child:hover {
	border-top-right-radius: 14px;
	border-top-left-radius: 14px;
}

.language-switcher__dropdown li:last-child:hover {
	border-bottom-right-radius: 14px;
	border-bottom-left-radius: 14px;
}

.language-switcher__dropdown li a {
	color: #003446 !important;
	font-family: 'PF Bague Sans Pro', sans-serif !important;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	text-decoration: none;
	white-space: nowrap;
	display: flex !important;
	align-items: center;
	padding: 16px;
	width: 100%;
	cursor: pointer;
	transition: color 0.2s ease, font-weight 0.2s ease;
}

.language-switcher__dropdown li:hover a {
	color: #ffffff !important;
	font-weight: 400 !important;
}

.language-switcher__dropdown li.wpml-ls-current-language a {
	font-weight: 700;
}

.language-switcher:hover .language-switcher__dropdown {
	display: block;
	z-index: 999;
}

/* Variante desktop del language switcher */
.language-switcher--desktop {
	display: block;
}

/* Variante mobile del language switcher */
.language-switcher--mobile {
	display: none !important;
	padding: 15px 0;
}

/* Mobile styles para language switcher */
@media (max-width: 1024px) {
	.language-switcher--desktop {
		display: none !important;
	}
	
	.language-switcher--mobile {
		display: block !important;
		padding: 0 !important;
		margin-top: 16px;
	}
	
	/* Language switcher - SOLO MOBILE */
	.language-switcher--mobile {
		max-width: 100% !important;
		display: block !important;
		text-align: center !important;
	}
	
	/* Estilos del current como los items de menú - SOLO MOBILE */
	.language-switcher--mobile .language-switcher__current {
		color: #ffffff !important;
		font-size: 20px !important;
		padding: 12px 0 !important;
		cursor: pointer !important;
		background: none !important;
		-webkit-background-clip: initial !important;
		-webkit-text-fill-color: initial !important;
		background-clip: initial !important;
		transition: color 0.3s ease !important;
		text-align: center !important;
        font-weight: 500 !important;
		display: inline-flex !important;
		justify-content: center !important;
		align-items: center !important;
		gap: 8px !important;
	}
	
	/* Flecha inline para language switcher */
	.language-switcher--mobile .language-switcher__current::after {
		content: '' !important;
		display: inline-block !important;
		width: 20px !important;
		height: 20px !important;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' viewBox='0 -960 960 960' width='24' fill='%23ffffff'%3E%3Cpath d='M480-344 240-584l56-56 184 184 184-184 56 56-240 240Z'/%3E%3C/svg%3E") !important;
		background-size: contain !important;
		background-repeat: no-repeat !important;
		background-position: center !important;
		transition: transform 0.3s ease !important;
		flex-shrink: 0 !important;
		position: absolute;
        right: -24px;
	}
	
	/* Rotar flecha cuando está abierto */
	.language-switcher--mobile.menu-open .language-switcher__current::after {
		transform: rotate(180deg) !important;
		position: absolute;
        right: 6px;
	}
	
	.language-switcher--mobile .language-switcher__current:hover {
		color: #ffffff !important;
	}
	
	/* Dropdown como submenú - SOLO MOBILE */
	.language-switcher--mobile .language-switcher__dropdown {
		position: static !important;
		display: none !important;
		left: auto !important;
		transform: none !important;
		top: auto !important;
		padding: 0 !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		border-radius: 0 !important;
		box-shadow: none !important;
		filter: none !important;
		background: transparent !important;
		text-align: center !important;
		width: 100% !important;
	}
	
	/* Mostrar cuando está abierto */
	.language-switcher--mobile.menu-open .language-switcher__dropdown {
		display: block !important;
	}
	
	.language-switcher--mobile .language-switcher__dropdown ul {
		background: transparent !important;
		border-radius: 0 !important;
		filter: none !important;
		box-shadow: none !important;
		padding: 0 !important;
		margin: 0 !important;
	}
	
	.language-switcher--mobile .language-switcher__dropdown:after {
		display: none !important;
	}
	
	.language-switcher--mobile .language-switcher__dropdown li {
		background: transparent !important;
		margin: 0 !important;
		padding: 0 !important;
	}
	
	.language-switcher--mobile .language-switcher__dropdown li:hover {
		background: transparent !important;
	}
	
	.language-switcher--mobile .language-switcher__dropdown li a {
		color: #ffffff !important;
		font-size: 20px !important;
		font-weight: 400 !important;
		padding: 10px 0 !important;
		display: block !important;
		width: 100% !important;
		text-align: center !important;
		transition: color 0.3s ease, font-weight 0.3s ease !important;
		color: #29D8C1 !important;
		font-weight: 500 !important;
	}
	
	.language-switcher--mobile .language-switcher__dropdown li a:hover {
		color: #2AD9C2 !important;
		font-weight: 600 !important;
		background: transparent !important;
	}
	
	/* Ocultar idioma actual en el dropdown */
	.language-switcher--mobile .language-switcher__dropdown li.wpml-ls-current-language {
		display: none !important;
	}

	header.header-mize-nd.scrolled .language-switcher:hover .language-switcher__current,
	body.light-page .language-switcher:hover .language-switcher__current {
		color: #ffffff !important;
		background: none!important;
		-webkit-background-clip: initial!important;
		-webkit-text-fill-color: initial!important;
		background-clip: initial!important;
	}
}

/* Color variants para language switcher */
.header-mize-nd--light .language-switcher__current {
	color: #ffffff;
}

.header-mize-nd--dark .language-switcher__current {
	color: #003446;
}

.header-mize-nd--light.scrolled .language-switcher__current,
.header-mize-nd--dark.scrolled .language-switcher__current {
	color: #003446;
}

.header-mize-nd.scrolled .language-switcher:hover .language-switcher__current,
body.light-page .language-switcher:hover .language-switcher__current {
	background: linear-gradient(90deg, #2AD9C2 0%, #005572 100%) !important;
	-webkit-background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	background-clip: text !important;
	color: transparent !important;
}

.header-mize-nd.scrolled .language-switcher__current,
body.light-page .language-switcher__current {
	transition: none !important;
}

/* ========================================
   SINGLE POST TOC - PIN TOGGLE
   ========================================
   Botón tipo "pin" que permite al usuario activar/desactivar el
   comportamiento sticky del TOC en el detalle del blog.

   - Solo se muestra en mobile (<= 768px). En ese breakpoint el TOC se
     ve como un "select" (.table-of-contents__headline) y el botón se
     posiciona dentro de él, a la izquierda.
   - Estado inicial: .is-pinned    -> sticky on,  fondo sólido oscuro,
     icono blanco.
   - Tras click:    .is-unpinned   -> sticky off, fondo claro con borde,
     icono oscuro. (Mismo SVG en ambos casos.) */

/* Por defecto el wrapper está oculto: en desktop no queremos
   mostrar el botón. */
.single-post__toc-pin-wrap {
	display: none;
}

.single-post__toc-pin {
	width: 32px;
	height: 32px;
	padding: 0;
	margin: 0;
	border: 1px solid transparent;
	border-radius: 50%;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.single-post__toc-pin:active {
	transform: scale(0.95);
}

.single-post__toc-pin:focus-visible {
	outline: 2px solid #2ad9c2;
	outline-offset: 2px;
}

.single-post__toc-pin svg {
	width: 16px;
	height: 16px;
	display: block;
	fill: currentColor;
}

/* Estado "pinned" (sticky on) -> fondo oscuro lleno, icono blanco. */
.single-post__toc.is-pinned .single-post__toc-pin {
	background-color: #003446;
	color: #ffffff;
	border-color: #003446;
}

/* Estado "unpinned" (sticky off) -> fondo claro con borde, icono oscuro. */
.single-post__toc.is-unpinned .single-post__toc-pin {
	background-color: #ffffff;
	color: #003446;
}

/* En mobile reservamos un hueco a la izquierda del headline del TOC
   (el "select") y colocamos el botón en posición absoluta sobre ese
   hueco. Usamos el propio wrapper como ancla relative con altura 0,
   así el botón se ubica respecto al inicio del headline sin romper
   el layout del contenedor padre (.single-post__toc). */
@media (max-width: 768px) {
	.single-post__toc-pin-wrap {
		display: block;
		position: relative;
		height: 0;
	}

	html body.single.single-post .single-post .table-of-contents__headline {
		padding-left: 45px;
	}

	.single-post__toc-pin-wrap .single-post__toc-pin {
		position: absolute;
		left: 6px;
		top: 6px;
	}
}
