/*
Theme Name: Villas
Theme URI: 
Author: WPGEEKS
Author URI: http://wpgeeks.co.uk
Description: description...
License: GPL2
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: villas
Version: 1.1
*/

/* CUSTOM CODE */
.apt-gallery > .wpg-cycle-2 {
    block !important;
}

.apt-gallery .cycle-carousel-wrap {
    display: grid;
    grid-template-columns: 2fr 2fr;
}







/* ---------- CSS Variables ---------- */
:root {
  --oa-navy: #1a2d3d;
  --oa-navy-light: #243b4f;
  --oa-teal: #009fc6;
  --oa-teal-dark: #2fa89a;
  --oa-cream: #f8f5f0;
  --oa-white: #ffffff;
  --oa-dark: #2c3e50;
  --oa-muted: #6c6f70;
  --oa-border: #e8e4df;
  --oa-font-sans: 'Montserrat', 'proxima-nova', Arial, Helvetica, sans-serif;
  --oa-font-serif: 'Playfair Display', Georgia, 'Times New Roman', serif;
}


/* search form styles when google map is shown */
.wpg-properties-options-main.google-map-visible{
margin: 0;
background: #CCC;
padding-top: 10px;
}
.wpg-properties-options-main.google-map-visible *{
text-shadow: none;
}


.wpcf7 .privacy-consent{
padding-right: 5px;
}

.wpg-main-text ul, 
.wpg-main-text ol{
margin-left: 35px;
margin-bottom: 30px;
}
.wpg-main-text ol{
list-style: decimal; 
}
.wpg-main-text li{
margin-bottom: 20px;
font-size: 1.4rem;
line-height: 150%;
}

.footer-link-bar{
padding: 15px;
text-align: center;
background: #1C1C1C;
color: #FFF;
}
.footer-link-bar a{
color: #FFF;
text-decoration: none;
padding: 0 5px;
display: inline-block;
}

/* helpers */
.padding-left-sm{
padding-left: 5px;
}

.one-lang .js-dropdown ul, .one-lang .symulate-select > div:after{
	display: none !important;

}
.description{
	padding: 28px 0 0;
}
.page-template-template-accommodation .wpg-list-villas{
	margin-top: 40px;
}
.page-template-template-accommodation .description{
	padding: 50px 0px;
}

.description .container{
	padding: 0 20px;
}
.description .container p{
	font-size: 14px;
	line-height: 20px;
}
div.ui-datepicker{
	width: auto;
	z-index: 9999 !important;
}
table.ui-datepicker-calendar thead, .ui-datepicker .ui-datepicker-header{
	font-size: 16px;
}
.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default{
	font-size: 16px;
    padding: 15px;
}
input[type="date"]::-webkit-inner-spin-button, input[type="date"]::-webkit-clear-button, input[type="date"]::-webkit-calendar-picker-indicator{
	display: none;
}

@font-face {
  font-family: 'proxima-nova';
  src: url('fonts/ProximaNova-Regular.eot'); 
  src: url('fonts/ProximaNova-Regular.woff2') format('woff2'),
       url('fonts/ProximaNova-Regular.woff') format('woff'),
       url('fonts/ProximaNova-Regular.ttf')  format('truetype');
}

/* RESET */

