.wcae-cart-widget,
.wcae-cart-widget *{
    box-sizing:border-box;
}

.wcae-cart-widget{
    width:100%;
}

.wcae-cart-form{
    width:100%;
    margin:0;
}

.wcae-cart-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 420px;
    gap:60px;
    align-items:start;
}

.wcae-cart-left,
.wcae-cart-right{
    min-width:0;
}

.wcae-cart-title{
    margin:0 0 28px;
    font-size:46px;
    line-height:1.08;
    font-weight:800;
    letter-spacing:-0.02em;
    color:#111111;
}

.wcae-cart-items{
    display:flex;
    flex-direction:column;
    gap:24px;
}

.wcae-cart-item{
    display:grid;
    grid-template-columns:136px minmax(0,1fr);
    gap:22px;
    align-items:start;
    padding:0 0 24px;
    border-bottom:1px solid #ececec;
}

.wcae-cart-item-image{
    position:relative;
    padding-left:34px;
}

.wcae-cart-item-image a:last-child,
.wcae-cart-item-image img{
    display:block;
    width:100%;
}

.wcae-cart-item-image img{
    aspect-ratio:1 / 1;
    object-fit:contain;
    background:#f6f6f6;
    border-radius:0;
}

.wcae-cart-item-remove{
    position:absolute;
    left:0;
    top:6px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    font-size:22px;
    line-height:1;
    color:#7c7c7c;
    transition:all .2s ease;
}

.wcae-cart-item-remove:hover{
    color:#111111;
    transform:scale(1.05);
}

.wcae-cart-item-content{
    min-width:0;
}

.wcae-cart-item-title{
    margin:0 0 14px;
    font-size:24px;
    line-height:1.35;
    font-weight:700;
    color:#181818;
}

.wcae-cart-item-title a{
    color:inherit;
    text-decoration:none;
}

.wcae-cart-item-bottom{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    flex-wrap:wrap;
}

.wcae-cart-item-meta-wrap{
    min-width:0;
    flex:1 1 auto;
}

.wcae-cart-item-meta{
    margin-bottom:14px;
    font-size:16px;
    line-height:1.5;
    color:#7b7f87;
}

.wcae-cart-item-qty-inline{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}

.wcae-cart-item-qty{
    display:inline-flex;
    align-items:center;
}

.wcae-cart-qty-box{
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:138px;
    height:40px;
    background:#fff;
    border:1px solid #d9d9d9;
    border-radius:8px;
    overflow:hidden;
    box-shadow:none;
    margin:0 !important;
    padding:0 !important;
}

.wcae-cart-qty-btn{
    display:flex;
    align-items:center;
    justify-content:center;
    width:34px;
    min-width:34px;
    max-width:34px;
    height:100%;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:#f7f7f7 !important;
    color:#6b6b6b !important;
    font-size:22px;
    line-height:1;
    font-weight:400;
    cursor:pointer;
    transition:background-color .2s ease, color .2s ease;
    box-shadow:none !important;
    outline:none !important;
    appearance:none !important;
    -webkit-appearance:none !important;
}

.wcae-cart-qty-btn:hover{
    background:#ededed !important;
    color:#222 !important;
}

.wcae-cart-qty-btn:focus,
.wcae-cart-qty-btn:active,
.wcae-cart-qty-btn:focus-visible{
    background:#f7f7f7 !important;
    color:#6b6b6b !important;
    box-shadow:none !important;
    outline:none !important;
}

.wcae-cart-qty-minus{
    border-right:1px solid #d9d9d9 !important;
}

.wcae-cart-qty-plus{
    border-left:1px solid #d9d9d9 !important;
}

.wcae-cart-qty-minus:hover,
.wcae-cart-qty-minus:focus,
.wcae-cart-qty-minus:active,
.wcae-cart-qty-minus:focus-visible{
    border-right:1px solid #d9d9d9 !important;
}

.wcae-cart-qty-plus:hover,
.wcae-cart-qty-plus:focus,
.wcae-cart-qty-plus:active,
.wcae-cart-qty-plus:focus-visible{
    border-left:1px solid #d9d9d9 !important;
}

.wcae-cart-qty-input{
    appearance:textfield;
    -webkit-appearance:none;
    -moz-appearance:textfield;
    display:block;
    width:100%;
    min-width:0;
    height:100%;
    margin:0 !important;
    padding:0 6px !important;
    border:0 !important;
    outline:none !important;
    box-shadow:none !important;
    background:#fff !important;
    color:#3a3a3a !important;
    text-align:center !important;
    font-size:16px !important;
    line-height:1 !important;
    font-weight:600 !important;
    border-radius:0 !important;
    opacity:1 !important;
    visibility:visible !important;
}

.wcae-cart-qty-input::-webkit-outer-spin-button,
.wcae-cart-qty-input::-webkit-inner-spin-button{
    -webkit-appearance:none;
    margin:0;
}

