/* A clearer desktop header with a stronger brand and calmer navigation. */
.header-fourteen .bottom-header {
	background: var(--trv-surface-raised);
	box-shadow: 0 8px 24px rgba(18, 42, 54, .08);
}

.header-fourteen .bottom-header > .container > .row { min-height: 108px; }
.header-fourteen .site-branding { display: flex; align-items: center; }
.header-fourteen #headerLogo {
	display: block;
	width: clamp(210px, 16vw, 238px);
	max-width: 100%;
	height: auto;
	transition: transform .2s ease;
}
.header-fourteen .site-branding a:hover #headerLogo { transform: translateY(-1px); }

.header-fourteen .main-navigation .nav-menu {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
}
.header-fourteen .main-navigation .nav-menu > li { margin: 0; }
.header-fourteen .main-navigation .nav-menu > li > a {
	position: relative;
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 10px 13px !important;
	border: 1px solid var(--trv-border);
	border-radius: 11px;
	background: var(--trv-surface);
	color: var(--trv-heading);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
	white-space: nowrap;
	text-decoration: none;
	transition: background-color .18s ease, color .18s ease, transform .18s ease;
}
.header-fourteen .main-navigation .nav-menu > li > a:hover,
.header-fourteen .main-navigation .nav-menu > li > a:focus-visible {
	border-color: var(--trv-primary);
	background: var(--trv-surface-raised);
	color: var(--trv-primary);
}
#masthead.header-fourteen .bottom-header .main-navigation ul#primary-menu > li.current-menu-item > a,
#masthead.header-fourteen .bottom-header .main-navigation ul#primary-menu > li.current_page_item > a {
	border-color: var(--trv-primary);
	background: var(--trv-primary);
	color: #fff;
	box-shadow: 0 4px 12px rgba(23, 70, 109, .18);
}
.header-fourteen .main-navigation .nav-menu > li > a:focus-visible,
.header-fourteen .header-icons .social-profile a:focus-visible {
	outline: 3px solid var(--trv-focus);
	outline-offset: 3px;
}

/* Keep the social controls consistent and give every mark a visible canvas. */
.header-fourteen .header-icons { display: flex; align-items: center; gap: 16px; }
.header-fourteen .header-icons .social-profile .social-group { display: flex; align-items: center; gap: 12px; }
.header-fourteen .header-icons .social-profile .social-group li { margin: 0; }
.header-fourteen .header-icons .social-profile .social-group li a {
	display: grid;
	width: 42px;
	height: 42px;
	place-items: center;
	border: 1px solid var(--trv-border);
	border-radius: 50%;
	background: var(--trv-surface-raised);
	color: var(--trv-heading);
	font-size: 16px;
	transition: transform .18s ease, background-color .18s ease, border-color .18s ease, color .18s ease;
}
.header-fourteen .header-icons .social-profile .social-group li a:hover {
	transform: translateY(-2px);
	border-color: var(--trv-primary);
	background: var(--trv-primary);
	color: #fff;
}
.header-fourteen .header-icons .social-profile a[href*="tripadvisor"] .fa-tripadvisor {
	font-family: "Font Awesome 5 Brands";
	font-style: normal;
	font-weight: 400;
}
.header-fourteen .header-icons .social-profile a[href*="tripadvisor"] .fa-tripadvisor::before { content: "\f262"; }

html[data-theme="dark"] .header-fourteen .main-navigation .nav-menu > li.current-menu-item > a,
html[data-theme="dark"] #masthead.header-fourteen .bottom-header .main-navigation ul#primary-menu > li.current-menu-item > a,
html[data-theme="dark"] #masthead.header-fourteen .bottom-header .main-navigation ul#primary-menu > li.current_page_item > a { border-color: var(--trv-primary); background: var(--trv-primary); color: #fff; }
@media (max-width: 1199px) and (min-width: 992px) {
	.header-fourteen .main-navigation .nav-menu { gap: 0; }
	.header-fourteen .main-navigation .nav-menu { gap: 5px; }
	.header-fourteen .main-navigation .nav-menu > li > a { padding: 9px 7px !important; font-size: 13px; }
	.header-fourteen #headerLogo { width: clamp(190px, 17vw, 220px); }
	.header-fourteen .header-icons { gap: 12px; }
	.header-fourteen .header-icons .social-profile .social-group { gap: 8px; }
}

@media (max-width: 991px) {
	.header-fourteen .bottom-header > .container > .row { min-height: 82px; }
	.header-fourteen #headerLogo { width: clamp(170px, 42vw, 220px); }
}

