/*!
Theme Name: curatedluxury
Theme URI: https://www.douglassdigital.com/
Author: Douglass Digital
Description: Description
Version: 1.0.0
 */



html {
	line-height: normal;
	-webkit-text-size-adjust: 100%;
	margin: 0;
	scrollbar-gutter: stable; /* Reserve space for scrollbar */
	scroll-behavior: smooth;

}

body {
	margin: 0;
	color: #000;
	font-family: 'Avenir Next LT Pro';
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	background: #FFF;
}

body a:not(.standard-button) {
	color: #455946;
	text-decoration: underline;
	transition: all .15s;
}

body a:not(.standard-button):hover {
	color: #BFAC7B;
}

@font-face {
  font-family: 'Angsana New'; letter-spacing: 10%; text-transform: uppercase;
  src: url('/wp-content/themes/curatedluxury/fonts/Angsana New Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Avenir Next LT Pro';
  src: url('/wp-content/themes/curatedluxury/fonts/AvenirNextLTPro-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Avenir Next LT Pro';
  src: url('/wp-content/themes/curatedluxury/fonts/AvenirNextLTPro-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Avenir Next LT Pro';
  src: url('/wp-content/themes/curatedluxury/fonts/AvenirNextLTPro-Demi.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Avenir Next LT Pro';
  src: url('/wp-content/themes/curatedluxury/fonts/AvenirNextLTPro-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

.full-container a:not(.standard-button) {
	text-decoration: underline;
}
.custom-logo,
.custom-logo img {
	width: 135px;
	max-width: 135px;
	object-fit: contain;
	height: auto;
}
.home .custom-logo, .home .custom-logo img {
	width: 135px;
	max-width: 135px;
}
@media screen and (min-width: 992px) {
	.home .custom-logo, .home .custom-logo img {
		width: 235px;
		max-width: 235px;
	}
}
.full-container a:not(.standard-button):hover:not(.latest-post-link) {
	color: #455946;
}
.full-container {
	padding: 40px 24px;
}
.custom-layout {
    display: flex;
    gap: 155px;
    max-width: 1592px;
	margin: 0 auto;
}
.column-23 { 
	width: 920px;
	padding: 24px 0;
}
.column-13 { 
	width: 517px;
	padding: 24px 0;
}
.column-full {
	width: 100%;
	padding: 24px 0;
}
.container, .inner-content, .header-wrap {
	max-width: 1592px;
	padding: 0;
	margin: 0 auto;
}
ol, ul {
	padding-left: 20px;
}
main {
	display: block;
	/* padding-top: 32px; */
}
img, iframe {
	max-width: 100%;
}
h1 {
	font-size: 42px;
}
h2 {
	font-size: 32px;
}
h3 {
	font-size: 24px;
}
h4 {
	font-size: 20px;
}
h5 {
	font-size: 18px;
}

h6 {
	font-size: 16px;
}

.h1, .h2 {
	margin-bottom: 32px;

}
.h3, .h4, .h5, .h6, h1, h2, h3, h4, h5 {
	margin-bottom: 24px;
	margin-top: 0;
}

h1, h2, h3, h4, h5, h6 {
	color: #455946;
	font-family: 'Angsana New'; letter-spacing: 10%; text-transform: uppercase;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
}

select:not(.ui-datepicker-month):not(.ui-datepicker-year), input[type="text"], input[type="email"], input[type="password"], input[type="number"]:not(.numInput), input[type="search"], input[type="date"], input[type="datetime-local"], input[type="month"], input[type="week"], input[type="time"], input[type="url"], input[type="tel"], textarea:not(.select2-search__field), .input-div {
	border-radius: 4px;
	border: 1px solid #A8A8A8;
	background: #FFF;
	min-height: 48px;
	padding: 12px;
	color: #585858;
	font-family: "Avenir Next LT Pro";
	font-size: 18px;
	font-style: normal;
	font-weight: 500;
	line-height: normal;
}
select:not(.ui-datepicker-month):not(.ui-datepicker-year)::placeholder, input[type="text"]::placeholder, input[type="email"]::placeholder, input[type="password"]::placeholder, input[type="number"]:not(.numInput)::placeholder, input[type="search"]::placeholder, input[type="date"]::placeholder, input[type="datetime-local"]::placeholder, input[type="month"]::placeholder, input[type="week"]::placeholder, input[type="time"]::placeholder, input[type="url"]::placeholder, input[type="tel"]::placeholder, textarea:not(.select2-search__field)::placeholder, .input-div {
	color: #000;
}
select:not(.ui-datepicker-month):not(.ui-datepicker-year) option {
	border-radius: 4px;
	border: 1px solid #A8A8A8;
	background: #FFF;
	min-height: 48px;
	padding: 12px;
	color: #585858;
	font-family: "Avenir Next LT Pro";
	font-size: 18px;
	font-style: normal;
	font-weight: 500;
	line-height: normal;
}
select, input[type="text"], input[type="email"], input[type="password"], input[type="number"], input[type="search"], input[type="date"], input[type="datetime-local"], input[type="month"], input[type="week"], input[type="time"], input[type="url"], input[type="tel"], textarea:not(.select2-search__field), .input-div, .crm-frozen-field  {
	width: 100%;
}

.menu-toggle {
	border: none;
	background: 0 0;
	padding-top: 8px;
	position: relative;
	z-index: 9999999999;
}

#nav-icon1 {
	width: 40px;
	height: 30px;
	position: relative;
	-webkit-transform: rotate(0);
	transform: rotate(0);
	-webkit-transition: .5s ease-in-out;
	transition: .5s ease-in-out;
	cursor: pointer
}

#nav-icon1 span {
	display: block;
	position: absolute;
	height: 3.5px;
	width: 100%;
	background: #455946;
	border-radius: 8px;
	opacity: 1;
	left: 0;
	-webkit-transform: rotate(0);
	transform: rotate(0);
	-webkit-transition: .25s ease-in-out;
	transition: .25s ease-in-out
}
#nav-icon1 span:first-child {
	top: 0
}

#nav-icon1 span:nth-child(2) {
	top: 11px
}

#nav-icon1 span:nth-child(3) {
	top: 22px
}

#nav-icon1.open span:first-child {
	top: 18px;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
	background: #455946;
}

#nav-icon1.open span:nth-child(2) {
	opacity: 0;
	left: -60px;
	background: #455946;
}

#nav-icon1.open span:nth-child(3) {
	top: 18px;
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
	background: #455946;
}

.nav-menu-wrap {
	height: 100%;
	overflow: auto;
	left: 0;
	right: 0;
	position: fixed;
	top: 0;
	-webkit-transition: .7s ease-in-out;
	transition: .7s ease-in-out;
	width: 100%;
	z-index: 99999;
	padding: 110px 20px 20px;
	background: rgb(255, 255, 255, .8);
	backdrop-filter: blur(45px);
	opacity: 0;
	visibility: hidden
}


.nav-menu-wrap .menu-primary-container {
	padding: 120px 32px;
	display: none
}

.nav-menu-wrap ul {
	padding: 0;
	margin-bottom: 20px
}

.nav-menu-wrap.active .menu-primary-container {
	display: block;
	overflow: auto
}

.nav-menu-wrap .menu-item {
	padding: 7px 0
}

.nav-menu-wrap.active {
	opacity: 1;
	visibility: visible;
	z-index: 999999999;
}

.nav-menu-wrap.active li:first-child {
	-webkit-animation-delay: .1s;
	animation-delay: .1s
}

.nav-menu-wrap.active li:nth-child(2) {
	-webkit-animation-delay: .15s;
	animation-delay: .15s
}

.nav-menu-wrap.active li:nth-child(3) {
	-webkit-animation-delay: .3s;
	animation-delay: .3s
}

.nav-menu-wrap.active li:nth-child(4) {
	-webkit-animation-delay: .4s;
	animation-delay: .4s
}

.nav-menu-wrap.active li:nth-child(5) {
	-webkit-animation-delay: .5s;
	animation-delay: .5s
}

.nav-menu-wrap.active li:nth-child(6) {
	-webkit-animation-delay: .6s;
	animation-delay: .6s
}

.nav-menu-wrap.active li:nth-child(7) {
	-webkit-animation-delay: .7s;
	animation-delay: .7s
}

.nav-menu-wrap.active li:nth-child(8) {
	-webkit-animation-delay: .8s;
	animation-delay: .8s
}

.nav-menu-wrap.active li:nth-child(9) {
	-webkit-animation-delay: .9s;
	animation-delay: .9s
}

.nav-menu-wrap.active li:nth-child(10) {
	-webkit-animation-delay: 1s;
	animation-delay: 1s
}

.nav-menu-wrap.active li {
	-webkit-animation-duration: 1s;
	animation-duration: 1s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-animation-name: fadeInUp;
	animation-name: fadeInUp
}


.nav-menu-wrap .nav-menu-wrap a {
	color: #000;
	display: block;
	text-decoration: none
}

.nav-menu-wrap .nav-menu-wrap a:first {
	padding-top: 0
}

#primary-menu .menu-item:not(.search-menu-item) a:not(.standard-button) {
	color: #455946;
	font-family: 'Avenir Next LT Pro';
	font-size: 18px;
	font-style: normal;
	font-weight: 500;
	line-height: normal;
	letter-spacing: 0.18px;
	text-decoration: none;
	transition: all .15s;
}
#primary-menu .menu-item:not(.search-menu-item) a:not(.standard-button):hover {
	opacity: .8;
}
#primary-menu .sub-menu .menu-item a {
	color: #000;
	font-family: 'Avenir Next LT Pro', sans-serif;
	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	line-height: normal
}

#primary-menu .sub-menu a:not(.standard-button):hover {
	color: #000;
	font-weight: 700
}


#primary-menu {
	list-style: none;
	gap: 24px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	margin: 0;
	max-width: 100%;
	width: fit-content;
}

.header-wrap:not(.sub-menu) .menu-item.menu-item-has-children::after {
	content: "\f078";
	font-weight: 900;
	font-family: "Font Awesome 6 Free";
	position: absolute;
	top: 2px;
	right: -5px;
	font-size: 16px;
	color: #000
}

.sub-menu {
	z-index: 9999;
	padding: 24px 24px 20px;
	position: absolute;
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 0 116px rgba(0, 0, 0, .25);
	right: -30px;
	margin-top: 24px;
	display: none;
	list-style: none
}


.current-menu-item .sub-menu a::after,
.sub-menu .current-menu-item a::after,
.sub-menu li a:hover::after {
	content: none;
	display: none
}

.sub-menu a::after {
	display: none;
	content: "none"
}

.menu-item-has-children:hover::before {
	content: '';
	opacity: 1;
	transition: .15s;
	display: block !important;
	position: absolute !important;
	margin-top: 42px !important;
	margin-left: 18px !important;
	z-index: 10000;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-left: 15px solid transparent;
	border-right: 15px solid transparent;
	border-bottom: 15px solid #000
}

.sub-menu .menu-item {
	padding: 5px !important;
	min-width: 200px
}

#primary-menu .menu-item a:not(.standard-button) {
	padding: 10px 0;
	transition: background-image .15s ease-in-out
}

#primary-menu .menu-item .sub-menu .menu-item a {
	padding: 6px 0
}

#masthead {
	padding: 20px;
	position: relative;
	z-index: 9999;
}
.single-property #masthead {
	padding: 20px 20px 52px 20px;
}

.header-wrap.row {
	display: flex;
	align-items: center;
	justify-content: space-between
}


#primary-menu .menu-item-has-children-show-them .sub-menu {
	display: block;
	margin-bottom: 0;
	padding-left: 24px;
	margin-top: 8px
}

#primary-menu .menu-item-has-children-show-them .sub-menu li {
	padding: 0;
	font-size: 16px
}

#primary-menu .menu-item-has-children-show-them .sub-menu li a {
	font-size: 16px
}

.header-wrap:not(.sub-menu) .menu-item.menu-item-has-children.menu-item-has-children-show-them::after {
	transform: rotate(-180deg)
}
.site-branding, .nav-right-col, .nav-menu-wrapp {
	width: fit-content;
}

.home #masthead {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
}
body.home.logged-in.admin-bar #masthead {
	padding-top: 52px;
}
@media screen and (min-width: 1200px) {
	
	#primary-menu .menu-item:not(.search-menu-item) a:not(.standard-button) {
		color: #455946;
		font-family: "Avenir Next LT Pro";
		font-size: 18px;
		font-style: normal;
		font-weight: 500;
		line-height: normal;
		letter-spacing: 1.8px;
		text-transform: capitalize;
	}
	#primary-menu .menu-item:not(.search-menu-item) a:not(.standard-button):hover {
		opacity: 0.8;
	}
	.custom-logo,
	.custom-logo img {
		width: 235px;
		max-width: 235px;
	}
	.menu-toggle {
		display: none;
	}

	#primary-menu .menu-item {
		padding: 0;
	}
	.nav-menu-wrap-col {
		padding: 0;
		min-width: 50%;
	}

	.header-wrap.row {
		flex-wrap: wrap;
		gap: 20px;
	}

	#site-navigation, .nav-wrapp-row {
		display: flex;
	}

	.nav-menu-wrap-row {
		display: flex;
		gap: 18px;
		align-items: center;
		flex-wrap: wrap;
		flex-direction: row;
		/* width: 100%; */
		justify-content: space-between;
	}
	.site-branding, .nav-menu-wrapp-row, .nav-menu-wrap-row, .nav-menu-wrap-col, #primary-menu .menu-item, .nav-right-col, .header-wrap .nav-menu-wrap, .nav-menu-wrap-content, .nav-menu-wrap-row, .header-wrap .nav-menu-wrap, .header-wrap .nav-menu-wrap, .menu-primary-menu-container, .nav-menu-wrap-container {
        width: fit-content;
		max-width: 100%;
	}
	.nav-menu-wrapp {
		/* flex: auto 1 1; */
		min-width: 0;
		max-width: calc(100% - 300px);
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.site-branding {
		/* flex-shrink: 0; */
		width: 33%;
	}
	/* .nav-right-col {
		flex-shrink: 0;
	} */
	
	.header-wrap .nav-menu-wrap {
		opacity: 1;
		visibility: visible;
		position: relative;
		/* width: 100%; */
		background: 0 0;
		padding: 0;
		backdrop-filter: none;
		overflow: visible
	}

	.nav-menu-wrap-col #primary-menu {
		display: flex;
		align-items: center;
		flex-direction: row;
		flex-wrap: wrap;
		gap: 24px;
	}

	.nav-ctas-col .ctas-wrap {
		gap: 12px
	}

	.nav-right-col {
		padding-left: 0;
		padding-right: 0;
	}



	.full-container {
		padding: 90px 24px;
	}
	h1 {
		font-size: 100px;
	}
	h2 {
		font-size: 56px;
	}
	h3 {
		font-size: 40px;
	}
	h4 {
		font-size: 32px; 
	}
	h5 {
		font-size: 24px;
	}
	h6 {
		font-size: 20px;
	}
}

/* Footer Styles */
.site-footer {
	background: #455946;
	color: #fff;
	padding: 60px 24px 40px;
}

.footer-container {
	max-width: 1592px;
	margin: 0 auto;
}

/* Footer Row 1 - Logos */
.footer-row-1 {
	margin-bottom: 40px;
}
.footer-phone a {
	text-decoration: underline !important;
}
.footer-logos-wrapper {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 30px;
	height: fit-content;
}

.footer-logo img {
	max-width: 250px;
	margin-top: 10px;
	height: auto;
}

/* Footer Row 2 - 5 Columns */
.footer-row-2 {
	display: flex;
	justify-content: space-between;
	gap: 30px;
	flex-wrap: wrap;
}