a, abbr, address, article, aside, audio, b, blockquote, body, button, canvas, 
caption, cite, code, dd, del, details, dfn, div, dl, dt, em, embed, fieldset,
figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, hr, header, hgroup,
html, i, iframe, img, input, ins, kbd, label, legend, li, mark, menu, nav, 
object, ol, p, pre, q, samp, section, small, span, strong, sub, summary, 
sup, table, tbody, td, textarea, tfoot, th, thead, time, tr, ul, var, video, *:after, *:before {
	margin: 0;
	padding: 0;
	outline: none;
	border: none;

	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

mark {
  background-color: transparent;
}

ul, ol {
  list-style-type: none;
}

.wpg-main-text ul, ol{
	list-style-type: initial;
}

table {
  border-spacing: 0;
  border-collapse: collapse;
}
caption, th {
  text-align: left;
}

q:after, q:before {
  content: "";
}

a {
	color: inherit;
}
/*
html, body {
	height: 100%;
}
*/

body {
	position: relative;
}

html {
	font-size: 62.5%;
}
body,
input, 
textarea {
	font-family: Montserrat, proxima-nova, Arial, Helvetica, sans-serif;
}

/* END RESET */

/* FREAMEWORK */
.container { 
	margin: 0px auto;
	max-width: 1196px;
	min-width: 260px;
}

.clear-both-fix:after,
.clear-both {
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
	overflow: hidden;
}
.clear-both-fix:after {
	content: '';
}

.span-table {
	display: table;
	table-layout: fixed;
	width: 100%;
}
.span-table-row {
	display: table-row;
	width: 100%;
}
.span-table-cell {
	display: table-cell;
}

.vertical-align-top {
	vertical-align: top;
}
.vertical-align-middle {
	vertical-align: middle;
}
.vertical-align-bottom {
	vertical-align: bottom;
}

.text-align-right {
	text-align: right;
}
.text-align-left {
	text-align: left;
}
.text-align-center {
	text-align: center;
}
.text-align-justify {
	text-align: justify;
}

.span-1 { width: 4.16666666667%; }
.span-2 { width: 8.33333333333%; }
.span-3 { width:12.5%; }
.span-4 { width: 16.6666666667%; }
.span-5 { width: 20.8333333333%; }
.span-6 { width: 25%; }
.span-7 { width: 29.1666666667%; }
.span-8 { width: 33.3333333333%; }
.span-9 { width: 37.5%; }
.span-10 { width: 41.6666666667%; }
.span-11 { width: 45.8333333333%; }
.span-12 { width: 50%; }
.span-13 { width: 54.1666666667%; }
.span-14 { width: 58.3333333333%; }
.span-15 { width: 62.5%; }
.span-16 { width: 66.6666666667%; }
.span-17 { width: 70.8333333333%; }
.span-18 { width: 75%; }
.span-19 { width: 79.1666666667%; }
.span-20 { width: 83.3333333333%; }
.span-21 { width: 87.5%; }
.span-22 { width: 91.6666666667%; }
.span-23 { width: 95.8333333333%; }
.span-24 { width: 100%; }

img {
	max-width: 100%;
	height: auto;
}
/* END FREAMEWORK */



/* WORDPRESS REQUIRED */
.alignnone {
    margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
    display: block;
    margin: 5px auto 5px auto;
}

.alignright {
    float:right;
    margin: 5px 0 20px 20px;
}

.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

a img.alignnone {
    margin: 5px 20px 20px 0;
}

a img.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto
}

.wp-caption {
    background: #fff;
    border: 1px solid #f0f0f0;
    max-width: 96%; /* Image does not overflow the content area */
    padding: 5px 3px 10px;
    text-align: center;
}

