:root {
    --fc-event-text-color: #101010;
    --fc-bg-event-opacity: 1;
    --fc-bg-event-color: rgb(225, 240, 255);
    --fc-bg-event-border: 1px dashed #87c0e1;
    --sc-darkest-color: rgba(43, 43, 63, 1);
    --sc-lightest-color: #fff;
    --sc-background-color: #f6f6fb;
    --sc-border-color: #BDBCC8;
    --sc-other-border-color: #e2e2e9;
    --sc-dark-trash: rgba(94, 93, 111, 1);
    --sc-body-color: #333;
    --sc-border-radius: 0;
    --sc-font-family: "Satoshi", sans-serif;
}

html {
    font-smoothing: antialiased;
    -webkit-font-smoothing: antialiased;
}


h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: 500 !important;
}

.elementor-nav-menu--dropdown a {
    border-radius: var(--sc-border-radius);
}

.menufull .elementor-nav-menu--dropdown a:hover,
.menufull .elementor-nav-menu--dropdown a:focus,
.menufull .elementor-nav-menu--dropdown a.elementor-item-active,
.menufull .elementor-nav-menu--dropdown a.highlighted {
    background-color: var(--sc-darkest-color) !important;
}

#beauty-service-title {
    font-weight: 500 !important;
}

@media(min-width: 1025px) {


    .elementor-nav-menu--dropdown {
        border-radius: var(--sc-border-radius) !important;
        background-color: var(--sc-background-color) !important;
    }

}


@media(max-width: 1024px) {

    .elementor-nav-menu--layout-horizontal .elementor-nav-menu>li ul,
    html body .menufull .elementor-nav-menu--layout-horizontal .elementor-nav-menu>li:not(:first-child)>ul {
        top: 0 !important;
        margin-top: 0 !important;
        background: transparent !important;
        display: flex !important;
        position: relative;
        width: 100% !important;
    }

    .menu-open,
    .menu-open body {
        overflow: hidden !important;
    }

    .elementor-nav-menu .sub-arrow {
        display: none !important;
    }

    .elementor-nav-menu--layout-horizontal .elementor-nav-menu>li {
        flex-direction: column !important;
    }

    .elementor-nav-menu--main .elementor-nav-menu a {
        text-align: center;
        justify-content: center;
    }

    .elementor-nav-menu--layout-horizontal .elementor-nav-menu>li ul li a {
        padding: 6px 10px !important;
        border: none !important;
    }


    .menufull {
        width: 50vw;
        height: 100vh;
        height: 100dvh;
        position: fixed !important;
        right: 0;
        top: 0;
        align-items: center;
        justify-content: center;
        align-content: center;
        background: var(--sc-background-color);
        display: flex !important;
        z-index: 9;
        transform: translatex(100%);
        transition: all .4s;
        padding-top: 100px;
    }

    .menufull.active {
        transform: translatex(0%);
    }

    .menufull ul,
    .menufull nav {
        height: auto;
    }

    .menufull ul {
        display: flex;
        flex-direction: column;
        gap: 0;
        align-items: center;
        justify-content: center;
        align-content: center;
        margin: 0 auto;
    }



    .hamburger {
        min-width: 40px !important;
        min-height: 30px;
        position: relative;
    }


    .hamburger {
        display: flex;
        align-items: center;
    }

    .hamburger .elementor-widget-container {
        display: flex;
        align-items: center;
    }




    .ham {
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
        transition: transform 400ms;
        -moz-user-select: none;
        -webkit-user-select: none;
        -ms-user-select: none;
        user-select: none;
        z-index: 9999;
        width: 60px;
    }

    .hamRotate.active {
        transform: rotate(45deg);
    }

    .hamRotate180.active {
        transform: rotate(180deg);
    }

    .line {
        fill: none;
        transition: stroke-dasharray 400ms, stroke-dashoffset 400ms;
        stroke: #262626;
        stroke-width: 4;
        stroke-linecap: round;
    }

    .ham.active .line {
        stroke: #262626 !important;
    }

    .ham8 .top {
        stroke-dasharray: 40 160;
    }

    .ham8 .middle {
        stroke-dasharray: 40 142;
        transform-origin: 50%;
        transition: transform 400ms;
    }

    .ham8 .bottom {
        stroke-dasharray: 40 85;
        transform-origin: 50%;
        transition: transform 400ms, stroke-dashoffset 400ms;
    }

    .ham8.active .top {
        stroke-dashoffset: -64px;
    }

    .ham8.active .middle {
        stroke-dashoffset: -20px;
        transform: rotate(90deg);
    }

    .ham8.active .bottom {
        stroke-dashoffset: -64px;
    }

}


a {
    color: black;
}

body:not(.logged-in) #customer_details {
    display: none;
}

.anim3dsh {
    position: relative;
    height: 380px !important;
    overflow: hidden;
}


@media (min-width: 1200px) {

    .page-header .entry-title,
    .site-footer .footer-inner,
    .site-footer:not(.dynamic-footer),
    .site-header .header-inner,
    .site-header:not(.dynamic-header),
    body:not([class*=elementor-page-]) .site-main {
        max-width: 1360px !important;
    }
}

body.woocommerce-no-js form.woocommerce-form-coupon,
body.woocommerce-no-js form.woocommerce-form-login {
    display: none !important;
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.loading::after {
    display: none !important;
}

ul.products .button {
    display: none !important;
}

@font-face {
    font-family: 'Satoshi';
    src: url('/wp-content/plugins/soulconnect/fonts/Satoshi-Variable.ttf') format('truetype-variations');
    font-weight: 300 900;
    font-style: normal;
    font-display: swap;
}

.cart-success {
    justify-content: center;
    text-align: center;
    width: auto !important;
}

.woocommerce-form-coupon {
    display: none !important;
}

.woocommerce-checkout .woocommerce-form-login {
    display: none !important;
}

.cart-success .close {
    width: 20px;
    height: 20px;
    cursor: pointer;
    position: absolute;
    right: 20px;
    top: 20px;
}

body {
    color: var(--sc-body-color) !important;
    font-family: var(--sc-font-family) !important;
    background-color: var(--sc-lightest-color) !important;
    font-size: 16px !important;
}



.fc-event[href] {
    text-decoration: none;
}

body.woocommerce-checkout {
    background-color: var(--sc-background-color) !important;
}

.modal-buttons-row {
    margin-bottom: 20px;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

#next-slot-proposal {
    background: var(--sc-background-color);
    padding: 20px;
    border-radius: 8px;
    margin: 20px 0;
    text-align: center;
}



.buttons-wrapper {
    margin-top: 20px;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}

.woocommerce-checkout h1 {
    display: none !important;
}

.woocommerce-checkout .elementor-location-footer {
    display: none !important;
}

#order_review_heading {
    display: none !important;
}

.woocommerce-MyAccount-content a {
    color: black !important;
}

.woocommerce-form-coupon-toggle,
.woocommerce-additional-fields {
    display: none !important;
}


.beauty-phone-only-section {
    padding: 20px;
    background: var(--sc-background-color);
    border-radius: var(--sc-border-radius);
}


.reservations-list,
.new-message-section {
    display: flex;
    flex-direction: column;
    gap: 15px;
    background-color: var(--sc-background-color);
    padding: 20px;
    border-radius: var(--sc-border-radius);
}

#beauty-checkout-wrapper {
    width: 100%;
}

.beauty-tab {
    display: none;
    flex-direction: column;
    width: 100%;
}

.beauty-tab.active {
    display: block;
}

.beauty-tab h2:not(.cat-toggle),
.woocommerce-billing-fields h3 {
    font-size: 24px !important;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--sc-other-border-color);
    margin-top: 0 !important;
    margin-bottom: 40px;
    width: 100%;
}

.woocommerce-billing-fields h3 {
    margin-bottom: 24px;
}

