/*
 Theme Name: Homey Child
 Theme URI: https://techfindnow.com
 Description: Child theme for Homey theme
 Author: Ansar Ramzan
 Author URI: https://techfindnow.com
 Template: homey
 Version: 1.0.0
*/
@import url("../homey/style.css");


.amenities-icons-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 3px;
	justify-content: center !important;
}
.amenities-icons-wrap > *:nth-child(n+9) {
    display: none;
}

.amenity-icon {
    position: relative;
    display: inline-flex;
    width: 34px;
    height: 34px;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    background: #f5f5f5;
    font-size: 16px;
    color: #444;
    cursor: pointer;
    transition: all 0.2s ease;
}

.amenity-icon:hover {
    background: #333;
    color: #fff;
}

/* Tooltip on TOP */
.amenity-icon::after {
    content: attr(data-tooltip);
    position: absolute;
    top: -34px; /* starting position */
    left: 50%;
    transform: translateX(-50%);
    background: #333;
    color: #fff;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 12px;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease, top 0.2s ease;
}

/* Tooltip arrow */
.amenity-icon::before {
    content: "";
    position: absolute;
    top: -10px;
    left: 50%;
    transform: translateX(-50%);
    border-width: 6px;
    border-style: solid;
    border-color: transparent transparent #333 transparent;
    opacity: 0;
    transition: opacity 0.2s ease, top 0.2s ease;
}

/* Hover: show tooltip on TOP */
.amenity-icon:hover::after {
    opacity: 1;
    top: -42px; /* hover position */
}

.amenity-icon:hover::before {
    opacity: 1;
}
/* Chalet Price & Currency Formatting */

.price-currency {
    font-weight: 600;
    font-size: 42px;
    color: #2a2a2a;
    margin-right: 3px;
   font-family: "Playfair Display", serif;
    color: #001f47;
}

.price-value {
    font-weight: 600;
    font-size: 42px;
    color: #000;
  font-family: "Playfair Display", serif;
  color: #001f47;
}

.block {
    margin-bottom: 30px;
    background-color: transparent;
}

.block-section:before, .block-body:before{
	display:none;
}
.block-custom {
    margin-bottom: 80px;
}

@media (max-width: 767px) {
    .block-custom {
        margin-bottom: 60px;
    }
}

@media (min-width:768px) {
    #location-description {
        padding-right: 20px;
    }

}

@media (min-width:768px) {

    #enquiryModal .modal-dialog {
        max-width: 45vw;
        max-width: 1000px;
        width: 100%;
    }
}

#enquiryModal br {
    display: none;
}

#enquiryModal .wpcf7-form .row {
    margin-bottom: 2rem;
}

#enquiryModal .wpcf7-form label {
    display: block;
    font-weight: 600;
    margin-bottom: 1rem;
    color: #18324F;
    font-size: 14px;
}

#enquiryModal .wpcf7-form input,
#enquiryModal .wpcf7-form select,
#enquiryModal .wpcf7-form textarea {
    width: 100%;
    border: none;
    background-color: #103b581a;
    border: none;
    padding: 10px 12px;
    border-radius: 4px;
    font-size: 15px;
    resize: vertical;
    appearance: none;
}

h3#enquiryModalLabel {
    flex: auto;
}

#enquiryModal .wpcf7-form select {
    background-image: url("data:image/svg+xml;utf8,<svg fill='%2318324F' height='16' viewBox='0 0 24 24' width='16' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/></svg>");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 16px 16px;
}

#enquiryModal .wpcf7-form textarea {
    min-height: 100px;
}

#enquiryModal .wpcf7-form .form-check {
    margin-top: 1rem;
}

#enquiryModal .wpcf7-form .form-check label {
    font-weight: normal;
    font-size: 14px;
}

#enquiryModal .wpcf7-form .btn-primary:hover {
    background-color: white;
    color: black;
    border: 1px solid black;
}

#enquiryModal .wpcf7-form .btn-primary {
    background-color: #103b58;
    padding: 10px;
    height: auto;
    text-transform: uppercase;
    font-weight: bold;
    border-radius: 60px;
    letter-spacing: 1px;
    border: 1px solid #103b58;
    margin-top: 25px;
}

#enquiryModal .btn:active:focus,
#enquiryModal .btn:focus {
    outline-offset: 0;
    outline: none;
}

#enquiryModal .modal-header {
    display: inline-flex;
    padding: 20px;
    width: 100%;
    justify-content: space-between;
}

#enquiryModal .modal-body {
    padding: 20px;
}

.modal-content {
    border-radius: 30px;
}

#enquiryModal .wpcf7-spinner {
    position: absolute;
    bottom: 40px;
    right: 13px;
}

#enquiryModal input::placeholder,
#enquiryModal textarea::placeholder {
    color: #9b9b9b;
}

body.modal-open-fix {
    overflow: hidden !important;
}

.modal-header button.close span {
    position: relative;
    font-size: 38px;
    display: block;
    line-height: 0.5;
}

.custom-css .wpcf7-response-output {
    background-color: #ffffff;
    color: #103b58;
    border-radius: 40px;
}

.sticky-bottom-banner {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: #103b58;
    z-index: 99;
    padding: 10px 15px;
    color: white;
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    transition:
        opacity 0.2s ease-in-out,
        visibility 0.2s ease-in-out,
        transform 0.2s ease-in-out;
    pointer-events: none;
}

.sticky-bottom-banner.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

.sticky-bottom-banner .banner-text {
    font-weight: 600;
    font-size: 1rem;
}

.sticky-bottom-banner .btn-enquire {
    font-weight: bold;
}

.chalet-title-banner {
    margin: 0;
    flex: auto;
    margin-right: 15px;
    gap: 10px;
    align-items: baseline;

}

.sticky-enquire-banner {
    width: 100%;
    justify-content: space-between;
    align-items: center;
    border: 1px solid white;
    max-width: 1350px;
    padding: 10px 28px;
    max-height: 120px;
}

.sticky-enquire-banner button {
    border-radius: 40px;
    color: #ffffff;
    text-transform: uppercase;
    background: transparent;
    border: 1px solid white;
    padding: 2px 18px;
}

.sticky-enquire-banner button:hover,
.sticky-enquire-banner button:focus {
    color: black;
    background-color: white;
}

.chalet-title-banner {
    font-size: 24px;
}

.sticky-enquire-banner button {
    font-size: 18px;
}


.chalet-title-banner {
    display: flex;
    flex-wrap: nowrap;
    align-items: baseline;
    width: 50%;
}

.chalet-main-title {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.chalet-title-banner .font-ital {
    white-space: nowrap;
}



.chalet-title-section h1 {
    font-size: 56px;
    color: #000000;
}

.chalet-title-section h1 {
    max-width: 950px;
    justify-self: center;
    row-gap: 22px;
}



.font-ital,
.page-intro-content i {
    font-family: 'Cormorant', serif;
    font-weight: 400;
    font-style: italic;
}

.search-date-range-arrive {
    width: 100%;
}

.search-date-range-depart {
    display: block;
}


.search-budget-range {
    min-width: 130px;
    width: auto;
    vertical-align: middle;
    padding-right: 10px;
    position: relative;
    display: table-cell;
}

.search-banner .search-budget-range .animated-label {
    color: #949ca5;
    left: 50px;
    font-size: 12px;
    font-weight: 400;
    position: absolute;
}




/* Laptop screens (≤ 1199px) */
@media (max-width: 1199px) {
    .chalet-title-section h1 {
        font-size: 45px;
    }
}

/* Tablet screens (≤ 991px) */
@media (max-width: 991px) {
    .chalet-title-section h1 {
        font-size: 36px;
    }
}

/* Small tablet / large mobile screens (≤ 767px) */
@media (max-width: 767px) {
    .chalet-title-section h1 {
        font-size: 36px;
    }
}

/* Mobile phones (≤ 575px) */
@media (max-width: 575px) {
    .chalet-title-section h1 {
        font-size: 26px;
    }
}

.chalet-title-section .font-ital {
    font-size: 64px;
    color: #000000;

}


/* Laptop screens (≤ 1199px) */
@media (max-width: 1199px) {
    .chalet-title-section .font-ital {
        font-size: 54px;
    }
}

/* Tablet screens (≤ 991px) */
@media (max-width: 991px) {
    .chalet-title-section .font-ital {
        font-size: 44px;
    }
}

/* Small tablet / large mobile screens (≤ 767px) */
@media (max-width: 767px) {
    .chalet-title-section .font-ital {
        font-size: 44px;
    }
}

/* Mobile phones (≤ 575px) */
@media (max-width: 575px) {
    .chalet-title-section .font-ital {
        font-size: 34px;
    }
}

.chalet-title {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3em;
    justify-content: center;
    text-align: center;
    margin-bottom: 30px;
}

.chalet-summary {
    max-width: 600px;
    place-self: center;
    font-family: 'Cormorant';
    font-weight: 700;
    font-size: 21px;

    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.chalet-badges-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #103b58;
    padding: 1.5rem 2rem 1.5rem 5.5rem;
    border-radius: 25px;
    height: 114px;
    gap: 1rem;
}

.chalet-badges {
    display: flex;
    gap: 2.5em;
    align-items: center;
}

.chalet-badges .badge {
    color: white;
    border: 1px solid white;
    padding: 0.8em 1.5em;
    border-radius: 999px;
    font-weight: 600;
    font-size: 12px;
    white-space: nowrap;
    background-color: transparent;
}

.btn-enquire {
    background-color: white;
    border-radius: 60px;
    height: 65px;
    padding: 0 4rem;
    font-weight: 600;
    text-transform: uppercase;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
}

.btn-enquire:hover {
    background-color: transparent;
    color: #fff;
    border: 1px solid white;
}

.chalet-section-menu ul {
    display: flex;
    justify-content: center;
    background-color: #D9D9D9;
    border-radius: 0 0 20px 20px;
    overflow: hidden;
    padding: 0;
    margin: 0 auto;
    list-style: none;
    max-width: 1350px;
}

.chalet-section-menu li {
    flex: 1;
    text-align: center;
    padding: 1rem;
    font-weight: 700;
    font-family: 'Manrope', sans-serif;
    color: #555;
    cursor: pointer;
    border-right: 1px solid #ccc;
}

.chalet-section-menu li:last-child {
    border-right: none;
    border-top-right-radius: 40px;
    border-bottom-right-radius: 40px;
}

.chalet-section-menu li:first-child {
    border-top-left-radius: 40px;
    border-bottom-left-radius: 40px;
}

.chalet-section-menu li a {
    text-decoration: none;
    color: #8b8b8b;
    display: block;
	font-size: 12px;
}

.chalet-section-menu li:hover a {
    color: #000;
}

.chalet-section-menu li a.active {
    color: #000;
}

.sticky-chalet-menu {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    border-radius: 0 0 20px 20px;
    display: none;
    padding: 0;
    padding-left: 65px;
    padding-right: 65px;
}

@media (max-width: 1024px) {

    #in-flow-chalet-menu,
    #sticky-chalet-menu {
        display: none !important;
    }

}


#in-flow-chalet-menu {
    padding-left: 25px;
    padding-right: 25px;
}


.content-area .block {
    border-bottom: 2px solid black;
}

.chalet-title-section .block {
    border: none;
}

.included-section {
    margin: 80px 0;
}

.included-section .included-inner {
    height: 100%;
    align-items: center;
    display: flex;
}

.included-text {
    display: flex;
    flex-direction: column;
    align-self: start;
}

.included-title,
.faq-title {
    font-weight: 600;
    margin-bottom: 10px;
    color: #000;
    font-size: clamp(2.5rem, 5vw, 4.5rem);
}

.included-subtitle,
.faq-subtitle {
    font-style: italic;
    font-size: clamp(3rem, 5vw, 5rem);

    margin-top: 2rem;
    color: #000;
}

.included-list {
    list-style: none;
    padding: 0;
    margin: 30px 0 0;
}

.faq-question-title {
    font-size: 18px;
    text-transform: uppercase;
    text-align: left;
    font-weight: 800;
}

.faq-text {
    margin-bottom: 20px;
}

.included-item {
    display: flex;
    align-items: center;
    border-bottom: 1px solid #ccc;
    padding: 10px 0;
}

.included-item:last-child {
    border-bottom: none;
}

.included-label {
    margin-left: 10px;
}


.included-image {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    flex: 1;
    padding-left: 75px;
    border-radius: 60px;
}

.included-img {
    border-radius: 10px;
    max-height: 100%;
    width: 100%;
    object-fit: cover;
    border-radius: 60px;
}

.included-placeholder {
    border-radius: 10px;
    background-color: #333;
    width: 100%;
    height: 400px;
}

.detail-property-page h3 {
    color: #103B58;
    display: inline-block;
}


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

    #section-body {
        overflow: initial !important;
    }

}

@media (max-width: 767px) {
    .chalet-title-banner {
        font-size: 20px;
    }

    .sticky-enquire-banner button {
        font-size: 16px;
        padding: 3px 14px;
    }


    .sticky-bottom-banner {
        max-height: 86px;
        padding: 10px;
    }



}

@media (min-width: 768px) {
    .chalet-title-banner {
        font-size: 28px;
    }

    .sticky-enquire-banner button {
        font-size: 14px;
    }
}

@media (max-width:991px) {
    .custom-css .chalet-title-banner .font-ital {
        display: none;
    }
}

@media (min-width: 992px) {
    .chalet-title-banner {
        font-size: 32px;
    }

    .sticky-enquire-banner button {
        font-size: 18px;
    }
}

@media (min-width: 1201px) {
    .chalet-title-banner {
        font-size: 36px;
    }

    .sticky-enquire-banner button {
        font-size: 20px;
    }
}

@media (min-width: 1681px) {
    .chalet-title-banner {
        font-size: 38px;
    }

    .sticky-enquire-banner button {
        font-size: 22px;
    }
}



.page-title {
    margin-bottom: 20px;
    padding: 0px 0 20px;
    width: 100%;
}