.footer-col {
	flex: 1;
	min-width: 200px;
}
.footer-col-1 {
	display: flex;
	justify-content: center;
	flex-direction: row;
}
.footer-col-2 .footer-col-content, .footer-col-3 .footer-col-content {
	max-width: 250px;
}

.custom-footer-title {
	color: #BFAC7B;
	font-family: 'Angsana New'; letter-spacing: 10%; text-transform: uppercase;
	font-size: 24px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	margin-bottom: 20px;
}
.footer-contact-text p strong {
	color: #BFAC7B;
	font-family: 'Avenir Next LT Pro';
	font-size: 18px;
	font-style: normal;
	font-weight: 500;
	line-height: normal;
}
.custom-footer-title-spacer {
	height: 38px;
	margin-bottom: 20px;
}
.site-footer strong {
	font-weight: 700;
}
/* Footer Menus */
.footer-menu ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.footer-menu li {
	margin-bottom: 20px;
}
body .site-footer a {
	color: #fff;
}
body .footer-menu a {
	color: #fff;
	text-decoration: none;
	font-size: 16px;
	transition: opacity 0.15s;
}

body .footer-menu a:hover {
	opacity: 0.8;
	text-decoration: underline;
}

/* Footer Contact Text */
.footer-contact-text {
	color: #fff;
	font-size: 16px;
	line-height: 1.6;
}

.footer-contact-text p {
	margin-bottom: 10px;
}

/* Footer Phone */
body .footer-phone a {
	color: #fff;
	text-decoration: none;
	font-size: 18px;
	font-weight: 400;
	transition: opacity 0.15s;
}

body .footer-phone a:hover {
	opacity: 0.8;
	text-decoration: underline;
}

/* Footer Social Links */
.footer-social-links svg {
	max-width: 32px;
	max-height: 32px;
}
.footer-social-links a:hover {
	opacity: 0.8;
}

/* Footer Copyright Bar */
.footer-copyright-bar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 20px;
	padding: 12px 24px;
	color: #fff;
	font-size: 16px;
}

.footer-copyright-bar a {
	color: #fff;
	text-decoration: none !important;
}

.footer-copyright-bar a:hover {
	text-decoration: none;
}

@media (max-width: 600px) {
	.footer-copyright-bar {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}
}

.ctas-wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
}
.standard-button {
	text-decoration: none;
	min-width: 121px;
	width: fit-content;
	min-height: 56px;
	padding: 15px 18px;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #455946;
	text-align: center;
	font-family: 'Avenir Next LT Pro';
	font-size: 18px;
	font-style: normal;
	font-weight: 500;
	line-height: normal;
	letter-spacing: 1.8px;
	border-radius: 8px;
	background: #BFAC7B;
	transition: all .15s;
	box-sizing: border-box;
}

@media screen and (min-width: 991px) {
	.flexible-content-wrap .standard-button {
		padding: 15px 50px;
	}
}
.standard-button:hover {
	background: #455946;
	color: #BFAC7B;
}
.standard-button.blue-button {
	background: #455946;
	color: #BFAC7B;
}
.standard-button.blue-button:hover {
	background: #BFAC7B;
	color: #455946;
}
.standard-button.green-button {
	background: #455946;
	color: #BFAC7B;
}
.standard-button.green-button:hover {
	background: #BFAC7B;
	color: #455946;
}

@media screen and (max-width: 1199px) {
	.footer-row-2 {
		flex-direction: column;
	}

	.footer-col {
		min-width: 100%;
	}
	.nav-right-col {
		display: none;
	}
	body.home #nav-icon1 span {
		background: #fff;
	}
	body.home .menu-toggle.opened #nav-icon1 span {
		background: #455946;
	}
	.nav-menu-wrap {
		width: auto;
	}
}

@media screen and (max-width: 1199px) {

}

/* Flexible Content Layouts */

/* Hero Section */
.hero-section {
	position: relative;
	min-height: 500px;
	display: flex;
	align-items: flex-end;
	overflow: hidden;
}

.hero-image-wrapper {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}

.hero-background-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.hero-background-video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
}
.hero-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(180deg, rgba(16, 42, 82, 0.00) 0%, #455946 100%);
	z-index: 2;
	display: none;
}

.hero-content {
	position: relative;
	z-index: 3;
	width: 100%;
	padding: 60px 24px 10% 60px;
	text-align: center;
}

.hero-title {
	color: #fff;
	margin-bottom: 0;
	text-transform: uppercase;
}

.hero-subtitle {
	color: #fff;
	margin-bottom: 0;
	text-transform: uppercase;
	font-family: 'Avenir Next LT Pro';
	font-size: 40px;
}

/* Simple Text Section */
.simple-text-section {
	overflow: hidden;
}

.simple-text-content p:last-child {
	margin-bottom: 0;
}

/* No Side Padding */
.no-side-padding {
	padding-left: 0;
	padding-right: 0;
}

/* Buttons Section */
.buttons-section .buttons-wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}

.buttons-wrap.left-aligned {
	justify-content: flex-start;
}

.buttons-wrap.center-aligned {
	justify-content: center;
}

.buttons-wrap.right-aligned {
	justify-content: flex-end;
}

/* Two Columns Text Section */
.two-columns-text-section .two-columns-row {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}

.two-columns-col {
	flex: 1;
	min-width: 280px;
}

.two-columns-content {
	height: 100%;
}

.two-columns-content .ctas-wrap {
	margin-top: 24px;
}

/* Two Columns Image Section */
.two-columns-image-section .two-columns-row {
	display: flex;
	flex-wrap: wrap;
	gap: 60px;
}

.two-columns-image-section .text-column {
	display: flex;
	align-items: center;
}

.two-columns-image-section .image-column .image-wrapper {
	border-radius: 8px;
	overflow: hidden;
}

.two-columns-image-section .image-column img {
	width: 100%;
	height: auto;
	display: block;
}

/* Three Images Section */
.three-images-section .three-images-row {
	display: flex;
	flex-wrap: wrap;
	gap: 32px;
}

.three-images-text-col {
	flex: 1;
	min-width: 280px;
}

.three-images-text-col .content-block {
	margin-bottom: 40px;
}

.three-images-text-col .content-block:last-child {
	margin-bottom: 0;
}

.three-images-col {
	flex: 1;
	min-width: 280px;
}

.three-images-wrapper {
	display: flex;
	gap: 20px;
}

.three-images-wrapper .large-image {
	flex: 1;
}

.three-images-wrapper .large-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 8px;
}

.three-images-wrapper .stacked-images {
	display: flex;
	flex-direction: column;
	gap: 20px;
	flex: 1;
}

.three-images-wrapper .stacked-image img {
	width: 100%;
	height: auto;
	border-radius: 8px;
}

/* Simple Image Section */
.simple-image-section.centered-image {
	text-align: center;
}

.simple-image-section.centered-image .simple-image-wrapper {
	margin: 0 auto;
}

.simple-image-wrapper img {
	max-width: 100%;
	height: auto;
	display: block;
}

/* Two Column Slider Section - Mobile First */
.two-col-slider-section {
	background: #FFF;
	padding: 40px 24px;
}

.two-col-slider-row {
	display: block;
}

.two-col-slider-col-1 {
	margin-bottom: 32px;
}

/* .two-col-slider-col-1 .section-title {
	margin-bottom: 16px;
	font-size: 32px;
} */

.two-col-slider-col-1 .section-text {
	margin-bottom: 24px;
}

.two-col-slider-col-1 .section-text p {
	color: #455946;
	font-size: 16px;
	line-height: 1.6;
}

.two-col-slider-col-2 {
	width: 100%;
}

/* Mobile Slider Styles - Simple and Clean */
.slider-navigation-wrapper {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	margin-bottom: 16px;
	gap: 12px;
	margin-top: 24px;
}

.slider-nav-arrows {
	display: flex;
	flex-direction: row;
	gap: 12px;
}

.slider-arrow {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: none;
	background: #455946;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	color: #BFAC7B;
}

.slider-wrapper {
	width: 100%;
	overflow: hidden;
}

.swiper {
	width: 100%;
}

.swiper-wrapper {
	display: flex;
}

.swiper-slide {
	max-width: 100%;
	flex-shrink: 0;
}

.slide-card {
	background: #FFF;
	width: 100%;
}

.slide-image {
	width: 100%;
	height: 250px;
	overflow: hidden;
	border-radius: 8px;
	margin-bottom: 12px;
}

.slide-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.slide-image-link {
	display: block;
	text-decoration: none;
}

.slide-content {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.slide-title a {
	color: #BFAC7B !important;
	font-family: 'Angsana New'; letter-spacing: 10%; text-transform: uppercase;
	font-size: 32px;
	font-style: normal;
	font-weight: 400;
	line-height: 24px; /* 75% */
	letter-spacing: 3.2px;
	text-decoration: none !important;
}
.slide-title a:hover {
	opacity: 0.8;
}

.slide-title h3 a {
	color: #455946;
	text-decoration: none;
}

.slide-price {
	color: #455946;
	font-family: 'Avenir Next LT Pro';
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
}

.slide-price strong {
	color: #455946;
	font-family: 'Avenir Next LT Pro';
	font-size: 20px;
	font-style: normal;
	font-weight: 500;
	line-height: normal;
}

.slide-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	padding-top: 8px;
}

.slide-meta .meta-item {
	color: #455946;
	font-family: 'Avenir Next LT Pro';
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
}


.slide-meta .meta-item svg {
	color: #BFAC7B;
	flex-shrink: 0;
}

/* Full Width Container */
.full-width-container {
	width: 100%;
}
.negative-margin-top-widget {
	margin-top: -60px;
	position: relative;
	z-index: 3;
	padding-bottom: 0;
}

/* Custom homepage search form that redirects to /find-a-villa/ with
   WPBS-compatible GET parameters. Replaces the WPBS search shortcode on the homepage
   so the form can be styled inline (all fields on one row on desktop) and submits
   as a standard GET to the villa-search page. */

/* ── Homepage Search Form ── */
.hp-search-form-wrap {
	padding: 24px;
	border-radius: 8px;
	background: #FFF;
	box-shadow: 0 0 100px 0 rgba(0, 0, 0, 0.25);
	position: relative;
	z-index: 3;
}

.hp-search-form {
	display: flex;
	align-items: flex-end;
	gap: 24px;
	flex-wrap: wrap;
}

/* Each field stretches equally on desktop */
.hp-search-field {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	flex-direction: column;
}

/* Submit button column doesn't need to stretch as much */
.hp-search-field-submit {
	flex: 0 0 auto;
}

/* Labels */
.hp-search-form label {
	color: #455946;
	font-family: 'Angsana New'; letter-spacing: 10%; text-transform: uppercase;
	font-size: 24px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	padding-bottom: 6px;
	display: block;
	white-space: nowrap;
	text-transform: uppercase;
}


/* Custom select arrow */
.hp-select-wrap {
	position: relative;
}

.hp-select-wrap::after {
	content: '';
	pointer-events: none;
	position: absolute;
	right: 14px;
	top: 50%;
	transform: translateY(-50%);
	width: 14px;
	height: 8px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8' fill='none'%3E%3Cpath d='M1 1L7 7L13 1' stroke='%23455946' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: contain;
}

/* Date range input — calendar icon */
.hp-search-field-dates {
	position: relative;
}
.hp-search-field select {
	-webkit-appearance: none;
	appearance: none;
	-moz-appearance: none;
}

.hp-search-field-dates input[type="text"] {
	padding-right: 40px;
}

.hp-search-field-dates::after {
	content: '';
	position: absolute;
	right: 14px;
	bottom: 18px;
	width: 18px;
	height: 18px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E");
	background-size: contain;
	background-repeat: no-repeat;
	pointer-events: none;
}

/* Min-stay notice — inside flatpickr calendar popup */
.hp-cal-minstay-notice {
	font-size: 12px;
	color: #455946;
	background: rgba(69, 89, 70, 0.08);
	border-bottom: 1px solid rgba(69, 89, 70, 0.2);
	padding: 7px 12px;
	text-align: center;
	border-radius: 8px 8px 0 0;
}
.hp-cal-minstay-notice--warn {
	color: #8B4513;
	background: rgba(255, 160, 80, 0.15);
	border-bottom-color: rgba(200, 100, 30, 0.3);
}

/* Min-stay notice — persistent, floats below date input after picker closes */
.hp-minstay-notice {
	position: absolute;
	top: calc(100% + 3px);
	left: 0;
	right: 0;
	font-size: 12px;
	padding: 2px 10px;
	border-radius: 4px;
	color: #455946;
	background: rgba(69, 89, 70, 0.08);
	z-index: 10;
	white-space: nowrap;
}
.hp-minstay-notice--warn {
	color: #8B4513;
	background: rgba(255, 160, 80, 0.15);
}

/* Submit button */
#hp-search-submit {
	background-color: #BFAC7B;
	text-decoration: none;
	min-width: 121px;
	min-height: 48px;
	padding: 12px 20px;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: all .15s;
	box-sizing: border-box;
	color: #455946;
	text-align: center;
	font-family: 'Avenir Next LT Pro', sans-serif;
	font-size: 18px;
	font-style: normal;
	font-weight: 500;
	line-height: normal;
	letter-spacing: 1.8px;
	border-radius: 8px;
	border: none;
	cursor: pointer;
	white-space: nowrap;
}

#hp-search-submit:hover {
	background-color: #455946;
	color: #BFAC7B;
}

/* ── Flatpickr theme overrides — match brand colours ── */
.flatpickr-calendar {
	font-family: 'Avenir Next LT Pro', sans-serif !important;
	border-radius: 8px !important;
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.15) !important;
	z-index: 99999 !important;
}

.flatpickr-months .flatpickr-month,
.flatpickr-current-month .flatpickr-monthDropdown-months {
	background: #455946 !important;
	color: #FFF !important;
}
body .flatpickr-current-month {
	padding-bottom: 6px !important;
}

.hp-search-form-wrap select:not(.ui-datepicker-month):not(.ui-datepicker-year), .hp-search-form-wrap input[type="text"], .hp-search-form-wrap input[type="email"], .hp-search-form-wrap input[type="password"], .hp-search-form-wrap input[type="number"]:not(.numInput), .hp-search-form-wrap input[type="search"], .hp-search-form-wrap input[type="date"], .hp-search-form-wrap input[type="datetime-local"], .hp-search-form-wrap input[type="month"], .hp-search-form-wrap input[type="week"], .hp-search-form-wrap input[type="time"], .hp-search-form-wrap input[type="url"], .hp-search-form-wrap input[type="tel"], .hp-search-form-wrap textarea:not(.select2-search__field), .hp-search-form-wrap .input-div {
	border: 1px solid #AFAFAF;
	border-radius: 8px;
	background: #FFF;
}

.flatpickr-current-month .flatpickr-monthDropdown-months option {
	background: #FFF !important;
	color: #455946 !important;
}

.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
	fill: #BFAC7B !important;
	color: #BFAC7B !important;
}

.flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-months .flatpickr-next-month:hover svg {
	fill: #FFF !important;
}

.flatpickr-current-month input.cur-year {
	color: #FFF !important;
}

span.flatpickr-weekday {
	color: #455946 !important;
	font-weight: 700 !important;
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover {
	background: #455946 !important;
	border-color: #455946 !important;
	color: #FFF !important;
}

.flatpickr-day.inRange {
	background: rgba(16, 42, 82, 0.12) !important;
	border-color: rgba(16, 42, 82, 0.12) !important;
	box-shadow: -5px 0 0 rgba(16, 42, 82, 0.12), 5px 0 0 rgba(16, 42, 82, 0.12) !important;
}

.flatpickr-day:hover {
	background: #BFAC7B !important;
	border-color: #BFAC7B !important;
	color: #455946 !important;
}

.flatpickr-day.today {
	border-color: #BFAC7B !important;
}

.flatpickr-day.flatpickr-disabled,
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay {
	color: #bbb !important;
}

/* ── Homepage search form responsive ── */
@media screen and (max-width: 991px) {
	.hp-search-form {
		flex-direction: column;
		gap: 16px;
	}

	.hp-search-field {
		flex: none;
		width: 100%;
	}

	.hp-search-field-submit {
		flex: none;
		width: 100%;
	}

	#hp-search-submit {
		width: 100%;
	}
}

