:root {
    --height-48: 48px;
    --space-108: 108px;
    --space-120: 120px;
    --space-145: 145px;
}

body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.section-heading-wrap {
    margin-bottom: var(--size-24);
}

.card {
    padding: var(--size-20);
    border: 1px solid var(--blue-tint-2);
    border-radius: var(--size-12);
}

.card-lg {
    padding: var(--size-24);
    border: 1px solid var(--blue-tint-1);
    border-radius: calc(var(--size-12) + 2px);
}

.absolute-img img {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    border-radius: var(--size-12);
}

.placeholder-img img {
    width: auto;
    height: auto;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

/* HEADER START */
.header {
    box-shadow: 0px 4px 20px 0px #23346c1a;
    position: sticky;
    top: 0;
    background-color: var(--white);
    z-index: 999;
}

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

.navbar-wrap {
    display: flex;
    align-items: center;
    padding: var(--size-12) 0;
}

.logo-wrap {
    width: 52px;
    height: auto;
    margin-right: var(--size-42);
}

.logo-wrap img {
    width: inherit;
    height: inherit;
    object-fit: contain;
}

.join-business {
    margin-right: var(--size-42);
    color: var(--gray-tint-3);
    transition: 0.3s all;
}

.join-business:hover {
    color: var(--blue);
}

.avatar-wrap {
    width: 42px;
    height: 42px;
    margin-right: var(--size-12) !important;
}

.header-srch-wrap {
    height: var(--height-48);
    border: 1px solid var(--blue-tint-2);
    max-width: 532px;
    width: 100%;
    border-right: none;
    border-top-left-radius: var(--size-12);
    border-bottom-left-radius: var(--size-12);
    display: flex;
    align-items: center;
    padding: 6px 0;
    overflow: hidden;
}

.header-srch-wrap input,
.header-srch-wrap div {
    width: 50%;
    height: 100%;
}

.header-srch-wrap input {
    border: none;
    padding: 0 var(--size-16);
    font-size: var(--font-18);
    font-weight: 600;
    color: var(--gray-shade-1);
    background-color: transparent;
}

.location-input-wrap::before {
    content: "";
    position: absolute;
    width: 1px;
    height: 80%;
    background-color: var(--blue-tint-2);
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

.location-icon {
    top: 50%;
    left: var(--size-16);
    transform: translateY(-50%);
    width: var(--size-20);
    height: var(--size-20);
}

.location-input-wrap input {
    padding-left: calc(var(--size-16) + var(--size-20) + var(--size-8));
    width: 100%;
}

.srch-btn {
    height: var(--height-48);
    padding: var(--size-8) var(--size-20);
    border: none;
    background-color: var(--blue);
    color: var(--white);
    border-top-right-radius: var(--size-12);
    border-bottom-right-radius: var(--size-12);
}

/* HEADER END */

/* FOOTER START */
footer {
    background-color: #2c2c2c;
    padding: calc(var(--size-42) + var(--size-8)) 0;
    margin-top: auto;
}

.footer-link-wrap {
    display: flex;
    align-items: center;
    padding-bottom: var(--size-24);
    margin-bottom: var(--size-24);
    border-bottom: 1px solid #d5d5d5;
    flex-wrap: wrap;
    row-gap: 15px;
}

.footer-link {
    color: #a9a9a9;
    transition: 0.3s all;
}

.footer-link:hover {
    color: var(--blue);
}

.footer-link:not(:last-child) {
    margin-right: var(--size-42);
}

.footer-logo-wrap {
    width: 42px;
    height: auto;
    margin-right: var(--size-12);
}

.copyright {
    color: #a5a5a5;
}

.footer-icon i {
    width: 28px;
    height: 28px;
    color: var(--gray-tint-3);
    transition: 0.3s all;
}

.footer-icon:not(:last-child) {
    margin-right: var(--size-12);
}

.footer-icon:hover i {
    color: var(--blue);
}

/* FOOTER END */

/* SUB HEADER START */
.sub-header-wrap {
    padding: var(--size-16) 0;
    background-color: var(--blue-tint-1);
}

.sub-header-container {
    max-width: 68%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.sub-header-link {
    color: var(--gray-tint-3);
}

.sub-header-link.active {
    color: var(--gray-shade-1);
}

.sub-header-link:not(:last-child) {
    margin-right: calc(var(--size-42) + var(--size-16));
}

/* SUB HEADER END */

/* HOME PAGE START */
/* HERO START */
.hero-section {
    min-height: 76vh;
    background: url("../../images/background/bg-home-hero.png") no-repeat var(--black);
    background-size: cover;
    background-position: top center;
    padding-top: 11.5%;
    padding-bottom: 3%;
}

.hero-section::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background: #00000066;
}

.hero-section h1 {
    font-size: 72px;
    margin-bottom: var(--size-12);
    max-width: 800px;
}

.hero-section h4 {
    color: var(--blue-tint-1);
    margin-bottom: calc(var(--size-42) + var(--size-8));
    max-width: 890px;
}

.srch-wrap {
    max-width: 500px;
    margin: 0 auto;
    --icon-size: 22px;
}

.srch-icon {
    position: absolute;
    top: 50%;
    left: var(--size-12);
    transform: translateY(-50%);
    width: var(--icon-size);
    height: var(--icon-size);
}

.srch-input {
    width: 100%;
    height: var(--height-48);
    background-color: var(--white);
    border-radius: var(--size-12);
    border: none;
    padding: var(--size-12);
    padding-left: calc(var(--icon-size) + var(--size-24));
}

.hero-inner-container {
    display: flex;
    align-items: flex-start;
    --hero-left: 32%;
}

.hero-left {
    width: var(--hero-left);
}

.header_menus {
    display: flex;
    flex-direction: row;
}

.hero-right {
    width: calc(100% - var(--hero-left));
    padding-left: 6.2%;
    display: block;
}

.appointment-card {
    padding: var(--size-16);
    background-color: var(--gray-tint-4);
}

.appointment-wrap {
    display: flex;
    align-items: flex-start;
    flex-direction: row;
}

.appointment-date-wrap {
    border: 2px solid var(--blue-tint-1);
    border-radius: var(--size-8);
    min-width: 118px;
    max-width: 118px;
    min-height: 118px;
    margin-right: var(--size-16);
}

.appointment-date,
.appointment-time-wrap span {
    padding: var(--size-8) var(--size-8);
}

.appointment-time-wrap {
    border-top: 2px solid var(--blue-tint-1);
}

.sb-badge {
    display: inline-block;
    font-size: var(--font-14);
    font-weight: 600;
    padding: 4px var(--size-12);
    border-radius: 4px;
}

.upcoming-badge {
    color: #0fb50e;
    background-color: #0fb50e33;
}

.completed-badge {
    color: #0088d4;
    background-color: #0088d540;
}

.cancelled-badge {
    color: #d33b3b;
    background-color: #d33b3b40;
}

/* HERO END */

/* CATEGORIES START */
.categories-section {
    padding: var(--space-108) 0 var(--space-120);
}

.category-card {
    transition: 0.3s all;
}

.category-card:hover {
    background-color: var(--blue-tint-1);
    border-color: var(--blue-tint-1);
}

.category-img-wrap {
    margin-bottom: var(--size-24);
    width: 100%;
}

/* CATEGORIES END */

/* NEARBY SALONS START */
.nearby-salon-section {
    padding-bottom: var(--space-120);
}

.salon-img-wrap {
    width: 100%;
    padding-bottom: 46%;
    margin-bottom: var(--size-12);
}

.salon-rating {
    padding: 4px calc(var(--size-8) + 2px);
    background-color: var(--blue-tint-1);
    border-radius: var(--size-8);
    top: var(--size-8);
    right: var(--size-8);
}

.wish-btn {
    background-color: var(--blue-tint-1);
    padding: 5px;
    width: 28px;
    height: 28px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.wish-btn i {
    width: 18px;
    height: 18px;
}

.wish-btn i svg {
    width: inherit;
    height: inherit;
    object-fit: contain;
}

/* NEARBY SALONS END */

/* WITH US START */
.with-us {
    padding-bottom: var(--space-145);
}

.with-img-wrap {
    padding-bottom: 88%;
}

.with-img-wrap img {
    border-radius: var(--size-16);
}

.with-card {
    border: 3.1px solid var(--blue-tint-1);
    border-radius: var(--size-16);
    padding: 171px;
    height: 100%;
}

.with-card h2 {
    line-height: 1.36;
    max-width: 465px;
    margin-bottom: var(--size-12);
}

.with-card h6 {
    max-width: 445px;
    margin-bottom: var(--size-32);
}

/* WITH US END */
/* HOME PAGE END */

/* SEARCH PAGE START */
.nearby-service-section {
    padding-top: calc(var(--space-120) / 2);
    padding-bottom: var(--space-108);
}

.srch-nearby-service {
    padding-bottom: 53%;
}

.salon-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: var(--size-24);
    margin-bottom: var(--size-24);
}

.salon-section {
    padding-bottom: var(--space-145);
}

.salon-container .srch-nearby-service {
    padding-bottom: 65%;
    margin-bottom: var(--size-16);
    background-color: #f2f2f2;
    border-radius: var(--size-12);
}

.brand-logo-wrap {
    width: 40px;
    height: 40px;
    margin-right: var(--size-12);
}

.brand-logo-wrap.small {
    width: 32px;
    height: 32px;
    margin-right: var(--size-8);
}

.salon-brand-wrap {
    margin-bottom: var(--size-16);
}

.pagination-page-wrap .list-btn {
    cursor: auto;
}

.pagination-page-wrap .sb-btn.transparent:hover {
    background-color: transparent;
}

.salon-pagination-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 58.5%;
    margin-left: auto;
}

.salon-filter-container {
    margin-bottom: var(--size-24);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.salon-filter-container button {
    padding: var(--size-12);
    height: var(--height-48);
}

.salon-filter-container button i {
    width: var(--size-24);
    height: var(--size-24);
}

.salon-filter .dropdown-menu {
    min-width: 200px;
}

.filter-section-wrap {
    padding-bottom: var(--size-16);
    margin-bottom: var(--size-16);
    border-bottom: 1px solid var(--blue-tint-2);
}

.drop-list .checkbox-input:not(:last-child),
.drop-list label:not(:last-child) {
    margin-bottom: var(--size-12);
}

.radio-container {
    display: block;
    position: relative;
    padding-left: calc(calc(var(--size-20) - 2px) + var(--size-12));
    cursor: pointer;
    font-size: var(--font-16);
    user-select: none;
    color: var(--gray-tint-3);
    font-weight: 600;
}

.radio-container input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
}

.checkmark {
    position: absolute;
    top: 0;
    left: 0;
    height: calc(var(--size-20) - 2px);
    width: calc(var(--size-20) - 2px);
    background-color: var(--white);
    border: 1.5px solid var(--blue);
    border-radius: 50%;
}

.radio-container:hover input~.checkmark {
    background-color: var(--white);
}

.radio-container input:checked~.checkmark {
    background-color: var(--white);
}

.checkmark:after {
    content: "";
    position: absolute;
    display: none;
}

.radio-container input:checked~.checkmark:after {
    display: block;
}

.radio-container .checkmark:after {
    top: 50%;
    left: 50%;
    width: var(--size-12);
    height: var(--size-12);
    border-radius: 50%;
    background: var(--blue);
    transform: translate(-50%, -50%);
}

.pagination-cntrl-wrap button {
    height: var(--height-48);
}

/* SEARCH PAGE END */

/* CATEGORY PAGE START */
.category-salon-section,
.salon-slider-section {
    padding-top: calc(var(--space-120) / 2);
}

.section-title {
    margin-bottom: var(--size-42);
}

/* CATEGORY PAGE END */

/* SALON DETAILED PAGE START */
.salon-slider-section {
    margin-bottom: var(--size-42);
}

.salon-slider-img-wrap {
    padding-bottom: 52%;
    border-radius: var(--size-24);
}

.salon-slider-img-wrap::before,
.salon-slider-img-wrap::after {
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.salon-slider-img-wrap::before {
    top: 0;
    background: linear-gradient(360deg, rgba(0, 0, 0, 0) 78.62%, #000000 100%);
    border-radius: var(--size-24) var(--size-24) 0 0;
}

.salon-slider-img-wrap::after {
    bottom: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 70.84%, #000000 100%);
    border-radius: 0 0 var(--size-24) var(--size-24);
}

.salon-slider-img-wrap img {
    border-radius: var(--size-24);
}

.salon-slider-content-top {
    top: var(--size-32);
    left: var(--size-32);
    z-index: 1;
}

.salon-slider-rating {
    padding: var(--size-8) var(--size-12);
    background-color: var(--blue-tint-1);
    border-radius: var(--size-8);
}

.salon-slider-content-bottom {
    bottom: var(--size-32);
    left: var(--size-32);
    z-index: 1;
    width: calc(100% - calc(var(--size-32) + var(--size-32)));
}

.salon-icon-wrap {
    width: 80px;
    height: 80px;
    margin-right: var(--size-12);
}

.salon-btn {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background-color: var(--blue-tint-1);
    color: var(--blue);
}

.salon-btn:not(:last-child) {
    margin-right: var(--size-24);
}

.salon-btn i {
    width: var(--size-32);
    height: var(--size-32);
}

.salon-slider .swiper-button-next,
.salon-slider .swiper-button-prev {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background-color: var(--blue-tint-1);
    color: var(--blue);
}

.salon-slider .swiper-button-next i,
.salon-slider .swiper-button-prev i {
    width: var(--size-24);
    height: var(--size-24);
}

.salon-slider .swiper-button-next::after,
.salon-slider .swiper-button-prev::after {
    display: none;
}

.salon-slider .swiper-button-next {
    right: var(--size-32);
}

.salon-slider .swiper-button-prev {
    left: var(--size-32);
}

.salon-service-section {
    padding-bottom: var(--space-108);
}

.salon-service-container {
    display: flex;
    align-items: flex-start;
    --salon-service-right: 36.3%;
}

.salon-service-left {
    width: calc(100% - var(--salon-service-right));
    padding-right: 5%;
}

.salon-service-right {
    width: var(--salon-service-right);
}

.contact-list:not(:last-child) {
    padding-bottom: var(--size-16);
    margin-bottom: var(--size-16);
    border-bottom: 1px solid var(--blue-tint-2);
}

.contact-list a {
    text-decoration: none;
    color: var(--gray-tint-3);
}

.contact-list a:hover {
    color: var(--blue);
}

.business-card {
    padding: var(--size-20);
    border-radius: calc(var(--size-20) - 2px);
    background-color: #f2f2f2;
}

.business-hour-list {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.business-hour-list:not(:last-child) {
    padding-bottom: calc(var(--size-12) + 2px);
    margin-bottom: calc(var(--size-12) + 2px);
    border-bottom: 0.5px solid var(--blue-tint-2);
}

.amenities-grid-wrap {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: var(--size-12);
}

.salon-inner-heading {
    margin-bottom: var(--size-12);
}

.social-media-wrap {
    display: flex;
    align-items: center;
    column-gap: var(--size-12);
}

.salon-social-media {
    width: 52px;
    height: 52px;
    background-color: var(--blue-tint-1);
    border-radius: var(--size-12);
}

.salon-service-btn {
    padding: var(--size-12) var(--size-16);
    border: 1px solid var(--blue-tint-1);
    border-radius: var(--size-12);
    font-size: var(--font-16);
    font-weight: 600;
    color: var(--gray-tint-3);
    height: var(--height-48);
}

.salon-service-srch {
    width: 340px;
    margin: unset;
}

.salon-service-srch .srch-input {
    border: 1px solid var(--blue-tint-2);
}

.salon-accordion .accordion-button {
    padding: var(--size-20) 0;
}

.salon-accordion .accordion-button:focus {
    box-shadow: none;
    border: none;
}

.salon-accordion .accordion-item {
    border-bottom: 1px solid var(--blue-tint-2);
}

.salon-accordion .accordion-item:first-child .accordion-button {
    padding-top: var(--size-12);
}

.salon-accordion .accordion-body {
    padding: var(--size-20) 0;
    border-top: 1px solid var(--blue-tint-2);
}

.salon-accordion .accordion-button:not(.collapsed) {
    background-color: transparent;
    color: var(--gray-shade-1);
    box-shadow: none;
}

.salon-accordion .accordion-button::after {
    background-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 13L16 21L24 13' stroke='%2323346C' stroke-width='2.56' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
    width: var(--size-32);
    height: var(--size-32);
    background-size: contain;
}

.service-detail-wrap {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.service-detail-wrap:not(:last-child) {
    padding-bottom: var(--size-20);
    margin-bottom: var(--size-20);
    border-bottom: 1px solid var(--blue-tint-2);
}

.service-about-wrap,
.service-price-wrap {
    display: flex;
    align-items: flex-start;
}

.service-img-wrap {
    width: 68px;
    height: 68px;
    margin-right: var(--size-12);
    border-radius: var(--size-8);
}

.service-img-wrap img {
    border-radius: var(--size-8);
}

.service-price-wrap .sb-btn {
    padding: var(--size-12) var(--size-42);
}

.service-des {
    max-width: 375px;
    margin-right: var(--size-12);
}

.customer-reviews {
    padding-bottom: var(--space-120);
}

.review-card {
    padding: var(--size-24);
    background-color: #f2f2f2;
    border-radius: var(--size-16);
    height: 100%;
}

.review-head-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: var(--size-20);
}

.review-profile-wrap {
    width: 52px;
    height: 52px;
    margin-right: var(--size-20);
}

.review-photo-wrap {
    margin-top: var(--size-20);
    display: flex;
    align-items: center;
    column-gap: 6px;
}

.review-img-wrap {
    width: 48px;
    height: 48px;
    border-radius: 4px;
}

.review-img-wrap img {
    border-radius: 4px;
}

.line-clamp-1 {
    display: -webkit-box !important;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.report-list-wrap {
    margin-bottom: var(--size-32);
}

.report-list-wrap .radio-container:not(:last-child) {
    margin-bottom: var(--size-16);
}

.report-btn-wrap {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: var(--size-24);
}

/* SALON DETAILED PAGE END */

/* BOOK APPOINTMENT PAGE START */
.book-appointment-wrap {
    padding: calc(var(--space-120) / 2) 0 var(--space-145);
}

.back-link {
    font-size: var(--font-24);
    font-weight: 600;
    color: var(--gray-tint-3);
    transition: 0.3s all;
    margin-bottom: var(--size-32);
}

.back-link i {
    width: var(--size-24);
    height: var(--size-24);
}

.back-link:hover {
    color: var(--blue);
}

.appointment-inner-container {
    display: flex;
    --appointment-right: 39%;
}

.appointment-left {
    width: calc(100% - var(--appointment-right));
    margin-right: calc(var(--size-32) - 4px);
}

.appointment-right {
    width: var(--appointment-right);
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.total-pay-wrap {
    padding-top: var(--size-20);
    border-top: 1px solid #d9d9d9;
    margin-top: auto;
}

.service-card-container {
    margin-bottom: var(--size-20);
    padding: var(--size-16);
    background-color: var(--blue-tint-1);
    border-radius: calc(var(--size-12) + 2px);
}

.service-card:not(:last-child) {
    padding-bottom: var(--size-12);
    border-bottom: 1px solid var(--blue-tint-2);
    margin-bottom: var(--size-12);
}

.staff-text {
    padding-left: 20px;
}

.staff-text::before {
    content: "";
    position: absolute;
    width: 5px;
    height: 5px;
    background-color: var(--black);
    border-radius: 50%;
    top: 50%;
    left: 10px;
    transform: translateY(-50%);
}

.book-staff .dropdown-menu {
    padding: var(--size-12) var(--size-16);
    border-radius: var(--size-12);
    border: none;
    min-width: unset;
    box-shadow: 0px 2px 12px 0px #23346c26;
}

.book-staff .dropdown-item {
    padding: 0;
    color: var(--gray-shade-1);
    font-size: var(--font-16);
    font-weight: 600;
}

.book-staff li:not(:last-child) {
    margin-bottom: calc(var(--size-12) + 2px);
}

.book-staff .dropdown-item:focus,
.book-staff .dropdown-item:hover {
    background-color: transparent;
    color: var(--blue);
}

.add-service-btn {
    transition: 0.3s all;
    color: var(--blue);
}

.appointment-time-container {
    /* margin-top: var(--size-32); */
}

.appointment-schedule-wrap {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-gap: calc(var(--size-12) + 2px);
}

/* BOOK APPOINTMENT PAGE END */

/* CONFIRM BOOKING PAGE START */
.confrm-booking-head {
    padding-bottom: var(--size-24);
    border-bottom: 1px solid var(--blue-tint-2);
    margin-bottom: var(--size-24);
}

.confrm-salon-wrap {
    margin-bottom: var(--size-24);
}

.confrm-salon-icon-wrap {
    width: 54px;
    height: 54px;
    margin-right: var(--size-12);
}

.confrm-salon-icon-wrap img {
    border-radius: 50%;
}

.review-placeholder-img img {
    border-radius: 0;
}

.confrm-card-container {
    background-color: #f3f3f3;
}

.confrm-card-container .staff-text::before {
    background-color: var(--gray-tint-3);
}

.payment-options .pill-checkbox label {
    height: var(--height-48);
    color: #444444;
    border-color: var(--blue-tint-2);
}

.payment-options .pill-checkbox input:checked+label {
    border-color: var(--blue);
}

.pay-card-img {
    width: calc(var(--size-20) + var(--size-8));
    height: calc(var(--size-20) + var(--size-8));
    right: var(--size-16);
    top: 50%;
    transform: translateY(-50%);
}

.pay-input {
    padding-right: calc(var(--size-16) + calc(var(--size-20) + var(--size-8)) + var(--size-8));
}

.appointment-confirm-modal.sb-modal .modal-content {
    padding: var(--size-42);
}

.confirm-icon-wrap {
    width: 100px;
    height: 100px;
    margin-bottom: var(--size-24);
}

.appointment-tagline {
    line-height: 1.36;
}

.appointment-confrm-date {
    padding-bottom: var(--size-12);
    margin-bottom: var(--size-12);
    border-bottom: 1px solid var(--blue-tint-2);
}

.service-card-container.card-payment-container {
    padding: 0;
    background-color: transparent;
    border-radius: 0;
    margin: 0;
}

.service-card-container.card-payment-container .service-card {
    padding: var(--size-16);
    background-color: var(--blue-tint-1);
    border-radius: calc(var(--size-12) + 2px);
}

.service-card-container.card-payment-container .service-card:not(:last-child) {
    margin-bottom: var(--size-8);
    border: 0;
}

.card-payment-container .staff-text::before {
    background-color: var(--gray-tint-3);
}

.confrm-appointment-wrap {
    max-height: 220px;
    overflow-y: auto;
    padding-right: 5px;
}

/* CONFIRM BOOKING PAGE END */

/* MY PROFILE PAGE START */
.my-profile-section {
    padding: calc(var(--space-108) / 2) 0;
}

.my-profile-container {
    display: flex;
}

.my-profile-left {
    width: 240px;
}

.my-profile-left-inner {
    padding: var(--size-24) var(--size-20);
    background-color: var(--gray-tint-4);
    border-radius: var(--size-12);
}

.profile-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: var(--font-18);
    color: var(--gray-tint-3);
    font-weight: 600;
    text-decoration: none;
    transition: 0.3s all;
}

.profile-link:not(:last-child) {
    padding-bottom: var(--size-16);
    border-bottom: 1px solid var(--blue-tint-2);
    margin-bottom: var(--size-16);
}

.profile-link:hover,
.profile-link.active,
.profile-link:active {
    color: var(--blue);
}

.profile-link.logout {
    color: var(--red);
}

.my-profile-right {
    flex: 1 1;
    padding-left: 5.2%;
}

.my-profile-form {
    max-width: 400px;
}

.my-profile-appointment {
    max-width: 550px;
}

.my-profile-content {
    max-width: 600px;
}

.account-gender-check-wrap {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: var(--size-8);
}

.photo-preview {
    width: 120px;
    height: 120px;
    border: 1px solid var(--blue-tint-2);
    border-radius: var(--size-24);
    background-color: var(--blue-tint-1);
    overflow: hidden;
}

.profile-upload-label {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background-color: var(--blue);
    right: 8px;
    bottom: 8px;
}

.profile-upload-label i {
    width: 14px;
    height: 14px;
}

/* MY PROFILE PAGE END */

/* PROFILE BOOK APPOINTMENT PAGE START */
.button-grid {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.button-grid button {
    min-width: 125px;
    border-radius: var(--size-8);
}

.my-profile-appointment .appointment-card:not(:last-child) {
    margin-bottom: var(--size-12);
}

.breadcrumb-link {
    color: var(--gray-tint-3);
    transition: 0.3s all;
}

.breadcrumb-link:hover {
    color: var(--blue);
}

.breadcrumb-text {
    position: relative;
    padding-left: 40px;
}

.breadcrumb-text::before {
    content: "";
    position: absolute;
    background-image: url("data:image/svg+xml,%3Csvg width='11' height='17' viewBox='0 0 11 17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 15.5L9 8.5L2 1.5' stroke='%2323346C' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
    top: 50%;
    left: 12px;
    width: 15px;
    height: 15px;
    transform: translateY(-50%);
}

.my-profile-content .confrm-salon-wrap {
    padding-bottom: var(--size-24);
    border-bottom: 1px solid var(--blue-tint-2);
}

.profile-appointment-time-wrap {
    margin-bottom: var(--size-12);
}

.my-profile-content .service-card:not(:last-child) {
    margin-bottom: calc(var(--size-12) + 2px);
    padding-bottom: calc(var(--size-12) + 2px);
}

.paid-by-container {
    padding: var(--size-12) var(--size-16);
    border: 1px solid var(--blue-tint-2);
    border-radius: var(--size-12);
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: var(--size-24);
}

.paid-icon {
    width: 48px;
    height: 48px;
    background-color: #f2f2f2;
    border-radius: 50%;
    margin-right: var(--size-12);
}

/* PROFILE BOOK APPOINTMENT PAGE END */

/* SETTING PAGE START */
.notification-switch-wrap {
    margin-top: var(--size-12);
    margin-bottom: var(--size-24);
}

/* SETTING PAGE END */

/* FAVORITE PAGE START */
.favorite-container {
    max-width: 600px;
}

.favorite-card {
    padding: var(--size-16);
    background-color: #f3f3f3;
    border-radius: var(--size-12);
    display: flex;
}

.favorite-card:not(:last-child) {
    margin-bottom: var(--size-16);
}

.fav-img-wrap {
    width: 200px;
    height: 112px;
    overflow: hidden;
    border-radius: var(--size-8);
    margin-right: var(--size-16);
}

.white-rate-wrap {
    padding: 5px var(--size-8);
    border-radius: var(--size-8);
    margin-bottom: var(--size-12);
}

.white-rate-wrap i {
    width: 16px;
    height: 16px;
}

.fav-btn {
    position: absolute;
    top: var(--size-16);
    right: var(--size-16);
    background-color: var(--white);
    border-radius: 50%;
    width: 36px;
    height: 36px;
    border: none;
}

.fav-salon-img-wrap {
    width: 40px;
    height: 40px;
    margin-right: var(--size-12);
    border-radius: 50%;
    overflow: hidden;
}

/* FAVORITE PAGE END */

/* REVIEW PAGE START */
.profile-review-card:not(:last-child) {
    padding-bottom: var(--size-20);
    margin-bottom: var(--size-20);
    border-bottom: 1px solid var(--blue-tint-2);
}

.review-rate-wrap i {
    width: var(--size-32);
    height: var(--size-32);
    margin-right: 5px;
}

.profile-review-container .staff-text::before {
    background-color: var(--gray-tint-3);
}

.review-salon-icon {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    overflow: hidden;
}

.yellow-star {
    color: #ff9e0d;
}

.gray-star {
    color: #a5a5a5;
}

.blue-tint-star {
    color: var(--blue-tint-1);
}

.review-textarea {
    height: 140px;
}

.photos-wrap {
    position: relative;
    display: flex;
    justify-content: space-between;
    gap: var(--size-12);
    margin-bottom: var(--size-32);
}

.photo-section-inner {
    height: 85px;
    width: 100%;
    aspect-ratio: 1 / 1;
}

.photos-section {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-gap: var(--size-12);
}

.photos-label-wrap {
    width: 85px;
    height: 85px;
    flex-shrink: 0;
}

.review-photo {
    border-radius: var(--size-12);
}

.cancel-btn {
    top: -5px;
    right: -5px;
}

.upload-photo-label {
    border: 1px dashed var(--blue-tint-2);
    border-radius: var(--size-12);
}

.payment-wrapper {
    max-width: 67%;
}

.saved-card-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: var(--size-16);
    max-width: 84%;
    margin: 0 auto;
}

.saved-card {
    padding: var(--size-24) var(--size-20);
    background-color: var(--blue-tint-2);
    border: 1px solid var(--blue-tint-2);
    border-radius: var(--size-16);
    max-width: 335px;
    width: 100%;
    cursor: pointer;
}

.saved-card-input input {
    display: none;
}

.saved-card-input input:checked~.saved-card {
    border-color: var(--blue);
}

.expiry-wrap {
    margin-right: calc(var(--size-42) + var(--size-12));
}

/* REVIEW PAGE END */

/* CONTACT US PAGE START */
.contact-page-wrap,
.privacy-policy-page-wrap {
    padding: calc(var(--space-120) / 2) 0 var(--space-145);
}

/* CONTACT US PAGE END */

/* PRIVACY POLICY PAGE START */
.privacy-inner-container {
    max-width: 72.5%;
}

.text-justify {
    text-align: justify;
}

/* PRIVACY POLICY PAGE END */

/* PAYMENT RECEIPT MODAL START */
.payment-modal .modal-content {
    padding-bottom: 55px;
}

.payment-receipt-card {
    padding: var(--size-16) var(--size-16) calc(var(--size-42) + var(--size-42)) var(--size-16);
    border: 1.6px solid #d9d9d9;
    border-bottom: none;
    border-radius: var(--size-8) var(--size-8) 0 0;
    margin-bottom: var(--size-64);
}

.payment-receipt-curve {
    position: absolute;
    bottom: -18px;
    left: -2px;
    width: calc(100% + 2px);
}

.booking-id-wrap {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.dashed-border {
    padding-bottom: var(--size-20);
    border-bottom: 1px dashed var(--blue-tint-2);
    margin-bottom: var(--size-20);
}

.solid-border {
    padding-bottom: var(--size-20);
    border-bottom: 1px solid var(--blue-tint-2);
    margin-bottom: var(--size-20);
}

.payment-status {
    border: 1.15px solid #0fb50e;
    color: #0fb50e;
    padding: 3px var(--size-20);
    border-radius: var(--size-8);
}

.appointment-date-time {
    padding-left: 24px;
}

.appointment-date-time::before {
    content: "";
    position: absolute;
    width: 5px;
    height: 5px;
    background-color: var(--gray-tint-3);
    border-radius: 50%;
    top: 50%;
    left: 12px;
    transform: translateY(-50%);
}

/* PAYMENT RECEIPT MODAL END */

.location-top-space svg {
    margin-top: 1px;
}

/* SERVICE MODAL START */
.service-modal .modal-content {
    padding: var(--size-24);
    border-radius: var(--size-12);
    box-shadow: 0px 4px 20px 0px #23346c26;
}

.service-modal-new .modal-content {
    padding: 32px;
    border-radius: var(--size-12);
    box-shadow: 0px 4px 20px 0px #23346c26;
    max-width: 500px;
}

.service-modal-new .modal-heading-wrap {
    margin-bottom: var(--size-32);
}

.service-modal-new .srch-wrap {
    max-width: unset;
    width: 100%;
    margin-bottom: var(--size-24);
}

.service-modal-new .srch-input {
    border: 1px solid var(--blue-tint-2);
    border-radius: var(--size-8);
}

.service-modal .modal-heading-wrap {
    margin-bottom: var(--size-32);
}

.service-modal .srch-wrap {
    max-width: unset;
    width: 100%;
    margin-bottom: var(--size-24);
}

.service-modal .srch-input {
    border: 1px solid var(--blue-tint-2);
    border-radius: var(--size-8);
}

.service-type-head {
    padding-bottom: var(--size-20);
    border-bottom: 1px solid var(--blue-tint-2);
}

.add-service-list:first-child {
    padding-top: var(--size-24);
}

.add-service-list:last-child {
    padding-bottom: 0;
    border: 0;
}

.add-service-list {
    display: flex;
    padding: var(--size-20) 0;
    border-bottom: 1px solid var(--blue-tint-2);
}

.add-service-left {
    max-width: 65%;
    display: flex;
    align-items: flex-start;
}

.add-service-icon {
    flex-shrink: 0;
    width: 68px;
    height: 68px;
    border-radius: var(--size-8);
    margin-right: var(--size-12);
}

.add-service-right {
    display: flex;
    align-items: center;
}

.add-service-right .sb-btn {
    padding: var(--size-12) var(--size-42);
}

.cursor-pointer {
    cursor: pointer;
}

/* SERVICE MODAL END */

.card-dropdown-wrap .app-input {
    position: relative;
    text-align: left;
    background-color: transparent;
    padding-right: calc(16px + calc(var(--size-20)));
}

.card-dropdown-wrap .app-input:after {
    position: absolute;
    content: "";
    top: 50%;
    right: calc(var(--size-12) + 2px);
    transform: translateY(-50%);
    background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 4.5L8 11.5L15 4.5' stroke='%2323346C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
    width: 16px;
    height: 16px;
}

.card-dropdown-wrap .app-input:focus {
    background-color: var(--blue-tint-1);
    border-color: var(--blue);
    color: var(--gray-shade-1);
}

.card-dropdown-wrap .dropdown-menu {
    width: 100%;
    padding: calc(var(--size-16) + 2px) var(--size-16);
    border: none;
    box-shadow: 0px 2px 12px 0px #23346c26;
}

.card-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: calc(var(--size-12) + 2px) 0;
    border: none;
    border-bottom: 0.5px solid var(--blue-tint-2);
    background-color: transparent;
    width: 100%;
}

.card-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: auto;
    margin-right: var(--size-12);
}

.card-type {
    position: relative;
    font-size: 16px;
    font-weight: 600;
    color: var(--gray-tint-3);
    padding-left: 12px;
    margin-left: var(--size-24);
}

.card-type::before {
    content: "";
    position: absolute;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: var(--gray-tint-3);
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

.sb-tab-content {
    outline: none;
}

.rating-wrap {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    justify-content: flex-end;
    margin-bottom: var(--size-20);
}

.rating-input {
    display: none;
}

.rating-label {
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(var(--size-42) + var(--size-8));
    height: calc(var(--size-42) + var(--size-8));
    color: lightgray;
    cursor: pointer;
    transition: 0.3s all;
    margin-right: 5px;
}

.rating-label svg {
    width: inherit;
    height: inherit;
    object-fit: contain;
}

.rating-input:checked~.rating-label,
.rating-label:hover {
    color: #ff9e0d;
}

.remove-card {
    color: var(--gray-shade-1);
    transition: 0.3s all;
}

.remove-card:hover {
    color: var(--red);
}

.nearbySalonSwiper .swiper-slide {
    height: auto;
}

.nearbySalonSwiper .card {
    height: 100%;
    text-decoration: none;
}

.salon-placeholder-wrap {
    background-color: #f2f2f2;
    border-radius: var(--size-12);
}

.salon-placeholder-wrap img {
    object-fit: contain;
    width: 48px;
    height: 48px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

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

.customerReviewSwiper .swiper-slide {
    height: auto;
}

/* new-sections */

.book-appointment-wrap-main {}

.header_booking {
    box-shadow: 0px 4px 20px 0px #23346c1a;
    position: sticky;
    top: 0;
    background-color: #000000;
    z-index: 999;
    padding: 13px 0;
}

.logo_div {
    display: flex;
    width: 72px;
    height: 64px;
    padding: 0;
}

.cross_back {
    padding: 14px;
    border-radius: 100px;
    background-color: #d5d5d5;
    display: flex;
    height: 42px;
    width: 42px;
}

.pro_name {
    color: white;
}

.main_booking_div {
    position: relative;
    z-index: -1;
}

.container-booking {
    max-width: 1520px;
    margin: 0 auto;
}

.book-appointment-wrapper {
    background-color: #fff;
    font-family: "Poppins", sans-serif;
    margin-top: 64px;
}

.img_head {
    color: white;
    font-size: 32px;
    font-weight: 600;
    position: absolute;
    top: 41px;
    width: 100%;
    margin: auto;
    display: flex;
    justify-content: center;
}

.menus_nav {
    display: flex;
    gap: 13px;
    align-items: center;
}

.choose_h {
    color: #080b16;
    font-size: 32px;
    font-weight: 600;
    padding-bottom: 32px;
    margin-bottom: 0;
}

.breadcrum_main {
    display: flex;
}

.breadcrumb {
    background-color: #ffff;
    display: inline-block;
    padding: 20px 175px;
    border-radius: 4px;
    margin-bottom: 0;
    margin-inline: auto;
    box-shadow: 0px 4px 4px 0px #00000026;
    margin-top: -32px;
}

.brumb_p {
    margin: 0;
    font-size: 16px;
    color: #a9a9a9;
}

.brumb_p span {
    font-weight: bold;
    color: #080b16;
}

.location-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    justify-content: space-between;
    margin-bottom: 284px;
    gap: 30px;
}

.icn_loc {
    width: 70px;
    height: 70px;
}

.card-book {
    background-color: #fff;
    border: 1px solid #a9a9a9;
    border-radius: 10px;
    max-width: 487px;
    width: 100%;
    position: relative;
    display: flex;
    flex-direction: column;
}

.barber_slon {
    width: 100%;
    max-height: 245px;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    width: 100%;
    
    height: 100%;
    /* object-fit: contain; */

}

.barber_salon_img {
    max-height: 245px;
    height: 100%;
    object-fit: cover;
}

.back_booking_img {
    min-height: 165px;
    width: 100%;
}

.card-body-book {
    padding: 40px 20px 20px 20px;
    display: flex;
    justify-content: space-between;
    align-items: start;
    gap: 10px;
    flex: 1;
}

.card-body-book h3 {
    font-size: 24px;
    font-weight: bold;
    color: #2c2c2c;
    margin-bottom: 6px;
}

.card-body-book .address {
    font-size: 14px;
    color: #a9a9a9;
    font-weight: 500;
    margin-bottom: 0;
}

.card-body-book button {
    background-color: #f0b35b;
    color: #2c2c2c;
    font-size: 16px;
    padding: 14px 21px;
    border: none;
    border-radius: 6px;
    font-weight: bold;
    cursor: pointer;
    width: 128px;
}

.card-body-book button:hover {
    background-color: #d99b3b;
}

.booking_location {
    display: flex;
    gap: 4px;
    margin-bottom: 0;
}

/* staff page */

.main_staff_div {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.staf_cards {
    border: 1px solid #a9a9a9;
    border-radius: 10px;
    padding: 24px 52px;
    max-width: 228px;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.staf_cards:hover {
    border: 2px solid #000;
}

/* Add checkmark on hover */
.staf_cards:hover::after {
    content: '✓';
    position: absolute;
    top: 10px;
    right: 15px;
    width: 20px;
    height: 20px;
    background: #000;
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: bold;

}



.content_staff {
    transition: all 0.3s ease;
}

.content_staff .icn_loc {
    transition: transform 0.3s ease;
}

.staf_cards:hover .content_staff .icn_loc {
    transform: scale(1.05);
}

.content_staff h3 {
    transition: color 0.3s ease;
}

.staf_cards:hover .content_staff h3 {
    color: #000;
}

.content_staff p {
    transition: color 0.3s ease;
}

.staf_cards:hover .content_staff p {
    color: #555;
}

/* Selected state (add this class via JavaScript when clicked) */
.staf_cards.selected {
    border: 2px solid #000;
}

.staf_cards.selected::after {
    content: '✓';
    position: absolute;
    top: 10px;
    right: 15px;
    width: 20px;
    height: 20px;
    background: #000;
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: bold;
}

.active_div.selected::after {
    /* content: '✓'; */
    position: absolute;
    top: 24px;
    right: 24px;
    opacity: 1;
    transition: all;
    transition-duration: 500ms;
}

.service_card.selected {
    border: 1px solid #080b16;
}

/* Optional: Active/click animation */


.time_service_p {
    font-size: 12px;
    font-weight: 500;
    color: #A9A9A9;
    margin-top: 0;
}

.other_time_service_p {
    font-size: 12px;
    font-weight: 500;
    color: #A9A9A9;
    margin-top: 0;
}

.staf_cards h3,
.staf_cards_modal h3 {
    font-size: 18px;
    font-weight: 700;
    color: #2c2c2c;
    padding-bottom: 6px;
    padding-top: 27px;
    margin-bottom: 0;
}

.staf_cards p,
.staf_cards_modal p {
    color: #2c2c2c;
    font-size: 14px;
    font-weight: 400;
    margin-bottom: 0;
}

.content_staff {
    width: 116px;
    text-align: center;
}

.content_staff_name {
    text-align: center;
}

.staf_cards_name {
    border: 1px solid #a9a9a9;
    border-radius: 10px;
    padding: 24px 46px;
    max-width: 228px;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
    background: white;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.staf_cards_name:hover {
    border: 2px solid #000;
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
    background: #f8f9fa;
}



.staf_cards_name_empty {
     border: 1px solid #a9a9a9;
    border-radius: 10px;
    padding: 24px 46px;
    max-width: 228px;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
    background: white;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

/* Add checkmark on hover */
.staf_cards_name:hover::after {
    content: '✓';
    position: absolute;
    top: 10px;
    right: 15px;
    width: 20px;
    height: 20px;
    background: #000;
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: bold;
    animation: checkmarkPop 0.3s ease;
}

@keyframes checkmarkPop {
    0% {
        transform: scale(0);
        opacity: 0;
    }

    50% {
        transform: scale(1.2);
    }

    100% {
        transform: scale(1);
        opacity: 1;
    }
}

.content_staff_name {
    text-align: center;
    transition: all 0.3s ease;
}

.content_staff_name .icn_loc {
    border-radius: 50%;
    object-fit: cover;
    transition: transform 0.3s ease;
    margin-bottom: 10px;
}

.staf_cards_name:hover .content_staff_name .icn_loc {
    transform: scale(1.05);
}

.content_staff_name h3 {
    margin: 10px 0 5px 0;
    font-size: 16px;
    font-weight: 600;
    color: #333;
    transition: color 0.3s ease;
}

.staf_cards_name:hover .content_staff_name h3 {
    color: #000;
}

.content_staff_name p {
    margin: 0;
    font-size: 14px;
    color: #666;
    transition: color 0.3s ease;
}

.staf_cards_name:hover .content_staff_name p {
    color: #555;
}

/* Selected state (add this class via JavaScript when clicked) */
.staf_cards_name.selected {
    border: 2px solid #000;
    background: #f8f9fa;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

.staf_cards_name.selected::after {
    content: '✓';
    position: absolute;
    top: 10px;
    right: 15px;
    width: 20px;
    height: 20px;
    background: #000;
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: bold;
}

/* Optional: Active/click animation */
.staf_cards_name:active {
    transform: translateY(0);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.staf_cards_name h3 {
    font-size: 24px;
    font-weight: 700;
    color: #2c2c2c;
    padding-bottom: 6px;
    padding-top: 17px;
    margin-bottom: 0;
}

.staf_cards_name p {
    color: #2c2c2c;
    font-size: 14px;
    font-weight: 400;
    margin-bottom: 0;
}

.detail_staff {
    display: flex;
    justify-content: space-between;
    margin-bottom: 168px;
}

.info_staff {
    border-radius: 20px;
    background-color: hsl(227, 47%, 6%);
    padding: 30px;
    margin-bottom: 31px;
    max-width: 487px;
    width: 100%;
}

/* .info_staff {
    margin-bottom: 0;
    font-size: 24px;
    font-weight: 700;
    color: white;
} */
.empty_service {
    border-radius: 10px;
    background-color: white;
    padding: 15px 30px;
}

.empty_service_div {
    border-radius: 10px;
    background-color: white;
    padding: 22px 125px;
    margin-top: 12px;
    margin-bottom: 255px;
}

.empty_service p,
.empty_service_div p {
    color: #a9a9a9;
    font-size: 14px;
    font-weight: 500;
    text-align: center;
    margin-bottom: 0;
    text-align: start;
}

.booking_location_staff {
    display: flex;
    gap: 10px;
    align-items: center;
    font-size: 14px;
    font-weight: 500;
    color: #a9a9a9;
    padding-top: 12px;
    padding-bottom: 32px;
}

.booking_location_date {
    display: flex;
    gap: 10px;
    align-items: center;
    font-size: 14px;
    font-weight: 500;
    color: #a9a9a9;
    padding-bottom: 6px;
}

.main_date_time {
    margin-top: 16px;
    margin-bottom: 20px;
}

.address_staff {
    font-size: 14px;
    font-weight: 500;
    color: #a9a9a9;
    margin-bottom: 0;
}

.main_area_staff {
    font-size: 24px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 0;
}

.breadcrumb_menu {
    background-color: #ffff;
    display: inline-block;
    padding: 20px 62px;
    border-radius: 4px;
    margin-bottom: 0;
    margin-inline: auto;
    box-shadow: 0px 4px 4px 0px #00000026;
    margin-top: -32px;
}

.service_card {
    border: 1px solid #d5d5d5;
    border-radius: 10px;
    padding: 24px 24px 24px 24px;
    min-width: 388px;
    position: relative;
}

.service_card:hover {
    border: 1px solid #080b16;
}

/* .service_card:hover {
    .active_div {
        opacity: 1;
    }
} */

.service_card h3,
.service_card_select h3 {
    color: #2c2c2c;
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 0;
    padding-bottom: 10px;
}

.service_card p,
.service_card_select p {
    color: #2c2c2c;
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 0;
}

.service_card span {
    color: #a9a9a9;
}

.service_divs_card {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-row-gap: 12px;
    grid-column-gap: 30px;
}

.service_profile {
    border-radius: 10px;
    background-color: white;
    padding: 13px 250px 13px 30px;
    /* margin-top: 12px; */
}

.service_profile h4 {
    color: #2c2c2c;
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 0;
}

.icn_service {
    width: 40px;
    height: 40px;
}

.name_service {
    display: flex;
    gap: 12px;
    align-items: center;
    margin-bottom: 0;
}

.blue_cards_name {
    font-size: 18px;
    font-weight: 500;
    color: #2c2c2c;
}

.detail_service {
    display: flex;
    justify-content: space-between;
    margin-bottom: 168px;
}

.service_card_select {
    border: 1px solid #080b16;
    border-radius: 10px;
    padding: 24px 24px 24px 24px;
    min-width: 388px;
    position: relative;
}

/* .service_card_select::after {
    content: '✓';
    position: absolute;
    top: 26px;
    right: 26px;
    width: 20px;
    height: 20px;
    background: #000;
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: bold;
} */

.service_card.service_card_select .active_div {
    opacity: 1;
}

.active_div {
    position: absolute;
    top: 24px;
    right: 24px;
    opacity: 0;
    transition: all;
    transition-duration: 500ms;
}

.activation_serv {
    display: flex;
    justify-content: space-between;
}

/* Matches the white service card style */
.service_summary_card {
    background: #ffffff;
    border-radius: 8px;
    padding: 13px 30px;
    margin-bottom: 10px;
    display: flex;
    justify-content: space-between;
    font-weight: 500;
}

/* Subtotal section and choose button */
.top_price {

    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: column;
}

.price_serv {
    display: flex;
    justify-content: space-between;
    width: 100%;
    font-weight: 600;
    color: white;
    margin-bottom: 10px;
}

.choose_btn {
    width: 100%;
    background-color: #f4af48;
    border: none;
    padding: 12px;
    border-radius: 6px;
    font-weight: bold;
    color: black;
    cursor: pointer;
}

.name_service {
    display: flex;
    align-items: center;
    background: #fff;
    /* padding: 10px; */
    border-radius: 8px;
    margin-bottom: 0;
}

.name_service img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    margin-right: 0;
}

.empty_service_div_active {
    border-radius: 10px;
    background-color: white;
    padding: 13px 30px;
    margin-top: 12px;
}


.activation_serv p {
    font-size: 14px;
    font-weight: 500;
    color: #2c2c2c;
    margin-bottom: 0;
}

.activation_serv span {
    font-size: 14px;
    font-weight: 500;
    color: #2c2c2c;
    margin-bottom: 0;
}

.price_serv_total {
    display: flex;
    justify-content: space-between;
    padding-bottom: 10px;
}

.price_serv {
    display: flex;
    justify-content: space-between;
    padding-bottom: 32px;
}

.price_serv h4,
.price_serv_total h4 {
    color: #ffffff;
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 0;
}

.price_serv span,
.price_serv_total span {
    color: #ffffff;
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 0;
}

.choose_btn {
    background-color: #f0b35b;
    font-size: 16px;
    font-weight: 600;
    padding: 15px 0;
    border-radius: 8px;
    border: none;
    width: 100%;
}

.next_btn {
    background-color: #f0b35b;
    font-size: 16px;
    font-weight: 600;
    padding: 15px 0;
    border-radius: 8px;
    border: none;
    width: 100%;
}

.info_staff_act {
    border-radius: 20px;
    background-color: hsl(227, 47%, 6%);
    padding: 30px;
    margin-bottom: 31px;
    height: fit-content;
    max-width: 487px;
    width: 100%;
}

.top_price {
    margin-top: 102px;
}

.prof_name {
    font-size: 12px;
    font-weight: 500;
    color: #A9A9A9;
    margin-bottom: 0;
}

.activation_multi {
    display: flex;
    justify-content: space-between;
}

.activation_multi p {
    font-size: 12px;
    font-weight: 500;
    color: #a9a9a9;
    margin-bottom: 0;
}

.activation_multi span {
    font-size: 12px;
    font-weight: 500;
    color: #a9a9a9;
}

.appointment_btn {
    background-color: #a9a9a9;
    font-size: 16px;
    font-weight: 600;
    padding: 15px 0;
    border-radius: 8px;
    border: none;
    width: 100%;
    color: white;
    cursor: context-menu !important;
}

/* book-AppointMent */

.calendar-header {
    display: flex;
    gap: 24px;
    align-items: center;
    margin-bottom: 47px;
    justify-content: space-between;
}

.calendar-header h2 {
    color: black;
    font-weight: 600;
    font-size: 24px;
    margin-bottom: 0;
}

.choose_bookdate {
    border: 1px solid #a9a9a9;
    background-color: transparent;
    border-radius: 4px;
    padding: 11px;
}

.nav-buttons {
    display: flex;
    gap: 14px;
}

.nav-buttons button {
    background-color: transparent;
    border: 1px solid #a9a9a9;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
}

.date-row {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
}

.date {
    padding: 10px 20px;
    border: 1px solid #ddd;
    border-radius: 8px;
    text-align: center;
    cursor: pointer;
}
.date.hover:hover {
    background-color: #000;
    color: #fff;
}

.date .day {
    display: block;
    font-weight: bold;
    font-size: 32px;
}

.date .weekday {
    font-size: 16px;
    font-weight: 500;
}

.date.selected {
    background-color: #000;
    color: #fff;
}

.date.disabled {
    /* opacity: 0.1; */
    cursor: not-allowed;
    text-align: center;
}

.disabled .day {
    text-decoration: line-through;
    opacity: 0.1;
}

.disabled .weekday {
    opacity: 0.1;
}

.time-slots {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-column-gap: 22px;
    grid-row-gap: 20px;
    margin-top: 32px;
    padding-right: 86px;
}

.time-slots button {
    padding: 12px;
    border: 1px solid #d5d5d5;
    border-radius: 6px;
    background-color: white;
    font-weight: 500;
    cursor: pointer;
    transition: 0.3s;
    color: #2c2c2c;
    font-size: 18px;
    max-width: 214px;
}

.time-slots button:hover {
    background-color: #080b16;
    color: #ffffff;
}

.custom-select-wrapper {
    border: 1px solid #f0b35b;
    border-radius: 100px;
    width: fit-content;
    margin-bottom: 32px;
    margin-top: 14px;
}
.pro_main_div_main{
        display: flex;
        align-items: center;
    }

.pro_btn {
    font-size: 18px;
    font-weight: 500;
    color: black;
    margin-bottom: 0;
    padding-right: 32px;
}

.profile_select {
    border: none;
    border-radius: none;
    background-color: transparent;
    display: flex;
    margin-bottom: 0;
    padding: 10px 24px;
}

.time-slots .selected {
    background-color: #080b16;
    color: #ffffff;
}

/* date not avaialble */
.notavail_date {
    border-radius: 10px;
    border: 1px solid #d5d5d5;
    margin-top: 47px;
    padding: 122px 129px;
    text-align: center;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
}

.notavail_date p {
    font-size: 18px;
    font-weight: 600;
    color: #2c2c2c;
    margin-bottom: 0;
    padding-bottom: 32px;
}

.barber_select {
    border-radius: 100px;
    border: 1px solid #d5d5d5;
    background: transparent;
    display: flex;
    gap: 10px;
    padding: 10px 24px;
}

.barber_select h4 {
    margin-bottom: 0;
    font-size: 18px;
    font-weight: 500;
    color: #2c2c2c;
}

.card_conf {
    border-radius: 10px;
    border: 1px solid #d5d5d5;
    padding: 32px 29px;
    max-width: 486px;
    margin: 155px auto 200px auto;
    text-align: center;
}

.card_img_div {
    height: 72px;
    width: 72px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    margin: auto;
}

.card_conf img {
    height: 72px;
    width: 72px;
}

.card_conf h2 {
    font-size: 24px;
    font-weight: 600;
    color: #2c2c2c;
    padding-bottom: 30px;
    margin-top: 72px;
    margin-bottom: 0;
}

.card_conf p {
    color: #a9a9a9;
    font-size: 18px;
    font-weight: 400;
    padding-bottom: 72px;
    margin-bottom: 0;
}

.date_pick_div {
    display: flex;
    align-items: center;
    gap: 24px;
}

.modal-dialog-service {
    max-width: 500px;
    transition: transform 0.3s ease-out;
    display: flex;
    align-items: center;
    min-height: calc(100% - var(--bs-modal-margin) * 2);
    position: relative;
    width: auto;
    margin: var(--bs-modal-margin);
    pointer-events: none;
}

.close_div {
    width: fit-content;
    margin-left: auto;
}

.service-text {
    padding-top: 0;
    padding-bottom: 6px;
    font-size: 24px;
    color: #2c2c2c;
    font-weight: 700;
}

.service_para {
    color: #2c2c2c;
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 32px;
}

.service_para span {
    color: #a9a9a9;
    padding-right: 6px;
}

.service_modal_btn {
    background-color: #f0b35b;
    font-size: 16px;
    font-weight: 600;
    color: #2c2c2c;
    padding: 14px;
    border-radius: 8px;
    border: none;
}

.custom-modal {
    display: none;
    position: fixed;
    z-index: 999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.5);
}

.modal-content-staf {
    background-color: #fff;
    margin: 10% auto;
    padding: 32px;
    width: 808px;
    border-radius: 8px;
    position: relative;
}

.close-btn {
    position: absolute;
    top: 10px;
    right: 20px;
    font-size: 24px;
    cursor: pointer;
}

.choose_staff_modal {
    font-weight: 700;
    font-size: 24px;
    color: #2c2c2c;
    margin: 0 0 32px 0;
}

.slot_actions
{
    display: flex;
    align-items: center;
    gap: 12px;
  
}
.main_staff_div_modal {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.staf_cards_modal {
    border: 1px solid #a9a9a9;
    border-radius: 10px;
    padding: 24px 52px;
    max-width: 228px;
}

.staf_cards_name_modal {
    border: 1px solid #a9a9a9;
    border-radius: 10px;
    padding: 24px 46px;
    max-width: 228px;
}

.staf_cards_name_modal h3 {
    font-size: 24px;
    font-weight: 700;
    color: #2c2c2c;
    padding-bottom: 6px;
    padding-top: 17px;
    margin-bottom: 0;
}

.staf_cards_name_modal p {
    color: #2c2c2c;
    font-size: 14px;
    font-weight: 400;
    margin-bottom: 0;
}

.content_staff_modal {
    /* width: 116px; */
    text-align: center;
}

/* select confirm booking modal */
.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 999;
    display: flex;
    align-items: center;
    justify-content: center;
}

.modal-content-conf h2 {
    font-size: 24px;
    font-weight: 700;
    color: #2c2c2c;
    padding-top: 0;
    padding-bottom: 32px;
}

.modal-content-conf {
    position: absolute;
    top: 10px;
    /* right: 15px; */
    border: none;
    background: none;
    font-size: 24px;
    cursor: pointer;
}

.services p {
    display: flex;
    justify-content: space-between;
    font-size: 18px;
    font-weight: 500;
    color: #2c2c2c;
}

.total-p {
    display: flex;
    justify-content: space-between;
    font-size: 18px;
    font-weight: 500;
    color: #2c2c2c;
    margin-bottom: 10px;
}

.total {
    margin-top: 46px;
}

.total-sub {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.total-sub strong {
    font-size: 18px;
    font-weight: 700;
    color: #2c2c2c;
}

.total-sub span {
    font-size: 18px;
    font-weight: 700;
    color: #2c2c2c;
}

.confirm-btn {
    width: 100%;
    padding: 14px;
    background-color: #f0b35b;
    border: none;
    color: #2c2c2c;
    font-size: 16px;
    font-weight: 600;
    border-radius: 8px;
    cursor: pointer;
    margin-top: 22px;
    height: 56px;
}

.modal-content-conf {
    background-color: #fff;

    padding: 32px;
    width: 491px;
    border-radius: 8px;
    position: relative;
}

.conf_info {
    background-color: #f0f0f0;
    padding: 20px;
    border-radius: 10px;
}

.conf_info h3 {
    font-size: 24px;
    font-weight: 700;
    color: #2c2c2c;
    margin-bottom: 0;
    padding-bottom: 16px;
}

.conf_info p {
    font-size: 14px;
    font-weight: 500;
    color: #2c2c2c;
    margin-bottom: 0;
    padding-bottom: 6px;
}

.conf_mod_appointment {
    background-color: transparent;
    padding-top: 10px;
}

.exitModal-content {
    background-color: #fff;

    padding: 32px;
    width: 500px;
    border-radius: 8px;
    position: relative;
}

.exit_text {
    font-size: 24px;
    font-weight: 700;
    color: #2c2c2c;
    margin-top: 12px;
}

.exit_p {
    font-size: 14px;
    font-weight: 500;
    color: #2c2c2c;
    margin-bottom: 32px;
}

.buttons_div_close {
    display: flex;
    justify-content: space-between;
    gap: 32px;
}

.btns_canc {
    border: 1px solid #d5d5d5;
    background-color: white;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    color: #2c2c2c;
    padding: 14px 0;
    width: 100%;
}

.btns_conf {
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    background-color: #f0b35b;
    border: 1px solid #f0b35b;
    color: #2c2c2c;
    padding: 14px 0;
    width: 100%;
}

.close-modal {
    background-color: transparent;
    border: none;
    width: fit-content;
    display: flex;

        position: absolute;
    right: 36px;
}

.card-btn-book {
    flex-direction: column;
    width: fit-content;
    display: flex;
    justify-content: center;
    align-items: center;
}

.service_title_slot {
    font-size: 18px;
    font-weight: 500;
    color: #2c2c2c;
    padding-top: 45px;
    padding-bottom: 21px;
}

.customer_title_dual {
    font-size: 18px;
    font-weight: 500;
    color: grey;
    padding-top: 32px;
    padding-bottom: 8px;
}

.main_slot_book {
    display: flex;
    flex-direction: column;
    gap: 21px;
}

.service_slot_one,.service_slot_dual {
    border: 1px solid #D5D5D5;
    padding: 24px;
    border-radius: 20px;
    display: flex;
    justify-content: space-between;
    flex-direction: row;
}

.slot_detail {}

.slot_detail h3 {
    font-size: 18px;
    font-weight: 700;
    color: #2C2C2C;
    margin-bottom: 10px;
}

.slot_detail p {
    font-size: 14px;
    font-weight: 500;
    color: #2C2C2C;
}

.slot_detail span {

    color: #A9A9A9;
}

.detail_select_btn {
    border: 1px solid #F0B35B;
    border-radius: 100px;
    font-size: 14px;
    font-weight: 500;
    color: #2C2C2C;
    padding: 10px 20px;
    background-color: white;
}


.slot-modal {
    display: none;
    position: fixed;
    z-index: 999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.4);
}

.modal-content-slot {
    background-color: #fff;
    margin: 10% auto;
    padding: 32px;
    max-width: 808px;
    width: 100%;
    border-radius: 20px;
    position: relative;
}

.close_div {
    position: absolute;
    right: 39px;
    top: 36px;
    cursor: pointer;
}

.modal_slot_header {
    font-size: 24px;
    font-weight: 700;
    color: #2C2C2C;
    /* margin-top: 64px; */
}

.cancle_btn_slot {
    font-size: 16px;
    color: #2C2C2C;
    font-weight: 600;
    background-color: transparent;
    border: 1px solid #A9A9A9;
    border-radius: 8px;
    padding: 14px 36px;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 56px;
    width: fit-content;
}

.done_btn_slot {
    font-size: 16px;
    color: #2C2C2C;
    font-weight: 600;
    background-color: #F0B35B;
    border: 1px solid #F0B35B;
    border-radius: 8px;
    padding: 14px 36px;
       display: flex;
    justify-content: center;
    align-items: center;
    height: 56px;
    width: fit-content;
}

.modal_slot_btn {
    display: flex;
    gap: 10px;
    justify-content: end;
    margin-top: 32px;
}


.close_div_slot {
    position: absolute;
    right: 39px;
    top: 36px;
    cursor: pointer;
}

.empty_slot {
    font-size: 18px;
    font-weight: 600;
    color: #A9A9A9;
    margin-top: 32px;
    padding-bottom: 0;
    margin-bottom: 0;
    text-align: center;
}

.loader {
    display: inline-block;
    width: 24px;
    height: 24px;
    border: 3px solid #f3f3f3;
    border-top: 3px solid #212529;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin-left: 8px; /* small gap between text and loader */
    vertical-align: middle;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.d-none {
    display: none !important;
}
@keyframes l23 {
  100% {transform: rotate(1turn)}
}
