/* Fix for datepicker close button visibility - MOBILE ONLY */
@media (max-width: 768px) {
    .datepicker__buttons {
        display: flex !important;
        gap: 10px !important;
        justify-content: center !important;
        visibility: visible !important;
        opacity: 1 !important;
        z-index: 1000 !important;
        position: relative !important;
    }

    .datepicker__close-button {
        display: inline-block !important;
        visibility: visible !important;
        opacity: 1 !important;
        background-color: var(--bde-button-primary-background-color, #1db954) !important;
        color: #ffffff !important;
        border: none !important;
        border-radius: 8px !important;
        padding: 8px 16px !important;
        font-size: 12px !important;
        font-weight: 500 !important;
        text-transform: none !important;
        cursor: pointer !important;
        margin: 0 !important;
        position: relative !important;
        z-index: 1001 !important;
        transition: all 0.2s ease !important;
    }

    .datepicker__close-button:hover {
        background-color: var(--bde-brand-primary-color, #1db954) !important;
        color: #ffffff !important;
        transform: translateY(-1px) !important;
        box-shadow: 0 4px 8px rgba(0,0,0,0.1) !important;
    }
    
    /* Clear dates button styling - matches close button */
    .datepicker__clear-button {
        display: inline-block !important;
        visibility: visible !important;
        opacity: 1 !important;
        background-color: #f8f9fa !important;
        color: #6c757d !important;
        border: 1px solid #dee2e6 !important;
        border-radius: 8px !important;
        padding: 8px 16px !important;
        font-size: 12px !important;
        font-weight: 500 !important;
        text-transform: none !important;
        cursor: pointer !important;
        margin: 0 !important;
        position: relative !important;
        z-index: 1001 !important;
        transition: all 0.2s ease !important;
    }
    
    .datepicker__clear-button:hover {
        background-color: #e9ecef !important;
        color: #495057 !important;
        transform: translateY(-1px) !important;
        box-shadow: 0 4px 8px rgba(0,0,0,0.1) !important;
    }

    /* Force close button to be visible in all datepicker instances on mobile */
    .datepicker .datepicker__close-button,
    .datepicker .datepicker__clear-button {
        display: inline-block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
}
/* Hide close and clear buttons on desktop */
@media (min-width: 769px) {
    .datepicker__close-button,
    .datepicker__clear-button {
        display: none !important;
    }
}

.drilldown-root {
    position: relative;
    min-width: 220px;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 4px 24px rgba(0,0,0,0.10);
	padding: 20px 20px 20px 0 !important;
}

.drilldown-sub {
    display: none;
    position: absolute;
    left: 100%;
    top: 0;
    min-width: 250px;
    background: #fff;
    z-index: 1001;
    box-shadow: 0 4px 24px rgba(0,0,0,0.10);
    border-radius: 8px;
    padding: 12px!important;
}

.drilldown-root > li {
    position: relative;
}

.drilldown-root > li.open > .drilldown-sub {
    display: block;
}

.drilldown .arr {
    display: block;
    position: absolute;
    right: 0;
    top: -2px;
}

.drilldown-back {
    font-weight: bold;
    position: sticky !important;
    background: #fff;
    width: 100%;
    top: 0;
    z-index: 9999;
}
.drilldown ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.drilldown ul li {
    position: relative;
    white-space: normal;
}
.drilldown ul span {
    display: block;
    position: relative;
    padding: 12px;
    /* margin-right: 24px; */
    cursor: pointer;
    word-break: break-all;
	color: var(--bde-body-text-color);
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
}
	
.drilldown ul span:hover {
    background-color: #f0f0f0;
    color: var(--dropdown-link-color);
}

.select-city-dropdown-wrap {
    user-select: none;
}
.select-city-dropdown-wrap .select-city-dropdown {
    left: 0;
    top: 58px;
    position: absolute;
    z-index: 999;
    display: none;
    background: #fff;
    box-shadow: rgba(0, 0, 0, .15) 0 2px 6px, rgba(0, 0, 0, .07) 0 0 0 1px;
    box-sizing: border-box;
    margin-bottom: 16px;
    min-width: 240px;
	border-radius:8px;
    text-align: left;
    width: 100%;
}

.drilldown-back span {
    color: var(--bde-body-text-color);
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
}
	
.drilldown-back span:hover {
    background-color: var(--dropdown-link-background-color-hover);
    color: var(--dropdown-link-color);
}

.drilldown-item.parent-item {
    color: var(--bde-body-text-color);
    font-size: 1rem;
    font-weight: 600;
}

.drilldown-item.parent-item .arr svg {
    stroke: var(--link-arrow-color);
    width: 16px;
    height: 16px;
    transition: stroke 0.2s;
}

.drilldown-item.parent-item .arr svg {
    stroke: var(--bde-body-text-color);
}

.drilldown-back.mobile-only {
  display: none;
}
@media (max-width: 768px) {
  .drilldown-root {
    min-width: 100%;
    box-shadow: none;
    padding: 0 !important;
  }
  .drilldown-sub {
    position: static;
    left: 0;
    top: 0;
    min-width: 100%;
    box-shadow: none;
    border-radius: 0;
    padding: 0 !important;
    background: #fff;
  }
  .drilldown-root > li.open > .drilldown-sub {
    display: block;
  }
  .drilldown ul span {
    padding: 16px 20px;
    font-size: 1.1rem;
  }
  .drilldown-back.mobile-only {
    display: block;
  }
}
.btn.advanced {
    width: 40px;
    height: 40px;
    background: none;
    border: 1px solid #ccc;
    border-radius: 8px;
    position: relative;
    cursor: pointer;
}
.btn.advanced:before {
    content: '\f0b0'; /* FontAwesome filter icon, or use your icon font */
    font-family: 'FontAwesome';
    font-size: 20px;
    color: #666;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}
.btn.advanced.active {
    border-color: #6666FF;
    background: #f0f0ff;
}
/* Z-index handled inline in booking-search.php */
#booking-search-popup-modal {
  z-index: 9999999 !important; /* Above everything including headers */
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
}

#booking-search-popup-modal > div {
  z-index: 9999999 !important; /* Above everything including headers */
  position: relative;
}

/* Ensure popup is above everything */
#booking-search-popup-modal,
#booking-search-popup-modal * {
  z-index: 9999999 !important; /* Above everything including headers */
}




.hfy-theme1 .hfy-search-form-wrap .col-location {
	width:100%!important;
}
.select-city-dropdown {
	display: none;
	position: absolute;
	z-index: 1000;
	min-width: 250px;
}
.select-city-dropdown .drilldown-root,
.select-city-dropdown .drilldown-sub {
	list-style: none;
	margin: 0;
	padding: 0;
}
.select-city-dropdown span {
	display: block;
	padding: 8px 16px;
	cursor: pointer;
}
.select-city-dropdown span:hover {
	background: #f0f0f0;
}
.selected-city-label {
	cursor: pointer;
}
.guests-clickable {
	cursor: pointer;
}
.guests-clickable input.guests {
	pointer-events: none; /* So the parent handles the click */
	background: #fff;
}
.no-pagination .pagination {
    display: none;
}
.btn-reset {
    font-family: 'OpenSans', Sans-serif;
    color: #000;
    font-size: 1rem;
    line-height: 1.5 !important;
    max-width: 100%;
    font-weight: 600;
    border: 1px solid #e5e7eb;
    padding: 0.5rem;
    background-color: #fff;
    border-radius: 0.375rem;
    height: 54px;
}
/* Desktop: show all amenities */
@media screen and (min-width: 768px) {
  .hfy-am.hidden {
    display: inline-flex !important;
  }
  .hfy-show-more {
    display: none !important;
  }
}

/* Mobile: keep hidden and show button */
@media screen and (max-width: 767px) {
  .hfy-am.hidden {
    display: none !important;
  }
  /* Ensure regular amenities (not extra) are visible on mobile */
  .hfy-am:not(.extra-am) {
    display: flex !important;
  }
  .hfy-show-more {
    display: block !important;
  }
}

.hfy-listing-amenities-wrapper .extra-am.hidden {
  display: none;
}
.hfy-listing-amenities.show-all .extra-am.hidden, .hfy-am .hidden {
    display: flex !important; /* or block, depending on layout */
}

.hfy-show-more {
	cursor: pointer;
    padding: 16px 20px;
    background-color: #e4e5e6;
    width: 100%;
    text-align: center;
    margin-top: 1rem;
    border-radius: 8px;
    border: 2px solid var(--Default-Outline, #ebebeb);
    background: var(--3-White, #fff);
    color: var(--Default-Text-Primary, #222);
    font-family: var(--bde-body-font-family);
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    line-height: 24px;
}

/* Make sure hidden amenities become visible */
.extra-am {
    display: none !important;
}

.hfy-listing-amenities.show-all .extra-am {
    display: flex !important; /* or block, depending on layout */
}

/* Optional: allow parent container to grow */
.hfy-listing-amenities.show-all {
    max-height: none !important;
    overflow: visible !important;
}

/* Ensure proper styling for amenities */
.hfy-listing-amenities .extra-am.hidden {
    display: none !important;
}

.hfy-listing-amenities .extra-am:not(.hidden) {
    display: flex !important;
}


.hfy-theme1 .hfy-listing-amenities > span, .extra-am span, .hfy-am .hfy-am-22 .hidden span{
	font-family: var(--e-global-typography-text-font-family);
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    color: #1d2f31;
    margin: 0 !important;
    padding: 0;
    white-space: nowrap;
    overflow: hidden;
    max-width: 100%;
    text-overflow: ellipsis;
    display: flex;
    border-radius: 4px;
    border: none;
    background-color: transparent;
    gap: 0.5rem;
}
.hfy-listing-amenities > span::before {
    content: '\2713';
    font-size: 18px;
    line-height: 24px;
    color: black;
}
#features .hfy-listing-amenities .hfy-am img, .hfy-listing-amenities .hfy-am img, .hfy-am img {
	display:none;
}

.parent-holiday #no-pagination .pagination {
    display: none !important;
}

.reset-date-wrap {
	height:60px;
}
.reset-date {
    cursor: pointer;
    padding: 5px 30px;
    background-color: #e4e5e6;
    width: 100%;
    text-align: center;
    /* margin-top: 1rem; */
    border-radius: 8px;
    border: 2px solid var(--Default-Outline, #ebebeb);
    background: var(--3-White, #fff);
    color: var(--Default-Text-Primary, #222);
    font-family: var(--bde-body-font-family);
    font-size: 15px;
    /* font-style: normal; */
    font-weight: 400;
    line-height: 24px;
}

.sl-policy-container {
	text-align:left;
}
#formBooking .select-city-dropdown-wrap .select-city-dropdown {
    min-width: 300px;
}
.search-input{
   color: var(--bde-body-text-color);
    font-family: inherit;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px;
}


/* Other Destinations thumbnails */
.other-destination-img img {
    border-radius: 8px !important;
    width: 100% !important;
    max-width: 350px !important;
    height: 250px !important;
    object-fit: cover !important;
    object-position: center center !important;
}

.other-destinations-container {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: center;
    gap: 1.5rem;
    padding: 4em 0 4em 0;
}

.other-destination {
    max-width: 250px;
    display: flex;
    flex-direction: column;
    /* flex-wrap: wrap; */
    text-align: center;
    min-height: 300px;
}

.other-destination-btn a {
    font-family: 'OpenSans', Sans-serif;
    font-size: 1rem;
    font-weight: 700;
    padding: 10px 20px;
    background: #405681;
    border-radius: 0.375rem;
    border: none;
    color: #ffffff !important;
    width: auto;
    line-height: 1.2;
    justify-content: center;
    transition: all 0.1s;
	text-decoration: none;
}

.other-destination-btn a:hover {
    background: #516da3;
}

/*--------------------------------------------------------------
# Home
--------------------------------------------------------------*/

#properties .row.listing-block {
	display: grid;
	grid-template-rows: auto;
	grid-auto-rows: auto;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}



@media (max-width: 960px) {
	#properties .row.listing-block {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 668px) {	
	#properties .row.listing-block {
		grid-template-columns: repeat(1, 1fr);
	}
}

/*--------------------------------------------------------------
# Search
--------------------------------------------------------------*/
#form-container {
	background-color: #fff;
	padding: 0.3rem 0.3rem 0.3rem 0.3rem;
	border-radius: 12px;
	width: auto;
}

#form-container .hfy-search-form-row {
	 grid-template-columns: repeat(1, 1.20fr) repeat(1, 1.4fr) repeat(1, 0.5fr) repeat(1, 0.4fr);
    grid-template-rows: 1.5fr;
    grid-column-gap: 12px;
    grid-row-gap: 0px;
    align-items: center;
    justify-items: stretch;
    padding-left: 12px;
}

@media (max-width: 768px) {
	#form-container .hfy-search-form-row {
		display: flex;
		flex-direction: column;
		padding: 1rem;
	}
}

#formBooking ._col .form-group {
	flex-direction: row;
	align-items: center;
	width: 100%;
	gap: 12px;
}

.hfy-theme1 .hfy-search-form-row {
	margin: 0;
}

.hfy-theme1 .hfy-search-form-row-advanced > div > ._col,
.hfy-theme1 .hfy-search-form-row > ._col {
	margin: 0;
	position: relative;
}

.hfy-theme1 .hfy-search-form-wrap .col-location {
	width: inherit;
}

#form-container input,
#form-container select {
	border: none;
	background: none;
	width: auto;
	margin: 0;
	padding: 0;
	height: auto;
}

#formBooking .col-location .search {
	border: none;
	padding: 0;
	height: auto;
	min-height: auto;
	margin: 0;
	color: #222;
	font-size: 16px;
	line-height: 24px;
}

#formBooking .col-location .search span {
	color: #222;
	font-family: inherit;
	font-size: 16px;
	font-style: normal;
	font-weight: 600;
	line-height: 24px;
}

.hfy-wrap .text-primary {
	color:var(--bde-brand-primary-color)!important;
}

#formBooking .SumoSelect.open > .optWrapper {
	top: 40px;
	display: block;
	width: 310px;
	left: -3.25rem;
	border-radius: 12px;
	background-color: #ffffff;
	border: none;
	padding: 0.5rem;
	box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.08);
	color: #222;
	font-family: var(--bde-body-font-family);
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 20px;
}

#formBooking .SumoSelect > .optWrapper > .options li.opt {
	padding: 10px;
	position: relative;
	border-bottom: none;
}

#formBooking li.opt > label {
	color: var(--bde-body-text-color);
	font-family: var(--bde-body-font-family);
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 20px;
}

#formBooking .SumoSelect > .optWrapper > .options li.opt:hover {
	background-color: #fafafa;
	border-radius: 12px;
}

#formBooking .sumo_neighbourhood:hover {
	outline: none;
	border: none;
}

.SumoSelect.open > .CaptionCont,
.SumoSelect:focus > .CaptionCont,
.SumoSelect:hover > .CaptionCont {
	box-shadow: none;
	border: none;
}

.SumoSelect > .CaptionCont > label > i {
	display: none;
}

.location-i {
	/* background-image: url('../assets/images/location.svg'); */
	-webkit-mask-image: url("../assets/images/location.svg");
	mask-image: url("../assets/images/location.svg");
}

.calendar-i {
	/* background-image: url('../assets/images/calendar.svg'); */
	-webkit-mask-image: url("../assets/images/calendar.svg");
	mask-image: url("../assets/images/calendar.svg");
}

.guest-i {
	/* background-image: url('../assets/images/guest.svg'); */
	-webkit-mask-image: url("../assets/images/guest.svg");
	mask-image: url("../assets/images/guest.svg");
}

#single-listing-booking-form .guest-icon {
		/* background-image: url('../assets/images/guest.svg'); */
		-webkit-mask-image: url("../assets/images/guest.svg");
		mask-image: url("../assets/images/guest.svg");
		padding-left: 37px;
}

.hfy-listing-hotel-facilities .bathroom-i {
	-webkit-mask-image: url("../assets/images/bathroom-inner.svg");
	mask-image: url("../assets/images/bathroom-inner.svg");
}

.hfy-listing-hotel-facilities .beds-i {
	-webkit-mask-image: url("../assets/images/beds.svg");
	mask-image: url("../assets/images/beds.svg");
}

.hfy-listing-hotel-facilities .bedroom-inner-i {
	-webkit-mask-image: url("../assets/images/bedroom-inner.svg");
	mask-image: url("../assets/images/bedroom-inner.svg");
}

.hfy-listing-hotel-facilities .people-outlined-i {
	-webkit-mask-image: url("../assets/images/PeopleOutlined.svg");
	mask-image: url("../assets/images/PeopleOutlined.svg");
}

.hfy-listing-hotel-facilities .type-i {
	-webkit-mask-image: url("../assets/images/type.svg");
	mask-image: url("../assets/images/type.svg");
}

.location-i,
.calendar-i,
.guest-i,
.hfy-listing-hotel-facilities .beds-i,
.hfy-listing-hotel-facilities .type-i,
.hfy-listing-hotel-facilities .bathroom-i,
.hfy-listing-hotel-facilities .bedroom-inner-i,
.hfy-listing-hotel-facilities .people-outlined-i {
	width: 24px;
	height: 24px;
	padding-right: 1rem;
	background-color: var(--bde-brand-primary-color);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
}

