/* Import Inter font */
* {
    padding: 0px;
    margin: 0px;
}

h1,
h2,
h3 {
    font-family: 'AvenirNextLTPro', serif;
    font-weight: 600;
    color: #1f2937;
}

h6 {
    font-size: 18px;
    font-family: 'AvenirNextLTPro', serif;
    font-weight: 600;
}

h1 {
    font-size: 48px;
    font-family: 'AvenirNextLTPro', serif;
}

h2 {
    font-size: 36px;
    font-family: 'AvenirNextLTPro', serif;
}

h3 {
    font-size: 28px;
    font-family: 'AvenirNextLTPro', serif;
}

h4 {
    font-size: 20px;
    font-family: 'AvenirNextLTPro', serif !important;
}

h5 {
    font-size: 28px;
    font-family: 'AvenirNextLTPro', serif;
}

body {
    font-family: 'AvenirNextLTPro', sans-serif !important;
    background-color: #ffffff;
    color: #5b6068;
    font-size: 18px;
    line-height: 1.7;
}



/* Define custom color variable */
:root {
    --primary-color: #8a8178;
}

/* Apply Bootstrap overrides */
/* .btn-primary {
    background-color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
    border-radius: 4px !important;
    padding: 14px 16px;
} */

.btn-primary,
.btn-primary:hover,
.btn-primary:active,
.btn-primary:focus,
.btn-primary:visited {
    background-color: #9F847B !important;
    border-color: #9F847B !important;
    color: #fff !important;
    border-radius: 4px !important;
    padding: 14px 16px;
    box-shadow: none !important;
}


.form-control {
    background-color: #D9CFCC !important;
    color: #fff;
    border: none;
}

.text-primary {
    color: var(--primary-color) !important;
}

.bg-primary {
    background-color: var(--primary-color) !important;
}

.right-bg {
    background-image: url("/assets/img/authentication.jfif");
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
    height: 100%;
    width: 100%;

}

.customDescription {
    font-size: 18px;
}

.login-sec-style input {
    border-radius: 4px;
    background-color: #5b60681a;
    border: none;
}

.login-sec-style label {
    color: #191A23 !important;

    line-height: 27px !important;
    /* opacity: 0.9 !important; */
    letter-spacing: 0%;
}

.form-label {
    color: #191A23 !important;
}

.form-control {
    border-radius: 4px;
    background-color: #5b60681a;
    /* height: 48px; */
    border: none;
    padding: 14px 16px !important;
    font-size: 18px !important;
}

label.form-label.custom-label {
    color: #191A23 !important;
    font-weight: 400 !important;
    font-size: 18px !important;
    letter-spacing: 0px !important;
}


.form-control::placeholder {
    font-weight: 400 !important;
    font-size: 18px;
    color: #5b6068 !important;
    opacity: 0.5 !important;
}

.login-container-width {
    width: 68% !important;
}

.logo-wrap {
    width: 94px;
    height: 94px;
    border-radius: 350.5px;
}

.logo-wrap img {
    width: 100%;
    height: 100%;
    object-fit: "cover";
}

.navbar-brand {
    font-weight: 700;
    font-family: 'AvenirNextLTPro', sans-serif !important;

    color: var(--primary-color) !important;
    /* size: 24px !important; */
}


.fw-semibold.fs-25 {
    font-size: 18px !important;
    /* smaller size */
}


.booking-btn a {
    display: inline-flex;
    /* use flex to center content */
    align-items: center;
    /* vertical centering */
    justify-content: center;
    /* horizontal centering */
    height: 48px !important;
    /* fixed height */
    font-weight: 700 !important;
    padding: 0 35px !important;
    /* horizontal padding */
    text-decoration: none;
    /* remove underline if any */
    box-sizing: border-box;
    /* include padding in height */
}

.footer-logo {
    height: 56px;
    width: 56px;
    border-radius: 351px !important;
}

.footer-logo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.footer {
    background-color: #333333;
    padding: 12px 44px !important;
}

/* .hero-section {
    min-height: 100vh;
} */

.hero-section .form-control::placeholder {
    color: #dcdcdc;
    opacity: 0.9;
}

.hero-section .btn {
    font-weight: 600;
}

.pt-6 {
    padding-top: 5rem;
}

.hero-img {
    width: 730px;
    height: 736px;
}

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

.reservation-main .card-title {
    /* font-family: "Lora", serif !important; */
    font-family: 'AvenirNextLTPro', sans-serif !important;

    font-size: 24px !important;
}

.custom-border {
    border: 1px solid #0000001a;
    border-radius: 8px;
    padding: 24px !important;
}

.reservation-main button {
    padding: 14px 16px;
    font-size: 18px;
    font-weight: 600;
    line-height: 27px;
}

.p-6 {
    padding: 24px !important;
    border: 1px solid #0000001a;
    border-radius: 8px;
}

/* .res-img-wraper {
    width: 360px;
    height: 178px;
}

.res-img-wraper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
} */

/* .reservation-main .card-body {
    padding: 0;
    margin-top: 18px;
} */
.card-body {
    padding: 0.25rem 0.5rem;
    display: flex;
    flex-direction: column;
}

.card {
    display: flex;
    flex-direction: column;
    height: 100%;
    /* max-height removed */
}

/* Legacy style removed */


.card-body>div.mb-2 {
    margin-bottom: 0.25rem !important;
    /* Reduced gap */
}

.card-body h5 {
    margin: 0 0 0.15rem 0;
    font-size: 0.9rem;
    line-height: 1.1;
}

.card-body h4.customDescription {
    word-spacing: normal;
    /* reduces extra space between words */
    /* letter-spacing: 1.1px;     */
    line-height: 1.5;
    /* controls spacing between lines, !important ensures override */
    margin: 0;
    /* remove default margins */
    padding: 0;
    /* remove default padding */
    /* font-size: 18px;            */
}

.card-body hr {
    border-top: 1px solid #D9CFCC !important;
    margin: 0.2rem 0;
}

.card-body ul {
    margin-bottom: 0;
    gap: 0.7rem;
    padding-left: 0;
}

.card-body ul li {
    display: flex;
    align-items: center;
    font-size: 0.8rem;
    gap: 0.3rem;
}

.card-body ul li img {
    height: 15px;
    width: 15px;
}

.card-body .content-top {
    margin-bottom: 0 !important;
    /* no bottom spacing */
    padding-bottom: 0 !important;
    /* no padding */
}

.card-body .mt-auto {
    margin-top: 0 !important;
    /* prevent extra push-gap */
    padding-top: 0.15rem;
    /* minimal space for visual clarity */
}

.card {
    display: flex;
    flex-direction: column;
}

.card-body {
    flex: 1;
    /* allows body to grow so footer pushes down */
    display: flex;
    flex-direction: column;
}

.card {
    display: flex;
    flex-direction: column;
}

.card-body {
    flex: 1;
    /* footer sticks to bottom */
    display: flex;
    flex-direction: column;
    padding: 0.25rem 0.5rem;
}

.mt-auto {
    margin-top: auto !important;
    /* footer always pushed to bottom */
}

.footer-info {
    display: flex;
    justify-content: space-between;
    /* space between items */
    width: 100%;
    padding: 0 8px;
    /* adjust horizontal padding if needed */
}

.footer-item {
    display: flex;
    /* icon + text side by side */
    align-items: center;
    /* vertical alignment */
    gap: 4px;
    /* space between icon and number */
}

.footer-icon {
    width: 22px;
    /* adjust icon size */
    height: 22px;
}




.search-card.search.custom-border {
    height: 150 px !important;
    /* adjust as needed for desktop */

    overflow: hidden;
    /* prevents extra space if content fits */
}

/* Mobile */
@media (max-width: 992px) {
    .search-card.search.custom-border {
        height: auto;
        /* let it expand based on content */
        padding: 10px;
        overflow: visible;
    }
}











/* Main contact card styling */
.contact-card {
    background-color: #fff;
    border-radius: 0;
    /* Default no radius, specific pages will override */
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    width: 100%;
    overflow: hidden;
}

/* Make sure logo is responsive */
.bottom-logo img {
    max-width: 150px;
    height: auto;
}

/* Responsive spacing for small devices */
@media (max-width: 767.98px) {
    .contact-card {
        padding: 20px !important;
    }

    .contact-us {
        text-align: center;
    }

    .contact-us .d-flex {
        justify-content: center !important;
    }
}

/* Optional: adjust input box spacing */
.message-box {
    resize: none;
}


















.reservation-main small {
    font-weight: 300;
    font-size: 17px;
    line-height: 28px;
    color: #686a79 !important;
}



/* .line-wraper {
    width: 305px;
} */

.reservation-main hr {
    border: 1px solid #000000;
    width: 100%;
    height: 0px;
    opacity: 10%;
}

.reservation-main ul li {
    font-weight: 500;
    font-size: 18px;
    color: #5b6068;
    display: flex;
    align-items: center;
    gap: 5px;
}

.reservation-main ul span {
    font-size: 12px !important;
}

.reservation-main .custom-color {
    color: #333333;
}

.properties-main .search {
    padding-top: 21px !important;
}