.tile-title {
    font-size: 14px;
}

.addons-group h3 {
    font-size: 18px;
    padding-top: 0;
    margin-top: 0;
    padding-bottom: 12px;
}

#beauty-navigation {
    position: fixed;
    background: var(--sc-lightest-color);
    padding: 20px 80px;
    display: flex;
    justify-content: space-between;
    bottom: 0;
    width: 100vw;
    left: 0;
    gap: 40px;
    align-items: center;
    border-top: 1px solid var(--sc-other-border-color);
    z-index: 9999999;
}

.soulmodal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: var(--sc-lightest-color);
    border: 1px solid var(--sc-border-color);
    z-index: 10000;
    width: 100%;
    max-width: 950px;
    color: var(--sc-darkest-color);
    border-radius: var(--sc-border-radius);
    z-index: 999999999;
}

.soulmodal::-webkit-scrollbar {
    display: none !important;
}

#custom-voucher-modal {
    max-width: 450px;
}


.fc-timegrid-day.fc-day-today {
    background-color: transparent !important;
}

.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-message {
    background: var(--sc-lightest-color) !important;
    border: 1px solid var(--sc-border-color);
    margin: 0 !important;
    padding: 32px 64px !important;
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    border-radius: var(--sc-border-radius);
}

.woocommerce-checkout .woocommerce-error {
    background: var(--sc-darkest-color) !important;
    border: 1px solid var(--sc-border-color);
    margin: 0 !important;
    padding: 32px 64px !important;
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    border-radius: var(--sc-border-radius);
}


body:not(.logged-in):not(.register) #place_order {
    opacity: 0.75;
}

.woocommerce-terms-and-conditions-link {
    color: black !important;
}

.woocommerce #payment #place_order,
.woocommerce-page #payment #place_order {
    margin-top: 20px !important;
}

body.checkout-step-final:not(.logged-in):not(.register) #beauty-next {
    opacity: 0.75;
}

.soulmodal>div {
    padding: 32px;
}

.woocommerce-error::before,
.woocommerce-info::before,
.woocommerce-message::before {
    top: 30px;
    left: 30px;
}

#add_payment_method #payment div.payment_box,
.woocommerce-cart #payment div.payment_box,
.woocommerce-checkout #payment div.payment_box {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
}

.woocommerce-checkout #payment div.form-row.place-order {
    margin-top: 20px !important;
}

#beauty-staff-list {
    display: flex;
    gap: 10px;
    justify-content: flex-start;
    flex-wrap: wrap;
}

#add_payment_method #payment div.payment_box::before,
.woocommerce-cart #payment div.payment_box::before,
.woocommerce-checkout #payment div.payment_box::before {
    display: none !important;
}

.beauty-staff-tile {
    display: flex;
    border: 1px solid var(--sc-other-border-color);
    padding: 16px;
    cursor: pointer;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    min-width: 110px;
    flex-grow: 1;
    border-radius: var(--sc-border-radius);
}

.tile-image {
    display: none;
}

.beauty-staff-tile span {
    padding-top: 19px;
    border-top: 1px solid var(--sc-other-border-color);
    width: 100%;
    text-align: center;
}

.beauty-staff-tile strong {
    padding-top: 19px;
    padding-bottom: 19px;
}

.beauty-staff-tile.active {
    border-color: var(--sc-darkest-color);
    background: var(--sc-darkest-color);
    color: var(--sc-lightest-color);
}

.beauty-staff-tile.active span {
    border-top: 1px solid var(--sc-other-border-color);
}

.service-row,
.addon-tile,
.linked-service-tile {
    border-bottom: 1px solid var(--sc-other-border-color);
    padding: 8px;
    cursor: pointer;
    transition: background 0.3s;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-left: 20px;
    color: var(--sc-darkest-color);
    height: 50px;
    border-radius: var(--sc-border-radius);
}




.service-row.added-to-cart,
.addon-tile.added-to-cart,
.linked-service-tile.added-to-cart {
    background: var(--sc-darkest-color);
    color: var(--sc-lightest-color);
}

#addons-wrapper {
    display: flex;
    flex-direction: column;
    gap: 60px;
    background: var(--sc-lightest-color);
    border-radius: var(--sc-border-radius);
    border: 1px solid var(--sc-border-color);
    padding: 20px;
}

.service-row .trash {
    width: 32px;
    height: 32px;
    background: var(--sc-dark-trash);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--sc-border-radius);
}

.accordion {
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 100%;
}

.accordion .cat-toggle {
    margin: 0 !important;
    padding: 15px 0;
    font-size: 24px;
    line-height: 1em;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: row;
    flex-wrap: nowrap;
    cursor: pointer;
    color: var(--sc-darkest-color);
}


.accordion .expand {
    width: 40px;
    height: 40px;
    background-color: var(--sc-lightest-color);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all .2s;
    border-radius: var(--sc-border-radius);
}

.accordion .category:not(.active) .expand svg {
    rotate: 180deg;
}

.expand svg {
    transition: all .2s;
}

.category.active .expand {
    background-color: var(--sc-darkest-color);

}

.category:not(.active) .expand svg path {
    stroke: var(--sc-darkest-color);
}

.accordion .category.active .expand svg {
    rotate: 0 !important;
}


.accordion>.category {
    border: 1px solid var(--sc-border-color);
    padding: 12px;
    padding-left: 20px;
    border-radius: var(--sc-border-radius);
    background: var(--sc-lightest-color);
}

#gus-check-button.hidden {
    display: none !important;
}

#classiclogin {
    order: -1;
    margin-top: 40px;
}

.button {
    padding: 16px 40px !important;
    line-height: 1em !important;
    background-color: var(--sc-lightest-color) !important;
    color: var(--sc-darkest-color) !important;
    border-radius: var(--sc-border-radius) !important;
    font-weight: 500 !important;
    border: 1px solid var(--sc-darkest-color) !important;
    font-family: var(--sc-font-family) !important;
}

.button.button-primary,
#place_order,
button[name="save_address"],
button[name="save_account_details"],
.woocommerce .woocommerce-form-login .woocommerce-form-login__submit,
.woocommerce-ResetPassword button[type="submit"],
#myaccount-send-sms,
#myaccount-verify-sms,
.woocommerce div.product form.cart .button,
.woocommerce ul.products li.product .button,
.button.active {
    background-color: var(--sc-darkest-color) !important;
    color: var(--sc-lightest-color) !important;
}

.button-small {
    padding: 8px 10px !important;
    font-size: 13px !important;
}

button[name="save_address"],
button[name="save_account_details"],
.woocommerce-ResetPassword button[type="submit"] {
    margin-top: 20px !important;

}

.woocommerce .products ul::after,
.woocommerce .products ul::before,
.woocommerce ul.products::after,
.woocommerce ul.products::before {
    display: none !important;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    width: 100% !important;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.woocommerce ul.products {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    row-gap: 50px;
}

.woocommerce ul.products li.product a img {
    aspect-ratio: 0.75;
    object-fit: cover;
}

.woocommerce ul.products li.product .button {
    margin-top: auto !important;
}

.woocommerce-loop-product__title {
    color: black !important;
}

.woocommerce ul.products li.product .price {
    color: black !important;
}

.woocommerce ul.products li {
    margin: 0 !important;
}

.woocommerce-error,
.woocommerce-message,
.woocommerce-info {
    background-color: var(--sc-darkest-color) !important;
    color: var(--sc-lightest-color) !important;
    border: none !important;
    padding: 1em !important;
    width: fit-content !important;
    border-radius: var(--sc-border-radius);
}


html body form.checkout .woocommerce-NoticeGroup .woocommerce-error a,
html body form.checkout .woocommerce-NoticeGroup .woocommerce-message a,
html body form.checkout .woocommerce-NoticeGroup .woocommerce-info a {
    color: var(--sc-lightest-color) !important;
}

.woocommerce-info>.woocommerce-Button.wc-forward.button {
    display: none !important;
}

#beauty-navigation::before {
    content: '';
    height: 8px;
    width: 25%;
    position: absolute;
    top: -4px;
    left: 0;
    background: var(--sc-darkest-color);
    transition: all .3s;
    border-radius: 0 var(--sc-border-radius) var(--sc-border-radius) 0;
}

