/* ==========================================================
   HERAMINO / HISAMINO GLOBAL BRAND VARIABLES
========================================================== */

body {
    --ha-brand-main: #EF94AD;
    --ha-brand-dark: #C93F68;
    --ha-brand-soft: #FFF1F5;
    --ha-brand-soft-2: #FFE0E9;
    --ha-brand-border: #F3B6C7;
    --ha-brand-rgb: 239, 148, 173;
}


/* HISAMINO */
body.ha-brand-hisamino {
    --ha-brand-main: #5AAEF5;
    --ha-brand-dark: #1687D9;
    --ha-brand-soft: #EFF8FF;
    --ha-brand-soft-2: #DDEFFF;
    --ha-brand-border: #9ED3FB;
    --ha-brand-rgb: 90, 174, 245;
}





/* ==========================================================
   HERAMINO / HISAMINO CHECKOUT
   FINAL CHECKOUT ALIGNMENT
========================================================== */


/* ==========================================================
   0. CONTACT → SHIPPING ADDRESS SPACING
========================================================== */

.ha-checkout
.wp-block-woocommerce-checkout-contact-information-block{
    margin-bottom:28px !important;
}

.ha-checkout
.wp-block-woocommerce-checkout-shipping-address-block{
    margin-top:0 !important;
}


/* ==========================================================
   1. OPTION ROW
========================================================== */

.ha-checkout
.wc-block-components-radio-control__option{
    position:relative !important;

    display:block !important;

    width:100% !important;
    min-height:58px !important;

    margin:0 !important;

    padding:17px 90px 17px 54px !important;

    text-align:left !important;

    box-sizing:border-box !important;
}


/* ==========================================================
   2. RADIO CIRCLE
========================================================== */

.ha-checkout
.wc-block-components-radio-control__option
.wc-block-components-radio-control__input{
    position:absolute !important;

    top:50% !important;
    left:18px !important;

    width:20px !important;
    height:20px !important;

    min-width:20px !important;
    min-height:20px !important;

    max-width:20px !important;
    max-height:20px !important;

    margin:0 !important;
    padding:0 !important;

    transform:translateY(-50%) !important;

    flex:none !important;

    z-index:3 !important;
}


/* ==========================================================
   3. REMOVE CENTERING FROM WOO INNER WRAPPERS
========================================================== */

.ha-checkout
.wc-block-components-radio-control__option
.wc-block-components-radio-control__option-layout,

.ha-checkout
.wc-block-components-radio-control__option
.wc-block-components-radio-control__label-group,

.ha-checkout
.wc-block-components-radio-control__option
.wc-block-components-radio-control__description-group{
    display:block !important;

    width:100% !important;
    max-width:none !important;
    min-width:0 !important;

    margin:0 !important;
    padding:0 !important;

    text-align:left !important;
}


/* ==========================================================
   4. OPTION NAME
========================================================== */

.ha-checkout
.wc-block-components-radio-control__label{
    display:block !important;

    width:100% !important;
    max-width:none !important;

    margin:0 !important;
    padding:0 !important;

    color:#111 !important;

    font-family:inherit !important;

    font-size:14px !important;
    font-weight:500 !important;
    line-height:1.4 !important;

    text-align:left !important;

    white-space:normal !important;
}


/* ==========================================================
   5. SHIPPING PRICE
========================================================== */

.ha-checkout
.wc-block-components-shipping-rates-control
.wc-block-components-radio-control__secondary-label{
    position:absolute !important;

    top:50% !important;
    right:18px !important;

    display:block !important;

    width:auto !important;

    margin:0 !important;
    padding:0 !important;

    color:#111 !important;

    font-size:13px !important;
    font-weight:700 !important;
    line-height:1 !important;

    white-space:nowrap !important;

    text-align:right !important;

    transform:translateY(-50%) !important;
}


/* ==========================================================
   6. SHIPPING TEXT
========================================================== */

.ha-checkout
.wc-block-components-shipping-rates-control
.wc-block-components-radio-control__option-layout,

.ha-checkout
.wc-block-components-shipping-rates-control
.wc-block-components-radio-control__label-group{
    display:block !important;

    width:100% !important;

    margin:0 !important;
    padding:0 !important;

    text-align:left !important;
}