.property-counts h3 {

    color: #000000 !important;
}

.property-img-wrapper {
    padding: 0% !important;
    padding-top: 0%;
    height: 300px !important;
}

.property-img-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.properties-main small {
    font-weight: 300 !important;
    font-size: 17px;
    line-height: 28px;
    color: #686a79 !important;
}

.room-details-main .main-img {
    width: 100%;
    height: 498px;
}

.room-details-main .main-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.room-details-main h1 {
    font-family: 'AvenirNextLTPro', sans-serif !important;

    font-weight: 500 !important;
    line-height: 56px;
    color: #333333;
    font-size: 48px;
}

.fs-18 {
    font-size: 18px !important;
}

.room-details-main ul li {
    padding: 11px;
    height: 51px;
    font-size: 18px;
}

.room-details-main ul .li-background {
    background-color: #eff0f0;
}

.room-details-main hr {
    border: 1px solid #000000;
    height: 0px;
    opacity: 10%;
}

.room-details-main .review-section {
    border: 1px solid #0000001a;
    border-radius: 4px;
    padding: 24px !important;
}

.review-avatar {
    width: 50px;
    height: 50px;
}

.review-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.btn-custom {
    background-color: transparent;
    color: #8a8178;
    border: 1px solid #8a8178;
    transition: all 0.3s ease;
    border-radius: 4px;
    padding: 14px 16px;
}

.btn-custom:hover {
    background-color: #8a8178;
    color: #fff;
    border-color: #8a8178;
}

.room-details-main small {
    color: #686a79 !important;
    font-weight: 300;
    font-size: 17px;
    line-height: 28px;
    letter-spacing: 0%;
}

.reservation-card {
    border: 1px solid #0000001a;
    border-radius: 8px;
    padding: 24px;
}

.room-details-main span {
    color: #333333 !important;
}

.navbar ul li a {
    color: #333333 !important;
    font-size: 18px;
    font-weight: 500;
}

.profile-badge {
    border: 1px solid #0000001a;
    border-radius: 8px;
    padding: 8px;
}

.avatar {
    width: 32px;
    height: 32px;
}

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

.dashboard-avatar {
    width: 120px;
    height: 120px;
}

.dashboard-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.edit-button button {
    padding: 16px 33px !important;
}

.dashboard-main h2 {
    font-family: 'AvenirNextLTPro', sans-serif !important;

    color: #191a23;
    letter-spacing: -0.96px;
}

.dashboard-main hr {
    color: #000000;
    opacity: 10%;
}

.booking-filter button {
    border: 1px solid #0000001a !important;
    color: #000000;
    font-size: 18px !important;
}

.booking-filter button:hover {
    color: #fff !important;
}

.booking-filter button.active {
    background-color: #8a8178 !important;
    color: #fff !important;
    border-color: #8a8178 !important;
}

.dashboard-main .booking-card {
    border: 1px solid #0000001a;
    border-radius: 4px;
    padding: 24px;
}

.card-img {
    width: 310px;
    height: 180px;
}

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

.dashboard-main .text-primary {
    color: rgb(13 110 253) !important;
}

@media (min-width: 992px) {
    .border-lg-start {
        border-left: 1px solid #dee2e6 !important;
    }

    .navbar {
        min-height: 100px;
        /* adjust to match your logo height + spacing */
        position: relative;
        display: flex;
        align-items: center;
        justify-content: space-between;
        /* logo left, links center, user right */
    }

    /* Logo on the left */
    .navbar .logo-text {
        position: static;
        transform: none;
        left: auto;
        top: auto;
    }

    /* Keep desktop user dropdown on the right */
    .navbar .booking-btn {
        position: static;
        transform: none;
        margin-left: auto;
        /* push it to right */
    }

    /* Collapse menu (optional) centered if used */
    .navbar-collapse {
        justify-content: center;
    }
}

/* Transparent Navbar for Contact Page */
.navbar.home-transparent {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    background-color: transparent !important;
}

.navbar.home-transparent .navbar-brand,
.navbar.home-transparent .nav-link,
.navbar.home-transparent .user-name {
    color: #ffffff !important;
}

.navbar.home-transparent .btn-primary {
    background-color: rgba(159, 132, 123, 0.9) !important;
    border-color: rgba(159, 132, 123, 0.9) !important;
}

.navbar.home-transparent .btn-primary:hover {
    background-color: #9F847B !important;
    border-color: #9F847B !important;
}


.home-main h1 {
    font-family: 'AvenirNextLTPro', sans-serif !important;

    font-weight: 500;
    font-size: 72px;
    line-height: 70px;
}

.hero-section p {
    color: #b4b4b4;
}

.home-main .background {
    background-color: #333333 !important;
}

.home-main .bg-color-input {
    background-color: #9F847B !important;
}

.home-main .why-choose h1 {
    font-family: 'AvenirNextLTPro', sans-serif !important;

    font-weight: 500 !important;
    font-size: 48px !important;
    color: #333333;
}

.home-main .why-choose .card {
    border: 1px solid #0000001a;
    border-radius: 8px;
    padding: 24px;
}

.home-main .why-choose h5 {
    letter-spacing: -1px;
    line-height: 150%;
}

.featured-listing h1 {
    line-height: 85px !important;
    color: #333333;
}

.featured-listing small {
    font-weight: 300 !important;
    font-size: 17px !important;
    line-height: 28px;
    color: #686a79 !important;
}

.testimonials .border-top {
    border-color: #ddd !important;
}

.testimonials .btn {
    border: 1px solid #333333 !important;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.home-main .testimonials h2 {
    font-family: 'AvenirNextLTPro', sans-serif !important;

    font-weight: 500 !important;
    font-size: 48px !important;
    color: #333333 !important;
}

.testimonials .card {
    border: 1px solid #0000001a;
    border-radius: 4px;
    padding: 40px !important;
}

.testimonials .card h6 {
    font-size: 20px;
    color: #333333;
    line-height: 150%;
}

.testimonials .card .custom-color {
    color: #5b6068 !important;
    font-weight: 400;
    letter-spacing: 0px;
    line-height: 150%;
    font-size: 18px !important;
}

.testimonials .avatar-wraper {
    width: 45px;
    height: 45px;
}

.testimonials .avatar-wraper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.accordion-button {
    background: #fff;
    color: #333333 !important;
    box-shadow: none !important;
    font-size: 20px !important;
    padding: 16px 24px !important;
    font-weight: 700 !important;
}

.accordion-button::after {
    content: "";
    background-image: url("/assets/img/add.svg");
    background-size: 32px 32px;
    background-repeat: no-repeat;
    width: 32px;
    height: 32px;
    margin-left: auto;
}

.accordion-button:not(.collapsed)::after {
    background-image: url("/assets/img/minus.svg");
}

.faqs h2 {
    font-family: 'AvenirNextLTPro', sans-serif !important;

    font-weight: 500 !important;
    font-size: 48px !important;
    color: #333333;
}

.faq-wraper {
    max-width: 764px;
    margin: 0 auto;
}

.faq-wraper button {
    font-family: 'AvenirNextLTPro', sans-serif !important;

    letter-spacing: -1px;
    color: #333333;
}

.accordion-button:not(.collapsed) {
    background-color: #fff !important;
    color: inherit !important;
    box-shadow: none !important;
}

.accordion-button:focus {
    box-shadow: none !important;
    background-color: #fff !important;
    color: inherit !important;
}

.faq-wraper .accordion-item {
    border: 1px solid #0000001a;
    border-radius: 8px !important;
}


.bottom-logo {
    width: 90px;
    height: 90px;
}

.bottom-logo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.bottom-section h3 {
    font-family: 'AvenirNextLTPro', serif !important;



    color: #000000 !important;
}

.bottom-section p,
.bottom-section a,
.bottom-section span {
    color: #5b6068 !important;
    font-size: 18px !important;
    line-height: 150%;
    letter-spacing: 0px;
}

.bottom-section .card {
    border: 1px solid #0000001a;
    border-radius: 8px;
    padding: 22px;
}

.bottom-section .card h4 {
    font-family: 'AvenirNextLTPro', sans-serif !important;

    font-weight: 500;
    line-height: 150%;
    letter-spacing: -0.96px;
    /* font-size: 24px !important; */
    padding-bottom: 5px;
    color: #191a23;
}

.bottom-section .card label {
    color: #191A23 !important;

}

.hero-section .logo-wraper {
    width: 90px;
    height: 90px;
}

.hero-section .logo-wraper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.btn-active {
    background-color: #333333 !important;
    color: #ffffff !important;
}

.pe-6 {
    padding-right: 60px !important;
}

.hero-content button {
    font-size: 18px !important;
}

/* @media (min-width: 1200px) {
    .px-6 {
        padding-left: 4rem !important;
    }
} */

.form-control-lg {
    font-size: 18px !important;
}

.underline-text p {
    font-size: 18px !important;
}

.fs-25 {
    font-size: 25px !important;
}

.card-body hr {
    border-top: 1px solid #f7f2ff;
    opacity: 0.9;
}

.card-body h5,
h4 {
    color: #191a23 !important;
}

