/**
 * PCA Header V2
 * Caribbean adventure brand expression — sea→sand background, signature horizon line,
 * sun-glow accents, animated micro-interactions. Fully tokenized via tokens.css.
 */

/* ============================================================
 * Global horizontal-overflow clip
 * ------------------------------------------------------------
 * `template-parts/header/mobile-menu.php` renders a Bootstrap
 * `.offcanvas.offcanvas-end` drawer (#mobileMenu) that lives in
 * the DOM at all times, sized ~420px and translated offscreen-right.
 * Its box still contributes to `body.scrollWidth`, which lets the
 * viewport scroll horizontally and clip page content on the left
 * (observed on desktop 1280px: bodyScrollWidth=1693, viewport=1265).
 *
 * `overflow-x: clip` (NOT `hidden`) clips the offscreen overflow
 * WITHOUT creating a new scroll container — so `position: sticky`
 * on descendants (sticky header, booking-actions, mobile sheet)
 * keeps working. Browser support: Chrome 90+, Safari 16+, Firefox 81+.
 *
 * Falls back to `overflow-x: hidden` on older browsers via the @supports
 * negative-feature query in case anything in our matrix predates clip.
 * ============================================================ */
html,
body {
	overflow-x: clip;
}
@supports not (overflow-x: clip) {
	html,
	body {
		overflow-x: hidden;
	}
}

/* V2-specific tokens layered on top of the global system. */
.pca-header-v2,
.pca-hv2-offcanvas {
	--pca-hv2-deep-blue: #015b86;       /* Deep ocean blue — primary text in menu */
	--pca-hv2-deep-blue-darker: #013952; /* Pressed/hover state */
}

/* Typography — opt into the brand fonts. Without these declarations the v2
   surface inherits whatever font the parent theme set (Poppins). */
