/* ==========================================================================
   Gallery Walls index
   ========================================================================== */

.wall-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-xl) var(--space-lg);
}

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

.wall-card {
  display: block;
  transition: transform var(--transition-base);
}

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

.wall-card__image {
  display: block;
  aspect-ratio: 16 / 11;
  border-radius: var(--radius-md);
  overflow: hidden;
  margin-bottom: var(--space-sm);
}

.wall-card__image img { width: 100%; height: 100%; object-fit: cover; }

.wall-card__body h2 {
  font-size: 1.6rem;
  margin-bottom: var(--space-2xs);
}

.wall-card__desc {
  font-weight: var(--weight-light);
  color: var(--color-charcoal);
  opacity: 0.8;
  margin-bottom: var(--space-sm);
  max-width: 42ch;
}

.wall-card__meta {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  margin-bottom: var(--space-sm);
}

.wall-card__meta > span:first-child {
  font-size: 0.85rem;
  opacity: 0.6;
}

.wall-card__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.2rem 0.6rem;
  border-radius: 999px;
  background: var(--color-sage);
  color: var(--color-white);
  font-size: 0.7rem;
  font-weight: var(--weight-medium);
}

.wall-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: var(--space-sm);
  border-top: 1px solid rgba(43, 38, 34, 0.1);
}

.wall-card__price {
  font-weight: var(--weight-medium);
  color: var(--color-charcoal);
}

.wall-card__cta {
  font-size: 0.9rem;
  font-weight: var(--weight-medium);
  color: var(--color-terracotta-dark);
}