.featured-listing .card-body {
    padding-top: 32px !important;
    padding-bottom: 24px !important;
    padding-right: 24px !important;
    padding-left: 24px !important;
}

.card-body h4 {
    line-height: 32px !important;
    /* letter-spacing: -0.96px !important; */
}

.card-body h5 {
    line-height: 30px;
    letter-spacing: -1.28px;
}

.card-text p {
    letter-spacing: 0% !important;
}

.footer .footer-text {
    font-family: 'AvenirNextLTPro', sans-serif !important;

    font-weight: 400;
    font-size: 18px;
    line-height: 24px;
    letter-spacing: -0.6%;
    color: #ffffff !important;
}

.form-control.message-box {
    height: 112px;
    /* min-height: 112px; */
}

.properties-main .form-label {
    color: #191A23 !important;

    margin-bottom: 7px !important;
    font-weight: 400;
    line-height: 27px;
}

.btn-box button,
.btn-box a {
    max-height: 56px !important;
    font-size: 18px !important;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 14px 16px !important;
}

.properties-main .locaion img {
    vertical-align: middle;
    height: 20px;
    width: 20px;
}

.card-clickable {
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.card-clickable:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

.room-details-main .reservation-card h5 {
    color: #191A23;
    font-size: 25px !important;
    line-height: 40px;
    letter-spacing: -1.28px;
}

.room-details-main .reservation-card label {
    color: #191A23 !important;

    font-weight: 400;
    line-height: 27px;
    letter-spacing: 0%;
}

.my-4-5 {
    margin-top: 2rem !important;
    margin-bottom: 2rem !important;
}

.mt-4-5 {
    margin-top: 2.4rem !important;
}

.icon-size {
    height: 24px;
    width: 24px;
}

.icon-size img {
    height: 100%;
    /* width: 100%; */
    object-fit: cover;
}

.small-break {
    display: block;
    margin-top: -3px;
}

.reservation-card .form-control::placeholder {
    font-size: 15.2px;
}

.reservation-main label {
    color: #191A23 !important;

    line-height: 27px;
    letter-spacing: 0%;
}

.reservation-main .price-tag {
    color: #191a23;
    font-size: 25px !important;
    line-height: 40px;
    letter-spacing: -1.28px;
}

.reservation-main .card-body h5 {
    color: #191a23;
    font-size: 24px;
    line-height: 32px;
    letter-spacing: -0.96px;
}

.reservation-main .card-body p {
    color: #5c5c5c !important;
    line-height: 15px;
}

.reservation-main hr {
    border-top: 1px solid #0000001a !important;
    opacity: 10% !important;
}

.mb-4-5 {
    margin-bottom: 2.2rem !important;
}

.px-4-5 {
    padding-left: 2rem !important;
    padding-right: 2rem !important;
}

.fw-500 {
    font-weight: 500 !important;
}

.dashboard-main .booking-card h5 {
    color: #191a23;
    font-size: 24px;
    line-height: 32px;
    letter-spacing: -0.96px;
}

.date-size {
    font-size: 18px;
    line-height: 27px;
    color: #333333;
}

.badge-active {
    color: #3f4cdb !important;
    background-color: rgba(63, 76, 219, 0.12) !important;
    font-weight: 700;
    font-size: 18px;
    padding: 10px 16px !important;
}

.badge-completed {
    color: #07a348 !important;
    background-color: rgba(7, 163, 72, 0.12) !important;
    font-weight: 700;
    font-size: 18px;
    padding: 10px 16px !important;
}

.badge-cancelled {
    color: #cd1212 !important;
    background-color: rgba(205, 18, 18, 0.1) !important;
    font-weight: 700;
    font-size: 18px;
    padding: 10px 16px !important;
}

.fs-15 {
    font-size: 18px !important;
}

.search-property-form input::placeholder {
    font-weight: 400;
    font-size: 18px;
    color: #ffffff !important;
}

.logo-image {

    width: 200px;
    height: 100px;
    padding-top: 20px;
}
/* 
.home-logo-image {
    width: 150px;
    height: 100px;
} */

.auth-logo-image {
    width: 200px !important;
    height: 120px !important;
}

.logo-text {
    width: 240px;
    color: #93706f !important;
    font-family: 'AvenirNextLTPro', sans-serif !important;
}

.user-name {
    font-family: 'AvenirNextLTPro', serif !important;

    color: #93706f !important;
    font-size: 18px !important;
}

/* Change color and hover for dropdown items */

/* Change hover/active state */

.custom-dropdown-item:focus {
    background-color: #9F847B !important;
    /* background on hover */
    color: #191A23 !important;
    /* text color on hover */
}

/* Center dropdown items vertically & horizontally */
.dropdown-menu {
    text-align: center;
}

.dropdown-toggle::after {
    border-top-color: var(--primary-color) !important;
    border-bottom-color: var(--primary-color) !important;
}

#prevBtn i,
#nextBtn i {
    font-size: 18.7px;
    line-height: 1;
}

.py-5-4 {
    padding-top: 5rem !important;
    padding-bottom: 5rem !important;
}

@media (min-width: 1200px) {
    footer .container-fluid {
        padding-left: 1.5rem !important;
        padding-right: 1.5rem !important;
    }
}

.fs-17 {
    font-size: 17px !important;
}

/* .px-6 {
    padding-left: 105px;
}

@media (max-width: 765px) {
    .px-6 {
        padding-left: 0;
    }
} */

/* .g-6 {
    --bs-gutter-x: 4rem;
    --bs-gutter-y: 4rem;
} */

/* Default (small & medium devices) */
.px-6 {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
}

/* Large screens and above (≥992px) */
@media (min-width: 1120px) {
    .px-6 {
        padding-left: 8.1rem !important;
        padding-right: 8.1rem !important;
    }

    /* Override specifically for home page to be fluid/full width */
    .home-main .px-6 {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    .home-main .container,
    .home-main .about-row {
        max-width: 100% !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    .home-main .property-img-wrapper {
        aspect-ratio: auto !important;
        height: 600px !important;
        border-radius: 0 !important;
    }

    .home-main .property-img-wrapper img {
        height: 100% !important;
        width: 100% !important;
        object-fit: cover !important;
    }
}

.home-main {
    overflow: hidden;
}

/* shabbar css */

/* Chrome, Safari, Edge */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Firefox */
input[type="number"] {
    -moz-appearance: textfield;
}

/* End of shabbar css */

/* .carousel-item {
    max-height: 500px;
} */

.f-family {
    font-family: 'AvenirNextLTPro', sans-serif !important;

}

.form-control {
    padding-right: 2.5rem !important;
}

.g-4-5 {
    --bs-gutter-x: 2rem !important;
    --bs-gutter-y: 2rem !important;
}

.pb-6 {
    padding-bottom: 3.6rem !important;
}

.featured-listing ul {
    font-size: 18px;
    color: #5b6068 !important;
    font-weight: 500 !important;
}

.featured-listing ul span {
    font-size: 12px !important;
    color: #5b6068 !important;
    font-weight: 500 !important;
}

.properties-main ul {
    font-size: 18px;
    color: #5b6068 !important;
    font-weight: 500 !important;
}

.properties-main ul span {
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #5b6068 !important;
}

.reservation-card form button {
    font-size: 18px !important;
    font-weight: 600;
}

.custom-line-height {
    line-height: 27px !important;
    letter-spacing: 0%;
    font-size: 18px;
}



.reservation-main .form-control {
    color: #5b6068 !important;
}

.custom-margin {
    margin-bottom: 1.9rem !important;
}

.custom-margin-top {
    margin-top: 1.9rem !important;
}

.edit-btn a {
    font-weight: 700;
    font-size: 18px !important;
    padding-left: 35px !important;
    padding-bottom: 16.5px !important;
    padding-right: 34.6px !important;
    padding-top: 17.5px !important;
}

#bookingCards ul {
    font-size: 14px;
    font-weight: 500;
    color: #5b6068 !important;
}

#bookingCards ul span {
    font-size: 12px !important;
    color: #5b6068 !important;
}

html,
body {
    height: 100%;
    position: relative;
    /* Ensure absolute children scroll with body */
    overflow-y: scroll;
    overflow-x: hidden;
    /* Prevent horizontal scroll */
    scrollbar-width: none;
    -ms-overflow-style: none;
}

html::-webkit-scrollbar,
body::-webkit-scrollbar {
    display: none;
}

.review-section h5 {
    color: #333333 !important;
}

.review-section p {
    font-size: 18px !important;
    font-weight: 400;
    margin-bottom: 1.8rem !important;
}

.review-section strong {
    color: #000000 !important;
    font-weight: 600 !important;
}

.review-section .user-info {
    font-size: 18px !important;
    font-weight: 400;
}

.testimonials .f-family {
    font-weight: 500;
    font-size: 18px;
    color: #999999;
}

.count {
    color: #000000 !important;
}

.hero-content input::placeholder {
    font-weight: 300 !important;
    color: #ffffff !important;
    opacity: 0.6 !important;
}

/* .search-button button {
    margin-top: 2rem !important;
} */

.reservation-card input::placeholder {
    font-size: 18px !important;
}