#beauty-navigation .disabled {}

.checkout-step-2 #beauty-navigation::before {
    width: 75%;
}

.checkout-step-final #beauty-navigation::before {
    width: 100%;
}

.woocommerce .woocommerce-form-login .woocommerce-form-login__submit {
    margin-right: 0 !important;
}

.woocommerce-account .woocommerce-form-login {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 5em !important;
}

.woocommerce-account .woocommerce-form-login .form-row:not(.woocommerce-form-row) {
    display: flex;
    flex-direction: row;
    align-content: center;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}

.woocommerce .woocommerce-form-login .woocommerce-form-login__rememberme {
    display: flex !important;
    align-items: center;
    gap: 10px;
    cursor: pointer;
}

.sc-login-panel-item,
#sc-sms-code-panel {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    row-gap: 10px;
    background: var(--sc-lightest-color);
    padding: 20px;
    border-radius: var(--sc-border-radius);
    border: 1px solid var(--sc-other-border-color);
}

#soulconnect-login-panel {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    row-gap: 20px;
    width: 60%;
}

#sc-sms-status {
    width: 100%;
    font-size: 14px;
}

li.payment_method_stripe_blik[style="display: block;"] {
    display: flex !important;
}


.sc-login-panel-item span,
#sc-sms-code-panel span {
    width: 100%;
}

#sc-sms-code,
.sc-login-panel-item div.iti {
    width: calc(100% - 200px);
}

#sc-login-phone {
    height: 100%;
}

.woocommerce form .form-row .optional {
    display: none !important;
}

.woocommerce-checkout .elementor-location-header,
.woocommerce-checkout #site-header {
    display: none !important;
}

#site-footer {
    display: none !important;
}

.woocommerce-page #content {
    padding: 40px 20px;
    max-width: 1360px;
    margin: 0 auto;
}

.woocommerce-checkout #content {

    min-height: 100svh;
    padding-bottom: 150px;

}

.page-header .entry-title {
    max-width: 100% !important;
    padding: 0 !important;
}

.woocommerce-page #content .page-content,
.woocommerce-page #content .page-content>.woocommerce {
    height: 100%;
}

form.checkout {
    height: 100%;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    color: var(--sc-darkest-color);
}

form.checkout .woocommerce-NoticeGroup {
    display: flex;
    position: absolute;
    z-index: 9;
}

form.checkout .woocommerce-NoticeGroup a {
    text-decoration: none !important;
    color: black !important;
}

.woocommerce-error::before,
.woocommerce-info::before,
.woocommerce-message::before {
    display: none !important;
}

form.checkout .woocommerce-NoticeGroup::before {
    content: '';
    position: absolute;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    background: var(--sc-background-color);
    top: 10px;
    right: 10px;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgZmlsbD0ibm9uZSI+CiAgICA8cGF0aCBzdHJva2U9IiMyQjJCM0YiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyIiBkPSJtMTIgNC04IDhtMC04IDggOCIvPgo8L3N2Zz4=");
    background-repeat: no-repeat;
    background-size: 16px;
    background-position: center;
    z-index: 2;
    cursor: pointer;
    border-radius: var(--sc-border-radius);
}

.subcategory-buttons {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

.service-time {
    white-space: nowrap;
}

.sub-toggle {
    padding: 16px 40px;
    line-height: 1em;
    background-color: var(--sc-lightest-color);
    color: var(--sc-darkest-color);
    text-decoration: none !important;
    font-weight: 500;
    border-radius: var(--sc-border-radius);
    border: 1px solid var(--sc-other-border-color);
}

.soulmodal .close {
    cursor: pointer;
    position: absolute;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    background: var(--sc-background-color);
    top: 32px;
    right: 32px;
    border-radius: var(--sc-border-radius);
}

.sub-toggle.active {
    background-color: var(--sc-darkest-color);
    color: var(--sc-lightest-color);
    border-color: var(--sc-darkest-color);
}

.services-table {
    margin-top: 16px;
}

.cat-content {
    padding-top: 30px;
    border-top: 1px solid var(--sc-other-border-color);
}

.staff-photo {
    width: 56px;
    height: 56px;
    border-radius: 100%;
    background: var(--sc-lightest-color);
}



.calendar-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
    background-color: var(--sc-background-color);
    padding: 8px;
    border-radius: var(--sc-border-radius);
}

.calendar-days {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 4px;
}

.calendar-weekdays {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 4px;
    text-align: center;
    font-size: 10px;
}

.calendar-day {
    text-align: center;
    padding: 5px;
    border: 1px solid var(--sc-background-color);
    cursor: default;
    opacity: 0.5;
    background: var(--sc-lightest-color);
    font-size: 14px;
    line-height: 1em;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--sc-border-radius);
}

.calendar-day.available {
    cursor: pointer;
    background: var(--sc-background-color);
    opacity: 1;
}

.calendar-day.selected {
    background-color: var(--sc-darkest-color);
    border-color: var(--sc-darkest-color);
    color: var(--sc-lightest-color);
}

.hours-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    max-height: 290px;
    overflow: auto;
}

.hour-slot {
    background: var(--sc-lightest-color);
    border: 1px solid var(--sc-other-border-color);
    display: flex;
    cursor: pointer;
    height: 42px;
    align-items: center;
    justify-content: center;
    line-height: 1em;
    width: 100%;
    border-radius: var(--sc-border-radius);
}


.hour-slot.selected {
    background-color: var(--sc-darkest-color) !important;
    border-color: var(--sc-darkest-color) !important;
    color: var(--sc-lightest-color) !important;
}

#staff-choose {
    padding-bottom: 24px;
}



#beauty-calendar-hours {
    display: flex;
    padding-top: 24px;
    border-top: 1px solid var(--sc-other-border-color);
}

#beauty-calendar {
    width: 50%;
    padding-right: 24px;
    border-right: 1px solid var(--sc-other-border-color);
}

#beauty-available-hours {
    width: 50%;
    padding-left: 24px;
}


.next-month,
.prev-month {
    background-color: var(--sc-lightest-color) !important;
    width: 40px;
    height: 40px;
    display: flex;
    padding: 0 !important;
    border: none !important;
    align-items: center;
    justify-content: center;
    border-radius: var(--sc-border-radius);
}

.soulmodal label {
    color: var(--sc-darkest-color);
    font-size: 18px;
    font-weight: 700;
    line-height: 2em;
    padding-bottom: 10px;
}

.soulmodal .actions {
    background: var(--sc-background-color);
    padding: 16px 32px !important;
    display: flex;
    justify-content: space-between;
}

.closemodal {
    background-color: var(--sc-lightest-color) !important;
}

#customer_details {
    width: 60%;
    display: flex;
    flex-direction: column;
}

#customer_details>svg {
    display: none !important;
}

.product_meta a {
    color: black !important;
}

.woocommerce form .form-row select {
    min-height: 39px;
}

.iti__flag-container {
    border-radius: var(--sc-border-radius);
    overflow: hidden;
}

.woocommerce form .form-row .input-text,
.woocommerce form .form-row select,
#beauty-checkout-wrapper input,
.select2-container .select2-dropdown,
.select2-container .select2-selection,
.iti input,
.iti input[type=text],
.iti input[type=tel],
.sms-login-section input,
input[type=date],
.woocommerce .quantity .qty,
input[type=text],
input[type=number],
input[type=text],
textarea,
.select2-container .select2-selection,
input[type=time] {
    border-radius: var(--sc-border-radius) !important;
    border: 1px solid var(--sc-other-border-color) !important;
    background: var(--sc-lightest-color);
    background-color: var(--sc-lightest-color) !important;
    font-family: var(--sc-font-family) !important;
    font-size: 16px;
    line-height: 1.5em !important;
}


