/*
 * Samay Adventures isolated premium header.
 * Desktop deliberately stops restyling Travelicious' internal .port/.menuPort
 * layout. A dedicated Samay header is rendered above the original theme port,
 * so theme floats, widths and pseudo-elements cannot split or overlap the menu.
 */

/* ---------- Announcement marquee ---------- */
.samay-top-marquee {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	width: 100% !important;
	height: 27px !important;
	min-height: 27px !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	background: #03131c !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(255,255,255,.09) !important;
	color: rgba(255,255,255,.96) !important;
	z-index: 50 !important;
}
.samay-top-marquee__viewport {
	width: 100% !important;
	overflow: hidden !important;
	white-space: nowrap !important;
}
.samay-top-marquee__track {
	display: inline-flex !important;
	align-items: center !important;
	min-width: max-content !important;
	animation: samay-marquee-scroll 40s linear infinite !important;
	will-change: transform !important;
}
.samay-top-marquee__item {
	display: inline-flex !important;
	align-items: center !important;
	padding: 0 22px !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: .08px !important;
	line-height: 27px !important;
	white-space: nowrap !important;
}
.samay-top-marquee__item::before {
	content: '•' !important;
	margin-right: 18px !important;
	color: rgba(255,255,255,.55) !important;
}
.samay-top-marquee:hover .samay-top-marquee__track { animation-play-state: paused !important; }
@keyframes samay-marquee-scroll {
	0% { transform: translate3d(0,0,0); }
	100% { transform: translate3d(-50%,0,0); }
}

/* ---------- Isolated desktop navigation ---------- */
.samay-premium-header { display: none; }

