/* Cart page only */

.cart-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap: 12px;
  flex-wrap: wrap;
  margin: 6px 0 14px;
}

.cart-title{
  margin:0;
  font-size: clamp(1.6rem, 2.2vw, 2.1rem);
  letter-spacing:.2px;
}

.cart-subtitle{
  margin: 6px 0 0;
  color: var(--muted);
}

.cart-layout{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 18px;
  align-items:start;
  margin-top: 12px;
}

@media (max-width: 980px){
  .cart-layout{ grid-template-columns: 1fr; }
}

/* Panel helpers (used in cart only; could also be promoted to main.css later) */
.panel{
  background: rgba(255,255,255,.78);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  overflow:hidden;
}

.panel-head{
  padding: 16px 16px 12px;
  border-bottom: 1px solid var(--border);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
}

.panel-body{
  padding: 14px 16px 16px;
}

/* Line items */
.cart-line{
  display:grid;
  grid-template-columns: 1fr 130px 160px 130px;
  gap: 12px;
  align-items:center;
  padding: 14px 0;
  border-bottom: 1px solid rgba(31,42,36,.08);
}

.cart-line:last-child{ border-bottom:none; }

.cart-line__title strong{
  display:block;
  font-size: 1.02rem;
  letter-spacing:.15px;
}
.cart-line__meta{
  color: var(--muted);
  font-size: .92rem;
  margin-top: 4px;
}

.cart-label{
  display:block;
  color: var(--muted);
  font-size: .88rem;
  margin-bottom: 6px;
  font-weight: 700;
}

.cart-money{
  font-weight: 950;
  color: rgba(31,42,36,.92);
  letter-spacing:.1px;
}

.cart-qtyInput{
  margin-bottom: 0;
  width: 140px;
  padding: 10px 12px;
  border-radius: 14px;
}

/* Actions */
.cart-line__actions{
  display:flex;
  justify-content:flex-end;
}

/* Mobile layout */
@media (max-width: 760px){
  .cart-line{
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "title title"
      "price subtotal"
      "qty actions";
    align-items:start;
  }

  .cart-line__title{ grid-area: title; }
  .cart-line__price{ grid-area: price; }
  .cart-line__subtotal{ grid-area: subtotal; text-align:right; }
  .cart-line__qty{ grid-area: qty; }
  .cart-line__actions{ grid-area: actions; }
}

/* Summary */
.cart-summary{
  position: sticky;
  top: 86px;
}

@media (max-width: 980px){
  .cart-summary{ position: static; }
}

.cart-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding: 10px 0;
  border-bottom: 1px solid rgba(31,42,36,.08);
}

.cart-row:last-child{ border-bottom:none; }

.cart-divider{
  height: 1px;
  background: rgba(31,42,36,.10);
  margin: 12px 0;
}

.cart-row--total{
  border-bottom:none;
}

.cart-total{
  font-size: 1.35rem;
  font-weight: 950;
  color: var(--brand-2);
  letter-spacing:.2px;
}

.cart-checkoutBtn{
  width: 100%;
  padding: 14px 16px;
  font-size: 1.05rem;
}

.cart-tip{
  margin-top: 10px;
}

.cart-spacer{ height: 10px; }

.cart-empty{
  text-align:center;
  padding: 32px 16px;
}

.cart-empty h2{
  margin: 0 0 8px;
  letter-spacing:.2px;
}

.cart-empty p{
  margin: 0 0 16px;
  color: var(--muted);
}

/* Toast (same pattern used on product page) */
.toast{
  position: fixed;
  right: 18px;
  bottom: 18px;
  max-width: 360px;
  padding: 14px 14px;
  border-radius: 16px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.85);
  backdrop-filter: blur(10px);
  box-shadow: var(--shadow);
  display:none;
  z-index: 50;
}

.toast.show{ display:block; }

.toast .small{
  color: var(--muted);
  font-size: .9rem;
}

.toast.error{
  border-color: rgba(180,35,24,.25);
  background: rgba(180,35,24,.10);
}
