@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Manrope:wght@200..800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');
@font-face {
  font-family: 'icomoon';
  src:  url('../assets/fonts/icomoon.eot?p6nhda');
  src:  url('../assets/fonts/icomoon.eot?p6nhda#iefix') format('embedded-opentype'),
    url('../assets/fonts/icomoon.ttf?p6nhda') format('truetype'),
    url('../assets/fonts/icomoon.woff?p6nhda') format('woff'),
    url('../assets/fonts/icomoon.svg?p6nhda#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.icon-heart-fill:before {
  content: "\e91a";
  color: #ff0004;
}
.icon-filter:before {
  content: "\e900";
}
.icon-unlock:before {
  content: "\e901";
}
.icon-lock:before {
  content: "\e902";
}
.icon-user:before {
  content: "\e903";
}
.icon-calendar:before {
  content: "\e904";
}
.icon-search:before {
  content: "\e905";
}
.icon-home:before {
  content: "\e906";
}
.icon-check-circle-o:before {
  content: "\e907";
}
.icon-pin:before {
  content: "\e908";
}
.icon-clock-history:before {
  content: "\e909";
}
.icon-delete:before {
  content: "\e90a";
}
.icon-heart:before {
  content: "\e90b";
  color: #000;
}
.icon-check-circle:before {
  content: "\e90c";
}
.icon-checkbox-fill:before {
  content: "\e90d";
}
.icon-alert-fill:before {
  content: "\e90e";
}
.icon-help-fill:before {
  content: "\e90f";
}
.icon-help:before {
  content: "\e910";
}
.icon-info-fill:before {
  content: "\e911";
}
.icon-info:before {
  content: "\e912";
}
.icon-share:before {
  content: "\e913";
}
.icon-location-fill:before {
  content: "\e914";
  color: #365350;
}
.icon-location:before {
  content: "\e915";
}
.icon-calendar-fill:before {
  content: "\e916";
}
.icon-clock:before {
  content: "\e917";
}
.icon-cart:before {
  content: "\e918";
}
.icon-check-lg:before {
  content: "\e919";
}


/* COLORS & MIXINS */
:root {
    --clr-light-bg: #F4F4F4;
    --clr-dark: #365350;
    --clr-dark-alt: #365451;
    --clr-gray: #838383;
    --clr-cta: #85A6A3;
    --shadow: 0px 1px 14px 4px rgba(148, 148, 148, 0.25);
}


/* Ensure no default body overflow issues */
html,
body {
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    font-family: 'Inter', sans-serif;
    scroll-behavior: smooth;
    /* prevent page-level horizontal scroll */
}


/* RESET NAV LINK COLOR */
.nav-link {
    color: var(--clr-gray);
    text-transform: lowercase;
    font-size: 0.9rem;
}

.nav-link:hover {
    color: var(--clr-dark-alt);
}

/* NAVBAR PLACEHOLDER BOX & AVATAR */
.nav-placeholder {
    width: 40px;
    height: 40px;
    background: #E0E0E0;
    border-radius: 8px;
}

.avatar_Profile {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
}


.search-section {
    border-bottom: 2px solid #ECEFF9;
    padding-block: 24px;
}

/* ensure the wrapper is the positioning context */
.avatar-dropdown {
    position: relative;
}

/* hide by default */
.avatar-dropdown .dropdown-menu {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    left: auto;
    margin-top: 0.25rem;
    min-width: 230px;
    border: none;
    border-radius: 22px;
    /* box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px; */
    /* box-shadow: rgba(14, 30, 37, 0.12) 0px 2px 4px 0px, rgba(14, 30, 37, 0.32) 0px 2px 16px 0px; */
    box-shadow: rgba(0, 0, 0, 0.15) 0px 5px 15px 0px;
    font-size: 18px;

}

.avatar-dropdown .dropdown-menu li:hover {
    /* background-color: #838383; */
    /* border-radius: 12px; */

}


/* show when JS toggles the class */
.avatar-dropdown.show-menu .dropdown-menu {
    display: block;
    overflow: hidden;
}
.avatar-dropdown.show-menu .dropdown-menu li a{
    padding: 5px 15px;
}

.avatar-dropdown .dropdown-menu li a:hover {
    background-color: #365350 !important;
    color: #ffffff;
    /* border-radius: 12px; */

}
.dropdown-menu li:hover{
    background-color: #365350 !important;
    overflow: hidden;
}

.dropdown-menu li{
    padding: 0 !important;
}

/* 1) Rounded corners on hover */
.avatar-dropdown .dropdown-item {
    transition: border-radius 0.2s, background-color 0.2s;
    font-size: 15px;
    padding: 0;
}

.avatar-dropdown .dropdown-item:hover {
    border-radius: 0;
    /* adjust as desired */
}

/* 2) Custom “active” (click) color */
/* override Bootstrap’s default .active/.focus styling */
.avatar-dropdown .dropdown-item:active,
.avatar-dropdown .dropdown-item.active,
.avatar-dropdown .dropdown-item:focus {
    background-color: #365350 !important;
    /* your custom color */
    color: #fff !important;
    /* ensure text contrast */
    box-shadow: none;
    /* remove default focus ring if you want */
}














/* SEARCH BAR */
/* .search-bar {
    background: #FFF;
    box-shadow: var(--shadow);
    border-radius: 63px;
    height: 61px;

}

.search-bar .form-control::placeholder {
    color: var(--clr-gray);
}

.btn-search {
    background: var(--clr-dark);
    color: #FFF;
    border-radius: 30px;
    padding: 0 2rem;
} */



.dropdown-item:focus, .dropdown-item:hover{background-color: transparent !important;}



/* Base Search Bar */
.search-bar {
    background: #FFF;
    box-shadow: var(--shadow);
    border-radius: 63px;
    padding: 0.5rem;
    display: flex;
    flex-wrap: wrap;
    /* gap: 0.5rem; */
}

.search-bar .search-field {
    flex: 1 1 200px;
    /* grow, shrink, min-width */
    max-width: 300px;
    /* don’t get too wide */
    /* background: var(--clr-light-bg);
    border-radius: 50px; */
    height: 50px;
    display: flex;
    align-items: center;
    padding: 0 1rem;
}

.search-bar .search-field img {
    margin-right: 8px;
    width: 18px;
    height: 18px;
}

.search-bar .search-field input {
    flex: 1;
    border: none;
    background: transparent;
    font-size: 0.875rem;
    color: #161616;
    font-weight: 400;
}

.search-bar .search-field input::placeholder {
    color: #161616;
}

.btn-search {
    background: var(--clr-dark);
    color: #FFF;
    border-radius: 30px;
    padding: 0.5rem 2rem;
    border: none;
    font-size: 1rem;
    white-space: nowrap;
}

.btn-search:hover {
    /* background: #FFF; */
    color: #FFF;
    background-color: #2f4947;
}

/* Small screens: stack vertically */
@media (max-width: 767px) {
    .modal-content{
        padding: 12px !important;
        margin: 12px !important;
    }
    .search-bar .search-field {
        flex: none;
    }

    .search-bar {
        flex-direction: column;
        align-items: stretch;
        border-radius: 40px;
        padding: 0.8rem;
    }

    .search-bar .search-field,
    .btn-search {
        max-width: 100%;
        width: 100%;
    }

    .btn-search {
        margin-top: 0.5rem;
    }
    #categories-rapper .swiper-button-prev,#categories-rapper .swiper-button-next{display: none;}
    #ApiCategories .swiper-button-prev,#ApiCategories .swiper-button-next{display: none;}
    .favourite-vendors .swiper-button-prev,.favourite-vendors .swiper-button-next{display: none;}
    .nav.session-nav{
        flex-wrap: nowrap;
        overflow-x: auto;
    }
    ul.session-nav.nav .nav-link {
        width: max-content;
        padding: 7px !important;
    }
    .All_dropdowns {
        flex-wrap: nowrap !important;
        overflow-x: auto;
        margin-top: 20px;
    }
    .filter-wrap{height: 41px !important;width: 41px !important;}
    .featured-section h2, .favourite-vendors h2{font-size: 24px !important;}
    .view-map a{justify-content: start !important;}
}

/* Extra-small screens: slightly larger inputs */
@media (max-width: 480px) {
    .search-bar .search-field {
        padding: 0 0.75rem;
        border: none;
    }

    .search-bar .search-field input {
        font-size: 0.9rem;
    }

    .btn-search {
        /* padding: 0 1.5rem; */
        font-size: 0.9rem;
    }
    .cart-section{
        width: 320px !important;
    }
    .hero-section{
        height: auto !important;
    }
    .hero-bg{
        min-height: auto !important;
        background-size: cover !important;
        padding-block: 20px;
    }
    .text-box{
        padding-left: 20px !important;
    }
    .favourite-vendors .swiper-button-prev {
        left: 5px;
    }
    .favourite-vendors .swiper-button-next {
        right: 5px;
    }
}







/* HERO */
.hero-section {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    height: 348px;
    margin-top: 41px;
    margin-bottom: 56px;
}

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

.hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* background: linear-gradient(90deg,
            rgba(54, 84, 81, 0.39) 0%,
            rgba(54, 84, 81, 0.18) 100%); */
}

