.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt,
.wc-block-components-checkout-place-order-button,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit.alt, 
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button.alt, 
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button.alt,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button.alt {
    
    background-color: var(--e-global-color-primary) !important;
    border-width: 0px !important;
    transition: all 0.3s ease !important;
    color: var(--e-global-color-secondary) !important;
    opacity: 1 !important;
    padding-top: 12px !important;
    padding-bottom: 6px !important;

    &:hover {
        background-color: var(--e-global-color-77e58ea) !important;
    }

}

.wc-block-components-checkout-place-order-button {
    font-weight: 600 !important;
}

:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce .wc-proceed-to-checkout a.button.alt {
    padding-top: 16px !important;
    padding-bottom: 10px !important;
}

body.woocommerce-page {

    #content,
    #primary {
        padding-top: calc(var(--header-height) + var(--admin-bar-height) + 80px);
    }

    .woocommerce .cart-collaterals, 
    .cart-collaterals {
        margin-bottom: 60px;
    }

}

    #add_payment_method .cart-collaterals .cart_totals table small, 
    .woocommerce-cart .cart-collaterals .cart_totals table small, 
    .woocommerce-checkout .cart-collaterals .cart_totals table small {
        color: var(--e-global-color-primary) !important;
    }

body.woocommerce-checkout {

    .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option-layout {
        position: relative;
        top: 5px;
    }

    .wc-block-components-payment-method-label {
        position: relative;
        top: 5px;
    }

    .wc-block-components-payment-method-label img {
        display: none !important;
    }

    .wc-block-checkout__terms.wc-block-checkout__terms--with-separator {
        border-top-color: var(--e-global-color-primary);
    }

    .wc-block-components-checkout-return-to-cart-button {
        display: none !important;
    }

    .wc-block-components-checkbox__label {
        position: relative;
        top: 4px;
    }

    .wc-block-components-checkbox__label,
    .wc-block-checkout__terms {
        font-size: 16px;
    }

    .wc-block-components-product-metadata__description {
        display: none !important;
    }

    .wp-block-woocommerce-checkout-order-summary-block {
        border-width: 0px;
    }

    .wc-block-components-totals-wrapper {
        border-width: 0px;
    }

    .wc-block-components-totals-wrapper:first-child {
        border-top: 1px solid var(--e-global-color-primary);
    }

    .wp-block-woocommerce-checkout-order-summary-totals-block {
        border-width: 0px;
    }

    .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title .wc-block-components-checkout-order-summary__title-text {
        margin-left: 0px;
    }
    
    .wc-block-components-order-summary.is-large,
    .wc-block-components-sidebar .slot-wrapper .wc-block-components-panel, 
    .wc-block-components-sidebar .wc-block-components-panel, 
    .wc-block-components-sidebar .wc-block-components-totals-coupon, 
    .wc-block-components-sidebar .wc-block-components-totals-item {
        padding-left: 0px;
        padding-right: 0px;
    }

    .wc-block-checkout__payment-method .wc-block-components-radio-control__label>span {
        position: relative;
        top: 8px;
    }

    .wc-block-checkout__payment-method .wc-block-components-radio-control__label>span span {
        position: relative;
        top: -8px;
    }

    .TermsText {
        color: var(--e-global-color-primary) !important;
    }

}

body.woocommerce-page.woocommerce-order-received,
body.woocommerce-cart {

    .woocommerce table.shop_table td,
    .woocommerce table.shop_table th,
    .woocommerce table.shop_table {
        border-width: 0px;
        background-color: transparent;
    }

    .woocommerce table.shop_table th,
    .woocommerce table.shop_table td {
        padding-left: 0px;
        padding-right: 0px;
    }

    .woocommerce table.shop_table th,
    .woocommerce table.shop_table td {
        border-bottom: 1px solid var(--e-global-color-primary);
    }

    .return-to-shop a {
        margin-bottom: 80px;
        background-color: var(--e-global-color-primary);
        color: var(--e-global-color-secondary) !important;
        padding: 18px 24px 10px;
        transition: all 0.3s ease;
    }

    .return-to-shop a:hover {
        background-color: var(--e-global-color-77e58ea);
    }

}

body.wp-theme-hello-elementor {
    .woocommerce-error, 
    .woocommerce-info, 
    .woocommerce-message {
        background-color: var(--single-product-dark-grey) !important;
        color: var(--e-global-color-primary) !important;
        border-color: var(--e-global-color-primary) !important;
        padding: 1em 2em !important;
    }

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

    .wc-block-components-radio-control .wc-block-components-radio-control__input {
        background-color: var(--e-global-color-primary) !important;
        border-color: var(--e-global-color-primary) !important;
    }
}

.woocommerce .cart-collaterals .cart_totals, 
.woocommerce-page .cart-collaterals .cart_totals {
    h2 {
        font-size: 42px;
        margin-top: 50px;
    }
}