/* ==========================================================
   7. PAYMENT METHOD ROWS
========================================================== */

.ha-checkout
.wc-block-checkout__payment-method
.wc-block-components-radio-control__option,

.ha-checkout
.wc-block-components-payment-methods
.wc-block-components-radio-control__option{
    padding-right:18px !important;

    text-align:left !important;
}


.ha-checkout
.wc-block-checkout__payment-method
.wc-block-components-radio-control__label,

.ha-checkout
.wc-block-components-payment-methods
.wc-block-components-radio-control__label{
    display:block !important;

    width:100% !important;

    margin:0 !important;
    padding:0 !important;

    text-align:left !important;
}


/* ==========================================================
   8. EXPANDED PAYMENT DESCRIPTION
   FIXED INTERNAL SPACING
========================================================== */

.ha-checkout
.wc-block-components-radio-control-accordion-content{
    position:relative !important;

    display:block !important;

    width:100% !important;
    max-width:100% !important;

    margin:0 !important;

    padding:
        20px
        20px
        20px !important;

    box-sizing:border-box !important;

    color:#667085 !important;

    font-family:inherit !important;

    font-size:13px !important;
    font-weight:400 !important;
    line-height:1.5 !important;

    text-align:left !important;

    overflow:visible !important;
    overflow-wrap:anywhere !important;

    transform:none !important;
}


/* ==========================================================
   PAYMENT CONTENT CHILDREN
========================================================== */

.ha-checkout
.wc-block-components-radio-control-accordion-content > *,

.ha-checkout
.wc-block-components-radio-control-accordion-content p,

.ha-checkout
.wc-block-components-radio-control-accordion-content div{
    max-width:100% !important;

    margin-left:0 !important;
    margin-right:0 !important;

    box-sizing:border-box !important;

    text-align:left !important;

    transform:none !important;
}


.ha-checkout
.wc-block-components-radio-control-accordion-content > *:first-child{
    margin-top:0 !important;
}


.ha-checkout
.wc-block-components-radio-control-accordion-content > *:last-child{
    margin-bottom:0 !important;
}


/* ==========================================================
   PAYMENT INPUTS / FIELDS
========================================================== */

.ha-checkout
.wc-block-components-radio-control-accordion-content input,

.ha-checkout
.wc-block-components-radio-control-accordion-content select,

.ha-checkout
.wc-block-components-radio-control-accordion-content textarea,

.ha-checkout
.wc-block-components-radio-control-accordion-content iframe{
    max-width:100% !important;

    box-sizing:border-box !important;
}


/* ==========================================================
   9. SELECTED ROW
========================================================== */

.ha-checkout
.wc-block-components-radio-control__option:has(
    .wc-block-components-radio-control__input:checked
){
    background:#fff !important;

    box-shadow:
        inset 0 0 0 1.5px #111 !important;
}


/* ==========================================================
   10. TABLET
========================================================== */

@media (min-width:768px) and (max-width:1024px){

    .ha-checkout
    .wp-block-woocommerce-checkout-contact-information-block{
        margin-bottom:24px !important;
    }


    .ha-checkout
    .wc-block-components-radio-control__option{
        min-height:56px !important;

        padding:
            16px
            82px
            16px
            49px !important;
    }


    .ha-checkout
    .wc-block-components-radio-control__option
    .wc-block-components-radio-control__input{
        left:16px !important;

        width:19px !important;
        height:19px !important;

        min-width:19px !important;
        min-height:19px !important;
    }


    .ha-checkout
    .wc-block-components-shipping-rates-control
    .wc-block-components-radio-control__secondary-label{
        right:15px !important;

        font-size:12.5px !important;
    }


    .ha-checkout
    .wc-block-components-radio-control__label{
        font-size:13.5px !important;
    }


    .ha-checkout
    .wc-block-components-radio-control-accordion-content{
        padding:
            18px
            18px
            18px !important;
    }
}


/* ==========================================================
   11. MOBILE
========================================================== */

