/* Navegación pública: jerarquía y estados con la paleta configurada de Valia. */
.valia-navbar {
	--valia-nav-soft: #edf7f5;
	--valia-nav-line: #d7e3df;
}
.valia-nav-group { position: relative; }
.valia-navbar .valia-nav-group > summary {
	cursor: pointer;
	list-style: none;
	display: flex;
	align-items: center;
	gap: .5rem;
	min-height: 48px;
	border: 1px solid transparent;
	border-radius: .65rem;
}
.valia-nav-group > summary::-webkit-details-marker { display: none; }
.valia-nav-group > summary::marker { content: ''; }
.valia-nav-label { min-width: 0; overflow-wrap: anywhere; }
.valia-nav-chevron {
	display: inline-block;
	flex: 0 0 auto;
	margin-inline-start: auto;
	font-size: .7rem;
}
.valia-nav-group[open] > summary .valia-nav-chevron { transform: rotate(180deg); }
.valia-navbar .valia-nav-group > summary:hover,
.valia-navbar .valia-nav-group > summary:focus-visible,
.valia-navbar .valia-nav-group[open] > summary {
	color: var(--valia-green);
	background: var(--valia-nav-soft);
	border-color: var(--valia-nav-line);
}
.valia-navbar .valia-nav-group.is-active > summary {
	color: var(--valia-green);
	font-weight: 700;
	box-shadow: inset 0 -3px var(--valia-green);
}
.valia-nav-options {
	list-style: none;
	margin: 0;
	padding: .5rem;
	background: #fff;
	border: 1px solid var(--valia-nav-line);
	border-top: 3px solid var(--valia-green);
	border-radius: .9rem;
	box-shadow: 0 16px 40px #102a431a, 0 3px 8px #102a4308;
}
.valia-nav-options > li + li { margin-top: .25rem; }
.valia-navbar .valia-nav-options .nav-link {
	display: grid;
	grid-template-columns: 2.25rem minmax(0, 1fr) 1rem;
	align-items: center;
	gap: .75rem;
	width: 100%;
	max-width: none;
	min-height: 56px;
	padding: .65rem .75rem;
	border: 1px solid transparent;
	border-inline-start-width: 3px;
	border-radius: .6rem;
	color: var(--valia-blue);
	font-family: var(--valia-interface-font);
	font-size: .9375rem;
	font-weight: 500;
	line-height: 1.4;
	white-space: normal;
	overflow-wrap: anywhere;
	text-decoration: none;
}
.valia-nav-icon {
	display: grid;
	place-items: center;
	width: 2.25rem;
	height: 2.25rem;
	border: 1px solid var(--valia-nav-line);
	border-radius: .6rem;
	color: var(--valia-green);
	background: var(--valia-nav-soft);
	font-size: 1.1rem;
}
.valia-nav-indicator { color: var(--valia-green); font-size: .8rem; text-align: center; }
.valia-navbar .valia-nav-options .nav-link:hover,
.valia-navbar .valia-nav-options .nav-link:focus-visible {
	color: var(--valia-green);
	background: var(--valia-nav-soft);
	border-color: var(--valia-nav-line);
}
.valia-navbar .valia-nav-options .nav-link[aria-current="page"] {
	color: var(--valia-green);
	background: var(--valia-nav-soft);
	border-inline-start-color: var(--valia-green);
	font-weight: 700;
	text-decoration: none;
}
.valia-navbar .valia-nav-options .nav-link[aria-current="page"] .valia-nav-icon {
	color: #fff;
	background: var(--valia-green);
	border-color: var(--valia-green);
}
.valia-navbar .valia-nav-group > summary:focus-visible,
.valia-navbar .valia-nav-options .nav-link:focus-visible {
	outline: 3px solid var(--valia-green);
	outline-offset: 2px;
}
.valia-section-anchor, [id^="seccion-"] { scroll-margin-top: 130px; }
.valia-section-anchor { display: block; height: 0; }
.valia-navbar .navbar-nav { min-width: 0; }
.valia-navbar .nav-link { overflow-wrap: anywhere; }

@supports (background: color-mix(in srgb, #000 5%, #fff)) {
	.valia-navbar {
		--valia-nav-soft: color-mix(in srgb, var(--valia-green) 7%, #fff);
		--valia-nav-line: color-mix(in srgb, var(--valia-green) 18%, #fff);
	}
}
@media (min-width: 1200px) {
	.valia-nav-options {
		position: absolute;
		top: calc(100% + .55rem);
		right: 0;
		width: min(320px, calc(100vw - 32px));
		max-height: calc(100dvh - 150px);
		overflow-y: auto;
		overscroll-behavior: contain;
		scrollbar-width: thin;
		z-index: 1050;
	}
	.valia-navbar .nav-item:nth-child(-n+2) .valia-nav-options { right: auto; left: 0; }
	.valia-navbar .navbar-nav { flex-wrap: wrap; justify-content: flex-end; }
	.valia-navbar .nav-link { white-space: normal; max-width: 200px; }
	.valia-navbar .navbar-collapse { min-width: 0; }
}
@media (max-width: 1199.98px) {
	.valia-navbar .navbar-collapse {
		max-height: calc(100dvh - 110px);
		overflow-y: auto;
		overscroll-behavior: contain;
	}
	.valia-navbar .valia-nav-group > summary { width: 100%; padding: .75rem; }
	.valia-nav-options {
		margin: .35rem 0 .75rem .5rem;
		padding: .35rem;
		border-top-width: 1px;
		box-shadow: none;
	}
	.valia-navbar .valia-nav-options .nav-link { gap: .65rem; padding: .6rem; }
	.valia-navbar .nav-item { width: 100%; }
}
@media (prefers-reduced-motion: no-preference) {
	.valia-navbar .valia-nav-group > summary,
	.valia-navbar .valia-nav-options .nav-link { transition: background-color .16s ease, border-color .16s ease, color .16s ease; }
	.valia-nav-chevron { transition: transform .16s ease; }
}
@media (prefers-reduced-motion: reduce) {
	.valia-nav-chevron { transition: none; }
	html { scroll-behavior: auto !important; }
}
@media (forced-colors: active) {
	.valia-navbar .valia-nav-options .nav-link[aria-current="page"] { border: 2px solid Highlight; }
	.valia-navbar .valia-nav-group[open] > summary { border-color: Highlight; }
}
