/*
Theme Name: Tw2lve Theme
Theme URI: https://example.com/tw2lve-theme
Author: Tw2lve
Author URI: https://example.com
Description: A clean, modern WordPress theme â€” Tw2lve Theme.
Version: 1.0.0
Requires at least: 5.8
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: tw2lve-theme
Tags: blog, custom-menu, featured-images, threaded-comments, translation-ready
*/

/* =========================================================
   FONT FACES — Alta & Nexa (local woff2)
   ========================================================= */
@font-face {
	font-family: 'Alta';
	src: url('assets/fonts/alta-regular.otf') format('opentype');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Nexa';
	src: url('assets/fonts/nexa-regular.ttf') format('truetype');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

:root {
	--hero-font-size-h1: clamp(4rem, 6.5vw, 6.2rem) !important;
}

@media (min-width: 1920px) {
	.tw2lve-hero__content {
		width: 75% !important;
	}
}

@media (max-width: 1919px) and (min-width: 1280px) {
	.tw2lve-hero__heading {
		font-size: clamp(3.5rem, 5.7vw, 5.5rem) !important;
	}

	.tw2lve-hero__content {
		width: 80% !important;
	}
}

a,
p {
	font-family: 'Nexa', sans-serif;
}

body {
	overflow-x: hidden;
}

/* =========================================================
   BOOTSTRAP VARIABLE OVERRIDES
   All custom/theme CSS lives here â€” Bootstrap handles
   reset, grid, typography, forms & buttons automatically.
   ========================================================= */



/* â”€â”€ Smooth scroll â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
html {
	scroll-behavior: smooth;
}

/* =========================================================
   HEADING FADE-UP ANIMATION
   ========================================================= */
@media (prefers-reduced-motion: no-preference) {
	.tw2lve-heading-fadeup {
		opacity: 0;
		transform: translate3d(0, 14px, 0);
		transition: opacity 720ms ease, transform 720ms ease;
		will-change: opacity, transform;
	}

	.tw2lve-heading-fadeup.is-visible {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

/* Disable fade-up on tablet and mobile */
@media (max-width: 1024px) {
	h2.tw2lve-reviews__heading.twelve-1227-h2 {
		width: 100% !important;
	}

	.tw2lve-heading-fadeup {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.tw2lve-heading-fadeup {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
}

/* =========================================================
   SITE LAYOUT
   ========================================================= */

/* =========================================================
	 RETREATS PAGE: VISIONARY LEADERS & INFO SECTIONS
	 ========================================================= */
.container-tw2lve.retreats-visionary-header {
	display: flex;
	flex-direction: column;
}

.container-tw2lve.retreats-visionary-header h2 {
	width: 50%
}

.retreats-visionary-section {
	background: #000;
}

.retreats-visionary-section .container-tw2lve {
	max-width: 1200px;
	margin: 0 auto;
	text-align: center;
}

.retreats-visionary-section .retreats-visionary-kicker {
	color: #f9d71e;
	font-family: 'Nexa', sans-serif;
	font-size: 20px;
	text-transform: uppercase;
	margin-bottom: 12px;
}

.retreats-visionary-section .retreats-visionary-heading {
	color: #fff;
	font-family: 'Alta', serif;
	margin-bottom: 16px;
	line-height: 1.1;
}

.retreats-visionary-section .retreats-visionary-desc {
	color: #fff;
	font-family: 'Nexa', sans-serif;
	margin-bottom: 40px;
}

.retreats-visionary-slider-viewport {
	overflow: hidden;
	width: 100%;
}

.retreats-visionary-slider-track {
	display: flex;
	will-change: transform;
}

.retreats-visionary-card {
	flex: 0 0 auto;
	padding: 0 16px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	transition: box-shadow 0.2s;
}

.retreats-visionary-card img {
	width: 100%;
	height: 315px;
	object-fit: cover;
	border-radius: 12px;
}

.retreats-visionary-card-title {
	color: #fff;
	font-family: 'Nexa', sans-serif;
	font-size: 24px;
	margin: 18px 12px 16px 12px;
	text-align: center;
	padding: 0 12px;
}


.retreat-info-content {
	padding-right: 7%;
}

/* --- Experience Connection Section --- */
.retreat-connection-section {
	background: #000;
	color: #fff;
	text-align: center;
	overflow: visible;
}

.retreat-connection-section .container-tw2lve {
	display: flex;
	flex-direction: column;
}

.retreat-connection-head {
	max-width: 1484px;
	margin: 0 auto 80px;
}

.retreat-connection-heading {
	font-family: 'Alta', serif;
	line-height: 1.1;
	margin-bottom: 24px;
	text-transform: uppercase;
}

.retreat-connection-desc {
	font-family: 'Nexa', sans-serif;
	max-width: 1014px;
	margin: 0 auto;
	color: rgba(255, 255, 255, 0.9);
}

.retreat-connection-row {
	display: block;
	max-width: 1600px;
	margin: 0 auto;
}

.retreat-connection-row img {
	width: 100%;
	height: auto;
	display: block;
}


button.swal2-confirm.swal2-styled.swal2-default-outline {
    color: rgb(255, 255, 255);
}
@media (max-width: 991px) {
	.retreat-connection-heading {
		font-size: 40px;
	}

	.retreat-connection-desc {}

	.retreat-connection-row {
		flex-direction: column;
		gap: 20px;
		padding-bottom: 0;
	}

	.retreat-connection-overlap {
		position: relative;
		left: 0;
		top: 0;
		transform: none;
		width: 100%;
		border-width: 5px;
		margin-top: 20px;
	}

	.retreat-connection-col--right img {
		width: 100%;
	}
}

/* --- Flexible Retreat Capacity Section --- */
.retreat-capacity-section {
	background: #d4b300;
	position: relative;
	overflow: hidden;
}

.retreat-capacity-section::after {
	content: '';
	position: absolute;
	inset: 0;
	background: url('assets/images/retreats/gold-pattern.png') repeat;
	opacity: 0.15;
	pointer-events: none;
	z-index: 1;
}

.retreat-capacity-wrap {
	display: flex;
	min-height: 800px;
	position: relative;
	z-index: 2;
}

.retreat-capacity-left {
	flex: 1.2;
	padding: 100px 10%;
	display: flex;
	align-items: center;
}

.retreat-capacity-content {
	padding-right: 5%;
}

.retreat-capacity-right {
	flex: 0.8;
	position: relative;
	background: url('assets/images/retreats/capacity-right.png') no-repeat center center;
	background-size: cover;
}

.retreat-capacity-right::before {
	content: '';
	position: absolute;
	inset: 0;
	/* 	background: rgba(0, 0, 0, 0.3); */
}

.retreat-capacity-heading {
	font-family: 'Alta', serif;
	line-height: 1;
	text-transform: uppercase;
	color: #000;
	margin-bottom: 40px;
}

.retreat-capacity-text {
	font-family: 'Nexa', sans-serif;
	color: #000;
	max-width: 650px;
}

.retreat-capacity-cards {
	position: absolute;
	left: -45%;
	top: 50%;
	transform: translateY(-50%);
	display: flex;
	flex-direction: column;
	gap: 30px;
	z-index: 10;
	width: 550px;
}

.retreat-capacity-card {
	background: #000;
	padding: 35px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	gap: 24px;
	color: #fff;
	box-shadow: 0 30px 60px rgba(0, 0, 0, 0.4);
	height: 157px !important;
}

.retreat-capacity-card-icon img {
	width: 65px;
	height: 65px;
	flex-shrink: 0;
}

.retreat-capacity-card-info h3 {
	font-family: 'Nexa', sans-serif;
	font-size: 24px;
	margin: 0 0 8px;
	color: #fff;
}

.retreat-capacity-card-info p {
	font-family: 'Nexa', sans-serif;
	margin: 0;
	opacity: 0.9;
	font-size: 17px
}

@media (max-width: 1440px) {
	.retreat-capacity-card-icon img {
		width: 52px;
		height: 52px;
	}

	.retreat-capacity-cards {
		width: 468px;
		left: -169px;
	}
}

@media (max-width: 1024px) {
	.retreat-capacity-wrap {
		flex-direction: column;
	}

	.retreat-capacity-right {
		min-height: 600px;
		background-position: center top;
	}

	.retreat-capacity-cards {
		position: relative;
		left: 0;
		top: 0;
		transform: none;
		width: 90%;
		margin: -60px auto 60px;
	}

	.retreat-capacity-left {
		padding: 80px 5%;
	}

	section.retreats-whychoose-section.py-5.py-lg-12 {
		padding: 0px !important;
	}

}

/* --- Right Fit Section --- */
.retreat-rightfit-section {
	background: #000;
	color: #fff;
	text-align: center;
}

.retreat-rightfit-section .container-tw2lve {
	display: flex;
	flex-direction: column;
}

.retreat-rightfit-note {
	margin-bottom: 80px;
}

.retreat-rightfit-note p {
	font-family: 'Nexa', sans-serif;
	max-width: 1200px;
	margin: 0 auto;
}

.retreat-rightfit-note .gold-label {
	color: #f9d71e;
	font-family: 'Nexa', sans-serif;
}

.retreat-rightfit-head {
	margin-bottom: 50px;
}

.retreat-rightfit-heading {
	font-family: 'Alta', serif;
	font-size: var(--h2-font-size);
	line-height: 1.1;
	margin-bottom: 30px;
	text-transform: uppercase;
}

.retreat-rightfit-head h2,
h2.retreat-support-heading.twelve-1227-h2 {
	font-size: 65px !important;
}

.retreat-rightfit-sub {
	font-family: 'Nexa', sans-serif;
	margin-bottom: 20px;
	opacity: 0.9;
}

.gold-label-large {
	color: #f9d71e;
	font-family: 'Nexa', sans-serif;
	font-size: 30px;
	margin-top: 10px;
}

.retreat-rightfit-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 25px;
	max-width: 1600px;
	margin: 0 auto;
}

.retreat-rightfit-card {
	background: #1a1a1a;
	padding: 40px 25px;
	border-radius: 12px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	text-align: left;

}

.retreat-rightfit-card-icon {
	width: 70px;
	height: 70px;
	background: #f9d71e;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 30px;
}

.retreat-rightfit-card-icon img {
	width: 100%;
	height: 100%;
}

.retreat-rightfit-card p {
	font-family: 'Nexa', sans-serif;
	margin: 0;
	font-size: 19px
}

@media (max-width: 1279px) {
	.retreat-rightfit-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 991px) {
	.retreat-rightfit-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.retreat-rightfit-grid {
		grid-template-columns: 1fr;
	}

	.retreat-rightfit-heading {
		font-size: 40px;
	}

	.tw2lve-villa-detail__hero {
		padding: 0px 0 40px;
	}

	.tw2lve-checkout__agreement {
		font-size: 12px;
	}

	.tw2lve-checkout__agreement a {
		font-size: 12px;
	}

	.tw2lve-checkout__agreement span {
		padding-left: 10px;
	}
}

/* --- Support for Leaders Section --- */
.retreat-support-section {
	background-size: cover;
	background-position: center;
	position: relative;
	min-height: 800px;
	display: flex;
	align-items: center;
}

.retreat-support-section::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.6) 40%, rgba(0, 0, 0, 0) 100%);
}

.retreat-support-content {
	position: relative;
	z-index: 2;
	max-width: 51%;
	color: #fff;
	text-align: left;
}

.retreat-support-heading {
	font-family: 'Alta', serif;
	font-size: var(--h2-font-size);
	line-height: 1.1;
	margin-bottom: 40px;
	text-transform: uppercase;
}

.retreat-support-text p {
	font-family: 'Nexa', sans-serif;
	margin-bottom: 30px;
}

.retreat-support-text p:last-child {
	margin-bottom: 0;
}

@media (max-width: 991px) {
	.retreat-support-section {
		min-height: unset;
	}

	.retreat-support-section::before {
		background: rgba(0, 0, 0, 0.8);
	}

	.retreat-support-heading {
		font-size: 40px;
	}

	.retreat-support-text p {}
}

/* --- Retreat Enquiry Section --- */
.retreat-enquiry-section {
	background: #000;
	color: #fff;
}

.retreat-enquiry-grid {
	display: flex;
	gap: 60px;
	align-items: flex-start;
}

.retreat-enquiry-content {
	flex: 1;
	padding-right: 5%;
}

@media (min-width: 1025px) {
	.retreat-enquiry-content {
		align-self: flex-start;
		margin: auto
	}
}

.retreat-enquiry-heading {
	font-family: 'Alta', serif;
	line-height: normal;
	text-transform: uppercase;
	margin-bottom: 30px;
}

.retreat-enquiry-text {
	font-family: 'Nexa', sans-serif;
	opacity: 0.9;
}

.retreat-enquiry-form-wrap {
	flex: 1.1;
}

.retreat-enquiry-form-card {
	background: #f9d71e;
	padding: 40px 40px;
	border-radius: 4px;
	color: #000;
}

.tw2lve-contact-form__submit-wrap {
	display: flex;
	justify-content: center;
}

.retreat-enquiry-form-title {
	font-family: 'Alta', serif;
	font-size: 40px;
	text-transform: uppercase;
	text-align: center;
	margin-bottom: 60px;
}

.retreat-enquiry-form .form-row {
	display: flex;
	gap: 30px;
	margin-bottom: 5px;
}

.retreat-enquiry-form .form-group {
	flex: 1;
	display: flex;
	flex-direction: column;
	margin-bottom: 25px;
}

.retreat-enquiry-form .form-group.full-width {
	width: 100%;
}

.retreat-enquiry-form label {
	font-family: 'Nexa', sans-serif;
	font-size: 14px;
	margin-bottom: 15px;
	opacity: 0.7;
}

.retreat-enquiry-form input,
.retreat-enquiry-form select,
.retreat-enquiry-form textarea {
	background: transparent;
	border: none;
	border-bottom: 1px solid rgba(0, 0, 0, 0.3);
	padding: 10px 0;
	font-family: 'Nexa', sans-serif;
	font-size: 16px;
	outline: none;
	color: #000;
}

.retreat-enquiry-form select {
	cursor: pointer;
}

.retreat-enquiry-form input::placeholder,
.retreat-enquiry-form textarea::placeholder {
	color: #000;
	font-family: "Nexa Light", sans-serif;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	opacity: 1;
	/* Ensure color is not washed out */
}

/* Style for the select placeholder (first option) */
.retreat-enquiry-form select {
	font-family: "Nexa Light", sans-serif;
	color: #000;
}

.retreat-enquiry-form input:focus,
.retreat-enquiry-form select:focus,
.retreat-enquiry-form textarea:focus {
	border-bottom-color: #000;
}

.form-submit-wrap {
	display: flex;
	justify-content: center;
	margin: 50px 0 30px;
}

.retreat-enquiry-form-card .tw2lve-contact-form__submit {
	background: #000;
	color: #fff;
	border-color: #000 !important;
	--tw2lve-btn-fill: #F9D71E;
	border: 1px solid;
}

.retreat-enquiry-form-card .tw2lve-contact-form__submit:hover {
	color: #000;
	border: 1px solid black
}

.btn-arrow {
	font-size: 18px;
}

.form-footer-note {
	font-family: 'Nexa', sans-serif;
	font-size: 14px;
	line-height: 20px;
	text-align: center;
	opacity: 0.7;
	max-width: 90%;
	margin: 0 auto;
	color: #000;
}

@media (max-width: 1024px) {
	.retreat-enquiry-heading {
		font-size: 50px;
	}

	.retreat-enquiry-grid {
		flex-direction: column;
		gap: 60px;
	}

	.retreat-enquiry-content {
		padding-right: 0;
		text-align: center;
	}

	.retreat-enquiry-form-wrap {
		width: 100%;
	}

	.retreat-enquiry-form .form-row {
		flex-direction: column;
		gap: 0;
	}

	.retreat-enquiry-form-card {
		padding: 30px 20px;
	}
}

/* --- Retreats CTA Section --- */
.retreats-cta-section {
	background-size: cover;
	background-position: center;
	position: relative;
	min-height: 800px;
	display: flex;
	align-items: center;
}

.retreats-cta-section::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.4) 50%, rgba(0, 0, 0, 0) 100%);
}

.retreats-cta-content {
	position: relative;
	z-index: 2;
	max-width: 900px;
	color: #fff;
	text-align: left;
}

.retreats-cta-heading {
	font-family: 'Alta', serif;
	font-size: 80px;
	line-height: normal;
	margin-bottom: 30px;
	text-transform: uppercase;
}

.retreats-cta-text {
	font-family: 'Nexa', sans-serif;
	font-size: 24px;
	line-height: 50px;
	margin-bottom: 50px;
	opacity: 0.9;
}

.retreats-cta-btn {
	display: inline-flex;
	align-items: center;
	gap: 15px;
	padding: 18px 48px;
	border: 1px solid #fff;
	border-radius: 100px;
	background: transparent;
	color: #fff;
	font-family: 'Nexa', sans-serif;
	font-size: 14px;
	text-transform: uppercase;
	text-decoration: none;
	transition: all 0.3s ease;
}

.retreats-cta-btn:hover {
	background: #fff;
	color: #000;
}

.retreats-cta-btn:hover svg path {
	stroke: #000;
}

@media (max-width: 1024px) {
	.retreats-cta-heading {
		font-size: 50px;
	}

	.retreats-cta-section {
		min-height: unset;
	}

	.retreats-cta-text {
		font-size: 18px;
		line-height: 32px;
	}

	.retreats-final-cta-btn-wrap {
		display: flex;
		justify-content: center;
		align-items: center;
	}


}

/* --- Final CTA Section (Refined) --- */
.retreats-final-cta-section {
	background-size: cover;
	background-position: center;
	position: relative;
	min-height: 800px;
	display: flex;
	align-items: flex-end;
	color: #fff;
	align-content: flex-end;
}

.retreats-final-cta-section::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(0deg, #000 0%, rgba(0, 0, 0, 0.0) 91.51%);
	z-index: 1;
	pointer-events: none;
}

.retreats-final-cta-section::after {
	content: '';
	position: absolute;
	inset: 0;
	/* 	background: linear-gradient(0deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 40%),
		linear-gradient(90deg, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0) 70%); */
	z-index: 2;
	pointer-events: none;
}

.retreats-final-cta-content {
	position: relative;
	z-index: 10;
	max-width: 900px;
	text-align: left;
}

.retreats-final-cta-heading {
	font-family: 'Alta', serif;
	line-height: 1.1;
	margin-bottom: 30px;
	text-transform: uppercase;
	font-size: 80px
}

.retreats-final-cta-desc {
	max-width: 853px;
	margin-bottom: 50px;
}

.page-template-page-retreats .retreats-final-cta-desc {
	margin-bottom: 0px;
}

.page-template-page-retreats .retreats-final-cta-heading {
	margin-bottom: 0
}

.retreats-final-cta-desc p {
	font-family: 'Nexa', sans-serif;
	font-size: 24px;
	line-height: 50px;

	opacity: 0.9;
}

.retreats-final-cta-btn,
.retreat-info-content .retreat-info-cta {
	display: inline-flex;
	align-items: center;
	gap: 15px;
	padding: 20px 48px;
	border: 1px solid #fff;
	border-radius: 100px;
	color: #fff;
	font-family: 'NexaCustom', sans-serif;
	font-size: 14px;
	text-transform: uppercase;
	text-decoration: none;
	line-height : 1 !important;
	font-weight : bold;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* .retreats-final-cta-btn:hover {
	background: #F9D71E;
	color: #000;
	border: 1px solid #F9D71E;

} */

.retreats-final-cta-btn svg,
.retreat-info-content .retreat-info-cta svg {
	width: 15px;
	height: 11px;
}

@media (max-width: 1024px) {
	.retreats-final-cta-heading {
		font-size: 50px;
	}

	.retreats-final-cta-desc p {
		font-size: 18px;
		line-height: 32px;
		text-align: center
	}

	.retreats-final-cta-section {
		min-height: unset;
	}
}

.site-wrapper {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

/* Compensate for fixed header on pages WITHOUT a hero */
.site-content {
	flex: 1;
	padding: 3rem 0;
	padding-top: calc(3rem + 80px);
}

/* Front page hero fills full viewport — no extra padding needed */
.home .site-content {
	padding-top: 3rem;
}

/* =========================================================
   HERO SECTION
   ========================================================= */
.tw2lve-hero {
	position: relative;
	width: 100%;
	height: 100vh;
	min-height: 620px;
	overflow: hidden;
	display: flex;
	align-items: flex-end;
	/* margin-top: -10vh; */
	/* Background image set via inline CSS variable from meta field */
	background-image: var(--hero-bg, none);
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	isolation: isolate;
}

.tw2lve-hero__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
}

.tw2lve-hero__bg-layer {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transition: opacity 600ms ease;
}

.tw2lve-hero__bg-layer.is-active {
	opacity: 1;
}

/* ── Top gradient overlay (::before) ───────────────────── */
.tw2lve-hero::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
	background: var(--hero-gradient-top);
	pointer-events: none;
}

/* ── Bottom gradient overlay (::after) ─────────────────── */
.tw2lve-hero::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 2;
	background: var(--hero-gradient-bottom);
	pointer-events: none;
}

/* ── Content block (bottom-left, 55% wide) ─────────────── */
.tw2lve-hero .container-tw2lve {
	display: flex;
	align-self: flex-end;
}

.tw2lve-hero__content {
	position: relative;
	z-index: 3;
	width: 65%;
	padding: 0 0 5rem 0;
}

.tw2lve-hero__content.is-slide-animating {
	animation: tw2lveHeroContentFadeUp 520ms ease both;
}

@keyframes tw2lveHeroContentFadeUp {
	from {
		opacity: 0;
		transform: translate3d(0, 18px, 0);
	}

	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

/* ── Pill badge ─────────────────────────────────────────── */
.tw2lve-hero__pill {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	width: fit-content;
	height: 60px;
	padding: 10px 50px;
	border-radius: 100px;
	background: rgba(0, 0, 0, 0.60);
	backdrop-filter: blur(4px);
	color: #FFF;
	font-family: 'Nexa', sans-serif;
	font-size: 20px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	margin-bottom: 16px;
	white-space: nowrap;
}

/* ── H1 heading ─────────────────────────────────────────── */
.tw2lve-hero__heading {
	font-family: var(--hero-font-display);
	font-size: var(--hero-font-size-h1);
	font-weight: 400;
	line-height: 1.05;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--hero-text);
	margin: 0 0 0 0;
	text-shadow: 0 2px 24px rgba(0, 0, 0, 0.35);

}

/* ── Subheading ─────────────────────────────────────────── */
.tw2lve-hero__sub {
	color: #FFF;
	font-family: 'Alta', serif;
	font-size: 45px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	margin-top: 12px;
	margin-bottom: 0;

}

/* ── Right arrow ────────────────────────────────────────── */
.tw2lve-hero__arrow {
	position: absolute;
	right: 40px;
	top: 50%;
	transform: translate3d(0, -50%, 0);
	z-index: 3;
	opacity: 0.8;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	user-select: none;
	-webkit-appearance: none;
	appearance: none;
	touch-action: manipulation;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	will-change: transform;
}

.tw2lve-hero__arrow:hover,
.tw2lve-hero__arrow:focus,
.tw2lve-hero__arrow:focus-visible,
.tw2lve-hero__arrow:active {
	transform: translate3d(0, -50%, 0);
	opacity: 1;
	outline: none;
	-webkit-tap-highlight-color: transparent;
}

.tw2lve-hero__arrow-icon {
	width: 48px;
	height: 48px;
	display: block;
}


.tw2lve-hero__arrow:hover {
	opacity: 1;
/* 	transform: translateY(-50%) translateX(7px); */
}

.tw2lve-hero__arrow-icon {
	width: 48px;
	height: 48px;
	display: block;
}

/* ── Dots ───────────────────────────────────────────────── */
.tw2lve-hero__dots {
	position: absolute;
	bottom: 40px;
	right: 40px;
	display: none;
	gap: 12px;
	z-index: 5;
}

.tw2lve-hero__dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.4);
	cursor: pointer;
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	border: 1px solid rgba(255, 255, 255, 0.2);
}

.tw2lve-hero__dot.is-active {
	background: #fff;
	width: 24px;
	border-radius: 4px;
	border-color: #fff;
}

.tw2lve-hero__dot:hover:not(.is-active) {
	background: rgba(255, 255, 255, 0.7);
}

/* ── Responsive ─────────────────────────────────────────── */
@media (max-width: 991px) {
	.tw2lve-hero__content {
		width: 75%;
		padding: 0 0 4rem 3rem;
	}
}

@media (max-width: 767px) {
	.tw2lve-hero__content {
		width: 90%;
		padding: 0 1.25rem 3.5rem 1.25rem;
	}



	.tw2lve-hero__pill {
		font-size: 11px;
		padding: 6px 14px;
	}


}

/* =========================================================
   GLOBAL FONT — a & p tags
   ========================================================= */
a,
p {
	color: var(--White, #FFF);
	text-shadow: 0 0.845px 1.689px rgba(0, 0, 0, 0.07);
	font-family: 'Nexa', 'Inter', 'Segoe UI', sans-serif;
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	line-height: 13.513px;
}

/* =========================================================
   CUSTOM 1600px CONTAINER
   ========================================================= */
.container-tw2lve {
	width: 100%;
	max-width: 1600px;
	margin: 0 auto;
	padding: 0 2rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: nowrap;
}

/* =========================================================
   NAVBAR — transparent, sticky
   ========================================================= */

/* Fixed wrapper — floats over page content */
.site-header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1030;
}

/* Transparent navbar */
.site-navbar {
	background: none !important;
	border: none;
	padding-top: 1.125rem;
	padding-bottom: 1.125rem;
	position: relative;
	transition: background-color 0.3s ease-in-out, padding 0.3s ease-in-out;
}

.site-navbar::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 160px;
	background: linear-gradient(180deg, #000 0%, rgba(0, 0, 0, 0.00) 89.43%);
	pointer-events: none;
	z-index: -1;
	transition: opacity 0.3s ease-in-out;
}

/* Scrolled state — black background */
.site-header.scrolled .site-navbar {
	background-color: #000 !important;
	padding-top: 0.75rem;
	padding-bottom: 0.75rem;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
}

.site-header.scrolled .site-navbar::after {
	opacity: 0;
}

/* Custom logo */
.navbar-brand img,
.custom-logo {
	width: auto;
	display: block;
}

@media (min-width: 1920px) {
	img.custom-logo {
		width: 116px;
		height: 74px;
		flex-shrink: 0;
		aspect-ratio: 58/37;
	}
}

/* Brand text fallback */
.navbar-brand {
	color: var(--White, #FFF) !important;
	font-family: 'Nexa', 'Inter', sans-serif;
	font-size: 1.35rem;
	font-weight: 700;
	text-decoration: none;
	text-shadow: 0 0.845px 1.689px rgba(0, 0, 0, .07);
	flex: 0 0 240px;
	width: 240px;
}

/* Nav collapse — takes all remaining space, centres its nav */
.site-navbar .navbar-collapse {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
}

.site-navbar .navbar-nav {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 70px;
	margin: 0;
}

/* Nav links */
.site-navbar .navbar-nav .nav-link {
	color: #d7d7d7 !important;
	text-shadow: 0 0.845px 1.689px rgba(0, 0, 0, 0.07);
	font-family: 'Nexa', sans-serif;
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	line-height: 13.513px;
	text-decoration: none;
	padding: 0;
	position: relative;
	text-transform: uppercase;
	transition: color .2s, opacity .2s;
}

.site-navbar .navbar-nav .nav-link::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -8px;
	width: 100%;
	height: 1px;
	background-color: #d7d7d7;
	opacity: 0;
	transition: opacity .2s;
}

