/*
 * Professional menu design controls.
 */

.nsv-main-navigation .menu{
	display:flex;
	align-items:center;
	gap:var(--nsv-menu-gap,8px);
}

.nsv-menu-align-center .nsv-main-navigation .menu{justify-content:center}
.nsv-menu-align-right .nsv-main-navigation .menu{justify-content:flex-start}
.nsv-menu-align-left .nsv-main-navigation .menu{justify-content:flex-end}

.nsv-main-navigation .menu > li > a{
	display:flex;
	align-items:center;
	gap:7px;
	padding:var(--nsv-menu-py,10px) var(--nsv-menu-px,15px);
	border-radius:var(--nsv-menu-radius,999px);
	color:var(--nsv-menu-text,#0f172a)!important;
	font-size:var(--nsv-menu-font-size,15px);
	font-weight:800;
	text-decoration:none!important;
	position:relative;
	transition:background .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease;
}

.nsv-menu-motion .nsv-main-navigation .menu > li > a:hover{
	transform:translateY(-1px);
}

.nsv-menu-style-pill .nsv-main-navigation .menu > li > a:hover,
.nsv-menu-style-pill .nsv-main-navigation .menu > li.current-menu-item > a,
.nsv-menu-style-pill .nsv-main-navigation .menu > li.current_page_item > a{
	background:var(--nsv-menu-bg,#ecfdf5);
	color:var(--nsv-menu-hover,#0f766e)!important;
}

.nsv-menu-style-boxed .nsv-main-navigation .menu > li > a{
	background:rgba(255,255,255,.52);
	border:1px solid rgba(15,23,42,.07);
}

.nsv-menu-style-boxed .nsv-main-navigation .menu > li > a:hover{
	border-color:color-mix(in srgb,var(--nsv-menu-hover,#0f766e) 30%,transparent);
	box-shadow:0 10px 24px rgba(15,23,42,.08);
	color:var(--nsv-menu-hover,#0f766e)!important;
}

.nsv-menu-style-underline .nsv-main-navigation .menu > li > a{
	border-radius:0;
	padding-inline:8px;
}

.nsv-menu-style-underline .nsv-main-navigation .menu > li > a::after{
	content:"";
	position:absolute;
	right:8px;
	left:8px;
	bottom:2px;
	height:2px;
	border-radius:999px;
	background:var(--nsv-menu-active,#0f766e);
	transform:scaleX(0);
	transform-origin:center;
	transition:transform .18s ease;
}

.nsv-menu-style-underline .nsv-main-navigation .menu > li > a:hover::after,
.nsv-menu-style-underline .nsv-main-navigation .menu > li.current-menu-item > a::after,
.nsv-menu-style-underline .nsv-main-navigation .menu > li.current_page_item > a::after{
	transform:scaleX(1);
}

.nsv-menu-active-indicator .nsv-main-navigation .menu > li.current-menu-item > a::before,
.nsv-menu-active-indicator .nsv-main-navigation .menu > li.current_page_item > a::before{
	content:"";
	width:6px;
	height:6px;
	border-radius:999px;
	background:var(--nsv-menu-active,#0f766e);
	box-shadow:0 0 0 4px color-mix(in srgb,var(--nsv-menu-active,#0f766e) 13%,transparent);
}

.nsv-main-navigation .menu li{
	position:relative;
}

.nsv-main-navigation .menu ul{
	position:absolute;
	top:calc(100% + 12px);
	right:0;
	width:var(--nsv-dropdown-width,240px);
	display:grid;
	gap:6px;
	margin:0;
	padding:12px;
	list-style:none;
	background:var(--nsv-dropdown-bg,#fff);
	border:1px solid rgba(15,23,42,.08);
	border-radius:20px;
	box-shadow:0 20px 60px rgba(15,23,42,.14);
	opacity:0;
	visibility:hidden;
	transform:translateY(8px);
	transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
	z-index:1005;
}

.nsv-menu-glass .nsv-main-navigation .menu ul{
	background:color-mix(in srgb,var(--nsv-dropdown-bg,#fff) 88%,transparent);
	backdrop-filter:blur(18px);
	-webkit-backdrop-filter:blur(18px);
}

.nsv-main-navigation .menu li:hover > ul,
.nsv-main-navigation .menu li:focus-within > ul{
	opacity:1;
	visibility:visible;
	transform:translateY(0);
}

.nsv-main-navigation .menu ul a{
	display:block;
	padding:11px 12px;
	border-radius:14px;
	color:var(--nsv-menu-text,#0f172a)!important;
	font-weight:800;
	text-decoration:none!important;
}

.nsv-main-navigation .menu ul a:hover{
	background:var(--nsv-menu-bg,#ecfdf5);
	color:var(--nsv-menu-hover,#0f766e)!important;
}

.nsv-offcanvas{
	background:var(--nsv-mobile-menu-bg,#fff);
}

.nsv-menu-glass .nsv-offcanvas{
	background:color-mix(in srgb,var(--nsv-mobile-menu-bg,#fff) 90%,transparent);
	backdrop-filter:blur(22px);
	-webkit-backdrop-filter:blur(22px);
}

.nsv-offcanvas-intro{
	display:grid;
	gap:6px;
	padding:18px 18px 10px;
}

.nsv-offcanvas-intro strong{
	font-size:1.15rem;
	color:#0f172a;
}

.nsv-offcanvas-intro small{
	color:#64748b;
	line-height:1.7;
}

.nsv-offcanvas-search{
	display:grid;
	grid-template-columns:1fr auto;
	gap:8px;
	padding:10px 16px 14px;
}

.nsv-offcanvas-search input{
	width:100%;
	min-height:46px;
	border:1px solid rgba(15,23,42,.10);
	border-radius:15px;
	padding:0 14px;
	background:#fff;
}

.nsv-offcanvas-search button,
.nsv-offcanvas-cta{
	min-height:46px;
	border:0;
	border-radius:15px;
	padding:0 16px;
	background:var(--nsv-menu-hover,#0f766e);
	color:#fff!important;
	font-weight:900;
	text-decoration:none!important;
	display:flex;
	align-items:center;
	justify-content:center;
}

.nsv-offcanvas-cta{
	margin:14px 16px 18px;
}

.nsv-offcanvas-content .menu a,
.nsv-offcanvas .menu a{
	border-radius:16px;
	transition:background .18s ease,color .18s ease,transform .18s ease;
}

.nsv-menu-motion .nsv-offcanvas .menu a:active{
	transform:scale(.98);
}

@media (max-width: 920px){
	.nsv-main-navigation{display:none!important}
	.nsv-menu_mobile_fullscreen .nsv-offcanvas,
	.nsv-offcanvas{width:min(var(--nsv-mobile-menu-width,88vw),420px)}
}

@media (max-width: 768px){
	.nsv-menu-bottom-safe .nsv-mobile-bottom-nav{
		bottom:calc(10px + env(safe-area-inset-bottom,0px));
	}
	body.nsv-menu-bottom-safe{
		padding-bottom:calc(var(--nsv-mobile-bottom-height,68px) + 24px + env(safe-area-inset-bottom,0px));
	}
}
