.shop-toolbar { display: flex; gap: 0.75rem; flex-wrap: wrap; align-items: center; margin-bottom: 1rem; }
.cart-link { margin-left: auto; color: var(--color-action); text-decoration: none; text-transform: uppercase; letter-spacing: 0.12em; }
.product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.product-card { border: 1px solid var(--color-border); background: var(--color-surface); overflow: hidden; }
.product-card-media { height: 320px; background: #050505; }
.product-card-media img, .product-card-media video { width: 100%; height: 100%; object-fit: cover; }
.product-card-body { padding: 1rem; display: grid; gap: 0.75rem; }
.product-card h3 { margin: 0; font-family: var(--font-display); text-transform: uppercase; font-size: 2rem; }
.product-price { color: var(--color-action); font-weight: 900; }
.cart-layout, .checkout-layout, .account-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 420px); gap: 1rem; align-items: start; }
.cart-item { display: grid; grid-template-columns: 96px 1fr auto; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--color-border); }
.cart-item img { width: 96px; height: 96px; object-fit: cover; }
.payment-choice { display: flex; gap: 0.75rem; flex-wrap: wrap; }

.product-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.product-card-media {
  position: relative;
  display: grid;
  place-items: center;
  aspect-ratio: 4 / 3;
  min-height: 0;
  overflow: hidden;
  background: radial-gradient(circle, rgba(255, 48, 48, 0.08), #050505);
}

@media (max-width: 980px) {
  .product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .product-grid {
    grid-template-columns: 1fr;
  }
}

.product-card-media {
  height: auto;
}

.product-card-media img,
.product-card-media video {
  object-fit: var(--media-object-fit, contain);
  background: #030303;
}

.cart-item img {
  object-fit: contain;
  background: #030303;
}