.site-navbar .navbar-nav .nav-link:hover,
.site-navbar .navbar-nav .nav-link.active,
.site-navbar .navbar-nav .nav-item.active .nav-link {
	color: var(--White, #FFF) !important;
	opacity: 1;
	text-decoration: none;
}

.site-navbar .navbar-nav .nav-link:hover::after,
.site-navbar .navbar-nav .nav-link.active::after,
.site-navbar .navbar-nav .nav-item.active .nav-link::after {
	opacity: 1;
}

/* TEL — right column, same flex-basis as logo to keep nav centred */
.navbar-tel {
	flex: 0 0 200px;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}

.navbar-tel a {
	color: var(--White, #FFF) !important;
	text-shadow: 0 0.845px 1.689px rgba(0, 0, 0, 0.07);
	font-family: 'Nexa', 'Inter', 'Segoe UI', sans-serif;
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	padding: 0px 20px;
	line-height: 40px;
	text-decoration: none;
	white-space: nowrap;
	letter-spacing: .04em;
	text-transform: uppercase;
	border-bottom: 1px solid rgba(255, 255, 255, .45);
}

/* Logo link — left column, same width as tel to balance layout */
a.custom-logo-link {
	flex: 0 0 200px;
	width: 200px;
	display: flex;
	align-items: center;
}

.navbar-tel a:hover {
	opacity: .75;
	text-decoration: none;
}

/* Toggler on dark bg */
.site-navbar .navbar-toggler {
	border-color: rgba(255, 255, 255, .5);
	touch-action: manipulation;
	/* eliminates 300 ms tap delay on mobile */
	cursor: pointer;
}

.site-navbar .navbar-toggler-icon {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255%2C255%2C255%2C0.85%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* Dropdown menu */
.site-navbar .dropdown-menu {
	background: rgba(0, 0, 0, .75);
	border: none;
	border-radius: .4rem;
}

.site-navbar .dropdown-item {
	color: var(--White, #FFF);
	font-family: 'Nexa', 'Inter', sans-serif;
	font-size: 13px;
}

.site-navbar .dropdown-item:hover {
	background: rgba(255, 255, 255, .12);
	color: #fff;
}

/* Override Bootstrap navbar-expand-lg: show mobile menu below 1025px */
@media (max-width: 1024.98px) {
	.navbar-expand-lg .navbar-nav {
		flex-direction: column;
	}

	.navbar-expand-lg .navbar-nav .dropdown-menu {
		position: static;
	}

	.navbar-expand-lg .navbar-collapse {
		display: none !important;
	}

	.navbar-expand-lg .navbar-collapse.show,
	.navbar-expand-lg .navbar-collapse.collapsing {
		display: block !important;
	}

	.navbar-expand-lg .navbar-toggler {
		display: flex !important;
	}

	/* Hide desktop tel, show flyout tel */
	.navbar-tel--desktop {
		display: none !important;
	}

	.navbar-tel--flyout {
		display: flex !important;
		justify-content: center;
		padding: 12px 0;
	}
}

/* On desktop (1025px+) hide flyout tel, show desktop tel */
@media (min-width: 1025px) {
	.navbar-tel--flyout {
		display: none !important;
	}
}

/* =========================================================
   POST CARDS
   ========================================================= */
.post-card {
	border: none;
	border-radius: .75rem;
	box-shadow: 0 2px 12px rgba(0, 0, 0, .07);
	transition: transform .2s ease, box-shadow .2s ease;
	overflow: hidden;
	height: 100%;
}

.post-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 24px rgba(0, 0, 0, .12);
}

.post-card .post-thumbnail img {
	width: 100%;
	height: 210px;
	object-fit: cover;
}

.post-card .post-body {
	padding: 1.25rem;
}

.post-card .post-meta {
	font-size: .8rem;
	color: #888;
	margin-bottom: .4rem;
}

.post-card .post-title {
	font-size: 1.1rem;
	font-weight: 700;
	margin-bottom: .5rem;
}

.post-card .post-title a {
	color: #111;
	text-decoration: none;
}

.post-card .post-title a:hover {
	color: var(--bs-primary);
}

.post-card .post-excerpt {
	font-size: .9rem;
	color: #555;
	margin-bottom: 1rem;
}

/* =========================================================
   SINGLE POST
   ========================================================= */
.single-post-header {
	margin-bottom: 2rem;
}

.single-post-header .post-title {
	font-size: 2.1rem;
	font-weight: 800;
	line-height: 1.25;
}

.post-meta-bar {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
	font-size: .875rem;
	color: #777;
	margin-bottom: 1.5rem;
}

.post-meta-bar a {
	color: var(--bs-primary);
}

.post-thumbnail {
	border-radius: .75rem;
	overflow: hidden;
	margin-bottom: 2rem;
}

.post-thumbnail img {
	width: 100%;
	height: auto;
}

.post-content {
	max-width: 760px;
}

.post-content p,
.post-content li {
	font-size: 1.05rem;
	line-height: 1.85;
}

.post-footer {
	margin-top: 2.5rem;
	padding-top: 1.5rem;
	border-top: 1px solid #eee;
}

.post-tags .badge {
	font-size: .78rem;
	font-weight: 500;
}

/* Reading time badge */
.reading-time {
	display: inline-block;
}

/* =========================================================
   SIDEBAR
   ========================================================= */
.widget-area {
	background: #fff;
	border-radius: .75rem;
	padding: 1.5rem;
	box-shadow: 0 2px 10px rgba(0, 0, 0, .06);
}

.widget {
	margin-bottom: 2rem;
}

.widget:last-child {
	margin-bottom: 0;
}

.widget-title {
	font-size: 1rem;
	font-weight: 700;
	padding-bottom: .5rem;
	border-bottom: 2px solid var(--bs-primary);
	margin-bottom: 1rem;
}

.widget ul {
	list-style: none;
	padding: 0;
}

.widget ul li {
	padding: .3rem 0;
	border-bottom: 1px solid #f0f0f0;
}

.widget ul li:last-child {
	border-bottom: none;
}

/* =========================================================
   PAGE HERO BANNER
   ========================================================= */
.page-hero {
	background: linear-gradient(135deg, var(--bs-primary) 0%, #005177 100%);
	color: #fff;
	padding: 4rem 0;
	text-align: center;
	margin-bottom: 3rem;
}

.page-hero h1 {
	color: #fff;
	font-size: 2.5rem;
	margin-bottom: .5rem;
}

.page-hero p {
	opacity: .85;
	font-size: 1.1rem;
	margin: 0;
}

/* =========================================================
   ABOUT PAGE BANNER (FIGMA)
   ========================================================= */
.page-template-page-about .site-content,
.page-template-page-villas .site-content {
	padding-top: 0;
	padding-bottom: 0;
}

.tw2lve-about-banner,
.tw2lve-contact-banner,
.tw2lve-villas-banner {
	position: relative;
	width: 100%;
	height: 700px;
	overflow: hidden;
	/* margin-top: -10vh; */
	padding-top: 10vh;
	background-image: var(--tw2lve-about-banner, var(--tw2lve-contact-banner, var(--tw2lve-villas-banner)));
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	display: flex;
	align-items: flex-end;
	isolation: isolate;
}

/* When a video is present, remove the CSS background image */
.tw2lve-villas-banner.has-video-bg {
	background-image: none;
}

.tw2lve-villas-banner__video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	z-index: 0;
	pointer-events: none;
}

.tw2lve-about-banner::after,
.tw2lve-contact-banner::after,
.tw2lve-villas-banner::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgb(0 0 0) 0%, #00000036 48%);
	z-index: 1;
	pointer-events: none;
}

.tw2lve-about-banner::before,
.tw2lve-contact-banner::before,
.tw2lve-villas-banner::before {
	content: '';
	position: absolute;
	inset: 0;
	/* 	background: linear-gradient(to bottom, rgb(0 0 0) 0%, #00000042 42%); */
	background: unset;
	z-index: 1;
	pointer-events: none;
}

.tw2lve-about-banner .container-tw2lve,
.tw2lve-contact-banner .container-tw2lve,
.tw2lve-villas-banner .container-tw2lve {
	position: relative;
	z-index: 2;
	display: block;
	padding-bottom: 48px;
}

.tw2lve-about-banner__title,
.tw2lve-contact-banner__title,
.tw2lve-villas-banner__title {
	margin: 0;
	color: #FFF;
	font-family: 'Alta', serif;
	font-size: 110px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	text-transform: uppercase;
}

.tw2lve-about-page-content {
	background: #fff;
	padding-top: 3rem;
	padding-bottom: 3rem;
}

.tw2lve-policy-page-content {
	background: #000;
	color: #fff;
	padding: 56px 24px 72px;
}

.tw2lve-policy-page-content__inner {
	max-width: 1600px;
	margin: 0 auto;
	width: 100%;
}

.tw2lve-policy-page-content .post-content {
	max-width: 1500px !important;
	margin: 0 auto;
	font-family: 'Nexa', 'Inter', 'Segoe UI', sans-serif;
}

.tw2lve-policy-page-content .entry-content,
.tw2lve-policy-page-content .entry-content p,
.tw2lve-policy-page-content .entry-content li,
.tw2lve-policy-page-content .entry-content td,
.tw2lve-policy-page-content .entry-content th {
	color: #fff;
	text-shadow: none;
	font-family: 'Nexa', 'Inter', 'Segoe UI', sans-serif;
	font-size: 1.05rem;
	line-height: 1.85;
}

.tw2lve-policy-page-content .entry-content h1,
.tw2lve-policy-page-content .entry-content h2,
.tw2lve-policy-page-content .entry-content h3,
.tw2lve-policy-page-content .entry-content h4,
.tw2lve-policy-page-content .entry-content h5,
.tw2lve-policy-page-content .entry-content h6 {
	color: #fff;
	font-family: 'Alta', serif;
	text-transform: uppercase;
}

.tw2lve-policy-page-content .entry-content a {
	color: #F9D71E;
	text-shadow: none;
}

.tw2lve-policy-page-content .entry-content a:hover {
	color: #fff;
}

.tw2lve-policy-page-content .entry-content .has-background,
.tw2lve-policy-page-content .entry-content [style*="background"],
.tw2lve-policy-page-content .entry-content .wp-block-group,
.tw2lve-policy-page-content .entry-content .wp-block-column {
	background: transparent !important;
}

.tw2lve-policy-page-content .entry-content .wp-block-table table,
.tw2lve-policy-page-content .entry-content table {
	background: transparent;
	color: #fff;
	border-color: rgba(255, 255, 255, 0.25);
}

.tw2lve-policy-page-content .entry-content .wp-block-image,
.tw2lve-policy-page-content .entry-content figure {
	margin: 0 0 1.5rem;
}

.tw2lve-policy-page-content .bg-white,
.tw2lve-policy-page-content .bg-light,
.tw2lve-policy-page-content .has-white-background-color,
.tw2lve-policy-page-content .has-light-background-color {
	background-color: transparent !important;
}

.tw2lve-policy-page-content .text-dark,
.tw2lve-policy-page-content .text-body,
.tw2lve-policy-page-content .has-black-color,
.tw2lve-policy-page-content .has-dark-color {
	color: #fff !important;
}

.tw2lve-policy-page-content .text-muted,
.tw2lve-policy-page-content .has-gray-color,
.tw2lve-policy-page-content .has-grey-color {
	color: rgba(255, 255, 255, 0.78) !important;
}

.tw2lve-policy-page-content .widget-area,
.tw2lve-policy-page-content aside {
	display: none;
}

/* =========================================================
   ABOUT DESTINATION SECTION (FIGMA)
   ========================================================= */
.tw2lve-about-destination {
	background: #000;
	padding: 110px 0 120px;
	color: #fff;
}

.tw2lve-about-destination__container {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: flex-start;
	gap: 64px;
}

.tw2lve-about-destination__head {
	text-align: center;
	max-width: 1320px;
	margin: 0 auto;
}

.tw2lve-about-destination__label {
	display: inline-block;
	color: #F9D71E;
	font-family: 'Nexa', sans-serif;
	font-size: 24px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	text-transform: uppercase;
	margin-bottom: 8px;
}

.tw2lve-about-destination__title {
	margin: 0;
	color: #FFF;
	text-align: center;
	font-family: 'Alta', serif;
	font-size: var(--h2-font-size);
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	text-transform: uppercase;
}

.tw2lve-about-destination__desc {
	margin: 20px auto 0;
	max-width: 1500px;
	color: #FFF;
	text-align: center;
	font-family: 'Nexa', sans-serif;
	font-size: 24px;
	font-style: normal;
	font-weight: 400;
	line-height: 50px;
}

.tw2lve-about-destination__split {
	display: grid;
	grid-template-columns: 65% 35%;
	align-items: stretch;
	gap: 28px;
}

.tw2lve-about-destination__video-wrap {
	background: #000;
	border-radius: 10px;
	overflow: hidden;
	min-height: 650px;
	position: relative;
}

.tw2lve-about-destination__video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	background: #000;
}

.tw2lve-about-destination__cards {
	display: flex;
	flex-direction: column;
	gap: 27px;
	justify-content: center;
}

.tw2lve-about-info-card {
	background: #000;
	backdrop-filter: blur(21px);
	border-radius: 10px;
	padding: 30px 20px;
	display: flex;
	flex-direction: column;
	gap: 30px;
	width: 100%;
	max-width: 410px;
}

.tw2lve-about-info-card__icon {
	width: 45px;
	height: 45px;
	display: block;
}

.tw2lve-about-info-card__title {
	margin: 0;
	color: #FFF;
	font-family: 'Nexa', sans-serif;
	font-size: 22px;
	font-style: normal;
	font-weight: 400;
	line-height: 30px;
}

.tw2lve-about-info-card__text {
	margin: 0;
	color: #FFF;
	font-family: 'Nexa', sans-serif;
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: 30px;
	text-shadow: none;
}

section.tw2lve-about-banner,
section.tw2lve-contact-banner,
section.tw2lve-villas-banner {
	margin-bottom: -2px;
}

@media (max-width: 1440px) {
	.tw2lve-about-destination__title {
		font-size: clamp(58px, 7vw, 100px);
	}

	.tw2lve-about-destination__desc {
		font-size: clamp(17px, 1.55vw, 24px);
		line-height: 1.9;
	}

	.tw2lve-about-info-card__text {
		line-height: 1.8;
	}
}

@media (max-width: 1199px) {
	.tw2lve-about-destination {
		padding: 84px 0;
	}

	.tw2lve-about-destination__split {
		grid-template-columns: 1fr;
	}

	.tw2lve-about-destination__video-wrap {
		min-height: 520px;
	}

	.tw2lve-about-destination__cards {
		align-items: stretch;
	}

	.tw2lve-about-info-card {
		max-width: none;
	}

	.row.g-4.g-lg-5.checkout-row {
		display: flex;
        flex-direction: column;
        margin: auto;
        width: 100%;
	}

	.tw2lve-checkout__main.col-md-6.col-lg-6 {
		width: 80%;
		margin: auto;
		padding-top: 10%;
	}

	aside.tw2lve-checkout__summary.col-md-6.col-lg-6 {
		width: 80% !important;
		margin: auto;
		max-width: 100% !important;
		margin-top: 5%;
	}

	.tw2lve-villa-booking {
		max-width: 100%;
		MARGIN: AUTO;
	}
}

@media (max-width: 767px) {
	.tw2lve-about-destination {
		padding: 64px 0;
	}

	.tw2lve-about-destination__container {
		gap: 40px;
	}

	.tw2lve-about-destination__label {
		font-size: 16px;
	}

	.tw2lve-about-destination__title {
		font-size: clamp(38px, 12vw, 54px);
	}

	.tw2lve-about-destination__desc {
		font-size: 15px;
		line-height: 1.8;
	}

	.tw2lve-about-destination__video-wrap {
		min-height: 340px;
	}

	.tw2lve-about-info-card {
		padding: 22px 16px;
		gap: 18px;
	}

	.tw2lve-about-info-card__title {
		font-size: 20px;
	}

	.tw2lve-about-info-card__text {
		font-size: 16px;
		line-height: 1.7;
	}
}

@media (max-width: 991px) {

	.tw2lve-about-banner,
	.tw2lve-contact-banner,
	.tw2lve-villas-banner {
		height: 540px;
	}

	.tw2lve-about-banner__title,
	.tw2lve-contact-banner__title,
	.tw2lve-villas-banner__title {
		font-size: clamp(54px, 11vw, 80px);
	}
}

@media (max-width: 767px) {

	.tw2lve-about-banner,
	.tw2lve-contact-banner,
	.tw2lve-villas-banner {
		height: 420px;
		margin-top: 0;
		padding-top: 0;
	}

	.tw2lve-about-banner .container-tw2lve,
	.tw2lve-contact-banner .container-tw2lve,
	.tw2lve-villas-banner .container-tw2lve {
		padding-bottom: 24px;
	}

	.tw2lve-about-banner__title,
	.tw2lve-contact-banner__title,
	.tw2lve-villas-banner__title {
		font-size: clamp(40px, 12vw, 60px);
	}
}

/* =========================================================
   HOME HERO
   ========================================================= */
.home-hero {
	background: linear-gradient(135deg, var(--bs-primary) 0%, #005177 100%);
	color: #fff;
	padding: 6rem 0;
	text-align: center;
}

.home-hero h1 {
	color: #fff;
	font-size: 3rem;
	margin-bottom: 1rem;
}

.home-hero p {
	font-size: 1.2rem;
	opacity: .85;
}

.home-hero .btn-hero {
	background: #fff;
	color: var(--bs-primary);
	font-weight: 700;
	padding: .75rem 2rem;
}

.home-hero .btn-hero:hover {
	background: #e8f4fb;
}

/* =========================================================
   ABOUT + VIDEO SECTION — 50/50 split
   ========================================================= */
.tw2lve-about-video {
	background: #000;
	overflow: hidden;
}

.tw2lve-about-video__container {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	max-width: 1600px;
	width: 100%;
	margin: 0 auto;
	padding: 0;
	box-sizing: border-box;
}

/* Left — text column */
.tw2lve-about-video__text {
	width: 50%;
	flex: 0 0 50%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 48px;
	padding: 100px 60px 100px 80px;
	box-sizing: border-box;
}

/* Right — video column */
.tw2lve-about-video__video {
	width: 50%;
	flex: 0 0 50%;
	position: relative;
	min-height: 520px;
	overflow: hidden;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}

.tw2lve-about__titles {
	position: relative;
	padding-left: 60px;
}

.tw2lve-about__heading span {
	position: relative;
}

/* Decorative white line left of heading — anchored to the 'More' span */
.tw2lve-about__heading span::before {
	content: '';
	position: absolute;
	left: -20vw;
	top: 50%;
	transform: translateY(-50%);
	width: 130%;
	background: #fff;
	height: 1px;
	opacity: 0.6;
}

.tw2lve-about__label {
	display: block;
	color: #F9D71E;
	font-family: 'Nexa', sans-serif;
	font-size: 24px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	text-transform: uppercase;
	margin-bottom: 12px;
}

.tw2lve-about__heading {
	color: #fff;
	font-family: 'Alta', serif;
	font-style: normal;
	font-weight: 400;
	line-height: 1;
	margin: 0;
	text-transform: uppercase;
	text-align: left;
}

.tw2lve-about__body {
	color: #fff;
	font-family: 'Nexa', sans-serif;
	font-style: normal;
	font-weight: 400;
	max-width: 580px;
	margin: 0;
}

/* Video fills the right column */
.tw2lve-video__player {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transform: translateZ(0);
	/* Hardware acceleration */
	will-change: transform;
}

/* Override for fluid right-aligned video inside about section */
.tw2lve-about-video__video .tw2lve-video__player {
	position: static;
	inset: auto;
	width: 100%;
	max-width: 800px;
	height: 700px;
	object-fit: cover;
	margin-left: auto;
}

/* Responsive — stack vertically on tablet/mobile */
@media (max-width: 991px) {
	.tw2lve-about-video__container {
		flex-direction: column;
	}

	.tw2lve-about-video__text,
	.tw2lve-about-video__video {
		width: 100%;
		flex: none;
	}

	.tw2lve-about-video__text {
		padding: 60px 24px;
	}

	.tw2lve-about-video__video {
		min-height: 280px;
		aspect-ratio: 16 / 9;
	}

	.tw2lve-about__titles::before {
		display: none;
	}

}



/* =========================================================
   VILLAS SLIDER SECTION
   ========================================================= */
.tw2lve-villas {
	background: #000;
	margin-top: -1px;
}

/* --- Section header --- */
.tw2lve-villas__header {
	text-align: center;
	padding: 0 20px 60px;
	width: 100%;
	margin: auto;
}

.tw2lve-villas__label {
	display: block;
	font-family: 'Nexa', sans-serif;
	font-size: 24px;
	font-weight: 400;
	color: #F9D71E;
	text-transform: uppercase;
	letter-spacing: 2px;
	margin-bottom: 16px;
}

.tw2lve-villas__heading {
	font-family: 'Alta', sans-serif;
	font-weight: 400;
	color: #fff;
	line-height: 1;
	margin-bottom: 20px;
}

.tw2lve-collections__heading {
	max-width: 83%;
}

.tw2lve-villas__sub {
	font-family: 'Nexa', sans-serif;
	color: #fff;
	max-width: 100%;
	margin: 0 auto;
}

/* --- 1600px header / footer containers --- */
.tw2lve-villas__head-wrap,
.tw2lve-villas__foot-wrap {
	max-width: 1600px;
	margin: 0 auto;
	padding: 0 2rem;
}

/* --- Slider wrapper --- */
.tw2lve-vslider {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 82vh !important;
	min-height: 600px;
}

.tw2lve-vslider__track,
.tw2lve-vslider__track.slick-slider,
.tw2lve-vslider__track .slick-list {
	height: 82vh !important;
	min-height: 600px;
}

.tw2lve-vslider__track {
	display: flex;
	flex-direction: column;
	transition: transform 0.55s cubic-bezier(0.4, 0, 0.2, 1);
	will-change: transform;
}

/* --- Individual slide (bg-image fills the full slide) --- */
.tw2lve-vslider__slide {
	width: 100%;
	flex-shrink: 0;
	display: flex !important;
	height: 82vh !important;
	min-height: 600px;
	position: relative;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	background-color: #111;
}

/* --- Panel (50% viewport, left by default) --- */
.tw2lve-vslider__panel {
	width: 50%;
	background: rgba(0, 0, 0, 0.50);
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 28px;
	padding-top: 60px;
	padding-bottom: 60px;
	padding-right: 64px;
	padding-left: max(2rem, calc((100vw - 1600px) / 2 + 2rem));
	box-sizing: border-box;
	z-index: 2;
	position: relative;
}

/* --- Panel on the RIGHT (alternate slides) --- */
.tw2lve-vslider__slide--right .tw2lve-vslider__panel {
	margin-left: auto;
	padding-left: 64px !important;
	padding-right: max(2rem, calc((100vw - 1600px) / 2 + 2rem)) !important;
}

/* --- Villa name --- */
.tw2lve-vslider__name {
	font-family: 'Alta', sans-serif;
	font-size: 70px;
	font-weight: 400;
	color: #fff;
	line-height: 1;
	white-space: nowrap;
}

/* --- Top block (2-row layout) --- */
.tw2lve-vslider__top {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.tw2lve-vslider__top-row1 {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
}

.tw2lve-vslider__top-row2 {
	display: flex;
	align-items: center;
	gap: 16px;
}

.tw2lve-vslider__top-row3 {
	display: flex;
	align-items: center;
	padding-top: 20px;
	padding-bottom: 20px;
}

/* --- Stars + reviews --- */
.tw2lve-vslider__stars {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-shrink: 0;
}

.tw2lve-vslider__star-icons {
	display: flex;
	gap: 4px;
}

.tw2lve-vslider__star-icons svg {
	width: 22px;
	height: 22px;
	fill: #F9D71E;
}

.tw2lve-vslider__reviews {
	font-family: 'Nexa', sans-serif;
	font-size: 16px;
	color: #fff !important;
}

/* --- Price --- */
.tw2lve-vslider__price {
	display: flex;
	align-items: baseline;
	gap: 6px;
}

.tw2lve-vslider__price-amount {
	font-family: 'Nexa', sans-serif;
	font-size: 25px;
	font-weight: 700;
	color: #fff;
	line-height: 40px;
}

.tw2lve-vslider__price-unit {
	font-family: 'Nexa', sans-serif;
	font-size: 18px;
	font-weight: 700;
	color: #fff;
	line-height: 20px;
}

/* --- Pill tags --- */
.tw2lve-vslider__tags {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	align-items: center;
}

.tw2lve-vslider__tag {
	display: inline-flex;
	align-items: center;
	height: 45px;
	padding: 0 20px;
	border-radius: 100px;
	background: #000;
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	font-family: 'Nexa', sans-serif;
	font-size: 16px;
	color: #fff;
	white-space: nowrap;
}

/* --- Spec grid --- */



.tw2lve-vslider__spec {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 10px;
	padding: 16px;
	border-radius: 6px;
	background: rgba(255, 255, 255, 0.10);
	backdrop-filter: unset;
	-webkit-backdrop-filter: unset;
	width: 100%;
	height: 108px;
	flex-shrink: 0;
	box-sizing: border-box;
}

.tw2lve-vslider__spec .tw2lve-vslider__spec {
	backdrop-filter: blur(0px);
	-webkit-backdrop-filter: blur(0px);
}


.tw2lve-vslider__spec-icon {
	display: block;
	width: 34px;
	height: 34px;
	flex-shrink: 0;
}

.tw2lve-vslider__spec-icon svg {
	display: block;
	width: 100%;
	height: 100%;
}

.tw2lve-vslider__spec-label {
	font-family: 'Nexa', sans-serif;
	font-size: 14px;
	line-height: 16px;
	color: #fff;
	text-align: left;
	white-space: normal;
}

/* --- Layout block --- */
.tw2lve-vslider__layout {
	border-left: 2px solid rgba(255, 255, 255, 0.2);
	padding-left: 24px;
}

.tw2lve-vslider__layout-title {
	font-family: 'Nexa', sans-serif;
	font-weight: 700;
	color: #fff;
	margin-bottom: 4px;
}

.tw2lve-vslider__layout-info {
	font-family: 'Nexa', sans-serif;
	color: #fff;
	letter-spacing: 3px;
	text-transform: uppercase;
}

/* --- Discover CTA inside panel --- */
.tw2lve-vslider__cta {
	display: flex;
	width: 239px;
	height: 55px;
	padding: 10px;
	justify-content: center;
	align-items: center;
	gap: 10px;
	border-radius: 100px;
	background: var(--White, #FFF);
	color: #000;
	font-family: 'Nexa', sans-serif;
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	text-decoration: none;
	letter-spacing: 1px;
	transition: opacity 0.2s;
	box-sizing: border-box;
}

.tw2lve-vslider__cta:hover {
	opacity: 0.85;
	color: #000;
}

/* --- Arrow buttons — both vertically centred as a pair on right edge --- */
.tw2lve-vslider__prev,
.tw2lve-vslider__next {
	position: absolute;
	right: 40px;
	z-index: 10;
	display: flex;
	align-items: center;
	justify-content: center;
	width: auto;
	height: auto;
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	transition: transform 0.2s, opacity 0.3s;
}

/* Prev on left side, vertically centered */
.tw2lve-vslider__prev {
	right: auto;
	left: 40px;
	top: 50%;
	transform: translateY(-50%);
}

.tw2lve-vslider__prev:hover {
	transform: translateY(-50%) scale(1.08);
}

/* Next on right side, vertically centered */
.tw2lve-vslider__next {
	top: 50%;
	transform: translateY(-50%);
}

.tw2lve-vslider__next:hover {
	transform: translateY(-50%) scale(1.08);
}

/* Hide when Slick marks as disabled (first/last slide) */
.tw2lve-vslider__prev.slick-disabled,
.tw2lve-vslider__next.slick-disabled {
	opacity: 0;
	pointer-events: none;
}

.tw2lve-vslider__prev img,
.tw2lve-vslider__next img {
	display: block;
	width: auto;
	height: auto;
	max-width: 64px;
	max-height: 64px;
	object-fit: contain;
}

/* --- Dots --- */
.tw2lve-vslider__dots {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 32px 0 0;
}

.tw2lve-vslider__dot {
	width: 10px;
	height: 10px;
	border-radius: 100px;
	background: #fff;
	object-fit: cover;
	cursor: pointer;
	border: none;
	padding: 0;
	transition: width 0.3s, background 0.3s;
}

.tw2lve-vslider__dot.is-active {
	width: 30px;
	background: #F9D71E;
}

/* --- Footer CTA row --- */
.tw2lve-villas__footer {
	display: flex;
	justify-content: center;
	padding-top: 50px;
}

.tw2lve-collections__cta,
.tw2lve-expectation__cta,
.tw2lve-about-experience__cta {
	display: flex;
	width: fit-content;
/* 	height: 55px; */
	padding: 20px 28px;
	justify-content: center;
	align-items: center;
	gap: 10px;
	border-radius: 100px;
	border: 1px solid var(--White, #FFF);
	background: transparent;
	color: #fff;
	font-family: 'Nexa', sans-serif;
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	text-decoration: none;
	letter-spacing: 1px;
	box-sizing: border-box;
	line-height: 1;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.tw2lve-about-experience__cta{
	padding: 13px 38px;
}

.tw2lve-villas__cta {
	display: inline-flex;
	width: fit-content;
	align-items: center;
	justify-content: center;
	gap: 15px;
	padding: 18px 48px;
	border: 1px solid #fff;
	border-radius: 100px;
	background: transparent;
	color: #fff;
	font-family: 'Nexa', sans-serif;
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	text-decoration: none;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	box-sizing: border-box;
}

/* .tw2lve-villas__cta:hover {
	background-color: #F9D71E;
	color: #000;
	border: 1px solid #F9D71E;
}

.tw2lve-villas__cta:hover svg path {
	stroke: #000;
} */

/* .tw2lve-collections__cta:hover,
.tw2lve-expectation__cta:hover,
.tw2lve-about-experience__cta:hover {
	background-color: #F9D71E;
	border-color: #F9D71E;
	color: #000;
	opacity: 1;
} */

a.tw2lve-about-experience__cta:hover span {
	color: black !important;
}

.tw2lve-collections__cta:hover svg path,
.tw2lve-expectation__cta:hover svg path,
.tw2lve-about-experience__cta:hover svg path {
	stroke: #000;
}

.tw2lve-villas__cta svg,
.tw2lve-collections__cta svg,
.tw2lve-expectation__cta svg,
.tw2lve-about-experience__cta img,
.tw2lve-expectation__cta img {
	width: 22px;
	height: 16px;
	display: block;
}

.tw2lve-villas__cta svg,
.tw2lve-collections__cta svg {
	stroke: currentColor;
	fill: none;
	transition: stroke 0.2s;
}

@media (max-width: 1024px) {

	.tw2lve-vslider,
	.tw2lve-vslider__track,
	.tw2lve-vslider__track.slick-slider,
	.tw2lve-vslider__track .slick-list {
		height: 900px !important;
	}

	.tw2lve-vslider__slide {
		flex-direction: column !important;
		height: 900px !important;
		background: #000;
		display: flex !important;
	}

	.tw2lve-vslider__bgs {
		position: relative !important;
		height: 400px !important;
		width: 100% !important;
		z-index: 1;
	}

	.tw2lve-vslider__panel {
		width: 100% !important;
		flex: 1;
		padding: 60px 24px 40px !important;
		/* Increased top padding for header clearance */
		background: #000 !important;
		backdrop-filter: none !important;
		-webkit-backdrop-filter: none !important;
		margin-top: 0 !important;
		justify-content: flex-start !important;
		gap: 20px !important;
	}

	.tw2lve-vslider__slide--right .tw2lve-vslider__panel {
		margin-left: 0 !important;
		padding-left: 24px !important;
		padding-right: 24px !important;
	}

	.tw2lve-vslider__name {
		font-size: 38px;
		white-space: normal;
		margin-bottom: 5px;
	}

	.tw2lve-vslider__top-row1 {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}

	.tw2lve-vslider__prev {
		left: 16px;
		right: auto;
		top: 200px !important;
		/* Centered in 400px image */
		transform: translateY(-50%);
	}

	.tw2lve-vslider__next {
		right: 16px;
		top: 200px !important;
		transform: translateY(-50%);
	}

	h2.tw2lve-reviews__heading.twelve-1227-h2 {
		width: 90% !important;
	}

}

@media (max-width: 640px) {

	h2.tw2lve-reviews__heading.twelve-1227-h2 {
		width: 90% !important;
	}

	.tw2lve-vslider,
	.tw2lve-vslider__track,
	.tw2lve-vslider__track.slick-slider,
	.tw2lve-vslider__track .slick-list {
		height: 850px !important;
	}

	.tw2lve-vslider__slide {
		height: 850px !important;
	}

	.tw2lve-vslider__bgs {
		height: 320px !important;
	}

	.tw2lve-vslider__panel {
		padding: 30px 20px !important;
		gap: 20px !important;
	}

	.tw2lve-vslider__name {
		font-size: 32px;
	}

	.tw2lve-vslider__prev,
	.tw2lve-vslider__next {
		top: 160px !important;
	}

	.tw2lve-vslider__spec {
		height: 100px;
		padding: 12px;
	}
}



/* --- Arrow visibility fix: desktop & 1920px (≥1025px) --- */
@media (min-width: 1025px) {

	.tw2lve-vslider__prev,
	.tw2lve-vslider__next {
		position: absolute !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		z-index: 999 !important;
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}

	.tw2lve-vslider__prev.slick-disabled,
	.tw2lve-vslider__next.slick-disabled {
		opacity: 0 !important;
		pointer-events: none !important;
	}

	.tw2lve-vslider__prev {
		left: 40px !important;
		right: auto !important;
		top: 50% !important;
		transform: translateY(-50%) !important;
		bottom: auto !important;
	}

	.tw2lve-vslider__prev:hover {
		transform: translateY(-50%) scale(1.08) !important;
	}

	.tw2lve-vslider__next {
		right: 40px !important;
		left: auto !important;
		top: 50% !important;
		transform: translateY(-50%) !important;
		bottom: auto !important;
	}

	.tw2lve-vslider__next:hover {
		transform: translateY(-50%) scale(1.08) !important;
	}
}

/* =========================================================
   VILLAS LISTING PAGE
   ========================================================= */
.tw2lve-villas-page-content {
	padding-top: 0;
	padding-bottom: 0;
	background: #000;
}

.tw2lve-villa-listing {
	background: #000;
	padding: 190px 0 110px !important;
	color: #fff;
}

.tw2lve-villa-listing .container-tw2lve {
	width: 100%;
	max-width: 1600px;
	margin: 0 auto;
	padding: 0 2rem;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: flex-start;
	gap: 52px;
}

.tw2lve-villa-listing__head {
	text-align: center;
	margin: 0 auto;
	max-width: 1400px;
}

.tw2lve-villa-listing__label {
	margin: 0 0 8px;
	color: #F9D71E;
	font-family: 'Nexa', sans-serif;
	font-size: 24px;
	text-transform: uppercase;
	letter-spacing: .02em;
}

@media (max-width: 400px) {
	.tw2lve-villa-listing__label {
		line-height: 16.513px;
	}
}

.tw2lve-villa-listing__title {
	margin: 0;
	font-family: 'Alta', serif;
	font-size: clamp(42px, 5.2vw, 65px);
	font-weight: 400;
	text-transform: uppercase;
	line-height: 1;
}

.tw2lve-villa-listing__cards {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 42px;
}

.tw2lve-villa-listing__card {
	width: 100%;
	display: grid;
	grid-template-columns: minmax(380px, 46%) minmax(0, 54%);
	gap: 40px;
	background: #000;
	align-items: stretch;
}

@media (min-width: 1400px) {
	.tw2lve-villa-listing__card:nth-child(even) {
		grid-template-columns: minmax(0, 54%) minmax(380px, 46%);
	}

	.tw2lve-villa-listing__card:nth-child(even) .tw2lve-villa-listing__media {
		order: 2;
	}

	.tw2lve-villa-listing__card:nth-child(even) .tw2lve-villa-listing__body {
		order: 1;
		padding: 48px 36px 38px 0;
	}
}

@media (min-width: 1200px) {
	.tw2lve-villa-listing__body {
		padding-left: 10px;
	}
}

.tw2lve-villa-listing__media {
	position: relative;
	min-height: 706px;
	overflow: hidden;
}

.tw2lve-villa-listing__media-track {
	display: flex;
	height: 100%;
	transition: transform .45s ease;
	will-change: transform;
}

.tw2lve-villa-listing__media-slide {
	min-width: 100%;
	height: 100%;
}

.tw2lve-villa-listing__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.tw2lve-villa-listing__media-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 42px;
	height: 42px;
	border-radius: 50%;
	border: 0px solid rgba(255, 255, 255, 0.7);
	background: rgba(0, 0, 0, 0.45);
	color: #fff;
	font-size: 18px;
	line-height: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 2;
}

.tw2lve-villa-listing__media-arrow.is-prev {
	left: 14px;
}

.tw2lve-villa-listing__media-arrow.is-next {
	right: 14px;
}

.tw2lve-villa-listing__media-arrow:hover {
	background: rgba(0, 0, 0, 0.7);
}

.tw2lve-villa-listing__media-dots {
	position: absolute;
	left: 50%;
	bottom: 22px;
	transform: translateX(-50%);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	z-index: 2;
}

.tw2lve-villa-listing__media-dot {
	width: 10px;
	height: 10px;
	border-radius: 100px;
	border: none;
	background: #fff;
	padding: 0;
	cursor: pointer;
	transition: width .25s ease, background-color .25s ease;
}

.tw2lve-villa-listing__media-dot.is-active {
	width: 30px;
	background: #F9D71E;
}

.tw2lve-villa-listing__body {
	padding: 20px 0 38px 36px;
	display: flex;
	flex-direction: column;
	gap: 28px;
	justify-content: center;
}

.tw2lve-villa-listing__top {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	align-items: center;
}

.tw2lve-villa-listing__name {
	margin: 0;
	font-family: 'Alta', serif;
	font-size: clamp(42px, 5.4vw, 58px);
	font-weight: 400;
	line-height: 1;
	text-transform: uppercase;
}

.tw2lve-villa-listing__reviews-row {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 8px;
}

.tw2lve-villa-listing__stars {
	width: 127px;
	height: 21px;
	object-fit: contain;
	display: block;
}

.tw2lve-villa-listing__reviews {
	font-family: 'Nexa', sans-serif;
	font-size: 16px;
	line-height: 1.25;
}

.tw2lve-villa-listing__price {
	margin: 0;
	display: flex;
	align-items: baseline;
	gap: 8px;
	white-space: nowrap;
}

.tw2lve-villa-listing__price-amount {
	font-family: 'Nexa', sans-serif;
	font-size: 24px;
	font-weight: 700;
	line-height: 1;
}


@media (max-width: 1600px) {
	.tw2lve-villa-listing__price-amount {
		font-size: 30px;
	}

	.tw2lve-villa-listing__price-unit {
		font-size: 20px;
	}

	.tw2lve-villa-listing__name {
		font-size: clamp(42px, 5.4vw, 58px);
	}
}

.tw2lve-villa-listing__price-unit {
	font-family: 'Nexa', sans-serif;
	font-size: 24px;
	line-height: 1;
}

.tw2lve-villa-listing__tags {
	display: flex;
	gap: 12px;
}

.tw2lve-villa-listing__tag {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 45px;
	padding: 0 20px;
	border: 1px solid #3a3a3a;
	border-radius: 100px;
	font-family: 'Nexa', sans-serif;
	font-size: 16px;
	line-height: 1;
	white-space: nowrap;
}

.tw2lve-villa-listing__features {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	width: 85%;
}

.tw2lve-villa-listing__feature {
	min-height: 108px;
	background: rgba(255, 255, 255, 0.1);
	backdrop-filter: blur(10px);
	border-radius: 6px;
	padding: 16px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 10px;
}

.tw2lve-villa-listing__feature-icon {
	width: 34px;
	height: 34px;
	object-fit: contain;
	display: block;
}

.tw2lve-villa-listing__feature-text {
	font-family: 'Nexa', sans-serif;
	font-size: 12px;
	line-height: 16px;
}

.tw2lve-villa-listing__layout {
	display: flex;
	flex-direction: column;
	gap: 20px;
	border-left: 1px solid rgba(255, 255, 255, 0.2);
	padding-left: 16px;
	margin-top: -4px;
}

.tw2lve-villa-listing__layout-title {
	margin: 0;
	font-family: 'Nexa', sans-serif;
	font-size: 40px;
	line-height: 1;
	font-weight: 700;
}

.tw2lve-villa-listing__layout-text {
	margin: 0;
	font-family: 'Nexa', sans-serif;
	font-size: 20px;
	line-height: 1;
	letter-spacing: .18em;
	text-transform: uppercase;
}

.tw2lve-villa-listing__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: fit-content;
	padding: 0 28px;
	background: #fff;
	border-radius: 100px;
	color: #000;
	font-family: 'Nexa', sans-serif;
	font-size: 14px;
	line-height: 55px;
	font-weight: 700;
	text-transform: uppercase;
	text-decoration: none;
	letter-spacing: .02em;
}

.tw2lve-villa-listing__cta:hover {
	color: #000;
	opacity: .88;
}

.tw2lve-villa-listing__cta img {
	width: 14px;
	height: 10px;
	display: block;
}

.tw2lve-villa-listing__empty {
	margin: 0;
	font-family: 'Nexa', sans-serif;
	font-size: 20px;
	text-align: center;
}

@media (max-width: 1399px) {
	.tw2lve-villa-listing__card {
		grid-template-columns: 1fr;
	}

	.tw2lve-villa-listing__media {
		min-height: 460px;
	}

	.tw2lve-villa-listing__body {
		padding: 34px 24px 30px;
	}

	.tw2lve-villa-listing__features {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tw2lve-villa-listing__layout-title {
		font-size: 28px;
	}

	.tw2lve-villa-listing__layout-text {
		font-size: 18px;
	}
}

@media (max-width: 767px) {
	.tw2lve-villa-listing {
		padding: 54px 0 72px;
	}

	.tw2lve-villa-listing__label {
		font-size: 16px;
		line-height: 17.513px;
	}

	.tw2lve-villa-listing__title {
		font-size: clamp(32px, 10vw, 46px);
	}

	.tw2lve-villa-listing__media {
		min-height: 320px;
	}

	.tw2lve-villa-listing__media-arrow {
		width: 36px;
		height: 36px;
		font-size: 16px;
	}

	.tw2lve-villa-listing__media-dots {
		bottom: 16px;
	}

	.tw2lve-villa-listing__top {
		flex-direction: column;
		align-items: flex-start;
	}

	.tw2lve-villa-listing__name {
		font-size: clamp(34px, 11vw, 46px);
	}

	.tw2lve-villa-listing__price-amount {
		font-size: 34px;
	}

	.tw2lve-villa-listing__price-unit {
		font-size: 20px;
	}

	.tw2lve-villa-listing__tags {
		gap: 10px;
	}

	.tw2lve-villa-listing__tag {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		height: 30px;
		padding: 0 16px;
		border: 1px solid #3a3a3a;
		border-radius: 100px;
		font-family: 'Nexa', sans-serif;
		font-size: 10px;
		line-height: 1;
		white-space: nowrap;
		width: auto;
	}

	.tw2lve-villa-listing__features {
		grid-template-columns: 1fr;
	}

	.tw2lve-villa-listing__layout-title {
		font-size: 30px;
	}

	.tw2lve-villa-listing__layout-text {
		font-size: 16px;
		letter-spacing: .14em;
		line-height: 1.35;
	}

	.tw2lve-villa-listing__card {
		gap: 10px;
	}
}

/* =========================================================
   EXPERIENCES SECTION
   ========================================================= */
.tw2lve-experiences {
	position: relative;
	overflow: hidden;
	background: #000;
	margin-top: -1px;
	padding-bottom: 150px !important;
}

.tw2lve-experiences__head-wrap {
	max-width: 1600px;
	margin: 0 auto;
	padding: 0 2rem 48px;
	text-align: center;
}

.tw2lve-experiences__label {
	display: block;
	color: #F9D71E;
	font-family: 'Nexa', sans-serif;
	font-size: 24px;
	font-weight: 400;
	line-height: normal;
	text-transform: uppercase;
	margin-bottom: 10px;
}

.tw2lve-experiences__heading {
	margin: 0;
	color: #fff;
	font-family: 'Alta', sans-serif;
	font-weight: 400;
	line-height: 1;
	text-transform: uppercase;
}

.tw2lve-experiences__slider {
	position: relative;
	width: 100%;
}

.tw2lve-experiences__rail-wrap {
	width: 100%;
	overflow: hidden;
	scrollbar-width: none;
	cursor: grab;
	user-select: none;
}

.tw2lve-experiences__rail-wrap:active {
	cursor: grabbing;
}

.tw2lve-experiences__rail-wrap::-webkit-scrollbar {
	display: none;
}

.tw2lve-experiences__rail {
	display: flex;
	gap: 30px;
	width: max-content;
	padding-left: max(2rem, calc((100vw - 1600px) / 2 + 2rem));
	padding-right: 2rem;
	box-sizing: border-box;
	transition: transform 0.55s cubic-bezier(0.4, 0, 0.2, 1);
	will-change: transform;
}

.tw2lve-experiences__arrow {
	position: absolute;
	top: calc(33% + 18px);
	transform: translateY(-50%);
	z-index: 6;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.28);
	background: rgba(255, 255, 255, 0.12);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: opacity 0.2s, transform 0.2s;
}

.tw2lve-experiences__arrow--prev {
	left: max(8px, calc((100vw - 1600px) / 2 + 4px));
}

.tw2lve-experiences__arrow--next {
	right: max(8px, calc((100vw - 1600px) / 2 + 4px));
}

.tw2lve-experiences__arrow:hover {
	/* 	transform: translateY(-90%) scale(1.06); */
}

.tw2lve-experiences__arrow:disabled {
	opacity: 0.35;
	cursor: default;
}

.tw2lve-experiences__edge {
	display: none;
}

.tw2lve-exp-card {
	position: relative;
	width: 750px;
	height: 450px;
	border-radius: 12px;
	overflow: hidden;
	flex: 0 0 auto;
	display: flex;
	align-items: flex-end;
	padding: 50px;
	box-sizing: border-box;
	background: #111;
	transform: translateZ(0);
	will-change: transform;
}

.tw2lve-exp-card__video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: translateZ(0);
	will-change: transform;
}

.tw2lve-exp-card__overlay {
	position: absolute;
	inset: 0;
	border-radius: 12px;
	background: linear-gradient(0deg, rgba(0, 0, 0, 0.60) 0%, rgba(0, 0, 0, 0.60) 100%);
	z-index: 1;
	transform: translateZ(0);
	will-change: transform;
}

.tw2lve-exp-card__title {
	position: relative;
	z-index: 2;
	margin: 0;
	color: #fff;
	font-family: 'Nexa', sans-serif;
	font-size: 36px;
	font-weight: 700;
	line-height: 40px;
	letter-spacing: -0.72px;
	text-transform: uppercase;
}

.tw2lve-expectation__content {
	padding-left: 30px;
}

@media (max-width: 991px) {

	.tw2lve-experiences__arrow,
	.tw2lve-experiences__edge {
		display: none;
	}

	.tw2lve-experiences__rail-wrap {
		overflow-x: auto;
		overflow-y: hidden;
	}

	.tw2lve-experiences__rail {
		transition: none;
	}



	.tw2lve-exp-card {
		width: 620px;
		height: 360px;
		padding: 36px;
	}
}

@media (max-width: 640px) {
	.tw2lve-experiences__head-wrap {
		padding: 0 24px 30px;
	}

	.tw2lve-exp-card {
		width: min(90vw, 420px);
		height: 300px;
		padding: 24px;
	}

	.tw2lve-exp-card__title {
		font-size: 30px;
		line-height: 34px;
	}
}

/* =========================================================
   COLLECTIONS SECTION
   ========================================================= */
.tw2lve-expectation {
	position: relative;
	overflow: hidden;
	background: #000;
}

.tw2lve-collections {
	position: relative;
	overflow: hidden;
	background: #000;
}

.tw2lve-collections__wrap {
	max-width: 1600px;
	margin: 0 auto;
	padding: 0 2rem;
	box-sizing: border-box;
}

.tw2lve-collections__head {
	width: 80%;
	margin-bottom: 24px;
}

.tw2lve-collections__label {
	display: block;
	color: #F9D71E;
	font-family: 'Nexa', sans-serif;
	font-size: 24px;
	font-weight: 400;
	line-height: normal;
	text-transform: uppercase;
	margin-bottom: 10px;
}

.tw2lve-collections__heading {
	margin: 0;
	color: #fff;
	font-family: 'Alta', sans-serif;
	font-weight: 400;
	line-height: 1;
	text-transform: uppercase;
	width: 89%;
}

.tw2lve-collections__row {
	align-items: stretch;
}

.tw2lve-collection-card {
	backdrop-filter: blur(21px);
	-webkit-backdrop-filter: blur(21px);
	background: #000;
	border-radius: 10px;
	padding: 18px 18px 18px 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
	box-sizing: border-box;
}

.tw2lve-collection-card__image-wrap {
	position: relative;
	width: 100%;
	height: 300px;
	border-radius: 4px;
	background: #fff;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}

.tw2lve-collection-card__image {
	max-width: 82%;
	max-height: 82%;
	object-fit: contain;
	display: block;
}

.tw2lve-collection-card.is-cap .tw2lve-collection-card__image {
	max-width: 78%;
	max-height: 58%;
	transform: translateY(6px);
}

.tw2lve-collection-card__cap-logo {
	position: absolute;
	width: 46px;
	height: auto;
	left: 50%;
	top: 44%;
	transform: translate(-4%, -50%) rotate(-14.8deg);
	mix-blend-mode: overlay;
	pointer-events: none;
}

.tw2lve-collection-card__title {
	margin: 0;
	color: #fff;
	font-family: 'Nexa', sans-serif;
	font-size: 24px;
	font-weight: 700;
	line-height: normal;
}

.tw2lve-collection-card__price {
	margin: 0;
	color: #fff;
	font-family: 'Nexa', sans-serif;
	font-weight: 700;
	text-shadow: none;
}

.tw2lve-collections__foot {
	display: flex;
	justify-content: center;
	padding-top: 24px;
}

@media (max-width: 1400px) {


	.tw2lve-collection-card__title {
		font-size: 22px;
	}

	.tw2lve-collection-card__price {}
}

@media (max-width: 991px) {
	.tw2lve-collections__wrap {
		padding: 0 24px;
	}

	.tw2lve-collections__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tw2lve-collection-card__title {
		font-size: 24px;
	}

	.tw2lve-collection-card__price {}
}

@media (max-width: 640px) {
	.tw2lve-collections__label {
		font-size: 18px;
	}

	.tw2lve-collections__heading {
		width: 100%;
	}

	.tw2lve-collections__grid {
		grid-template-columns: 1fr;
	}

	.tw2lve-collection-card {
		padding: 20px 20px 20px 0;
	}

	.tw2lve-collection-card__image-wrap {
		height: 260px;
	}
}

/* =========================================================
   REVIEWS SECTION
   ========================================================= */
.tw2lve-reviews {
	position: relative;
	overflow: hidden;
	background: #D4B300;
	margin-top: -1px;
}

.tw2lve-reviews__texture {
	position: absolute;
	inset: 0;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: top left;
	opacity: 0.2;
	pointer-events: none;
}

.tw2lve-reviews__wrap {
	position: relative;
	z-index: 2;
	max-width: 1620px;
	margin: 0 auto;
	padding: 0 2rem;
	box-sizing: border-box;
}

.tw2lve-reviews__head {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 54px;
	text-align: center;
}

.tw2lve-reviews__label {
	font-family: 'Nexa', sans-serif;
	font-size: 24px;
	font-weight: 400;
	line-height: normal;
	text-transform: uppercase;
	color: #000;
	margin-bottom: 4px;
}

.tw2lve-reviews__heading {
	margin: 0;
	max-width: 1132px;
	height: auto;
	font-family: 'Alta', sans-serif;
	font-weight: 400;
	line-height: 1.06;
	color: #000;
	text-transform: uppercase;
}

h2.tw2lve-reviews__heading.twelve-1227-h2 {
	width: 60%;
}

h2.tw2lve-reviews__heading.twelve-1227-h2 br {
	display: none;
}


.tw2lve-review-card {
	background: #fff;
	box-shadow: 0 5.226px 39.194px rgba(0, 0, 0, 0.1);
	padding: 31px 26px;
	display: flex;
	flex-direction: column;
	gap: 20px;
	box-sizing: border-box;
	min-height: 307px;
}

.tw2lve-review-card__top {
	display: flex;
	align-items: center;
	gap: 13px;
	width: 100%;
}

.tw2lve-review-card__avatar {
	width: 50px;
	height: 50px;
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
}

.tw2lve-review-card__meta {
	flex: 1;
	min-width: 0;
}

.tw2lve-review-card__name {
	margin: 0;
	font-family: 'Nexa', sans-serif;
	font-size: 18px !important;
	font-weight: 700;
	line-height: 1.25;
	color: #000;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.tw2lve-review-card__date {
	margin: 4px 0 0;
	font-family: 'Nexa', sans-serif;
	font-size: 15px;
	font-weight: 400;
	color: #A8A8A8;
	text-shadow: none;
}

.tw2lve-review-card__google {
	width: 34px;
	height: 34px;
	flex-shrink: 0;
}

.tw2lve-review-card__rating {
	display: flex;
	align-items: center;
	gap: 13px;
}

.tw2lve-review-card__stars {
	width: 148px;
	height: 24px;
	display: block;
}

.tw2lve-review-card__verified {
	width: 22px;
	height: 22px;
	background-image: url('assets/images/reviews/verified-fill.svg');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	flex-shrink: 0;
}

.tw2lve-review-card__text {
	margin: 0;
	font-family: 'Nexa', sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 148%;
	color: #000;
	text-shadow: none;
}

@media (max-width: 1400px) {
	.tw2lve-reviews__heading {}
}

@media (max-width: 767px) {
	.tw2lve-reviews {
		padding: 72px 0 84px;
	}

	.tw2lve-reviews__wrap {
		padding: 0 24px;
	}

	.tw2lve-reviews__label {
		font-size: 18px;
	}

	.tw2lve-reviews__texture {
		background-size: 100% 100%;
		background-position: center center;
	}

}




.single-villa section.tw2lve-expectation {
	padding: 100px 0 0 0px;
}

.tw2lve-expectation {
	background: #000;
	padding: 120px 0;
	margin-top: -1px;
	position: relative;
}

.tw2lve-expectation__wrap {
	max-width: 1600px;
	margin: 0 auto;
	padding: 0 2rem;
	display: flex;
	flex-direction: column;
	gap: 28px;
	box-sizing: border-box;
}

.tw2lve-expectation__row1 {
	position: relative;
	min-height: 220px;
	width: 95%;
	padding-right: 20%;
	box-sizing: border-box;
}

.tw2lve-expectation__content {
	position: relative;
	padding-left: 20px;
	max-width: 92%;
}

.tw2lve-expectation__content::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 1px;
	height: 100%;
	background: rgba(255, 255, 255, 0.5);
	pointer-events: none;
}

.tw2lve-expectation__label {
	display: block;
	font-family: 'Nexa', sans-serif;
	font-size: 24px;
	font-weight: 400;
	line-height: normal;
	text-transform: uppercase;
	color: #F9D71E;
	margin-bottom: 10px;
}

/* --- Left: Text Block --- */
.tw2lve-expectation__left {
	position: relative;
	padding-right: 20px;
}

.tw2lve-expectation__heading {
	margin: 0;
	font-family: 'Alta', serif;
	font-weight: 400;
	line-height: 1.05;
	text-transform: uppercase;
	color: #fff;
	max-width: 100%;
	letter-spacing: 0.02em;
}

.tw2lve-expectation__left {
	position: relative;
	z-index: 2;
}

@media (min-width: 992px) {
	/* .tw2lve-expectation__left {
		padding-right: 48%;
		Leave room for absolute images
	} */
}

.tw2lve-expectation__content {
	padding-left: 48px;
	max-width: 100%;
	position: relative;
}

.tw2lve-expectation__content::before {
	content: '';
	position: absolute;
	left: 0;
	top: 10px;
	bottom: 10px;
	width: 1.5px;
	background: rgba(255, 255, 255, 0.35);
}

.tw2lve-expectation__text {
	margin: 0;
	max-width: 46%;
	color: #fff;
	text-shadow: none;
	opacity: 0.85;
}

.tw2lve-expectation__media-col {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 47%;
	z-index: 1;
}

@media (min-width: 992px) {
	.tw2lve-expectation__media {
		width: 100%;
		height: 100%;
	}

	.tw2lve-expectation__img-single {
		width: 100%;
		height: 100%;
		object-fit: cover;
		display: block;
	}
}

@media (min-width: 992px) and (max-width: 1199px) {
	.tw2lve-expectation__text {
		max-width: 42% !important;
	}
}

@media (max-width: 991px) {
	.tw2lve-expectation {
		padding: 60px 0;
		display: flex;
		flex-direction: column;
	}

	.tw2lve-expectation__wrap {
		order: 2;
		padding: 0 24px;
		gap: 24px;
	}

	.tw2lve-expectation__media-col {
		position: static;
		width: 100%;
		height: 400px;
		order: 1;
		margin-bottom: 40px;
		right: auto;
		top: auto;
	}

	.tw2lve-expectation__row1 {
		padding-right: 0;
		min-height: auto;
	}

	.tw2lve-expectation__content {
		padding-left: 0;
	}

	.tw2lve-expectation__content::before {
		display: none;
	}

	.tw2lve-expectation__text {
		max-width: 100% !important;
	}
}

.tw2lve-villas__cta,
.tw2lve-collections__cta,
.tw2lve-expectation__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	height: auto;
	padding: 20px 42px;
	border-radius: 100px;
	border: 1px solid #fff;
	background: transparent;
	color: #fff;
	font-family: 'Nexa', sans-serif;
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	text-decoration: none;
	transition: all 0.3s ease;
	margin-top: 32px;
	line-height : 1 
}

.tw2lve-expectation__cta:hover {
	/* 	background: #fff; */
	color: #000;
}

.tw2lve-expectation__cta svg path {
	transition: stroke 0.3s ease;
}

.tw2lve-expectation__cta:hover svg path {
	stroke: #000;
}

@media (max-width: 767px) {
	.tw2lve-expectation__wrap {
		padding: 0 24px;
	}



	.tw2lve-expectation__text {}


	.tw2lve-expectation__img-overlay {
		width: 58%;
	}



	.tw2lve-expectation__img-main {
		height: 100%;
	}


	.tw2lve-villas__cta,
	.tw2lve-collections__cta,
	.tw2lve-expectation__cta {
		padding: 0 20px !important
	}
}

/* =========================================================
   FOOTER
   ========================================================= */
.site-footer,
footer#colophon {
	background: #000;
	position: relative;
	overflow: hidden;
	padding: 0;
	padding-bottom: 0px !important;
	margin-top: -1px;
}

.tw2lve-footer__wrap {
	max-width: 1600px;
	margin: 0 auto;
	padding: 0 2rem 0;
	position: relative;
	z-index: 2;
}

.tw2lve-footer__top {
	display: grid;
	grid-template-columns: 300px minmax(0, 1fr);
	gap: 40px;
	padding-top: 12px;
}

.tw2lve-footer__brand {
	display: flex;
	align-items: flex-start;
	padding-top: 72px;
}

.tw2lve-footer__brand .custom-logo-link,
.tw2lve-footer__brand img {
	width: 100%;
	height: auto;
	display: block;
}

.tw2lve-footer__brand-text {
	font-family: 'Alta', sans-serif;
	font-size: 54px;
	line-height: 1;
	color: #fff;
	text-decoration: none;
}

.tw2lve-footer__main {
	display: flex;
	flex-direction: column;
	gap: 34px;
	padding-top: 4px;
}

.tw2lve-footer__cta-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 10px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.85);
}