.qt.quantity-custom {
    display: flex;
    flex-direction: row;
    gap: 5px;
}

.qt.quantity-custom input {
    text-align: center;
}

.increase,
.decrease {
    padding: 16px 20px !important;
}

.sms-login-section {
    order: -2;
}

.select2-search--dropdown,
.select2-results {
    background: var(--sc-lightest-color);
}

#order_review h3 {
    display: none !important;
}

.beauty-tab.final {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
}

.woocommerce .col2-set .col-2,
.woocommerce-page .col2-set .col-2 {
    width: 100% !important;
}

.woocommerce-checkout table.shop_table tr.cart_item td.product-name {
    display: flex;
    justify-content: flex-start;
    padding-bottom: 20px !important;
    border-bottom: 1px solid var(--sc-other-border-color) !important;
    flex-wrap: wrap;
    gap: 10px;
}

.cart_item {
    flex-wrap: wrap;
    padding-top: 15px;
}

#ship-to-different-address span {
    font-size: 18px;
}

.cart_item img {
    width: 100px;
    object-fit: contain;
    object-position: top;
}

.woocommerce-checkout .product-total,
.woocommerce-checkout .product-name {
    width: 100%;
}

.woocommerce-checkout .product-name>span {
    display: block;
    font-weight: 700;
}

.woocommerce .woocommerce-customer-details .woocommerce-customer-details--email,
.woocommerce .woocommerce-customer-details .woocommerce-customer-details--phone {
    padding: 0 !important;
    margin: 0 !important;
}

.woocommerce .woocommerce-customer-details .woocommerce-customer-details--phone::before,
.woocommerce .woocommerce-customer-details .woocommerce-customer-details--email::before,
.woocommerce .col2-set::after,
.woocommerce .col2-set::before,
.woocommerce-page .col2-set::after,
.woocommerce-page .col2-set::before {
    display: none !important;
}

.woocommerce .cart_item .product-name a.remove:hover {
    color: black !important;
    background: var(--sc-lightest-color) !important;
}

.u-columns.addresses {
    display: flex;
    gap: 40px;
}

.u-columns.addresses>div.woocommerce-Address {
    width: 50% !important;
}

.u-columns.addresses>div.woocommerce-Address header {
    margin-bottom: 30px;
}

#add_payment_method #payment ul.payment_methods li,
.woocommerce-cart #payment ul.payment_methods li,
.woocommerce-checkout #payment ul.payment_methods li {
    padding: 0 !important;
}

#order_review {
    width: 35%;
    padding: 32px !important;
    background: var(--sc-lightest-color) !important;
    display: flex;
    flex-direction: column;
    gap: 20px;
    border-radius: var(--sc-border-radius);
    border: 1px solid var(--sc-other-border-color);
}

li.wc_payment_method label {
    display: flex;
    white-space: nowrap;
    align-items: center;
    gap: 10px;
    line-height: 1em;
    cursor: pointer;
}

.payment_method_stripe_blik>fieldset>p {
    display: none !important;
}

.payment_box>fieldset {
    outline: none;
    margin: 0 !important;
    border: none;
    background: var(--sc-background-color);
    border-radius: var(--sc-border-radius) !important;
}

ul.payment_methods li[class*=payment_method] {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
}

#add_payment_method #payment ul.payment_methods li img,
.woocommerce-cart #payment ul.payment_methods li img,
.woocommerce-checkout #payment ul.payment_methods li img {
    margin: 0 !important;
    max-height: 20px;
    object-fit: contain;
    object-position: left;

}

ul.payment_methods label[for*=payment_method_stripe]:after,
#add_payment_method #payment ul.payment_methods li:not(.woocommerce-notice)::after,
.woocommerce-cart #payment ul.payment_methods li:not(.woocommerce-notice)::after,
.woocommerce-checkout #payment ul.payment_methods li:not(.woocommerce-notice)::after,
#add_payment_method #payment ul.payment_methods li:not(.woocommerce-notice)::after,
#add_payment_method #payment ul.payment_methods li:not(.woocommerce-notice)::before,
.woocommerce-cart #payment ul.payment_methods li:not(.woocommerce-notice)::after,
.woocommerce-cart #payment ul.payment_methods li:not(.woocommerce-notice)::before,
.woocommerce-checkout #payment ul.payment_methods li:not(.woocommerce-notice)::after,
.woocommerce-checkout #payment ul.payment_methods li:not(.woocommerce-notice)::before,
#add_payment_method #payment ul.payment_methods::after,
#add_payment_method #payment ul.payment_methods::before,
.woocommerce-cart #payment ul.payment_methods::after,
.woocommerce-cart #payment ul.payment_methods::before,
.woocommerce-checkout #payment ul.payment_methods::after,
.woocommerce-checkout #payment ul.payment_methods::before {
    display: none !important;
}

.woocommerce-privacy-policy-text {
    display: none !important;
}

.woocommerce-terms-and-conditions-wrapper label.woocommerce-form__label.woocommerce-form__label-for-checkbox.checkbox {
    font-size: 100%;
}

.woocommerce-account-fields {
    margin-top: 20px;
}

.payment_method_bacs.payment_box {
    display: none !important;

}

#sc-forgot-password {
    margin-top: 20px !important;
}

.woocommerce-account .addresses .title .edit,
.woocommerce-LostPassword a,
#sc-forgot-password {
    text-underline-offset: 5px;
    font-weight: 500;
    letter-spacing: 0.025em;
    padding: 1em;
    background: var(--sc-background-color) !important;
    display: flex;
    width: fit-content;
    color: black !important;
    border-radius: var(--sc-border-radius);
    line-height: 1em;
}

.woocommerce-account .addresses .title .edit {
    float: left !important;
}

.woocommerce-address-fields__field-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}



.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-1 {
    width: 100% !important;
}

.woocommerce .col2-set::after,
.woocommerce-page .col2-set::after {
    display: none !important;
}

.order-summary {
    display: flex;
    gap: 40px;
    margin-left: auto;
}

.order-summary>div {
    display: flex;
    flex-direction: column;
}

.order-summary span {
    font-size: 14px;
}

.order-summary strong {
    font-size: 22px;
    font-weight: 600;
}

.woocommerce-checkout table.shop_table {
    border: none !important;
    background: transparent !important;
    border-collapse: collapse !important;
    display: flex;
    flex-direction: column;
    margin: 0 !important;
    border-radius: 0 !important;
    font-size: 16px !important;
}

.woocommerce-checkout table.shop_table thead {
    display: none !important;
}

.woocommerce-checkout table.shop_table tbody,
.woocommerce-checkout table.shop_table tfoot {
    display: flex;
    width: 100%;
    flex-direction: column;
}

