/* Phase 4: native classic Cart only. Locked pages remain untouched. */
.sp-d4a-cart { color:#102738; background:#f4fbff; }
.sp-d4a-cart .sp-main { background:linear-gradient(110deg,#ffffffef,#effafff5),url('../img/d4a-laboratory.png') center top/1500px auto; }
.sp-d4a-cart .sp-pagehead { background:transparent; color:#102738; border-bottom:1px solid #d1e7f1; padding:30px 0 24px; }
.sp-d4a-cart .sp-pagehead__title { color:#102738; font:700 clamp(2rem,4vw,3rem)/1.1 Georgia,'Times New Roman',serif; letter-spacing:-.035em; }
.sp-d4a-cart .sp-page { padding:28px 0 40px; }
.sp-d4a-cart .sp-store { padding-bottom:0; }
.sp-d4a-cart .woocommerce-cart-form,.sp-d4a-cart .cart-collaterals { min-width:0; }
.sp-d4a-cart .cart-collaterals::before,.sp-d4a-cart .cart-collaterals::after { display:none; }
.sp-d4a-cart table.shop_table { border:1px solid #cce5f1!important; border-radius:10px; background:#ffffffee; margin:0 0 20px; box-shadow:0 4px 18px #14628408; }
.sp-d4a-cart table.shop_table :is(th,td) { border-color:#dcecf4!important; color:#183a4d; padding:16px 12px!important; }
.sp-d4a-cart table.cart thead th { background:#edf8fe; font-size:.69rem; letter-spacing:.06em; }
.sp-d4a-cart table.cart .product-remove { width:48px; }
.sp-d4a-cart table.cart .product-thumbnail { width:100px; }
.sp-d4a-cart table.cart img { display:block; width:76px!important; height:104px; object-fit:contain; padding:5px; border-radius:7px; background:linear-gradient(#fff,#e7f8ff); }
.sp-d4a-cart table.cart .product-name { font-weight:800; font-size:.95rem; overflow-wrap:anywhere; }
.sp-d4a-cart table.cart .product-name a { color:#102738; text-decoration:none; }
.sp-d4a-cart table.cart .product-name a:hover { color:#007fae; }
.sp-d4a-cart table.cart .variation { font-size:.8rem; font-weight:400; color:#486272; }
.sp-d4a-cart table.cart .variation p { margin:0; }
.sp-d4a-cart table.cart .product-price,.sp-d4a-cart table.cart .product-subtotal { white-space:nowrap; font-size:.92rem; }
.sp-d4a-cart table.cart .product-subtotal { font-weight:800; }
.sp-d4a-cart .quantity .qty { width:72px; min-height:46px; border:1px solid #bdddea; border-radius:6px; background:#fff; font:700 .9rem var(--font-body); }
.sp-d4a-cart a.remove { display:grid; place-items:center; width:44px; height:44px; line-height:1; border:1px solid #efdae0; border-radius:6px; background:#fff; }
.sp-d4a-cart .woocommerce .button { background:#eaf7fd!important; color:#006b98!important; border:1px solid #b6dfee!important; border-radius:6px; box-shadow:none; min-height:46px; font:800 .85rem var(--font-body); }
.sp-d4a-cart .woocommerce .button:hover { background:#d6f0fb!important; }
.sp-d4a-cart .woocommerce .button:disabled { opacity:.5; }
.sp-d4a-cart table.cart td.actions { padding:18px; background:#f9fdff; }
.sp-d4a-cart table.cart td.actions .coupon { float:left; gap:8px; max-width:calc(100% - 150px); }
.sp-d4a-cart table.cart td.actions .coupon #coupon_code { width:160px; min-height:46px; border:1px solid #bdddea; border-radius:6px; font-size:.85rem; }
.sp-d4a-cart .cart-collaterals .cart_totals { max-width:none; margin:0; padding:24px; background:#ffffffef; border:1px solid #cce5f1; border-radius:10px; box-shadow:0 4px 18px #14628408; }
.sp-d4a-cart .cart_totals h2 { font:700 1.65rem/1.2 Georgia,'Times New Roman',serif; margin:0 0 18px; }
.sp-d4a-cart .cart_totals table { width:100%; table-layout:fixed; box-shadow:none; background:transparent; margin:0; }
.sp-d4a-cart .cart_totals table th { width:38%; padding-left:0!important; font:700 .85rem/1.6 var(--font-body); }
.sp-d4a-cart .cart_totals table td { padding-right:0!important; font-size:.85rem; line-height:1.6; overflow-wrap:anywhere; }
.sp-d4a-cart .cart_totals .order-total :is(th,td) { border-top:2px solid #cce5f1!important; }
.sp-d4a-cart .cart_totals .order-total td { font-size:1.3rem; font-weight:800; }
.sp-d4a-cart .wc-proceed-to-checkout { padding:18px 0 0; }
.sp-d4a-cart .wc-proceed-to-checkout a.checkout-button { background:#f00030!important; border-color:#f00030!important; color:#fff!important; border-radius:6px; box-shadow:none; margin:0; font:800 .92rem var(--font-body); }
.sp-d4a-cart .wc-proceed-to-checkout a.checkout-button:hover { background:#c70029!important; }
.sp-d4a-cart .sp-cart-trust { max-width:none; margin:20px 0 0; }
.sp-d4a-cart .sp-cart-trust .sp-badges { display:grid; grid-template-columns:1fr; gap:12px; border:0; padding:18px 0 0; background:transparent; box-shadow:none; border-top:1px solid #dcecf4; }
.sp-d4a-cart .sp-cart-trust .sp-badge { border:0; background:transparent; box-shadow:none; padding:0; gap:10px; }
.sp-d4a-cart .sp-cart-trust .sp-badge__icon { color:#009fdf; background:#eaf9ff; border:1px solid #bae5f8; border-radius:7px; }
.sp-d4a-cart .sp-cart-trust .sp-badge__title { font-size:.8rem; }
.sp-d4a-cart .woocommerce-shipping-calculator .form-row { width:100%!important; float:none; margin:0 0 12px!important; }
.sp-d4a-cart .shipping-calculator-form { padding:12px 0 0; }
.sp-d4a-cart .shipping-calculator-button { display:inline-flex; align-items:center; min-height:44px; color:#006b98; font-weight:700; }
.sp-d4a-cart :is(a,button,input,select):focus-visible { outline:3px solid #008dcc; outline-offset:3px; }
.sp-d4a-cart .sp-footer { background:#f5fbff; border-color:#d3e9f4; }
.sp-d4a-cart .sp-footer__ruo { background:#eaf2f6; border-color:#d5e6ee; }
.sp-d4a-cart .d4a-brand-word { display:block; width:198px; }
.sp-d4a-cart .d4a-brand-word img { display:block; width:100%; height:auto; aspect-ratio:3.7; object-fit:cover; }
.sp-d4a-cart .sp-brand:has(.d4a-brand-word)>picture { display:none; }
.sp-d4a-cart .woocommerce-notices-wrapper { min-width:0; }
.sp-d4a-cart .woocommerce-error,.sp-d4a-cart .woocommerce-message,.sp-d4a-cart .woocommerce-info { border-color:#a8def4!important; border-radius:8px; background:#fff; color:#183a4d; overflow-wrap:anywhere; }
.sp-d4a-cart .woocommerce-error { border-color:#efb8c5!important; }
.sp-d4a-cart .cart-empty { margin-bottom:20px; }
@media(min-width:1100px) {
 .sp-d4a-cart .sp-store>.woocommerce { display:grid; grid-template-columns:minmax(0,1fr) 370px; gap:0 26px; align-items:start; }
 .sp-d4a-cart .sp-store>.woocommerce>* { grid-column:1/-1; }
 .sp-d4a-cart .sp-store>.woocommerce>.woocommerce-cart-form { grid-column:1; }
 .sp-d4a-cart .sp-store>.woocommerce>.cart-collaterals { grid-column:2; }
}
@media(max-width:767px) {
 .sp-d4a-cart .sp-pagehead { padding:22px 0 18px; }
 .sp-d4a-cart .sp-page { padding:20px 0 30px; }
 .sp-d4a-cart .sp-header .d4a-brand-word { width:150px; }
 .sp-d4a-cart .cart-collaterals .cart_totals { padding:18px; }
 .sp-d4a-cart table.cart,.sp-d4a-cart table.cart tbody { display:block; width:100%; }
 .sp-d4a-cart table.cart thead { display:none; }
 .sp-d4a-cart table.cart tr.cart_item { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px 8px; padding:16px; border-bottom:1px solid #dcecf4; }
 .sp-d4a-cart table.cart tr.cart_item td { display:block; min-width:0; width:auto; padding:0!important; border:0!important; text-align:left; }
 .sp-d4a-cart table.cart .product-thumbnail { grid-column:1/3; grid-row:1; }
 .sp-d4a-cart table.cart .product-name { grid-column:3/6; grid-row:1; align-self:center; }
 .sp-d4a-cart table.cart .product-remove { grid-column:6; grid-row:1; justify-self:end; }
 .sp-d4a-cart table.cart .product-price { grid-column:1/3; grid-row:2; }
 .sp-d4a-cart table.cart .product-quantity { grid-column:3/5; grid-row:2; }
 .sp-d4a-cart table.cart .product-subtotal { grid-column:5/7; grid-row:2; }
 .sp-d4a-cart table.cart :is(.product-price,.product-quantity,.product-subtotal)::before { content:attr(data-title); display:block; color:#486272; font:700 .65rem/1.5 var(--font-body); margin:0 0 8px; }
 .sp-d4a-cart table.cart .amount { display:inline-flex; align-items:center; min-height:46px; }
 .sp-d4a-cart table.cart tr:not(.cart_item) { display:block; }
 .sp-d4a-cart table.cart td.actions { display:grid; gap:12px; width:100%; padding:16px!important; }
 .sp-d4a-cart table.cart td.actions .coupon { float:none; display:grid; grid-template-columns:minmax(0,1fr) auto; max-width:none; }
 .sp-d4a-cart table.cart td.actions .coupon #coupon_code { width:100%; min-width:0; }
 .sp-d4a-cart table.cart td.actions button[name=update_cart] { width:100%; float:none; }
 .sp-d4a-cart table.cart td.actions .coupon button { padding:10px; }
}
@media(max-width:374px) {
 .sp-d4a-cart .sp-header .d4a-brand-word { width:132px; }
 .sp-d4a-cart table.cart tr.cart_item { padding:12px; }
 .sp-d4a-cart table.cart img { width:64px!important; height:90px; }
 .sp-d4a-cart .quantity .qty { width:64px; }
 .sp-d4a-cart .cart-collaterals .cart_totals { padding:16px; }
 .sp-d4a-cart table.cart td.actions .coupon { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) { .sp-d4a-cart *, .sp-d4a-cart *::before, .sp-d4a-cart *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