@media (min-width: 993px) {
	header.mainHeader,
	.mainHeader {
		background: var(--samay-menu-bg-color, #06212d) !important;
		border: 0 !important;
		box-shadow: 0 8px 24px rgba(1,12,18,.17) !important;
	}


	header.mainHeader.samay-menu-bg-color,
	.mainHeader.samay-menu-bg-color {
		background: var(--samay-menu-bg-color, #06212d) !important;
		box-shadow: 0 8px 24px rgba(1,12,18,.17) !important;
	}

	header.mainHeader.samay-menu-bg-transparent,
	.mainHeader.samay-menu-bg-transparent {
		background: transparent !important;
		box-shadow: none !important;
	}

	body:not(.btStickyHeaderActive) header.mainHeader.samay-menu-bg-transparent.samay-menu-over-hero,
	body:not(.btStickyHeaderActive) .mainHeader.samay-menu-bg-transparent.samay-menu-over-hero {
		position: absolute !important;
		top: 0 !important;
		left: 0 !important;
		right: 0 !important;
		width: 100% !important;
		z-index: 999 !important;
	}
	/* WordPress already offsets the document for the admin bar. Adding another
	 * 32px here pushed the Home marquee/menu visibly lower than the hero. */
	body.admin-bar:not(.btStickyHeaderActive) header.mainHeader.samay-menu-bg-transparent.samay-menu-over-hero,
	body.admin-bar:not(.btStickyHeaderActive) .mainHeader.samay-menu-bg-transparent.samay-menu-over-hero {
		top: 0 !important;
	}

	header.mainHeader.samay-menu-bg-transparent .samay-premium-header,
	.mainHeader.samay-menu-bg-transparent .samay-premium-header {
		background: transparent !important;
	}

	header.mainHeader.samay-menu-bg-transparent .samay-premium-header__brand,
	.mainHeader.samay-menu-bg-transparent .samay-premium-header__brand {
		background: rgba(255,255,255,.94) !important;
		box-shadow: 0 10px 26px rgba(2,14,21,.18) !important;
	}

	.btStickyHeaderActive header.mainHeader.samay-menu-bg-transparent,
	.btStickyHeaderActive .mainHeader.samay-menu-bg-transparent {
		background: rgba(3,18,27,.93) !important;
		box-shadow: 0 8px 24px rgba(1,12,18,.2) !important;
		-webkit-backdrop-filter: blur(14px) !important;
		backdrop-filter: blur(14px) !important;
	}

	.samay-premium-header {
		display: block !important;
		position: relative !important;
		width: 100% !important;
		height: 82px !important;
		min-height: 82px !important;
		margin: 0 !important;
		padding: 0 !important;
		background: transparent !important;
		z-index: 45 !important;
	}

	.samay-premium-header__inner {
		box-sizing: border-box !important;
		display: grid !important;
		grid-template-columns: 170px minmax(0,1fr) 46px !important;
		align-items: center !important;
		column-gap: 30px !important;
		width: calc(100% - 56px) !important;
		max-width: 1280px !important;
		height: 82px !important;
		margin: 0 auto !important;
		padding: 0 !important;
	}

	.samay-premium-header__brand {
		box-sizing: border-box !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 160px !important;
		height: 70px !important;
		margin: 0 !important;
		padding: 5px 10px !important;
		border: 1px solid rgba(255,255,255,.82) !important;
		border-radius: 17px !important;
		background: rgba(255,255,255,.99) !important;
		box-shadow: 0 10px 24px rgba(2,14,21,.22) !important;
		text-decoration: none !important;
		overflow: hidden !important;
	}
	.samay-premium-header__brand img {
		display: block !important;
		width: auto !important;
		height: 59px !important;
		max-width: 140px !important;
		max-height: 59px !important;
		object-fit: contain !important;
	}

	.samay-premium-header__nav {
		min-width: 0 !important;
		width: 100% !important;
		height: 82px !important;
		margin: 0 !important;
		padding: 0 !important;
	}
	.samay-premium-menu,
	.samay-premium-menu ul {
		list-style: none !important;
		margin: 0 !important;
		padding: 0 !important;
	}
	.samay-premium-menu {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 23px !important;
		width: 100% !important;
		height: 82px !important;
		white-space: nowrap !important;
	}
	.samay-premium-menu > li {
		position: relative !important;
		display: flex !important;
		align-items: center !important;
		height: 82px !important;
		margin: 0 !important;
		padding: 0 !important;
		float: none !important;
		border: 0 !important;
		background: transparent !important;
	}
	.samay-premium-menu > li > a {
		position: relative !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		height: 44px !important;
		box-sizing: border-box !important;
		margin: 0 !important;
		padding: 0 2px !important;
		border: 0 !important;
		background: transparent !important;
		color: rgba(255,255,255,.98) !important;
		font-size: 15px !important;
		font-weight: 600 !important;
		line-height: 44px !important;
		letter-spacing: 0 !important;
		text-decoration: none !important;
		text-transform: none !important;
		box-shadow: none !important;
		text-shadow: 0 1px 5px rgba(0,0,0,.22) !important;
	}
	.samay-premium-menu > li > a::before { content: none !important; display: none !important; }
	.samay-premium-menu > li > a::after {
		content: '' !important;
		position: absolute !important;
		left: 50% !important;
		bottom: 5px !important;
		width: 0 !important;
		height: 2px !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		border-radius: 999px !important;
		background: linear-gradient(90deg,#42d9d0,#b1de52) !important;
		transform: translateX(-50%) !important;
		transition: width .18s ease !important;
	}
	.samay-premium-menu > li:hover > a::after,
	.samay-premium-menu > li.current-menu-item > a::after,
	.samay-premium-menu > li.current-menu-ancestor > a::after,
	.samay-premium-menu > li.current_page_item > a::after {
		width: 22px !important;
	}

	/* Dropdowns are controlled here, independent from Travelicious. */
	.samay-premium-menu .sub-menu {
		display: block !important;
		position: absolute !important;
		top: calc(100% - 10px) !important;
		left: 50% !important;
		min-width: 235px !important;
		max-width: 310px !important;
		padding: 10px !important;
		border: 1px solid rgba(255,255,255,.10) !important;
		border-radius: 14px !important;
		background: rgba(4,24,33,.985) !important;
		box-shadow: 0 18px 38px rgba(0,0,0,.28) !important;
		opacity: 0 !important;
		visibility: hidden !important;
		transform: translate(-50%,8px) !important;
		transition: opacity .16s ease, transform .16s ease, visibility .16s ease !important;
		z-index: 9999 !important;
	}
	.samay-premium-menu li:hover > .sub-menu,
	.samay-premium-menu li:focus-within > .sub-menu {
		opacity: 1 !important;
		visibility: visible !important;
		transform: translate(-50%,0) !important;
	}
	.samay-premium-menu .sub-menu li {
		position: relative !important;
		display: block !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		float: none !important;
	}
	.samay-premium-menu .sub-menu a {
		display: block !important;
		box-sizing: border-box !important;
		width: 100% !important;
		padding: 10px 12px !important;
		border-radius: 9px !important;
		background: transparent !important;
		color: rgba(255,255,255,.90) !important;
		font-size: 13.5px !important;
		font-weight: 500 !important;
		line-height: 1.35 !important;
		text-decoration: none !important;
		white-space: normal !important;
	}
	.samay-premium-menu .sub-menu a:hover {
		background: rgba(255,255,255,.08) !important;
		color: #fff !important;
	}

	.samay-premium-search {
		position: relative !important;
		display: flex !important;
		align-items: center !important;
		justify-content: flex-end !important;
		width: 46px !important;
		height: 82px !important;
	}
	.samay-premium-search__toggle {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 42px !important;
		height: 42px !important;
		padding: 0 !important;
		border: 1px solid transparent !important;
		border-radius: 50% !important;
		background: transparent !important;
		color: #fff !important;
		cursor: pointer !important;
		box-shadow: none !important;
	}
	.samay-premium-search__toggle:hover,
	.samay-premium-search__toggle[aria-expanded="true"] {
		border-color: rgba(255,255,255,.16) !important;
		background: rgba(255,255,255,.08) !important;
	}
	.samay-premium-search__toggle svg {
		width: 19px !important;
		height: 19px !important;
		fill: none !important;
		stroke: currentColor !important;
		stroke-width: 2 !important;
		stroke-linecap: round !important;
	}
	.samay-premium-search__panel {
		position: absolute !important;
		top: 67px !important;
		right: 0 !important;
		width: 330px !important;
		box-sizing: border-box !important;
		padding: 12px !important;
		border: 1px solid rgba(255,255,255,.11) !important;
		border-radius: 14px !important;
		background: rgba(4,24,33,.99) !important;
		box-shadow: 0 18px 40px rgba(0,0,0,.30) !important;
		z-index: 10000 !important;
	}
	.samay-premium-search__panel[hidden] { display: none !important; }
	.samay-premium-search__panel form { display: flex !important; gap: 8px !important; margin: 0 !important; }
	.samay-premium-search__panel input {
		flex: 1 1 auto !important;
		min-width: 0 !important;
		height: 42px !important;
		box-sizing: border-box !important;
		padding: 0 12px !important;
		border: 1px solid rgba(255,255,255,.18) !important;
		border-radius: 9px !important;
		background: rgba(255,255,255,.96) !important;
		color: #12242c !important;
		font-size: 14px !important;
	}
	.samay-premium-search__panel button[type="submit"] {
		height: 42px !important;
		padding: 0 14px !important;
		border: 0 !important;
		border-radius: 9px !important;
		background: #c99b58 !important;
		color: #07151c !important;
		font-weight: 700 !important;
		cursor: pointer !important;
	}

	/* Compact sticky state without touching the hero spacing. */
	.btStickyHeaderActive .samay-premium-header,
	.btStickyHeaderActive .samay-premium-header__inner,
	.btStickyHeaderActive .samay-premium-header__nav,
	.btStickyHeaderActive .samay-premium-menu,
	.btStickyHeaderActive .samay-premium-menu > li,
	.btStickyHeaderActive .samay-premium-search {
		height: 68px !important;
		min-height: 68px !important;
	}
	.btStickyHeaderActive .samay-premium-header__brand {
		height: 58px !important;
		width: 145px !important;
		border-radius: 14px !important;
	}
	.btStickyHeaderActive .samay-premium-header__brand img {
		height: 49px !important;
		max-height: 49px !important;
		max-width: 126px !important;
	}
	.btStickyHeaderActive .samay-premium-search__panel { top: 58px !important; }
}

/* ---------- Desktop width tuning: still one row ---------- */
@media (min-width: 993px) and (max-width: 1180px) {
	.samay-premium-header__inner {
		grid-template-columns: 146px minmax(0,1fr) 42px !important;
		column-gap: 16px !important;
		width: calc(100% - 30px) !important;
	}
	.samay-premium-header__brand { width: 140px !important; height: 64px !important; }
	.samay-premium-header__brand img { height: 53px !important; max-width: 122px !important; }
	.samay-premium-menu { gap: 15px !important; }
	.samay-premium-menu > li > a { font-size: 13.5px !important; }
}

@media (min-width: 1181px) and (max-width: 1320px) {
	.samay-premium-header__inner {
		grid-template-columns: 158px minmax(0,1fr) 44px !important;
		column-gap: 22px !important;
		width: calc(100% - 40px) !important;
	}
	.samay-premium-header__brand { width: 150px !important; }
	.samay-premium-menu { gap: 19px !important; }
	.samay-premium-menu > li > a { font-size: 14.25px !important; }
}

/* ---------- Mobile: Travelicious keeps its native menu, only the brand image changes ---------- */
@media (max-width: 992px) {
	.samay-premium-header { display: none !important; }
	.samay-top-marquee { height: 29px !important; min-height: 29px !important; }
	.samay-top-marquee__item { font-size: 11px !important; line-height: 29px !important; padding: 0 16px !important; }
	.btLogoArea .logo img.samay-brand-logo,
	img.btMainLogo.samay-brand-logo,
	img.btAltLogo.samay-brand-logo {
		display: block !important;
		width: auto !important;
		height: 58px !important;
		max-width: 126px !important;
		max-height: 58px !important;
		object-fit: contain !important;
	}
}

@media (max-width: 480px) {
	.samay-top-marquee { height: 27px !important; min-height: 27px !important; }
	.samay-top-marquee__item { font-size: 10.5px !important; line-height: 27px !important; padding: 0 14px !important; }
}