.woocommerce-checkout table.shop_table>*>* {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.woocommerce-checkout table.shop_table td,
.woocommerce-checkout table.shop_table th {
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
}

.woocommerce-checkout table.shop_table tr.cart_item td.product-total {
    font-size: 14px;
    padding-bottom: 20px !important;
    padding-top: 10px !important;
    border-bottom: 1px solid var(--sc-other-border-color) !important;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.product-total .service-item .woocommerce-Price-amount {
    white-space: nowrap;
}

.woocommerce table.my_account_orders td,
.woocommerce table.my_account_orders th {
    text-align: center;
    font-size: 14px;
    padding: 1em !important;
}

.woocommerce .woocommerce-customer-details address {
    border-radius: 0 !important;
    padding: 1em !important;
    border: 1px solid var(--sc-other-border-color) !important;
}

.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-account .woocommerce-MyAccount-navigation {
    width: 100% !important;
}

.woocommerce-account table th,
.woocommerce-account table td,
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register {
    border: 1px solid var(--sc-other-border-color) !important;
    border-radius: var(--sc-border-radius);
}

table tbody tr:hover>td,
table tbody tr:hover>th {
    background: transparent !important;
}

.wc-item-meta {
    padding: 0 !important;
}

h1 {
    margin-top: 0 !important;
    font-weight: 500;
}

.woocommerce-MyAccount-navigation ul {
    display: flex;
    flex-direction: row;
    list-style: none;
    padding: 0;
    gap: 20px;
    flex-wrap: wrap;
    margin: 0 !important;
}

.woocommerce-MyAccount-navigation ul li a {
    text-decoration: none;
    padding: 16px 30px !important;
    line-height: 1em !important;
    background-color: var(--sc-background-color) !important;
    color: var(--sc-darkest-color) !important;
    border-radius: var(--sc-border-radius);
    font-weight: 500;
}

.woocommerce-MyAccount-navigation ul li.is-active a {
    background-color: var(--sc-darkest-color) !important;
    color: var(--sc-lightest-color) !important;
}


.woocommerce-MyAccount-navigation ul li {
    display: flex;
}

.woocommerce-account div.woocommerce {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.woocommerce-account div.woocommerce::before,
.woocommerce-account div.woocommerce::after {
    display: none !important;
}

#beauty-staff-choose {
    padding-bottom: 24px;
}

.work-hours-container {
    overflow: auto;
}

.woocommerce-account table.shop_table {
    margin: 0 !important;
    border-collapse: collapse !important;
    border-radius: 0 !important;
    /*border: 1px solid var(--sc-other-border-color) !important;*/
    border: none !important;
}

.reservation-item {
    border: 1px solid var(--sc-border-color) !important;
    padding: 15px;
    background-color: var(--sc-lightest-color);
    border-radius: var(--sc-border-radius);
}

table tbody>tr:nth-child(odd)>td,
table tbody>tr:nth-child(odd)>th {
    background: transparent !important;
}


.product-total .service-item,
.product-total .addon-item {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
}

.product-total .service-item {
    margin-top: 10px;
    width: 100%;
}

.woocommerce-checkout table.shop_table tbody {}

.woocommerce-checkout table.shop_table tfoot tr {
    padding-bottom: 15px !important;
    padding-top: 15px !important;
    border-bottom: 1px solid var(--sc-other-border-color) !important;
    gap: 20px;
}

.woocommerce-checkout table.shop_table tfoot tr.order-total {
    padding-top: 20px !important;
}

.woocommerce-checkout #payment ul.payment_methods {
    padding: 0 !important;
    border: none !important;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

#add_payment_method #payment,
.woocommerce-cart #payment,
.woocommerce-checkout #payment {
    background: transparent !important;
    border-radius: 0 !important;
}

.wc-stripe-card-icon.discover,
.wc-stripe-card-icon.amex {
    display: none !important;
}

#add_payment_method #payment div.form-row,
.woocommerce-cart #payment div.form-row,
.woocommerce-checkout #payment div.form-row {
    padding: 0 !important;
    margin: 0 !important;
}

*:focus-visible {
    outline: none !important;
}

.woocommerce-form-login-toggle {
    display: none !important;
}

#sc-login-modal {
    max-width: 600px;

}

#sc-login-modal .actions {
    flex-wrap: wrap;
    row-gap: 10px;
}

#sc-login-modal input {
    margin-top: 20px;
    width: 100%;
}

.graybox {
    border: 1px solid var(--sc-other-border-color);
    border-radius: var(--sc-border-radius);
    padding: 20px;
    background: #f9fafb;
}

#usage-history-content {
    width: 100%;
}

.zones-container {
    display: grid;
    align-items: flex-start;
    justify-content: space-between;
    grid-template-columns: 32% 32% 32%;
}

.usage-history-list th,
.usage-history-list td {
    padding: 5px;
}

.zone-section {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
    background-color: var(--sc-darkest-color) !important;
}


.select2-container--default .select2-selection--single .select2-selection__clear {
    padding: 0 !important;
}

.staff-material-bottles {
    width: 50px !important;
    padding-left: 5px !important;
    padding-right: 5px !important;
}

.staff-add-material-to-zone {
    margin-top: 5px !important;
}

.zone-fields {
    position: relative;
    overflow-x: hidden;
}

.select2-container {
    width: 100% !important;
}

.staff-remove-material {
    background: #dc3545 !important;
    color: var(--sc-lightest-color) !important;
    border: none !important;
    padding: 5px 5px !important;
    border-radius: 3px !important;
    cursor: pointer;
    line-height: 1em !important;
}

.usage-actions {
    margin-top: 30px;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.usage-date-container {
    margin-bottom: 20px;
}

#client-reservation-info {
    width: 100%;
}

#client-reservation-info p {
    margin: 0 !important;
}

.usage-history-list {
    margin-top: 20px;
    width: 100%;
}

.modal h3,
.modal h4 {
    margin-top: 0 !important;
}

.modal h5 {
    margin: 0 !important;
}

.flexrow {
    display: flex;
    flex-direction: row;
    gap: 10px;
    align-items: flex-end;
    width: 100%;
}

.flexrow.wrap {
    flex-wrap: wrap;
}

.material-row {
    margin-top: 10px;
    margin-bottom: 5px;
    display: flex;
    align-items: flex-end;
    gap: 5px;
}

.select2-container--default .select2-selection--single .select2-selection__clear {
    line-height: 1em;
    padding-top: 0;
    padding-bottom: 0;
    cursor: pointer;
    margin-right: 0px;
    padding-right: 0px;
    float: left;
}

.kalendarz-panel .view-buttons,
.kalendarz-panel .arrows {
    flex-wrap: wrap;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 100%;
    top: 2px;
    right: 1px;
    width: 15px;
}

.material-row label {
    margin-top: 0 !important;
}

.modal {
    position: fixed;
    width: 500px;
    background: #fff;
    padding: 20px;
    border-radius: var(--sc-border-radius);
    display: flex;
    flex-direction: column;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
    z-index: 9;
    max-height: 90svh;
    overflow: auto;
    border: 1px solid var(--sc-border-color);
    align-items: flex-start;
    height: max-content;
    max-width: 90vw;
    z-index: 999;
}

.modal .tab-wrapper {
    display: flex;
    width: 100%;
    gap: 10px;
}

.modal:not(.wide)>.column {
    width: 100%;
}

.modal.wide>.column:not(.flexrow) {
    width: calc(50% - 10px);
    display: flex;
    flex-direction: column;
}

#client-reservation-info {
    margin-bottom: 20px;
}

#staff-calendar-modal {
    font-size: 14px;
}

.modal input[type=time],
.modal input[type=text],
.modal input[type=number],
.modal input[type=tel],
.modal input[type=date],
.modal select,
.modal textarea {
    width: 100%;
    padding: 8px 10px !important;
    font-size: 14px;
}

.inline-edit-number:hover {
    border-radius: 3px;
    outline: 1px dashed #2271b1;
}

.staff-schedule-management input[type=time],
.staff-schedule-management input[type=text],
.staff-schedule-management input[type=number],
.staff-schedule-management input[type=tel],
.staff-schedule-management input[type=date],
.staff-schedule-management select,
.staff-schedule-management textarea {
    padding: 8px 10px;
}

.modal table {
    border-collapse: collapse;
}



.client-info {
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 40px;
    gap: 20px;
}

.client-info>.column {
    width: 50% !important;

}

.client-info>.column input {
    width: 100% !important;
}

.staff-tab-content {
    width: 100% !important;
}

.zone-fields>label>input {
    width: 100% !important;
}

#staff-client-history-content table td,
#staff-client-history-content table th {
    font-size: 14px;
}

