/*
|--------------------------------------------------------------------------
| Clinic Psychology - WooCommerce Shop
|--------------------------------------------------------------------------
*/


:root {

    --shop-primary: #4b2e83;
    --shop-primary-dark: #392365;
    --shop-primary-light: #f5f1fa;

    --shop-text: #242129;
    --shop-muted: #77727e;

    --shop-border: #ebe8ef;
    --shop-bg: #fafafa;
    --shop-white: #ffffff;

    --shop-success: #2f8f63;
    --shop-danger: #c94c4c;

    --shop-radius: 18px;
    --shop-small-radius: 12px;

    --shop-shadow:
        0 10px 30px rgba(44, 32, 65, 0.06);

    --shop-shadow-hover:
        0 18px 45px rgba(44, 32, 65, 0.11);

    --shop-transition:
        0.25s ease;

}


/*
|--------------------------------------------------------------------------
| General
|--------------------------------------------------------------------------
*/

.clinic-shop-page {

    background: var(--shop-bg);

    color: var(--shop-text);

    direction: rtl;

}


.clinic-shop-container {

    width: min(
        1380px,
        calc(100% - 40px)
    );

    margin-right: auto;
    margin-left: auto;

}


/*
|--------------------------------------------------------------------------
| Header
|--------------------------------------------------------------------------
*/

.clinic-shop-header {

    padding:
        34px 0
        30px;

    background:
        linear-gradient(
            135deg,
            #ffffff 0%,
            #faf7fd 100%
        );

    border-bottom:
        1px solid var(--shop-border);

}


.clinic-shop-breadcrumb {

    display: flex;

    align-items: center;

    gap: 10px;

    margin-bottom: 25px;

    color: var(--shop-muted);

    font-size: 13px;

}


.clinic-shop-breadcrumb a {

    color: var(--shop-muted);

    text-decoration: none;

    transition:
        color var(--shop-transition);

}


.clinic-shop-breadcrumb a:hover {

    color: var(--shop-primary);

}


.clinic-shop-breadcrumb i {

    font-size: 11px;

    opacity: .65;

}


.clinic-shop-breadcrumb strong {

    color: var(--shop-text);

    font-weight: 700;

}


.clinic-shop-heading {

    display: flex;

    align-items: center;

    justify-content: space-between;

}


.clinic-shop-heading-label {

    display: inline-flex;

    align-items: center;

    gap: 7px;

    margin-bottom: 10px;

    color: var(--shop-primary);

    font-size: 13px;

    font-weight: 700;

}


.clinic-shop-heading h1 {

    margin: 0 0 10px;

    color: var(--shop-text);

    font-size: 34px;

    line-height: 1.5;

    font-weight: 800;

}


.clinic-shop-heading p {

    margin: 0;

    max-width: 680px;

    color: var(--shop-muted);

    font-size: 14px;

    line-height: 2;

}


/*
|--------------------------------------------------------------------------
| Main
|--------------------------------------------------------------------------
*/

.clinic-shop-main {

    padding:
        35px 0
        60px;

}


/*
|--------------------------------------------------------------------------
| Shop Layout
|--------------------------------------------------------------------------
|
| RTL:
| Sidebar = RIGHT
| Products = LEFT
|
*/

.clinic-shop-layout {

    display: grid;

    grid-template-columns:
        310px
        minmax(0, 1fr);

    gap: 28px;

    align-items: start;

}


/*
|--------------------------------------------------------------------------
| Sidebar
|--------------------------------------------------------------------------
*/

.clinic-shop-sidebar {

    grid-column: 1;

    grid-row: 1;

    width: 100%;

}


.clinic-shop-sidebar-inner {

    position: sticky;

    top: 25px;

}


.clinic-shop-filter-box {

    margin-bottom: 18px;

    padding: 20px;

    background:
        var(--shop-white);

    border:
        1px solid var(--shop-border);

    border-radius:
        var(--shop-radius);

    box-shadow:
        var(--shop-shadow);

}


.clinic-shop-filter-title {

    display: flex;

    align-items: center;

    gap: 12px;

    padding-bottom: 17px;

    margin-bottom: 17px;

    border-bottom:
        1px solid var(--shop-border);

}


.clinic-shop-filter-title-icon {

    width: 40px;
    height: 40px;

    flex: 0 0 40px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 12px;

    background:
        var(--shop-primary-light);

    color:
        var(--shop-primary);

    font-size: 17px;

}


.clinic-shop-filter-title div:last-child {

    display: flex;

    flex-direction: column;

    gap: 3px;

}


.clinic-shop-filter-title strong {

    color: var(--shop-text);

    font-size: 14px;

    font-weight: 800;

}


.clinic-shop-filter-title span {

    color: var(--shop-muted);

    font-size: 11px;

}


