/* ESTB Menú de Secciones v1.1.0 */
.estb-snav {
	--estb-snav-z: 90;
	--estb-snav-rot: 45deg;
	--estb-snav-fade: 36px;
	position: relative;
	z-index: var(--estb-snav-z);
	font-family: inherit;
}

.estb-snav__bar {
	position: relative;
	background-color: rgba(250, 250, 248, 0.94);
	-webkit-backdrop-filter: saturate(1.4) blur(12px);
	backdrop-filter: saturate(1.4) blur(12px);
	border-bottom: 1px solid #E8E9E4;
	transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1), opacity 0.25s ease, box-shadow 0.25s ease;
}

.estb-snav.is-fixed .estb-snav__bar {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	box-shadow: 0 10px 30px -18px rgba(6, 20, 34, 0.35);
}

.estb-snav.is-hidden .estb-snav__bar {
	transform: translateY(-115%);
	opacity: 0;
	pointer-events: none;
	visibility: hidden;
	transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1), opacity 0.25s ease, visibility 0s linear 0.35s;
}

.estb-snav__inner {
	display: flex;
	align-items: center;
	gap: 32px;
	max-width: 1320px;
	margin: 0 auto;
	padding: 12px 20px;
	box-sizing: border-box;
}

/* Relleno por defecto cuando está fijo (gana al relleno normal configurado en Elementor;
   el control "Relleno cuando está fijo" lo sobrescribe). */
html body .estb-snav.is-fixed > .estb-snav__bar > .estb-snav__inner {
	padding: 12px 20px;
}

/* ---- Enlaces ---- */
.estb-snav__scroller {
	position: relative;
	flex: 1 1 auto;
	min-width: 0;
	overflow-x: auto;
	overflow-y: hidden;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior-x: contain;
}
.estb-snav__scroller::-webkit-scrollbar { display: none; }

