/**
 * Primary Reusable Exact Reference Header Navigation (navigation.css)
 * Fully dynamic click-based multi-level dropdown support, vertically stacked contact, and responsive controls.
 */

.site-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 10000;
	padding: 16px 48px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	transition: all 400ms ease;
	background: linear-gradient(to bottom, rgba(43, 24, 16, 0.7) 0%, rgba(43, 24, 16, 0) 100%);
	border-bottom: 1px solid transparent;
}

.site-header.scrolled {
	background: rgba(245, 237, 226, 0.96);
	backdrop-filter: blur(20px);
	padding: 10px 48px;
	border-bottom: 1px solid var(--sand);
	box-shadow: 0 8px 32px -16px rgba(139, 58, 26, 0.15);
}

.site-header .nav-brand {
	display: flex;
	align-items: center;
	gap: 14px;
	text-decoration: none;
}

.site-header .site-logo-img,
.site-header .nav-brand svg {
	width: 120px;
	height: 120px;
	object-fit: contain;
	filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.6));
	transition: filter 350ms, transform 240ms;
}

.site-header.scrolled .site-logo-img,
.site-header.scrolled .nav-brand svg {
	filter: none;
}

.site-header .nav-brand:hover .site-logo-img,
.site-header .nav-brand:hover svg {
	transform: scale(1.04);
}

.site-header .nav-brand-text {
	display: flex;
	flex-direction: column;
	line-height: 1;
	text-align: left;
}

.site-header .nav-brand-text .top {
	font-family: var(--font-display);
	font-size: 1.2rem;
	color: var(--cream);
	letter-spacing: 0.12em;
	transition: color 350ms;
}

.site-header .nav-brand-text .sub {
	font-family: var(--font-label);
	font-size: 0.6rem;
	letter-spacing: 0.35em;
	color: var(--ochre);
	margin-top: 3px;
	transition: color 350ms;
	text-transform: uppercase;
}

.site-header.scrolled .nav-brand-text .top {
	color: var(--ink);
}

.site-header.scrolled .nav-brand-text .sub {
	color: var(--terra-deep);
}

.site-header .nav-links-wrapper {
	display: flex;
	align-items: center;
}

.site-header .nav-links {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	gap: 38px;
	align-items: center;
}

.site-header .nav-links li {
	position: relative;
}

.site-header .nav-links li a {
	color: var(--cream);
	text-decoration: none;
	font-family: var(--font-label);
	font-size: 0.82rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-weight: 500;
	transition: color 300ms;
	display: inline-flex;
	align-items: center;
}

.site-header.scrolled .nav-links li a {
	color: var(--ink);
}

.site-header .nav-links li a:hover,
.site-header .nav-links li.current-menu-item > a,
.site-header .nav-links li.current-menu-ancestor > a {
	color: var(--terra-glow);
}

/* --- Dropdown Sub-menu Styles --- */
.site-header .nav-links .dropdown-menu {
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%) translateY(10px);
	background: rgba(43, 24, 16, 0.98); /* Elegant dark ink translucent background */
	border: 1px solid rgba(245, 237, 226, 0.14);
	padding: 14px 18px;
	list-style: none;
	min-width: 250px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
	z-index: 10005;
	border-radius: 4px;
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.5);
	margin: 0;
}

.site-header.scrolled .nav-links .dropdown-menu {
	background: rgba(245, 237, 226, 0.98); /* Scrolled light background */
	border: 1px solid var(--sand);
	box-shadow: 0 8px 32px -16px rgba(139, 58, 26, 0.18);
}

/* Reveal Sub-menus when JS adds .open class on click */
.site-header .nav-links .menu-item-has-children.open > .dropdown-menu {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) translateY(0);
}

/* Recursive Level-2 Sub-dropdown menus (e.g. Kathmandu Valley nested under Mustang) */
.site-header .nav-links .sub-dropdown-menu {
	position: absolute;
	top: 0;
	left: 100%;
	transform: translateX(10px);
	margin-top: -6px;
	background: rgba(43, 24, 16, 0.98);
	border: 1px solid rgba(245, 237, 226, 0.14);
	padding: 14px 18px;
	list-style: none;
	min-width: 250px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
	z-index: 10005;
	border-radius: 4px;
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.5);
	margin: 0;
}

.site-header.scrolled .nav-links .sub-dropdown-menu {
	background: rgba(245, 237, 226, 0.98);
	border: 1px solid var(--sand);
}

.site-header .nav-links .menu-item-has-children.open > .sub-dropdown-menu {
	opacity: 1;
	visibility: visible;
	transform: translateX(0);
}

.site-header .nav-links .dropdown-menu li {
	margin: 0;
	padding: 0;
	width: 100%;
}

.site-header .nav-links .dropdown-menu li a {
	display: block;
	color: rgba(245, 237, 226, 0.85) !important;
	font-size: 0.76rem !important;
	font-family: var(--font-label);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	padding: 8px 12px;
	transition: all 0.2s ease;
	border-radius: 2px;
	font-weight: 500;
	text-align: left;
	width: 100%;
	box-sizing: border-box;
}