@media (prefers-reduced-motion: reduce) {
	.header-fourteen #headerLogo,
	.header-fourteen .main-navigation .nav-menu > li > a,
	.header-fourteen .header-icons .social-profile .social-group li a { transition: none; }
}

/* Tablet and phone navigation: one branded drawer for links and header utilities. */
@media (max-width: 991px) {
	#offcanvas-menu {
		box-sizing: border-box;
		width: min(420px, 92vw);
		max-width: 100vw;
		padding: 20px 18px 28px;
		border-inline-start: 1px solid var(--trv-border);
		background: var(--trv-surface-raised);
		box-shadow: -18px 0 48px rgba(14, 35, 48, .18);
		overscroll-behavior: contain;
	}
	#offcanvas-menu .offcanvas-menu-inner {
		display: flex;
		min-height: 100%;
		flex-direction: column;
		gap: 14px;
		padding-top: 46px;
	}
	#offcanvas-menu .close-offcanvas-menu {
		position: absolute;
		top: 14px;
		inset-inline-end: 14px;
		z-index: 3;
		margin: 0;
		padding: 0;
	}
	#offcanvas-menu .trv-mobile-menu-heading {
		display: flex;
		align-items: baseline;
		justify-content: space-between;
		gap: 12px;
		padding: 0 4px 14px;
		border-bottom: 1px solid var(--trv-border);
		color: var(--trv-heading);
	}
	#offcanvas-menu .trv-mobile-menu-heading > span {
		font-size: 20px;
		font-weight: 800;
		letter-spacing: -.02em;
	}
	#offcanvas-menu .trv-mobile-menu-heading > strong {
		color: var(--trv-muted);
		font-size: 12px;
		font-weight: 700;
	}
	#offcanvas-menu .trv-header-preferences--mobile {
		display: flex;
		align-items: center;
		gap: 9px;
		margin: 0;
		padding: 10px;
		border: 1px solid var(--trv-border);
		border-radius: 13px;
		background: var(--trv-surface);
	}
	#offcanvas-menu .trv-header-preferences--mobile .trv-language-switcher-mobile { display: block; }
	#offcanvas-menu .trv-header-preferences--mobile .trv-language-switcher__trigger,
	#offcanvas-menu .trv-header-preferences--mobile .trv-theme-toggle {
		min-height: 42px;
		border-radius: 10px;
		box-shadow: none;
	}
	#offcanvas-menu .trv-header-preferences--mobile .trv-language-switcher__trigger { min-width: 0; }
	#offcanvas-menu .trv-header-preferences--mobile .trv-theme-toggle-mobile { margin: 0; }
	#offcanvas-menu .trv-mobile-primary-menu {
		width: 100%;
		padding: 7px;
		border: 1px solid var(--trv-border);
		border-radius: 15px;
		background: var(--trv-surface-raised);
		box-shadow: 0 8px 22px rgba(22, 54, 73, .06);
	}
	#offcanvas-menu .trv-mobile-menu-list,
	#offcanvas-menu .trv-mobile-menu-list .sub-menu { margin: 0; padding: 0; list-style: none; }
	#offcanvas-menu .trv-mobile-menu-list > li { margin: 2px 0; border: 0; }
	#offcanvas-menu .trv-mobile-menu-list > li > a,
	#offcanvas-menu .trv-mobile-menu-list .sub-menu a {
		display: flex;
		min-height: 48px;
		align-items: center;
		padding: 11px 13px;
		border: 1px solid transparent;
		border-radius: 10px;
		color: var(--trv-heading);
		font-size: 14px;
		font-weight: 700;
		line-height: 1.4;
		text-decoration: none;
		text-transform: none;
	}
	#offcanvas-menu .trv-mobile-menu-list a:hover,
	#offcanvas-menu .trv-mobile-menu-list a:focus-visible {
		border-color: color-mix(in srgb, var(--trv-primary) 18%, var(--trv-border));
		background: var(--trv-surface);
		color: var(--trv-primary);
	}
	#offcanvas-menu .trv-mobile-menu-list li.current-menu-item > a,
	#offcanvas-menu .trv-mobile-menu-list li.current_page_item > a {
		border-color: color-mix(in srgb, var(--trv-primary) 18%, var(--trv-border));
		background: color-mix(in srgb, var(--trv-primary) 8%, var(--trv-surface-raised));
		color: var(--trv-primary);
	}
	#offcanvas-menu .trv-mobile-menu-list .sub-menu { padding-inline-start: 13px; }
	#offcanvas-menu .trv-mobile-menu-list .sub-menu a { min-height: 42px; color: var(--trv-text); font-size: 13px; font-weight: 600; }
	#offcanvas-menu .mobile-menu-container {
		position: static !important;
		inset: auto !important;
		width: 100%;
		min-height: 0;
		margin: 0;
		padding: 0;
		border: 0;
		background: transparent !important;
	}
	#offcanvas-menu .mobile-menu-container .slicknav_menu { padding: 0; background: transparent; }
	#offcanvas-menu .mobile-menu-container .slicknav_btn { display: none !important; }
	#offcanvas-menu .mobile-menu-container .slicknav_nav {
		position: static !important;
		display: block !important;
		width: 100%;
		max-height: none;
		margin: 0;
		padding: 7px;
		overflow: visible;
		border: 1px solid var(--trv-border);
		border-radius: 15px;
		background: var(--trv-surface-raised);
		box-shadow: 0 8px 22px rgba(22, 54, 73, .06);
		animation: trv-menu-enter .24s ease-out both;
	}
	#offcanvas-menu .mobile-menu-container .slicknav_nav > li { margin: 2px 0; border: 0; }
	#offcanvas-menu .mobile-menu-container .slicknav_nav > li > a,
	#offcanvas-menu .mobile-menu-container .slicknav_nav .slicknav_item {
		display: flex;
		min-height: 48px;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		margin: 0;
		padding: 11px 13px;
		border: 1px solid transparent;
		border-radius: 10px;
		background: transparent;
		color: var(--trv-heading);
		font-size: 14px;
		font-weight: 700;
		line-height: 1.4;
		text-decoration: none;
		text-transform: none;
		transition: color .18s ease, background-color .18s ease, border-color .18s ease;
	}
	#offcanvas-menu .mobile-menu-container .slicknav_nav > li > a:hover,
	#offcanvas-menu .mobile-menu-container .slicknav_nav > li > a:focus-visible,
	#offcanvas-menu .mobile-menu-container .slicknav_nav .slicknav_item:hover,
	#offcanvas-menu .mobile-menu-container .slicknav_nav .slicknav_item:focus-visible {
		border-color: color-mix(in srgb, var(--trv-primary) 18%, var(--trv-border));
		background: var(--trv-surface);
		color: var(--trv-primary);
	}
	#offcanvas-menu .mobile-menu-container .slicknav_nav li.current-menu-item > a,
	#offcanvas-menu .mobile-menu-container .slicknav_nav li.current_page_item > a {
		border-color: color-mix(in srgb, var(--trv-primary) 18%, var(--trv-border));
		background: color-mix(in srgb, var(--trv-primary) 8%, var(--trv-surface-raised));
		color: var(--trv-primary);
	}
	#offcanvas-menu .mobile-menu-container .slicknav_nav .slicknav_arrow {
		position: static;
		display: inline-flex;
		width: 28px;
		height: 28px;
		align-items: center;
		justify-content: center;
		padding: 0;
		border: 1px solid var(--trv-border);
		border-radius: 8px;
		color: var(--trv-primary);
		transform: none;
	}
	#offcanvas-menu .mobile-menu-container .slicknav_nav .slicknav_item .slicknav_arrow { margin-inline-start: auto; }
	#offcanvas-menu .mobile-menu-container .slicknav_nav .sub-menu,
	#offcanvas-menu .mobile-menu-container .slicknav_nav .slicknav_hidden { padding-inline-start: 13px; }
	#offcanvas-menu .mobile-menu-container .slicknav_nav .sub-menu a,
	#offcanvas-menu .mobile-menu-container .slicknav_nav .slicknav_item a { color: var(--trv-text); font-size: 13px; font-weight: 600; }
	#offcanvas-menu .offcanvas-menu-inner > .d-lg-none { margin: 0; }
	#offcanvas-menu .header-contact,
	#offcanvas-menu .social-profile,
	#offcanvas-menu .header-btn-wrap,
	#offcanvas-menu .header-search-wrap,
	#offcanvas-menu .header-navigation {
		margin: 0;
		padding: 13px;
		border: 1px solid var(--trv-border);
		border-radius: 13px;
		background: var(--trv-surface-raised);
		box-shadow: 0 5px 16px rgba(22, 54, 73, .04);
	}
	#offcanvas-menu .header-contact ul { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }
	#offcanvas-menu .header-contact ul li { display: flex; min-width: 0; align-items: flex-start; gap: 9px; margin: 0; padding: 7px 0; border: 0; color: var(--trv-text); font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; }
	#offcanvas-menu .header-contact ul li + li { border-top: 1px solid var(--trv-border); }
	#offcanvas-menu .header-contact a { display: inline-flex; min-width: 0; align-items: flex-start; gap: 9px; color: var(--trv-text); text-decoration: none; overflow-wrap: anywhere; }
	#offcanvas-menu .header-contact i { flex: 0 0 17px; width: 17px; margin-top: 2px; color: var(--trv-accent); text-align: center; }
	#offcanvas-menu .social-profile .social-group { display: flex; flex-wrap: wrap; gap: 9px; margin: 0; padding: 0; list-style: none; }
	#offcanvas-menu .social-profile .social-group li { margin: 0; }
	#offcanvas-menu .social-profile .social-group a { display: grid; width: 40px; height: 40px; place-items: center; border: 1px solid var(--trv-border); border-radius: 50%; background: var(--trv-surface); color: var(--trv-heading); }
	#offcanvas-menu .social-profile a[href*="tripadvisor"] { border-color: var(--trv-border); background: var(--trv-surface); color: var(--trv-heading); }
	#offcanvas-menu .social-profile a[href*="tripadvisor"] .fa-tripadvisor { font-family: "Font Awesome 5 Brands"; font-size: inherit; font-style: normal; font-weight: 400; line-height: 1; }
	#offcanvas-menu .social-profile a[href*="tripadvisor"] .fa-tripadvisor::before { content: "\f262"; }
	#offcanvas-menu .header-btn-wrap .header-btn { display: grid; gap: 8px; }
	#offcanvas-menu .header-btn-wrap .header-btn a { display: flex; min-height: 46px; align-items: center; justify-content: center; border-radius: 10px; }
}
@keyframes trv-menu-enter {
	from { opacity: 0; transform: translateY(6px); }
	to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
	#offcanvas-menu .mobile-menu-container .slicknav_nav { animation: none; }
}