.wp-caption.alignnone {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignleft {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
    margin: 5px 0 20px 20px;
}
.wp-caption img {border:0 none;height:auto;margin:0;max-width:98.5%;padding:0;width: auto;}
.wp-caption p.wp-caption-text {
    font-size: 11px;
    line-height: 17px;
    margin: 0;
    padding: 0 4px 5px;
}

.sticky {}
.bypostauthor {}
.gallery-caption {}




/* symulate select */
.symulate-select {
	position: relative;
}
.symulate-select > div {
	cursor: pointer;
}
.symulate-select ul {
	position: absolute;
	top: 100%;
	background: #FFFFFF;
	color: #fff;
	z-index: 1;
	overflow-y: auto;
	max-height: 288px;
	min-width: 100%;
}
.symulate-select ul ul {
	background: #FFFFFF;
}
.symulate-select li {
	position: relative;
	border-top: 1px solid rgba(255,255,255,.2);
	color: #a2a5a4 !important;
}
.symulate-select li:first-child {
	border-top: none;
}
.symulate-select > ul a {
	cursor: pointer;
	display: block;
	padding: 5px 30px 5px 10px;
	position: relative;
	text-decoration: none;
}
.symulate-select > ul a:hover {
	background: #F5F5F5;
}
.symulate-select > ul li.current-menu-item > a {
	background: #F5F5F5;
}
.symulate-select > ul ul {
	top: 0;
	left: 100%;
	display: none;
}
.symulate-select > ul li.menu-item-has-children > a:after {
	content: "\f345";
	font-family: Dashicons;
	top: 50%;
	margin-top: -6px;
	right: 10px;
	position: absolute;
}
.symulate-select > ul li:hover ul {
	display: block;
}
.overflow-visible,
.overflow-visible ul {
	overflow: visible !important;
	max-height: none !important;
}
/* end symulate select */


.wpcf7-validation-errors{
	maring-left: 6px;
	maring-right: 6px;
	font-size: 12px;
	text-align: center;
	color: red;
	border-color: red;
	padding: 13px;
	margin-top: -10px;
}

/** custom code **/
.wpg-cycle-2 img{
	-o-object-fit: cover;
    object-fit: cover;
}
.wpg-tsmc-right{
	line-height: 22px;
    padding-top: 5px;
}
.wpg-smth-text .container ul li, .container .wpg-tabs-simple-main-content ul li{
	line-height: 22px;
}
.wpg-smth-text .container ul, .container .wpg-tabs-simple-main-content ul{
	list-style-type: disc; 
    list-style-position: inside;    
    font-size: 1.4rem;
    color: #6c6f70;
}
.wpg-bar-black-book.booknow {
    text-align: right;
    padding: 0 9px 0 0;
}
#nav-slider{
    display: block;
    text-align: center;
    font-size: 70px;
    z-index: 999999999999;
    position: absolute;
    width: 100%;
    color: #fff;
    bottom: 30%;
}
#nav-slider span{
	cursor: pointer;
}
.home div.wpg-full-image-in-container.wpg-cft-real-full-imgs .container,
.home div.wpg-full-image-in-container.wpg-cft-real-full-imgs  .wpg-full-image-in-container-inset > div{
	max-width: 100% !important;
}

.home div.wpg-full-image-in-container.wpg-cft-real-full-imgs  .wpg-full-image-in-container-inset img{
	-o-object-fit: cover;
    object-fit: cover;
}

.wpg-full-image-in-container .container{
	position: relative;
}

div.wpg-properties-options h3 {
    font-size: 24px;
    font-size: 2.4rem;
    color: #fff;
    font-family: proxima-nova, Arial, Helvetica, sans-serif;
    font-weight: 400;
    text-align: center;
    letter-spacing: 1px;
    padding: 0px 0 25px;
}
div.wpg-properties-options h3:before {
	content: '';
	display: inline-block;
	width: 25px;
	height: 20px;	
	background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAUCAMAAABPqWaPAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAC6UExURQAAAP////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////IcJMEAAAA9dFJOUwACxvJg+/6wgDDzCDnTQb4FeBmqy5bx2bUdag/wDVAc0kOuyOORLuJOaNot54IqhPrB5pTgUfkO2wc29jfYRJbVAAAAyElEQVQoz+XRVxaCUAwE0AF8PAV77yjYFSxgd/a/LQOyC/M1yT0nPwPI1BtOq4nfNFtWo55nlCsku0NDojHsSq6Us/uoY7PGtsVghVVAqy2b3RkB1wN71RKLnk+lFX2vyFK1x8MV6ha6EAE2a643gAie4U2BWj5mggIL+Amg+WfymnG8NTIxtmPOPrncY5t9h+ZeZG/S6dOO76k8LtzNMdBUJk1FPcB8x8tDhKejm/Y0XUhni2ka3eOJRHKO8mony/dykufonHwBL7MnO0AY/0AAAAAASUVORK5CYII=");
	background-repeat: no-repeat;
	background-size: contain;
	margin-right: 11px;
	position: relative;
	top: 1px;
}
div.wpg-smth-text h1 {
	font-size: 30px; font-size: 3.0rem;
	color: #5b5b5b;
	font-weight: 700;
	letter-spacing: 1px;
	margin-bottom: 21px;
}
div.wpg-properties-options-main .container{
	background-color: transparent;
	height: auto !important;
}
.center-block{
	display: block;
	text-align: center;
}
@media screen and (max-width: 520px) {
	.wpg-smth-text h1{
		font-size: 20px;  font-size: 2.0rem;
	}
}
@media(max-width: 414px){
	div h1.wpg-logo {
    		height: 85px;
	}
}

