.lv-card {
  background: var(--lv-near-black);
  border: 1px solid var(--lv-gold-soft);
  transition: border-color .3s ease, transform .25s ease;
  display: flex;
  flex-direction: column;
}
.lv-card:hover { border-color: var(--lv-gold); transform: translateY(-4px); }

.lv-card-image {
  display: block;
  position: relative;
  aspect-ratio: 1;
  background: #000;
  padding: 24px;
  box-sizing: border-box;
  overflow: hidden;
}
.lv-card-image img { width: 100%; height: 100%; object-fit: contain; display: block; transition: transform .3s ease; }
.lv-card:hover .lv-card-image img { transform: scale(1.04); }

@media (prefers-reduced-motion: reduce) {
  .lv-card { transition: border-color .3s ease; }
  .lv-card:hover { transform: none; }
  .lv-card-image img { transition: none; }
  .lv-card:hover .lv-card-image img { transform: none; }
}

@media (max-width: 480px) {
  .lv-card-title { font-size: 15px; }
  .lv-card-add { padding: 13px; font-size: 12px; }
}

.lv-card-body { padding: 0 18px 20px; display: flex; flex-direction: column; gap: 8px; }

.lv-card-title {
  font: 400 17px/1.3 var(--lv-font-display);
  color: var(--lv-cream);
  text-decoration: none;
}
.lv-card-title:hover { color: var(--lv-gold); }

.lv-card-price {
  font: 600 13px/1 var(--lv-font-sans);
  color: var(--lv-gold);
  margin: 0 0 8px;
}

.lv-card-add {
  width: 100%;
  padding: 11px;
  background: transparent;
  border: 1px solid var(--lv-gold);
  color: var(--lv-cream);
  font: 600 11px/1 var(--lv-font-sans);
  letter-spacing: .14em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .3s ease, color .3s ease;
}
.lv-card-add:hover:not(:disabled) { background: var(--lv-gold); color: #000; }
.lv-card-add:disabled { opacity: .4; cursor: not-allowed; }
