/* Bag page */
.cart-page { display: grid; gap: var(--s-7); }
.cart-page__lines { min-height: 200px; }
.cart-page__lines:empty { min-height: 420px; } /* height of the empty-bag block; reserved until cart.js renders, so nothing below shifts */
@media (min-width: 900px) { .cart-page { grid-template-columns: 1fr 380px; gap: var(--s-8); align-items: start; } .cart-page__summary { position: sticky; top: var(--page-top); } }
.cart-page__lines .cart-line:first-child { border-top: 1px solid var(--line); }
.cart-line .media img { transition: transform 1s var(--ease-out); }
.cart-line .media:hover img { transform: scale(1.03); }
.cart-empty--page { padding: var(--s-9) 0; border-top: 1px solid var(--line); }

.cart-page__summary { display: grid; gap: var(--s-4); padding: var(--s-5); border-radius: var(--r-3); }
.cart-summary { display: grid; gap: var(--s-2); }
.cart-summary > div { display: flex; justify-content: space-between; font-size: var(--text-sm); color: var(--fg-2); }
.cart-summary dd { font-family: var(--font-mono); font-variant-numeric: tabular-nums; color: var(--fg); }
.cart-summary__total { padding-top: var(--s-3); margin-top: var(--s-1); border-top: 1px solid var(--line); font-weight: 600; }
.cart-summary__total dt { color: var(--fg); }
.promo { display: grid; grid-template-columns: 1fr auto; gap: var(--s-2); }
.promo .btn { min-height: 50px; }
.promo__hint { margin-top: calc(-1 * var(--s-2)); }
.promo__hint code { font-family: var(--font-mono); color: var(--lime); }