/*
|--------------------------------------------------------------------------
| Category List
|--------------------------------------------------------------------------
*/

.clinic-shop-category-list {

    display: flex;

    flex-direction: column;

    gap: 4px;

}


.clinic-shop-category-item {

    position: relative;

    display: flex;

    align-items: center;

    gap: 10px;

    min-height: 43px;

    padding:
        8px 10px;

    border-radius: 10px;

    color: var(--shop-muted);

    text-decoration: none;

    font-size: 13px;

    transition:
        background var(--shop-transition),
        color var(--shop-transition),
        transform var(--shop-transition);

}


.clinic-shop-category-item:hover {

    background:
        var(--shop-primary-light);

    color:
        var(--shop-primary);

    transform:
        translateX(-2px);

}


.clinic-shop-category-item.active {

    background:
        var(--shop-primary-light);

    color:
        var(--shop-primary);

    font-weight: 700;

}


.clinic-shop-category-radio {

    width: 15px;
    height: 15px;

    flex: 0 0 15px;

    border:
        1.5px solid #d5d0dc;

    border-radius: 50%;

    transition:
        border-color var(--shop-transition),
        background var(--shop-transition);

}


.clinic-shop-category-item.active
.clinic-shop-category-radio {

    border-color:
        var(--shop-primary);

    box-shadow:
        inset 0 0 0 4px
        var(--shop-white);

    background:
        var(--shop-primary);

}


.clinic-shop-category-name {

    min-width: 0;

    flex: 1;

}


.clinic-shop-category-count {

    color:
        #aaa4b0;

    font-size: 11px;

}


/*
|--------------------------------------------------------------------------
| Price
|--------------------------------------------------------------------------
*/

.clinic-shop-price-fields {

    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        auto
        minmax(0, 1fr);

    gap: 8px;

    align-items: end;

}


.clinic-shop-price-field {

    min-width: 0;

}


.clinic-shop-price-field label {

    display: block;

    margin-bottom: 7px;

    color: var(--shop-muted);

    font-size: 11px;

}


.clinic-shop-price-input {

    position: relative;

}


.clinic-shop-price-input input {

    width: 100%;

    height: 43px;

    padding:
        0 10px;

    border:
        1px solid var(--shop-border);

    border-radius: 10px;

    outline: none;

    background:
        #fff;

    color: var(--shop-text);

    font-family: inherit;

    font-size: 12px;

    transition:
        border-color var(--shop-transition),
        box-shadow var(--shop-transition);

}


.clinic-shop-price-input input:focus {

    border-color:
        var(--shop-primary);

    box-shadow:
        0 0 0 3px
        rgba(75, 46, 131, .08);

}


.clinic-shop-price-input span {

    display: none;

}


.clinic-shop-price-separator {

    padding-bottom: 12px;

    color:
        #aaa4b0;

    font-size: 11px;

}


/*
|--------------------------------------------------------------------------
| Checkboxes
|--------------------------------------------------------------------------
*/

.clinic-shop-checkboxes {

    display: flex;

    flex-direction: column;

    gap: 13px;

}


.clinic-shop-checkbox {

    position: relative;

    display: flex;

    align-items: center;

    gap: 10px;

    cursor: pointer;

    user-select: none;

}


.clinic-shop-checkbox input {

    position: absolute;

    opacity: 0;

    pointer-events: none;

}


.clinic-shop-checkbox-box {

    width: 20px;
    height: 20px;

    flex: 0 0 20px;

    display: flex;

    align-items: center;
    justify-content: center;

    border:
        1px solid #d8d3df;

    border-radius: 6px;

    color:
        transparent;

    transition:
        background var(--shop-transition),
        border-color var(--shop-transition),
        color var(--shop-transition);

}


.clinic-shop-checkbox input:checked
+ .clinic-shop-checkbox-box {

    background:
        var(--shop-primary);

    border-color:
        var(--shop-primary);

    color:
        #fff;

}


.clinic-shop-checkbox-box i {

    font-size: 12px;

}


.clinic-shop-checkbox-label {

    color:
        var(--shop-muted);

    font-size: 12px;

}


.clinic-shop-checkbox:hover
.clinic-shop-checkbox-label {

    color:
        var(--shop-primary);

}


/*
|--------------------------------------------------------------------------
| Filter Buttons
|--------------------------------------------------------------------------
*/

.clinic-shop-filter-actions {

    display: flex;

    flex-direction: column;

    gap: 9px;

}


.clinic-shop-apply-filter {

    width: 100%;

    min-height: 46px;

    display: flex;

    align-items: center;
    justify-content: center;

    gap: 8px;

    border: 0;

    border-radius: 11px;

    background:
        var(--shop-primary);

    color:
        #fff;

    font-family: inherit;

    font-size: 13px;

    font-weight: 700;

    cursor: pointer;

    transition:
        background var(--shop-transition),
        transform var(--shop-transition),
        box-shadow var(--shop-transition);

}