.wcae-cart-item-subtotal,
.wcae-cart-item-subtotal .amount{
    font-size:18px;
    line-height:1.2;
    font-weight:700;
    color:#111111;
    text-align:right;
    white-space:nowrap;
}

.wcae-cart-summary{
    position:sticky;
    top:24px;
    padding:0;
    background:#ffffff;
}

.wcae-cart-summary-title{
    margin:0 0 18px;
    font-size:28px;
    line-height:1.2;
    font-weight:800;
    color:#111111;
}

.wcae-cart-coupon{
    margin-bottom:22px;
    padding-bottom:22px;
    border-bottom:1px solid #e7e7e7;
}

.wcae-cart-coupon-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:16px;
}

.wcae-cart-coupon-title{
    font-size:16px;
    line-height:1.4;
    font-weight:600;
    color:#222222;
}

.wcae-cart-coupon-toggle{
    border:none !important;
    background:transparent !important;
    padding:0 !important;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
}

.wcae-cart-coupon-toggle:hover,
.wcae-cart-coupon-toggle:focus{
    background:transparent !important;
    box-shadow:none !important;
}

.wcae-cart-coupon-chevron{
    display:flex;
    align-items:center;
    justify-content:center;
    color:#111;
    transition:transform .25s ease;
}

.wcae-cart-coupon-toggle[aria-expanded="false"] .wcae-cart-coupon-chevron{
    transform:rotate(-180deg);
}

.wcae-cart-coupon-body .coupon{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    align-items:center;
}

.wcae-cart-coupon-body .input-text{
    flex:1 1 180px;
    min-width:180px;
    max-width:100%;
    height:42px;
    border:1px solid #d6d6d6;
    border-radius:8px;
    background:#ffffff;
    padding:0 14px;
    font-size:15px;
    color:#111111;
    box-shadow:none;
}

.wcae-cart-coupon-body .button{
    height:42px;
    min-width:140px;
    border:1px solid #bfbfbf;
    border-radius:8px;
    background:#ffffff;
    padding:0 16px;
    font-size:15px;
    font-weight:500;
    color:#555555;
    cursor:pointer;
    transition:all .2s ease;
}

.wcae-cart-coupon-body .button:hover{
    border-color:#111111;
    color:#111111;
}

.wcae-cart-shipping{
    margin-bottom:22px;
    padding-bottom:22px;
    border-bottom:1px solid #e7e7e7;
}

.wcae-cart-shipping-title{
    margin:0 0 14px;
    font-size:16px;
    line-height:1.4;
    font-weight:600;
    color:#222222;
}

.wcae-cart-shipping-fields{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    align-items:center;
}

.wcae-cart-shipping-postcode{
    flex:1 1 180px;
    min-width:180px;
    max-width:100%;
    height:42px;
    border:1px solid #d6d6d6;
    border-radius:8px;
    background:#ffffff;
    padding:0 14px;
    font-size:15px;
    color:#111111;
    box-shadow:none;
}

.wcae-cart-shipping-button{
    height:42px;
    min-width:100px;
    border:1px solid #bfbfbf;
    border-radius:8px;
    background:#ffffff;
    padding:0 16px;
    font-size:15px;
    font-weight:500;
    color:#555555;
    cursor:pointer;
    transition:all .2s ease;
}

.wcae-cart-shipping-button:hover{
    border-color:#111111;
    color:#111111;
}

.wcae-cart-shipping-button.is-loading{
    opacity:.7;
    pointer-events:none;
}

.wcae-cart-shipping-feedback{
    margin-top:12px;
    font-size:14px;
    line-height:1.5;
    color:#d63638;
}

.wcae-cart-shipping-location{
    margin-top:12px;
    font-size:13px;
    line-height:1.5;
    color:#6b7280;
}

.wcae-cart-shipping-methods{
    margin-top:16px;
    font-size:14px;
    line-height:1.5;
    color:#222222;
}

.wcae-cart-shipping-methods ul#shipping_method{
    margin:0;
    padding:0;
    list-style:none;
}

.wcae-cart-shipping-methods ul#shipping_method li{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:10px;
    margin:0 0 10px;
}

.wcae-cart-shipping-methods label{
    cursor:pointer;
}

.wcae-cart-shipping-methods .woocommerce-shipping-destination,
.wcae-cart-shipping-methods .shipping-calculator-button,
.wcae-cart-shipping-methods .shipping-calculator-form{
    display:none !important;
}

.wcae-cart-summary-totals{
    display:flex;
    flex-direction:column;
    gap:16px;
}

.wcae-cart-summary-row{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    font-size:16px;
    line-height:1.5;
    color:#222222;
}

.wcae-cart-summary-row strong{
    font-weight:600;
    color:#111111;
    text-align:right;
    margin-left:auto;
}