.wpbs_s-search-widget .wpbs_s-search-widget-results-wrap {
	padding: 0;
}
.wpbs_s-search-widget-form-wrap {
	padding: 24px;
	border-radius: 8px;
	background: #FFF;
	box-shadow: 0 0 100px 0 rgba(0, 0, 0, 0.25);
	position: relative;
	z-index: 3;
}
.wpbs_s-search-widget {
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.wpbs_s-search-widget .wpbs_s-search-widget-form .wpbs_s-search-widget-field.wpbs_s-search-widget-field-submit {
	position: static;
}
.wpbs_s-search-widget .wpbs_s-search-widget-form .wpbs_s-search-widget-field {
	margin-right: 0;
}
.wpbs_s-search-widget .wpbs_s-search-widget-form {
	display: flex;
	padding: 24px 24px 0 24px !important;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 24px;
}

.wpbs_s-search-widget .wpbs_s-search-widget-form .wpbs_s-search-widget-field button.wpbs_s-search-widget-datepicker-submit {
	background-color: #BFAC7B !important;
	text-decoration: none;
	min-width: 121px;
	min-height: 56px;
	padding: 15px 17px !important;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: all .15s;
	box-sizing: border-box;
	color: #455946 !important;
	text-align: center;
	font-family: 'Avenir Next LT Pro' !important;
	font-size: 18px !important;
	font-style: normal;
	font-weight: 700 !important;
	line-height: normal !important;
	letter-spacing: 0.18px;
	border-radius: 8px !important;
}
.wpbs_s-search-widget .wpbs_s-search-widget-form .wpbs_s-search-widget-field button.wpbs_s-search-widget-datepicker-submit:hover {
	background-color: #455946 !important;
	color: #BFAC7B !important;
}
.wpbs-main-wrapper .wpbs-form-container .wpbs-form-field button.wpbs-coupon-code-button, .wpbs-main-wrapper .wpbs-form-container .wpbs-form-field button[type=submit], .wpbs-main-wrapper .wpbs-form-container .wpbs-form-field input[type=submit] {
	background-color: #455946 !important;
	text-decoration: none;
	min-width: 121px;
	min-height: 56px;
	padding: 15px 17px !important;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: all .15s;
	box-sizing: border-box;
	color: #BFAC7B !important;
	text-align: center;
	font-family: 'Avenir Next LT Pro' !important;
	font-size: 18px !important;
	font-style: normal;
	font-weight: 700 !important;
	line-height: normal !important;
	letter-spacing: 0.18px;
	border-radius: 8px !important;
}
.wpbs-main-wrapper .wpbs-form-container .wpbs-form-field button.wpbs-coupon-code-button:hover, .wpbs-main-wrapper .wpbs-form-container .wpbs-form-field button[type=submit]:hover, .wpbs-main-wrapper .wpbs-form-container .wpbs-form-field input[type=submit]:hover {
	background-color: #BFAC7B !important;
	color: #455946 !important;
}
.wpbs_s-search-widget .wpbs_s-search-widget-form .wpbs_s-search-widget-field input[type=text], .wpbs_s-search-widget .wpbs_s-search-widget-form .wpbs_s-search-widget-field select {
	border-radius: 8px !important;
	background: #EBEBEB !important;
	border: none !important;
	min-height: 56px !important;
	padding: 12px !important;
	color: #000 !important;
	font-family: 'Avenir Next LT Pro' !important;
	font-size: 18px !important;
	font-style: normal !important;
	font-weight: 600 !important;
	line-height: normal !important;
}
.wpbs_s-search-widget .wpbs_s-search-widget-form .wpbs_s-search-widget-field-select-wrap:after {
	top: 22px;
}
.wpbs_s-search-widget .wpbs_s-search-widget-form .wpbs_s-search-widget-field label {
	color: #455946;
	font-family: 'Angsana New'; letter-spacing: 10%; text-transform: uppercase;
	font-size: 18px !important;
	font-style: normal;
	font-weight: 400 !important;
	line-height: normal;
	padding-bottom: 6px !important;
}
.wpbs_s-search-widget .wpbs_s-search-widget-form .wpbs_s-search-widget-field label::after {
	content: ':';
}
.max-width-para p {
	max-width: 1054px;
	margin: 0 auto;
}

.wpbs-form-confirmation-message {
    display: none !important;
}

/* Responsive adjustments */
.home .flatpickr-current-month select:not(.ui-datepicker-month):not(.ui-datepicker-year) {
	padding: 0px;
	min-height: 28px;
	border: none;
	margin-right: 14px;
}

.home .flatpickr-current-month .numInputWrapper span.arrowDown:after {
	border-top-color: #fff;
	color: #fff;
}
.home .flatpickr-current-month .numInputWrapper span.arrowUp:after {
	border-bottom-color: #fff;
	color: #fff;
}
@media screen and (min-width: 768px) {
	.home .wpbs-search-widget-field-start-date, .home .wpbs-search-widget-field-end-date {
		max-width: 160px;
	}
	.two-columns-row.flex-row-reverse .two-columns-col.text-column {
		padding-left: 60px;
	}
	.two-columns-row:not(.flex-row-reverse) .two-columns-col.text-column {
		padding-right: 60px;
	}
}
@media screen and (min-width: 1200px) {
	.home .wpbs-search-widget-field-start-date, .home .wpbs-search-widget-field-end-date {
		max-width: 220px;
		flex-shrink: 0;
	}
	.home .wpbs_s-search-widget .wpbs_s-search-widget-form .wpbs_s-search-widget-field button.wpbs_s-search-widget-datepicker-submit {
		min-width: 360px;
	}
	.home .wpbs_s-search-widget-additional-field {
		flex: 1;
		min-width: 150px;
	}
	.wpbs_s-search-widget-field-submit {
		flex: 0 0 auto;
		min-width: 121px;
	}
	.hero-section {
		min-height: 700px;
	}
	.negative-margin-top-widget {
		margin-top: -150px;
	}
	.hero-content {
		padding: 127px 24px 160px;
	}
	
	.two-columns-image-section .two-columns-row,
	.three-images-section .three-images-row {
		gap: 0px;
	}
	
	.two-col-slider-row {
		gap: 80px;
	}
	
	.two-col-slider-col-1 {
		max-width: 45%;
	}
	
	.two-col-slider-col-2 {
		max-width: 55%;
	}
}

@media screen and (min-width: 1550px) {
	.hero-section {
		min-height: 898px;
	}
}

@media screen and (max-width: 991px) {
	.two-columns-image-section .two-columns-row,
	.three-images-section .three-images-row {
		gap: 40px;
	}
	
	.three-images-wrapper {
		flex-direction: column;
	}
	
	.two-col-slider-row {
		gap: 40px;
	}
}

@media screen and (max-width: 991px) {
	.hero-section {
		min-height: 400px;
	}
	.wpbs_s-search-widget .wpbs_s-search-widget-form {
		flex-direction: column;
		align-items: flex-start;
		gap: 20px;
	}
	.two-columns-row {
		gap: 30px;
	}
	.wpbs_s-search-widget .wpbs_s-search-widget-form .wpbs_s-search-widget-field {
		width: 100%;
	}
	.wpbs_s-search-widget .wpbs_s-search-widget-form .wpbs_s-search-widget-field.wpbs_s-search-widget-field-submit, .wpbs_s-search-widget .wpbs_s-search-widget-form .wpbs_s-search-widget-field button.wpbs_s-search-widget-datepicker-submit {
		width: 100% !important;
	}
	
	.two-columns-col,
	.three-images-text-col,
	.three-images-col {
		min-width: 100%;
	}
	
	.two-col-slider-row {
		flex-direction: column;
		gap: 40px;
	}
	
	.two-col-slider-col-1 {
		min-width: 100%;
		flex: 0 0 auto;
	}
	
	.two-col-slider-col-2 {
		min-width: 100%;
		flex: 0 0 auto;
		overflow: hidden;
	}
	
	.two-col-slider-section .container {
		overflow-x: hidden;
	}
	
	.slider-navigation-wrapper {
		justify-content: flex-start;
	}
}
/* Desktop Styles - 992px and above */
@media screen and (min-width: 992px) {
	.two-col-slider-section {
		overflow: hidden;
		position: relative;
	}
	
	.two-col-slider-row {
		display: flex;
		flex-wrap: wrap;
		gap: 60px;
		align-items: center;
	}
	
	.two-col-slider-col-1 {
		flex: 1;
		min-width: 300px;
		max-width: 45%;
		margin-bottom: 0;
	}
	
	/* .two-col-slider-col-1 .section-title {
		margin-bottom: 24px;
		font-size: 48px;
	} */
	
	.two-col-slider-col-1 .section-text {
		margin-bottom: 32px;
	}
	
	.two-col-slider-col-1 .section-text p {
		font-size: 18px;
	}
	
	.two-col-slider-col-1 .standard-button {
		margin-bottom: 0;
	}
	
	.two-col-slider-col-2 {
		flex: 1;
		min-width: 300px;
		max-width: 55%;
		position: relative;
	}
	
	.slider-navigation-wrapper {
		display: flex;
		justify-content: flex-start;
		margin-bottom: 24px;
		position: relative;
		z-index: 10;
	}
	
	.slider-nav-arrows {
		display: flex;
		gap: 24px;
	}
	
	.slider-arrow {
		width: 48px;
		height: 48px;
		transition: all 0.15s;
	}
	
	.slider-arrow:hover {
		background: #d4c08f;
		color: #455946;
	}
	
	.slider-arrow:disabled {
		opacity: 0.3;
		cursor: not-allowed;
	}
	
	.slider-arrow:disabled:hover {
		background: #455946;
		color: #BFAC7B;
	}
	
	.slider-wrapper {
		margin-right: -24px;
		overflow: visible;
		clip-path: inset(0 -100vw 0 0);
	}
	
	.swiper {
		display: flex;
		overflow: visible;
	}
	
	.swiper-wrapper {
		display: flex;
		align-items: stretch;
		flex-wrap: nowrap;
	}
	
	.swiper-slide {
		height: auto;
		display: flex;
		width: auto;
		max-width: 609px;
		align-self: stretch;
		flex-shrink: 0;
	}
	
	.slide-card {
		overflow: hidden;
		display: flex;
		flex-direction: column;
		height: 100%;
		transition: all 0.3s;
	}
	
	.slide-image {
		height: 386px;
	}
	
	.slide-image-link {
		transition: all .15s;
	}
	
	.slide-image-link:hover {
		opacity: 0.95;
	}
	
	.slide-image-link:hover img {
		transform: scale(1.05);
	}
	
	.slide-image img {
		transition: all .3s;
	}
	
	.slide-content {
		flex-grow: 1;
	}
	
	.slide-title h3 {
		font-size: 24px;
	}
	
	.slide-title h3 a {
		transition: all 0.15s;
	}
	
	.slide-title h3 a:hover {
		color: #0a1f3d;
	}
	
	.slide-price {
		font-size: 16px;
	}
	
	.slide-meta {
		gap: 16px;
	}
	
	.slide-meta .meta-item {
		font-size: 14px;
	}
}
.center-text, .center-cta {
	text-align: center;
}
.center-cta {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 12px 0;
}
   
/* EXPERIENCES SLIDER (Pyramid/Coverflow Effect) */
.experiences-slider-section {
	overflow: hidden;
}
.experiences-slider-section .container {
	max-width: 1324px;
}
.experiences-slider-header {
	text-align: center;
}


.experiences-slider-header .section-text {
	color: #000;
	text-align: center;
	font-family: 'Avenir Next LT Pro';
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
}

.experiences-slider-wrapper {
	position: relative;
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
}

.experiences-slider-wrapper .swiper {
	overflow: visible;
	padding: 32px 0 32px;
	width: 100%;
	max-width: 100%;
}

.experiences-slider-wrapper .swiper-slide {
	width: 280px;
	height: 400px;
	transition: transform 0.3s ease;
}

.exp-slide-card {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	border-radius: 8px;
	overflow: hidden;
	text-decoration: none;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
	transition: all 0.3s ease;
}

.exp-slide-card:hover {
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
	transform: translateY(-4px);
}

.exp-slide-image {
	position: relative;
	width: 100%;
	height: 100%;
}

.exp-slide-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.exp-slide-overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 50%;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.00) 0%, #455946 98.56%);
	pointer-events: none;
}

.exp-slide-content {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 24px;
	color: #fff;
	z-index: 2;
}

.exp-slide-title {
	color: #FFF;
	font-family: 'Angsana New'; letter-spacing: 10%; text-transform: uppercase;
	font-size: 32px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	line-height: 1.3;
}

.exp-slide-excerpt {
	color: #FFF;
	font-family: 'Avenir Next LT Pro';
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* Hide excerpt on non-active slides */
.swiper-slide:not(.swiper-slide-active) .exp-slide-excerpt {
	display: none;
}
/* Disable pointer events on inactive slides to fix cursor glitch */
.swiper-slide:not(.swiper-slide-active) .exp-slide-card {
	pointer-events: none;
	/* opacity: 0.8; */
}

.experiences-slider-navigation {
	display: none;
}

.exp-slider-arrow {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: #455946;
	color: #BFAC7B;
	border: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.3s ease;
}

.exp-slider-arrow:hover {
	background: #BFAC7B;
	color: #455946;
	transform: scale(1.05);
}

.exp-slider-arrow:disabled {
	opacity: 0.3;
	cursor: not-allowed;
}

.exp-slider-arrow:disabled:hover {
	background: #455946;
	color: #BFAC7B;
	transform: scale(1);
}

.exp-slider-arrow svg {
	width: 24px;
	height: 24px;
}

/* Responsive adjustments for experiences slider */
@media (min-width: 768px) {
	.experiences-slider-section {
		padding: 80px 40px;
	}
	
	.experiences-slider-header .section-title {
		font-size: 42px;
	}
	
	.experiences-slider-header .section-text {
		font-size: 18px;
	}
	
	.experiences-slider-wrapper .swiper-slide {
		width: 320px;
		height: 450px;
	}
	
	.exp-slide-title {
		font-size: 24px;
	}
	
	.exp-slide-excerpt {
		font-size: 15px;
	}
	
	.exp-slide-content {
		padding: 32px;
	}
}

@media (min-width: 992px) {
	.experiences-slider-section {
		padding: 100px 60px;
	}
	
	.experiences-slider-header {
		margin-bottom: 32px;
	}
	
	.experiences-slider-header .section-title {
		font-size: 52px;
	}
	
	.experiences-slider-wrapper .swiper-slide {
		width: 416px;
		height: 697px;
	}
	
	.exp-slide-title {
		font-size: 28px;
		margin-bottom: 12px;
	}
	
	.exp-slide-excerpt {
		font-size: 16px;
	}
}

/* Center Align Content for Layouts */
.center-align.two-columns-text-section .two-columns-col,
.center-align.two-columns-image-section .two-columns-col,
.center-align.three-images-section .three-images-text-col {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

/* Reverse Columns Styling */
.flex-row-reverse {
	flex-direction: row-reverse;
}

@media (min-width: 1200px) {
	.two-columns-image-section .flex-row-reverse .text-column .content-block,
	.three-images-section .flex-row-reverse .three-images-text-col .content-block {
		padding-left: 120px;
	}
	
	.three-images-row {
		display: flex;
		align-items: stretch;
	}
	
	.three-images-section .three-images-col {
		flex: 0 0 calc(55% - 12px) !important;
		width: calc(55% - 12px) !important;
	}
	
	.three-images-section .three-images-text-col {
		flex: 0 0 calc(45% - 12px) !important;
		width: calc(45% - 12px) !important;
	}
	
	.three-images-section .three-images-wrapper {
		min-height: 710px;
		display: flex;
		flex-direction: row;
		gap: 24px;
	}
	
	.three-images-section .large-image {
		flex: 0 0 50%;
		min-height: 710px;
	}
	
	.three-images-section .large-image img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		display: block;
	}
	
	.three-images-section .stacked-images {
		flex: 0 0 50%;
		display: flex;
		flex-direction: column;
		gap: 24px;
		height: 710px;
	}
	
	.three-images-section .stacked-image {
		flex: 1;
		overflow: hidden;
	}
	
	.three-images-section .stacked-image img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		display: block;
	}
}


