@charset "utf-8";
/* =================================
            Button
================================= */
.wc-block-components-button:not(.is-link) {
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.2;
    border-radius: 100px;
    position: relative;
    background: #4B4594;
    border: 2px solid #4B4594;
    color: #fff;
    transition: .4s cubic-bezier(0.37, 0, 0.63, 1);
    text-align: center;
    padding: 0 !important;
}

.wc-block-components-button:not(.is-link):after {
    content: "";
    width: 18px;
    height: 18px;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    background: #fff;
    mask: url("../img/common/ic-arrow.svg") no-repeat top left/100% 100%;
    -webkit-mask: url("../img/common/ic-arrow.svg") no-repeat top left/100% 100%;
    display: block;
    transition: .4s cubic-bezier(0.37, 0, 0.63, 1);
}

.wc-block-components-button:not(.is-link):hover {
    background: #fff;
    color: #4B4594;
}

.wc-block-components-button:not(.is-link):hover:after {
    background: #4B4594;
    right: 15px;
}

@media screen and (max-width: 768px) {
    .wc-block-components-button:not(.is-link) {
        font-size: 1.6rem;
        padding: 0 10px 0 0 !important;
    }

    .wc-block-components-button:not(.is-link):after {
        width: 16px;
        height: 16px;
        right: 10px;
    }
}


.woocommerce .button {
    width: 200px !important;
    height: 43px;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.2;
    border-radius: 100px !important;
    position: relative;
    background: #4B4594 !important;
    border: 2px solid #4B4594 !important;
    color: #fff !important;
    transition: .4s cubic-bezier(0.37, 0, 0.63, 1);
    text-align: center;
    padding: 10px 0 !important;
}

.woocommerce .button:after {
    content: "";
    width: 18px;
    height: 18px;
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    background: #fff;
    mask: url("../img/common/ic-arrow.svg") no-repeat top left/100% 100%;
    -webkit-mask: url("../img/common/ic-arrow.svg") no-repeat top left/100% 100%;
    display: block;
    transition: .4s cubic-bezier(0.37, 0, 0.63, 1);
}

.woocommerce .button:hover {
    background: #fff !important;
    color: #4B4594 !important;
}

.woocommerce .button:hover:after {
    background: #4B4594;
    right: 15px;
}

@media screen and (max-width: 768px) {
    .woocommerce .button {        
        font-size: 1.6rem;        
        display: block !important;
    }

    .woocommerce .button:after {
        width: 16px;
        height: 16px;
        right: 10px;
    }
}


/* =================================
            Cart Empty
================================= */
.wc-block-cart__empty-cart__title.with-empty-cart-icon:before {
    mask-image: url("../img/common/ic-cart.svg") !important;
    background-color: #D3D3D3 !important;
    width: 4.5em !important;
    height: 4.5em !important;
    mask-size: 4.5em !important;
}

.empty-cart-back {
    margin: 60px 0 0 0;
}


/* =================================
            Cart
================================= */
.wp-block-woocommerce-cart {
    padding-bottom: 100px;
}

@media screen and (max-width: 768px) {
    .wp-block-woocommerce-cart {
        padding-bottom: 60px;
    }
}

@media screen and (min-width: 740px) {
    .editor-styles-wrapper table.wc-block-cart-items .wc-block-cart-items__header,
    table.wc-block-cart-items .wc-block-cart-items__header {
        font-size: 2.2rem !important;
        color: #4B4594 !important;
    }

    .wc-block-cart .wc-block-cart__totals-title {
        font-size: 2.2rem !important;
        color: #4B4594 !important;
    }

    .wc-block-cart__main .wc-block-cart-items td:last-child {
        width: 160px;
    }
}

@media screen and (max-width: 739px) {
    .wc-block-cart__main .wc-block-cart-items td:last-child {
        padding-left: 16px;
    }
}

.wc-block-cart__submit {
    padding: 15px 0 0 0;
}


/* =================================
            Checkout
================================= */
.wc-block-components-address-form__address_2-toggle {
    text-decoration: underline !important;
    text-underline-offset: 0.2em;
}

.wc-block-components-address-form__address_2-toggle:hover {
    text-decoration: none !important;
}

.wcstripe-payment-element {
    margin-top: 20px !important;
}

.wc-block-components-checkout-return-to-cart-button{
    font-weight: bold;
    padding: 0 !important;
}
.wc-block-components-checkout-return-to-cart-button svg{
    display: none !important;
}
.wc-block-components-checkout-return-to-cart-button:before{
    content: "";
    width: 1em;
    height: 1em;
    background: #222;
    mask: url("../img/common/ic-arrow.svg") no-repeat top left/100% 100%;
    -webkit-mask: url("../img/common/ic-arrow.svg") no-repeat top left/100% 100%;
    display: inline-block;
    transform: rotate(-180deg);
    margin-right: 5px;
}
.wc-block-components-checkout-return-to-cart-button:hover{
    text-decoration: underline;
    text-underline-offset: 0.2em;
}

