.header-cart { position:relative; display:inline-flex; align-items:center; gap:7px; padding:8px 10px; border:1px solid rgba(177,190,247,.17); border-radius:9px; color:#cbd2ed; background:rgba(29,37,73,.62); font-size:11px; font-weight:700; transition:.2s; }
.header-cart:hover { color:#fff; border-color:rgba(111,229,201,.48); background:rgba(52,69,99,.72); }
.header-cart__count { min-width:18px; height:18px; display:grid; place-items:center; padding:0 5px; border-radius:9px; color:#13253b; background:var(--mint); font:700 10px Consolas,monospace; }
.product-actions { display:flex; align-items:center; gap:5px; }
.cart-button { width:32px; height:32px; display:grid; place-items:center; padding:0; border:1px solid rgba(104,224,197,.4); border-radius:7px; color:var(--mint); background:rgba(47,170,148,.11); font-size:15px; transition:.2s; }
.cart-button:hover { color:#112536; background:var(--mint); transform:translateY(-1px); }
.cart-button:disabled { cursor:not-allowed; opacity:.38; }

.cart-page { min-height:calc(100vh - 164px); padding:57px 0 80px; background:radial-gradient(circle at 12% 0,rgba(99,76,188,.14),transparent 24rem); }
.cart-page__heading { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:30px; }
.cart-page__heading h1 { margin:7px 0; font-size:34px; letter-spacing:-1.4px; }
.cart-page__heading p:not(.section-kicker) { margin:0; color:var(--muted); font-size:13px; }
.cart-page__back { width:auto; }
.cart-layout { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:22px; align-items:start; }
.cart-list { display:grid; gap:11px; }
.cart-line { position:relative; display:grid; grid-template-columns:82px minmax(0,1fr) 118px 120px; align-items:center; gap:17px; min-height:112px; padding:14px 47px 14px 14px; border:1px solid var(--line); border-radius:14px; background:linear-gradient(135deg,rgba(32,40,79,.9),rgba(20,26,53,.92)); box-shadow:0 12px 26px rgba(3,6,25,.15); }
.cart-line.is-unavailable { opacity:.68; border-color:rgba(255,131,150,.25); }
.cart-line__art { width:82px; height:82px; position:relative; display:grid; place-items:center; overflow:hidden; border-radius:11px; color:#c9b5ff; background:linear-gradient(145deg,rgba(137,105,223,.3),rgba(31,39,79,.4)); font-size:30px; }
.cart-line__art img { position:absolute; z-index:2; width:62px; height:62px; object-fit:contain; }
.cart-line__content { min-width:0; }
.cart-line__content small { color:#a98cff; font:500 9px Consolas,monospace; letter-spacing:.8px; }
.cart-line__content h2 { overflow:hidden; margin:5px 0 6px; color:#f0f2ff; font-size:15px; text-overflow:ellipsis; white-space:nowrap; }
.cart-line__content p { margin:0; color:#949fc1; font-size:11px; }
.cart-line__content .cart-line__warning { color:#ffb8c4; line-height:1.5; }
.cart-line__quantity form { display:flex; align-items:end; gap:6px; }
.cart-line__quantity label span { display:block; margin-bottom:4px; color:#818bad; font-size:9px; }
.cart-line__quantity input { width:57px; height:32px; padding:0 7px; border:1px solid rgba(180,191,250,.18); border-radius:7px; outline:0; color:#edf0ff; background:#171e3d; }
.cart-line__quantity button { height:32px; padding:0 9px; border:1px solid rgba(180,191,250,.2); border-radius:7px; color:#c5cce7; background:rgba(92,105,160,.12); font-size:10px; }
.cart-line__subtotal { justify-self:end; color:#edf1ff; font:600 16px Consolas,monospace; }
.cart-line__subtotal small { display:block; margin-top:3px; color:var(--mint); font:500 9px Consolas,monospace; text-align:right; }
.cart-line__remove { position:absolute; top:11px; right:11px; }
.cart-line__remove button { width:25px; height:25px; border:0; border-radius:7px; color:#8e98b8; background:rgba(113,124,169,.1); font-size:17px; line-height:1; }
.cart-line__remove button:hover { color:#ffbec8; background:rgba(210,75,104,.15); }
.cart-summary { position:sticky; top:86px; padding:23px; border:1px solid var(--line); border-radius:16px; background:linear-gradient(145deg,rgba(34,43,82,.94),rgba(18,24,50,.96)); box-shadow:var(--shadow); }
.cart-summary h2 { margin:6px 0 22px; font-size:21px; }
.cart-summary__row { display:flex; align-items:center; justify-content:space-between; padding:12px 0; border-bottom:1px solid rgba(188,198,246,.1); color:#909abc; font-size:11px; }
.cart-summary__row strong { color:#dce1f7; font-size:12px; }
.cart-summary__total { margin-bottom:18px; border-bottom:0; }
.cart-summary__total strong { color:#fff; font:600 20px Consolas,monospace; }
.cart-summary__total small { color:var(--mint); font:500 9px Consolas,monospace; }
.cart-checkout-form { display:grid; gap:14px; }
.cart-checkout-form label > span { display:block; margin-bottom:6px; color:#919bbd; font-size:10px; }
.cart-checkout-form select { width:100%; height:39px; padding:0 10px; border:1px solid rgba(180,191,250,.18); border-radius:8px; outline:0; color:#edf0ff; background:#171e3d; font-size:12px; }
.cart-summary__balance { display:flex; justify-content:space-between; color:#8d97b8; font-size:10px; }
.cart-summary__balance strong { color:var(--mint); font:500 11px Consolas,monospace; }
.cart-summary__button { width:100%; margin-top:2px; }
.cart-summary__button:disabled { cursor:not-allowed; opacity:.45; transform:none; }
.cart-summary__notice { margin:0 0 14px; padding:10px; border-radius:8px; color:#d8d0f5; background:rgba(134,105,215,.13); font-size:11px; line-height:1.6; }
.cart-summary__notice.is-error { color:#ffc3cd; background:rgba(185,60,86,.13); }
.cart-page__empty { max-width:560px; margin:45px auto 0; }
.cart-page__empty .button { margin-top:20px; }

@media (max-width:900px) { .cart-layout { grid-template-columns:1fr; }.cart-summary { position:static; }.cart-line { grid-template-columns:70px minmax(0,1fr) 110px 110px; }.cart-line__art { width:70px; height:70px; } }
@media (max-width:680px) { .header-cart { padding:7px; }.header-cart > span:first-child { display:none; }.cart-page { padding:35px 0 60px; }.cart-page__heading { align-items:start; }.cart-page__heading h1 { font-size:28px; }.cart-page__back { padding:9px 11px; }.cart-line { grid-template-columns:62px minmax(0,1fr); gap:11px; padding:12px 39px 12px 12px; }.cart-line__art { width:62px; height:62px; }.cart-line__art img { width:49px; height:49px; }.cart-line__quantity { grid-column:2; }.cart-line__subtotal { position:absolute; right:39px; bottom:18px; }.cart-line__subtotal small { display:inline; }.cart-line__quantity form { align-items:center; }.cart-line__quantity label { display:flex; align-items:center; gap:5px; }.cart-line__quantity label span { margin:0; }.cart-summary { padding:20px; } }