.hero-text {
    position: absolute;
    top: 50%;
    left: 13%;
    transform: translateY(-50%);
}

.text-box {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    color: #FFF;
}

.text-box small {
    font-size: 1rem;
}

.text-box h1 {
    font-size: 2.5rem;
    margin: 0;
}

.text-box p {
    margin: 0;
}

.btn-book {
    background: #FFF;
    color: var(--clr-dark);
    border-radius: 32px;
    width: 223px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--h-1-h-2-h-3, #0B0C15);
    font-size: 25.269px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}

.btn-book:hover {
    background: #FFF;
    background-color: var(--clr-dark);

}

/* CATEGORIES */
.categories .cat-item {
    text-decoration: none;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: .5rem;
    /* gap: 50px; */
    cursor: pointer;
    color: #161616;
    font-size: 16px;
    font-weight: 400;
}

.categories .cat-item.selected {
    color: var(--clr-dark);
}
/* .categories .cat-item.selected img {
    filter: grayscale(1);
} */

.categories .cat-item img {
    width: 33px;
    height: 33px;
}

/* SERVICES GRID */
.service-card {
    border: none;
    border-radius: 16px;
    box-shadow: var(--shadow);
    overflow: hidden;
}



.date-pill.more img {
    width: 20px;
    height: auto;
}


.date-pill.selected {
    background: #355350;
    color: white;
}


/* calendar to the right-center */
.flatpickr-calendar-1 {
  position: fixed !important;
  top: 335px !important;           /* Distance from the top of the screen */
  left: calc(100% - 320px) !important;  /* Adjust as needed to pin right side */
  z-index: 2000 !important;
}