.clinic-shop-apply-filter:hover {

    background:
        var(--shop-primary-dark);

    transform:
        translateY(-1px);

    box-shadow:
        0 8px 20px
        rgba(75, 46, 131, .18);

}


.clinic-shop-reset-filter {

    min-height: 40px;

    display: flex;

    align-items: center;
    justify-content: center;

    gap: 7px;

    border:
        1px solid var(--shop-border);

    border-radius: 10px;

    color:
        var(--shop-muted);

    text-decoration: none;

    font-size: 12px;

    transition:
        color var(--shop-transition),
        border-color var(--shop-transition),
        background var(--shop-transition);

}


.clinic-shop-reset-filter:hover {

    color:
        var(--shop-danger);

    border-color:
        rgba(201, 76, 76, .2);

    background:
        #fff8f8;

}


/*
|--------------------------------------------------------------------------
| Products Area
|--------------------------------------------------------------------------
*/

.clinic-shop-products-area {

    grid-column: 2;

    grid-row: 1;

    min-width: 0;

}


/*
|--------------------------------------------------------------------------
| AJAX Loading
|--------------------------------------------------------------------------
*/

.clinic-shop-loading {

    display: none;

    width: 100%;

    min-height: 180px;

    align-items: center;

    justify-content: center;

    flex-direction: column;

    gap: 14px;

    padding: 35px 20px;

    text-align: center;

    color:
        var(--shop-primary);

    font-size: 14px;

    font-weight: 600;

    box-sizing: border-box;

}


.clinic-shop-loading.is-active,
.clinic-shop-loading.active {

    display: flex;

}


.clinic-shop-loading-spinner {

    width: 42px;
    height: 42px;

    display: flex;

    align-items: center;
    justify-content: center;

    gap: 4px;

}


.clinic-shop-loading-spinner span {

    display: block;

    width: 6px;
    height: 6px;

    border-radius: 50%;

    background:
        var(--shop-primary);

    animation:
        clinicShopLoadingDots
        1.2s
        infinite
        ease-in-out;

}


.clinic-shop-loading-spinner span:nth-child(1) {

    animation-delay:
        -0.24s;

}


.clinic-shop-loading-spinner span:nth-child(2) {

    animation-delay:
        -0.12s;

}


.clinic-shop-loading-spinner span:nth-child(3) {

    animation-delay:
        0s;

}


@keyframes clinicShopLoadingDots {

    0%,
    80%,
    100% {

        transform:
            scale(.65);

        opacity:
            .45;

    }

    40% {

        transform:
            scale(1);

        opacity:
            1;

    }

}


/*
|--------------------------------------------------------------------------
| Product Area While Loading
|--------------------------------------------------------------------------
*/

#clinic-shop-products-area.is-loading {

    position: relative;

}


#clinic-shop-products-area.is-loading
.clinic-shop-products {

    opacity:
        .55;

    transition:
        opacity .2s ease;

}


/*
|--------------------------------------------------------------------------
| Topbar
|--------------------------------------------------------------------------
*/

.clinic-shop-topbar {

    min-height: 60px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 20px;

    margin-bottom: 20px;

    padding:
        10px 16px;

    background:
        var(--shop-white);

    border:
        1px solid var(--shop-border);

    border-radius:
        var(--shop-radius);

}


.clinic-shop-topbar-left {

    display: flex;

    align-items: center;

    flex-wrap: wrap;

    gap: 10px;

}


.clinic-shop-products-heading {

    display: flex;

    align-items: center;

    gap: 9px;

}


.clinic-shop-products-heading strong {

    color:
        var(--shop-text);

    font-size: 14px;

    font-weight: 800;

}


.clinic-shop-current-category {

    display: inline-flex;

    align-items: center;

    padding:
        5px 9px;

    border-radius: 8px;

    background:
        var(--shop-primary-light);

    color:
        var(--shop-primary);

    font-size: 11px;

    font-weight: 700;

}


.clinic-shop-active-filter-label {

    display: inline-flex;

    align-items: center;

    gap: 5px;

    color:
        var(--shop-primary);

    font-size: 11px;

    font-weight: 700;

}


.clinic-shop-topbar-right {

    display: flex;

    align-items: center;

    gap: 14px;

}


.clinic-shop-result-count {

    color:
        var(--shop-muted);

    font-size: 12px;

}


/*
|--------------------------------------------------------------------------
| WooCommerce Ordering
|--------------------------------------------------------------------------
*/

.clinic-shop-ordering {

    min-width: 180px;

}


.clinic-shop-ordering form {

    margin: 0;

}