#form-container .col-bedrooms {
	display: none;
}

#form-container .col-dates {
	width: 100%;
}

.hfy-theme1 .hfy-search-form-row-advanced > div .col-guests,
.hfy-theme1 .hfy-search-form-row .col-guests {
	/*width: 100%;
	min-width: auto;*/
}

#form-container .col-guests .input-group {
	border: none;
	background: none;
	width: 100%;
	margin: 0;
	padding: 0;
}

#form-container .form-group,
#form-container .input-group {
	display: flex;
	flex-direction: column;
	text-align: left;
	width: 100%;
}

#form-container .form-group,
#form-container .input-group span {
	color: var(--select-guests-dropdown) !important;
}

#form-container .form-group,
#form-container .input-group label {
	color: var(--bde-palette-color-1-b39ab667-44b8-429d-9df2-7a65f4dc9e14);
}

#form-container ._col.col-guests > div > div > input {
	display: none;
}

#form-container
	._col.col-guests
	> div
	> div
	> div.select-guests-wrap
	.input-group {
	flex-direction: row;
	align-items: center;
}

#form-container .guests-input-label,
#form-container .guests-input-label-text,
#form-container .guests-count-num {
	line-height: 120%;
	vertical-align: middle;
	background: none;
	padding: 0;
}

#form-container .select-guests-wrap .func-box {
	align-items: center;
}

#form-container .btn-close-guests-box {
	display: block;
}

/* --- Guests dropdown */
#form-container .select-guests-wrap .func-box {
	width: 119px;
}

/* --- */

#form-container label {
	color: #999;
	font-family: inherit;
	font-size: 12px;
	font-style: normal;
	font-weight: 400;
	line-height: 16px;
	margin: 0;
	padding: 0;
}

#form-container .btn-primary {
	border-radius: 8px;
	background-color: var(--bde-button-primary-background-color);
	display: flex;
	flex-direction: row;
	padding: 16px 32px;
	height: 100%;
	width: 100%;
	font-size: 18px;
	font-weight: 600;
	line-height: 24px;
	border: none;
	font-family: inherit;
	text-align: center;
	position: relative;
	overflow: hidden;
	transition: transform 0.2s ease;
}

#form-container .btn-primary::before {
	content: "";
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background-color: rgba(255, 255, 255, 0.1);
	transition: left 0.3s ease;
}

#form-container .btn-primary:hover::before {
	left: 0;
}

#form-container ::-webkit-input-placeholder {
	/* Chrome/Opera/Safari */
	color: #222;
	font-family: inherit;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 24px;
}
#form-container ::-moz-placeholder {
	/* Firefox 19+ */
	color: #222;
	font-family: inherit;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 24px;
}
#form-container :-ms-input-placeholder {
	/* IE 10+ */
	color: #222;
	font-family: inherit;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 24px;
}
#form-container :-moz-placeholder {
	/* Firefox 18- */
	color: #222;
	font-family: inherit;
	font-size: 16px;
	font-style: normal;
	font-weight: 600;
	line-height: 24px;
}

/* Style for the placeholder option */
#form-container .col-location select {
	color: var(--bde-palette-color-1-f11506f3-8bda-457c-ad33-9591d5ea9b29);
	font-family: inherit;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 24px;
}

#form-container input {
	color: var(
		--bde-palette-color-1-f11506f3-8bda-457c-ad33-9591d5ea9b29
	) !important;
	font-family: inherit;
	font-size: 16px;
	font-style: normal;
	font-weight: 600;
	line-height: 24px;
	text-transform: capitalize;
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
}

/* Home Search Dates input */
.home #form-container #formBooking input {
	width: 18vw;	
}
.search-input {
	width: 16vw;	
}

@media only screen and (max-width: 1440px) {
	/* Home Search Dates input */
	.home #form-container #formBooking input {
		width: 20vw;	
	}
}

#form-container input::placeholder {
	color: var(
		--bde-palette-color-1-04510522-bdac-4930-bbfc-26e639cc0a89
	) !important;
	font-family: inherit;
	font-size: 16px;
	font-style: normal;
	font-weight: 600;
	line-height: 24px;
}

#form-container span.guests-count-num {
	color: #222;
	font-family: inherit;
	font-size: 16px;
	font-style: normal;
	font-weight: 600;
	line-height: 24px;
}

.hfy-guests-label {
	display: none !important;
}

.hfy-wrap .form-control:focus {
	box-shadow: none;
}

@media only screen and (max-width: 768px) {
	#form-container {
		border-radius: 33px;
		width: 100%;
		padding: 0;
	}

	.hfy-theme1 .hfy-search-form-row ._col.col-advanced,
	.hfy-theme1 .hfy-search-form-row ._col.col-action {
		margin: 3px 1px 4px 1px !important;
		padding: 0 5px;
	}

	#form-container .col-search {
		width: 60%;
	}

	#form-container .col-location,
	#form-container .col-start-date,
	#form-container .col-end-date,
	/* #form-container .col-bedrooms, */
	#form-container .col-guests {
		margin-bottom: 20px !important;
		position: relative;
	}

	#form-container .col-location::after,
	#form-container .col-start-date::after,
	#form-container .col-end-date::after {
		content: "";
		position: absolute;
		width: 100%;
		align-self: center;
		height: 1px;
		/* left: 0; */
		display: block;
		clear: both;
		background-color: #ebebeb;
		margin: 0 auto;
		margin-top: 10px;
	}

	/* Calendar dropdown Mobile */
	.calentim-container-mobile .calentim-input {
		margin: 2rem;
	}

	.calentim-container-mobile 
	.calentim-input 
	.calentim-header {
		padding-top: 1.5rem;
	}

	.calentim-container-mobile 
	.calentim-input 
	.calentim-header 
	.calentim-header-separator {
		padding-bottom: 10px;
	}

	.calentim-container-mobile
	.calentim-input
	.calentim-footer
	button.calentim-apply {
		background: var(--bde-brand-primary-color);
	}

	.calentim-container-mobile
	.calentim-input
	.calentim-footer
	button.calentim-cancel {
		background: #f8f9fa;
		border: 1px solid #dee2e6;
		color: #6c757d;
		padding: 14px 16px;
		margin-right: 8px;
		border-radius: 6px;
		font-weight: 500;
		cursor: pointer;
		display: block !important;
		visibility: visible !important;
	}

	/* Ensure calendar footer is visible and properly positioned on mobile */
	.calentim-container-mobile .calentim-input .calentim-footer {
		display: flex !important;
		justify-content: space-between;
		align-items: center;
		padding: 16px;
		background: #fff;
		border-top: 1px solid #e9ecef;
		position: sticky;
		bottom: 0;
		z-index: 10;
	}

	.calentim-container-mobile .calentim-input .calentim-footer button {
		flex: 1;
		margin: 0 4px;
		min-height: 44px;
		font-size: 16px;
	}

	/* Home Search Dates input */
	.home #form-container #formBooking input {
		width: 70vw;	
	}
	/* --- */
}

/* Calendar Styling */

.calentim-box-arrow-top {
	display: none !important;
}