/* Our Collections Cards */
.our-collections-section {
    padding: 80px 24px;
}

.our-collections-section .container {
    max-width: 1592px;
}

.our-collections-header {
    text-align: center;
    margin-bottom: 48px;
}

.our-collections-header .section-title {
    color: #455946;
    margin-bottom: 16px;
}

.our-collections-header .section-text {
    color: #585858;
    font-size: 18px;
    letter-spacing: 0.36px;
    max-width: 1324px;
    margin: 0 auto;
}

.our-collections-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}

@media (min-width: 768px) {
    .our-collections-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

.collection-card {
    border-radius: 8px;
    overflow: hidden;
}

.collection-card-inner {
    display: block;
    position: relative;
    border-radius: 8px;
    overflow: hidden;
    text-decoration: none;
}

a.collection-card-inner:hover .collection-card-image img {
    transform: scale(1.05);
}

.collection-card-image {
    position: relative;
    height: 346px;
    overflow: hidden;
    border-radius: 8px;
}

.collection-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.collection-card-overlay {
    position: absolute;
    inset: 0;
    border-radius: 8px;
    background: linear-gradient(to top, rgba(69, 89, 70, 0.75) 0%, rgba(255, 255, 255, 0) 31.25%);
}

.collection-card-content {
    position: absolute;
    bottom: 24px;
    left: 0;
    right: 0;
    text-align: left;
    padding: 0 20px;
}

.collection-card-title {
    display: block;
    font-family: 'Angsana New'; letter-spacing: 10%; text-transform: uppercase;
    font-size: 32px;
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 3.2px;
    text-transform: uppercase;
    color: #ffffff;
}

@media (min-width: 992px) {
    .our-collections-section {
        padding: 100px 60px;
    }

    .our-collections-header {
        margin-bottom: 56px;
    }
}

@media (min-width: 1600px) {
    .our-collections-section {
        padding: 120px 0;
    }
}

/* Single Property */
.property-container {
	max-width: 1592px;
	margin: 0 auto;
	padding: 40px 0;
}
@media (min-width: 1600px) {
	.property-container {
		padding-bottom: 100px;
	}
	.two-columns-image-section .flex-row-reverse .text-column .content-block,
	.three-images-section .flex-row-reverse .three-images-text-col .content-block {
		padding-left: 140px;
	}
}

.property-special-offer-banner {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	background: rgba(191, 172, 123, 0.24);
	border: 1px solid #BFAC7B;
	border-radius: 8px;
	padding: 40px 32px;
	margin: 0 auto 32px;
	max-width: 786px;
	font-family: 'Avenir Next LT Pro', sans-serif;
	font-size: 18px;
	font-weight: 500;
	font-style: normal;
	line-height: normal;
	letter-spacing: 0.18px;
	color: #455946;
	text-align: center;
}

.property-title {
	text-align: center;
	margin-bottom: 24px;
	padding: 0 24px;
}

/* Property Meta Info */
.property-meta-info {
	display: flex;
	flex-wrap: wrap;
	gap: 32px;
	margin-bottom: 40px;
	justify-content: center;
	padding: 0 24px;
	align-items: center;
}

.property-meta-info .meta-item {
	display: flex;
	align-items: center;
	gap: 8px;
	color: #455946;
	font-family: 'Avenir Next LT Pro';
	font-size: 16px;
	font-style: normal;
	font-weight: 600;
	line-height: normal;
}

.property-meta-info .meta-item .meta-label-light {
	font-weight: 400;
}

.property-meta-info .meta-item svg {
	color: #BFAC7B;
	flex-shrink: 0;
}

.low-season-label {
	color: #D67C3B;
	font-style: italic;
	font-weight: 500;
	margin-left: 4px;
	display: inline;
}

@media (max-width: 991px) {
	.property-meta-info {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
	}
}

/* Property Slider */
.property-slider-container-wrap {
	overflow: hidden;
}

.property-slider-container {
	position: relative;
	margin-bottom: 48px;
	width: 100%;
}

.property-slider-container .swiper {
	position: relative;
	width: 100%;
	height: 500px;
}

.property-slider-container .swiper-wrapper {
	align-items: stretch;
}

/* .property-slider-container .swiper-slide {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #E8E8E8;
	border-radius: 8px;
	overflow: hidden;
} */

.property-slider-container .slide-image {
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.property-slider-container .slide-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.slider-actions-wrap {
	margin: 32px auto 0;
	padding: 0 24px 32px;
	max-width: 1600px;
	width: 100%;
}
.property-slider-container-wrap .swiper-scrollbar {
	background: rgba(0, 0, 0, 0.24);
	border-radius: 4px;
	height: 8px;
	position: static;
	width: 90%;
	margin: 0 auto;
}

.property-slider-container-wrap .swiper-scrollbar-drag {
	background: #455946;
	border-radius: 4px;
	height: 8px;
}

.property-slider-container-wrap .slider-navigation {
	display: flex;
	gap: 16px;
	justify-content: space-between;
	align-items: center;
	margin-top: -24px;
	width: 100%;
}

/* .property-slider-container-wrap .slider-arrow {
	background: none;
	border: 2px solid #455946;
	color: #455946;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: all 0.3s ease;
	padding: 0;
	flex-shrink: 0;
}

.property-slider-container-wrap .slider-arrow:hover {
	background: #455946;
	color: white;
	border-color: #455946;
} */
@media (max-width: 1200px) {
	.property-slider-container-wrap .swiper-scrollbar {
		width: 82%;
	}
}
@media (max-width: 768px) {
	.property-slider-container {
		width: 100%;
	}
	
	.property-slider-container .swiper {
		height: 350px;
	}
	.property-slider-container-wrap .swiper-scrollbar {
		width: 77%;
	}
}
@media (max-width: 600px) {
	.property-slider-container-wrap .swiper-scrollbar {
		width: 56%;
	}
	.property-slider-container .swiper {
		height: 250px;
	}
}

@media (min-width: 1025px) and (max-width: 1550px) {
	.property-slider-container .swiper {
		max-height: 500px !important;
		height: 500px !important;
		overflow: hidden !important;
	}
	.property-slider-container .swiper-slide {
		max-height: 500px !important;
		height: 500px !important;
		overflow: hidden !important;
	}
	.property-slider-container .slide-image {
		max-height: 500px !important;
		height: 500px !important;
		overflow: hidden !important;
	}
	.property-slider-container .slide-image img {
		height: 500px !important;
		max-height: 500px !important;
		width: 100% !important;
		object-fit: cover !important;
	}
}

@media (min-width: 1400px) {
	.property-slider-container .swiper {
		height: 700px;
	}
}
@media (min-width: 1200px) {
	.property-slider-container .swiper-slide {
		min-width: 70%;
	}
	
	.property-slider-container .slide-image {
		min-width: 70%;
	}
}

/* Property Content Container */
.property-content-container {
	display: block;
	padding: 0 24px;
}

/* Tab Navigation */
.property-tabs {
	margin-bottom: 40px;
}

.tab-navigation {
	display: flex;
	border-bottom: 2px solid rgba(16, 42, 82, 0.24);
	margin-bottom: 24px;
}

.tab-button {
	background: none;
	border: none;
	padding: 8px 12px;
	cursor: pointer;
	border-bottom: 2px solid transparent;
	margin-bottom: -2px;
	transition: all 0.3s ease;
	position: relative;
	color: #455946;
	font-family: 'Avenir Next LT Pro';
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	letter-spacing: 0.18px;
}
.tab-button:first-of-type {
	padding-left: 0;
}
.tab-button:last-of-type {
	padding-right: 0;
}
.tab-button:hover {
	border-bottom: 2px solid #455946;
	font-weight: 500;
}

.tab-button.active {
	color: #455946;
	border-bottom: 2px solid #455946;
	font-weight: 500;
}

/* Tab Content */
.tab-content {
	display: none;
	animation: fadeIn 0.3s ease-in;
}

.tab-content.active {
	display: block;
}

@keyframes fadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

/* Description Tab */
.property-description {
	line-height: 1.8;
	color: #333;
}

.property-description p {
	margin-bottom: 16px;
}

/* Amenities Tab */
.property-amenities {
	padding: 20px 0;
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
}

.amenities-grid {
	display: flex;
	flex-direction: column;
	gap: 24px;
	margin-bottom: 24px;
}

.amenity-item {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 14px;
	color: #333;
	min-width: 230px;
}

.amenity-item svg {
	color: #455946;
	flex-shrink: 0;
	width: 20px;
	height: 20px;
}
.amenity-item span {
	color: #000;
	font-family: 'Avenir Next LT Pro';
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	letter-spacing: 0.18px;
}

.property-sidebar-content {
	border-radius: 8px;
	background: #FFF;
	box-shadow: 0 0 24px 0 rgba(0, 0, 0, 0.12);
	overflow: visible;
}

.property-sidebar-content-top {
	border-radius: 12px 12px 0 0;
	overflow: hidden;
	text-align: center;
	background: #455946;
	padding: 24px;
}
.property-sidebar-content-top-text {
	color: #FFF;
	text-align: center;
	font-family: 'Avenir Next LT Pro';
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	letter-spacing: 0.18px;
	margin-bottom: 14px;
}
.property-sidebar-content-top-title {
	text-transform: uppercase;
	color: #BFAC7B;
	text-align: center;
	font-family: 'Angsana New';
	font-size: 40px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	letter-spacing: 4px;
	margin-bottom: 12px;
}
.property-min-stay-notice {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background: rgba(191, 172, 123, 0.16);
	border: 1px solid rgba(191, 172, 123, 0.45);
	border-radius: 10px;
	color: #FFF;
	font-family: 'Avenir Next LT Pro';
	font-size: 16px;
	font-style: normal;
	font-weight: 600;
	line-height: 1.4;
	padding: 12px 16px;
	margin: 0 auto 16px;
	max-width: calc(100% - 24px);
	box-sizing: border-box;
	text-align: left;
}
.property-form-section {
	padding: 24px;
}

.cl-enquiry-form .mirror-field:last-of-type {
	margin-bottom: 16px;
}

.villa-search-date-summary {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 18px;
	padding: 10px 14px;
	border-radius: 999px;
	background: rgba(69, 89, 70, 0.08);
	color: #455946;
	font-family: 'Avenir Next LT Pro';
	font-size: 15px;
	font-style: normal;
	font-weight: 600;
	line-height: 1.3;
}


.wpbs-main-wrapper .wpbs-form-container .wpbs-form-field input[type=email], .wpbs-main-wrapper .wpbs-form-container .wpbs-form-field input[type=number], .wpbs-main-wrapper .wpbs-form-container .wpbs-form-field input[type=text], .wpbs-main-wrapper .wpbs-form-container .wpbs-form-field select {
	border-radius: 4px !important;
	border: 1px solid #A8A8A8 !important;
	background: #FCF7ED !important;
	min-height: 48px !important;
	padding: 12px !important;
	color: #000 !important;
	font-family: 'Avenir Next LT Pro' !important;
	font-size: 18px !important;
	font-style: normal !important;
	font-weight: 600 !important;
	line-height: normal !important;
}
.wpbs-main-wrapper .wpbs-form-container .wpbs-form-field .wpbs-form-field-label span, .wpbs-main-wrapper .wpbs-form-container .wpbs-form-field label {
	color: #455946 !important;
	font-family: 'Avenir Next LT Pro' !important;
	font-size: 18px !important;
	font-style: normal !important;
	font-weight: 700 !important;
	line-height: normal !important;
}


@media (max-width: 1024px) {
	.amenities-grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 20px;
	}
}

@media (max-width: 768px) {
	.amenities-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 16px;
	}
}

@media screen and (min-width: 992px) {
	.property-main-column {
		padding-right: 100px;
	}
}

/* Rates Tab */
.property-rates {
	padding: 20px 0;
}

.rates-intro,
.rates-outro {
	margin-bottom: 24px;
	line-height: 1.8;
	color: #333;
}

.rates-intro p,
.rates-outro p {
	margin-bottom: 12px;
}

/* Rates Filter */
.rates-filter {
	margin-bottom: 24px;
}
.rates-filter-label {
	display: block;
	color: #455946;
	font-family: 'Avenir Next LT Pro';
	font-size: 18px;
	font-weight: 500;
	margin-bottom: 8px;
}
.rates-filter {
	position: relative;
	margin-bottom: 24px;
}
.rates-filter-label {
	display: block;
	margin-bottom: 8px;
	font-family: 'Avenir Next LT Pro';
	font-size: 16px;
	font-weight: 500;
	color: #000;
}
.rates-bedroom-select-wrap {
	position: relative;
	width: 100%;
	max-width: 360px;
}
.mirror-select-wrap {
	position: relative;
	width: 100%;
}
.rates-bedroom-select {
	width: 100%;
	border-radius: 4px;
	border: 1px solid #A8A8A8;
	background: #FCF7ED;
	min-height: 48px;
	padding: 12px;
	color: #000;
	font-family: 'Avenir Next LT Pro';
	font-size: 18px;
	font-weight: 500;
	line-height: normal;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	padding-right: 40px;
}
.rates-bedroom-select:focus {
	outline: 2px solid #455946;
	outline-offset: -2px;
	border-color: #455946;
}
.rates-bedroom-select-wrap::after {
	content: '';
	pointer-events: none;
	position: absolute;
	right: 14px;
	top: 50%;
	transform: translateY(-50%);
	width: 14px;
	height: 8px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8' fill='none'%3E%3Cpath d='M1 1L7 7L13 1' stroke='%23455946' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: contain;
}

/* Rates Table */
.rates-table-wrap {
	overflow-x: auto;
	margin-bottom: 24px;
	-webkit-overflow-scrolling: touch;
}
.rates-table {
	width: 100%;
	border-collapse: collapse;
	font-family: 'Avenir Next LT Pro';
	font-size: 16px;
	min-width: 500px;
}
.rates-table thead th {
	background: #455946;
	color: #BFAC7B;
	font-family: 'Angsana New'; letter-spacing: 10%; text-transform: uppercase;
	font-size: 24px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	text-align: left;
	padding: 14px 12px;
	white-space: nowrap;
}
.rates-table thead th:first-child {
	border-radius: 8px 0 0 0;
}
.rates-table thead th:last-child {
	border-radius: 0 8px 0 0;
}
.rates-table tbody tr {
	transition: background 0.15s;
}
.rates-table tbody tr:last-child td:first-child {
	border-radius: 0 0 0 8px;
}
.rates-table tbody tr:last-child td:last-child {
	border-radius: 0 0 8px 0;
}
.rates-table tbody tr:last-child td {
	border-bottom: none !important;
}
.rates-table tbody tr:nth-child(odd) {
	border-color: #000;
	background: rgba(191, 172, 123, 0.24);
}
.rates-table tbody tr:hover {
	background: rgba(191, 172, 123, 0.15);
}
.rates-table tbody td {
	padding: 14px 12px;
	color: #000;
	font-family: 'Avenir Next LT Pro';
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	letter-spacing: 0.18px;
	border-bottom: 1px solid #000;
	white-space: nowrap;
}