.tw2lve-footer__headline {
	margin: 0;
	font-family: 'Nexa', sans-serif;
	font-size: 45px;
	font-weight: 700;
	line-height: 60px;
	color: #fff;
	text-transform: capitalize;
}

.tw2lve-footer__content-row {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 60px;
}

.tw2lve-footer__contact {
	display: flex;
	flex-direction: column;
	gap: 6px;
	max-width: 627px;
}

.tw2lve-footer__mail,
.tw2lve-footer__phone,
.tw2lve-footer__address {
	margin: 0;
	color: #fff !important;
	text-decoration: none;
	text-shadow: none;
	font-family: 'Nexa', sans-serif;
	font-weight: 700;
	line-height: 60px;
	display: flex;
	align-items: center;
	gap: 15px;
	transition: all 0.3s ease;
	width: fit-content;
}

.tw2lve-footer__mail:hover,
.tw2lve-footer__phone:hover,
.tw2lve-footer__address:hover {
	color: #F9D71E !important;
}

.tw2lve-footer__mail,
.tw2lve-footer__phone {
	font-size: 30px;
}

.tw2lve-footer__address {
	font-size: 24px;
	line-height: 60px;
	text-transform: capitalize;
}

.tw2lve-footer__contact svg {
	flex-shrink: 0;
}

