
/* =========================================================
   PRINT MY MAGS — CART PAGE v1.1
========================================================= */

body.woocommerce-cart{
    --pmm-cyan:#00aeef;
    --pmm-purple:#6755df;
    --pmm-magenta:#ec008c;
    --pmm-orange:#ff5c24;
    --pmm-yellow:#f4d500;
    --pmm-ink:#121417;
    --pmm-ink2:#191c20;
    --pmm-paper:#f6f6f4;
    --pmm-muted:#6d737c;
    --pmm-line:#e7e8ea;
    --pmm-grad:linear-gradient(
        90deg,
        #00aeef 0%,
        #6755df 25%,
        #ec008c 52%,
        #ff5c24 75%,
        #f4d500 100%
    );
    background:#f6f6f4 !important;
}

body.woocommerce-cart a{ text-decoration:none; }

body.woocommerce-cart .site-content,
body.woocommerce-cart .content-area,
body.woocommerce-cart #primary,
body.woocommerce-cart main.site-main{
    background:#f6f6f4 !important;
}

body.woocommerce-cart .entry-header,
body.woocommerce-cart .page-header{
    display:none !important;
}

body.woocommerce-cart .woocommerce{
    width:min(1320px,calc(100% - 42px)) !important;
    max-width:1320px !important;
    margin:0 auto !important;
    padding:58px 0 92px !important;
}

/* =========================================================
   HERO
========================================================= */
.pmm-cart-hero{
    position:relative;
    overflow:hidden;
    margin:0 0 34px;
    padding:38px 42px 36px;
    border:1px solid rgba(18,20,23,.08);
    border-radius:26px;
    background:
        radial-gradient(circle at 9% 18%,rgba(0,174,239,.11),transparent 28%),
        radial-gradient(circle at 90% 18%,rgba(236,0,140,.09),transparent 28%),
        #fff;
    box-shadow:0 16px 46px rgba(17,20,24,.055);
}

.pmm-cart-hero:before{
    content:"";
    position:absolute;
    left:0; right:0; top:0;
    height:5px;
    background:var(--pmm-grad);
}

.pmm-cart-kicker{
    display:flex;
    align-items:center;
    gap:9px;
    margin:0 0 15px;
    color:#40444a;
    font-size:11px;
    font-weight:900;
    letter-spacing:1.45px;
    text-transform:uppercase;
}

.pmm-cart-kicker-dot{
    width:8px;
    height:8px;
    border-radius:99px;
    background:var(--pmm-grad);
    box-shadow:0 0 14px rgba(236,0,140,.35);
}

.pmm-cart-hero-row{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:30px;
}

.pmm-cart-hero h1{
    margin:0 0 9px !important;
    color:var(--pmm-ink) !important;
    font-family:Inter,Arial,Helvetica,sans-serif !important;
    font-size:clamp(48px,5.5vw,78px) !important;
    line-height:.88 !important;
    letter-spacing:-4px !important;
    font-weight:950 !important;
    text-transform:uppercase !important;
}

.pmm-cart-hero h1 span{
    background:var(--pmm-grad);
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
    background-clip:text;
    color:transparent;
}

.pmm-cart-hero p{
    max-width:650px;
    margin:0 !important;
    color:#686e77 !important;
    font-size:15px;
    line-height:1.65;
}

.pmm-cart-continue{
    flex:0 0 auto;
    min-height:46px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 18px;
    border:1px solid #dddfe2;
    border-radius:12px;
    color:#17191d !important;
    background:#fff;
    font-size:11px;
    font-weight:900;
    letter-spacing:.75px;
    text-transform:uppercase;
    transition:.2s ease;
}

.pmm-cart-continue:hover{
    transform:translateY(-2px);
    border-color:#17191d;
}

/* =========================================================
   IMPORTANT v1.1 CHANGE:
   CART USES FULL WIDTH, TOTALS MOVE BELOW
========================================================= */
body.woocommerce-cart .woocommerce-cart-form{
    width:100% !important;
    float:none !important;
    margin:0 !important;
}

body.woocommerce-cart .cart-collaterals{
    width:100% !important;
    float:none !important;
    clear:both !important;
    margin:26px 0 0 !important;
}

body.woocommerce-cart .cart_totals{
    float:none !important;
    width:100% !important;
}

/* =========================================================
   PRODUCT TABLE
========================================================= */
body.woocommerce-cart table.shop_table,
body.woocommerce-cart .woocommerce-cart-form table{
    width:100% !important;
    table-layout:auto !important;
    margin:0 !important;
    overflow:hidden;
    border:1px solid #e7e8ea !important;
    border-collapse:separate !important;
    border-spacing:0 !important;
    border-radius:24px !important;
    background:#fff !important;
    box-shadow:0 14px 40px rgba(17,20,24,.05);
}

body.woocommerce-cart table.shop_table thead{
    background:#17191d !important;
}

body.woocommerce-cart table.shop_table thead th{
    padding:18px 16px !important;
    border:0 !important;
    color:#fff !important;
    background:#17191d !important;
    font-size:11px !important;
    line-height:1.2 !important;
    font-weight:900 !important;
    letter-spacing:1px !important;
    text-transform:uppercase !important;
}

body.woocommerce-cart table.shop_table tbody td{
    padding:26px 16px !important;
    border-top:1px solid #ececee !important;
    color:#343941 !important;
    background:#fff !important;
    vertical-align:middle !important;
}

body.woocommerce-cart table.shop_table tbody tr:first-child td{
    border-top:0 !important;
}

/* column sizing */
body.woocommerce-cart th.product-remove,
body.woocommerce-cart td.product-remove{
    width:54px !important;
    min-width:54px !important;
    text-align:center !important;
}

body.woocommerce-cart th.product-thumbnail,
body.woocommerce-cart td.product-thumbnail{
    width:180px !important;
    min-width:180px !important;
}

body.woocommerce-cart th.product-name,
body.woocommerce-cart td.product-name{
    width:auto !important;
    min-width:360px !important;
}

body.woocommerce-cart th.product-price,
body.woocommerce-cart td.product-price{
    width:120px !important;
    min-width:120px !important;
}

body.woocommerce-cart th.product-quantity,
body.woocommerce-cart td.product-quantity{
    width:170px !important;
    min-width:170px !important;
}

body.woocommerce-cart th.product-subtotal,
body.woocommerce-cart td.product-subtotal{
    width:130px !important;
    min-width:130px !important;
}

/* remove button */
body.woocommerce-cart .product-remove a.remove{
    width:34px !important;
    height:34px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    margin:auto !important;
    border:1px solid #dfe2e5 !important;
    border-radius:99px !important;
    color:#737983 !important;
    background:#fff !important;
    font-size:20px !important;
    line-height:1 !important;
    transition:.2s ease;
}

body.woocommerce-cart .product-remove a.remove:hover{
    border-color:#17191d !important;
    color:#fff !important;
    background:#17191d !important;
}

/* =========================================================
   BIG, READABLE PRODUCT PREVIEW
========================================================= */
body.woocommerce-cart .product-thumbnail{
    text-align:center !important;
}