/* Mobile responsive table */
@media (max-width: 600px) {
	.rates-table {
		min-width: 0;
	}
	.rates-table thead {
		display: none;
	}
	.rates-table tbody tr {
		display: block;
		padding: 16px;
		margin-bottom: 12px;
		border: 1px solid rgba(16, 42, 82, 0.12);
		border-radius: 8px;
		/* background: #fff; */
	}
	.rates-table tbody tr:nth-child(odd) {
		background: transparent;
		border-color: rgba(16, 42, 82, 0.12);
	}
	.rates-table tbody td {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 8px 0;
		border-bottom: 1px solid rgba(16, 42, 82, 0.06);
		white-space: normal;
	}
	.rates-table tbody td:last-child {
		border-bottom: none;
	}
	.rates-table tbody td::before {
		content: attr(data-label);
		font-weight: 500;
		color: #455946;
		margin-right: 12px;
		flex-shrink: 0;
	}
	.rates-bedroom-select {
		max-width: 100%;
	}
}
.wpbs-main-wrapper .wpbs-form-container .wpbs-form-field.wpbs-form-field-dropdown .wpbs-form-field-input:after, .wpbs-main-wrapper .wpbs-form-container .wpbs-form-field.wpbs-form-field-inventory .wpbs-form-field-input:after, .wpbs-main-wrapper .wpbs-form-container .wpbs-form-field.wpbs-form-field-product_dropdown .wpbs-form-field-input:after {
	top: 18px;
	border-color: #000;
}
/* Site-wide Tables (matching rates table style) */
table:not(.rates-table) {
	width: 100%;
	border-collapse: collapse;
	font-family: 'Avenir Next LT Pro';
	font-size: 16px;
	margin-bottom: 24px;
}
table:not(.rates-table) thead th {
	background: #455946;
	color: #BFAC7B;
	font-family: 'Angsana New'; letter-spacing: 10%; text-transform: uppercase;
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	letter-spacing: 0.18px;
	text-align: left;
	padding: 14px 12px;
	white-space: nowrap;
}
table:not(.rates-table) thead th:first-child {
	border-radius: 8px 0 0 0;
}
table:not(.rates-table) thead th:last-child {
	border-radius: 0 8px 0 0;
}
table:not(.rates-table) tbody tr {
	transition: background 0.15s;
}
table:not(.rates-table) tbody tr:last-child td:first-child {
	border-radius: 0 0 0 8px;
}
table:not(.rates-table):not(.wpbs-calendar-wrapper table) tbody tr:last-child td:last-child {
	border-radius: 0 0 8px 0;
}
table:not(.rates-table) tbody tr:last-child td {
	border-bottom: none;
}
table:not(.rates-table) tbody tr:nth-child(odd) {
	background: rgba(191, 172, 123, 0.24);
}
table:not(.rates-table) tbody tr:hover {
	background: rgba(191, 172, 123, 0.15);
}
table:not(.rates-table) tbody td {
	padding: 14px 12px;
	color: #000;
	font-family: 'Avenir Next LT Pro';
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	letter-spacing: 0.18px;
	border-bottom: 1px solid #000;
	white-space: nowrap;
}

/* Mobile responsive for site-wide tables */
/* @media (max-width: 600px) {
	table:not(.rates-table) {
		min-width: 0;
		display: block;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
	table:not(.rates-table) thead {
		display: none;
	}
	table:not(.rates-table) tbody {
		display: block;
	}
	table:not(.rates-table) tbody tr {
		display: block;
		padding: 16px;
		margin-bottom: 12px;
		border: 1px solid rgba(16, 42, 82, 0.12);
		border-radius: 8px;
		background: #fff;
	}
	table:not(.rates-table) tbody tr:nth-child(odd) {
		background: #fff;
	}
	table:not(.rates-table) tbody td {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 8px 0;
		border-bottom: 1px solid rgba(16, 42, 82, 0.06);
		white-space: normal;
	}
	table:not(.rates-table) tbody td:last-child {
		border-bottom: none;
	}
	table:not(.rates-table) tbody td::before {
		content: attr(data-label);
		font-weight: 500;
		color: #455946;
		margin-right: 12px;
		flex-shrink: 0;
	}
} */

/* Availability Tab */
.property-availability {
	padding: 0px 0 32px;
}

@media (max-width: 991px) {
	
	.tab-navigation {
		gap: 12px;
	}
	.tab-button {
		font-size: 14px;
	}
}

@media (max-width: 768px) {
	.property-tabs {
		margin-bottom: 32px;
	}
	
	.tab-navigation {
		flex-wrap: wrap;
		margin-bottom: 24px;
	}
	
	.amenities-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 16px;
	}
}
/* WP Booking System Calendar Fixes */
.wpbs-main-wrapper .wpbs-container .wpbs-date {
aspect-ratio: 1 / 1 !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
}
.wpbs-main-wrapper table:not(.rates-table) tbody tr:last-child td:first-child {
	border-radius: 0 !important;
}
body .wpbs-container .wpbs-calendars .wpbs-calendar table tbody {
	background: #D5D4DF;
}
.wpbs-main-wrapper .wpbs-container .wpbs-date .wpbs-date-inner {
width: 100% !important;
height: 100% !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
}

/* Ensure hover and selection states maintain square shape */
.wpbs-main-wrapper .wpbs-container .wpbs-date:hover .wpbs-date-inner,
.wpbs-main-wrapper .wpbs-container .wpbs-date.wpbs-date-hover .wpbs-date-inner,
.wpbs-main-wrapper .wpbs-container .wpbs-date.wpbs-date-selected .wpbs-date-inner {
border-radius: 4px !important;
}

/* Split mode still counts nights; this makes selected cells look fully filled (no diagonal halves). */
body .wpbs-main-wrapper:not(.wpbs-main-wrapper-form-0) .wpbs-date.wpbs-date-selected .wpbs-legend-item-icon div:first-of-type,
body .wpbs-main-wrapper:not(.wpbs-main-wrapper-form-0) .wpbs-date.wpbs-date-selected .wpbs-legend-item-icon div:nth-of-type(2),
body .wpbs-main-wrapper:not(.wpbs-main-wrapper-form-0) .wpbs-date.wpbs-date-hover .wpbs-legend-item-icon div:first-of-type,
body .wpbs-main-wrapper:not(.wpbs-main-wrapper-form-0) .wpbs-date.wpbs-date-hover .wpbs-legend-item-icon div:nth-of-type(2) {
	background-color: #455946 !important;
}
body .wpbs-main-wrapper:not(.wpbs-main-wrapper-form-0) .wpbs-date.wpbs-date-selected .wpbs-legend-item-icon .wpbs-legend-icon-select,
body .wpbs-main-wrapper:not(.wpbs-main-wrapper-form-0) .wpbs-date.wpbs-date-hover .wpbs-legend-item-icon .wpbs-legend-icon-select {
	display: none !important;
}
body .wpbs-main-wrapper:not(.wpbs-main-wrapper-form-0) .wpbs-date.wpbs-date-selected .wpbs-date-inner,
body .wpbs-main-wrapper:not(.wpbs-main-wrapper-form-0) .wpbs-date.wpbs-date-hover .wpbs-date-inner,
body .wpbs-main-wrapper:not(.wpbs-main-wrapper-form-0) .wpbs-date.wpbs-date-selected .wpbs-date-number,
body .wpbs-main-wrapper:not(.wpbs-main-wrapper-form-0) .wpbs-date.wpbs-date-hover .wpbs-date-number,
body .wpbs-main-wrapper:not(.wpbs-main-wrapper-form-0) .wpbs-date.wpbs-date-selected .wpbs-daily-price,
body .wpbs-main-wrapper:not(.wpbs-main-wrapper-form-0) .wpbs-date.wpbs-date-hover .wpbs-daily-price {
	color: #fff !important;
}
/* Ensure white text on the green hover/selected fill for ALL calendar layouts
   (incl. single-calendar / form-0 pages such as Cool Wind), so numbers and
   prices stay readable. */
body .wpbs-date.wpbs-date-selected .wpbs-date-inner,
body .wpbs-date.wpbs-date-hover .wpbs-date-inner,
body .wpbs-date.wpbs-date-selected .wpbs-date-number,
body .wpbs-date.wpbs-date-hover .wpbs-date-number,
body .wpbs-date.wpbs-date-selected .wpbs-daily-price,
body .wpbs-date.wpbs-date-hover .wpbs-daily-price {
	color: #fff !important;
}
body .wpbs-date-today:not(.wpbs-date-hover):not(.wpbs-date-selected) .wpbs-legend-item-icon {
	border: 2px solid #91a191 !important;
}
#tab-terms-policies {
	padding: 20px 0;
}
#tab-terms-policies p strong {
	color: #455946 !important;
	font-family: "Avenir Next LT Pro";
	font-size: 18px;
	font-style: normal;
	font-weight: 500 !important;
	line-height: normal;
	letter-spacing: 0.18px;
}
#tab-terms-policies hr {
	margin-top: 24px;
	margin-bottom: 24px;
}
/* 
   PROPERTY MAP
    */
.leaflet-control-zoom  a {
	text-decoration: none !important;
}
.property-map-container {
	/* width: 100%; */
	margin: 0;
	padding: 0;
}
#property-map {
	width: 100%;
	height: 460px;
	border-radius: 24px;
}
@media (max-width: 768px) {
	#property-map {
		height: 320px;
	}
}
/* Branded logo marker */
.property-map-marker {
	background: transparent !important;
	border: none !important;
}
.property-map-marker-inner {
	width: 56px;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 56px;
	border-radius: 50%;
	border: 3px solid #fff;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}
.property-map-marker-inner img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.property-map-marker-arrow {
	width: 0;
	height: 0;
	border-left: 8px solid transparent;
	border-right: 8px solid transparent;
	border-top: 10px solid #fff;
	margin: -1px auto 0;
}
/* Popup styling */
#property-map .leaflet-popup-content-wrapper {
	border-radius: 8px;
	font-family: 'Avenir Next LT Pro', sans-serif;
	color: #455946;
}
#property-map .leaflet-popup-tip {
	background: #fff;
}
/* Hide Leaflet zoom control for cleaner look (optional) */
/*
#property-map .leaflet-control-zoom {
	display: none;
}
*/

/* ============================================================
   RELATED PROPERTIES SECTION
   ============================================================ */
.related-properties-section {
	background: #fff;
	padding: 60px 0 80px;
}
.related-properties-inner {
	max-width: 1592px;
	margin: 0 auto;
	padding: 0 24px;
}
.related-properties-heading {
	font-family: 'Angsana New', serif;
	font-size: 36px;
	color: #455946;
	text-transform: uppercase;
	letter-spacing: 3px;
	margin-bottom: 36px;
}

/* Static grid — 1, 2, or 3 cards */
.related-properties-grid {
	display: grid;
	gap: 24px;
}
.related-properties-grid--1 { grid-template-columns: 1fr; max-width: 480px; }
.related-properties-grid--2 { grid-template-columns: repeat(2, 1fr); }
.related-properties-grid--3 { grid-template-columns: repeat(3, 1fr); }

/* Slider wrapper */
.related-properties-slider-wrap {
	position: relative;
}
.related-properties-nav {
	display: flex;
	gap: 12px;
	margin-top: 24px;
	justify-content: flex-end;
}
.related-properties-nav .slider-arrow {
	width: 44px;
	height: 44px;
	border: 1px solid #BFAC7B;
	background: transparent;
	color: #455946;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background 0.2s, color 0.2s;
}
.related-properties-nav .slider-arrow:hover {
	background: #455946;
	color: #fff;
}

/* Swiper overrides for related properties */
.related-properties-slider-wrap .swiper {
	position: relative;
	overflow: hidden;
}
.related-properties-slider-wrap .vs-card {
	min-width: 0;
	max-width: none;
}

@media (max-width: 767px) {
	.related-properties-section { padding: 40px 0 60px; }
	.related-properties-heading { font-size: 28px; }
	.related-properties-grid--2,
	.related-properties-grid--3 { grid-template-columns: 1fr; }
}
@media (min-width: 768px) and (max-width: 1023px) {
	.related-properties-grid--3 { grid-template-columns: repeat(2, 1fr); }
}

/* ============================================================
   WPBS AVAILABILITY TAB — HIDE FORM, SHOW ONLY CALENDAR
    */
.wpbs-availability-wrapper .wpbs-form-container {
	display: none !important;
}

/* 
   AVAILABILITY FILTERS
    */
.availability-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	justify-content: center;
	align-items: center;
	margin: 28px 0 24px;
	padding: 20px 0;
	background: transparent !important;
}

.availability-filter-group {
	display: flex;
}

.avail-filter-input-wrapper {
	display: flex;
	gap: 0px;
	align-items: center;
	flex-wrap: wrap;
	color: #455946;
	font-family: 'Avenir Next LT Pro';
	font-size: 18px;
	font-style: normal;
	font-weight: 500;
	line-height: normal;
}

.avail-filter-input-wrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 8px;
	border: 1px solid #455946;
	border-radius: 4px;
	overflow: hidden;
	background: transparent;
	padding: 12px;
	min-width: 249px;
}
#avail-clear-btn {
	color: #455946;
	background: none;
	border: none;
	text-align: center;
	font-family: 'Avenir Next LT Pro';
	font-size: 18px;
	font-style: normal;
	font-weight: 500;
	line-height: normal;
	text-decoration: none;
}
#avail-clear-btn:hover {
	color: #BFAC7B;
}
.avail-filter-btn {
	border: none;
	background: transparent;
	font-size: 20px;
	font-weight: 500;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	-webkit-user-select: none;
	user-select: none;
}

.avail-filter-btn:hover {
	color: #BFAC7B;
}

body .avail-filter-input-wrapper .avail-filter-input {
	border: none !important;
	text-align: center !important;
	padding: 0 !important;
	border: none !important;
	min-height: unset !important;
	min-width: unset !important;
	width: fit-content !important;
	height: auto !important;
	color: #455946;
	font-family: 'Avenir Next LT Pro';
	font-size: 18px;
	font-style: normal;
	font-weight: 500;
	line-height: normal;
	background: transparent !important;
}
.avail-filter-input-wrap-nav {
	display: flex;
	align-items: center;
	gap: 4px;
}

.avail-filter-input::-webkit-inner-spin-button,
.avail-filter-input::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
body .wpbs-container .wpbs-calendars-wrapper .wpbs-calendars .wpbs-calendar .wpbs-calendar-wrapper .wpbs-date:not(.wpbs-is-bookable):not(.wpbs-date-selected):not(.wpbs-date-hover):not(.wpbs-tooltip-active) .wpbs-legend-item-icon-1 div:first-of-type {
	background-color: #BFAC7B !important;
}
body .wpbs-container .wpbs-calendars-wrapper .wpbs-calendars .wpbs-calendar .wpbs-calendar-wrapper .wpbs-date.wpbs-is-bookable:not(.wpbs-date-selected):not(.wpbs-date-hover):not(.wpbs-tooltip-active) .wpbs-legend-item-icon-1 div:first-of-type {
	background-color: #F4F2D4 !important;
}
body .wpbs-container .wpbs-calendars-wrapper .wpbs-calendars .wpbs-calendar .wpbs-calendar-wrapper .wpbs-date:not(.wpbs-is-bookable):not(.wpbs-date-selected):not(.wpbs-date-hover):not(.wpbs-tooltip-active) .wpbs-legend-item-icon-2 div:first-of-type {
	background-color: #BFAC7B !important;
}
body .wpbs-container .wpbs-calendars-wrapper .wpbs-calendars .wpbs-calendar .wpbs-calendar-wrapper .wpbs-date.wpbs-is-bookable:not(.wpbs-date-selected):not(.wpbs-date-hover):not(.wpbs-tooltip-active) .wpbs-legend-item-icon-1 div:first-of-type,
body .wpbs-container .wpbs-calendars .wpbs-calendar.wpbs-has-prices table tr td .wpbs-date-inner, body .wpbs-container .wpbs-calendars .wpbs-calendar.wpbs-has-prices table tr td .wpbs-date-inner .wpbs-date-number {
	color: #455946 !important;
	text-align: center !important;
	font-variant-numeric: lining-nums tabular-nums !important;
	font-family: Inter !important;
	font-size: 16px !important;
	font-style: normal !important;
	font-weight: 400 !important;
	line-height: normal !important;
}
body .wpbs-container .wpbs-calendars .wpbs-calendar.wpbs-has-prices table tr td .wpbs-date-inner .wpbs-date-number .wpbs-daily-price {
	font-size: 13px !important;
	color: #455946 !important;
	text-align: center !important;
	font-variant-numeric: lining-nums tabular-nums !important;
	font-family: Inter !important;
	font-style: normal !important;
	font-weight: 400 !important;
	line-height: normal !important;
}
/* Booked (non-bookable) days use the gold fill — their number + price text must be
   white for contrast. Excludes hover/selected (handled separately). */