@media (max-width:767px){

    .ha-checkout
    .wp-block-woocommerce-checkout-contact-information-block{
        margin-bottom:22px !important;
    }

    .ha-checkout
    .wp-block-woocommerce-checkout-shipping-address-block{
        margin-top:0 !important;
    }


    .ha-checkout
    .wc-block-components-radio-control__option{
        min-height:54px !important;

        padding:
            15px
            66px
            15px
            45px !important;
    }


    .ha-checkout
    .wc-block-components-radio-control__option
    .wc-block-components-radio-control__input{
        left:13px !important;

        width:18px !important;
        height:18px !important;

        min-width:18px !important;
        min-height:18px !important;

        max-width:18px !important;
        max-height:18px !important;
    }


    .ha-checkout
    .wc-block-components-radio-control__label{
        font-size:13px !important;

        line-height:1.35 !important;

        text-align:left !important;
    }


    .ha-checkout
    .wc-block-components-shipping-rates-control
    .wc-block-components-radio-control__secondary-label{
        right:12px !important;

        font-size:12px !important;
    }


    .ha-checkout
    .wc-block-checkout__payment-method
    .wc-block-components-radio-control__option,

    .ha-checkout
    .wc-block-components-payment-methods
    .wc-block-components-radio-control__option{
        padding-right:12px !important;
    }


    /* Payment content */

    .ha-checkout
    .wc-block-components-radio-control-accordion-content{
        margin-top:0 !important;

        padding:
            16px
            14px
            16px !important;

        font-size:12px !important;

        line-height:1.45 !important;
    }


    /* Duplicate mobile order summary */

    .ha-checkout
    .wc-block-checkout__actions
    ~ .wc-block-components-totals-wrapper,

    .ha-checkout
    .wc-block-checkout__actions
    ~ .wp-block-woocommerce-checkout-order-summary-block,

    .ha-checkout
    .wc-block-checkout__actions
    ~ .wc-block-checkout__order-summary,

    .ha-checkout
    .wc-block-checkout__actions
    ~ .wc-block-components-order-summary{
        display:none !important;
    }


    .ha-checkout
    .wc-block-checkout__main:has(.wc-block-checkout__actions)
    > .wp-block-woocommerce-checkout-order-summary-block:last-of-type{
        display:none !important;
    }
}


/* ==========================================================
   12. SMALL MOBILE
========================================================== */

@media (max-width:390px){

    .ha-checkout
    .wp-block-woocommerce-checkout-contact-information-block{
        margin-bottom:20px !important;
    }


    .ha-checkout
    .wc-block-components-radio-control__option{
        padding:
            14px
            62px
            14px
            42px !important;
    }


    .ha-checkout
    .wc-block-components-radio-control__option
    .wc-block-components-radio-control__input{
        left:12px !important;

        width:17px !important;
        height:17px !important;

        min-width:17px !important;
        min-height:17px !important;
    }


    .ha-checkout
    .wc-block-components-radio-control__label{
        font-size:12.5px !important;
    }


    .ha-checkout
    .wc-block-components-shipping-rates-control
    .wc-block-components-radio-control__secondary-label{
        right:10px !important;

        font-size:11.5px !important;
    }


    .ha-checkout
    .wc-block-checkout__payment-method
    .wc-block-components-radio-control__option,

    .ha-checkout
    .wc-block-components-payment-methods
    .wc-block-components-radio-control__option{
        padding-right:10px !important;
    }


    .ha-checkout
    .wc-block-components-radio-control-accordion-content{
        padding:
            14px
            12px
            14px !important;
    }
}


/* ==========================================================
   USE SAME ADDRESS FOR BILLING
   CLEAN BRAND-AWARE CHECKBOX
========================================================== */

.ha-checkout{
    --ha-checkout-brand:#EF94AD;
    --ha-checkout-brand-dark:#C93F68;
}

body.ha-brand-hisamino .ha-checkout{
    --ha-checkout-brand:#159BE8;
    --ha-checkout-brand-dark:#1687D9;
}


/* ==========================================================
   BILLING CHECKBOX ROW
========================================================== */

.ha-checkout
.wc-block-checkout__use-address-for-billing{
    display:flex !important;
    align-items:center !important;
    gap:12px !important;

    width:auto !important;

    margin:16px 0 28px !important;
    padding:0 !important;
}


/* ==========================================================
   CHECKBOX WRAPPER
========================================================== */