section.main-content-area.listing-page.listing-page-full-width {
    margin-top: 0px;
}

.breadcrumb-arrow {
    padding: 5px;
    vertical-align: middle;
}

.breadcrumb li:after {
    content: none !important;
    font-family: inherit !important;
    padding: 0 !important;
}

.main-content-area {
    padding: 20px 0;
    background: white;
    margin: 0px;
}








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

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



.custom-css .mobile-logo img {
    width: 55px;
    height: 100%;
}

.homey-megamenu {
    position: relative;
}

.homey-megamenu-wrap {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background-color: transparent;
    z-index: 999;
    display: none;
    box-shadow: none;
}

.homey-megamenu-wrap:before {
    content: '';
    display: block;
    width: 100%;
    height: 27px;
    visibility: hidden;
    opacity: 0;
}

.homey-megamenu>.homey-megamenu-wrap {
    display: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease;
}

@media (max-width: 1150px) {
    .homey-megamenu-wrap:before {
        height: 15px;
    }
}

.homey-megamenu.is-hovering>.homey-megamenu-wrap {
    display: block;
    opacity: 1;
    visibility: visible;
}

/* === Inner layout container === */
.homey-megamenu-inner {
    display: flex;
    flex-wrap: wrap;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    border-radius: 0 0px 28px 28px;
}

/* === Sub-menu inside legacy dropdowns === */
.homey-megamenu-wrap>.sub-menu {
    display: flex;
    flex-wrap: wrap;
    padding: 20px;
    gap: 40px;
    list-style: none;
    margin: 0;
}

.homey-megamenu .sub-menu {
    max-height: none;
}

/* === Mega Menu Layout === */
.country-menu,
.collection-menu {
    max-width: 1350px;
    margin: 0 auto;
    background: transparent;
    border-radius: 28px;
    font-family: inherit;
}

/* === Sidebar with country tabs === */
.country-menu .homey-megamenu-inner .country-menu__sidebar,
.collection-menu .homey-megamenu-inner .collection-menu__sidebar {
    width: 220px;
    background-color: #103b58;
    display: flex;
    flex-direction: column;
    border-bottom-right-radius: 0px;
    border-bottom-left-radius: 28px;
}

.country-menu .homey-megamenu-inner .country-menu__tabs,
.collection-menu .homey-megamenu-inner .collection-menu__tabs {
    list-style: none;
    margin: 0;
    padding: 0;
}

.country-menu .homey-megamenu-inner .country-menu__tabs li,
.collection-menu .homey-megamenu-inner .collection-menu__tabs li {
    padding: 14px 20px;
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    font-weight: 600;
    color: #fff;
    transition: background 0.3s;
}

.country-menu .homey-megamenu-inner .country-menu__tabs li:hover,
.collection-menu .homey-megamenu-inner .collection-menu__tabs li:hover {
    background-color: #103b58;
}

.country-menu .homey-megamenu-inner .country-menu__tabs li.active,
.collection-menu .homey-megamenu-inner .collection-menu__tabs li.active {
    background-color: var(--color-gold);
    color: #ffffff;
}

/* === Flags next to tab names === */
.country-menu .homey-megamenu-inner .country-menu__tabs .flag {
    width: 24px;
    height: 16px;
    background-size: cover;
    background-position: center;
    border-radius: 2px;
    flex-shrink: 0;
}

/* === Shared styles for content areas === */
.country-menu .homey-megamenu-inner .country-menu__content,
.collection-menu .homey-megamenu-inner .collection-menu__content {
    flex: 1;
    padding: 30px 40px;
    background-color: white;
    transition: min-height 0.3s ease;
    border-radius: 0 0 28px 0;
}

/* === Specific styles === */
.country-menu .homey-megamenu-inner .country-menu__content {
    min-height: 520px;
}

.collection-menu .homey-megamenu-inner .collection-menu__content {
    min-height: 340px;
}

/* === Title for each country block === */
.country-menu .homey-megamenu-inner .country-menu__panel h3,
.collection-menu .homey-megamenu-inner .collection-menu__panel h3 {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 20px;
    letter-spacing: 0.05em;
    color: #000000;
    border-bottom: 1px solid #ccc;
    padding-bottom: 10px;
    display: flex;
}

.country-menu .homey-megamenu-inner .country-menu__panel h3 a.view-all-btn,
.collection-menu .homey-megamenu-inner .collection-menu__panel h3 a.view-all-btn {
    line-height: 1.45;
    padding: 0;
    color: #000000;
    margin-left: 6px;
    font-size: 22px;
    font-weight: 400;
}

/* === Hide inactive panels === */
.country-menu .homey-megamenu-inner .country-menu__panel,
.collection-menu .homey-megamenu-inner .collection-menu__panel {
    display: none;
}

.country-menu .homey-megamenu-inner .country-menu__panel.active,
.collection-menu .homey-megamenu-inner .collection-menu__panel.active {
    display: block;
}

/* === Resort columns === */
.custom-css .country-menu .homey-megamenu-inner .country-menu__columns,
.custom-css .collection-menu .homey-megamenu-inner .collection-menu__columns {
    column-count: 3;
    column-gap: 50px;
    margin-top: 20px;
    max-height: 380px;
}

.custom-css .country-menu .homey-megamenu-inner .country-menu__columns ul,
.custom-css .collection-menu .homey-megamenu-inner .collection-menu__columns ul {
    break-inside: avoid;
    list-style: none;
    padding: 0;
    margin: 0 0 30px 0;
}

.custom-css .country-menu .homey-megamenu-inner .country-menu__columns ul li a,
.custom-css .collection-menu .homey-megamenu-inner .collection-menu__columns ul li a {
    display: block;
    padding: 6px 0;
    color: #002d48;
    font-size: 14.5px;
    font-weight: 500;
    text-decoration: none;
    line-height: 1.5;
}

.custom-css .country-menu .homey-megamenu-inner .country-menu__columns ul li a:hover,
.custom-css .collection-menu .homey-megamenu-inner .collection-menu__columns ul li a:hover {
    text-decoration: underline;
    color: var(--color-gold);
}




/* header widget */

/* header widget */
.header-widget {
    display: inline-flex;
    align-items: center;
    font-family: 'Manrope', sans-serif;
    width: 140px;
    gap: 0px;
    transition: none;
    justify-content: space-between;

}

/* icon sizing & spacing */
.header-widget .widget-icon img {
    width: 14px;
    height: 14px;
    margin-right: 2px;
    margin-bottom: 0px;
}


.widget-icon-mask {
    width: 14px;
    height: 14px;
    margin-right: 2px;
    margin-bottom: 0px;
    background-color: var(--color-navy);
    /* default for non-transparent headers */
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
}

/* On transparent headers, make the icon white */
.transparent-header .widget-icon-mask {
    background-color: #ffffff;
}

span.widget-value {
    width: 35px;
    text-align: right;
}

.budget-apply-btn {
    float: right;
    margin-top: 10px;
}

.custom-css .budget-apply-btn .btn,
.custom-css .guest-apply-btn .btn {
    color: #fff;
    height: 42px !important;
    font-size: 14px !important;
    font-weight: 700;
    line-height: 40px;
    padding: 0 30px;
    text-align: center;
    border-radius: 30px;
    background-color: #000;
    text-transform: uppercase;

}

.custom-css .budget-apply-btn .btn:hover,
.custom-css .guest-apply-btn .btn:hover {
    color: #000;
}

.custom-css .search-banner .bootstrap-select button.btn.btn-primary {
    background-color: black !important;
    text-transform: uppercase;
}

.custom-css .search-filter-footer .btn,
#search_submit_button {
    text-transform: uppercase;
}

.custom-css .search-banner .bootstrap-select button.btn.btn-primary:hover {
    background-color: rgb(255, 255, 255) !important;
    color: black;
    border: 1px solid black;

}

.filters-wrap span.filter-option.pull-left {
    padding: 7px 0px 0px 0;
    margin-left: 8px;
    text-transform: none;
}

.filters-wrap .btn {
    text-transform: uppercase;
}

.custom-css .btn-primary:active {
    color: #000 !important;
    background-color: transparent !important;
    border-color: #000000 !important;
}

.custom-css .btn-primary:focus {
    background-color: transparent !important;
    color: black;
}

button.btn.btn-action {
    border-radius: 13px;
}

.custom-css .btn-primary:hover {
    color: #ffffff;
    background-color: transparent;
    border-color: #000;
}

.custom-css .property-item .btn-primary:hover,
.custom-css .property-item .btn-primary:active,
.custom-css .property-item .btn-primary:focus {
    color: white !important;
    background: var(--color-gold) !important;
    border-color: var(--color-gold) !important;
}

.search-banner .search-budget-range .form-control {
    padding-top: 22px;
    padding-right: 0;
    padding-bottom: 20px;
    padding-left: 50px;
    height: 56px;
    font-size: 15px;
}

.search-banner .search-guests .form-control.on-focus,
.search-banner .search-budget-range .form-control.on-focus,
.search-banner .search-date-range .form-control.on-focus,
.search-banner .search-date-range-arrive .form-control.on-focus {
    padding-bottom: 10px !important;
}

.search-date-range-arrive input.form-control.on-focus {
    padding-bottom: 10px !important;
}

.search-budget-range:after {
    position: absolute;
}

.search-budget-range:after {

    left: 15px;
    top: 14px;
    font-family: "homey-icon";
    font-size: 16px;
    line-height: initial;
}

.search-banner .search-budget-range:after {
    content: "\e95a";
}

.search-budget-range:after {
    top: 19px;
    left: 20px;
    font-size: 18px;
    line-height: initial;
}

.with-select .bootstrap-select .dropdown-toggle.bs-placeholder .filter-option {
    line-height: 54px;
}

button.search-cal-prev.btn.btn-action.pull-left.disabled {
    visibility: hidden;
}

.half-map-search .search-calendar,
.half-map-search .search-guests-wrap,
.half-map-search #filter-budget-slider-container {
    border-radius: 20px !important;
}

.half-map-right-wrap #homey-map-loading {
    display: none
}

#homey_halfmap_listings_container #homey-map-loading {
    top: 0;
    z-index: 8;
    background: white;
    width: 100%;
    position: fixed;
    left: 0;
}

.map-btn {
    border-radius: 10px;
}


.loader-ripple.spinner {
    width: 60px;
    height: 60px;
    margin: 0 auto;
    position: relative;
    background-image: url('/wp-content/uploads/2025/06/CSH-Logo-snow-loader.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    animation: bounceLoader 1.2s ease-in-out infinite;
}

.loader-ripple.spinner .bounce1,
.loader-ripple.spinner .bounce2,
.loader-ripple.spinner .bounce3 {
    display: none;
}

@keyframes bounceLoader {

    0%,
    100% {
        transform: translateY(0);
    }

    30% {
        transform: translateY(-12px);
    }

    50% {
        transform: translateY(0);
    }

    70% {
        transform: translateY(-6px);
    }
}

.gm-marker,
.gm-marker-price {
    display: none !important;
}

.half-map-search .search-destination img {
    width: 26px;
    height: auto;
    top: 14px;
    left: 16px;
    font-size: 18px;
    line-height: initial;
    position: absolute;
    filter: brightness(0) !important;
    z-index: 5;
}

.custom-css .half-map-search .search-date-range svg {
    width: 26px;
    height: auto;
    top: 10px;
    left: 16px;
    font-size: 18px;
    line-height: initial;
    position: absolute;
    filter: brightness(0) !important;
    z-index: 5;
}

.half-map-search .with-select .bootstrap-select .btn {
    padding: 0px 15px;
}

.custom-css .half-map-search .form-control,
.half-map-search #filter-budget-visible-input {
    padding-left: 50px;
}

.half-map-search .search-destination .dropdown-menu input {
    padding: 0px 15px;
}

.half-map-search .search-destination .filter-option {
    padding-left: 37px;
}


.search-calendar .btn-clear-date {
    cursor: pointer;
    z-index: 99;
    top: 9px;
    right: 20px;
    font-weight: 600;
    font-size: 14px;
    position: absolute;
}

.custom-css .half-map-search .search-guests img {
	display:none !important;
    width: 24px;
    height: auto;
    top: 12px;
    left: 16px;
    font-size: 18px;
    line-height: initial;
    position: absolute;
}


.half-map-search .filter-budget-range img {
    position: absolute;
    width: 21px;
    top: 14px;
    left: 14px;
}

#google-maps-info-window .item-wrap .property-item {
    border-radius: 35px;
    border: none;
    padding: 5px;

}

#google-maps-info-window .title a {
    line-height: 1.2;
}

.custom-css .homey_half_map_search_btn:hover,
.custom-css .homey_half_map_search_btn:focus,
.custom-css .homey_half_map_search_btn:active {
    color: white !important;
    background-color: #a28a5c !important;
    border: 1px solid transparent !important;
}

#google-maps-info-window .item-title-head {
    margin-top: 20px;
    margin-bottom: 0px;
}

#google-maps-info-window .item-media-thumb img {
    max-width: 100%;
}


@media (max-width:640px) {
    .item-media.item-media-thumb a {
        border-radius: 0px;
    }

    #google-maps-info-window .item-media-thumb img {
        max-width: 50%;
        margin-left: auto;
        margin-right: auto;
        border-radius: 25px;
    }
}

.half-map-search button,
.half-map-search input {
    border-radius: 30px !important;

}

@media (min-width: 768px) and (max-width: 991px) {

    .half-map-search-inner-wrap .search-calendar .left-calendar,
    .half-map-search-inner-wrap .search-calendar .right-calendar {
        width: 100%;
    }

    .half-map-search-inner-wrap .search-calendar {
        left: 0;
        flex-flow: column;
        width: 100%;
    }

    .half-map-search-inner-wrap .left-calendar {
        margin-bottom: 20px
    }

    .half-map-search-inner-wrap .flexible-dates-label {
        padding: 5px 7px;
    }

    .half-map-search-inner-wrap .flexible-dates-toggle {
        gap: 8px;
    }

    .half-map-search-inner-wrap .search-calendar:after,
    .search-calendar:before {
        left: 20%;
    }
}