@media screen and (max-width: 739px) {
    .wcs-recurring-totals-panel__details.wc-block-components-panel{
        padding-left: 16px;
        padding-right: 16px;
    }
}

@media screen and (max-width: 439px) {
    .wp-block-woocommerce-checkout-actions-block .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button {
        width: 100% !important;
    }
}


/* =================================
        My Account (Login)
================================= */
#customer_login h2 {
    font-size: 2.2rem;
    line-height: 1.2;
    font-weight: bold;
    color: #4B4594;
}

@media screen and (max-width: 768px) {
    #customer_login h2 {
        font-size: 1.8rem;
    }
}

#customer_login .my-account-notes{
    font-weight: bold;
    color: #a00;
}

.woocommerce form.login,
.woocommerce form.register {
    margin: 20px 0 0 0!important;
}

@media screen and (max-width: 768px) {
    .woocommerce form.login {
        margin: 20px 0 40px 0!important;
    }
    
    .woocommerce form.register {
        margin: 20px 0 0 0!important;
    }
}

#siteguard_captcha {
    font-family: inherit;
    font-weight: 400;
    letter-spacing: normal;
    padding: .5em;
    display: block;
    background-color: var(--wc-form-color-background, #fff);
    border: var(--wc-form-border-width) solid var(--wc-form-border-color);
    border-radius: var(--wc-form-border-radius);
    color: var(--wc-form-color-text, #000);
    box-sizing: border-box;
    width: calc(100% - 6px);    
    line-height: normal;
    height: auto;
}

.woocommerce-form-login #siteguard_captcha {
    margin: 8px 3px 20px;
}

.woocommerce-form-register #siteguard_captcha {
    margin: 8px 3px 12px;
}

.woocommerce-LostPassword a{
    text-decoration: underline;
    text-underline-offset: 0.2em;
}

.woocommerce-LostPassword a:hover{
    text-decoration: none;
}

.woocommerce-form-register__submit{
    margin: 15px 0 0 0 !important;
}

.woocommerce-privacy-policy-link{
    text-decoration: underline;
    text-underline-offset: 0.2em;
}

.woocommerce-privacy-policy-link:hover{
    text-decoration: none;
}
/* =================================
            Lost Password
================================= */
.woocommerce-ResetPassword #siteguard_captcha{
    margin: 5px 3px 0 !important;
}

@media screen and (min-width: 769px) {
    .woocommerce-ResetPassword #siteguard_captcha{
        width: calc(47% - 6px);
    }
}

.woocommerce-ResetPassword .woocommerce-Button{
    margin: 20px 0 0 0 !important;
    width: 280px !important;
}

@media screen and (max-width: 768px) {
    .woocommerce-ResetPassword .woocommerce-Button {
        margin: 20px auto 0 !important;
        width: 240px !important;
    }
}


/* =================================
            My Account
================================= */
.woocommerce::after{
    content: "";
    clear: both;
    display: table;
}

.woocommerce-MyAccount-navigation{
    width: 280px;
    float: left;
    border: 1px solid #CFC8D8;
    border-radius: 5px;
    overflow: hidden;
}

.woocommerce-MyAccount-navigation li:not(:last-of-type){
    border-bottom: 1px solid #CFC8D8;
}

.woocommerce-MyAccount-navigation a{
    display: block;
    padding: 17px;
    font-size: 2rem;
    line-height: 1.3;
    font-weight: bold;
    color: #4B4594;
}

.woocommerce-MyAccount-navigation a:after{
    content: "";
    display: inline-block;    
    width: 14px;
    height: 14px;
    background: #4B4594;
    mask: url("../img/common/ic-arrow.svg") no-repeat top left/100% 100%;
    -webkit-mask: url("../img/common/ic-arrow.svg") no-repeat top left/100% 100%;
    margin-left: 7px;
}

.woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-MyAccount-navigation li a:hover{
    background: #EBEBF4;
}

.woocommerce-MyAccount-content{
    width: calc(100% - 320px);
    float: right;
    border: 1px solid #CFC8D8;
    border-radius: 5px;
    padding: 30px;
}

.woocommerce-MyAccount-content p a{
    text-decoration: underline;
    text-underline-offset: 0.2em;
}

.woocommerce-MyAccount-content p a:hover{
    text-decoration: none;
}