.ha-checkout
.wc-block-checkout__use-address-for-billing
.wc-block-components-checkbox{
    display:flex !important;
    align-items:center !important;

    gap:12px !important;

    width:auto !important;

    margin:0 !important;
    padding:0 !important;
}


/* ==========================================================
   CHECKBOX LABEL
========================================================== */

.ha-checkout
.wc-block-checkout__use-address-for-billing
.wc-block-components-checkbox__label{
    margin:0 !important;
    padding:0 !important;

    color:#111 !important;

    font-family:inherit !important;
    font-size:14px !important;
    font-weight:600 !important;
    line-height:1.35 !important;

    cursor:pointer !important;
}


/* ==========================================================
   NATIVE INPUT
========================================================== */

.ha-checkout
.wc-block-checkout__use-address-for-billing
.wc-block-components-checkbox__input{
    position:relative !important;

    appearance:none !important;
    -webkit-appearance:none !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    flex:0 0 24px !important;

    width:24px !important;
    height:24px !important;

    min-width:24px !important;
    min-height:24px !important;

    max-width:24px !important;
    max-height:24px !important;

    margin:0 !important;
    padding:0 !important;

    background:#fff !important;

    border:1.5px solid #D9DDE3 !important;
    border-radius:7px !important;

    box-shadow:none !important;

    cursor:pointer !important;

    transition:
        background-color .18s ease,
        border-color .18s ease,
        box-shadow .18s ease !important;
}


/* ==========================================================
   CHECKED STATE
========================================================== */

.ha-checkout
.wc-block-checkout__use-address-for-billing
.wc-block-components-checkbox__input:checked{
    background:
        var(--ha-checkout-brand) !important;

    border-color:
        var(--ha-checkout-brand) !important;

    box-shadow:
        0 3px 10px rgba(0,0,0,.08) !important;
}


/* ==========================================================
   CHECKMARK
========================================================== */

.ha-checkout
.wc-block-checkout__use-address-for-billing
.wc-block-components-checkbox__input:checked::after{
    content:"" !important;

    display:block !important;

    width:6px !important;
    height:11px !important;

    margin-top:-2px !important;

    border:solid #fff !important;
    border-width:0 2px 2px 0 !important;

    transform:rotate(45deg) !important;
}


/* ==========================================================
   REMOVE WOO CHECKMARK SVG
========================================================== */

.ha-checkout
.wc-block-checkout__use-address-for-billing
.wc-block-components-checkbox__mark{
    display:none !important;
}


/* ==========================================================
   HOVER / FOCUS
========================================================== */

.ha-checkout
.wc-block-checkout__use-address-for-billing
.wc-block-components-checkbox__input:hover{
    border-color:
        var(--ha-checkout-brand) !important;
}

.ha-checkout
.wc-block-checkout__use-address-for-billing
.wc-block-components-checkbox__input:focus{
    outline:none !important;

    box-shadow:
        0 0 0 3px
        color-mix(
            in srgb,
            var(--ha-checkout-brand) 18%,
            transparent
        ) !important;
}


/* ==========================================================
   MOBILE BILLING
========================================================== */

@media (max-width:767px){

    .ha-checkout
    .wc-block-checkout__use-address-for-billing{
        gap:10px !important;

        margin:
            14px
            0
            25px !important;
    }

    .ha-checkout
    .wc-block-checkout__use-address-for-billing
    .wc-block-components-checkbox{
        gap:10px !important;
    }

    .ha-checkout
    .wc-block-checkout__use-address-for-billing
    .wc-block-components-checkbox__input{
        flex-basis:22px !important;

        width:22px !important;
        height:22px !important;

        min-width:22px !important;
        min-height:22px !important;

        max-width:22px !important;
        max-height:22px !important;

        border-radius:6px !important;
    }

    .ha-checkout
    .wc-block-checkout__use-address-for-billing
    .wc-block-components-checkbox__input:checked::after{
        width:5px !important;
        height:10px !important;
    }

    .ha-checkout
    .wc-block-checkout__use-address-for-billing
    .wc-block-components-checkbox__label{
        font-size:13px !important;
    }
}


/* ==========================================================
   SMALL MOBILE BILLING
========================================================== */