.clinic-shop-ordering .woocommerce-ordering {

    float: none;

    margin: 0;

}


.clinic-shop-ordering select {

    width: 100%;

    min-height: 40px;

    padding:
        0 12px;

    border:
        1px solid var(--shop-border);

    border-radius: 10px;

    outline: none;

    background:
        var(--shop-white);

    color:
        var(--shop-text);

    font-family: inherit;

    font-size: 12px;

    cursor: pointer;

}


/*
|--------------------------------------------------------------------------
| Product Grid
|--------------------------------------------------------------------------
*/

.clinic-shop-products {

    display: grid !important;

    grid-template-columns:
        repeat(4, minmax(0, 1fr)) !important;

    gap: 22px !important;

    width: 100%;

    margin:
        0 !important;

    padding:
        0 !important;

    list-style: none !important;

}


/*
|--------------------------------------------------------------------------
| WooCommerce Product Override
|--------------------------------------------------------------------------
*/

.clinic-shop-products > li.clinic-product-card,
.clinic-shop-products > li.product {

    position: relative;

    width: auto !important;

    max-width: none !important;

    min-width: 0 !important;

    float: none !important;

    clear: none !important;

    margin:
        0 !important;

    padding:
        0 !important;

}


.clinic-shop-products li.product {

    width: auto !important;

    float: none !important;

    clear: none !important;

    margin:
        0 !important;

    padding:
        0 !important;

}


/*
|--------------------------------------------------------------------------
| Product Card
|--------------------------------------------------------------------------
*/

.clinic-product-card {

    width: 100% !important;

    display: flex !important;

    flex-direction: column;

    min-width: 0 !important;

    margin: 0 !important;

    padding: 0 !important;

    overflow: hidden;

    background:
        var(--shop-white);

    border:
        1px solid var(--shop-border);

    border-radius:
        var(--shop-radius);

    box-shadow:
        var(--shop-shadow);

    transition:
        transform var(--shop-transition),
        box-shadow var(--shop-transition),
        border-color var(--shop-transition);

}


.clinic-product-card:hover {

    transform:
        translateY(-4px);

    border-color:
        rgba(75, 46, 131, .15);

    box-shadow:
        var(--shop-shadow-hover);

}


/*
|--------------------------------------------------------------------------
| Product Media
|--------------------------------------------------------------------------
*/

.clinic-product-media {

    position: relative;

    overflow: hidden;

    background:
        #f7f5f9;

}


.clinic-product-image-link {

    display: block;

    text-decoration: none;

}


.clinic-product-image {

    aspect-ratio:
        1 / 1;

    overflow: hidden;

}


.clinic-product-image img {

    display: block;

    width: 100% !important;

    height: 100% !important;

    max-width: 100%;

    object-fit: cover;

    margin: 0 !important;

    transition:
        transform .5s ease;

}


.clinic-product-card:hover
.clinic-product-image img {

    transform:
        scale(1.045);

}


/*
|--------------------------------------------------------------------------
| Badges
|--------------------------------------------------------------------------
*/

.clinic-product-badges {

    position: absolute;

    top: 12px;

    right: 12px;

    z-index: 2;

    display: flex;

    flex-direction: column;

    gap: 5px;

}


.clinic-product-badge {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    min-height: 27px;

    padding:
        4px 9px;

    border-radius: 8px;

    background:
        rgba(255,255,255,.95);

    box-shadow:
        0 5px 14px rgba(0,0,0,.07);

    font-size: 10px;

    font-weight: 700;

}


.clinic-product-badge.sale {

    color:
        var(--shop-primary);

}


.clinic-product-badge.out-of-stock {

    color:
        var(--shop-danger);

}


.clinic-product-badge.featured {

    color:
        #87650c;

}


/*
|--------------------------------------------------------------------------
| View Button
|--------------------------------------------------------------------------
*/

.clinic-product-view {

    position: absolute;

    left: 12px;

    bottom: 12px;

    z-index: 2;

    width: 38px;
    height: 38px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background:
        rgba(255,255,255,.96);

    color:
        var(--shop-primary);

    text-decoration: none;

    box-shadow:
        0 6px 18px rgba(44, 32, 65, .10);

    opacity: 0;

    transform:
        translateY(6px);

    transition:
        opacity var(--shop-transition),
        transform var(--shop-transition),
        background var(--shop-transition);

}


.clinic-product-card:hover
.clinic-product-view {

    opacity: 1;

    transform:
        translateY(0);

}


.clinic-product-view:hover {

    background:
        var(--shop-primary);

    color:
        #fff;

}


/*
|--------------------------------------------------------------------------
| Product Body
|--------------------------------------------------------------------------
*/