.tw2lve-footer__nav ul,
.tw2lve-footer__legal ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.tw2lve-footer__nav li {
	padding: 10px 0;
}

.tw2lve-footer__nav a {
	font-family: 'Nexa', sans-serif;
	font-size: 24px;
	font-weight: 400;
	line-height: 1;
	color: #fff;
	text-decoration: none;
	text-shadow: 0 0.845px 1.689px rgba(0, 0, 0, 0.07);
	transition: all 0.3s ease;
}

.tw2lve-footer__nav a:hover {
	color: #F9D71E;
}

.tw2lve-footer__meta-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding-top: 16px;
}

.tw2lve-footer__copyright,
.tw2lve-footer__copyright a {
	margin: 0;
	font-family: 'Nexa', sans-serif;
	font-size: 18px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: 1.08px;
	color: #fff;
}

.tw2lve-footer__copyright a {
	color: #ffc107;
	text-decoration: none
}

.tw2lve-footer__legal ul {
	display: flex;
	align-items: center;
	gap: 15px;
}

.tw2lve-footer__legal li {
	display: flex;
	align-items: center;
	gap: 15px;
}

.tw2lve-footer__legal li:not(:last-child)::after {
	content: '';
	width: 1px;
	height: 12px;
	background: rgba(255, 255, 255, 0.6);
}

.tw2lve-footer__legal a {
	font-family: 'Nexa', sans-serif;
	font-size: 17px;
	font-weight: 400;
	line-height: 28px;
	color: #fff;
	text-decoration: none;
	white-space: nowrap;
	transition: all 0.3s ease;
}

.tw2lve-footer__legal a:hover {
	color: #F9D71E;
}

.tw2lve-footer__watermark {
	margin-top: 10px;
	font-family: 'Alta', sans-serif;
	font-size: clamp(140px, 18vw, 314px);
	line-height: 0.95;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	white-space: nowrap;
	background: radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 1) 0%, rgba(192, 191, 199, 0.75) 25%, rgba(128, 128, 143, 0.5) 50%, rgba(65, 64, 87, 0.25) 75%, rgba(1, 0, 31, 0) 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	opacity: 0.95;
	pointer-events: none;
	user-select: none;
	text-align: center;
}

@media (min-width: 1440px) and (max-width: 1559px) {
	.tw2lve-villa-listing__features {
		width: 100% !important;
	}
}

@media (max-width: 1200px) {
	.tw2lve-footer__top {
		grid-template-columns: 1fr;
	}

	.tw2lve-footer__brand {
		padding-top: 20px;
	}

	.tw2lve-footer__headline {
		font-size: 36px;
		line-height: 1.2;
	}

	.tw2lve-footer__mail,
	.tw2lve-footer__phone {
		font-size: 34px;
		line-height: 1.25;
	}

	.tw2lve-villa-listing__features {
		width: 100% !important;
	}
}

@media (max-width: 991px) {
	.tw2lve-footer__wrap {
		padding: 0 24px 0;
	}

	.tw2lve-footer__cta-row,
	.tw2lve-footer__content-row,
	.tw2lve-footer__meta-row {
		flex-direction: column-reverse;
		align-items: flex-start;
	}

	.tw2lve-footer__mail,
	.tw2lve-footer__phone {
		font-size: 30px;
	}

	.tw2lve-footer__address {
		font-size: 20px;
	}

	.tw2lve-footer__legal ul {
		flex-wrap: wrap;
		gap: 8px 12px;
	}

	.tw2lve-footer__legal li {
		gap: 8px;
	}

	.tw2lve-footer__watermark {

		font-size: clamp(65px, 15vw, 167px) !important;
		text-align: center;
	}

	.tw2lve-contact-form__field input,
	.tw2lve-contact-form__field select {
		height: 70px;
	}

	/* 	 */
}

/* =========================================================
   404 PAGE
   ========================================================= */
.error-404 {
	text-align: center;
	padding: 5rem 0;
}

.error-404 .error-code {
	font-size: 8rem;
	font-weight: 900;
	color: var(--bs-primary);
	line-height: 1;
	margin-bottom: 1rem;
}

/* =========================================================
   COMMENTS
   ========================================================= */
.comments-area {
	margin-top: 3rem;
	padding-top: 2rem;
	border-top: 1px solid #eee;
}

.comments-title,
.comment-reply-title {
	font-size: 1.4rem;
	margin-bottom: 1.5rem;
}

.comment-list {
	list-style: none;
	padding: 0;
}

.comment {
	padding: 1.25rem;
	background: #fff;
	border-radius: .5rem;
	margin-bottom: 1rem;
	box-shadow: 0 1px 6px rgba(0, 0, 0, .06);
}

.comment .comment-author {
	font-weight: 700;
	font-size: .95rem;
}

.comment .comment-meta {
	font-size: .8rem;
	color: #888;
	margin-bottom: .5rem;
}

/* =========================================================
   SEARCH FORM (Bootstrap-enhanced)
   ========================================================= */
.search-form {
	display: flex;
	gap: .5rem;
}

.search-form .search-field {
	flex: 1;
}

/* =========================================================
   WP CORE / BLOCK EDITOR ALIGNMENT
   ========================================================= */
.alignleft {
	float: left;
	margin: .5rem 1.5rem 1rem 0;
}

.alignright {
	float: right;
	margin: .5rem 0 1rem 1.5rem;
}

.aligncenter {
	display: block;
	margin: 0 auto 1rem;
}

.alignfull {
	width: 100vw;
	position: relative;
	left: 50%;
	transform: translateX(-50%);
}

.alignwide {
	max-width: 1200px;
}

.wp-caption {
	max-width: 100%;
}

.wp-caption-text {
	font-size: .85rem;
	color: #777;
	text-align: center;
}

.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
}

.sticky {
	position: relative;
}

.bypostauthor {
	position: relative;
}

/* =========================================================
   ABOUT — PHILOSOPHY SECTION
   ========================================================= */
.tw2lve-about-philosophy {
	margin-bottom: 0;
}

.tw2lve-about-philosophy__gold {
	position: relative;
	background-color: #d4b300;
	padding: 100px 0 250px;
	overflow: hidden;
}

.tw2lve-about-philosophy__gold::before {
	content: '';
	position: absolute;
	inset: 0;
	background-image: var(--tw2lve-philosophy-texture);
	background-size: cover;
	background-repeat: no-repeat;
	opacity: 0.2;
	pointer-events: none;
	z-index: 0;
}

.tw2lve-about-philosophy__text-wrap {
	position: relative;
	z-index: 1;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	max-width: 1600px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding-left: 40px;
	padding-right: 40px;
}

.tw2lve-about-philosophy__label {
	display: block;
	font-family: 'Nexa', sans-serif;
	font-size: 24px;
	font-weight: 400;
	text-transform: uppercase;
	color: #000;
	letter-spacing: 0.08em;
	margin-bottom: 24px;
}

.tw2lve-about-philosophy__title {
	font-family: 'Alta', serif;
	font-size: var(--h2-font-size);
	font-weight: 400;
	line-height: 1;
	color: #000;
	margin: 0 0 36px;
}

.tw2lve-about-philosophy__desc {
	font-family: 'Nexa', sans-serif;
	font-size: 24px;
	font-weight: 400;
	line-height: 50px;
	color: #000;
	margin: 0;
	width: 75%;
}

/* ── Dark image-grid area ─────────────────────────────── */
.tw2lve-about-philosophy__dark {
	background-color: #000;
	padding-bottom: 100px;
	margin-top: -11%;
}

.tw2lve-about-philosophy__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 21px;
	height: 450px;
	max-width: 1600px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

.tw2lve-about-philosophy__img-wrap {
	overflow: hidden;
	position: relative;
}

.tw2lve-about-philosophy__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.4s ease;
}

.tw2lve-about-philosophy__img-wrap:hover .tw2lve-about-philosophy__img {
	transform: scale(1.04);
}

/* ── Responsive ───────────────────────────────────────── */
@media (max-width: 1200px) {
	.tw2lve-about-philosophy__title {
		font-size: 72px;
	}
}

@media (max-width: 900px) {
	.tw2lve-about-philosophy__gold {
		padding: 72px 0 56px;
	}

	.tw2lve-about-philosophy__title {
		font-size: 52px;
	}

	.tw2lve-about-philosophy__label {
		font-size: 18px;
		margin-bottom: 16px;
	}

	.tw2lve-about-philosophy__desc {
		font-size: 18px;
		line-height: 36px;
	}

	.tw2lve-about-philosophy__grid {
		grid-template-columns: repeat(2, 1fr);
		height: auto;
	}

	.tw2lve-about-philosophy__img-wrap {
		height: 320px;
	}

	.tw2lve-about-philosophy__dark {
		padding-bottom: 72px;
		margin-top: -7%;
	}
}

@media (max-width: 600px) {
	.tw2lve-about-philosophy__gold {
		padding: 48px 0 40px;
	}

	.tw2lve-about-philosophy__title {
		font-size: 38px;
		margin-bottom: 20px;
	}

	.tw2lve-about-philosophy__label {
		font-size: 14px;
	}

	.tw2lve-about-philosophy__desc {
		font-size: 16px;
		line-height: 30px;
	}

	.tw2lve-about-philosophy__grid {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.tw2lve-about-philosophy__img-wrap {
		height: 260px;
	}

	.tw2lve-about-philosophy__dark {
		padding-bottom: 48px;
	}
}

/* =========================================================
   ABOUT — TEAM SECTION
   ========================================================= */
.tw2lve-about-team {
	background-color: #000;
	padding: 100px 0;
	margin-bottom: 0;
	margin-top: -2px;
	margin-bottom: -2px;
}

.tw2lve-about-team__container {
	max-width: 1600px;
	width: 100%;
	margin: 0 auto;
	padding: 0 40px;
}

.tw2lve-about-team__head {
	margin-bottom: 60px;
}

.tw2lve-about-team__label {
	display: block;
	font-family: 'Nexa', sans-serif;
	font-size: 24px;
	font-weight: 400;
	text-transform: uppercase;
	color: #f9d71e;
	letter-spacing: 0.08em;
	margin-bottom: 16px;
}

.tw2lve-about-team__title {
	font-family: 'Alta', serif;
	font-size: var(--h2-font-size);
	font-weight: 400;
	line-height: 1;
	color: #fff;
	margin: 0;
}

/* ── Cards ────────────────────────────────────────────── */
.tw2lve-about-team__cards {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
}

.tw2lve-team-card {
	display: flex;
	align-items: center;
	gap: 30px;
	height: 550px;
	border-radius: 10px;
	overflow: hidden;
	padding: 0 60px;
	position: relative;
	background: radial-gradient(ellipse at 0% 0%,
			rgba(0, 0, 0, 0.80) 0%,
			rgba(30, 30, 30, 0.65) 40%,
			rgba(80, 80, 80, 0.25) 75%,
			rgba(255, 255, 255, 0) 100%);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
}

.tw2lve-team-card__content {
	flex: 0 0 auto;
	width: 376px;
	display: flex;
	flex-direction: column;
	gap: 30px;
	justify-content: center;
	z-index: 1;
}

.tw2lve-team-card__info {
	display: flex;
	flex-direction: column;
	gap: 10px;
	text-transform: uppercase;
}

.tw2lve-team-card__name {
	font-family: 'Nexa', sans-serif;
	font-size: 30px;
	font-weight: 700;
	line-height: 30px;
	color: #fff;
	margin: 0;
}

.tw2lve-team-card__role {
	font-family: 'Nexa', sans-serif;
	font-size: 24px;
	font-weight: 400;
	color: #f9d71e;
	line-height: normal;
}

.tw2lve-team-card__bio {
	font-family: 'Nexa', sans-serif;
	font-size: 18px;
	font-weight: 400;
	line-height: 30px;
	color: #fff;
	margin: 0;
}

.tw2lve-team-card__photo-wrap {
	flex: 1 1 auto;
	height: 100%;
	overflow: unset;
	position: relative;
	margin: 0 -40px 0 0;
}

.tw2lve-team-card__photo {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
	overflow: unset
}

.tw2lve-villa-detail__bedrooms .container-tw2lve,
.tw2lve-villa-detail__team .container-tw2lve,
.tw2lve-villa-detail__amenities .container-tw2lve,
.tw2lve-villa-detail__experience .container-tw2lve,
.tw2lve-villa-detail__location .container-tw2lve {
	display: flex;
	flex-direction: column;
}

.tw2lve-villa-detail__amenities h2 {
	text-align: center;
	width: 75%
}

.tw2lve-villa-detail__amenities {
	overflow-x: clip;
}

/* ── Responsive ─────────────────────────────────────────── */
@media (max-width: 1200px) {
	.tw2lve-about-team__title {
		font-size: 72px;
	}

	.tw2lve-team-card__content {
		width: 300px;
	}
}

@media (max-width: 900px) {
	.tw2lve-about-team {
		padding: 72px 0;
	}

	.tw2lve-about-team__title {
		font-size: 52px;
	}

	.tw2lve-about-team__label {
		font-size: 18px;
	}

	.tw2lve-about-team__cards {
		grid-template-columns: 1fr;
	}

	.tw2lve-team-card {
		height: auto;
		min-height: 420px;
	}

	.tw2lve-team-card__content {
		width: 100%;
		max-width: 360px;
	}
}

@media (max-width: 600px) {
	.tw2lve-about-team {
		padding: 48px 0;
	}

	.tw2lve-about-team__container {
		padding: 0 20px;
	}

	.tw2lve-about-team__title {
		font-size: 38px;
		margin-bottom: 8px;
	}

	.tw2lve-about-team__label {
		font-size: 14px;
	}

	.tw2lve-about-team__head {
		margin-bottom: 36px;
	}

	.tw2lve-team-card {
		flex-direction: column;
		height: auto;
		padding: 40px 24px 0;
		gap: 20px;
	}

	.tw2lve-team-card__content {
		width: 100%;
	}

	.tw2lve-team-card__photo-wrap {
		width: 100%;
		height: 300px;
		margin: 0 -24px;
		width: calc(100% + 48px);
	}

	.tw2lve-team-card__name {
		font-size: 22px;
	}

	.tw2lve-team-card__role {
		font-size: 16px;
	}

	.tw2lve-team-card__bio {
		font-size: 15px;
		line-height: 26px;
	}
}

/* =========================================================
   ABOUT — EXPERIENCE SECTION
   ========================================================= */
.tw2lve-about-experience {
	background-color: #000;
	padding: 100px 0;
}

.tw2lve-about-experience__container {
	padding-bottom: 100px;
}

/* ── Left column: text ──────────────────────────────── */
.tw2lve-about-experience__content {
	/* 	max-width: 620px; */
}

.tw2lve-about-experience__text {
	margin-bottom: 30px;
}

.tw2lve-about-experience__label {
	display: block;
	font-family: 'Nexa', sans-serif;
	font-size: 24px;
	font-weight: 400;
	text-transform: uppercase;
	color: #f9d71e;
	letter-spacing: 0.06em;
	margin-bottom: 8px;
}

.tw2lve-about-experience__title {
	font-family: 'Alta', serif;
	font-size: var(--h2-font-size);
	font-weight: 400;
	line-height: 1;
	color: #fff;
	margin: 0;
}

.tw2lve-about-experience__desc {
	font-family: 'Nexa', sans-serif;
	font-weight: 400;
	color: #fff;
	margin: 0;
	max-width: 620px;
	margin-bottom: 30px;
	font-size: 24px;
	font-style: normal;
	font-weight: 400;
	line-height: 50px;
}


.tw2lve-about-experience__cta span {
	font-family: 'Nexa', sans-serif;
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	color: #fff;
	letter-spacing: 1px;
	line-height: 28px;
	white-space: nowrap;
}

.tw2lve-about-experience__cta-arrow {
	width: 26px;
	height: 16px;
	display: block;
}

/* ── Single Image Layout ─────────────────────────── */
.tw2lve-about-experience__media {
	text-align: center;
}



/* ── Responsive ───────────────────────────────────────── */
@media (max-width: 1200px) {
	.tw2lve-about-experience__title {
		font-size: 66px;
	}
}

@media (max-width: 900px) {
	.tw2lve-about-experience {
		padding: 72px 0;
	}

	.tw2lve-about-experience__title {
		font-size: 52px;
	}

	.tw2lve-about-experience__desc {}
}

@media (max-width: 600px) {
	.tw2lve-about-experience {
		padding: 48px 0;
	}

	.tw2lve-about-experience__container {
		padding-bottom: 0;
	}

	.tw2lve-about-experience__title {
		font-size: 38px;
	}

	.tw2lve-about-experience__label {
		font-size: 14px;
	}

	.tw2lve-about-experience__desc {}

	.tw2lve-about-experience__img-small {
		width: 46%;
		height: 48%;
	}
}

/* =========================================================
   CONTACT SECTION
   ========================================================= */
.tw2lve-contact-section {
	background: #000;
	color: #fff;
	padding: 100px 0;
}

.tw2lve-contact-section__container {
	max-width: 1600px;
	margin: 0 auto;
	padding: 0 2rem;
}

.tw2lve-contact-section__head {
	text-align: center;
	max-width: 80%;
	margin: 0 auto;
	padding: 110px 0 80px;
}

.tw2lve-contact-section__label {
	display: block;
	color: #F9D71E;
	font-family: 'Nexa', sans-serif;
	font-size: 24px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	text-transform: uppercase;
	margin: 0 0 20px;
}

.tw2lve-contact-section__title,
h2.tw2lve-contact-general__heading {
	margin: 0;
	color: #fff;
	font-family: 'Alta', serif;
	font-size: 65px;
	font-style: normal;
	font-weight: 400;
	line-height: 1.1;
	text-transform: uppercase;
	text-align: center;
}

/* ── Body: 50 / 50 grid ─────────────────────────────────── */
.tw2lve-contact-section__body {
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: 690px;
	gap: 40px
}

/* ── Form Panel ─────────────────────────────────────────── */
.tw2lve-contact-section__form-col {
	background: #141414;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 40px 40px;
}

.tw2lve-contact-form {
	width: 100%;
	max-width: 640px;
	display: flex;
	flex-direction: column;
	gap: 30px;
	align-items: center;
}

.tw2lve-contact-form__title {
	margin: 0;
	color: #fff;
	font-family: 'Alta', serif;
	font-size: 45px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	text-transform: uppercase;
	text-align: center;
}

.tw2lve-contact-form__fields {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.tw2lve-contact-form__row--split {
	display: flex;
	gap: 30px;
}

.tw2lve-contact-form__row--split .tw2lve-contact-form__field {
	flex: 1 0 0;
}

.tw2lve-contact-form__field {
	border-bottom: 1px solid #353535;
	height: 70px;
	display: flex;
	align-items: center;
	padding: 10px;
	position: relative;
	box-sizing: border-box;
}

.tw2lve-contact-form__field--textarea {
	height: 112px;
	align-items: flex-start;
	padding-top: 14px;
}

.tw2lve-contact-form__field input,
.tw2lve-contact-form__field select,
.tw2lve-contact-form__field textarea {
	background: transparent;
	border: none;
	outline: none;
	color: #fff;
	font-family: 'Nexa', sans-serif;
	font-size: 16px;
	font-weight: 300;
	font-style: normal;
	line-height: normal;
	width: 100%;
	height: 100%;
	caret-color: #F9D71E;
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
}

.tw2lve-contact-form__field input::placeholder,
.tw2lve-contact-form__field textarea::placeholder {
	color: rgba(255, 255, 255, 0.65);
}

/* date input — hide native calendar icon, show custom SVG */
.tw2lve-contact-form__field--date input[type="date"]::-webkit-calendar-picker-indicator {
	opacity: 0;
	position: absolute;
	right: 0;
	width: 100%;
	cursor: pointer;
}

.form-control {
	padding: 0;
}

.form-control:focus {
	background: transparent;
	border: none;
	box-shadow: none;
}

.tw2lve-contact-form__field--date input[type="date"] {
	color: rgba(255, 255, 255, 0.65);
	padding-right: 32px;
}

.tw2lve-contact-form__field--date input[type="date"]:valid {
	color: #fff;
}

.tw2lve-contact-form__cal-icon {
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;
	flex-shrink: 0;
}

/* select placeholder colour — dim when placeholder selected, white when real option chosen */
.tw2lve-contact-form__field--select select:invalid,
.tw2lve-contact-form__field--select select option[value=""] {
	color: rgba(255, 255, 255, 0.65);
}

.tw2lve-contact-form__field--select select:valid {
	color: #fff;
}

.tw2lve-contact-form__field--select select option {
	background: #141414;
	color: #fff;
	transition: background 0.15s ease;
}

.tw2lve-contact-form__field--select select option:hover,
.tw2lve-contact-form__field--select select option:focus,
.tw2lve-contact-form__field--select select option:checked {
	background: #2a2a2a;
}

.tw2lve-contact-form__chevron {
	position: absolute;
	right: 0px;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;
	flex-shrink: 0;
}

.tw2lve-contact-form__field textarea {
	resize: none;
	height: 100%;
}

/* Submit button */
.tw2lve-footer__cta,
.tw2lve-contact-form__submit {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: fit-content;
	height: 55px;
	padding: 10px 50px;
	border-radius: 100px;
	border: none;
	outline: none;
	background: #F9D71E;
	cursor: pointer;
	color: #000;
	font-family: 'Nexa', sans-serif;
	font-size: 14px;
	font-style: normal;
	font-weight: 700;
	line-height: 28px;
	text-transform: uppercase;
	text-decoration: none;
	letter-spacing: 0.02em;
	box-sizing: border-box;
	-webkit-appearance: none;
	appearance: none;
	transition: opacity 0.2s ease, transform 0.2s ease;
}

button.swal2-close.lbk-swal-close {
	position: absolute;
}

button.tw2lve-footer__cta.tw2lve-contact-form__submit {

	margin: auto;
	margin-top: 30px;
}

.tw2lve-footer__cta:hover,
.tw2lve-contact-form__submit:hover {
	opacity: 0.88;

}

.tw2lve-contact-form__submit-arrow {
	width: 15px;
	height: auto;
	flex-shrink: 0;
	display: block;
}

/* Success / Error notices */
.tw2lve-contact-form__success,
.tw2lve-contact-form__error {
	width: 100%;
	border-radius: 8px;
	padding: 18px 22px;
	font-family: 'Nexa', sans-serif;
	font-size: 16px;
	line-height: 1.6;
	margin: auto;
}

p.form-footer-note.twelve-1227-p {
	font-size: 12px;
}

p.form-footer-note.twelve-1227-p {
	font-size: 14px;
	line-height: 20px;
	margin-top: 20px;
}

.tw2lve-contact-form__success {
	background: rgba(249, 215, 30, 0.12);
	border: 1px solid #F9D71E;
	color: #F9D71E;
	width: 80%;
}

.tw2lve-contact-form__error {
	background: #000000ab;
	border: 0px solid rgba(255, 80, 80, 0.5);
	color: #ff8080;
	width: 80%;
}

.tw2lve-contact-form__success p,
.tw2lve-contact-form__error p {
	margin: 0;
	text-align: center
}

/* ── Image Panel ─────────────────────────────────────────── */
.tw2lve-contact-section__img-col {
	position: relative;
	overflow: hidden;
}

.tw2lve-contact-section__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
	display: block;
}

/* ── Responsive ─────────────────────────────────────────── */
@media (max-width: 1200px) {
	.tw2lve-contact-section__title {
		font-size: clamp(38px, 5vw, 65px);
	}

	.tw2lve-contact-form__title {
		font-size: clamp(32px, 3.5vw, 45px);
	}

	.tw2lve-contact-section__head {
		padding: 80px 0 60px;
	}
}

@media (max-width: 991px) {
	.tw2lve-contact-section__body {
		grid-template-columns: 1fr;
		min-height: unset;
	}

	.tw2lve-contact-section__img-col {
		min-height: 380px;
		order: -1;
	}

	.tw2lve-contact-section__img {
		position: static;
		width: 100%;
		height: 380px;
	}

	.tw2lve-contact-section__form-col {
		padding: 48px 24px;
	}

	.tw2lve-team-card {
		height: auto !important;
		min-height: 320px;
		padding: 0 1.25rem !important;
		flex-direction: row;
	}

	/* ── Contact form: consistent field heights below 1024px ── */
	.tw2lve-contact-form__field {
		height: 56px;
		padding: 0 10px;
		box-sizing: border-box;
	}

	.tw2lve-contact-form__field--textarea {
		height: 100px;
		padding: 10px;
		align-items: flex-start;
	}

	/* All inputs, custom select fill the 56px wrapper exactly */
	.tw2lve-contact-form__field input,
	.tw2lve-contact-form__field select {
		height: 56px !important;
		line-height: 56px;
	}

	.tw2lve-contact-form__field .lbk-custom-select {
		height: 56px !important;
	}

	.tw2lve-contact-form__field textarea {
		height: 100% !important;
		line-height: 1.5;
	}

	.tw2lve-contact-form__field--date input[type="date"] {
		height: 56px !important;
		line-height: 56px;
	}

}

@media (max-width: 767px) {
	.tw2lve-contact-section__head {
		padding: 60px 0 40px;
	}

	.tw2lve-contact-section__label {
		font-size: 16px;
	}

	.tw2lve-contact-section__title {
		font-size: clamp(30px, 9vw, 44px);
	}

	.tw2lve-contact-form__title {
		font-size: 32px;
	}

	.tw2lve-contact-form__row--split {
		flex-direction: column;
		gap: 0;
	}

	.tw2lve-contact-section__img-col,
	.tw2lve-contact-section__img {
		min-height: 280px;
		height: 280px;
	}

	.tw2lve-contact-form__submit {
		width: 100%;
		max-width: 280px;
	}

	.tw2lve-footer__cta,
	.tw2lve-contact-form__submit {
		padding: 10px 20px;
	}

	h2.tw2lve-contact-general__heading.tw2lve-heading-fadeup.is-visible {
		width: 100% !important;
	}
}

/* =========================================================
   CONTACT — GENERAL ENQUIRY SECTION
   ========================================================= */
.tw2lve-contact-general {
	position: relative;
	width: 100%;
	min-height: 560px;
	background-image: var(--tw2lve-general-bg);
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	isolation: isolate;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 100px 24px;
	box-sizing: border-box;
}

.tw2lve-contact-general__overlay-top {
	position: absolute;
	top: auto;
	left: 0;
	right: 0;
	height: 100%;
	pointer-events: none;
	z-index: 1;
	background: linear-gradient(0deg, #000 0%, rgb(0 0 0 / 46%) 129.96%);
}


.tw2lve-contact-general__inner {
	position: relative;
	z-index: 2;
	width: 60%;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 40px;
}

.tw2lve-contact-general__heading {
	margin: 0;
	color: #fff;
	font-family: 'Alta', serif;
	font-size: var(--h2-font-size);
	font-style: normal;
	font-weight: 400;
	line-height: 1.1;
	text-transform: uppercase;
	text-align: center;
}

.tw2lve-contact-general__fields {
	width: 90%;
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: auto;
}

.tw2lve-contact-general__row--split {
	display: flex;
	gap: 30px;
}

.tw2lve-contact-general__row--split .tw2lve-contact-general__field {
	flex: 1 0 0;
}

.tw2lve-contact-general__field {
	border-bottom: 1px solid rgba(255, 255, 255, 0.7);
	height: 70px;
	display: flex;
	align-items: center;
	padding: 10px;
	box-sizing: border-box;
}

.tw2lve-contact-general__field--textarea {
	height: 112px;
	align-items: flex-start;
	padding-top: 14px;
}

.tw2lve-contact-general__field input,
.tw2lve-contact-general__field textarea {
	background: transparent;
	border: none;
	outline: none;
	color: #fff;
	font-family: 'Nexa', sans-serif;
	font-size: 16px;
	font-weight: 300;
	height: 100%;
	line-height: normal;
	width: 100%;
	caret-color: #F9D71E;
	-webkit-appearance: none;
	appearance: none;
}

.tw2lve-contact-general__field input::placeholder,
.tw2lve-contact-general__field textarea::placeholder {
	color: rgba(255, 255, 255, 0.65);
}

.tw2lve-contact-general__field textarea {
	resize: none;
	height: 100%;
}

.tw2lve-contact-general__form .tw2lve-contact-form__success,
.tw2lve-contact-general__form .tw2lve-contact-form__error {

	width: 75%;
	margin-top: 20px;
	margin: auto;
	margin-top: 30px;
}

h2.tw2lve-contact-general__heading.tw2lve-heading-fadeup.is-visible {
	width: 90%;
}

form.tw2lve-contact-general__form {
	width: 100%;
	gap: 30px;
}

button.tw2lve-footer__cta.tw2lve-contact-form__submit {
	margin-top: 20px;
}

/* responsive */
@media (max-width: 1200px) {
	.tw2lve-contact-general__inner {
		width: 72%;
	}

	.tw2lve-contact-general__heading {
		font-size: clamp(38px, 5vw, 65px);
	}
}

@media (max-width: 991px) {
	.tw2lve-contact-general__inner {
		width: 88%;
	}

	.tw2lve-contact-general {
		padding: 80px 24px;
	}
}

@media (max-width: 1024px) {

	/* Consistent field heights for general enquiry form below 1024px */
	.tw2lve-contact-general__field {
		height: 56px;
		padding: 0 10px;
		box-sizing: border-box;
	}

	.tw2lve-contact-general__field--textarea {
		height: 100px;
		padding: 10px;
		align-items: flex-start;
	}

	.tw2lve-contact-general__field input {
		height: 56px !important;
		line-height: 56px;
	}

	.tw2lve-contact-general__field textarea {
		height: 100% !important;
		line-height: 1.5;
	}
}

@media (max-width: 767px) {
	.tw2lve-contact-general__inner {
		width: 100%;
	}

	.tw2lve-contact-general {
		padding: 60px 20px;
		min-height: unset;
	}

	.tw2lve-contact-general__heading {
		font-size: clamp(30px, 9vw, 44px);
	}

	.tw2lve-contact-general__row--split {
		flex-direction: column;
		gap: 0;
	}

	h2.tw2lve-contact-section__title.tw2lve-heading-fadeup.is-visible {
		font-size: 26px !important;
	}
}

/* =========================================================
   SINGLE VILLA DETAIL PAGE
   ========================================================= */
.tw2lve-villa-detail {
	background: #000;
	color: #fff;
	padding-bottom: 120px;
}

.tw2lve-villa-detail .container-tw2lve {
	max-width: 1600px;
	margin: 0 auto;
	padding: 0 24px;
}

.tw2lve-villa-detail h2 {
	margin: 0;
	font-family: 'Alta', sans-serif;
	font-size: clamp(40px, 6vw, 100px);
	font-weight: 400;
	line-height: 1;
	text-transform: uppercase;
	text-align: center;

}

/* h2.experience-heading.tw2lve-heading-fadeup.is-visible {
	font-size: 65px;
	width: 70%;
} */

section.tw2lve-villa-detail__team h2 {
	font-size: 65px !important;
	width: 70%;
}

/* Medium laptops */
@media (min-width: 1280px) and (max-width: 1439px) {
	section.tw2lve-villa-detail__team h2 {
		font-size: 55px !important;
	}
}

section.tw2lve-villa-detail__location {
	overflow: hidden;
}

.tw2lve-villa-detail__hero {
	padding: 100px 0 40px;
}

.tw2lve-villa-detail__hero .container-tw2lve {
	display: flex;
	flex-direction: column;
	gap: 34px;
	align-items: center;
}

.tw2lve-villa-detail__experience-title {
	margin: 0 0 32px;
	font-family: 'Alta', sans-serif;
	font-size: clamp(46px, 6vw, 100px);
	font-weight: 400;
	line-height: 1;
	text-transform: uppercase;
	text-align: center;
	flex: 0 0 min(460px, 30%);
}

.tw2lve-villa-detail__gallery,
.tw2lve-villa-detail__intro {
	flex: 1 1 calc(70% - 34px);
	min-width: 0;
}

.tw2lve-villa-detail__hero-image-wrap {
	position: relative;
	height: clamp(360px, 42vw, 700px);
	min-height: 340px;
	border-radius: 6px;
	overflow: hidden;
}

.tw2lve-villa-detail__hero-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.tw2lve-villa-detail__gallery-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 46px;
	height: 46px;
	border-radius: 50%;
	border: 0;
	background: rgba(255, 255, 255, 0.9);
	color: #000;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.3s;
}

.tw2lve-villa-detail__gallery-arrow:hover {
	background: #fff;
}

.tw2lve-villa-detail__gallery-arrow svg,
.tw2lve-villa-detail__thumbs-arrow svg {
	width: 15px;
	height: 11px;
}

.tw2lve-villa-detail__gallery-arrow.is-prev svg,
.tw2lve-villa-detail__thumbs-arrow.is-prev svg {
	transform: rotate(180deg);
}

.tw2lve-villa-detail__gallery-arrow.is-prev {
	left: 16px;
}

.tw2lve-villa-detail__gallery-arrow.is-next {
	right: 16px;
}

.tw2lve-villa-detail__thumbs {
	--thumb-gap: 8px;
	--thumbs-visible: 9;
	display: flex;
	flex-wrap: nowrap;
	gap: var(--thumb-gap);
	margin-top: 0;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	padding-inline: 44px;
	padding-bottom: 4px;
	scrollbar-width: none;
	flex: 1 1 auto;
}

.tw2lve-villa-detail__thumbs-wrap {
	position: relative;
	margin-top: 14px;
 
}

.tw2lve-villa-detail__thumbs-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	border: 1px solid #fff;
	background: #fff;
	color: #000;
	font-size: 14px;
	line-height: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
}

