.cart-grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 1.5rem; align-items: start; }
@media (max-width: 820px) { .cart-grid { grid-template-columns: 1fr; } }
.cart .card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 1rem 1.25rem; margin-top: 1rem; }
.cart-summary { position: sticky; top: 5rem; margin-top: 0 !important; }
.cart-summary dl { display: grid; grid-template-columns: 1fr auto; gap: .35rem 1rem; margin: 0 0 .5rem; }
.cart-summary dd { margin: 0; text-align: right; font-weight: 600; }
.cart-summary label, .cart-summary select { display: block; width: 100%; margin: .5rem 0; }
.cart-summary .btn { width: 100%; }
.cart-table { width: 100%; border-collapse: collapse; }
.cart-table th, .cart-table td { padding: .6rem .5rem; border-bottom: 1px solid var(--border); vertical-align: top; text-align: left; }
.cart-table .num { text-align: right; white-space: nowrap; }
.cart-table input[type=number] { width: 4.5em; }
.cart .row { display: flex; gap: .5rem; flex-wrap: wrap; margin: .5rem 0; }
.cart .row input[type=text] { flex: 1 1 14em; min-width: 0; padding: .45rem .6rem; }
.cart .stock { color: var(--ok); }
.cart .bad, .cart .stock.bad { color: var(--danger); }
.link-btn { background: none; border: 0; color: var(--accent); cursor: pointer; padding: 0; font: inherit; }
.mono { font-family: var(--mono); }
.cart [hidden], [data-cart-count][hidden] { display: none !important; }

.cart-packs{margin:.75rem 0;padding:.6rem .8rem;border-left:3px solid #2e8b57;background:rgba(46,139,87,.08);border-radius:4px}
.cart-packs ul{margin:.3rem 0 0 1.1rem;padding:0}
