/* ============================================================
   PADEL COLLECTION — Section "Clubs & Ouvertures"
   Timeline horizontale, cartes Outdoor (terracotta) + Indoor (grès).
   ============================================================ */

.clubs {
  position: relative;
  overflow: hidden;
  background: var(--color-sand);
  /* Légère marge latérale comme les autres sections */
  padding-top: 0;
}

/* ============================================================
   BANDE DES MOIS — horizontale, scrollable
   ============================================================ */
.clubs__months {
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
  border-bottom: 1px solid var(--color-border);
}
.clubs__months::-webkit-scrollbar { display: none; }

.clubs__months-track {
  display: inline-flex;
  align-items: stretch;
  min-height: 56px;
  padding: var(--space-m) var(--grid-margin);
  min-width: 100%;
}

.clubs__month {
  display: flex;
  align-items: center;
  width: 72px;
  flex-shrink: 0;
  font-family: var(--font-body);
  font-style: italic;
  font-size: var(--fs-mentions);
  color: var(--color-gres);
  white-space: nowrap;
}
.clubs__month.is-current {
  color: var(--color-terracotta);
  font-style: normal;
}

.clubs__month-sep {
  width: 2px;
  background: var(--color-vanille);
  align-self: stretch;
  flex-shrink: 0;
}

/* ============================================================
   CORPS — indicateur de date + grille cards
   ============================================================ */
.clubs__body {
  position: relative;
  max-width: var(--grid-max-width);
  margin-inline: auto;
  padding: var(--space-xl) var(--grid-margin) calc(var(--space-xl) + 80px);
}

/* ---- Filigrane années ---- */
.clubs__year {
  position: absolute;
  bottom: 0;
  font-family: var(--font-display);
  font-size: clamp(96px, 11vw, var(--fs-h1));
  color: var(--color-vanille);
  line-height: 1;
  pointer-events: none;
  user-select: none;
  z-index: 0;
  white-space: nowrap;
}
.clubs__year--2026 { left: 0; }
.clubs__year--2027 { right: 0; }

/* ---- Grille 3 colonnes ---- */
.clubs__grid {
  position: relative;
  z-index: 1;
  display: grid;
  /* outdoor (large) | ligne | indoor (plus compact) */
  grid-template-columns: minmax(0, 8fr) 72px minmax(0, 4fr);
  column-gap: var(--space-m);
  align-items: start;
}

/* ---- Colonne gauche : card outdoor + inauguration ---- */
.clubs__left {
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
}

/* ---- Ligne verticale + indicateur de date ---- */
.clubs__line-col {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.clubs__date-badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 56px;
  background: var(--color-sand);
  border: 2px solid var(--color-border-strong);
  border-radius: var(--radius-button);
  flex-shrink: 0;
  z-index: 2;
  position: relative;
}
.clubs__date-day {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 18px;
  color: var(--color-noir);
  line-height: 1;
}
.clubs__date-month {
  font-family: var(--font-display-condensed);
  font-size: 13px;
  color: var(--color-noir);
  line-height: 1;
}

.clubs__vert-line {
  width: 2px;
  flex: 1;
  min-height: 240px;
  background: var(--color-vanille);
  margin-block: var(--space-s);
}

/* ============================================================
   CARTES CLUB
   ============================================================ */

/* ---- Card commune ---- */
.club-card {
  border-radius: var(--radius-card);
  padding: var(--space-l);
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
}

/* ---- Card Outdoor : terracotta ---- */
.club-card--outdoor {
  background: var(--color-terracotta);
  color: var(--color-sand);
  padding: var(--space-m);
}

/* ---- Card Indoor : grès ---- */
.club-card--indoor {
  background: var(--color-gres);
  color: var(--color-noir);
  padding: var(--space-m);
}

/* ---- Header de la card ---- */
.club-card__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: var(--space-s);
  flex-wrap: wrap;
}

/* ---- Localisation + nom ---- */
.club-card__location {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: var(--fs-h5);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  line-height: 1.6;
}

.club-card__name {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(36px, 4vw, 56px);
  line-height: 1;
  letter-spacing: -0.01em;
  margin: 0;
}

/* ---- Badge générique ---- */
.club-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  height: 24px;
  padding: 0 10px;
  background: var(--color-noir);
  color: var(--color-sand);
  border-radius: var(--radius-badge);
  font-family: var(--font-display-bold);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  white-space: nowrap;
  flex-shrink: 0;
}

/* ---- Équipements (icônes + compteur) ---- */
.club-card__amenities {
  display: flex;
  align-items: center;
  gap: var(--space-s);
  flex-wrap: wrap;
}

.club-amenity {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  position: relative;
}

.club-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: var(--fs-h4);
  line-height: 1;
  flex-shrink: 0;
}
.club-card--outdoor .club-count {
  background: var(--color-sand);
  color: var(--color-terracotta);
}
.club-card--indoor .club-count {
  background: var(--color-noir);
  color: var(--color-gres);
}

/* ---- Description ---- */
.club-card__desc {
  font-family: var(--font-body);
  font-size: var(--fs-text-2);
  line-height: 1.55;
}
.club-card__desc strong {
  font-family: var(--font-display);
  font-weight: 600;
  font-style: normal;
}

/* ============================================================
   BADGE INAUGURATION
   ============================================================ */
.clubs__inauguration {
  background: var(--color-rouille);
  color: var(--color-sand);
  border-radius: var(--radius-card);
  padding: var(--space-m);
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.clubs__inauguration-title {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: var(--fs-h3);
  line-height: 1;
  display: block;
}
.clubs__inauguration-date {
  font-family: var(--font-body);
  font-size: var(--fs-text-2);
  line-height: 1;
  display: block;
}

/* ============================================================
   ANIMATIONS AU SCROLL
   ============================================================ */
@media (prefers-reduced-motion: no-preference) {
  .club-card,
  .clubs__inauguration {
    opacity: 0;
    transform: translateY(20px);
    transition:
      opacity 600ms var(--ease),
      transform 600ms var(--ease);
  }
  .clubs.is-revealed .club-card--outdoor            { opacity: 1; transform: none; transition-delay: 100ms; }
  .clubs.is-revealed .clubs__inauguration            { opacity: 1; transform: none; transition-delay: 260ms; }
  .clubs.is-revealed .club-card--indoor              { opacity: 1; transform: none; transition-delay: 200ms; }
}

/* ============================================================
   RESPONSIVE
   ============================================================ */

/* Tablet ≤ 1024px */
@media (max-width: 1024px) {
  .clubs__grid {
    grid-template-columns: minmax(0, 1fr) 48px minmax(0, 1fr);
    column-gap: var(--space-s);
  }
  .clubs__vert-line { min-height: 180px; }
}

/* Mobile ≤ 640px — tout en colonne */
@media (max-width: 640px) {
  .clubs__body {
    padding-bottom: clamp(80px, 15vw, 120px);
  }
  .clubs__grid {
    grid-template-columns: 1fr;
    gap: var(--space-m);
  }
  /* Ligne devient horizontale avec date au milieu */
  .clubs__line-col {
    flex-direction: row;
    align-items: center;
    gap: 0;
  }
  .clubs__vert-line {
    flex: 1;
    min-height: 2px;
    height: 2px;
    width: auto;
    margin-block: 0;
    margin-inline: var(--space-s);
  }
  .clubs__year--2026 { font-size: clamp(64px, 18vw, 96px); }
  .clubs__year--2027 { font-size: clamp(64px, 18vw, 96px); }
}
