/* Crosswoods Hero Banner - base styles
   Colors/typography/blur amounts are controlled live from Elementor via
   inline CSS vars + selectors generated per widget instance. */

.cwh-hero {
	position: relative;
	width: 100%;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	color: #fff;
	box-sizing: border-box;
}
.cwh-hero *, .cwh-hero *::before, .cwh-hero *::after { box-sizing: border-box; }

.cwh-hero-bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	background-size: cover;
	background-position: center;
	overflow: hidden;
}
.cwh-ripple-defs {
	position: absolute;
	width: 0;
	height: 0;
	overflow: hidden;
	pointer-events: none;
}
.cwh-hero-bg.cwh-ripple-active {
	will-change: filter;
	transform: translateZ(0); /* own compositing layer for smoother filter animation */
}
.cwh-hero-bg.cwh-ripple-hover { filter: none; }
.cwh-hero-bg-video {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	min-width: 100%;
	min-height: 100%;
	transform: translate(-50%, -50%);
	object-fit: cover;
	border: none;
	pointer-events: none;
}
.cwh-hero-bg-iframe {
	/* oversize the iframe so YouTube/Vimeo chrome is cropped out, like a real background video */
	width: 177.77vh; /* 16:9 */
	height: 100vh;
	min-width: 100%;
	min-height: 56.25vw;
}

.cwh-hero-overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	background-color: #000;
	opacity: 0.45;
	pointer-events: none;
}

.cwh-container {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
	box-sizing: border-box;
}

.cwh-hero-inner {
	position: relative;
	z-index: 2;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 32px;
	padding: 60px 40px;
}

/* ---- Text column ---- */
.cwh-text-col {
	display: flex;
	flex-direction: column;
	width: 60%;
	max-width: 60%;
	gap: 18px;
}

.cwh-title {
	margin: 0;
	font-size: 52px;
	line-height: 1.15;
	font-weight: 600;
	font-family: Georgia, 'Times New Roman', serif;
}
.cwh-title-highlight {
	display: block;
	color: #f0b429;
}

.cwh-description {
	margin: 0;
	max-width: 560px;
	font-size: 16px;
	line-height: 1.6;
	color: #f1f1f1;
}

/* ---- Badges row (glass icon boxes) ---- */
.cwh-badges-row {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 10px;
}
.cwh-badge-item {
	position: relative;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 16px;
	border-radius: 14px;
	overflow: hidden;
	isolation: isolate;
}
.cwh-badge-item.cwh-glass {
	background: var(--cwh-glass-bg, rgba(255,255,255,0.10));
	border: 1px solid var(--cwh-glass-border, rgba(255,255,255,0.25));
	-webkit-backdrop-filter: blur(var(--cwh-blur, 10px));
	backdrop-filter: blur(var(--cwh-blur, 10px));
}
.cwh-badge-item.cwh-glass::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(135deg, rgba(255,255,255,0.35) 0%, rgba(255,255,255,0) 45%);
	opacity: 0.6;
	pointer-events: none;
}
.cwh-badge-icon {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	color: #f0b429;
	background-color: rgba(240,180,41,0.12);
}
.cwh-badge-icon i { font-size: 18px; line-height: 1; }
.cwh-badge-icon svg { width: 18px; height: 18px; display: block; fill: currentColor; }
.cwh-badge-text {
	font-size: 14px;
	line-height: 1.3;
	color: #fff;
	font-weight: 500;
}

/* floating top-right badge preview (kept minimal, hidden by default; the
   design's floating right-side cards are represented by .cwh-cards-col) */
.cwh-badges-float { display: none; }

/* ---- Cards column (Explore by Experiences top-right cards) ---- */
.cwh-cards-col {
	display: flex;
	flex-direction: column;
	gap: 16px;
	width: 320px;
	max-width: 100%;
	align-self: flex-start;
	margin-left: auto;
}
.cwh-card {
	position: relative;
	display: block;
	width: 260px;
	max-width: 100%;
	border-radius: 16px;
	overflow: hidden;
	background: #fff;
	text-decoration: none;
	box-shadow: 0 10px 30px rgba(0,0,0,0.25);
	transition: transform .25s ease, box-shadow .25s ease;
}
.cwh-card:hover { transform: translateY(-4px); }
.cwh-card-img {
	display: block;
	width: 100%;
	height: 140px;
	background-size: cover;
	background-position: center;
}
.cwh-card-footer {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 14px;
}
.cwh-card-icon {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background-color: #f0b429;
	color: #0b1f3a;
}
.cwh-card-icon i { font-size: 13px; line-height: 1; }
.cwh-card-icon svg { width: 13px; height: 13px; display: block; fill: currentColor; }
.cwh-card-title {
	flex: 1 1 auto;
	font-size: 14px;
	font-weight: 700;
	color: #0b1f3a;
}
.cwh-card-arrow {
	flex: 0 0 auto;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #f4f4f4;
	color: #0b1f3a;
	font-size: 11px;
}