/* ---------- Book Now Page ---------- */

/* Hide old banner/buttons on book-now */
body.page-template-book-now .wpg-main-bg-header,
body.page-template-book-now .wpg-buttons-info,
body.page-template-book-now hr.wpg-space14px {
  display: none;
}

/* Hero */
.bn-hero {
  background-color: #7a8a8e;
  text-align: center;
  padding: 80px 20px 120px;
}
.bn-hero-content {
  max-width: 700px;
  margin: 0 auto;
}
.bn-hero-label {
  display: block;
  color: rgba(255,255,255,0.85);
  font-family: var(--oa-font-sans);
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 6px;
  text-transform: uppercase;
  margin-bottom: 20px;
}
.bn-hero-title {
  color: var(--oa-white);
  font-family: var(--oa-font-serif);
  font-size: 4.5rem;
  font-weight: 400;
  line-height: 1.25;
  margin: 0;
}
.bn-hero-title em {
  color: var(--oa-teal);
  font-style: italic;
}

/* Availability Section */
.bn-availability-section {
  padding: 0 20px 80px;
}
.bn-availability-card {
  position: relative;
  max-width: 960px;
  margin: -140px auto 0;
  background: var(--oa-white);
  border-radius: 6px;
  box-shadow: 0 2px 40px rgba(0,0,0,0.10);
  padding: 50px 60px 55px;
  z-index: 10;
}
.bn-card-heading {
  font-family: var(--oa-font-serif);
  font-size: 2.8rem;
  font-weight: 400;
  color: var(--oa-navy);
  margin: 0 0 8px;
}
.bn-card-subtitle {
  font-family: var(--oa-font-sans);
  font-size: 1.35rem;
  color: var(--oa-muted);
  margin: 0 0 35px;
  line-height: 1.5;
}

/* Form Layout */
.bn-form-row {
  margin-bottom: 24px;
}
.bn-form-row--full {
  width: 100%;
}
.bn-form-row--quad {
  display: grid;
  grid-template-columns: 1.5fr 1.5fr 0.9fr 0.9fr;
  gap: 20px;
}
.bn-field-group {
  display: flex;
  flex-direction: column;
}
.bn-field-label {
  font-family: var(--oa-font-sans);
  font-size: 1.1rem;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--oa-navy);
  margin-bottom: 10px;
}

/* Form Controls */
.bn-input,
.bn-select {
  width: 100%;
  height: 50px;
  border: 1px solid #d5d5d5;
  border-radius: 4px;
  font-family: var(--oa-font-sans);
  font-size: 1.4rem;
  color: var(--oa-dark);
  padding: 0 16px;
  background-color: var(--oa-white);
  transition: border-color 0.2s, box-shadow 0.2s;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
/* Property dropdown placeholder text */
.bn-select option[value=""] {
  color: var(--oa-navy);
}
.bn-select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%239a9a9a' d='M1.41 0L6 4.58 10.59 0 12 1.41l-6 6-6-6z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  padding-right: 40px;
  cursor: pointer;
}
.bn-input::placeholder {
  color: #999;
}
.bn-input:focus,
.bn-select:focus {
  border-color: var(--oa-teal);
  outline: none;
  box-shadow: 0 0 0 3px rgba(59,191,173,0.15);
}