@media (min-width: 992px) and (max-width: 1200px) {
    .half-map-search-inner-wrap .search-calendar {
        left: auto;
    }
}

.applyDate {
    display: none;
}

.date-apply-btn .applyDate {
    height: 42px !important;
    width: 13rem;
    z-index: 1;
    background-color: #000;
    border-radius: 20px;
    text-transform: uppercase;
}

button.btn.btn-primary.applyDate:hover {
    border-color: black;
    background-color: transparent;
    color: black;
}

.custom-css button.btn.btn-primary.applyDate:focus {
    border-color: black;
    background-color: transparent;
    color: black;
}


.date-apply-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    top: 59px;
    position: absolute;
}

.cal-actions-container {
    z-index: 1;
    float: none;
    top: 15px;
    clear: both;
    white-space: nowrap;
    width: 100%;
    position: relative;
}

.custom-css .search-calendar .calendar-navigation {
    z-index: 4;
    float: none;
    top: auto;
    clear: none;
}

@media (max-width: 991px) {

    .search-budget-range {
        width: 100%;
        margin-bottom: 10px;
        clear: both;
        display: block;
        padding-right: 0;
    }

    .search-banner .search-button button {
        width: 100%;
    }
}

.search-banner .search-budget-range input.form-control {
    -webkit-transition: 0.2s;
    -o-transition: 0.2s;
    transition: 0.2s;
    overflow: hidden;
}


/* Budget Slider Styling */
/* Budget Slider Styling */
#filter-budget-slider-container,
#budget-slider-container,
#mobile-filter-budget-slider-container {
    display: none;
    position: absolute;
    min-width: 260px;
    text-align: left;
    border-radius: 4px;
    background-color: #fff;
    border: 1px solid #d8dce1;
    padding: 30px 34px 20px;
    margin-top: 9px;
    z-index: 7;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    width: 100%;
}

#mobile-filter-budget-slider-container {
    width: 100%;
}

@media (min-width: 1201px) and (max-width: 1679px) {

    #filter-budget-slider-container,
    #mobile-filter-budget-slider-container {
        right: 0;
        left: auto;
        max-width: 100vw;
        overflow-x: auto;
    }
}

#budget-slider,
#filter-budget-slider,
#mobile-filter-budget-slider {
    width: 100%;
    margin-bottom: 10px;
}

#budget-value,
#filter-budget-value {
    margin-bottom: 10px;
}

#budget-value,
#filter-budget-value,
#mobile-filter-budget-value {
    font-weight: bold;
    display: block;
    text-align: center;
    font-size: 16px;
}

#filter-budget-slider-container .ui-slider-horizontal .ui-slider-handle,
#budget-slider-container .ui-slider-horizontal .ui-slider-handle,
#mobile-filter-budget-slider-container .ui-slider-horizontal .ui-slider-handle {
    border-radius: 25px;
    background-color: #A28A5C;
    width: 25px;
    height: 25px;
    top: -12px;
    border: none;
}


#filter-budget-visible-input,
#mobile-filter-budget-visible-input {
    font-weight: 500;
    color: #4f5962;
    border-radius: 4px;
    text-align: left;
    height: 46px;
    padding-top: 4px;
    padding-right: 0;
    padding-bottom: 4px;
    padding-left: 40px;
    background-color: transparent !important;
}

#mobile-filter-budget-visible-input,
.mobile-budget-slider {
    margin-bottom: 10px;
    height: 56px;
    font-size: 15px;
}

#mobile-filter-budget-visible-input {
    padding-top: 22px;
    padding-right: 0;
    padding-bottom: 20px;
    padding-left: 50px;
}



.filter-budget-range {
    width: auto !important;
    vertical-align: middle;
    display: table-cell !important;
    background-color: transparent !important;
}

#filter-budget-slider-container .ui-slider-horizontal .ui-slider-handle:after,
#budget-slider-container .ui-slider-horizontal .ui-slider-handle:after,
#mobile-filter-budget-slider-container .ui-slider-horizontal .ui-slider-handle:after {
    content: '';
}

.budget-label {
    font-weight: bold;
    display: block;
    text-align: center;
    font-size: 16px;
}

.budget-container {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 16px;
    font-weight: bold;
    margin-top: 19px;
    justify-content: center;
}

/* search form homepage resort */

.search-wrap .dropdown-menu .form-control {
    height: 44px !important;
}

.search-wrap .dropdown-menu .form-control.on-focus {
    height: 44px !important;
}

.search-banner .search-destination.with-select input.form-control,
.search-banner-desktop input {
    -webkit-transition: 0s !important;
    -o-transition: 0s !important;
    transition: 0s !important;
}

.search-calendar.arrive_active:after,
.search-calendar.arrive_active:before {
    display: none;
}

.children-calculator,
.pets-calculator {
    display: none;
}


/* flexible dates options */

.flexible-dates-toggle {
    display: flex;
    justify-content: center;
    font-size: 12px;
    gap: 14px;
    margin-bottom: 20px;
}

.flexible-dates-label {
    display: flex;
    align-items: center;
    gap: 8px;
    outline: 1px solid gray;
    padding: 5px 12px;
    border-radius: 50px;
    cursor: pointer;
    user-select: none;
    transition: transform 0.1s ease, outline-color 0.1s ease;
    transform: scale(1);
}

/* Hover effect */
.flexible-dates-label:hover {
    outline-color: black;
}

/* Click animation */
.flexible-dates-label:active {
    transform: scale(0.96);
}

/* When selected - match any input[name="flexible_dates"] that is checked */
input[name="flexible_dates"]:checked+.flexible-dates-label {
    outline: 2px solid black;
}

/* Icon style */
.flex-icon {
    font-size: 20px;
    font-weight: 300;
}

.future-day {
    cursor: pointer;
    ;
}

.noneExactMessage {
    padding: 10px;
    background-color: #958f84;
    color: white;
    margin: 15px 15px 20px;
    border-radius: 14px;
}

.noneExactMessage a:hover {
    color: white;
}


/* fix for animated label on dates */

/* .search-date-range-arrive .animated-label {
    pointer-events: none;
} */

@media (max-width: 991px) {
    .half-map-search .half-map-search-buttons {
        margin-top: 20px;
    }
}

@media (max-width: 1200px) {
    .filter-budget-range {
        display: block !important;
    }
}





.mobile-budget-slider:after {
    top: 19px;
    left: 20px;
    font-size: 18px;
    line-height: initial;
}

.filter-budget-range .bootstrap-select .btn:hover {
    background-color: #ffffff00 !important;
}

.bs-searchbox .form-control {
    padding-left: 10px;
}


.resortfield:first-of-type {
    display: block !important;
    padding: 0 !important;
    height: 56px;
    width: 100%;
    line-height: 1.428571429;
    color: #555555;
    background-color: #fff;
    background-image: none;
    border-radius: 4px;
    font-size: 15px;
    font-weight: 500;
    border: 0px;
}

.resortfield .dropdown-menu>.active>a .text {
    color: white;
}


.resortfield {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background: none;
    background-color: #fff;
    border: 1px solid #ccc;
    padding-right: 30px;
    position: relative;
}

.bootstrap-select .resortfield {
    display: none !important;
}

.mobile-nav-wrap {
    z-index: 1001;
}

#homey_halfmap_listings_container {
    height: auto;
    padding-bottom: 50px;
    margin-top: 20px;
}

.map-notfound {
    display: none;
}

.bootstrap-select.btn-group .dropdown-menu {
    z-index: 6
}

.noneExactMessage a {
    font-weight: bold;
}

/* fix for mobile results double tap  */

@media (pointer: coarse) {
    .half-map-right-wrap {
        position: relative;
    }

    .mobile-map-locker {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 9999;
        background: transparent;
        pointer-events: all;
    }

    .mobile-map-locker.unlocked {
        pointer-events: none;
    }
}

@media (max-width: 767px) {

    #banner-map,
    #banner-map-experiences,
    #homey-halfmap {
        height: 30vh;
    }

    .half-map-right-wrap {
        height: 30vh !important;
        display: none;
    }

    #homey_halfmap_listings_container {
        margin-top: 40px;
    }
}

.custom-css .mobile-search-js-overlay form {
    display: grid;
}



.custom-css .search-filter-wrap .filters .control {
    line-height: 31px;
}

#overlay-search-advanced-module .with-select .bootstrap-select .dropdown-toggle.bs-placeholder .filter-option.pull-left {
    line-height: 55px;
}

#overlay-search-advanced-module span.filter-option.pull-left {
    margin-left: 29px;
}

#overlay-search-advanced-module .dropdown-menu>.active>a .text {
    color: white;
}

#overlay-search-advanced-module #search_submit_button:hover {
    color: black;

}

.mobile-overlay-input-icon {
    position: absolute;
    top: 13px;
    left: 13px;
}

.custom-css .main-search-calendar-wrap .days li.selected,
.custom-css .main-search-calendar-wrap .days li:hover:not(.day-disabled),
.custom-css .single-listing-booking-calendar-js .days li.selected,
.custom-css .single-listing-booking-calendar-js .days li:hover:not(.day-disabled) {
    background-color: var(--color-navy) !important;
    color: #fff;
    border-radius: 8px;
}

div#overlay-search-advanced-module button,
div#overlay-search-advanced-module input {
    border-radius: 41px;
}



div#overlay-search-advanced-module .search-destination input {
    padding-left: 18px !important;
}

@media (max-width: 767px) {
    .custom-css .hori-daily.search-wrap.search-banner.search-banner-desktop {
        display: none;
    }
}

.custom-css .hori-daily.search-wrap.search-banner.search-banner-desktop .search-button {
    display: inline;
}

.custom-css .hori-daily.search-wrap.search-banner.search-banner-desktop .search-button button {
    border-radius: 45px;
    border: 0;
    background-color: var(--color-grey);
    height: 50px;
    width: 50px;
    padding: 0;
    align-items: center;
    justify-content: center;
    display: flex;
}


.custom-css .hori-daily.search-wrap.search-banner.search-banner-desktop .search-button button:hover {
    background-color: var(--color-navy);
}

.custom-css .hori-daily.search-wrap.search-banner.search-banner-desktop .search-button button:hover svg {
    stroke: white;
}

.custom-css .hori-daily.search-wrap.search-banner.search-banner-desktop .search-button button:focus svg {
    stroke: white;
    filter: brightness(1) !important;

}

.custom-css .hori-daily.search-wrap.search-banner.search-banner-desktop .search-button button:focus {
    background: var(--color-navy);
}

.searchButtonTextMb {
    display: none;
    color: var(--color-navy);
}

.btn-secondary-outlined:active,
.btn.btn-secondary-outlined:hover {
    color: white;
}

.custom-css .btn-link:focus,
.btn-link:hover {
    color: var(--color-gold);
}

.custom-css .btn-secondary-outlined:hover:active {
    background-color: var(--color-gold);
    border: 1px solid;
}

#date_pricing_main button:hover {
    background: #a28a5c;
    border: 1px solid #a28a5c;
}

@media (max-width: 991px) {
    .custom-css .hori-daily.search-wrap.search-banner.search-banner-desktop .search-button button {
        width: calc(100% - 30px);
        padding: 12px;
        margin-right: auto;
        margin-left: auto;
        margin-bottom: 6px;
    }

    .custom-css .hori-daily.search-wrap.search-banner.search-banner-desktop .search-button button:hover .searchButtonTextMb {
        color: white;
    }

    .custom-css .hori-daily.search-wrap.search-banner.search-banner-desktop .search-button svg {
        display: none;
    }

    .searchButtonTextMb {
        display: block;
    }

}

@media (min-width: 992px) {

    .custom-css .hori-daily.search-wrap.search-banner.search-banner-desktop .search-button {
        display: table-cell;
        width: 50px;
        padding-right: 3px;
    }

}

.custom-css .search-banner .open>.btn-default.dropdown-toggle {
    background-color: transparent !important;
}


.custom-css .search-banner .bootstrap-select>.dropdown-toggle.bs-placeholder:active,
.custom-css .search-banner .bootstrap-select>.dropdown-toggle.bs-placeholder:focus,
.custom-css .search-banner .bootstrap-select .btn:hover,
.custom-css .search-banner .bootstrap-select .btn {
    background-color: transparent !important;
}

.custom-css .resortfield .btn {
    padding: 0px 23px 0px 50px;
}

/* =====================
   Fallback Layout (Before Slick Initializes)
===================== */
.listing-slider-variable-width-v2:not(.slick-initialized) {
    display: flex;
    flex-wrap: nowrap;
    overflow: hidden;
    border-radius: 0 0 60px 60px;
}

/* Show only first 3 images before Slick kicks in */
.listing-slider-variable-width-v2:not(.slick-initialized)>div {
    display: none;
    width: 33.3333%;
    flex: 0 0 33.3333%;
}

.slick-slide {
    margin: 0 0px 0 0;
}

.listing-slider-variable-width-v2:not(.slick-initialized)>div:nth-child(-n+3) {
    display: block;
}

/* Make fallback images consistent */
.listing-slider-variable-width-v2:not(.slick-initialized) .image-wrapper img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    display: block;

}



/* =====================
   Image Wrapper (Consistent Height + Crop)
===================== */
.image-wrapper {
    aspect-ratio: 16 / 9;
    width: 100%;
    overflow: hidden;
    display: block;
}

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

/* =====================
   Slick-Initialized Layout
===================== */
.listing-slider-variable-width-v2 {
    border-radius: 0 0 60px 60px;
    overflow: hidden;
}

.listing-slider-variable-width-v2 .slick-list {
    border-radius: inherit;
    overflow: hidden;
}

.listing-slider-variable-width-v2 .slick-slide {
    display: flex !important;
    align-items: center;
    justify-content: center;
}

