/*
 * AB - Recursos Somos Bosques: menú fijo de sección.
 * Sin JavaScript (o dentro del editor de Elementor) es una lista de enlaces en el flujo de la página.
 * Con JavaScript, el script añade «abrsb-menu--activo»: el menú pasa a posición fija bajo la cabecera
 * del tema, queda oculto mientras se ve la portada y marca la sección visible.
 */
:root {
	--abrsb-tinta: #18231f;
	--abrsb-bosque: #163c28;
	--abrsb-lima: #bcc852;
	--abrsb-papel: #fbfcf8;
	--abrsb-linea: #d6dfd7;
	--abrsb-niebla: #eef3ed;
	--abrsb-menu-alto: 48px;
}

.abrsb-menu {
	background: var(--abrsb-papel);
	border-bottom: 1px solid var(--abrsb-linea);
	color: var(--abrsb-tinta);
}

.abrsb-menu__nav {
	margin: 0 auto;
	max-width: 1180px;
}

.abrsb-menu__lista {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	justify-content: center;
	list-style: none;
	margin: 0;
	padding: 6px 16px;
}

.abrsb-menu__item {
	flex: 0 0 auto;
	margin: 0;
	padding: 0;
}

.abrsb-menu__enlace {
	border-radius: 999px;
	color: var(--abrsb-tinta);
	display: inline-flex;
	align-items: center;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.01em;
	line-height: 1.2;
	min-height: 36px;
	padding: 6px 16px;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
	white-space: nowrap;
}

.abrsb-menu__enlace:hover {
	background: var(--abrsb-niebla);
	color: var(--abrsb-bosque);
}

.abrsb-menu__enlace:focus-visible {
	outline: 3px solid var(--abrsb-bosque);
	outline-offset: 2px;
}

.abrsb-menu__enlace.is-activo,
.abrsb-menu__enlace[aria-current="true"] {
	background: var(--abrsb-bosque);
	color: #ffffff;
}

/* ---------------------------------------------------------------- modo fijo (con JavaScript) */
.abrsb-menu--activo {
	box-shadow: 0 6px 18px rgba(24, 35, 31, 0.1);
	left: 0;
	max-width: 100%;
	opacity: 0;
	overflow: hidden;
	pointer-events: none;
	position: fixed;
	right: 0;
	top: var(--abrsb-menu-arriba, 0px);
	transform: translateY(-8px);
	transition: opacity 0.2s ease, transform 0.2s ease, visibility 0s linear 0.2s;
	visibility: hidden;
	/* Debajo de la cabecera del tema (z-index 10): su sombra cae sobre el menú. */
	z-index: 9;
}

.abrsb-menu--activo.is-visible {
	opacity: 1;
	pointer-events: auto;
	transform: none;
	transition-delay: 0s;
	visibility: visible;
}

.abrsb-menu--activo .abrsb-menu__lista {
	-webkit-overflow-scrolling: touch;
	flex-wrap: nowrap;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scrollbar-width: none;
}

.abrsb-menu--activo .abrsb-menu__lista::-webkit-scrollbar {
	display: none;
}

/* Margen de desplazamiento de las secciones del menú: cabecera fija + menú (lo calcula el script). */
html .abrsb-ancla {
	scroll-margin-top: var(--abrsb-desplazamiento, 130px) !important;
}

@media (max-width: 640px) {
	.abrsb-menu__lista {
		justify-content: flex-start;
		padding: 6px 12px;
	}

	.abrsb-menu__enlace {
		font-size: 14px;
		min-height: 36px;
		padding: 6px 14px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.abrsb-menu--activo,
	.abrsb-menu__enlace {
		transition: none;
	}
}