.custom-location {
    color: #5b6068 !important;
    font-weight: 400 !important;
    line-height: 27px !important;
}

#checkinPicker {
    font-size: 18px !important;
    line-height: 2;
}

#checkoutPicker {
    font-size: 18px !important;
    line-height: 2;
}

.my-5-6 {
    margin-top: 82px !important;
    margin-bottom: 82px !important;
}

.my-5-d {
    margin-top: 65px !important;
    margin-bottom: 65px !important;
}

.guest-input {
    flex: 0 0 271px;
    min-width: 271px;
}

/* Override .guest-input only on extra small devices */
@media (max-width: 575.98px) {
    .guest-input {
        flex: 1 1 auto !important;
        min-width: auto !important;
    }
}

.properties-main input::placeholder {
    opacity: 0.8 !important;
}

.navbar .nav-link.active {
    font-weight: 700;
    color: var(--primary-color) !important;
    /* border-bottom: 1px solid var(--primary-color); */
}

/* .navbar .nav-link {
    transition: all 0.2s ease-in-out;
} */

.reservation-main .card-body {
    padding: 0 !important;
}

.testimonial-count {
    color: #000000 !important;
}

.fs-16 {
    font-size: 18px !important;
}

.testimonial-details .name {
    color: #000000 !important;
    letter-spacing: 0px;
}

.bottom-section input::placeholder,
.bottom-section textarea::placeholder {
    opacity: 0.9 !important;
}

.custom-right-padding {
    padding-right: 1rem !important;
}

.bottom-section button {
    font-weight: 600 !important;
    font-size: 18px !important;
    line-height: 27px !important;
    color: #ffffff;
}

.login-container-width button {
    font-weight: 600 !important;
    font-size: 18px !important;
    line-height: 27px !important;
    color: #ffffff;
}

.login-sec-style .form-control {
    padding-right: 0rem !important;
    color: #5b6068 !important;
}

.reservation-card .form-control {
    padding-right: 2rem !important;
}

.amentities-name {
    font-size: 18px !important;
    font-weight: 400 !important;
    line-height: 27px;
}

.review-color {
    color: #333333 !important;
    line-height: 150%;
    letter-spacing: -1px;
}

.why-choose h4 {
    color: #333333 !important;
}

.why-choose p {
    color: #5b6068 !important;
    width: 80%;
}

.user-details p {
    font-weight: 400 !important;
    font-size: 18px !important;
    color: #5b6068 !important;
    line-height: 150%;
}

.booking-location {
    color: #5c5c5c !important;
    line-height: 26px !important;
}

.top-60 {
    top: 60% !important;
}

.login-sec-style .form-control.pe-8 {
    padding-right: 2.5rem !important;
    color: #5b6068 !important;
}

.pe-8 {
    padding-right: 2.5rem !important;
}

.booking-btn a.default-padding {
    padding: 0.3rem 1rem !important;
}

.preview-wrapper {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    overflow: hidden;
    border: 2px solid #ddd;
    display: flex;
    align-items: center;
    justify-content: center;
}

.preview-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* stripe css */



/* auth layout breakpoint */
@media (max-width: 991.98px) {
    .login-container-width {
        width: 100% !important;
        display: block !important;
    }

    .clear-btn {
        width: 100% !important;
        /* full width on mobile */
        display: block;
        /* ensures it fills the container */
        text-align: center;
        /* center text if needed */
    }
}


@media (min-width: 992px) {
    .login-container-width {
        width: 100%;
        display: block !important;
    }
}

/* //login page responsive css  */
@media (max-width: 575.98px) {
    .login-wrapper {
        width: 100% !important;
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    .w-100 input.form-control,
    .w-100 .btn {
        max-width: 100%;
    }

    .logo-image {
        padding-top: 0px;
    }
}

.insta-anchor {
    text-decoration: none !important;
}

.property-img-wrapper {
    position: relative;
    width: 100%;
    aspect-ratio: 3 / 2 !important;
    overflow: hidden;
    border-radius: 8px;
}

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

.items-wraper {
    position: relative;
    width: 100%;
    aspect-ratio: 3 / 2;
    overflow: hidden;
    border-radius: 6px;
}

.items-wraper img.thumb-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    cursor: pointer;
}

.main-image-wrapper {
    position: relative;
    width: 100%;
    aspect-ratio: 3 / 2;
    /* Keep 3:2 ratio */
    overflow: hidden;
    border-radius: 10px;
    /* optional */
}

.main-carousel-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}


.custom-label-form {
    font-family: 'AvenirNextLTPro', sans-serif !important;
    font-size: 18px !important;
    margin-left: 2px;
}

.form-control::placeholder {
    font-size: 18px;
    /* adjust to your desired size */
    color: #999;
    /* optional, change placeholder color */
}

.filter-equal .form-control {
    height: 38px;
    /* adjust to desired height */
    padding: 4px 12px;
    /* top/bottom, left/right */
    font-size: 18px;
    /* smaller text */
    border-radius: 4px !important;
}

/* Adjust placeholder size too */
.filter-equal .form-control::placeholder {
    font-size: 12px;
    /* smaller placeholder text */
}

.search-button .btn {
    height: 38px;
    /* set fixed height */
    padding: 0 16px;
    /* adjust left/right padding */
    font-size: 18px;
    /* optional: adjust text size */
    line-height: 38px;
    /* vertically center text */
    border-radius: 4px;
    /* match your inputs if needed */
}


.cards-icons {
    color: #5b6068;
    font-size: 13px;
}

.customFonts {
    font-family: 'AvenirNextLTPro', sans-serif !important;
    word-spacing: normal;
    /* reduces extra space between words */
    letter-spacing: 0.8px;
}

.customFonts-quesiton {
    font-family: 'AvenirNextLTPro', serif !important;
    word-spacing: normal;
    letter-spacing: 0.5px;
}

.price-tag {
    letter-spacing: 0.5px !important;
}

#checkinPicker::placeholder {
    font-size: 12px !important;
    /* smaller font size */
    /* optional: change color if needed */
}

#checkoutPicker::placeholder {
    font-size: 12px !important;
    /* smaller font size */
    /* optional: change color if needed */
}

#guestInput::placeholder,
#notesInput::placeholder {
    font-size: 12px !important;
    /* optional: placeholder color */
}

/* Desktop view: row layout */
.search-fields {
    flex-wrap: nowrap;
    /* keep everything in a row */
}

/* Mobile / Tablet view: stack inputs and button */
@media (max-width: 768px) {

    .property-img-wraper {
        width: 100% !important;
        /* take full width */
        height: 100px;
        /* adjust height if needed */
        max-width: 100% !important;
        /* ignore desktop max-width */
    }

    .property-img-wraper img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover;
        /* ensures full coverage */
    }

    .search-fields {
        flex-wrap: wrap !important;
        /* allow wrapping */
        gap: 0.75rem;
        /* spacing between stacked fields */
    }

    .search-fields .filter-equal,
    .search-fields .search-button {
        flex: 1 1 100% !important;
        /* full width for each input & button */
        min-width: 0;
        /* prevent overflow */
    }


    .search-fields .filter-equal {
        margin-bottom: 0.5rem;
        /* spacing between fields */
    }

    .bottom-logo {
        width: 100%;
        display: flex;
        justify-content: center;
        background: transparent !important;
        /* ensure no background */
        padding: 0 !important;
        /* remove padding if causing overlap */
        margin: 0 auto !important;
    }

    .bottom-logo img {
        display: block;
        margin: 0 auto;
        max-width: 150px;
        width: auto !important;
        /* prevents forced stretching */
        height: auto;
        z-index: 10;
        /* ensures image stays above backgrounds */
        position: relative;
    }

    .faqs {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .faqs .px-6 {
        padding-left: 0px !important;
        /* optional small padding */
        padding-right: 0px !important;
        width: 100%;
    }

    .faqs .accordion-button,
    .faqs .accordion-body {
        font-size: 18px !important;
    }

    .faqs .accordion-item {
        margin-bottom: 0.5rem;
        /* optional to reduce spacing on mobile */
    }

    .bottom-section,
    .bottom-section p,
    .bottom-section a,
    .bottom-section span,
    .bottom-section label,
    .bottom-section input,
    .bottom-section textarea,
    .bottom-section button {
        font-size: 18px !important;
    }

    /* Headings scale down */
    /* .bottom-section h3 {
        font-size: 16px !important; /* adjust as needed */
}

*/ .bottom-section h4 {
    font-size: 1px !important;
    /* adjust as needed */
}

/* Adjust padding/margins for mobile */
.bottom-section .contact-card {
    padding: 1rem !important;
}

.bottom-section .contact-us {
    text-align: center !important;
}

/* Make logo smaller on mobile */
.bottom-section .bottom-logo img {
    max-width: 120px;
}


/* //Property detail layout image section for mobile */
.main-img {
    height: 200px !important;
}

.main-img img#mainImage {
    height: 100% !important;
}


/* Default desktop: keep left-aligned */
/* Desktop: keep left-aligned */
.card-body-bordered {

    border-bottom-left-radius: 8px !important;
    /* round bottom left */
    border-bottom-right-radius: 8px !important;
}