.listing-slider-variable-width-v2 .slick-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}


/* =====================
   Fallback Layout by Breakpoint
===================== */

/* Desktop fallback: Show 3 images (default >1024px) */
.listing-slider-variable-width-v2:not(.slick-initialized) {
    display: flex;
    flex-wrap: nowrap;
    overflow: hidden;
    border-radius: 0 0 60px 60px;
}

.listing-slider-variable-width-v2:not(.slick-initialized)>div {
    display: none;
    width: 33.3333%;
    flex: 0 0 33.3333%;
}

.listing-slider-variable-width-v2:not(.slick-initialized)>div:nth-child(-n+3) {
    display: block;
}

/* Tablet fallback: Show 2 images */
@media screen and (max-width: 1024px) and (min-width: 768px) {
    .listing-slider-variable-width-v2:not(.slick-initialized)>div {
        display: none;
        width: 50%;
        flex: 0 0 50%;
    }

    .listing-slider-variable-width-v2:not(.slick-initialized)>div:nth-child(-n+2) {
        display: block;
    }
}

/* Mobile fallback: Show 1 image */
@media screen and (max-width: 767px) {
    .listing-slider-variable-width-v2:not(.slick-initialized) {
        display: flex;
        flex-wrap: nowrap;
    }

    .listing-slider-variable-width-v2:not(.slick-initialized)>div {
        display: none;
        width: 100%;
        flex: 0 0 100%;
    }

    .listing-slider-variable-width-v2:not(.slick-initialized)>div:nth-child(1) {
        display: block;
        margin-right: 0;
    }

    .listing-slider-variable-width-v2:not(.slick-initialized) .image-wrapper img {
        height: 100%;
        width: 100%;
        object-fit: cover;
        display: block;
    }
}

/* =====================
   Extra Layout Styling
===================== */
.fancybox-active.compensate-for-scrollbar {
    margin-right: 0px;
    overflow: auto;
}

.detail-property-page-header-area {
    position: relative;
    width: 100%;
}

.top-gallery-section {
    width: 100%;
}

/* Border radius fallback & safety */
.custom-css .listing-slider-variable-width-v2 .slick-list,
.custom-css .listing-slider-variable-width-v2:not(.slick-initialized):not(.slick-slider) {
    border-radius: 0 0 60px 60px;
    overflow: hidden;
}

.image-grab {
    cursor: grab;
}

.image-grab:active {
    cursor: grabbing;
}

/* ON SLICK INITIALIZATION OVERRIDE */
.listing-slider-variable-width-v2 {
    opacity: 0;
    visibility: hidden;
}

.listing-slider-variable-width-v2.slick-initialized {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.01s ease-in;
}


.detail-property-page-header-area .slick-prev:active,
.detail-property-page-header-area .slick-next:active,
.detail-property-page-header-area .slick-prev:focus,
.detail-property-page-header-area .slick-next:focus {
    background-color: #001f47 !important;
}


#filter-budget-visible-input::placeholder,
#mobile-filter-budget-visible-input::placeholder {
    color: #4f5962;
    opacity: 1;
    /* Ensures full color visibility */
}



/* For Safari */
#filter-budget-visible-input::-webkit-input-placeholder,
#mobile-filter-budget-visible-input::-webkit-input-placeholder {
    color: #4f5962;
}

/* For Firefox */
#filter-budget-visible-input::-moz-placeholder,
#mobile-filter-budget-visible-input::-moz-placeholder {
    color: #4f5962;
}

/* For IE */
#filter-budget-visible-input:-ms-input-placeholder,
#mobile-filter-budget-visible-input:-ms-input-placeholder {
    color: #4f5962;
}

/* For Edge */
#filter-budget-visible-input::-ms-input-placeholder,
#mobile-filter-budget-visible-input::-ms-input-placeholder {
    color: #4f5962;
}

#search_submit_button {
    margin-bottom: 30px;
}

.overlay-search-module {
    padding-bottom: 50px
}

#overlay-search-advanced-module .search-reset-btn {
    margin-bottom: 14px;
}

.banner-title,
.banner-subtitle {
    color: #fff;
}

.header-mobile-wrap {
    padding: 10px 0px;
}

.mobile-logo img {
    margin-bottom: 2px;
}

@media (min-width: 768px) {

    .custom-css .header-mobile .container,
    .custom-css .header-mobile-wrap .container {
        width: auto;
    }

    .search-banner-mobile {
        display: none;
    }
}

@media (max-width: 991px) {

    .custom-css .mobile-nav-wrap,
    .custom-css .user-nav-wrap {
        width: calc(100%);
        left: 0;
        right: 0;
    }

    .custom-css .header-mobile .container,
    .custom-css .header-mobile-wrap .container {
        width: auto;
    }
}

@media (max-width: 480px) {
    .custom-css .search-calendar {
        width: 100%;
        height: 100dvh;
        /* Use dynamic viewport units for modern browsers */
        position: fixed;
        top: 0;
        left: 0;
        margin-top: 0;
        padding: 20px;
        overflow-y: auto;
        -webkit-transform: none;
        -ms-transform: none;
        transform: none;
        z-index: 9999;

        /* Optional: bring above overlays */
    }

    /* Optional fallback for older iOS */
    .custom-css .search-calendar::before {
        content: '';
        display: block;
        height: 100vh;
        visibility: hidden;
    }
}

.custom-css .top-banner-wrap {
    height: 100%;
}

@media (max-width: 480px) {
    .main-search-calendar-wrap {
        width: 100%;
    }
}



@media (max-width: 768px) {
    .search-banner .search-date-range input.form-control.on-focus {
        padding-bottom: 20px !important;
    }

    .detail-property-page .container {
        width: 100%;
        max-width: 1350px;
    }

}

#homey-halfmap {
    z-index: 3;
}


.custom-css .banner-title {
    text-align: left;
    font-size: clamp(32px, 4vw, 70px);
    max-width: 1190px;
    line-height: 1.15;
    font-weight: 500;
    margin-bottom: 100px;
}

.container-search-banner {
    max-width: 1350px;
    margin-left: auto;
    margin-right: auto;
}

.container-custom {
    max-width: 1350px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 40px;
    padding-right: 40px;
    position: relative;
}

.custom-css .banner-title .font-ital {
    font-size: clamp(42px, 5.3vw, 90px);
    display: inline;
}


@media (max-height: 850px) {
    .custom-css .banner-title {
        margin-bottom: 60px;
        font-size: clamp(32px, 3.6vw, 70px);

    }

    .custom-css .banner-title .font-ital {
        font-size: clamp(42px, 4.7vw, 90px);
    }
}



@media (min-width: 1350px) {
    .container {
        width: 1350px;
    }
}










/* New Code */



/* homepage banner and header */


.splash-static-background::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.2);
    z-index: 2;
}

@media (max-width: 767px) {
    .splash-static-background {
        background-image: url('/wp-content/uploads/2025/04/hero-image-x2200-1.png');
    }


}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.hori-daily {
    animation: fadeInUp 0.4s ease-out both;
}

#arrow-down {
    animation: fadeInUp 0.4s ease-out both;

}

@media (max-height: 700px) {
    .splash-static-background {
        height: 100svh;
        height: calc(100vh - 8rem);
    }
}

@media (min-height: 701px) {
    .splash-static-background {
        height: calc(100vh - 8rem) !important;
    }
}

.splash-static-background {
    max-width: 2100px;
    margin-left: auto;
    margin-right: auto;
    border-bottom-left-radius: 37px;
    border-bottom-right-radius: 37px;
    width: 100vw;
}

@media (max-height: 500px) {
    .custom-css .banner-title {
        display: none;
    }

    .search-banner-desktop {
        margin-bottom: 70px;
    }
}

@media (min-width: 1500px) and (min-height: 701px) {
    .splash-static-background {
        height: calc(100vh - 8rem) !important;
    }
}

@media (max-width: 767px) {
    section.top-banner-wrap.block-custom {
        margin: 0 0px;
    }
}

@media (min-width: 1500px) {
    .splash-static-background {
        width: calc(100vw - 8rem) !important;
        max-width: 2100px;
        margin-left: auto;
        margin-right: auto;
        border-bottom-left-radius: 37px;
        border-bottom-right-radius: 37px;
    }

    .custom-css .modal-dialog {
        margin: 0 auto;
        transform: translateY(10vh) !important;
    }
}





.splash-static-background::after {
    border-bottom-left-radius: 37px;
    border-bottom-right-radius: 37px;
}


.container-fluid {
    max-width: 2100px;
}


.search-banner-desktop {
    background-color: #d9d9d94f;
    border-radius: 40px;
    max-width: 1235px;
    margin-left: auto;
    margin-right: auto;
    height: 60px;
    padding: 25px;
    z-index: 7;
    position: relative;
}



.custom-css .resortfield,
.custom-css .resortfield button {
    background-color: transparent;
    border: 0;
}

.custom-css .resortfield:hover,
.custom-css .resortfield:hover button {
    background-color: transparent;
}

.custom-css .hori-daily.search-wrap.search-banner.search-banner-desktop.search-banner-desktop .filter-option,
.custom-css .hori-daily.search-wrap.search-banner.search-banner-desktop.search-banner-desktop .animated-label {
    color: white;
}


.custom-css .hori-daily.search-wrap.search-banner.search-banner-desktop input {
    background-color: transparent;
    border: 0;
    color: white;
    padding-bottom: 22px;
}

.custom-css .hori-daily.search-wrap.search-banner.search-banner-desktop input:active,
.custom-css .hori-daily.search-wrap.search-banner.search-banner-desktop input:focus {
    color: #fff;
}

.custom-css .hori-daily.search-wrap.search-banner.search-banner-desktop .form-control:not(.on-focus)::placeholder {
    color: white;
    opacity: 1;
}

/* Chrome, Safari, Edge */
.custom-css .hori-daily.search-wrap.search-banner.search-banner-desktop .form-control:not(.on-focus)::-webkit-input-placeholder {
    color: white;
    opacity: 1;
}

/* Firefox 19+ */
.custom-css .hori-daily.search-wrap.search-banner.search-banner-desktop .form-control:not(.on-focus)::-moz-placeholder {
    color: white;
    opacity: 1;
}

/* Firefox 4 - 18 */
.custom-css .hori-daily.search-wrap.search-banner.search-banner-desktop .form-control:not(.on-focus):-moz-placeholder {
    color: white;
    opacity: 1;
}

/* Internet Explorer 10-11 */
.custom-css .hori-daily.search-wrap.search-banner.search-banner-desktop .form-control:not(.on-focus):-ms-input-placeholder {
    color: white;
    opacity: 1;
}

select.resortfield.selectpicker {
    color: white;
}

.custom-css .search-wrapper {
    padding: 20px 20px;
    background-color: white;
    border-bottom: 2px solid white;
    box-shadow: inset 0 13px 16px -20px rgba(0, 0, 0, 0.25);
}

.custom-css .search-wrapper .search-banner-desktop {
    background-color: #ffffff;
}

@media (max-width: 991px) {
    .search-wrapper {
        display: none;
    }
}

.custom-css .search-wrapper .search-banner-desktop {
    margin: 0px auto;
    border: 1px solid black;
}

.custom-css .search-wrapper .hori-daily.search-wrap.search-banner.search-banner-desktop .search-button button {
    border: 1px solid black;
}

.custom-css .search-button button:hover svg {
    stroke: #ffffff !important;
    filter: brightness(1) !important;
}

.custom-css .search-wrapper .hori-daily.search-wrap.search-banner.search-banner-desktop input,
.custom-css .search-wrapper .animated-label {
    color: black !important;
}

.custom-css .search-wrapper .search-banner-desktop .search-calendar,
.custom-css .search-wrapper .search-banner-desktop .search-guests-wrap,
.custom-css .search-wrapper .search-banner-desktop #budget-slider-container {
    top: 100%;
    bottom: unset;
}

.banner-caption {
    width: 100vw;
    width: 100%;
    padding: 0px 84px;
    -webkit-transform: translate(50%, -14%);
    -ms-transform: translate(50%, -14%);
    transform: translate(50%, -14%);
    bottom: 0;
    top: unset;
    z-index: 8;
}



.banner-caption::after {
    content: "";
    display: block;
    height: 95px;
    width: 100%;
    position: relative;
}

.svg-arrow {
    position: absolute;
    left: 50%;
    bottom: 56px;
    transform: translate(-50%);
    width: 48px;
    height: 48px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='60' height='60' viewBox='0 0 60 60' fill='none'><circle cx='30' cy='30' r='28' stroke='white' stroke-width='2'/><line x1='30' y1='12' x2='30' y2='42' stroke='white' stroke-width='2'/><polyline points='20,34 30,44 40,34' fill='none' stroke='white' stroke-width='2'/></svg>");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    z-index: 10;
    cursor: pointer;
}

.svg-arrow:hover {
    transform: translateX(-50%) scale(1.05);
}

@media (min-width: 768px) and (max-width: 991px) and (max-height: 840px) {
    .svg-arrow {
        display: none;
    }
}

#arrow-down svg {
    transition: stroke 0.3s ease;
}

#arrow-down:hover svg circle,
#arrow-down:hover svg line,
#arrow-down:hover svg polyline {
    stroke: var(--color-gold);
}



.break-on-large {
    display: inline;
}

@media (min-width: 601px) {
    .break-on-large {
        display: block;
    }
}

.custom-css .dropdown-menu.open {
    border-radius: 14px;
}

.bootstrap-select .dropdown-menu.inner {
    max-height: 250px !important;
    overflow-y: auto;
}

.search-date-range-arrive:after,
.search-date-range-depart:after,
.search-guests-js:after,
.search-banner .search-budget-range:after {
    content: block !important;
   
    display: block !important;
}

.custom-css .search-banner-desktop .search-destination-js img {
    width: 26px;
    height: auto;
    top: 20px;
    left: 46px;
    font-size: 18px;
    line-height: initial;
    position: absolute;
}

