/* ============================================================
   TAE Redesign Stylesheet
   v1.4.1 , header refinements:
   , persistent backdrop-blur (no dark-slab swap)
   , menu colors locked with !important against theme bleed
   , square logo (2000x2000) properly contained at 44px height
   , border-bottom accent for hover/active states (no green text)
   ============================================================ */

/* ============ ROOT TOKENS ============ */
:root {
	--tae-black: #0a0a0a;
	--tae-black-soft: #141414;
	--tae-ink: #1a1a1a;
	--tae-green: #1f8a3e;
	--tae-green-bright: #29b850;
	--tae-green-deep: #156a2e;
	--tae-green-glow: rgba(41, 184, 80, 0.15);
	--tae-paper: #faf8f3;
	--tae-cream: #f0ece2;
	--tae-white: #ffffff;
	--tae-text-muted: #8a8a8a;
	--tae-text-soft: #5a5a5a;
	--tae-line: rgba(255, 255, 255, 0.08);
	--tae-line-dark: rgba(13, 13, 13, 0.1);
	--tae-gold: #c9a961;

	--tae-font-heading: 'Rubik', system-ui, -apple-system, sans-serif;
	--tae-font-body: 'Inter', system-ui, -apple-system, sans-serif;

	--tae-container-width: 1280px;
	--tae-container-padding: 32px;
	--tae-header-height: 188px;
	--tae-logo-height: 160px;
}

/* ============ HEADER ============ */
.tae-nav .tae-container,
.tae-nav-drawer .tae-container {
	max-width: var(--tae-container-width);
	margin: 0 auto;
	padding: 0 var(--tae-container-padding);
	width: 100%;
}

.tae-nav {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 9990;
	padding: 16px 0;
	font-family: var(--tae-font-body);
	/* Fully transparent over the hero, white logo carries legibility. */
	background: transparent;
	border-bottom: 1px solid transparent;
	transition: background-color 0.3s ease, padding 0.3s ease,
	            border-color 0.3s ease, box-shadow 0.3s ease;
}

/* Scrolled state , solid black, no blur. */
.tae-nav.is-solid {
	background: var(--tae-black);
	border-bottom-color: rgba(255, 255, 255, 0.08);
	padding: 12px 0;
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.35);
}

/* Always-solid variant , for non-hero pages. Same solid black. */
.tae-nav:not(.tae-nav-transparent) {
	background: var(--tae-black);
	border-bottom-color: rgba(255, 255, 255, 0.08);
}

.tae-nav-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

/* Body offset for non-hero pages */
body.tae-has-solid-header { padding-top: var(--tae-header-height); }

/* ============ LOGO ============ */
.tae-nav-logo {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	text-decoration: none;
	flex-shrink: 0;
	height: var(--tae-logo-height);
	line-height: 1;
}

/* CRITICAL: defeat theme rules that set width: 100%; height: auto on images.
   The logo is 2000x2000 square; we constrain by height and let width follow. */
.tae-nav-logo .tae-nav-logo-img {
	height: var(--tae-logo-height) !important;
	width: auto !important;
	max-width: none !important;
	max-height: var(--tae-logo-height) !important;
	display: block !important;
	object-fit: contain !important;
	margin: 0 !important;
	padding: 0 !important;
}

.tae-nav-logo-text {
	font-family: var(--tae-font-heading);
	font-weight: 700;
	font-size: 16px;
	color: var(--tae-white);
	letter-spacing: -0.01em;
	text-transform: uppercase;
	line-height: 1;
}
.tae-nav-logo-text span { color: var(--tae-green-bright); }

/* ============ MENU ============ */
.tae-nav-menu {
	flex: 1;
	display: flex;
	justify-content: center;
}
.tae-nav-links {
	display: flex !important;
	align-items: center;
	gap: 36px;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
.tae-nav-links li {
	padding: 0 !important;
	margin: 0 !important;
	list-style: none !important;
	background: none !important;
}

/* Menu links , locked white with !important to defeat theme bleed.
   Hover/active state uses a green underline accent, not a color change,
   so it doesn't look like "everything is selected". */
.tae-nav-links a {
	font-family: var(--tae-font-body) !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	color: rgba(255, 255, 255, 0.85) !important;
	text-decoration: none !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	padding: 6px 0 !important;
	display: inline-block;
	position: relative;
	border: none !important;
	background: none !important;
	transition: color 0.2s ease;
}

/* Underline accent on hover and current item */
.tae-nav-links a::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 2px;
	background: var(--tae-green-bright);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.tae-nav-links a:hover,
.tae-nav-links a:focus-visible {
	color: var(--tae-white) !important;
}
.tae-nav-links a:hover::after,
.tae-nav-links a:focus-visible::after,
.tae-nav-links li.current-menu-item > a::after,
.tae-nav-links li.current_page_item > a::after,
.tae-nav-links li.current-menu-parent > a::after,
.tae-nav-links li.current-page-ancestor > a::after {
	transform: scaleX(1);
}

.tae-nav-links li.current-menu-item > a,
.tae-nav-links li.current_page_item > a {
	color: var(--tae-white) !important;
}

/* ============ ACTIONS (CTA + burger) ============ */
.tae-nav-actions {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-shrink: 0;
}
.tae-nav-cta {
	display: inline-flex !important;
	align-items: center;
	gap: 8px;
	background: var(--tae-green) !important;
	color: var(--tae-white) !important;
	padding: 11px 20px !important;
	font-family: var(--tae-font-body) !important;
	font-size: 14px !important;
	font-weight: 900 !important;
	text-decoration: none !important;
	border-radius: 100px !important;
	border: 1px solid var(--tae-green) !important;
	white-space: nowrap;
	transition: background-color 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
	box-shadow: none !important;
}
.tae-nav-cta:hover,
.tae-nav-cta:focus-visible {
	background: var(--tae-green-bright) !important;
	border-color: var(--tae-green-bright) !important;
	color: var(--tae-white) !important;
}
.tae-nav-cta svg {
	width: 14px;
	height: 14px;
	flex-shrink: 0;
}

/* ============ BURGER ============ */
.tae-nav-burger {
	display: none;
	width: 40px;
	height: 40px;
	background: transparent !important;
	border: 1px solid rgba(255, 255, 255, 0.25) !important;
	border-radius: 50% !important;
	cursor: pointer;
	padding: 0 !important;
	position: relative;
	transition: border-color 0.2s ease;
}
.tae-nav-burger:hover { border-color: rgba(255, 255, 255, 0.5) !important; }
.tae-nav-burger span {
	display: block !important;
	position: absolute !important;
	left: 11px !important;
	right: 11px !important;
	height: 1.5px !important;
	background: var(--tae-white) !important;
	transition: transform 0.3s ease, opacity 0.3s ease, top 0.3s ease !important;
	transform-origin: center !important;
}
.tae-nav-burger span:nth-child(1) { top: 14px !important; transform: rotate(0deg) !important; }
.tae-nav-burger span:nth-child(2) { top: 19px !important; opacity: 1 !important; }
.tae-nav-burger span:nth-child(3) { top: 24px !important; transform: rotate(0deg) !important; }
.tae-nav-burger.is-open span:nth-child(1) { top: 19px !important; transform: rotate(45deg) !important; }
.tae-nav-burger.is-open span:nth-child(2) { opacity: 0 !important; }
.tae-nav-burger.is-open span:nth-child(3) { top: 19px !important; transform: rotate(-45deg) !important; }

/* ============ MOBILE DRAWER ============ */
.tae-nav-drawer {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: var(--tae-black);
	z-index: 9989;
	transform: translateY(-100%);
	transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
	padding: calc(var(--tae-header-height) + 16px) 0 40px;
	overflow-y: auto;
	display: none;
}
.tae-nav-drawer.is-open {
	transform: translateY(0);
	display: block;
}

/* Dedicated close button inside the drawer , sits in the drawer's
   own stacking context so it's always visible when open, regardless
   of how Elementor wraps the [tae_header] shortcode. The burger
   button outside the drawer can be hidden behind Elementor wrappers
   in some setups, but this close button is rendered inside the
   fixed full-screen drawer and is guaranteed to be on top. */
.tae-nav-drawer-close {
	position: absolute !important;
	top: 24px !important;
	right: 24px !important;
	width: 48px !important;
	height: 48px !important;
	background: transparent !important;
	border: 1px solid rgba(255, 255, 255, 0.3) !important;
	border-radius: 50% !important;
	color: var(--tae-white) !important;
	cursor: pointer !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0 !important;
	z-index: 2 !important;
	transition: border-color 0.2s ease, background-color 0.2s ease, transform 0.2s ease !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	box-shadow: none !important;
	margin: 0 !important;
}
.tae-nav-drawer-close:hover {
	border-color: var(--tae-green-bright) !important;
	background: rgba(41, 184, 80, 0.1) !important;
	transform: rotate(90deg) !important;
}
.tae-nav-drawer-close svg {
	width: 20px !important;
	height: 20px !important;
	display: block !important;
}
.tae-nav-drawer-inner {
	max-width: var(--tae-container-width);
	margin: 0 auto;
	padding: 0 var(--tae-container-padding);
	display: flex;
	flex-direction: column;
	gap: 24px;
}
.tae-nav-drawer .tae-nav-links {
	flex-direction: column !important;
	align-items: flex-start;
	gap: 0;
	width: 100%;
}
.tae-nav-drawer .tae-nav-links li {
	width: 100%;
	border-bottom: 1px solid var(--tae-line);
}
.tae-nav-drawer .tae-nav-links a {
	font-family: var(--tae-font-heading) !important;
	font-size: 28px !important;
	font-weight: 700 !important;
	color: var(--tae-white) !important;
	text-transform: uppercase !important;
	letter-spacing: -0.02em !important;
	padding: 18px 0 !important;
	display: block !important;
	width: 100%;
}
.tae-nav-drawer .tae-nav-links a::after { display: none; }
.tae-nav-drawer .tae-nav-links a:hover {
	color: var(--tae-green-bright) !important;
}
.tae-nav-cta-mobile {
	margin-top: 12px;
	align-self: flex-start;
	font-size: 16px !important;
	padding: 14px 24px !important;
}

body.tae-drawer-open { overflow: hidden; }

/* ============ RESPONSIVE ============ */
@media (max-width: 1024px) {
	.tae-nav-links { gap: 24px; }
	:root { --tae-container-padding: 24px; }
}

@media (max-width: 860px) {
	.tae-nav-menu { display: none; }
	.tae-nav-burger { display: block; }
	.tae-nav-cta {
		display: none !important;
	}
	:root { --tae-container-padding: 20px; }
}

@media (max-width: 480px) {
	.tae-nav { padding: 12px 0; }
	.tae-nav.is-solid { padding: 10px 0; }
	:root { --tae-logo-height: 100px; --tae-header-height: 128px; }
}

/* ============ ELEMENTOR INTEROP ============ */
/* Make sure Elementor wrappers don't break the fixed header */
.elementor-widget-html .tae-nav { position: fixed !important; }
.elementor-widget-html .tae-nav-drawer { position: fixed !important; }

/* ============================================================
   FOOTER
   ============================================================
   Dark surface, 4-column layout, brand block + 3 link columns,
   social icons, copyright bottom row. Matches v3 design system.
   ============================================================ */

.tae-footer {
	background: #050505;
	color: rgba(255, 255, 255, 0.6);
	font-family: var(--tae-font-body);
	font-size: 14px;
	line-height: 1.6;
	padding: 80px 0 32px;
	position: relative;
}

/* Subtle green top border accent */
.tae-footer::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 2px;
	background: linear-gradient(90deg,
		transparent 0%,
		var(--tae-green) 30%,
		var(--tae-green-bright) 50%,
		var(--tae-green) 70%,
		transparent 100%);
	opacity: 0.4;
}

.tae-footer .tae-container {
	max-width: var(--tae-container-width);
	margin: 0 auto;
	padding: 0 var(--tae-container-padding);
}

.tae-footer-grid {
	display: grid;
	grid-template-columns: 2fr 1fr 1fr 1fr !important;
	gap: 60px;
	margin-bottom: 56px;
}

/* ============ BRAND COLUMN ============ */
.tae-footer-brand-col {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.tae-footer-brand {
	display: inline-flex;
	align-items: center;
	text-decoration: none !important;
	width: fit-content;
}

.tae-footer-brand img {
	height: 56px !important;
	width: auto !important;
	max-width: none !important;
	max-height: 56px !important;
	display: block !important;
	object-fit: contain !important;
	margin: 0 !important;
	padding: 0 !important;
}

.tae-footer-brand-text {
	font-family: var(--tae-font-heading);
	font-weight: 700;
	font-size: 18px;
	color: var(--tae-white);
	letter-spacing: -0.01em;
	text-transform: uppercase;
	line-height: 1;
}
.tae-footer-brand-text span { color: var(--tae-green-bright); }

.tae-footer-tagline {
	color: rgba(255, 255, 255, 0.55);
	line-height: 1.6;
	max-width: 320px;
	margin: 0;
	font-size: 14px;
}

/* ============ SOCIAL ICONS ============ */
.tae-footer-social {
	display: flex;
	gap: 10px;
	margin-top: 8px;
}
.tae-footer-social a {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.1);
	color: rgba(255, 255, 255, 0.7) !important;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.25s ease;
	text-decoration: none !important;
}
.tae-footer-social a:hover {
	background: var(--tae-green);
	border-color: var(--tae-green);
	color: var(--tae-white) !important;
	transform: translateY(-2px);
}

/* ============ LINK COLUMNS ============ */
.tae-footer-col {
	display: flex;
	flex-direction: column;
}
.tae-footer-col-title {
	font-family: var(--tae-font-heading);
	font-weight: 700;
	font-size: 11px;
	color: var(--tae-white);
	text-transform: uppercase;
	letter-spacing: 0.18em;
	margin-bottom: 20px;
}