.tw2lve-villa-detail__thumbs-arrow.is-prev {
	left: 6px;
}

.tw2lve-villa-detail__thumbs-arrow.is-next {
	right: 6px;
}

.tw2lve-villa-detail__thumbs::-webkit-scrollbar {
	display: none;
}

.tw2lve-villa-detail__thumb {
	border: 1px solid transparent;
	padding: 0;
	background: transparent;
	aspect-ratio: 1 / 1;
	height: auto;
	overflow: hidden;
	border-radius: 2px;
	flex: 0 0 calc((100% - (var(--thumb-gap) * (var(--thumbs-visible) - 1))) / var(--thumbs-visible));
	scroll-snap-align: start;
}

.tw2lve-villa-detail__thumb.is-active {
	border-color: #F9D71E;
}

.tw2lve-villa-detail__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

button.tw2lve-villa-detail__thumbs-arrow{
	display : none
}

.tw2lve-villa-detail__intro {
	padding: 0;
	width: 100%;
}

.tw2lve-villa-detail__intro-top {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 60px;
	align-content: center;
	padding: 50px 0;
}

.tw2lve-villa-detail__intro-head,
.tw2lve-villa-detail__intro-top .tw2lve-villa-booking {
	flex: 1 1 50%;
	width: 50%;
}

.tw2lve-villa-detail__villa-title,
.tw2lve-villa-detail__meta h2 {
	margin: 0 0 10px;
	font-family: 'Alta', sans-serif;
	font-size: clamp(36px, 4vw, 70px);
	font-weight: 400;
	line-height: 1;
	text-transform: uppercase;
	text-align: left;
}

.tw2lve-villa-detail__layout {
	margin: 0;
	font-family: 'Nexa', sans-serif;
	font-size: 18px;
	line-height: normal;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

.tw2lve-villa-detail__meta-price {
	display: flex;
	align-items: center;
	gap: 50px;
	margin-top: 20px;
}

.tw2lve-villa-detail__meta-row {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 0;
	font-family: 'Nexa', sans-serif;
	font-size: 16px;
}

.tw2lve-villa-detail__meta-stars {
	display: flex;
	align-items: center;
	gap: 4px;
}

.tw2lve-villa-detail__meta-row svg {
	height: 18px;
	width: auto;
}

.tw2lve-villa-detail__price {
	margin: 0;
	font-family: 'Nexa', sans-serif;
	font-size: 20px;
	font-weight: 700;
	white-space: nowrap;
}

.tw2lve-villa-detail__price span {
	font-size: 34px;
}

.tw2lve-villa-detail__intro-text {
	margin: 30px 0 38px;
	font-family: 'Nexa', sans-serif;
	font-size: 24px;
	line-height: 1.7;
	max-width: 1280px;
}

.tw2lve-villa-detail__quick-specs {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
}

.tw2lve-villa-detail__quick-spec {
	border: 1px solid #474747;
	backdrop-filter: blur(21px);
	padding: 24px 20px;
	min-height: 200px;
	display: flex;
	flex-direction: column;
	gap: 26px;
	width: 100%;
	border-radius: 10px;
	transition: all 0.3s ease;
}

.tw2lve-villa-detail__quick-spec:hover {
	border-color: #f9d71e;
	transform: translateY(-5px);
}

.tw2lve-villa-detail__quick-spec-category {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	padding: 6px 12px;
	border-radius: 999px;
	background: rgba(249, 215, 30, 0.14);
	border: 1px solid rgba(249, 215, 30, 0.45);
	color: #F9D71E;
	font-family: 'Nexa', sans-serif;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.tw2lve-villa-detail__quick-spec img {
	width: 44px;
	height: 44px;
	object-fit: contain;
}

.tw2lve-villa-detail__quick-spec p {
	margin: 0;
	font-family: 'Nexa', sans-serif;
	font-size: 22px;
	line-height: 1.4;
}

.tw2lve-villa-detail__primary-cta,
.tw2lve-villa-detail__outline-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 55px;
	border-radius: 100px;
	padding: 10px 28px;
	font-family: 'Nexa', sans-serif;
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	text-decoration: none;
	margin-top: 28px;
}

.tw2lve-villa-detail__primary-cta {
	background: #F9D71E;
	color: #000;
	margin-top: 0;
	flex: 0 0 auto;
	gap: 10px;
}

.tw2lve-villa-detail__outline-cta {
	border: 1px solid #fff;
	color: #fff;
	background: transparent;
}

.tw2lve-villa-detail__location h2 {
	text-align: left;
	margin-right: auto;
	width: 75%
}

.tw2lve-villa-detail__amenities h2 {
	width: 75%
}

.single-villa,
.tw2lve-villa-detail__gallery,
section.tw2lve-villa-detail__hero {
	overflow-x: hidden
}

/* =========================================================
   BUTTON HOVER SWEEP ANIMATION
   ========================================================= */
.tw2lve-vslider__cta,
.tw2lve-villas__cta,
.tw2lve-collections__cta,
.tw2lve-expectation__cta,
.tw2lve-about-experience__cta,
.tw2lve-villa-listing__cta,
.tw2lve-footer__cta,
.tw2lve-contact-form__submit,
.tw2lve-villa-detail__primary-cta,
.tw2lve-villa-detail__outline-cta,
.home-hero .btn-hero,
.retreats-final-cta-btn,
.retreats-whychoose-cta,
.retreat-info-cta,
.btn {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	transition: color 0.3s ease, border-color 0.3s ease, background-color 0.3s ease, opacity 0.3s ease, transform 0.3s ease;
}

.tw2lve-vslider__cta::before,
.tw2lve-villas__cta::before,
.tw2lve-collections__cta::before,
.tw2lve-expectation__cta::before,
.tw2lve-about-experience__cta::before,
.tw2lve-villa-listing__cta::before,
.tw2lve-footer__cta::before,
.tw2lve-contact-form__submit::before,
.tw2lve-villa-detail__primary-cta::before,
.tw2lve-villa-detail__outline-cta::before,
.home-hero .btn-hero::before,
.retreats-final-cta-btn::before,
.retreats-whychoose-cta::before,
.retreat-info-cta::before,
.btn::before {
	content: '';
	position: absolute;
	inset: 0;
	width: 0;
	background: var(--tw2lve-btn-fill, rgba(255, 255, 255, 0.15));
	border-radius: inherit;
	transition: width 0.3s ease;
	z-index: -1;
}

.tw2lve-vslider__cta:hover::before,
.tw2lve-vslider__cta:focus-visible::before,
.tw2lve-collections__cta:hover::before,
.tw2lve-collections__cta:focus-visible::before,
.tw2lve-expectation__cta:hover::before,
.tw2lve-expectation__cta:focus-visible::before,
.tw2lve-about-experience__cta:hover::before,
.tw2lve-about-experience__cta:focus-visible::before,
.tw2lve-villa-listing__cta:hover::before,
.tw2lve-villa-listing__cta:focus-visible::before,
.tw2lve-footer__cta:hover::before,
.tw2lve-footer__cta:focus-visible::before,
.tw2lve-contact-form__submit:hover::before,
.tw2lve-contact-form__submit:focus-visible::before,
.tw2lve-villa-detail__primary-cta:hover::before,
.tw2lve-villa-detail__primary-cta:focus-visible::before,
.tw2lve-villa-detail__outline-cta:hover::before,
.tw2lve-villa-detail__outline-cta:focus-visible::before,
.home-hero .btn-hero:hover::before,
.home-hero .btn-hero:focus-visible::before,
.retreats-final-cta-btn:hover::before,
.retreats-final-cta-btn:focus-visible::before,
.retreats-whychoose-cta:hover::before,
.retreats-whychoose-cta:focus-visible::before,
.retreat-info-cta:hover::before,
.retreat-info-cta:focus-visible::before,
.btn:hover::before,
.btn:focus-visible::before {
	width: 100%;
}

.tw2lve-vslider__cta,
.tw2lve-villa-listing__cta,
.home-hero .btn-hero,
.retreats-final-cta-btn,
.retreat-info-cta,
.btn {
	--tw2lve-btn-fill: rgba(0, 0, 0, 0.12);
}

.tw2lve-footer__cta,
.tw2lve-contact-form__submit,
.tw2lve-villa-detail__primary-cta {
	--tw2lve-btn-fill: #d4b300;
}

.tw2lve-collections__cta,
.tw2lve-expectation__cta,
.tw2lve-about-experience__cta,
.tw2lve-villa-detail__outline-cta {
	/* 	--tw2lve-btn-fill: #ffffff; */
}

.tw2lve-collections__cta:hover,
.tw2lve-collections__cta:focus-visible,
.tw2lve-expectation__cta:hover,
.tw2lve-expectation__cta:focus-visible,
.tw2lve-about-experience__cta:hover,
.tw2lve-about-experience__cta:focus-visible,
.tw2lve-villa-detail__outline-cta:hover,
.tw2lve-villa-detail__outline-cta:focus-visible {
	color: #000;
	opacity: 1;
}

.tw2lve-vslider__cta svg,
.tw2lve-villas__cta svg,
.tw2lve-collections__cta svg,
.tw2lve-footer__cta svg,
.tw2lve-contact-form__submit svg,
.tw2lve-villa-detail__primary-cta svg,
.tw2lve-villa-detail__outline-cta svg,
.retreats-final-cta-btn svg,
.retreat-info-cta svg,
.tw2lve-arrow-icon {
	width: 15px;
	height: 11px;
	flex-shrink: 0;
	transition: stroke 0.3s ease, fill 0.3s ease;
}

.tw2lve-vslider__cta svg path,
.tw2lve-villas__cta svg path,
.tw2lve-collections__cta svg path,
.tw2lve-footer__cta svg path,
.tw2lve-contact-form__submit svg path,
.tw2lve-villa-detail__primary-cta svg path,
.tw2lve-villa-detail__outline-cta svg path,
.retreats-final-cta-btn svg path,
.retreat-info-cta svg path,
.tw2lve-arrow-icon path {
	stroke: currentColor;
	fill: none;
	transition: stroke 0.3s ease, fill 0.3s ease;
}

.tw2lve-expectation__cta img,
.tw2lve-about-experience__cta img {
	filter: brightness(0) invert(1);
	transition: filter 0.3s ease;
}

.tw2lve-expectation__cta:hover img,
.tw2lve-expectation__cta:focus-visible img,
.tw2lve-about-experience__cta:hover img,
.tw2lve-about-experience__cta:focus-visible img {
	filter: brightness(0);
}

.tw2lve-villa-detail__bedrooms,
.tw2lve-villa-detail__amenities,
.tw2lve-villa-detail__experience,
.tw2lve-villa-detail__location,
.tw2lve-villa-detail__team,
.tw2lve-villa-detail__testimonials,
.tw2lve-villa-detail__escape {
	padding-top: 110px;
}

.tw2lve-villa-detail__bedroom-grid {
	margin-top: 34px;
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
}

.tw2lve-villa-detail__bedroom-item {
	flex: 0 0 calc((100% - 54px) / 4);
}

.tw2lve-villa-detail__bedroom-item img {
	width: 100%;
	height: 430px;
	object-fit: cover;
	display: block;
}

.tw2lve-villa-detail__section-kicker {
	margin: 0 0 10px;
	font-family: 'Nexa', sans-serif;
	font-size: 24px;
	text-transform: uppercase;
	color: #F9D71E;
	text-align: center;
}

.tw2lve-villa-detail__amenity-tabs {
	display: flex;
	gap: 16px;
	justify-content: center;
	flex-wrap: nowrap;
	margin-top: 24px;
	overflow-x: auto;
	padding-bottom: 4px;
}

.tw2lve-villa-detail__amenity-tab {
	background: #000;
	border: 1px solid #474747;
	border-radius: 100px;
	padding: 16px 30px;
	min-height: 55px;
	min-width: 200px;
	font-family: 'Nexa', sans-serif;
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	text-transform: uppercase;
	color: #fff;
	backdrop-filter: blur(10px);
	cursor: pointer;
	transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.tw2lve-villa-detail__amenity-tab.is-active {
	background: #F9D71E;
	color: #000;
	border-color: #F9D71E;
}

html {
	scrollbar-gutter: stable;
}

/* .tw2lve-villa-detail__amenities-fullwidth {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-top: 34px;
	position: relative;
	padding: 0 0px;
} */
.tw2lve-villa-detail__amenities-fullwidth {
	/* Instead of: width: 100vw; margin-left: calc(50% - 50vw); */
	width: calc(100% + (100vw - 100%));
	/* = actual content width */
	margin-left: calc(-1 * (100vw - 100%) / 2);
	margin-top: 34px;
	position: relative;
	padding: 0 0px;
}

.tw2lve-villa-detail__amenities-panel {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 120px 30px 120px 30px;
	border-radius: 0;
	background-image: linear-gradient(rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0.45)), url('https://1227villa.kodefuse.com/wp-content/uploads/2026/04/Rectangle-784-1-1.webp');
	background-size: cover;
	background-position: center;
	position: relative;
	overflow: hidden;
	height: 850px;
}

article.tw2lve-villa-detail__experience-card h3.tw2lve-heading-fadeup.is-visible {
	text-align: center;
}

.tw2lve-villa-detail__amenities-panel::before {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(10, 20, 24, 0.35);
	/* 	backdrop-filter: blur(8px); */
	pointer-events: none;
	z-index: 0;
}

.tw2lve-villa-detail__amenity-tabs,
.tw2lve-villa-detail__amenity-gridwrap {
	position: relative;
	z-index: 1;
}

.tw2lve-villa-detail__amenity-gridwrap {
	margin-top: 20px;
	width: 100%;
}

.tw2lve-villa-detail__amenity-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 22px;
	margin: auto;
	width: 85%;
}

.tw2lve-villa-detail__amenity-item {
	background: rgba(255, 255, 255, 0.1);
	backdrop-filter: blur(19px);
-webkit-backdrop-filter: blur(19px);
	border-radius: 11px;
	padding: 30px;
	min-height: 207px;
	display: flex;
	flex-direction: column;
	gap: 19px;

	transition: transform 0.2s ease, opacity 0.2s ease;

	transform: translateY(0);
	will-change: transform;
	isolation: isolate;
}

.tw2lve-villa-detail__amenity-item {
	position: relative;
}
.tw2lve-villa-detail__amenity-item:hover {
	transform: translateY(-5px);
	z-index: 5;
}



.tw2lve-villa-detail__amenity-item.is-hidden {
	display: none;
}

.tw2lve-villa-detail__amenity-item.is-visible {
	display: flex;
}

.tw2lve-villa-detail__amenity-item img {
	width: 64px;
	height: 64px;
	object-fit: contain;
}

.tw2lve-villa-detail__amenity-item p {
	margin: 0;
	font-family: 'Nexa', sans-serif;
	font-size: 26px;
	line-height: 1.25;
}

.tw2lve-villa-detail__section-copy {
	max-width: 1040px;
	margin: 18px auto 0;
	font-family: 'Nexa', sans-serif;
	font-size: 24px;
	line-height: 1.7;
	text-align: center;
}


.tw2lve-villa-detail__team-slider-wrap {
    position: relative;
    padding-bottom: 80px;   /* reserved for arrow pair */
}

.tw2lve-villa-detail__team-arrows {
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 16px;
    z-index: 3;
}

.tw2lve-villa-detail__team-arrow {
    box-sizing: border-box;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 1px solid rgba(249, 215, 30, 0.6);
    background: rgba(0, 0, 0, 0.55);
    color: #F9D71E;
    font-size: 0;
    line-height: 0;
    padding: 0;
    margin: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    vertical-align: middle;
}

.tw2lve-villa-detail__team-arrow:hover,
.tw2lve-villa-detail__team-arrow:focus-visible {
    background: #F9D71E;
    color: #000;
    border-color: #F9D71E;
    outline: none;
}

.tw2lve-villa-detail__team-arrow .tw2lve-arrow-icon {
    display: block;
    width: 15px;
    height: 11px;
    flex-shrink: 0;
    vertical-align: middle;
}

.tw2lve-villa-detail__team-arrow.is-prev .tw2lve-arrow-icon {
    transform: scaleX(-1);
}

@media (max-width: 575px) {
    .tw2lve-villa-detail__team-slider-wrap {
        padding-bottom: 64px;
    }
    .tw2lve-villa-detail__team-arrows {
        gap: 12px;
    }
    .tw2lve-villa-detail__team-arrow {
        width: 40px;
        height: 40px;
    }
}

.tw2lve-villa-detail__team-slider {
	width: 95%;
	margin: 0 auto;
	padding: 34px 60px 0;
	overflow-x: auto;
	scrollbar-width: none;
	-ms-overflow-style: none;
	scroll-snap-type: x mandatory;
}

.tw2lve-villa-detail__team-slider::-webkit-scrollbar {
	display: none;
}

h2.tw2lve-expectation__heading.tw2lve-heading-fadeup.is-visible {
	text-align: left;
}

.tw2lve-villa-detail__team-grid {
	display: flex;
	flex-wrap: nowrap;
	gap: 20px;
	width: 100%;
	padding-left: 0;
}

.tw2lve-villa-detail__team-dots {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	margin-top: 16px;
}

.tw2lve-villa-detail__team-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	border: 0;
	padding: 0;
	background: rgba(255, 255, 255, 0.35);
	transition: transform 0.2s ease, background 0.2s ease;
}

.tw2lve-villa-detail__team-dot.is-active {
	background: #F9D71E;
	transform: scale(1.15);
}

.tw2lve-villa-detail__experience-slider {
	width: 95%;
	margin: 0 auto;
	padding: 34px 60px 0;
	overflow-x: auto;
	scrollbar-width: none;
	-ms-overflow-style: none;
	scroll-snap-type: x mandatory;
}

.tw2lve-villa-detail__experience-slider::-webkit-scrollbar {
	display: none;
}

.tw2lve-villa-detail__experience-slider-wrap {
	position: relative;
	padding-bottom: 80px;
}

@media (max-width: 575px) {
	.tw2lve-villa-detail__experience-slider-wrap {
		padding-bottom: 64px;
	}
}

.tw2lve-villa-detail__experience-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.28);
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
	font-size: 14px;
	line-height: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
}

.tw2lve-villa-detail__experience-arrow {
	display: none;
}

.tw2lve-villa-detail__experience-arrow.is-prev {
	left: 12px;
}

.tw2lve-villa-detail__experience-arrow.is-next {
	right: 12px;
}

.tw2lve-villa-detail__experience-grid {
	display: flex;
	flex-wrap: nowrap;
	gap: 20px;
	width: max-content;
	min-width: 100%;
	padding-left: 50px;
}

.tw2lve-villa-detail__experience-dots,
.tw2lve-villa-detail__team-dots {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	margin-top: 24px;
}

.tw2lve-villa-detail__experience-dot,
.tw2lve-villa-detail__team-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	border: 0;
	padding: 0;
	background: rgba(255, 255, 255, 0.35);
	transition: transform 0.2s ease, background 0.2s ease;
	cursor: pointer;
}

.tw2lve-villa-detail__experience-dot.is-active,
.tw2lve-villa-detail__team-dot.is-active {
	background: #F9D71E;
	transform: scale(1.15);
}

.tw2lve-villa-detail__experience-card {
	flex: 0 0 clamp(260px, 22vw, 380px);
	scroll-snap-align: start;
	min-height: auto;
	padding: 0;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	background: #0f0f0f;
	position: relative;
	overflow: hidden;
	border-radius: 12px;
}

.tw2lve-villa-detail__experience-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	aspect-ratio: 1 / 1;
	background: rgba(0, 0, 0, 0.2);
	pointer-events: none;
	z-index: 1;
}

.tw2lve-villa-detail__team-card {
	flex: 0 0 calc((100% - 80px) / 4.3);
	scroll-snap-align: start;
	height: 471px;
	min-height: 471px;
	border-radius: 12px;
	overflow: hidden;
	padding: 0;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	background: #0f0f0f;
	position: relative;
}

.tw2lve-villa-detail__team-card::before {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.25);
	pointer-events: none;
	z-index: 1;
}

.tw2lve-villa-detail__experience-card img {
	position: relative;
	width: 100%;
	height: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	display: block;
	z-index: 0;
}

.tw2lve-villa-detail__team-card img {
	position: relative;
	width: 100%;
	height: 100%;
	aspect-ratio: auto;
	object-fit: cover;
	display: block;
	z-index: 0;
}

.tw2lve-villa-detail__experience-card h3 {
	position: static;
	z-index: auto;
	margin: 0;
	padding: 16px 18px 18px;
	font-family: 'Nexa', sans-serif;
	font-size: 24px;
	font-weight: 800;
	text-transform: uppercase;
	line-height: 1.25;
	color: #fff;
	background: #000;
}

.tw2lve-villa-detail__team-card h3 {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	margin: 0;
	padding: 14px 16px;
	font-family: 'Nexa', sans-serif;
	font-size: 24px;
	font-weight: 800;
	text-transform: uppercase;
	line-height: 1.25;
	color: #fff;
	background: rgba(0, 0, 0, 0.65);
	width: 90%;
	margin: 0 auto 10px;
	text-align: center;
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 90px;
	border-radius: 12px;
	background: rgba(0, 0, 0, 0.40);
	backdrop-filter: blur(19.10377311706543px);
}

.tw2lve-villa-detail__location-layout {
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
	margin-top: 34px;
	align-items: start;
	padding-bottom: 250px;
}

.tw2lve-villa-detail__location-images {
	display: flex;
	flex-direction: column;
	gap: 16px;
	flex: 0 0 calc(52% - 20px);
	position: relative;
}

.tw2lve-villa-detail__location-copy {
	flex: 0 0 calc(48% - 20px);
}

.tw2lve-villa-detail__location-images img {
	width: 100%;
	height: 558px;
	object-fit: cover;
}

.tw2lve-villa-detail__location-images img.absolute-img-location {
	position: absolute;
	left: 80%;
	top: 78%;
	width: 70%;
	height: 60%;
}

.tw2lve-villa-detail__location-copy p {
	margin: 0 0 16px;
	font-family: 'Nexa', sans-serif;
	font-size: 24px;
	line-height: 1.7;
}

div#lbk-addons-wrap {
	padding-top: 25px;
}

@media (min-width: 1100px) {
	.tw2lve-villa-detail__location-images {
		position: relative;
	}

	.tw2lve-villa-detail__location-images img:first-child {
		margin-left: calc(50% - 50vw);
		width: calc(100% + 50vw - 50%);
		max-width: none;
	}
}

.tw2lve-villa-detail__meta {
	gap: 20px;
	display: flex;
	flex-direction: column;
}

@media (max-width: 1399px) {
	.tw2lve-villa-detail__amenities-panel {
		padding: 32px 24px 24px;
		height: 670px;
	}

	.tw2lve-villa-detail__amenity-item {
		max-width: none;
	}

	.tw2lve-villa-detail__amenity-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}


	.tw2lve-villa-detail__team-card {
		flex-basis: clamp(240px, 30vw, 340px);
	}

	.tw2lve-villa-detail__bedroom-item {
		flex-basis: calc((100% - 18px) / 2);
	}

}