@media (max-width: 890px) {

    .flatpickr-calendar {
        left: 50% !important;
        top: 30% !important; /* adjust as needed */
        transform: translate(-50%, -30%) !important;
        z-index: 99999 !important; /* ensure it's above everything */

    }
    .cart-section .flatpickr-calendar {
        left: 50% !important;
        top: 50% !important;
        transform: translate(-50%, -50%) !important;
        z-index: 999999 !important;
        position: fixed !important;
    }
}

@media (max-width: 750px) {

    .flatpickr-calendar {
        left: 50% !important;
        top: 30% !important; /* adjust as needed */
        transform: translate(-50%, -30%) !important;
        z-index: 99999 !important; /* ensure it's above everything */
    }
        .cart-section .flatpickr-calendar {
        left: 50% !important;
        top: 50% !important;
        transform: translate(-50%, -50%) !important;
        z-index: 999999 !important;
        position: fixed !important;
    }
}



#cardwellth_home_ID {
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    width: 340px;
    /* max-width: 738.721px;
    height: auto; 
    min-height: 123.143px;
    max-height: 98vh; */
    height: 100%;
    overflow-y: auto;
    background: #fff;
    /* border-radius: 16.282px; */
    /* box-shadow: 0px 6.513px 130.253px rgba(0, 0, 0, 0.08); */
    box-shadow: rgba(14, 30, 37, 0.12) 0px 2px 4px 0px, rgba(14, 30, 37, 0.32) 0px 2px 16px 0px;
    padding: 1.5rem;
    z-index: 1111;
}

.expanded-panel_home_ID {
    display: none;
}

.expanded-panel_home_ID.open {
    display: block;
}


.meta-row {
    display: flex;
    gap: 1.5rem;
    font-size: 0.9rem;
    color: #495057;
    margin-bottom: 1.5rem;
}

.meta-row img {
    width: 16px;
    height: 16px;
}

.section-label {
    font-size: 0.9rem;
    font-weight: 600;
    color: #333;
    margin-bottom: 0.5rem;
}

/* Date selector pills */
.date-selector {
    display: flex;
    gap: 0.5rem;
    margin-bottom: 1.5rem;
    flex-wrap: wrap;
}

.date-pill {
    flex: 1 1 50px;
    max-width: 70px;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    text-align: center;
    padding: 0.5rem 0.25rem;
    cursor: pointer;
    transition: background 0.2s;
}

.date-pill.selected {
    background: #355350;
    color: #fff;
    box-shadow: none;
}

.date-pill small {
    display: block;
    font-size: 0.75rem;
}

.date-pill .day {
    font-weight: 600;
    margin-bottom: 0.25rem;
}

.date-pill.more {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    font-size: 1.2rem;
}

/* Time list */
.time-list {
    max-height: 250px;
    overflow-y: auto;
    padding: 5px;
}

.time-slot {
    background: #fff;
    border-radius: 10px;
    padding: 14px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    cursor: pointer;
    position: relative;
    overflow: hidden;
    margin-bottom: 10px;
}

.time-slot.selected {
    background: #355350;
    color: #fff;
}

.time-slot.selected .slot-info img {
    filter: brightness(0) invert(1);
}

.time-slot.selected .slot-info {
    color: #fff;
}

.time-slot .slot-info {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.9rem;
    justify-content: space-between;
    position: relative;
}

.time-slot .slot-info img {
    width: 16px;
    height: 16px;
}

.time-slot .slot-text {
    display: flex;
    flex-direction: column;
    font-size: 0.85rem;
}

.time-slot .badge-discount {
    background: #A9D2C4;
    color: #355350;
    font-size: 0.75rem;
    padding: 0.25rem 0.5rem;
    border-radius: 6px 0 0 6px;
    position: absolute;
    top: 0;
    right: 0;
}




.Info_actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 15px;
    gap: 10px;
}

.Info_actions button,
.continue-btn {
    font-weight: bold;
    border-radius: 30px;
    background: #a9d2c4;
    border: none;
    color: #000;
    display: flex;
    width: 115px;
    height: 40px;
    padding: 10px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    text-decoration: none;
}

/* .Info_actions button:nth-child(2) {
    color: #000;
    background: #DDEAE7;
} */

.Info_actions button:hover,
.continue-btn:hover {
    background: #355350;
    color: #FFF;
}


#cardwellth_home_ID .toggle-div {
    display: none;
}

#cardwellth_home_ID .toggle-div.open {
    display: block;
    padding: unset;
    box-shadow: none;
    margin-bottom: 0;
}
#cardwellth_home_ID .btn-close-box-booking{
    width: 32px;
    height: 32px;
    font-size: 1.5rem;
    line-height: 1;
    position: absolute;
    top: 0;
    right: 0;
    border: none;
    background: none;
    color: #000;
}
/* #cardwellth_home_ID .time-list{
    max-height: 200px;
} */
/* #cardwellth_home_ID .Info_actions{
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: white;
} */
.custom-card_facility {
    width: 300px;
    font-size: 15.06px;
    border-radius: 32px;
    background: #FFF;
    box-shadow: 0px 0px 12.549px 0px rgba(0, 0, 0, 0.15);
    overflow: hidden;
    border: none;
    min-height: 270px;
}

.card-img-top_custom {
    width: 100%;
    height: 166px;
    flex-shrink: 0;
    background: lightgray 50% / cover no-repeat;
    object-fit: cover;
}