.calentim-title {
	color: var(--Default-Text-Primary, #222) !important;
	text-align: center !important;
	font-family: var(--bde-body-font-family) !important;
	font-size: 16px !important;
	font-style: normal !important;
	font-weight: 400 !important;
	line-height: 24px !important;
	border: none !important;
}

.calentim-calendar {
	padding: 12px !important;
	border: none !important;
}

.calentim-dayofweek {
	color: var(--Default-Text-Secondary, #999) !important;
	text-align: center !important;
	font-family: var(--bde-body-font-family) !important;
	font-size: 12px !important;
	font-style: normal !important;
	font-weight: 400 !important;
	line-height: 24px !important;
}

.calentim-day {
	color: var(--Default-Text-Primary, #222) !important;
	text-align: center !important;
	font-family: var(--bde-body-font-family) !important;
	font-size: 14px !important;
	font-style: normal !important;
	font-weight: 400 !important;
	line-height: 24px !important; /* 200% */
}

.calentim-disabled {
	border: 1px solid var(--3-White, #fff) !important;
	background: var(--Default-Background-Light, #fafafa) !important;
	color: var(--Default-Text-Secondary, #999) !important;
	font-family: var(--bde-body-font-family) !important;
	font-size: 14px !important;
	font-style: normal !important;
	font-weight: 400 !important;
	line-height: 24px !important;
	display: flex;
}

body
	> div.calentim-container.calentim-popup
	> div.calentim-input
	> div.calentim-calendars
	div.calentim-days-container
	.calentim-selected {
	background: var(--bde-brand-primary-color) !important;
	color: #fff !important;
}

.calentim-container
	.calentim-input
	.calentim-calendars
	.calentim-calendar
	.calentim-days-container
	.calentim-day.calentim-hovered:not(.calentim-selected):not(
		.calentim-not-in-month
	),
.calentim-container-mobile
	.calentim-input
	.calentim-calendars
	.calentim-calendar
	.calentim-days-container
	.calentim-day.calentim-hovered:not(.calentim-selected):not(
		.calentim-not-in-month
	) {
	background: var(--bde-brand-primary-color) !important;
	color: #fff !important;
}

.calentim-container
	.calentim-input
	.calentim-calendars
	.calentim-calendar
	.calentim-days-container
	.calentim-day.calentim-hovered:not(.calentim-selected)
	span,
.calentim-container-mobile
	.calentim-input
	.calentim-calendars
	.calentim-calendar
	.calentim-days-container
	.calentim-day.calentim-hovered:not(.calentim-selected)
	span {
	background-color: transparent !important;
}

.calentim-container
	.calentim-input
	.calentim-calendars
	.calentim-calendar
	.calentim-days-container
	.calentim-day.calentim-hovered:not(
		.calentim-selected
	).calentim-hovered-first,
.calentim-container-mobile
	.calentim-input
	.calentim-calendars
	.calentim-calendar
	.calentim-days-container
	.calentim-day.calentim-hovered:not(
		.calentim-selected
	).calentim-hovered-first {
	border-top-left-radius: 0 !important;
	border-bottom-left-radius: 0 !important;
}

.calentim-container
	.calentim-input
	.calentim-calendars
	.calentim-calendar
	.calentim-days-container
	.calentim-day.calentim-hovered:not(
		.calentim-selected
	).calentim-hovered-last:not(.calentim-not-in-month),
.calentim-container-mobile
	.calentim-input
	.calentim-calendars
	.calentim-calendar
	.calentim-days-container
	.calentim-day.calentim-hovered:not(
		.calentim-selected
	).calentim-hovered-last:not(.calentim-not-in-month) {
	border-top-right-radius: 0 !important;
	border-bottom-right-radius: 0 !important;
	background: var(--bde-brand-primary-color) !important;
}

.calentim-container .calentim-day.calentim-not-in-month {
	background-color: transparent !important;
}

.calentim-container
	.calentim-input
	.calentim-calendars
	.calentim-calendar
	.calentim-days-container
	.calentim-day.calentim-selected,
.calentim-container-mobile
	.calentim-input
	.calentim-calendars
	.calentim-calendar
	.calentim-days-container
	.calentim-day.calentim-selected {
	background: var(--bde-brand-primary-color) !important;
}

.calentim-container
	.calentim-input
	.calentim-calendars
	.calentim-calendar
	.calentim-days-container
	.calentim-day.calentim-selected.calentim-start:not(.calentim-not-in-month),
.calentim-container-mobile
	.calentim-input
	.calentim-calendars
	.calentim-calendar
	.calentim-days-container
	.calentim-day.calentim-selected.calentim-start:not(.calentim-not-in-month) {
	border-radius: 0 !important;
	background-color: var(--bde-brand-primary-color) !important;
}

.calentim-container
	.calentim-input
	.calentim-calendars
	.calentim-calendar
	.calentim-days-container
	.calentim-day.calentim-selected.calentim-start
	span,
.calentim-container-mobile
	.calentim-input
	.calentim-calendars
	.calentim-calendar
	.calentim-days-container
	.calentim-day.calentim-selected.calentim-start
	span {
	background: transparent !important;
	border-radius: 0 !important;
}

.calentim-container
	.calentim-input
	.calentim-calendars
	.calentim-calendar
	.calentim-days-container
	.calentim-day.calentim-selected.calentim-end:not(.calentim-not-in-month),
.calentim-container-mobile
	.calentim-input
	.calentim-calendars
	.calentim-calendar
	.calentim-days-container
	.calentim-day.calentim-selected.calentim-end:not(.calentim-not-in-month) {
	border-radius: 0 !important;
	background-color: var(--bde-brand-primary-color) !important;
}

.calentim-notouch
	.calentim-container
	.calentim-input
	.calentim-calendars
	.calentim-calendar
	.calentim-days-container
	.calentim-day:hover:not(.calentim-hovered):not(.calentim-selected),
.calentim-notouch
	.calentim-container-mobile
	.calentim-input
	.calentim-calendars
	.calentim-calendar
	.calentim-days-container
	.calentim-day:hover:not(.calentim-hovered):not(.calentim-selected) {
	border-radius: 0 !important;
	background: var(--bde-brand-primary-color) !important;
	color: #fff !important;
}
.calentim-container
	.calentim-input
	.calentim-calendars
	.calentim-calendar
	.calentim-days-container
	.calentim-disabled.calentim-start:not(.calentim-not-in-month),
.calentim-container-mobile
	.calentim-input
	.calentim-calendars
	.calentim-calendar
	.calentim-days-container
	.calentim-disabled.calentim-start:not(.calentim-not-in-month) {
	border-top-left-radius: 0 !important;
	border-bottom-left-radius: 0 !important;
	padding: 0;
	border: none !important;
}
.calentim-container
	.calentim-input
	.calentim-calendars
	.calentim-calendar
	.calentim-days-container
	.calentim-disabled.calentim-start:not(.calentim-not-in-month)
	span,
.calentim-container-mobile
	.calentim-input
	.calentim-calendars
	.calentim-calendar
	.calentim-days-container
	.calentim-disabled.calentim-start:not(.calentim-not-in-month)
	span {
	background: var(--bde-brand-primary-color) !important;
	border-radius: 0;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	flex: 1;
}

.calentim-container .calentim-input,
.calentim-container-mobile .calentim-input {
	margin: 7px 0 0 0 !important;
	border: none !important;
	border-radius: 12px !important;
	box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.08) !important;
}

body
	> div.calentim-container.calentim-popup
	> div.calentim-input
	> div.calentim-calendars
	> div.calentim-calendar.no-border-right
	> div.calentim-days-container
	> div.calentim-disabled.calentim-start.calentim-hovered.calentim-hovered-first {
	padding: 0 !important;
	border: none !important;
	justify-content: stretch;
	align-items: stretch;
	display: flex;
	justify-content: stretch;
	justify-items: stretch;
	justify-self: stretch;
	align-content: stretch;
	align-items: stretch;
	flex-direction: column;
}

.calentim-container
	.calentim-input
	.calentim-calendars
	.calentim-calendar
	.calentim-days-container
	.calentim-day.calentim-selected.calentim-start.calentim-end,
.calentim-container-mobile
	.calentim-input
	.calentim-calendars
	.calentim-calendar
	.calentim-days-container
	.calentim-day.calentim-selected.calentim-start.calentim-end {
	border-radius: 0 !important;
}

.calentim-not-in-month {
	background-color: transparent !important;
}

/* End Calendar Styling */

.hfy-wrap .alert-primary {
	border-radius: 8px;
	padding: 2rem;
	background-color: rgba(0, 157, 149, 0.05);
	border: 1px solid var(--bde-brand-primary-color);
	color: #222;
}

/*--------------------------------------------------------------
# End Search
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Advanced Search - Updated
--------------------------------------------------------------*/

#search-advanced-container .hfy-search-form-row {
	padding-left: 0;
}

.hfy-listing-map {
	height: calc(100vh - 150px);
}

#search-properties-map .hfy-listings-map-toggle-mobile .hfy-lmt-show,
#search-properties-map .hfy-listings-map-toggle-mobile .hfy-lmt-hide,
#search-properties .hfy-listings-map-toggle .hfy-lmt-show,
#search-properties .hfy-listings-map-toggle .hfy-lmt-hide
 {
	padding-right: 1.5rem;
    padding-left: 1.5rem;
	border-color: transparent;
	background-color: var(--bde-brand-primary-color);
	color: #fff;
	border-radius: 8px;
	font-weight: 300;
	padding: 1rem 1.5rem;
}

#search-properties-map .hfy-listings-map-toggle-mobile .hfy-lmt-show:after,
#search-properties .hfy-listings-map-toggle .hfy-lmt-show:after,
#search-properties .hfy-listings-map-toggle .hfy-lmt-hide:after {
    content: "";
    display: block;
    background-color: var(--bde-palette-color-1-219fc5f7-3915-46c5-8bef-6ed6d8972ff4);
    width: 24px;
    height: 24px;
    margin-right: 4px;
    margin-left: 16px;
    mask-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22Icons%22%20viewBox%3D%220%200%2060%2060%22%3E%3Cpath%20d%3D%22M58.831%2C1.153a2.977%2C2.977%2C0%2C0%2C0-2.6-.524l-16%2C4.209a1%2C1%2C0%2C0%2C1-.5%2C0L20.738.089A3.015%2C3.015%2C0%2C0%2C0%2C19.249.1L2.236%2C4.576A3%2C3%2C0%2C0%2C0%2C0%2C7.477V56.471a3%2C3%2C0%2C0%2C0%2C3.764%2C2.9l16-4.209a1.04%2C1.04%2C0%2C0%2C1%2C.5%2C0l19.006%2C4.752a3.029%2C3.029%2C0%2C0%2C0%2C1.489-.01l17.013-4.477A3%2C3%2C0%2C0%2C0%2C60%2C52.523V3.529A2.98%2C2.98%2C0%2C0%2C0%2C58.831%2C1.153ZM53.477%2C45.722l-2.044-.682a.637.637%2C0%2C0%2C1-.433-.6V42.73a.645.645%2C0%2C0%2C1%2C.534-.633L58%2C41.019v8.773l-2.24-.563a.627.627%2C0%2C0%2C1-.48-.619v-.39A2.628%2C2.628%2C0%2C0%2C0%2C53.477%2C45.722ZM58%2C27H54.04a2.522%2C2.522%2C0%2C0%2C1-.924-.178l-4.861-1.8a2.7%2C2.7%2C0%2C0%2C1-1.4-1.291L45.7%2C21.43A4.392%2C4.392%2C0%2C0%2C0%2C41.76%2C19H41V12.431L57.554%2C2.712a.562.562%2C0%2C0%2C1%2C.056.025%2C1%2C1%2C0%2C0%2C1%2C.39.792ZM39%2C42.985a1.135%2C1.135%2C0%2C0%2C1-1.055-.979l-.791-6.3a4.092%2C4.092%2C0%2C0%2C0-4.06-3.568A3.125%2C3.125%2C0%2C0%2C1%2C30%2C29.071%2C3.163%2C3.163%2C0%2C0%2C1%2C33.094%2C26%2C26.457%2C26.457%2C0%2C0%2C1%2C39%2C26.769Zm2-15.257a3.472%2C3.472%2C0%2C0%2C1%2C.393.437l2.621%2C3.5A13.23%2C13.23%2C0%2C0%2C0%2C41%2C37.661Zm-2-3.011A27.856%2C27.856%2C0%2C0%2C0%2C33.094%2C24a5.072%2C5.072%2C0%2C1%2C0%2C0%2C10.143%2C2.089%2C2.089%2C0%2C0%2C1%2C2.076%2C1.818l.791%2C6.3A3.151%2C3.151%2C0%2C0%2C0%2C39%2C44.987v12.8l-18-4.5V48.547c.017-.031.038-.059.054-.091L24.3%2C41.94a7.018%2C7.018%2C0%2C0%2C0%2C.7-3.049V36.768a4.2%2C4.2%2C0%2C0%2C0-3.216-4.088c-.254-.059-.522-.1-.784-.155V2.215l18%2C4.5v4.571l-5.177%2C3.039A3.561%2C3.561%2C0%2C0%2C0%2C35.56%2C21H39ZM21%2C34.563c.105.022.217.039.321.063A2.2%2C2.2%2C0%2C0%2C1%2C23%2C36.768v2.123a5.012%2C5.012%2C0%2C0%2C1-.5%2C2.172L21%2C44.074Zm-2%2C13.3a.76.76%2C0%2C0%2C1-.431.139.915.915%2C0%2C0%2C1-.895-.734l-.829-4.156A2.8%2C2.8%2C0%2C0%2C0%2C14.8%2C40.9%2C3.69%2C3.69%2C0%2C0%2C1%2C12%2C37.363%2C3.436%2C3.436%2C0%2C0%2C1%2C15.333%2C34%2C29.534%2C29.534%2C0%2C0%2C1%2C19%2C34.228ZM41%2C6.706%2C51.514%2C3.939%2C41%2C10.112ZM35.56%2C19a1.561%2C1.561%2C0%2C0%2C1-.745-2.937L39%2C13.606V19ZM2.746%2C6.51%2C15%2C3.285V12.02a1.135%2C1.135%2C0%2C0%2C1-.626%2C1.005%2C3.119%2C3.119%2C0%2C0%2C0-1.29%2C4.42l1.12%2C1.864A2.069%2C2.069%2C0%2C0%2C1%2C13.716%2C22L9.267%2C25.557a2.162%2C2.162%2C0%2C0%2C0-.8%2C1.575%2C2.468%2C2.468%2C0%2C0%2C0%2C.741%2C1.856.559.559%2C0%2C0%2C1%2C.145.4A.635.635%2C0%2C0%2C1%2C8.7%2C30a4.027%2C4.027%2C0%2C0%2C1-3.484-2.431L2%2C20.639V7.477A1%2C1%2C0%2C0%2C1%2C2.746%2C6.51Zm.508%2C50.928A1%2C1%2C0%2C0%2C1%2C2%2C56.471V25.39l1.4%2C3.025A6.049%2C6.049%2C0%2C0%2C0%2C8.74%2C32a2.613%2C2.613%2C0%2C0%2C0%2C2.61-2.61%2C2.513%2C2.513%2C0%2C0%2C0-.737-1.822.463.463%2C0%2C0%2C1-.151-.33.166.166%2C0%2C0%2C1%2C.062-.127l4.437-3.548a4.07%2C4.07%2C0%2C0%2C0%2C.955-5.289L14.8%2C16.415a1.12%2C1.12%2C0%2C0%2C1%2C.47-1.6A3.153%2C3.153%2C0%2C0%2C0%2C17%2C12.02V2.759l2-.527V32.211A31.727%2C31.727%2C0%2C0%2C0%2C15.333%2C32%2C5.42%2C5.42%2C0%2C0%2C0%2C10%2C37.363a5.709%2C5.709%2C0%2C0%2C0%2C4.333%2C5.485.814.814%2C0%2C0%2C1%2C.551.652h0l.829%2C4.155A2.918%2C2.918%2C0%2C0%2C0%2C18.569%2C50%2C2.686%2C2.686%2C0%2C0%2C0%2C19%2C49.963v3.331Zm54-3.948L41%2C57.768V44.386a3.245%2C3.245%2C0%2C0%2C0%2C1.351-2.4h0c.379-5.516%2C2.3-8.086%2C3.111-8.934a2.081%2C2.081%2C0%2C0%2C0%2C.134-2.633L42.989%2C26.96A5.5%2C5.5%2C0%2C0%2C0%2C41%2C25.343V21h.76a2.4%2C2.4%2C0%2C0%2C1%2C2.155%2C1.327l1.15%2C2.3a4.711%2C4.711%2C0%2C0%2C0%2C2.468%2C2.261l4.873%2C1.8A4.472%2C4.472%2C0%2C0%2C0%2C54.04%2C29H58V39.015c-.085.006-.169.005-.254.018l-6.538%2C1.091A2.63%2C2.63%2C0%2C0%2C0%2C49%2C42.73v1.71a2.627%2C2.627%2C0%2C0%2C0%2C1.8%2C2.5l2.041.68a.641.641%2C0%2C0%2C1%2C.435.6v.39a2.631%2C2.631%2C0%2C0%2C0%2C2%2C2.56L58%2C51.853v.67A1%2C1%2C0%2C0%2C1%2C57.254%2C53.49Z%22%2F%3E%3C%2Fsvg%3E);
    mask-position: 0 0;
    mask-size: 100% 100%;
    mask-repeat: no-repeat;
    -webkit-mask-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22Icons%22%20viewBox%3D%220%200%2060%2060%22%3E%3Cpath%20d%3D%22M58.831%2C1.153a2.977%2C2.977%2C0%2C0%2C0-2.6-.524l-16%2C4.209a1%2C1%2C0%2C0%2C1-.5%2C0L20.738.089A3.015%2C3.015%2C0%2C0%2C0%2C19.249.1L2.236%2C4.576A3%2C3%2C0%2C0%2C0%2C0%2C7.477V56.471a3%2C3%2C0%2C0%2C0%2C3.764%2C2.9l16-4.209a1.04%2C1.04%2C0%2C0%2C1%2C.5%2C0l19.006%2C4.752a3.029%2C3.029%2C0%2C0%2C0%2C1.489-.01l17.013-4.477A3%2C3%2C0%2C0%2C0%2C60%2C52.523V3.529A2.98%2C2.98%2C0%2C0%2C0%2C58.831%2C1.153ZM53.477%2C45.722l-2.044-.682a.637.637%2C0%2C0%2C1-.433-.6V42.73a.645.645%2C0%2C0%2C1%2C.534-.633L58%2C41.019v8.773l-2.24-.563a.627.627%2C0%2C0%2C1-.48-.619v-.39A2.628%2C2.628%2C0%2C0%2C0%2C53.477%2C45.722ZM58%2C27H54.04a2.522%2C2.522%2C0%2C0%2C1-.924-.178l-4.861-1.8a2.7%2C2.7%2C0%2C0%2C1-1.4-1.291L45.7%2C21.43A4.392%2C4.392%2C0%2C0%2C0%2C41.76%2C19H41V12.431L57.554%2C2.712a.562.562%2C0%2C0%2C1%2C.056.025%2C1%2C1%2C0%2C0%2C1%2C.39.792ZM39%2C42.985a1.135%2C1.135%2C0%2C0%2C1-1.055-.979l-.791-6.3a4.092%2C4.092%2C0%2C0%2C0-4.06-3.568A3.125%2C3.125%2C0%2C0%2C1%2C30%2C29.071%2C3.163%2C3.163%2C0%2C0%2C1%2C33.094%2C26%2C26.457%2C26.457%2C0%2C0%2C1%2C39%2C26.769Zm2-15.257a3.472%2C3.472%2C0%2C0%2C1%2C.393.437l2.621%2C3.5A13.23%2C13.23%2C0%2C0%2C0%2C41%2C37.661Zm-2-3.011A27.856%2C27.856%2C0%2C0%2C0%2C33.094%2C24a5.072%2C5.072%2C0%2C1%2C0%2C0%2C10.143%2C2.089%2C2.089%2C0%2C0%2C1%2C2.076%2C1.818l.791%2C6.3A3.151%2C3.151%2C0%2C0%2C0%2C39%2C44.987v12.8l-18-4.5V48.547c.017-.031.038-.059.054-.091L24.3%2C41.94a7.018%2C7.018%2C0%2C0%2C0%2C.7-3.049V36.768a4.2%2C4.2%2C0%2C0%2C0-3.216-4.088c-.254-.059-.522-.1-.784-.155V2.215l18%2C4.5v4.571l-5.177%2C3.039A3.561%2C3.561%2C0%2C0%2C0%2C35.56%2C21H39ZM21%2C34.563c.105.022.217.039.321.063A2.2%2C2.2%2C0%2C0%2C1%2C23%2C36.768v2.123a5.012%2C5.012%2C0%2C0%2C1-.5%2C2.172L21%2C44.074Zm-2%2C13.3a.76.76%2C0%2C0%2C1-.431.139.915.915%2C0%2C0%2C1-.895-.734l-.829-4.156A2.8%2C2.8%2C0%2C0%2C0%2C14.8%2C40.9%2C3.69%2C3.69%2C0%2C0%2C1%2C12%2C37.363%2C3.436%2C3.436%2C0%2C0%2C1%2C15.333%2C34%2C29.534%2C29.534%2C0%2C0%2C1%2C19%2C34.228ZM41%2C6.706%2C51.514%2C3.939%2C41%2C10.112ZM35.56%2C19a1.561%2C1.561%2C0%2C0%2C1-.745-2.937L39%2C13.606V19ZM2.746%2C6.51%2C15%2C3.285V12.02a1.135%2C1.135%2C0%2C0%2C1-.626%2C1.005%2C3.119%2C3.119%2C0%2C0%2C0-1.29%2C4.42l1.12%2C1.864A2.069%2C2.069%2C0%2C0%2C1%2C13.716%2C22L9.267%2C25.557a2.162%2C2.162%2C0%2C0%2C0-.8%2C1.575%2C2.468%2C2.468%2C0%2C0%2C0%2C.741%2C1.856.559.559%2C0%2C0%2C1%2C.145.4A.635.635%2C0%2C0%2C1%2C8.7%2C30a4.027%2C4.027%2C0%2C0%2C1-3.484-2.431L2%2C20.639V7.477A1%2C1%2C0%2C0%2C1%2C2.746%2C6.51Zm.508%2C50.928A1%2C1%2C0%2C0%2C1%2C2%2C56.471V25.39l1.4%2C3.025A6.049%2C6.049%2C0%2C0%2C0%2C8.74%2C32a2.613%2C2.613%2C0%2C0%2C0%2C2.61-2.61%2C2.513%2C2.513%2C0%2C0%2C0-.737-1.822.463.463%2C0%2C0%2C1-.151-.33.166.166%2C0%2C0%2C1%2C.062-.127l4.437-3.548a4.07%2C4.07%2C0%2C0%2C0%2C.955-5.289L14.8%2C16.415a1.12%2C1.12%2C0%2C0%2C1%2C.47-1.6A3.153%2C3.153%2C0%2C0%2C0%2C17%2C12.02V2.759l2-.527V32.211A31.727%2C31.727%2C0%2C0%2C0%2C15.333%2C32%2C5.42%2C5.42%2C0%2C0%2C0%2C10%2C37.363a5.709%2C5.709%2C0%2C0%2C0%2C4.333%2C5.485.814.814%2C0%2C0%2C1%2C.551.652h0l.829%2C4.155A2.918%2C2.918%2C0%2C0%2C0%2C18.569%2C50%2C2.686%2C2.686%2C0%2C0%2C0%2C19%2C49.963v3.331Zm54-3.948L41%2C57.768V44.386a3.245%2C3.245%2C0%2C0%2C0%2C1.351-2.4h0c.379-5.516%2C2.3-8.086%2C3.111-8.934a2.081%2C2.081%2C0%2C0%2C0%2C.134-2.633L42.989%2C26.96A5.5%2C5.5%2C0%2C0%2C0%2C41%2C25.343V21h.76a2.4%2C2.4%2C0%2C0%2C1%2C2.155%2C1.327l1.15%2C2.3a4.711%2C4.711%2C0%2C0%2C0%2C2.468%2C2.261l4.873%2C1.8A4.472%2C4.472%2C0%2C0%2C0%2C54.04%2C29H58V39.015c-.085.006-.169.005-.254.018l-6.538%2C1.091A2.63%2C2.63%2C0%2C0%2C0%2C49%2C42.73v1.71a2.627%2C2.627%2C0%2C0%2C0%2C1.8%2C2.5l2.041.68a.641.641%2C0%2C0%2C1%2C.435.6v.39a2.631%2C2.631%2C0%2C0%2C0%2C2%2C2.56L58%2C51.853v.67A1%2C1%2C0%2C0%2C1%2C57.254%2C53.49Z%22%2F%3E%3C%2Fsvg%3E);
    -webkit-mask-position: 0 0;
    -webkit-mask-size: 100% 100%;
    transition-timing-function: ease-in-out;
    transition-property: transform,background-color;
    transition-duration: var(--bde-transition-duration)
}

.hfy-theme1 .hfy-listings-map-toggle.hfy-ctrl-show-map .hfy-lmt-show {
    display: flex;
}
@media screen and (min-width: 1120px) {
	.hfy-theme1 .hfy-map-wrapper .hfy-map-close-btn {
		display: none;
	}
}


#search-advanced-container #form-container {
	width: 100%;
	padding: 0;
}

#search-advanced-container .hfy-search-form-row-advanced {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	font-family: var(--bde-body-font-family);
	max-width: 100%;
	margin: 10px 0;
}

#search-advanced-container ._col:not(.col-action) {
	border: 1px solid #ebebeb;
	background-color: #fff;
	border-radius: 8px;
	width: 100%;
	padding: 8px 12px;
}

#search-advanced-container ._col.col-action button span svg path {
	stroke-width: 1.5;
	stroke: #FFFFFF;
}

#search-advanced-container ._col.col-action button {
	border-radius: 8px;
	background-color: var(--bde-button-primary-background-color);
	display: flex;
	flex-direction: row;
	padding: 16px 32px;
	height: 100%;
	width: 100%;
	font-size: 18px;
	font-weight: 600;
	line-height: 24px;
	border: none;
	font-family: inherit;
	text-align: center;
	position: relative;
	overflow: hidden;
	transition: transform 0.2s ease;
}

#search-advanced-container ._col.col-action button::before {
	content: "";
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background-color: rgba(255, 255, 255, 0.1);
	transition: left 0.3s ease;
}

#search-advanced-container ._col.col-action button:hover::before {
	left: 0;
}

#search-advanced-container ._col.col-action button:hover {
	
}

#search-advanced-container .wrap-form-field {
	flex: 1;
	/*min-width: 200px;*/
	margin-bottom: 10px;
	border: 1px solid #ebebeb;
	border-radius: 8px;
	overflow: visible;
	position: relative;
	color: #222;
	font-family: inherit;
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	line-height: 24px;
}

#search-advanced-container .dropdown-header {
	background-color: #fff;
	padding: 8px 16px;
	justify-content: space-between;
	align-items: center;
	cursor: pointer;
	width: 100%;
	border-radius: 8px;
	color: #222;
	font-family: inherit;
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	line-height: 24px;
	border: 2px;
}