.clinic-product-body {

    display: flex;

    flex-direction: column;

    flex: 1;

    padding:
        16px;

}


.clinic-product-category {

    margin-bottom: 7px;

    color:
        var(--shop-primary);

    font-size: 10px;

    font-weight: 700;

}


/*
|--------------------------------------------------------------------------
| Product Title
|--------------------------------------------------------------------------
*/

.clinic-product-title {

    min-height: 48px;

    margin:
        0 0 9px;

    font-size: 14px;

    line-height: 1.8;

    font-weight: 800;

}


.clinic-product-title a {

    color:
        var(--shop-text);

    text-decoration: none;

    transition:
        color var(--shop-transition);

}


.clinic-product-title a:hover {

    color:
        var(--shop-primary);

}


/*
|--------------------------------------------------------------------------
| Rating
|--------------------------------------------------------------------------
*/

.clinic-product-rating {

    min-height: 23px;

    display: flex;

    align-items: center;

    gap: 7px;

    margin-bottom: 13px;

}


.clinic-product-stars {

    display: inline-flex;

}


.clinic-product-stars .star-rating {

    float: none;

    margin: 0;

    font-size: 11px;

}


.clinic-product-stars .star-rating span {

    color:
        #e1a92d;

}


.clinic-product-reviews {

    color:
        #aaa4b0;

    font-size: 10px;

}


.clinic-product-no-rating {

    display: inline-flex;

    align-items: center;

    gap: 5px;

    color:
        #aaa4b0;

    font-size: 10px;

}


/*
|--------------------------------------------------------------------------
| Product Footer
|--------------------------------------------------------------------------
*/

.clinic-product-footer {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 10px;

    margin-top: auto;

    padding-top: 13px;

    border-top:
        1px solid var(--shop-border);

}


.clinic-product-price {

    min-width: 0;

}


.clinic-product-price .price {

    display: flex;

    flex-direction: column;

    gap: 2px;

    margin: 0;

    color:
        var(--shop-primary);

    font-size: 14px;

    font-weight: 800;

}


.clinic-product-price del {

    color:
        #aaa4b0;

    font-size: 10px;

    font-weight: 400;

}


.clinic-product-price ins {

    color:
        var(--shop-primary);

    text-decoration: none;

}


/*
|--------------------------------------------------------------------------
| Product Action
|--------------------------------------------------------------------------
*/

.clinic-product-action {

    flex: 0 0 auto;

}


/*
|--------------------------------------------------------------------------
| Add To Cart Button
|--------------------------------------------------------------------------
|
| IMPORTANT:
| WooCommerce خود دکمه را تولید می‌کند.
| آیکن داخل HTML توسط content-product.php اضافه شده:
|
| <i class="fas fa-cart-plus" aria-hidden="true"></i>
|
| بنابراین دیگر از Bootstrap Icons / ::before برای
| آیکن سبد خرید استفاده نمی‌کنیم.
|
*/

.clinic-product-action .button,
.clinic-product-action .add_to_cart_button {

    width: 40px !important;

    height: 40px !important;

    min-width: 40px !important;

    min-height: 40px !important;

    display: inline-flex !important;

    align-items: center !important;

    justify-content: center !important;

    padding: 0 !important;

    margin: 0 !important;

    border:
        0 !important;

    border-radius:
        10px !important;

    background:
        var(--shop-primary) !important;

    color:
        #fff !important;

    font-family:
        inherit;

    font-size:
        0 !important;

    line-height:
        1 !important;

    text-decoration:
        none !important;

    box-shadow:
        0 5px 14px
        rgba(75, 46, 131, .12);

    transition:
        background var(--shop-transition),
        transform var(--shop-transition),
        box-shadow var(--shop-transition);

    cursor:
        pointer;

}


/*
|--------------------------------------------------------------------------
| Font Awesome Cart Icon
|--------------------------------------------------------------------------
*/

.clinic-product-action .button > i,
.clinic-product-action .add_to_cart_button > i {

    display:
        inline-flex !important;

    align-items:
        center;

    justify-content:
        center;

    width:
        auto !important;

    height:
        auto !important;

    margin:
        0 !important;

    padding:
        0 !important;

    color:
        #fff !important;

    font-family:
        "Font Awesome 6 Free",
        "Font Awesome 6 Brands",
        sans-serif !important;

    font-size:
        16px !important;

    font-weight:
        900 !important;

    font-style:
        normal !important;

    line-height:
        1 !important;

    visibility:
        visible !important;

    opacity:
        1 !important;

}


/*
|--------------------------------------------------------------------------
| IMPORTANT:
| Disable old Bootstrap pseudo icon
|--------------------------------------------------------------------------
*/

.clinic-product-action .button::before,
.clinic-product-action .button::after,
.clinic-product-action .add_to_cart_button::before,
.clinic-product-action .add_to_cart_button::after {

    content:
        none !important;

    display:
        none !important;

}


