/* MasterView header — single sticky row, mega panels, mobile drawer. */

.mv-header {
	--mv-bg: rgba(2, 36, 71, 0.94);
	--mv-bg-solid: #022447;
	--mv-line: rgba(255, 255, 255, 0.1);
	--mv-text: #e8eef6;
	--mv-muted: rgba(232, 238, 246, 0.7);
	--mv-accent: #3ea6ff;
	--mv-accent-2: #1d6fe0;
	--mv-hover: rgba(255, 255, 255, 0.08);
	--mv-panel: #ffffff;
	--mv-panel-text: #0b1f3a;
	--mv-panel-muted: #5b6b80;
	--mv-radius: 14px;
	--mv-h: 78px;
	--mv-top: var(--wp-admin--admin-bar--height, 0px);

	position: sticky;
	top: var(--mv-top);
	z-index: 999;
	font-family: inherit;
	color: var(--mv-text);
	background: var(--mv-bg);
	-webkit-backdrop-filter: saturate(160%) blur(14px);
	backdrop-filter: saturate(160%) blur(14px);
	border-bottom: 1px solid var(--mv-line);
	transition: box-shadow 0.25s ease, background-color 0.25s ease;
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
	.mv-header { background: var(--mv-bg-solid); }
}

.mv-header.is-scrolled {
	--mv-h: 64px;
	box-shadow: 0 10px 30px -12px rgba(0, 10, 30, 0.55);
}

@media screen and (max-width: 600px) {
	.admin-bar .mv-header { top: 0; }
}

.mv-header *,
.mv-drawer * { box-sizing: border-box; }

.mv-icon { flex: none; display: block; }

.mv-header__bar {
	display: flex;
	align-items: center;
	gap: 24px;
	max-width: 1360px;
	height: var(--mv-h);
	margin: 0 auto;
	padding: 0 24px;
	transition: height 0.25s ease;
}

/*
 * Pages were laid out under the old Astra header, which floated over the
 * content (194px desktop, ~187px tablet, ~206px mobile) with the content
 * starting at the top of the page. Pull the content up by the same amount
 * so every page keeps its spacing under the new header.
 */