/* ---- Search bar ---- */
.cwh-search-wrap {
	position: relative;
	z-index: 3;
	margin-top: -34px;
	padding: 0 40px 40px;
}
.cwh-search-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 0;
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 20px 45px rgba(0,0,0,0.25);
	padding: 10px;
}
.cwh-search-field {
	flex: 1 1 0%;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 18px;
	min-width: 0; /* allow flex children to shrink instead of overflowing the bar */
	border-right: 1px solid #ececec;
	border-radius: 10px;
	cursor: pointer;
	transition: background-color .18s ease;
}
.cwh-search-field:last-of-type { border-right: none; }
.cwh-search-field:hover,
.cwh-search-field.cwh-active { background-color: rgba(11,31,58,0.05); }
.cwh-search-field-icon { color: #0b1f3a; font-size: 16px; flex: 0 0 auto; line-height: 0; }
.cwh-search-field-icon i { line-height: 1; }
.cwh-search-field-text { display: flex; flex-direction: column; gap: 2px; overflow: hidden; min-width: 0; flex: 1 1 auto; }
.cwh-search-label { font-size: 13px; font-weight: 700; color: #0b1f3a; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cwh-search-value { font-size: 13px; color: #5b6b82; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }
.cwh-search-caret { margin-left: auto; color: #9aa5b5; font-size: 11px; flex: 0 0 auto; transition: transform .18s ease; }
.cwh-search-field.cwh-active .cwh-search-caret { transform: rotate(180deg); }

.cwh-search-btn {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	padding: 14px 26px;
	border-radius: 12px;
	background: #0b1f3a;
	color: #fff;
	font-weight: 700;
	font-size: 15px;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color .18s ease;
}
.cwh-search-btn-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: #f0b429;
	color: #0b1f3a;
	font-size: 13px;
}

/* =========================================================
   RESPONSIVE — TABLET
   ========================================================= */
@media (max-width: 1024px) {
	.cwh-hero-inner { padding: 44px 28px; gap: 24px; }
	.cwh-text-col { width: 100%; max-width: 100%; }
	.cwh-cards-col { flex-direction: row; width: 100%; margin-left: 0; }
	.cwh-card { width: 100%; }
	.cwh-search-wrap { padding: 0 28px 32px; }
}

/* =========================================================
   RESPONSIVE — MOBILE
   ========================================================= */
@media (max-width: 767px) {
	.cwh-hero { min-height: auto !important; }
	.cwh-hero-inner {
		flex-direction: column;
		padding: 32px 18px 24px;
		gap: 20px;
	}
	.cwh-title { font-size: 30px; }
	.cwh-description { font-size: 14px; }
	.cwh-badges-row { display: none; } /* trust badges collapse below search on mobile, like reference */
	.cwh-cards-col {
		flex-direction: row;
		flex-wrap: nowrap;
		overflow-x: auto;
		width: 100%;
		gap: 12px;
		margin: 0;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}
	.cwh-cards-col::-webkit-scrollbar { display: none; }
	.cwh-card { flex: 0 0 46%; width: auto; }
	.cwh-card-img { height: 90px; }

	.cwh-search-wrap { margin-top: 0; padding: 0 18px 24px; }
	.cwh-search-bar { flex-direction: column; padding: 6px; }
	.cwh-search-field { border-right: none; border-bottom: 1px solid #ececec; padding: 14px 12px; }
	.cwh-search-field:last-of-type { border-bottom: none; }
	.cwh-search-btn { width: 100%; margin-top: 6px; justify-content: center; }

	.cwh-badge-item { width: 100%; }
	.cwh-badges-row { flex-direction: column; }
}

/* Elementor editor preview safety: ensure background video container sits behind content */
.cwh-hero .elementor-background-video-container { z-index: 0; }