.custom-card-background {
    background-color: #f5eeef !important;

}


/* Make all cards same height */
.card-clickable {
    display: flex;
    flex-direction: column;
    height: 100%;
    /* will fill parent column height */
    overflow: hidden !important;

}

/* Ensure image wrapper has fixed height */
.property-img-wraper {
    max-width: 100%;
    /* limit width */
    width: 100%;
    /* responsive */
    height: 140px !important;
    /* reduced height */
    margin: 0 auto;
    overflow: hidden !important;
    border-top-left-radius: 10px !important;
    border-top-right-radius: 10px !important;
}

/* optional */

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


/* Make card body fill remaining space */
.card-body {
    display: flex;
    flex-direction: column;
    flex: 1;
    /* take remaining space */
    justify-content: space-between;
    /* pushes footer to bottom */
}





/* Mobile: center only */
.property-layout-wrapper.full-width .property-left,
.property-layout-wrapper.full-width .property-right {
    width: 100% !important;
}

.property-layout-wrapper.full-width {
    flex-direction: column !important;
    /* stack if needed */
}

.property-layout-wrapper.full-width .property-right {
    margin-top: 15px;
    /* spacing when stacked */
}


/* .card-color{
  background-color: #D9CFCC  !important ;

} */

.card-clickable {
    border: none;
    /* Remove border */
    /* Rounded corners */
    box-shadow: none;
    /* Remove default shadow */
    transition: transform 0.2s, box-shadow 0.2s;
    /* Smooth hover effect */
}