.tae-footer-col ul {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
.tae-footer-col ul li {
	padding: 5px 0 !important;
	margin: 0 !important;
	list-style: none !important;
	color: rgba(255, 255, 255, 0.6);
	font-size: 14px;
	line-height: 1.5;
	background: none !important;
}
.tae-footer-col ul li::before {
	content: none !important;
}
.tae-footer-col a {
	color: rgba(255, 255, 255, 0.6) !important;
	text-decoration: none !important;
	transition: color 0.2s ease;
	font-size: 14px !important;
	font-weight: 400 !important;
	font-family: var(--tae-font-body) !important;
}
.tae-footer-col a:hover {
	color: var(--tae-green-bright) !important;
}

/* ============ BOTTOM ROW ============ */
.tae-footer-bottom {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-top: 28px;
	border-top: 1px solid var(--tae-line);
	font-size: 12px;
	color: rgba(255, 255, 255, 0.4);
	flex-wrap: wrap;
	gap: 16px;
}
.tae-footer-bottom a {
	color: rgba(255, 255, 255, 0.5) !important;
	text-decoration: none !important;
	transition: color 0.2s ease;
}
.tae-footer-bottom a:hover {
	color: var(--tae-green-bright) !important;
}

/* ============ FOOTER RESPONSIVE ============ */
@media (max-width: 1024px) {
	.tae-footer-grid {
		grid-template-columns: 2fr 1fr 1fr !important;
		gap: 40px !important;
	}
	.tae-footer-brand-col {
		grid-column: span 3 !important;
		margin-bottom: 16px !important;
	}
}

@media (max-width: 720px) {
	.tae-footer {
		padding: 60px 0 28px !important;
	}
	.tae-footer-grid {
		grid-template-columns: 1fr 1fr !important;
		gap: 32px 24px !important;
		margin-bottom: 40px !important;
	}
	.tae-footer-brand-col {
		grid-column: span 2 !important;
		margin-bottom: 8px !important;
	}
	.tae-footer-bottom {
		flex-direction: column !important;
		align-items: flex-start;
		text-align: left !important;
		font-size: 11px !important;
	}
}

@media (max-width: 420px) {
	.tae-footer-grid {
		grid-template-columns: 1fr !important;
		gap: 32px !important;
	}
	.tae-footer-brand-col {
		grid-column: span 1 !important;
	}
}

/* ============================================================
   HOMEPAGE
   v1.5.0 , full homepage layout
   ============================================================ */

.tae-home {
	font-family: var(--tae-font-body);
	color: var(--tae-ink);
	overflow-x: hidden;
	max-width: 100vw;
}
.tae-home *, .tae-home *::before, .tae-home *::after { box-sizing: border-box; }
.tae-home h1, .tae-home h2, .tae-home h3, .tae-home h4 {
	font-family: var(--tae-font-heading);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.05;
	color: inherit;
	margin: 0;
}
.tae-home p { margin: 0; line-height: 1.6; }
.tae-home a { color: inherit; text-decoration: none; }
.tae-home img {
	max-width: 100%;
	display: block;
}
.tae-home em {
	font-style: italic;
	color: var(--tae-green);
	font-weight: 600;
}

/* Kill all margins on sections to prevent stray whitespace between them */
.tae-home > section,
.tae-home section.tae-home-hero,
.tae-home section.tae-home-section,
.tae-home section.tae-home-trust,
.tae-home section.tae-home-cta,
.tae-home section.tae-home-next-tour-wrap {
	margin: 0 !important;
}

.tae-home .tae-container {
	max-width: var(--tae-container-width);
	margin: 0 auto;
	padding: 0 var(--tae-container-padding);
	width: 100%;
}

/* ============ SHARED BUTTONS ============ */
.tae-btn-primary {
	display: inline-flex !important;
	align-items: center;
	gap: 12px;
	background: var(--tae-green) !important;
	color: var(--tae-white) !important;
	padding: 16px 26px !important;
	font-family: var(--tae-font-body) !important;
	font-size: 14px !important;
	font-weight: 900 !important;
	text-decoration: none !important;
	border: 1px solid var(--tae-green) !important;
	border-radius: 100px !important;
	transition: all 0.2s ease;
	white-space: nowrap;
	box-shadow: none !important;
}
.tae-btn-primary:hover {
	background: var(--tae-green-bright) !important;
	border-color: var(--tae-green-bright) !important;
	color: var(--tae-white) !important;
}
.tae-btn-primary.tae-btn-dark {
	background: var(--tae-ink) !important;
	border-color: var(--tae-ink) !important;
}
.tae-btn-primary.tae-btn-dark:hover {
	background: var(--tae-black) !important;
	border-color: var(--tae-black) !important;
}
.tae-btn-arrow {
	width: 28px; height: 28px;
	background: var(--tae-white);
	color: var(--tae-green);
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.tae-btn-arrow svg { width: 14px; height: 14px; }
.tae-btn-arrow-green {
	background: var(--tae-green-bright);
	color: var(--tae-black);
}

.tae-btn-ghost {
	display: inline-flex !important;
	align-items: center;
	gap: 10px;
	background: transparent !important;
	color: var(--tae-white) !important;
	padding: 15px 26px !important;
	font-family: var(--tae-font-body) !important;
	font-size: 14px !important;
	font-weight: 900 !important;
	text-decoration: none !important;
	border: 1px solid rgba(255,255,255,0.25) !important;
	border-radius: 100px !important;
	transition: all 0.2s ease;
}
.tae-btn-ghost:hover {
	background: rgba(255,255,255,0.08) !important;
	border-color: rgba(255,255,255,0.5) !important;
}

/* ============ SHARED SECTION ELEMENTS ============ */
.tae-section-eyebrow {
	font-family: var(--tae-font-body);
	font-size: 12px;
	font-weight: 500;
	color: var(--tae-green);
	text-transform: uppercase;
	letter-spacing: 0.15em;
	margin-bottom: 16px;
	display: flex;
	align-items: center;
	gap: 12px;
}
.tae-section-eyebrow::before {
	content: '';
	width: 28px; height: 1px;
	background: var(--tae-green);
	flex-shrink: 0;
}
.tae-section-eyebrow-bright {
	color: var(--tae-green-bright);
}
.tae-section-eyebrow-bright::before {
	background: var(--tae-green-bright);
}

.tae-section-title {
	font-family: var(--tae-font-heading) !important;
	font-size: clamp(36px, 4.5vw, 56px) !important;
	font-weight: 700 !important;
	letter-spacing: -0.03em !important;
	line-height: 0.95 !important;
	color: var(--tae-ink) !important;
	text-transform: none !important;
}
.tae-section-title em {
	font-style: italic !important;
	color: var(--tae-green) !important;
	font-weight: 600 !important;
}
.tae-section-title-light {
	color: var(--tae-white) !important;
}
.tae-section-title-light em {
	color: var(--tae-green-bright) !important;
}

.tae-section-blurb {
	font-size: 16px !important;
	color: var(--tae-text-soft) !important;
	max-width: 420px;
	line-height: 1.55 !important;
}
.tae-section-blurb-light {
	color: rgba(255,255,255,0.65) !important;
}

.tae-home-section {
	padding: 100px 0;
	background: var(--tae-paper);
}
.tae-home-section-head {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 40px !important;
	margin-bottom: 56px;
	align-items: end !important;
	text-align: left !important;
}
.tae-home-section-head > div,
.tae-home-section-head > p {
	min-width: 0;
	text-align: left !important;
}

/* ============ HERO ============ */
.tae-home-hero {
	position: relative;
	min-height: 760px;
	background: var(--tae-black);
	color: var(--tae-white);
	overflow: hidden;
	/* Header is 96px tall, fixed-position. We need enough top padding
	   to clear it (96px) + breathing room (~80-100px) so the eyebrow pill
	   has air above it. */
	padding: 180px 0 0;
	margin-top: calc(var(--tae-header-height) * -1);
}
.tae-home-hero-bg {
	position: absolute;
	inset: 0;
	/* Lighter top overlay so the hero image is clearly visible, but heavier
	   bottom gradient to keep the stats bar and CTA buttons legible. */
	background:
		linear-gradient(180deg,
			rgba(10,10,10,0.25) 0%,
			rgba(10,10,10,0.45) 45%,
			rgba(10,10,10,0.85) 85%,
			var(--tae-black) 100%),
		var(--hero-image) center/cover;
}
.tae-home-hero-grid-overlay {
	display: none !important;
}
.tae-home-hero-glow {
	position: absolute;
	top: 20%; left: 50%;
	transform: translateX(-50%);
	width: 800px; height: 800px;
	background: radial-gradient(circle, var(--tae-green-glow) 0%, transparent 60%);
	pointer-events: none;
}
.tae-home-hero-content {
	position: relative;
	z-index: 2;
}
.tae-home-hero-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 6px 14px 6px 8px;
	background: rgba(41, 184, 80, 0.12);
	border: 1px solid rgba(41, 184, 80, 0.3);
	border-radius: 100px;
	font-family: var(--tae-font-body);
	font-size: 12px;
	font-weight: 500;
	color: var(--tae-green-bright);
	letter-spacing: 0.05em;
	text-transform: uppercase;
	margin-bottom: 28px;
}
.tae-home-hero-eyebrow::before {
	content: '';
	width: 8px; height: 8px;
	background: var(--tae-green-bright);
	border-radius: 50%;
	box-shadow: 0 0 12px var(--tae-green-bright);
	animation: tae-pulse 2s ease-in-out infinite;
}
@keyframes tae-pulse {
	0%, 100% { opacity: 1; transform: scale(1); }
	50% { opacity: 0.6; transform: scale(0.85); }
}
.tae-home-hero-title {
	font-family: var(--tae-font-heading) !important;
	font-size: clamp(56px, 8vw, 120px) !important;
	font-weight: 800 !important;
	line-height: 0.92 !important;
	letter-spacing: -0.04em !important;
	max-width: 1100px;
	margin-bottom: 28px !important;
	text-transform: uppercase !important;
	color: var(--tae-white) !important;
	/* Subtle drop shadow so the title stays readable against
	   bright spots in the now-visible hero image. */
	text-shadow: 0 2px 30px rgba(0, 0, 0, 0.4);
}
.tae-home-hero-title em {
	color: var(--tae-green-bright) !important;
	font-style: italic !important;
	font-weight: 700 !important;
}
.tae-home-hero-sub {
	font-size: 18px !important;
	max-width: 540px;
	color: rgba(255,255,255,0.85) !important;
	margin-bottom: 40px !important;
	text-shadow: 0 1px 12px rgba(0, 0, 0, 0.5);
	line-height: 1.55 !important;
}
.tae-home-hero-ctas {
	display: flex;
	gap: 14px;
	align-items: center;
	flex-wrap: wrap;
}

.tae-home-hero-stats {
	position: relative;
	z-index: 3;
	margin-top: 100px;
	border-top: 1px solid var(--tae-line);
	padding: 28px 0;
	background: rgba(10,10,10,0.6);
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
}
.tae-home-hero-stats-inner {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 32px !important;
	align-items: center !important;
}
.tae-home-hero-stat {
	display: flex;
	align-items: baseline;
	gap: 12px;
}
.tae-home-hero-stat-num {
	font-family: var(--tae-font-heading) !important;
	font-weight: 800 !important;
	font-size: 36px !important;
	color: var(--tae-white) !important;
	letter-spacing: -0.03em !important;
	line-height: 1 !important;
}
.tae-home-hero-stat-num .tae-unit {
	color: var(--tae-green-bright) !important;
	margin-left: 2px;
}
.tae-home-hero-stat-label {
	font-size: 11px !important;
	font-weight: 500 !important;
	color: var(--tae-text-muted) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.12em !important;
	line-height: 1.3 !important;
}

/* ============ EXPERIENCES GRID ============ */
.tae-home-experiences-grid {
	display: grid !important;
	grid-template-columns: 1.6fr 1fr 1fr !important;
	gap: 16px !important;
	margin-bottom: 32px !important;
}
.tae-home-exp-card {
	position: relative;
	background: var(--tae-black-soft);
	border-radius: 16px;
	overflow: hidden;
	min-height: 480px;
	cursor: pointer;
	transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
	color: var(--tae-white) !important;
	text-decoration: none !important;
}
.tae-home-exp-card:hover { transform: translateY(-6px); }
.tae-home-exp-img {
	position: absolute; inset: 0;
	background-size: cover;
	background-position: center;
	transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.tae-home-exp-card:hover .tae-home-exp-img { transform: scale(1.05); }
.tae-home-exp-card::after {
	content: '';
	position: absolute; inset: 0;
	background: linear-gradient(180deg, transparent 30%, rgba(10,10,10,0.95) 100%);
}
.tae-home-exp-content {
	position: relative;
	z-index: 2;
	padding: 28px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 100%;
	min-height: inherit;
}
.tae-home-exp-top {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.tae-home-exp-bottom {
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.tae-home-exp-tag {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: rgba(41, 184, 80, 0.15);
	border: 1px solid rgba(41, 184, 80, 0.4);
	color: var(--tae-green-bright);
	padding: 6px 12px;
	border-radius: 100px;
	font-size: 11px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	width: fit-content;
}
.tae-home-exp-tag.tae-tag-matchday {
	background: rgba(220, 50, 50, 0.15);
	border-color: rgba(220, 50, 50, 0.4);
	color: #ff7070;
}
.tae-home-exp-tag.tae-tag-bike {
	background: rgba(40, 100, 200, 0.15);
	border-color: rgba(40, 100, 200, 0.4);
	color: #6ba0ff;
}
.tae-tag-dot {
	width: 6px; height: 6px;
	background: currentColor;
	border-radius: 50%;
}
.tae-home-exp-meta {
	display: flex;
	gap: 12px;
	font-size: 11px !important;
	font-weight: 500 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.12em !important;
	color: rgba(255,255,255,0.6) !important;
	flex-wrap: wrap;
}
.tae-home-exp-meta span {
	color: rgba(255,255,255,0.6) !important;
}
.tae-home-exp-title {
	font-family: var(--tae-font-heading) !important;
	font-size: 22px !important;
	font-weight: 700 !important;
	line-height: 1.05 !important;
	letter-spacing: -0.02em !important;
	text-transform: uppercase !important;
	color: var(--tae-white) !important;
}
.tae-home-exp-desc {
	font-size: 14px !important;
	color: rgba(255,255,255,0.75) !important;
	max-width: 480px;
	line-height: 1.5 !important;
}
.tae-home-exp-foot {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	padding-top: 14px;
	border-top: 1px solid rgba(255,255,255,0.12);
}
.tae-home-exp-price-label {
	font-size: 10px !important;
	font-weight: 500 !important;
	color: rgba(255,255,255,0.5) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.1em !important;
	display: block;
	margin-bottom: 2px;
}
.tae-home-exp-price {
	font-family: var(--tae-font-heading) !important;
	font-weight: 700 !important;
	font-size: 22px !important;
	color: var(--tae-white) !important;
}
.tae-home-exp-num {
	font-family: var(--tae-font-heading) !important;
	font-weight: 800 !important;
	font-size: 13px !important;
	color: rgba(255,255,255,0.4) !important;
	letter-spacing: 0.1em !important;
}
.tae-home-exp-arrow {
	width: 44px; height: 44px;
	background: var(--tae-green);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--tae-white);
	transition: all 0.3s;
	flex-shrink: 0;
}
.tae-home-exp-arrow svg { width: 18px; height: 18px; }
.tae-home-exp-card:hover .tae-home-exp-arrow {
	background: var(--tae-green-bright);
	transform: translate(4px, -4px);
}

/* Featured card spans more cells */
.tae-home-exp-card-featured {
	grid-column: span 1;
	grid-row: span 2;
	min-height: 600px;
}
.tae-home-exp-card-featured .tae-home-exp-title {
	font-size: 48px !important;
	line-height: 0.95 !important;
}

.tae-home-experiences-cta {
	text-align: center;
	margin-top: 12px;
}

/* ============ NEXT TOUR COUNTDOWN ============ */
.tae-home-next-tour-wrap {
	padding: 0 0 60px;
	background: var(--tae-paper);
}
.tae-home-next-tour {
	position: relative;
	background: var(--tae-black);
	color: var(--tae-white);
	border-radius: 24px;
	padding: 48px;
	overflow: hidden;
}
.tae-home-next-tour-glow {
	position: absolute;
	top: -100px; right: -100px;
	width: 400px; height: 400px;
	background: radial-gradient(circle, var(--tae-green-glow) 0%, transparent 60%);
	pointer-events: none;
}
.tae-home-next-tour-inner {
	position: relative;
	z-index: 2;
	display: grid !important;
	grid-template-columns: 1fr auto !important;
	gap: 40px !important;
	align-items: center !important;
	text-align: left !important;
}
.tae-home-next-tour-left {
	text-align: left !important;
}
.tae-home-next-tour-left .tae-section-eyebrow {
	margin-bottom: 12px;
}
.tae-home-next-tour-title {
	font-family: var(--tae-font-heading) !important;
	font-size: 38px !important;
	font-weight: 700 !important;
	letter-spacing: -0.02em !important;
	margin-bottom: 12px !important;
	line-height: 1.05 !important;
	color: var(--tae-white) !important;
	text-transform: none !important;
}
.tae-home-next-tour-meta {
	display: flex;
	gap: 24px;
	font-size: 13px !important;
	color: rgba(255,255,255,0.6) !important;
	flex-wrap: wrap;
}
.tae-home-next-tour-meta span {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: rgba(255,255,255,0.6) !important;
}
.tae-home-next-tour-right {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 20px;
}
.tae-countdown {
	display: flex;
	gap: 10px;
	align-items: center;
}
.tae-countdown-block {
	background: rgba(255,255,255,0.04);
	border: 1px solid rgba(255,255,255,0.08);
	border-radius: 14px;
	padding: 16px 18px;
	text-align: center;
	min-width: 76px;
}
.tae-countdown-num {
	font-family: var(--tae-font-heading);
	font-weight: 800;
	font-size: 32px;
	color: var(--tae-white);
	line-height: 1;
	letter-spacing: -0.02em;
	display: block;
	margin-bottom: 6px;
}
.tae-countdown-label {
	font-size: 10px;
	font-weight: 500;
	color: var(--tae-text-muted);
	text-transform: uppercase;
	letter-spacing: 0.15em;
}
.tae-countdown-sep {
	font-family: var(--tae-font-heading);
	font-weight: 700;
	font-size: 28px;
	color: var(--tae-green-bright);
}

/* ============ TRUST BAR ============ */
.tae-home-trust {
	background: var(--tae-black);
	color: var(--tae-white);
	padding: 100px 0;
}
.tae-home-section-head-dark .tae-section-title {
	color: var(--tae-white);
}
.tae-home-section-head-dark .tae-section-title em {
	color: var(--tae-green-bright);
}
.tae-home-trust-stats {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 32px !important;
	margin: 56px 0 80px !important;
}
.tae-home-trust-stat {
	text-align: center !important;
}
.tae-home-trust-stat-num {
	font-family: var(--tae-font-heading) !important;
	font-weight: 800 !important;
	font-size: 64px !important;
	line-height: 1 !important;
	letter-spacing: -0.04em !important;
	color: var(--tae-white) !important;
	margin-bottom: 12px !important;
}
.tae-home-trust-stat-num .tae-unit {
	color: var(--tae-green-bright) !important;
}
.tae-home-trust-stat-label {
	font-size: 12px !important;
	font-weight: 500 !important;
	color: var(--tae-text-muted) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.12em !important;
	line-height: 1.4 !important;
}

/* Trophy bar */
.tae-home-trophy {
	background: var(--tae-black-soft);
	border: 1px solid var(--tae-line);
	border-radius: 20px;
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	overflow: hidden;
}
.tae-home-trophy-item {
	padding: 36px 26px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	border-right: 1px solid var(--tae-line);
	transition: background 0.3s;
}
.tae-home-trophy-item:last-child { border-right: none; }
.tae-home-trophy-item:hover {
	background: rgba(41, 184, 80, 0.05);
}
.tae-home-trophy-icon {
	width: 40px; height: 40px;
	border-radius: 50%;
	background: rgba(41, 184, 80, 0.12);
	color: var(--tae-green-bright);
	display: flex;
	align-items: center;
	justify-content: center;
}
.tae-home-trophy-title {
	font-family: var(--tae-font-heading) !important;
	font-weight: 700 !important;
	font-size: 17px !important;
	color: var(--tae-white) !important;
	text-transform: uppercase !important;
	letter-spacing: -0.01em !important;
	line-height: 1.2 !important;
}
.tae-home-trophy-desc {
	font-size: 13px !important;
	color: rgba(255,255,255,0.6) !important;
	line-height: 1.5 !important;
}

/* ============ GUIDE (single founder) ============ */
.tae-home-guide-section {
	background: var(--tae-cream);
}
.tae-home-guide-card {
	display: grid !important;
	grid-template-columns: 1fr 1.3fr !important;
	gap: 0 !important;
	background: var(--tae-white);
	border-radius: 24px;
	overflow: hidden;
	border: 1px solid var(--tae-line-dark);
	min-height: 480px;
}
.tae-home-guide-photo {
	background-size: cover;
	background-position: center top;
	background-color: var(--tae-black-soft);
	min-height: 100%;
	position: relative;
}
.tae-home-guide-photo::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 60%, rgba(10,10,10,0.3) 100%);
}
.tae-home-guide-body {
	padding: 48px 56px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.tae-home-guide-role {
	font-family: var(--tae-font-body);
	font-size: 12px;
	font-weight: 500;
	color: var(--tae-green);
	text-transform: uppercase;
	letter-spacing: 0.15em;
	margin-bottom: 8px;
}
.tae-home-guide-name {
	font-family: var(--tae-font-heading) !important;
	font-weight: 800 !important;
	font-size: clamp(40px, 4.5vw, 64px) !important;
	letter-spacing: -0.03em !important;
	line-height: 0.95 !important;
	text-transform: uppercase !important;
	color: var(--tae-ink) !important;
	margin-bottom: 24px !important;
}
.tae-home-guide-bio {
	font-size: 16px !important;
	line-height: 1.7 !important;
	color: var(--tae-text-soft) !important;
	margin-bottom: 32px !important;
}
.tae-home-guide-bio p {
	margin: 0 0 14px !important;
	color: var(--tae-text-soft) !important;
}
.tae-home-guide-bio p:last-child { margin-bottom: 0; }
.tae-home-guide-credentials {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 16px !important;
	padding-top: 24px;
	border-top: 1px solid var(--tae-line-dark);
}
.tae-home-guide-cred-num {
	font-family: var(--tae-font-heading);
	font-weight: 800;
	font-size: 32px;
	color: var(--tae-green);
	letter-spacing: -0.02em;
	line-height: 1;
	margin-bottom: 6px;
}
.tae-home-guide-cred-label {
	font-size: 11px;
	font-weight: 500;
	color: var(--tae-text-muted);
	text-transform: uppercase;
	letter-spacing: 0.12em;
	line-height: 1.3;
}

/* ============ BIG CTA STRIP ============ */
.tae-home-cta {
	background: var(--tae-black);
	color: var(--tae-white);
	padding: 80px 0;
	margin: 0;
	position: relative;
	overflow: hidden;
}
.tae-home-cta-bg {
	position: absolute;
	inset: 0;
	background: var(--cta-image, none) center/cover;
	opacity: 0.18;
	filter: grayscale(1);
}
.tae-home-cta-inner {
	position: relative;
	z-index: 2;
	display: grid !important;
	grid-template-columns: 1.5fr 1fr !important;
	gap: 60px !important;
	align-items: center !important;
	text-align: left !important;
}
.tae-home-cta-inner > div {
	min-width: 0;
}
.tae-home-cta-title {
	font-family: var(--tae-font-heading) !important;
	font-size: clamp(40px, 5vw, 72px) !important;
	font-weight: 800 !important;
	line-height: 0.95 !important;
	letter-spacing: -0.04em !important;
	text-transform: uppercase !important;
	text-align: left !important;
	margin: 0 0 16px 0 !important;
	color: var(--tae-white) !important;
}
.tae-home-cta-title em {
	color: var(--tae-green-bright) !important;
	font-style: italic !important;
	font-weight: 700 !important;
}
.tae-home-cta-blurb {
	font-size: 16px !important;
	color: rgba(255,255,255,0.7) !important;
	max-width: 500px;
	line-height: 1.55 !important;
	text-align: left !important;
	margin: 0 !important;
}
.tae-home-cta-right {
	text-align: right !important;
}
.tae-home-cta-phone {
	font-size: 14px !important;
	color: rgba(255,255,255,0.5) !important;
	margin-top: 18px !important;
	text-align: right !important;
}
.tae-home-cta-phone span {
	color: var(--tae-white) !important;
}

/* ============ RESPONSIVE ============ */
@media (max-width: 1024px) {
	.tae-home-experiences-grid {
		grid-template-columns: 1fr 1fr !important;
	}
	.tae-home-exp-card-featured {
		grid-column: span 2 !important;
		grid-row: span 1 !important;
		min-height: 420px !important;
	}
	.tae-home-trophy {
		grid-template-columns: repeat(2, 1fr) !important;
	}
	.tae-home-trophy-item:nth-child(2) { border-right: none; }
	.tae-home-trophy-item:nth-child(1),
	.tae-home-trophy-item:nth-child(2) {
		border-bottom: 1px solid var(--tae-line);
	}
	.tae-home-guide-card {
		grid-template-columns: 1fr !important;
	}
	.tae-home-guide-photo {
		min-height: 360px !important;
	}
	.tae-home-guide-body {
		padding: 40px !important;
	}
}

@media (max-width: 760px) {
	.tae-home-section { padding: 64px 0; }
	.tae-home-hero { padding: 120px 0 0; min-height: 600px; }
	.tae-home-section-head {
		grid-template-columns: 1fr !important;
		gap: 24px !important;
		margin-bottom: 40px !important;
	}
	.tae-home-hero-stats {
		margin-top: 40px !important;
		padding: 20px 0 !important;
	}
	.tae-home-hero-stats-inner {
		grid-template-columns: 1fr 1fr !important;
		gap: 24px !important;
	}
	.tae-home-experiences-grid {
		grid-template-columns: 1fr !important;
		gap: 12px !important;
	}
	.tae-home-exp-card-featured {
		grid-column: span 1 !important;
		grid-row: span 1 !important;
	}
	.tae-home-exp-card,
	.tae-home-exp-card-featured {
		min-height: 380px !important;
	}
	.tae-home-exp-card-featured .tae-home-exp-title {
		font-size: 36px !important;
	}
	.tae-home-next-tour {
		padding: 36px 28px !important;
	}
	.tae-home-next-tour-inner {
		grid-template-columns: 1fr !important;
		gap: 28px !important;
	}
	.tae-home-next-tour-right {
		align-items: flex-start;
	}
	.tae-home-next-tour-title {
		font-size: 28px !important;
	}
	.tae-home-trust { padding: 64px 0; }
	.tae-home-trust-stats {
		grid-template-columns: 1fr 1fr !important;
		gap: 24px !important;
	}
	.tae-home-trust-stat-num {
		font-size: 40px !important;
	}
	.tae-home-trophy {
		grid-template-columns: 1fr !important;
	}
	.tae-home-trophy-item {
		border-right: none !important;
		border-bottom: 1px solid var(--tae-line);
	}
	.tae-home-trophy-item:last-child {
		border-bottom: none;
	}
	.tae-home-guide-body {
		padding: 32px 24px !important;
	}
	.tae-home-guide-credentials {
		grid-template-columns: 1fr 1fr 1fr !important;
		gap: 12px !important;
	}
	.tae-home-guide-cred-num {
		font-size: 26px !important;
	}
	.tae-home-cta { padding: 64px 0; }
	.tae-home-cta-inner {
		grid-template-columns: 1fr !important;
		gap: 32px !important;
		text-align: left !important;
	}
	.tae-home-cta-right {
		text-align: left !important;
	}
	.tae-home-cta-phone {
		text-align: left !important;
	}
	.tae-home-cta-title {
		font-size: 40px !important;
	}
}

@media (max-width: 480px) {
	.tae-home-hero-stats-inner {
		grid-template-columns: 1fr !important;
		gap: 14px !important;
	}
	.tae-home-hero-stat-num { font-size: 28px; }
	.tae-countdown-block {
		min-width: 60px;
		padding: 12px 14px !important;
	}
	.tae-countdown-num { font-size: 24px; }
	.tae-countdown-sep { font-size: 20px; }
}

/* ============================================================
   SINGLE EXPERIENCE PAGE , v3 restyle (v1.6.0)
   ============================================================
   Restyles the [tae_experience] template to match the v3 design
   system. Overrides legacy tae-experiences.css with !important
   where needed to defeat both the legacy stylesheet and theme
   bleed (Hello Elementor button colors, image sizing rules, etc).
   ============================================================ */

/* Base */
.tae-experience {
	font-family: var(--tae-font-body);
	color: var(--tae-ink);
	background: var(--tae-paper);
}
.tae-experience *, .tae-experience *::before, .tae-experience *::after {
	box-sizing: border-box;
}
.tae-experience .tae-container {
	max-width: var(--tae-container-width) !important;
	margin: 0 auto !important;
	padding: 0 var(--tae-container-padding) !important;
	width: 100%;
}
.tae-experience img {
	max-width: 100%;
	display: block;
}
.tae-experience h1, .tae-experience h2, .tae-experience h3 {
	font-family: var(--tae-font-heading) !important;
	font-weight: 700 !important;
	letter-spacing: -0.02em !important;
	line-height: 1.05 !important;
	margin: 0 !important;
}

/* Kill stray section margins */
.tae-experience > section {
	margin: 0 !important;
}

/* ============ BREADCRUMBS ============ */
.tae-experience .tae-breadcrumbs {
	background: var(--tae-black) !important;
	color: rgba(255, 255, 255, 0.5) !important;
	padding: 0 0 8px !important;
	font-family: var(--tae-font-body);
	font-size: 11px !important;
	font-weight: 500 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.15em !important;
	margin-top: calc(var(--tae-header-height) * -1) !important;
	position: relative;
	z-index: 1;
}
.tae-experience .tae-breadcrumbs .tae-container {
	/* v1.12.2: breadcrumb text is hidden (it collided with the 160px
	   logo). The zone stays as a dark spacer that clears the fixed
	   header, so the hero overlap math keeps working. */
	padding-top: calc(var(--tae-header-height) + 32px) !important;
}
.tae-experience .tae-breadcrumbs nav,
.tae-experience .tae-breadcrumbs .tae-container > a,
.tae-experience .tae-breadcrumbs .tae-container > span {
	display: none !important;
}
.tae-experience .tae-breadcrumbs a {
	color: rgba(255, 255, 255, 0.5) !important;
	text-decoration: none !important;
	transition: color 0.2s ease;
}
.tae-experience .tae-breadcrumbs a:hover {
	color: var(--tae-green-bright) !important;
}
.tae-experience .tae-breadcrumbs span {
	color: var(--tae-green-bright) !important;
	margin: 0 12px !important;
}

/* ============ HERO ============ */
.tae-experience .tae-hero {
	background: var(--tae-black) !important;
	color: var(--tae-white) !important;
	padding: 80px 0 0 !important;
	position: relative;
	overflow: hidden;
}
.tae-experience .tae-hero::before {
	content: '';
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(to right, rgba(255,255,255,0.04) 1px, transparent 1px),
		linear-gradient(to bottom, rgba(255,255,255,0.04) 1px, transparent 1px);
	background-size: 80px 80px;
	mask-image: radial-gradient(circle at 80% 30%, black 0%, transparent 60%);
	-webkit-mask-image: radial-gradient(circle at 80% 30%, black 0%, transparent 60%);
}
.tae-experience .tae-hero::after {
	content: '';
	position: absolute;
	top: -200px; right: -200px;
	width: 800px; height: 800px;
	background: radial-gradient(circle, var(--tae-green-glow) 0%, transparent 60%);
	pointer-events: none;
}
.tae-experience .tae-hero .tae-container {
	position: relative;
	z-index: 2;
}
.tae-experience .tae-hero-grid {
	display: grid !important;
	grid-template-columns: 1.4fr 1fr !important;
	gap: 60px !important;
	align-items: end !important;
	padding-bottom: 56px !important;
}

/* Eyebrow / meta pill */
.tae-experience .tae-hero-meta {
	display: inline-flex !important;
	align-items: center !important;
	gap: 10px !important;
	padding: 6px 14px 6px 8px !important;
	background: rgba(41, 184, 80, 0.12) !important;
	border: 1px solid rgba(41, 184, 80, 0.3) !important;
	border-radius: 100px !important;
	font-family: var(--tae-font-body) !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	color: var(--tae-green-bright) !important;
	letter-spacing: 0.05em !important;
	text-transform: uppercase !important;
	margin-bottom: 28px !important;
	width: fit-content;
}
.tae-experience .tae-hero-meta::before {
	content: '';
	width: 8px; height: 8px;
	background: var(--tae-green-bright);
	border-radius: 50%;
	box-shadow: 0 0 12px var(--tae-green-bright);
	flex-shrink: 0;
}
.tae-experience .tae-hero-meta strong {
	font-weight: 500 !important;
	color: var(--tae-green-bright) !important;
}
.tae-experience .tae-hero-meta .tae-meta-sep {
	color: rgba(41, 184, 80, 0.5) !important;
}

/* H1 */
.tae-experience .tae-hero-text .tae-h1 {
	font-family: var(--tae-font-heading) !important;
	font-size: clamp(48px, 6vw, 88px) !important;
	font-weight: 800 !important;
	line-height: 0.92 !important;
	letter-spacing: -0.04em !important;
	margin-bottom: 24px !important;
	text-transform: uppercase !important;
	color: var(--tae-white) !important;
	max-width: none !important;
}

/* Subtitle */
.tae-experience .tae-hero-sub {
	font-size: 18px !important;
	color: rgba(255, 255, 255, 0.7) !important;
	max-width: 540px !important;
	margin: 0 0 32px 0 !important;
	line-height: 1.55 !important;
	font-style: italic !important;
	font-family: var(--tae-font-body) !important;
}

/* Star rating pill */
.tae-experience .tae-hero-rating {
	display: inline-flex !important;
	align-items: center !important;
	gap: 12px !important;
	padding: 8px 16px !important;
	background: rgba(255, 255, 255, 0.05) !important;
	border: 1px solid rgba(255, 255, 255, 0.1) !important;
	border-radius: 100px !important;
	font-size: 13px !important;
	color: rgba(255, 255, 255, 0.7) !important;
}
.tae-experience .tae-stars {
	display: inline-flex !important;
	gap: 2px !important;
	color: var(--tae-gold) !important;
}
.tae-experience .tae-stars svg {
	width: 14px !important;
	height: 14px !important;
	fill: currentColor !important;
}
.tae-experience .tae-rating-text strong {
	color: var(--tae-white) !important;
	font-weight: 600 !important;
}
.tae-experience .tae-rating-sep {
	color: rgba(255, 255, 255, 0.3) !important;
	margin: 0 4px !important;
}

/* Quick-facts panel (right side) */
.tae-experience .tae-hero-quick {
	background: rgba(255, 255, 255, 0.04) !important;
	border: 1px solid rgba(255, 255, 255, 0.08) !important;
	border-radius: 20px !important;
	padding: 32px !important;
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 24px !important;
}
.tae-experience .tae-quick-item {
	display: flex;
	flex-direction: column;
}
.tae-experience .tae-quick-label {
	font-size: 10px !important;
	font-weight: 500 !important;
	color: var(--tae-green-bright) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.15em !important;
	margin-bottom: 8px !important;
	display: flex !important;
	align-items: center !important;
	gap: 6px !important;
}
.tae-experience .tae-quick-label svg {
	width: 13px !important;
	height: 13px !important;
}
.tae-experience .tae-quick-value {
	font-family: var(--tae-font-heading) !important;
	font-weight: 700 !important;
	font-size: 18px !important;
	color: var(--tae-white) !important;
	line-height: 1.2 !important;
}
.tae-experience .tae-quick-sub {
	font-size: 12px !important;
	color: rgba(255, 255, 255, 0.5) !important;
	margin-top: 4px !important;
}

/* ============ GALLERY ============ */
.tae-experience .tae-gallery {
	background: var(--tae-black) !important;
	padding: 0 0 80px !important;
}
.tae-experience .tae-gallery-grid {
	display: grid !important;
	grid-template-columns: 2fr 1fr 1fr !important;
	gap: 12px !important;
	height: 560px !important;
}
.tae-experience .tae-gallery-item {
	position: relative !important;
	overflow: hidden !important;
	cursor: pointer !important;
	border-radius: 16px !important;
	background: var(--tae-black-soft) !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
}
.tae-experience .tae-gallery-item:first-child {
	grid-row: span 2 !important;
}
/* CRITICAL: kill Hello Elementor's width:100%; height:auto on images */
.tae-experience .tae-gallery-item img {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: cover !important;
	transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1) !important;
	display: block !important;
	margin: 0 !important;
}
.tae-experience .tae-gallery-item:hover img {
	transform: scale(1.05) !important;
}
.tae-experience .tae-gallery-count {
	position: absolute !important;
	bottom: 16px !important;
	right: 16px !important;
	background: rgba(10, 10, 10, 0.75) !important;
	backdrop-filter: blur(8px) !important;
	-webkit-backdrop-filter: blur(8px) !important;
	color: var(--tae-white) !important;
	padding: 8px 14px !important;
	font-family: var(--tae-font-body) !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	letter-spacing: 0.1em !important;
	border-radius: 100px !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	border: 1px solid rgba(255, 255, 255, 0.15) !important;
	z-index: 2;
}
.tae-experience .tae-gallery-count svg {
	width: 12px !important;
	height: 12px !important;
}

/* When only one photo, span it across all columns */
.tae-experience .tae-gallery-grid:has(> .tae-gallery-item:only-child) .tae-gallery-item {
	grid-column: 1 / -1 !important;
	grid-row: span 2 !important;
}

/* ============ CONTENT BODY ============ */
.tae-experience .tae-content {
	background: var(--tae-paper) !important;
	padding: 80px 0 100px !important;
}
.tae-experience .tae-content-grid {
	display: grid !important;
	grid-template-columns: 1fr 400px !important;
	gap: 60px !important;
	align-items: start !important;
}

/* ============ TABS ============ */
.tae-experience .tae-tabs {
	display: flex !important;
	gap: 0 !important;
	border-bottom: 1px solid var(--tae-line-dark) !important;
	margin-bottom: 40px !important;
	flex-wrap: wrap;
}
.tae-experience .tae-tab {
	padding: 14px 0 !important;
	margin-right: 32px !important;
	background: none !important;
	border: none !important;
	border-bottom: 2px solid transparent !important;
	font-family: var(--tae-font-body) !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	color: var(--tae-text-muted) !important;
	cursor: pointer !important;
	transition: all 0.2s ease;
	display: inline-flex !important;
	align-items: center !important;
}
.tae-experience .tae-tab:hover {
	color: var(--tae-ink) !important;
}
.tae-experience .tae-tab.active {
	color: var(--tae-ink) !important;
	border-bottom-color: var(--tae-green) !important;
}
.tae-experience .tae-tab-num {
	color: var(--tae-green) !important;
	font-family: var(--tae-font-heading) !important;
	font-weight: 700 !important;
	font-size: 11px !important;
	margin-right: 6px !important;
}

/* ============ SECTIONS ============ */
.tae-experience .tae-section {
	margin-bottom: 56px !important;
}
.tae-experience .tae-section-label {
	font-family: var(--tae-font-body) !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	color: var(--tae-green) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.15em !important;
	margin-bottom: 16px !important;
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
}
.tae-experience .tae-section-label::before {
	content: '';
	width: 28px;
	height: 1px;
	background: var(--tae-green);
	flex-shrink: 0;
}
.tae-experience .tae-section .tae-h2 {
	font-size: clamp(28px, 3.4vw, 40px) !important;
	font-weight: 700 !important;
	letter-spacing: -0.02em !important;
	margin-bottom: 24px !important;
	text-transform: uppercase !important;
	line-height: 1 !important;
	color: var(--tae-ink) !important;
}

/* ============ PROSE ============ */
.tae-experience .tae-prose {
	font-family: var(--tae-font-body) !important;
}
.tae-experience .tae-prose * {
	font-family: var(--tae-font-body) !important;
}
.tae-experience .tae-prose p {
	font-family: var(--tae-font-body) !important;
	font-size: 16px !important;
	color: var(--tae-text-soft) !important;
	line-height: 1.75 !important;
	margin: 0 0 16px 0 !important;
}
.tae-experience .tae-prose h3 {
	font-family: var(--tae-font-heading) !important;
	font-size: 20px !important;
	font-weight: 700 !important;
	margin: 32px 0 16px 0 !important;
	letter-spacing: -0.01em !important;
	color: var(--tae-ink) !important;
	text-transform: none !important;
}
.tae-experience .tae-prose ul {
	list-style: none !important;
	padding: 0 !important;
	margin: 24px 0 !important;
	border-top: 1px solid var(--tae-line-dark) !important;
}
.tae-experience .tae-prose ul li {
	font-family: var(--tae-font-body) !important;
	padding: 18px 0 18px 40px !important;
	border-bottom: 1px solid var(--tae-line-dark) !important;
	position: relative;
	font-size: 16px !important;
	font-weight: 400 !important;
	color: var(--tae-ink) !important;
	transition: all 0.25s ease;
	background: none !important;
	list-style: none !important;
}
.tae-experience .tae-prose ul li::before {
	content: '' !important;
	position: absolute !important;
	left: 0 !important;
	top: 28px !important;
	width: 22px !important;
	height: 1px !important;
	background: var(--tae-green) !important;
	border-radius: 0 !important;
}
.tae-experience .tae-prose ul li:hover {
	background: rgba(41, 184, 80, 0.06) !important;
	padding-left: 56px !important;
	padding-right: 16px !important;
}

/* ============ INFO GRID (extra info bullets) ============ */
.tae-experience .tae-info-grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
	gap: 12px !important;
	margin-top: 8px !important;
	background: #faf8f3 !important;
	border: 0 !important;
}
.tae-experience .tae-info-cell {
	background-color: #ffffff !important;
	background-image: none !important;
	border: 1px solid rgba(10, 10, 10, 0.06) !important;
	border-radius: 12px !important;
	padding: 22px 24px !important;
	display: flex !important;
	align-items: center !important;
	gap: 14px !important;
	box-shadow: 0 2px 8px rgba(10, 10, 10, 0.04) !important;
}
.tae-experience .tae-info-cell:hover {
	box-shadow: 0 4px 16px rgba(10, 10, 10, 0.06) !important;
}
.tae-experience .tae-info-icon {
	width: 40px !important;
	height: 40px !important;
	border-radius: 50% !important;
	background-color: rgba(41, 184, 80, 0.12) !important;
	background-image: none !important;
	color: var(--tae-green) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0;
}
.tae-experience .tae-info-icon svg,
.tae-experience .tae-info-icon img {
	width: 20px !important;
	height: 20px !important;
	display: block !important;
	max-width: none !important;
	max-height: none !important;
}
.tae-experience .tae-info-text {
	font-family: var(--tae-font-body) !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	color: var(--tae-ink) !important;
	line-height: 1.4 !important;
}