.card-img_facility {
    width: 100%;
    height: 141.804px;
    flex-shrink: 0;
    border-top-left-radius: 15.059px;
    border-top-right-radius: 15.059px;
    background: lightgray 50% / cover no-repeat;
    object-fit: cover;
}



/* .service-card .card-img-top {
    height: 180px;
    object-fit: cover;
} */

.service-card .card-title {
    margin-bottom: .25rem;
}

.CardRowsAll {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 18px;
    /* justify-content: space-evenly; */
}



.card-title {
    font-size: 15px !important;
    
    text-decoration: none;
    margin-top: 0;
    font-weight: 500;
    line-height: 1.2;
    
}


/* card sizing, rounding, shadow */
.custom-card {
    flex-shrink: 0;
    overflow: hidden;
    border-radius: 32px;
    background: #FFF;
    box-shadow: 0px 0px 7.236px 0px rgba(0, 0, 0, 0.15);
    border: none;
}

/* favorite heart button */
.favorite-btn,.btn-delete {
    position: absolute;
    top: 25px;
    right: 25px;
    border-radius: 50%;
    width: 2rem;
    height: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgb(255 255 255 / 83%);
    border: none;
}

/* avatar stack */
.avatar-group {
    display: flex;
}

#service-cards::-webkit-scrollbar {
  display: none;
}

.avatar {
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 50%;
    border: 2px solid #fff;
    margin-left: -0.5rem;
    object-fit: cover;
}

/* service pill */
.service-pill {
    border-radius: 32px;
    background: #FFF;
    box-shadow: rgba(0, 0, 0, 8%) 0px 0px 20px 0;
}

.service-pill h6 {
    font-size: 14px !important;
    margin-bottom: 0.45rem !important;
    font-weight: 600;
}

.service-pill p {
    margin-bottom: 0.5rem;
}

.service-pill a {
    font-size: 12px;
}

/* “See more” */
.custom-card .read-more {
    color: #212529;
    font-size: 14px;
}




.btn-add
,.giftcard-book-btn 
{
    border: 1px solid #E4E6E8;
    background: none;
    font-size: 14px;
    line-height: 1;
    color: #000;
    background-color: #F2F4F6;
    border-radius: 50px;
    font-weight: 500;
    font-family: 'Manrope', sans-serif;
}
.detail-card-info .giftcard-book-btn{
    border-radius: 30px;
    background: #355350;
    border: none;
    color: #fff;
    display: flex;
    width: 200px;
    height: 45px;
    padding: 10px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin: auto;
}


.btn-more {
    background: none;
    border: none;
    color: var(--clr-dark-alt);
    font-size: 1rem;
}