.modal.wide {
    width: 100% !important;
    flex-direction: row;
    gap: 20px;
    max-width: 1300px;
    flex-wrap: wrap;
}

.usage-form {
    width: 100%;
}

.modal label {
    margin-top: 10px;
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    width: 100%;
    gap: 5px;
}

.close-modal {
    width: 18px;
    height: 18px;
    border: none;
    background-color: transparent;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 357 357'%3E%3Cpath d='M357 35.7 321.3 0 178.5 142.8 35.7 0 0 35.7l142.8 142.8L0 321.3 35.7 357l142.8-142.8L321.3 357l35.7-35.7-142.8-142.8z' fill='%23000'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    cursor: pointer;
    text-indent: -9999px;
    position: absolute;
    right: 20px;
    top: 20px;
    padding: 0 !important;
    opacity: 0.5;
    z-index: 2;
}

.close-modal:hover {
    opacity: 1;
    background-color: transparent;
}

.select2-container .select2-selection--single {
    height: auto !important;
}

.button.white,
.woocommerce table.my_account_orders .button {
    background: var(--sc-lightest-color) !important;
}

#beauty-checkout-wrapper input[type="radio"] {
    border-radius: 100% !important;
}

input[type="radio"] {
    -webkit-appearance: none;
    appearance: none;
    background-color: var(--sc-lightest-color);
    width: 20px !important;
    height: 20px !important;
    border-radius: 100% !important;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    margin: 0 !important;
    border: 1px solid black !important;
    flex-shrink: 0;
}

input[type="radio"]::before {
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 50%;
    transform: scale(0);
    transition: 120ms transform ease-in-out;
    background-color: black;

}

input[type="radio"]:checked::before {
    transform: scale(1);
}


input[type="checkbox"] {
    -webkit-appearance: none;
    appearance: none;
    background-color: var(--sc-lightest-color);
    width: 30px !important;
    height: 30px !important;
    display: inline-flex !important;
    justify-content: center;
    align-items: center;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: var(--sc-border-radius);
    border: 1px solid var(--sc-other-border-color) !important;
}

input[type="checkbox"]::before {
    content: "";
    display: flex;
    width: 12px;
    height: 12px;
    transform: scale(0);
    transition: 120ms transform ease-in-out;
    background-color: black;
    clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);

}

input[type="checkbox"]:checked::before {
    transform: scale(1);
}

#billing_fv_field label {
    cursor: pointer;
    font-size: 90%;
}

#billing_fv_field {
    width: 100%;
}

.woocommerce form .form-row label {
    line-height: 1.25;
    font-size: 75%;
}

.woocommerce form .form-row {
    padding: 0 !important;
    margin: 0 !important;
}

.woocommerce-billing-fields__field-wrapper {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    row-gap: 20px;
}

#billing_phone_field .iti {
    width: 100%;
}

.woocommerce form .form-row-first,
.woocommerce form .form-row-last,
.woocommerce-page form .form-row-first,
.woocommerce-page form .form-row-last,
#billing_phone_field,
#billing_email_field,
#billing_company_field,
#billing_nip_field,
#billing_address_1_field,
#billing_postcode_field,
#billing_city_field,
#billing_country_field,
#account_password_field {
    width: calc(50% - 5px) !important;
}


.woocommerce-checkout.woocommerce-order-received table.shop_table tfoot tr {
    padding-bottom: 10px !important;
}

.woocommerce-order-received .woocommerce-table__product-total {
    display: none !important;
}

.woocommerce ul.order_details {
    padding: 0 !important;
    margin: 30px 0 !important;
}

.svg.staff-photo {
    background-color: var(--sc-background-color);
}

.woocommerce-terms-and-conditions-wrapper label {
    cursor: pointer;
}

.wholeloading {
    pointer-events: none;
    opacity: 0.5;
}

.loading {
    pointer-events: none;
    opacity: 0.5;
}

.linked-service-tile {
    cursor: pointer;
    transition: background 0.2s;
}

.woocommerce-checkout table.shop_table tfoot tr.order-total {
    padding-top: 10px;
}

.fc-license-message {
    display: none !important;
}

.fc-event-title .details {}

.fc-toolbar-section.fc-toolbar-end {
    display: none !important;

}

.fc-today-button {
    display: none !important;
}

.fc-button-group>.fc-button {
    margin: 0 !important;
    border: none !important;
    padding: 0.5em !important;
    background: var(--sc-darkest-color);
    color: var(--sc-lightest-color);
}

.fc-button-group {
    gap: 5px;
}

.fc-button-group>.fc-button:hover,
.fc-button-group>.fc-button:focus {
    background-color: var(--sc-darkest-color) !important;
    outline: none !important;
}

.staff-reservations-panel {
    max-width: 1200px;
    margin: 0 auto;
}

.calendar-controls {
    display: flex;
    gap: 20px;
    margin-bottom: 20px;
    align-items: flex-end;
    flex-wrap: wrap;
}


.kalendarz-panel {
    background: white;
    padding: 20px;
    border-radius: var(--sc-border-radius);
}

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

.staff-reservation-modal {
    background: var(--sc-lightest-color);
    padding: 30px;
    border-radius: 8px;
    max-width: 500px;
    width: 90%;
}



.calendar-controls>div {
    display: flex;
    align-items: center;
}

.calendar-manage-actions {
    margin-bottom: 15px;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

#quick-date-picker {
    padding: 8px 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
}

.view-buttons {
    display: flex;
    gap: 5px;
}

.view-buttons .button {
    border-radius: 4px;
    padding: 8px 12px;
    border: 1px solid #ddd;
    background: #f1f1f1;
    color: #333;
    cursor: pointer;
    font-size: 13px;
    transition: all 0.2s;
}

.view-buttons .button:hover {
    background: #e0e0e0;
    border-color: #999;
}

.view-buttons .button.active {
    background: #0073aa;
    color: white;
    border-color: #005a87;
}

.arrows {
    display: flex;
    gap: 5px;
}

.arrows .button {
    min-width: 40px;
    padding: 8px 12px;
}

#go-to-today {
    margin: 0;
}



.reservation-details p {
    margin: 10px 0;
}


body.woocommerce-account:not(.logged-in) h2 {
    display: none !important;
}