@media (max-width:390px){

    .ha-checkout
    .wc-block-checkout__use-address-for-billing
    .wc-block-components-checkbox__input{
        flex-basis:21px !important;

        width:21px !important;
        height:21px !important;

        min-width:21px !important;
        min-height:21px !important;

        max-width:21px !important;
        max-height:21px !important;
    }

    .ha-checkout
    .wc-block-checkout__use-address-for-billing
    .wc-block-components-checkbox__label{
        font-size:12.5px !important;
    }
}



/* ==========================================================
   HERAMINO / HISAMINO
   WOOCOMMERCE CART BLOCK
========================================================== */

.ha-cart{
    --ha-brand:#EF94AD;
    --ha-brand-dark:#C93F68;
    --ha-brand-soft:#FFF3F7;
    --ha-brand-border:#F3B6C7;

    --ha-text:#111111;
    --ha-body:#667085;
    --ha-border:#E5E7EB;
    --ha-soft:#F8F9FA;

    width:100% !important;
    max-width:1460px !important;

    margin:0 auto !important;

    padding:30px 38px 55px !important;

    box-sizing:border-box !important;
}

body.ha-brand-hisamino .ha-cart{
    --ha-brand:#159BE8;
    --ha-brand-dark:#087FC6;
    --ha-brand-soft:#F1F9FF;
    --ha-brand-border:#A9D9FA;
}

.ha-cart,
.ha-cart *,
.ha-cart *::before,
.ha-cart *::after{
    box-sizing:border-box;
}


/* ==========================================================
   MAIN CART LAYOUT
========================================================== */

.ha-cart .wc-block-cart{
    width:100% !important;

    margin:0 !important;
}

.ha-cart .wc-block-cart__main,
.ha-cart .wc-block-cart__sidebar{
    margin:0 !important;
}

.ha-cart .wc-block-cart__main{
    padding-right:34px !important;
}

.ha-cart .wc-block-cart__sidebar{
    padding-left:12px !important;
}


/* ==========================================================
   PRODUCT TABLE
========================================================== */

.ha-cart .wc-block-cart-items{
    border-collapse:collapse !important;

    width:100% !important;
}

.ha-cart .wc-block-cart-items thead{
    border-bottom:1px solid var(--ha-border) !important;
}

.ha-cart .wc-block-cart-items th{
    padding:0 0 14px !important;

    color:#333 !important;

    font-size:12px !important;
    font-weight:700 !important;

    letter-spacing:.04em !important;
    text-transform:uppercase !important;
}

.ha-cart .wc-block-cart-items__row{
    border-bottom:1px solid var(--ha-border) !important;
}

.ha-cart .wc-block-cart-item__product{
    padding:22px 10px 22px 0 !important;
}

.ha-cart .wc-block-cart-item__total{
    padding:22px 0 !important;
}


/* ==========================================================
   PRODUCT IMAGE
========================================================== */

.ha-cart .wc-block-cart-item__image{
    width:78px !important;

    padding-right:16px !important;
}

.ha-cart .wc-block-cart-item__image img{
    display:block !important;

    width:72px !important;
    height:72px !important;

    object-fit:cover !important;

    border-radius:10px !important;

    background:var(--ha-soft) !important;
}


/* ==========================================================
   PRODUCT TEXT
========================================================== */

.ha-cart .wc-block-components-product-name{
    display:inline-block !important;

    margin:0 0 5px !important;

    color:var(--ha-text) !important;

    font-size:15px !important;
    font-weight:700 !important;
    line-height:1.3 !important;

    text-decoration:none !important;
}

.ha-cart .wc-block-components-product-name:hover{
    color:var(--ha-brand-dark) !important;
}

.ha-cart .wc-block-components-product-price{
    margin:0 0 6px !important;

    font-size:13px !important;
}

.ha-cart .wc-block-components-product-metadata{
    margin-top:6px !important;

    color:var(--ha-body) !important;

    font-size:12px !important;
    line-height:1.45 !important;
}

.ha-cart .wc-block-components-product-metadata p{
    margin:0 0 3px !important;
}

.ha-cart .wc-block-components-product-metadata ul{
    margin:4px 0 4px 18px !important;
}

.ha-cart .wc-block-components-product-metadata li{
    margin:2px 0 !important;
}