footer {
    background: transparent;
    background-image: linear-gradient(160deg, #021824 0%, #174C49 100%);
    font-family: 'DM Sans', sans-serif;
}

/* FOOTER */

.newsletter input {
    border: none;
    border-radius: 0;
    padding: .75rem 1rem;
    background-color: transparent !important;
    border-bottom: 1px solid #979797;
    color: rgba(255, 255, 255, 50%) !important;
}
.newsletter input::-webkit-input-placeholder {
  color: rgba(255, 255, 255, 50%) !important;
}

.newsletter input:-moz-placeholder {
  color: rgba(255, 255, 255, 50%) !important;
}

.newsletter input::-moz-placeholder {
  color: rgba(255, 255, 255, 50%) !important;
}

.newsletter input:-ms-input-placeholder {
  color: rgba(255, 255, 255, 50%) !important;
}


.newsletter .btn {
    background: #365350;
    border: none;
    border-radius: 0 1rem 1rem 0;
}

.btn-get-started {
    background: #85A6A3;
    color: #000000;
    border: none;
    border-radius: 1rem;
    padding: .75rem 1.5rem;
}

.btn-get-started:hover {
    background: #365451;
    color: #fff;
}

.footer-top h5,
.footer-top h6 {
    /* color: #85A6A3; */
    margin-bottom: .75rem;
    padding-left: 60px;
}

.footer-top a {
    color: #ffffff;
    text-decoration: none;
}

footer ul {
    list-style: none;
    padding-left: 60px;
}
footer ul li{
    margin: 0 0 8px;
    font-size: 15px;
}

.FooterMainrow {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    /* align-items: center; */
    gap: 16px;
    justify-content: space-evenly;
}


.footer-bottom a {
    color: #ffffff;
    margin-right: 1rem;
    text-decoration: none;
}

.social-icons {
    display: flex;
    margin-top: 35px;
    gap: 10px;
}

/* .social-icons img {
    width: 24px;
    margin-left: 1rem;
} */

.Subscribe_box {
    display: flex;
    width: 346.367px;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 30px;
}

.Subscribe {
    color: #ffffff;
    font-family: "DM Sans";
    font-size: 18px;
    font-style: normal;
    font-weight: 800;
    line-height: normal;
    letter-spacing: -0.3px;
}


.footer_column {
    color: #85A6A3;

}










/* Responsive adjustments */

@media (max-width: 1030px) {

    .text-box {
        gap: 0.5rem;
    }

    .btn-book {
        width: 200px;
        height: 50px;
        font-size: 20px;
    }

}

@media (max-width: 768px) {
    footer ul {
        padding-left: 0;
    }
    .footer-top h5,
    .footer-top h6 {
        padding-left: 0;
        margin-top: 0.75rem;
    }
    .lead.me-4 {
        display: none;
    }

    .text-box {
        gap: 0rem;
    }

    .btn-book {
        width: 200px;
        height: 50px;
        font-size: 20px;
    }
    .hero-section{
        height: auto !important;
    }
    .hero-bg{
        min-height: auto !important;
        background-size: 150% !important;
        padding-block: 20px;
    }
    .input-group-wrapper button{width: 100px;}
}

@media (max-width: 730px) {


    .text-box h3 {
        font-size: 20px;
    }

    .text-box h1 {
        font-size: 25px;

    }

    .text-box h5 {
        font-size: 20px;

    }

    .btn-book {
        width: 150px;
        height: 40px;
        font-size: 17px;
    }
}
@media (max-width: 580px) {


    .text-box h3 {
        font-size: 17px;
    }

    .text-box h1 {
        font-size: 20px;

    }

    .text-box h5 {
        font-size: 17px;

    }

    .btn-book {
        width: 140px;
        height: 0px;
        padding: 15px;
        font-size: 16px;
    }
}
@media (max-width: 480px) {

    .search-section  {
        padding-right: 1.5rem !important;
        padding-left: 1.5rem !important;
    }

    .text-box h3 {
        font-size: 15px;
    }

    .text-box h1 {
        font-size: 17px;

    }

    .text-box h5 {
        font-size: 15px;

    }

    .btn-book {
        width: 130px;
        height: 0px;
        padding: 10px;
        font-size: 15px;
    }
}





.headerItem{
    color: #355350;
}




/* wrapper to position arrow */
.custom-select-wrapper {
  position: relative;
  width: 10rem; /* adjust to taste */
}

/* hide default arrow & style select */
.custom-select {
  width: 100%;
  padding: 0.5rem 1rem;
  appearance: none;      /* remove native arrow */
  -webkit-appearance: none;
  border: 1px solid #ccc;
  border-radius: 0.375rem;
  background-color: #fff;
  font-size: 1rem;
  cursor: pointer;
  transition: border-color 0.2s ease;
}
.custom-select:focus {
  outline: none;
  border-color: #6c63ff; /* pro highlight color */
  box-shadow: 0 0 0 3px rgba(108, 99, 255, 0.2);
}

/* custom arrow with pure CSS */
.custom-arrow {
  pointer-events: none; /* clicks go to select */
  position: absolute;
  top: 50%;
  right: 1rem;
  width: 0.6rem;
  height: 0.6rem;
  transform: translateY(-50%) rotate(45deg);
  border-right: 2px solid #666;
  border-bottom: 2px solid #666;
}

/* optional: style the dropdown items */
.custom-select option {
  padding: 0.5rem;
}

.btn-close-box{
    position: absolute;
    top: 5%;
    right: 12%;
    border: none;
    background: none;
    color: #000;
}
.remove-giftcard {
    position: absolute;
    bottom: 6%;
    right: 3%;
    width: 32px;
    height: 32px;
    border: none;
    background: none;
    font-size: 1.5rem;
    line-height: 1;
    color: #000;
}
.cart-section{
    position: fixed;
    top: 0;
    right: -420px; /* hidden off-screen */
    width: 400px;
    height: 100%;
    background: white;
    border-left: 1px solid #ccc;
    box-shadow: -2px 0 8px rgba(0, 0, 0, 0.2);
    padding: 15px;
    transition: right 0.3s ease;
    z-index: 1050;
    overflow: auto;
}
.cart-section.active {
    right: 0;
}
.img-wrapper-location{
    overflow: hidden;
    padding: 12px;
}

.facility-card.skeleton {
    display: flex;
    gap: 1rem;
    padding: 1rem;
    border: 1px solid #ddd;
    border-radius: 8px;
    background: #fff;
    max-width: 500px;
    animation: pulse 1.5s infinite;
}

.skeleton {
    background: #e2e2e2;
    background: linear-gradient(90deg, #e2e2e2 25%, #f0f0f0 50%, #e2e2e2 75%);
    background-size: 200% 100%;
    animation: shimmer 1.5s infinite linear;
    border-radius: 4px;
}

.facility-card__image_cancel {
    width: 120px;
    height: 120px;
    border-radius: 8px;
    overflow: hidden;
    flex-shrink: 0;
}

.facility-card__image_cancel .skeleton {
    width: 100%;
    height: 100%;
}

.facility-card__content_cancel {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.skeleton-title {
    width: 70%;
    height: 20px;
    margin-bottom: 10px;
}

.skeleton-subtitle {
    width: 60%;
    height: 14px;
    margin-bottom: 8px;
}

.skeleton-subtext {
    width: 50%;
    height: 14px;
}

@keyframes shimmer {
    0% {
        background-position: -200% 0;
    }
    100% {
        background-position: 200% 0;
    }
}

@keyframes pulse {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: 0.9;
    }
}

.dropdown-toggle{color: #838383;border:1px solid #d9d9d9 !important;}
.dropdown-toggle::after{display: none !important;}
.headerItem .bi-heart::before{color: unset !important;}
.bi-heart::before{display: flex !important;}
.ellipses-desc,.facility-card__text {
    display: -webkit-box !important;
    -webkit-line-clamp: 2;       /* Limit to 2 lines */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}
.service-price-details{
    font-size: 9.65px;
}
button#avatarBtn {
    border: 1px solid #d3d3d3;
    border-radius: 50px;
}
.cartOpen {
    position: relative;
    height: 25px;
}
.cartOpen .badges{
    position: absolute;
    top: 0;
    right: -3px;
    background-color: #ff453a;
    height: 10px;
    width: 10px;
    border-radius: 50%;
}
.font-12{
    font-size: 12px !important;
}
.font-14{
    font-size: 14px !important;
}
.font-15{
    font-size: 15px !important;
}
.font-16{
    font-size: 16px !important;
}
.service-detail {
    border-top-left-radius: 32px;
    border-top-right-radius: 32px;
    margin-top: -25px;
    position: relative;
    background: #ffffff;
    padding-inline: 12px;
    box-shadow: 0px 0px 12.549px 0px rgba(0, 0, 0, 0.15);
    padding-top: 30px !important;
}
.service-price-details{
    color: #355350;
}
.vendor-detail-body{
    border-top-left-radius: 32px;
    border-top-right-radius: 32px;
    margin-top: -25px;
    position: relative;
    background: #ffffff;
    box-shadow: 0px 0px 12.549px 0px rgba(0, 0, 0, 0.15);
    padding-top: 2rem !important;
}
img.vendor-logo {
    position: absolute;
    height: 55px;
    width: 55px;
    border-radius: 50px;
    top: -27px;
    left: 0;
    right: 0;
    margin: auto;
    object-fit: contain;
    background: inherit;
    border: 1px solid #ddd;
}
.vendor-logo-card{
    height: 68px;
    width: 68px;
    border-radius: 50px;
    margin: auto;
    object-fit: contain;
    background: inherit;
    border: 1px solid #ddd;
    margin-bottom: 20px;
}
.border-right-light{
    border-right: 1px solid #c9c9c9;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b{display: none;}
.select2-container--default .select2-selection--single{border: none !important;}
.list-your-facility {
    background: #85A6A3;
    border: none;
    color: inherit;
    padding: .5rem 1.5rem;
    border-radius: 8px;
}
footer .border-bottom{
    border-bottom: 1px solid #979797 !important;
}
.toggle-booking {
    background: transparent;
    border: none;
    position: absolute;
    right: 3%;
    top: 5%;
}
.toggle-booking img{
    width: 20px;
}
.expanded-panel.toggle-div {
    position: relative;
    padding: 20px;
    margin-bottom: 30px;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 5px 1px, rgba(0, 0, 0, 0.04) 0px 8px 7px 4px;
    border-radius: 10px;
}
.cart-footer-actions{
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}
.book-continue-btn{
    background: #355350;
    color: #DDEAE7;
    border-radius: 32px;
    padding-block: 15px;
}
.book-later-btn{
    background: #DDEAE7;
    color: #355350;
    border-radius: 32px;
    padding-block: 15px;
}
.book-later-btn:hover{
    background: #355350;
    color: #DDEAE7;
}
.book-continue-btn.disabled{
    background-color: #D6D7D8;
    color: #6E6A6A;
    border-color: #D6D7D8;
}
.book-continue-btn:hover{
    background: #DDEAE7;
    color: #355350;
}
.package-sessions .card {
    border: none;
    background: none;
    background-color: transparent;
}
.package-sessions .card-header {
    background: none;
    background-color: transparent;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.form-check .form-check-input[type=radio] {
    width: 1.2em;
    height: 1.2em;
    background: #d9d9d9;
}
.form-check .form-check-input:focus{
    box-shadow: none;
}
.form-check-input[type=radio]:checked {
    background: #355350;
    border: 4px solid #d9d9d9;
}
.search-bar .search-field input:focus-visible {
    outline: none;
}

#ApiVendors .swiper-button-prev,
#ApiVendors .swiper-button-next {
  position: absolute; /* Make sure it's positioned relative to #ApiVendors */
  top: 50%;
  transform: translateY(-50%);
  width: 45px;
  height: 45px;
  z-index: 9999; /* 👈 ensure it's above EVERYTHING */
}

#ApiVendors .swiper-button-prev {
  left: -50px; /* 👈 Push left arrow outside */
}

#ApiVendors .swiper-button-next {
  right: -50px; /* 👈 Push right arrow outside */
}

#ApiVendors .swiper-button-prev::after,
#ApiVendors .swiper-button-next::after {
  font-size: 18px;
  color: #000; /* Make icons visible */
}

