/* Primary header nav — Minion Pro on all top-level items */
body #site-navigation #primary-menu > li.menu-item > a,
body #site-navigation #primary-menu > li.menu-item > a .nav-drop-title-wrap,
body #site-navigation #primary-menu > li.menu-item > a span,
body #primary-menu > li.menu-item > a,
body #primary-menu > li.menu-item > a .nav-drop-title-wrap,
body #primary-menu > li.menu-item > a span,
body #mobile-drawer .mobile-navigation .menu > li.menu-item > .drawer-nav-drop-wrap > a,
body #mobile-drawer .mobile-navigation .menu > li.menu-item > a {
	font-family: minion-pro, "Minion Pro", Georgia, serif !important;
	font-weight: 300 !important;
	font-style: normal !important;
}

@media (min-width: 1025px) {
	body #site-navigation #primary-menu > li.menu-item > a,
	body #site-navigation #primary-menu > li.menu-item > a .nav-drop-title-wrap,
	body #site-navigation #primary-menu > li.menu-item > a span,
	body #primary-menu > li.menu-item > a,
	body #primary-menu > li.menu-item > a .nav-drop-title-wrap,
	body #primary-menu > li.menu-item > a span {
		font-size: 1.25rem !important;
		line-height: 1.2 !important;
	}

	#masthead,
	#masthead .site-main-header-wrap,
	#masthead .header-navigation {
		z-index: 10000 !important;
	}

	#masthead,
	#masthead .site-header-row-container-inner,
	#masthead .site-container,
	.header-navigation,
	.header-navigation .header-menu-container,
	.header-navigation .primary-menu-container,
	#primary-menu,
	.te-mega-nav-item {
		overflow: visible !important;
	}

	.te-mega-nav-item.kadence-menu-mega-enabled,
	.te-mega-nav-item.te-our-tours-mega-item,
	#primary-menu > .te-mega-nav-item.menu-item-has-children {
		position: static !important;
	}

	.te-mega-nav-item.kadence-menu-mega-enabled > .sub-menu,
	.te-mega-nav-item.te-our-tours-mega-item > .sub-menu,
	#primary-menu > .te-mega-nav-item.menu-item-has-children > .sub-menu {
		position: absolute !important;
		/* Panel overlapped the logo by ~13px.
		   top:100% is relative to the nav row's own height (60px), but the
		   logo beside it in the header is taller (86px) — position:static
		   above means the .menu-item itself isn't the offsetParent, so
		   "100%" never sees the logo's extra height at all. +15px clears
		   the measured 13px shortfall with a small safety margin. */
		top: calc(100% + 15px) !important;
		left: auto !important;
		right: auto !important;
		width: 100vw !important;
		max-width: none !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		/* Was 15px 0 0 — left a visible white gap between the header and
		   the mega panel's own content (the panel itself is flush against
		   the header via top:100%; this rule's own top padding was what
		   pushed the visible content down further). */
		padding: 0 !important;
		transform: none !important;
		/* With the sticky header (position:
		   fixed), the calc(100% + 15px) clearance above is a transparent
		   strip floating over the page, showing whatever is scrolled
		   underneath as a stray colour band. White fills it in, matching
		   the header and the panel body (.te-our-tours-mega) below it. */
		background: #fff !important;
		border: 0 !important;
		border-radius: 0 !important;
		box-shadow: none !important;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		display: block !important;
		grid-template-columns: none !important;
		column-gap: 0 !important;
		z-index: 10001 !important;
	}

	/* The +15px clearance above was measured against the header's normal
	   (unstuck) height. Once Kadence's sticky-header JS shrinks the header
	   on scroll (adds .item-is-stuck to the fixed ancestor), the header is
	   shorter but the nav row this panel is anchored to (#primary-menu)
	   keeps the same height — so the same +15px constant leaves a ~20px
	   gap between the fixed header's real bottom edge and the panel's top,
	   revealing whatever's scrolled underneath through the transparent
	   band before the white panel background starts. Confirmed by direct
	   measurement (header bottom vs panel top) rather than guesswork.
	   Scoped to the stuck state only — the base +15px offset is correct
	   and untouched for the normal (unstuck, top-of-page) header. */
	.kadence-sticky-header.item-is-stuck .te-mega-nav-item.kadence-menu-mega-enabled > .sub-menu,
	.kadence-sticky-header.item-is-stuck .te-mega-nav-item.te-our-tours-mega-item > .sub-menu,
	.kadence-sticky-header.item-is-stuck #primary-menu > .te-mega-nav-item.menu-item-has-children > .sub-menu {
		top: calc(100% - 7px) !important;
	}

	.te-mega-nav-item.kadence-menu-mega-enabled > .sub-menu::before,
	.te-mega-nav-item.kadence-menu-mega-enabled > .sub-menu::after,
	#primary-menu > .te-mega-nav-item.menu-item-has-children > .sub-menu::before,
	#primary-menu > .te-mega-nav-item.menu-item-has-children > .sub-menu::after {
		content: none !important;
		display: none !important;
	}

	.te-mega-nav-item.te-mega-open > .sub-menu,
	.te-mega-nav-item:hover > .sub-menu,
	.te-mega-nav-item:focus-within > .sub-menu,
	#primary-menu > .te-mega-nav-item.menu-item-has-children:hover > .sub-menu,
	#primary-menu > .te-mega-nav-item.menu-item-has-children:focus-within > .sub-menu,
	#primary-menu > .te-mega-nav-item.menu-item-has-children.te-mega-open > .sub-menu {
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto !important;
		transform: none !important;
	}

	.te-mega-nav-item > .sub-menu > li,
	.te-mega-nav-item > .sub-menu > li.te-our-tours-mega-panel-item,
	.te-mega-nav-item > .sub-menu > li.te-mega-nav-panel-item,
	#primary-menu > .te-mega-nav-item > .sub-menu > li {
		grid-column: auto !important;
		grid-row: auto !important;
		position: static !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		background: transparent !important;
	}

	.te-mega-nav-item > .sub-menu > li.te-our-tours-mega-panel-item > a,
	.te-mega-nav-item > .sub-menu > li.te-mega-nav-panel-item > a {
		display: none !important;
	}

	.te-mega-nav-item > a .dropdown-nav-toggle {
		display: none;
	}

	.te-mega-nav-item.te-mega-open > a,
	.te-mega-nav-item:hover > a,
	.te-mega-nav-item:focus-within > a {
		box-shadow: inset 0 -3px 0 #016d9c;
	}

	.te-our-tours-mega {
		width: 100%;
		background: #fff;
		color: #016d9c;
		font-family: "Roboto", sans-serif;
		padding: 0 max(24px, calc((100vw - 1180px) / 2));
		box-sizing: border-box;
		box-shadow: 0 18px 40px rgba(0, 0, 0, 0.12);
	}

	.te-our-tours-mega__inner {
		display: grid;
		grid-template-columns: 220px 260px minmax(0, 1fr);
		align-items: stretch;
		width: 100%;
		max-width: 1180px;
		min-height: 360px;
		margin: 0 auto;
		padding: 15px;
		box-sizing: border-box;
	}

	.te-our-tours-mega__promo {
		background: #016d9c;
		margin: 0 15px;
		padding: 28px 24px;
		display: flex;
		align-items: flex-end;
	}

	.te-our-tours-mega__promo-link {
		display: block;
		color: #fff;
		text-decoration: none;
	}

	.te-our-tours-mega__promo-count {
		display: block;
		margin-bottom: 10px;
		font-size: 13px;
		font-weight: 700;
		letter-spacing: 0.08em;
		text-transform: uppercase;
	}

	.te-our-tours-mega__promo-title {
		display: block;
		font-size: 34px;
		font-weight: 700;
		line-height: 1.1;
	}

	.te-our-tours-mega__categories {
		display: flex;
		flex-direction: column;
	}

	.te-our-tours-mega__category {
		display: block;
		padding: 15px 28px;
		border-bottom: 1px solid #d9d9d9;
		color: #016d9c;
		font-size: 18px;
		font-weight: 700;
		line-height: 1.25;
		text-decoration: none;
		background: #fff;
		transition: background 160ms ease;
		font-family: minion-pro, "Minion Pro", Georgia, serif !important;
	}

	.te-our-tours-mega__category:hover,
	.te-our-tours-mega__category.is-active {
		background: #ececec;
	}

	.te-our-tours-mega__panels {
		position: relative;
		min-height: 360px;
	}

	.te-our-tours-mega__panel {
		position: absolute;
		inset: 0;
		display: none;
		grid-template-columns: 220px minmax(0, 1fr);
		gap: 36px;
		padding: 15px 25px;
		box-sizing: border-box;
	}

	.te-our-tours-mega__panel.is-active {
		display: grid;
	}

	[data-te-mega-variant="about"] .te-our-tours-mega__panel,
	[data-te-mega-variant="late"] .te-our-tours-mega__panel,
	[data-te-mega-variant="menu"] .te-our-tours-mega__panel {
		grid-template-columns: minmax(0, 1fr);
	}

	[data-te-mega-variant="experts"] .te-our-tours-mega__inner {
		grid-template-columns: 220px minmax(0, 1fr);
		min-height: 280px;
	}

	.te-our-tours-mega__experts-panel {
		padding: 15px 25px;
		box-sizing: border-box;
	}

	.te-our-tours-mega__experts-grid {
		display: grid;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		column-gap: 32px;
		align-items: start;
	}

	.te-our-tours-mega__experts-column {
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.te-our-tours-mega__experts-column li + li {
		margin-top: 14px;
	}

	.te-our-tours-mega__expert-card {
		display: block;
		color: #016d9c;
		font-size: 16px;
		font-weight: 500;
		line-height: 1.35;
		text-decoration: none;
	}

	.te-our-tours-mega__expert-card:hover {
		text-decoration: underline;
	}

	.te-our-tours-mega__expert-thumb {
		display: block;
		flex-shrink: 0;
		width: 48px;
		height: 48px;
		overflow: hidden;
		border-radius: 50%;
		background: #ececec;
	}

	.te-our-tours-mega__expert-thumb img {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.te-our-tours-mega__expert-name {
		display: block;
		min-width: 0;
	}

	.te-our-tours-mega__view-all {
		margin: 18px 0 0;
	}

	.te-our-tours-mega__view-all a {
		color: #016d9c;
		font-size: 16px;
		font-weight: 700;
		text-decoration: none;
	}

	.te-our-tours-mega__view-all a:hover {
		text-decoration: underline;
	}

	.te-our-tours-mega__section--full {
		grid-column: 1 / -1;
		min-width: 0;
	}

	.te-our-tours-mega__heading {
		margin: 0 0 18px;
		color: #016d9c;
		font-size: 18px;
		font-weight: 700;
		line-height: 1.2;
		font-family: "Roboto", sans-serif !important;
	}

	.te-our-tours-mega__links,
	.te-our-tours-mega__interest-column {
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.te-our-tours-mega__links li + li,
	.te-our-tours-mega__interest-column li + li {
		margin-top: 14px;
	}

	.te-our-tours-mega__links a,
	.te-our-tours-mega__interest-column a {
		color: #016d9c;
		font-size: 16px;
		font-weight: 500;
		line-height: 1.35;
		text-decoration: none;
	}

	.te-our-tours-mega__links a:hover,
	.te-our-tours-mega__interest-column a:hover {
		text-decoration: underline;
	}

	.te-our-tours-mega__section--interest {
		min-width: 0;
	}

	.te-our-tours-mega__interest-columns {
		display: grid;
		grid-template-columns: repeat(var(--te-interest-columns, 2), minmax(0, 1fr));
		column-gap: 48px;
		align-items: start;
		min-height: calc((16px * 1.35 * 6) + (14px * 5));
	}

	.te-our-tours-mega__interest-column {
		min-height: calc((16px * 1.35 * 6) + (14px * 5));
	}

	.te-our-tours-mega__mobile-category {
		display: none;
	}

	#masthead .te-our-tours-mega__panel-inner,
	#site-navigation .te-our-tours-mega__panel-inner {
		display: contents;
	}
}

@media (max-width: 1024px) {
	#mobile-drawer .menu-item-757 > .sub-menu,
	#mobile-drawer .menu-item-758 > .sub-menu,
	#mobile-drawer .menu-item-772 > .sub-menu,
	#mobile-drawer .menu-item-773 > .sub-menu {
		display: grid !important;
		grid-template-rows: 0fr;
		padding: 0;
		margin: 0;
		border: 0;
		background: transparent;
		overflow: hidden;
		transition: grid-template-rows 0.35s ease;
	}

	#mobile-drawer .menu-item-757 > .sub-menu.show-drawer,
	#mobile-drawer .menu-item-758 > .sub-menu.show-drawer,
	#mobile-drawer .menu-item-772 > .sub-menu.show-drawer,
	#mobile-drawer .menu-item-773 > .sub-menu.show-drawer {
		grid-template-rows: 1fr;
	}

	#mobile-drawer .menu-item-757 > .sub-menu > li,
	#mobile-drawer .menu-item-758 > .sub-menu > li,
	#mobile-drawer .menu-item-772 > .sub-menu > li,
	#mobile-drawer .menu-item-773 > .sub-menu > li {
		overflow: hidden;
		min-height: 0;
		padding: 0;
		margin: 0;
		border: 0;
		opacity: 0;
		transition: opacity 0.15s ease;
	}

	#mobile-drawer .menu-item-757 > .sub-menu.show-drawer > li,
	#mobile-drawer .menu-item-758 > .sub-menu.show-drawer > li,
	#mobile-drawer .menu-item-772 > .sub-menu.show-drawer > li,
	#mobile-drawer .menu-item-773 > .sub-menu.show-drawer > li {
		opacity: 1;
		transition: opacity 0.25s ease 0.08s;
	}

	#mobile-drawer .menu-item-757 > .sub-menu > li > a,
	#mobile-drawer .menu-item-758 > .sub-menu > li > a,
	#mobile-drawer .menu-item-772 > .sub-menu > li > a,
	#mobile-drawer .menu-item-773 > .sub-menu > li > a {
		display: none;
	}

	#mobile-drawer .te-our-tours-mega,
	#mobile-drawer .te-our-tours-mega__inner,
	#mobile-drawer .te-our-tours-mega__mobile-stack,
	#mobile-drawer .te-our-tours-mega__mobile-group {
		overflow: visible;
	}

	#mobile-drawer .te-our-tours-mega {
		padding: 0;
		background: transparent;
		box-shadow: none;
		color: inherit;
		font-family: inherit;
	}

	#mobile-drawer .te-our-tours-mega__inner {
		display: block;
		min-height: 0;
		padding: 0;
	}

	#mobile-drawer .te-our-tours-mega__promo {
		display: none;
	}

	#mobile-drawer .te-our-tours-mega__mobile-stack {
		display: block;
	}

	#mobile-drawer .te-our-tours-mega__mobile-group {
		display: block;
	}

	#mobile-drawer .te-our-tours-mega__categories[hidden],
	#mobile-drawer .te-our-tours-mega__panels[hidden] {
		display: none !important;
	}

	#mobile-drawer .te-our-tours-mega__category {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		width: 100%;
		padding: 1em 0 1em 1em;
		border: 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.1);
		background: transparent;
		color: inherit;
		font: inherit;
		font-size: 14px;
		font-weight: 600;
		line-height: 1.3;
		text-align: left;
		text-decoration: none;
		cursor: pointer;
		appearance: none;
	}

	#mobile-drawer .te-our-tours-mega__category::after {
		content: '+';
		flex-shrink: 0;
		font-size: 20px;
		font-weight: 400;
		line-height: 1;
	}

	#mobile-drawer .te-our-tours-mega__category.is-active {
		background: transparent;
		color: var(--global-palette-highlight, #016d9c);
	}

	#mobile-drawer .te-our-tours-mega__category.is-active::after {
		content: '−';
	}

	#mobile-drawer .te-our-tours-mega__panels {
		position: static;
		min-height: 0;
	}

	#mobile-drawer .te-our-tours-mega__panel {
		display: grid;
		grid-template-rows: 0fr;
		overflow: hidden;
		position: static;
		gap: 0;
		padding: 0;
		transition: grid-template-rows 0.35s ease;
	}

	#mobile-drawer .te-our-tours-mega__panel.is-active {
		grid-template-rows: 1fr;
	}

	#mobile-drawer .te-our-tours-mega__mobile-category {
		display: none;
	}

	#mobile-drawer .te-our-tours-mega__panel-inner {
		display: block;
		overflow: hidden;
		min-height: 0;
		padding: 0 0 0.75em 1.5em;
		opacity: 0;
		transition: opacity 0.15s ease;
	}

	#mobile-drawer .te-our-tours-mega__panel.is-active .te-our-tours-mega__panel-inner {
		opacity: 1;
		transition: opacity 0.25s ease 0.08s;
	}

	#mobile-drawer .te-our-tours-mega__section + .te-our-tours-mega__section {
		margin-top: 1em;
	}

	#mobile-drawer .te-our-tours-mega__heading {
		margin: 0.65em 0;
		color: rgba(255, 255, 255, 0.72);
		font-size: 12px;
		font-weight: 700;
		letter-spacing: 0.06em;
		text-transform: uppercase;
	}

	#mobile-drawer .te-our-tours-mega__links,
	#mobile-drawer .te-our-tours-mega__interest-column {
		margin: 0;
		padding: 0;
		list-style: none;
	}

	#mobile-drawer .te-our-tours-mega__links li + li,
	#mobile-drawer .te-our-tours-mega__interest-column li + li {
		margin-top: 0;
	}

	#mobile-drawer .te-our-tours-mega__links a,
	#mobile-drawer .te-our-tours-mega__interest-column a {
		display: block;
		padding: 0.65em 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.08);
		color: inherit;
		font-size: 14px;
		font-weight: 400;
		line-height: 1.35;
		text-decoration: none;
	}

	#mobile-drawer .te-our-tours-mega__links a:hover,
	#mobile-drawer .te-our-tours-mega__interest-column a:hover {
		color: var(--global-palette-highlight, #016d9c);
		text-decoration: none;
	}

	#mobile-drawer .te-our-tours-mega__interest-columns {
		display: block;
		min-height: 0;
	}

	#mobile-drawer .te-our-tours-mega__experts-grid {
		display: block;
	}

	#mobile-drawer .te-our-tours-mega__experts-column {
		min-height: 0;
	}

	#mobile-drawer .te-our-tours-mega__expert-card {
		display: block;
		padding: 0.65em 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.08);
		color: inherit;
		font-size: 14px;
		font-weight: 400;
		line-height: 1.35;
		text-decoration: none;
	}

	#mobile-drawer .te-our-tours-mega__expert-thumb {
		display: none;
	}

	#mobile-drawer .te-our-tours-mega__view-all {
		margin: 0.65em 0 0;
	}

	#mobile-drawer .te-our-tours-mega__view-all a {
		display: block;
		padding: 0.65em 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.08);
		color: inherit;
		font-size: 14px;
		font-weight: 600;
		text-decoration: none;
	}
}