body .wpbs-container .wpbs-calendars .wpbs-calendar.wpbs-has-prices table tr td .wpbs-date:not(.wpbs-is-bookable):not(.wpbs-date-selected):not(.wpbs-date-hover) .wpbs-date-inner,
body .wpbs-container .wpbs-calendars .wpbs-calendar.wpbs-has-prices table tr td .wpbs-date:not(.wpbs-is-bookable):not(.wpbs-date-selected):not(.wpbs-date-hover) .wpbs-date-inner .wpbs-date-number,
body .wpbs-container .wpbs-calendars .wpbs-calendar.wpbs-has-prices table tr td .wpbs-date:not(.wpbs-is-bookable):not(.wpbs-date-selected):not(.wpbs-date-hover) .wpbs-date-inner .wpbs-date-number .wpbs-daily-price {
	color: #FFFFFF !important;
}
.wpbs-container .wpbs-calendars .wpbs-calendar {
	background: transparent !important;
	border: none !important;
}
.wpbs-container .wpbs-calendars .wpbs-calendar-wrapper {
	padding: 0 !important;
	min-height: 310px !important;
}
.wpbs-container .wpbs-calendar-header-navigation p {
	display: none !important;
}
.wpbs-container .wpbs-calendar-header-navigation .wpbs-next,
.wpbs-container .wpbs-calendar-header-navigation .wpbs-prev {
	background: transparent !important;
	position: relative;
	width: 32px;
	height: 32px;
	cursor: pointer;
}
/* Hide the default arrow element */
.wpbs-container .wpbs-calendar-header-navigation .wpbs-prev .wpbs-arrow,
.wpbs-container .wpbs-calendar-header-navigation .wpbs-next .wpbs-arrow {
	display: none !important;
}
/* Chevron base styles */
.wpbs-container .wpbs-calendar-header-navigation .wpbs-prev::before,
.wpbs-container .wpbs-calendar-header-navigation .wpbs-next::before {
	content: '';
	position: absolute;
	top: 50%;
	width: 10px;
	height: 10px;
	border-top: 2px solid #455946;
	border-right: 2px solid #455946;
	transition: border-color 0.2s ease;
}
/* Left chevron (prev) */
.wpbs-container .wpbs-calendar-header-navigation .wpbs-prev::before {
	left: 50%;
	transform: translate(-25%, -50%) rotate(-135deg);
}
/* Right chevron (next) */
.wpbs-container .wpbs-calendar-header-navigation .wpbs-next::before {
	right: 50%;
	transform: translate(25%, -50%) rotate(45deg);
}
/* Hover effect */
.wpbs-container .wpbs-calendar-header-navigation .wpbs-prev:hover::before,
.wpbs-container .wpbs-calendar-header-navigation .wpbs-next:hover::before {
	border-color: #BFAC7B;
}
.wpbs-container .wpbs-calendars .wpbs-calendar table tr td .wpbs-date.wpbs-gap {
	background: #F2F3F7 !important;
}
.wpbs-container .wpbs-select-container select {
	background: transparent !important;
	border: none !important;
	min-height: unset !important;
	min-width: unset !important;
	padding: 0 !important;
	color: #455946 !important;
	font-family: 'Avenir Next LT Pro' !important;
	font-size: 18px !important;
	font-style: normal !important;
	font-weight: 800 !important;
	line-height: normal !important;
}
.wpbs-container .wpbs-calendar-header-navigation {
	color: #455946;
	font-family: 'Avenir Next LT Pro';
	font-size: 18px;
	font-style: normal;
	font-weight: 800;
	line-height: normal;
	text-align: left;
}
.wpbs-container .wpbs-calendars .wpbs-calendar table thead tr th {
	color: #455946;
	text-align: center;
	font-variant-numeric: lining-nums tabular-nums;
	font-family: Inter;
	font-size: 14px;
	font-style: normal;
	font-weight: 500;
	line-height: normal;
}
.wpbs-container .wpbs-select-container select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
.wpbs-container .wpbs-calendar-header {
	background: transparent !important;
	padding: 0 0 20px 0 !important;
}
.wpbs-container .wpbs-calendars .wpbs-calendar table tr th {
	background: transparent !important;
	padding: 20px !important;
}
.wpbs-calendars-wrapper.wpbs-legend-position-side {
	padding-right: 0 !important;
	width:  100% !important;
	min-width: 100% !important;
	max-width: 100% !important;
}
.wpbs-calendars-wrapper.wpbs-legend-position-side .wpbs-legend {
	display: none !important;
}
body .wpbs-availability-wrapper .wpbs-container[data-columns="2"] .wpbs-calendars-wrapper .wpbs-calendars .wpbs-calendar {
    min-width: 430px !important;
    max-width: 430px !important;
}
body .wpbs-main-wrapper:not(.wpbs-main-wrapper-form-0) .wpbs-enable-hover .wpbs-is-bookable:hover:not(.wpbs-selected-first):not(.wpbs-selected-last) .wpbs-legend-item-icon div:first-of-type, body .wpbs-main-wrapper:not(.wpbs-main-wrapper-form-0) .wpbs-date-hover:not(.wpbs-selected-first):not(.wpbs-selected-last) .wpbs-legend-item-icon div:first-of-type, body .wpbs-main-wrapper:not(.wpbs-main-wrapper-form-0) .wpbs-date-hover.wpbs-selected-first.wpbs-selected-last .wpbs-legend-item-icon div:first-of-type, body .wpbs-main-wrapper:not(.wpbs-main-wrapper-form-0) .wpbs-date-selected:not(.wpbs-selected-first):not(.wpbs-selected-last) .wpbs-legend-item-icon div:first-of-type, body .wpbs-main-wrapper:not(.wpbs-main-wrapper-form-0) .wpbs-date-selected.wpbs-selected-first.wpbs-selected-last .wpbs-legend-item-icon div:first-of-type, body .wpbs-main-wrapper:not(.wpbs-main-wrapper-form-0) .wpbs-enable-hover .wpbs-date-selected:hover:not(.wpbs-selected-first):not(.wpbs-selected-last) .wpbs-legend-item-icon div:first-of-type, .wpbs-container.wpbs-calendar-1 .wpbs-date.wpbs-tooltip-active .wpbs-legend-item-icon-1 div:first-of-type {
	background-color: #455946 !important;
}
body .wpbs-main-wrapper:not(.wpbs-main-wrapper-form-0) .wpbs-enable-hover .wpbs-is-bookable:hover:not(.wpbs-selected-first):not(.wpbs-selected-last) .wpbs-date-inner .wpbs-date-number, body .wpbs-main-wrapper:not(.wpbs-main-wrapper-form-0) .wpbs-date-hover:not(.wpbs-selected-first):not(.wpbs-selected-last) .wpbs-date-inner .wpbs-date-number, body .wpbs-main-wrapper:not(.wpbs-main-wrapper-form-0) .wpbs-date-hover.wpbs-selected-first.wpbs-selected-last .wpbs-date-inner .wpbs-date-number, body .wpbs-main-wrapper:not(.wpbs-main-wrapper-form-0) .wpbs-date-selected:not(.wpbs-selected-first):not(.wpbs-selected-last) .wpbs-date-inner .wpbs-date-number, body .wpbs-main-wrapper:not(.wpbs-main-wrapper-form-0) .wpbs-date-selected.wpbs-selected-first.wpbs-selected-last .wpbs-date-inner .wpbs-date-number, body .wpbs-main-wrapper:not(.wpbs-main-wrapper-form-0) .wpbs-enable-hover .wpbs-date-selected:hover:not(.wpbs-selected-first):not(.wpbs-selected-last) .wpbs-date-inner .wpbs-date-number, body .wpbs-main-wrapper:not(.wpbs-main-wrapper-form-0) .wpbs-enable-hover .wpbs-is-bookable:hover:not(.wpbs-selected-first):not(.wpbs-selected-last) .wpbs-date-inner .wpbs-daily-price, body .wpbs-main-wrapper:not(.wpbs-main-wrapper-form-0) .wpbs-date-hover:not(.wpbs-selected-first):not(.wpbs-selected-last) .wpbs-date-inner .wpbs-daily-price, body .wpbs-main-wrapper:not(.wpbs-main-wrapper-form-0) .wpbs-date-hover.wpbs-selected-first.wpbs-selected-last .wpbs-date-inner .wpbs-daily-price, body .wpbs-main-wrapper:not(.wpbs-main-wrapper-form-0) .wpbs-date-selected:not(.wpbs-selected-first):not(.wpbs-selected-last) .wpbs-date-inner .wpbs-daily-price, body .wpbs-main-wrapper:not(.wpbs-main-wrapper-form-0) .wpbs-date-selected.wpbs-selected-first.wpbs-selected-last .wpbs-date-inner .wpbs-daily-price, body .wpbs-main-wrapper:not(.wpbs-main-wrapper-form-0) .wpbs-enable-hover .wpbs-date-selected:hover:not(.wpbs-selected-first):not(.wpbs-selected-last) .wpbs-date-inner .wpbs-daily-price, body .wpbs-container .wpbs-calendars .wpbs-calendar.wpbs-has-prices table tr td .wpbs-date.wpbs-date-selected .wpbs-date-inner .wpbs-date-number .wpbs-daily-price, body .wpbs-container .wpbs-calendars .wpbs-calendar.wpbs-has-prices table tr td .wpbs-date.wpbs-tooltip-active .wpbs-date-inner .wpbs-date-number .wpbs-daily-price, body .wpbs-container .wpbs-calendars .wpbs-calendar.wpbs-has-prices table tr td .wpbs-date.wpbs-date-hover .wpbs-date-inner .wpbs-date-number .wpbs-daily-price {
	color: #fff !important;
}
body .wpbs-container .wpbs-calendars .wpbs-calendar.wpbs-has-prices table tr td .wpbs-date.wpbs-date-selected .wpbs-date-inner,
body .wpbs-container .wpbs-calendars .wpbs-calendar.wpbs-has-prices table tr td .wpbs-date.wpbs-date-hover .wpbs-date-inner,
body .wpbs-container .wpbs-calendars .wpbs-calendar.wpbs-has-prices table tr td .wpbs-date.wpbs-date-selected .wpbs-date-inner .wpbs-date-number,
body .wpbs-container .wpbs-calendars .wpbs-calendar.wpbs-has-prices table tr td .wpbs-date.wpbs-date-hover .wpbs-date-inner .wpbs-date-number,
body .wpbs-container .wpbs-calendars .wpbs-calendar.wpbs-has-prices table tr td .wpbs-date.wpbs-date-selected .wpbs-date-inner .wpbs-date-number .wpbs-daily-price,
body .wpbs-container .wpbs-calendars .wpbs-calendar.wpbs-has-prices table tr td .wpbs-date.wpbs-date-hover .wpbs-date-inner .wpbs-date-number .wpbs-daily-price {
	color: #fff !important;
}
body.single-property #ui-datepicker-div table:not(.rates-table) thead th:first-child, body.single-property #ui-datepicker-div table:not(.rates-table) thead th:last-child {
	border-radius: 0 !important;
}
body.single-property #ui-datepicker-div .ui-datepicker-title {
	display: flex;
}
body.single-property #ui-datepicker-div .ui-datepicker-prev {
	margin-right: 10px;
}
body.single-property #ui-datepicker-div .ui-datepicker-next:hover, body.single-property #ui-datepicker-div .ui-datepicker-prev:hover {
	cursor: pointer;
}
body.single-property #ui-datepicker-div {
	background: #FCF7ED;
	border: 1px solid #A8A8A8;
}
.availability-intro {
	margin-bottom: 32px;
	color: #455946;
	font-family: 'Avenir Next LT Pro';
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	letter-spacing: 0.18px;
}
@media (max-width: 600px) {
	.availability-filters {
		flex-direction: column;
		gap: 16px;
		padding: 16px 0;
	}
	.availability-filter-group {
		width: 100%;
	}
	.avail-filter-input-wrap {
		width: 100%;
		justify-content: space-between;
	}
	.avail-filter-input {
		flex: 1;
	}
}

/* 
   STAY ESTIMATE BOX
    */
#stay-estimate-box {
	display: none;
	background: #455946;
	color: #fff;
	border-radius: 10px;
	padding: 28px 28px 24px;
	margin-top: 24px;
}

.stay-estimate-title {
	font-size: 22px;
	font-weight: 500;
	color: #BFAC7B;
	margin: 0 0 18px;
	text-align: center;
	letter-spacing: 0.5px;
}

.stay-estimate-row {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin-bottom: 12px;
}
.stay-estimate-divider {
	border: none;
	border-top: 1px solid #fff;
	width: 100%;
	margin: 16px 0 24px;
}
.stay-estimate-row.total {
	margin-bottom: 0;
}
/* Descriptive values (dates, guests) are lighter than amounts */
#estimate-dates-value,
#estimate-guests-value {
	font-weight: 400;
}
/* Total row: "Total Cost:" label + amount at 500, trailing note at 400 */
.stay-estimate-row.total .stay-estimate-total-label {
	color: #BFAC7B;
	font-weight: 500;
}
.stay-estimate-row.total .stay-estimate-total-amount {
	font-weight: 500;
}
.stay-estimate-row.total .stay-estimate-total-note {
	font-weight: 400;
}
.property-description iframe {
	max-height: 483px;
}
.property-description h2 {
	margin-top: 24px !important;
}
@media screen and (min-width: 1400px) {
	.property-description h2 {
		margin-top: 80px !important;
	}
}
@media screen and (max-width: 600px) {
	.property-description h2 {
		margin-top: 32px !important;
	}
	.property-description iframe {
		max-height: 300px;
	}
	.stay-estimate-row {
		flex-direction: column;
	}
}
.stay-estimate-row .stay-estimate-value {
	color: #FFF;
	font-family: 'Avenir Next LT Pro';
	font-size: 18px;
	font-style: normal;
	font-weight: 500;
	line-height: normal;
}
.estimate-box-title {
	color: #BFAC7B;
	font-family: "Angsana New";
	letter-spacing: 10%;
	text-transform: uppercase;
	font-size: 32px;
	font-style: normal;
	font-weight: 500;
	line-height: normal;
	margin-bottom: 24px;
}
.stay-estimate-row .stay-estimate-label {
	color: #BFAC7B;
	font-family: 'Avenir Next LT Pro';
	font-size: 18px;
	font-style: normal;
	font-weight: 500;
	line-height: normal;
}


.estimate-label {
	font-size: 15px;
	font-weight: 500;
	color: #BFAC7B;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	flex-shrink: 0;
	margin-right: 12px;
}

.estimate-value {
	font-size: 15px;
	color: #fff;
	text-align: right;
}