.wcae-cart-summary-discount{
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.wcae-cart-summary-discount .coupon-name{
    display:block;
    flex:1 1 auto;
}

.wcae-cart-summary-discount .coupon-name em{
    font-style:italic;
    font-weight:500;
}

.wcae-cart-summary-discount a,
.wcae-cart-summary-discount .woocommerce-remove-coupon,
.wcae-cart-summary-row a[href*="remove_coupon"]{
    display:inline-flex;
    align-items:center;
    margin-left:8px;
    color:#555555 !important;
    text-decoration:none !important;
    transition:color .2s ease, opacity .2s ease;
}

.wcae-cart-summary-discount a:hover,
.wcae-cart-summary-discount .woocommerce-remove-coupon:hover,
.wcae-cart-summary-row a[href*="remove_coupon"]:hover{
    color:#111111 !important;
    opacity:1;
}

.wcae-cart-summary-discount a:focus,
.wcae-cart-summary-discount a:active,
.wcae-cart-summary-discount .woocommerce-remove-coupon:focus,
.wcae-cart-summary-discount .woocommerce-remove-coupon:active,
.wcae-cart-summary-row a[href*="remove_coupon"]:focus,
.wcae-cart-summary-row a[href*="remove_coupon"]:active{
    color:#111111 !important;
    box-shadow:none !important;
    outline:none !important;
}

.wcae-cart-coupon-description{
    margin-top:-8px;
    margin-bottom:8px;
    font-size:13px;
    line-height:1.45;
    color:#777777;
}

.wcae-cart-summary-total{
    margin-top:4px;
    padding-top:16px;
    border-top:1px solid #e7e7e7;
    font-size:18px;
}

.wcae-cart-summary-total strong,
.wcae-cart-summary-total .amount{
    font-size:20px;
    font-weight:800;
    color:#111111;
}

.wcae-cart-checkout{
    margin-top:28px;
}

.wcae-cart-checkout-button{
    width:100%;
    min-height:58px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    border:0;
    border-radius:8px;
    background:#ffb300;
    color:#111111;
    font-size:20px;
    font-weight:700;
    padding:12px 22px;
    transition:all .2s ease;
}

.wcae-cart-checkout-button:hover{
    background:#f2a900;
    color:#111111;
    transform:translateY(-1px);
}

.wcae-cart-hidden-update{
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    padding:0 !important;
    margin:-1px !important;
    overflow:hidden !important;
    clip:rect(0, 0, 0, 0) !important;
    border:0 !important;
}

.wcae-cart-empty-message{
    padding:24px;
    border:1px solid #ececec;
    border-radius:10px;
    background:#ffffff;
    font-size:16px;
    color:#111111;
}

.wcae-cart-widget .woocommerce-error,
.wcae-cart-widget .woocommerce-info,
.wcae-cart-widget .woocommerce-message{
    margin:0 0 20px;
    border-radius:8px;
}

.wcae-cart-widget .shop_table,
.wcae-cart-widget .cart_totals,
.wcae-cart-widget .wc-proceed-to-checkout{
    display:none !important;
}

.wcae-cart-is-updating{
    opacity:.7;
    pointer-events:none;
    transition:opacity .2s ease;
}

@media (max-width: 1024px){
    .wcae-cart-layout{
        grid-template-columns:minmax(0,1fr);
        gap:34px;
    }

    .wcae-cart-summary{
        position:static;
    }

    .wcae-cart-title{
        font-size:38px;
    }

    .wcae-cart-item-title{
        font-size:20px;
    }
}

@media (max-width: 767px){
    .wcae-cart-title{
        font-size:30px;
        margin-bottom:20px;
    }

    .wcae-cart-item{
        grid-template-columns:92px minmax(0,1fr);
        gap:14px;
        padding-bottom:18px;
    }

    .wcae-cart-item-image{
        padding-left:26px;
    }

    .wcae-cart-item-title{
        font-size:17px;
    }

    .wcae-cart-item-meta{
        font-size:14px;
        margin-bottom:12px;
    }

    .wcae-cart-item-bottom{
        flex-direction:column;
        align-items:flex-start;
    }

    .wcae-cart-item-subtotal,
    .wcae-cart-item-subtotal .amount{
        font-size:16px;
        text-align:left;
    }

    .wcae-cart-summary-title{
        font-size:24px;
    }

    .wcae-cart-checkout-button{
        min-height:52px;
        font-size:18px;
    }

    .wcae-cart-coupon-body .coupon,
    .wcae-cart-shipping-fields{
        flex-direction:column;
        align-items:stretch;
    }

    .wcae-cart-coupon-body .input-text,
    .wcae-cart-shipping-postcode{
        width:100%;
        min-width:0;
        flex:0 0 auto;
        height:46px;
        padding:0 14px;
    }

    .wcae-cart-coupon-body .button,
    .wcae-cart-shipping-button{
        width:100%;
        min-width:0;
        flex:0 0 auto;
        height:44px;
        padding:0 14px;
    }
}