body.woocommerce-cart .product-thumbnail a{
    position:relative !important;
    width:150px !important;
    height:150px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    margin:auto !important;
    padding:10px !important;
    border:1px solid #e4e6e9 !important;
    border-radius:18px !important;
    background:
        radial-gradient(circle at 30% 15%,rgba(0,174,239,.07),transparent 34%),
        radial-gradient(circle at 80% 80%,rgba(236,0,140,.06),transparent 36%),
        #f7f7f5 !important;
}

body.woocommerce-cart .product-thumbnail img,
body.woocommerce-cart .product-thumbnail a img,
body.woocommerce-cart td.product-thumbnail img{
    display:block !important;
    width:130px !important;
    min-width:130px !important;
    max-width:130px !important;
    height:130px !important;
    min-height:130px !important;
    max-height:130px !important;
    object-fit:contain !important;
    object-position:center !important;
    margin:0 auto !important;
    padding:0 !important;
    border:0 !important;
    border-radius:10px !important;
    background:transparent !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
}

/* custom lightbox/view icon that may be inside thumbnail */
body.woocommerce-cart .product-thumbnail a > span,
body.woocommerce-cart .product-thumbnail .zoom,
body.woocommerce-cart .product-thumbnail .lightbox,
body.woocommerce-cart .product-thumbnail .pmm-view-design{
    z-index:3;
}

/* Product name */
body.woocommerce-cart .pmm-cart-product-name,
body.woocommerce-cart .product-name > a{
    display:block !important;
    max-width:520px !important;
    margin:0 0 12px !important;
    color:#15171a !important;
    font-size:19px !important;
    line-height:1.25 !important;
    font-weight:950 !important;
    letter-spacing:-.35px !important;
}

/* Make metadata readable */
body.woocommerce-cart .product-name dl.variation,
body.woocommerce-cart .product-name .variation{
    display:grid !important;
    grid-template-columns:max-content minmax(0,1fr) !important;
    column-gap:10px !important;
    row-gap:5px !important;
    max-width:600px !important;
    margin:8px 0 0 !important;
    color:#707680 !important;
    font-size:13px !important;
    line-height:1.5 !important;
}

body.woocommerce-cart .product-name dl.variation dt,
body.woocommerce-cart .product-name .variation dt{
    float:none !important;
    clear:none !important;
    margin:0 !important;
    color:#2d3137 !important;
    font-weight:900 !important;
}

body.woocommerce-cart .product-name dl.variation dd,
body.woocommerce-cart .product-name .variation dd{
    float:none !important;
    margin:0 !important;
    color:#6d737c !important;
}

body.woocommerce-cart .product-name dl.variation dd p,
body.woocommerce-cart .product-name .variation dd p{
    margin:0 !important;
    color:inherit !important;
    line-height:1.5 !important;
}

/* Price */
body.woocommerce-cart .product-price,
body.woocommerce-cart .product-subtotal{
    color:#17191d !important;
    font-size:16px !important;
    font-weight:900 !important;
}

/* Quantity */
body.woocommerce-cart .quantity{
    display:inline-flex !important;
    align-items:center !important;
    overflow:hidden !important;
    border:1px solid #dde0e4 !important;
    border-radius:12px !important;
    background:#fff !important;
}

body.woocommerce-cart .quantity input.qty{
    width:60px !important;
    min-height:46px !important;
    padding:0 8px !important;
    border:0 !important;
    border-radius:0 !important;
    background:#fff !important;
    color:#17191d !important;
    font-weight:900 !important;
    text-align:center !important;
    box-shadow:none !important;
}

body.woocommerce-cart .quantity .minus,
body.woocommerce-cart .quantity .plus,
body.woocommerce-cart .quantity button{
    width:42px !important;
    min-width:42px !important;
    height:46px !important;
    padding:0 !important;
    border:0 !important;
    background:#f4f4f2 !important;
    color:#17191d !important;
    font-weight:950 !important;
}

/* actions / coupon inside table, if present */
body.woocommerce-cart table.shop_table td.actions{
    padding:18px !important;
    background:#f8f8f6 !important;
}

body.woocommerce-cart table.shop_table td.actions .coupon{
    display:flex !important;
    align-items:center !important;
    gap:9px !important;
}

body.woocommerce-cart table.shop_table td.actions input.input-text{
    min-height:48px !important;
    width:210px !important;
    padding:0 14px !important;
    border:1px solid #dfe1e5 !important;
    border-radius:11px !important;
    background:#fff !important;
    box-shadow:none !important;
}

body.woocommerce-cart table.shop_table td.actions button{
    min-height:48px !important;
    padding:0 18px !important;
    border:1px solid #17191d !important;
    border-radius:11px !important;
    background:#17191d !important;
    color:#fff !important;
    font-size:11px !important;
    font-weight:900 !important;
    letter-spacing:.7px !important;
    text-transform:uppercase !important;
}

/* =========================================================
   FULL WIDTH TOTALS BELOW CART
========================================================= */
body.woocommerce-cart .cart_totals{
    position:relative !important;
    top:auto !important;
    overflow:hidden !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(320px,430px) !important;
    column-gap:46px !important;
    align-items:start !important;
    padding:0 32px 30px !important;
    border:1px solid #e3e5e8 !important;
    border-radius:24px !important;
    background:#fff !important;
    box-shadow:0 16px 45px rgba(17,20,24,.06) !important;
}

body.woocommerce-cart .cart_totals:before{
    content:"";
    grid-column:1/-1;
    display:block;
    height:5px;
    margin:0 -32px;
    background:var(--pmm-grad);
}

body.woocommerce-cart .cart_totals h2{
    grid-column:1/-1 !important;
    margin:0 -32px 0 !important;
    padding:27px 32px 24px !important;
    color:#fff !important;
    background:#17191d !important;
    font-family:Inter,Arial,Helvetica,sans-serif !important;
    font-size:30px !important;
    line-height:1 !important;
    letter-spacing:-1.2px !important;
    font-weight:950 !important;
    text-transform:uppercase !important;
}

body.woocommerce-cart .cart_totals table{
    grid-column:1 !important;
    width:100% !important;
    margin:24px 0 0 !important;
    border:0 !important;
    box-shadow:none !important;
    border-radius:0 !important;
}

body.woocommerce-cart .cart_totals table th,
body.woocommerce-cart .cart_totals table td{
    padding:17px 0 !important;
    border:0 !important;
    border-bottom:1px solid #e8e9eb !important;
    background:#fff !important;
    font-size:15px !important;
}

body.woocommerce-cart .cart_totals table th{
    color:#4c525b !important;
    font-weight:850 !important;
}

body.woocommerce-cart .cart_totals table td{
    color:#17191d !important;
    font-weight:900 !important;
    text-align:right !important;
}

body.woocommerce-cart .cart_totals .order-total th,
body.woocommerce-cart .cart_totals .order-total td{
    padding-top:20px !important;
    color:#17191d !important;
    font-size:18px !important;
    font-weight:950 !important;
}

/* Move checkout/coupon area into right column */
body.woocommerce-cart .cart_totals .wc-proceed-to-checkout{
    grid-column:2 !important;
    grid-row:3 !important;
    width:100% !important;
    margin:24px 0 0 !important;
    padding:0 !important;
    align-self:start !important;
}