.estimate-total-row .estimate-value {
	font-size: 18px;
	font-weight: 500;
	color: #BFAC7B;
}

.estimate-loading {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	padding: 20px 0;
	color: rgba(255,255,255,0.7);
	font-size: 15px;
	font-style: italic;
}

.estimate-loading-spinner {
	width: 22px;
	height: 22px;
	border: 3px solid rgba(255,255,255,0.2);
	border-top-color: #BFAC7B;
	border-radius: 50%;
	animation: estimateSpin 0.8s linear infinite;
}

@keyframes estimateSpin {
	to { transform: rotate(360deg); }
}

@media (max-width: 600px) {
	#stay-estimate-box {
		padding: 20px 16px;
	}
	.stay-estimate-row {
		flex-direction: column;
		gap: 6px;
	}
	.estimate-value {
		text-align: left;
	}
}

/* 
   SIDEBAR MIRROR FORM
    */

/* Submit button */
#mirror-submit-btn,
.mirror-submit-btn {
	background-color: #BFAC7B;
	text-decoration: none;
	min-width: 121px;
	min-height: 56px;
	padding: 15px 17px;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: all .15s;
	box-sizing: border-box;
	color: #455946;
	text-align: center;
	font-family: 'Avenir Next LT Pro';
	font-size: 18px;
	font-style: normal;
	font-weight: 500;
	line-height: normal;
	letter-spacing: 0.18px;
	border-radius: 8px;
	width: 100%;
	max-width: 470px;
	border: none;
}

#mirror-submit-btn:hover,
.mirror-submit-btn:hover {
	background: #455946;
	color: #BFAC7B;
}

.mirror-select-wrap {
	position: relative;
}

.mirror-select-wrap select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding-right: 36px;
}


/* Mirror field base */
.mirror-field {
	margin-bottom: 24px;
}

.mirror-field label,
.mirror-field-label {
	display: block;
	color: #455946;
	font-family: "Angsana New";
	font-size: 24px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	letter-spacing: 2.4px;
	text-transform: uppercase;
	margin-bottom: 4px;
}

/* Input / select / textarea base styles */
input.mirror-input,
select.mirror-input,
textarea.mirror-input {
	width: 100%;
	min-height: 48px;
	padding: 12px;
	background: #fff;
	border: 1px solid #a8a8a8;
	border-radius: 4px;
	box-sizing: border-box;
	color: #585858;
	font-family: 'Avenir Next LT Pro', sans-serif;
	font-size: 18px;
	font-weight: 500;
	line-height: normal;
	appearance: none;
	-webkit-appearance: none;
	transition: border-color 0.15s;
}

input.mirror-input:focus,
select.mirror-input:focus,
textarea.mirror-input:focus {
	outline: none;
	border-color: #455946;
}

/* Select chevron */
.mirror-select-wrap::after {
	content: '';
	pointer-events: none;
	position: absolute;
	right: 14px;
	top: 50%;
	transform: translateY(-50%);
	width: 14px;
	height: 8px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8' fill='none'%3E%3Cpath d='M1 1L7 7L13 1' stroke='%23455946' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: contain;
}


/* Radio / Checkbox groups */
.mirror-radio-group,
.mirror-checkbox-group {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.mirror-radio-label,
.mirror-checkbox-label {
	display: flex !important;
	align-items: center !important;
	gap: 6px !important;
	color: #585858 !important;
	font-family: "Avenir Next LT Pro" !important;
	font-size: 15px !important;
	font-style: normal !important;
	font-weight: 500 !important;
	line-height: normal !important;
	text-transform: none !important;
}

/* Clear link in availability filters */
.avail-clear-link {
	display: inline-flex;
	align-items: center;
	margin-left: auto;
	padding: 4px 0;
	font-size: 13px;
	font-weight: 500;
	color: #BFAC7B;
	text-decoration: none;
	letter-spacing: 0.3px;
	transition: color 0.2s;
	white-space: nowrap;
}

.avail-clear-link:hover {
	color: #455946;
	text-decoration: underline;
}

/* 
   MIRROR FORM — VALIDATION ERRORS
    */

/* General error banner at top of mirror form */
.mirror-form-error-banner {
	background: #FFF5F5;
	border: 1px solid #E8B4B4;
	border-left: 4px solid #D9534F;
	border-radius: 6px;
	padding: 12px 16px;
	margin-bottom: 20px;
	color: #9B2C2C;
	font-size: 14px;
	line-height: 1.5;
	font-weight: 500;
	font-family: 'Avenir Next LT Pro', sans-serif;
}

/* Success banner after form submission */
.mirror-form-success-banner {
	background: #F0FFF4;
	border: 1px solid #9AE6B4;
	border-left: 4px solid #38A169;
	border-radius: 6px;
	padding: 20px 16px;
	color: #276749;
	font-size: 15px;
	line-height: 1.6;
	font-weight: 500;
	font-family: 'Avenir Next LT Pro', sans-serif;
	text-align: center;
}

.mirror-form-success-banner-persistent {
	margin-bottom: 16px;
}
@media screen and (min-width: 1200px) {
	.wpbs-payment-confirmation h2 {
		font-size: 42px !important;
	}
}

/* Field-level error state */
.mirror-field.mirror-field-has-error input.mirror-input,
.mirror-field.mirror-field-has-error textarea.mirror-input,
.mirror-field.mirror-field-has-error select.mirror-input {
	border-color: #D9534F !important;
	box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.15) !important;
}

.mirror-field.mirror-field-has-error label {
	color: #9B2C2C;
}

/* Field error message */
.mirror-field-error {
	padding-top: 4px;
}

.mirror-field-error {
	font-size: 13px;
	line-height: 1.35;
	color: #D9534F;
	font-family: 'Avenir Next LT Pro', sans-serif;
	font-weight: 600;
}

.mirror-field-error small {
	font-size: 13px;
	line-height: 1.3;
	color: #D9534F;
	font-family: 'Avenir Next LT Pro', sans-serif;
	font-weight: 500;
}

.mirror-general-error {
	margin-bottom: 14px;
}

.mirror-error-spotlight {
	animation: mirrorErrorPulse 1.3s ease;
}

@keyframes mirrorErrorPulse {
	0% {
		box-shadow: 0 0 0 0 rgba(217, 83, 79, 0.35);
	}
	70% {
		box-shadow: 0 0 0 10px rgba(217, 83, 79, 0);
	}
	100% {
		box-shadow: 0 0 0 0 rgba(217, 83, 79, 0);
	}
}

/* Required asterisk */
.mirror-field label .required {
	color: #D9534F;
	margin-left: 2px;
}

/* Submit button disabled state */
#mirror-submit-btn:disabled,
.mirror-submit-btn:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}


/* Villa search page CSS: reshapes the native WPBS search widget
   into a two-column sidebar (form) + results grid layout. Styles the injected
   navy header, overrides WPBS field/label/input/button/card defaults to match
   the Curated Luxury brand (Cinzel headings, Manrope body, navy/gold/cream palette),
   adds enhanced result meta (.vs-result-meta) styling, and hides the five extra
   fields (Location, Resort, Collection, Children, Bedrooms) on the homepage
   search widget via .search-widget-wrap selectors. */
/* 
   VILLA SEARCH PAGE  [villa-search]
   Reshapes the WPBS search widget into a sidebar + results layout.
    */

/* Outer wrapper */
.villa-search-wrap {
	padding: 60px 0 80px;
}

/* ── Make the WPBS widget a 2-column grid ── */
.villa-search-inner .wpbs_s-search-widget {
	display: grid;
	grid-template-columns: 383px 1fr;
	gap: 40px;
}
.wpbs_s-search-widget .wpbs_s-search-widget-results .wpbs_s-search-widget-result .slide-image img { 
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	margin: 0 !important;
}
.wpbs_s-search-widget-result {
	padding: 0 !important;
	background: transparent !important;
}

/* ── Sidebar (form-wrap) ── */
.villa-search-inner .wpbs_s-search-widget-form-wrap {
	border-radius: 12px;
	background: #FFF;
	box-shadow: 0 0 100px 0 rgba(0, 0, 0, 0.08);
	overflow: hidden;
	padding: 0;
}

/* Sidebar header (injected via PHP) */
.villa-search-sidebar-top {
	text-align: center;
	background: #455946;
	padding: 24px 24px 28px;
}

.villa-search-sidebar-title {
	text-transform: uppercase;
	color: #BFAC7B;
	text-align: center;
	font-family: 'Angsana New';
	font-size: 48px;
	font-weight: 400;
	line-height: normal;
	letter-spacing: 4.8px;
	margin-bottom: 12px;
}

.villa-search-sidebar-text {
	color: #FFF;
	text-align: center;
	font-family: 'Avenir Next LT Pro', sans-serif;
	font-size: 18px;
	font-weight: 400;
	line-height: normal;
	letter-spacing: 0.18px;
}

/* ── Override WPBS form layout to stack vertically ── */
body .villa-search-inner .wpbs_s-search-widget.wpbs_s-search-widget-small .wpbs_s-search-widget-form,
.villa-search-inner .wpbs_s-search-widget-form {
	display: flex !important;
	flex-direction: column !important;
	padding: 24px !important;
	gap: 16px !important;
}

/* ── Filter section titles ── */
.villa-search-inner .search-filters-title {
	color: #455946;
	font-family: 'Angsana New';
	font-size: 40px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	letter-spacing: 4px;
	text-transform: uppercase;
	margin: 0;
	padding: 0;
	width: 100%;
}

.villa-search-inner .search-filters-title--bordered {
	border-top: 2px solid #455946;
	padding-top: 20px;
}

.wpbs_s-search-widget.wpbs_s-search-widget-small .wpbs_s-search-widget-results-wrap .wpbs_s-search-widget-result {
	padding: 0 !important;
	border: none !important;
}

/* Each field full width in sidebar */
.villa-search-inner .wpbs_s-search-widget-form .wpbs_s-search-widget-field {
	width: 100% !important;
	margin-right: 0 !important;
	flex: none !important;
}

/* Labels match Figma — Angsana New 24px uppercase */
.villa-search-inner .wpbs_s-search-widget-form .wpbs_s-search-widget-field label {
	color: #455946 !important;
	font-family: 'Angsana New', serif !important;
	font-size: 24px !important;
	font-weight: 400 !important;
	font-style: normal !important;
	line-height: normal !important;
	letter-spacing: 2.4px !important;
	text-transform: uppercase !important;
	padding-bottom: 4px !important;
	display: block !important;
}

/* Inputs & selects — Figma spec */
.villa-search-inner .wpbs_s-search-widget-form .wpbs_s-search-widget-field input[type=text],
.villa-search-inner .wpbs_s-search-widget-form .wpbs_s-search-widget-field select {
	border-radius: 4px !important;
	border: 1px solid #A8A8A8 !important;
	background: #FFF !important;
	min-height: 48px !important;
	padding: 12px !important;
	color: #585858 !important;
	font-family: 'Avenir Next LT Pro', sans-serif !important;
	font-size: 18px !important;
	font-weight: 500 !important;
	line-height: normal !important;
	width: 100% !important;
	box-sizing: border-box !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	transition: border-color 0.15s !important;
}

.villa-search-inner .wpbs_s-search-widget-form .wpbs_s-search-widget-field input[type=text]:focus,
.villa-search-inner .wpbs_s-search-widget-form .wpbs_s-search-widget-field select:focus {
	outline: none !important;
	border-color: #455946 !important;
}
.villa-search-inner .wpbs_s-search-widget-form .wpbs_s-search-widget-field select option {
	color: #585858 !important;
	font-family: 'Avenir Next LT Pro', sans-serif !important;
	font-size: 18px !important;
	font-weight: 500 !important;
	line-height: normal !important;
	width: 100% !important;
	box-sizing: border-box !important;
	-webkit-appearance: none !important;
	appearance: none !important;
}

/* Select wrapper + arrow */
.villa-search-inner .wpbs_s-search-widget-field-select-wrap {
	position: relative !important;
	display: block !important;
	width: 100% !important;
}

.villa-search-inner .wpbs_s-search-widget-field-select-wrap::after {
	/* content: '' !important;
	pointer-events: none !important;
	position: absolute !important;
	right: 14px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	width: 14px !important;
	height: 8px !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8' fill='none'%3E%3Cpath d='M1 1L7 7L13 1' stroke='%23455946' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-size: contain !important; */
}

/* Submit button full width in sidebar */
.villa-search-inner .wpbs_s-search-widget-form .wpbs_s-search-widget-field.wpbs_s-search-widget-field-submit {
	position: static !important;
}

.villa-search-inner .wpbs_s-search-widget-form .wpbs_s-search-widget-field button.wpbs_s-search-widget-datepicker-submit {
	width: 100% !important;
	min-width: unset !important;
	background-color: #BFAC7B !important;
	color: #455946 !important;
	border-radius: 8px !important;
	min-height: 56px !important;
	font-family: 'Avenir Next LT Pro', sans-serif !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	letter-spacing: 0.18px !important;
	transition: all .15s !important;
	text-transform: unset !important;
}

.villa-search-inner .wpbs_s-search-widget-form .wpbs_s-search-widget-field button.wpbs_s-search-widget-datepicker-submit:hover {
	background-color: #455946 !important;
	color: #BFAC7B !important;
}

/* ── Results area ── */
.villa-search-inner .wpbs_s-search-widget-results-wrap {
	padding: 0 !important;
}

/* Result grid — 2 columns */
.villa-search-inner .wpbs_s-search-widget-results {
	display: grid !important;
	grid-template-columns: repeat(2, 1fr) !important;
	gap: 32px !important;
}
.is-favourite-tag {
	position: absolute;
	top: 20px;
	left: 20px;
	border-radius: 8px;
	background: #BFAC7B;
	width: 181px;
	height: 44px;
	color: #455946;
	text-align: center;
	font-family: 'Avenir Next LT Pro';
	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	line-height: normal;
	display: flex;
	align-items: center;
	gap: 6px;
	z-index: 2;
	justify-content: center;
}

.vs-card-custom-tag {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	background: #BFAC7B;
	color: #455946;
	text-align: center;
	font-family: 'Avenir Next LT Pro';
	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	line-height: normal;
	padding: 10px 16px;
	z-index: 2;
	border-radius: 0 0 8px 8px;
}
.is-favourite-tag svg {
	max-width: 20px;
}
/* ── Villa search result cards (.vs-card) ── */
.villa-search-inner .wpbs_s-search-widget-result {
	margin: 0 !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	background: none !important;
	box-shadow: none !important;
	border: none !important;
	padding: 0 !important;
	overflow: visible !important;
	display: block !important;
}

.vs-card {
	width: 100%;
	display: flex;
	flex-direction: column;
}

.vs-card-image-link {
	display: block;
	text-decoration: none;
	line-height: 0;
}

.vs-card-image {
	width: 100%;
	height: 386px;
	overflow: hidden;
	border-radius: 8px;
	background: #d9d9d9;
	position: relative;
}
.vs-card-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.35s ease;
}

.wpbs_s-search-widget .wpbs_s-search-widget-results .wpbs_s-search-widget-result .vs-card-image img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	transition: transform 0.35s ease !important;
	margin: 0 !important;
	position: static !important;
}

.vs-card:hover .vs-card-image img {
	transform: scale(1.05);
}

.vs-card-content {
	padding-top: 12px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.vs-card-title a {
	color: #BFAC7B;
	font-family: 'Angsana New';
	font-size: 32px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	letter-spacing: 3.2px;
	text-transform: uppercase;
	text-decoration: none !important;
	transition: color .15s;
}

.vs-card-title a:hover {
	color: #455946 !important;
}

.vs-card-price {
	color: #455946;
	font-family: 'Avenir Next LT Pro', sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: normal;
}

.vs-card-price strong {
	color: #455946;
	font-family: 'Avenir Next LT Pro', sans-serif;
	font-size: 20px;
	font-weight: 500;
	line-height: normal;
}

.vs-card-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	padding-top: 4px;
}