/* ==========================================================
   FREE PRODUCT / DISCOUNT BADGE
========================================================== */

.ha-cart .wc-block-components-product-metadata .wc-block-components-product-details__value{
    font-size:12px !important;
}

.ha-cart mark,
.ha-cart .wc-block-components-product-badge{
    display:inline-flex !important;

    align-items:center !important;

    padding:3px 7px !important;

    background:var(--ha-brand) !important;
    color:#fff !important;

    border:0 !important;
    border-radius:5px !important;

    font-size:10px !important;
    font-weight:700 !important;
}


/* ==========================================================
   QUANTITY CONTROL
========================================================== */

.ha-cart .wc-block-components-quantity-selector{
    display:inline-flex !important;

    align-items:center !important;

    min-width:118px !important;
    height:44px !important;

    margin-top:10px !important;

    border:1px solid var(--ha-border) !important;
    border-radius:10px !important;

    overflow:hidden !important;

    background:#fff !important;
}

.ha-cart .wc-block-components-quantity-selector input{
    height:42px !important;

    border:0 !important;

    font-size:14px !important;
    font-weight:600 !important;
}

.ha-cart .wc-block-components-quantity-selector button{
    width:38px !important;
    height:42px !important;

    border:0 !important;

    background:#fff !important;

    color:#555 !important;

    font-size:16px !important;
}

.ha-cart .wc-block-components-quantity-selector button:hover{
    background:var(--ha-brand-soft) !important;

    color:var(--ha-brand-dark) !important;
}


/* ==========================================================
   REMOVE BUTTON
========================================================== */

.ha-cart .wc-block-cart-item__remove-link{
    margin-left:12px !important;

    color:#667085 !important;

    font-size:12px !important;
    font-weight:500 !important;
}

.ha-cart .wc-block-cart-item__remove-link:hover{
    color:var(--ha-brand-dark) !important;
}


/* ==========================================================
   CART TOTALS
========================================================== */

.ha-cart .wc-block-cart__sidebar{
    align-self:flex-start !important;
}

.ha-cart .wc-block-cart__sidebar .wc-block-components-totals-wrapper{
    padding:18px 0 !important;

    border-color:var(--ha-border) !important;
}

.ha-cart .wc-block-cart__sidebar > div,
.ha-cart .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block{
    border-color:var(--ha-border) !important;
}

.ha-cart .wc-block-cart__totals-title{
    margin:0 0 16px !important;

    color:var(--ha-text) !important;

    font-size:14px !important;
    font-weight:700 !important;

    letter-spacing:.03em !important;
    text-transform:uppercase !important;
}

.ha-cart .wc-block-components-totals-item{
    padding:4px 0 !important;
}

.ha-cart .wc-block-components-totals-item__label,
.ha-cart .wc-block-components-totals-item__value{
    color:#444 !important;

    font-size:14px !important;
}

.ha-cart .wc-block-components-totals-footer-item{
    padding-top:18px !important;
}

.ha-cart .wc-block-components-totals-footer-item
.wc-block-components-totals-item__label{
    font-size:20px !important;
    font-weight:700 !important;
}

.ha-cart .wc-block-components-totals-footer-item
.wc-block-components-totals-item__value{
    color:var(--ha-text) !important;

    font-size:23px !important;
    font-weight:700 !important;
}


/* ==========================================================
   COUPON
========================================================== */

.ha-cart .wc-block-components-totals-coupon{
    padding:0 !important;
}

.ha-cart .wc-block-components-totals-coupon__button{
    color:var(--ha-brand-dark) !important;
}


/* ==========================================================
   PROCEED TO CHECKOUT
========================================================== */

.ha-cart .wc-block-cart__submit{
    margin-top:16px !important;
}

.ha-cart .wc-block-cart__submit-button{
    display:flex !important;

    align-items:center !important;
    justify-content:center !important;

    width:100% !important;
    min-height:54px !important;

    padding:14px 22px !important;

    background:#111 !important;
    color:#fff !important;

    border:0 !important;
    border-radius:999px !important;

    font-family:inherit !important;
    font-size:14px !important;
    font-weight:700 !important;

    text-decoration:none !important;

    transition:
        transform .18s ease,
        background-color .18s ease !important;
}

