.bouquet-grid {
  display: grid;
  gap: var(--space-3);
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

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

.card {
  background: var(--surface-color);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
  overflow: hidden;
  transition: transform 0.2s ease;
}

.card:hover { transform: translateY(-2px); }

.card__media { position: relative; }
.card__image { aspect-ratio: 4/3; object-fit: cover; }

.card__badge {
  background: rgba(17, 24, 39, 0.85);
  border-radius: 999px;
  color: #fff;
  font-size: 0.75rem;
  left: 10px;
  padding: 4px 8px;
  position: absolute;
  top: 10px;
}

.card__body { padding: var(--space-3); }
.card__title { margin-bottom: 4px; }
.card__description { color: var(--text-muted); font-size: 0.92rem; margin-bottom: var(--space-2); }

.card__price-row { align-items: baseline; display: flex; gap: 8px; margin-bottom: var(--space-2); }
.card__price { font-weight: 700; }
.card__old-price { color: #9ca3af; text-decoration: line-through; }

.card__actions { display: grid; gap: 8px; grid-template-columns: 1fr 1fr; }

@media (max-width: 1200px) {
  .bouquet-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .bouquet-grid--catalog { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .bouquet-grid, .bouquet-grid--catalog { grid-template-columns: 1fr; }
  .card__body { padding: var(--space-2); }
  .card__actions { grid-template-columns: 1fr; }
  .card__actions .btn { width: 100%; }
}

@media (max-width: 480px) {
  .card__title { font-size: 1.2rem; }
  .card__description { font-size: 0.9rem; }
  .card__price-row {
    flex-wrap: wrap;
    gap: 4px 8px;
  }
}