.vs-card-meta .meta-item {
	color: #455946;
	font-family: 'Avenir Next LT Pro', sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: normal;
	display: inline-flex;
	align-items: center;
	gap: 4px;
}

.vs-card-meta .meta-item svg {
	color: #BFAC7B;
	flex-shrink: 0;
}

.properties-listing-flexible-container h1 {
	color: #BFAC7B;
	margin-bottom: 24px;
}
.properties-listing-flexible-container p:not(.villa-search-wrap p) {
	max-width: 1324px;
	color: #585858;
	text-align: center;
	font-family: "Avenir Next LT Pro";
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	letter-spacing: 0.36px;
	margin: 0 auto;
}
.properties-listing-flexible-container {
	padding-top: 40px;
}


/* vs-card responsive */
@media screen and (min-width: 991px) {
	.villa-search-inner .wpbs_s-search-widget-results-wrap {
		padding-left: 60px !important;
	}
}
@media screen and (min-width: 1400px) {
	.villa-search-inner .wpbs_s-search-widget-results-wrap {
		padding-left: 120px !important;
	}
}
@media screen and (max-width: 1400px) {
	.vs-card-image {
		height: 300px;
	}
}
@media screen and (max-width: 1200px) {
	.vs-card-image {
		height: 220px;
	}
}
@media screen and (max-width: 991px) {
	.vs-card-image {
		height: 280px;
	}
}

@media screen and (max-width: 767px) {
	.vs-card-price strong {
		font-size: 16px;
	}
	.vs-card-image {
		height: 220px;
	}

	.vs-card-title a {
		font-size: 20px;
	}

	.vs-card-meta .meta-item {
		font-size: 14px;
	}
}

/* ── No results ── */
.villa-search-inner .wpbs_s-search-widget-no-results {
	text-align: center;
	padding: 80px 24px;
	color: #455946;
	font-family: 'Avenir Next LT Pro', sans-serif;
	font-size: 18px;
	grid-column: 1 / -1;
}

/* Hide the five additional WPBS fields (registered in villa-search.php)
   from the homepage search widget. They should only appear on the villa-search page.
   Class names correspond to WPBS slug generation: wpbs-search-{sanitize_title(name)} */
.search-widget-wrap .wpbs-search-widget-field-wpbs-search-location,
.search-widget-wrap .wpbs-search-widget-field-wpbs-search-resort,
.search-widget-wrap .wpbs-search-widget-field-wpbs-search-collection,
.search-widget-wrap .wpbs-search-widget-field-wpbs-search-number-of-children,
.search-widget-wrap .wpbs-search-widget-field-wpbs-search-number-of-bedrooms {
	display: none !important;
}

.search-widget-wrap {
	padding-bottom: 60px;
}

/* ── Responsive ── */
@media screen and (max-width: 991px) {
	.search-widget-wrap {
		padding-bottom: 24px;
	}
	.villa-search-inner .wpbs_s-search-widget {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.villa-search-inner .wpbs_s-search-widget-form-wrap {
		position: static;
	}
}
.wpbs_s-search-widget-form-wrap {
	height: fit-content;
}
@media screen and (max-width: 767px) {
	.villa-search-inner .wpbs_s-search-widget-results {
		grid-template-columns: 1fr !important;
		gap: 32px !important;
	}

	.villa-search-wrap {
		padding: 32px 0 48px;
	}

	.villa-search-sidebar-title {
		font-size: 26px;
	}
}

/* BLOG LISTING  [blog-listing] */

.blog-listing-wrap {
	width: 100%;
}

/* Grid — mobile first: 1 column */
.blog-listing-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 40px;
}

/* ── Card ── */
.blog-card {
	display: flex;
	flex-direction: column;
}

/* Image link — block so no inline gap */
.blog-card-image-link {
	display: block;
	text-decoration: none;
}

/* Image container */
.blog-card-image {
	width: 100%;
	height: 240px;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 0 100px 0 rgba(0, 0, 0, 0.12);
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}

.blog-card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Content area */
.blog-card-content {
	padding-top: 18px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	flex: 1;
}

/* Date | Category row */
.blog-card-meta {
	color: #000;
	font-family: 'Avenir Next LT Pro';
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
}


/* Title */
.blog-card-title {
	color: #455946;
	font-family: 'Angsana New'; letter-spacing: 10%; text-transform: uppercase;
	font-size: 20px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
}

.blog-card-title a {
	color: #455946;
	text-decoration: none !important;
	transition: color 0.15s;
}

.blog-card-title a:hover {
	color: #BFAC7B !important;
}

/* Excerpt */
.blog-card-excerpt {
	color: #000;
	font-family: 'Avenir Next LT Pro';
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	margin-bottom: 8px;
}

.blog-card-excerpt p {
	margin: 0;
}

/* CTA button — uses .standard-button, just align to bottom */
.blog-card-cta {
	margin-top: auto;
	align-self: flex-start;
}

/* ── Villa Search Pagination ── */
.wpbs_s-search-widget .wpbs_s-search-widget-results-wrap .wpbs_s-search-pagination {
	display: flex !important;
	justify-content: center !important;
	margin-top: 40px !important;
}

.wpbs_s-search-widget .wpbs_s-search-widget-results-wrap .wpbs_s-search-pagination ul {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	align-items: center !important;
	padding: 0 !important;
}

.wpbs_s-search-widget .wpbs_s-search-widget-results-wrap .wpbs_s-search-pagination ul li {
	padding: 0 !important;
	display: flex !important;
}

.wpbs_s-search-widget .wpbs_s-search-widget-results-wrap .wpbs_s-search-pagination ul li a {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 44px !important;
	min-height: 44px !important;
	padding: 8px 14px !important;
	border-radius: 4px !important;
	background-color: rgba(191, 172, 123, 0.18) !important;
	color: #455946 !important;
	font-family: 'Avenir Next LT Pro', sans-serif !important;
	font-size: 18px !important;
	font-weight: 500 !important;
	text-decoration: none !important;
	transition: all 0.15s !important;
	border: 2px solid transparent !important;
	text-align: center !important;
}

.wpbs_s-search-widget .wpbs_s-search-widget-results-wrap .wpbs_s-search-pagination ul li a:hover {
	background-color: #BFAC7B !important;
	color: #455946 !important;
}

.wpbs_s-search-widget .wpbs_s-search-widget-results-wrap .wpbs_s-search-pagination ul li a.wpbs_s-pagination-active {
	background-color: #455946 !important;
	color: #BFAC7B !important;
}

.wpbs_s-search-widget .wpbs_s-search-widget-results-wrap .wpbs_s-search-pagination ul li a.wpbs_s-pagination-disabled {
	background-color: transparent !important;
	color: #455946 !important;
	opacity: 0.35 !important;
	cursor: default !important;
	pointer-events: none !important;
}

/* ── Pagination ── */
.blog-listing-pagination {
	margin-top: 48px;
	display: flex;
	justify-content: center;
}

.blog-listing-pagination .page-numbers {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}

.blog-listing-pagination .page-numbers li {
	margin: 0;
}

.blog-listing-pagination .page-numbers li a,
.blog-listing-pagination .page-numbers li span {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	padding: 8px 12px;
	border-radius: 4px;
	background: rgba(16, 42, 82, 0.24);
	color: #455946;
	font-family: 'Avenir Next LT Pro';
	font-size: 18px;
	font-style: normal;
	font-weight: 500;
	line-height: normal;
	text-decoration: none;
	transition: all 0.15s;
	border: 2px solid transparent;
}

.blog-listing-pagination .page-numbers li span.dots {
	background: transparent;
}

.blog-listing-pagination .page-numbers li a:hover {
	background: #BFAC7B;
	color: #455946;
}

.blog-listing-pagination .page-numbers li span.current {
	background: #455946;
	color: #BFAC7B;
}

/* No results */
.blog-listing-no-results {
	color: #455946;
	font-family: 'Avenir Next LT Pro';
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
}

/* HOMEPAGE SEARCH WIDGET — property name autocomplete */
.hp-autocomplete-wrap {
	position: relative;
}

.hp-autocomplete-list {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	z-index: 9999;
	background: #fff;
	border: 1px solid #a8a8a8;
	border-top: none;
	border-radius: 0 0 6px 6px;
	list-style: none;
	margin: 0;
	padding: 0;
	max-height: 260px;
	overflow-y: auto;
	box-shadow: 0 4px 12px rgba(0,0,0,0.12);
}

.hp-autocomplete-list li {
	padding: 12px 16px;
	cursor: pointer;
	color: #455946;
	font-family: 'Avenir Next LT Pro', sans-serif;
	font-size: 16px;
	font-weight: 400;
	transition: background 0.12s;
}

.hp-autocomplete-list li:hover,
.hp-autocomplete-list li.hp-ac-active {
	background: #f5f0e8;
	color: #102a52;
}

/* ── Tablet: 2 columns ── */
@media screen and (min-width: 640px) {
	.blog-listing-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 32px;
	}
}

/* ── Desktop: 3 columns, fixed image dimensions ── */
@media screen and (min-width: 1200px) {
	.blog-listing-grid {
		grid-template-columns: repeat(3, 517px);
		gap: 40px 20px;
		justify-content: center;
	}

	.blog-card-image {
		width: 517px;
		height: 288px;
	}
}

/* 
   SINGLE POST LAYOUT — 2/3 content + 1/3 sidebar */

.single-post-wrapper {
	padding: 24px 24px 60px;
}
.single-post-wrap .blog-card-meta span {
	color: #000;
	font-family: 'Avenir Next LT Pro';
	font-size: 18px;
	font-style: normal;
	font-weight: 500;
	line-height: normal;
}
/* Title above layout */
.entry-header-top {
	max-width: 920px;
	margin-bottom: 40px;
}
.entry-header-top .entry-title {
	font-size: 72px;
	line-height: 1.2;
}



/* Featured image with max height */
.single-post-featured-image {
	width: auto;
	max-height: 475px;
	margin-bottom: 32px;
	border-radius: 8px;
	overflow: hidden;
}

.single-post-featured-image .single-post-thumb {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}

/* Post content typography */
.single-post-main .entry-content {
	color: #000;
	font-family: 'Avenir Next LT Pro';
	font-size: 18px;
	font-weight: 400;
	line-height: 1.7;
}

.single-post-main .entry-content p {
	margin-bottom: 20px;
}

.single-post-main .entry-content h2,
.single-post-main .entry-content h3,
.single-post-main .entry-content h4 {
	font-family: 'Angsana New'; letter-spacing: 10%; text-transform: uppercase;
	color: #455946;
	margin-top: 32px;
	margin-bottom: 16px;
}

/* Sidebar — sticky on desktop */
.single-post-sidebar {
	padding-top: 0;
}

/* Related Posts heading */
.single-post-related-title {
	color: #455946;
	font-family: 'Angsana New'; letter-spacing: 10%; text-transform: uppercase;
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	margin: 0 0 28px;
}

/* Stack cards vertically with gap */
.single-post-related-cards {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

/* Sidebar cards: image takes full width with fixed height */
.single-post-related-cards .blog-card-image {
	width: 100%;
	height: 200px;
}

/* Desktop: sticky sidebar + column padding */
@media screen and (min-width: 992px) {
	.single-post-main {
		padding-right: 100px;
	}

	.single-post-sidebar {
		position: sticky;
		top: 100px;
		align-self: flex-start;
	}
}

/* Mobile: sidebar sits below content, full width */
@media screen and (max-width: 991px) {
	.single-post-wrapper {
		padding: 32px 24px 48px;
	}

	.entry-header-top .entry-title {
		font-size: 28px;
	}

	.single-post-related-title {
		margin-top: 48px;
	}
}
/* ── Get in Touch Modal ── */
.git-modal-overlay {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 99999;
	background: rgba(0, 0, 0, 0.6);
	align-items: flex-start;
	justify-content: center;
	padding: 24px;
	overflow-y: auto;
}

.git-modal-overlay.is-open {
	display: flex;
}

.git-modal-box {
	position: relative;
	background: #fff;
	border-radius: 12px;
	width: 100%;
	max-width: 620px;
	overflow: hidden;
	box-shadow: 0 24px 80px rgba(0, 0, 0, 0.24);
}

.git-modal-header {
	background: #455946;
	border-radius: 12px 12px 0 0;
	padding: 28px 32px 24px;
	text-align: center;
}

.git-modal-title {
	font-family: 'Angsana New', serif;
	font-size: 36px;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: #BFAC7B;
	margin-bottom: 8px;
}

.git-modal-subtitle {
	font-family: 'Avenir Next LT Pro', sans-serif;
	font-size: 15px;
	font-weight: 400;
	color: #fff;
	opacity: 0.85;
}

.git-modal-body {
	padding: 24px 24px 16px;
}

.git-modal-close {
	position: absolute;
	top: 14px;
	right: 18px;
	background: transparent;
	border: none;
	font-size: 28px;
	line-height: 1;
	color: #BFAC7B;
	cursor: pointer;
	z-index: 2;
	transition: color 0.15s;
	padding: 0;
}

.git-modal-close:hover {
	color: #fff;
}

/* ── Special Offers Modal ── */
.sop-modal-overlay {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 99999;
	background: rgba(0, 0, 0, 0.6);
	align-items: flex-start;
	justify-content: center;
	padding: 24px;
	overflow-y: auto;
}

.sop-modal-overlay.is-open {
	display: flex;
}

.sop-modal-box {
	position: relative;
	background: #fff;
	border-radius: 12px;
	width: 100%;
	max-width: 620px;
	overflow: hidden;
	box-shadow: 0 24px 80px rgba(0, 0, 0, 0.24);
}

.sop-modal-header {
	background: #455946;
	border-radius: 12px 12px 0 0;
	padding: 28px 32px 24px;
	text-align: center;
}

.sop-modal-title {
	font-family: 'Angsana New', serif;
	font-size: 36px;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: #BFAC7B;
}

.sop-modal-body {
	padding: 32px 32px 36px;
	text-align: center;
}

.sop-modal-content {
	font-family: 'Avenir Next LT Pro', sans-serif;
	font-size: 16px;
	font-weight: 400;
	color: #333;
	line-height: 1.6;
	margin-bottom: 24px;
}

.sop-modal-cta {
	display: inline-block;
}

.sop-modal-close {
	position: absolute;
	top: 14px;
	right: 18px;
	background: transparent;
	border: none;
	font-size: 28px;
	line-height: 1;
	color: #BFAC7B;
	cursor: pointer;
	z-index: 2;
	transition: color 0.15s;
	padding: 0;
}

.sop-modal-close:hover {
	color: #fff;
}

/* ── Content Boxes 1/2 Layout ── */
.content-boxes-12-section {
	padding: 60px 24px 12px;
}

.content-boxes-12-title {
	font-family: 'Angsana New', serif;
	font-size: 42px;
	font-weight: 400;
	color: #455946;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	margin-bottom: 40px;
}

.content-boxes-12-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
}

.content-box-12 {
	background: #F5F2EE;
	border-radius: 8px;
	padding: 32px 28px 36px;
}

.content-box-12-title {
	font-family: 'Avenir Next LT Pro', sans-serif;
	font-size: 13px;
	font-weight: 600;
	color: #455946;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	margin-bottom: 16px;
}

.content-box-12-text {
	font-family: 'Avenir Next LT Pro', sans-serif;
	font-size: 16px;
	font-weight: 400;
	color: #455946;
	line-height: 1.65;
	margin: 0;
}

@media (max-width: 767px) {
	.content-boxes-12-grid {
		grid-template-columns: 1fr;
	}
	.content-boxes-12-title {
		font-size: 32px;
	}
}