/* Optional hover effect */
.card-clickable:hover {
    cursor: pointer;
    transform: translateY(-3px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.listing-name {
    font-size: 24px;
}

.amenity-heading {

    font-size: 24px !important;
}

.amenity-lising-name {
    font-size: 18px;
}

.stripe-input {
    background-color: #D9CFcc;
    padding: 14px 16px;
    border-radius: 8px;
    border: 1px solid #ccc;
}


input {
    background-color: #D9CFcc;
    color: #191A23 !important;
}

input:focus {
    background-color: #D9CFcc;
    color: #191A23 !important;
    /* light blue background */

}

/* Desktop & laptop screens */
@media (min-width: 768px) {
    .property-img-wraper {
        width: 100%;
        height: 230px;
        /* fixed image height */
        overflow: hidden;
        border-radius: 12px 12px 0 0;
    }

    .property-img-wraper img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        /* fill area without distortion */
    }

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

.footer-logo {
    height: auto;
    width: auto;
}




/* Default desktop layout: 70/30 */
.property-layout-wrapper {
    display: flex;
    gap: 20px;
    overflow: hidden;
}

.property-left {
    width: 70%;
    height: calc(100vh - 150px);
    overflow-y: auto;
    padding-right: 15px;


    scrollbar-width: none;
    -ms-overflow-style: none;
}

.property-left::-webkit-scrollbar {
    display: none;
}

.property-right {
    width: 30%;
    position: sticky;
    top: 0;
    height: calc(100vh - 150px);
    overflow-y: scroll;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.property-right {
    overflow-y: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.property-right::-webkit-scrollbar {
    display: none;
}


.property-right video {
    width: 100%;
    height: 100%;
    object-fit: cover;

}

.row.g-4-5 {
    --bs-gutter-y: 1rem !important;
    --bs-gutter-x: 1rem !important;
}

/* Make property name not bold */
.card h4 {
    font-weight: normal !important;
}

/* Tablet + Mobile */
@media (max-width: 992px) {
    .property-layout-wrapper {
        flex-direction: column-reverse;
    }

    .property-right {
        width: 100%;
        height: 250px;
        position: relative;
        margin-bottom: 15px;
    }

    .property-left {
        width: 100%;
        height: auto;
        overflow: visible;
        padding-right: 0;
    }
}

.filter-item {
    flex: 1 1 0;
    min-width: 180px;
}

/* Filter input beautification */
.form-control {
    border-radius: 12px !important;
}

/* Increase size of Location & Dates */
.filter-large {
    flex: 2 !important;
}

/* Reduce width of Guests */
.filter-small {
    flex: 0.8 !important;
}

@media (max-width: 992px) {

    /* Stack filters vertically and align them left */
    .d-flex.gap-3.align-items-end.flex-nowrap {
        flex-direction: column !important;
        /* stack items vertically */
        gap: 1rem !important;
        /* vertical spacing between items */
        align-items: flex-start !important;
        /* align left */
        width: 100%;
    }



    .filter-equal .form-control {
        width: 100%;
        /* input fills container */
    }

    .search-button button {
        width: 100%;
        /* button fills container */
    }
}

.footer-logo img {
    width: 100px;
    /* increase or adjust as needed */
    height: auto;
}

.custom-dropdown-item {
    text-align: center !important;
    width: 100%;
}

/* Force mobile dropdown to align left */
.mobile-dropdown-left {
    left: auto !important;
    /* ignore left */
    right: 0 !important;
    /* align to right edge of parent */
    position: absolute !important;
    /* position relative to dropdown container */
    top: 100% !important;
    /* directly below the image */
    z-index: 1050;
    /* above other elements */
    min-width: 200px;
}



/* Center the logo in desktop view */
.property-left {
    height: 100vh;
    /* Full viewport height */
    overflow-y: auto;
}


.footer-item .footer-icon {
    width: 24px;
    /* adjust as needed */
    height: 24px;
    /* keep them square */
    object-fit: contain;
    /* keeps aspect ratio */
}

.bed-icon {

    height: 30px;
    width: 28px;
}

.bath-icon {
    height: 20px;
}

.message-box {

    color: #191A23 !important;
}

textarea {
    color: #191A23 !important;
}


input,
textarea,
select {
    font-size: 18px !important;
}

/* Target dropdown items inside your custom class */
.custom-dropdown-item {
    color: #8A8178 !important;
    /* Default text color */
    font-weight: normal !important;
    transition: background-color 0.2s ease;
}

/* Hover state */
.custom-dropdown-item:hover {
    background-color: #D9CFCC !important;
    color: #8A8178 !important;
    /* keep text color same */
}

/* Active state (for clicked / focused items) */
.custom-dropdown-item:active,
.custom-dropdown-item:focus {
    background-color: #D9CFCC !important;
    color: #8A8178 !important;
}

.video-placeholder-box video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* fills the container completely */
}

.video-placeholder-box {
    flex: 1;
    /* stretch to fill right column */
    display: flex;
}

.property-right {
    width: 30%;
    /* or any desired width */
    display: flex;
    /* allows video to stretch inside */
    flex-direction: column;
}

.property-layout-wrapper {
    display: flex;
    align-items: stretch;
    /* ensures both children stretch to same height */
}

@media (min-width: 768px) {

    /* tablets and up */
    .container {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .property-layout-wrapper {
        display: flex;
        gap: 1rem;
        /* optional spacing between left and right */
    }

    .property-left {
        flex: 1;
        /* takes remaining space */
        overflow-y: auto;
        /* scrollable if content exceeds height */
    }

    .property-right {
        flex: 0 0 400px;
        height: 100vh;
        position: sticky;
        top: 0;
        display: flex;
        overflow: hidden;
    }

    .property-right video {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
}

.heading-content {
    color: #000000;
}

.main-index-heading {

    color: #9F847B;
}

.clear-btn {

    padding-top: 0px;
    padding-bottom: 0px;
    width: auto;
}

.clear-btn:hover,
.clear-btn:focus,
.clear-btn:active {
    padding-top: 0;
    padding-bottom: 0;
    width: auto;
    box-shadow: none;
    /* remove any default focus shadow if needed */
}

.airbnb-heading {
    color: #9f847b !important;
}

.info-split-section {
    /* full screen height */
    display: flex;
    align-items: center;
    /* center top–bottom */
    justify-content: center;
    background-color: #D9CFCC !important;
}

.custom-small-text {
    font-size: 18px !important;
    line-height: 1.2 !important;
}

.welcome-card {
    background: #f5eeef;
    border: 1px solid #e5e5e5;
    border-radius: 18px;
    padding: 24px;

}

/* Optional: subtle shadow for depth */
/* .welcome-card {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
} */


.welcome-section-homepage {
    background-color: #f5eeef !important;
}









.video-loader {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    font-size: 18px;
    letter-spacing: 1px;
}

.custom-form-text {

    font-family: 'AvenirNextLTPro', sans-serif !important;
}


/* Stack video on top on mobile */
@media (max-width: 991px) {
    .property-layout-wrapper {
        flex-direction: column !important;
    }

    .property-right {
        width: 100% !important;
        position: relative !important;
        top: auto !important;
        margin-bottom: 20px;
    }

    .video-toggle-wrapper {
        display: none !important;
        /* hide toggle button on mobile */
    }
}

/* Video matches featured properties height */
.property-left {
    display: flex;
    flex-direction: column;
}

.property-right video {
    height: 100%;
}

/* Fullscreen toggle */
.video-fullscreen {
    position: fixed !important;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100vh !important;
    z-index: 1050;
    border-radius: 0 !important;
}

/* Mobile video on top */
@media (max-width: 991px) {
    .property-right {
        position: relative !important;
        width: 100% !important;
        margin-bottom: 20px;
    }

    .video-toggle-wrapper {
        display: none;
        /* Disable toggle on mobile */
    }
}

/* ===== PROPERTY VIDEO TOGGLE FIX ===== */
/* ===== PROPERTY VIDEO LAYOUT ===== */

.property-details-layout {
    display: flex;
    gap: 20px;
    align-items: stretch;
    /* 🔥 SAME HEIGHT */
}

/* LEFT → 70% */
.property-left-main {
    flex: 0 0 70%;
    max-width: 70%;
    height: calc(100vh - 140px);
    overflow-y: auto;
    transition: all 0.3s ease;
}


/* RIGHT → 30% */
.property-right-main {
    flex: 0 0 30%;
    max-width: 30%;
    top: 100px;

    /* 🔥 MATCH HEIGHT */
    height: calc(100vh - 140px);

    display: flex;
    align-items: stretch;
    transition: all 0.3s ease;
}

/* VIDEO FILLS RIGHT */
.property-right-main video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 12px;
}

/* ===== TOGGLE ===== */
.property-details-layout.video-hidden .property-right-main {
    display: none !important;
}

.property-details-layout.video-hidden .property-left-main {
    flex: 0 0 100% !important;
    max-width: 100% !important;
}

/* BUTTON TEXT */
.toggle-video-btn.hide::after {
    content: " Hide Video";
}

.toggle-video-btn.show::after {
    content: " Show Video";
}

/* ===== TABLET ===== */
@media (max-width: 1199px) {
    .property-left-main {
        flex: 0 0 65%;
        max-width: 65%;
    }

    .property-right-main {
        flex: 0 0 35%;
        max-width: 35%;
    }
}

/* ===== MOBILE ===== */
@media (max-width: 991px) {
    .property-details-layout {
        flex-direction: column;
    }

    .property-left-main,
    .property-right-main {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .property-right-main {
        display: none !important;
    }
}

/* ===== HIDE SCROLLBAR BUT KEEP SCROLL ===== */

/* Chrome, Edge, Safari */
.property-left-main::-webkit-scrollbar,
.property-right-main::-webkit-scrollbar {
    width: 0;
    height: 0;
}

/* Firefox */
.property-left-main,
.property-right-main {
    scrollbar-width: none;
    /* hide scrollbar */
}

/* IE / Old Edge */
.property-left-main,
.property-right-main {
    -ms-overflow-style: none;
}

/* scroll animations */

/* ===== SCROLL FADE + FOCUS ANIMATION ===== */
.scroll-animate {
    opacity: 0;
    transform: translateY(40px);
    filter: blur(6px);
    transition:
        opacity 0.8s ease,
        transform 0.8s ease,
        filter 0.8s ease;
    will-change: opacity, transform, filter;
}

.scroll-animate.active {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
}

/* Faster animation for cards */
.scroll-fast {
    transition-duration: 0.6s;
}

/* Optional: smoother on mobile */
@media (max-width: 991px) {
    .scroll-animate {
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
        transition: none !important;
    }
}



/* VIDEO */
body.home-page .hero-video {
    position: absolute;
    inset: 0;
    width: 100vw;
    height: 80dvh;
    object-fit: cover;
    z-index: 1;
}

/* OVERLAY */
body.home-page .hero-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 2;
}

/* HERO CONTENT */
body.home-page .hero-content-wrapper {
    position: relative;
    z-index: 3;
    height: 100%;
    display: flex;
    align-items: center;
}

/* LEFT CONTENT CENTERED ON DESKTOP */
body.home-page .hero-left-content {
    margin: 0 auto;
}

/* SEARCH FORM */
body.home-page .hero-search-form .form-control {
    height: 60px;
}

/* RESPONSIVE: STACK INPUTS ON MOBILE */
@media (max-width: 991px) {
    body.home-page .hero-content {
        text-align: left !important;
    }

    body.home-page .hero-search-form .col-12 {
        margin-bottom: 10px;
    }

    body.home-page .hero-search-form .btn {
        margin-top: 5px;
    }
}

@media (max-width: 768px) {
    body.home-page .hero-section {
        height: 80dvh;
    }
}

/* ==================== NAVBAR ==================== */

/* Default navbar - solid background */
/* Default navbar - transparent overlay on home page */
body.home-page .main-navbar {
    position: absolute !important;
    /* Force absolute */
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    background: transparent !important;
    z-index: 10;
    transition: all 0.3s ease;
}

body.home-page .main-navbar .nav-link,
body.home-page .main-navbar .navbar-brand {
    color: #fff !important;
}

/* Ensure no other state makes it sticky/fixed on home page */
body.home-page .main-navbar.scrolled,
body.home-page .main-navbar.sticky-top,
body.home-page .main-navbar.fixed-top {
    position: absolute !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.home-page .main-navbar.scrolled .nav-link,
body.home-page .main-navbar.scrolled .navbar-brand {
    color: #fff !important;
}

/* HR OVER VIDEO */
body.home-page .main-navbar .nav-hr {
    border: 0;
    height: 1px;
    background: #ffffff !important;
    margin-top: 0.5rem;
    width: 100% !important;
    display: block !important;
    opacity: 1 !important;
    transition: all 0.3s ease;
}

body.home-page .main-navbar.scrolled .nav-hr {
    background: #000;
}

.btn.rounded-pill {
    border-radius: 50px;
    background-color: #9F847B;
    border-color: #9F847B;
    color: #fff;

    /* more consistent for wide buttons */
}

.Intro-contact-btn {

    border-radius: 50px;
    background-color: #4A4A4A;
    border-color: #4A4A4A;
    color: #fff;
}

/* ==================== END NAVBAR ==================== */

.hero-search-form {
    background-color: rgba(255, 255, 255, 0.1);
    /* white with 20% opacity */
    padding: 20px;
    border-radius: 50px;
    /* backdrop-filter: blur(10px); */
    /* optional: nice frosted effect */
}

/* Default spacing for desktop */
.hero-content h1 {
    margin-bottom: 1.5rem;
}

/* Mobile view adjustments */
@media (max-width: 767px) {
    .hero-content {
        padding-top: 110px;

    }

    .hero-content h1 {
        font-size: 18px;
        /* smaller heading for tiny screens */
        line-height: 1.6;
        /* more spacing between lines */
        margin-bottom: 2.5rem;
        /* extra space below heading */
    }

    .hero-content p {
        font-size: 14px;
        line-height: 1.8;
        /* prevent overlap with form */
        margin-bottom: 2.5rem;
        /* space below paragraph */
    }

    .hero-search-form {
        margin-top: 50px;
        /* even more space above form */
        padding: 25px;
        /* padding inside form */
        border-radius: 12px;
        /* rounded edges */
        background-color: rgba(255, 255, 255, 0.3);
        /* light transparent background */
        /* backdrop-filter: blur(40px); */
        /* frosted glass effect */
    }

    /* Inputs and buttons for mobile readability */
    .hero-search-form input {
        font-size: 14px;
        padding: 12px;
    }

    .hero-search-form button {
        font-size: 14px;
        padding: 12px;
    }
}


/* Target only inputs inside your hero search form */
.hero-search-form input {
    background-color: rgba(255, 255, 255, 0.3) !important;
    /* border: 1px solid white !important; */
    color: white !important;
    border-radius: 50px !important;
    padding-left: 15px !important;
    padding-right: 40px !important;
    height: 50px !important;
    font-size: 16px !important;
}

/* Mobile adjustments */
@media (max-width: 767px) {
    .hero-search-form input {
        height: 50px !important;
        /* improved touch target */
        font-size: 16px !important;
        padding-left: 15px !important;
        padding-right: 55px !important;
        /* Fix icon overlap */
    }

    /* Prevent heading overlapping with navbar/icons */
    .hero-content h1 {
        font-size: 32px !important;
        line-height: 1.3;
        margin-top: 20px;
    }

    .hero-section {
        padding-top: 100px;
        /* Ensure content doesn't hit top navbar */
        padding-bottom: 60px;
        /* Add breathing room at bottom */
        height: auto !important;
        /* Allow content to expand */
        min-height: 100vh;
    }

    .hero-best-rate {
        padding-left: 0;
        /* remove padding on mobile */
        margin-top: 15px;
        text-align: center;
    }

    /* Ensure form spacing */
    .hero-search-form .col-12 {
        margin-bottom: 12px;
        /* Add spacing between stacked inputs */
    }

    .hero-search-form .d-grid {
        margin-top: 5px;
        /* Adjust button top margin */
    }

    /* Fix background video height on mobile to cover expanded content */
    body.home-page .hero-video,
    body.home-page .hero-overlay {
        height: 100% !important;
        min-height: 100vh;
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        right: 0;
    }
}

.hero-best-rate {
    font-size: 13px;
    opacity: 0.85;
}

/* SECTION */
/* FULL WIDTH SECTION */
.about-section {
    width: 100%;
    padding: 80px 10px;
    /* small horizontal padding */
}

/* ROW: flex container */
.about-row {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    margin: 0 auto;
}

/* LEFT COLUMN (65%) */
.about-content {
    flex: 0 0 65%;
    max-width: 65%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-right: 20px;
}

/* RIGHT COLUMN (35%) */
.about-image-wrapper {
    flex: 0 0 35%;
    max-width: 35%;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* IMAGE: fill wrapper height dynamically */
.about-image {
    width: 100%;
    height: 100%;
    /* match text column height */
    object-fit: cover;
    border-radius: 20px;
    margin: 10px 0;
    /* small top/bottom margin */
}

/* TEXT STYLES */
.about-subtitle {
    color: #777;
    text-transform: uppercase;
    letter-spacing: 1px;

}

.about-title {


    margin: 12px 0;
}

.about-text {
    color: #666;
}

/* BUTTON STYLES */
.about-contact-btn {
    border: 1px solid #ccc;
    color: #777;
    background: transparent;
}

.about-contact-btn:hover {
    background: #f5f5f5;
    color: #555;
}

/* RESPONSIVE: stack columns on small screens */
@media (max-width: 991px) {
    .about-row {
        flex-direction: column;
    }

    .about-content,
    .about-image-wrapper {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .about-image {
        height: auto;
        /* natural height on mobile */
        margin: 15px 0;
    }
}

/* Even tighter on large screens */
@media (min-width: 992px) {
    .feature-section .container {
        padding-left: 8px;
        padding-right: 8px;
    }
}

.featured-swiper {
    padding-bottom: 2rem;
}

/* Featured Listings Custom Width & Spacing */
.featured-listing .card-clickable {
    max-width: 420px;
    margin: 0 auto;
    width: 100%;
    box-shadow: rgba(50, 50, 93, 0.25) 0px 6px 12px -2px, rgba(0, 0, 0, 0.3) 0px 3px 7px -3px;
}

@media (max-width: 767px) {
    .featured-listing .card-clickable {
        /* Reduced width for mobile */
        max-width: 340px !important;
        /* Reduced width for better mobile proportion */
        margin: 0 auto !important;
        width: 100%;
        border-radius: 12px !important;
    }

    .featured-listing .container {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    .featured-listing .col-12 {
        padding-bottom: 20px;
    }
}

.featured-listing .container {
    max-width: 1300px;
    overflow: hidden;
}

/* Footer CTA Video Section */
.footer-cta-section {
    min-height: 400px;
}

.footer-cta-overlay {
    background: rgba(0, 0, 0, 0.6);
}

.footer-cta-video {
    z-index: 0;
}

/* Main Footer Styles */
.main-footer {
    background-color: #9F847B !important;
}

.social-link {
    color: #fff;
    transition: color 0.3s ease;
}

.social-link:hover {
    color: #ccc;
}

.main-footer h5 {
    color: #fff;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.main-footer ul li a {
    transition: transform 0.3s ease, color 0.3s ease;
    display: inline-block;
}

.main-footer ul li a:hover {
    color: #ccc !important;
    transform: translateX(5px);
}

@media (max-width: 991px) {
    .footer-cta-section {
        text-align: center;
        min-height: 300px;
        /* Reducing height slightly for mobile */
    }

    .footer-cta-section h3 {
        font-size: 1.2rem !important;
    }

    .footer-cta-section h2 {
        font-size: 2rem !important;
    }

    .footer-cta-section p.lead {
        font-size: 1rem !important;
    }

    .footer-cta-section .btn {
        margin-bottom: 2rem;
        padding: 0.5rem 2rem !important;
        font-size: 0.9rem !important;
    }
}

/* Featured Listings Carousel Styles */
.featured-listing .carousel-inner {
    padding: 10px 0;
}

.custom-carousel-nav {
    width: 50px;
    height: 50px;
    background: rgba(255, 255, 255, 0.8);
    border-radius: 50%;
    top: 50%;
    transform: translateY(-50%);
    opacity: 1 !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
}

.custom-carousel-nav:hover {
    background: #fff;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.carousel-control-prev.custom-carousel-nav {
    left: -25px;
}

.carousel-control-next.custom-carousel-nav {
    right: -25px;
}

@media (max-width: 1200px) {
    .carousel-control-prev.custom-carousel-nav {
        left: 0;
    }

    .carousel-control-next.custom-carousel-nav {
        right: 0;
    }
}

@media (max-width: 767.98px) {
    .custom-carousel-nav {
        width: 35px;
        height: 35px;
    }
}

/* ========================================
   CONTACT PAGE STYLES
   ======================================== */
.contact-info-container {
    padding: 0px;
    background-color: #D9CFCC;
}

/* Hero Section - Full Width with Navbar Overlay */
.contact-hero {
    height: 70vh;
    min-height: 500px;
    overflow: hidden;
    margin-top: -100px;
    /* Pull up to overlay navbar */
    padding-top: 100px;
    /* Compensate for navbar height */
}

.contact-hero .hero-image-wrapper {
    position: relative;
    height: 100%;
    width: 100%;
}

.contact-hero .hero-img {
    height: 100%;
    width: 100%;
    object-fit: cover;
}

.contact-hero .hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
}

/* Hero Content - Left aligned and below center */
.contact-hero .hero-content {
    position: absolute;
    top: 60%;
    left: 0;
    width: 100%;
    transform: translateY(-50%);
}

.contact-hero .hero-content h1 {
    font-size: 4rem;
    letter-spacing: -0.02em;
}

/* Contact Section - Full Width */
.contact-section {
    width: 100%;
}

.contact-details-card {
    background-color: #D9CFCC;
    /* border-left: 5px solid #8a8178; */
    border-radius: 1rem 0 0 1rem;
    /* top-left, top-right, bottom-right, bottom-left */
}

/* Remove background on contact page only */
.contact-details-card.contact-page-details {
    background-color: transparent;
}

.contact-details-card .separator {
    border: 0;
    border-top: 2px solid #9F847B;
    width: 100%;
    opacity: 1;
}

.contact-details-card .icon-box {
    width: 50px;
    height: 50px;
}

.contact-details-card .icon-box i {
    font-size: 1.2rem;
}

/* Homepage contact card - all corners rounded */
.bottom-section .contact-card {
    border-radius: 15px;
}

/* Contact page - rounded right edges only */
.contact-section .contact-card {
    border-radius: 0 1rem 1rem 0 !important;
    box-shadow: none;
    background-color: #fff;
}

/* Mobile Responsiveness */
@media (max-width: 991.98px) {
    .contact-hero {
        height: 50vh;
        min-height: 400px;
        margin-top: -80px;
        padding-top: 80px;
    }

    .contact-hero .hero-content h1 {
        font-size: 2.5rem;
    }

    .contact-hero .hero-content {
        top: 55%;
    }
}

@media (max-width: 767.98px) {
    .contact-hero {
        height: 45vh;
        min-height: 350px;
    }

    .contact-hero .hero-content h1 {
        font-size: 2rem;
    }

    .contact-details-card {
        padding: 1.5rem !important;
    }
}

@media (max-width: 575.98px) {
    .contact-hero .hero-content h1 {
        font-size: 1.75rem;
    }
}

/* Testimonials Section Styling */
.testimonials .card {
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden;
    background: #fff;
    padding: 0 !important;
}

.testimonials .card:hover {
    background-color: #D9CFCC;
    box-shadow: 0 12px 24px rgba(217, 207, 204, 0.4);
    transform: translateY(-8px) scale(1.02);
    border-color: #D9CFCC;
}

/* Change text colors on hover */
.testimonials .card:hover .card-body h4,
.testimonials .card:hover .card-body p,
.testimonials .card:hover .card-body small {
    color: #4A4A4A !important;
}

.testimonials .card:hover .testimonial-divider {
    border-top-color: rgba(74, 74, 74, 0.3);
}

/* Carousel animation */
.testimonials #testimonialRow {
    transition: opacity 0.3s ease-in-out;
}

.testimonials #testimonialRow.transitioning {
    opacity: 0.7;
}


.testimonials .property-img-wrapper {
    padding: 0 !important;
    margin: 0 !important;
    height: 300px;
    overflow: hidden;
    border-radius: 12px 12px 0 0;
}


.testimonials .property-img-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 12px 12px 0 0;
}

.testimonials .card-body {
    padding: 1rem;
}

.testimonials .card h4 {
    font-size: 20px;
    font-weight: 600;
    color: #1f2937;
    margin-bottom: 0.5rem;
}

.testimonials .card hr {
    border-top: 1px solid #000;
    opacity: 1;
    margin: 0.5rem 0;
}

.testimonials .card p {
    font-size: 16px;
    line-height: 1.6;
    color: #6b7280;
}

.testimonials .card small {
    font-size: 14px;
    color: #9ca3af;
}

/* Testimonial description with scroll for long text */
.testimonials .card p.text-muted {
    padding-right: 8px;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Custom scrollbar styling for testimonial descriptions */
.testimonials .card p.text-muted::-webkit-scrollbar {
    width: 6px;
}

.testimonials .card p.text-muted::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 3px;
}

.testimonials .card p.text-muted::-webkit-scrollbar-thumb {
    background: #9F847B;
    border-radius: 3px;
}

.testimonials .card p.text-muted::-webkit-scrollbar-thumb:hover {
    background: #8a7169;
}

/* Ensure consistent card heights */
.testimonials .card {
    min-height: 500px;
}

.testimonials .card-body {
    display: flex;
    flex-direction: column;
    flex: 1;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .testimonials .property-img-wrapper {
        height: 200px;
    }

    .testimonials .card {
        min-height: 400px;
    }

    .testimonials .card p.text-muted {
        max-height: 100px;
    }
}

@media (max-width: 576px) {
    .testimonials .property-img-wrapper {
        height: 180px;
    }

    .testimonials .card {
        min-height: 350px;
    }

    .testimonials .card p.text-muted {
        max-height: 80px;
    }
}

/* Update testimonial image height and card spacing */
.testimonials .property-img-wrapper {
    height: 250px !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100%;
    position: relative;
    overflow: hidden;
    border-radius: 12px 12px 0 0;
}

.testimonials .property-img-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 12px 12px 0 0;
}

/* Card spacing - use padding only to prevent wrapping */
.testimonials .row {
    margin-left: -0.5rem;
    margin-right: -0.5rem;
}

.testimonials .col-md-4 {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    margin-bottom: 1rem;
}

/* Responsive image heights */
@media (max-width: 768px) {
    .testimonials .property-img-wrapper {
        height: 200px !important;
    }
}

@media (max-width: 576px) {
    .testimonials .property-img-wrapper {
        height: 180px !important;
    }

    .testimonials .listing-name-wrapper {
        min-height: 50px;
    }
}

/* Card structure - two sections */
.testimonials .card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding: 0 !important;
}

.testimonials .card .property-img-wrapper {
    flex-shrink: 0;
}

.testimonials .card .card-body {
    flex: 1;
    display: block !important;
    padding: 1.25rem !important;
}

/* Ensure consistent alignment across all cards */
.testimonials .listing-name-wrapper {
    min-height: 60px;
    display: flex;
    align-items: flex-start;
    margin-bottom: 0.75rem;
    
}

.testimonials .listing-name-wrapper h4 {
    line-height: 1.4;
}

.testimonials .testimonial-divider {
    border: 0;
    border-top: 1px solid #000;
    opacity: 1;
    margin: 0 0 0.75rem 0;
}

.testimonials .testimonial-meta {
    margin-bottom: 1rem;
    min-height: 24px;
}


.testimonials .col-12,
.testimonials .col-md-6,
.testimonials .col-lg-4 {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

/* Mobile specific adjustments */
@media (max-width: 767px) {
    .testimonials .col-12 {
        padding-left: 0;
        padding-right: 0;
        margin-bottom: 1rem;
    }
}

/* Property Details Gallery Styles */
.property-gallery-container {
    position: relative;
    margin-bottom: 3rem;
}

.property-swiper {
    width: 100%;
    height: 400px;
    border-radius: 12px;
    overflow: hidden;
}

.property-swiper .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
    transition: transform 0.3s ease;
}

.property-swiper .swiper-slide img:hover {
    transform: scale(1.02);
}

@media (max-width: 991.98px) {
    .property-swiper {
        height: 300px;
    }
}

@media (max-width: 575.98px) {
    .property-swiper {
        height: 250px;
    }
}

.swiper-button-prev,
.swiper-button-next {
    width: 40px !important;
    height: 40px !important;
    background-color: rgba(255, 255, 255, 0.9) !important;
    border-radius: 50% !important;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2) !important;
    opacity: 0.8;
    transition: all 0.3s ease;
}

.swiper-button-prev:after,
.swiper-button-next:after {
    font-size: 18px !important;
    font-weight: bold;
    color: #333;
}

.swiper-button-prev:hover,
.swiper-button-next:hover {
    background-color: #fff !important;
    opacity: 1;
}

.see-all-btn {
    position: absolute;
    bottom: 20px;
    left: 20px;
    /* Positioned to the left */
    z-index: 10;
    background-color: #fff;
    color: #333;
    border: 1px solid #ddd;
    font-weight: 600;
    padding: 8px 16px;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    transition: all 0.2s ease;
}

.see-all-btn:hover {
    background-color: #f8f9fa;
    transform: translateY(-2px);
    color: #000;
}

.modal-gallery-img {
    width: 100%;
    height: 250px;
    object-fit: cover;
    border-radius: 8px;
    margin-bottom: 15px;
    cursor: pointer;
}


.LegacyStays_MainProperties_AlphaContainer {
    padding-top: 20px;
}

.LegacyStays_PropertyCard_ThetaItem {
    border: none;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    margin-bottom: 20px;
}

.LegacyStays_PropertyCard_ThetaItem:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}

