.collections-grid {
  max-width: var(--content-max-width);
  margin: 0 auto;
  padding: 64px 48px;
}
.collections-grid__intro { text-align: center; margin-bottom: 52px; }
/* Real bug class found in the 2026-08-22 QA pass (see journal.css for
   the confirmed break) -- min(270px, 100%) closes the same latent gap
   here before it surfaces under a narrower container/fewer items. */
.collections-grid__cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(270px, 100%), 1fr)); gap: 26px; }

.collection-card { background: var(--color-white); border-radius: var(--radius-collection-card); overflow: hidden; display: block; transition: transform .3s ease, box-shadow .3s ease; }
.collection-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-card-hover-light); }
.collection-card__media { height: 230px; position: relative; }
.collection-card__media img { width: 100%; height: 100%; object-fit: cover; }
.collection-card__badge {
  position: absolute; bottom: -24px; left: 24px; width: 48px; height: 48px; border-radius: 50%;
  background: var(--color-charcoal-primary); border: 2px solid var(--color-beige-light);
  display: flex; align-items: center; justify-content: center; color: var(--color-gold-accent); font-size: 18px;
}
.collection-card__body { padding: 34px 24px 26px; }
.collection-card__body .name { font-family: var(--font-serif); font-size: 19px; margin-bottom: 8px; }
.collection-card__body .desc { color: var(--color-text-dark-dim-2); font-size: 13.5px; line-height: 1.6; margin-bottom: 16px; }
.collection-card__body .cta { color: var(--color-brown-leather); font-size: 12px; font-weight: 700; letter-spacing: .05em; }

/* No hero photo uploaded for any real Collection yet -- same dark
   gradient + faint gold "AK" monogram fallback used elsewhere on the
   site's no-image states, instead of a blank white box. */
.collection-card__media:not(:has(img)) {
  background: linear-gradient(160deg, var(--color-charcoal-surface) 0%, var(--color-charcoal-secondary) 100%);
  display: flex; align-items: center; justify-content: center;
}
.collection-card__media:not(:has(img))::before {
  content: "AK";
  font-family: var(--font-serif);
  font-size: 56px;
  color: var(--color-gold-accent);
  opacity: .16;
}

/* Real content gap, not a design choice: no products are assigned to
   this Collection yet. Shown honestly instead of a live "SHOP" link
   into an empty grid. */
.collection-card--coming-soon { cursor: default; }
.collection-card--coming-soon:hover { transform: none; box-shadow: var(--shadow-card-resting-light); }
.collection-card--coming-soon .collection-card__media { opacity: .55; }
.collection-card--coming-soon .cta--soon { color: var(--color-text-dark-dim-2); }
