/* АЙКОН · страница корзины — специфика (система и шапка — shared.css) */

.cart-main{padding:150px 0 90px;min-height:60vh}
.cart-main h1{margin-bottom:10px}
.cart-lead{font-size:14px;color:var(--muted);margin-bottom:34px}
.cart-empty{display:flex;flex-direction:column;align-items:flex-start;gap:20px;padding:50px 40px;border-radius:var(--radius-lg);background:#fff;box-shadow:inset 0 0 0 1px var(--line)}
.cart-empty p{font-size:16px;color:var(--muted)}
.cart-layout{display:grid;grid-template-columns:1.45fr .85fr;gap:34px;align-items:start}

/* позиции */
.cart-items{display:flex;flex-direction:column;gap:14px}
.cart-item{display:flex;gap:16px;align-items:center;padding:16px 18px;border-radius:18px;background:#fff;box-shadow:inset 0 0 0 1px var(--line)}
.cart-item .mini-thumb{width:84px;height:84px;border-radius:14px}
.cart-item .mini-thumb img{max-width:84%;max-height:84%}
.cart-item-info{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.cart-item-name{font-weight:700;font-size:15.5px}
.cart-item-spec{font-size:12.5px;color:var(--muted)}
.cart-item-price{font-size:17px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.cart-item .mini-remove{width:36px;height:36px}

/* апсейл */
.upsell{margin-top:40px}
.upsell h2{font-size:clamp(20px,2vw,26px);margin-bottom:18px}
.upsell-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.upsell-card{display:flex;gap:12px;align-items:center;padding:14px 16px;border-radius:16px;background:#fff;box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .25s,transform .25s var(--ease)}
.upsell-card:hover{box-shadow:inset 0 0 0 1.5px rgba(151,51,198,.4);transform:translateY(-2px)}
.upsell-card .mini-thumb{width:54px;height:54px}
.upsell-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.upsell-name{font-size:13.5px;font-weight:700;line-height:1.3}
.upsell-price{font-size:13px;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums}
.upsell-card .button{min-height:40px;padding:8px 16px;font-size:13px;flex-shrink:0}
.upsell-card .button.in-cart{background:#e8f6ee;color:#1e7d4e;box-shadow:inset 0 0 0 1.5px #2f9e44}

/* итог и форма */
.cart-side{position:sticky;top:120px}
.cart-summary{border-radius:var(--radius-lg);background:#fff;box-shadow:inset 0 0 0 1px var(--line),0 20px 56px rgba(28,20,68,.08);padding:26px 26px 20px}
.cart-total{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--line);font-size:15px}
.cart-total strong{font-size:26px;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.cart-form{display:grid;gap:12px}
.cart-form label{display:grid;gap:6px;font-size:13px;font-weight:650;color:var(--ink-soft)}
.cart-form input,.cart-form textarea{padding:12px 15px;border:0;border-radius:13px;background:#fff;box-shadow:inset 0 0 0 1.5px var(--line);font:inherit;font-size:14px;color:var(--ink);resize:vertical}
.cart-form input:focus,.cart-form textarea:focus{outline:3px solid var(--blue);outline-offset:1px}
.cart-form input[aria-invalid="true"]{box-shadow:inset 0 0 0 1.5px #d6455b}
.cart-form .button{width:100%;min-height:50px;font-size:14.5px;margin-top:4px}
.cart-form-note{font-size:11.5px;color:var(--muted)}
.cart-thanks{padding:18px;border-radius:16px;background:#e8f6ee;box-shadow:inset 0 0 0 1px #c9e8d5}
.cart-thanks[hidden]{display:none}
.cart-thanks strong{display:block;font-size:15.5px;margin-bottom:6px;color:#1e7d4e}
.cart-thanks p{font-size:13px;color:#2d6a4f;margin-bottom:8px}

/* ---------- адаптив ---------- */
@media(max-width:1000px){
  .cart-layout{grid-template-columns:1fr}
  .cart-side{position:static}
}
@media(max-width:760px){
  .cart-main{padding:118px 0 64px}
  .upsell-grid{grid-template-columns:1fr}
  .cart-item{padding:14px 14px}
  .cart-item .mini-thumb{width:64px;height:64px}
}

/* hidden против flex/grid */
.cart-empty[hidden],.cart-layout[hidden],.cart-form[hidden]{display:none}