.sms-login-step-1 {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.sms-login-step-1>p {
    width: 100%;
    margin: 0 !important;
}

.woocommerce form .form-row::after,
.woocommerce form .form-row::before,
.woocommerce-page form .form-row::after,
.woocommerce-page form .form-row::before {
    display: none !important;
}

.woocommerce ul.products li.product a.woocommerce-loop-product__link {
    width: 100%;
}


.soulconnect-cennik h2 {
    color: #333;
    font-size: 48px;
    font-weight: 500;
    margin: 0 !important;
    margin-bottom: -20px !important;
}

.soulconnect-cennik .category {
    margin-bottom: 40px;
    background: var(--sc-lightest-color);
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

.soulconnect-cennik .category-title {
    background: var(--sc-darkest-color) !important;
    color: var(--sc-lightest-color);
    padding: 20px;
    margin: 0;
    font-size: 1.5em;
    font-weight: 400;
}

.soulconnect-cennik .subcategory {
    border: 1px solid var(--sc-border-color);
    border-radius: var(--sc-border-radius);
    overflow: hidden;
}

.soulconnect-cennik {
    display: flex;
    flex-direction: column;
    gap: 60px;

}

.soulconnect-cennik .service-item {
    border-bottom: 1px solid var(--sc-other-border-color);
    padding: 20px;
    transition: background-color 0.3s ease;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px;
}

.soulconnect-cennik .service-item:hover {
    background-color: #ffffff30;
}

.soulconnect-cennik .service-item:last-child {
    border-bottom: none;
}

.soulconnect-cennik .service-name {
    font-size: 1.3em;
    font-weight: 500;
    color: #333;
}

.soulconnect-cennik .staff-prices {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    width: 100%;
}

.woocommerce-terms-and-conditions-checkbox-text a {
    color: var(--sc-darkest-color) !important;
}

.book-btn {
    padding: 8px 20px !important;
    transition: all .3s;
    border: 1px solid var(--sc-other-border-color);
    border-radius: var(--sc-border-radius);
    font-weight: 500 !important;
    line-height: 1em !important;
    box-shadow: 0 4px 15px rgb(0 0 0 / 25%);
    color: var(--sc-lightest-color) !important;
    text-decoration: none;
    background-color: var(--sc-darkest-color) !important;
    border-color: var(--sc-darkest-color) !important;
}

.staff-price-btn {
    padding: 8px 20px !important;
    transition: all .3s;
    border: 1px solid var(--sc-other-border-color) !important;
    display: flex !important;
    align-items: center;
    gap: 10px;
    min-height: 70px;

}

.staff-price-btn .staff-photo {
    border-radius: 100% !important;
}

.soulconnect-cennik .main-category {
    display: flex;
    flex-direction: column;
    gap: 40px;
}



.soulconnect-cennik .price {
    background: rgb(0 0 0 / 5%);
    padding: 4px 8px;
    border-radius: 12px;
    font-weight: 400;
}

.soulconnect-cennik .no-staff {
    color: #666;
    font-style: italic;
    padding: 10px 0;
}





@media(max-width: 991px) {
    .woocommerce ul.products {
        grid-template-columns: repeat(2, 1fr);
    }

}

@media(max-width: 1024px) {

    .iconshead {
        margin-left: auto;
    }

    .modal.wide {
        flex-direction: column !important;
        flex-wrap: nowrap !important;
    }

    .modal.wide>.column {
        width: 100% !important;
    }
}

@media(max-width: 1300px) {

    .modal.wide {
        max-width: 95vw !important;
    }
}

@media(min-width: 768px) {

    .soulmodal {
        max-height: 95svh;
        overflow-y: auto;
    }

    .beauty-staff-tile {
        max-width: 200px;
    }

    .hour-slot:hover {
        background: var(--sc-background-color);
    }

    .service-row:hover,
    .addon-tile:hover,
    .linked-service-tile:hover {
        background: var(--sc-darkest-color);
        color: var(--sc-lightest-color);
    }

    .service-row:hover path {
        fill: var(--sc-lightest-color);
    }

    .soulconnect-cennik .staff-price-btn:hover {
        transform: translateY(-2px);
        box-shadow: 0 4px 15px rgb(0 0 0 / 25%);
        color: var(--sc-lightest-color) !important;
        text-decoration: none;
        background-color: var(--sc-darkest-color) !important;
        border-color: var(--sc-darkest-color) !important;
    }

    .soulconnect-cennik .staff-price-btn:hover .price {
        background: rgb(255 255 255 / 20%);
    }
}

.elementor-widget.elementor-widget-icon-list .elementor-icon-list-icon svg {
    margin: 0 !important;
}

#next-slot-modal {
    width: auto !important;
}


.staff-schedule-management {
    max-width: 900px;
}

.schedule-section {
    margin-bottom: 20px;
}

.work-hours-table {
    width: 100%;
    border-collapse: collapse;
}

.work-hours-table th,
.work-hours-table td {
    padding: 10px;
    text-align: left;
}

.work-hours-table th {
    font-weight: 600;
}

.holidays-input-container,
.special-days-input-container {
    display: flex;
    gap: 10px;
    margin-bottom: 15px;
    flex-wrap: wrap;
}

.holidays-list,
.special-days-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.holiday-item,
.special-day-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px;
    background: #f9f9f9;
    border: 1px solid var(--sc-other-border-color);
    border-radius: var(--sc-border-radius);
}


@media(min-width: 1024px) {
    .gridekstron>div {
        grid-template-columns: 32% 32% 32% !important;
    }
}

.calendar-legend {
    margin-top: 15px;
    padding: 10px;
    background: #f8f9fa;
    border-radius: 5px;
    border: 1px solid #e9ecef;
    font-size: 14px;
}

.calendar-legend h4 {
    margin: 0 0 10px 0;
    color: #495057;
    font-size: 16px;
}

body>.select2-container {
    width: auto !important;
}