body.woocommerce-cart .cart_totals .wc-proceed-to-checkout a.checkout-button{
    width:100% !important;
    min-height:62px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    margin:0 !important;
    padding:0 22px !important;
    border:0 !important;
    border-radius:14px !important;
    background:var(--pmm-grad) !important;
    color:#111317 !important;
    box-shadow:0 15px 34px rgba(236,0,140,.17) !important;
    font-size:12px !important;
    line-height:1 !important;
    font-weight:950 !important;
    letter-spacing:.7px !important;
    text-transform:uppercase !important;
    transition:.2s ease;
}

body.woocommerce-cart .cart_totals .wc-proceed-to-checkout a.checkout-button:after{
    content:"→";
    margin-left:11px;
    font-size:18px;
}

body.woocommerce-cart .cart_totals .wc-proceed-to-checkout a.checkout-button:hover{
    transform:translateY(-2px);
    box-shadow:0 21px 44px rgba(236,0,140,.25) !important;
}

/* coupon module from theme */
body.woocommerce-cart .cart_totals .coupon{
    grid-column:2 !important;
    width:100% !important;
}

body.woocommerce-cart .cart_totals .coupon input{
    min-height:48px !important;
    border:1px solid #dfe1e5 !important;
    border-radius:11px !important;
}

body.woocommerce-cart .cart_totals .coupon button{
    min-height:48px !important;
    border:0 !important;
    border-radius:11px !important;
    background:#17191d !important;
    color:#fff !important;
    font-weight:900 !important;
}

/* notices */
body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .woocommerce-error{
    margin:0 0 22px !important;
    padding:16px 18px 16px 20px !important;
    border:1px solid #e1e3e6 !important;
    border-left:4px solid #6755df !important;
    border-radius:14px !important;
    background:#fff !important;
    color:#42474f !important;
    box-shadow:none !important;
}

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

/* =========================================================
   TRUST STRIP
========================================================= */
.pmm-cart-trust{
    clear:both;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;
    padding-top:28px;
}

.pmm-cart-trust-item{
    display:flex;
    align-items:flex-start;
    gap:13px;
    padding:18px;
    border:1px solid #e5e7e9;
    border-radius:17px;
    background:#fff;
    color:#6a7078;
    font-size:12px;
    line-height:1.55;
}

.pmm-cart-trust-item strong{
    display:block;
    margin-bottom:3px;
    color:#17191d;
    font-size:10px;
    font-weight:950;
    letter-spacing:1px;
}

