/* Cart design: scoped separately from checkout. */
body.blast-styled-cart { --blast-accent:#e6f03a; --blast-surface:#1c1c1c; --blast-border:#262626; --blast-copy:'Blast Barlow',Arial,sans-serif; --blast-heading:'Blast Barlow Condensed',Arial,sans-serif; }

/* Blast styled cart: Elementor classic cart widget, scoped to body.blast-styled-cart.
   Tokens and @font-face come from the plugin; Woo markup, AJAX and hidden controls are left alone. */
body.blast-styled-cart .elementor-widget-heading:has(+ .elementor-widget-woocommerce-cart) .elementor-heading-title { font:italic 800 96px/1 var(--blast-heading); text-transform:uppercase; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce { font-family:var(--blast-copy); color:#fff; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce :is(a,button,input,select,textarea,[tabindex]):focus-visible { outline:2px solid #fff !important; outline-offset:3px; box-shadow:none; }
@media(min-width:1025px) { body.blast-styled-cart .elementor-widget-woocommerce-cart:not(.e-cart-layout-one-column) .e-cart__container { grid-template-columns:minmax(0,1fr) minmax(320px,400px); column-gap:32px; } }
body.blast-styled-cart .elementor-widget-woocommerce-cart .e-cart-section { box-sizing:border-box; margin:0 0 16px; padding:32px; background:var(--blast-surface); border:1px solid var(--blast-border); border-radius:0; box-shadow:none; }

/* Notices and empty cart: Woo markup and icons kept, surfaces restyled. */
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce :is(.woocommerce-message,.woocommerce-error,.woocommerce-info) { margin:0 0 16px; background:var(--blast-surface); color:#fff; border:1px solid var(--blast-border); border-left:4px solid var(--blast-accent); border-radius:0; font:400 16px/1.5 var(--blast-copy); overflow-wrap:anywhere; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .woocommerce-error { border-left-color:#ff6b5b; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .woocommerce-info { border-left-color:#fff; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .woocommerce-error::before { color:#ff6b5b; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .woocommerce-info::before { color:#fff; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce :is(.woocommerce-message,.woocommerce-error,.woocommerce-info) a:not(.button) { color:#fff; text-decoration:underline; text-underline-offset:3px; }

/* Product list: six-column table on desktop. */
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart { width:100%; margin:0; border:0; border-collapse:collapse; background:transparent; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart thead th { padding:0 12px 16px; border:0; background:transparent; color:#a3a3a3; font:700 16px/1.2 var(--blast-heading); letter-spacing:1px; text-transform:uppercase; text-align:start; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart td { padding:20px 12px; border:0; border-top:1px solid var(--blast-border); background:transparent; color:#fff; font:400 16px/1.5 var(--blast-copy); vertical-align:middle; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart :is(th,td):first-child { padding-left:0; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart :is(th,td):last-child { padding-right:0; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart td span { color:inherit; font-size:inherit; font-weight:inherit; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart .product-remove { width:44px; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart .product-thumbnail { width:80px; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart td.product-thumbnail img { display:block; width:80px; max-width:none; height:auto; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart td.product-name { overflow-wrap:anywhere; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart td.product-name a { color:#fff; font:600 18px/1.35 var(--blast-copy); text-decoration:none; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart td.product-name a:hover { text-decoration:underline; text-underline-offset:3px; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart td.product-name :is(dl.variation,.backorder_notification) { margin:6px 0 0; color:#a3a3a3; font-size:14px; line-height:1.5; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart td.product-name dl.variation :is(dt.variation-Offer,dd.variation-Offer,dd.variation-Offer > p) { display:inline; float:none; margin:0; padding:0; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart td.product-name dl.variation dt.variation-Offer { margin-inline-end:.25em; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart td.product-name dl.variation dd.variation-Offer::after { content:"\A"; white-space:pre; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart :is(.product-price,.product-subtotal) { white-space:nowrap; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart :is(th,td).product-subtotal { text-align:end; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart td.product-subtotal { font-weight:700; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart td del { margin-right:6px; color:#8a8a8a; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart td ins { text-decoration:none; }

/* Remove: the real &times; link (Elementor paints it with a !important dark colour), 44px hitbox, no pseudo icons. */
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart td.product-remove a.remove { display:inline-flex; align-items:center; justify-content:center; box-sizing:border-box; width:44px; height:44px; margin:0; padding:0; border:1px solid transparent; border-radius:0; background:transparent; color:#fff !important; font:400 32px/1 var(--blast-copy); text-decoration:none; text-indent:0; vertical-align:top; visibility:visible; opacity:1; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart td.product-remove a.remove:hover { border-color:transparent; background:transparent; color:#fff !important; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart td.product-remove a.remove::before,
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart td.product-remove a.remove::after { content:none !important; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .quantity input.qty { box-sizing:border-box; width:76px; height:48px; min-height:48px; max-height:none; margin:0; padding:0 8px; border:0; border-radius:0; background:#fff; color:#000; font:600 16px/1 var(--blast-copy); text-align:center; }

/* Coupon: Elementor's .coupon-col markup or Woo's inline .actions .coupon. */
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .coupon.e-cart-section { padding:20px 24px; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce td.actions .coupon,
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .coupon .coupon-col { display:flex; align-items:stretch; gap:12px; float:none; margin:0; padding:0; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .coupon .coupon-col-start { flex:1 1 auto; min-width:0; padding:0; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .coupon .coupon-col-end { flex:none; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .coupon input#coupon_code { flex:1 1 200px; box-sizing:border-box; width:100%; height:48px; margin:0; padding:0 16px; border:0; border-radius:0; background:#fff; color:#000; font:400 16px/1.4 var(--blast-copy); }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .coupon input#coupon_code::placeholder { color:#6b6b6b; opacity:1; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce :is(.coupon,.shipping-calculator-form,td.actions,.woocommerce-message,.woocommerce-info,.woocommerce-error) .button { box-sizing:border-box; width:auto; min-height:48px; margin:0; padding:12px 24px; background:transparent; color:#fff; border:1px solid #fff; border-radius:0; box-shadow:none; text-shadow:none; font:700 18px/1.2 var(--blast-heading); letter-spacing:1px; text-transform:uppercase; text-decoration:none; white-space:nowrap; cursor:pointer; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce :is(.coupon,.shipping-calculator-form,td.actions,.woocommerce-message,.woocommerce-info,.woocommerce-error) .button:hover { background:#fff; color:#000; border-color:#fff; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce :is(.coupon,.shipping-calculator-form,td.actions) .button:disabled { background:transparent; color:#fff; opacity:.5; cursor:not-allowed; }

/* Totals: real <th> labels shown once at every width; Elementor's td::before copies are dropped. */
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .cart_totals > h2 { margin:0 0 12px; padding:0; color:#fff; font:700 30px/1.1 var(--blast-heading) !important; letter-spacing:0; text-transform:uppercase; text-align:start; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table,
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table tbody { display:block; width:100%; margin:0; border:0; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table tr { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:4px 16px; padding:14px 0; border-top:1px solid var(--blast-border); }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table tr:first-child { padding-top:0; border-top:0; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table th,
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table td { display:block; min-width:0; padding:0; border:0; background:transparent; color:#fff; font:400 16px/1.5 var(--blast-copy); overflow-wrap:anywhere; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table th { flex:1 1 auto; width:auto; color:#c9c9c9; font-weight:500; text-align:start; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table td { flex:0 1 auto; text-align:end; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table td::before { content:none; display:none; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table tr.woocommerce-shipping-totals > td,
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table td.cart--note { flex-basis:100%; text-align:start !important; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table tr:has(> td.cart--note) { padding-top:0; border-top:0; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table td.cart--note { color:#a3a3a3; font-size:14px; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table td.cart--note strong { color:#fff; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table tr.order-total { padding-top:20px; border-top-color:#3a3a3a; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table tr.order-total > * { color:#fff; font:700 26px/1.2 var(--blast-heading); letter-spacing:1px; text-transform:uppercase; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table tr.order-total small { display:block; color:#a3a3a3; font:400 14px/1.4 var(--blast-copy); letter-spacing:0; text-transform:none; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table :is(.woocommerce-shipping-destination,.woocommerce-shipping-contents) { margin:8px 0 0; color:#c9c9c9; font-size:14px; line-height:1.5; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table a:not(.button) { text-decoration:underline; text-underline-offset:3px; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce #shipping_method { margin:0; padding:0; list-style:none; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce #shipping_method li { display:flex; align-items:flex-start; gap:10px; margin:0 0 8px; padding:0; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce #shipping_method li input[type=radio] { flex:none; width:20px; height:20px; margin:2px 0 0; accent-color:var(--blast-accent); }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce #shipping_method li label { margin:0; color:#fff; font:400 16px/1.5 var(--blast-copy); }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .cart_totals table.shop_table :is(input.input-text,select) { box-sizing:border-box; width:100%; min-height:48px; margin:0; padding:10px 14px; border:0; border-radius:0; background:#fff; color:#000; font:400 16px/1.4 var(--blast-copy); }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .cart_totals .select2-container .select2-selection--single { height:48px; border:0; border-radius:0; background:#fff; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .cart_totals .select2-container .select2-selection__rendered { color:#000; line-height:48px; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .cart_totals .select2-container .select2-selection__arrow { height:48px; }

/* Primary CTAs. Override Elementor’s generated button typography and colours. */
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .wc-proceed-to-checkout { margin:0; padding:24px 0 0; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .wc-proceed-to-checkout a.checkout-button,
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .return-to-shop a.button { display:flex; align-items:center; justify-content:center; box-sizing:border-box; width:100%; min-height:64px; margin:0; padding:14px 18px; border:0; border-radius:0; background:var(--blast-accent) !important; color:#000 !important; font:700 24px/1.2 var(--blast-heading) !important; letter-spacing:1.5px; text-transform:uppercase; text-align:center; text-decoration:none; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .wc-proceed-to-checkout a.checkout-button:hover,
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .return-to-shop a.button:hover { background:#f4fa8c !important; color:#000; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .return-to-shop a.button { display:inline-flex; width:auto; min-height:56px; padding:12px 32px; font-size:22px; }

/* Mobile cards, aligned with Woo's 768px smallscreen breakpoint; data-title labels replace the hidden thead. */
@media(max-width:768px) {
 body.blast-styled-cart .elementor-widget-heading:has(+ .elementor-widget-woocommerce-cart) .elementor-heading-title { font-size:56px; }
 body.blast-styled-cart .elementor-widget-woocommerce-cart .e-cart-section { padding:20px; }
 body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .e-shop-table.e-cart-section { padding:0; background:none; border:0; }
 body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart,
 body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart tbody { display:block; }
 body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart thead { display:none; }
 body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart tr.cart_item { display:grid; grid-template-columns:64px minmax(0,1fr) 44px; grid-template-areas:"thumb name remove" "price price price" "qty qty qty" "sub sub sub"; column-gap:14px; margin:0 0 12px; padding:16px; background:var(--blast-surface); border:1px solid var(--blast-border); }
 body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart tr.cart_item > td { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:4px 8px; min-width:0; padding:12px 0 0; border:0; text-align:end !important; white-space:normal; }
 body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart tr.cart_item > td::before { content:attr(data-title); float:none; margin-right:auto; color:#a3a3a3; font:700 16px/1.2 var(--blast-heading); letter-spacing:1px; text-transform:uppercase; }
 body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart tr.cart_item > td:is(.product-thumbnail,.product-name,.product-remove) { display:block; padding:0; }
 body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart tr.cart_item > td:is(.product-thumbnail,.product-name,.product-remove)::before { content:none; }
 body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart tr.cart_item > td.product-thumbnail { grid-area:thumb; }
 body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart td.product-thumbnail img { width:64px; }
 body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart tr.cart_item > td.product-name { grid-area:name; align-self:center; text-align:start !important; }
 body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart tr.cart_item > td.product-remove { grid-area:remove; align-self:start; margin:-10px -10px 0 0; }
 body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart tr.cart_item > td.product-price { grid-area:price; margin-top:16px; padding-top:14px; border-top:1px solid var(--blast-border); }
 body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart tr.cart_item > td.product-quantity { grid-area:qty; }
 body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart tr.cart_item > td.product-subtotal { grid-area:sub; }
 body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .coupon.e-cart-section { padding:20px; }
 body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce td.actions .coupon,
 body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .coupon .coupon-col { flex-direction:column; }
 body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .coupon button.button { width:100%; }
 body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .cart_totals > h2 { font-size:26px !important; }
 body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .wc-proceed-to-checkout a.checkout-button { min-height:60px; font-size:22px !important; letter-spacing:1px; }
}

/* Elementor hides the remove column on desktop; keep the existing Woo action accessible. */
@media(min-width:769px) {
 body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart :is(th,td).product-remove { display:table-cell !important; width:44px; }
}
@media(max-width:1024px) {
 body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .e-shop-table.e-cart-section { box-sizing:border-box; width:100%; max-width:100%; overflow:visible; margin-right:0; }
}
/* Tablet and mobile: Elementor's stacked 1fr track has an auto minimum, so the product table's min-content can widen
   its column past the coupon and totals. Clamp the track and every section to the same outer edges. */
@media(max-width:1024px) {
 body.blast-styled-cart .elementor-widget-woocommerce-cart .e-cart__container { grid-template-columns:minmax(0,1fr); }
 body.blast-styled-cart .elementor-widget-woocommerce-cart :is(.e-cart__column,.e-cart__column-inner,form.woocommerce-cart-form) { box-sizing:border-box; min-width:0; max-width:100%; margin-inline:0; }
 body.blast-styled-cart .elementor-widget-woocommerce-cart .e-cart-section { max-width:100%; margin-inline:0; }
}

/* Shared breathing room between the site header and page title. */
body.blast-styled-cart .elementor-widget-heading:has(+ .elementor-widget-woocommerce-cart) { padding-top:40px; }
@media(max-width:768px) {
 body.blast-styled-cart .elementor-widget-heading:has(+ .elementor-widget-woocommerce-cart) { padding-top:24px; }
}

/* Match the page-title spacing instead of Elementor’s 150px footer gap. */
body.blast-styled-cart .elementor-section.elementor-top-section:has(.elementor-widget-woocommerce-cart) { padding-bottom:40px; }
@media(max-width:768px) {
 body.blast-styled-cart .elementor-section.elementor-top-section:has(.elementor-widget-woocommerce-cart) { padding-bottom:24px; }
}

/* Remove theme cell backgrounds and mobile offsets inside the product cards. */
@media(max-width:768px) {
 body.blast-styled-cart.woocommerce-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.shop_table_responsive.cart tbody tr.cart_item > td { background:transparent !important; }
 body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart td.product-remove a.remove { position:static; inset:auto; }
}

/* Inset the mobile price, quantity and subtotal within one darker section. */
@media(max-width:768px) {
 body.blast-styled-cart.woocommerce-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.shop_table_responsive.cart tbody tr.cart_item > td:is(.product-price,.product-quantity,.product-subtotal) { background:#181818 !important; padding:12px 16px; }
 body.blast-styled-cart.woocommerce-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.shop_table_responsive.cart tbody tr.cart_item > td.product-price { padding-top:16px; }
 body.blast-styled-cart.woocommerce-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.shop_table_responsive.cart tbody tr.cart_item > td.product-subtotal { padding-bottom:16px; }
}

/* Desktop table inset: table padding does not apply with collapsed borders. */
@media(min-width:769px) {
 body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart thead th { padding-top:16px; }
 body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart :is(th,td):first-child { padding-left:16px; }
 body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart :is(th,td):last-child { padding-right:16px; }
}

/* Inset the summary heading within its darker background. */
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .cart_totals > h2 { padding:16px; }

/* BM-21936: membership line terms, sensor-only membership reminder and sign-in CTA. */
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart td.product-name .blast-membership-terms { margin:6px 0 0; color:#a3a3a3; font:400 14px/1.5 var(--blast-copy); }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart td.product-name .blast-membership-meta { margin:4px 0 0; color:#c9c9c9; font:400 14px/1.5 var(--blast-copy); }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .blast-membership-terms .amount { color:#fff; font-weight:600; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .blast-membership-reminder { display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:24px; align-items:center; box-sizing:border-box; margin:0 0 16px; padding:24px 32px; background:var(--blast-surface); border:1px solid var(--blast-border); border-left:4px solid var(--blast-accent); color:#fff; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .blast-membership-reminder > * { grid-column:1; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .blast-membership-reminder-eyebrow { margin:0 0 4px; color:var(--blast-accent); font:700 14px/1.2 var(--blast-heading); letter-spacing:1px; text-transform:uppercase; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .blast-membership-reminder h2 { margin:0 0 8px; padding:0; color:#fff; font:700 26px/1.1 var(--blast-heading); letter-spacing:0; text-transform:uppercase; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .blast-membership-reminder :is(.blast-membership-reminder-copy,.blast-membership-reminder-product) { margin:0; color:#c9c9c9; font:400 16px/1.5 var(--blast-copy); overflow-wrap:anywhere; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .blast-membership-reminder .blast-membership-reminder-product { color:#fff; font-weight:600; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .blast-membership-reminder .blast-membership-terms { margin:4px 0 0; color:#a3a3a3; font:400 14px/1.5 var(--blast-copy); }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .blast-membership-reminder a.blast-add-membership { display:inline-flex; align-items:center; justify-content:center; text-decoration:none; grid-column:2; grid-row:1 / span 5; box-sizing:border-box; min-height:48px; margin:0; padding:12px 24px; border:0; border-radius:0; background:var(--blast-accent); color:#000; box-shadow:none; text-shadow:none; font:700 18px/1.2 var(--blast-heading); letter-spacing:1px; text-transform:uppercase; white-space:nowrap; cursor:pointer; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .blast-membership-reminder a.blast-add-membership:hover { background:#f4fa8c; color:#000; text-decoration:none; }
/* Theme/Elementor force white link text with !important; pin black on yellow across every link state. */
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .blast-membership-reminder a.blast-add-membership,
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .blast-membership-reminder a.blast-add-membership:is(:link,:visited,:hover,:focus,:focus-visible,:active) { color:#000 !important; -webkit-text-fill-color:#000; }
/* BM-21937: active membership in place of the reminder; a plain text link, no upsell CTA. */
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .blast-membership-owned,
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .blast-membership-pending { grid-template-columns:minmax(0,1fr); }
/* Theme/Elementor link colours use !important; pin a white underlined link and a visible focus ring, in this panel only. */
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .blast-membership-owned a.blast-membership-manage,
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .blast-membership-owned a.blast-membership-manage:is(:link,:visited) { color:#fff !important; -webkit-text-fill-color:#fff; font-weight:600; text-decoration:underline !important; text-decoration-thickness:1px; text-underline-offset:3px; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .blast-membership-owned a.blast-membership-manage:is(:hover,:focus-visible,:active) { color:var(--blast-accent) !important; -webkit-text-fill-color:var(--blast-accent); }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .blast-membership-owned a.blast-membership-manage:focus-visible { outline:2px solid var(--blast-accent); outline-offset:3px; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .wc-proceed-to-checkout .blast-sign-in-checkout-note { margin:12px 0 0; color:#a3a3a3; font:400 14px/1.5 var(--blast-copy); text-align:center; }
@media(max-width:768px) {
 body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .blast-membership-reminder { grid-template-columns:minmax(0,1fr); padding:20px; }
 body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .blast-membership-reminder h2 { font-size:22px; }
 body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .blast-membership-reminder a.blast-add-membership { grid-column:1; grid-row:auto; width:100%; margin-top:16px; white-space:normal; }
}

/* BM-21936 membership row: plain quantity on desktop; on mobile no blank quantity cell. */
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart tr.blast-cart-membership .blast-membership-qty { display:inline-block; min-width:76px; color:#fff; font:600 16px/1 var(--blast-copy); text-align:center; }
/* Name (plain text when the product has no permalink) leads; meta and renewal step down in size and tone. */
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart tr.blast-cart-membership td.product-name { padding-top:24px; padding-bottom:24px; color:#fff; font:600 18px/1.35 var(--blast-copy); }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart tr.blast-cart-membership td.product-name .blast-membership-meta { margin:6px 0 0; color:#a3a3a3; }
/* Renewal notice: its own row under the membership, from the product column across price, quantity and subtotal. */
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart tr.blast-membership-notice-row > td { padding-top:12px; padding-bottom:24px; border-top:0; vertical-align:top; background:transparent !important; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart td.blast-membership-notice .blast-membership-renewal { display:flex; align-items:flex-start; gap:10px; margin:0; padding:12px 0 0; border-top:1px solid var(--blast-border); color:#c9c9c9; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart td.blast-membership-notice .blast-membership-renew-icon { flex:none; display:block; width:16px; height:16px; margin-top:3px; color:var(--blast-accent); }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart td.blast-membership-notice .blast-membership-renewal > span { min-width:0; }
/* Card glyph replacing Woo's white placeholder; same 80px footprint as product images. */
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart tr.blast-cart-membership .blast-membership-thumb { display:flex; align-items:center; justify-content:center; box-sizing:border-box; width:80px; aspect-ratio:1; background:#262626; border:1px solid #333; color:#c9c9c9; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart tr.blast-cart-membership .blast-membership-thumb svg { display:block; width:36px; height:36px; }
/* Mobile: drop the thumbnail and quantity cells so the name and renewal copy take the full row width. */
@media(max-width:768px) {
 body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart tr.cart_item.blast-cart-membership { grid-template-columns:minmax(0,1fr) 44px; grid-template-areas:"name remove" "price price" "sub sub"; }
 body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart tr.cart_item.blast-cart-membership > td:is(.product-thumbnail,.product-quantity) { display:none !important; }
 body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart tr.cart_item.blast-cart-membership > td.product-name { padding:0; }
 body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart tr.cart_item.blast-cart-membership { margin-bottom:0; border-bottom:0; }
 body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart tr.blast-membership-notice-row { display:block; margin:0 0 12px; padding:0 16px 16px; background:var(--blast-surface); border:1px solid var(--blast-border); border-top:0; }
 body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart tr.blast-membership-notice-row > td.blast-membership-notice-spacer { display:none; }
 body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart tr.blast-membership-notice-row > td.blast-membership-notice { display:block; padding:0; background:transparent !important; text-align:start !important; }
 body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart tr.blast-membership-notice-row > td.blast-membership-notice::before { content:none; }
 body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart td.blast-membership-notice .blast-membership-renewal { padding-top:16px; border-top:0; }
}

/* Desktop rows: cells start at the top, with controls centred on the name's first 24px line. */
@media(min-width:769px) {
 body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart tr.cart_item > td { vertical-align:top; }
 body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart tr.cart_item.blast-cart-membership > td { padding-top:24px; padding-bottom:0; }
 /* Elementor sets the thumbnail padding with !important; match the name cell's top padding. */
 body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart tr.cart_item > td.product-thumbnail { padding-top:20px !important; }
 body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart tr.cart_item.blast-cart-membership > td.product-thumbnail { padding-top:24px !important; }
 body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart tr.cart_item td.product-remove a.remove { margin-top:-10px; }
 body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart tr.cart_item:not(.blast-cart-membership) td.product-quantity .quantity { margin-top:-12px; }
 body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart tr.blast-cart-membership .blast-membership-qty { line-height:24px; }
}

/* BM-21938: discounted line subtotal (Woo's sale-price markup) and the membership-coupon offer in place of the reminder. */
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart td .blast-line-price { display:inline-flex; flex-wrap:wrap; align-items:baseline; justify-content:flex-end; gap:2px 8px; white-space:nowrap; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart td .blast-line-price del { margin:0; color:#8a8a8a; font-weight:400; text-decoration-thickness:1px; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart td .blast-line-price ins { color:#fff; font-weight:700; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart td .blast-line-price .tax_label { color:#a3a3a3; font-size:14px; font-weight:400; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart td .blast-line-price .blast-line-saving { flex-basis:100%; color:var(--blast-accent); font:700 14px/1.3 var(--blast-heading); letter-spacing:.5px; text-align:end; text-transform:uppercase; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .blast-membership-coupon .blast-membership-reminder-eyebrow { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:10px; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .blast-membership-coupon .blast-coupon-chip { display:inline-block; max-width:100%; padding:3px 8px; border:1px dashed var(--blast-accent); color:var(--blast-accent); font:700 13px/1.2 var(--blast-copy); letter-spacing:.5px; text-transform:uppercase; overflow-wrap:anywhere; }
/* Woo's AJAX coupon error sits under the field, full width rather than inline with the flex row. */
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .coupon:has(> .coupon-error-notice) { flex-wrap:wrap; }
body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce .coupon .coupon-error-notice { flex-basis:100%; margin:12px 0 0; color:#ff8a7d; font:400 15px/1.5 var(--blast-copy); }
@media(max-width:768px) {
 body.blast-styled-cart .elementor-widget-woocommerce-cart .woocommerce table.shop_table.cart td .blast-line-price { white-space:normal; }
}