/* Cut text with dots at the end */
#search-advanced-container .dropdown-header:first-child {
	display: inline-block;
	overflow-x: hidden;
  	white-space: nowrap;
  	text-overflow: ellipsis;
	padding-right: 2rem;
}

#search-advanced-container .dropdown-header.has-selection {
	border: 2px solid var(--bde-brand-primary-color);
	background: rgba(0, 157, 149, 0.05);
}

#search-advanced-container .dropdown-header span:first-child {
	font-weight: bold;
	color: var(--bde-body-text-color);
	font-family: inherit;
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	line-height: 24px;
}

/* put arrow in right corner */
#search-advanced-container .toggle-section {
	position: absolute;
  	top: 8px;
  	right: 8px;
}

#search-advanced-container .toggle-section svg {
	transition: transform 0.3s ease;
}

#search-advanced-container .dropdown.active .toggle-section svg {
	transform: rotate(180deg);
}

#search-advanced-container .dropdown-content label {
	color: var(--bde-body-text-color);
	font-family: var(--bde-body-font-family);
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	line-height: 20px;
}

#search-advanced-container .form-field-content {
	padding: 15px;
	border-top: 1px solid #e0e0e0;
	background-color: #fff;
	color: #222;
	font-family: inherit;
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	line-height: 24px;
}

#search-advanced-container .dropdown-content {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	background-color: #fff;
	min-width: 100%;
	box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.08);
	z-index: 1;
	border-radius: 8px;
	color: #222;
	font-family: inherit;
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	line-height: 24px;
	margin-top: 8px;
}

#search-advanced-container .dropdown.active .dropdown-content {
	display: block;
}

#search-advanced-container .room-control {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 10px;
}

#search-advanced-container .room-input {
	display: flex;
	align-items: center;
	color: #222;
	font-family: inherit;
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	line-height: 24px;
}

/* Decrease button */

#search-advanced-container .room-input button.decrement {
	width: 32px;
	height: 32px;
	background-color: transparent;
	border: none;
	cursor: pointer;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Crect width='32' height='32' rx='16' fill='var(--Default-Background-Light, %23FAFAFA)'/%3E%3Cpath d='M11 16H21' stroke='%23999999' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
}

/* Increase button */
#search-advanced-container .room-input button.increment {
	width: 32px;
	height: 32px;
	background-color: transparent;
	border: none;
	cursor: pointer;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Crect width='32' height='32' rx='16' fill='var(--Default-Background-Light, %23FAFAFA)'/%3E%3Cpath d='M16 11V21' stroke='%23999999' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M11 16H21' stroke='%23999999' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
}

/* Common styles for both buttons */
#search-advanced-container .room-input button.decrement,
#search-advanced-container .room-input button.increment {
	color: transparent; /* Hide any text content */
	font-size: 0; /* Ensure no text is visible */
	line-height: 0;
}

Add
	hover
	effect
	*/
	#search-advanced-container
	.room-input
	button.decrement:hover,
#search-advanced-container .room-input button.increment:hover {
	opacity: 0.8;
}

#search-advanced-container .room-input button.decrement:focus,
#search-advanced-container .room-input button.increment:focus {
	outline: none;
}
#search-advanced-container .room-input button.decrement:active,
#search-advanced-container .room-input button.increment:active {
	outline: none;
}

#search-advanced-container .room-input #bedrooms-advanced {
	padding-left: 10px;
}
#search-advanced-container .room-input #bathrooms-advanced {
	padding-left: 10px;
}

#search-advanced-container .room-input input {
	width: 50px;
	height: 30px;
	text-align: center;
	border: none;
	border-left: none;
	border-right: none;
	color: #222;
	font-family: inherit;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 22px;
}

/* Display div for "Any" text */
#search-advanced-container .room-input .room-display {
	width: 50px;
	height: 30px;
	text-align: center;
	border: none;
	color: #222;
	font-family: inherit;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
}

#search-advanced-container .checkbox-list,
#search-advanced-container .radio-list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 10px;
}

#search-advanced-container .checkbox-list label,
#search-advanced-container .radio-list label {
	display: flex;
	align-items: center;
	color: var(--bde-palette-color-1-68ca399b-b400-4c88-93b7-703ecfd70ee8);
	font-family: inherit;
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	line-height: 24px;
}

#search-advanced-container .checkbox-list input,
#search-advanced-container .radio-list input {
	margin-right: 5px;
}

#search-advanced-container .price-type {
	display: flex;
	justify-content: flex-start;
	gap: 20px;
	margin-bottom: 10px;
}

#search-advanced-container .price-range {
	display: flex;
	align-items: center;
	gap: 10px;
}

#search-advanced-container .price-range input[type="number"] {
	width: 100px;
	padding: 8px;
	border: 1px solid #ccc;
	border-radius: 4px;
}

#search-advanced-container .clear-section {
	margin-top: 10px;
	padding: 8px 15px;
	background-color: #fafafa;
	border: 1px solid #ebebeb;
	border-radius: 8px;
	cursor: pointer;
	width: 100%;
	font-size: 14px;
	color: var(--Default-Text-Primary, #222);
	font-family: var(--bde-body-font-family);
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	line-height: 20px;
}

#search-advanced-container .clear-section:hover {
	background-color: #e0e0e0;
}

@media (max-width: 768px) {
	#search-advanced-container .hfy-search-form-row-advanced {
		flex-direction: column;
		gap: 0px;
		padding: 0px;
	}

	#search-advanced-container .wrap-form-field {
		width: 100%;
		/*margin-bottom: 16px;*/
	}
	
	/* Fix dropdown headers on mobile */
	#search-advanced-container .dropdown-header {
		padding: 6px 16px;
		font-size: 14px;
		min-height: 32px; /* Touch-friendly */
	}
	
	/* Fix dropdown content on mobile */
	#search-advanced-container .dropdown-content {
		padding: 16px;
	}
	
	/* Fix checkbox groups on mobile */
	#search-advanced-container .checkbox-list {
		display: flex;
		flex-direction: column;
		gap: 12px;
	}
	
	/* Fix room controls on mobile */
	#search-advanced-container .room-control {
		margin-bottom: 16px;
	}
	
	#search-advanced-container .room-input {
		display: flex;
		align-items: center;
		gap: 12px;
		margin-top: 8px;
	}
	
	/* Fix price range on mobile */
	#search-advanced-container .price-range {
		display: flex;
		flex-direction: column;
		gap: 12px;
	}
	
	#search-advanced-container .price-input-wrapper {
		display: flex;
		align-items: center;
		gap: 8px;
	}
	
	/* Make inputs touch-friendly */
	#search-advanced-container input[type="number"],
	#search-advanced-container input[type="text"],
	#search-advanced-container select {
		min-height: 44px;
		font-size: 16px; /* Prevents zoom on iOS */
		padding: 12px;
	}
	
	/* Fix clear button */
	#search-advanced-container .clear-section {
		min-height: 44px;
		font-size: 16px;
		margin-top: 16px;
	}
}

/* Custom Checkbox and Radio Button Styles */

#search-advanced-container input[type="checkbox"],
#search-advanced-container input[type="radio"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 24px;
	height: 24px;
	border-radius: var(--Guest-Full-circle, 999px);
	border: 1px solid var(--Default-Outline, #ebebeb);
	background: var(--Default-Background-Light, #fafafa);
	cursor: pointer;
	position: relative;
	margin-right: 10px;
	min-width: 24px;
}

#search-advanced-container input[type="checkbox"]:checked::before,
#search-advanced-container input[type="radio"]:checked::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 12px;
	height: 12px;
	background-image: url("../assets/images/check 1.svg");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

#search-advanced-container input[type="checkbox"]:focus,
#search-advanced-container input[type="radio"]:focus {
	outline: none;
	box-shadow: 0 0 0 2px rgb(0, 157, 149 / 30%);;
}

/* Styles for labels next to checkboxes and radio buttons */
#search-advanced-container .checkbox-list label,
#search-advanced-container .radio-list label {
	display: inline-flex;
	align-items: center;
	cursor: pointer;
	font-size: 14px;
	color: var(--bde-body-text-color);
	margin-bottom: 8px;
}

/* Hover effect */
#search-advanced-container input[type="checkbox"]:hover,
#search-advanced-container input[type="radio"]:hover {
	background-color: #f0f0f0;
}

/* Active effect */
#search-advanced-container input[type="checkbox"]:active,
#search-advanced-container input[type="radio"]:active {
	background-color: #e0e0e0;
}

/* Additional styles to match the layout in the image */
#search-advanced-container .checkbox-list,
#search-advanced-container .radio-list {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

/* Active state for filters with selections */
#search-advanced-container .wrap-form-field.has-selection {
    border: 1px solid var(--bde-brand-primary-color);
    
}

#search-advanced-container .wrap-form-field.has-selection::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--bde-brand-primary-color);
    opacity: 0.15;
}

/* Adjust the dropdown header for active state */
#search-advanced-container .wrap-form-field.has-selection .dropdown-header::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--bde-brand-primary-color);
    opacity: 0.15;
}

/* Style for the selection indicator (e.g., number of selections) */
#search-advanced-container .wrap-form-field.has-selection .selection-indicator {
	color: var(--bde-brand-primary-color);
	font-weight: 600;
}

/*--------------------------------------------------------------
# End Advanced Search - Updated
--------------------------------------------------------------*/

/* Listings Block */

.listings-container {
	width: 100%;
}

#search-properties .listings .row.listing-block {
	display: grid;
	grid-template-rows: auto;
	grid-auto-rows: auto;
	/* grid-template-columns: repeat(auto-fill, minmax(390px, 1fr)); */
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}

.listings-map-hidden #search-properties .listings .row.listing-block {
	display: grid;
	grid-template-rows: auto;
	grid-auto-rows: auto;
	/* grid-template-columns: repeat(6, 1fr); */
	grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
	gap: 16px;
}

#search-properties .bde-shortcode-16-118 {
	padding-right: 0;
}

#search-properties .bde-columns {
	gap: 1rem;
}

@media (max-width: 1850px) {
	.listings-map-visible #search-properties .pricing-reviews-container {
		flex-direction: column;
	}
}

@media (max-width: 1440px) {
	.listings-map-visible #search-properties .row.listing-block {
		grid-template-columns: repeat(2, 1fr);
	}

	.listings-map-visible #search-properties .pricing-reviews-container {
		flex-direction: row;
	}
}

@media (max-width: 1300px) {
	.listings-map-visible #search-properties .pricing-reviews-container {
		flex-direction: column;
	}
}

@media (max-width: 1250px) {
	.listings-map-hidden #search-properties .listings .row.listing-block {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 1120px) {
	.listings-map-visible #search-properties .row.listing-block {
		grid-template-columns: repeat(3, 1fr);
	}

	#search-properties .bde-shortcode-16-118 {
		padding-right: 1rem;
	}

	.listings-map-visible #search-properties .pricing-reviews-container {
		flex-direction: row;
	}

	/* Change divs order - map first  */
	#search-properties .bde-columns .bde-column-16-116 {
		/* order: 2; */
	}
}

@media (max-width: 970px) {
	.listings-map-visible #search-properties .pricing-reviews-container,
	.listings-map-hidden #search-properties .pricing-reviews-container {
		flex-direction: column;
	}
}

@media (max-width: 768px) {	
	.listings-container {
		width: 100%;
	}

	.listings-map-hidden #search-properties .listings .row.listing-block {
		grid-template-columns: repeat(2, 1fr);
	}

	.listings-map-hidden #search-properties .pricing-reviews-container {
		flex-direction: row;
	}
}

@media (max-width: 660px) {	
	.listings-map-hidden #search-properties .pricing-reviews-container {
		flex-direction: column;
		align-items: flex-start;
	}
}

@media (max-width: 630px) {	
	.listings-map-visible #search-properties .pricing-reviews-container {
		flex-direction: column;
		align-items: flex-start;
	}
}

@media (max-width: 600px) {	
	.listings-map-visible #search-properties .row.listing-block,
	.listings-map-hidden #search-properties .listings .row.listing-block {
		grid-template-columns: repeat(1, 1fr);
	}

	.listings-map-visible #search-properties .pricing-reviews-container,
	.listings-map-hidden #search-properties .pricing-reviews-container {
		flex-direction: row;
	}
}

@media (max-width: 350px) {	
	.listings-map-visible #search-properties .pricing-reviews-container,
	.listings-map-hidden #search-properties .pricing-reviews-container {
		flex-direction: column;
	}
}

/* Listings Block - Listing */

/* Show / Hide Map */

.listings-map-hidden .breakdance .bde-column-16-116 {
	--column-width: 100%;
	display: grid;
	justify-content: center;
	transition: all 0.5s;
}

.listings-map-visible .breakdance .bde-column-16-116 {
	--column-width: 50%;
	transition: all 0.5s;
}

.listings-map-hidden #map-column {
	--column-width: 0%;
}
/* */

.hfy-theme1 .hfy-widget-wrap-listings .blaze-container {
	position: inherit;
}

.hfy-theme1 .hfy-widget-wrap-listings .blaze-prev,
.hfy-theme1 .hfy-widget-wrap-listings .blaze-next {
	z-index: 1;
}

.listings-container .list-card {
	border-radius: 12px;
	border: 1px solid var(--Default-Outline, #ebebeb);
	background: var(--Default-Background-Light, #fafafa);
	width: 100%;
	margin: 0;
	display: grid;
	cursor: pointer;
	height: 100%;
}

.list-card-content {
	padding: 16px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	flex-grow: 1;
	height: 100%;
	position: relative;
}

.list-card a {
	text-decoration: none;
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
}

.hfy-theme1 .hfy-widget-wrap-listings .list-card .img {
	border-radius: 12px 12px 0 0 !important;
}

.hfy-theme1 .list-card .img {
	box-shadow: none;
	overflow: hidden;
	border-radius: 12px 12px 0 0;
	background: #fafafa;
	height: 240px;
	flex-shrink: 0;
	position: relative;
}

.hfy-theme1 .list-card .img img {
	object-fit: cover;
	object-position: center;
	border-radius: 12px 12px 0 0;
	width: 100%;
	height: 100%;
}

.hfy-theme1 .hfy-widget-wrap-listings .list-card .img img {
	object-fit: cover;
}

.hfy-theme1 .hfy-widget-wrap-listings .blaze-track {
	height: 240px;
}

.hfy-theme1 .list-card .info {
	margin: 0;
	justify-content: space-between;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
}

.hfy-theme1 .hfy-widget-wrap-listings .add-to-wish,
.hfy-theme1 .hfy-widget-wrap-listings .added-to-wish {
	z-index: 2;
}

.hfy-theme1 .list-card .info {
	margin: 0;
}

.hfy-theme1 .list-card .info .l-title {
	color: var(--bde-palette-color-1-048a5e6c-91cb-4a6f-8ca1-aea344be5d63);
	font-family: var(--bde-body-font-family);
	font-size: 16px;
	font-style: normal;
	font-weight: 600;
	line-height: 20px;
	text-align: left;
	margin: 0;
}

.l-location {
	color: var(--bde-palette-color-1-5c30c548-aacb-4154-9ae0-e74902353208);
	font-family: var(--bde-body-font-family);
	font-size: 14px;
	font-style: normal;
	font-weight: 500;
	line-height: 18px; /* 128.571% */
	letter-spacing: 1.4px;
	text-transform: uppercase;
	margin: 0;
}

.pricing-reviews-container {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
}

.additional-details {
	color: var(--bde-body-text-color);
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	margin-top: auto;
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	line-height: 18px; /* 128.571% */
}

.bottom-details {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	margin-top: auto;
	gap: 1rem;
}

.bottom-details .price {
	color: var(--bde-palette-color-1-0769af58-2a0f-4dae-a434-be39c7540be6);
	font-size: 16px;
	font-style: normal;
	font-weight: 600;
	line-height: 20px;
}

.bottom-details .price > span.suffix {
    color: #666;
    font-weight: 400;
}

.listings-container .guests,
.listings-container .divBeds,
.listings-container .divBaths,
.listings-container .divRooms,
.listings-container .divArea {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
}

.listings-container .guestsIcon {
	-webkit-mask-image: url("../assets/images/guestsicon.svg");
	mask-image: url("../assets/images/guestsicon.svg");
	padding-left: 30px;	
	width: 24px;
	height: 24px;
}

.listings-container .bedIcon {
	-webkit-mask-image: url("../assets/images/bedicon.svg");
	mask-image: url("../assets/images/bedicon.svg");
	padding-left: 30px;	
	width: 14px;
	height: 14px;
}

.listings-container .bathIcon {
	-webkit-mask-image: url("../assets/images/bathicon.svg");
	mask-image: url("../assets/images/bathicon.svg");
	padding-left: 24px;	
	width: 20px;
	height: 20px;
}
.listings-container .roomIcon {
	-webkit-mask-image: url("../assets/images/bedroom.svg");
	mask-image: url("../assets/images/bedroom.svg");
	padding-left: 24px;	
	width: 14px;
	height: 14px;
}

.listings-container .areaIcon {
	-webkit-mask-image: url("../assets/images/Areaicon.svg");
	mask-image: url("../assets/images/Areaicon.svg");
	padding-left: 24px;	
	width: 14px;
	height: 14px;
}

.listings-container .guestsIcon,
.listings-container .bedIcon,
.listings-container .bathIcon,
.listings-container .roomIcon,
.listings-container .areaIcon {
	background-color: var(--bde-brand-primary-color);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
}

/*----------------------------------------------------------------
Properties Page
----------------------------------------------------------------*/

body.page-id-16 {
	/*overflow: hidden;*/
}

#search-properties .listings-container {
	width: 100%;
}

#search-properties-map .hfy-map-wrapper {
	height: 100%;
}