@media (max-width: 991px) {

	.tw2lve-villa-detail__bedrooms,
	.tw2lve-villa-detail__amenities,
	.tw2lve-villa-detail__experience,
	.tw2lve-villa-detail__location,
	.tw2lve-villa-detail__team,
	.tw2lve-villa-detail__testimonials,
	.tw2lve-villa-detail__escape {
		padding-top: 0;
	}

	.tw2lve-villa-detail__amenities-fullwidth {
		padding: 0 40px;
	}

	.tw2lve-villa-detail__amenities-panel {
		padding: 28px 20px 20px;
		height: 670px;
	}

	.tw2lve-villa-detail__amenity-tab {
		min-width: 120px;
/* 		min-height: 30px; */
		padding: 9px 14px;
		font-size: 8px;
	}

	.tw2lve-villa-detail__amenity-item {
		max-width: none;
		padding: 20px;
		min-height: 160px;
		gap: 12px;
	}

	.tw2lve-villa-detail__amenity-item img {
		width: 48px;
		height: 48px;
	}

	.tw2lve-villa-detail__amenity-item p {
		font-size: 18px;
	}

	.tw2lve-villa-detail__amenity-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 12px;
		width: 98%;
	}

	.tw2lve-footer__address {
		font-size: 15px;
		line-height: normal;
	}

	.tw2lve-villa-detail__quick-spec {
		padding: 15px 10px;
		min-height: 150px;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 12px;
	}

	.tw2lve-villa-detail__quick-spec img {
		width: 32px;
		height: 32px;
		margin: 0 auto;
	}

	.tw2lve-villa-detail__quick-spec p {
		font-size: 12px !important;
		text-align: center;
		margin: 0;
		line-height: 1.25;
	}

	.tw2lve-villa-detail__experience-slider {
		padding-left: 40px;
		padding-right: 40px;
	}

	.tw2lve-villa-detail__team-slider {
		padding-left: 40px;
		padding-right: 40px;
	}

	.tw2lve-villa-detail__experience-arrow.is-prev {
		left: 4px;
	}

	.tw2lve-villa-detail__experience-arrow.is-next {
		right: 4px;
	}

	.tw2lve-villa-detail__experience-card {
		flex-basis: clamp(240px, 45vw, 320px);
	}

	.tw2lve-villa-detail__team-card {
		flex-basis: clamp(240px, 45vw, 320px);
	}

	.tw2lve-villa-detail__thumbs {
		--thumbs-visible: 5.5;
	}

	.tw2lve-villa-detail__hero-image-wrap {
		height: 460px;
		min-height: 460px;
	}

	.tw2lve-villa-detail__intro-top {
		flex-direction: column;
		gap: 16px;
		padding: 0;
		padding-bottom: 50px;
	}

	.tw2lve-villa-detail__meta-price {
		gap: 24px;
		flex-wrap: wrap;
	}

	.tw2lve-villa-detail__intro-head,
	.tw2lve-villa-detail__location-layout,
	.tw2lve-villa-detail__escape-layout {
		display: flex;
		flex-direction: column;
	}

	.tw2lve-villa-detail__location-layout {
		padding-bottom: 0;
	}

	.tw2lve-villa-detail__location-copy,
	.tw2lve-villa-detail__escape-copy {
		margin-top: 24px;
		flex-basis: 100%;
	}

	.tw2lve-villa-detail__location-images,
	.tw2lve-villa-detail__escape-images {
		flex-basis: 100%;
		align-items: center;
		justify-content: center;
		margin: 0 auto;
	}

	.tw2lve-villa-detail__location-images>img:not(.absolute-img-location),
	.tw2lve-villa-detail__escape-images>img {
		height: 311px;
	}

	.tw2lve-villa-detail__location-images img.absolute-img-location {
		position: absolute;
		left: 68%;
		top: 60%;
		width: 50%;
		height: 48%;
	}

	.tw2lve-villa-detail__location-copy p,
	.tw2lve-villa-detail__escape-copy p,
	.tw2lve-villa-detail__intro-text,
	.tw2lve-villa-detail__section-copy {
		font-size: 20px;
		line-height: 1.5;
		text-align: center;
	}

	.tw2lve-villa-detail__location h2 {
		text-align: center;
		width: 100% !important;
	}

	.tw2lve-villa-booking__submit {
		height: 42px;
		font-size: 16px;
		padding: 0 30px;
		margin-top: 15px;
	}
}

@media (max-width: 767px) {
	.tw2lve-villa-detail {
		padding-bottom: 80px;
	}


	.tw2lve-villa-booking__submit {
		font-size: 14px;
		line-height: 1.4;
		height: 32px;
		padding: 0 28px;
	}


	.tw2lve-villa-detail__hero {
		padding-top: 0 !important;
	}

	.tw2lve-villa-detail__hero-image-wrap {
		height: 320px;
		min-height: 320px;
	}

	.tw2lve-villa-detail__amenities-fullwidth {
		padding: 0 15px;
	}

	.tw2lve-villa-detail__amenities-panel {
		padding: 30px 10px;
		height: auto !important;
	}

	.tw2lve-villa-detail__amenity-tabs {
		gap: 6px;
		justify-content: center;
		padding: 0 5px 10px;
		margin-bottom: 5px;
		flex-wrap: wrap;
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch;
	}

	.tw2lve-villa-detail__experience-slider,
	.tw2lve-villa-detail__team-slider {
		padding: 26px 20px 0;
	}

	.tw2lve-villa-detail__experience-grid,
	.tw2lve-villa-detail__team-grid {
		gap: 14px;
	}

	.tw2lve-villa-detail__experience-card,
	.tw2lve-villa-detail__team-card {
		flex-basis: calc(100vw - 40px);
	}

	.tw2lve-villa-detail__thumbs {
		--thumbs-visible: 3.5;
		padding-inline: 38px;
	}

	.tw2lve-villa-detail__thumbs-arrow,
	.tw2lve-villa-detail__experience-arrow {
		width: 30px;
		height: 30px;
		font-size: 12px;
	}

	.tw2lve-villa-detail__amenity-tab {
		min-width: 80px;
		flex: 0 0 auto;
		min-height: unset;
		padding: 11px 10px 8px 10px  !important;
		font-size: 9px !important;
		white-space: nowrap;
	}

	.tw2lve-villa-detail__bedroom-item,
	.tw2lve-villa-detail__location-images,
	.tw2lve-villa-detail__location-copy {
		flex-basis: 100%;
		max-width: 100%;
	}

	.tw2lve-villa-detail__amenity-item {
		max-width: none;
		padding: 12px 8px;
		min-height: 110px;
		justify-content: center;
		gap: 5px;
		aspect-ratio: auto;
	}

	.tw2lve-villa-detail__amenity-item img {
		width: 35px;
		height: 35px;
		margin: 0 auto 4px;
		display: block;
	}

	.tw2lve-villa-detail__amenity-grid {
		display: grid !important;
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 8px;
		width: 100% !important;
		margin: 0 !important;
	}

	.tw2lve-villa-detail__location-images img,
	.tw2lve-villa-detail__bedroom-item img {
		height: 260px;
	}

	.tw2lve-villa-detail__amenity-item p,
	.tw2lve-villa-detail__quick-spec p {
		font-size: 11px !important;
		text-align: center;
		line-height: 1.2;
		word-break: break-word;
		margin: 0;
	}

	.tw2lve-villa-detail__quick-spec {
		padding: 15px 8px;
		min-height: 130px;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 10px;
		max-width: 100% !important;
	}

	.tw2lve-villa-detail__quick-spec img {
		width: 30px;
		height: 30px;
		margin: 0 auto;
	}

	.tw2lve-villa-detail__quick-spec p {
		font-size: 11px !important;
		text-align: center;
		margin: 0;
		line-height: 1.2;
		word-break: break-word;
	}

	.tw2lve-villa-detail__location-layout {
		padding: 0 !important;
	}

	.tw2lve-villa-detail__section-kicker {
		font-size: 14px !important;
	}

	section.tw2lve-villa-detail__team h2 {
		width: 100% !important;
		font-size: 35px !important;
	}

	.tw2lve-villa-detail__layout {
		margin: 0;
		font-family: 'Nexa', sans-serif;
		font-size: 16px;
		letter-spacing: unset;
		text-transform: uppercase;
	}
}

/* =========================================================
   CHECKOUT PAGE
   ========================================================= */
.page-template-page-checkout .site-content {
	padding-top: 0;
	padding-bottom: 0;
	background: #000;
}

.tw2lve-checkout {
	background: #000;
	color: #fff;
	padding: 10% 0 6%;
}

.tw2lve-checkout__main {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

.tw2lve-checkout__summary {
	position: sticky;
	top: 100px;
}

.tw2lve-checkout__heading-row {
	display: flex;
	align-items: center;
	gap: 1.6%;
}

.tw2lve-checkout__back {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	background: radial-gradient(circle at 22% 18%, rgb(85 77 77 / 63%) 0%, rgba(255, 255, 255, 0) 100%);
	color: #fff;
	text-decoration: none;
	font-size: 1.2rem;
}

.tw2lve-checkout__card {
	position: relative;
	/* 	padding: clamp(1.8rem, 3vw, 3rem); */
	/* 	background: rgba(0, 0, 0, 0.5); */
	box-sizing: border-box;
	/* 	box-shadow: 0 15px 25px rgba(0, 0, 0, 0.6); */
	/* 	border-radius: 12px; */
	/* 	border: 0.08rem solid rgba(255, 255, 255, 0.1); */
	display: flex;
	flex-direction: column;
}

.tw2lve-checkout__form {
	display: flex;
	flex-direction: column;
}

.tw2lve-checkout__section {
	border-bottom: 0.08rem solid rgba(255, 255, 255, 0.1);
	padding: 2rem 0;
	display: flex;
	flex-direction: column;
	gap: 1.4rem;
}

.tw2lve-checkout__section:first-child {
	padding-top: 0;
}

.tw2lve-checkout__stripe-wrap .tw2lve-checkout__section {
	border-bottom: none;
	padding-bottom: 0;
	padding-top: 30px;
}

.tw2lve-checkout__section-title {
	margin: 0;
	font-family: 'Alta', serif;
	font-size: clamp(2rem, 3vw, 3.3rem);
	font-weight: 400;
	text-transform: uppercase;
	line-height: 1.05;
	text-align: left;
}

.tw2lve-checkout__row {
	display: flex;
	gap: 3%;
	width: 100%;
	align-items: flex-end;
}

.tw2lve-checkout__row--split .tw2lve-checkout__field,
.tw2lve-checkout__row--split .tw2lve-checkout__user-box {
	flex: 0 0 48.5%;
}

.tw2lve-checkout__field {
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
	width: 100%;
	padding-bottom: 0.6rem;
	border-bottom: 0.08rem solid rgba(255, 255, 255, 0.18);
}

.tw2lve-checkout__field span {
	font-family: 'Nexa', sans-serif;
	font-size: clamp(0.95rem, 1.15vw, 1.25rem);
	color: rgba(255, 255, 255, 0.86);
	line-height: 1.4;
}

.tw2lve-checkout__user-box {
	display: flex;
	flex-direction: column;
	gap: 6px;
	width: 100%;
	margin-bottom: 0.6rem;
}

.tw2lve-checkout__user-box input {
	width: 100%;
	padding: 0.6rem 0.35rem;
	font-size: 1rem;
	line-height: 1.4;
	color: #fff;
	margin-bottom: 0;
	border: none;
	border-bottom: 1px solid rgba(255, 255, 255, 0.4);
	outline: none;
	background: transparent;
	font-family: 'Nexa', sans-serif;
	box-sizing: border-box;
}

/* ── Autofill — all states ────────────────────────────────── */
#checkout-form input:-webkit-autofill,
#checkout-form input:-webkit-autofill:hover,
#checkout-form input:-webkit-autofill:focus,
#checkout-form textarea:-webkit-autofill,
#checkout-form textarea:-webkit-autofill:hover,
#checkout-form textarea:-webkit-autofill:focus,
#checkout-form select:-webkit-autofill,
#checkout-form select:-webkit-autofill:hover,
#checkout-form select:-webkit-autofill:focus,
#checkout-form input:-internal-autofill-selected,
#checkout-form textarea:-internal-autofill-selected,
#checkout-form select:-internal-autofill-selected {
	-webkit-text-fill-color: #fff !important;
	color: #fff !important;
	caret-color: #fff !important;
	font-family: 'Nexa', sans-serif !important;
	font-size: 1rem !important;
	padding: 0.6rem 0.35rem !important;
	border: none !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.4) !important;
	background-color: transparent !important;
	-webkit-box-shadow: 0 0 0 1000px #111 inset !important;
	box-shadow: 0 0 0 1000px #111 inset !important;
	transition: background-color 9999s ease-in-out 0s !important;
}


.tw2lve-checkout__user-box input::placeholder {
	color: rgba(255, 255, 255, 0.35);
}

.tw2lve-checkout__floating-label {
	display: block;
	font-size: 11px;
	font-family: 'Nexa', sans-serif;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.55);
	padding-left: 0.35rem;
	line-height: 1;
	order: -1;
}

.tw2lve-checkout__user-box:focus-within .tw2lve-checkout__floating-label {
	color: #F9D71E;
}

.tw2lve-checkout__user-box input:focus {
	border-bottom-color: #F9D71E;
}

/* Per-element autofill overrides */
.tw2lve-checkout__user-box input:-webkit-autofill,
.tw2lve-checkout__user-box input:-webkit-autofill:hover,
.tw2lve-checkout__user-box input:-webkit-autofill:focus,
.tw2lve-checkout__user-box input:-internal-autofill-selected,
.tw2lve-checkout__user-box input:autofill {
	-webkit-text-fill-color: #fff !important;
	caret-color: #fff !important;
	border: none !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.4) !important;
	-webkit-box-shadow: 0 0 0 1000px #111 inset !important;
	box-shadow: 0 0 0 1000px #111 inset !important;
	transition: background-color 9999s ease-in-out 0s !important;
}

.tw2lve-checkout__field input,
.tw2lve-checkout__field select,
.tw2lve-checkout__field textarea {
	border: 0;
	outline: 0;
	background: transparent;
	color: #fff;
	font-family: 'Nexa', sans-serif;
	font-size: clamp(1rem, 1.15vw, 1.35rem);
	padding: 0;
	appearance: none;
}

.tw2lve-checkout__field textarea {
	resize: vertical;
	min-height: 4rem;
}

.tw2lve-checkout__secure-note {
	margin: 0;
	font-family: 'Nexa', sans-serif;
	font-size: clamp(0.9rem, 1vw, 1.1rem);
	line-height: 1.45;
	color: #F9D71E;
	display: flex;
	align-items: center;
	gap: 0.8rem;
}

.tw2lve-checkout__agreement {
	display: flex;
	align-items: flex-start;
	gap: 1%;
	font-family: 'Nexa', sans-serif;
	font-size: clamp(0.9rem, 1vw, 1.08rem);
	line-height: 1.45;
	color: rgba(255, 255, 255, 0.88);
}

.tw2lve-checkout__agreement input {
	margin-top: 0.2rem;
	accent-color: #fff;
	width: 1rem;
	height: 1rem;
	flex-shrink: 0;
}

.tw2lve-checkout__summary {
	flex: 0 0 40%;
	/* 	background: linear-gradient(180deg, rgba(28, 32, 39, 0.72) 0%, rgba(8, 10, 14, 0.95) 100%); */
	/* 	border: 0.08rem solid rgba(255, 255, 255, 0.08); */
	/* 	padding: 20px; */
	position: sticky;
	top: calc(120px + 2%);
	align-self: flex-start;
	display: flex;
	flex-direction: column;
	gap: 1.2rem;
}

.tw2lve-checkout__summary-title {
	margin: 0;
	font-family: 'Alta', serif;
	font-size: clamp(2rem, 2.8vw, 3rem);
	font-weight: 400;
	text-transform: uppercase;
	line-height: 1;
	text-align: center;
}

.tw2lve-checkout__summary-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.9rem;
}

.tw2lve-checkout__summary-box {
	width: 100%;
	border: 0.08rem solid rgba(255, 255, 255, 0.14);
	padding: 15px 20px;
	min-height: unset;
	background: #1a1a1a;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 0.45rem;
}

.tw2lve-checkout__summary-box--date {
	flex-direction: row;
	align-items: center;
	gap: 10%;
}

.tw2lve-checkout__summary-icon {
	width: 1.6rem;
	height: 1.6rem;
	color: #F9D71E;
	flex-shrink: 0;
}

.tw2lve-checkout__summary-icon svg {
	width: 100%;
	height: 100%;
	display: block;
}

.tw2lve-checkout__summary-content {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
}

.tw2lve-checkout__summary-label {
	margin: 0;
	font-size: clamp(0.95rem, 1vw, 1.08rem);
	line-height: 1.3;
	font-family: 'Nexa', sans-serif;
	color: #fff;
	text-shadow: none;
}

.tw2lve-checkout__summary-box input,
.tw2lve-checkout__summary-box select {
	border: 0;
	outline: 0;
	padding: 0;
	background: transparent;
	color: #fff;
	font-family: 'Nexa', sans-serif;
	font-weight: 400;
	line-height: 1.15;
	width: 100%;
}

.tw2lve-checkout__summary-box--date input[type="date"] {
	font-size: clamp(1.1rem, 1.2vw, 1.3rem);
}

.tw2lve-checkout__summary-box--date input[type="date"]::-webkit-calendar-picker-indicator {
	opacity: 0;
	position: absolute;
	right: 0;
	width: 100%;
	cursor: pointer;
}

.tw2lve-checkout__summary-count {
	font-family: 'Nexa', sans-serif;
	font-size: 22px;
	font-weight: 400;
	line-height: 1.15;
}

.tw2lve-checkout__summary-count::-webkit-outer-spin-button,
.tw2lve-checkout__summary-count::-webkit-inner-spin-button {
	opacity: 1;
}

.tw2lve-checkout__addon {
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
	font-family: 'Nexa', sans-serif;
	font-size: clamp(1rem, 1vw, 1.15rem);
}

.tw2lve-checkout__addon select {
	width: 100%;
	border: 0.08rem solid rgba(255, 255, 255, 0.14);
	background-color: #1a1a1a;
	background-image: linear-gradient(45deg, transparent 50%, rgba(255, 255, 255, 0.65) 50%), linear-gradient(135deg, rgba(255, 255, 255, 0.65) 50%, transparent 50%);
	background-position: calc(100% - 1.35rem) 52%, calc(100% - 1rem) 52%;
	background-size: 0.42rem 0.42rem, 0.42rem 0.42rem;
	background-repeat: no-repeat;
	color: #fff;
	padding: 10px 1.2rem;
	font-family: 'Nexa', sans-serif;
	font-size: 25px;
	appearance: none;
}

.tw2lve-checkout__totals {
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
	padding-top: 2%;
	padding-bottom: 2%;
	border-bottom: 0.08rem solid rgba(255, 255, 255, 0.14);
}

.tw2lve-checkout__totals div,
.tw2lve-checkout__total-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 4%;
	font-family: 'Nexa', sans-serif;
}

.tw2lve-checkout__totals span {
	font-size: clamp(1rem, 1.1vw, 1.2rem);
	line-height: 1.35;
	text-shadow: none;
}

.tw2lve-checkout__total-row span {
	font-size: clamp(1.1rem, 1.2vw, 1.4rem);
	line-height: 1.2;
	text-shadow: none;
}

.tw2lve-checkout__total-row strong {
	font-size: clamp(1.1rem, 1.2vw, 1.4rem);
	font-weight: 400;
	line-height: 1;
}

.tw2lve-checkout__pay-btn {
	margin-top: 2%;
	width: 86%;
	align-self: center;
	border: 0;
	border-radius: 999px;
	padding: 4% 6%;
	background: #F9D71E;
	color: #000;
	font-family: 'Nexa', sans-serif;
	font-size: clamp(1.1rem, 1.2vw, 1.4rem);
	font-weight: 700;
	text-transform: capitalize;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.6rem;
	box-shadow: 0 0 1.6rem rgba(249, 215, 30, 0.4);
}

@media (min-width: 768px) {
	.tw2lve-checkout__main {
		flex: 0 0 55% !important;
		max-width: 85% !important;
	}

	.tw2lve-checkout__summary {
		flex: 0 0 45% !important;
		max-width: 45% !important;
	}
}

@media (max-width: 767.98px) {

	.tw2lve-checkout__main,
	.tw2lve-checkout__summary {
		flex: 0 0 100% !important;
		max-width: 100% !important;
	}

	.tw2lve-checkout__summary {
		margin-top: 2rem;
	}
}

@media (max-width: 767px) {
	.tw2lve-checkout {
		padding-top: 24%;
	}

	.tw2lve-checkout__heading-row {
		gap: 3%;
	}

	.tw2lve-checkout__row--split {
		gap: 1rem;
		flex-direction: column;
	}

	.tw2lve-checkout__row--split .tw2lve-checkout__field,
	.tw2lve-checkout__row--split .tw2lve-checkout__user-box {
		flex-basis: 100%;
	}

	.tw2lve-checkout__summary-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.8rem;
	}

	.tw2lve-checkout__pay-btn {
		width: 100%;
	}

	.tw2lve-checkout__main.col-md-6.col-lg-6 {
		width: 95%;
		margin: auto;
		padding-top: 10%;
	}

	aside.tw2lve-checkout__summary.col-md-6.col-lg-6 {
		width: 95% !important;
		margin: auto;
		max-width: 100% !important;
		margin-top: 5%;
	}

}

/* =========================================================
   VILLA BOOKING WIDGET (single-villa.php)
   ========================================================= */
.tw2lve-villa-booking {
	background: #000;
	border: 1px solid #f9d71e;
	border-radius: 12px;
	padding: 50px 40px;
	width: 100%;
	box-sizing: border-box;
}

.tw2lve-villa-booking__design-title {
	font-family: 'Alta', serif;
	font-size: 45px;
	color: #fff;
	text-align: center;
	margin-bottom: 20px;
	line-height: 55px;
	text-transform: uppercase;
}

.tw2lve-villa-booking__form {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.tw2lve-villa-booking__fields {
	display: flex;
	flex-direction: column;
	gap: 30px;
}

.tw2lve-villa-booking__row--dates-wrapper {
	position: relative;
	width: 100%;
}

#datetimes {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	z-index: 20;
	cursor: pointer;
	border: none;
	padding: 0;
	background: transparent;
}

.tw2lve-villa-booking__row--split {
	display: flex;
	gap: 20px;
	width: 100%;
}

/* Hide conflicting duplicate inputs */
.flatpickr-input:not(#datetimes) {
	display: none !important;
}

/* Flatpickr Dark Theme Overrides */
.flatpickr-calendar {
	background: #1a1a1a !important;
	border: 1px solid #3b3b3b !important;
	box-shadow: 0 15px 45px rgba(0, 0, 0, 0.6) !important;
	font-family: 'Nexa', sans-serif !important;
	color: #fff !important;
}


.flatpickr-calendar.arrowTop:before,
.flatpickr-calendar.arrowTop:after {
	border-bottom-color: #3b3b3b !important;
}

.flatpickr-current-month,
.flatpickr-month {
	color: #fff !important;
	fill: #fff !important;
}

.flatpickr-weekday {
	color: rgba(255, 255, 255, 0.5) !important;
}

.flatpickr-day {
	color: #fff !important;
}

.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover {
	color: rgba(255, 255, 255, 0.15) !important;
	text-decoration: none !important;
}

.flatpickr-day:hover,
.flatpickr-day.prevMonthDay:hover,
.flatpickr-day.nextMonthDay:hover {
	background: #3b3b3b !important;
	border-color: #3b3b3b !important;
	color: #fff !important;
}

.flatpickr-day.today {
	border-color: #f9d71e !important;
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange {
	background: #f9d71e !important;
	border-color: #f9d71e !important;
	color: #000 !important;
}

.flatpickr-day.inRange {
	background: rgba(249, 215, 30, 0.2) !important;
	border-color: transparent !important;
	box-shadow: -5px 0 0 rgba(249, 215, 30, 0.2), 5px 0 0 rgba(249, 215, 30, 0.2) !important;
}

.flatpickr-months .flatpickr-prev-month svg path,
.flatpickr-months .flatpickr-next-month svg path {
	fill: #f9d71e !important;
}

.flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-months .flatpickr-next-month:hover svg {
	fill: #f9d71e !important;
}

.tw2lve-villa-booking__field {
	flex: 1 1 50%;
	display: flex;
	flex-direction: column;
	gap: 10px;
	min-width: 0;
}

.tw2lve-villa-booking__field label {
	font-family: 'Nexa', sans-serif;
	font-size: 16px;
	color: #fff;
	margin-bottom: 0;
}

.tw2lve-villa-booking__input-pill {
	background: #1a1a1a;
	border: 1px solid #3b3b3b;
	height: 55px;
	border-radius: 100px;
	padding: 0 21px;
	display: flex;
	align-items: center;
	gap: 20px;
}

.tw2lve-villa-booking__input-pill svg.pill-icon {
	width: 25px;
	height: 25px;
	flex-shrink: 0;
}

.tw2lve-villa-booking__input-pill .date-display {
	color: #fff;
	font-family: 'Nexa', sans-serif;
	font-size: 18px;
	width: 100%;
}

.tw2lve-villa-booking__input-pill input {
	background: transparent;
	border: none;
	color: #fff;
	font-family: 'Nexa', sans-serif;
	font-size: 18px;
	width: 100%;
	outline: none;
	padding: 0;
	cursor: pointer;
}

.tw2lve-villa-booking__input-pill input::placeholder {
	color: #fff;
}

/* Guest Selector CSS */
.tw2lve-villa-booking__input-pill--guests {
	justify-content: space-between;
}

.tw2lve-villa-booking__input-pill--guests button.guest-btn {
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.tw2lve-villa-booking__input-pill--guests input#guests-display {
	width: auto;
	text-align: center;
	font-family: 'Nexa', sans-serif;
	font-size: 18px;
	color: #fff;
	flex: 1;
}

/* Add Ons field wrapper — matches .tw2lve-villa-booking__field */
#lbk-addons-wrap {
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: 100%;
}

.lbk-addons-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding-right: 5px;
}

.lbk-addons-heading {
	font-family: 'Nexa', sans-serif;
	font-size: 16px;
	color: #fff;
	margin: 0;
	padding: 0;
}

.lbk-addons-clear {
	background: transparent;
	border: 1px solid rgba(249, 215, 30, 0.4);
	border-radius: 100px;
	color: #f9d71e;
	font-family: 'Nexa', sans-serif;
	font-size: 12px;
	padding: 3px 12px;
	cursor: pointer;
	transition: background 0.2s, color 0.2s;
	line-height: 1.4;
}

.lbk-addons-clear:hover {
	background: rgba(249, 215, 30, 0.15);
	color: #fff;
}

/* Select2 Custom Styles */
form#villa-booking-form .select2-container {
	width: 100% !important;
}

form#villa-booking-form .select2-container--default .select2-selection--multiple {
	background-color: #1a1a1a;
	border: 1px solid #3b3b3b;
	border-radius: 100px;
	min-height: 55px;
	padding: 8px 21px;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
	cursor: pointer;
	box-sizing: border-box;
}

form#villa-booking-form .select2-container--default.select2-container--focus .select2-selection--multiple {
	border: 1px solid rgba(249, 215, 30, 0.3);
	outline: 0;
	background-color: #1a1a1a;
}

form#villa-booking-form .select2-container--default .select2-selection--multiple .select2-selection__rendered {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	padding: 0;
	margin: 0;
}

form#villa-booking-form .select2-container--default .select2-selection--multiple .select2-selection__choice {
	background-color: rgba(249, 215, 30, 0.15);
	border: 1px solid rgba(249, 215, 30, 0.4);
	border-radius: 100px;
	color: #fff;
	font-family: 'Nexa', sans-serif;
	font-size: 14px;
	padding: 3px 10px 3px 28px;
	margin: 0;
	position: relative;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 100%;
}

form#villa-booking-form .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
	color: #f9d71e;
	position: absolute;
	left: 8px;
	top: 50%;
	transform: translateY(-50%);
}

form#villa-booking-form .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
	color: #fff;
	background: transparent;
}

form#villa-booking-form .select2-search--inline {
	display: flex;
	align-items: center;
	flex: 1;
	min-width: 120px;
}

form#villa-booking-form .select2-search--inline .select2-search__field {
	background: transparent;
	border: none;
	color: #fff;
	font-family: 'Nexa', sans-serif;
	font-size: 15px;
	outline: none;
	padding: 0;
	margin: 0;
	width: 100% !important;
}

form#villa-booking-form .select2-search--inline .select2-search__field::placeholder {
	color: #fff;
}

form#villa-booking-form .select2-results__option--selected {
	display: none;
}

form#villa-booking-form span.select2-dropdown.select2-dropdown--below {
	border-radius: 0 !important;
}

/* Select2 Dropdown */
form#villa-booking-form+.select2-container .select2-dropdown,
.select2-dropdown {
	background-color: #1a1a1a;
	border: 1px solid #3b3b3b;
	border-radius: 12px;
	overflow: hidden;
}

form#villa-booking-form .select2-container--default .select2-results__option {
	color: #fff;
	font-family: 'Nexa', sans-serif;
	font-size: 16px;
	padding: 10px 21px;
}

form#villa-booking-form .select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
	background-color: rgba(249, 215, 30, 0.15);
	color: #ffffff;
}

form#villa-booking-form .select2-container--default .select2-results__option--selected {
	background-color: rgba(249, 215, 30, 0.08);
}

.tw2lve-villa-booking__submit {
	background: #f9d71e;
	border: none;
	border-radius: 100px;
	height: auto;
	width: fit-content;
	padding: 25px 50px;
	margin: 10px auto 0;
	font-family: 'Nexa', sans-serif;
	font-size: 24px;
	color: #000;
	text-transform: uppercase;
	font-weight: 700;
	line-height: 24px;
	letter-spacing: 0.576px;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	line-height : 1 ;
	cursor: pointer;
	box-shadow: 0px 0px 25px 0px rgba(198, 167, 94, 0.3), 0px 0px 50px 0px rgba(198, 167, 94, 0.15);
	transition: transform 0.2s, background 0.3s;
}

.lbk-unavailable {
	text-decoration: line-through !important;
	color: #ffffff !important;
	background-color: #000000;
	cursor: not-allowed !important;
	position: relative;
	z-index: 1;
	border-radius: 20px;
}

.tw2lve-villa-booking__price-preview {
	margin: 25px 0;
	padding: 20px;
	background: rgba(255, 255, 255, 0.05);
	border-radius: 15px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	font-family: 'Nexa', sans-serif !important;
}

.tw2lve-villa-booking__price-preview span,
.tw2lve-villa-booking__price-preview strong,
.tw2lve-villa-booking__price-preview div {
	font-family: 'Nexa', sans-serif !important;
}

.lbk-price-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 12px;
	font-family: 'Nexa', sans-serif;
	font-size: 16px;
	color: #fff;
}

.lbk-price-row:last-child {
	margin-bottom: 0;
}

.lbk-price-label {
	color: rgba(255, 255, 255, 0.7);
}

.lbk-price-value {
	font-weight: 700;
}