/*
|--------------------------------------------------------------------------
| Add To Cart Hover
|--------------------------------------------------------------------------
*/

.clinic-product-action .button:hover,
.clinic-product-action .add_to_cart_button:hover {

    background:
        var(--shop-primary-dark) !important;

    color:
        #fff !important;

    transform:
        translateY(-2px);

    box-shadow:
        0 8px 18px
        rgba(75, 46, 131, .20);

}


/*
|--------------------------------------------------------------------------
| Add To Cart Focus
|--------------------------------------------------------------------------
*/

.clinic-product-action .button:focus,
.clinic-product-action .button:focus-visible,
.clinic-product-action .add_to_cart_button:focus,
.clinic-product-action .add_to_cart_button:focus-visible {

    outline:
        none !important;

    color:
        #fff !important;

    box-shadow:
        0 0 0 3px
        rgba(75, 46, 131, .18) !important;

}


/*
|--------------------------------------------------------------------------
| Add To Cart Loading
|--------------------------------------------------------------------------
*/

.clinic-product-action .button.loading,
.clinic-product-action .add_to_cart_button.loading {

    opacity:
        .65 !important;

    cursor:
        wait !important;

    pointer-events:
        none;

    transform:
        none !important;

}


/*
|--------------------------------------------------------------------------
| Add To Cart Loading Spinner
|--------------------------------------------------------------------------
*/

.clinic-product-action .button.loading > i,
.clinic-product-action .add_to_cart_button.loading > i {

    display:
        none !important;

}


.clinic-product-action .button.loading::after,
.clinic-product-action .add_to_cart_button.loading::after {

    content:
        "";

    display:
        block !important;

    width:
        16px !important;

    height:
        16px !important;

    border:
        2px solid
        rgba(255,255,255,.35);

    border-top-color:
        #fff;

    border-radius:
        50%;

    animation:
        clinicShopButtonSpin
        .7s
        linear
        infinite;

}


@keyframes clinicShopButtonSpin {

    to {

        transform:
            rotate(360deg);

    }

}


/*
|--------------------------------------------------------------------------
| Add To Cart Added
|--------------------------------------------------------------------------
*/

.clinic-product-action .button.added,
.clinic-product-action .add_to_cart_button.added {

    background:
        var(--shop-success) !important;

    color:
        #fff !important;

}


/*
|--------------------------------------------------------------------------
| Added Check Icon
|--------------------------------------------------------------------------
*/

.clinic-product-action .button.added > i,
.clinic-product-action .add_to_cart_button.added > i {

    display:
        none !important;

}


.clinic-product-action .button.added::after,
.clinic-product-action .add_to_cart_button.added::after {

    content:
        "\f00c";

    display:
        inline-flex !important;

    align-items:
        center;

    justify-content:
        center;

    font-family:
        "Font Awesome 6 Free" !important;

    font-size:
        15px !important;

    font-weight:
        900 !important;

    font-style:
        normal !important;

    color:
        #fff !important;

}


/*
|--------------------------------------------------------------------------
| Remove WooCommerce Added Link
|--------------------------------------------------------------------------
*/

.clinic-product-action .added_to_cart {

    display:
        none !important;

}


/*
|--------------------------------------------------------------------------
| Disabled
|--------------------------------------------------------------------------
*/

.clinic-product-action .button:disabled,
.clinic-product-action .button.disabled,
.clinic-product-action .add_to_cart_button:disabled,
.clinic-product-action .add_to_cart_button.disabled {

    opacity:
        .55 !important;

    cursor:
        not-allowed !important;

    transform:
        none !important;

}


/*
|--------------------------------------------------------------------------
| Product Details
|--------------------------------------------------------------------------
*/

.clinic-product-details {

    min-height: 38px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 5px;

    padding:
        0 12px;

    border:
        1px solid var(--shop-border);

    border-radius:
        9px;

    color:
        var(--shop-primary);

    font-size:
        10px;

    font-weight:
        700;

    text-decoration:
        none;

}


/*
|--------------------------------------------------------------------------
| WooCommerce Before Loop
|--------------------------------------------------------------------------
*/

.clinic-shop-products-area
.woocommerce-notices-wrapper {

    margin-bottom:
        15px;

}


.clinic-shop-products-area
.woocommerce-result-count {

    margin:
        0;

}


/*
|--------------------------------------------------------------------------
| Pagination
|--------------------------------------------------------------------------
*/

.clinic-shop-pagination {

    display:
        flex;

    justify-content:
        center;

    margin-top:
        35px;

}


.clinic-shop-pagination .page-numbers {

    display:
        flex;

    align-items:
        center;

    gap:
        6px;

    margin:
        0;

    padding:
        0;

    list-style:
        none;

}


