/*
 * ════════════════════════════════════════════════════════════
 *  Expositions index — ART AU FÉMININ
 *  Chargé par : expositions/index.html.erb
 * ════════════════════════════════════════════════════════════
 */

/* One inline gutter for the header and the grids, so their left edges line up */
.expos-page {
  --expos-gutter: 3rem;
  padding-bottom: 6rem;
}

/* ── Header ──────────────────────────────────────────── */

.expos-header { padding: 5rem var(--expos-gutter) 1rem; }

.expos-heading {
  font-family: var(--font-serif);
  font-weight: 400;
  font-style: italic;
  font-size: var(--text-3xl);
  line-height: 1.1;
  color: var(--foreground);
  letter-spacing: var(--tracking-tight);
  margin: 0;
}

/* ── Grilles ─────────────────────────────────────────────
 * Columns come from the content: as many as fit at 14–15rem each,
 * one column only when even that no longer fits. */

.categories-grid,
.expos-list { padding: 3rem var(--expos-gutter) 0; }

.categories-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
  gap: 1.5rem;
}

.expo-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr));
  gap: 1.5rem;
}

/* The whole card opens the exhibition, like the category cards above */
.expo-card { position: relative; }
.expo-card-link { color: inherit; text-decoration: none; }
.expo-card-link::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.expo-card-dates { letter-spacing: var(--tracking-wide); text-transform: uppercase; }

.expo-card-stats { gap: 1.2rem; }

.expo-stat {
  font-size: var(--text-xs);
  color: var(--muted-foreground);
  letter-spacing: var(--tracking-wide);
}

.expo-stat strong {
  color: var(--foreground);
  font-style: normal;
  font-weight: 400;
  font-size: var(--text-base);
  font-family: var(--font-serif);
}

.expos-empty {
  font-size: var(--text-base);
  font-style: italic;
  color: var(--muted-foreground);
  padding: 2rem 0;
}
.expos-empty a { color: var(--foreground); text-underline-offset: 3px; }

/* ── Galeries partenaires (F5) ───────────────────────── */

.expos-partners { padding: 4rem var(--expos-gutter) 0; }

.expos-section-title {
  margin: 0 0 1.5rem;
  font-family: var(--font-serif);
  font-weight: 400;
  font-style: italic;
  font-size: var(--text-2xl);
  line-height: 1.2;
  color: var(--foreground);
  letter-spacing: var(--tracking-tight);
}

/* ── Responsive ──────────────────────────────────────── */

@media (max-width: 900px) {
  .expos-page   { --expos-gutter: 1.5rem; }
  .expos-header { padding-top: 4rem; }
  .categories-grid,
  .expos-list   { padding-top: 2.5rem; }
  .expos-partners { padding-top: 3rem; }
  .categories-grid { gap: 1.2rem; }
}
@media (max-width: 480px) {
  .expos-header { padding-top: 3rem; }
  .categories-grid { gap: 1rem; }
}