body.single-product.woocommerce-page {

    div.product div.images .flex-control-thumbs {
        display: none !important;
    }

    .site-main {
        max-width: 100% !important;
    }

    .woocommerce-product-gallery {
        padding: 5vw;
        background-color: var(--single-product-grey);
        width: 50% !important;
        margin: 0px !important;
        transition: background-color 0.5s ease !important;
    }

    .woocommerce-product-gallery .flex-direction-nav {
        display: block;
        padding: 0;
        margin: 0;
        list-style: none;
    }

    .woocommerce-product-gallery .flex-direction-nav a {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        z-index: 10;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 30px;
        height: 30px;
        opacity: 1;
        overflow: visible;
        text-indent: 0;
        background: none;
        border: none;
        cursor: pointer;
    }

    .woocommerce-product-gallery .flex-direction-nav a svg {
        width: 30px;
        height: 30px;
        display: block;
    }

    .woocommerce-product-gallery .flex-direction-nav a.flex-prev {
        left: 5vw;
        margin-left: -38px;
    }

    .woocommerce-product-gallery .flex-direction-nav a.flex-next {
        right: 5vw;
        margin-right: -38px;
    }

    .woocommerce-product-gallery .flex-direction-nav a.flex-disabled {
        opacity: 0.3;
        pointer-events: none;
    }

    .summary.entry-summary > .woocommerce-product-details__short-description,
    .summary.entry-summary > .price,
    .summary.entry-summary .product_title {
        padding-left: 5vw;
        padding-right: 5vw;
    }

    .summary.entry-summary > .price,
    .summary.entry-summary .product_title {
        font-family: "Adobe Caslon", sans-serif;
        font-size: 40px;
        font-style: normal;
        font-weight: 400;
        line-height: 40px;
        letter-spacing: 4px;
    }

    div.product p.price {
        color: var(--e-global-color-primary) !important;
    }

    .summary.entry-summary {
        width: 50% !important;
        padding: 5vw 0px 0px;
        background-color: var(--single-product-dark-grey);
        display: flex;
        flex-direction: column;
        color: var(--e-global-color-primary);
        margin: 0px !important;
        transition: background-color 0.5s ease;
    }

    .product.type-product {
        display: flex;
    }

    .elementor-element-963656b {
        display: none !important;
    }

    .summary .cart {
        display: none;
    }

    #pri-single-product-buy-mirror a {
        color: var(--e-global-color-secondary) !important;
        font-size: 24px;
        line-height: 34px;
        font-weight: 600;
        height: 24px;
        display: block;
        padding: 0px;
    }

    .add_to_cart_button.added {
        display: none !important;
    }

    #pri-product-type-selector {
        padding: 0 5vw 16px;
        display: flex;
        flex-direction: column;
        gap: 16px;
        margin-top: 40px;
    }

    #pri-product-option-select {
        width: 100%;
        padding: 15px 48px 15px 18px;
        font-size: 18px;
        background-color: var(--single-product-dark-grey) !important;
        border: 1px solid var(--e-global-color-primary);
        color: var(--e-global-color-primary);
        cursor: pointer;
        appearance: none;
        -webkit-appearance: none;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='10' viewBox='0 0 16 10'%3E%3Cpath d='M1 1l7 7 7-7' stroke='%23E30613' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: right 18px center;
    }

    #pri-single-product-buy-mirror {
        background-color: var(--e-global-color-primary);
        width: 100%;
        text-align: center;
        padding: 18px 0px;
        transition: all 0.3s ease;
    }

    #pri-single-product-buy-mirror:hover {
        background-color: var(--e-global-color-77e58ea);
    }

    #pri-single-product-buy-mirror.pri-atc-disabled {
        opacity: 0.35;
        pointer-events: none;
    }

}

.woocommerce div.product div.images.woocommerce-product-gallery {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

body.woocommerce-page.woocommerce-order-received {
    
    h2 {
        font-size: 28px;
    }

    .subscription-actions a {
        display: none !important;
    }

    ul.order_details {
        padding-left: 0px;
    }

    ul.order_details li {
        border-color: var(--e-global-color-primary);;
    }

}


/*--------------------------------------------------------------
# Responsive
--------------------------------------------------------------*/
@media (min-width: 1200px) {

    body.woocommerce-page:not(.single-product) .entry-title {
        max-width: calc(var(--woo-max-width) - 0px);
        font-family: "Adobe Caslon", Sans-serif;
        color: var(--e-global-color-primary);
    }

    body.woocommerce-page:not(.single-product) .site-main {
        max-width: calc(var(--woo-max-width) - 0px);
        padding-left: 30px;
        padding-right: 30px;
    }

}

@media only screen and (max-width: 767px) {

    body.single-product.woocommerce-page {

        .product.type-product {
            flex-direction: column;
        }

        .woocommerce-product-gallery {
            width: 100% !important;
        }

        .summary.entry-summary {
            width: 100% !important;
        }
        
        .woocommerce-product-gallery .flex-direction-nav a.flex-prev {
            left: 0px;
            margin-left: 0px;
        }

        .woocommerce-product-gallery .flex-direction-nav a.flex-next {
            right: 0px;
            margin-right: 0px;
        }

    }

    body.single-product.woocommerce-page {
        #content, 
        #primary {
            padding-top: calc(var(--header-height) + var(--admin-bar-height) + 0px);
        }
    }

    body.woocommerce-page:not([class*=elementor-page-]) .site-main {
        padding-inline-end: 20px;
        padding-inline-start: 20px;
    }

}
