/* Cart owns presentation only. Native Woo forms, prices, shipping and AJAX remain intact. */
body.woocommerce-cart .site-main > .lo-container { max-width:1280px; }
body.woocommerce-cart .lo-content-flow { width:100%; min-width:0; }
body.woocommerce-cart .entry-content { padding:0; background:none; border:0; }
body.lo-cart-page .entry-header { display:none; }
body.woocommerce-cart .site-main { padding-top:24px; }
body.woocommerce-cart .lo-cart-heading { margin-bottom:8px; }
body.woocommerce-cart .lo-cart-heading nav { display:flex; gap:12px; font-size:13px; margin-bottom:20px; }
body.woocommerce-cart .lo-cart-heading h1 { margin:0; font-size:clamp(30px,3vw,40px); letter-spacing:-.03em; }
body.woocommerce-cart .lo-cart-line-count { margin:0 0 20px; color:var(--lo-color-muted); font-size:14px; }
body.woocommerce-cart .woocommerce-cart-form { min-width:0; margin:0; }
body.woocommerce-cart .site-main table.woocommerce-cart-form__contents { display:block; width:100%; border:1px solid var(--lo-color-line); border-radius:8px; background:#fff; margin:0 0 24px; }
body.woocommerce-cart .site-main table.cart > thead,body.woocommerce-cart .site-main table.cart > tbody { display:block; }
body.woocommerce-cart .site-main table.cart > thead > tr,body.woocommerce-cart .site-main table.cart tr.cart_item { display:grid; grid-template-columns:64px minmax(140px,1fr) 90px 132px 96px 36px; gap:12px; align-items:center; padding:20px 16px; border-bottom:1px solid var(--lo-color-line); }
body.woocommerce-cart .site-main table.cart > thead > tr { font-size:12px; padding-block:14px; background:var(--lo-color-surface); border-radius:8px 8px 0 0; }
body.woocommerce-cart .site-main table.cart :is(th,td) { padding:0; border:0; background:transparent; min-width:0; width:auto; }
body.woocommerce-cart .site-main table.cart tr.cart_item td::before { display:none; }
body.woocommerce-cart .site-main table.cart .product-thumbnail { display:block; grid-column:1; grid-row:1; }
body.woocommerce-cart .site-main table.cart .product-name { grid-column:2; grid-row:1; line-height:1.45; overflow-wrap:anywhere; text-align:left!important; font-size:14px; }
body.woocommerce-cart .site-main table.cart .product-name > a { font-weight:700; text-decoration:none; }
body.woocommerce-cart .site-main table.cart .product-name dl.variation { font-size:13px; color:var(--lo-color-muted); margin:6px 0 0; }
body.woocommerce-cart .site-main table.cart .product-name ul { padding-left:18px; margin:6px 0 12px; font-size:13px; }
body.woocommerce-cart .site-main table.cart .product-name > div { margin-top:8px; }
body.woocommerce-cart .site-main table.cart .product-price { grid-column:3; grid-row:1; font-size:13px; }
body.woocommerce-cart .site-main table.cart .product-quantity { grid-column:4; grid-row:1; text-align:center!important; }
body.woocommerce-cart .site-main table.cart .product-subtotal { grid-column:5; grid-row:1; font-size:14px; font-weight:700; }
body.woocommerce-cart .site-main table.cart :is(.product-price,.product-subtotal) { white-space:nowrap; text-align:right; font-variant-numeric:tabular-nums; }
body.woocommerce-cart .site-main table.cart .product-remove { grid-column:6; grid-row:1; }
body.woocommerce-cart .site-main table.cart .product-thumbnail img { display:block; width:64px; height:72px; max-width:100%; object-fit:contain; }
body.woocommerce-cart .site-main table.cart a.remove { display:inline-flex; align-items:center; justify-content:center; min-width:36px; min-height:44px; width:auto; height:auto; border-radius:4px; color:var(--lo-color-muted)!important; background:none; text-decoration:none; }
body.woocommerce-cart .site-main table.cart a.remove:hover { color:var(--lo-color-error)!important; background:var(--lo-color-surface); }
body.woocommerce-cart .site-main table.cart tr.lo-cart-cutting { background:#fff8ef; }
body.woocommerce-cart .lo-cart-fixed-quantity { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; border:1px solid var(--lo-color-line); border-radius:4px; background:#fff; }
body.woocommerce-cart .site-main table.cart .oc-pdf a.button { display:inline-flex; min-height:44px; align-items:center; padding:8px 12px!important; border:1px solid var(--lo-field-border); border-radius:4px; background:transparent!important; color:var(--d1-green)!important; font-size:13px!important; box-shadow:none; }
/* QIB's inline stylesheet uses two :not(#qib_id) on each control selector.
 * Match those two IDs; the body scope supplies the additional specificity.
 * No QIB declaration needs !important, including hover and focus. */
body.woocommerce-cart .qib-container .qib-button:not(#qib_id):not(#qib_id),
body.woocommerce-cart .qib-container .quantity input.qty:not(#qib_id):not(#qib_id) {
    height: 2.75rem; min-height: 2.75rem; width: 2.75rem;
    color: var(--lo-color-ink); background: var(--lo-color-paper);
    border: 1px solid var(--lo-color-line); font-size: 1rem;
    font-variant-numeric: tabular-nums;
}
body.woocommerce-cart .qib-container .quantity input.qty:not(#qib_id):not(#qib_id) { width: 4rem; border-inline: 0; }
body.woocommerce-cart .qib-container .minus:not(#qib_id):not(#qib_id) { border-radius: var(--lo-radius-sm) 0 0 var(--lo-radius-sm); }
body.woocommerce-cart .qib-container .plus:not(#qib_id):not(#qib_id) { border-radius: 0 var(--lo-radius-sm) var(--lo-radius-sm) 0; }
body.woocommerce-cart .qib-container .qib-button:hover:not(#qib_id):not(#qib_id) { background: var(--lo-color-surface); border-color: var(--lo-color-ink); }
body.woocommerce-cart .qib-container .qib-button:focus-visible:not(#qib_id):not(#qib_id),
body.woocommerce-cart .qib-container .quantity input.qty:focus:not(#qib_id):not(#qib_id) {
    position: relative; outline: 3px solid var(--lo-field-focus); outline-offset: 2px;
    border-color: var(--lo-color-ink);
}

body.woocommerce-cart .qib-container .quantity input.qty:not(#qib_id):not(#qib_id) { width:44px; }
body.woocommerce-cart .site-main table.cart > tbody > tr:not(.cart_item) { display:block; }
body.woocommerce-cart .site-main table.cart td.actions { display:block; padding:16px; }
body.woocommerce-cart .site-main table.cart td.actions .coupon { display:flex; gap:12px; float:none; padding:0; max-width:440px; }
body.woocommerce-cart .site-main table.cart td.actions .coupon::before,body.woocommerce-cart .site-main table.cart td.actions .coupon::after { display:none; }
body.woocommerce-cart .site-main table.cart td.actions .coupon .input-text { flex:1; width:0; min-width:0; float:none; margin:0; min-height:48px; border-color:var(--lo-field-border); }
body.woocommerce-cart .site-main table.cart td.actions .coupon .button { flex:0 0 auto; width:auto; float:none; margin:0; min-height:48px; }
body.woocommerce-cart .site-main .woocommerce .coupon button.button { color:var(--d1-green); background:#fff; border-color:var(--lo-field-border); }
body.woocommerce-cart .site-main .cart-collaterals { display:flex; flex-direction:column; gap:32px; }
body.woocommerce-cart .site-main .cart-collaterals::before,body.woocommerce-cart .site-main .cart-collaterals::after { display:none; }
body.woocommerce-cart .site-main .cart-collaterals :is(.cross-sells,.cart_totals) { width:100%; min-width:0; float:none; }
body.woocommerce-cart .site-main .cart_totals { padding:24px; background:#fff; border:1px solid var(--lo-color-line); border-radius:8px; scroll-margin-top:20px; }
body.woocommerce-cart .site-main .cart_totals > h2 { font-size:24px; margin:0; padding-bottom:16px; border-bottom:1px solid var(--lo-color-line); }
body.woocommerce-cart .site-main .cart_totals table.shop_table { display:block; width:100%; margin:0; border:0; }
body.woocommerce-cart .site-main .cart_totals table.shop_table tbody { display:block; }
body.woocommerce-cart .site-main .cart_totals table.shop_table tr { display:flex; flex-wrap:wrap; gap:8px; justify-content:space-between; border-bottom:1px solid var(--lo-color-line); padding:16px 0; }
body.woocommerce-cart .site-main .cart_totals table.shop_table :is(th,td) { display:block; min-width:0; width:auto; padding:0; border:0; background:none; font-size:14px; }
body.woocommerce-cart .site-main .cart_totals table.shop_table td::before { display:none; }
body.woocommerce-cart .site-main .cart_totals table.shop_table td { text-align:right; }
body.woocommerce-cart .site-main .cart_totals table.shop_table tr.shipping { display:block; }
body.woocommerce-cart .site-main .cart_totals table.shop_table tr.shipping th { margin-bottom:12px; }
body.woocommerce-cart .site-main .cart_totals table.shop_table tr.shipping td { text-align:left!important; }
body.woocommerce-cart .site-main .cart_totals #shipping_method { display:grid; gap:12px; margin-bottom:16px; }
body.woocommerce-cart .site-main .cart_totals #shipping_method li { display:flex; align-items:baseline; gap:8px; margin:0; padding:0; }
body.woocommerce-cart .site-main .cart_totals #shipping_method input { flex-shrink:0; accent-color:var(--lo-color-accent); }
body.woocommerce-cart .site-main .cart_totals #shipping_method label { font-weight:400; font-size:14px; line-height:1.5; }
body.woocommerce-cart .site-main .cart_totals #shipping_method .amount { font-weight:700; }
body.woocommerce-cart .site-main .cart_totals .woocommerce-shipping-destination { font-size:13px; color:var(--lo-color-muted); }
body.woocommerce-cart .site-main .cart_totals .shipping-calculator-button { display:inline-flex; min-height:44px; align-items:center; font-size:13px; font-weight:600; }
body.woocommerce-cart .site-main .cart_totals .shipping-calculator-form { margin-top:12px; }
body.woocommerce-cart .site-main .cart_totals .shipping-calculator-form :is(select:not(.select2-hidden-accessible),input:not([type=hidden]),.select2-container) { max-width:100%; width:100%!important; }
body.woocommerce-cart .site-main .cart_totals table.shop_table tr.order-total { border:0; padding:24px 0 12px; }
body.woocommerce-cart .site-main .cart_totals table.shop_table .order-total :is(th,td) { font-size:24px; }
body.woocommerce-cart .site-main .cart_totals .order-total small { display:block; font-size:12px; color:var(--lo-color-muted); }
body.woocommerce-cart .site-main .wc-proceed-to-checkout { padding:12px 0 0; }
body.woocommerce-cart .site-main .woocommerce .wc-proceed-to-checkout .checkout-button { display:flex; align-items:center; justify-content:center; gap:12px; width:100%; margin:0; min-height:48px; font-size:16px; background:var(--lo-color-accent); color:#fff; border:1px solid var(--lo-color-accent); border-radius:4px; }
body.woocommerce-cart .site-main .wc-proceed-to-checkout .checkout-button:hover { background:var(--lo-color-accent-dark); }
body.woocommerce-cart .lo-cart-support { display:flex; gap:12px; padding:16px; margin-top:24px; background:var(--lo-color-surface); border:1px solid var(--lo-color-line); border-radius:4px; }
body.woocommerce-cart .lo-cart-support > svg { flex-shrink:0; }
body.woocommerce-cart .lo-cart-support h3 { margin:0 0 6px; font-size:14px; }
body.woocommerce-cart .lo-cart-support p { margin:0 0 8px; font-size:13px; color:var(--lo-color-muted); }
body.woocommerce-cart .lo-cart-support a { display:inline-flex; align-items:center; gap:8px; min-height:44px; font-size:13px; font-weight:600; }
body.woocommerce-cart .site-main .cross-sells h2 { margin:0 0 20px; font-size:24px; }
body.woocommerce-cart .site-main .cross-sells ul.products { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; margin:0; }
body.woocommerce-cart .site-main .cross-sells ul.products::before,body.woocommerce-cart .site-main .cross-sells ul.products::after { display:none; }
body.woocommerce-cart .site-main .cross-sells ul.products li.product { display:flex; flex-direction:column; width:auto; min-width:0; float:none; margin:0; padding:16px; background:#fff; border:1px solid var(--lo-color-line); border-radius:8px; }
body.woocommerce-cart .site-main .cross-sells ul.products li.product img { height:150px; width:100%; object-fit:contain; margin:0 0 12px; }
body.woocommerce-cart .site-main .cross-sells ul.products li.product .woocommerce-loop-product__title { font-size:16px; line-height:1.4; margin:0 0 8px; padding:0; }
body.woocommerce-cart .site-main .cross-sells ul.products li.product .price { color:var(--d1-green); font-size:16px; font-weight:700; }
body.woocommerce-cart .site-main .cross-sells ul.products li.product .button { margin-top:auto; background:var(--lo-color-accent); color:white; font-size:14px; min-height:44px; }
body.woocommerce-cart .lo-cart-bar[hidden] { display:none; }
body.woocommerce-cart .lo-cart-bar { display:none; }
body.woocommerce-cart .woocommerce-notices-wrapper { min-width:0; }
body.woocommerce-cart .site-main .woocommerce-notices-wrapper:empty { display:none; }
body.woocommerce-cart .site-main .cart-empty { background:white; border:1px solid var(--lo-color-line); border-radius:8px; padding:24px 24px 24px 48px; }
body.woocommerce-cart .site-main .return-to-shop .button { background:var(--lo-color-accent); color:white; }
@media(min-width:1200px) {
 body.woocommerce-cart .entry-content > .woocommerce:has(.woocommerce-cart-form) { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:0 24px; align-items:start; }
 body.woocommerce-cart .entry-content > .woocommerce > * { grid-column:1 / -1; min-width:0; }
 body.woocommerce-cart .entry-content > .woocommerce > .lo-cart-heading { grid-row:1; }
 body.woocommerce-cart .entry-content > .woocommerce > .woocommerce-notices-wrapper { grid-row:2; }
 body.woocommerce-cart .entry-content > .woocommerce > .woocommerce-cart-form { grid-column:1; grid-row:3; }
 body.woocommerce-cart .site-main .cart-collaterals { display:contents; }
 body.woocommerce-cart .site-main .cart-collaterals .cart_totals { grid-column:2; grid-row:3; margin-top:42px; }
 body.woocommerce-cart .site-main .cart-collaterals .cross-sells { grid-column:1 / -1; grid-row:4; margin-top:12px; }
}
@media(max-width:1199px) and (min-width:768px) {
 body.woocommerce-cart .site-main .cart_totals { max-width:640px; margin-left:auto; }
 body.woocommerce-cart .site-main .cross-sells ul.products { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:767px) {
 body.woocommerce-cart .site-main { padding-top:16px; }
 body.woocommerce-cart .lo-cart-heading nav { margin-bottom:16px; }
 body.woocommerce-cart .lo-cart-line-count { margin-bottom:16px; }
 body.woocommerce-cart .site-main table.woocommerce-cart-form__contents { border:0; background:none; }
 body.woocommerce-cart .site-main table.cart > thead { display:none; }
 body.woocommerce-cart .site-main table.cart tr.cart_item { grid-template-columns:60px minmax(0,1fr) 132px; gap:12px 8px; padding:16px; margin-bottom:12px; border:1px solid var(--lo-color-line); border-radius:8px; background:white; }
 body.woocommerce-cart .site-main table.cart tr.lo-cart-cutting { background:#fff8ef; }
 body.woocommerce-cart .site-main table.cart .product-name { grid-column:2 / -1; font-size:14px; }
 body.woocommerce-cart .site-main table.cart .product-thumbnail { grid-row:1; }
 body.woocommerce-cart .site-main table.cart .product-thumbnail img { width:60px; height:64px; }
 body.woocommerce-cart .site-main table.cart tr.cart_item .product-price { grid-column:1 / 3; grid-row:2; text-align:left!important; align-self:center; font-size:14px; }
 body.woocommerce-cart .site-main table.cart .product-quantity { grid-column:3; grid-row:2; justify-self:end; }
 body.woocommerce-cart .site-main table.cart tr.cart_item .product-subtotal { display:flex; grid-column:1 / -1; grid-row:3; justify-content:space-between; border-top:1px solid var(--lo-color-line); padding-top:12px; }
 body.woocommerce-cart .site-main table.cart tr.cart_item .product-subtotal::before { display:block; content:attr(data-title) ':'; font-weight:600; }
 body.woocommerce-cart .site-main table.cart .product-remove { grid-column:1 / -1; grid-row:4; justify-self:end; }
 body.woocommerce-cart .site-main table.cart a.remove { min-width:44px; gap:8px; color:var(--lo-color-accent-dark)!important; }
 body.woocommerce-cart .site-main table.cart a.remove::after { content:'Înlătură'; font-size:13px; text-decoration:underline; }
 body.woocommerce-cart .site-main table.cart td.actions { padding:16px; background:white; border:1px solid var(--lo-color-line); border-radius:8px; }
 body.woocommerce-cart .site-main table.cart td.actions .coupon { flex-wrap:wrap; max-width:none; }
 body.woocommerce-cart .site-main table.cart td.actions .coupon .input-text { flex-basis:100%; width:100%; }
 body.woocommerce-cart .site-main table.cart td.actions .coupon .button { width:100%; }
 body.woocommerce-cart .site-main .cart_totals { padding:20px 16px; }
 body.woocommerce-cart .site-main .cross-sells ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 body.woocommerce-cart .site-main .cross-sells ul.products li.product { padding:12px; }
 body.woocommerce-cart .site-main .cross-sells ul.products li.product img { height:100px; }
 body.woocommerce-cart .site-main .cross-sells ul.products li.product .woocommerce-loop-product__title { font-size:14px; }
 body.woocommerce-cart .lo-cart-bar { position:fixed; bottom:0; left:0; right:0; display:grid; gap:8px; padding:12px 16px calc(12px + env(safe-area-inset-bottom)); z-index:40; background:white; border-top:1px solid var(--lo-color-line); box-shadow:0 -2px 12px #142a2810; }
 body.woocommerce-cart .lo-cart-bar-summary { display:flex; gap:12px; align-items:center; width:100%; border:0; padding:0; min-height:32px; background:none; color:var(--d1-green); text-align:left; }
 body.woocommerce-cart .lo-cart-bar-summary strong { font-size:20px; }
 body.woocommerce-cart .lo-cart-bar-summary > span:last-child { margin-left:auto; }
 body.woocommerce-cart .lo-cart-bar-checkout { display:flex; justify-content:center; gap:12px; align-items:center; min-height:48px; background:var(--lo-color-accent); color:white; border-radius:4px; font-weight:600; text-decoration:none; }
 body.woocommerce-cart.lo-cart-has-bar { padding-bottom:calc(116px + env(safe-area-inset-bottom))!important; }
 body.woocommerce-cart.lo-cart-bar-visible .lo-d1-bottom { display:none!important; }
 body.woocommerce-cart .lo-cart-bar :focus-visible { outline:3px solid var(--lo-field-focus); outline-offset:3px; }
}
/* Keep the existing delivery restriction readable within the summary. */
body.woocommerce-cart .site-main .cart_totals .lo-courier-gate-notice td { width:100%; text-align:left!important; }
body.woocommerce-cart .site-main .cart_totals .lo-courier-gate-notice .woocommerce-info { padding:12px; margin:0; border:0; background:var(--lo-color-surface); color:var(--lo-color-muted); font-size:13px; line-height:1.5; }
body.woocommerce-cart .site-main .cart_totals .lo-courier-gate-notice .woocommerce-info::before { display:none; }
/* Woo 11 inserts coupon errors beside the controls; give them their own line. */
body.woocommerce-cart .site-main table.cart td.actions .coupon { display:grid; grid-template-columns:minmax(0,1fr) auto; }
body.woocommerce-cart .site-main table.cart td.actions .coupon .input-text { width:100%; }
body.woocommerce-cart .site-main table.cart td.actions .coupon .coupon-error-notice { grid-column:1 / -1; }
body.woocommerce-cart .site-main .cart_totals table.shop_table .lo-courier-gate-notice:not(:has(.woocommerce-info)) { display:none; }
@media(max-width:767px) {
 body.woocommerce-cart .site-main table.cart td.actions .coupon { grid-template-columns:1fr; }
}

/* Ask for the destination before any quote; keep the native form visible. */
body.woocommerce-cart .lo-shipping-destination-prompt { margin:0 0 12px; font-size:14px; line-height:1.5; color:var(--lo-color-muted); }
body.woocommerce-cart .lo-shipping-destination-prompt + .woocommerce-shipping-calculator .shipping-calculator-form { display:block!important; }
body.woocommerce-cart .lo-shipping-destination-prompt + .woocommerce-shipping-calculator .shipping-calculator-button { display:none; }
body.woocommerce-cart .lo-cart-bar-summary > span:first-child { font-size:13px; }

body.woocommerce-cart .site-main .cart_totals #shipping_method li { flex-wrap:wrap; }
body.woocommerce-cart .site-main .lo-dsc-branch-location { display:grid; gap:4px; flex:0 0 calc(100% - 24px); min-width:0; margin-left:24px; padding:10px 12px; border:1px solid var(--lo-color-line); border-radius:4px; background:var(--lo-color-surface); color:var(--lo-color-muted); font-size:12px; line-height:1.55; text-align:left; overflow-wrap:anywhere; }
body.woocommerce-cart .site-main .lo-dsc-branch-location strong { color:var(--lo-color-ink); font-size:13px; }
body.woocommerce-cart .site-main .lo-dsc-branch-location a { color:var(--lo-color-accent); justify-self:start; }