.custom-css #overlay-search-advanced-module .search-destination-js img {
    width: 26px;
    height: auto;
    top: 20px;
    left: 14px;
    font-size: 18px;
    line-height: initial;
    position: absolute;
}

.custom-css #overlay-search-advanced-module .search-destination,
.custom-css #overlay-search-advanced-module .search-date-range,
.custom-css #overlay-search-advanced-module .search-guests {
    margin-bottom: 10px;
}

@media (max-width: 991px) {
    .custom-css .search-destination-js img {
        left: 14px !important;
    }

    .banner-caption {
        top: 43%;
        padding: 0px 35px;
        transform: translate(50%, -15%);
    }

    .custom-css .banner-title {
        margin-bottom: 40px;
    }
}

@media (min-width: 767px) and (max-width: 991px) {
    .banner-caption {
        transform: translate(50%, -30%);
    }
}

@media (max-width: 767px) {
    .custom-css .search-destination {
        display: none;
    }

    .custom-css .search-banner-mobile .search-destination {
        display: block;
    }

    .custom-css .search-banner-mobile {
        display: block;
        height: 70px;
    }

    .search-wrap.search-banner.search-banner-mobile.mobile-search-js input {
        background-color: #d9d9d94f;
        border-radius: 32px;
    }
}

.search-wrap.search-banner.search-banner-mobile.mobile-search-js input::placeholder {
    color: white;
    opacity: 1;
    /* Ensures full visibility */
}

/* WebKit browsers (Chrome, Safari, Edge Chromium) */
.search-wrap.search-banner.search-banner-mobile.mobile-search-js input::-webkit-input-placeholder {
    color: white;
}

/* Mozilla Firefox 19+ */
.search-wrap.search-banner.search-banner-mobile.mobile-search-js input::-moz-placeholder {
    color: white;
}

/* Mozilla Firefox 4 to 18 */
.search-wrap.search-banner.search-banner-mobile.mobile-search-js input:-moz-placeholder {
    color: white;
}

/* Internet Explorer 10-11 */
.search-wrap.search-banner.search-banner-mobile.mobile-search-js input:-ms-input-placeholder {
    color: white;
}

.search-wrap.search-banner.search-banner-mobile.mobile-search-js .search-destination::after {
    content: "";
    display: inline-block;
    width: 21px;
    height: 18px;
    background-image: url("/wp-content/uploads/2025/04/resorts-icon.png");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    vertical-align: middle;
}

.search-date-range-arrive svg {
    display: none !important;
    width: 26px;
    height: auto;
    top: 16px;
    left: 13px;
    font-size: 18px;
    line-height: initial;
    position: absolute;
}

@media (min-width: 992px) {
    .custom-css .search-banner .search-destination {
        padding: 0px 0px 0px 35px;
    }
}

@media (min-width: 992px) {
    .custom-css #overlay-search-advanced-module .search-banner .search-destination {
        padding: 0px 0px 0px 0px;
    }
}


.custom-css .search-guests svg,
.custom-css .search-guests img {
    display: none !important;
    width: 26px;
    height: auto;
    top: 17px;
    left: 13px;
    font-size: 18px;
    line-height: initial;
    position: absolute;
}



.custom-css .search-budget-range svg,
.custom-css .search-budget-range img {
    display: none !important;
    width: 25px;
    height: auto;
    top: 17px;
    left: 13px;
    font-size: 18px;
    line-height: initial;
    position: absolute;
}

.custom-css .hori-daily.search-wrap.search-banner.search-banner-desktop .resortfield input {
    color: black;
    border: 1px solid var(--color-grey);
    border-radius: 7px;
}

.lazy-bg {
    opacity: 0;
    transition: opacity 0.3s ease;
}

.lazy-bg.lazy-bg-loaded {
    opacity: 1;
}


.transparent-header .last-menu-item:hover {
    background-color: transparent;
    box-shadow: inset 0 0 0 1px white;
}

.last-menu-item:hover {
    background-color: transparent;
    box-shadow: inset 0 0 0 1px var(--color-navy);
    outline: none !important;
}

.last-menu-item:hover a {
    color: var(--color-navy);
}

.transparent-header .last-menu-item:hover a {
    color: white !important;
}

.transparent-header .last-menu-item {
    background-color: white;

}

.last-menu-item {
    background-color: var(--color-navy);
    border-radius: 40px;
}

/* Menu Containers */

/* Menu Lists */



/* === SUBMENU STYLES === */

.search-action {
    align-content: center;
    margin-top: 6px;
}

.home .search-action svg {
    stroke: white;
}

.search-action svg {
    stroke: #001f47;
}

.search-action.search-action-mobile {
    display: block;
    float: right;
    margin-top: 13px;
    margin-right: 11px;
}

@media (min-width: 641px) and (max-width: 1024px) {
    .custom-css .search-wrapper {
        margin: 0px -30px;
    }
}

.custom-css .search-wrapper input::placeholder {
    color: black !important;
    opacity: 1 !important;
}

.custom-css .search-wrapper input::-webkit-input-placeholder {
    color: black !important;
}

.custom-css .search-wrapper input::-moz-placeholder {
    color: black !important;
}

.custom-css .search-wrapper input:-moz-placeholder {
    color: black !important;
}

.custom-css .search-wrapper input:-ms-input-placeholder {
    color: black !important;
}

.custom-css .search-wrapper .hori-daily.search-wrap.search-banner.search-banner-desktop.search-banner-desktop .filter-option {
    color: black !important;
}

.custom-css .search-wrapper img,
.custom-css .search-wrapper svg {
    filter: brightness(0) !important;
}

/* === LOGO CENTERED === */


/* === WIDGET === */
.header-widget {
    font-size: 13px;
    font-weight: 500;
    color: var(--color-navy);
    white-space: nowrap;
    flex-shrink: 0;
    align-content: center;
}

@media (max-width: 1350px) {
    .header-widget {
        font-size: 13px;
        width: 145px;
        justify-content: center;
    }
}

@media (max-width: 1200px) {
    .header-widget {
        font-size: 12px;
        width: 140px;
    }
}

.transparent-header .header-widget {
    color: #fff;
}

/* === RESPONSIVE STYLES === */




.custom-css .search-banner-desktop .search-calendar,
.custom-css .search-banner-desktop .search-guests-wrap,
.custom-css .search-banner-desktop #budget-slider-container {
    bottom: 100%;
    top: unset;
    border-radius: 14px;
}

/* Resorts homepage section */

h1 {
    font-size: 65px;
}

.footer-left h1 {
    font-size: 60px;
}

h2 {
    font-size: 36px;
}

h5 {
    font-size: 16px;
}

/* Laptop screens (≤ 1199px) */
@media (max-width: 1199px) {
    h1 {
        font-size: 52px;
    }

    h2 {
        font-size: 32px;
    }

    .footer-left h1 {
        font-size: 48px;
    }

}

/* Tablet screens (≤ 991px) */
@media (max-width: 991px) {
    h1 {
        font-size: 40px;
    }

    h2 {
        font-size: 28px;
    }

    .footer-left h1 {
        font-size: 36px;
    }
}

/* Small tablet / large mobile screens (≤ 767px) */
@media (max-width: 767px) {
    h1 {
        font-size: 36px;
    }

    h2 {
        font-size: 26px;
    }

    .footer-left h1 {
        font-size: 30px;
    }

}

/* Mobile phones (≤ 575px) */
@media (max-width: 575px) {
    h1 {
        font-size: 32px;
    }

    h2 {
        font-size: 24px;
    }

    .footer-left .font-ital-peak {
        font-size: 26px;
    }

}

.custom-css .sectiontitlecustom {
    color: black;
    /* margin: 0px -10px 20px -10px; */
    margin-left: auto;
    margin-right: auto;
}



.sectiontitlecustom h1 {
    margin-bottom: 0px;
    color: black;
    line-height: normal;
}

.sectiontitlecustom:after {
    content: '';
    display: block;
    border-bottom: 2px solid black;
    max-width: 1350px;
    margin: 0 auto;
    height: 17px;
    width: 100%;
}

.sectiontitlecustom h5 {
    font-size: 18px;
    color: black;
    line-height: 1.4;
    margin-bottom: 0px;
    font-family: 'Cormorant', serif;
    font-weight: 400;
    /* or 600, or 800 */
    font-style: normal;
}

.footer-left .font-ital-peak {
    font-size: 77px;
}

.font-ital-peak {
    font-size: 83px;
}

/* Laptop screens (≤ 1199px) */
@media (max-width: 1199px) {
    .font-ital-peak {
        font-size: 70px;
    }

    .footer-left .font-ital-peak {
        font-size: 70px;
    }
}

/* Tablet screens (≤ 991px) */
@media (max-width: 991px) {
    .font-ital-peak {
        font-size: 54px;
    }

    .footer-left .font-ital-peak {
        font-size: 50px;
    }
}

/* Small tablet / large mobile screens (≤ 767px) */
@media (max-width: 767px) {
    .font-ital-peak {
        font-size: 48px;
    }

    .footer-left .font-ital-peak {
        font-size: 48px;
    }

    .footer-left .font-ital-peak {
        font-size: 39px;
    }

    .sectiontitlecustom {

        padding: 0 20px !important;
    }

    .sectiontitlecustom h1 {
        margin-bottom: 14px;
    }

    .sectiontitlecustom h5 {
        margin-bottom: 14px;
    }
}

/* Mobile phones (≤ 575px) */
@media (max-width: 575px) {
    .font-ital-peak {
        font-size: 42px;
    }
}


.sectiontitlecustom h4 {
    font-size: 13px;
    font-weight: normal;
    margin-bottom: 0px;
    color: black;
}

.sectiontitlecustom {
    border-bottom: 2px solid #000;
    max-width: 1350px;
    padding: 0px 20px !important
}

#resortshomedisplay .taxonomy-card,
#listingtypehomedisplay .taxonomy-card {
    border-radius: 60px;
}

#resortshomedisplay .button,
#listingtypehomedisplay .button {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 12px 24px;
    font-weight: 600;
    border-radius: 50px;
    margin-bottom: 50px;
}

.btn-secondary:active:hover {
    background-color: var(--color-gold);
}

#resortshomedisplay .btn-wrapper .btn-ternary,
#listingtypehomedisplay .btn-wrapper .btn-ternary {
    outline: 1px solid black;
    border-radius: 30px;
}

#resortshomedisplay .btn-wrapper .btn-ternary:focus,
#listingtypehomedisplay .btn-wrapper .btn-ternary:focus,
#resortshomedisplay .btn-wrapper .btn-ternary:hover,
#listingtypehomedisplay .btn-wrapper .btn-ternary:hover,
#resortshomedisplay .btn-wrapper .btn-ternary:active,
#listingtypehomedisplay .btn-wrapper .btn-ternary:active {
    outline: 1px solid transparent;
    background-color: #001f47;
    color: white;
}

#resortshomedisplay {
    padding: 0px 0px !important;
}

#listingtypehomedisplay {
    padding: 0px 0px !important;
}

@media (max-width:1024px) {
    #listingtypehomedisplay {
        padding: 0 0px !important
    }
}

@media (max-width:767px) {
    #listingtypehomedisplay {
        padding: 0 0px !important
    }
}

#resortshomedisplay a.taxonomy-link,
#listingtypehomedisplay a.taxonomy-link {
    max-height: 300px;
}

#resortshomedisplay .taxonomy-link.hover-effect:before,
#listingtypehomedisplay .taxonomy-link.hover-effect:before {
    opacity: 0;
}



#resortshomedisplay .taxonomy-title,
#listingtypehomedisplay .taxonomy-title {
    font-size: 18px;
    margin-bottom: 20px;
    font-weight: bold;
}

#resortshomedisplay .taxonomy-title .font-ital {
    font-size: 22px;
    margin-left: 6px;
}

/* Divider line after every 3 tiles */
.resort-divider {
    width: 100%;
    height: 2px;
    background-color: #000;
    margin: 0px 0px 35px;
    display: flex;
}

.resort-divider-wrapper {
    margin: 0 -15px;
    padding: 0 30px;
}

#resortshomedisplay .button:hover,
#listingtypehomedisplay .button:hover {
    color: white;
}



/* Hide divider on mobile */
@media (max-width: 991px) {
    .resort-divider {
        display: none;
    }
}

/* footer with why book with us */
.footer-custom {
    margin-top: 0;
    background-color: #103b58;
}

/* Why Book With Us Section */
.why-book-with-us {
    position: relative;
    background-size: cover;
    background-position: center;
    padding: 250px 0 140px;
    color: white;
    text-align: center;
    border-bottom-left-radius: 60px;
    border-bottom-right-radius: 60px;
}

.why-book-with-us-container {
    background-color: #103b58;
}

.why-book-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    backdrop-filter: brightness(0.85) contrast(1.2);
    background: rgba(0, 0, 0, 0.2);
    z-index: 1;
    border-bottom-left-radius: 60px;
    border-bottom-right-radius: 60px;
}

.why-book-content {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    grid-template-rows: auto auto;
    gap: 60px 40px;
    align-items: center;
    justify-items: center;
    position: relative;
    z-index: 2;
}

/* Place the items properly in the grid */
.item-1 {
    grid-column: 1;
    grid-row: 1;
    text-align: right;
    align-items: flex-end;
}

.item-2 {
    grid-column: 3;
    grid-row: 1;
    text-align: left;
    align-items: flex-start;
}

.item-3 {
    grid-column: 1;
    grid-row: 2;
    text-align: right;
    align-items: flex-end;
}

.item-4 {
    grid-column: 3;
    grid-row: 2;
    text-align: left;
    align-items: flex-start;
}