.property-img-carousel-wrapper {
    position: relative;
    overflow: hidden;
}

.LegacyStays_PropertyCard_ThetaItem .carousel-control-prev,
.LegacyStays_PropertyCard_ThetaItem .carousel-control-next {
    width: 35px;
    height: 35px;
    background: rgba(255, 255, 255, 0.8);
    border-radius: 50%;
    top: 50%;
    transform: translateY(-50%);
    margin: 0 10px;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.LegacyStays_PropertyCard_ThetaItem:hover .carousel-control-prev,
.LegacyStays_PropertyCard_ThetaItem:hover .carousel-control-next {
    opacity: 1;
}

.LegacyStays_PropertyCard_ThetaItem .carousel-control-prev-icon,
.LegacyStays_PropertyCard_ThetaItem .carousel-control-next-icon {
    filter: invert(1);
    width: 15px;
    height: 15px;
}

.LegacyStays_PropertiesGrid_SigmaRow.row {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 1.5rem;
}

@media (max-width: 768px) {
    .LegacyStays_PropertiesGrid_SigmaRow .col-md-6 {
        width: 100%;
    }
}

.filter-equal .form-control {
    border-radius: 50px !important;
    /* adjust value as needed */
}

@media (min-width: 992px) {

    /* Bootstrap lg and above = web */
    .contact-banner-heading {

        padding-left: 15px !important;

    }
}

.avatar-wraper {
    width: 80px;
    height: 80px;
    overflow: hidden;
    border-radius: 50%;
}

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

/* Swiper Custom Navigation Styles */
.featured-listing .container {
    position: relative;
}

.custom-swiper-nav {
    color: #000 !important;
    background: #fff;
    width: 40px !important;
    height: 40px !important;
    border-radius: 50%;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    border: 1px solid #eee;
}

.custom-swiper-nav:after {
    font-size: 18px !important;
    font-weight: bold;
}

.swiper-button-disabled {
    opacity: 0.3 !important;
    cursor: auto !important;
    pointer-events: none;
}

.testimonial-swiper {
    padding-bottom: 20px;
}

.why-choose {
    background: #D9CFCC;
    padding: 6rem 0;
    margin: 4rem 0;
}

.why-choose .why-choose-item {
    text-align: left;
}

.why-choose .icon-box {
    width: 72px;
    height: 72px;
    border-radius: 24px;
    margin-bottom: 1rem;
}

.why-choose .icon-box img {
    /* max-width: 100%;
    max-height: 100%; */
    height: 48px;
    width: 48px;
    object-fit: contain;
}

.hero-content-wrapper .content-wrapper {
    min-height: 80dvh;
}

.swiper-wrapper {
    align-items: stretch;
}

.swiper-slide {
    height: auto;
}

@media (max-width: 768px) {
    .featured-listing h1 {
        font-size: 40px;
    }
}

.icon-img-services {
    height: 48px !important;
    width: 48px !important;
}

#checkinPicker,
#checkoutPicker {
    padding-right: 45px !important;
}

