: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: 12px;
}

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

.absolute-img {
    overflow: hidden;
}

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

.placeholder-img img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) !important;
    object-fit: contain;
}

/* 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: var(--blue-tint-1);
    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 var(--blue-tint-2);
    flex-wrap: wrap;
    row-gap: 15px;
}

.footer-link {
    color: var(--gray-tint-3);
    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));
}

.srch-input-new {
    width: 100%;
    padding: 0;
    padding-left: 20px;
    border: none;
    background-color: #f8f8f8;
    font-size: 14px;
    color: #333;
}


.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: 16px;
    background-color: var(--gray-tint-4);
}

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

.appointment-date {
    font-size: 20px;
}

.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: 14px;
    font-weight: 600;
    padding: 4px 12px;
    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%;
    /* padding-bottom: 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-img-wrap img.mobile-artwork {
    object-fit: contain;
    background-color: #fff;
}

.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: 16px;
}

.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);
    overflow: hidden;
}

.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);
    object-fit: cover;
    object-position: center center;
    width: 100%;
    height: 100%;
    transform: scale(1.05);
    transition: transform 0.3s ease;
}

.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 {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    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 {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    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 {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    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 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--size-24);
    height: var(--size-24);
}

.back-link i svg {
    display: block;
}

.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: 613px;
}

.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: 12px;
}

.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 .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: .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: .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;
}

.title_card {
    font-size: 18px;
    line-height: 1.5;
}

.toggle-wrapper {
    display: flex;
    width: 100%;
    max-width: 750px;
    margin: auto;
    background: #fff;
    border: 2px solid #d8d5f3;
    border-radius: 18px;
    overflow: hidden;
}

.toggle-btn {
    flex: 1;
    padding: 18px 0;
    border: none;
    background: transparent;
    font-size: 32px;
    font-weight: 500;
    color: #1d2f6f;
    transition: 0.3s;
}

.toggle-btn.active {
    background: #e8e8fb;
}

.toggle-btn:not(.active):hover {
    background: #f7f7ff;
}

.progress-card {
    width: fit;
    margin-inline: 20px;
    justify-content: center;
}

@media (max-width: 767px) {
    .progress-card {
        width: 100%;
    }
}