/* #search-properties .added-to-wish, #search-properties .add-to-wish {
    z-index: 0;
} */

/* Pagination */

#search-properties .pagination-section {
	margin-top: 1rem;
	display: flex;
	justify-content: center;
}

#search-properties .pagination-section .container {
	justify-content: center;
}

#search-properties .pagination-section .container {
	border-radius: 12px;
	border: 1px solid var(--Default-Outline, #ebebeb);
	background: var(--Default-Background-Light, #fafafa);
	width: 100%;
	margin: 0;
	display: flex;
	cursor: pointer;
	height: 100%;
	padding-block: 1rem;
}

#search-properties .pagination-section ul.pagination {
	margin: 0;
	padding: 0;
	display: flex;
	gap: 0.5rem;
	align-items: center;
}

#search-properties .pagination-section ul.pagination li a {
	color: var(--Default-Text-Primary, #222);
	text-align: right;
	font-family: var(--bde-body-font-family);
	font-size: 16px;
	font-style: normal;
	font-weight: 300;
	line-height: 22px; /* 137.5% */
	background-color: transparent;
	transition: transform 0.2s ease;
	text-decoration: none;
}

#search-properties .pagination-section ul.pagination li a:focus,
#search-properties .pagination-section ul.pagination li a:active {
	box-shadow: none;
	color: var(--bde-brand-primary-color);
}

#search-properties .pagination-section ul.pagination a.page-link-previous,
#search-properties .pagination-section ul.pagination a.page-link-next {
	border-radius: 8px;
	background-color: #fff;
	border: 1px solid var(--bde-brand-primary-color) !important;
	color: var(--bde-brand-primary-color);
	display: flex;
	flex-direction: row;
	padding: 8px 16px;
	height: 100%;
	width: 100%;
	font-size: 16px;
	font-weight: 300;
	line-height: 24px;
	border: none;
	font-family: inherit;
	text-align: center;
	position: relative;
	overflow: hidden;
	transition: transform 0.2s ease;
	text-decoration: none;
}

#search-properties .pagination-section ul.pagination a.page-link-previous:hover,
#search-properties .pagination-section ul.pagination a.page-link-next:hover {
	transform: scale(1.05);
}

#search-properties .pagination-section ul.pagination a:hover,
#search-properties .pagination-section ul.pagination a:hover {
	transform: scale(1.05);
}

#search-properties .pagination-section ul.pagination a.page-link-current {
	color: var(--bde-brand-primary-color);
	font-weight: 600;
	font-size: 18px;
}

/* End Pagination */

/*----------------------------------------------------------------
End Properties Page
----------------------------------------------------------------*/

/*----------------------------------------------------------------
Single Listing Page
----------------------------------------------------------------*/

#single-listing-intro h1 {
	margin-bottom: 0;
	padding-bottom: 0;
}

#single-listing-intro .hfy-listing-hotel-facilities {
	display: flex;
	gap: 12px;
	/* align-items: center; */
	justify-content: flex-start;
}

#single-listing-intro .hfy-listing-hotel-facilities > div {
	border-radius: 12px;
	border: 1px solid #ebebeb;
	background: #fff;
	padding: 8px 12px;
	color: #222;
	text-align: center;
	font-family: var(--bde-body-font-family);
	font-size: 14px;
	font-style: normal;
	font-weight: 500;
	line-height: 16px;
	display: flex;
	align-items: center;
}

#single-listing-intro .hfy-listing-hotel-facilities img {
	width: 24px;
	height: 24px;
}

#single-listing-gallery .hfy-listing-gallery-abnb {
	border: none;
	border-radius: 12px;
	gap: 16px;
}

#single-listing-gallery .hfy-listing-gallery-abnb .main {
	border: none;
	border-radius: 12px;
}

#single-listing-gallery .hfy-listing-gallery-abnb .list div {
	width: 48.5%;
	height: 48.5%;
	border: none;
	border-radius: 12px;
}

#single-listing-gallery .hfy-listing-gallery-abnb .list {
	gap: 16px;
}

#single-listing-gallery #show-gallery-btn {
	position: absolute;
	bottom: 20%;
	left: 3%;
}

#single-listing-body .hfy-listing-location .location-wrapper {
	height: auto;
	max-height: 420px;
	border-radius: 12px;
}

/* Single Listing Amenities */
#features .hfy-listing-amenities {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: 1fr;
	grid-column-gap: 0px;
	grid-row-gap: 20px;
}

#features .hfy-listing-amenities span, .hfy-am .extra-am span {
	border: none;
	background: none;
	padding: 0;
	gap: 1rem;
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
}

#features .hfy-listing-amenities .hfy-am img {
    width: 32px;
    height: 32px;
    opacity: 1;
    filter: brightness(0) saturate(100%) invert(49%) sepia(31%) saturate(6250%) hue-rotate(147deg) brightness(89%) contrast(101%);
}

/* Fix for datepicker close button visibility - MOBILE ONLY */
@media (max-width: 768px) {
    .datepicker__buttons {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        z-index: 1000 !important;
        position: relative !important;
    }

    .datepicker__close-button {
        display: inline-block !important;
        visibility: visible !important;
        opacity: 1 !important;
        background-color: var(--bde-button-primary-background-color, #1db954) !important;
        color: #ffffff !important;
        border: none !important;
        border-radius: 8px !important;
        padding: 8px 16px !important;
        font-size: 12px !important;
        font-weight: 500 !important;
        text-transform: none !important;
        cursor: pointer !important;
        margin: 0 !important;
        position: relative !important;
        z-index: 1001 !important;
        transition: all 0.2s ease !important;
    }

    .datepicker__close-button:hover {
        background-color: var(--bde-brand-primary-color, #1db954) !important;
        color: #ffffff !important;
        transform: translateY(-1px) !important;
        box-shadow: 0 4px 8px rgba(0,0,0,0.1) !important;
    }

    /* Force close button to be visible in all datepicker instances on mobile */
    .datepicker .datepicker__close-button {
        display: inline-block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
}

/* Hide close button on desktop */
@media (min-width: 769px) {
    .datepicker__close-button {
        display: none !important;
    }
}

/* Make guest input area fully clickable */
.hfy-search-form-wrap .col-guests .booking-search-input-container {
    cursor: pointer !important;
    position: relative !important;
}

.hfy-search-form-wrap .col-guests .booking-search-input-container .guests-count-num-wrap {
    cursor: pointer !important;
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.hfy-search-form-wrap .col-guests .booking-search-input-container .guests-count-num-wrap .guests-count-num {
    cursor: pointer !important;
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Add borders to search form fields on mobile - only for main search form, not advanced */
@media (max-width: 768px) {
    /* Only target the main search form, not the advanced form - exclude advanced form containers */
    .hfy-search-form-wrap:not(.hfy-search-form-row-advanced) .col-keyword .booking-search-input-container,
    .hfy-search-form-wrap:not(.hfy-search-form-row-advanced) .col-dates .booking-search-input-container,
    .hfy-search-form-wrap:not(.hfy-search-form-row-advanced) .col-guests .booking-search-input-container {
        border: 1px solid #ebebeb !important;
        border-radius: 8px !important;
        padding: 5px 6px 5px 32px !important; /* Smaller padding, left padding for icon */
        background-color: #fff !important;
        margin-bottom: 0 !important; /* Remove margin bottom */
        position: relative !important;
    }
    
    
    .hfy-search-form-wrap:not(.hfy-search-form-row-advanced) .booking-search-input-container input,
    .hfy-search-form-wrap:not(.hfy-search-form-row-advanced) .booking-search-input-container select {
        border: none !important;
        background: transparent !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    
    .hfy-search-form-wrap:not(.hfy-search-form-row-advanced) .booking-search-input-container label {
        margin-bottom: 2px !important; /* Smaller margin */
        display: block !important;
        font-weight: 500 !important;
        color: #333 !important;
    }
	 
	.hotel-datepicker {
		z-index: 1 !important;
	}
    /* Position icons within the bordered containers - only for main search form */
    .hfy-search-form-wrap:not(.hfy-search-form-row-advanced) .form-group .search-i,
    .hfy-search-form-wrap:not(.hfy-search-form-row-advanced) .form-group .calendar-i,
    .hfy-search-form-wrap:not(.hfy-search-form-row-advanced) .form-group .guest-i,
    .hfy-search-form-wrap:not(.hfy-search-form-row-advanced) .form-group .location-i,
    .hfy-search-form-wrap:not(.hfy-search-form-row-advanced) .form-group .fa.fa-calendar,
    .hfy-search-form-wrap:not(.hfy-search-form-row-advanced) .form-group .fa.fa-bed {
        position: absolute !important;
        left: 12px !important; /* Adjust for smaller padding */
        top: 50% !important;
        transform: translateY(-50%) !important;
        z-index: 1;
        color: var(--bde-brand-primary-color, #1db954) !important;
        font-size: 14px !important; /* Slightly smaller icon */
        display: block !important; /* Ensure icon is visible */
        opacity: 1 !important; /* Ensure icon is not transparent */
    }
    
    /* Specific targeting for search field location icon - only for main search form */
    .hfy-search-form-wrap:not(.hfy-search-form-row-advanced) .col-keyword .form-group .location-i {
        position: absolute !important;
        left: 12px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        z-index: 15;
        color: var(--bde-brand-primary-color, #1db954) !important;
        font-size: 14px !important;
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
    }
    
    
    /* Adjust icon position for labels - only for main search form */
    .hfy-search-form-wrap:not(.hfy-search-form-row-advanced) .form-group:has(label) .search-i,
    .hfy-search-form-wrap:not(.hfy-search-form-row-advanced) .form-group:has(label) .calendar-i,
    .hfy-search-form-wrap:not(.hfy-search-form-row-advanced) .form-group:has(label) .guest-i,
    .hfy-search-form-wrap:not(.hfy-search-form-row-advanced) .form-group:has(label) .location-i,
    .hfy-search-form-wrap:not(.hfy-search-form-row-advanced) .form-group:has(label) .fa.fa-calendar,
    .hfy-search-form-wrap:not(.hfy-search-form-row-advanced) .form-group:has(label) .fa.fa-bed {
        top: calc(50% + 6px) !important; /* Adjust for smaller label margin */
    }
    
    /* Specific label adjustment for search field location icon - only for main search form */
    .hfy-search-form-wrap:not(.hfy-search-form-row-advanced) .col-keyword .form-group:has(label) .location-i {
        top: calc(50% + 6px) !important;
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
        position: absolute !important;
        left: 12px !important;
        transform: translateY(-50%) !important;
        z-index: 1;
        color: var(--bde-brand-primary-color, #1db954) !important;
        font-size: 14px !important;
    }
    
    /* Style the filter button to match - only for main search form */
    .hfy-search-form-wrap:not(.hfy-search-form-row-advanced) .filter-sort-button {
        border: 1px solid #ebebeb !important;
        border-radius: 8px !important;
        padding: 8px 12px !important; /* Smaller padding */
        background-color: #fff !important;
        margin-bottom: 0 !important; /* Remove margin bottom */
        width: 100% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 6px !important; /* Smaller gap */
    }
    
    /* Nullify desktop advanced search styling on mobile */
    #search-advanced-container ._col:not(.col-action) {
        border: none !important;
        border-radius: 0 !important;
        padding: 0 !important;
        background-color: transparent !important;
        margin: 0 !important;
    }
    
}

@media only screen and (max-width: 1128px) {
	#single-listing-gallery .hfy-listing-gallery-abnb .list div {
		width: 100%;
		height: 48.5%;
		border: none;
		border-radius: 12px;
	}
}
/* End Single Listing Amenities */

/* Single Listing Booking Form */

.hfy-theme1 .calendar-error {
	padding-top: 1rem;
}

#single-listing-booking-form .hfy-wrap .row {
	margin-left: -15px;
	margin-right: -15px;
}

#single-listing-intro,
#single-listing-gallery,
#single-listing-body {
	padding: 0 1rem;
}

#single-listing-booking-form {
	border-radius: 12px;
	border: 1px solid var(--3-White, #fff);
	background: var(--Default-Background-Light, #fafafa);
	padding: 0 1.5rem 1.5rem!important;
	width: 100%;
}

#single-listing-booking-form
	.hfy-theme1
	.hfy-listing-booking-form
	.calentim-dates,
#single-listing-booking-form
	.hfy-theme1
	.hfy-listing-booking-form
	.calentim-start,
#single-listing-booking-form
	.hfy-theme1
	.hfy-listing-booking-form
	.calentim-end {
	color: rgb(34, 34, 34);
	background-color: #ffffff;
	border: 1px solid #ebebeb !important;
	border-radius: 8px;
	padding: 20px 12px;
	text-transform: capitalize;
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
}

@media only screen and (max-width: 970px) {
	/* Listings Search Dates input */
	#search-advanced-container #formBooking .calentim-dates {
	width: 22vw;
	}
}

@media only screen and (max-width: 840px) {
	/* Listings Search Dates input */
	#search-advanced-container #formBooking .calentim-dates {
	width: 14vw;
	}
}

@media only screen and (max-width: 768px) {
	/* Listings Search Dates input */
	#search-advanced-container #formBooking .calentim-dates {
	width: 70vw;
	}
}

.hfy-theme1 .hfy-listing-booking-form .guests-input {
	text-align: center;
    white-space: nowrap;
    height: auto;
    padding: 0 0.75rem;
}
#single-listing-booking-form .hfy-theme1 .form-group {
	margin-bottom: 0;
}

/*#single-listing-booking-form .guests-count-num-wrap {
	display: none;
}*/

#single-listing-booking-form .select-guests-dropdown {
	/*display: flex;
	flex-direction: column;
	padding: 0;*/
	box-shadow: 0px 4px 16px 0px #00000014;

}

#single-listing-booking-form .guests-input, #single-listing-booking-form #hotel-datepicker {
    border-radius: 8px;
    border: 1px solid var(--Default-Outline, #ebebeb);
    background: var(--3-White, #fff);
    margin-top: 10px;
    height: 42px;
    cursor: pointer;
    padding-left: 1rem;
    align-items: center;
}

#single-listing-booking-form .hfy-theme1 .hfy-listing-booking-form .ico-guest {
     padding-left: 38px;
    background: 5px center no-repeat url('data:image/svg+xml,<svg width="24" height="24" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><g id="PeopleOutlined"><path id="Vector" d="M7.50033 11.4596C5.55033 11.4596 1.66699 12.4346 1.66699 14.3763V15.8346H13.3337V14.3763C13.3337 12.4346 9.45033 11.4596 7.50033 11.4596ZM3.61699 14.168C4.31699 13.6846 6.00866 13.1263 7.50033 13.1263C8.99199 13.1263 10.6837 13.6846 11.3837 14.168H3.61699ZM7.50033 10.0013C9.10866 10.0013 10.417 8.69297 10.417 7.08464C10.417 5.4763 9.10866 4.16797 7.50033 4.16797C5.89199 4.16797 4.58366 5.4763 4.58366 7.08464C4.58366 8.69297 5.89199 10.0013 7.50033 10.0013ZM7.50033 5.83464C8.19199 5.83464 8.75033 6.39297 8.75033 7.08464C8.75033 7.7763 8.19199 8.33464 7.50033 8.33464C6.80866 8.33464 6.25033 7.7763 6.25033 7.08464C6.25033 6.39297 6.80866 5.83464 7.50033 5.83464ZM13.367 11.5096C14.3337 12.2096 15.0003 13.143 15.0003 14.3763V15.8346H18.3337V14.3763C18.3337 12.693 15.417 11.7346 13.367 11.5096ZM12.5003 10.0013C14.1087 10.0013 15.417 8.69297 15.417 7.08464C15.417 5.4763 14.1087 4.16797 12.5003 4.16797C12.0503 4.16797 11.6337 4.2763 11.2503 4.45964C11.7753 5.2013 12.0837 6.10964 12.0837 7.08464C12.0837 8.05964 11.7753 8.96797 11.2503 9.70963C11.6337 9.89297 12.0503 10.0013 12.5003 10.0013Z" fill="%23405681"/></g></svg>')
}

#single-listing-booking-form .hfy-theme1 .booking-price-block .discount-code-wrap {
    margin: 10px 0 0 0;
    display: flex;
    flex-direction: column;
}

#single-listing-booking-form .booking-price-block .discount-code-wrap label {
    justify-content: flex-start;
    align-items: flex-start;
    display: flex
;
}

.select-guests-wrap .select-guests-dropdown {
	border-radius: 12px;
	margin-top: 8px;
}

#single-listing-booking-form input[type="checkbox"] {
	-webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 24px;
    height: 24px;
    border-radius: var(--Guest-Full-circle, 999px);
    border: 1px solid var(--Default-Outline, #ebebeb)!important;
    background: #fff;
    cursor: pointer;
    position: relative;
    margin-right: 10px;
}