@media screen and (max-width: 768px) {
    .woocommerce-MyAccount-navigation{
        width: 100%;
        float: none;
        margin: 0 0 30px;        
    }

    .woocommerce-MyAccount-navigation ul{
        width: 100%;
        display: flex;
        flex-wrap: wrap;
    }
    .woocommerce-MyAccount-navigation li{
        width: 50%;        
    }
    
    .woocommerce-MyAccount-navigation li:nth-of-type(2n+1){
        border-right: 1px solid #CFC8D8;
    }
    .woocommerce-MyAccount-navigation li:nth-last-of-type(2){
        border-bottom: none;
    }
    
    .woocommerce-MyAccount-navigation a{
        padding: 14px 10px;
        font-size: min(4vw,1.6rem);
    }
    .woocommerce-MyAccount-navigation a:after{
        position: relative;
        top: 1px;
    }
    .woocommerce-MyAccount-content{
        width: 100%;
        float: none;
        padding: 20px;
    }

}


/* =================================
        My Account / Order
================================= */
.woocommerce-info::before{
    display: none !important;    
}

.woocommerce-info{
    border: none !important;
    padding: 0 !important;
    background: none !important;
    font-weight: bold;
}

.woocommerce-info a.button{
    float: none !important;
    display: block !important;
    margin: 20px 0 0 0 !important;
}

@media screen and (max-width: 768px) {
.woocommerce table.my_account_orders .button{
    display: inline-block !important;
 }
}
/* =================================
    My Account / Edit Account
================================= */
.woocommerce-EditAccountForm.edit-account .button{
    margin: 20px 0 0 0 !important;
}

.woocommerce-Address .edit {
    width: 240px;
    height: 43px;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.2;
    border-radius: 100px;
    position: relative;
    background: #4B4594;
    border: 2px solid #4B4594;
    color: #fff;
    transition: .4s cubic-bezier(0.37, 0, 0.63, 1);
    text-align: center;
    padding: 7px 10px 8px 0;
    display: block;
    margin: 10px 0;
}

.woocommerce-Address .edit:after {
    content: "";
    width: 18px;
    height: 18px;
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    background: #fff;
    mask: url("../img/common/ic-arrow.svg") no-repeat top left/100% 100%;
    -webkit-mask: url("../img/common/ic-arrow.svg") no-repeat top left/100% 100%;
    display: block;
    transition: .4s cubic-bezier(0.37, 0, 0.63, 1);
}

.woocommerce-Address .edit:hover {
    background: #fff;
    color: #4B4594;
}

.woocommerce-Address .edit:hover:after {
    background: #4B4594;
    right: 15px;
}

@media screen and (max-width: 1000px) and (min-width: 769px) {
    .woocommerce .col2-set .col-1,
    .woocommerce .col2-set .col-2{
        width: 100% !important;
        float: none !important;
    }
    
    .woocommerce .col2-set .col-1{
        margin-bottom: 20px !important;        
    }
}

@media screen and (max-width: 768px) {    
    .woocommerce .col2-set .col-1{
        margin-bottom: 20px !important;        
    }
    
    .woocommerce-Address .edit {        
        font-size: 1.6rem;        
        display: block;
        padding: 10px 10px 10px 0;
    }

    .woocommerce-Address .edit:after {
        width: 16px;
        height: 16px;
        right: 10px;
    }
}

.woocommerce-MyAccount-content .order-number,
.woocommerce-MyAccount-content .order-date,
.woocommerce-MyAccount-content .order-status{
    font-weight: bold !important;
}

.woocommerce-MyAccount-content .m-btn{
    margin-bottom: 20px;
}

.delete-account-section{
    margin-top: 50px;
    padding-top: 45px;
    border-top: 1px solid #ddd;
}

.delete-account-section h3{
    color: #4B4594;
    font-size: 2.2rem;    
    margin: 0 0 5px;
}

.delete-account-section h4{
    margin: 0 0 10px;
}

.delete-account-section ol li{
    padding: 0 0 10px;
}

.delete-account-section ol a{
    text-decoration: underline;
    text-underline-offset: 0.2em;
}

.delete-account-section ol a:hover{
    text-decoration: none;
}

@media screen and (max-width: 768px) { 
    .delete-account-section h3{
        font-size: 2rem;
    }
}

.delete-account-section .button-delete-account{
    margin-top: 15px !important;
}

.woocommerce-customer-details .woocommerce-customer-details{
    margin-top: 20px !important;    
}

@media screen and (max-width: 768px) { 
    .subscription_details td:nth-of-type(1){
        width: 115px !important;
        padding-right: 0 !important;
    }
    .subscription_details .button{
        width: 100% !important;
    }
    
    .subscription_details .button:not(:last-of-type){
        margin-bottom: 5px !important;
    }
}