.estb-snav__scroller.can-right {
	-webkit-mask-image: linear-gradient(to right, #000 calc(100% - var(--estb-snav-fade)), transparent);
	mask-image: linear-gradient(to right, #000 calc(100% - var(--estb-snav-fade)), transparent);
}
.estb-snav__scroller.can-left {
	-webkit-mask-image: linear-gradient(to right, transparent, #000 var(--estb-snav-fade));
	mask-image: linear-gradient(to right, transparent, #000 var(--estb-snav-fade));
}
.estb-snav__scroller.can-left.can-right {
	-webkit-mask-image: linear-gradient(to right, transparent, #000 var(--estb-snav-fade), #000 calc(100% - var(--estb-snav-fade)), transparent);
	mask-image: linear-gradient(to right, transparent, #000 var(--estb-snav-fade), #000 calc(100% - var(--estb-snav-fade)), transparent);
}

.estb-snav__list {
	position: relative;
	display: flex;
	align-items: stretch;
	column-gap: 32px;
	width: max-content;
	margin: 0;
	padding: 0;
	list-style: none;
}

.estb-snav__item {
	flex: 0 0 auto;
	margin: 0;
	padding: 0;
	list-style: none;
}
.estb-snav__item::before,
.estb-snav__item::marker { content: none; }

.estb-snav .estb-snav__link {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 2px;
	height: 100%;
	padding: 10px 0;
	color: #7B8C93;
	text-decoration: none;
	white-space: nowrap;
	box-sizing: border-box;
	transition: color 0.2s ease;
}
.estb-snav .estb-snav__link:hover,
.estb-snav .estb-snav__link:focus-visible,
.estb-snav .estb-snav__link.is-active {
	color: #123A4A;
	text-decoration: none;
}
.estb-snav .estb-snav__link:focus-visible {
	outline: 2px solid #E1464E;
	outline-offset: 2px;
	border-radius: 4px;
}

.estb-snav__label {
	font-size: 17px;
	line-height: 1.15;
	font-weight: 500;
}
.estb-snav__sub {
	font-size: 11px;
	line-height: 1.2;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	opacity: 0.7;
}
.estb-snav--nosub .estb-snav__sub { display: none; }

/* ---- Indicador ---- */
.estb-snav__indicator {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0;
	height: 2px;
	margin: 0;
	padding: 0;
	list-style: none;
	background-color: #E1464E;
	border-radius: 2px;
	opacity: 0;
	pointer-events: none;
	transform: translateX(0);
}
.estb-snav.is-ready .estb-snav__indicator {
	transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1), width 0.4s cubic-bezier(0.2, 0.8, 0.2, 1), opacity 0.2s ease;
}

.estb-snav--ind-pill .estb-snav__list { column-gap: 4px; }
.estb-snav--ind-pill .estb-snav__link { padding: 8px 18px; }
.estb-snav--ind-pill .estb-snav__indicator {
	top: 0;
	bottom: 0;
	height: auto;
	z-index: 0;
	background-color: #123A4A;
	border-radius: 999px;
}
.estb-snav--ind-pill .estb-snav__link.is-active { color: #FFFFFF; }
.estb-snav--ind-none .estb-snav__indicator { display: none; }

/* ---- Botón ---- */
.estb-snav .estb-snav__cta {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	gap: 16px;
	padding: 9px 14px 9px 22px;
	border-radius: 999px;
	background-color: #E1464E;
	color: #1E3A4A;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color 0.25s ease, color 0.25s ease;
}
.estb-snav .estb-snav__cta:hover,
.estb-snav .estb-snav__cta:focus-visible {
	background-color: #1E3A4A;
	color: #FFFFFF;
	text-decoration: none;
}
.estb-snav .estb-snav__cta:focus-visible { outline: 2px solid #1E3A4A; outline-offset: 3px; }

.estb-snav__cta-texts {
	display: flex;
	flex-direction: column;
	gap: 1px;
}
.estb-snav__cta-title { font-size: 16px; line-height: 1.15; font-weight: 500; }
.estb-snav__cta-sub { font-size: 12px; line-height: 1.15; opacity: 0.85; }

.estb-snav__cta-icon {
	display: inline-flex;
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
	transition: transform 0.3s ease;
}
.estb-snav__cta-icon svg {
	width: 100%;
	height: 100%;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.6;
}
.estb-snav__cta:hover .estb-snav__cta-icon,
.estb-snav__cta:focus-visible .estb-snav__cta-icon {
	transform: rotate(var(--estb-snav-rot));
}

/* ---- Tablet ---- */
@media (max-width: 1024px) {
	.estb-snav__inner { gap: 20px; }
	.estb-snav__list { column-gap: 24px; }
	.estb-snav__label { font-size: 16px; }
}

/* ---- Móvil ---- */
@media (max-width: 767px) {
	.estb-snav { --estb-snav-fade: 28px; }
	.estb-snav__inner { gap: 12px; padding: 8px 16px; }
	html body .estb-snav.is-fixed > .estb-snav__bar > .estb-snav__inner { padding: 8px 16px; }
	.estb-snav__list { column-gap: 22px; }
	.estb-snav .estb-snav__link { padding: 8px 0; }
	.estb-snav--ind-pill .estb-snav__link { padding: 7px 14px; }
	.estb-snav__label { font-size: 15px; }
	.estb-snav--nosub-m .estb-snav__sub { display: none; }

	.estb-snav--cta-m-compact .estb-snav__cta-sub { display: none; }
	.estb-snav--cta-m-compact .estb-snav__cta { gap: 8px; padding: 8px 10px 8px 14px; }
	.estb-snav--cta-m-compact .estb-snav__cta-title { font-size: 14px; }
	.estb-snav--cta-m-compact .estb-snav__cta-icon { width: 16px; height: 16px; }

	.estb-snav--cta-m-icon .estb-snav__cta-texts { display: none; }
	.estb-snav--cta-m-icon .estb-snav__cta { padding: 10px; gap: 0; }

	.estb-snav--cta-m-hide .estb-snav__cta { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	.estb-snav__bar,
	.estb-snav.is-ready .estb-snav__indicator,
	.estb-snav__cta,
	.estb-snav__cta-icon { transition: none !important; }
}