/* ============ FAQ ============ */
.tae-experience .tae-faq-item {
	border-bottom: 1px solid var(--tae-line-dark) !important;
	padding: 22px 0 !important;
}
.tae-experience .tae-faq-item:first-of-type {
	border-top: 1px solid var(--tae-line-dark) !important;
}
.tae-experience .tae-faq-q {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	cursor: pointer !important;
	list-style: none !important;
	gap: 16px !important;
}
.tae-experience .tae-faq-q::-webkit-details-marker {
	display: none !important;
}
.tae-experience .tae-faq-q-text {
	font-family: var(--tae-font-heading) !important;
	font-weight: 600 !important;
	font-size: 16px !important;
	color: var(--tae-ink) !important;
	letter-spacing: -0.01em !important;
}
.tae-experience .tae-faq-toggle {
	width: 30px !important;
	height: 30px !important;
	border-radius: 50% !important;
	border: 1px solid var(--tae-line-dark) !important;
	background: var(--tae-white) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	transition: all 0.2s ease;
	flex-shrink: 0;
}
.tae-experience .tae-faq-toggle svg {
	width: 13px !important;
	height: 13px !important;
	transition: transform 0.3s ease;
}
.tae-experience .tae-faq-item[open] .tae-faq-toggle {
	background: var(--tae-green) !important;
	border-color: var(--tae-green) !important;
	color: var(--tae-white) !important;
}
.tae-experience .tae-faq-item[open] .tae-faq-toggle svg {
	transform: rotate(45deg) !important;
}
.tae-experience .tae-faq-a {
	font-family: var(--tae-font-body) !important;
	margin-top: 14px !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	color: var(--tae-text-soft) !important;
	line-height: 1.6 !important;
}
.tae-experience .tae-faq-a * {
	font-family: var(--tae-font-body) !important;
}
.tae-experience .tae-faq-a p {
	margin: 0 0 10px 0 !important;
	color: var(--tae-text-soft) !important;
}