.ha-cart .wc-block-cart__submit-button:hover{
    background:#292929 !important;

    transform:translateY(-1px) !important;
}

.ha-cart .wc-block-cart__submit-button span{
    color:#fff !important;

    text-decoration:none !important;
}


/* ==========================================================
   DESKTOP
========================================================== */

@media (min-width:1200px) and (max-width:1599px){

    .ha-cart{
        max-width:1320px !important;

        padding:
            28px
            32px
            50px !important;
    }

    .ha-cart .wc-block-cart__main{
        padding-right:26px !important;
    }
}


/* ==========================================================
   TABLET / SMALL LAPTOP
========================================================== */

@media (min-width:768px) and (max-width:1199px){

    .ha-cart{
        width:calc(100% - 36px) !important;
        max-width:1050px !important;

        padding:
            24px
            0
            42px !important;
    }

    .ha-cart .wc-block-cart__main{
        padding-right:20px !important;
    }

    .ha-cart .wc-block-cart__sidebar{
        padding-left:5px !important;
    }

    .ha-cart .wc-block-cart-item__image{
        width:68px !important;
    }

    .ha-cart .wc-block-cart-item__image img{
        width:62px !important;
        height:62px !important;
    }

    .ha-cart .wc-block-components-product-name{
        font-size:14px !important;
    }
}


/* ==========================================================
   MOBILE CART
========================================================== */

@media (max-width:767px){

    .ha-cart{
        width:100% !important;
        max-width:none !important;

        margin:0 !important;

        padding:
            18px
            16px
            34px !important;
    }


    .ha-cart .wc-block-cart{
        display:block !important;
    }

    .ha-cart .wc-block-cart__main,
    .ha-cart .wc-block-cart__sidebar{
        width:100% !important;
        max-width:none !important;

        padding:0 !important;
    }


    .ha-cart .wc-block-cart-items__row{
        position:relative !important;
    }

    .ha-cart .wc-block-cart-item__product{
        padding:
            17px
            0
            18px !important;
    }

    .ha-cart .wc-block-cart-item__total{
        padding:
            17px
            0 !important;
    }


    .ha-cart .wc-block-cart-item__image{
        width:66px !important;

        padding-right:11px !important;
    }

    .ha-cart .wc-block-cart-item__image img{
        width:60px !important;
        height:60px !important;

        border-radius:9px !important;
    }


    .ha-cart .wc-block-components-product-name{
        font-size:14px !important;
    }

    .ha-cart .wc-block-components-product-price{
        font-size:12px !important;
    }

    .ha-cart .wc-block-components-product-metadata{
        font-size:11px !important;
        line-height:1.4 !important;
    }


    .ha-cart .wc-block-components-quantity-selector{
        min-width:108px !important;
        height:40px !important;
    }

    .ha-cart .wc-block-components-quantity-selector input,
    .ha-cart .wc-block-components-quantity-selector button{
        height:38px !important;
    }


    .ha-cart .wc-block-cart__sidebar{
        margin-top:26px !important;
    }

    .ha-cart .wc-block-cart__totals-title{
        font-size:15px !important;
    }

    .ha-cart .wc-block-components-totals-footer-item
    .wc-block-components-totals-item__label{
        font-size:18px !important;
    }

    .ha-cart .wc-block-components-totals-footer-item
    .wc-block-components-totals-item__value{
        font-size:21px !important;
    }


    .ha-cart .wc-block-cart__submit-button{
        min-height:52px !important;

        font-size:14px !important;
    }
}


/* ==========================================================
   SMALL MOBILE CART
========================================================== */

@media (max-width:390px){

    .ha-cart{
        padding:
            16px
            12px
            30px !important;
    }

    .ha-cart .wc-block-cart-item__image{
        width:60px !important;
    }

    .ha-cart .wc-block-cart-item__image img{
        width:54px !important;
        height:54px !important;
    }

    .ha-cart .wc-block-components-product-name{
        font-size:13.5px !important;
    }

    .ha-cart .wc-block-components-product-metadata{
        font-size:10.5px !important;
    }

    .ha-cart .wc-block-cart__submit-button{
        min-height:50px !important;
    }
}