.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover,
.flatpickr-day.prevMonthDay.flatpickr-disabled,
.flatpickr-day.nextMonthDay.flatpickr-disabled {
    color: rgba(0, 0, 0, 0.1) !important;
    background: transparent !important;
    cursor: not-allowed !important;
    border-color: transparent !important;
    text-decoration: line-through;
}

.flatpickr-day.disabled,
.flatpickr-day.disabled:hover {
    cursor: not-allowed !important;
    opacity: 0.3;
}

.flatpickr-calendar {
    z-index: 10000 !important;
}

.flatpickr-wrapper {
    width: 100% !important;
    display: block !important;

}

.hero-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1;
    background-color: #000;
}

.hero-section {
    background-color: #000;
    background-image: url('/assets/img/hero-banner.png');
    background-size: cover;
    background-position: center;
}

#testimonialCounter {
    display: none !important;
}

.review-description {
    max-height: 4.5em;       /* ≈ 3 lines (depends on font-size) */
    overflow-y: auto !important;
    line-height: 1.5em;
    padding-right: 6px;      /* space for scrollbar */
}

.testimonials .swiper {
    width: 100%;
    overflow: hidden;
}

.success-container {
    width: 100%;
    max-width: 50%;
    padding: 3rem;
    border-radius: 2rem;
    margin: 4rem 0;
}
@media (max-width: 767.98px) {
    .success-container {
        max-width: 100%;
        padding: 1rem;
    }
}