.pca-hv2-header,
.pca-hv2-offcanvas {
	font-family: var(--font-body, "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial);
}
.pca-hv2-brand-text,
.pca-hv2-desktop-menu .nav-link,
.pca-hv2-section-label,
.pca-hv2-offcanvas-title,
.pca-hv2-cta-help {
	font-family: var(--font-display, "Plus Jakarta Sans", var(--font-body));
}

/* ============================================================
 * Sticky shell + scroll state (signature backdrop-filter)
 * ============================================================ */
.pca-hv2-sticky {
	position: sticky;
	top: 0;
	z-index: 1030;
	background: linear-gradient(180deg, #ffffff 0%, var(--color-tropical-sand, #F8F5F1) 100%);
	transition: background 240ms ease, box-shadow 240ms ease, backdrop-filter 240ms ease;
	will-change: background, backdrop-filter;
}

.pca-header-scrolled .pca-hv2-sticky {
	background: rgba(248, 245, 241, 0.78);
	backdrop-filter: blur(14px) saturate(140%);
	-webkit-backdrop-filter: blur(14px) saturate(140%);
	box-shadow: 0 2px 16px -8px rgba(0, 28, 40, 0.18);
}

.pca-hv2-header {
	position: relative;
}

.pca-hv2-nav {
	padding-block: 12px;
	transition: padding-block 200ms ease;
}

.pca-header-scrolled .pca-hv2-nav {
	padding-block: 6px;
}

.pca-hv2-container {
	display: flex;
	align-items: center;
	gap: 1rem;
	width: 100%;
}

/* ============================================================
 * Signature horizon line — animated wavy hairline under navbar
 * ============================================================ */
.pca-hv2-horizon {
	display: block;
	height: 2px;
	background-image:
		linear-gradient(90deg,
			transparent 0%,
			var(--color-tropical-teal, #00B4D8) 30%,
			var(--color-tropical-teal-light, #48CAE4) 50%,
			var(--color-tropical-teal, #00B4D8) 70%,
			transparent 100%);
	background-size: 200px 100%;
	background-repeat: repeat-x;
	opacity: 0.32;
	animation: pca-hv2-horizon-drift 18s linear infinite;
	transition: height 200ms ease, opacity 200ms ease;
}

.pca-header-scrolled .pca-hv2-horizon {
	height: 1px;
	opacity: 0.5;
}

@keyframes pca-hv2-horizon-drift {
	from { background-position-x: 0; }
	to   { background-position-x: -200px; }
}

@media (prefers-reduced-motion: reduce) {
	.pca-hv2-horizon { animation: none; }
}

/* ============================================================
 * Brand
 * ============================================================ */
.pca-hv2-brand {
	display: inline-flex;
	align-items: center;
	margin-right: 1.5rem;
	text-decoration: none;
	color: inherit;
}
.pca-hv2-brand-img {
	height: 40px;
	width: auto;
	max-height: 40px;
	display: block;
}
.pca-hv2-brand-text {
	font-weight: 700;
	font-size: 1.25rem;
	letter-spacing: -0.02em;
}
@media (max-width: 991.98px) {
	.pca-hv2-brand-img { height: 35px; max-height: 35px; }
	.pca-hv2-brand     { margin-right: 0; }
}

/* ============================================================
 * Icon button — 44x44 (WCAG 2.5.5 / iOS HIG min touch target)
 * ============================================================ */
.pca-hv2-icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 8px;
	background: transparent;
	color: var(--color-heading, #111827);
	text-decoration: none;
	cursor: pointer;
	position: relative;
	transition: background 150ms ease, color 150ms ease, transform 100ms ease;
}
.pca-hv2-icon-btn:hover {
	background: var(--color-tropical-sand, #F8F5F1);
	color: var(--color-tropical-teal-dark, #0096C7);
}
.pca-hv2-icon-btn:active { transform: scale(0.95); }
.pca-hv2-icon-btn:focus-visible {
	outline: 2px solid var(--color-tropical-teal, #00B4D8);
	outline-offset: 2px;
}
.pca-hv2-icon-svg { display: block; }

/* ============================================================
 * Cart — luggage icon + animated badge-pop
 * ============================================================ */
.pca-hv2-cart-badge {
	position: absolute;
	top: -2px;
	right: -2px;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	border-radius: 999px;
	background: var(--color-primary-orange, #FF6B35);
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	line-height: 18px;
	text-align: center;
	box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.95), 0 1px 3px rgba(0, 0, 0, 0.18);
	animation: pca-hv2-badge-pop 320ms cubic-bezier(0.34, 1.56, 0.64, 1);
	transform-origin: center;
}
.pca-hv2-cart.is-bumping .pca-hv2-cart-badge {
	animation: pca-hv2-badge-pop 420ms cubic-bezier(0.34, 1.56, 0.64, 1);
}
@keyframes pca-hv2-badge-pop {
	0%   { transform: scale(0.4); opacity: 0; }
	60%  { transform: scale(1.25); opacity: 1; }
	100% { transform: scale(1); opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
	.pca-hv2-cart-badge,
	.pca-hv2-cart.is-bumping .pca-hv2-cart-badge { animation: none; }
}

/* ============================================================
 * Animated hamburger (morph-to-X on aria-expanded)
 * ============================================================ */
.pca-hv2-burger {
	display: inline-flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 5px;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	border-radius: 8px;
	transition: background 150ms ease;
}
.pca-hv2-burger:hover { background: var(--color-tropical-sand, #F8F5F1); }
.pca-hv2-burger:focus-visible {
	outline: 2px solid var(--color-tropical-teal, #00B4D8);
	outline-offset: 2px;
}
.pca-hv2-burger-bar {
	display: block;
	width: 22px;
	height: 2px;
	background: var(--color-heading, #111827);
	border-radius: 2px;
	transition: transform 240ms ease, opacity 200ms ease;
	transform-origin: center;
}
.pca-hv2-burger[aria-expanded="true"] .pca-hv2-burger-bar:nth-child(1) {
	transform: translateY(7px) rotate(45deg);
}
.pca-hv2-burger[aria-expanded="true"] .pca-hv2-burger-bar:nth-child(2) {
	opacity: 0;
}
.pca-hv2-burger[aria-expanded="true"] .pca-hv2-burger-bar:nth-child(3) {
	transform: translateY(-7px) rotate(-45deg);
}

.pca-hv2-mobile-actions {
	gap: 0.5rem;
	align-items: center;
}

/* ============================================================
 * Desktop nav
 * ============================================================ */
.pca-hv2-desktop-menu {
	display: flex;
	gap: 0.25rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
.pca-hv2-desktop-menu .nav-link {
	position: relative;
	padding: 0.5rem 0.85rem;
	color: var(--color-heading, #111827);
	font-weight: 500;
	font-size: 0.95rem;
	text-decoration: none;
	transition: color 180ms ease;
}
.pca-hv2-desktop-menu .nav-link::after {
	content: '';
	position: absolute;
	left: 50%;
	bottom: 4px;
	width: 0;
	height: 2px;
	background: var(--color-tropical-teal, #00B4D8);
	border-radius: 2px;
	transition: width 240ms ease, left 240ms ease;
}
.pca-hv2-desktop-menu .nav-link:hover,
.pca-hv2-desktop-menu .nav-link:focus-visible,
.pca-hv2-desktop-menu .nav-link.active,
.pca-hv2-desktop-menu .current-menu-item > .nav-link {
	color: var(--color-tropical-teal-dark, #0096C7);
}
.pca-hv2-desktop-menu .nav-link:hover::after,
.pca-hv2-desktop-menu .nav-link:focus-visible::after,
.pca-hv2-desktop-menu .nav-link.active::after,
.pca-hv2-desktop-menu .current-menu-item > .nav-link::after {
	width: 60%;
	left: 20%;
}
.pca-hv2-desktop-menu .nav-link:focus-visible {
	outline: 2px solid var(--color-tropical-teal, #00B4D8);
	outline-offset: 4px;
	border-radius: 4px;
}

.pca-hv2-desktop-actions {
	gap: 0.5rem;
}

/* ============================================================
 * Help CTA — replaces v1 inline-styled buttons
 * ============================================================ */
.pca-hv2-cta-help {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	min-width: 44px;
	padding: 0.5rem 1rem;
	border-radius: 6px;
	font-weight: 500;
	font-size: 0.875rem;
	text-decoration: none;
	cursor: pointer;
	white-space: nowrap;
	transition: background 150ms ease, color 150ms ease, border-color 150ms ease, transform 100ms ease;
}
.pca-hv2-cta-help:active { transform: scale(0.98); }
.pca-hv2-cta-help:focus-visible {
	outline: 2px solid var(--color-tropical-teal, #00B4D8);
	outline-offset: 2px;
}
.pca-hv2-cta-help--filled {
	background: var(--color-primary-orange, #FF6B35);
	color: #fff;
	border: 1px solid var(--color-primary-orange, #FF6B35);
}
.pca-hv2-cta-help--filled:hover,
.pca-hv2-cta-help--filled:focus {
	background: var(--color-primary-orange-hover, #E85D2A);
	border-color: var(--color-primary-orange-hover, #E85D2A);
	color: #fff;
}
.pca-hv2-cta-help--outline {
	background: transparent;
	color: var(--color-primary, #324fbe);
	border: 1px solid var(--color-primary, #324fbe);
}
.pca-hv2-cta-help--outline:hover,
.pca-hv2-cta-help--outline:focus {
	background: var(--color-primary, #324fbe);
	color: #fff;
}

/* ============================================================
 * Cross-sell link (cart page)
 * ============================================================ */
.pca-hv2-cross-sell {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.5rem 0.75rem;
	color: var(--color-tropical-teal-dark, #0096C7);
	text-decoration: none;
	font-weight: 500;
	border-radius: 6px;
	transition: background 150ms ease;
}
.pca-hv2-cross-sell:hover { background: var(--color-tropical-sand, #F8F5F1); }
.pca-hv2-cross-sell-icon { transition: transform 200ms ease; }
.pca-hv2-cross-sell:hover .pca-hv2-cross-sell-icon { transform: translateX(3px); }

/* ============================================================
 * Skip link
 * ============================================================ */
.pca-hv2-skip-link:focus {
	background: var(--color-tropical-teal, #00B4D8);
	color: #fff;
	padding: 0.75rem 1rem;
	z-index: 9999;
}

/* ============================================================
 * Offcanvas shared chrome (mobile menu + search overlay)
 * ============================================================ */
.pca-hv2-offcanvas {
	background: linear-gradient(180deg, #ffffff 0%, var(--color-tropical-sand, #F8F5F1) 100%);
	border: 0;
}
.pca-hv2-offcanvas.offcanvas-end {
	width: min(360px, 90vw);
	border-top-left-radius: 16px;
	border-bottom-left-radius: 16px;
}
.pca-hv2-offcanvas.offcanvas-bottom { height: 75vh; border-top-left-radius: 16px; border-top-right-radius: 16px; }

/* ============================================================
 * Stopgap: legacy `.pca-mobile-menu` offcanvas full-height override.
 *
 * Staging's header.php hardcodes a v2 markup variant that uses the legacy
 * `.pca-mobile-menu` class name (not `.pca-hv2-offcanvas`). Without this
 * override, the panel inherits the parent `.header-wrapper`'s 105px height
 * and menu items overflow OUT of the panel into the page area below.
 *
 * Applies only when:
 *   - viewport is mobile (<=991.98px), and
 *   - ancestor has `data-header-v2` attribute (so legacy v1 layouts elsewhere
 *     on the site are unaffected).
 *
 * Safe to remove once staging's header.php is migrated to the new
 * `.pca-hv2-offcanvas` markup.
 * ============================================================ */
@media (max-width: 991.98px) {
	[data-header-v2] .pca-mobile-menu.offcanvas {
		position: fixed !important;
		top: 0 !important;
		bottom: 0 !important;
		height: 100vh !important;
		height: 100dvh !important;
		overflow-y: auto !important;
		z-index: 1050 !important;
	}
	[data-header-v2] .pca-mobile-menu.offcanvas-end {
		right: 0 !important;
		left: auto !important;
		width: min(100%, 380px) !important;
		max-width: 100vw !important;
	}
}

.pca-hv2-offcanvas-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1rem 1.25rem;
	border-bottom: 1px solid var(--color-border, #e5e7eb);
}
.pca-hv2-offcanvas-brand {
	display: inline-flex;
	align-items: center;
	min-width: 0;
}
.pca-hv2-offcanvas-logo {
	height: 28px;
	width: auto;
	display: block;
}
.pca-hv2-offcanvas-actions {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	margin-left: auto;
	flex-shrink: 0;
}
.pca-hv2-offcanvas-title {
	margin: 0;
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--pca-hv2-deep-blue, #015b86);
	letter-spacing: -0.01em;
}
.pca-hv2-offcanvas-close {
	flex-shrink: 0;
	transition: background 150ms ease, color 150ms ease, transform 220ms cubic-bezier(0.34, 1.56, 0.64, 1);
}
.pca-hv2-offcanvas-close:hover {
	transform: rotate(90deg);
	color: var(--color-primary-orange, #FF6B35);
}

.pca-hv2-offcanvas-body {
	padding: 0.5rem 0;
	overflow-y: auto;
	flex: 1 1 auto;
}

.pca-hv2-offcanvas-footer {
	padding: 0.875rem 1.25rem;
	border-top: 1px solid var(--color-border, #e5e7eb);
	text-align: center;
	background: rgba(255, 255, 255, 0.6);
}
/* Static (non-clickable) trust block. We keep traffic on-site instead of
   sending users to the Google place page, which serves competitor ads. */
.pca-hv2-google-rating {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.25rem;
	padding: 0.25rem 0.5rem;
	color: var(--pca-hv2-deep-blue, #015b86);
	cursor: default;
	user-select: none;
}
.pca-hv2-google-rating-line1 {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1;
}
.pca-hv2-stars {
	color: var(--color-primary-orange, #FF6B35);
	letter-spacing: 1px;
	font-size: 0.95rem;
	line-height: 1;
}
.pca-hv2-rating-num strong {
	font-weight: 700;
	color: var(--pca-hv2-deep-blue-darker, #013952);
}
.pca-hv2-google-rating-line2 {
	display: inline-flex;
	align-items: center;
	font-size: 0.78rem;
	color: var(--color-muted, #6b7280);
}
.pca-hv2-rating-count {
	font-weight: 600;
	color: var(--pca-hv2-deep-blue, #015b86);
	margin-right: 0.25rem;
}
.pca-hv2-offcanvas-footer-text {
	margin: 0;
	font-size: 0.78rem;
	color: var(--color-muted, #6b7280);
	font-style: italic;
}

/* ============================================================
 * Mobile menu — links, sections, submenus
 * ============================================================ */
.pca-hv2-section-label {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding: 1rem 1.25rem 0.5rem;
	margin-top: 0.375rem;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--color-tropical-teal-dark, #0096C7);
	border-top: 1px solid rgba(0, 180, 216, 0.12);
}
.pca-hv2-section-label--first {
	border-top: 0;
	margin-top: 0;
}
.pca-hv2-section-label::before {
	content: "";
	display: inline-block;
	width: 14px;
	height: 2px;
	background: var(--color-primary-orange, #FF6B35);
	border-radius: 2px;
	flex-shrink: 0;
}

.pca-hv2-mobile-link,
.pca-hv2-mobile-link.pca-hv2-mobile-link--has-kids {
	position: relative;
	display: flex;
	align-items: center;
	gap: 0.875rem;
	width: 100%;
	padding: 0.875rem 1.25rem;
	background: transparent;
	border: 0;
	color: var(--pca-hv2-deep-blue, #015b86);
	font-size: 0.95rem;
	font-weight: 500;
	text-decoration: none;
	text-align: left;
	cursor: pointer;
	transition: background 150ms ease, color 150ms ease;
	min-height: 44px;
}
.pca-hv2-mobile-link:hover,
.pca-hv2-mobile-link:focus {
	background: rgba(1, 91, 134, 0.06);
	color: var(--pca-hv2-deep-blue-darker, #013952);
}
.pca-hv2-mobile-link:focus-visible {
	outline: 2px solid var(--pca-hv2-deep-blue, #015b86);
	outline-offset: -2px;
}
.pca-hv2-mobile-link.is-active {
	background: linear-gradient(90deg, rgba(1, 91, 134, 0.10) 0%, rgba(1, 91, 134, 0.02) 60%, transparent 100%);
	font-weight: 600;
	color: var(--pca-hv2-deep-blue-darker, #013952);
	box-shadow: inset 3px 0 0 var(--pca-hv2-deep-blue, #015b86);
}
.pca-hv2-mobile-link.is-active .pca-hv2-mobile-icon {
	color: var(--pca-hv2-deep-blue-darker, #013952);
}

.pca-hv2-mobile-icon  { flex-shrink: 0; color: var(--pca-hv2-deep-blue, #015b86); transition: color 150ms ease; }
.pca-hv2-mobile-link-text { flex: 1; }
.pca-hv2-mobile-chevron {
	flex-shrink: 0;
	color: var(--color-muted, #6b7280);
	transition: transform 240ms ease;
}
.pca-hv2-mobile-link--has-kids[aria-expanded="true"] .pca-hv2-mobile-chevron {
	transform: rotate(90deg);
}

.pca-hv2-mobile-submenu {
	background: rgba(248, 245, 241, 0.6);
	border-left: 2px solid var(--color-tropical-teal, #00B4D8);
	margin-left: 1.25rem;
}
.pca-hv2-mobile-sublink {
	display: flex;
	align-items: center;
	padding: 0.625rem 1.25rem;
	color: var(--pca-hv2-deep-blue, #015b86);
	font-size: 0.9rem;
	text-decoration: none;
	min-height: 44px;
	transition: background 150ms ease, color 150ms ease;
}
.pca-hv2-mobile-sublink:hover {
	background: rgba(1, 91, 134, 0.08);
	color: var(--pca-hv2-deep-blue-darker, #013952);
}
.pca-hv2-mobile-sublink--all {
	font-weight: 600;
	color: var(--pca-hv2-deep-blue-darker, #013952);
}
.pca-hv2-mobile-sublink.is-active {
	background: rgba(1, 91, 134, 0.10);
	color: var(--pca-hv2-deep-blue-darker, #013952);
	font-weight: 600;
}

/* Per-link semantic tints for utility section.
   Phone icon was orange in the first cut — too loud vs primary nav.
   Aligned to deep brand blue so the orange Cart badge stays the only loud accent. */
.pca-hv2-mobile-link--whatsapp .pca-hv2-mobile-icon { color: #25D366; }
.pca-hv2-mobile-link--phone    .pca-hv2-mobile-icon { color: var(--pca-hv2-deep-blue, #015b86); }
.pca-hv2-mobile-link--help     .pca-hv2-mobile-icon { color: var(--pca-hv2-deep-blue, #015b86); }

.pca-hv2-mobile-link--cart.has-items .pca-hv2-mobile-icon { color: var(--color-primary-orange, #FF6B35); }
.pca-hv2-mobile-badge {
	margin-left: auto;
	min-width: 22px;
	padding: 0 7px;
	border-radius: 999px;
	background: var(--color-primary-orange, #FF6B35);
	color: #fff;
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 22px;
	text-align: center;
}

/* Stagger reveal — items materialize in cascade after offcanvas slide-in.
   Honors prefers-reduced-motion. */
@media (prefers-reduced-motion: no-preference) {
	.pca-hv2-mobile-menu.show .pca-hv2-section-label,
	.pca-hv2-mobile-menu.show .pca-hv2-mobile-link {
		animation: pca-hv2-stagger-in 380ms cubic-bezier(0.16, 1, 0.3, 1) backwards;
	}
	.pca-hv2-mobile-menu.show nav > *:nth-child(1)  { animation-delay:  60ms; }
	.pca-hv2-mobile-menu.show nav > *:nth-child(2)  { animation-delay:  90ms; }
	.pca-hv2-mobile-menu.show nav > *:nth-child(3)  { animation-delay: 120ms; }
	.pca-hv2-mobile-menu.show nav > *:nth-child(4)  { animation-delay: 150ms; }
	.pca-hv2-mobile-menu.show nav > *:nth-child(5)  { animation-delay: 180ms; }
	.pca-hv2-mobile-menu.show nav > *:nth-child(6)  { animation-delay: 210ms; }
	.pca-hv2-mobile-menu.show nav > *:nth-child(7)  { animation-delay: 240ms; }
	.pca-hv2-mobile-menu.show nav > *:nth-child(8)  { animation-delay: 270ms; }
	.pca-hv2-mobile-menu.show nav > *:nth-child(9)  { animation-delay: 300ms; }
	.pca-hv2-mobile-menu.show nav > *:nth-child(10) { animation-delay: 330ms; }
	.pca-hv2-mobile-menu.show nav > *:nth-child(11) { animation-delay: 360ms; }
	.pca-hv2-mobile-menu.show nav > *:nth-child(12) { animation-delay: 390ms; }
}
@keyframes pca-hv2-stagger-in {
	from { opacity: 0; transform: translateX(14px); }
	to   { opacity: 1; transform: translateX(0); }
}

/* ============================================================
 * Search overlay (mobile bottom sheet)
 * ============================================================ */
.pca-hv2-search-input-wrap { padding: 1rem 1.25rem 0.5rem; }

.pca-hv2-popular { padding: 0.5rem 1.25rem 1rem; }
.pca-hv2-popular-title {
	margin: 0 0 0.75rem;
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--color-muted, #6b7280);
	text-transform: uppercase;
	letter-spacing: 0.06em;
}
.pca-hv2-popular-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.5rem;
}
.pca-hv2-pill {
	display: inline-flex;
	align-items: center;
	gap: 0.625rem;
	padding: 0.75rem 0.875rem;
	background: rgba(0, 180, 216, 0.06);
	border: 1px solid rgba(0, 180, 216, 0.18);
	border-radius: 10px;
	color: var(--color-heading, #111827);
	font-size: 0.875rem;
	font-weight: 500;
	text-decoration: none;
	transition: background 150ms ease, border-color 150ms ease, transform 100ms ease;
}
.pca-hv2-pill:hover {
	background: rgba(0, 180, 216, 0.12);
	border-color: var(--color-tropical-teal, #00B4D8);
}
.pca-hv2-pill:active { transform: scale(0.97); }
.pca-hv2-pill-icon { color: var(--color-tropical-teal, #00B4D8); flex-shrink: 0; }

.pca-hv2-help-footer {
	padding: 1rem 1.25rem 1.5rem;
	border-top: 1px solid var(--color-border, #e5e7eb);
	margin-top: 0.5rem;
}
.pca-hv2-help-text {
	margin: 0 0 0.75rem;
	font-size: 0.875rem;
	color: var(--color-muted, #6b7280);
	text-align: center;
}
.pca-hv2-help-actions {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.5rem;
}
.pca-hv2-help-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 0.75rem 0.875rem;
	border-radius: 8px;
	font-size: 0.875rem;
	font-weight: 600;
	text-decoration: none;
	min-height: 44px;
	transition: background 150ms ease, color 150ms ease;
}
.pca-hv2-help-btn--primary {
	background: var(--color-primary-orange, #FF6B35);
	color: #fff;
}
.pca-hv2-help-btn--primary:hover { background: var(--color-primary-orange-hover, #E85D2A); color: #fff; }
.pca-hv2-help-btn--secondary {
	background: transparent;
	color: var(--color-primary, #324fbe);
	border: 1px solid var(--color-primary, #324fbe);
}
.pca-hv2-help-btn--secondary:hover {
	background: var(--color-primary, #324fbe);
	color: #fff;
}

/* ============================================================
 * Desktop search inline (excursions only)
 * ============================================================ */
.pca-hv2-search-inline {
	margin-inline: 1rem;
	flex: 1 1 auto;
	max-width: 400px;
}

/* ============================================================
 * Hide v1's scope-bleeding helpers when v2 is active
 * ============================================================ */
body.pca-header-v2 .navbar-brand img { /* defensive: in case any stray inline rule fires */
	height: inherit;
}
