.cart-wrap{
  display:grid;
  grid-template-columns:1fr 360px;
  gap:14px;
  align-items:start;
}
@media (max-width:980px){ .cart-wrap{grid-template-columns:1fr} }

.cart-list{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--r);
  box-shadow:var(--shadow);
  overflow:auto;
}
.cart-table{width:100%; border-collapse:separate; border-spacing:0; min-width:860px;}
.cart-table th,.cart-table td{padding:10px; border-bottom:1px solid var(--border); font-size:13.5px;}
.cart-table th{font-size:12px; color:var(--muted); text-transform:uppercase; background:#f9fafb; position:sticky; top:0;}

.qty{
  width:80px; border:1px solid var(--border);
  background:#f9fafb; border-radius:10px;
  padding:8px 10px; font-weight:900;
}
.remove{
  border:1px solid var(--border);
  background:#fff; border-radius:10px;
  padding:8px 10px; cursor:pointer; font-weight:950;
}
.remove:hover{background:#f3f4f6}

.side{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--r);
  box-shadow:var(--shadow);
  padding:14px;
}
.side h3{margin:0 0 10px; font-size:14px; font-weight:950;}
.side .row{display:grid; gap:10px}
.side label{font-size:12px; color:var(--muted); font-weight:900}
.side input,.side textarea{
  width:100%;
  border:1px solid var(--border);
  background:#f9fafb;
  border-radius:12px;
  padding:12px;
  font-size:14px;
}
.side textarea{min-height:90px; resize:vertical}
.actions{display:grid; gap:10px; margin-top:10px}

@media (max-width:520px){
  .cart-table{display:none}
  .cart-cards{display:grid; gap:10px}
  .cart-card{
    background:#fff;
    border:1px solid var(--border);
    border-radius:16px;
    box-shadow:var(--shadow);
    padding:12px;
  }
  .cart-list{background:transparent; border:none; box-shadow:none}
}
/* FIX: на десктопе карточки скрыты, на мобиле показываем */
.cart-cards { display: none; }

@media (max-width: 520px){
  .cart-cards { display: grid; gap: 10px; }
}
/* FIX: нижнее меню не перекрывает контент на мобиле */
@media (max-width:520px){
  body{ padding-bottom: 120px; } /* было 88, увеличиваем */
}
@media (max-width:520px){
  .actions{ padding-bottom: 16px; }
}