/* Flatpickr alt-input styling */
.bn-field-group .flatpickr-input[readonly] {
  cursor: pointer;
}
.bn-field-group input.flatpickr-input + .bn-input--has-icon,
.bn-field-group .flatpickr-alt-input {
  width: 100%;
  height: 50px;
  border: 1px solid #d5d5d5;
  border-radius: 4px;
  font-family: var(--oa-font-sans);
  font-size: 1.4rem;
  color: var(--oa-dark);
  padding: 0 16px 0 42px;
  background-color: var(--oa-white);
  box-sizing: border-box;
  cursor: pointer;
}
.bn-field-group .flatpickr-alt-input::placeholder {
  color: #999;
}
.bn-field-group .flatpickr-alt-input:focus {
  border-color: var(--oa-teal);
  outline: none;
  box-shadow: 0 0 0 3px rgba(59,191,173,0.15);
}

/* Icon inside input */
.bn-input-wrapper {
  position: relative;
}
.bn-input-icon {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--oa-teal);
  font-size: 1.5rem;
  pointer-events: none;
  z-index: 2;
}
.bn-input--has-icon {
  padding-left: 42px;
}
.bn-select--has-icon {
  padding-left: 42px;
}
/* Select dropdown option highlight (gold/sandy) */
.bn-select option:checked,
.bn-select option:hover {
  background-color: #c5a254;
  color: var(--oa-white);
}

/* Submit Button */
.bn-submit-btn {
  display: inline-block;
  width: auto;
  min-width: 280px;
  margin-top: 12px;
  padding: 16px 44px;
  background-color: var(--oa-teal);
  color: var(--oa-white);
  font-family: var(--oa-font-sans);
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  text-align: center;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.25s;
}
.bn-submit-btn:hover {
  background-color: var(--oa-teal-dark);
}

/* Calendar Container */
#bn-calendar-container {
  max-width: 1400px;
  margin: 40px auto 0;
  padding: 0 20px;
}

/* Flatpickr theme overrides */
.flatpickr-calendar {
  border-radius: 6px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.1);
  border: 1px solid #e8e8e8;
  font-family: var(--oa-font-sans);
}
.flatpickr-day.selected,
.flatpickr-day.selected:hover {
  background: var(--oa-teal);
  border-color: var(--oa-teal);
  color: var(--oa-white);
}
.flatpickr-day.today {
  border-color: transparent;
  background: #d4c5a0;
  color: var(--oa-white);
}
.flatpickr-day.today:hover {
  background: #c5a254;
  border-color: #c5a254;
  color: var(--oa-white);
}
.flatpickr-day:hover {
  background: rgba(59,191,173,0.1);
  border-color: transparent;
}
.flatpickr-months .flatpickr-month {
  color: var(--oa-dark);
}
.flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-current-month input.cur-year {
  font-family: var(--oa-font-sans);
  font-weight: 600;
}
span.flatpickr-weekday {
  color: var(--oa-muted);
  font-weight: 600;
  font-size: 1.1rem;
}
.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
  color: var(--oa-muted);
}
.flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-months .flatpickr-next-month:hover svg {
  fill: var(--oa-teal);
}
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay {
  color: #ccc;
}

/* Contact Section (block editor content) */
.bn-contact-section {
  background: var(--oa-white);
  padding: 80px 0;
  border-top: 1px solid #eee;
}
.bn-contact-section .alignwide,
.bn-contact-section .alignfull {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  padding: 50px;
}