/* ============ BOOKING SIDEBAR ============ */
.tae-experience .tae-aside {
	position: static !important;
	top: auto !important;
}
.tae-experience .tae-booking {
	background: var(--tae-white) !important;
	border: 1px solid var(--tae-line-dark) !important;
	border-radius: 20px !important;
	padding: 32px !important;
	overflow: hidden;
}
.tae-experience .tae-booking-header {
	padding-bottom: 24px !important;
	margin-bottom: 24px !important;
	border-bottom: 1px solid var(--tae-line-dark) !important;
}
.tae-experience .tae-booking-label {
	font-size: 10px !important;
	font-weight: 500 !important;
	color: var(--tae-text-muted) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.15em !important;
	margin-bottom: 8px !important;
}
.tae-experience .tae-booking-price {
	font-family: var(--tae-font-heading) !important;
	font-weight: 800 !important;
	font-size: 44px !important;
	line-height: 1 !important;
	letter-spacing: -0.03em !important;
	color: var(--tae-ink) !important;
}
.tae-experience .tae-booking-price-sub {
	font-size: 13px !important;
	color: var(--tae-text-soft) !important;
	margin-top: 10px !important;
}
.tae-experience .tae-price-tiers {
	margin-bottom: 22px !important;
}
.tae-experience .tae-price-tier {
	display: flex !important;
	justify-content: space-between !important;
	padding: 10px 0 !important;
	border-bottom: 1px dashed var(--tae-line-dark) !important;
	font-size: 13px !important;
	color: var(--tae-text-soft) !important;
}
.tae-experience .tae-price-tier:last-child {
	border-bottom: none !important;
}
.tae-experience .tae-price-tier strong {
	font-family: var(--tae-font-heading) !important;
	font-weight: 700 !important;
	color: var(--tae-ink) !important;
}

/* Form */
.tae-experience .tae-booking-form {
	margin: 0 !important;
}
.tae-experience .tae-form-group {
	margin-bottom: 14px !important;
}
.tae-experience .tae-form-group label {
	display: block !important;
	font-size: 10px !important;
	font-weight: 500 !important;
	color: var(--tae-text-muted) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.12em !important;
	margin-bottom: 6px !important;
	font-family: var(--tae-font-body) !important;
}
.tae-experience .tae-form-group input,
.tae-experience .tae-form-group select,
.tae-experience .tae-form-group textarea {
	width: 100% !important;
	background: var(--tae-paper) !important;
	border: 1px solid var(--tae-line-dark) !important;
	color: var(--tae-ink) !important;
	padding: 11px 14px !important;
	font-family: var(--tae-font-body) !important;
	font-size: 14px !important;
	border-radius: 8px !important;
	outline: none !important;
	transition: border-color 0.2s ease;
	box-shadow: none !important;
	margin: 0 !important;
}
.tae-experience .tae-form-group textarea {
	min-height: 70px !important;
	resize: vertical !important;
}
.tae-experience .tae-form-group input:focus,
.tae-experience .tae-form-group select:focus,
.tae-experience .tae-form-group textarea:focus {
	border-color: var(--tae-green) !important;
}
.tae-experience .tae-form-row {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 12px !important;
}