@media(max-width: 767px) {

    #staff-client-history-content table td,
    .usage-history-list td,
    .modal td {
        font-size: 12px;
        padding: 5px;
    }

    #staff-client-history-content table th,
    .usage-history-list th,
    .modal th {
        font-size: 10px;
        padding: 5px;
    }

    #client-reservation-info p {
        font-size: 14px;
    }

    .modal h3,
    .modal h4 {
        font-size: 22px;
    }

    .kalendarz-panel {
        padding: 0 !important;
    }

    .client-info>.column {
        width: 100% !important;
    }

    .client-info {
        flex-wrap: wrap !important;
    }

    .anim3dsh {
        height: 250px !important;
    }


    .page-header .entry-title,
    .site-footer .footer-inner,
    .site-footer:not(.dynamic-footer),
    .site-header .header-inner,
    .site-header:not(.dynamic-header),
    body:not([class*=elementor-page-]) .site-main {
        max-width: 100%;
        padding: 20px;
    }


    .woocommerce-MyAccount-navigation ul li a,
    .kalendarz-panel .button,
    .woocommerce-MyAccount-content .button {
        padding: 12px 20px !important;
    }

    .zones-container {
        display: flex !important;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 20px;
    }

    .calendar-controls {
        flex-wrap: wrap;
    }

    .subcategory-buttons {
        gap: 10px;
    }


    #next-slot-modal h3 {
        max-width: calc(100% - 50px);
        margin-top: 0;
    }

    .soulconnect-cennik .price {
        margin-left: auto;
        background: transparent !important;
    }



    .staff-price-btn {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 8px !important;
        gap: 24px;
        min-height: unset !important;
    }




    .woocommerce ul.products {}

    .order-summary strong {
        font-size: 18px;
    }

    .fc-event-title .details {
        font-size: 11px;
    }


    .woocommerce-account .woocommerce-form-login .form-row:not(.woocommerce-form-row) {
        flex-direction: column;
        align-content: center;
        align-items: flex-start;
    }

    .woocommerce-account .woocommerce-form-login {
        padding: 2em 1em !important;
    }

    .woocommerce-MyAccount-navigation ul {
        flex-wrap: wrap;
        gap: 10px;
    }

    .soulmodal label {
        padding-bottom: 0 !important;
        font-size: 16px;
    }

    .u-columns.addresses>div.woocommerce-Address {
        width: 100% !important;
    }

    .u-columns.addresses {
        flex-direction: column;
    }

    .woocommerce ul.order_details {
        display: flex;
        flex-wrap: wrap;
        flex-direction: column;
        gap: 10px;
        padding: 0;
    }

    .woocommerce ul.order_details li {
        border: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    #beauty-navigation {
        padding: 30px 20px 20px;
    }

    .soulmodal {
        max-width: 100%;
        width: 100%;
        max-height: 100svh;
        height: 100%;
        overflow-y: scroll;
        transform: none;
        left: 0;
        top: 0;
        display: flex;
        flex-direction: column;
        justify-content: space-between;

    }

    #beauty-staff-list {
        display: flex !important;
        flex-direction: column;
        gap: 8px;
    }

    .beauty-staff-tile strong {
        padding: 0 !important;
        font-weight: 500;
    }

    .beauty-staff-tile span {
        padding: 0 !important;
        border: none !important;
        width: auto !important;
        margin-left: auto;
    }

    .beauty-staff-tile {
        flex-direction: row;
        min-width: unset !important;
        padding: 8px !important;
        gap: 24px;
    }

    .staff-photo {
        width: 40px !important;
        height: 40px !important;
    }

    .accordion>.category {
        padding: 10px 15px;
    }

    .staff-photo rect {
        width: 40px !important;
        height: 40px !important;
    }

    #beauty-calendar-hours {
        padding: 0 !important;
        border: none !important;
        flex-direction: column;
        gap: 24px;
    }

    #beauty-service-title {
        font-size: 24px;
        max-width: calc(100% - 40px);
        margin-top: 0 !important;
    }

    #beauty-calendar,
    #beauty-available-hours {
        width: 100%;
        padding: 0;
        border: none !important;
    }

    .service-row,
    .addon-tile,
    .linked-service-tile {
        height: auto;
        justify-content: space-between;
        align-items: center;
        row-gap: 5px;
        padding: 15px 10px;
    }

    .service-row.added-to-cart {
        flex-wrap: wrap;
    }

    .order-summary {
        order: -1;
        width: 100%;
        margin: 0 !important;
        gap: 0;
        justify-content: space-between;
    }

    #beauty-navigation {
        flex-wrap: wrap;
        gap: 0px;
    }

    .order-summary>div {
        padding-bottom: 24px;
    }

    form.checkout {
        height: calc(100svh - 98px);
    }

    body.addedservice form.checkout {
        height: calc(100svh - 170px);
    }

    .woocommerce-page #content {
        padding: 20px !important;
    }

    .woocommerce-page.woocommerce-checkout #content {
        padding-top: 0px !important;
        padding-bottom: 0px !important;
    }

    .sub-toggle {
        padding: 12px 20px;
    }

    .accordion .category .cat-toggle {
        padding: 0;
        font-size: 18px !important;
        transition: all .3s;
        border: none;
    }

    .accordion .category.active .cat-toggle {
        padding: 10px 0;
    }

    .cat-content {
        padding-top: 20px;
    }

    .accordion .expand {
        width: 30px;
        height: 30px;
    }

    #soulconnect-login-panel,
    #customer_details,
    #order_review {
        width: 100% !important;
    }

    .beauty-tab {
        flex-direction: column !important;
        max-height: 100%;
        overflow-y: scroll;
        height: 100%;
        flex-wrap: nowrap !important;
        padding-top: 20px !important;
        padding-bottom: 20px !important;
        -ms-overflow-style: none;
        /* stary IE/Edge */
        scrollbar-width: none;
        /* Firefox */
        overflow-x: hidden;
    }

    .beauty-tab::-webkit-scrollbar {
        width: 0;
        height: 0;
        display: none;
    }

    .beauty-tab.final {
        padding-bottom: 40px;
    }

    #beauty-checkout-wrapper,
    #beauty-tabs {
        height: 100%;
        display: flex;
        align-items: center;
        width: 100%;
    }

    #sc-sms-code,
    .sc-login-panel-item div.iti {
        width: 100%;
    }

    #soulconnect-login-panel {
        row-gap: 10px;
    }

    .woocommerce form .form-row-first,
    .woocommerce form .form-row-last,
    .woocommerce-page form .form-row-first,
    .woocommerce-page form .form-row-last,
    #billing_phone_field,
    #billing_email_field,
    #billing_company_field,
    #billing_nip_field,
    #billing_address_1_field,
    #billing_postcode_field,
    #billing_city_field,
    #billing_country_field,
    #account_password_field {
        width: 100% !important;
    }

    .woocommerce-billing-fields__field-wrapper {
        gap: 6px !important;
    }

    .woocommerce-billing-fields {
        display: flex;
        flex-direction: column;
    }

    #order_review {
        padding: 24px !important;
        margin-top: 40px !important;
    }

    .woocommerce #payment #place_order,
    .woocommerce-page #payment #place_order {
        margin-bottom: 0 !important;

    }

    .woocommerce form .form-row .input-text,
    .woocommerce form .form-row select,
    #beauty-checkout-wrapper input,
    .select2-container .select2-dropdown,
    .select2-container .select2-selection,
    .iti input,
    .iti input[type=text],
    .iti input[type=tel],
    .sms-login-section input,
    input[type=date] {
        font-size: 14px;
    }

    .woocommerce .woocommerce-billing-fields::after,
    .woocommerce .woocommerce-billing-fields::before,
    .woocommerce .woocommerce-shipping-fields::after,
    .woocommerce .woocommerce-shipping-fields::before,
    .woocommerce-page .woocommerce-billing-fields::after,
    .woocommerce-page .woocommerce-billing-fields::before,
    .woocommerce-page .woocommerce-shipping-fields::after,
    .woocommerce-page .woocommerce-shipping-fields::before {
        display: none !important;
    }

    .beauty-tab h2:not(.cat-toggle),
    .woocommerce-billing-fields h3 {
        margin-bottom: 24px;
    }

}

:is(.elementor-widget-woocommerce-product-add-to-cart, .woocommerce div.product .elementor-widget-woocommerce-product-add-to-cart, .elementor-widget-wc-add-to-cart, .woocommerce div.product .elementor-widget-wc-add-to-cart).elementor-add-to-cart--layout-stacked .e-atc-qty-button-holder>* {
    flex-basis: unset !important;
}

.soulconnect-privacy-document h1,
.soulconnect-privacy-document h2,
.soulconnect-privacy-document h3,
.soulconnect-privacy-document h4,
.soulconnect-privacy-document h5,
.soulconnect-terms-document h2,
.soulconnect-terms-document h3,
.soulconnect-terms-document h4,
.soulconnect-terms-document h5,
.soulconnect-terms-document h1 {
    font-weight: 500 !important;
}

.theme-generatepress header:not(.dynamic-header) {
    max-width: 100% !important;
    padding: 0 !important;
}

body.theme-generatepress:not(.woocommerce-page) .container.grid-container {
    padding: 20px;
}

.main-navigation .main-nav ul li a {
    line-height: 2.5em !important;
}

.inside-header {
    padding: 15px 20px !important;
}

.grid-container {
    max-width: 1360px !important;
}

.menu-toggle {
    padding: 0 10px !important;
    line-height: 40px !important;
}

.full-width-content.separate-containers .inside-article {
    padding: 0 !important;
    background: transparent !important;
}

.full-width-content.no-sidebar.separate-containers .site-main {
    padding: 0 !important;
}

.separate-containers .inside-article {
    padding: 0 !important;
}

.woocommerce-account main#main {
    padding: 0 !important;
}

.soulconnect-messages-panel {
    max-width: 700px;
}

.message-item {
    background: white;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 15px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.message-item.unread {
    border-left: 4px solid var(--sc-darkest-color);
    background-color: var(--sc-background-color);
}

.message-header {
    display: flex;
    justify-content: space-between;
    align-items: start;
    margin-bottom: 15px;
    border-bottom: 1px solid #eee;
    padding-bottom: 10px;
}

.message-subject {
    font-size: 18px;
    font-weight: 600;
    color: #333;
    margin: 0 0 5px 0;
}

.message-meta {
    font-size: 13px;
    color: #666;
}

.message-status-badge {
    padding: 4px 12px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 600;
}

.message-status-badge.new {
    background: #0073aa;
    color: white;
}

.message-status-badge.answered {
    background: #46b450;
    color: white;
}

.message-content {
    line-height: 1.6;
    color: #444;
    margin-bottom: 15px;
}

.messages-history-section {
    margin-top: 20px;
}

.message-reply {
    background: #f0f8ff;
    border-left: 3px solid #0073aa;
    padding: 15px;
    margin-top: 15px;
    border-radius: 4px;
}

.message-reply-header {
    font-weight: 600;
    color: #0073aa;
    margin-bottom: 8px;
    font-size: 14px;
}

.no-messages {
    text-align: center;
    padding: 40px 20px;
    color: #666;
    border-radius: 8px;
}

#message-subject {
    width: 100%;
}


.checkbox-label {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    cursor: pointer;
}

@media (max-width: 768px) {
    .message-header {
        flex-direction: column;
        gap: 10px;
    }

}
 