.mv-has-header #content { margin-top: -194px; }
@media (max-width: 921px) { .mv-has-header #content { margin-top: -187px; } }
@media (max-width: 544px) { .mv-has-header #content { margin-top: -206px; } }
/* The home page hides its hero below Elementor's tablet breakpoint and starts at the top. */
@media (min-width: 768px) and (max-width: 1024px) { .mv-has-header.home #content { margin-top: 0; } }
.mv-has-header.mv-no-offset #content { margin-top: 0 !important; }

/* Logo (right side in RTL) */
.mv-header__logo { display: flex; align-items: center; flex: none; line-height: 0; }
.mv-header__logo img {
	width: auto;
	height: 46px;
	max-width: none;
	transition: height 0.25s ease;
}
.mv-header.is-scrolled .mv-header__logo img { height: 40px; }

/* Nav */
.mv-nav { flex: 1 1 auto; display: flex; justify-content: center; min-width: 0; }
.mv-nav__list {
	display: flex;
	align-items: center;
	gap: 2px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.mv-nav__item { position: relative; display: flex; align-items: center; margin: 0; }

.mv-nav__link,
.mv-nav__link:visited {
	display: block;
	padding: 9px 13px;
	border-radius: 999px;
	color: var(--mv-text);
	font-size: 15.5px;
	font-weight: 500;
	line-height: 1.2;
	white-space: nowrap;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}
.mv-nav__item.has-panel .mv-nav__link { padding-left: 30px; }
.mv-nav__item:hover > .mv-nav__link,
.mv-nav__item.is-open > .mv-nav__link,
.mv-nav__link:focus-visible { background: var(--mv-hover); color: #fff; }

.mv-nav__item.is-active > .mv-nav__link { color: #fff; }
.mv-nav__item.is-active > .mv-nav__link::after {
	content: "";
	display: block;
	height: 2px;
	margin: 5px auto -7px;
	width: 18px;
	border-radius: 2px;
	background: var(--mv-accent);
}

.mv-nav__caret {
	position: absolute;
	left: 8px;
	top: 50%;
	display: grid;
	place-items: center;
	width: 20px;
	height: 20px;
	margin: -10px 0 0;
	padding: 0;
	border: 0;
	border-radius: 6px;
	background: none;
	color: var(--mv-muted);
	cursor: pointer;
}
.mv-nav__caret .mv-icon { width: 15px; height: 15px; transition: transform 0.2s ease; }
.mv-nav__item:hover .mv-nav__caret .mv-icon,
.mv-nav__item.is-open .mv-nav__caret .mv-icon { transform: rotate(180deg); }
.mv-nav__caret:hover,
.mv-nav__caret:focus { background: none; color: #fff; }

/* Dropdown / mega panel */
.mv-panel {
	position: absolute;
	top: 100%;
	right: 50%;
	padding-top: 14px;
	opacity: 0;
	visibility: hidden;
	transform: translate(50%, 6px);
	transition: opacity 0.18s ease, transform 0.18s ease, visibility 0s linear 0.18s;
	pointer-events: none;
}
.mv-nav__item.has-panel:hover > .mv-panel,
.mv-nav__item.is-open > .mv-panel {
	opacity: 1;
	visibility: visible;
	transform: translate(50%, 0);
	transition-delay: 0.06s, 0.06s, 0s;
	pointer-events: auto;
}
.mv-panel__inner {
	padding: 10px;
	border-radius: var(--mv-radius);
	background: var(--mv-panel);
	color: var(--mv-panel-text);
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.6) inset, 0 24px 60px -16px rgba(2, 20, 45, 0.45), 0 0 0 1px rgba(2, 36, 71, 0.06);
}
.mv-panel--narrow .mv-panel__inner { width: 300px; }
.mv-panel--wide .mv-panel__inner { width: 620px; }

.mv-panel__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.mv-panel--wide .mv-panel__grid { grid-template-columns: 1fr 1fr; }
.mv-panel__item { margin: 0; }
.mv-panel__item--group { grid-column: 1 / -1; }

.mv-panel__link,
.mv-panel__link:visited {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 10px 12px;
	border-radius: 10px;
	color: var(--mv-panel-text);
	font-size: 14.5px;
	font-weight: 500;
	line-height: 1.35;
	text-decoration: none;
	transition: background-color 0.15s ease, color 0.15s ease;
}
.mv-panel__link .mv-icon {
	width: 15px;
	height: 15px;
	color: var(--mv-accent-2);
	opacity: 0;
	transform: translateX(4px);
	transition: opacity 0.15s ease, transform 0.15s ease;
}
.mv-panel__link:hover,
.mv-panel__link:focus-visible,
.mv-panel__item.is-active > .mv-panel__link { background: #eef5ff; color: var(--mv-accent-2); }
.mv-panel__link:hover .mv-icon,
.mv-panel__link:focus-visible .mv-icon { opacity: 1; transform: none; }

.mv-panel__item--group > .mv-panel__link { font-weight: 700; }
.mv-panel__sub {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 2px 12px 8px;
	padding: 0;
	list-style: none;
}
.mv-panel__sub li { margin: 0; }
.mv-panel__sub a,
.mv-panel__sub a:visited {
	display: block;
	padding: 5px 10px;
	border: 1px solid #dfe7f2;
	border-radius: 999px;
	color: var(--mv-panel-muted);
	font-size: 13px;
	line-height: 1.3;
	text-decoration: none;
	transition: border-color 0.15s ease, color 0.15s ease, background-color 0.15s ease;
}
.mv-panel__sub a:hover,
.mv-panel__sub .is-active a { border-color: var(--mv-accent-2); color: var(--mv-accent-2); background: #f4f8ff; }

.mv-panel__all,
.mv-panel__all:visited {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	margin-top: 8px;
	padding: 10px;
	border-top: 1px solid #edf1f6;
	color: var(--mv-accent-2);
	font-size: 13.5px;
	font-weight: 600;
	text-decoration: none;
}
.mv-panel__all .mv-icon { width: 14px; height: 14px; }
.mv-panel__all:hover { color: var(--mv-panel-text); }

/* Actions (left side in RTL) */
.mv-actions { display: flex; align-items: center; gap: 8px; flex: none; }

.mv-iconbtn {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 1px solid transparent;
	border-radius: 999px;
	background: none;
	color: var(--mv-text);
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}
.mv-iconbtn:hover,
.mv-iconbtn:focus,
.mv-iconbtn[aria-expanded="true"] { background: var(--mv-hover); color: #fff; border-color: var(--mv-line); }

.mv-lang,
.mv-lang:visited {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 36px;
	padding: 0 12px;
	border: 1px solid var(--mv-line);
	border-radius: 999px;
	color: var(--mv-text);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-decoration: none;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}
.mv-lang .mv-icon { width: 16px; height: 16px; opacity: 0.85; }
.mv-lang:hover { background: var(--mv-hover); border-color: rgba(255, 255, 255, 0.22); color: #fff; }

.mv-phone,
.mv-phone:visited {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 40px;
	padding: 0 14px;
	border-radius: 999px;
	color: var(--mv-text);
	font-size: 14.5px;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color 0.2s ease, color 0.2s ease;
}
.mv-phone .mv-icon { width: 17px; height: 17px; color: var(--mv-accent); }
.mv-phone:hover { background: var(--mv-hover); color: #fff; }

.mv-login { position: relative; display: flex; }
.mv-cta,
.mv-cta:visited {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 40px;
	padding: 0 18px;
	border: 0;
	border-radius: 999px;
	background: linear-gradient(135deg, var(--mv-accent) 0%, var(--mv-accent-2) 100%);
	color: #fff;
	font-size: 14.5px;
	font-weight: 600;
	line-height: 1;
	white-space: nowrap;
	text-decoration: none;
	cursor: pointer;
	box-shadow: 0 8px 20px -8px rgba(62, 166, 255, 0.75), inset 0 1px 0 rgba(255, 255, 255, 0.25);
	transition: filter 0.2s ease, transform 0.2s ease;
}
.mv-cta .mv-icon { width: 17px; height: 17px; }
.mv-cta:hover,
.mv-cta:focus { color: #fff; filter: brightness(1.08); }
.mv-login .mv-cta:first-child { border-radius: 0 999px 999px 0; padding-left: 14px; }
.mv-cta__caret {
	width: 38px;
	padding: 0;
	justify-content: center;
	border-radius: 999px 0 0 999px;
	border-right: 1px solid rgba(255, 255, 255, 0.25);
}
.mv-cta__caret .mv-icon { width: 15px; height: 15px; transition: transform 0.2s ease; }
.mv-cta__caret[aria-expanded="true"] .mv-icon { transform: rotate(180deg); }

.mv-login__menu {
	position: absolute;
	top: calc(100% + 10px);
	left: 0;
	min-width: 230px;
	margin: 0;
	padding: 8px;
	border-radius: var(--mv-radius);
	background: var(--mv-panel);
	box-shadow: 0 24px 60px -16px rgba(2, 20, 45, 0.45), 0 0 0 1px rgba(2, 36, 71, 0.06);
	list-style: none;
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity 0.18s ease, transform 0.18s ease, visibility 0s linear 0.18s;
}
.mv-login.is-open .mv-login__menu { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.mv-login__menu li { margin: 0; }
.mv-login__menu a,
.mv-login__menu a:visited {
	display: block;
	padding: 9px 12px;
	border-radius: 9px;
	color: var(--mv-panel-text);
	font-size: 14px;
	text-decoration: none;
}
.mv-login__menu a:hover { background: #eef5ff; color: var(--mv-accent-2); }

.mv-burger { display: none; }

/* Search row */
.mv-search {
	border-top: 1px solid var(--mv-line);
	animation: mv-drop 0.2s ease;
}
.mv-search[hidden] { display: none; }
.mv-search__form {
	display: flex;
	align-items: center;
	gap: 10px;
	max-width: 760px;
	margin: 0 auto;
	padding: 14px 24px;
}
.mv-search__form .mv-icon { color: var(--mv-muted); }
.mv-search__form input[type="search"] {
	flex: 1;
	height: 46px;
	margin: 0;
	padding: 0 16px;
	border: 1px solid var(--mv-line);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.06);
	color: #fff;
	font-size: 16px;
	outline: none;
}
.mv-search__form input[type="search"]::placeholder { color: var(--mv-muted); }
.mv-search__form input[type="search"]:focus { border-color: var(--mv-accent); background: rgba(255, 255, 255, 0.1); }
.mv-search__form button {
	height: 46px;
	padding: 0 22px;
	border: 0;
	border-radius: 999px;
	background: #fff;
	color: var(--mv-bg-solid);
	font-weight: 600;
	cursor: pointer;
}

@keyframes mv-drop {
	from { opacity: 0; transform: translateY(-6px); }
	to { opacity: 1; transform: none; }
}

/* Mid-size desktops: tighten, phone becomes an icon. */
@media (max-width: 1360px) {
	.mv-header__bar { gap: 16px; padding: 0 18px; }
	.mv-nav__link { padding: 9px 10px; font-size: 15px; }
	.mv-nav__item.has-panel .mv-nav__link { padding-left: 27px; }
	.mv-phone__num { display: none; }
	.mv-header__bar .mv-phone { width: 40px; padding: 0; justify-content: center; }
}

/* Tablet / mobile: drawer. */
@media (max-width: 1180px) {
	.mv-header { --mv-h: 68px; }
	.mv-header.is-scrolled { --mv-h: 60px; }
	.mv-nav,
	.mv-header__bar .mv-lang,
	.mv-header__bar .mv-search-toggle { display: none; }
	.mv-header__bar { justify-content: space-between; }
	.mv-burger { display: grid; }
	.mv-header__logo img,
	.mv-header.is-scrolled .mv-header__logo img { height: 40px; }
}
@media (max-width: 560px) {
	.mv-header__bar { padding: 0 12px; gap: 8px; }
	.mv-header__logo img,
	.mv-header.is-scrolled .mv-header__logo img { height: 32px; }
	.mv-login .mv-cta:first-child span { display: none; }
	.mv-login .mv-cta:first-child { padding: 0 12px; border-radius: 999px; }
	.mv-login .mv-cta__caret,
	.mv-login__menu { display: none; }
	.mv-actions { gap: 4px; }
}

/* Drawer */
.mv-drawer {
	position: fixed;
	inset: 0;
	z-index: 100000;
	color: var(--mv-panel-text, #0b1f3a);
}
.mv-drawer[hidden] { display: none; }
.mv-drawer__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(2, 16, 34, 0.55);
	-webkit-backdrop-filter: blur(3px);
	backdrop-filter: blur(3px);
	opacity: 0;
	transition: opacity 0.25s ease;
}
.mv-drawer__panel {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	display: flex;
	flex-direction: column;
	width: min(380px, 88vw);
	overflow-y: auto;
	overscroll-behavior: contain;
	background: #fff;
	box-shadow: -20px 0 50px -20px rgba(0, 0, 0, 0.4);
	transform: translateX(100%);
	transition: transform 0.3s cubic-bezier(0.32, 0.72, 0, 1);
}
.mv-drawer.is-open .mv-drawer__backdrop { opacity: 1; }
.mv-drawer.is-open .mv-drawer__panel { transform: none; }

.mv-drawer__head {
	position: sticky;
	top: 0;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 16px;
	background: #022447;
}
.mv-drawer__head img { width: auto; height: 32px; }
.mv-drawer__head .mv-iconbtn { color: #fff; }
.mv-drawer__head .mv-iconbtn:hover { background: rgba(255, 255, 255, 0.1); }

.mv-drawer__search {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 16px 16px 6px;
	padding: 0 14px;
	border: 1px solid #dfe7f2;
	border-radius: 12px;
	background: #f6f9fc;
	color: #5b6b80;
}
.mv-drawer__search input[type="search"] {
	flex: 1;
	height: 44px;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	color: #0b1f3a;
	font-size: 16px;
	outline: none;
	box-shadow: none;
}

.mv-drawer__list { margin: 0; padding: 0; list-style: none; }
.mv-drawer__list--d0 { padding: 8px 8px 0; }
.mv-drawer__item { margin: 0; }
.mv-drawer__list--d0 > .mv-drawer__item { border-bottom: 1px solid #eef2f7; }
.mv-drawer__row { display: flex; align-items: center; }
.mv-drawer__link,
.mv-drawer__link:visited {
	flex: 1;
	padding: 13px 10px;
	color: #0b1f3a;
	font-size: 16px;
	font-weight: 600;
	text-decoration: none;
}
.mv-drawer__list--d1 .mv-drawer__link { padding: 9px 10px; font-size: 15px; font-weight: 500; color: #33475f; }
.mv-drawer__list--d2 .mv-drawer__link { padding: 7px 10px; font-size: 14px; font-weight: 400; color: #5b6b80; }
.mv-drawer__item.is-active > .mv-drawer__row > .mv-drawer__link { color: #1d6fe0; }
.mv-drawer__toggle {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	border-radius: 10px;
	background: none;
	color: #5b6b80;
	cursor: pointer;
}
.mv-drawer__toggle:hover,
.mv-drawer__toggle:focus { background: #f1f5fa; color: #0b1f3a; }
.mv-drawer__toggle .mv-icon { transition: transform 0.2s ease; }
.mv-drawer__toggle[aria-expanded="true"] .mv-icon { transform: rotate(180deg); }
.mv-drawer__sub { padding: 0 12px 8px 0; border-right: 2px solid #e3ecf7; margin: 0 10px 8px 0; }

.mv-drawer__group { padding: 18px 18px 4px; }
.mv-drawer__label { margin: 0 0 10px; color: #5b6b80; font-size: 13px; font-weight: 600; }
.mv-drawer__chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.mv-drawer__chips li { margin: 0; }
.mv-drawer__chips a,
.mv-drawer__chips a:visited {
	display: block;
	padding: 8px 12px;
	border: 1px solid #dfe7f2;
	border-radius: 999px;
	color: #0b1f3a;
	font-size: 14px;
	text-decoration: none;
}
.mv-drawer__chips li:first-child a { border-color: transparent; background: linear-gradient(135deg, #3ea6ff, #1d6fe0); color: #fff; }

.mv-drawer__foot {
	display: flex;
	gap: 10px;
	margin-top: auto;
	padding: 18px 16px 24px;
}
.mv-drawer__foot .mv-phone,
.mv-drawer__foot .mv-phone:visited {
	flex: 1;
	justify-content: center;
	height: 46px;
	background: #022447;
	color: #fff;
}
.mv-drawer__foot .mv-lang,
.mv-drawer__foot .mv-lang:visited {
	height: 46px;
	border-color: #dfe7f2;
	color: #0b1f3a;
}

body.mv-drawer-open { overflow: hidden; }

@media (prefers-reduced-motion: reduce) {
	.mv-header *,
	.mv-drawer * { transition: none !important; animation: none !important; }
}