.why-book-center-icon {
    grid-column: 2;
    grid-row: 1 / span 2;
    /* Span both rows vertically */
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* Center the icon nicely */
.why-book-center-icon img {
    max-width: 275px;
}

/* Mobile stacking */
@media (max-width: 767px) {
    .why-book-content {
        display: flex;
        flex-direction: column;
        gap: 30px !important;
    }

    .why-book-item,
    .why-book-center-icon {
        width: 100%;
        text-align: center;
        align-items: center;
    }

    .why-book-with-us {
        padding: 180px 0 100px;
    }

}

.why-book-side {
    display: flex;
    flex-direction: column;
    gap: 190px;
}

.why-book-item {
    text-align: center;
    display: flex;
}

.why-book-item h2 {
    font-size: 48px;
    font-weight: bold;
    margin-bottom: 10px;
}

.why-book-item h4 {
    font-size: 20px;
    margin-bottom: 10px;
}

.why-book-item p {
    font-size: 14px;
    line-height: 1.5;
}

.why-book-center-icon {
    text-align: center;
}

.why-book-center-icon img {
    max-width: 275px;
}

/* Footer bottom section */
.footer-bottom-section {
    padding: 60px 0 80px;
    color: white;
    padding-left: 40px;
    padding-right: 40px;
    z-index: 2;
}

.footer-left h1 {
    line-height: 1.3;
    transform: scale(0.8);
    transform-origin: left;
}



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

.footer-links {
    text-align: right;
}

.footer-menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

.footer-menu li {
    display: inline-block;
    margin-left: 20px;
}

.footer-menu li a {
    color: white;
    font-size: 14px;
    text-decoration: none;
}

.footer-menu li a:hover {
    text-decoration: underline;
}

/* Responsive */
@media (max-width: 767px) {
    .why-book-content {
        flex-direction: column;
        gap: 40px;
    }

    .footer-bottom-content {
        flex-direction: column;
        text-align: center;
    }

    .footer-links {
        margin-top: 20px;
    }
}

.why-book-item .text-wrap {
    text-align: left;
    padding-left: 8px;
    max-width: 300px;
}

.why-book-number {
    font-size: 100px;
}

.footer-menu li a {
    font-size: 30px;
}

/* Laptop screens (≤ 1199px) */
@media (max-width: 1199px) {
    .why-book-number {
        font-size: 88px;
    }

    .why-book-content {
        gap: 60px 0px;
    }
}

/* Tablet screens (≤ 991px) */
@media (max-width: 991px) {
    .why-book-number {
        font-size: 70px;
    }
}

/* Small tablet / large mobile screens (≤ 767px) */
@media (max-width: 767px) {
    .why-book-number {
        font-size: 54px;
    }

    .why-book-side {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        gap: 60px;

    }

    .why-book-item {
        flex: 1 1 100%;
        justify-content: center;
        margin-bottom: 30px;
    }

    .footer-menu li a {
        font-size: 26px;
    }
}

/* Mobile phones (≤ 575px) */
@media (max-width: 575px) {
    .why-book-number {
        font-size: 42px;
    }

    .why-book-content {
        flex-wrap: wrap;
    }

    .footer-menu li a {
        font-size: 20px;
    }

}

.why-book-number {
    margin-bottom: 0px;
    line-height: 0.6;
}

.why-book-title {
    position: absolute;
    top: 75px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    text-align: center;
    width: 100%;
    padding: 0 20px;
}

/* footer */
.footer-bottom-split {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid white;
    /* White line between the two sides */
    padding: 40px 0;
    position: relative;
}

.footer-left {
    flex: 1;
    text-align: left;
    color: white;
}

.footer-left h2 {
    font-size: 36px;
    font-weight: 400;
    margin: 0;
    line-height: 1.3;
}

.footer-left h2 span {
    font-style: italic;
    font-family: 'Your Serif Font', serif;
    /* If you use a different font for italic */
}

.footer-divider {
    width: 1px;
    background-color: white;
    margin: 0 40px;
    height: auto;
    align-self: stretch;
}

.footer-right {
    flex: 1;
    text-align: left;
}

.footer-menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

.footer-menu li {
    display: flex;
    margin-left: 20px;
    line-height: 1.6;
}

.footer-menu li a {
    color: white;
    text-decoration: none;
}

.footer-menu li a:hover {
    text-decoration: underline;
}

/* Arrow underneath the divider */
.footer-bottom-arrow {
    margin-top: 50px;
    text-align: center;
}


/* Responsive */
@media (max-width: 991px) {
    .footer-bottom-split {
        flex-direction: column;
        text-align: center;
    }

    .footer-divider {
        display: none;
    }

    .footer-left,
    .footer-right {
        flex: 1 1 100%;
    }

    .footer-right {
        text-align: center;
    }

    .footer-menu li {
        margin-left: 0;
        justify-content: center;
    }

    .footer-left h1 {
        text-align: center;
        transform-origin: center;
    }
}

.svg-arrow-up {
    position: absolute;
    left: 50%;
    transform: translate(-50%);
    width: 35px;
    height: 35px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='60' height='60' viewBox='0 0 60 60' fill='none'><circle cx='30' cy='30' r='28' stroke='white' stroke-width='2'/><line x1='30' y1='18' x2='30' y2='48' stroke='white' stroke-width='2'/><polyline points='20,26 30,16 40,26' fill='none' stroke='white' stroke-width='2'/></svg>");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    cursor: pointer;
}


.footer-contact-info {
    font-size: 14px;
    color: white;
    text-align: center;
    margin-left: 20px;
    margin-top: 24px;

}


#blog-homepage {
    max-height: 950px;
}


.footer-contact-info p {
    margin: 5px 0;
}

.footer-contact-info a {
    color: white;
    text-decoration: underline;
}

.footer-contact-info a:hover {
    text-decoration: none;
}

.footer-legal {
    padding: 40px 0;
    color: #ffffff;
    font-size: 13px;
    margin-top: 40px;
}

.footer-legal-split {
    display: flex;
    align-items: start;
    gap: 30px;
}


.footer-legal a {
    color: white;
    text-decoration: underline;
}

.footer-legal-left:after {
    content: '';
    display: inline;
    padding-left: 26px;
    border-right: 1px solid white;
}

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

.menu-item-socials {
    text-align: left;
    padding-top: 40px;
    margin: 0px 20px;
}

.extra-info-wrapper h2 {
    margin-bottom: 20px;
}

.mobile-socials-row {
    display: flex;
    justify-content: center;
    gap: 22px;
    margin-bottom: 15px;
}

.mobile-socials-row .social-icon {
    color: rgba(0, 0, 0, 0.5);
    font-size: 20px;
    transition: color 0.3s ease;
}

.mobile-socials-row .social-icon:hover {
    color: #000;
}

.mobile-socials-contact p {
    margin: 5px 0;
    font-size: 14px;
    color: #000;
}

.search-reset-btn {
    border-radius: 30px;
}

#half-map-search-collapse button {
    border-radius: 30px;
}

#half-map-search-collapse .filters-wrap span.filter-option.pull-left {
    padding: 0px 0px 0px 0;
}

.half-map-search-buttons i.homey-icon.homey-icon-settings-slider {
    margin-right: 0;
}

.navbar-collapse.in {
    overflow-y: none !important;
}

ul#mobile-menu {
    overflow: scroll;
    max-height: calc(100vh - 126px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.mobile-socials-contact {
    margin-top: 40px;
    margin-left: 20px;
    margin-right: 20px;
    margin-bottom: 40px;
}

.mobile-socials-contact a {
    color: #000;
    text-decoration: underline;
}

@media (max-width: 1000px) {
    .footer-legal-split {
        flex-direction: column;
        text-align: left;
        gap: 10px;
    }

    .footer-legal-left:after {
        display: none;
    }

    .footer-legal-left,
    .footer-legal-right {
        text-align: left;
        max-width: 50%;
    }

    .force-break {
        display: block;
    }
}

@media (max-width: 768px) {
    .force-break {
        display: inline;
    }

    .force-break::after {
        content: "\A";
        white-space: pre;
    }
}

.footer-contact-info {
    text-align: center;
}

.footer-legal-right {
    display: flex;
    gap: 20px;
}

@media (max-width: 991px) {
    .footer-contact-info {
        margin-top: 0px;
    }
}

@media (max-width: 640px) {
    .footer-legal-right {
        gap: 0px;
        flex-flow: column;
    }
}

.footer-custom {
    position: relative;
    overflow: hidden;
}

.brandmark-wrapper {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    max-width: 1350px;
    padding: 0 20px;
    box-sizing: border-box;
    pointer-events: none;
    z-index: 0;
}

.brandmark-footer {
    display: flex;
    justify-content: flex-end;
}

.brandmark-footer svg {
    width: 69%;
    max-width: 750px;
    height: auto;
    display: block;
    pointer-events: auto;
    margin-right: -22px;
    opacity: 0.85;
}

.loadmore,
button.btn.btn-grey-outlined.search-filter-mobile-btn {
    text-transform: uppercase !important;
}

.overlay-search-module .search-banner #search_submit_button,
button.btn.btn-grey-outlined.search-filter-mobile-btn {
    font-weight: 600;
}


/* Blog section on homepage */

.single-listing .why-book-with-us-container {
    margin-top: -120px;
}

.homey-blog-slider-block-wrapper {
    margin: 0 auto;
    background: #103b58;
    overflow: visible;
    position: relative;
    min-height: 800px;
    width: 100%;
}

.sidebar .widget {
    padding: 0px 0px 0px 20px;
}

#blog-title-custom {
    padding-top: 50px;
    padding-bottom: 40px;
    padding-left: 15px;
    padding-right: 15px;
    color: #ffffff;
    display: flex;
    align-items: start;
    justify-content: space-between;
}

.blog-title-custom-wrapper {
    background-color: #113b58;

}

@media (max-width: 1024px) {
    #blog-title-custom {
        padding-left: 30px;
        padding-right: 30px;
    }
}

@media (max-width: 767px) {
    #blog-title-custom {
        padding-left: 15px;
        padding-right: 15px;
    }
}



.homey-blog-slider-block-wrapper .slick-list {
    display: flex;
    align-items: center;
    min-height: 800px;
}

.homey-blog-slider-block-wrapper .slick-track {
    display: flex;
    align-items: center;
}

.homey-blog-slide {
    display: flex;
    align-items: center;
    height: 100%;
}

.homey-blog-slide-inner {
    display: flex;
    align-items: center;
    position: relative;
    min-height: 800px;
}



.homey-blog-slide-content {
    width: calc(50% - 30px);
    color: #fff;
    opacity: 0.9;
    display: flex;
    flex-flow: column;
}

.homey-blog-slide-content p {
    font-size: 20px;
    line-height: 1.6;
    margin: 20px 0;
}

.homey-blog-slide-title {
    font-weight: 400;
    margin-bottom: 60px;
    text-align: center;
    line-height: 1.2;
}

.homey-blog-slide-meta {
    font-size: 14px;
    margin-bottom: 15px;
}

.homey-blog-slide-button {
    display: inline-block;
    padding: 10px 20px;
    color: #fff;
    border: 1px solid #fff;
    border-radius: 30px;
    text-decoration: none;
    font-size: 14px;
    margin-top: 10px;
    align-self: center;
}

.homey-blog-slide-button:hover {
    background: var(--color-gold);
    color: white;
    transition: all 0.3s ease;
    border-color: var(--color-gold);
}

@media (min-width: 768px) {
    .homey-blog-slider-block-wrapper .slick-list {
        overflow: visible !important;
    }
}

.homey-blog-slide-image {
    position: absolute;
    top: -65px;
    right: 0;
    bottom: 0;
    width: 50vw;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    overflow: visible;
}

.homey-blog-slider-block-wrapper .homey-blog-slide-image img {
    width: 100%;
    height: calc(100% - 10rem);
    object-fit: cover;
    min-height: 700px;
    border-top-left-radius: 60px;
    border-bottom-left-radius: 60px;
}

/* Other general styling */
#blog-homepage {
    padding: 0;
}

.elementor-element {
    padding: 0px !important;
}

#blog-title-custom h5 {
    margin-bottom: 0px;
    align-self: center;
    max-width: 30%;
}

#blog-title-custom h5 .font-ital {
    font-size: 19px;
}

/* Slick arrows */
.homey-blog-slider-block-wrapper .slick-prev,
.homey-blog-slider-block-wrapper .slick-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: #fff;
    border-radius: 50%;
    border: none;
    width: 40px;
    height: 40px;
    z-index: 5;
    font-size: 20px;
    color: #d0aa5b;
}

.homey-blog-slider-block-wrapper .slick-prev,
.homey-blog-slider-block-wrapper .slick-next {
    color: #ffffff !important;
    border: 2px solid #ffffff !important;
    background-color: transparent !important;
    box-shadow: 3px 4px 10px rgba(0, 0, 0, 1) !important;
}

.homey-blog-slider-block-wrapper .slick-prev:before,
.homey-blog-slider-block-wrapper .slick-next:before {
    color: white !important;
    opacity: 1;
}

.homey-blog-slider-block-wrapper .slick-prev {
    left: unset;
    right: 80px !important;
}

.homey-blog-slider-block-wrapper .slick-next {
    right: 30px;
}

.homey-blog-slider-block-wrapper .slick-prev:hover,
.homey-blog-slider-block-wrapper .slick-next:hover {
    background: #d0aa5b;
    color: #fff;
}

/* Responsive Adjustment */
@media (max-width: 768px) {
    .homey-blog-slide-inner {
        flex-wrap: wrap;
    }

    .container-custom {
        padding-left: 20px;
        padding-right: 20px;
    }

    .homey-blog-slide-content {
        width: 100%;
        max-width: 100%;
    }

    .homey-blog-slide-image {
        position: relative;
        width: 100%;
        height: 300px;
        margin-top: 20px;
    }

    .homey-blog-slide-image img {
        min-height: 300px;
        border-radius: 0;
    }

    #blog-title-custom {
        padding: 30px 20px 30px 20px;
        flex-flow: column;
    }

    #blog-title-custom h5 {
        align-self: start;
        max-width: 50%;
        font-size: 13px;
    }

    #blog-title-custom h5 .font-ital {
        font-size: 18px;
    }

    .homey-blog-slider-block-wrapper .homey-blog-slide-image img {
        width: calc(100% - 4rem);
        min-height: 100%;
    }

    .homey-blog-slider-block-wrapper .slick-prev,
    .homey-blog-slider-block-wrapper .slick-next {
        display: block !important;
        top: 68%;
    }

    .homey-blog-slide-content p {
        font-size: 15px;
    }

    .homey-blog-slide-title {
        margin-bottom: 30px;
    }
}

