
/* Shula Smart Menu Engine */
:root{
	--nsv-header-height: 82px;
	--nsv-header-bg: rgba(255,255,255,.94);
	--nsv-header-border: rgba(15,23,42,.08);
	--nsv-menu-text: #111827;
	--nsv-menu-muted: #64748b;
	--nsv-menu-shadow: 0 20px 60px rgba(15,23,42,.10);
}
.site-header{
	background:var(--nsv-header-bg);
	border-bottom:1px solid var(--nsv-header-border);
	box-shadow:0 8px 30px rgba(15,23,42,.04);
	transition:transform .25s ease,background .25s ease,box-shadow .25s ease;
}
.site-header.nsv-is-scrolled{
	box-shadow:var(--nsv-menu-shadow);
}
.site-header.nsv-header-hidden{
	transform:translateY(-110%);
}
.nsv-header-inner{
	min-height:var(--nsv-header-height);
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:24px;
}
.nsv-brand{
	display:flex;
	align-items:center;
	gap:12px;
	text-decoration:none;
	color:var(--nsv-menu-text);
	font-weight:800;
}
.nsv-brand img{
	max-height:58px;
	width:auto;
}
.nsv-brand-title{
	display:flex;
	flex-direction:column;
	line-height:1.3;
}
.nsv-brand-title small{
	font-weight:600;
	color:var(--nsv-menu-muted);
}
.nsv-main-navigation{
	display:flex;
	align-items:center;
	gap:18px;
}
.nsv-main-navigation ul{
	list-style:none;
	margin:0;
	padding:0;
}
.nsv-main-navigation .menu{
	display:flex;
	align-items:center;
	gap:6px;
}
.nsv-main-navigation .menu > li{
	position:relative;
}
.nsv-main-navigation a{
	display:flex;
	align-items:center;
	gap:8px;
	padding:12px 14px;
	border-radius:999px;
	color:var(--nsv-menu-text);
	text-decoration:none;
	font-weight:700;
	transition:background .2s ease,color .2s ease,transform .2s ease;
}
.nsv-main-navigation a:hover,
.nsv-main-navigation .current-menu-item > a,
.nsv-main-navigation .current-menu-ancestor > a{
	background:rgba(15,118,110,.10);
	color:var(--nsv-primary,#0f766e);
}
.nsv-main-navigation .sub-menu{
	position:absolute;
	top:calc(100% + 12px);
	right:0;
	min-width:240px;
	padding:12px;
	background:#fff;
	border:1px solid var(--nsv-header-border);
	border-radius:22px;
	box-shadow:var(--nsv-menu-shadow);
	opacity:0;
	visibility:hidden;
	transform:translateY(10px);
	transition:opacity .2s ease,transform .2s ease,visibility .2s ease;
	z-index:1000;
}
.nsv-main-navigation li:hover > .sub-menu,
.nsv-main-navigation li:focus-within > .sub-menu{
	opacity:1;
	visibility:visible;
	transform:translateY(0);
}
.nsv-main-navigation .sub-menu a{
	border-radius:14px;
	justify-content:flex-start;
	padding:11px 12px;
}
.nsv-header-actions{
	display:flex;
	align-items:center;
	gap:10px;
}
.nsv-header-cta{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:12px 18px;
	border-radius:999px;
	background:var(--nsv-button,var(--nsv-primary,#0f766e));
	color:var(--nsv-button-text,#fff);
	text-decoration:none;
	font-weight:800;
	box-shadow:0 12px 30px rgba(15,118,110,.18);
}
.nsv-search-toggle,
.nsv-menu-toggle{
	width:46px;
	height:46px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	border:1px solid var(--nsv-header-border);
	border-radius:16px;
	background:#fff;
	color:var(--nsv-menu-text);
	cursor:pointer;
}
.nsv-menu-toggle{
	display:none;
}
.nsv-notification-bar{
	background:var(--nsv-primary,#0f766e);
	color:#fff;
	font-weight:700;
}
.nsv-notification-inner{
	min-height:38px;
	display:flex;
	align-items:center;
	justify-content:center;
	gap:12px;
	text-align:center;
}
.nsv-notification-inner a{
	color:#fff;
	text-decoration:underline;
}
.nsv-offcanvas-backdrop{
	position:fixed;
	inset:0;
	background:rgba(15,23,42,.45);
	backdrop-filter:blur(6px);
	z-index:9998;
	opacity:0;
	visibility:hidden;
	transition:.25s ease;
}
.nsv-offcanvas{
	position:fixed;
	top:0;
	right:0;
	width:min(88vw,390px);
	height:100dvh;
	background:#fff;
	z-index:9999;
	transform:translateX(105%);
	transition:transform .28s ease;
	box-shadow:-22px 0 60px rgba(15,23,42,.16);
	display:flex;
	flex-direction:column;
}
.nsv-offcanvas-header{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	padding:18px;
	border-bottom:1px solid var(--nsv-header-border);
}
.nsv-offcanvas-close{
	width:42px;
	height:42px;
	border:0;
	border-radius:14px;
	background:#f8fafc;
	cursor:pointer;
	font-size:22px;
}
.nsv-offcanvas-content{
	padding:16px;
	overflow:auto;
}
.nsv-offcanvas-content ul{
	list-style:none;
	margin:0;
	padding:0;
}
.nsv-offcanvas-content a{
	display:flex;
	padding:14px 12px;
	border-radius:16px;
	text-decoration:none;
	color:var(--nsv-menu-text);
	font-weight:800;
}
.nsv-offcanvas-content a:hover,
.nsv-offcanvas-content .current-menu-item > a{
	background:#f1f5f9;
	color:var(--nsv-primary,#0f766e);
}
.nsv-offcanvas-content .sub-menu{
	margin-inline-start:14px;
	border-inline-start:2px solid rgba(15,118,110,.18);
}
body.nsv-menu-open{
	overflow:hidden;
}
body.nsv-menu-open .nsv-offcanvas,
.nsv-offcanvas.is-open{
	transform:translateX(0);
}
body.nsv-menu-open .nsv-offcanvas-backdrop,
.nsv-offcanvas-backdrop.is-open{
	opacity:1;
	visibility:visible;
}
.nsv-search-overlay{
	position:fixed;
	inset:0;
	background:rgba(255,255,255,.96);
	backdrop-filter:blur(14px);
	z-index:10000;
	display:flex;
	align-items:flex-start;
	justify-content:center;
	padding:110px 20px;
	opacity:0;
	visibility:hidden;
	transition:.25s ease;
}
.nsv-search-overlay.is-open{
	opacity:1;
	visibility:visible;
}
.nsv-search-box{
	width:min(760px,100%);
	background:#fff;
	border:1px solid var(--nsv-header-border);
	border-radius:28px;
	padding:24px;
	box-shadow:var(--nsv-menu-shadow);
}
.nsv-search-form{
	display:flex;
	gap:12px;
}
.nsv-search-form input{
	flex:1;
	min-height:58px;
	border:1px solid var(--nsv-header-border);
	border-radius:18px;
	padding:0 16px;
	font-size:18px;
}
.nsv-search-form button{
	border:0;
	border-radius:18px;
	padding:0 22px;
	background:var(--nsv-primary,#0f766e);
	color:#fff;
	font-weight:800;
	cursor:pointer;
}
.nsv-search-close{
	margin-top:14px;
	border:0;
	background:transparent;
	color:var(--nsv-menu-muted);
	cursor:pointer;
	font-weight:700;
}
.nsv-mobile-bottom-nav{
	position:fixed;
	right:16px;
	left:16px;
	bottom:14px;
	z-index:9500;
	display:none;
	grid-template-columns:repeat(4,1fr);
	gap:8px;
	padding:10px;
	background:rgba(255,255,255,.94);
	border:1px solid var(--nsv-header-border);
	border-radius:24px;
	box-shadow:var(--nsv-menu-shadow);
	backdrop-filter:blur(14px);
}
.nsv-mobile-bottom-nav a{
	min-height:56px;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap:3px;
	border-radius:18px;
	color:var(--nsv-primary,#0f766e);
	text-decoration:none;
	font-weight:800;
	font-size:13px;
}
.nsv-mobile-bottom-nav a.is-active,
.nsv-mobile-bottom-nav a:hover{
	background:#f8fafc;
}
.nsv-skip-link{
	position:absolute;
	right:12px;
	top:-80px;
	background:#111827;
	color:#fff;
	padding:10px 14px;
	border-radius:12px;
	z-index:10001;
	transition:top .2s ease;
}
.nsv-skip-link:focus{
	top:12px;
}
@media (min-width: 1025px){
	.nsv-main-navigation .menu > li.menu-item-has-children > a::after{
		content:"⌄";
		font-size:12px;
		opacity:.65;
	}
	.nsv-main-navigation .menu > li.nsv-mega-menu{
		position:static;
	}
	.nsv-main-navigation .menu > li.nsv-mega-menu > .sub-menu{
		right:50%;
		transform:translate(50%,10px);
		width:min(980px,calc(100vw - 48px));
		display:grid;
		grid-template-columns:repeat(3,minmax(0,1fr));
		gap:8px;
	}
	.nsv-main-navigation .menu > li.nsv-mega-menu:hover > .sub-menu,
	.nsv-main-navigation .menu > li.nsv-mega-menu:focus-within > .sub-menu{
		transform:translate(50%,0);
	}
}
@media (max-width: 1024px){
	.nsv-main-navigation,
	.nsv-header-cta{
		display:none;
	}
	.nsv-menu-toggle{
		display:inline-flex;
	}
	.nsv-header-inner{
		min-height:72px;
	}
	.nsv-mobile-bottom-nav{
		display:grid;
	}
	body{
		padding-bottom:90px;
	}
}
@media (prefers-reduced-motion: reduce){
	.site-header,
	.nsv-main-navigation a,
	.nsv-main-navigation .sub-menu,
	.nsv-offcanvas,
	.nsv-offcanvas-backdrop,
	.nsv-search-overlay{
		transition:none!important;
	}
}
