/* Native menu structure; O Noso Centro geometry and visual tokens. */
.onoso-centro-header {
	position: sticky; top: 0; z-index: 999;
	background: var(--onoso-centro-white); color: var(--onoso-centro-primary);
	border-bottom: 1px solid transparent;
	box-shadow: none;
	transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.onoso-centro-header.is-scrolled {
	background: var(--onoso-centro-header-scrolled);
	border-bottom-color: color-mix(in srgb, var(--onoso-centro-primary) 18%, transparent);
	box-shadow: 0 4px 12px color-mix(in srgb, var(--onoso-centro-primary) 10%, transparent);
}
.admin-bar .onoso-centro-header { top: 32px; }
.onoso-centro-header .logi-base-main-header__inner {
	display: flex; align-items: center; justify-content: space-between;
	gap: 24px; min-height: var(--onoso-centro-header-height);
	padding-block: 12px; padding-inline: var(--onoso-centro-header-gutter);
}
.logi-base-brand { min-width: 0; overflow-wrap: anywhere; flex: 0 1 265.656px; }
.logi-base-brand .custom-logo-link { display: block; }
.logi-base-brand:has(.logi-base-site-title) { flex-basis: auto; }
.logi-base-brand img { width: 265.656px; max-width: 100%; height: auto; max-height: 76px; object-fit: contain; object-position: left center; }
.logi-base-site-title { font-size: var(--onoso-centro-size-identity); font-weight: var(--onoso-centro-weight-semibold); }
.logi-base-primary-nav { min-width: 0; }
.logi-base-menu, .logi-base-menu ul { list-style: none; margin: 0; padding: 0; }
.logi-base-menu li { position: relative; }
.logi-base-menu a {
	display: block; color: var(--onoso-centro-primary); overflow-wrap: anywhere;
	font-size: var(--onoso-centro-size-nav); font-weight: var(--onoso-centro-weight-bold);
	line-height: var(--onoso-centro-line-nav); padding: 13px 20px; text-transform: uppercase;
}
.logi-base-menu a:hover, .logi-base-menu a:focus-visible { color: var(--onoso-centro-hover); text-decoration: underline; text-underline-offset: 5px; }
.logi-base-menu .current-menu-item > a, .logi-base-menu .current-menu-ancestor > a { color: var(--onoso-centro-nav-active); }
.logi-base-menu--desktop { display: flex; align-items: center; justify-content: flex-end; }
.logi-base-menu--desktop > li > a { white-space: nowrap; }
.logi-base-menu .menu-item-has-children > a { padding-right: 48px; }
.logi-base-menu__submenu-toggle, .logi-base-menu-toggle {
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--onoso-centro-white); color: var(--onoso-centro-primary);
	border: 0; cursor: pointer; min-width: 44px; min-height: 44px; padding: 8px;
}
.logi-base-menu__submenu-toggle { position: absolute; top: 0; right: 0; }
.logi-base-menu__submenu-toggle[aria-expanded="true"] span { transform: rotate(180deg); }
.logi-base-menu--desktop .sub-menu {
	display: none; position: absolute; top: 100%; right: 0; width: 260px;
	max-width: calc(100vw - 32px); background: var(--onoso-centro-white); box-shadow: var(--onoso-centro-shadow);
}
.logi-base-menu--desktop .sub-menu a { font-size: var(--onoso-centro-size-body); }
.logi-base-menu--desktop .is-submenu-open > .sub-menu { display: block; }
.logi-base-menu--desktop .sub-menu .sub-menu { position: static; width: 100%; padding-left: 12px; box-shadow: none; }
.logi-base-menu-toggle { display: none; flex-shrink: 0; }
.logi-base-menu-toggle svg { fill: currentColor; width: 28px; height: 28px; }
.onoso-centro-menu-close-icon, .logi-base-menu-toggle[aria-expanded="true"] .onoso-centro-menu-open-icon { display: none; }
.logi-base-menu-toggle[aria-expanded="true"] .onoso-centro-menu-close-icon { display: block; }
.logi-base-mobile-panel {
	position: absolute; top: 100%; left: 0; right: 0; width: 100%;
	max-height: calc(100dvh - var(--onoso-centro-header-height)); overflow-y: auto;
	background: var(--onoso-centro-white); box-shadow: var(--onoso-centro-shadow);
}
.logi-base-mobile-panel[hidden] { display: none; }
.admin-bar .logi-base-mobile-panel { max-height: calc(100dvh - var(--onoso-centro-header-height) - 32px); }
.logi-base-menu--mobile a {
	text-align: center; font-size: var(--onoso-centro-size-mobile-nav);
	font-weight: var(--onoso-centro-weight-semibold); line-height: var(--onoso-centro-line-nav);
	min-height: 44px; padding: 10px 20px;
}
.logi-base-menu--mobile .current-menu-item > a, .logi-base-menu--mobile .current-menu-ancestor > a {
	background: var(--onoso-centro-mobile-active-background); color: var(--onoso-centro-primary);
	text-decoration: underline; text-decoration-color: var(--onoso-centro-accent);
	text-decoration-thickness: 3px; text-underline-offset: 5px;
}
.logi-base-menu--mobile .sub-menu { display: none; padding-inline: 12px; }
.logi-base-menu--mobile .is-submenu-open > .sub-menu { display: block; }
@media (max-width: 1024px) {
	:root { --onoso-centro-header-gutter: 15px; }
	.logi-base-primary-nav { display: none; }
	.logi-base-menu-toggle { display: inline-flex; }
	.logi-base-brand { flex-basis: 35%; }
	.onoso-centro-header .logi-base-main-header__inner { padding-block: 7px; }
}
@media (min-width: 768px) and (max-width: 1024px) {
	.logi-base-brand { flex-basis: 293.688px; }
	.logi-base-brand img { width: 293.688px; max-height: none; }
	.onoso-centro-header .logi-base-main-header__inner { padding-block: 3px; }
}
@media (max-width: 782px) {
	.admin-bar .onoso-centro-header { top: 46px; }
	.admin-bar .logi-base-mobile-panel { max-height: calc(100dvh - var(--onoso-centro-header-height) - 46px); }
}
@media (max-width: 767px) {
	:root { --onoso-centro-header-gutter: 5%; }
	.logi-base-brand { flex-basis: 34.7%; }
	.logi-base-brand img { width: 100%; }
	.logi-base-menu--mobile a { padding-block: 8px; }
}
@media (max-width: 600px) { .admin-bar .onoso-centro-header { top: 0; } }