.homey-blog-slide-inner .container-custom {
    max-width: 1350px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 40px;
    padding-right: 40px;
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

#mobile-menu {
    height: 100vh;

}

#mobile-menu .menu-item a {
    color: black;
}

.custom-css .mobile-nav-wrap a {
    padding: 0;
}

.mobile-nav-wrap li .expand-me {
    width: 100%;
}

.mobile-nav-wrap li {
    font-weight: 700;

}

#mobile-menu,
#mobile-menu ul,
#mobile-menu li {
    padding-left: 0 !important;
    margin-left: 0 !important;
    list-style: none;
}

#mobile-menu li>a,
#mobile-menu li>.no-link {
    display: block;
    padding: 24px 20px;
    color: black;
    font-size: 18px;
}

/* Freeze the body when menu is open */
body.mobile-menu-open {
    overflow: hidden;
    height: 100vh;
    width: 100%;
}

/* Allow scrolling in the menu container only */
.main-nav-dropdown {
    max-height: 100vh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.navbar-collapse {
    border-top: 0px solid transparent;
}

.menu-icon {
    display: inline-block;
    width: 24px;
    height: 18px;
    position: relative;
    transition: transform 0.3s ease;
}

.menu-icon .bar {
    position: absolute;
    height: 2px;
    width: 100%;
    background-color: #000000;
    left: 0;
    transition: all 0.3s ease;
    border-radius: 2px;
}

.transparent-header .menu-icon .bar {
    background-color: #ffffff;
}

.menu-icon .bar:nth-child(1) {
    top: 0;
}

.menu-icon .bar:nth-child(2) {
    top: 8px;
}

.menu-icon .bar:nth-child(3) {
    top: 16px;
}

/* Animate into X when menu is open */
body.mobile-menu-open .menu-icon .bar:nth-child(1) {
    transform: rotate(45deg);
    top: 8px;
}


.mobile-nav-wrap li .expand-me:before {
    color: black;
}

body.mobile-menu-open .menu-icon .bar:nth-child(2) {
    opacity: 0;
}

body.mobile-menu-open .menu-icon .bar:nth-child(3) {
    transform: rotate(-45deg);
    top: 8px;
}

.main-nav-dropdown ul.sub-menu {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
    /* consistent speed */
}

.main-nav-dropdown li.active>ul.sub-menu {
    max-height: 1000px;
    /* large enough to cover any realistic submenu height */
}




li.last-menu-item:hover a {
    outline: 0px solid white;
}

.transparent-header .main-menu>li.last-menu-item:hover>a {
    outline: none;
}



/* Main wrap - blue background like your image */
.resort-stats-wrap {
    padding: 0px 0 32px;
    width: 100%;
}

.resort-stats-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0 40px;
    align-items: end;
    max-width: 1300px;
    margin: 0 auto;
}

/* Stat block */
.resort-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    text-align: center;
    position: relative;
}

/* --- SNOWFLAKE HEADER PATTERN --- */
.resort-stat-header {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 4.5rem;
    margin-top: 0.7rem;
}

.resort-stat-line {
    display: block;
    height: 2px;
    background: rgba(255, 255, 255, 1);
    flex: 1 1 40px;
    max-width: 180px;
}

.resort-stat-flake {
    width: 55px;
    height: auto;
    margin: 0 15px;
    display: inline-block;
    vertical-align: middle;
    filter: drop-shadow(0 2px 1px rgba(16, 59, 88, 0.16));
}

.resort-stat-value {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 0.2em;
    color: #fff;
    margin-bottom: 0.25em;
    font-weight: 400;
}

.resort-stat-number {
    display: inline-block;
    color: #fff;
    font-family: 'Cormorant', serif;
    font-weight: 400;
    font-style: normal;
    font-size: clamp(10rem, 10vw + 1rem, 200px);
    margin-bottom: 55px;
}

.resort-stat-unit {
    display: inline-block;
    margin-left: 0.1em;
    color: #fff;
    vertical-align: baseline;
    letter-spacing: 0.02em;
    margin-bottom: 0px;
    font-size: clamp(2rem, 2vw + 1rem, 40px);
}

.resort-stat-label {
    color: #ffffff;
    font-family: 'Cormorant', serif;
    letter-spacing: 0.04em;
    margin-top: 6px;
    font-weight: 800;
    font-size: 1.05em;
    border-radius: 7px;
    background: #a28a5c;
    padding: 0px 10px;
}

.sort-wrap {
    border-top: 0px
}

/* Special for transfer: line up the numbers horizontally */
.resort-transfer-value {
    display: flex;
    align-items: flex-end;
    gap: 0.15em;
    justify-content: center;
}

.custom-breadcrumb-resorts {
    margin-top: 30px;
}

@media (max-width: 900px) {
    .resort-stats-grid {
        grid-template-columns: 1fr;
        gap: 32px 0;
    }
}

#resortintro {
    background: #103b58;
}

.resort-name-country {
    color: white;
    padding: 6rem 20px;
    display: flex;
    flex-flow: column;
    gap: 50px;
}

.resort-country {
    font-weight: 200;
}

.resort-title {
    display: flex;
    align-items: baseline;
    gap: 18px;
    border-bottom: 2px solid white;
    padding-bottom: 15px;
}

.resort-description {
    line-height: 1.8;
    font-size: clamp(1rem, 1vw + 1rem, 30px);
}

.listing-title {
    font-size: 30px;
    color: black;
}

.listing-page .col-xs-12>p {
    display: none;
}

.item-wrap[data-dir="listing-item"] {
    max-width: 100%;
}

.block-top-title>.container {
    display: none;
}




/* page intro */

.page-intro__title {
    display: flex;
    align-items: baseline;
    gap: 18px;
    border-bottom: 2px solid white;
    padding-bottom: 15px;
}

#section-body {
    background: white;
    padding-bottom: 100px;
}



.home #section-body,
.page-template-template-search #section-body {
    padding-bottom: 0px;
}

.gutter-x {
    padding-left: 15px !important;
    padding-right: 15px !important;
}

@media (max-width: 1024px) {
    .gutter-x {
        padding-left: 30px !important;
        padding-right: 30px !important;
    }
}

@media (max-width: 767px) {
    .gutter-x {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
}

.page-intro {
    background: #103b58;
    border-bottom-left-radius: 60px;
    border-bottom-right-radius: 60px;
    margin-bottom: 30px;
}

.page-intro-content.container {
    color: white;
    display: flex;
    padding: 6rem 15px;
    flex-flow: column;
    gap: 30px;
}

.page-intro-content.container:before,
.page-intro-content.container:after {
    display: none
}

.page-intro__description {
    line-height: 1.8;
    font-size: clamp(1rem, 1vw + 1rem, 17px);
}

.page-intro__description .font-ital,
.page-intro-content i {
    font-size: clamp(1.05rem, 1vw + 1.1rem, 22px);
    line-height: 1.2;
}

.single-page-article .article-detail.block-body {
    padding: 0px;
}


/* Listings card */

.item-media.item-media-thumb a {
    border-radius: 60px;
}

.media-body.item-body {
    text-align: center;
    padding: 16px 20px 7px;
}

.sleeps {
    color: #b6b6b6;
    padding: 10px 0px 5px;
}

.sleeps strong {
    font-weight: 600;
    letter-spacing: 1px;
    font-size: 14px;
    color: var(--color-gold);
}

.media.property-item .title a {
    text-transform: uppercase;
    font-family: Manrope, sans-serif;
    color: #000000;
    font-weight: 600;
    font-size: 17px;
    letter-spacing: 0.5px;
}

.btn.btn-primary {
    border-radius: 30px;
}

.item-address.custom-resort-country {
    display: flex;
    gap: 4px;
    justify-content: center;
    color: black;
    font-size: 16px;

}

.media.property-item .resort-country-label {
    font-weight: 200;
    font-family: 'Cormorant', sans-serif;
}



.media.property-item .hover-effect:before {
    display: none;
}

.media.property-item img {
    transform: none !important;
}

.item-wrap .media.property-item {
    border-radius: 40px;
    overflow: hidden;
    padding: 24px 20px 24px 20px;
    border: 1px solid #D9D9D9;
}

.item-wrap {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.tile-pricing {
    align-self: center;
    padding: 13px 0px 8px;
    margin-top: 12px;
    width: calc(100% - 40px);
    text-align: center;
    border-top: 1px solid #D9D9D9;
}

.media.property-item {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.widget-latest-posts .media.property-item {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.widget-latest-posts .media.property-item .media-body {
    text-align: left;
    padding: 0px 15px;
}

.widget-latest-posts .title a {
    text-transform: capitalize !important;

}

ul.item-amenities.empty {
    border: none !important;
    height: 56px;
}

.item-amenities svg {
    width: 20px;
    height: 20px;
    display: block;
    margin: 0 auto;
    vertical-align: middle;
}

.btn-primary.blk-button {
    color: #ffffff;
    background-color: var(--color-navy);
    border-color: #0a0303;
}

.btn-primary.blk-button:hover {
    background-color: #a28a5c;
    border-color: #a28a5c;
}

.btn-primary.blk-button.full-width {
    font-size: 11px;
    padding: 5px 0px;
    width: 100%;
}

.media.property-item .item-amenities {
    padding: 14px 0px;
    border-top: 1px solid #D9D9D9;
    border-bottom: 1px solid #D9D9D9;
    min-height: 56px;
}

.label-wrap.top-left {
    display: none
}

#homey_halfmap_listings_container .media.property-item .item-amenities li {
    padding-right: 7px !important;
}

.property-item .blk-button.full-width {
    margin-top: auto;
}

.tooltip-wrap {
    position: relative;
    display: inline-block;
}

.tooltip-text {
    visibility: hidden;
    opacity: 0;
    background-color: #000;
    color: #fff;
    text-align: center;
    font-size: 12px;
    padding: 4px 8px;
    border-radius: 4px;
    position: absolute;
    z-index: 10;
    bottom: 125%;
    /* above the icon */
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
    transition: opacity 0.2s ease, visibility 0.2s ease;
    pointer-events: none;
}

.tooltip-wrap:hover .tooltip-text {
    visibility: visible;
    opacity: 1;
}

li.amenity-item.amenity-ski-in-ski-out {
    transform: translateY(3px);
}

li.amenity-item.amenity-gym,
li.amenity-item.amenity-pet-friendly,
li.amenity-item.amenity-hot-tub,
li.amenity-item.amenity-steam-room,
li.amenity-item.amenity-swimming-pool,
li.amenity-item.amenity-cinema,
li.amenity-item.amenity-sauna-room {
    transform: translateY(2px);
}

.curated-board-options {
    text-align: center;
    padding-top: 6px;
    margin-bottom: 1px;
}

.curated-board-title {
    font-size: 12px;
}

.curated-board-values {
    font-family: 'Cormorant', sans-serif;
    font-size: 15px;
}

a.btn.btn-primary.btn-long:active,
a.btn.btn-primary.btn-long:hover {
    color: black;
}

.dropdown-menu.open a {
    transition: 0s;
}

.chalet-title {
    text-align: center;
}

.chalet-title-section .breadcrumb {
    text-align: center;
    margin-bottom: 30px;
}

.admin-bar #sticky-chalet-menu {
    top: 32px;
}

#pricingTypeToggle {
    margin-right: auto;
    padding: 0px 20px 0px 0px;
    display: flex;
    gap: 15px;
    margin-bottom: 20px;
}


#pricingTypeToggle button {
    background-color: unset;
    border-radius: 60px;
    color: #000000;
    font-size: 20px;
    border: 1px solid white;
}

#pricingTypeToggle button.active {
    border: 1px solid #003b5e !important;
}

.cater-currency {
    justify-content: space-between;
    place-items: start;
}

.cater-currency-inner {
    align-items: baseline;
}

.custom-currency-switcher {
    width: 180px;
    border-radius: 60px;
    margin-bottom: 40px;
    border-color: black;
    text-align: center;
    color: black;
    cursor: pointer;
}

.view-prices {
    display: none;
}

#budget-slider-container .custom-currency-switcher,
#filter-budget-slider-container .custom-currency-switcher,
#mobile-filter-budget-slider-container .custom-currency-switcher {
    margin-bottom: 0px;
    padding: 0px 16px;
    font-size: 12px;
    width: auto;
    height: 35px;
    margin-bottom: 12px;
}


/* Laptop screens (≤ 1199px) */
@media (max-width: 1199px) {
    .chalet-badges {
        gap: 1.5em;
    }
}

@media (min-width:992px) {
    .location-inner {
        display: flex;
    }

    #location-description {
        width: 60%;
    }

    .map-container {
        width: 40%;
    }
}

/* Tablet screens (≤ 991px) */
@media (max-width: 991px) {
    .chalet-badges-wrapper {
        height: unset;
        flex-flow: column;
        padding: 3.5rem 3rem 3.5rem 3rem;
        gap: 3rem;
    }

    .pricing-cell .date {
        font-size: 13px;
    }

    .pricing-cell .price {
        font-size: 15px;
    }


    .chalet-enquire-button,
    .btn-enquire {
        width: 100%;
    }

    .chalet-badges {
        gap: 3.5em;
    }

    .included-text {
        width: 100%;
    }

    .included-item {
        width: calc(50% - 10px);
    }

    .included-item:last-child {
        border-bottom: 1px solid #ccc;
    }

    .included-list {
        flex-flow: wrap;
        display: flex;
        column-gap: 20px;
    }

    .included-section .included-inner {
        display: block;
    }

    .included-image {
        margin-top: 60px;
        padding-left: 15px;
        padding-right: 15px;
        max-width: 600px;
        margin-left: auto;
        margin-right: auto;
    }

    .included-section {
        margin: 60px 0;
    }

    .sticky-enquire-banner button {
        width: 50%;
        border: none;
        padding: 12px;
        border-radius: 0px;
    }

    .sticky-enquire-banner {
        border: none;
        padding: 0px;
    }

    .view-prices {
        display: block;
    }

    .chalet-title-banner {
        display: none;
    }

    .sticky-bottom-banner {
        padding: 0px;
    }
}

