/* Cart page */
.cart-page { display: grid; gap: var(--s-7); }
.cart-page__lines { min-height: 200px; }
.cart-page__lines:empty { min-height: 390px; } /* 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: calc(var(--header-h-compact) + var(--s-5)); } }
.cart-line--large { grid-template-columns: 120px 1fr; gap: var(--s-5); padding-block: var(--s-5); }
@media (min-width: 720px) { .cart-line--large { grid-template-columns: 160px 1fr; } .cart-line--large .cart-line__name { font-size: var(--text-md); } }
.cart-line .media img { transition: transform 1s var(--ease-out); }
.cart-line .media:hover img { transform: scale(1.03); }
.cart-page__lines .cart-line:first-child { border-top: 1px solid var(--line); }
.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: 1px solid var(--line); border-radius: var(--r-2); background: var(--surface); }
.cart-summary { display: grid; gap: var(--s-2); }
.cart-summary > div { display: flex; justify-content: space-between; font-size: var(--text-sm); color: var(--ink-2); }
.cart-summary dd { font-variant-numeric: tabular-nums; color: var(--ink); }
.cart-summary__total { padding-top: var(--s-3); margin-top: var(--s-1); border-top: 1px solid var(--line); font-weight: 500; }
.cart-summary__total dt { color: var(--ink); }
.promo { display: grid; grid-template-columns: 1fr auto; gap: var(--s-2); }
.promo .btn { min-height: var(--tap); }
.promo__hint { margin-top: calc(-1 * var(--s-2)); }
.promo__hint code { font-family: var(--font-mono); }
.cart-trust { display: grid; gap: var(--s-2); color: var(--ink-3); }
.cart-trust li { display: flex; align-items: center; gap: var(--s-2); }
.cart-trust svg { width: 14px; height: 14px; stroke: currentColor; fill: none; stroke-width: 1.5; }