#single-listing-booking-form input[type="checkbox"]:hover {
    background-color: #f0f0f0;
}
#single-listing-booking-form input[type="checkbox"]:focus {
    outline: none;
    box-shadow: 0 0 0 2px rgb(0, 157, 149 / 30%);
}

#single-listing-booking-form input[type="checkbox"]:checked::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 12px;
    height: 12px;
    background-image: url("../assets/images/check 1.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}


#single-listing-booking-form .btn-close-guests-box .btn {
	border-radius: 8px;
    border: 2px solid #ebebeb;
    background: var(--bde-brand-primary-color);
    color: #fff;
    font-family: var(--bde-body-font-family);
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    line-height: 24px;
    padding: 8px 20px;
}

#single-listing-booking-form .select-guests-item {
	border-radius: 8px;
	border: 1px solid var(--Default-Outline, #ebebeb);
	background: var(--3-White, #fff);
	padding: 4px 4px 4px 12px;
	margin: 10px 0;
}

#single-listing-booking-form .calentim-start,
#single-listing-booking-form .calentim-end {
	border-radius: 8px;
	border: 1px solid var(--Default-Outline, #ebebeb);
	background: var(--3-White, #fff);
	padding: 4px 12px 4px 12px;
}

#single-listing-booking-form .price-block {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-block: 24px;
}

#single-listing-booking-form .discount-code-wrap .input_wrap {
	border-radius: 8px;
	border: 1px solid #ebebeb;
	background: #fff;
	padding: 4px 4px 4px 0px;
}

#single-listing-booking-form input.form-control {
	border: none;
}

#single-listing-booking-form .icon-dec {
	display: inline-block;
	vertical-align: middle;
	width: 32px;
	height: 32px;
	background: center center no-repeat;
	cursor: pointer;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Crect width='32' height='32' rx='6' fill='var(--Default-Background-Light, %23FAFAFA)'/%3E%3Cpath d='M11 16H21' stroke='%23999999' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

#single-listing-booking-form .icon-inc {
	display: inline-block;
	vertical-align: middle;
	width: 32px;
	height: 32px;
	background: center center no-repeat;
	cursor: pointer;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Crect width='32' height='32' rx='6' fill='var(--Default-Background-Light, %23FAFAFA)'/%3E%3Cpath d='M16 11V21' stroke='%23999999' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M11 16H21' stroke='%23999999' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

#single-listing-booking-form .select-guests-wrap .func-box input {
	width: auto;
	max-width: 40px;
	min-width: 40px;
	height: 26px;
	line-height: 100%;
	padding: 0;
	text-align: center;
	pointer-events: none;
	border: none;
	user-select: none;
	background-color: transparent;
}

#single-listing-booking-form .btn-light {
	border-color: #f8f9fa;
	color: var(--Default-Text-Secondary, #999);
	font-family: var(--bde-body-font-family);
	font-size: 14px;
	font-style: normal;
	font-weight: 600;
	line-height: 22px;
	border-radius: 8px;
	background: var(--Default-Background-Light, #fafafa);
	padding: 5px 20px;
}

#single-listing-booking-form .btn-success {
	color: #fff;
	background-color: var(--bde-brand-primary-color);
	border-color: #ebebeb;
	border-radius: 8px;
}

#single-listing-booking-form
	.btn-success:not(:disabled):not(.disabled).active:focus,
#single-listing-booking-form
	.btn-success:not(:disabled):not(.disabled):active:focus,
#single-listing-booking-form .show > .btn-success.dropdown-toggle:focus {
	box-shadow: none;
}

#single-listing-booking-form input.form-control:focus,
#single-listing-booking-form input.form-control:active {
	box-shadow: none;
}

#single-listing-booking-form .price-block-item ._label {
	float: left;
	color: #222;
	font-family: var(--bde-body-font-family);
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 22px;
    text-align: left;
}

#single-listing-booking-form .price-block-item ._value {
	color: #222;
	font-family: var(--bde-body-font-family);
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 22px;
}

#single-listing-booking-form .price-block-total ._label {
	color: #222;
	font-family: var(--bde-body-font-family);
	font-size: 16px;
	font-style: normal;
	font-weight: 600;
	line-height: 22px; /* 137.5% */
}

#single-listing-booking-form .price-block-total ._value {
	color: #222;
	font-family: var(--bde-body-font-family);
	font-size: 16px;
	font-style: normal;
	font-weight: 600;
	line-height: 22px; /* 137.5% */
}

#single-listing-booking-form .price-block-total {
	border-top: 1px solid #ebebeb;
	font-weight: bold;
	margin: 0;
	padding-top: 12px;
}

#single-listing-booking-form .btn-book-now {
	border-radius: 8px;
	border: 2px solid #ebebeb;
	background: var(--bde-brand-primary-color);
	color: #fff;
	font-family: var(--bde-body-font-family);
	font-size: 18px;
	font-style: normal;
	font-weight: 600;
	line-height: 24px;
	padding: 16px 40px;
}

.hfy-theme1 .booking-price-block .direct-inquiry-modal-open {
	cursor: pointer;
	padding: 16px 40px;
	background-color: #e4e5e6;
	width: 100%;
	text-align: center;
	margin-top: 1rem;
	border-radius: 8px;
	border: 2px solid var(--Default-Outline, #ebebeb);
	background: var(--3-White, #fff);
	color: var(--Default-Text-Primary, #222);
	font-family: var(--bde-body-font-family);
	font-size: 18px;
	font-style: normal;
	font-weight: 600;
	line-height: 24px;
}

.direct-inquiry-modal {
	margin-top: 6rem;
}

/* icons color */
.hfy-wrap .text-primary path {
	/* color: var(--bde-brand-primary-color) !important; */
	background: black !important;
	height: 24px;
	width: 24px;
}

/* btn color */
.hfy-wrap .btn-primary {
	color: var(--bde-palette-color-1-219fc5f7-3915-46c5-8bef-6ed6d8972ff4);
	background-color: var(--bde-button-primary-background-color);
	border-color: var(--bde-button-primary-background-color);
}

/* btn color hover */
.hfy-wrap .btn-primary:hover {
	color: #fff;
	background-color: var(--bde-button-primary-background-color);
	border-color: var(--bde-button-primary-background-color);
}

/* terms-wrap */
.direct-inquiry-form .terms-wrap {
	display: flex;
	justify-content: flex-start;
}

/* terms checkbox */
.hfy-wrap .terms-checkbox {
	float: left;
	margin: 0 10px 16px 0;
}

@media only screen and (max-width: 768px) {
	#single-listing-intro .hfy-listing-hotel-facilities {
		flex-wrap: wrap;
	}
	.hfy-listing-map {
		height: 100%;
	}
}

@media only screen and (max-width: 576px) {
	.direct-inquiry-form .infants-wrap {
		margin-top: 16px;
		max-width: 100%;
	}

	#inquiry_infants i {
		padding-top: 8px !important;
	}

	.direct-inquiry-modal-content
		.direct-inquiry-form
		.direct-inquiry-col-container
		input,
	.direct-inquiry-modal-content
		.direct-inquiry-form
		.direct-inquiry-col-container
		textarea,
	.direct-inquiry-modal-content
		.direct-inquiry-form
		.direct-inquiry-col-container
		select,
	.direct-inquiry-modal-content
		.direct-inquiry-form
		.inquiry_container_input
		input,
	.direct-inquiry-modal-content
		.direct-inquiry-form
		.inquiry_container_input
		textarea,
	.direct-inquiry-modal-content
		.direct-inquiry-form
		.inquiry_container_input
		select {
		padding-left: 35px;
	}
}
/* End Single Listing Booking Form */

/*----------------------------------------------------------------
End Single Listing Page
----------------------------------------------------------------*/

/*----------------------------------------------------------------
User profile menu
----------------------------------------------------------------*/

.my-booking-item-img img {
	border-radius: 12px;
	height: 300px !important;
	width: 100%;
}

.breakdance img {
	/*border-radius: 12px;*/
	object-fit: cover;
	object-position: center;
}

.hfy-wrap .btn-outline-primary {
	color: var(--bde-brand-primary-color);
	border-color: var(--bde-brand-primary-color);
}

.hfy-wrap .btn-outline-primary:hover {
	background-color: var(--bde-brand-primary-color);
	border-color: var(--bde-brand-primary-color);
}

.hfy-wrap .btn-outline-primary:not(:disabled):not(.disabled).active, 
.hfy-wrap .btn-outline-primary:not(:disabled):not(.disabled):active, 
.hfy-wrap .show > .btn-outline-primary.dropdown-toggle {
	background-color: var(--bde-brand-primary-color);
  	border-color: var(--bde-brand-primary-color);
}

.hfy-wrap .btn-outline-primary.focus, .hfy-wrap .btn-outline-primary:focus {
	box-shadow: 0 0 0 0.2rem var(--bde-brand-primary-color);
}

.hfy-wrap .btn-outline-primary:not(:disabled):not(.disabled).active:focus, .hfy-wrap .btn-outline-primary:not(:disabled):not(.disabled):active:focus, .hfy-wrap .show > .btn-outline-primary.dropdown-toggle:focus {
	box-shadow: 0 0 0 0.2rem var(--bde-brand-primary-color);
}

.breakdance .bde-section-20-100 .section-container,
.breakdance .bde-section-22-100 .section-container,
.breakdance .bde-section-55-100 .section-container {
	padding-top: 4rem !important;
}

/*----------------------------------------------------------------
End of user profile menu
----------------------------------------------------------------*/

/* Mobile Sticky Booking Section */
.hfy-mobile-sticky-booking {
	display: none;
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: #fff;
	box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
	padding: 16px;
	z-index: 1000;
	transition: transform 0.3s ease-in-out;
	transform: translateY(100%);
}

.hfy-mobile-sticky-booking.visible {
	transform: translateY(0);
	display: block;
}

.hfy-sticky-content {
	display: flex;
	/* justify-content: space-between; */
	align-items: center;
	gap: 1.5rem;
	width: 100% !important;
}

.hfy-book-button {
	flex: 1;
	border-radius: 999px;
	border: 1px solid #ebebeb;
	background: var(--bde-brand-primary-color);
	padding: 12px 24px;
	color: #fff;
	font-family: var(--bde-body-font-family);
	font-size: 16px;
	font-style: normal;
	font-weight: 600;
	line-height: 24px;
	cursor: pointer;
	transition: background-color 0.2s ease;
	white-space: nowrap;
}

.hfy-book-button:hover {
	background-color: var(--bde-brand-primary-color);
}

.hfy-book-button:active {
	background-color: var(--bde-brand-primary-color);
}

.row-hfy-sticky-content {
	width: 100%;
	align-items: center;
}

.hfy-sticky-content .row {
	margin: 0 !important;
	padding: 0 !important;
}

.hfy-sticky-content .col {
	margin: 0 !important;
	padding: 0 !important;
}

/* Col book btn */
.hfy-sticky-content .hfy-col-book-btn {
	width: 70%;
}

/* Row book btn */
.hfy-sticky-content .hfy-row-book-btn {
	padding-right: 1.5rem !important;
}

/* Col price and wa btn */
.hfy-sticky-content .hfy-col-booking-price-wa-btn {
/* 	width: 30%; */
}

/* Price and wa btn inner row */
.hfy-sticky-content .hfy-row-booking-price-wa-btn {
	align-items: center;
	justify-content: space-between;
}

/* Col price info */
.hfy-sticky-content .hfy-col-price-info {
/* 	width: 70%; */
}

/* Row price info */
.hfy-sticky-content .hfy-row-price-info {
	flex-direction: column;
  	align-items: flex-start;
}

/* Col wa btn */
.hfy-sticky-content .hfy-col-wa-btn {
	width: 30%;
}

/* Row wa btn */
.hfy-sticky-content .hfy-row-wa-btn {
	justify-content: end;
}

.hfy-price-info,
.hfy-nights-total {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	margin: 0 16px;
	min-width: 80px;
	text-align: right;
}

.hfy-price-prefix,
.hfy-nights {
	color: #999;
	font-family: var(--bde-body-font-family);
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	line-height: 16px;
}

.hfy-price,
.hfy-total-price {
	color: #222;
	font-family: var(--bde-body-font-family);
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: 24px;
}

.hfy-price-suffix {
	color: #999;
	font-family: var(--bde-body-font-family);
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	line-height: 16px;
}

.hfy-whatsapp-button {
	background-color: #25d366;
	border-radius: 50%;
	width: 48px;
	height: 48px;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: background-color 0.2s ease;
	flex-shrink: 0;
}

.hfy-whatsapp-button:hover {
	background-color: #128c7e;
}

@media (max-width: 768px) {
	.hfy-mobile-sticky-booking {
		display: block;
	}

	.hfy-sticky-content {
		flex-wrap: wrap;
	}

	.hfy-book-button {
		order: 1;
		width: 100%;
		margin-bottom: 8px;
	}

	.hfy-price-info,
	.hfy-nights-total {
		order: 2;
		margin: 8px 0;
		flex: 1;
		text-align: left;
		align-items: flex-start;
	}

	.hfy-whatsapp-button {
		order: 3;
	}
}

@media (max-width: 480px) {
	.hfy-sticky-content {
	}

	.hfy-book-button,
	.hfy-price-info,
	.hfy-nights-total,
	.hfy-whatsapp-button {
		width: 100%;
		margin-bottom: 8px;
	}

	.hfy-whatsapp-button {
		width: 48px;
		align-self: flex-end;
	}

	.row-hfy-sticky-content {
		flex-direction: column;
		gap: 1rem;
	}

	/* Col book btn */
	.hfy-sticky-content .hfy-col-book-btn {
		width: 100%;
	}

	/* Col price and wa btn */
	.hfy-sticky-content .hfy-col-booking-price-wa-btn {
		width: 100%;
	}

	/* Row book btn */
	.hfy-sticky-content .hfy-row-book-btn {
		padding-right: 0 !important;
	}

	/* Row price info */
	.hfy-sticky-content .hfy-row-price-info {
		flex-direction: row;
		gap: 1rem;
		align-items: center;
	}
}

@media (max-width: 410px) {
	.hfy-mobile-sticky-booking {
		width: 100vw;
	}
}

/* Mobile Search Container Styles */
#mobile-search-container {
	background-color: #fff;
	border-radius: 12px;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
	padding: 16px;
	margin-bottom: 16px;
}

/* Filter & Sort Button Styling */
.filter-sort-button {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px 20px;
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 500;
	color: #374151;
	cursor: pointer;
	transition: all 0.2s ease;
	width: 100%;
	min-height: 44px;
	position: relative;
}

.filter-sort-button:hover {
	background: #f9fafb;
	border-color: #d1d5db;
}

.filter-sort-button svg {
	width: 16px;
	height: 16px;
	stroke-width: 2.5;
}

/* Desktop: Hide text, show only icon, match form styling */
@media (min-width: 769px) {
	.filter-sort-button {
		padding: 8px 12px;
		width: auto;
		min-width: 44px;
		height: 40px;
		border: 1px solid #ebebeb;
		background-color: #fff;
		border-radius: 8px;
	}
	
	.filter-sort-button .filter-text {
		display: none;
	}
	
	.filter-sort-button svg {
		width: 20px;
		height: 20px;
		stroke-width: 3;
	}
}

/* Responsive placeholder text sizing for booking search */
@media (max-width: 1024px) {
	/* Tablet styles - slightly smaller placeholder text */
	.hfy-search-form-wrap .booking-search-input-container input::placeholder,
	.hfy-search-form-wrap .booking-search-input-container select option:first-child {
		font-size: 14px !important;
	}
}

@media (max-width: 768px) {
	/* Mobile styles - smaller placeholder text */
	.hfy-search-form-wrap .booking-search-input-container input::placeholder,
	.hfy-search-form-wrap .booking-search-input-container select option:first-child {
		font-size: 12px !important;
	}
	
	/* Also target the form container placeholder styles */
	#form-container input::placeholder,
	#form-container select option:first-child {
		font-size: 12px !important;
	}
}

/* Mobile: Show text and position after search button */
@media (max-width: 768px) {
	.filter-sort-button {
		margin-top: 8px;
		width: 100%;
	}
	
	.filter-sort-button .filter-text {
		display: inline;
	}
	
	/* Hide filter button in its original position on mobile */
	.col-popup-filter {
		display: none !important;
	}
}

.mobile-search-summary {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}

.summary-item {
	flex: 1 1 30%;
	margin-bottom: 8px;
}

.summary-item .label {
	font-size: 12px;
	color: #999;
	display: block;
}

.summary-item .value {
	font-size: 14px;
	color: #333;
	font-weight: bold;
}

#mobile-expand-search {
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
}

.mobile-search-selections {
	margin-top: 16px;
}

.selection-item {
	background-color: #f0f0f0;
	border-radius: 4px;
	padding: 4px 8px;
	margin-right: 8px;
	margin-bottom: 8px;
	display: inline-block;
	font-size: 12px;
	color: #333;
}

