.cart-page { padding: 46px 0 96px; }
.cart-head { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 28px; }
.cart-head p { max-width: 660px; margin: 18px 0 0; color: var(--store-muted); font-size: 17px; line-height: 1.6; }
.cart-layout { margin-top: 42px; display: grid; grid-template-columns: minmax(0,1.14fr) minmax(360px,.72fr); align-items: start; gap: 18px; }
.cart-list { display: grid; gap: 12px; }
.cart-item { padding: 18px; display: grid; grid-template-columns: 150px minmax(0,1fr) auto; align-items: center; gap: 22px; }
.cart-item__image { height: 120px; border-radius: 12px; display: grid; place-items: center; background: radial-gradient(circle, rgba(58,139,219,.16), transparent 60%), #110d19; }
.cart-item__image img { width: 145px; max-height: 110px; object-fit: contain; }
.cart-item h2 { margin: 0; color: var(--store-title); font-family: "Cuprum", sans-serif; font-size: 31px; font-weight: 500; }
.cart-item p { margin: 8px 0 0; color: var(--store-muted); font-size: 13px; }
.cart-item strong { margin-top: 13px; display: block; color: var(--store-title); font-size: 18px; }
.cart-item__controls { display: grid; justify-items: end; gap: 13px; }
.cart-quantity { display: grid; grid-template-columns: 36px 42px 36px; align-items: center; }
.cart-quantity button, .cart-remove { border: 1px solid var(--store-line); background: transparent; color: var(--store-title); }
.cart-quantity button { width: 36px; height: 36px; border-radius: 9px; }
.cart-quantity output { text-align: center; font-weight: 700; }
.cart-remove { padding: 0; border: 0; color: var(--store-muted); font-size: 12px; text-decoration: underline; text-underline-offset: 3px; }
.cart-remove:hover { color: #ff8760; }
.cart-empty { padding: 50px 30px; text-align: center; }
.cart-empty h2 { margin: 0; color: var(--store-title); font-family: "Cuprum", sans-serif; font-size: 38px; font-weight: 500; }
.cart-empty p { color: var(--store-muted); }

.cart-checkout { padding: 30px; position: sticky; top: 92px; }
.cart-checkout h2 { margin: 0; color: var(--store-title); font-family: "Cuprum", sans-serif; font-size: 34px; font-weight: 500; }
.cart-total { margin: 24px 0; padding: 20px 0; border-block: 1px solid var(--store-line); display: flex; align-items: baseline; justify-content: space-between; gap: 18px; }
.cart-total span { color: var(--store-muted); font-size: 13px; }
.cart-total strong { color: var(--store-title); font-family: "Cuprum", sans-serif; font-size: 31px; }
.cart-checkout__options { margin-bottom: 24px; display: grid; gap: 10px; }
.cart-checkout__options > span { color: var(--store-muted); font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.cart-checkout__options label, .cart-consent { display: grid; grid-template-columns: 19px 1fr; align-items: start; gap: 10px; color: var(--store-text); font-size: 13px; line-height: 1.45; }
.cart-checkout input[type="checkbox"] { width: 17px; height: 17px; margin: 2px 0 0; accent-color: #ff7430; }
.cart-form { display: grid; gap: 12px; }
.cart-field { display: grid; gap: 7px; }
.cart-field span { color: var(--store-muted); font-size: 12px; font-weight: 650; }
.cart-field input, .cart-field textarea { width: 100%; min-height: 50px; padding: 0 14px; border: 1px solid var(--store-line); border-radius: 10px; background: #211a2a; color: #fff; font-size: 16px; outline: none; }
.cart-field textarea { min-height: 88px; padding-block: 12px; resize: vertical; }
.cart-field input:focus, .cart-field textarea:focus { border-color: #ff7a31; box-shadow: 0 0 0 3px rgba(255,122,49,.1); }
.cart-form .store-button { width: 100%; }
.cart-form-status { min-height: 42px; margin: 2px 0 0; color: var(--store-muted); font-size: 13px; line-height: 1.45; }
.cart-form-status.is-error { color: #ff9b8f; }
.cart-form-status.is-success { color: #69e1ae; }

:root[data-theme="light"] .cart-item__image { background: radial-gradient(circle, rgba(42,137,194,.16), transparent 60%), #edf5f9; }
:root[data-theme="light"] .cart-field input, :root[data-theme="light"] .cart-field textarea { background: #fff; color: #172630; }

@media (max-width: 920px) {
  .cart-layout { grid-template-columns: 1fr; }
  .cart-checkout { position: static; }
}
@media (max-width: 620px) {
  .cart-head { grid-template-columns: 1fr; }
  .cart-item { grid-template-columns: 94px 1fr; gap: 14px; }
  .cart-item__image { height: 94px; }
  .cart-item__controls { grid-column: 1 / -1; grid-template-columns: auto 1fr; align-items: center; justify-items: start; }
  .cart-checkout { padding: 24px 20px; }
}