/* Honeypot, hidden from real users */
.tae-experience .tae-honeypot {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

/* Submit button , Inter 14px, FW 900 (Black) */
.tae-experience .tae-btn-submit {
	width: 100% !important;
	background: var(--tae-green) !important;
	color: var(--tae-white) !important;
	padding: 16px !important;
	font-family: var(--tae-font-body) !important;
	font-size: 14px !important;
	font-weight: 900 !important;
	letter-spacing: 0.05em !important;
	border: none !important;
	border-radius: 100px !important;
	cursor: pointer !important;
	transition: all 0.2s ease;
	margin-top: 12px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 10px !important;
	box-shadow: none !important;
	text-transform: none !important;
}
.tae-experience .tae-btn-submit:hover {
	background: var(--tae-green-bright) !important;
}
.tae-experience .tae-btn-submit svg {
	width: 14px !important;
	height: 14px !important;
}

.tae-experience .tae-form-feedback {
	margin-top: 12px !important;
	font-size: 13px !important;
	color: var(--tae-text-soft) !important;
	min-height: 1.2em;
}
.tae-experience .tae-form-feedback.is-success {
	color: var(--tae-green) !important;
}
.tae-experience .tae-form-feedback.is-error {
	color: #c0392b !important;
}

.tae-experience .tae-booking-note {
	font-size: 12px !important;
	color: var(--tae-text-muted) !important;
	text-align: center !important;
	margin: 14px 0 0 0 !important;
}

/* ============ RELATED EXPERIENCES ============ */
.tae-experience .tae-related {
	padding: 100px 0 !important;
	background: var(--tae-cream) !important;
}
.tae-experience .tae-related .tae-h2 {
	font-size: clamp(32px, 4vw, 48px) !important;
	font-weight: 700 !important;
	letter-spacing: -0.02em !important;
	text-transform: uppercase !important;
	line-height: 1 !important;
	margin-bottom: 40px !important;
	color: var(--tae-ink) !important;
}
.tae-experience .tae-related-grid {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 20px !important;
}
.tae-experience .tae-related-card {
	position: relative !important;
	aspect-ratio: 4/5 !important;
	border-radius: 16px !important;
	overflow: hidden !important;
	background: var(--tae-black) !important;
	cursor: pointer !important;
	transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
	display: block !important;
	text-decoration: none !important;
}
.tae-experience .tae-related-card:hover {
	transform: translateY(-6px);
}
.tae-experience .tae-related-img {
	position: absolute !important;
	inset: 0 !important;
	overflow: hidden !important;
}
.tae-experience .tae-related-img img {
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: cover !important;
	transition: transform 0.6s !important;
	display: block !important;
	margin: 0 !important;
}
.tae-experience .tae-related-card:hover .tae-related-img img {
	transform: scale(1.05) !important;
}
.tae-experience .tae-related-card::after {
	content: '' !important;
	position: absolute !important;
	inset: 0 !important;
	background: linear-gradient(180deg, transparent 40%, rgba(10, 10, 10, 0.95) 100%) !important;
	z-index: 1;
}
.tae-experience .tae-related-body {
	position: absolute !important;
	bottom: 0 !important;
	left: 0 !important;
	right: 0 !important;
	padding: 24px !important;
	color: var(--tae-white) !important;
	z-index: 2;
}
.tae-experience .tae-related-meta {
	font-size: 10px !important;
	font-weight: 500 !important;
	color: var(--tae-green-bright) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.12em !important;
	margin-bottom: 8px !important;
}
.tae-experience .tae-related-card h3 {
	font-family: var(--tae-font-heading) !important;
	font-weight: 700 !important;
	font-size: 22px !important;
	letter-spacing: -0.01em !important;
	margin: 0 0 8px 0 !important;
	text-transform: uppercase !important;
	line-height: 1 !important;
	color: var(--tae-white) !important;
}
.tae-experience .tae-related-price {
	font-family: var(--tae-font-heading) !important;
	font-weight: 700 !important;
	font-size: 16px !important;
	color: var(--tae-green-bright) !important;
}

/* ============ LIGHTBOX (already designed in legacy CSS, just minor adjustments) ============ */
.tae-lightbox {
	background: rgba(0, 0, 0, 0.95) !important;
	backdrop-filter: blur(20px) !important;
	-webkit-backdrop-filter: blur(20px) !important;
}
.tae-lightbox-close,
.tae-lightbox-prev,
.tae-lightbox-next {
	background: rgba(255, 255, 255, 0.08) !important;
	border: 1px solid rgba(255, 255, 255, 0.15) !important;
	color: var(--tae-white) !important;
}
.tae-lightbox-close:hover,
.tae-lightbox-prev:hover,
.tae-lightbox-next:hover {
	background: var(--tae-green) !important;
	border-color: var(--tae-green) !important;
}

/* ============ RESPONSIVE ============ */
@media (max-width: 1024px) {
	.tae-experience .tae-hero-grid {
		grid-template-columns: 1fr !important;
		gap: 40px !important;
	}
	.tae-experience .tae-content-grid {
		grid-template-columns: 1fr !important;
		gap: 40px !important;
	}
	.tae-experience .tae-aside {
		position: static !important;
	}
	.tae-experience .tae-related-grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

@media (max-width: 760px) {
	.tae-experience .tae-hero {
		padding-top: 40px !important;
	}
	.tae-experience .tae-hero-text .tae-h1 {
		font-size: 40px !important;
	}
	.tae-experience .tae-hero-sub {
		font-size: 16px !important;
		margin-bottom: 24px !important;
	}
	.tae-experience .tae-hero-quick {
		grid-template-columns: 1fr 1fr !important;
		padding: 24px !important;
		gap: 18px !important;
	}
	.tae-experience .tae-gallery {
		padding: 0 0 60px !important;
	}
	.tae-experience .tae-gallery-grid {
		grid-template-columns: 1fr 1fr !important;
		height: auto !important;
		grid-auto-rows: 140px !important;
	}
	.tae-experience .tae-gallery-item:first-child {
		grid-column: 1 / -1 !important;
		grid-row: span 2 !important;
	}
	.tae-experience .tae-content {
		padding: 80px 0 80px !important;
	}
	.tae-experience .tae-tabs {
		gap: 16px !important;
	}
	.tae-experience .tae-tab {
		margin-right: 0 !important;
	}
	.tae-experience .tae-section .tae-h2 {
		font-size: 28px !important;
	}
	.tae-experience .tae-info-grid {
		grid-template-columns: 1fr !important;
	}
	.tae-experience .tae-related {
		padding: 60px 0 !important;
	}
	.tae-experience .tae-related-grid {
		grid-template-columns: 1fr !important;
		gap: 16px !important;
	}
	.tae-experience .tae-booking {
		padding: 24px !important;
	}
	.tae-experience .tae-booking-price {
		font-size: 36px !important;
	}
}

@media (max-width: 480px) {
	.tae-experience .tae-hero-quick {
		grid-template-columns: 1fr !important;
	}
	.tae-experience .tae-form-row {
		grid-template-columns: 1fr !important;
	}
}

/* ============================================================
   EXPERIENCES ARCHIVE PAGE , v3 restyle (v1.8.0)
   ============================================================
   Restyles the [tae_experiences] grid + filter chips + search.
   Template untouched: all original class names preserved so the
   filter JS keeps working. Overrides legacy tae-experiences.css
   with !important. Scoped under .tae-experiences-wrapper.
   ============================================================ */

.tae-experiences-wrapper {
	font-family: var(--tae-font-body) !important;
	background: var(--tae-paper) !important;
	color: var(--tae-ink) !important;
}
.tae-experiences-wrapper *,
.tae-experiences-wrapper *::before,
.tae-experiences-wrapper *::after {
	box-sizing: border-box !important;
}
.tae-experiences-wrapper .tae-container {
	max-width: var(--tae-container-width) !important;
	margin: 0 auto !important;
	padding: 0 var(--tae-container-padding) !important;
	width: 100% !important;
}
.tae-experiences-wrapper > section {
	margin: 0 !important;
}

/* ============ FILTER BAR ============ */
.tae-experiences-wrapper .tae-filters {
	background: var(--tae-paper) !important;
	padding: 56px 0 32px !important;
	border-bottom: 1px solid var(--tae-line-dark) !important;
}
.tae-experiences-wrapper .tae-filters-inner {
	display: flex !important;
	flex-direction: column !important;
	gap: 16px !important;
	align-items: stretch !important;
}

.tae-experiences-wrapper .tae-filter-group {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	align-items: center !important;
}

/* The search box sits on its own row, aligned to the right on desktop
   and full-width on mobile. */
.tae-experiences-wrapper .tae-search-box {
	align-self: flex-end !important;
	max-width: 360px !important;
	width: 100% !important;
}
.tae-experiences-wrapper .tae-filter-label {
	font-family: var(--tae-font-body) !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	color: var(--tae-text-muted) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.15em !important;
	margin-right: 8px !important;
}

/* Filter chips , brand pill style */
.tae-experiences-wrapper .tae-chip {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	background: var(--tae-white) !important;
	color: var(--tae-ink) !important;
	padding: 8px 18px !important;
	font-family: var(--tae-font-body) !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	letter-spacing: 0.02em !important;
	border: 1px solid rgba(10, 10, 10, 0.12) !important;
	border-radius: 100px !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
	text-transform: none !important;
	box-shadow: none !important;
}
.tae-experiences-wrapper .tae-chip:hover {
	background: var(--tae-cream) !important;
	border-color: rgba(10, 10, 10, 0.25) !important;
	color: var(--tae-ink) !important;
}
.tae-experiences-wrapper .tae-chip.active {
	background: var(--tae-ink) !important;
	color: var(--tae-white) !important;
	border-color: var(--tae-ink) !important;
}
.tae-experiences-wrapper .tae-chip.active:hover {
	background: var(--tae-black) !important;
	border-color: var(--tae-black) !important;
}

/* Search box */
.tae-experiences-wrapper .tae-search-box {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	min-width: 280px !important;
}
.tae-experiences-wrapper .tae-search-box svg {
	position: absolute !important;
	left: 16px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	width: 16px !important;
	height: 16px !important;
	color: var(--tae-text-muted) !important;
	pointer-events: none !important;
}
.tae-experiences-wrapper .tae-search-box input {
	width: 100% !important;
	background: var(--tae-white) !important;
	border: 1px solid rgba(10, 10, 10, 0.12) !important;
	color: var(--tae-ink) !important;
	padding: 11px 16px 11px 44px !important;
	font-family: var(--tae-font-body) !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	border-radius: 100px !important;
	outline: none !important;
	transition: border-color 0.2s ease !important;
	box-shadow: none !important;
}
.tae-experiences-wrapper .tae-search-box input::placeholder {
	color: var(--tae-text-muted) !important;
}
.tae-experiences-wrapper .tae-search-box input:focus {
	border-color: var(--tae-green) !important;
}

/* ============ GRID ============ */
.tae-experiences-wrapper .tae-experiences {
	padding: 56px 0 100px !important;
	background: var(--tae-paper) !important;
}
.tae-experiences-wrapper .tae-grid {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 20px !important;
}

/* All cards are uniform portrait , no featured size override.
   The data-* attributes still let the filter JS find them.
   We force grid-column: span 1 to defeat the legacy 12-column
   grid spans (.tae-card-featured: span 8, .tae-card-standard: span 4
   etc) which would otherwise wrap and stack the cards. */
.tae-experiences-wrapper .tae-card,
.tae-experiences-wrapper .tae-card.tae-card-featured,
.tae-experiences-wrapper .tae-card.tae-card-standard,
.tae-experiences-wrapper .tae-card.tae-card-half,
.tae-experiences-wrapper .tae-card.tae-card-third {
	position: relative !important;
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	box-shadow: none !important;
	transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
	grid-column: span 1 !important;
}
.tae-experiences-wrapper .tae-card:hover {
	transform: translateY(-6px) !important;
}
.tae-experiences-wrapper .tae-card-link {
	display: block !important;
	position: relative !important;
	aspect-ratio: 4/5 !important;
	border-radius: 16px !important;
	overflow: hidden !important;
	background: var(--tae-black) !important;
	text-decoration: none !important;
	color: inherit !important;
}

/* Card image fills the card. Defeats Hello Elementor's height:auto. */
.tae-experiences-wrapper .tae-card-img {
	position: absolute !important;
	inset: 0 !important;
	overflow: hidden !important;
	border-radius: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
}
.tae-experiences-wrapper .tae-card-img img {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: cover !important;
	transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1) !important;
	display: block !important;
	margin: 0 !important;
}
.tae-experiences-wrapper .tae-card:hover .tae-card-img img {
	transform: scale(1.05) !important;
}

/* Dark gradient overlay at the bottom for text legibility */
.tae-experiences-wrapper .tae-card-link::after {
	content: '' !important;
	position: absolute !important;
	inset: 0 !important;
	background: linear-gradient(180deg,
		rgba(10, 10, 10, 0) 0%,
		rgba(10, 10, 10, 0) 35%,
		rgba(10, 10, 10, 0.55) 65%,
		rgba(10, 10, 10, 0.95) 100%
	) !important;
	z-index: 1 !important;
	pointer-events: none !important;
}

/* Number badge , top-left */
.tae-experiences-wrapper .tae-card-num {
	position: absolute !important;
	top: 20px !important;
	left: 20px !important;
	z-index: 2 !important;
	font-family: var(--tae-font-body) !important;
	font-size: 10px !important;
	font-weight: 500 !important;
	color: rgba(255, 255, 255, 0.7) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.15em !important;
	background: rgba(10, 10, 10, 0.5) !important;
	backdrop-filter: blur(8px) !important;
	-webkit-backdrop-filter: blur(8px) !important;
	padding: 6px 12px !important;
	border-radius: 100px !important;
	border: 1px solid rgba(255, 255, 255, 0.12) !important;
}

/* Tour type tag , top-right */
.tae-experiences-wrapper .tae-card-tag {
	position: absolute !important;
	top: 20px !important;
	right: 20px !important;
	z-index: 2 !important;
	font-family: var(--tae-font-body) !important;
	font-size: 10px !important;
	font-weight: 500 !important;
	color: var(--tae-green-bright) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.15em !important;
	background: rgba(41, 184, 80, 0.15) !important;
	backdrop-filter: blur(8px) !important;
	-webkit-backdrop-filter: blur(8px) !important;
	padding: 6px 12px !important;
	border-radius: 100px !important;
	border: 1px solid rgba(41, 184, 80, 0.3) !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
}
.tae-experiences-wrapper .tae-card-tag::before {
	content: '' !important;
	width: 6px !important;
	height: 6px !important;
	background: var(--tae-green-bright) !important;
	border-radius: 50% !important;
	box-shadow: 0 0 8px var(--tae-green-bright) !important;
	flex-shrink: 0 !important;
}

/* Arrow circle , bottom-right of image */
.tae-experiences-wrapper .tae-card-arrow {
	position: absolute !important;
	top: 20px !important;
	right: 20px !important;
	z-index: 2 !important;
	width: 0 !important;
	height: 0 !important;
	visibility: hidden !important;
}

/* Card body content overlaid on the image (bottom area) */
.tae-experiences-wrapper .tae-card-body {
	position: absolute !important;
	bottom: 0 !important;
	left: 0 !important;
	right: 0 !important;
	padding: 24px !important;
	z-index: 2 !important;
	color: var(--tae-white) !important;
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
}
.tae-experiences-wrapper .tae-card-meta {
	display: flex !important;
	gap: 12px !important;
	font-family: var(--tae-font-body) !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	color: rgba(255, 255, 255, 0.7) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.1em !important;
	margin-bottom: 12px !important;
	flex-wrap: wrap !important;
}
.tae-experiences-wrapper .tae-card-meta span {
	display: inline-flex !important;
	align-items: center !important;
	gap: 5px !important;
	color: rgba(255, 255, 255, 0.7) !important;
}
.tae-experiences-wrapper .tae-card-meta svg {
	width: 11px !important;
	height: 11px !important;
}
.tae-experiences-wrapper .tae-card-title {
	font-family: var(--tae-font-heading) !important;
	font-size: 22px !important;
	font-weight: 700 !important;
	color: var(--tae-white) !important;
	letter-spacing: -0.01em !important;
	line-height: 1.05 !important;
	margin: 0 0 12px 0 !important;
	text-transform: uppercase !important;
}
.tae-experiences-wrapper .tae-card-desc {
	display: none !important;
}
.tae-experiences-wrapper .tae-card-footer {
	display: flex !important;
	justify-content: space-between !important;
	align-items: flex-end !important;
	padding-top: 14px !important;
	border-top: 1px solid rgba(255, 255, 255, 0.15) !important;
	gap: 16px !important;
}
.tae-experiences-wrapper .tae-card-price-label {
	display: block !important;
	font-size: 10px !important;
	font-weight: 500 !important;
	color: rgba(255, 255, 255, 0.5) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.12em !important;
	margin-bottom: 2px !important;
}
.tae-experiences-wrapper .tae-card-price {
	display: block !important;
	font-family: var(--tae-font-heading) !important;
	font-weight: 700 !important;
	font-size: 20px !important;
	color: var(--tae-green-bright) !important;
	letter-spacing: -0.01em !important;
	line-height: 1 !important;
}
.tae-experiences-wrapper .tae-card-link-label {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	font-family: var(--tae-font-body) !important;
	font-size: 12px !important;
	font-weight: 900 !important;
	color: var(--tae-white) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.1em !important;
	white-space: nowrap !important;
	transition: gap 0.3s ease !important;
}
.tae-experiences-wrapper .tae-card:hover .tae-card-link-label {
	gap: 12px !important;
	color: var(--tae-green-bright) !important;
}
.tae-experiences-wrapper .tae-card-link-label svg {
	width: 12px !important;
	height: 12px !important;
}

/* Empty state */
.tae-experiences-wrapper .tae-no-results {
	grid-column: 1 / -1 !important;
	text-align: center !important;
	padding: 80px 20px !important;
	color: var(--tae-text-soft) !important;
	font-size: 16px !important;
}
.tae-experiences-wrapper .tae-empty {
	text-align: center !important;
	padding: 80px 20px !important;
	color: var(--tae-text-soft) !important;
	font-size: 16px !important;
	font-family: var(--tae-font-body) !important;
}

/* ============ RESPONSIVE ============ */
@media (max-width: 1024px) {
	.tae-experiences-wrapper .tae-grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
	.tae-experiences-wrapper .tae-search-box {
		align-self: stretch !important;
		max-width: none !important;
		min-width: 0 !important;
	}
}

@media (max-width: 700px) {
	.tae-experiences-wrapper .tae-filters {
		padding: 40px 0 24px !important;
	}
	.tae-experiences-wrapper .tae-experiences {
		padding: 40px 0 60px !important;
	}
	.tae-experiences-wrapper .tae-grid {
		grid-template-columns: 1fr !important;
		gap: 16px !important;
	}
	.tae-experiences-wrapper .tae-card-title {
		font-size: 20px !important;
	}
	.tae-experiences-wrapper .tae-card-price {
		font-size: 18px !important;
	}
	.tae-experiences-wrapper .tae-filter-label {
		flex-basis: 100% !important;
		margin-right: 0 !important;
		margin-bottom: 4px !important;
	}
}

/* ============================================================
   404 PAGE , v3 (v1.9.0)
   ============================================================
   Branded "page not found" page. Embedded via the 404_template
   filter (templates/404.php). Dark hero, big Rubik headline,
   green CTA, and a "maybe you were looking for" quick-link list.
   ============================================================ */

.tae-404 {
	background: var(--tae-black) !important;
	color: var(--tae-white) !important;
	font-family: var(--tae-font-body) !important;
}
.tae-404 * {
	box-sizing: border-box !important;
}
.tae-404 .tae-container {
	max-width: var(--tae-container-width) !important;
	margin: 0 auto !important;
	padding: 0 var(--tae-container-padding) !important;
	width: 100% !important;
}

.tae-404-hero {
	position: relative !important;
	background: var(--tae-black) !important;
	color: var(--tae-white) !important;
	padding: 100px 0 120px !important;
	margin-top: 0 !important;
	overflow: hidden !important;
	min-height: 80vh !important;
	display: flex !important;
	align-items: center !important;
}

/* Hero background image, layered as ::before so it sits behind
   the grid overlay (.tae-404-bg) and the content. The image is
   muted by a subtle darkening gradient , just enough to keep the
   text readable without losing the photo. */
.tae-404-hero::before {
	content: '' !important;
	position: absolute !important;
	inset: 0 !important;
	background-image:
		linear-gradient(180deg,
			rgba(10, 10, 10, 0.55) 0%,
			rgba(10, 10, 10, 0.6) 50%,
			rgba(10, 10, 10, 0.85) 100%
		),
		url('https://tae.selvadigital.dev/wp-content/uploads/2026/05/TAE-HOMEPAGE-1.png') !important;
	background-size: cover !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
	pointer-events: none !important;
	z-index: 0 !important;
}

/* Grid overlay sits on top of the image for that subtle blueprint feel.
   Lowered the line opacity since the image already adds texture. */
.tae-404-bg {
	position: absolute !important;
	inset: 0 !important;
	pointer-events: none !important;
	z-index: 1 !important;
	background-image:
		linear-gradient(to right, rgba(255, 255, 255, 0.05) 1px, transparent 1px),
		linear-gradient(to bottom, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
	background-size: 80px 80px;
	mask-image: radial-gradient(circle at 80% 40%, black 0%, transparent 65%);
	-webkit-mask-image: radial-gradient(circle at 80% 40%, black 0%, transparent 65%);
}

/* Green glow blob , softer over the image */
.tae-404-hero::after {
	content: '' !important;
	position: absolute !important;
	top: -200px !important;
	right: -200px !important;
	width: 800px !important;
	height: 800px !important;
	background: radial-gradient(circle, var(--tae-green-glow) 0%, transparent 60%) !important;
	pointer-events: none !important;
	z-index: 1 !important;
	opacity: 0.6 !important;
}

.tae-404-inner {
	position: relative !important;
	z-index: 2 !important;
	max-width: 760px !important;
}

.tae-404-eyebrow {
	display: inline-flex !important;
	align-items: center !important;
	gap: 10px !important;
	padding: 6px 14px 6px 8px !important;
	background: rgba(41, 184, 80, 0.12) !important;
	border: 1px solid rgba(41, 184, 80, 0.3) !important;
	border-radius: 100px !important;
	font-family: var(--tae-font-body) !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	color: var(--tae-green-bright) !important;
	letter-spacing: 0.05em !important;
	text-transform: uppercase !important;
	margin-bottom: 32px !important;
	width: fit-content !important;
}
.tae-404-dot {
	width: 8px !important;
	height: 8px !important;
	background: var(--tae-green-bright) !important;
	border-radius: 50% !important;
	box-shadow: 0 0 12px var(--tae-green-bright) !important;
	flex-shrink: 0 !important;
}

/* Giant 404 in the background as decorative typography */
.tae-404-code {
	font-family: var(--tae-font-heading) !important;
	font-size: clamp(120px, 22vw, 280px) !important;
	font-weight: 900 !important;
	line-height: 0.85 !important;
	letter-spacing: -0.05em !important;
	color: transparent !important;
	-webkit-text-stroke: 1px rgba(255, 255, 255, 0.12) !important;
	margin-bottom: 24px !important;
	user-select: none !important;
	pointer-events: none !important;
}

.tae-404-title {
	font-family: var(--tae-font-heading) !important;
	font-size: clamp(40px, 5vw, 72px) !important;
	font-weight: 800 !important;
	line-height: 0.95 !important;
	letter-spacing: -0.03em !important;
	text-transform: uppercase !important;
	color: var(--tae-white) !important;
	margin: 0 0 24px 0 !important;
}
.tae-404-title em {
	color: var(--tae-green-bright) !important;
	font-style: italic !important;
	font-weight: 700 !important;
	display: block !important;
}

.tae-404-blurb {
	font-family: var(--tae-font-body) !important;
	font-size: 17px !important;
	font-weight: 400 !important;
	color: rgba(255, 255, 255, 0.7) !important;
	line-height: 1.6 !important;
	max-width: 520px !important;
	margin: 0 0 40px 0 !important;
}

.tae-404-ctas {
	display: flex !important;
	gap: 14px !important;
	flex-wrap: wrap !important;
	margin-bottom: 56px !important;
}

.tae-404-suggest {
	border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
	padding-top: 32px !important;
}
.tae-404-suggest-label {
	font-family: var(--tae-font-body) !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	color: var(--tae-text-muted) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.15em !important;
	margin-bottom: 16px !important;
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
}
.tae-404-suggest-label::after {
	content: '' !important;
	flex: 1 !important;
	height: 1px !important;
	background: rgba(255, 255, 255, 0.08) !important;
}
.tae-404-suggest-list {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}
.tae-404-suggest-list li {
	border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}
.tae-404-suggest-list a {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	padding: 16px 0 !important;
	color: var(--tae-white) !important;
	text-decoration: none !important;
	font-family: var(--tae-font-body) !important;
	font-size: 15px !important;
	font-weight: 400 !important;
	transition: padding 0.2s ease, color 0.2s ease !important;
}
.tae-404-suggest-list a:hover {
	padding-left: 16px !important;
	color: var(--tae-green-bright) !important;
}
.tae-404-suggest-list a svg {
	flex-shrink: 0 !important;
	transition: transform 0.2s ease !important;
}
.tae-404-suggest-list a:hover svg {
	transform: translateX(4px) !important;
	color: var(--tae-green-bright) !important;
}

@media (max-width: 700px) {
	.tae-404-hero {
		padding: 60px 0 80px !important;
		min-height: auto !important;
	}
	.tae-404-code {
		font-size: 96px !important;
	}
	.tae-404-title {
		font-size: 32px !important;
	}
}

/* ============================================================
   HOMEPAGE NEWS / EVENTS SECTION , v1.10.0
   ============================================================
   Dark editorial section: 1 featured news card on the left,
   compact list of items on the right, "view all" link below.
   Sits between the guide section and the CTA strip on the
   homepage. Designed to feel editorial, not promotional.
   ============================================================ */

.tae-home-news {
	background: var(--tae-black) !important;
	color: var(--tae-white) !important;
	padding: 100px 0 !important;
	position: relative !important;
	overflow: hidden !important;
}
.tae-home-news::before {
	content: '' !important;
	position: absolute !important;
	top: -200px !important;
	left: -200px !important;
	width: 600px !important;
	height: 600px !important;
	background: radial-gradient(circle, var(--tae-green-glow) 0%, transparent 60%) !important;
	pointer-events: none !important;
	opacity: 0.5 !important;
	z-index: 0 !important;
}
.tae-home-news .tae-container {
	position: relative !important;
	z-index: 1 !important;
}

/* ============ GRID: 1.4fr featured + 1fr list ============ */
.tae-news-grid {
	display: grid !important;
	grid-template-columns: 1.4fr 1fr !important;
	gap: 32px !important;
	align-items: stretch !important;
}

/* ============ FEATURED CARD ============ */
.tae-news-featured {
	display: flex !important;
	flex-direction: column !important;
	background: var(--tae-black-soft, #1a1a1a) !important;
	border-radius: 20px !important;
	overflow: hidden !important;
	text-decoration: none !important;
	color: inherit !important;
	transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
	border: 1px solid rgba(255, 255, 255, 0.06) !important;
}
.tae-news-featured:hover {
	transform: translateY(-4px) !important;
	border-color: rgba(41, 184, 80, 0.3) !important;
}
.tae-news-featured-img {
	position: relative !important;
	width: 100% !important;
	aspect-ratio: 16/10 !important;
	overflow: hidden !important;
	background: var(--tae-black) !important;
}
.tae-news-featured-img img {
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: cover !important;
	transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1) !important;
	display: block !important;
	margin: 0 !important;
}
.tae-news-featured:hover .tae-news-featured-img img {
	transform: scale(1.04) !important;
}
.tae-news-featured-body {
	padding: 28px 32px 32px !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 14px !important;
}
.tae-news-featured-title {
	font-family: var(--tae-font-heading) !important;
	font-size: 28px !important;
	font-weight: 700 !important;
	color: var(--tae-white) !important;
	line-height: 1.1 !important;
	letter-spacing: -0.02em !important;
	margin: 0 !important;
	text-transform: none !important;
}
.tae-news-featured-excerpt {
	font-family: var(--tae-font-body) !important;
	font-size: 15px !important;
	font-weight: 400 !important;
	color: rgba(255, 255, 255, 0.65) !important;
	line-height: 1.55 !important;
	margin: 0 !important;
}

/* ============ META ROW (type + date + pin) ============ */
.tae-news-meta,
.tae-news-list-meta {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	flex-wrap: wrap !important;
	font-family: var(--tae-font-body) !important;
	font-size: 10px !important;
	font-weight: 500 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.15em !important;
}
.tae-news-type {
	color: var(--tae-green-bright) !important;
	padding: 4px 10px !important;
	background: rgba(41, 184, 80, 0.12) !important;
	border: 1px solid rgba(41, 184, 80, 0.3) !important;
	border-radius: 100px !important;
	display: inline-flex !important;
	align-items: center !important;
	line-height: 1 !important;
}
.tae-news-date {
	color: rgba(255, 255, 255, 0.45) !important;
}
.tae-news-pin {
	display: inline-flex !important;
	align-items: center !important;
	gap: 4px !important;
	color: var(--tae-green-bright) !important;
	line-height: 1 !important;
}
.tae-news-pin svg {
	flex-shrink: 0 !important;
}

/* ============ READ MORE LINK ============ */
.tae-news-readmore {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	font-family: var(--tae-font-body) !important;
	font-size: 12px !important;
	font-weight: 900 !important;
	color: var(--tae-green-bright) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.12em !important;
	margin-top: 4px !important;
	transition: gap 0.3s ease !important;
}
.tae-news-featured:hover .tae-news-readmore {
	gap: 12px !important;
}

/* ============ COMPACT LIST (right side) ============ */
.tae-news-list {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 0 !important;
	background: transparent !important;
}
.tae-news-list-item {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}
.tae-news-list-item:first-child {
	border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
}
.tae-news-list-item a {
	display: grid !important;
	grid-template-columns: 1fr auto !important;
	grid-template-areas:
		"meta arrow"
		"title arrow" !important;
	gap: 4px 16px !important;
	align-items: center !important;
	padding: 20px 0 !important;
	text-decoration: none !important;
	color: inherit !important;
	transition: padding 0.2s ease !important;
}
.tae-news-list-item a:hover {
	padding-left: 12px !important;
	padding-right: 12px !important;
}
.tae-news-list-meta {
	grid-area: meta !important;
}
.tae-news-list-title {
	grid-area: title !important;
	font-family: var(--tae-font-heading) !important;
	font-size: 17px !important;
	font-weight: 700 !important;
	color: var(--tae-white) !important;
	line-height: 1.25 !important;
	letter-spacing: -0.01em !important;
	margin: 0 !important;
	text-transform: none !important;
	transition: color 0.2s ease !important;
}
.tae-news-list-item a:hover .tae-news-list-title {
	color: var(--tae-green-bright) !important;
}
.tae-news-list-arrow {
	grid-area: arrow !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 36px !important;
	height: 36px !important;
	border-radius: 50% !important;
	background: rgba(255, 255, 255, 0.04) !important;
	border: 1px solid rgba(255, 255, 255, 0.1) !important;
	color: var(--tae-white) !important;
	flex-shrink: 0 !important;
	transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease !important;
}
.tae-news-list-item a:hover .tae-news-list-arrow {
	background: var(--tae-green) !important;
	border-color: var(--tae-green) !important;
	transform: translate(4px, -4px) !important;
}

/* Pinned item gets a subtle highlight */
.tae-news-list-item.is-pinned {
	background: linear-gradient(90deg, rgba(41, 184, 80, 0.06) 0%, transparent 100%) !important;
	border-left: 2px solid var(--tae-green-bright) !important;
	padding-left: 16px !important;
}

/* ============ FOOTER LINK ============ */
.tae-home-news-footer {
	margin-top: 48px !important;
	display: flex !important;
	justify-content: center !important;
}
.tae-home-news-footer .tae-btn-ghost {
	color: var(--tae-white) !important;
	border-color: rgba(255, 255, 255, 0.2) !important;
}
.tae-home-news-footer .tae-btn-ghost:hover {
	color: var(--tae-green-bright) !important;
	border-color: var(--tae-green-bright) !important;
}

/* ============ RESPONSIVE ============ */
@media (max-width: 960px) {
	.tae-news-grid {
		grid-template-columns: 1fr !important;
		gap: 24px !important;
	}
}
@media (max-width: 700px) {
	.tae-home-news {
		padding: 64px 0 !important;
	}
	.tae-news-featured-body {
		padding: 20px 22px 24px !important;
	}
	.tae-news-featured-title {
		font-size: 22px !important;
	}
	.tae-news-list-title {
		font-size: 15px !important;
	}
	.tae-news-list-item a {
		padding: 16px 0 !important;
		gap: 4px 12px !important;
	}
	.tae-news-list-arrow {
		width: 32px !important;
		height: 32px !important;
	}
}

/* ============================================================
   NEWS SINGLE + ARCHIVE , v1.11.0
   ============================================================
   Branded templates for single tae_news posts (single-tae_news.php)
   and the news archive (archive-tae_news.php). Reuses meta/pin
   classes from the homepage news section for visual consistency.
   ============================================================ */

/* ============ SINGLE NEWS , wrapper / breadcrumbs ============ */
.tae-news-single {
	background: var(--tae-paper) !important;
	color: var(--tae-ink) !important;
	font-family: var(--tae-font-body) !important;
}
.tae-news-single * { box-sizing: border-box !important; }
.tae-news-single .tae-container {
	max-width: var(--tae-container-width) !important;
	margin: 0 auto !important;
	padding: 0 var(--tae-container-padding) !important;
	width: 100% !important;
}

.tae-news-single-breadcrumbs {
	background: var(--tae-black) !important;
	color: rgba(255, 255, 255, 0.5) !important;
	font-family: var(--tae-font-body) !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.15em !important;
	padding: 0 0 24px !important;
	margin-top: calc(var(--tae-header-height) * -1) !important;
	position: relative !important;
	z-index: 1 !important;
}
.tae-news-single-breadcrumbs .tae-container {
	padding-top: calc(var(--tae-header-height) + 32px) !important;
}
.tae-news-single-breadcrumbs nav {
	display: none !important;
}
.tae-news-single-breadcrumbs a {
	color: rgba(255, 255, 255, 0.5) !important;
	text-decoration: none !important;
	transition: color 0.2s ease !important;
}
.tae-news-single-breadcrumbs a:hover {
	color: var(--tae-green-bright) !important;
}
.tae-news-single-breadcrumbs span {
	color: var(--tae-green-bright) !important;
	margin: 0 12px !important;
}

/* ============ SINGLE NEWS , hero ============ */
.tae-news-single-hero {
	background: var(--tae-black) !important;
	color: var(--tae-white) !important;
	padding: 40px 0 80px !important;
	position: relative !important;
	overflow: hidden !important;
}
.tae-news-single-hero.has-image {
	padding: 80px 0 120px !important;
}
.tae-news-single-hero-bg {
	position: absolute !important;
	inset: 0 !important;
	background-image:
		linear-gradient(180deg, rgba(10, 10, 10, 0.6) 0%, rgba(10, 10, 10, 0.95) 100%),
		var(--tae-news-hero-bg);
	background-size: cover !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
	pointer-events: none !important;
	z-index: 0 !important;
}
.tae-news-single-hero-inner {
	position: relative !important;
	z-index: 1 !important;
	max-width: 800px !important;
}
.tae-news-single-meta {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	flex-wrap: wrap !important;
	margin-bottom: 24px !important;
	font-family: var(--tae-font-body) !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.15em !important;
}
.tae-news-single-title {
	font-family: var(--tae-font-heading) !important;
	font-size: clamp(36px, 5vw, 60px) !important;
	font-weight: 800 !important;
	line-height: 1.05 !important;
	letter-spacing: -0.03em !important;
	color: var(--tae-white) !important;
	margin: 0 0 24px 0 !important;
	text-transform: none !important;
}
.tae-news-single-source {
	font-family: var(--tae-font-body) !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	color: rgba(255, 255, 255, 0.5) !important;
	letter-spacing: 0.02em !important;
}
.tae-news-single-source span {
	color: rgba(255, 255, 255, 0.9) !important;
	font-weight: 500 !important;
	margin-left: 6px !important;
}

/* ============ SINGLE NEWS , content body ============ */
.tae-news-single-content {
	background: var(--tae-paper) !important;
	padding: 80px 0 100px !important;
}
.tae-news-single-body {
	max-width: 720px !important;
	margin: 0 auto !important;
	font-family: var(--tae-font-body) !important;
	font-size: 17px !important;
	line-height: 1.7 !important;
	color: var(--tae-ink) !important;
}
.tae-news-single-body p {
	margin: 0 0 1.4em 0 !important;
}
.tae-news-single-body h2 {
	font-family: var(--tae-font-heading) !important;
	font-size: 30px !important;
	font-weight: 800 !important;
	line-height: 1.15 !important;
	letter-spacing: -0.02em !important;
	margin: 2em 0 0.6em 0 !important;
	color: var(--tae-ink) !important;
	text-transform: none !important;
}
.tae-news-single-body h3 {
	font-family: var(--tae-font-heading) !important;
	font-size: 22px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	letter-spacing: -0.01em !important;
	margin: 1.6em 0 0.5em 0 !important;
	color: var(--tae-ink) !important;
	text-transform: none !important;
}
.tae-news-single-body a {
	color: var(--tae-green) !important;
	text-decoration: underline !important;
	text-decoration-color: rgba(31, 138, 62, 0.3) !important;
	text-underline-offset: 3px !important;
	transition: text-decoration-color 0.2s ease !important;
}
.tae-news-single-body a:hover {
	text-decoration-color: var(--tae-green) !important;
}
.tae-news-single-body blockquote {
	border-left: 3px solid var(--tae-green) !important;
	padding: 8px 0 8px 24px !important;
	margin: 1.6em 0 !important;
	font-family: var(--tae-font-heading) !important;
	font-size: 22px !important;
	font-weight: 500 !important;
	font-style: italic !important;
	line-height: 1.4 !important;
	color: var(--tae-ink) !important;
}
.tae-news-single-body ul,
.tae-news-single-body ol {
	padding-left: 1.4em !important;
	margin: 0 0 1.4em 0 !important;
}
.tae-news-single-body li {
	margin: 0 0 0.4em 0 !important;
}
.tae-news-single-body img {
	max-width: 100% !important;
	height: auto !important;
	border-radius: 12px !important;
	margin: 1.6em 0 !important;
}

/* External link CTA at the bottom of single news body */
.tae-news-single-external {
	margin-top: 2.4em !important;
	padding-top: 2.4em !important;
	border-top: 1px solid rgba(10, 10, 10, 0.08) !important;
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 16px !important;
}
.tae-news-single-external-source {
	font-size: 14px !important;
	color: var(--tae-text-soft) !important;
}
.tae-news-single-external-source strong {
	color: var(--tae-ink) !important;
	font-weight: 600 !important;
}

/* ============ SINGLE NEWS , related grid ============ */
.tae-news-single-related {
	background: var(--tae-cream) !important;
	padding: 80px 0 100px !important;
}
.tae-news-single-related-head {
	margin-bottom: 40px !important;
}
.tae-news-related-grid {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 24px !important;
}
.tae-news-single-related-footer {
	margin-top: 48px !important;
	display: flex !important;
	justify-content: center !important;
}

/* ============ NEWS CARDS (shared by archive + related) ============ */
.tae-news-card {
	display: flex !important;
	flex-direction: column !important;
	background: var(--tae-white) !important;
	border-radius: 16px !important;
	overflow: hidden !important;
	text-decoration: none !important;
	color: inherit !important;
	border: 1px solid rgba(10, 10, 10, 0.06) !important;
	transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.2s ease, box-shadow 0.3s ease !important;
}
.tae-news-card:hover {
	transform: translateY(-4px) !important;
	border-color: rgba(41, 184, 80, 0.3) !important;
	box-shadow: 0 12px 32px rgba(10, 10, 10, 0.08) !important;
}
.tae-news-card.is-pinned {
	border-color: rgba(41, 184, 80, 0.4) !important;
	background: linear-gradient(180deg, rgba(41, 184, 80, 0.04) 0%, var(--tae-white) 100%) !important;
}
.tae-news-card-img {
	width: 100% !important;
	aspect-ratio: 16/10 !important;
	overflow: hidden !important;
	background: var(--tae-cream) !important;
	position: relative !important;
}
.tae-news-card-img img {
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: cover !important;
	transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1) !important;
	display: block !important;
	margin: 0 !important;
}
.tae-news-card:hover .tae-news-card-img img {
	transform: scale(1.05) !important;
}
.tae-news-card-body {
	padding: 20px 22px 24px !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
	flex: 1 !important;
}
.tae-news-card-title {
	font-family: var(--tae-font-heading) !important;
	font-size: 19px !important;
	font-weight: 700 !important;
	color: var(--tae-ink) !important;
	line-height: 1.2 !important;
	letter-spacing: -0.01em !important;
	margin: 0 !important;
	text-transform: none !important;
	transition: color 0.2s ease !important;
}
.tae-news-card:hover .tae-news-card-title {
	color: var(--tae-green) !important;
}
.tae-news-card-excerpt {
	font-family: var(--tae-font-body) !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	color: var(--tae-text-soft) !important;
	line-height: 1.5 !important;
	margin: 0 !important;
}

/* When cards are inside the dark related section on single news,
   keep them on a light background , already the default. */

/* ============ ARCHIVE , hero ============ */
.tae-news-archive {
	background: var(--tae-paper) !important;
	color: var(--tae-ink) !important;
	font-family: var(--tae-font-body) !important;
}
.tae-news-archive * { box-sizing: border-box !important; }
.tae-news-archive .tae-container {
	max-width: var(--tae-container-width) !important;
	margin: 0 auto !important;
	padding: 0 var(--tae-container-padding) !important;
	width: 100% !important;
}

.tae-news-archive-hero {
	background: var(--tae-black) !important;
	color: var(--tae-white) !important;
	padding: 100px 0 80px !important;
	position: relative !important;
	overflow: hidden !important;
}
.tae-news-archive-hero-bg {
	position: absolute !important;
	top: -200px !important;
	right: -200px !important;
	width: 700px !important;
	height: 700px !important;
	background: radial-gradient(circle, var(--tae-green-glow) 0%, transparent 60%) !important;
	opacity: 0.5 !important;
	pointer-events: none !important;
	z-index: 0 !important;
}
.tae-news-archive-hero-inner {
	position: relative !important;
	z-index: 1 !important;
	max-width: 720px !important;
}
.tae-news-archive-title {
	font-family: var(--tae-font-heading) !important;
	font-size: clamp(40px, 5.5vw, 72px) !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	letter-spacing: -0.03em !important;
	text-transform: uppercase !important;
	color: var(--tae-white) !important;
	margin: 0 0 20px 0 !important;
}
.tae-news-archive-blurb {
	font-family: var(--tae-font-body) !important;
	font-size: 17px !important;
	color: rgba(255, 255, 255, 0.65) !important;
	line-height: 1.55 !important;
	margin: 0 !important;
	max-width: 560px !important;
}

/* ============ ARCHIVE , filter chips ============ */
.tae-news-archive-filters {
	background: var(--tae-paper) !important;
	padding: 40px 0 24px !important;
	border-bottom: 1px solid var(--tae-line-dark) !important;
}
.tae-news-archive-filter-row {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	align-items: center !important;
}
.tae-news-archive-filter-label {
	font-family: var(--tae-font-body) !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	color: var(--tae-text-muted) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.15em !important;
	margin-right: 8px !important;
}
/* Chips are <a> in archive (links to taxonomy archives) */
.tae-news-archive .tae-chip {
	display: inline-flex !important;
	align-items: center !important;
	background: var(--tae-white) !important;
	color: var(--tae-ink) !important;
	padding: 8px 18px !important;
	font-family: var(--tae-font-body) !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	letter-spacing: 0.02em !important;
	border: 1px solid rgba(10, 10, 10, 0.12) !important;
	border-radius: 100px !important;
	text-decoration: none !important;
	transition: all 0.2s ease !important;
	text-transform: none !important;
}
.tae-news-archive .tae-chip:hover {
	background: var(--tae-cream) !important;
	border-color: rgba(10, 10, 10, 0.25) !important;
}
.tae-news-archive .tae-chip.active {
	background: var(--tae-ink) !important;
	color: var(--tae-white) !important;
	border-color: var(--tae-ink) !important;
}

/* ============ ARCHIVE , card grid ============ */
.tae-news-archive-grid-section {
	padding: 56px 0 100px !important;
}
.tae-news-archive-grid {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 24px !important;
}

/* Archive empty state */
.tae-news-archive-empty {
	padding: 80px 20px !important;
	text-align: center !important;
	color: var(--tae-text-soft) !important;
	font-size: 16px !important;
}

/* ============ ARCHIVE , pagination ============ */
.tae-news-archive-pagination {
	margin-top: 48px !important;
	display: flex !important;
	justify-content: center !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
}
.tae-news-archive-pagination .page-numbers {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 40px !important;
	height: 40px !important;
	padding: 0 14px !important;
	border-radius: 100px !important;
	border: 1px solid rgba(10, 10, 10, 0.12) !important;
	background: var(--tae-white) !important;
	color: var(--tae-ink) !important;
	font-family: var(--tae-font-body) !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	text-decoration: none !important;
	transition: all 0.2s ease !important;
}
.tae-news-archive-pagination .page-numbers:hover {
	background: var(--tae-cream) !important;
	border-color: rgba(10, 10, 10, 0.25) !important;
}
.tae-news-archive-pagination .page-numbers.current {
	background: var(--tae-ink) !important;
	color: var(--tae-white) !important;
	border-color: var(--tae-ink) !important;
}
.tae-news-archive-pagination .page-numbers.dots {
	border: none !important;
	background: transparent !important;
}

/* ============ RESPONSIVE ============ */
@media (max-width: 960px) {
	.tae-news-related-grid,
	.tae-news-archive-grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (max-width: 700px) {
	.tae-news-single-hero {
		padding: 24px 0 60px !important;
	}
	.tae-news-single-hero.has-image {
		padding: 48px 0 80px !important;
	}
	.tae-news-single-title {
		font-size: 32px !important;
	}
	.tae-news-single-content {
		padding: 56px 0 72px !important;
	}
	.tae-news-single-body {
		font-size: 16px !important;
	}
	.tae-news-single-body h2 { font-size: 24px !important; }
	.tae-news-single-body h3 { font-size: 20px !important; }
	.tae-news-single-related {
		padding: 56px 0 72px !important;
	}
	.tae-news-related-grid,
	.tae-news-archive-grid {
		grid-template-columns: 1fr !important;
		gap: 16px !important;
	}
	.tae-news-archive-hero {
		padding: 80px 0 64px !important;
	}
	.tae-news-archive-title {
		font-size: 36px !important;
	}
	.tae-news-archive-grid-section {
		padding: 40px 0 64px !important;
	}
}

/* ============================================================
   LANGUAGE SWITCHER , v1.12.0
   ============================================================
   Detects active multilingual plugin and renders a compact
   EN/NL switcher in the header (dropdown style) and mobile
   drawer (inline list style).
   ============================================================ */

.tae-lang-switcher {
	font-family: var(--tae-font-body) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
}

/* ----- Inline list style (used in mobile drawer) ----- */
.tae-lang-switcher.is-inline .tae-lang-list {
	list-style: none !important;
	margin: 24px 0 0 !important;
	padding: 0 !important;
	display: flex !important;
	gap: 16px !important;
	justify-content: center !important;
}
.tae-lang-switcher.is-inline .tae-lang-link {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	padding: 10px 16px !important;
	border-radius: 100px !important;
	color: rgba(255, 255, 255, 0.65) !important;
	text-decoration: none !important;
	border: 1px solid rgba(255, 255, 255, 0.15) !important;
	transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease !important;
}
.tae-lang-switcher.is-inline .tae-lang-link:hover {
	color: var(--tae-white) !important;
	border-color: rgba(255, 255, 255, 0.4) !important;
}
.tae-lang-switcher.is-inline .tae-lang-link.is-current {
	color: var(--tae-black) !important;
	background: var(--tae-white) !important;
	border-color: var(--tae-white) !important;
}

/* ----- Dropdown style (used in desktop header) ----- */
.tae-lang-switcher.is-dropdown {
	position: relative !important;
	display: inline-block !important;
}
.tae-lang-trigger {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	background: transparent !important;
	border: 1px solid rgba(255, 255, 255, 0.2) !important;
	border-radius: 100px !important;
	padding: 8px 12px 8px 14px !important;
	color: var(--tae-white) !important;
	font-family: var(--tae-font-body) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	cursor: pointer !important;
	transition: border-color 0.2s ease, background-color 0.2s ease !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	box-shadow: none !important;
	margin: 0 !important;
	height: auto !important;
	line-height: 1 !important;
}
.tae-lang-trigger:hover {
	border-color: rgba(255, 255, 255, 0.5) !important;
}
.tae-lang-trigger .tae-lang-caret {
	transition: transform 0.2s ease !important;
	flex-shrink: 0 !important;
}
.tae-lang-switcher.is-open .tae-lang-trigger .tae-lang-caret,
.tae-lang-trigger[aria-expanded="true"] .tae-lang-caret {
	transform: rotate(180deg) !important;
}

.tae-lang-menu {
	position: absolute !important;
	top: calc(100% + 8px) !important;
	right: 0 !important;
	min-width: 140px !important;
	margin: 0 !important;
	padding: 6px !important;
	list-style: none !important;
	background: var(--tae-black-soft, #1a1a1a) !important;
	border: 1px solid rgba(255, 255, 255, 0.1) !important;
	border-radius: 12px !important;
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.5) !important;
	z-index: 9991 !important;
	opacity: 0 !important;
	transform: translateY(-8px) !important;
	pointer-events: none !important;
	transition: opacity 0.2s ease, transform 0.2s ease !important;
}
.tae-lang-switcher.is-open .tae-lang-menu {
	opacity: 1 !important;
	transform: translateY(0) !important;
	pointer-events: auto !important;
}
.tae-lang-menu li {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
.tae-lang-menu .tae-lang-link {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	padding: 10px 14px !important;
	color: rgba(255, 255, 255, 0.7) !important;
	text-decoration: none !important;
	border-radius: 8px !important;
	transition: background-color 0.15s ease, color 0.15s ease !important;
}
.tae-lang-menu .tae-lang-link:hover {
	background: rgba(255, 255, 255, 0.05) !important;
	color: var(--tae-white) !important;
}
.tae-lang-menu .tae-lang-link.is-current {
	color: var(--tae-green-bright) !important;
	background: rgba(41, 184, 80, 0.08) !important;
}

/* ----- Mini flag chips (CSS-only, no external assets) ----- */
.tae-lang-flag {
	display: inline-block !important;
	width: 16px !important;
	height: 12px !important;
	border-radius: 2px !important;
	flex-shrink: 0 !important;
	background-size: cover !important;
	background-position: center !important;
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1) !important;
}
/* GB flag , simplified Union Jack as horizontal stripes (fallback,
   close enough for a 16x12px chip). Use background-color + a thin
   cross with linear-gradients. */
.tae-lang-flag-en,
.tae-lang-flag-gb {
	background:
		linear-gradient(transparent 4px, #cf142b 4px, #cf142b 8px, transparent 8px),
		linear-gradient(90deg, transparent 7px, #cf142b 7px, #cf142b 9px, transparent 9px),
		#012169 !important;
}
/* NL flag , 3 horizontal stripes red/white/blue. */
.tae-lang-flag-nl {
	background: linear-gradient(180deg,
		#ae1c28 0%, #ae1c28 33%,
		#ffffff 33%, #ffffff 66%,
		#21468b 66%, #21468b 100%) !important;
}

/* ----- Hide on mobile (drawer takes over) ----- */
@media (max-width: 900px) {
	.tae-nav-actions .tae-lang-switcher.is-dropdown {
		display: none !important;
	}
}

/* ============================================================
   LANGUAGE SWITCHER AS LAST MENU ITEM , v1.12.0
   ============================================================ */
.tae-nav-links .tae-nav-lang-item {
	display: flex !important;
	align-items: center !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}
/* No underline-hover effect on the switcher item (links inside
   the switcher have their own styling) */
.tae-nav-links .tae-nav-lang-item::after { display: none !important; }

/* In the mobile drawer the dropdown flips to a simple inline row ,
   a floating dropdown panel is awkward inside a full-screen drawer. */
.tae-nav-drawer .tae-nav-lang-item {
	margin-top: 12px !important;
	padding-top: 20px !important;
	border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
}
.tae-nav-drawer .tae-lang-switcher.is-dropdown .tae-lang-trigger {
	display: none !important;
}
.tae-nav-drawer .tae-lang-switcher.is-dropdown .tae-lang-menu {
	position: static !important;
	display: flex !important;
	flex-direction: row !important;
	gap: 10px !important;
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* TranslatePress flag images in the language switcher (v1.12.1).
   When TRP is active we use its own flag PNGs instead of the
   CSS-drawn fallback flags. */
.tae-lang-flag-img {
	width: 18px !important;
	height: 12px !important;
	display: inline-block !important;
	border-radius: 2px !important;
	object-fit: cover !important;
	max-width: none !important;
	max-height: none !important;
	margin: 0 !important;
	background: none !important;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.15) !important;
	flex-shrink: 0 !important;
}

/* ============================================================
   REVIEWS , grid + carousel ([tae_reviews]) , v1.13.0
   ============================================================ */
.tae-reviews {
	position: relative !important;
	max-width: var(--tae-container-width) !important;
	margin: 0 auto !important;
	padding: 0 var(--tae-container-padding) !important;
	width: 100% !important;
	box-sizing: border-box !important;
	font-family: var(--tae-font-body) !important;
}
.tae-reviews * { box-sizing: border-box !important; }

/* ---- GRID ---- */
.tae-reviews-grid {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 24px !important;
}
.tae-reviews-cols-1 .tae-reviews-grid { grid-template-columns: 1fr !important; }
.tae-reviews-cols-2 .tae-reviews-grid { grid-template-columns: repeat(2, 1fr) !important; }
.tae-reviews-cols-3 .tae-reviews-grid { grid-template-columns: repeat(3, 1fr) !important; }
.tae-reviews-cols-4 .tae-reviews-grid { grid-template-columns: repeat(4, 1fr) !important; }

/* ---- CAROUSEL ---- */
.tae-reviews-carousel {
	display: flex !important;
	gap: 24px !important;
	overflow-x: auto !important;
	scroll-behavior: smooth !important;
	scroll-snap-type: x mandatory !important;
	-webkit-overflow-scrolling: touch !important;
	padding-bottom: 8px !important;
	scrollbar-width: none !important;
}
.tae-reviews-carousel::-webkit-scrollbar { display: none !important; }
.tae-reviews-carousel .tae-review-card {
	scroll-snap-align: start !important;
	flex: 0 0 calc((100% - 2 * 24px) / 3) !important;
}
.tae-reviews-cols-1 .tae-reviews-carousel .tae-review-card { flex-basis: 100% !important; }
.tae-reviews-cols-2 .tae-reviews-carousel .tae-review-card { flex-basis: calc((100% - 24px) / 2) !important; }
.tae-reviews-cols-3 .tae-reviews-carousel .tae-review-card { flex-basis: calc((100% - 2 * 24px) / 3) !important; }
.tae-reviews-cols-4 .tae-reviews-carousel .tae-review-card { flex-basis: calc((100% - 3 * 24px) / 4) !important; }

/* Carousel nav buttons , top-right above the track */
.tae-reviews-carousel-head {
	display: flex !important;
	justify-content: flex-end !important;
	gap: 8px !important;
	margin-bottom: 20px !important;
}
.tae-reviews-nav {
	width: 44px !important;
	height: 44px !important;
	border-radius: 50% !important;
	border: 1px solid rgba(10, 10, 10, 0.15) !important;
	background: var(--tae-white) !important;
	color: var(--tae-ink) !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
	padding: 0 !important;
}
.tae-reviews-nav svg { width: 20px !important; height: 20px !important; }
.tae-reviews-nav:hover {
	background: var(--tae-ink) !important;
	color: var(--tae-white) !important;
	border-color: var(--tae-ink) !important;
}
.tae-reviews-nav:disabled {
	opacity: 0.35 !important;
	cursor: default !important;
}
.tae-reviews-nav:disabled:hover {
	background: var(--tae-white) !important;
	color: var(--tae-ink) !important;
	border-color: rgba(10, 10, 10, 0.15) !important;
}

/* ---- CARD ---- */
.tae-review-card {
	display: flex !important;
	flex-direction: column !important;
	gap: 16px !important;
	background: var(--tae-white) !important;
	border: 1px solid rgba(10, 10, 10, 0.06) !important;
	border-radius: 16px !important;
	padding: 28px !important;
	box-shadow: 0 2px 12px rgba(10, 10, 10, 0.04) !important;
}

/* ---- STARS ---- */
.tae-review-stars {
	display: inline-flex !important;
	gap: 3px !important;
}
.tae-review-star {
	width: 18px !important;
	height: 18px !important;
	fill: rgba(10, 10, 10, 0.15) !important;
	flex-shrink: 0 !important;
}
.tae-review-star.is-filled { fill: #f5a623 !important; }

/* ---- TEXT ---- */
.tae-review-text {
	font-size: 16px !important;
	line-height: 1.6 !important;
	color: var(--tae-ink) !important;
	flex: 1 !important;
}
.tae-review-text p { margin: 0 0 0.7em 0 !important; }
.tae-review-text p:last-child { margin-bottom: 0 !important; }

/* ---- FOOTER ---- */
.tae-review-footer {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 12px !important;
	flex-wrap: wrap !important;
	padding-top: 16px !important;
	border-top: 1px solid rgba(10, 10, 10, 0.08) !important;
}
.tae-review-author {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
}
.tae-review-avatar {
	width: 40px !important;
	height: 40px !important;
	border-radius: 50% !important;
	background: var(--tae-green) !important;
	color: var(--tae-white) !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-family: var(--tae-font-heading) !important;
	font-weight: 700 !important;
	font-size: 16px !important;
	flex-shrink: 0 !important;
}
.tae-review-author-meta {
	display: flex !important;
	flex-direction: column !important;
	line-height: 1.3 !important;
}
.tae-review-name {
	font-weight: 700 !important;
	font-size: 14px !important;
	color: var(--tae-ink) !important;
}
.tae-review-country {
	font-size: 12px !important;
	color: var(--tae-text-soft) !important;
}
.tae-review-source {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
}
.tae-review-source-icon {
	height: 20px !important;
	width: auto !important;
	max-width: 80px !important;
	object-fit: contain !important;
	display: block !important;
}
.tae-review-source-name {
	font-size: 12px !important;
	font-weight: 500 !important;
	color: var(--tae-text-soft) !important;
}

/* ---- RESPONSIVE ---- */
@media (max-width: 980px) {
	.tae-reviews-cols-3 .tae-reviews-grid,
	.tae-reviews-cols-4 .tae-reviews-grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
	.tae-reviews-cols-3 .tae-reviews-carousel .tae-review-card,
	.tae-reviews-cols-4 .tae-reviews-carousel .tae-review-card {
		flex-basis: calc((100% - 24px) / 2) !important;
	}
}
@media (max-width: 640px) {
	.tae-reviews-grid { grid-template-columns: 1fr !important; }
	.tae-reviews-cols-2 .tae-reviews-grid,
	.tae-reviews-cols-3 .tae-reviews-grid,
	.tae-reviews-cols-4 .tae-reviews-grid {
		grid-template-columns: 1fr !important;
	}
	.tae-reviews-carousel .tae-review-card,
	.tae-reviews-cols-2 .tae-reviews-carousel .tae-review-card,
	.tae-reviews-cols-3 .tae-reviews-carousel .tae-review-card,
	.tae-reviews-cols-4 .tae-reviews-carousel .tae-review-card {
		flex-basis: 85% !important;
	}
	.tae-review-card { padding: 22px !important; }
}

/* Homepage reviews section wrapper , v1.14.0.
   Sits between the black trust section and the cream guide section. */
.tae-home-reviews-section {
	background: var(--tae-paper) !important;
	padding: 100px 0 !important;
}
.tae-home-reviews-section .tae-home-section-head {
	margin-bottom: 48px !important;
}
@media (max-width: 768px) {
	.tae-home-reviews-section { padding: 64px 0 !important; }
}