.lbk-price-row--total {
	margin-top: 15px;
	padding-top: 15px;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.lbk-price-row--total .lbk-price-label {
	color: #fff;
	font-size: 18px;
	font-weight: 700;
}

.lbk-price-row--total .lbk-price-value {
	font-size: 24px;
	color: #f9d71e;
}

/* ── Pricing preview skeleton (active during AJAX) ───────── */
.tw2lve-villa-booking__price-preview.is-loading .lbk-price-row {
	color: transparent;
}
.tw2lve-villa-booking__price-preview.is-loading .lbk-price-label,
.tw2lve-villa-booking__price-preview.is-loading .lbk-price-value {
	color: transparent !important;
	background: linear-gradient(
		90deg,
		rgba(255, 255, 255, 0.06)  0%,
		rgba(249, 215, 30, 0.18)  50%,
		rgba(255, 255, 255, 0.06) 100%
	);
	background-size: 200% 100%;
	border-radius: 6px;
	animation: lbkShimmer 1.2s ease-in-out infinite;
	display: inline-block;
	min-width: 60px;
	height: 18px;
	line-height: 18px;
}
.tw2lve-villa-booking__price-preview.is-loading .lbk-price-row--total .lbk-price-value {
	height: 26px;
	line-height: 26px;
	min-width: 80px;
}
.tw2lve-villa-booking__price-preview.is-loading #lbk-unavailable-msg {
	display: none !important;
}
@keyframes lbkShimmer {
	0%   { background-position: 100% 0; }
	100% { background-position: -100% 0; }
}

.tw2lve-villa-booking__submit:hover {
	transform: scale(1.02);
	background: #fbdc4e;
}

.tw2lve-villa-booking__submit .tw2lve-arrow-icon {
	width: 15px;
	height: 11px;
	flex-shrink: 0;
	transition: transform 0.2s ease;
}

.tw2lve-villa-booking__submit:hover .tw2lve-arrow-icon {
	transform: translateX(3px);
}

span.flatpickr-day.flatpickr-disabled {
	text-decoration: none !important;
}

@media (max-width: 991px) {
	.tw2lve-villa-booking {
		padding: 40px 24px;
	}
}

@media (max-width: 767px) {
	.tw2lve-villa-booking {
		padding: 30px 20px;
	}

	.tw2lve-villa-booking__design-title {
		font-size: 35px !important;
		line-height: 40px !important;
		text-align: center;
		margin-bottom: 25px;
	}

	.tw2lve-villa-booking__row--split {
		flex-direction: column;
		gap: 15px;
	}

	.tw2lve-villa-booking__field {
		gap: 6px;
	}

	.tw2lve-villa-booking__field label {
		font-size: 14px;
	}

	.tw2lve-villa-booking__input-pill {
		height: 50px;
		padding: 0 16px;
		gap: 12px;
	}

	.tw2lve-villa-booking__input-pill svg.pill-icon {
		width: 20px;
		height: 20px;
	}

	.tw2lve-villa-booking__input-pill .date-display,
	.tw2lve-villa-booking__input-pill--guests input#guests-display {
		font-size: 15px;
	}

	.tw2lve-villa-booking__input-pill--guests button.guest-btn svg {
		width: 28px;
		height: 28px;
	}

	.tw2lve-villa-booking__submit {
		height: auto;
		min-height: 38px;
		width: 100%;
		font-size: 14px;
		max-width: 320px;
		margin: 20px auto 0;
		font-size: 14px;
		line-height: 1.4;
		padding: 12px 20px;
		white-space: nowrap;
	}

	.tw2lve-villa-booking__submit .tw2lve-arrow-icon {
		width: 13px;
		height: 9px;
	}

	.tw2lve-villa-detail__quick-spec {
		max-width: 100% !important;
	}
}

@media (max-width: 767px) {
	.tw2lve-villa-booking__design-title {
		font-size: 29px !important;
	}
}

/* =========================================================
   CHECKOUT PAGE — supplementary styles for session-driven UI
   ========================================================= */
.tw2lve-checkout__no-session {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 20px;
	padding: 40px 0;
}

.tw2lve-checkout__summary-villa {
	font-family: 'Alta', serif;
	font-size: 1.1rem;
	font-weight: 600;
	margin: 0 0 12px;
}

.tw2lve-checkout__field em {
	color: #c0392b;
	font-style: normal;
}

.tw2lve-checkout__floating-label em {
	color: #c0392b;
	font-style: normal;
}

/* =========================================================
   BOOKING CONFIRMATION PAGE
   ========================================================= */
body.page-template-page-booking-confirmation,
.page-template-page-booking-confirmation .site-content {
	background: #000;
}

.page-template-page-booking-confirmation .site-content {
	padding-top: 70px;
	padding-bottom: 70px;
}

.tw2lve-confirm-page-content {
	background: #000;
	color: #fff;
	padding: 5% 4% 8%;
}

.tw2lve-confirm-page-content__inner {
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
}

/* ── Hero block ──────────────────────────────────────────── */
.tw2lve-confirm__hero {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.2rem;
	text-align: center;
}

.tw2lve-confirm__check {
	width: 2.4rem;
	height: 2.4rem;
}

.tw2lve-confirm__check svg {
	width: 100%;
	height: 100%;
	display: block;
}

.tw2lve-confirm__title {
	margin: 0;
	font-family: 'Alta', serif;
	font-size: clamp(2.8rem, 5vw, 5rem);
	font-weight: 400;
	text-transform: uppercase;
	line-height: 1;
	letter-spacing: 0.04em;
}

.tw2lve-confirm__subtitle {
	margin: 0;
	font-family: 'Nexa', sans-serif;
	font-size: clamp(1rem, 1.3vw, 1.25rem);
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.82);
	max-width: 540px;
}

.tw2lve-confirm__ref {
	margin: 0;
	font-family: 'Nexa', sans-serif;
	font-size: clamp(0.9rem, 1.1vw, 1.1rem);
	color: rgba(255, 255, 255, 0.55);
}

.tw2lve-confirm__ref strong {
	color: #F9D71E;
	font-weight: 600;
}

/* ── Booking meta strip ──────────────────────────────────── */
.tw2lve-confirm__meta {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0;
	border: 0.08rem solid rgba(255, 255, 255, 0.12);
}

.tw2lve-confirm__meta-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.3rem;
	padding: 1rem 1.8rem;
	border-right: 0.08rem solid rgba(255, 255, 255, 0.12);
	flex: 1 1 auto;
	text-align: center;
}

.tw2lve-confirm__meta-item:last-child {
	border-right: none;
}

.tw2lve-confirm__meta-label {
	font-family: 'Nexa', sans-serif;
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: rgba(255, 255, 255, 0.45);
}

.tw2lve-confirm__meta-item strong {
	font-family: 'Nexa', sans-serif;
	font-size: clamp(0.9rem, 1.05vw, 1.05rem);
	font-weight: 600;
	color: #fff;
	white-space: nowrap;
}

/* ── Details card ────────────────────────────────────────── */
.tw2lve-confirm__card {
	background: linear-gradient(180deg, rgba(28, 32, 39, 0.72) 0%, rgba(8, 10, 14, 0.95) 100%);
	border: 0.08rem solid rgba(255, 255, 255, 0.08);
	padding: 2rem 2.5rem;
	display: flex;
	flex-direction: column;
	gap: 1.6rem;
}

.tw2lve-confirm__villa-name {
	margin: 0;
	font-family: 'Alta', serif;
	font-size: clamp(1.4rem, 2.2vw, 2rem);
	font-weight: 400;
	text-transform: uppercase;
	line-height: 1.1;
	color: #fff;
}

/* Date / guest grid */
.tw2lve-confirm__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
	gap: 0.8rem;
}

.tw2lve-confirm__cell {
	background: #1a1a1a;
	border: 0.08rem solid rgba(255, 255, 255, 0.1);
	padding: 1rem 1.2rem;
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
}

.tw2lve-confirm__cell-label {
	font-family: 'Nexa', sans-serif;
	font-size: 0.82rem;
	color: rgba(255, 255, 255, 0.52);
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.tw2lve-confirm__cell strong {
	font-family: 'Nexa', sans-serif;
	font-size: clamp(0.95rem, 1.1vw, 1.15rem);
	font-weight: 600;
	color: #fff;
}

/* Pricing breakdown */
.tw2lve-confirm__totals {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	padding-top: 0.5rem;
	border-top: 0.08rem solid rgba(255, 255, 255, 0.1);
}

.tw2lve-confirm__line {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-family: 'Nexa', sans-serif;
	font-size: clamp(0.9rem, 1vw, 1.05rem);
	color: rgba(255, 255, 255, 0.76);
}

.tw2lve-confirm__total {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 0.4rem;
	padding-top: 0.8rem;
	border-top: 0.08rem solid rgba(255, 255, 255, 0.16);
	font-family: 'Nexa', sans-serif;
	font-size: clamp(1rem, 1.2vw, 1.2rem);
	color: #fff;
}

.tw2lve-confirm__total strong {
	font-size: clamp(1.1rem, 1.4vw, 1.4rem);
	font-weight: 700;
	color: #F9D71E;
}

/* Guest info */
.tw2lve-confirm__guest {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	padding-top: 0.5rem;
	border-top: 0.08rem solid rgba(255, 255, 255, 0.1);
}

.tw2lve-confirm__guest p {
	margin: 0;
	font-family: 'Nexa', sans-serif;
	font-size: clamp(0.9rem, 1vw, 1.05rem);
	color: rgba(255, 255, 255, 0.76);
}

.tw2lve-confirm__guest span {
	color: rgba(255, 255, 255, 0.45);
	margin-right: 0.5rem;
	font-size: 0.85em;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

/* ── What happens next ───────────────────────────────────── */
.tw2lve-confirm__next {
	border-top: 0.08rem solid rgba(255, 255, 255, 0.1);
	padding-top: 1.5rem;
}

.tw2lve-confirm__next-title {
	margin: 0 0 1rem;
	font-family: 'Alta', serif;
	font-size: clamp(1.4rem, 2vw, 2rem);
	font-weight: 400;
	text-transform: uppercase;
	line-height: 1.1;
}

.tw2lve-confirm__steps {
	padding: 0 0 0 1.4rem;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 0.7rem;
}

.tw2lve-confirm__steps li {
	font-family: 'Nexa', sans-serif;
	font-size: clamp(0.95rem, 1.1vw, 1.1rem);
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.78);
}

.tw2lve-confirm__steps li::marker {
	color: #F9D71E;
}

/* ── CTAs ────────────────────────────────────────────────── */
.tw2lve-confirm__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	justify-content: center;
}

.tw2lve-confirm__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.85rem 2.4rem;
	font-family: 'Nexa', sans-serif;
	font-size: clamp(0.95rem, 1.1vw, 1.1rem);
	letter-spacing: 0.04em;
	text-decoration: none;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
	cursor: pointer;
}

.tw2lve-confirm__btn--primary {
	background: #F9D71E;
	color: #000;
	border: 0.1rem solid #F9D71E;
}

.tw2lve-confirm__btn--primary:hover {
	background: #fff;
	border-color: #fff;
	color: #000;
}

.tw2lve-confirm__btn--ghost {
	background: transparent;
	color: #fff;
	border: 0.1rem solid rgba(255, 255, 255, 0.35);
}

.tw2lve-confirm__btn--ghost:hover {
	border-color: #fff;
	color: #fff;
}


/* Retreat Info Section Styles */
.retreat-info-section {
	background: #000;
}

.retreat-info-section {
	background: #000;
}


.retreat-info-content .retreat-info-subheading {
	color: #f9d71e;
	font-family: 'Nexa', sans-serif;
	text-transform: uppercase;
	margin-bottom: 8px;
}

.retreat-info-content .retreat-info-heading {
	color: #fff;
	font-family: 'Alta', sans-serif;
	margin-bottom: 16px;
}

.retreat-info-content .retreat-info-desc {
	color: #fff;
	font-family: 'Nexa', sans-serif;
	margin-bottom: 24px;
}

.retreat-info-image img {
	width: 100%;
	object-fit: cover;
}


/* Retreats Why Choose Section Styles
-------------------------------------------------- */
.retreats-whychoose-section {
	background: #000;
	color: #fff;
}

.container-tw2lve.retreats-whychoose-header {
	display: flex;
	flex-direction: column;
}

.retreats-whychoose-heading {
	font-family: 'Alta', serif;
	text-align: center;
	margin-bottom: 48px;
	letter-spacing: 0.04em;
	font-weight: 400;
}


.retreats-whychoose-card {
	background: #232323;
	border-radius: 12px;
	padding: 32px 20px 24px 20px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-height: 140px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.10);
	transition: box-shadow 0.2s;
	border-radius: 11.462px;
	background: rgba(255, 255, 255, 0.10);
	backdrop-filter: blur(19.10377311706543px);
}

.retreats-whychoose-icon {
	display: block;
	margin-bottom: 18px;
	height: 65px;
	width: 65px;
}

.retreats-whychoose-icon img {
	display: block;
	width: 65px;
	height: 65px;
	object-fit: contain;
}

.retreats-whychoose-text {
	font-family: 'Nexa', sans-serif;
	font-size: 20px;
	line-height: 36px;
	color: #fff;
	line-height: 1.4;
}

.retreats-whychoose-cta-wrap {
	display: flex;
	justify-content: center;
}

.retreats-whychoose-cta {
	font-family: 'Nexa', sans-serif;
	font-size: 18px;
	color: #fff;
	border: 1.5px solid #fff;
	border-radius: 100px;
	padding: 16px 38px;
	background: transparent;
	margin-top: 16px;
	text-align: center;
	transition: background 0.2s, color 0.2s;
}

.retreats-whychoose-cta:hover {
	background: #fff;
	color: #111;
}

@media (max-width: 991px) {

	.retreats-whychoose-heading {
		font-size: 28px;
		margin-bottom: 32px;
	}
}

@media (max-width: 600px) {

	.retreats-whychoose-card {
		padding: 22px 12px 16px 12px;
		display: flex;
		align-items: center;
	}

	.retreats-whychoose-cta {
		font-size: 12px;
		padding: 8px 26px;
	}

	.retreats-whychoose-text {
		text-align: center
	}

}


/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 768px) {
	.tw2lve-confirm-page-content {
		padding: 10% 5% 14%;
	}

	.tw2lve-confirm__card {
		grid-template-columns: 1fr;
	}

	.tw2lve-confirm__card-col--pricing {
		border-left: none;
		border-top: 0.08rem solid rgba(255, 255, 255, 0.1);
	}

	.tw2lve-confirm__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.tw2lve-confirm__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.tw2lve-confirm__btn {
		text-align: center;
	}

	.tw2lve-confirm__meta-item {
		flex: 1 1 calc(50% - 0.08rem);
		padding: 0.8rem 1rem;
	}

	.tw2lve-confirm__meta-item:nth-child(even) {
		border-right: none;
	}

	.tw2lve-confirm__meta-item:nth-child(odd):not(:last-child) {
		border-bottom: 0.08rem solid rgba(255, 255, 255, 0.12);
	}

	.tw2lve-confirm__meta-item:nth-child(even):not(:last-child) {
		border-bottom: 0.08rem solid rgba(255, 255, 255, 0.12);
	}
}

/* ==========================================================================
   Global Scrollbar — Yellow & Black
   ========================================================================== */

/* Firefox */
* {
	scrollbar-width: thin;
	scrollbar-color: #F9D71E #111111;
}

/* Webkit (Chrome, Edge, Safari) */
::-webkit-scrollbar {
	width: 6px;
	height: 6px;
}

::-webkit-scrollbar-track {
	background: #111111;
}

::-webkit-scrollbar-thumb {
	background: #F9D71E;
	border-radius: 3px;
}

::-webkit-scrollbar-thumb:hover {
	background: #ffe94d;
}

::-webkit-scrollbar-corner {
	background: #111111;
}

/* desktop  */

h2.tw2lve-about__heading.twelve-1227-h2,
h2.tw2lve-villas__heading.twelve-1227-h2,
h2.tw2lve-experiences__heading.twelve-1227-h2,
h2.section-host-retreat__heading,
h2.tw2lve-collections__heading,
h2.tw2lve-reviews__heading.twelve-1227-h2.tw2lve-heading-fadeup.is-visible,
h2.tw2lve-expectation__heading.twelve-1227-h2.tw2lve-heading-fadeup.is-visible {
	font-size: 100px;
}

.twelve-1227-p {
	font-size: 1.4rem;
	opacity: 1
}
.twelve-1227-p p{
	font-size: 1.4rem;
	opacity: 1;
	line-height: 1.5;
}

p.tw2lve-review-card__text.twelve-1227-p {
	font-size: 16px !important;
}

p.tw2lve-review-card__date.twelve-1227-p {
	font-size: 15px !important;
}

h3.tw2lve-review-card__name {
	font-size: 18px !important;
}

h2.tw2lve-villas__heading.twelve-1227-h2.tw2lve-heading-fadeup.is-visible br {
	display: none;
}

.tw2lve-experiences__arrow:hover {
	/* 	transform: translateY(-90%) scale(1.06); */
}


/* =========================================================
   HOST RETREAT SECTION
   ========================================================= */
.section-host-retreat {
	background-color: #000;
	color: #fff;
	overflow: hidden;
}

.section-host-retreat__container {
	position: relative;
	z-index: 2;
}

.section-host-retreat__label {
	display: block;
	color: #C69A27;
	font-size: 24px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	margin-bottom: 1.5rem;
	font-family: 'Nexa', sans-serif;
	opacity: 1
}

.section-host-retreat__heading {
	margin-bottom: 0rem;
	font-family: 'Alta', serif;
}

.section-host-retreat__description {
	margin-bottom: 2.5rem;
	color: rgba(255, 255, 255, 0.8);
	max-width: 94%;
}

.section-host-retreat__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	width: fit-content;
	min-height: 55px;
	padding: 10px 35px;
	border-radius: 100px;
	border: 1px solid #fff;
	background: transparent;
	color: #fff;
	font-family: 'Nexa', sans-serif;
	font-size: 14px;
	text-transform: uppercase;
	text-decoration: none;
	letter-spacing: 1px;
	transition: all 0.3s ease;
	font-weight: 700;
}

.section-host-retreat__cta .arrow {
	font-size: 18px;
	transition: transform 0.3s ease;
}

/* .section-host-retreat__cta:hover {
	background-color: #ffc107;
	color: #000;
	border-color: #ffc107;
} */

.section-host-retreat__cta .arrow svg path {
	stroke: white;
	transition: stroke 0.3s ease;
}

.section-host-retreat__cta:hover .arrow svg path {
	stroke: #000;
}

.section-host-retreat__cta:hover .arrow {
	/* 	transform: translateX(5px); */
}

.section-host-retreat {
	background-color: #000;
	color: #fff;
	overflow: hidden;
	position: relative;
	padding: 100px 0;
}

.section-host-retreat__container {
	position: relative;
	z-index: 2;
}

/* Image Side Layout (Bleeds to edge) */
.section-host-retreat__image-side {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 47%;
	z-index: 1;
}

.section-host-retreat__image-side img {
	width: 100%;
	object-fit: cover;
	display: block;
}

h2.tw2lve-collections__heading.twelve-1227-h2.tw2lve-heading-fadeup.is-visible br {
	display: none;
}

.tw2lve-expectation__img-single {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	padding-top: 10%;
}

@media (max-width: 1200px) {
	.twelve-1227-p {
		font-size: 1.0625rem;
	}
}