/* WPForms styling within contact section */
.bn-contact-section .wpforms-container {
  max-width: none;
}
.bn-contact-section .wpforms-container input[type="text"],
.bn-contact-section .wpforms-container input[type="email"],
.bn-contact-section .wpforms-container input[type="tel"],
.bn-contact-section .wpforms-container textarea,
.bn-contact-section .wpforms-container select {
  border: 1px solid #d5d5d5;
  border-radius: 4px;
  font-family: var(--oa-font-sans);
  font-size: 1.4rem;
  padding: 13px 16px;
  transition: border-color 0.2s;
  background-color: var(--oa-white);
  color: var(--oa-dark);
}
.bn-contact-section .wpforms-container input::placeholder,
.bn-contact-section .wpforms-container textarea::placeholder {
  color: #999;
}
.bn-contact-section .wpforms-container input:focus,
.bn-contact-section .wpforms-container textarea:focus,
.bn-contact-section .wpforms-container select:focus {
  border-color: var(--oa-teal);
  outline: none;
  box-shadow: 0 0 0 3px rgba(59,191,173,0.15);
}
.bn-contact-section .wpforms-container .wpforms-field-label {
  font-family: var(--oa-font-sans);
  font-size: 1.1rem;
  font-weight: 600;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--oa-navy);
}
.bn-contact-section .wpforms-container .wpforms-submit {
  background: var(--oa-teal) !important;
  color: var(--oa-white);
  font-family: var(--oa-font-sans);
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 16px 40px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.25s;
}
.bn-contact-section .wpforms-container .wpforms-submit:hover {
  background: var(--oa-teal-dark) !important;
}

/* Property Preview Card */
.bn-property-preview {
  display: flex;
  align-items: stretch;
  background: var(--oa-cream);
  border-radius: 6px;
  overflow: hidden;
  margin-bottom: 28px;
  box-shadow: 0 1px 8px rgba(0,0,0,0.06);
  animation: bnFadeIn 0.35s ease;
}
@keyframes bnFadeIn {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}
.bn-preview-image {
  width: 220px;
  min-height: 170px;
  flex-shrink: 0;
  background-size: cover;
  background-position: center;
  background-color: #ddd;
}
.bn-preview-info {
  flex: 1;
  padding: 22px 28px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.bn-preview-title {
  font-family: var(--oa-font-serif);
  font-size: 2rem;
  font-weight: 400;
  color: var(--oa-navy);
  margin: 0 0 10px;
}
.bn-preview-meta {
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}
.bn-preview-meta-item {
  font-family: var(--oa-font-sans);
  font-size: 1.2rem;
  color: var(--oa-muted);
  display: flex;
  align-items: center;
  gap: 6px;
}
.bn-preview-meta-item i {
  color: var(--oa-teal);
  font-size: 1.3rem;
}
.bn-preview-pet i {
  color: var(--oa-gold);
}
.bn-preview-summary {
  font-family: var(--oa-font-sans);
  font-size: 1.25rem;
  color: var(--oa-muted);
  line-height: 1.55;
  margin: 0 0 12px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.bn-preview-link {
  font-family: var(--oa-font-sans);
  font-size: 1.15rem;
  font-weight: 600;
  color: var(--oa-teal);
  text-decoration: none;
  transition: color 0.2s;
}
.bn-preview-link:hover {
  color: var(--oa-teal-dark);
  text-decoration: underline;
}

/* Apartments Carousel Section (Book Now) */
.bn-apartments-section {
  padding-top: 60px;
  padding-bottom: 80px;
  border-top: 1px solid #eee;
}
.bn-apartments-section .modern-section-header {
  margin-bottom: 40px;
}

/* Responsive - Book Now */
@media (max-width: 768px) {
  .bn-hero { padding: 60px 20px 90px; }
  .bn-hero-title { font-size: 3.2rem; }
  .bn-availability-card { padding: 35px 28px 40px; margin-top: -50px; }
  .bn-form-row--quad {
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }
  .bn-submit-btn { width: 100%; min-width: 0; }
  .bn-property-preview { flex-direction: column; }
  .bn-preview-image { width: 100%; min-height: 180px; }
  .bn-preview-info { padding: 18px 22px; }
}
@media (max-width: 480px) {
  .bn-hero { padding: 50px 20px 80px; }
  .bn-hero-title { font-size: 2.6rem; }
  .bn-hero-label { font-size: 1rem; letter-spacing: 4px; }
  .bn-availability-card { padding: 28px 20px 32px; margin-top: -40px; }
  .bn-form-row--quad {
    grid-template-columns: 1fr;
  }
  .bn-card-heading { font-size: 2.2rem; }
}