.btn-open-advanced {
	border-radius: 8px;
	border: 1px solid var(--Default-Outline, #ebebeb);
	background: var(--3-White, #fff);
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
}

.btn-open-advanced svg {
	transition: transform 0.3s ease;
}

.btn-open-advanced.active svg {
	transform: rotate(180deg);
}

/* Mobile styles */
@media (max-width: 767px) {
	#mobile-search-container.expanded {
		margin-bottom: 0;
	}

	#mobile-search-container.expanded .mobile-search-summary {
		margin-bottom: 16px;
	}

	#mobile-search-container.expanded .mobile-search-selections {
		display: none;
	}

	/* Always show the basic search form */
	#form-container .hfy-search-form-row {
		display: block !important;
	}

	/* mobile search summary */
	#search-advanced-container .col {
		padding: 0 !important;
	}

	#search-advanced-container .adv-search-prop-h2 {
		padding-bottom: 10px;
	}

	#search-advanced-container .current-location {
		/* display: none; */
	}

	#search-advanced-container .summary-row {
		width: 100%;
	}

	#search-advanced-container .summary-row .label {
		/* display: none; */
	}

	#search-advanced-container .listings-container {
		padding-top: 1rem;
	}

	/* mobile search fields */
	#search-advanced-container .hfy-search-form-row {
		padding: 0;
	}

	#search-advanced-container .col-location::after,
	#search-advanced-container .col-start-date::after,
	#search-advanced-container .col-end-date::after {
		display: none;
	}

	#search-advanced-container .hfy-search-form-row-advanced {
		display: grid;
		grid-template-columns: auto auto;
	}

	.hfy-theme1 .hfy-search-form-wrap .col-action {
		display: grid;
		grid-template-columns: 5fr 1fr;
		grid-template-rows: 1fr;
		grid-column-gap: 12px;
		grid-row-gap: 12px;
	}

	/* Btn submit */
	#search-advanced-container .btn-primary {
		width: 100%;
	}

	/* Btn back to summary */
	.btn-back-to-summary {
		background-color: white;
		padding: 16px;
		border: 1px solid #ebebeb;
		border-radius: 8px;
		width: 56px;
		cursor: pointer;
	}
}

@media only screen and (max-width: 768px) {
	
	.home .hfy-theme1 .hfy-search-form-wrap .col-action {
		display: flex;
	}
	
	.calentim-container-mobile .calentim-input .calentim-calendars .calentim-calendar {
		z-index: 0;
	}
}

@media (max-width: 744px) {
	#single-listing-gallery
		.hfy-theme1
		.hfy-listing-gallery.hfy-listing-gallery-abnb {
		display: flex !important;
		flex-direction: column !important;
		max-height: initial;
	}
	#single-listing-gallery
		.hfy-theme1
		.hfy-listing-gallery.hfy-listing-gallery-abnb
		> .list {
		width: auto;
		display: grid;
		grid-template-columns: auto auto;
		height: 2rem;
		padding-bottom: 16px;
	}
	#single-listing-gallery
		.hfy-theme1
		.hfy-listing-gallery.hfy-listing-gallery-abnb
		> .list
		div {
		height: 100%;
		width: 100%;
	}
	#single-listing-gallery #show-gallery-btn {
		position: relative;
		width: 100%;
		bottom: initial;
		left: initial;
	}

	#single-listing-gallery #show-gallery-btn button {
		width: 100%;
		border-radius: 8px;
		padding: 16px 24px;
	}
	#single-listing-gallery .section-container {
		padding-bottom: 3rem;
	}
}
/* small mobile devices */

/* Desktop styles */
@media (min-width: 768px) {
	#mobile-search-container {
		display: none;
	}
}

@media (max-width: 767px) {
	#mobile-search-container {
		display: block;
	}

	#form-container.show-advanced-search #mobile-search-container {
		display: none;
	}

	#form-container.show-advanced-search .search-form-fields {
		display: block;
	}
}

@media (min-width: 768px) {
	#mobile-search-container {
		display: none;
	}

	.search-form-fields {
		display: block;
	}
}

/* small mobile devices */
@media only screen and (max-width: 450px) {
	/* Advanced search form */
	#search-advanced-container .hfy-search-form-row-advanced,
    /* Features in single listing */
    #single-listing-body .hfy-listing-amenities {
		display: flex;
		flex-direction: column;
	}
}

/* ----------------------------------------------------------------

Wishlist 

---------------------------------------------------------------- */

.hfy-theme1 .user-wishlist .sort-controls-wrap {
	border-radius: 12px;
	border: 1px solid var(--Default-Outline, #ebebeb);
	background: var(--Default-Background-Light, #fafafa);
	padding: 0.5rem 1rem;
}

.hfy-theme1 .user-wishlist .sort-controls-wrap > div:first-child {
	justify-content: space-between;
	display: flex;
	align-items: center;
}

.hfy-theme1 .user-wishlist .custom-search-ctrl {
	border-radius: 8px;
  	border: 1px solid var(--Default-Outline, #ebebeb);
  	background: var(--Default-Background-Light, #fff);
	padding: 6px 1rem;
}

.hfy-theme1 .user-wishlist .listing-item {
	width: 100%;
}

.user-wishlist .hfy-widget-wrap {
	padding-top: 1rem;
}

.user-wishlist .hfy-widget-wrap .list-card {
	border-radius: 12px;
	border: 1px solid var(--Default-Outline, #ebebeb);
	background: var(--Default-Background-Light, #fafafa);
	width: 100%;
	margin: 0;
	display: grid;
	cursor: pointer;
	height: 100%;
}

.user-wishlist .hfy-widget-wrap .list-card .description {
	padding: 16px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	flex-grow: 1;
	height: 100%;
	position: relative;
}

.user-wishlist .hfy-widget-wrap .list-card .description .title {
	color: var(--bde-palette-color-1-048a5e6c-91cb-4a6f-8ca1-aea344be5d63);
	font-family: var(--bde-body-font-family);
	font-size: 16px;
	font-style: normal;
	font-weight: 600;
	line-height: 20px;
	text-align: left;
	margin: 0;
}

.user-wishlist .hfy-widget-wrap .list-card .description .details {
	color: var(--bde-palette-color-1-5c30c548-aacb-4154-9ae0-e74902353208);
	font-family: var(--bde-body-font-family);
	font-size: 14px;
	font-style: normal;
	font-weight: 500;
	line-height: 18px; /* 128.571% */
	letter-spacing: 1.4px;
	text-transform: uppercase;
	margin: 0;
	padding-top: 0.5rem;
}

.user-wishlist .hfy-widget-wrap .list-card .description .price {
	color: var(--bde-palette-color-1-0769af58-2a0f-4dae-a434-be39c7540be6);
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 20px;
	padding-top: 0.5rem;
}

/* ----------------------------------------------------------------

End of Wishlist 

---------------------------------------------------------------- */

/* ----------------------------------------------------------------

Bookings

---------------------------------------------------------------- */

.hfy-wrap.hfy-theme1 {
	width: 100%;
}

.payment-info .result-row input {
	width: 100%;
}

#roomInfoSection .booking-block .col-xs-5.col-5 {
	padding: 0;
}

.hfy-wrap.hfy-theme1 .hfy-wrap.data-block .payment-info {
	background-color: var(--Default-Background-Light, #fafafa);
	border-radius: 12px;
}

/* ----------------------------------------------------------------

End of Bookings 

---------------------------------------------------------------- */

/*  ----------------------------------------------------------------

Payment 

---------------------------------------------------------------- */
.bde-section-12-100 .section-container {
	padding-top: 2rem !important;
	padding-bottom: 2rem !important;
}

.payment-wrapper {
	padding-block: 3rem;
	width: 100%;
	padding-right: 1rem;
}

.payment-wrapper .row {
	display: flex;
	flex-direction: row-reverse;
}

#roomInfoSection .booking-dates .row {
	flex-direction: row;
}

#roomInfoSection .booking-block.booking-dates > .row > div {
	padding-left: 0;
	padding-right: 0;
}

.payment-wrapper .hfy-wrap .hfy-payment .input {
	border-radius: 8px;
	border: 1px solid var(--Default-Outline, #ebebeb);
	background: var(--3-White, #fff);
	padding: 12px;
}

#payment-form .row {
	display: flex;
	flex-direction: row;
}

#payment-form .btn-wrap,
#payment-form .pay-btn-wrap {
	display: flex;
	flex-direction: row;
	justify-content: end;
}

#payment-form .next-btn {
	border: 2px solid #EBEBEB;
	font-size: 18px;
	font-weight: 600;
	line-height: 24px;
	border-radius: 8px;
	padding: 8px 2rem;
	margin-top: 1.5rem;
} 

#payment-form textarea.input {
	max-height: none;
	height: 6em;
} 

#payment-form .pay-btn {
	border: 2px solid #EBEBEB;
	background-color: var(--bde-brand-primary-color);
	font-size: 18px;
	font-weight: 600;
	line-height: 24px;
	border-radius: 8px;
	padding: 8px 2rem;
}

#payment-form .prev-btn {
	font-size: 18px;
	font-weight: 600;
	line-height: 24px;
	border-radius: 8px;
	padding: 8px 2rem;
}

#payment-form-success .body,
.payment-wrapper .payment-content {
	padding-left: 0;
	padding-right: 0;
}

#payment-form-success .body .row {
	flex-direction: row;
}

#payment-form-success #transaction-id {
	overflow-wrap: break-word;
}

#payment-form-success .btn-success {
	background-color: var(--bde-brand-primary-color);
	border-color: var(--bde-brand-primary-color);
}

/* hide mobile map btn when map is open on mobile */
.listings-map-visible-mobile #search-properties-map .hfy-listings-map-toggle {
	display: none !important;
}

/* hide mobbile map btn when calendar is open */
.calentim-open #search-properties-map .hfy-listings-map-toggle {
	display: none !important;
}

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

	/* Show / Hide Map Btn */
	#search-properties-map .hfy-listings-map-toggle {
		right: auto;
		left: 42vw;
	}
}

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

	/* Show / Hide Map Btn */
	#search-properties-map .hfy-listings-map-toggle {
		left: 40vw;
	}
}

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

	.bde-section-12-100 .section-container {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}

	.bde-section-12-100 .section-container .payment-wrapper {
		padding-top: 0;
		padding-bottom: 0;
	}

	.payment-wrapper {
		padding-right: 0;
	}

	/* Show / Hide Map Btn */
	#search-properties-map .hfy-listings-map-toggle {
		right: auto;
		left: 35vw;
	}
}

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

	/* Show / Hide Map Btn */
	#search-properties-map .hfy-listings-map-toggle {
		left: 30vw;
	}
}

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

	/* Show / Hide Map Btn */
	#search-properties-map .hfy-listings-map-toggle {
		left: 26vw;
	}
}

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

	/* Show / Hide Map Btn */
	#search-properties-map .hfy-listings-map-toggle {
		left: 24vw;
	}
}

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

	/* Show / Hide Map Btn */
	#search-properties-map .hfy-listings-map-toggle {
		left: 18vw;
	}
}

/* ----------------------------------------------------------------

Show / Hide Map

---------------------------------------------------------------- */

/* setup show/hide btn on desktop */
#search-properties .hfy-listings-map-toggle {
	display: flex;
  	justify-content: flex-end;
}

.hfy-theme1 .hfy-listings-map-toggle.hfy-ctrl-hide-map .hfy-lmt-hide {
	display: flex;
}

#search-properties .hfy-listings-map-toggle svg,
#search-properties #search-properties-map .hfy-listings-map-toggle {
	display: none;
}

#search-properties .bde-shortcode-16-156 {
	width: 16rem;
	min-width: 11rem;
}

/* setup show/hide map on mobile (768px and below) */
@media only screen and (max-width: 768px) {
	/* DISABLED: Show/hide button for mobile map - now always visible like desktop */
	/* This allows zoom restoration to work consistently across all devices */
	.hfy-listings-map-toggle {
		display: none !important; /* Changed from block to none */
	}
	
	/* Map is now always visible on mobile like desktop */
	body.listings-map-visible .hfy-map-wrapper,
	.hfy-map-wrapper {
		display: block !important; /* Force map to be visible */
		position: relative !important; /* Changed from fixed */
		min-height: 400px !important; /* Ensure map has minimum height */
		height: auto !important;
		/* Removed fullscreen positioning */
	}
	
	/* Ensure map container has proper height */
	.hfy-listing-map {
		min-height: 400px !important;
		height: 50vh !important; /* 50% of viewport height on mobile */
	}
	
	/* Ensure map wrapper inner container has height */
	#search-properties-map .hfy-map-wrapper,
	#search-properties-map .hfy-listing-map {
		height: 50vh !important;
		min-height: 400px !important;
	}
	
	/* Ensure zoom controls are visible on mobile */
	.hfy-listing-map .gmnoprint,
	.hfy-listing-map .gm-style-mtc,
	.hfy-listing-map .gm-bundled-control {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
	}

	/* Removed fullscreen-specific styles since map is now always visible */
	
	/* Don't hide under footer z-index doesn't work */
	.breakdance .bde-shortcode-16-119 {
		position: initial !important;
	}
}

/* ----------------------------------------------------------------

Datepicker

---------------------------------------------------------------- */

.datepicker__month-dropdown {
	margin: 0;
	text-transform: none;
	font-family: inherit;
	font-size: inherit;
	line-height: inherit !important;
	box-sizing: border-box;
	display: block;
	width: 100% !important;
	padding: 8px !important;
	border: 1px solid #ccc !important;
	border-radius: 4px !important;
	background-color: #fff !important;
	color: #000;
	cursor: pointer;
}

/* Home */
/* ------------------------------------ */
.home #datepicker-hotel-datepicker {
	top: 3.5rem;
	left: -2rem;
}

@media only screen and (max-width: 860px) {
	.home #datepicker-hotel-datepicker {
		left: -8rem;
	}
}

/* Listings */
/* ------------------------------------ */
#search-advanced-container #datepicker-hotel-datepicker {
	top: 3.5rem;
	left: -3rem;
}

@media only screen and (max-width: 860px) {
	#search-advanced-container #datepicker-hotel-datepicker {
		left: -9rem;
	}
}

@media only screen and (max-width: 768px) {
	#search-advanced-container #datepicker-hotel-datepicker .datepicker__inner {
		padding-top: 8rem;
	}
}

/* Single Listing */
/* ------------------------------------ */
#single-listing-booking-form #datepicker-hotel-datepicker {
	top: 3.5rem;
}

#single-listing-booking-form #hotel-datepicker-wrapper {
	border: 1px solid #ebebeb;
	border-radius: 8px;
	background: #fff;
	height: 42px;
	cursor: pointer;
	padding-left: 1rem;
	align-items: center;
}

@media only screen and (max-width: 768px) {
	#single-listing-booking-form .datepicker__inner {
		padding-top: 8rem;
	}
}

/* Style for the 'Search by name' field container */
.hp-form--listing-search .hp-form__field--text {
    width: 100%; /* Full width on mobile */
}

/* On desktop screens, make it fit in with the other fields */
@media (min-width: 768px) {
    .hp-form--listing-search .hp-form__field--text {
        width: 25%; /* Adjust this % to fit your layout */
        padding-left: 5px;
        padding-right: 5px;
    }
}

/* Enhanced Keyword Search Styles */
.col-keyword .booking-search-input-container {
    position: relative;
    transition: all 0.3s ease;
}

.col-keyword .booking-search-input-container.focused {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 124, 186, 0.15);
}

.col-keyword #keyword-search {
    transition: all 0.3s ease;
}

.col-keyword #keyword-search:focus {
    border-color: #007cba;
    box-shadow: 0 0 0 2px rgba(0, 124, 186, 0.1);
}

.col-keyword #keyword-search::placeholder {
    color: #999;
}

/* Booking Search Mobile Responsive Styles */
@media (max-width: 768px) {
    .col-keyword {
        font-size: 0.9em;
    }
    
    /* Make main search form layout inline on mobile */
    #form-container .hfy-search-form-row {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
        padding: 12px !important;
        align-items: center !important;
    }
    
    #form-container .hfy-search-form-row ._col {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        margin: 0 !important;
    }
    
    /* Make form groups more compact with labels and icons */
    #formBooking ._col .form-group {
        flex-direction: row !important;
        align-items: center !important;
        gap: 6px !important;
        min-height: 40px !important;
    }
    
    /* Style labels for mobile */
    #formBooking ._col .form-group label {
        font-size: 12px !important;
        font-weight: 600 !important;
        color: #666 !important;
        margin-bottom: 0 !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
    }
    
    /* Make inputs more compact */
    #formBooking ._col .form-group input,
    #formBooking ._col .form-group select {
        height: 40px !important;
        font-size: 14px !important;
        padding: 8px 12px !important;
        border-radius: 6px !important;
    }
    
    /* Adjust specific column widths for better mobile layout */
    .col-keyword {
        flex: 2 1 200px !important; /* Give keyword search more space */
    }
    
    .col-dates {
        flex: 1.5 1 150px !important;
    }
    
    .col-guests {
        flex: 1 1 100px !important;
    }
    
    .col-popup-filter {
        flex: 0 0 40px !important; /* Fixed width for filter button */
        order: -1 !important; /* Move filter button to start */
    }
    
    .col-action {
        flex: 1 1 120px !important; /* Give search button adequate space */
    }
    
    /* Make search button more compact */
    .hfy-theme1 .hfy-search-form-wrap .col-action {
        display: flex !important;
        flex-direction: row !important;
        gap: 8px !important;
    }
    
    .hfy-theme1 .hfy-search-form-wrap .col-action button {
        height: 40px !important;
        font-size: 14px !important;
        padding: 8px 16px !important;
        white-space: nowrap !important;
    }
    
    /* Style icons for mobile */
    #formBooking ._col .form-group i {
        font-size: 16px !important;
        color: #666 !important;
        margin-right: 4px !important;
    }
}