@media (max-width: 991px) {
	.section-host-retreat {
		padding: 60px 0;
		display: flex;
		flex-direction: column;
	}

	.section-host-retreat__container {
		order: 2;
	}

	.section-host-retreat__image-side {
		position: static;
		width: 90%;
		height: 400px;
		order: 1;
		margin: 0 auto 40px;
	}

	.section-host-retreat__content {
		text-align: center;
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	.section-host-retreat__description {
		max-width: 100%;
	}

	.section-host-retreat__cta-wrap {
		display: flex;
		justify-content: center;
	}
}

@media (min-width: 992px) {
	.section-host-retreat {
		padding: 160px 0;
	}

	/* ── 55 / 45 column split (lg+) ─────────────────────── */

	.row>.tw2lve-about-experience__col-content {
		flex: 0 0 auto;
		width: 55%;
	}

	.row>.tw2lve-about-experience__col-image {
		flex: 0 0 auto;
		width: 45%;
	}



}

/* Large laptops 1600–1919 */
@media (min-width: 1600px) and (max-width: 1919px) {

	h2.tw2lve-about__heading.twelve-1227-h2,
	h2.tw2lve-villas__heading.twelve-1227-h2,
	h2.tw2lve-experiences__heading.twelve-1227-h2,
	h2.section-host-retreat__heading,
	h2.tw2lve-collections__heading,
	h2.tw2lve-reviews__heading.twelve-1227-h2.tw2lve-heading-fadeup.is-visible,
	h2.tw2lve-expectation__heading.twelve-1227-h2.tw2lve-heading-fadeup.is-visible {
		font-size: 75px;
	}
}

/* Standard laptops 1440–1599 */
@media (min-width: 1440px) and (max-width: 1599px) {

	h2.tw2lve-about__heading.twelve-1227-h2,
	h2.tw2lve-villas__heading.twelve-1227-h2,
	h2.tw2lve-experiences__heading.twelve-1227-h2,
	h2.section-host-retreat__heading,
	h2.tw2lve-collections__heading,
	h2.tw2lve-reviews__heading.twelve-1227-h2.tw2lve-heading-fadeup.is-visible,
	h2.tw2lve-expectation__heading.twelve-1227-h2.tw2lve-heading-fadeup.is-visible {
		font-size: 65px;
	}
}

/* Medium laptops */
@media (min-width: 1280px) and (max-width: 1439px) {

	h2.tw2lve-about__heading.twelve-1227-h2,
	h2.tw2lve-villas__heading.twelve-1227-h2,
	h2.tw2lve-experiences__heading.twelve-1227-h2,
	h2.section-host-retreat__heading,
	h2.tw2lve-collections__heading,
	h2.tw2lve-reviews__heading.twelve-1227-h2.tw2lve-heading-fadeup.is-visible,
	h2.tw2lve-expectation__heading.twelve-1227-h2.tw2lve-heading-fadeup.is-visible {
		font-size: 47px !important;
	}
}

.tw2lve-footer__meta-row {
	flex-direction: row;
}

/* Width constraint for Reviews heading on all desktops >= 1024px */
@media (min-width: 1024px) {
	h2.tw2lve-reviews__heading.twelve-1227-h2 {
		width: 65% !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}


}

/* Small laptops */
@media (min-width: 1024px) and (max-width: 1279px) {

	h2.tw2lve-about__heading.twelve-1227-h2,
	h2.tw2lve-villas__heading.twelve-1227-h2,
	h2.tw2lve-experiences__heading.twelve-1227-h2,
	h2.section-host-retreat__heading,
	h2.tw2lve-collections__heading,
	h2.tw2lve-reviews__heading.twelve-1227-h2.tw2lve-heading-fadeup.is-visible,
	h2.tw2lve-expectation__heading.twelve-1227-h2.tw2lve-heading-fadeup.is-visible {
		font-size: 2.7rem !important;
	}
}

/* Background image slider inside the vertical slider */
.tw2lve-vslider__slide {
	position: relative;
	overflow: hidden;
}

.tw2lve-vslider__bgs {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
	/* Behind the content panel */
}

/* Ensure the slick list and slider inside also take full height */
.tw2lve-vslider__bgs .slick-list,
.tw2lve-vslider__bgs .slick-track,
.tw2lve-vslider__bgs .slick-slide {
	height: 100%;
}

.tw2lve-vslider__bg-item {
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

/* Fix for single images to ensure they don't break */
.tw2lve-vslider__bgs--single .tw2lve-vslider__bg-item {
	display: block !important;
	height: 100% !important;
}

/* Position dots inside the background slider, or outside if preferred.
   Vertical slider already has navigation on the right */
.tw2lve-vslider__bgs .slick-dots {
	position: absolute;
	bottom: 30px;
	width: 100%;
	text-align: center;
	z-index: 10;
}

.tw2lve-vslider__bgs .slick-dots li {
	display: inline-block;
	margin: 0 5px;
}

.tw2lve-vslider__bgs .slick-dots li button {
	font-size: 0;
	width: 12px;
	height: 12px;
	background: rgba(255, 255, 255, 0.5);
	border-radius: 50%;
	border: 1px solid #fff;
	padding: 0;
	cursor: pointer;
}

.tw2lve-vslider__bgs .slick-dots li.slick-active button {
	background: #fff;
}

/* =========================================================
   LAPTOP RESPONSIVE — 1200px to 1919px
   Reduces fonts, heights, spacing for all laptop screens.
   Ordered large → small so smaller breakpoints win.
   ========================================================= */

/* ── 1600px–1919px: Large laptop ──────────────────────── */
@media (max-width: 1919px) and (min-width: 1600px) {

	/* Navbar */
	.site-navbar {
		padding-top: 0.875rem;
		padding-bottom: 0.875rem;
	}

	.site-navbar .navbar-nav {
		gap: 48px;
	}

	.navbar-tel,
	a.custom-logo-link {
		flex: 0 0 160px;
		width: 160px;
	}

	/* Hero */
	.tw2lve-hero__sub {
		font-size: 28px;
	}

	.tw2lve-hero__pill {
		font-size: 16px;
		height: 50px;
		padding: 8px 36px;
	}

	.tw2lve-hero__content {
		width: 70%;
	}

	/* Vslider */
	.tw2lve-vslider__name {
		font-size: 56px;
	}

	.tw2lve-vslider__price-amount {
		font-size: 24px;
	}

	.tw2lve-vslider__spec {
		height: 96px;
	}

	.tw2lve-vslider__tag {
		height: 38px;
		font-size: 13px;
	}

	/* Experiences */
	.tw2lve-exp-card {
		width: 620px;
		height: 380px;
		padding: 40px;
	}

	.tw2lve-exp-card__title {
		font-size: 30px;
		line-height: 36px;
	}

	.tw2lve-experiences {
		padding-bottom: 100px !important;
	}

	/* Collections */
	.tw2lve-collection-card__image-wrap {
		height: 260px;
	}

	.tw2lve-collection-card__title {
		font-size: 21px;
	}

	/* Reviews */
	.tw2lve-review-card {
		padding: 26px 22px;
		min-height: 270px;
	}

	/* Expectation */
	.tw2lve-expectation {
		padding: 90px 0;
	}

	.tw2lve-expectation__label {
		font-size: 20px;
	}

	/* Footer */
	.tw2lve-footer__headline {
		font-size: 36px;
		line-height: 48px;
	}

	.tw2lve-footer__mail,
	.tw2lve-footer__phone {
		font-size: 24px;
		line-height: 48px;
	}

	.tw2lve-footer__address {
		font-size: 20px;
		line-height: 48px;
	}

	.tw2lve-footer__nav a {
		font-size: 20px;
	}
}

/* ── 1440px–1599px: Standard laptop ───────────────────── */
@media (max-width: 1599px) and (min-width: 1440px) {

	/* Navbar */
	.site-navbar {
		padding-top: 0.75rem;
		padding-bottom: 0.75rem;
	}

	.site-navbar .navbar-nav {
		gap: 36px;
	}

	.site-navbar .navbar-nav .nav-link {
		font-size: 13px;
	}

	.navbar-tel,
	a.custom-logo-link {
		flex: 0 0 150px;
		width: 150px;
	}

	.navbar-tel a {
		font-size: 13px;
		padding: 0 14px;
	}

	/* Hero */
	.tw2lve-hero__sub {
		font-size: 24px;
	}

	.tw2lve-hero__pill {
		font-size: 15px;
		height: 46px;
		padding: 7px 28px;
	}

	.tw2lve-hero__content {
		width: 75%;
	}

	/* Vslider */
	.tw2lve-vslider__panel {
		gap: 22px;
		padding-top: 44px;
		padding-bottom: 44px;
	}

	.tw2lve-vslider__name {
		font-size: 50px;
	}

	.tw2lve-vslider__price-amount {
		font-size: 22px;
	}

	.tw2lve-vslider__spec {
		height: 92px;
		padding: 13px;
	}

	.tw2lve-vslider__tag {
		height: 36px;
		font-size: 12px;
		padding: 0 16px;
	}

	.tw2lve-exp-card {
		width: 560px;
		height: 360px;
		padding: 36px;
	}

	.tw2lve-exp-card__title {
		font-size: 28px;
		line-height: 34px;
	}

	.tw2lve-experiences {
		padding-bottom: 90px !important;
	}

	/* Collections */
	.tw2lve-collection-card__image-wrap {
		height: 240px;
	}

	.tw2lve-collection-card__title {
		font-size: 20px;
	}

	.tw2lve-collection-card {
		padding: 16px 16px 16px 0;
	}

	/* Reviews */
	.tw2lve-review-card {
		padding: 24px 20px;
		min-height: 255px;
	}

	/* Expectation */
	.tw2lve-expectation {
		padding: 80px 0;
	}

	.tw2lve-expectation__label {
		font-size: 19px;
	}

	.tw2lve-expectation__content {
		padding-left: 40px;
	}

	/* Footer */
	.tw2lve-footer__headline {
		font-size: 32px;
		line-height: 44px;
	}

	.tw2lve-footer__mail,
	.tw2lve-footer__phone {
		font-size: 22px;
		line-height: 44px;
	}

	.tw2lve-footer__address {
		font-size: 18px;
		line-height: 44px;
	}

	.tw2lve-footer__nav a {
		font-size: 18px;
	}
}

/* ── 1280px–1439px: Medium laptop ─────────────────────── */
@media (max-width: 1439px) and (min-width: 1280px) {

	/* Navbar */
	.site-navbar {
		padding-top: 0.625rem;
		padding-bottom: 0.625rem;
	}

	.site-navbar .navbar-nav {
		gap: 32px;
	}

	.site-navbar .navbar-nav .nav-link {
		font-size: 12px;
	}

	.navbar-tel,
	a.custom-logo-link {
		flex: 0 0 140px;
		width: 140px;
	}

	.navbar-tel a {
		font-size: 12px;
		padding: 0 12px;
		line-height: 36px;
	}

	/* Hero */
	.tw2lve-hero__sub {
		font-size: 22px;
	}

	.tw2lve-hero__pill {
		font-size: 14px;
		height: 44px;
		padding: 6px 24px;
	}

	.tw2lve-hero__content {
		width: 80%;
	}

	/* Vslider */
	.tw2lve-vslider__panel {
		width: 55%;
		gap: 20px;
		padding-top: 40px;
		padding-bottom: 40px;
	}

	.tw2lve-vslider__name {
		font-size: 46px;
	}

	.tw2lve-vslider__price-amount {
		font-size: 20px;
	}

	.tw2lve-vslider__price-unit {
		font-size: 15px;
	}

	.tw2lve-vslider__spec {
		height: 88px;
		padding: 12px;
	}

	.tw2lve-vslider__tag {
		height: 34px;
		padding: 0 14px;
		font-size: 12px;
	}

	.tw2lve-vslider__cta {
		width: auto;
		padding: 14px 32px;
		font-size: 13px;
	}

	/* Experiences */
	.tw2lve-exp-card {
		width: 520px;
		height: 340px;
		padding: 32px;
	}

	.tw2lve-exp-card__title {
		font-size: 26px;
		line-height: 32px;
	}

	.tw2lve-experiences {
		padding-bottom: 80px !important;
	}

	/* Collections */
	.tw2lve-collection-card__image-wrap {
		height: 220px;
	}

	.tw2lve-collection-card__title {
		font-size: 19px;
	}

	.tw2lve-collection-card {
		padding: 14px 14px 14px 0;
	}

	/* Reviews */
	.tw2lve-review-card {
		padding: 22px 18px;
		min-height: 240px;
	}

	p.tw2lve-review-card__text.twelve-1227-p {
		font-size: 14px !important;
	}

	/* Expectation */
	.tw2lve-expectation {
		padding: 70px 0;
	}

	.tw2lve-expectation__label {
		font-size: 18px;
	}

	.tw2lve-expectation__content {
		padding-left: 32px;
	}

	/* Footer */
	.tw2lve-footer__headline {
		font-size: 28px;
		line-height: 40px;
	}

	.tw2lve-footer__mail,
	.tw2lve-footer__phone {
		font-size: 20px;
		line-height: 40px;
	}

	.tw2lve-footer__address {
		font-size: 17px;
		line-height: 40px;
	}

	.tw2lve-footer__nav a {
		font-size: 17px;
	}
}

/* ── 1200px–1279px: Small laptop ──────────────────────── */
@media (max-width: 1279px) and (min-width: 1200px) {

	/* Navbar */
	.site-navbar {
		padding-top: 0.5rem;
		padding-bottom: 0.5rem;
	}

	.site-navbar .navbar-nav {
		gap: 24px;
	}

	.site-navbar .navbar-nav .nav-link {
		font-size: 11px;
	}

	.navbar-tel,
	a.custom-logo-link {
		flex: 0 0 120px;
		width: 120px;
	}

	.navbar-tel a {
		font-size: 11px;
		padding: 0 8px;
		line-height: 34px;
	}

	/* Hero */
	.tw2lve-hero__sub {
		font-size: 20px;
	}

	.tw2lve-hero__pill {
		font-size: 13px;
		height: 40px;
		padding: 5px 20px;
	}

	.tw2lve-hero__content {
		width: 85%;
	}

	/* H2 headings */
	h2.tw2lve-about__heading.twelve-1227-h2,
	h2.tw2lve-villas__heading.twelve-1227-h2,
	h2.tw2lve-experiences__heading.twelve-1227-h2,
	h2.section-host-retreat__heading,
	h2.tw2lve-collections__heading,
	h2.tw2lve-reviews__heading.twelve-1227-h2.tw2lve-heading-fadeup.is-visible,
	h2.tw2lve-expectation__heading.twelve-1227-h2.tw2lve-heading-fadeup.is-visible {
		font-size: 44px !important;
	}

	/* Vslider */
	.tw2lve-vslider__panel {
		width: 58%;
		gap: 18px;
		padding-top: 36px;
		padding-bottom: 36px;
	}

	.tw2lve-vslider__name {
		font-size: 40px;
	}

	.tw2lve-vslider__price-amount {
		font-size: 18px;
	}

	.tw2lve-vslider__price-unit {
		font-size: 14px;
	}

	.tw2lve-vslider__spec {
		height: 82px;
		padding: 10px;
	}

	.tw2lve-vslider__tag {
		height: 32px;
		padding: 0 12px;
		font-size: 11px;
	}

	.tw2lve-vslider__cta {
		width: auto;
		padding: 12px 28px;
		font-size: 12px;
	}

	/* Experiences */
	.tw2lve-exp-card {
		width: 460px;
		height: 310px;
		padding: 28px;
	}

	.tw2lve-exp-card__title {
		font-size: 24px;
		line-height: 30px;
	}

	.tw2lve-experiences {
		padding-bottom: 70px !important;
	}

	/* Collections */
	.tw2lve-collection-card__image-wrap {
		height: 200px;
	}

	.tw2lve-collection-card__title {
		font-size: 18px;
	}

	.tw2lve-collection-card {
		padding: 12px 12px 12px 0;
	}

	/* Reviews */
	.tw2lve-review-card {
		padding: 20px 16px;
		min-height: 220px;
	}

	p.tw2lve-review-card__text.twelve-1227-p {
		font-size: 13px !important;
	}

	/* Expectation */
	.tw2lve-expectation {
		padding: 60px 0;
	}

	.tw2lve-expectation__label {
		font-size: 16px;
	}

	.tw2lve-expectation__content {
		padding-left: 24px;
	}

	/* Footer */
	.tw2lve-footer__headline {
		font-size: 24px;
		line-height: 36px;
	}

	.tw2lve-footer__mail,
	.tw2lve-footer__phone {
		font-size: 18px;
		line-height: 36px;
	}

	.tw2lve-footer__address {
		font-size: 15px;
		line-height: 36px;
	}

	.tw2lve-footer__nav a {
		font-size: 15px;
	}
}


/* 
    ============= max width 1600
*/
@media (max-width: 1600px) {

	/* Slider Specific Fixes */
	.tw2lve-vslider__panel {
		height: 100% !important;
		justify-content: center;
		gap: 22px !important;
	}

	.tw2lve-vslider__name {
		font-size: 50px !important;
	}

	.tw2lve-vslider__spec {
		height: 108px !important;
		padding: 12px !important;
	}

	.tw2lve-vslider__spec-icon {
		width: 30px !important;
		height: 30px !important;
	}

	.tw2lve-vslider__spec-label {
		font-size: 11px !important;
		line-height: 1.4 !important;
	}

	.tw2lve-vslider__top-row3 {
		padding-top: 10px !important;
		padding-bottom: 10px !important;
	}

	.tw2lve-vslider__cta {
		width: 270px;
		padding: 14px 14px;
	}

	.tw2lve-expectation__img-single {
		height: 86% !important;
	}
}

@media (max-width: 1024px) {
	.tw2lve-footer__meta-row {
		display: flex;
		flex-direction: column-reverse;
		align-items: center;
	}

	button.tw2lve-footer__cta.tw2lve-contact-form__submit {
		margin-top: 30px;
	}

	.navbar-tel.navbar-tel--flyout {
		position: absolute;
		bottom: 5%;
	}



}


@media (max-width: 991px) {
	.tw2lve-team-card {
		height: auto !important;
		min-height: 320px;
		padding: 0 1.25rem !important;
		flex-direction: row;
	}

	.tw2lve-team-card__photo {
		width: 100%;
		height: 100%;
		object-fit: contain;
		object-position: center;
		display: block;
	}

	p.tw2lve-about-experience__desc {
		font-size: 16px;
		line-height: 1.7;
	}

	h2.tw2lve-about-team__title {
		text-align: center;
	}

	span.tw2lve-about-team__label {
		text-align: center;
	}

	section.tw2lve-villa-listing.py-5.py-lg-10 {
		padding-top: 60px !important;
	}

	section.tw2lve-contact-banner.tw2lve-villas-banner.p-5.py-lg-10.has-video-bg {
		padding: 15px !important;

	}

}

@media (min-width: 992px) and (max-width: 1280) {
	.tw2lve-about-team__cards {
		grid-template-columns: 1fr !important;
	}
}

/* Reduce font sizes for screens 1024px and below */
@media (max-width: 1024px) {
	.post-content h3 {
		font-size: 1.2rem;
		/* smaller heading size */
	}

	.post-content p {
		font-size: 12px !important;
		/* smaller paragraph size */
	}

	.post-content.entry-content {
		padding: 0 !important;
		margin: 0px;
	}

	.tw2lve-policy-page-content__inner {
		padding: 0px !important;
	}
}


/* ================================================== */
@media (min-width: 1280px) {
	.tw2lve-hero__heading {
		max-width: 76%;
	}

	.tw2lve-hero__sub {
		max-width: 76%;
	}
}

@media (max-width:1280px) and (min-width:992px) {

	.tw2lve-hero__heading,
	.tw2lve-heading-fadeup {
		/* 	font-size:2rem !important;	 */
	}

	.tw2lve-hero__sub {
		font-size: 27px;
	}

	p.section-host-retreat__description.twelve-1227-p.tw2lve-heading-fadeup {
		font-size: 1.4rem !important;
	}

	.home footer#colophon {
		padding-top: 0px !important;
	}

	.tw2lve-expectation__img-single {

		object-fit: contain;

	}

}

/* Gravity Forms Submit Button Styling */
.ct-form-section__form .gform_wrapper .gform_button {
	display: inline-flex !important;
	width: auto !important;
	padding: 16px 48px !important;
	justify-content: center;
	align-items: center;
	gap: 6px;
	text-decoration: none;
}

.ct-form-section__form .gform_wrapper .gform_button svg {
	fill: #ffffff !important;
	color: #ffffff !important;
	width: 18px;
	height: auto;
}

.lbk-custom-select__list .lbk-custom-select__option:first-child {
	color: #999;

}

section.villa-location-section {
	padding: 100px 0 0 0 !important;
}

/*villa location section   */

/* =========================
   SECTION BASE
   ========================= */
.villa-location-section {
	background: #000;
	color: #fff;
}

/* =========================
   LAYOUT (DESKTOP FIRST)
   ========================= */
.villa-location-row {
	display: flex;
	align-items: stretch;
	gap: 40px;
}

/* 60% MAP */
.villa-location-map-col {
	flex: 0 0 60%;
	max-width: 60%;
}

/* 40% CONTENT */
.villa-location-content-col {
	flex: 0 0 40%;
	max-width: 40%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

/* =========================
   MAP
   ========================= */
.villa-location-map iframe {
	width: 100%;
	height: 100%;
	min-height: 520px;
	border: 0;
	border-radius: 0px;
	display: block;
}

/* =========================
   TYPOGRAPHY
   ========================= */
.villa-location-title {
	font-size: 42px;
	line-height: 1.2;
	margin-bottom: 10px;
	font-family: 'Alta', sans-serif;
}

.villa-location-subtitle {
	font-size: 28px;
	margin-bottom: 20px;
	font-family: 'Nexa', sans-serif;
}

.villa-nearby-list {
	padding: 0;
	margin: 0;
	width: 100%;

}

.villa-nearby-item {
	font-size: 18px;
	margin-bottom: 12px !important;
	font-family: 'Nexa', sans-serif;
	display: flex;
	align-items: center;
	gap: 10px;
}

h4.villa-location-subtitle {
	padding: 20px 0
}

.villa-location-container {
	width: 1600px;
	margin: auto;
}
section.tw2lve-checkout.py-5.py-lg-10 {
    padding-top: 10% !important;
}

.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month {
    background-color: #1a1a1a !important;
    outline: none;
    padding: 0;
}

/* =========================
   TABLET (<= 991px)
   ========================= */
@media (max-width: 991px) {
	.villa-location-container {
		width: 100%;
		max-width: 100%;
		padding: 0 15px;
		box-sizing: border-box;
	}

	.villa-location-row {
		flex-direction: column;
		gap: 30px;
	}

	.villa-location-map-col,
	.villa-location-content-col {
		flex: 0 0 100%;
		max-width: 100%;
	}

	.villa-location-map iframe {
		min-height: 420px;
	}

	.villa-location-title,
	.villa-location-subtitle,
	.villa-nearby-list {
		text-align: left;
	}

	.villa-nearby-item {
		justify-content: start;
	}
}

/* =========================
   MOBILE (<= 576px)
   ========================= */
@media (max-width: 576px) {

	.villa-location-map iframe {
		min-height: 320px;
	}

	.villa-location-title {
		font-size: 32px;
	}

	.villa-location-subtitle {
		font-size: 22px;
	}

	.villa-nearby-item {
		font-size: 16px;
	}
}



@media (max-width: 1024.98px) {

	.tw2lve-about-banner,
	.tw2lve-contact-banner,
	.tw2lve-villas-banner {
		height: 80vh !important;
		margin-top: 0;
		padding-top: 60px;
	}
}

/* Read More - tablet & phone only */
@media (max-width: 1024px) {
	.retreat-support-text.collapsed .twelve-1227-p:not(:first-child) {
		display: none;
	}

	.retreat-readmore-btn {
		display: inline-block;
		margin-top: 12px;
		background: none;
		border: none;
		color: #c9a84c;
		font-family: inherit;
		font-size: 0.95em;
		font-weight: 600;
		cursor: pointer;
		padding: 0;
		text-decoration: underline;
		letter-spacing: 0.04em;
	}

	.retreat-readmore-btn:hover {
		opacity: 0.8;
	}
	
	  .tw2lve-villa-detail__thumbs-arrow {
    display: none;
  }
}

.tw2lve-nav-close img {
    width: 100% !important;
    height: 100% !important;
}

@media (min-width: 1025px) {
	.retreat-readmore-btn {
		display: none !important;
	}

	.retreat-support-text.collapsed .twelve-1227-p {
		display: block !important;
	}
}

 a.tw2lve-collection-card-link {
    text-decoration: none;
}

span.lbk-s2-price, span.lbk-price-label {
    text-transform: capitalize;
}

 
@media (min-width: 992px) {
  /* Beat the high-specificity .row.g-4.g-lg-5.checkout-row rule */
  .tw2lve-checkout .row.g-4.g-lg-5.checkout-row,
  .row.g-4.g-lg-5.checkout-row {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    align-items: flex-start !important;
  }

  /* Beat .tw2lve-checkout__main.col-md-6.col-lg-6 (width: 80%, padding-top: 10%) */
  .row.g-4.g-lg-5.checkout-row > .tw2lve-checkout__main.col-md-6.col-lg-6 {
    flex: 0 0 50% !important;
    max-width: 50% !important;
    width: 50% !important;
    margin: 48px 0 0 !important;
    padding-top: 0 !important;
  }

  /* Beat aside.tw2lve-checkout__summary.col-md-6.col-lg-6 */
  aside.tw2lve-checkout__summary.col-md-6.col-lg-6,
  .row.g-4.g-lg-5.checkout-row > aside.tw2lve-checkout__summary.col-md-6.col-lg-6 {
    flex: 0 0 50% !important;
    max-width: 50% !important;
    width: 50% !important;
    margin: 48px 0 0 !important;
  }
	
	.tw2lve-villa-booking__input-pill .date-display { 
    font-size: 14px; 
    line-height: 2 !important; 
}
	 
}

@media (min-width: 992px) and (max-width: 1200px) {
  .tw2lve-villa-booking__input-pill {
    height: 44px !important;
    padding-top: 6px;
  }

  .tw2lve-villa-booking__input-pill svg.pill-icon {
    padding-bottom: 6px;
  }
}



/* =========================================================
   Unified CTA — Pill fill animation on hover
   Group A: fills with #F9D71E (yellow)
   Group B: yellow CTAs on /retreats/ fill with #FFFFFF (white)
   ========================================================= */

/* -----------------------------------------------------------
   GROUP A — CTAs that hover to #F9D71E
   ----------------------------------------------------------- */

/* Base: relative + overflow hidden so the fill is clipped
   to the pill shape. Text & icons sit above via z-index. */
.tw2lve-vslider__cta,
.tw2lve-villas__cta,
.tw2lve-collections__cta,
.tw2lve-expectation__cta,
.tw2lve-about-experience__cta,
.section-host-retreat__cta,
.tw2lve-excursion__cta,
.tw2lve-souvenir__cta,
.section-host-contact__cta,
.section-host-contact__form-submit,
.tw2lve-villa-listing__cta,
.retreats-final-cta-btn,
.retreat-info-content .retreat-info-cta {
    position: relative !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    isolation: isolate;
    transition: color 0.45s ease, border-color 0.45s ease !important;
}

/* The pill fill — sits behind content, starts off-screen left,
   slides in to cover 100% on hover */
.tw2lve-vslider__cta::before,
.tw2lve-villas__cta::before,
.tw2lve-collections__cta::before,
.tw2lve-expectation__cta::before,
.tw2lve-about-experience__cta::before,
.section-host-retreat__cta::before,
.tw2lve-excursion__cta::before,
.tw2lve-souvenir__cta::before,
.section-host-contact__cta::before,
.section-host-contact__form-submit::before,
.tw2lve-villa-listing__cta::before,
.retreats-final-cta-btn::before,
.retreat-info-content .retreat-info-cta::before {
    content: "" !important;
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #F9D71E !important;
    border-radius: inherit;
    transform: translateX(-101%);
    transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1) !important;
    z-index: -1;
    pointer-events: none;
    display: block !important;
}

/* Slide the fill into view on hover */
.tw2lve-vslider__cta:hover::before,
.tw2lve-vslider__cta:focus-visible::before,
.tw2lve-villas__cta:hover::before,
.tw2lve-villas__cta:focus-visible::before,
.tw2lve-collections__cta:hover::before,
.tw2lve-collections__cta:focus-visible::before,
.tw2lve-expectation__cta:hover::before,
.tw2lve-expectation__cta:focus-visible::before,
.tw2lve-about-experience__cta:hover::before,
.tw2lve-about-experience__cta:focus-visible::before,
.section-host-retreat__cta:hover::before,
.section-host-retreat__cta:focus-visible::before,
.tw2lve-excursion__cta:hover::before,
.tw2lve-excursion__cta:focus-visible::before,
.tw2lve-souvenir__cta:hover::before,
.tw2lve-souvenir__cta:focus-visible::before,
.section-host-contact__cta:hover::before,
.section-host-contact__cta:focus-visible::before,
.section-host-contact__form-submit:hover::before,
.section-host-contact__form-submit:focus-visible::before,
.tw2lve-villa-listing__cta:hover::before,
.tw2lve-villa-listing__cta:focus-visible::before,
.retreats-final-cta-btn:hover::before,
.retreats-final-cta-btn:focus-visible::before,
.retreat-info-content .retreat-info-cta:hover::before,
.retreat-info-content .retreat-info-cta:focus-visible::before {
    transform: translateX(0) !important;
}

/* Final hover state — border + text colors match the fill */
.tw2lve-vslider__cta:hover,
.tw2lve-vslider__cta:focus-visible,
.tw2lve-villas__cta:hover,
.tw2lve-villas__cta:focus-visible,
.tw2lve-collections__cta:hover,
.tw2lve-collections__cta:focus-visible,
.tw2lve-expectation__cta:hover,
.tw2lve-expectation__cta:focus-visible,
.tw2lve-about-experience__cta:hover,
.tw2lve-about-experience__cta:focus-visible,
.section-host-retreat__cta:hover,
.section-host-retreat__cta:focus-visible,
.tw2lve-excursion__cta:hover,
.tw2lve-excursion__cta:focus-visible,
.tw2lve-souvenir__cta:hover,
.tw2lve-souvenir__cta:focus-visible,
.section-host-contact__cta:hover,
.section-host-contact__cta:focus-visible,
.section-host-contact__form-submit:hover,
.section-host-contact__form-submit:focus-visible,
.tw2lve-villa-listing__cta:hover,
.tw2lve-villa-listing__cta:focus-visible,
.retreats-final-cta-btn:hover,
.retreats-final-cta-btn:focus-visible,
.retreat-info-content .retreat-info-cta:hover,
.retreat-info-content .retreat-info-cta:focus-visible {
    border-color: #F9D71E !important;
    color: #000 !important;
    opacity: 1 !important;
}

/* Keep text / icons above the fill */
.tw2lve-vslider__cta > *,
.tw2lve-villas__cta > *,
.tw2lve-collections__cta > *,
.tw2lve-expectation__cta > *,
.tw2lve-about-experience__cta > *,
.section-host-retreat__cta > *,
.tw2lve-excursion__cta > *,
.tw2lve-souvenir__cta > *,
.section-host-contact__cta > *,
.section-host-contact__form-submit > *,
.tw2lve-villa-listing__cta > *,
.retreats-final-cta-btn > *,
.retreat-info-content .retreat-info-cta > * {
    position: relative;
    z-index: 1;
}

/* Inner span color on hover */
.tw2lve-vslider__cta:hover span,
.tw2lve-villas__cta:hover span,
.tw2lve-collections__cta:hover span,
.tw2lve-expectation__cta:hover span,
.tw2lve-about-experience__cta:hover span,
.section-host-retreat__cta:hover span,
.tw2lve-excursion__cta:hover span,
.tw2lve-souvenir__cta:hover span,
.section-host-contact__cta:hover span,
.section-host-contact__form-submit:hover span,
.tw2lve-villa-listing__cta:hover span,
.retreats-final-cta-btn:hover span,
.retreat-info-content .retreat-info-cta:hover span {
    color: #000 !important;
}

/* SVG icons turn black on hover */
.tw2lve-vslider__cta:hover svg path,
.tw2lve-villas__cta:hover svg path,
.tw2lve-collections__cta:hover svg path,
.tw2lve-expectation__cta:hover svg path,
.tw2lve-about-experience__cta:hover svg path,
.section-host-retreat__cta:hover svg path,
.tw2lve-excursion__cta:hover svg path,
.tw2lve-souvenir__cta:hover svg path,
.section-host-contact__cta:hover svg path,
.section-host-contact__form-submit:hover svg path,
.tw2lve-villa-listing__cta:hover svg path,
.retreats-final-cta-btn:hover svg path,
.retreat-info-content .retreat-info-cta:hover svg path {
    stroke: #000 !important;
    fill: unset !important;
}


/* -----------------------------------------------------------
   GROUP B — Yellow CTAs on /retreats/ that hover to WHITE
   ----------------------------------------------------------- */

.tw2lve-footer__cta,
.tw2lve-contact-form__submit {
    position: relative !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    isolation: isolate;
    background-color: #F9D71E !important;
    background: #F9D71E !important;
    color: #000 !important;
    border-color: #F9D71E !important;
    transition: color 0.45s ease, border-color 0.45s ease !important;
}

.tw2lve-footer__cta::before,
.tw2lve-contact-form__submit::before {
    content: "" !important;
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #FFFFFF !important;
    border-radius: inherit;
    transform: translateX(-101%);
    transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1) !important;
    z-index: -1;
    pointer-events: none;
    display: block !important;
}

.tw2lve-footer__cta:hover::before,
.tw2lve-footer__cta:focus-visible::before,
.tw2lve-contact-form__submit:hover::before,
.tw2lve-contact-form__submit:focus-visible::before {
    transform: translateX(0) !important;
}

.tw2lve-footer__cta:hover,
.tw2lve-footer__cta:focus-visible,
.tw2lve-contact-form__submit:hover,
.tw2lve-contact-form__submit:focus-visible {
    border-color: #FFFFFF !important;
    color: #000 !important;
    opacity: 1 !important;
}

.tw2lve-footer__cta > *,
.tw2lve-contact-form__submit > * {
    position: relative;
    z-index: 1;
}

.tw2lve-footer__cta:hover span,
.tw2lve-contact-form__submit:hover span {
    color: #000 !important;
}

.tw2lve-footer__cta:hover svg path,
.tw2lve-contact-form__submit:hover svg path {
    stroke: #000 !important;
    fill: unset !important;
}


/* =========================================================
   CARD HOVER EFFECTS — Home, /villas/, /retreats/
   (luxury villa aesthetic — subtle lift, image zoom,
    title accent. Buttons inside cards are untouched.)
   ========================================================= */

/* -----------------------------------------------------------
   1) Base card transitions
   ----------------------------------------------------------- */
.tw2lve-collection-card,
.tw2lve-review-card,
.tw2lve-villa-listing__card,
.retreats-visionary-card,
.retreats-whychoose-card,
.retreat-capacity-card,
.retreat-rightfit-card {
    transition: transform 0.55s cubic-bezier(0.25, 0.8, 0.25, 1),
                box-shadow 0.55s cubic-bezier(0.25, 0.8, 0.25, 1),
                border-color 0.45s ease !important;
    will-change: transform, box-shadow;
}

/* Image wrappers — hide overflow so inner image can zoom cleanly */
.tw2lve-collection-card .tw2lve-collection-card__image-wrap,
.tw2lve-collection-card a,
.tw2lve-villa-listing__card .tw2lve-villa-listing__media,
.tw2lve-villa-listing__card figure,
.retreats-visionary-card,
.retreats-whychoose-card,
.retreat-capacity-card,
.retreat-rightfit-card {
    overflow: hidden;
}

/* Inner images — gentle scale + subtle brightness transition */
.tw2lve-collection-card img,
.tw2lve-villa-listing__card img,
.retreats-visionary-card img,
.retreats-whychoose-card img,
.retreat-capacity-card img,
.retreat-rightfit-card img {
    transition: transform 0.85s cubic-bezier(0.25, 0.8, 0.25, 1),
                filter 0.55s ease !important;
    will-change: transform, filter;
    display: block;
}

/* -----------------------------------------------------------
   2) HOVER STATE — lift + shadow + image zoom
   ----------------------------------------------------------- */

/* Collection cards (home) — lift + soft golden shadow */
.tw2lve-collection-card:hover,
.tw2lve-collection-card:focus-within {
    transform: translateY(-8px);
    
}
.tw2lve-collection-card:hover img,
.tw2lve-collection-card:focus-within img {
    transform: scale(1.08);
    
}

/* Villa listing cards (/villas/) — refined lift */
.tw2lve-villa-listing__card {
    border-radius: 12px;
}


/* Retreat cards — visionary / whychoose / capacity / rightfit */
.retreats-visionary-card:hover,
.retreats-visionary-card:focus-within,
.retreats-whychoose-card:hover,
.retreats-whychoose-card:focus-within,
.retreat-capacity-card:hover,
.retreat-capacity-card:focus-within,
.retreat-rightfit-card:hover,
.retreat-rightfit-card:focus-within {
    transform: translateY(-6px);
    box-shadow: 0 16px 38px -14px rgba(0, 0, 0, 0.4),
                0 6px 16px -8px rgba(249, 215, 30, 0.22);
}
.retreats-visionary-card:hover img,
.retreats-whychoose-card:hover img,
.retreat-capacity-card:hover img,
.retreat-rightfit-card:hover img {
    transform: scale(1.06);
    filter: brightness(1.05);
}



/* -----------------------------------------------------------
   3) TITLE ACCENT — soft golden shift on hover
   ----------------------------------------------------------- */
.tw2lve-collection-card h2,
.tw2lve-collection-card h3,
.tw2lve-collection-card h4,
.tw2lve-villa-listing__card h2,
.tw2lve-villa-listing__card h3,
.tw2lve-villa-listing__card h4,
.retreats-visionary-card h2,
.retreats-visionary-card h3,
.retreats-visionary-card h4,
.retreats-whychoose-card h2,
.retreats-whychoose-card h3,
.retreats-whychoose-card h4,
.retreat-capacity-card h2,
.retreat-capacity-card h3,
.retreat-capacity-card h4,
.retreat-rightfit-card h2,
.retreat-rightfit-card h3,
.retreat-rightfit-card h4 {
    transition: color 0.4s ease !important;
}

.tw2lve-collection-card:hover h2,
.tw2lve-collection-card:hover h3,
.tw2lve-collection-card:hover h4,
/* .tw2lve-villa-listing__card:hover h2,
.tw2lve-villa-listing__card:hover h3,
.tw2lve-villa-listing__card:hover h4, */
.retreats-visionary-card:hover h2,
.retreats-visionary-card:hover h3,
.retreats-visionary-card:hover h4,
.retreats-whychoose-card:hover h2,
.retreats-whychoose-card:hover h3,
.retreats-whychoose-card:hover h4 {
    color: #F9D71E;
}
.retreats-whychoose-card ,  .retreat-rightfit-card {
	border : 1px  solid transparent;
}
.retreats-whychoose-card:hover ,  .retreat-rightfit-card:hover{
	border : 1px  solid #F9D71E;
}

.swal2-styled.swal2-confirm {
    background: #000 !important;
}

/* -----------------------------------------------------------
   5) RESPECT REDUCED MOTION
   ----------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  .tw2lve-collection-card,
  .tw2lve-review-card,
  .tw2lve-villa-listing__card,
  .retreats-visionary-card,
  .retreats-whychoose-card,
  .retreat-capacity-card,
  .retreat-rightfit-card,
  .tw2lve-collection-card img,
  .tw2lve-villa-listing__card img,
  .retreats-visionary-card img,
  .retreats-whychoose-card img,
  .retreat-capacity-card img,
  .retreat-rightfit-card img {
      transition: none !important;
      transform: none !important;
	  
  }
}