/* ==========================================================================
   ACCOUNT PAGES — cart + wishlist share this file: a compact heading,
   a simple line-item list (cart) or product grid (wishlist), same empty
   state language as the shop grid.
   ========================================================================== */
.account-page{
  padding-top: calc(var(--nav-height) + var(--sp-6));
  padding-bottom: var(--sp-8);
}
.account-page-head{ margin-bottom: var(--sp-5); }
.account-page-head h1{
  font-family: var(--font-display); font-weight: 800;
  font-size: clamp(var(--text-4), 2.6vw, var(--text-5));
  color: var(--forest);
}

.cart-list{ display: flex; flex-direction: column; gap: var(--sp-3); }

.cart-line{
  display: grid;
  grid-template-columns: 80px 1fr auto auto auto;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-3) 0;
  border-bottom: 1px solid var(--line);
  transition: opacity var(--d2) var(--ease);
}
.cart-line-media{
  width: 80px; height: 80px; border-radius: var(--radius-md); overflow: hidden; display: block;
}
.cart-line-media img{ width: 100%; height: 100%; object-fit: cover; }

.cart-line-info{ display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.cart-line-name{
  font-family: var(--font-display); font-weight: 600; color: var(--ink);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.cart-line-category{ font-size: var(--text-caption); color: var(--bronze); }
.cart-line-price{ font-size: var(--text-small); color: var(--forest); font-weight: 600; }

.cart-line-subtotal{ font-weight: 700; color: var(--forest); white-space: nowrap; }

.cart-line-remove{
  width: 36px; height: 36px; border-radius: 50%; border: none; background: none;
  color: var(--bronze); display: flex; align-items: center; justify-content: center; cursor: pointer;
  transition: color var(--d2) var(--ease), background var(--d2) var(--ease);
}
.cart-line-remove svg{ width: 16px; height: 16px; }
.cart-line-remove:hover{ color: var(--color-error); background: var(--linen); }

.cart-summary{
  display: flex; align-items: center; justify-content: space-between;
  margin-top: var(--sp-4); padding-top: var(--sp-4);
  font-size: var(--text-2);
}
.cart-summary strong{ color: var(--forest); font-size: var(--text-3); }

.cart-checkout-btn{
  display: block; width: 100%; text-align: center;
  margin-top: var(--sp-4);
}

@media (max-width: 640px){
  .cart-line{ grid-template-columns: 60px 1fr auto; grid-template-areas: "media info remove" "media qty subtotal"; }
  .cart-line-media{ grid-area: media; width: 60px; height: 60px; }
  .cart-line-info{ grid-area: info; }
  .cart-line-remove{ grid-area: remove; }
  .qty-stepper{ grid-area: qty; }
  .cart-line-subtotal{ grid-area: subtotal; }
}