.pmm-cart-trust-icon{
    width:34px;
    height:34px;
    flex:0 0 34px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:10px;
    background:
        linear-gradient(#fff,#fff) padding-box,
        var(--pmm-grad) border-box;
    border:2px solid transparent;
    color:#17191d;
    font-weight:950;
}

/* =========================================================
   TABLET
========================================================= */
@media(max-width:1050px){
    body.woocommerce-cart th.product-thumbnail,
    body.woocommerce-cart td.product-thumbnail{
        width:150px !important;
        min-width:150px !important;
    }

    body.woocommerce-cart .product-thumbnail a{
        width:125px !important;
        height:125px !important;
    }

    body.woocommerce-cart .product-thumbnail img,
    body.woocommerce-cart .product-thumbnail a img,
    body.woocommerce-cart td.product-thumbnail img{
        width:108px !important;
        min-width:108px !important;
        max-width:108px !important;
        height:108px !important;
        min-height:108px !important;
        max-height:108px !important;
    }

    body.woocommerce-cart th.product-name,
    body.woocommerce-cart td.product-name{
        min-width:260px !important;
    }

    body.woocommerce-cart .cart_totals{
        grid-template-columns:1fr !important;
    }

    body.woocommerce-cart .cart_totals table,
    body.woocommerce-cart .cart_totals .coupon,
    body.woocommerce-cart .cart_totals .wc-proceed-to-checkout{
        grid-column:1 !important;
        grid-row:auto !important;
    }

    .pmm-cart-trust{
        grid-template-columns:1fr;
    }
}

/* =========================================================
   MOBILE
========================================================= */
@media(max-width:760px){
    body.woocommerce-cart .woocommerce{
        width:calc(100% - 24px) !important;
        padding:28px 0 60px !important;
    }

    .pmm-cart-hero{
        padding:30px 22px 26px;
        border-radius:20px;
    }

    .pmm-cart-hero-row{
        align-items:flex-start;
        flex-direction:column;
        gap:19px;
    }

    .pmm-cart-hero h1{
        font-size:52px !important;
        letter-spacing:-3px !important;
    }

    .pmm-cart-continue{
        width:100%;
    }

    body.woocommerce-cart table.shop_table_responsive thead{
        display:none !important;
    }

    body.woocommerce-cart table.shop_table_responsive tr{
        display:block !important;
        padding:18px !important;
        border-bottom:1px solid #ececee !important;
    }

    body.woocommerce-cart table.shop_table_responsive tr td{
        display:flex !important;
        align-items:center !important;
        justify-content:space-between !important;
        gap:18px !important;
        width:100% !important;
        min-width:0 !important;
        padding:10px 0 !important;
        border:0 !important;
        text-align:right !important;
    }

    body.woocommerce-cart table.shop_table_responsive tr td:before{
        color:#8a8f97 !important;
        font-size:10px !important;
        font-weight:900 !important;
        letter-spacing:.8px !important;
        text-transform:uppercase !important;
    }

    body.woocommerce-cart table.shop_table_responsive td.product-thumbnail{
        display:block !important;
        width:100% !important;
        padding:0 0 17px !important;
    }

    body.woocommerce-cart table.shop_table_responsive td.product-thumbnail:before,
    body.woocommerce-cart table.shop_table_responsive td.product-remove:before{
        display:none !important;
    }

    body.woocommerce-cart .product-thumbnail a{
        width:170px !important;
        height:170px !important;
        margin:0 auto !important;
    }

    body.woocommerce-cart .product-thumbnail img,
    body.woocommerce-cart .product-thumbnail a img,
    body.woocommerce-cart td.product-thumbnail img{
        width:150px !important;
        min-width:150px !important;
        max-width:150px !important;
        height:150px !important;
        min-height:150px !important;
        max-height:150px !important;
    }

    body.woocommerce-cart td.product-name{
        display:block !important;
        width:100% !important;
        text-align:left !important;
    }

    body.woocommerce-cart td.product-name:before{
        display:none !important;
    }

    body.woocommerce-cart .pmm-cart-product-name,
    body.woocommerce-cart .product-name > a{
        max-width:none !important;
        font-size:18px !important;
    }

    body.woocommerce-cart .product-name dl.variation,
    body.woocommerce-cart .product-name .variation{
        grid-template-columns:1fr !important;
        row-gap:2px !important;
    }

    body.woocommerce-cart table.shop_table td.actions{
        display:block !important;
        padding:16px !important;
    }

    body.woocommerce-cart table.shop_table td.actions .coupon{
        width:100% !important;
        flex-direction:column !important;
    }

    body.woocommerce-cart table.shop_table td.actions input,
    body.woocommerce-cart table.shop_table td.actions button{
        width:100% !important;
        margin:0 0 8px !important;
    }

    body.woocommerce-cart .cart_totals{
        padding:0 18px 20px !important;
        border-radius:20px !important;
    }

    body.woocommerce-cart .cart_totals:before,
    body.woocommerce-cart .cart_totals h2{
        margin-left:-18px !important;
        margin-right:-18px !important;
    }

    body.woocommerce-cart .cart_totals h2{
        padding-left:18px !important;
        padding-right:18px !important;
    }
}


/* =========================================================
   v1.2.0 — FULL WIDTH CART + COUPON CALLOUT
========================================================= */

/*
 * Force WooCommerce/theme layouts to give the cart form the same
 * full width as the Cart Totals card.
 */
body.woocommerce-cart .woocommerce{
    display:block !important;
}

body.woocommerce-cart .woocommerce > form.woocommerce-cart-form,
body.woocommerce-cart form.woocommerce-cart-form,
body.woocommerce-cart .woocommerce-cart-form{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    flex:0 0 100% !important;
    float:none !important;
    clear:both !important;
    margin:0 !important;
    padding:0 !important;
}

body.woocommerce-cart .woocommerce-cart-form > table.shop_table,
body.woocommerce-cart .woocommerce-cart-form table.shop_table,
body.woocommerce-cart table.shop_table.shop_table_responsive.cart{
    display:table !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
}

body.woocommerce-cart .woocommerce > .cart-collaterals,
body.woocommerce-cart .cart-collaterals{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    flex:0 0 100% !important;
    float:none !important;
    clear:both !important;
    margin:28px 0 0 !important;
}

/* Keep all primary branded cards on the exact same footprint. */
body.woocommerce-cart .pmm-cart-hero,
body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-cart .cart-collaterals,
body.woocommerce-cart .pmm-cart-trust{
    width:100% !important;
    max-width:none !important;
}

/* Give the product row a little more visual breathing room now that it is full-width. */
body.woocommerce-cart table.shop_table tbody td{
    padding-top:28px !important;
    padding-bottom:28px !important;
}

body.woocommerce-cart th.product-thumbnail,
body.woocommerce-cart td.product-thumbnail{
    width:195px !important;
    min-width:195px !important;
}

body.woocommerce-cart .product-thumbnail a{
    width:162px !important;
    height:162px !important;
}

body.woocommerce-cart .product-thumbnail img,
body.woocommerce-cart .product-thumbnail a img,
body.woocommerce-cart td.product-thumbnail img{
    width:142px !important;
    min-width:142px !important;
    max-width:142px !important;
    height:142px !important;
    min-height:142px !important;
    max-height:142px !important;
}

/* =========================================================
   COUPON — MAKE IT FEEL IMPORTANT
========================================================= */

/* Theme/Woo coupon container when present. */
body.woocommerce-cart .cart_totals .coupon,
body.woocommerce-cart .cart_totals .pmm-coupon-zone{
    position:relative !important;
    overflow:hidden !important;
    width:100% !important;
    margin:24px 0 14px !important;
    padding:20px !important;

    border:1px solid rgba(103,85,223,.18) !important;
    border-radius:17px !important;

    background:
        radial-gradient(circle at 8% 15%,rgba(0,174,239,.09),transparent 34%),
        radial-gradient(circle at 92% 85%,rgba(236,0,140,.08),transparent 36%),
        #f8f8fb !important;

    box-shadow:0 8px 24px rgba(17,20,24,.04) !important;
}

body.woocommerce-cart .cart_totals .coupon:before,
body.woocommerce-cart .cart_totals .pmm-coupon-zone:before{
    content:"PROMO CODE";
    display:block !important;
    margin:0 0 5px !important;

    color:#17191d !important;
    font-size:10px !important;
    line-height:1 !important;
    font-weight:950 !important;
    letter-spacing:1.35px !important;
    text-transform:uppercase !important;
}

body.woocommerce-cart .cart_totals .coupon:after,
body.woocommerce-cart .cart_totals .pmm-coupon-zone:after{
    content:"Got a coupon? Apply it before checkout.";
    display:block !important;
    margin:0 0 14px !important;
    color:#747a83 !important;
    font-size:12px !important;
    line-height:1.45 !important;
}

/* If the theme prints a plain "Have a coupon?" line, style it as a callout. */
body.woocommerce-cart .cart_totals .pmm-coupon-label{
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    gap:9px !important;
    width:100% !important;
    margin:24px 0 14px !important;
    padding:15px 17px !important;

    border:1px dashed rgba(103,85,223,.35) !important;
    border-radius:14px !important;

    background:
        linear-gradient(90deg,rgba(0,174,239,.07),rgba(236,0,140,.06),rgba(244,213,0,.07)) !important;

    color:#24272c !important;
    font-size:13px !important;
    line-height:1.3 !important;
    font-weight:850 !important;
}

body.woocommerce-cart .cart_totals .pmm-coupon-label:before{
    content:"✦";
    width:28px;
    height:28px;
    flex:0 0 28px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:9px;
    background:
        linear-gradient(#fff,#fff) padding-box,
        var(--pmm-grad) border-box;
    border:2px solid transparent;
    color:#17191d;
    font-size:12px;
}

/* Coupon input/button */
body.woocommerce-cart .cart_totals .coupon input,
body.woocommerce-cart .cart_totals .coupon input.input-text,
body.woocommerce-cart .cart_totals .pmm-coupon-zone input{
    width:calc(100% - 112px) !important;
    min-height:50px !important;
    margin:0 !important;
    padding:0 14px !important;
    border:1px solid #dadde2 !important;
    border-radius:11px !important;
    background:#fff !important;
    color:#17191d !important;
    box-shadow:none !important;
}

body.woocommerce-cart .cart_totals .coupon button,
body.woocommerce-cart .cart_totals .pmm-coupon-zone button{
    width:102px !important;
    min-height:50px !important;
    margin:0 0 0 6px !important;
    padding:0 12px !important;
    border:0 !important;
    border-radius:11px !important;
    background:#17191d !important;
    color:#fff !important;
    font-size:10px !important;
    font-weight:950 !important;
    letter-spacing:.8px !important;
    text-transform:uppercase !important;
}

/* Keep checkout visually dominant under/next to coupon area. */
body.woocommerce-cart .cart_totals .wc-proceed-to-checkout{
    margin-top:16px !important;
}

/* Tablet/mobile corrections after the desktop full-width override. */
@media(max-width:1050px){
    body.woocommerce-cart th.product-thumbnail,
    body.woocommerce-cart td.product-thumbnail{
        width:160px !important;
        min-width:160px !important;
    }

    body.woocommerce-cart .product-thumbnail a{
        width:132px !important;
        height:132px !important;
    }

    body.woocommerce-cart .product-thumbnail img,
    body.woocommerce-cart .product-thumbnail a img,
    body.woocommerce-cart td.product-thumbnail img{
        width:114px !important;
        min-width:114px !important;
        max-width:114px !important;
        height:114px !important;
        min-height:114px !important;
        max-height:114px !important;
    }
}

@media(max-width:760px){
    body.woocommerce-cart .cart_totals .coupon input,
    body.woocommerce-cart .cart_totals .coupon input.input-text,
    body.woocommerce-cart .cart_totals .pmm-coupon-zone input,
    body.woocommerce-cart .cart_totals .coupon button,
    body.woocommerce-cart .cart_totals .pmm-coupon-zone button{
        width:100% !important;
        margin:7px 0 0 !important;
    }

    body.woocommerce-cart .product-thumbnail a{
        width:170px !important;
        height:170px !important;
    }

    body.woocommerce-cart .product-thumbnail img,
    body.woocommerce-cart .product-thumbnail a img,
    body.woocommerce-cart td.product-thumbnail img{
        width:150px !important;
        min-width:150px !important;
        max-width:150px !important;
        height:150px !important;
        min-height:150px !important;
        max-height:150px !important;
    }
}


/* =========================================================
   v1.3.0 — HARD WIDTH LOCK
   The active theme constrains the Woo cart form separately.
   JS now measures the branded hero and applies that exact width.
========================================================= */

body.woocommerce-cart .woocommerce,
body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-cart .woocommerce-cart-form > table,
body.woocommerce-cart .woocommerce-cart-form table.shop_table{
    box-sizing:border-box !important;
}

body.woocommerce-cart .woocommerce{
    overflow:visible !important;
}

body.woocommerce-cart .woocommerce-cart-form{
    max-width:none !important;
    min-width:0 !important;
    float:none !important;
    clear:both !important;
}

body.woocommerce-cart .woocommerce-cart-form table.shop_table{
    max-width:none !important;
    min-width:0 !important;
    float:none !important;
}

/* Extra breathing room because the product card now truly spans the full row. */
@media(min-width:1060px){
    body.woocommerce-cart th.product-name,
    body.woocommerce-cart td.product-name{
        min-width:440px !important;
    }

    body.woocommerce-cart .pmm-cart-product-name,
    body.woocommerce-cart .product-name > a{
        max-width:620px !important;
    }
}


/* =========================================================
   v1.3.1 — SIMPLE COUPON FIELD
   No "Promo Code" callout. No "Have a coupon?" callout.
   Just the real WooCommerce coupon field + Apply button.
========================================================= */

/* Hide theme/helper prompt text entirely. */
body.woocommerce-cart .cart_totals .pmm-coupon-label,
body.woocommerce-cart .cart_totals .woocommerce-form-coupon-toggle,
body.woocommerce-cart .cart_totals .showcoupon{
    display:none !important;
}

/* Remove the decorative labels added in v1.2. */
body.woocommerce-cart .cart_totals .coupon:before,
body.woocommerce-cart .cart_totals .coupon:after,
body.woocommerce-cart .cart_totals .pmm-coupon-zone:before,
body.woocommerce-cart .cart_totals .pmm-coupon-zone:after,
body.woocommerce-cart .cart_totals .pmm-coupon-direct:before,
body.woocommerce-cart .cart_totals .pmm-coupon-direct:after{
    content:none !important;
    display:none !important;
}

/* Make the actual WooCommerce coupon controls visible and clean. */
body.woocommerce-cart .cart_totals .coupon,
body.woocommerce-cart .cart_totals .pmm-coupon-zone,
body.woocommerce-cart .cart_totals .pmm-coupon-direct,
body.woocommerce-cart .cart_totals form.checkout_coupon,
body.woocommerce-cart .cart_totals form.woocommerce-form-coupon{
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    flex-wrap:nowrap !important;
    gap:10px !important;

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

    margin:24px 0 0 !important;
    padding:0 !important;

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

    background:transparent !important;
    box-shadow:none !important;

    overflow:visible !important;
}

/* Remove extra paragraph spacing if Woo/theme wraps the fields. */
body.woocommerce-cart .cart_totals .coupon p,
body.woocommerce-cart .cart_totals .pmm-coupon-direct p,
body.woocommerce-cart .cart_totals form.checkout_coupon p,
body.woocommerce-cart .cart_totals form.woocommerce-form-coupon p{
    margin:0 !important;
    padding:0 !important;
}

/* Coupon text box */
body.woocommerce-cart .cart_totals input[name="coupon_code"],
body.woocommerce-cart .cart_totals .coupon input.input-text,
body.woocommerce-cart .cart_totals .pmm-coupon-direct input{
    flex:1 1 auto !important;

    width:auto !important;
    min-width:0 !important;
    min-height:50px !important;

    margin:0 !important;
    padding:0 15px !important;

    border:1px solid #d9dce1 !important;
    border-radius:8px !important;

    background:#ffffff !important;
    color:#17191d !important;

    font-size:13px !important;
    font-weight:650 !important;

    box-shadow:none !important;
    outline:none !important;
}

body.woocommerce-cart .cart_totals input[name="coupon_code"]:focus{
    border-color:#6755df !important;
    box-shadow:0 0 0 3px rgba(103,85,223,.10) !important;
}

/* Apply button — rectangular, not pill-shaped. */
body.woocommerce-cart .cart_totals button[name="apply_coupon"],
body.woocommerce-cart .cart_totals .coupon button,
body.woocommerce-cart .cart_totals .pmm-coupon-direct button{
    flex:0 0 112px !important;

    width:112px !important;
    min-width:112px !important;
    min-height:50px !important;

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

    border:1px solid #17191d !important;
    border-radius:8px !important;

    background:#17191d !important;
    color:#ffffff !important;

    font-size:10px !important;
    line-height:1 !important;
    font-weight:950 !important;
    letter-spacing:.9px !important;
    text-transform:uppercase !important;

    box-shadow:none !important;

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

body.woocommerce-cart .cart_totals button[name="apply_coupon"]:hover,
body.woocommerce-cart .cart_totals .coupon button:hover,
body.woocommerce-cart .cart_totals .pmm-coupon-direct button:hover{
    transform:translateY(-1px) !important;
    background:#272a2f !important;
}

/* Keep coupon + checkout visually aligned in the right side of Cart Totals. */
body.woocommerce-cart .cart_totals .pmm-coupon-direct,
body.woocommerce-cart .cart_totals .coupon,
body.woocommerce-cart .cart_totals form.checkout_coupon,
body.woocommerce-cart .cart_totals form.woocommerce-form-coupon{
    grid-column:2 !important;
    align-self:start !important;
}

body.woocommerce-cart .cart_totals .wc-proceed-to-checkout{
    grid-column:2 !important;
    margin-top:14px !important;
}

/* On narrower layouts, coupon stacks naturally above checkout. */
@media(max-width:1050px){
    body.woocommerce-cart .cart_totals .pmm-coupon-direct,
    body.woocommerce-cart .cart_totals .coupon,
    body.woocommerce-cart .cart_totals form.checkout_coupon,
    body.woocommerce-cart .cart_totals form.woocommerce-form-coupon,
    body.woocommerce-cart .cart_totals .wc-proceed-to-checkout{
        grid-column:1 !important;
    }
}

@media(max-width:560px){
    body.woocommerce-cart .cart_totals .coupon,
    body.woocommerce-cart .cart_totals .pmm-coupon-direct,
    body.woocommerce-cart .cart_totals form.checkout_coupon,
    body.woocommerce-cart .cart_totals form.woocommerce-form-coupon{
        flex-direction:column !important;
        align-items:stretch !important;
        gap:8px !important;
    }

    body.woocommerce-cart .cart_totals input[name="coupon_code"],
    body.woocommerce-cart .cart_totals .coupon input.input-text,
    body.woocommerce-cart .cart_totals .pmm-coupon-direct input,
    body.woocommerce-cart .cart_totals button[name="apply_coupon"],
    body.woocommerce-cart .cart_totals .coupon button,
    body.woocommerce-cart .cart_totals .pmm-coupon-direct button{
        width:100% !important;
        min-width:0 !important;
        flex:1 1 auto !important;
    }
}


/* =========================================================
   v1.3.2 — BUTTON CONSISTENCY + PRODUCT BAR + LARGER HEADERS
========================================================= */

/* One button language across the cart page, matching the PMM header CTA. */
body.woocommerce-cart{
    --pmm-button-radius:14px;
    --pmm-button-height:54px;
}

/* Keep Shopping */
body.woocommerce-cart .pmm-cart-continue{
    min-height:var(--pmm-button-height) !important;
    padding:0 22px !important;
    border-radius:var(--pmm-button-radius) !important;
    border:1px solid #dfe1e5 !important;
    background:#ffffff !important;
    color:#17191d !important;
    font-size:11px !important;
    font-weight:950 !important;
    letter-spacing:.75px !important;
    box-shadow:0 8px 22px rgba(17,20,24,.05) !important;
}

/* Coupon Apply */
body.woocommerce-cart .cart_totals button[name="apply_coupon"],
body.woocommerce-cart .cart_totals .coupon button,
body.woocommerce-cart .cart_totals .pmm-coupon-direct button{
    flex:0 0 118px !important;
    width:118px !important;
    min-width:118px !important;
    min-height:var(--pmm-button-height) !important;
    height:var(--pmm-button-height) !important;

    margin:0 !important;
    padding:0 18px !important;

    border:0 !important;
    border-radius:var(--pmm-button-radius) !important;

    background:var(--pmm-grad) !important;
    color:#111317 !important;

    font-size:10px !important;
    line-height:1 !important;
    font-weight:950 !important;
    letter-spacing:.85px !important;
    text-transform:uppercase !important;

    box-shadow:0 10px 24px rgba(236,0,140,.14) !important;
}

/* Coupon input uses the same radius/height family. */
body.woocommerce-cart .cart_totals input[name="coupon_code"],
body.woocommerce-cart .cart_totals .coupon input.input-text,
body.woocommerce-cart .cart_totals .pmm-coupon-direct input{
    min-height:var(--pmm-button-height) !important;
    height:var(--pmm-button-height) !important;
    border-radius:var(--pmm-button-radius) !important;
}

/* Proceed to Checkout */
body.woocommerce-cart .cart_totals .wc-proceed-to-checkout a.checkout-button{
    min-height:var(--pmm-button-height) !important;
    height:var(--pmm-button-height) !important;
    border-radius:var(--pmm-button-radius) !important;
    font-size:11px !important;
    font-weight:950 !important;
    letter-spacing:.8px !important;
}

/* Quantity control corners should match the overall visual language. */
body.woocommerce-cart .quantity{
    border-radius:var(--pmm-button-radius) !important;
}

/* =========================================================
   FULL CMYK BAR ABOVE PRODUCTS
========================================================= */

/* Create one clean CMYK strip across the full product card. */
body.woocommerce-cart .woocommerce-cart-form{
    position:relative !important;
    padding-top:5px !important;
    overflow:visible !important;
}

body.woocommerce-cart .woocommerce-cart-form:before{
    content:"";
    position:absolute;
    z-index:4;
    top:0;
    left:0;
    right:0;
    height:5px;

    border-radius:24px 24px 0 0;

    background:linear-gradient(
        90deg,
        #00aeef 0%,
        #6755df 25%,
        #ec008c 52%,
        #ff5c24 75%,
        #f4d500 100%
    );
}

/* Prevent the dark table header from hiding the bar. */
body.woocommerce-cart .woocommerce-cart-form table.shop_table{
    overflow:hidden !important;
}

/* =========================================================
   LARGER PRODUCT / PRICE / QUANTITY / SUBTOTAL HEADERS
========================================================= */

body.woocommerce-cart table.shop_table thead th{
    padding-top:20px !important;
    padding-bottom:20px !important;

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

    font-weight:950 !important;
    letter-spacing:1.15px !important;
}

/* Make numeric columns easier to scan too. */
body.woocommerce-cart .product-price,
body.woocommerce-cart .product-subtotal{
    font-size:17px !important;
    font-weight:900 !important;
}

body.woocommerce-cart .quantity input.qty{
    font-size:16px !important;
    font-weight:950 !important;
}

body.woocommerce-cart .quantity .minus,
body.woocommerce-cart .quantity .plus,
body.woocommerce-cart .quantity button{
    font-size:17px !important;
    font-weight:950 !important;
}

/* Keep coupon row balanced on desktop. */
body.woocommerce-cart .cart_totals .coupon,
body.woocommerce-cart .cart_totals .pmm-coupon-direct,
body.woocommerce-cart .cart_totals form.checkout_coupon,
body.woocommerce-cart .cart_totals form.woocommerce-form-coupon{
    gap:10px !important;
}

@media(max-width:560px){
    body.woocommerce-cart .cart_totals button[name="apply_coupon"],
    body.woocommerce-cart .cart_totals .coupon button,
    body.woocommerce-cart .cart_totals .pmm-coupon-direct button{
        width:100% !important;
        min-width:0 !important;
        flex:1 1 auto !important;
    }
}


/* =========================================================
   v1.3.3 — APPLY BUTTON SHAPE FIX
========================================================= */

/*
 * Astra/WooCommerce can apply a large pill radius to .button.
 * These selectors deliberately target the real coupon Apply button
 * more specifically so it matches the PMM header/checkout button family.
 */
body.woocommerce-cart .cart_totals button[name="apply_coupon"],
body.woocommerce-cart .cart_totals button.button[name="apply_coupon"],
body.woocommerce-cart .cart_totals .coupon button[name="apply_coupon"],
body.woocommerce-cart .cart_totals .coupon button.button[name="apply_coupon"],
body.woocommerce-cart .cart_totals .pmm-coupon-direct button[name="apply_coupon"],
body.woocommerce-cart .cart_totals .pmm-coupon-direct button.button[name="apply_coupon"],
body.woocommerce-cart .cart_totals form.checkout_coupon button[name="apply_coupon"],
body.woocommerce-cart .cart_totals form.woocommerce-form-coupon button[name="apply_coupon"]{
    -webkit-appearance:none !important;
    appearance:none !important;

    min-height:54px !important;
    height:54px !important;

    width:118px !important;
    min-width:118px !important;
    max-width:118px !important;
    flex:0 0 118px !important;

    margin:0 !important;
    padding:0 18px !important;

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

    background:linear-gradient(
        90deg,
        #00aeef 0%,
        #6755df 25%,
        #ec008c 52%,
        #ff5c24 75%,
        #f4d500 100%
    ) !important;

    color:#111317 !important;

    font-family:Inter,Arial,Helvetica,sans-serif !important;
    font-size:10px !important;
    line-height:1 !important;
    font-weight:950 !important;
    letter-spacing:.85px !important;
    text-transform:uppercase !important;

    box-shadow:0 10px 24px rgba(236,0,140,.14) !important;
    overflow:hidden !important;
}

body.woocommerce-cart .cart_totals button[name="apply_coupon"]:hover,
body.woocommerce-cart .cart_totals button.button[name="apply_coupon"]:hover{
    transform:translateY(-1px) !important;
    filter:brightness(1.02) !important;
}

/* Keep the coupon field visually paired with the Apply button. */
body.woocommerce-cart .cart_totals input[name="coupon_code"],
body.woocommerce-cart .cart_totals .coupon input.input-text,
body.woocommerce-cart .cart_totals .pmm-coupon-direct input{
    border-radius:10px !important;
}

@media(max-width:560px){
    body.woocommerce-cart .cart_totals button[name="apply_coupon"],
    body.woocommerce-cart .cart_totals button.button[name="apply_coupon"]{
        width:100% !important;
        min-width:0 !important;
        max-width:none !important;
        flex:1 1 auto !important;
    }
}


/* =========================================================
   v1.3.4 — POLISH FIXES
   1) Clip CMYK product bar to card
   2) Make APPLY match the button family
   3) Fully fill +/- quantity cells
========================================================= */

/* ---------------------------------------------------------
   CMYK PRODUCT BAR — KEEP IT INSIDE THE CARD
--------------------------------------------------------- */
body.woocommerce-cart .woocommerce-cart-form{
    border-radius:24px !important;
}

body.woocommerce-cart .woocommerce-cart-form:before{
    left:1px !important;
    right:1px !important;
    width:auto !important;
    max-width:calc(100% - 2px) !important;
    height:5px !important;

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

    /* Stops the gradient from sticking out past the rounded edge. */
    clip-path:inset(0 round 23px 23px 0 0) !important;
}

body.woocommerce-cart .woocommerce-cart-form table.shop_table{
    border-radius:24px !important;
    overflow:hidden !important;
}

/* ---------------------------------------------------------
   APPLY BUTTON — NOT A PILL
--------------------------------------------------------- */
body.woocommerce-cart .cart_totals button[name="apply_coupon"],
body.woocommerce-cart .cart_totals button.button[name="apply_coupon"],
body.woocommerce-cart .cart_totals .coupon button[name="apply_coupon"],
body.woocommerce-cart .cart_totals .coupon button.button[name="apply_coupon"],
body.woocommerce-cart .cart_totals .pmm-coupon-direct button[name="apply_coupon"],
body.woocommerce-cart .cart_totals .pmm-coupon-direct button.button[name="apply_coupon"],
body.woocommerce-cart .cart_totals form.checkout_coupon button[name="apply_coupon"],
body.woocommerce-cart .cart_totals form.woocommerce-form-coupon button[name="apply_coupon"]{
    -webkit-appearance:none !important;
    appearance:none !important;

    min-height:54px !important;
    height:54px !important;

    width:118px !important;
    min-width:118px !important;
    max-width:118px !important;
    flex:0 0 118px !important;

    margin:0 !important;
    padding:0 18px !important;

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

    background:linear-gradient(
        90deg,
        #00aeef 0%,
        #6755df 25%,
        #ec008c 52%,
        #ff5c24 75%,
        #f4d500 100%
    ) !important;

    color:#111317 !important;

    font-family:Inter,Arial,Helvetica,sans-serif !important;
    font-size:10px !important;
    line-height:1 !important;
    font-weight:950 !important;
    letter-spacing:.85px !important;
    text-transform:uppercase !important;

    box-shadow:0 10px 24px rgba(236,0,140,.14) !important;
    overflow:hidden !important;
}

/* Coupon field pairs cleanly with Apply. */
body.woocommerce-cart .cart_totals input[name="coupon_code"],
body.woocommerce-cart .cart_totals .coupon input.input-text,
body.woocommerce-cart .cart_totals .pmm-coupon-direct input{
    min-height:54px !important;
    height:54px !important;
    border-radius:10px !important;
}

/* ---------------------------------------------------------
   QUANTITY CONTROL — FULLY FILLED +/- CELLS
--------------------------------------------------------- */
body.woocommerce-cart .quantity{
    display:inline-flex !important;
    align-items:stretch !important;

    height:50px !important;
    min-height:50px !important;

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

    overflow:hidden !important;

    border:1px solid #dde0e4 !important;
    border-radius:12px !important;

    background:#ffffff !important;
}

/* Number field */
body.woocommerce-cart .quantity input.qty{
    display:block !important;

    width:60px !important;
    min-width:60px !important;
    height:50px !important;
    min-height:50px !important;

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

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

    background:#ffffff !important;
    color:#17191d !important;

    font-size:16px !important;
    line-height:50px !important;
    font-weight:950 !important;
    text-align:center !important;

    box-shadow:none !important;
}

/* Both +/- cells */
body.woocommerce-cart .quantity .minus,
body.woocommerce-cart .quantity .plus,
body.woocommerce-cart .quantity button.minus,
body.woocommerce-cart .quantity button.plus,
body.woocommerce-cart .quantity input.minus,
body.woocommerce-cart .quantity input.plus{
    -webkit-appearance:none !important;
    appearance:none !important;

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

    width:44px !important;
    min-width:44px !important;
    max-width:44px !important;
    height:50px !important;
    min-height:50px !important;
    max-height:50px !important;

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

    border:0 !important;

    background:#f2f2f0 !important;
    color:#17191d !important;

    font-size:19px !important;
    line-height:1 !important;
    font-weight:950 !important;

    box-shadow:none !important;
}

/* Force the grey fill right into each rounded edge. */
body.woocommerce-cart .quantity .minus,
body.woocommerce-cart .quantity button.minus,
body.woocommerce-cart .quantity input.minus{
    border-radius:11px 0 0 11px !important;
}

body.woocommerce-cart .quantity .plus,
body.woocommerce-cart .quantity button.plus,
body.woocommerce-cart .quantity input.plus{
    border-radius:0 11px 11px 0 !important;
}

/* Remove theme pseudo-elements/backgrounds that can leave gaps. */
body.woocommerce-cart .quantity .minus:before,
body.woocommerce-cart .quantity .minus:after,
body.woocommerce-cart .quantity .plus:before,
body.woocommerce-cart .quantity .plus:after{
    background:transparent !important;
    box-shadow:none !important;
}

/* Keep mobile Apply full-width. */
@media(max-width:560px){
    body.woocommerce-cart .cart_totals button[name="apply_coupon"],
    body.woocommerce-cart .cart_totals button.button[name="apply_coupon"]{
        width:100% !important;
        min-width:0 !important;
        max-width:none !important;
        flex:1 1 auto !important;
    }
}


/* =========================================================
   v1.3.5 — CMYK PRODUCT BAR OVERHANG FIX
========================================================= */

/*
 * Stop using the floating pseudo-element for the product stripe.
 * The active theme lets that pseudo-element extend outside the
 * rounded product card. Instead, the form itself owns the stripe
 * and clips it perfectly to the card width/radius.
 */
body.woocommerce-cart .woocommerce-cart-form{
    position:relative !important;

    padding-top:5px !important;

    border-radius:24px !important;

    overflow:hidden !important;

    background:
        linear-gradient(
            90deg,
            #00aeef 0%,
            #6755df 25%,
            #ec008c 52%,
            #ff5c24 75%,
            #f4d500 100%
        ) top / 100% 5px no-repeat !important;

    box-shadow:0 14px 40px rgba(17,20,24,.05) !important;
}

/* Remove the old line that was hanging past the right edge. */
body.woocommerce-cart .woocommerce-cart-form:before{
    content:none !important;
    display:none !important;
}

/*
 * Let the form provide the outside shadow. This prevents the
 * table shadow from being clipped by the rounded form wrapper.
 */
body.woocommerce-cart .woocommerce-cart-form table.shop_table{
    margin:0 !important;

    border-radius:19px 19px 24px 24px !important;

    box-shadow:none !important;

    overflow:hidden !important;
}

/* Keep the dark header flush directly below the CMYK line. */
body.woocommerce-cart .woocommerce-cart-form table.shop_table thead th:first-child{
    border-top-left-radius:19px !important;
}

body.woocommerce-cart .woocommerce-cart-form table.shop_table thead th:last-child{
    border-top-right-radius:19px !important;
}


/* =========================================================
   v1.3.6 — ROBUST PRODUCT GRADIENT BAR
   Uses a real DOM element instead of a pseudo-element.
========================================================= */

/* Remove all older product stripe techniques. */
body.woocommerce-cart .woocommerce-cart-form{
    position:relative !important;
    padding-top:0 !important;
    border-radius:24px !important;
    overflow:hidden !important;
    background:#fff !important;
    box-shadow:0 14px 40px rgba(17,20,24,.05) !important;
}

body.woocommerce-cart .woocommerce-cart-form:before,
body.woocommerce-cart .woocommerce-cart-form:after{
    content:none !important;
    display:none !important;
}

/* Real stripe inserted by JS */
body.woocommerce-cart .pmm-product-gradient-bar{
    display:block !important;
    width:100% !important;
    height:5px !important;
    min-height:5px !important;
    margin:0 !important;
    padding:0 !important;
    flex:0 0 5px !important;

    background:linear-gradient(
        90deg,
        #00aeef 0%,
        #6755df 25%,
        #ec008c 52%,
        #ff5c24 75%,
        #f4d500 100%
    ) !important;

    border-radius:24px 24px 0 0 !important;
    overflow:hidden !important;
}

/* Table sits directly below the stripe */
body.woocommerce-cart .woocommerce-cart-form table.shop_table{
    margin:0 !important;
    border-top:0 !important;
    border-radius:0 0 24px 24px !important;
    box-shadow:none !important;
    overflow:hidden !important;
}

/* Dark header should start flush under the color bar */
body.woocommerce-cart .woocommerce-cart-form table.shop_table thead,
body.woocommerce-cart .woocommerce-cart-form table.shop_table thead tr,
body.woocommerce-cart .woocommerce-cart-form table.shop_table thead th{
    border-top:0 !important;
    border-radius:0 !important;
}


/* =========================================================
   v1.3.7 — MATCH PRODUCT STRIPE TO HERO + CART TOTALS
========================================================= */

/*
 * Hero and Cart Totals get their rounded stripe by clipping a
 * full-width straight gradient inside the rounded parent card.
 * Do the exact same thing for the product card.
 */
body.woocommerce-cart .woocommerce-cart-form{
    border-radius:24px !important;
    overflow:hidden !important;
}

/* Let the parent card create the rounded ends — not the stripe itself. */
body.woocommerce-cart .pmm-product-gradient-bar{
    width:100% !important;
    max-width:100% !important;
    height:5px !important;
    min-height:5px !important;

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

    border-radius:0 !important;

    background:linear-gradient(
        90deg,
        #00aeef 0%,
        #6755df 25%,
        #ec008c 52%,
        #ff5c24 75%,
        #f4d500 100%
    ) !important;

    box-shadow:none !important;
}

/* Dark header begins directly under the stripe, with no second radius competing with it. */
body.woocommerce-cart .woocommerce-cart-form table.shop_table{
    border-radius:0 0 24px 24px !important;
    border-top:0 !important;
}

body.woocommerce-cart .woocommerce-cart-form table.shop_table thead,
body.woocommerce-cart .woocommerce-cart-form table.shop_table thead tr,
body.woocommerce-cart .woocommerce-cart-form table.shop_table thead th{
    border-radius:0 !important;
}

/* Same visual edge treatment as Cart Totals. */
body.woocommerce-cart .woocommerce-cart-form{
    border:1px solid #e3e5e8 !important;
    border-top:0 !important;
    background:#fff !important;
}


/* =========================================================
   v1.3.8 — APPLY BUTTON MATCHES KEEP SHOPPING
========================================================= */

/*
 * Make the Apply button use the same visual language as the
 * "Keep Shopping" button: white background, dark text, light border,
 * subtle shadow, same height and radius.
 */
body.woocommerce-cart .cart_totals button[name="apply_coupon"],
body.woocommerce-cart .cart_totals button.button[name="apply_coupon"],
body.woocommerce-cart .cart_totals .coupon button[name="apply_coupon"],
body.woocommerce-cart .cart_totals .coupon button.button[name="apply_coupon"],
body.woocommerce-cart .cart_totals .pmm-coupon-direct button[name="apply_coupon"],
body.woocommerce-cart .cart_totals .pmm-coupon-direct button.button[name="apply_coupon"],
body.woocommerce-cart .cart_totals form.checkout_coupon button[name="apply_coupon"],
body.woocommerce-cart .cart_totals form.woocommerce-form-coupon button[name="apply_coupon"]{
    -webkit-appearance:none !important;
    appearance:none !important;

    width:120px !important;
    min-width:120px !important;
    max-width:120px !important;
    flex:0 0 120px !important;

    height:54px !important;
    min-height:54px !important;

    margin:0 !important;
    padding:0 18px !important;

    border:1px solid #dfe1e5 !important;
    border-radius:14px !important;

    background:#ffffff !important;
    color:#17191d !important;

    font-family:Inter,Arial,Helvetica,sans-serif !important;
    font-size:11px !important;
    line-height:1 !important;
    font-weight:950 !important;
    letter-spacing:.75px !important;
    text-transform:uppercase !important;

    box-shadow:0 8px 22px rgba(17,20,24,.05) !important;
    overflow:hidden !important;
    transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease !important;
}

body.woocommerce-cart .cart_totals button[name="apply_coupon"]:hover,
body.woocommerce-cart .cart_totals button.button[name="apply_coupon"]:hover,
body.woocommerce-cart .cart_totals .coupon button[name="apply_coupon"]:hover,
body.woocommerce-cart .cart_totals .coupon button.button[name="apply_coupon"]:hover,
body.woocommerce-cart .cart_totals .pmm-coupon-direct button[name="apply_coupon"]:hover,
body.woocommerce-cart .cart_totals .pmm-coupon-direct button.button[name="apply_coupon"]:hover{
    transform:translateY(-2px) !important;
    border-color:#17191d !important;
    background:#ffffff !important;
    color:#17191d !important;
    box-shadow:0 10px 24px rgba(17,20,24,.08) !important;
}

/* Keep mobile behavior clean. */
@media(max-width:560px){
    body.woocommerce-cart .cart_totals button[name="apply_coupon"],
    body.woocommerce-cart .cart_totals button.button[name="apply_coupon"]{
        width:100% !important;
        min-width:0 !important;
        max-width:none !important;
        flex:1 1 auto !important;
    }
}