/* Small mobile devices */
@media (max-width: 480px) {
    #form-container {
        padding: 8px !important;
        margin: 4px !important;
    }
    
    #form-container .hfy-search-form-row {
        padding: 8px !important;
        gap: 6px !important;
    }
    
    /* Make inputs more compact on small screens */
    #formBooking ._col .form-group input,
    #formBooking ._col .form-group select {
        height: 36px !important;
        font-size: 14px !important;
        padding: 6px 8px !important;
    }
    
    /* Adjust labels for very small screens */
    #formBooking ._col .form-group label {
        font-size: 11px !important;
        margin-bottom: 0 !important;
    }
    
    /* Adjust icons for very small screens */
    #formBooking ._col .form-group i {
        font-size: 14px !important;
        margin-right: 3px !important;
    }
    
    .hfy-theme1 .hfy-search-form-wrap .col-action button {
        height: 36px !important;
        font-size: 13px !important;
        padding: 6px 12px !important;
    }
    
    /* Adjust column flex for very small screens */
    .col-keyword {
        flex: 2 1 180px !important;
    }
    
    .col-dates {
        flex: 1.5 1 120px !important;
    }
    
    .col-guests {
        flex: 1 1 80px !important;
    }
    
    .col-popup-filter {
        flex: 0 0 36px !important;
    }
    
    .col-action {
        flex: 1 1 100px !important;
    }
    
    /* Fix popup modal on mobile */
    #booking-search-popup-modal {
        z-index: 99999 !important;
        padding: 0 !important;
    }
    
    #booking-search-popup-modal > div {
        width: 100vw !important;
        height: 100vh !important;
        max-width: 100vw !important;
        max-height: 100vh !important;
        border-radius: 0 !important;
        padding: 20px 16px !important;
        margin: 0 !important;
    }
    
    /* Fix popup close button positioning */
    #booking-search-popup-modal .close-popup-filter {
        top: 16px !important;
        right: 16px !important;
        font-size: 24px !important;
        z-index: 100000 !important;
    }
}

/* Booking Search Popup Modal Styles (updated) */
#booking-search-popup-modal {
  display: none;
  position: fixed;
  left: 0; top: 0;
  width: 100vw; height: 100vh;
  background: rgba(0,0,0,0.35);
  align-items: center;
  justify-content: center;
}

#booking-search-popup-modal h2, #booking-search-popup-modal h3, #booking-search-popup-modal label {
  font-weight: 700;
  color: var(--Default-Text-Primary, #222);
}
#booking-search-popup-modal .popup-section {
  border-bottom: 1px dashed #d2d2d2;
  margin-bottom: 18px;
  padding-bottom: 18px;
  display:flex;
}


#booking-search-popup-modal .popup-section:last-child {
  border-bottom: none;
}
#booking-search-popup-modal .popup-row,
#booking-search-popup-modal .popup-section.bed-bath-row {
  display: flex;
  align-items: center;
  gap: 32px;
  margin-bottom: 18px;
}
#booking-search-popup-modal .popup-section.bed-bath-row > .popup-section {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}
#booking-search-popup-modal .popup-label {
  min-width: 160px;
  font-weight: 600;
  text-align: left;
  color: var(--Default-Text-Primary, #222);
}
#booking-search-popup-modal input[type="text"],
#booking-search-popup-modal input[type="number"],
#booking-search-popup-modal select {
  border: 1px solid #d2d2d2;
  border-radius: 8px;
  padding: 8px 14px;
  font-size: 1rem;
  outline: none;
  transition: border 0.2s;
  font-family: var(--bde-body-font-family, inherit);
  color: var(--Default-Text-Primary, #222);
}
#booking-search-popup-modal input[type="text"]:focus,
#booking-search-popup-modal input[type="number"]:focus,
#booking-search-popup-modal select:focus {
  border: 1.5px solid var(--bde-brand-primary-color, #1db954);
}
#booking-search-popup-modal select {
	min-width:200px;
	width:150px;
}
#booking-search-popup-modal .popup-checkbox-group {
  display: flex;
  flex-wrap: wrap;
  gap: 18px 32px;
  margin: 8px 0 0 0;
}
#booking-search-popup-modal .popup-checkbox-group input {
	width:auto !important;
}

#booking-search-popup-modal .popup-checkbox-group label {
  font-weight: 400;
  color: var(--Default-Text-Primary, #222);
  display: flex;
  align-items: left;
  gap: 6px;
}
#booking-search-popup-modal .popup-range {
  margin: 18px 0 0 0;
}
#booking-search-popup-modal .popup-range .price-input-wrapper {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 0;
}
#booking-search-popup-modal .popup-range {
  display: flex;
  gap: 23px;
  align-items: flex-end;
}
#booking-search-popup-modal .prefix, #booking-search-popup-modal .suffix {
  color: var(--bde-brand-primary-color, #1db954);
  font-weight: 600;
}
#booking-search-popup-modal .irs--flat .irs-bar,
#booking-search-popup-modal .irs--flat .irs-from,
#booking-search-popup-modal .irs--flat .irs-to,
#booking-search-popup-modal .irs--flat .irs-single {
  background: var(--bde-brand-primary-color, #1db954);
  color: #fff;
}
#booking-search-popup-modal .irs--flat .irs-handle>i:first-child {
  background: var(--bde-brand-primary-color, #1db954);
}
#booking-search-popup-modal .popup-actions {
  display: flex;
  justify-content: flex-end;
  gap: 18px;
  margin-top: 32px;
}
#booking-search-popup-modal .popup-actions .btn {
  min-width: 120px;
  padding: 12px 0;
  border-radius: 8px;
  font-size: 1.1rem;
  font-weight: 600;
  border: 2px solid #d2d2d2;
  background: #fff;
  color: var(--Default-Text-Primary, #222);
  transition: background 0.2s, color 0.2s, border 0.2s;
  cursor: pointer;
  font-family: var(--bde-body-font-family, inherit);
}
#booking-search-popup-modal .popup-actions .btn-primary {
  background: var(--bde-button-primary-background-color, #1db954);
  color: #fff;
  border: 2px solid var(--bde-button-primary-background-color, #1db954);
}
#booking-search-popup-modal .popup-actions .btn-primary:hover {
  background: var(--bde-brand-primary-color, #1db954);
  border-color: var(--bde-brand-primary-color, #1db954);
}
#booking-search-popup-modal .popup-actions .btn-secondary {
  background: #fff;
  color: var(--Default-Text-Primary, #222);
  border: 2px solid #d2d2d2;
}
#booking-search-popup-modal .popup-actions .btn-secondary:hover {
  background: #f5f5f5;
}
#booking-search-popup-modal .popup-clear {
  color: var(--bde-brand-primary-color, #1db954);
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 18px;
  cursor: pointer;
  font-size: 1.05rem;
}
#booking-search-popup-modal .popup-clear svg {
  width: 20px;
  height: 20px;
  vertical-align: middle;
}
#booking-search-popup-modal .show-more-link {
  color: var(--bde-brand-primary-color, #1db954);
  font-weight: 500;
  cursor: pointer;
  margin-top: 6px;
  display: inline-block;
}
#booking-search-popup-modal .close-popup-filter {
  position: absolute;
  top: 12px;
  right: 18px;
  font-size: 2rem;
  background: none;
  border: none;
  cursor: pointer;
  color: #888;
  transition: color 0.2s;
}
#booking-search-popup-modal .close-popup-filter:hover {
  color: var(--bde-brand-primary-color, #1db954);
}
@media (max-width: 768px) {
  #booking-search-popup-modal {
    padding: 0 !important;
  }
  
  #booking-search-popup-modal .booking-search-popup-content {
    padding: 20px 16px !important;
    max-width: 100vw !important;
    width: 100vw !important;
    height: 100vh !important;
    max-height: 100vh !important;
    border-radius: 0 !important;
    margin: 0 !important;
    overflow-y: auto !important;
  }
  
  #booking-search-popup-modal .popup-label {
    min-width: 100px;
    font-size: 16px;
    /*margin-bottom: 8px;*/
  }
  
  #booking-search-popup-modal .popup-section {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 3px !important;
    margin-bottom: 24px !important;
    padding-bottom: 16px !important;
  }
	
	#booking-search-popup-modal .popup-clear {
		margin-bottom:0!important;
	}
  
  #booking-search-popup-modal .popup-range {
    flex-direction: column !important;
    gap: 3px !important;
  }
  
  #booking-search-popup-modal .popup-row,
  #booking-search-popup-modal .popup-section.bed-bath-row {
    flex-direction: column !important;
    /*gap: 16px !important;*/
  }
  
  #booking-search-popup-modal .popup-section.bed-bath-row > div {
    width: 100% !important;
  }
  
  #booking-search-popup-modal .popup-checkbox-group {
    /*flex-direction: column !important;*/
    gap: 12px !important;
  }
  
  #booking-search-popup-modal .popup-actions {
    /*flex-direction: column !important;
    gap: 12px !important;
    margin-top: 24px !important;*/
  }
  
  #booking-search-popup-modal .popup-actions .btn {
    width: 80% !important;
    min-height: 44px !important;
    font-size: 16px !important;
  }
  
  /* Fix close button positioning */
  #booking-search-popup-modal .close-popup-filter {
    top: 16px !important;
    right: 16px !important;
    font-size: 24px !important;
    z-index: 100000 !important;
  }
  
  /* Make inputs touch-friendly */
  #booking-search-popup-modal input[type="text"],
  #booking-search-popup-modal input[type="number"],
  #booking-search-popup-modal select {
    min-height: 44px !important;
    font-size: 16px !important;
    /*padding: 12px !important;*/
  }

  	
  .hfy-theme1 .hfy-reviews-comments .reviews-comments-item {
	flex-direction: column;
  }
}

.hfy-theme1 .hfy-listing-reviews-stars .stars-main > span, .hfy-theme1 .hfy-reviews-summary .stars-main > span {
  	top: 0;
	color: #ffa500;
}

.hfy-wrap svg {
  	vertical-align: initial;
}

/* Star rating colors */
.hfy-listing-reviews-stars .star-empty {
    fill: #e0e0e0; /* Light gray for empty stars */
}

.hfy-listing-reviews-stars .star-filled {
    fill: #ffa500; /* Orange for filled stars */
}

/* Theme-specific overrides if needed */
.hfy-theme1 .hfy-listing-reviews-stars .star-empty {
    fill: #e0e0e0;
}

.hfy-theme1 .hfy-listing-reviews-stars .star-filled {
    fill: #ffa500; /* Orange to match existing theme */
}

/* Booking Search Advanced Component Z-Index */
#search-advanced-container.popup-open {
    position: relative;
    z-index: 999998 !important;
}

#search-advanced-container .hfy-search-form-row-advanced {
    position: relative;
    z-index: 999998 !important;
}

.hfy-search-form-wrap .select-guests-wrap .select-guests-dropdown {
	z-index: 9999998 !important;
}

@media (max-width: 767px), (device-width: 768px), (device-width: 768px) and (device-height: 1024px) and (orientation: portrait), (device-width: 1024px) and (device-height: 768px) and (orientation: landscape), only screen and (device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3), only screen and (device-width: 812px) and (device-height: 375px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape), only screen and (device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2), only screen and (device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3), only screen and (device-width: 823px) and (device-height: 411px) {
	.hfy-search-form-wrap .select-guests-wrap .select-guests-dropdown {
		z-index: 99999 !important;
	}
	#search-advanced-container .hfy-search-form-row-advanced {
		display: none;
	}
}

/* Breakdance Menu Mobile Customization - Allow native functionality */
@media (max-width: 768px) {
    /* Style parent items to show they have sub-items */
    .breakdance-dropdown-item.menu-item-has-children {
        font-weight: 900 !important;
        border-bottom: 1px solid #f0f0f0;
        padding-left: 0 !important;
    }
    
    /* Style sub-items with indentation */
    .breakdance-dropdown-links .breakdance-dropdown-item {
        padding-left: 20px !important;
        font-weight: 400;
        color: #666;
    }
    
    /* Ensure dropdown links are properly styled */
    .breakdance-dropdown-link {
        white-space: normal !important;
    }
}

/* Fix mobile menu scrolling issue - prevent body scroll but allow menu scroll */
html.bde-stop-scrolling,
html.bde-stop-scrolling body {
    overflow: hidden !important;
}

html.is-breakdance-menu-open,
html.is-breakdance-menu-open body {
    overflow: hidden !important;
}

/* Ensure mobile menu can scroll to show all locations */
@media (max-width: 768px) {
    .breakdance-menu-list {
        overflow-y: auto !important;
        max-height: calc(100vh - 100px) !important;
    }
    
    .breakdance-dropdown-floater {
        overflow-y: auto !important;
        max-height: calc(100vh - 150px) !important;
    }
    
    .breakdance-dropdown-body {
        overflow-y: auto !important;
        max-height: calc(100vh - 200px) !important;
    }
	.hfy-theme1 .hfy-map-wrapper .hfy-map-close-btn {display:none;}
}

/* Number Input Controls for Booking Search Popup */
.number-input-wrapper {
    display: flex;
    align-items: center;
    /*border: 1px solid #ddd;*/
    border-radius: 6px;
    background: #fff;
    overflow: hidden;
}

.number-btn {
    background: #f8f9fa;
    border: none;
    padding: 8px 12px;
    cursor: pointer;
    font-size: 16px;
    font-weight: bold;
    color: #333;
    transition: background-color 0.2s ease;
    min-width: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.number-btn:hover {
    background: #e9ecef;
}

.number-btn:active {
    background: #dee2e6;
}

.number-input {
    border: none;
    padding: 8px 12px;
    text-align: center;
    font-size: 16px;
    font-weight: 500;
    color: #333;
    background: transparent;
    width: 60px;
    outline: none;
}

.number-input:focus {
    outline: none;
}

/* Disable button styling when at min/max */
.number-btn:disabled {
    background: #f8f9fa;
    color: #ccc;
    cursor: not-allowed;
}

.number-btn:disabled:hover {
    background: #f8f9fa;
}

/* Mobile Layout: Move Payment Box Above Reviews */
@media (max-width: 768px) {
    /* Show the booking form when it's moved above reviews */
    #single-listing-booking-form.mobile-repositioned {
        display: block;
        position: relative;
        z-index: 10;
        margin-bottom: 20px;
    }
}

/* Enhanced Neighborhood Search Styling */
.neighborhood-match {
    border-left: 4px solid #007cba !important;
    background: linear-gradient(90deg, rgba(0, 124, 186, 0.05) 0%, transparent 100%) !important;
}

.neighborhood-match .hfy-listing-title {
    color: #007cba !important;
    font-weight: 600;
}

.neighborhood-match::before {
    content: "📍";
    position: absolute;
    top: 10px;
    right: 10px;
    font-size: 16px;
    z-index: 1;
}

/* Enhanced search form styling for neighborhood searches */
.search-form.enhanced-neighborhood-search input[type="text"] {
    border-color: #007cba;
    box-shadow: 0 0 0 2px rgba(0, 124, 186, 0.2);
}

.search-form.enhanced-neighborhood-search::after {
    content: "🔍 Enhanced neighborhood search active";
    display: block;
    font-size: 12px;
    color: #007cba;
    font-style: italic;
    margin-top: 5px;
}

/* Keyword suggestions inline tags styles */
.keyword-suggestions-inline {
    position: absolute;
    top: -20px;
    left: 0;
    right: 0;
    bottom: 0;
    background: transparent;
    z-index: 10000;
    pointer-events: none;
    display: flex;
    align-items: center;
    padding: 0 12px;
    overflow: hidden;
}

.suggestions-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 0;
    margin: 0;
}

.suggestion-tag {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    background: rgba(0, 123, 255, 0.1);
    border: 1px solid rgba(0, 123, 255, 0.3);
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.2s ease;
    font-size: 11px;
    font-weight: 500;
    text-decoration: none;
    color: #007bff;
    pointer-events: auto;
    margin-left: 4px;
}

.suggestion-tag:hover,
.suggestion-tag.selected {
    background: rgba(0, 123, 255, 0.2);
    border-color: rgba(0, 123, 255, 0.5);
}

.suggestion-tag.tag {
    background: #fff3e0;
    border-color: #ffcc02;
    color: #e65100;
    font-weight: 600;
}

.suggestion-tag.tag:hover {
    background: #ffcc02;
    border-color: #ff8f00;
    color: #bf360c;
}

.suggestion-tag.neighborhood {
    background: #e3f2fd;
    border-color: #bbdefb;
    color: #1976d2;
}

.suggestion-tag.neighborhood:hover {
    background: #bbdefb;
    border-color: #90caf9;
}

.suggestion-tag.city {
    background: #e8f5e8;
    border-color: #c8e6c9;
    color: #388e3c;
}

.suggestion-tag.city:hover {
    background: #c8e6c9;
    border-color: #a5d6a7;
}

.suggestion-tag-text {
    font-weight: 500;
}

/* Make the input container relative for absolute positioning */
.booking-search-input-container {
    position: relative;
}