.custom-css .view-prices {
    background-color: #a28a5c;
}

.custom-label {
    margin-right: 10px;
}

/* Small tablet / large mobile screens (≤ 767px) */
@media (max-width: 767px) {

    #pricingCalendar {
            margin: 0px -15px;
        }
    
    .pricing-month {
        border-radius: 0px !important;
    }

    .pricing-cell .price {
        font-size: 15px !important;
    }


    .chalet-badges-wrapper,
    .listing-slider-variable-width-v2,
    .listing-slider-variable-width-v2 .slick-list {
        border-radius: 0px !important;
    }

    .chalet-badges {
        flex-flow: wrap;
        gap: 1em;
        justify-content: center;
    }

    #pricingTypeToggle button {
        font-size: 16px;
        padding: 0 16px;
    }

    .custom-label {
        font-size: 12px;
    }

    .custom-currency-switcher {
        width: 140px;

        font-size: 12px;
    }

    .margin-offset {
        margin: 0 -15px;
    }

    .included-section .included-inner {
        flex-flow: column;
    }

    .included-section {
        padding: 0px;
    }

    .included-image {
        margin-top: 40px;
    }

    .chalet-badges .badge {
        min-width: 140px;
        padding: 0.7em 0.5em;
    }
}

/* Mobile phones (≤ 575px) */
@media (max-width: 575px) {
    .included-item {
        width: 100%;
    }

    .included-subtitle {
        margin-top: 5px;
    }

    .cater-currency {
        display: block
    }

    .pricing-table td {
        padding: 1rem;
    }

    .pricing-month {
        margin-bottom: 1.5rem;
    }

    .faq-number {
        display: none;
    }

    .faq-answer {
        padding: 0px !important;
    }

}

.error404 .single-page-article {
    margin-top: 90px;
}

@media (max-width:640px) {
    .error404 .single-page-article {
        margin-top: 30px;
    }
}

/* Container styling */
.country-nav-container {
    position: sticky;
    top: 0;
    z-index: 1;
    width: 100%;
    background: #fff;
}

.admin-bar .country-nav-container {
    top: 32px;
}

/* Scrollable wrapper */
.country-nav-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.country-nav-wrapper::-webkit-scrollbar {
    display: none;
}

/* Navigation list */
.country-nav {
    display: flex;
    margin: 0;
    padding: 7px 0px;
    list-style: none;
    white-space: nowrap;
    justify-content: center;
    background-color: #f2f2f2;
}

/* On mobile, align to left */
@media (max-width: 640px) {
    .country-nav {
        justify-content: flex-start;
    }
}

/* List items */
.country-nav li {
    flex: 0 0 auto;
    min-width: 130px;
}

/* Links (pill buttons) */
.country-nav li a {
    display: block;
    text-align: center;
    padding: 8px 18px;
    text-decoration: none;
    border-radius: 60px;
    margin: 8px;
    transition: background 0.3s ease, color 0.3s ease;
    border: 1px solid transparent;
    white-space: nowrap;
    font-family: 'Cormorant';
    font-weight: 800;
    font-size: 22px;
}

.country-nav li a:hover,
.country-nav li a:active,
.country-nav li a:focus {
    color: #000;
    border: 1px solid black;
}

/* Active link style */
.country-nav li.active a {
    background: transparent;
    color: #000;
    border: 1px solid #000;
}

/* Fade overlay (right) */
.country-nav-fade-right {
    display: none;
    position: absolute;
    right: 0;
    top: 0;
    width: 40px;
    height: 100%;
    background: linear-gradient(to right, transparent, #fff);
    pointer-events: none;
    z-index: 1;
}

@media (max-width:1023px) {
    #resortshomedisplay .resort-divider-wrapper {
        display: none;
    }
}

.desktopslick .resort-divider-wrapper {
    display: none;
}

.desktopslick .slick-dots,
.mobileslick .slick-dots {
    margin-bottom: 40px;
}

.slick-dots {
    display: flex !important;
    justify-content: center;
    position: relative;
    height: 2px;
    background: #e0e0e0;
    overflow: hidden;
    border-radius: 2px;
    width: 100%;
    margin: 0 auto;
}

@media (max-width:1365px) {
    .slick-dots {
        width: calc(100% - 30px);
    }
}

.slick-dots li {
    flex: 1;
    margin: 0;
}

.slick-dots li button {
    height: 100%;
    width: 100%;
    background: transparent;
}

.slick-dots li.slick-active button {
    background: #000;
}

.slick-dots li button:before {
    display: none;
}

.mobileslick button.slick-arrow {
    background: #000;
    border-radius: 10px;
    border: 1px solid black;
    margin: -40px 25px 0;
}



#resortshomedisplay .btn-wrapper,
#listingtypehomedisplay .btn-wrapper {
    text-align: center;
}

@media (max-width: 1024px) {
    .custom-css .mobileslick a.button {
        margin-bottom: 12px !important;
    }
}

.custom-css .desktopslick a.button {
    margin-bottom: 12px !important;
}

.mobileslick button.slick-disabled {
    display: none !important;
}

.mobileslick .slick-prev:before,
.mobileslick .slick-next:before {
    color: #ffffff;
}

.custom-css .top-gallery-section .slick-arrow {
    background-color: #000000 !important;
    border-radius: 12px;
    border: 1px solid black;
    opacity: 0.6;
}

.top-gallery-section .slick-next:before {
    color: white !important;
    opacity: 0.6;
}

@media (max-width: 768px) {
    .top-gallery-section .slick-arrow {
        display: block !important;
        opacity: 1 !important;
        margin: 0;
    }

    .custom-css .top-gallery-section .slick-prev {
        border-radius: 0px 12px 12px 0px;
    }

    .top-gallery-section .slick-arrow:before {
        opacity: 1;
    }

    .custom-css .top-gallery-section .slick-next {
        border-radius: 12px 0px 0px 12px;
    }
}

#contactcontent .wpcf7-form .row {
    margin-bottom: 2rem;
}

#contactcontent .wpcf7-form label {
    display: block;
    font-weight: 600;
    margin-bottom: 1rem;
    color: #18324F;
    font-size: 14px;
}

#contactcontent br {
    display: none;
}

#contactcontent .wpcf7-form select {
    background-image: url("data:image/svg+xml;utf8,<svg fill='%2318324F' height='16' viewBox='0 0 24 24' width='16' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/></svg>");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 16px 16px;
}

#contactcontent .wpcf7-form input,
#contactcontent .wpcf7-form select,
#contactcontent .wpcf7-form textarea {
    width: 100%;
    border: none;
    background-color: #103b581a;
    padding: 10px 12px;
    border-radius: 4px;
    font-size: 15px;
    resize: vertical;
    appearance: none;
}

#contactcontent .wpcf7-form .btn-primary {
    background-color: #103b58;
    padding: 10px;
    height: auto;
    text-transform: uppercase;
    font-weight: bold;
    border-radius: 60px;
    letter-spacing: 1px;
    border: 1px solid #103b58;
    margin-top: 25px;
}

#contactcontent .wpcf7-form .btn-primary:hover {
    background-color: white;
    color: black;
    border: 1px solid black;
}

#contactcontent .wpcf7-spinner {
    position: absolute;
    bottom: 20px;
    right: 0px;
}

/* Blog */

.blog-article>.block-body {
    padding: 40px 0px;
}

.blog-article>a {
    display: block;
    position: relative;
    overflow: hidden;
    height: 500px;
}

.blog-article>a img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 30px;
}

.blog-article h2 {
    line-height: 1.2;
}

.article-main .single-blog-article img {
    border-radius: 30px;
}

.article-main h2 {
    line-height: 1.2;
}

.article-main .block-body {
    padding: 0px;
}



.blog-section .next-box,
.blog-section .prev-box,
.related-post img {
    border-radius: 30px;
}

.related-post {
    margin-top: 40px;
}

.article-main .post-featured-image {
    margin-top: 10px;
    margin-bottom: 30px;
}

.article-main .block-title {
    padding: 30px 0px;
}


.recent-posts-date,
.post-author {
    display: none;
}

.related-post .list-inline {
    display: none;
}

.widget-latest-posts .media.property-item img {
    border-radius: 15px;
}


#comments-form {
    display: none;
}

.blog-wrap .btn {
    border-radius: 30px;
}

.blog-wrap .btn-secondary:hover {
    color: white;
}

.blog-wrap .block-footer {
    padding: 20px 0px;
}

@media (max-width: 1150px) {
    .widget-latest-posts .media.property-item {
        flex-direction: column;
    }

    .widget-latest-posts .media.property-item .media-body {
        padding: 0px;
        margin-top: 20px;
    }
}

.blog-wrap .mw-nav {
    display: none;
}

.dashboard-content-area .btn-primary,
.dashboard-content-area .btn-secondary {
    color: #ffffff !important;
    background-color: var(--color-navy) !important;
    border: 1px solid transparent !important;
}

.dashboard-content-area .btn-primary:hover,
.dashboard-content-area .btn-primary:focus,
.dashboard-content-area .btn-primary:active,
.dashboard-content-area .btn-secondary:hover,
.dashboard-content-area .btn-secondary:focus,
.dashboard-content-area .btn-secondary:active {
    color: #ffffff !important;
    background-color: #a28a5c !important;
    border: 1px solid transparent !important;
}

.dashboard-content-area #module_listings button:hover,
.dashboard-content-area #module_listings button:active,
.dashboard-content-area #module_listings button:focus,
.dashboard-content-area #module_listings button.btn.btn-primary.dropdown-toggle:hover,
.remove-beds:hover,
.remove-beds:focus,
.remove-beds:active {
    color: #ffffff !important;
    background-color: #a28a5c !important;
    border: 1px solid transparent !important;
}

.footer-socials {
    padding: 10px 0;
    text-align: center;
}

.socials-row {
    display: flex;
    justify-content: center;
    gap: 25px;
}

.social-icon {
    display: block;
    color: rgba(255, 255, 255, 0.5);
    font-size: 24px;
    transition: color 0.3s ease;
}

.social-icon:hover {
    color: #ffffff;
}

#resortTabs {
    margin-bottom: 25px;
    margin-top: 25px;
    display: flex;
    list-style: none;
    gap: 20px;
    padding: 0px;
    justify-self: center;
}




.resort-info p,
.resort-info ul {
    margin-bottom: 1.5em;
}

.resort-info img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 3em 0;
}

.resort-info ul {
    padding-left: 1.2em;
    list-style: disc;
}

.resort-info ul li p {
    display: inline;
    margin: 0;
}

.nav-link2 {
    font-size: clamp(14px, 1.8vw, 18px);
    color: black;
    padding: 6px 23px;
}

a.nav-link2:hover,
a.nav-link2:active,
a.nav-link2:focus {
    color: black;
}


.nav-item2.active {
    outline: 1px solid black;
}

.nav-item2 {
    border-radius: 30px;
    padding: 6px 2px;
}

#resortTabsContent .col-xs-12.col-sm-12.col-md-12.col-lg-12.gutter-x {
    padding: 0px !important;
}

#resortTabsContent .tab-pane {
    max-width: 1350px;
    margin-left: auto;
    margin-right: auto;
}

@media (max-width: 640px) {
    .nav-item2 {
        padding: 6px 9px;
    }

    .nav-link2 {
        width: 100%;
        display: block;
        padding: 0px 15px;
    }

    #resortTabs {
        gap: 8px;
    }

    #resortTabs {
        flex-flow: column;
        align-items: center;
        width: 100%;
    }
}

.custom-css .modal-dialog.modal-lg.modal-dialog-centered {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    -webkit-transform: translate(-50%, -50%) !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 1000px !important;
    padding: 15px !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    max-height: 100vh !important;
}

/* Always allow scrolling inside modal content if too tall */
.custom-css .modal-content {
    overflow-y: auto !important;
    max-height: 100vh !important;
    box-sizing: border-box !important;
}

/* For smaller screens: stick to top, no vertical center */
@media (max-height: 1000px),
(max-width: 1000px) {
    .custom-css .modal-dialog.modal-lg.modal-dialog-centered {
        top: 20px !important;
        transform: translateX(-50%) !important;
        -webkit-transform: translateX(-50%) !important;
        bottom: 20px !important;
        height: auto !important;
    }

    .custom-css .modal-content {
        max-height: calc(100vh - 40px) !important;
    }
}

.item-media-price,
.item-user-image {
    display: none;
}

#pricing-tab .sub-title {
    display: none;
}

.resort-tile-wrapper .btn {
    display: inline-flex;
    padding: 12px 24px;
    font-weight: 600;
    border-radius: 50px;
    margin-bottom: 50px;
    line-height: normal;
    transform: translateX(50%);
}

.resort-tile-wrapper .btn:hover {
    color: white;
}

.search-date-range .search-date-range-arrive svg{
	display:none !important;
}


.search-guests-js img{
	display:none !important;
}

.search-budget-range img{
	display:none !important;
}

.hori-daily .clearfix .search-button button{
	background-color: #A28A5C !important;
	
}
.hori-daily .clearfix .search-button button:hover{
	background-color: #001F47 !important;
	
}
.hori-daily .clearfix .search-button button svg{
	margin-top:15px;
	stroke: #ffffff !important;
}


.similar-listing-section .homey-matchHeight ..media{
	flex-direction:row !important;
	padding:20px !important;
}