#ApiVendors {
  position: relative;
}
.cart-header {
    text-align: center;
    margin-bottom: 40px;
}
.show-more{
    background: none;
    border: none;
    width: auto;
}
.show-more span{
    text-decoration: underline;
}
.editIcon{
    position: absolute;
    right: 3%;
    bottom: 3%;
    z-index: 1;
    background: #fff;
    border-radius: 50px;
    padding: 10px;
    border: 1px solid #d9d9d9;
}
.font-22{font-size: 22px !important;}
.font-17{font-size: 17px !important;}
.font-14{font-size: 14px !important;}
.font-20{font-size: 20px !important;}
.see-more-link{cursor: pointer;}
.card-img_facility-logo{
        position: absolute;
    height: 55px;
    width: 55px;
    border-radius: 50px;
    top: -27px;
    left: 0;
    right: 0;
    margin: auto;
    object-fit: contain;
    background: inherit;
    border: 1px solid #ddd;
}
#dropdownMenuButton{
    border: none !important;
    font-weight: 400;
    font-size: 0.875rem;
    color: #161616 !important;
}
.dropdown-menu-wrapper
 {
    display: none;
    position: absolute;
    width: 350px;
    background: white;
    box-shadow: 0px 1px 14px 4px rgba(148, 148, 148, 0.25);
    border-radius: 13px;
    min-height: 50px;
    z-index: 999;
    overflow: hidden;
    top: 52px;
    padding: 20px 10px;
}
.select2-container--default .select2-selection--single{border: 1px solid #aaa !important;}
header {
  position: relative; /* Normal header */
  width: 100%;
  background: white;
  transition: all 0.3s ease;
  z-index: 1000;
  padding: 20px 0;
}
header.sticky {
  position: fixed; /* Sticky header */
  top: 0;
  left: 0;
  background: #fff;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  padding: 10px 0; /* Slightly smaller when sticky */
}
.view-map {
    /* position: fixed;
    bottom: 5%;
    left: 0;
    right: 0;
    margin: auto; */
    /* background: #000; */
    /* border-radius: 32px;
    z-index: 10000;
    width: 149px;
    height: 34px; */
    /* text-align: center;
    justify-content: center;
    display: flex;
    align-items: center; */
}
.view-map a{
    color: #000;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 7px;
    justify-content: end;
}
ul.amenities {
    list-style: none;
    padding-left: 0;
    margin-top: 20px;
}
ul.amenities li{
    margin-bottom: 20px;
}
.service-price-details .icon-clock-history:before,.service-price-details .icon-pin:before,.service-price-details .icon-clock:before{font-weight: 600;
    color: #355350;}
.cart-calendar{color: #355350;font-size: 18px;}
.service-price-details small {
    display: flex;
    align-items: baseline;
    gap: 4px;
    font-size: 12px !important;
    font-weight: 400;
    color: #365350 !important;
}
.service-detail p.font-14.text-muted {
    display: flex;
    align-items: center;
    gap: 7px;
}
.service-detail .card-title{
    display: -webkit-box !important;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 0 0 70%;
}
.share-icon {
    display: flex;
    gap: 7px;
    align-items: center;
}
.see-more-link {
    color: #212529;
    font-size: 14px;
}
.modal-dialog-centered{justify-content: center;}
.date-pill .day{
    color: rgba(0 0 0 / 50%);
}
.date-pill.selected .day{
    color: #fff;
}
.slot-info span {
    font-size: 14px;
    font-weight: 400;
}
.slot-info span strong {
    font-size: 16px;
    font-weight: 500;
}
.time-slot{color: #283938 !important;}
input#referral_link:focus {
    background: transparent;
    outline: none !important;
    box-shadow: none;
}
.rounded-full{border-radius: 32px !important;}

#debit-card .form-control{
    background-color: #f4f4f4;
    border-radius: 32px;
    padding-block: 10px;
}
.loader{
    border-radius: 50px;
    position: fixed;
    z-index: 99999;
    width: 50px;
    height: 50px;
    top: 0;
    bottom: 0;
    margin: auto;
    left: 0;
    right: 0;
    display: none;
}
.loader.show{
    display: block;
}
.vendor-link {
    display: -webkit-box !important;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 0 0 70%;
}
.favourite-vendors{position: relative;}
.favourite-vendors .swiper-button-next {
    right: 65px;
}
.favourite-vendors .swiper-button-prev {
    left: 65px;
}
.favorite-btn.selected .icon-heart:before {
    content: "\e91a";
    color: #ff0004;
}
.favorite-btn.selected img {
    filter: invert(1);
}
.btn-close-cart{
    position: absolute;
    background-color: transparent;
    border: none;
    top: 2%;
    right: 5%;
    font-size: 33px;
    padding: 0;
}
.button_extend.selected,.giftcard-book-btn.selected,.continue-btns.selected{
    background-color: #365350;
    border-color: #E4E6E8;
}
.btn-primary-green{
    padding: 10px;
    border-radius: 34.99px;
    background-color: #355350;
    color: #FFFFFF;
    width: fit-content;
    font-size: 14px;
    margin-bottom: 10px;
}
.input-group-wrapper {
    position: relative;
}
.input-group-wrapper button {
    position: absolute;
    top: 4px;
    right: 4px;
    padding: 11.66px;
    width: 220px;
}
.btn-primary-green:hover{
    background-color: #DDEAE7;
    color: #355350;
}
.lead.headerItem {
    font-weight: 400;
    color: #161616 !important;
}
.text-box h5{
    font-weight: 400;
}
span.badge-promo {
    font-size: 14px;
    position: relative;
    background: #c9c9c9;
    padding: 5px 10px;
    border-radius: 32px;
    font-weight: 500;
}
span.badge-promo i {
    position: absolute;
    font-size: 18px;
    z-index: 0;
    background: transparent;
}
span.remove-promo {
    font-size: 20px;
    cursor: pointer;
}
ul.list-style-none {
    list-style: none;
}
div:where(.swal2-container) h2:where(.swal2-title){font-size: 20px !important;}
.bi-x::before{cursor: pointer;}
span.discount-badge {
    background: #ffffff;
    position: absolute;
    top: 23px;
    left: 15px;
    border-radius: 50px;
    padding: 2px 12px;
    font-family: 'Manrope';
    font-weight: bold;
    color: #85A6A3;
    font-size: 14px;
}
.read-less {
    position: absolute;
    z-index: 999;
    top: 15px;
    right: 15px;
    width: 35px !important;
    border: none;
    background: rgba(255, 255, 255, 83%);
    border-radius: 50px;
    display: flex
;
    align-items: center;
    height: 35px;
    justify-content: center;
}
span.discount-slot {
    position: absolute;
    top: 0;
    right: 0;
    padding: 5px 12px;
    color: #6CC605;
    border-bottom-left-radius: 14.5px;
    background: #DDEAE7;
    font-size: 12px;
    font-weight: 500;
}
.time-slot.discounted-slot {
    position: relative;
    padding-top: 20px;
}
.goToReviews,.goToLocations{cursor: pointer;}
header .icon-cart:before{color: #1C1C1E;font-size: 25px;}
.read-more .icon-info:before, .giftcard-info .icon-info::before{
    font-size: 20px;
    color: #355350;
}
.text-green::before{color: #355350;}
#detail-card .header h5{margin-bottom: 0.45rem !important;}
#detail-card .detail-card-info p {
    font-size: 14px;
    font-weight: 400;
    --bs-text-opacity: 1;
    color: var(--bs-secondary-color) !important;
}
.detail_desc{margin-bottom: 0;}
.dropdown-toggle.selected {
    font-weight: 500;
    color: #365350;
    display: flex;
}
.otp-container {
    background: #fff;
    border-radius: 12px;
    width: 300px;
}

.otp-container p {
    margin-bottom: 20px;
    font-size: 16px;
    color: #333;
}

    .otp-inputs {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    }

    .otp-inputs input {
    width: 50px;
    height: 60px;
    text-align: center;
    font-size: 24px;
    border: 1px solid #ddd;
    border-radius: 8px;
    outline: none;
    transition: border-color 0.3s;
    }

    .otp-inputs input:focus {
    border-color: #4CAF50;
    box-shadow: 0 0 5px rgba(76, 175, 80, 0.5);
    }
.cart-header .icon-cart {
    font-size: 26px;
    background: #365350;
    color: #fff;
    border-radius: 50px;
    position: static;
    height: 56px;
    width: 56px;
    margin: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
.cart-header .icon-cart::after {
    content: "";
    position: absolute;
    top: 12px;
    right: 10px;
    background-color: #ff453a;
    height: 10px;
    width: 10px;
    border-radius: 50%;
}
.font-26 {
    font-size: 26px;
}
input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0px 1000px #f4f4f4 inset;
    -webkit-text-fill-color: #000;
}
.pay-row
{
    border: 1px solid;
    padding: 5px 10px;
    border-radius: 10px;
    border-color: #c9c9c9;
}
.editIcon{cursor: pointer;}
.reward-points {
    position: absolute;
    font-size: 10px;
    line-height: 1;
    width: max-content;
    top: 26px;
    left: 0;
    right: 0;
    margin: auto;
}
.info-health-icon-wrap{
    height: 40px;
    width: 40px;
    align-items: center;
    justify-content: center;
    display: flex;
    border-radius: 50px;
    background: #B4BFBE;
    color: #365350;
}
.resetFilterHome{
    line-height: 0.5;
    display: flex;
    align-items: center;
    justify-content: end;
    font-size: 20px;
}
.category-image-wrapper {
    text-align: center;
    background: transparent;
    height: 65px;
    width: 65px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 17.75px;
}
.cat-item.selected .category-image-wrapper{
    background: #365350;
}
.packageSessionsName{
    display: -webkit-box !important;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}
span.goToReviews {
    border-bottom: 2px solid;
}
.footer-top-actions a{
    display: flex;
    align-self: start;
    gap: 10px;
    align-items: center;
    line-height: normal;
}
.footer-top-actions a svg{width: 20px;height: 20px;}


.input-group.newsletter {
  position: relative;
  display: flex;
  align-items: center;
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}

.input-group.newsletter input.form-control {
  background: transparent;
  border: none;
  color: white;
  padding: 10px 0;
  flex: 1;
  font-size: 16px;
}

.input-group.newsletter input.form-control::placeholder {
  color: rgba(255, 255, 255, 0.6);
}

/* Style the arrow link */
.input-group.newsletter button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 10px;
  height: 100%;
  position: relative;
  transition: transform 0.33s cubic-bezier(0.22, 0.61, 0.36, 1);
  background: transparent;
  border: none;
}

.input-group.newsletter button img {
  width: 16px;
  height: 16px;
  transition: transform 0.33s cubic-bezier(0.22, 0.61, 0.36, 1);
  filter: invert(1);
}

/* Hover Animation */
.input-group.newsletter button:hover img {
  transform: translateX(5px) translateY(-5px);
}

/* .g_id_signin div.S9gUrf-YoZ4jf {
    background-color: #DDEAE7;
    color: #355350;
    border-radius: 50px;
    font-weight: 500;
    border: none;
    font-size: 1rem;
    height: 58px;
    width: 100%;
    padding-inline: 0;
    
}
.g_id_signin{
    border-radius: 50px;
    overflow: hidden;
}

.g_id_signin div.S9gUrf-YoZ4jf:hover {
    background-color: #355350;
    color: #fff;
}
.g_id_signin div span{
    font-family: 'Inter', sans-serif !important;
} */
#g_id_signin iframe{
    font-family: 'Inter', sans-serif !important;
}
#g_id_signin{
    display: flex;
    justify-content: center;
}
h5#giftCardName {
    font-size: 15px;
    margin: 0;
    margin-bottom: 0.45rem;
    font-weight: 600;
}
#detail-card .detail-card-info p strong {
    color: black;
    font-weight: 500;
}
.e-font-icon-svg{
    fill: white;
    display: block;
    height: 1em;
    position: relative;
    width: 1em;
}
.social-icons a {
    background-color: #0C4651;
    border-radius: 30px;
    padding: 0.5em;
}