/* Cart page, scoped to the cart route. Native cart updates and forms are retained. */
#cart .es-cart-page { --cart-modal-line:#e7e7e7; --cart-modal-radius:12px; --cart-ink:#171717; --cart-muted:#6d6d6d; padding-bottom:28px; display:grid; grid-template-columns:minmax(0,1fr) 350px; gap:24px 28px; align-items:start; }
#cart .es-cart-page > .page-title { grid-column:1 / -1; margin:0; padding:0; border:0; font-size:30px; line-height:1.2; font-weight:600; }
#cart .cart-grid { display:contents; }
#cart .cart-grid-body { grid-column:1; grid-row:2; }
#cart .cart-grid-right { grid-column:2; grid-row:2 / span 2; }
#cart .cart-grid > .cart-grid-body,
#cart .cart-grid > .cart-grid-right { width:auto; max-width:none; padding:0; min-width:0; }
#cart .cart-container { border:1px solid var(--cart-modal-line); border-radius:var(--cart-modal-radius); padding:0; overflow:visible; }
#cart .cart-items { margin:0; padding:0; }
#cart .cart-item { padding:20px; border:0; border-bottom:1px solid var(--cart-modal-line); }
#cart .cart-item:last-child { border-bottom:0; }
#cart .product-line-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,40%); gap:20px; margin:0; }
#cart .product-line-grid > div { width:auto; max-width:none; padding:0; min-width:0; }
#cart .product-line-grid-body > .row { display:grid; grid-template-columns:72px minmax(0,1fr); gap:16px; margin:0; }
#cart .product-line-grid-body > .row > div { width:auto; max-width:none; padding:0; }
#cart .product-line-grid-body .product-image img { width:72px; height:94px; object-fit:contain; }
#cart .product-line-info > a.label { font-size:14px; font-weight:500; line-height:1.5; color:var(--cart-ink); }
#cart .product-line-grid-right > .row { display:grid; grid-template-columns:minmax(58px,1fr) 68px minmax(64px,1fr) 36px; gap:10px; margin:0; }
#cart .product-line-grid-right > .row > div { width:auto; max-width:none; padding:0; min-width:0; }
#cart .unit-price { font-size:13px; color:var(--cart-muted); }
#cart .product-line-grid .price { text-align:right; }
#cart .product-line-grid .product-price { color:var(--cart-ink); font-size:16px; white-space:nowrap; }
#cart .cart-item .bootstrap-touchspin { width:68px; max-width:68px; }
#cart .cart-item .js-cart-line-product-quantity { height:44px; padding:8px; border:1px solid #dedede; border-radius:6px 0 0 6px; text-align:center; font-size:14px; }
#cart .cart-item .input-group-btn-vertical .btn { width:24px; height:22px; padding:0; border-color:#dedede; background:#f7f7f7; color:#333; }
#cart .remove-from-cart { display:flex; width:36px; height:44px; align-items:center; justify-content:center; color:#777; border-radius:6px; }
#cart .remove-from-cart:hover { color:#a03232; background:#fff1f1; }
#cart .cart-summary { border:1px solid var(--cart-modal-line); border-radius:var(--cart-modal-radius); background:#f7f7f7; overflow:hidden; }
#cart .es-cart-summary-title { margin:0; padding:22px 20px 12px; font-size:18px; font-weight:600; }
#cart .cart-summary .card-body { padding:14px 20px; }
#cart .cart-summary hr { margin:0 20px; border-color:#e2e2e2; }
#cart .cart-summary .cart-summary-line { display:flex; justify-content:space-between; gap:12px; font-size:14px; margin-bottom:8px; }
#cart .cart-summary .cart-summary-line .value { width:auto; flex:0 0 auto; text-align:right; white-space:nowrap; }
#cart .cart-summary .cart-summary-line.cart-total { font-size:19px; font-weight:600; color:var(--cart-ink); }
#cart .cart-summary-line .sub { font-size:12px; color:var(--cart-muted); }
#cart .cart-summary .iqitfreedeliverycount { padding:12px!important; margin:12px 0 0!important; border:1px solid #e4dece; border-radius:8px; background:#fff; color:#494332; font-size:12px; line-height:1.6; }
#cart .cart-summary .iqitfreedeliverycount p { margin:0; }
#cart .block-promo { padding:16px 20px; background:transparent; }
#cart .cart-voucher .input-group { display:flex; flex-wrap:nowrap; gap:8px; }
#cart .cart-voucher .voucher-icon { display:none; }
#cart .cart-voucher input[name=discount_name] { min-width:0; width:0; flex:1; height:44px; padding:10px 12px; border:1px solid #ddd; border-radius:6px; background:#fff; font-size:13px; }
#cart .cart-voucher .input-group-append { flex:0 0 auto; }
#cart .cart-voucher button { border:1px solid #ccc; border-radius:6px; padding:10px 14px; min-height:44px; font-size:13px; color:#222; background:#fff; }
#cart .cart-voucher .alert-danger { font-size:13px; line-height:1.5; }
#cart .cart-detailed-actions .btn { min-height:48px; padding:13px 14px; font-size:14px; line-height:20px; border-radius:8px; background:#111; color:#fff; border-color:#111; }
#cart .cart-detailed-actions .btn:hover { background:#333; }
#cart .cart-grid-body > .btn-secondary { min-height:44px; padding:11px 16px; border:1px solid #ddd; border-radius:8px; font-size:13px; background:#fff; color:#333; }
#cart .es-cart-suggestions { grid-column:1; grid-row:3; margin:0; min-width:0; }
#cart .es-cart-crossselling { border-top:1px solid var(--cart-modal-line); padding-top:22px; }
#cart .es-cart-crossselling .crossselling-products-modal-title { margin:0 0 16px; padding:0; font-size:18px; font-weight:600; line-height:1.5; }
#cart .es-cart-crossselling .es-cart-recommendation { flex-basis:350px; }
#cart .es-cart-crossselling .input-group-add-cart > .bootstrap-touchspin { display:none; }
#cart .es-cart-crossselling .product-availability { font-size:11px; line-height:1.3; }
#cart .es-cart-page :is(a,button,input,[tabindex]):focus-visible { outline:2px solid #9a7828; outline-offset:3px; }
@media(max-width:1199px) {
 #cart .es-cart-page { grid-template-columns:minmax(0,1fr) 310px; gap:20px; }
 #cart .product-line-grid { grid-template-columns:minmax(0,1fr); gap:12px; }
 #cart .product-line-grid-right { padding-left:88px!important; }
}
@media(max-width:991px) {
 #cart .es-cart-page { display:block; }
 #cart .es-cart-page > .page-title { margin-bottom:20px; }
 #cart .cart-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:20px; }
 #cart .cart-grid-body, #cart .cart-grid-right { grid-column:auto; grid-row:auto; }
 #cart .es-cart-suggestions { margin-top:24px; }
 #cart .product-line-grid { grid-template-columns:minmax(0,1fr) 290px; }
 #cart .product-line-grid-right { padding-left:0!important; }
}
@media(max-width:575px) {
 #cart .es-cart-page > .page-title { font-size:25px; margin-bottom:18px; }
 #cart .cart-item { padding:14px; }
 #cart .product-line-grid { grid-template-columns:minmax(0,1fr); gap:14px; }
 #cart .product-line-grid-body > .row { grid-template-columns:60px minmax(0,1fr); gap:12px; }
 #cart .product-line-grid-body .product-image img { width:60px; height:78px; }
 #cart .product-line-grid-right > .row { grid-template-columns:minmax(48px,1fr) 68px minmax(60px,1fr) 36px; gap:8px; }
 #cart .es-cart-crossselling .es-cart-recommendation { flex-basis:calc(100% - 18px); }
 #cart .es-cart-crossselling .crossselling-products-modal-title { font-size:16px; }
 #cart .cart-grid { gap:12px; }
}

#cart .cart-summary .cart-summary-line .label { width:auto; flex:1; }
#cart .cart-voucher-area { padding:0; background:transparent; }
#cart .cart-container .cart-items { border:0; border-radius:12px; }