.site-header.scrolled .nav-links .dropdown-menu li a {
	color: var(--ink) !important;
}

.site-header .nav-links .dropdown-menu li a::after {
	display: none !important; /* Hide sub-dropdown arrow overrides */
}

.site-header .nav-links .dropdown-menu li a:hover {
	color: var(--cream) !important;
	background: var(--terra);
	padding-left: 16px;
}

/* --- Dropdown Chevron Style --- */
.site-header .dropdown-chevron {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	margin-left: 6px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.1);
	transition: transform 0.3s ease, background 0.3s ease;
	vertical-align: middle;
	cursor: pointer;
}

.site-header.scrolled .dropdown-chevron {
	background: rgba(0, 0, 0, 0.05);
}

.site-header .dropdown-chevron:hover {
	background: var(--terra);
	color: var(--cream);
}

.site-header .dropdown-chevron svg {
	width: 10px;
	height: 10px;
	transition: transform 0.3s ease;
	display: block;
}

/* Rotate Chevron when menu is toggled open */
.site-header .menu-item-has-children.open > a .dropdown-chevron svg {
	transform: rotate(180deg);
}

/* --- Header Actions Bar (Vertically Stacked Phone + CTA Button) --- */
.site-header .nav-actions {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 8px; /* Stack phone vertically on top of CTA button */
}

.site-header .nav-phone {
	display: inline-flex;
	align-items: center;
}

.site-header .phone-link {
	font-family: var(--font-label);
	font-size: 0.72rem; /* Small, elegant above the button */
	letter-spacing: 0.12em;
	color: var(--cream);
	text-decoration: none;
	font-weight: 500;
	transition: color 0.3s ease;
	display: flex;
	align-items: center;
	gap: 6px;
	line-height: 1;
}

.site-header.scrolled .phone-link {
	color: var(--ink);
}

.site-header .phone-link:hover {
	color: var(--terra-glow);
}

.site-header .phone-icon {
	color: var(--ochre) !important;
	font-size: 0.85rem;
	transition: transform 0.3s ease;
	display: inline-block;
}

.site-header .phone-link:hover .phone-icon {
	transform: scale(1.1) rotate(-15deg);
}

.site-header .nav-cta {
	padding: 9px 20px; /* Highly polished size to sit cleanly beneath the phone */
	background: var(--terra);
	color: var(--cream) !important;
	font-family: var(--font-label);
	font-size: 0.78rem;
	text-decoration: none;
	border-radius: 2px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	transition: all 300ms;
	border: 1px solid var(--terra);
	display: inline-flex;
	align-items: center;
}

.site-header .nav-cta:hover {
	background: var(--terra-deep);
	border-color: var(--terra-deep);
	transform: translateY(-1px);
}

.site-header.scrolled .nav-cta {
	color: var(--cream) !important;
}

/* Mobile Toggle Hamburger Button */
.site-header .mobile-menu-toggle {
	display: none;
	background: transparent;
	border: none;
	padding: 4px;
	cursor: pointer;
	z-index: 10006;
}

.site-header .hamburger-box {
	width: 24px;
	height: 18px;
	display: inline-block;
	position: relative;
}

.site-header .hamburger-inner,
.site-header .hamburger-inner::before,
.site-header .hamburger-inner::after {
	width: 24px;
	height: 2px;
	background-color: var(--ivory);
	position: absolute;
	border-radius: 2px;
	transition: transform 200ms ease, opacity 200ms ease, background-color 200ms ease;
}

.site-header.scrolled .hamburger-inner,
.site-header.scrolled .hamburger-inner::before,
.site-header.scrolled .hamburger-inner::after {
	background-color: var(--ink);
}

.site-header .hamburger-inner { top: 8px; }
.site-header .hamburger-inner::before { content: ''; top: -8px; }
.site-header .hamburger-inner::after { content: ''; bottom: -8px; }

.site-header.mobile-menu-open .hamburger-inner { background-color: transparent !important; }
.site-header.mobile-menu-open .hamburger-inner::before { top: 0; transform: rotate(45deg); background-color: var(--ink); }
.site-header.mobile-menu-open .hamburger-inner::after { bottom: 0; transform: rotate(-45deg); background-color: var(--ink); }

/* Hide mobile-drawer elements by default on desktop */
.site-header .mobile-drawer-actions {
	display: none !important;
}