.clinic-shop-pagination
.page-numbers li {

    margin:
        0;

}


.clinic-shop-pagination
.page-numbers a,
.clinic-shop-pagination
.page-numbers span {

    min-width:
        38px;

    height:
        38px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    padding:
        0 10px;

    border:
        1px solid var(--shop-border);

    border-radius:
        10px;

    background:
        var(--shop-white);

    color:
        var(--shop-text);

    font-size:
        12px;

    text-decoration:
        none;

}


.clinic-shop-pagination
.page-numbers .current {

    background:
        var(--shop-primary);

    border-color:
        var(--shop-primary);

    color:
        #fff;

}


/*
|--------------------------------------------------------------------------
| Empty
|--------------------------------------------------------------------------
*/

.clinic-shop-empty {

    padding:
        70px 30px;

    text-align:
        center;

    background:
        var(--shop-white);

    border:
        1px solid var(--shop-border);

    border-radius:
        var(--shop-radius);

}


.clinic-shop-empty-icon {

    width:
        70px;

    height:
        70px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    margin:
        0 auto 20px;

    border-radius:
        50%;

    background:
        var(--shop-primary-light);

    color:
        var(--shop-primary);

    font-size:
        25px;

}


.clinic-shop-empty h2 {

    margin:
        0 0 8px;

    font-size:
        20px;

}


.clinic-shop-empty p {

    margin:
        0 0 20px;

    color:
        var(--shop-muted);

    font-size:
        13px;

}


.clinic-shop-empty-button {

    display:
        inline-flex;

    align-items:
        center;

    gap:
        7px;

    min-height:
        42px;

    padding:
        0 17px;

    border-radius:
        10px;

    background:
        var(--shop-primary);

    color:
        #fff;

    font-size:
        12px;

    font-weight:
        700;

    text-decoration:
        none;

}


/*
|--------------------------------------------------------------------------
| Mobile Filter
|--------------------------------------------------------------------------
*/

.clinic-shop-mobile-toolbar {

    display:
        none;

}


.clinic-shop-sidebar-mobile-header {

    display:
        none;

}


.clinic-shop-sidebar-overlay {

    display:
        none;

}


/*
|--------------------------------------------------------------------------
| Responsive - 1200
|--------------------------------------------------------------------------
*/

@media (max-width: 1200px) {

    .clinic-shop-container {

        width:
            min(
                1100px,
                calc(100% - 32px)
            );

    }


    .clinic-shop-layout {

        grid-template-columns:
            280px
            minmax(0, 1fr);

        gap:
            20px;

    }


    .clinic-shop-products {

        grid-template-columns:
            repeat(3, minmax(0, 1fr)) !important;

    }

}


/*
|--------------------------------------------------------------------------
| Responsive - 900
|--------------------------------------------------------------------------
*/

@media (max-width: 900px) {

    .clinic-shop-layout {

        display:
            block;

    }


    /*
     * Sidebar becomes drawer
     */

    .clinic-shop-sidebar {

        position:
            fixed;

        top:
            0;

        right:
            -340px;

        z-index:
            9999;

        width:
            330px;

        max-width:
            calc(100vw - 35px);

        height:
            100vh;

        padding:
            0;

        background:
            var(--shop-bg);

        box-shadow:
            -10px 0 35px rgba(0,0,0,.12);

        overflow-y:
            auto;

        transition:
            right .3s ease;

    }


    .clinic-shop-sidebar.is-open {

        right:
            0;

    }


    .clinic-shop-sidebar-inner {

        position:
            static;

        padding:
            15px;

    }


    .clinic-shop-sidebar-mobile-header {

        display:
            flex;

        align-items:
            center;

        justify-content:
            space-between;

        gap:
            15px;

        margin-bottom:
            15px;

        padding:
            10px 5px 15px;

        border-bottom:
            1px solid var(--shop-border);

    }


    .clinic-shop-sidebar-mobile-header div {

        display:
            flex;

        flex-direction:
            column;

        gap:
            3px;

    }


    .clinic-shop-sidebar-mobile-header strong {

        color:
            var(--shop-text);

        font-size:
            16px;

    }


    .clinic-shop-sidebar-mobile-header span {

        color:
            var(--shop-muted);

        font-size:
            11px;

    }


    .clinic-shop-filter-close {

        width:
            38px;

        height:
            38px;

        display:
            flex;

        align-items:
            center;

        justify-content:
            center;

        border:
            1px solid var(--shop-border);

        border-radius:
            10px;

        background:
            var(--shop-white);

        color:
            var(--shop-text);

        cursor:
            pointer;

    }


    .clinic-shop-sidebar-overlay {

        position:
            fixed;

        inset:
            0;

        z-index:
            9998;

        display:
            block;

        background:
            rgba(25, 18, 34, .45);

        opacity:
            0;

        visibility:
            hidden;

        transition:
            opacity .3s ease,
            visibility .3s ease;

    }


    .clinic-shop-sidebar-overlay.is-visible {

        opacity:
            1;

        visibility:
            visible;

    }


    body.clinic-shop-filter-open {

        overflow:
            hidden;

    }


    .clinic-shop-mobile-toolbar {

        display:
            flex;

        margin-bottom:
            15px;

    }


    .clinic-shop-filter-toggle {

        min-height:
            45px;

        display:
            inline-flex;

        align-items:
            center;

        justify-content:
            center;

        gap:
            8px;

        padding:
            0 16px;

        border:
            1px solid var(--shop-border);

        border-radius:
            11px;

        background:
            var(--shop-white);

        color:
            var(--shop-primary);

        font-family:
            inherit;

        font-size:
            12px;

        font-weight:
            700;

        cursor:
            pointer;

    }


    .clinic-shop-filter-count {

        padding:
            3px 7px;

        border-radius:
            6px;

        background:
            var(--shop-primary-light);

        font-size:
            9px;

    }


    .clinic-shop-products-area {

        width:
            100%;

    }

}