/* Move the mobile/tablet menu trigger into the branded header row beside the logo. */
@media (max-width: 991px) {
	/* The theme's transparent header image overlay spans the entire header and
	 * was intercepting real taps intended for the mobile menu button. */
	.header-fourteen .bottom-header > .overlay { pointer-events: none; }
	.header-fourteen .bottom-header > .container > .row { min-height: 78px; flex-wrap: nowrap; }
	.header-fourteen .bottom-header .site-branding { min-width: 0; }
	.header-fourteen .trv-mobile-nav-col { display: flex; align-items: center; justify-content: flex-end; }
	.header-fourteen .trv-mobile-nav-toggle {
		display: inline-grid;
		width: 48px;
		height: 48px;
		place-items: center;
		padding: 0;
		border: 1px solid var(--trv-border);
		border-radius: 14px;
		background: var(--trv-surface-raised);
		color: var(--trv-primary);
		box-shadow: 0 5px 16px rgba(22, 54, 73, .09);
		cursor: pointer;
		transition: transform .18s ease, border-color .18s ease, background-color .18s ease, color .18s ease, box-shadow .18s ease;
	}
	.header-fourteen .trv-mobile-nav-toggle svg { display: block; width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-width: 2; }
	.header-fourteen .trv-mobile-nav-toggle:hover,
	.header-fourteen .trv-mobile-nav-toggle[aria-expanded="true"] { transform: translateY(-1px); border-color: var(--trv-primary); background: var(--trv-primary); color: #fff; box-shadow: 0 8px 20px rgba(23, 70, 109, .2); }
	.header-fourteen .trv-mobile-nav-toggle:focus-visible { outline: 3px solid var(--trv-focus); outline-offset: 3px; }
}
@media (max-width: 480px) {
	.header-fourteen .bottom-header > .container > .row { min-height: 70px; }
	.header-fourteen .trv-mobile-nav-toggle { width: 46px; height: 46px; border-radius: 13px; }
}
html[data-theme="dark"] .header-fourteen .trv-mobile-nav-toggle { border-color: var(--trv-border); background: var(--trv-surface-raised); color: var(--trv-heading); }
html[data-theme="dark"] .header-fourteen .trv-mobile-nav-toggle:hover,
html[data-theme="dark"] .header-fourteen .trv-mobile-nav-toggle[aria-expanded="true"] { border-color: var(--trv-primary); background: var(--trv-primary); color: #fff; }
@media (prefers-reduced-motion: reduce) {
	.header-fourteen .trv-mobile-nav-toggle { transition: none; }
}