@media screen and (max-width: 960px) {
	.site-header {
		padding: 14px 24px;
	}

	.site-header.scrolled {
		padding: 10px 24px;
	}

	.site-header .site-logo-img,
	.site-header .nav-brand svg {
		width: 54px !important;
		height: 54px !important;
	}

	.site-header .nav-actions {
		flex-direction: row !important; /* Horizontal alignment for mobile head actions row */
		align-items: center !important;
		gap: 16px !important;
	}

	.site-header .nav-links-wrapper {
		position: fixed;
		top: 0;
		right: 0;
		width: 100%;
		max-width: 360px;
		height: 100vh;
		background-color: var(--ivory);
		box-shadow: 0 10px 40px rgba(0,0,0,0.3);
		padding: 100px 32px 64px 32px;
		flex-direction: column;
		align-items: flex-start;
		overflow-y: auto;
		transform: translateX(100%);
		transition: transform 400ms ease;
		z-index: 10004;
		box-sizing: border-box;
	}

	.site-header.mobile-menu-open .nav-links-wrapper {
		transform: translateX(0);
	}

	.site-header .nav-links {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
		width: 100%;
	}

	.site-header .nav-links li {
		width: 100%;
	}

	.site-header .nav-links li a {
		font-size: 1.1rem;
		color: var(--ink) !important;
		padding: 8px 0;
		width: 100%;
		box-sizing: border-box;
	}

	/* Mobile sub-menu toggle and accordion */
	.site-header .nav-links .menu-item-has-children > a::after {
		display: none !important; /* Hide caret on raw link, use custom chevron toggle block below */
	}

	.site-header .nav-links .dropdown-menu {
		position: static !important;
		transform: none !important;
		left: auto !important;
		right: auto !important;
		background: transparent !important;
		box-shadow: none !important;
		border: none !important;
		padding: 4px 0 4px 20px !important; /* Perfect left indent, never shifted off-screen! */
		display: none; /* Controlled by toggle JS in mobile accordion */
		flex-direction: column;
		gap: 8px;
		min-width: 100% !important;
		width: 100% !important;
		margin: 0 !important;
		box-sizing: border-box;
		opacity: 1 !important;
		visibility: visible !important;
	}

	.site-header .nav-links .sub-dropdown-menu {
		position: static !important;
		transform: none !important;
		left: auto !important;
		right: auto !important;
		background: transparent !important;
		box-shadow: none !important;
		border: none !important;
		padding: 4px 0 4px 20px !important; /* Indent second-level sub-items further! */
		display: none;
		flex-direction: column;
		gap: 8px;
		min-width: 100% !important;
		width: 100% !important;
		margin: 0 !important;
		box-sizing: border-box;
		opacity: 1 !important;
		visibility: visible !important;
	}

	.site-header .nav-links .menu-item-has-children.open > .dropdown-menu {
		display: flex !important;
	}

	.site-header .nav-links .menu-item-has-children.open > .sub-dropdown-menu {
		display: flex !important;
	}

	.site-header .nav-links .dropdown-menu li a {
		color: var(--ink-soft) !important;
		font-size: 0.88rem !important;
		padding: 6px 0;
		width: 100%;
	}

	.site-header .nav-links .dropdown-menu li a:hover {
		background: transparent !important;
		color: var(--terra-glow) !important;
		padding-left: 4px;
	}

	.site-header .dropdown-chevron {
		margin-left: auto;
	}

	.site-header .nav-phone {
		display: none !important; /* Hide phone in mobile top-bar globally */
	}

	.site-header .nav-actions .nav-cta-wrapper,
	.site-header .nav-actions .nav-phone {
		display: none !important; /* Hide both phone and CTA button from mobile top bar to prevent squishing! */
	}

	.site-header .mobile-menu-toggle {
		display: inline-block;
		margin-left: auto;
	}

	@media screen and (max-width: 430px) {
		.site-header .nav-brand-text .sub {
			display: none !important; /* Hide the subtitle Kathmandu text on tiny screens to fit easily! */
		}
		.site-header .nav-brand-text .top {
			font-size: 1.05rem !important; /* Slightly smaller title on tiny phones! */
		}
	}
	
	/* Render contact actions beautifully at the bottom of the mobile slide-out drawer! */
	.site-header .mobile-drawer-actions {
		display: flex !important;
		flex-direction: column;
		gap: 16px;
		width: 100%;
		box-sizing: border-box;
		margin-top: 32px;
		padding-top: 24px;
		border-top: 1px solid var(--line);
	}
	.site-header .mobile-drawer-actions .phone-link {
		color: var(--ink) !important;
		font-family: var(--font-label);
		font-size: 0.92rem;
		letter-spacing: 0.15em;
		text-transform: uppercase;
		text-decoration: none;
		display: flex;
		align-items: center;
		gap: 8px;
		font-weight: 500;
	}
	.site-header .mobile-drawer-actions .nav-cta {
		width: 100%;
		justify-content: center;
		text-align: center;
	}
}

@media screen and (min-width: 1920px) {
	.site-header {
		padding: 24px 64px !important;
	}
	.site-header.scrolled {
		padding: 16px 64px !important;
	}
	.site-header .nav-links li a {
		font-size: 1.02rem !important; /* Slightly larger menu links on 1920px wide screen! */
	}
	.site-header .nav-cta {
		font-size: 0.9rem !important;
		padding: 11px 24px !important;
	}
	.site-header .phone-link {
		font-size: 0.82rem !important;
	}
}

/* --- Mobile Menu Overlay Background --- */
.site-header .mobile-menu-overlay {
	position: fixed;
	inset: 0;
	background: rgba(43, 24, 16, 0.5);
	backdrop-filter: blur(4px);
	z-index: 10003;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s ease;
}
.site-header.mobile-menu-open .mobile-menu-overlay {
	opacity: 1;
	pointer-events: auto;
}