/*
|--------------------------------------------------------------------------
| Responsive - 700
|--------------------------------------------------------------------------
*/

@media (max-width: 700px) {

    .clinic-shop-container {

        width:
            calc(100% - 24px);

    }


    .clinic-shop-header {

        padding:
            25px 0;

    }


    .clinic-shop-heading h1 {

        font-size:
            27px;

    }


    .clinic-shop-heading p {

        font-size:
            12px;

    }


    .clinic-shop-topbar {

        align-items:
            stretch;

        flex-direction:
            column;

        padding:
            13px;

    }


    .clinic-shop-topbar-right {

        width:
            100%;

        justify-content:
            space-between;

    }


    .clinic-shop-ordering {

        min-width:
            190px;

    }


    .clinic-shop-products {

        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;

        gap:
            14px !important;

    }


    .clinic-product-body {

        padding:
            13px;

    }


    .clinic-product-title {

        min-height:
            44px;

        font-size:
            12px;

    }


    .clinic-product-footer {

        align-items:
            stretch;

        flex-direction:
            column;

    }


    .clinic-product-action {

        width:
            100%;

    }


    .clinic-product-action .button,
    .clinic-product-action .add_to_cart_button,
    .clinic-product-details {

        width:
            100%;

    }

}


/*
|--------------------------------------------------------------------------
| Responsive - 480
|--------------------------------------------------------------------------
*/

@media (max-width: 480px) {

    .clinic-shop-main {

        padding:
            22px 0 40px;

    }


    .clinic-shop-breadcrumb {

        margin-bottom:
            18px;

        font-size:
            11px;

    }


    .clinic-shop-heading h1 {

        font-size:
            23px;

    }


    .clinic-shop-heading p {

        line-height:
            1.9;

    }


    .clinic-shop-products {

        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;

        gap:
            10px !important;

    }


    .clinic-product-body {

        padding:
            11px;

    }


    .clinic-product-category {

        font-size:
            9px;

    }


    .clinic-product-title {

        font-size:
            11px;

        line-height:
            1.7;

    }


    .clinic-product-price .price {

        font-size:
            11px;

    }


    .clinic-product-action .button,
    .clinic-product-action .add_to_cart_button,
    .clinic-product-details {

        min-height:
            34px;

        font-size:
            9px;

        padding:
            0 8px;

    }


    .clinic-product-action .button,
    .clinic-product-action .add_to_cart_button {

        width:
            34px !important;

        min-width:
            34px !important;

    }


    /*
    |--------------------------------------------------------------------------
    | Mobile Font Awesome Cart Icon
    |--------------------------------------------------------------------------
    */

    .clinic-product-action .button > i,
    .clinic-product-action .add_to_cart_button > i {

        font-size:
            14px !important;

    }


    .clinic-product-badges {

        top:
            7px;

        right:
            7px;

    }


    .clinic-product-badge {

        min-height:
            23px;

        padding:
            3px 6px;

        font-size:
            8px;

    }


    .clinic-product-view {

        display:
            none;

    }


    .clinic-shop-loading {

        min-height:
            150px;

        padding:
            30px 15px;

        font-size:
            13px;

    }


    .clinic-shop-loading-spinner {

        width:
            38px;

        height:
            38px;

    }

}


/*
|--------------------------------------------------------------------------
| Very Small Screens
|--------------------------------------------------------------------------
*/

@media (max-width: 340px) {

    .clinic-shop-products {

        grid-template-columns:
            1fr !important;

    }

}