/*
 * Phase 2 — Lot CSS 2AV
 * Module : alignement final des cartes programmées
 * Extraction stricte du bloc nf-FINAL-cards-alignment.
 * Aucune règle de navigation et aucun JavaScript modifiés.
 */

/* FIX décalage parent indenté : forcer margin négatif pour aligner sur le bord du screen */
section#nf-v69-programmed-list {
  margin-left: 0 !important;
  margin-right: 0 !important;
  position: relative !important;
}
/* Si le wrap est dans un conteneur avec padding, on étend les cartes au-delà */
#screen-seances section#nf-v69-programmed-list,
#screen-seances > section#nf-v69-programmed-list,
section#nf-v69-programmed-list[id] {
  padding: 0 !important;
  margin: 16px 0 0 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}


/* CSS FINAL d'alignement des cartes programmées
   Placé en fin de body pour battre TOUS les patches V69-V79 en cascade CSS
   Tous les padding/border/border-radius sont forcés au format nf-card */

/* Wrap : ZERO padding latéral pour aligner sur les cartes du haut */
section#nf-v69-programmed-list,
#screen-seances section#nf-v69-programmed-list,
#screen-seances #nf-v69-programmed-list,
#screen-seances section#nf-v69-programmed-list[style] {
  padding: 0 !important;
  margin: 16px 0 0 !important;
  border: none !important;
  background: transparent !important;
  width: auto !important;
}

/* Titre "VOS PRATIQUES PROGRAMMÉES" */
#screen-seances #nf-v69-programmed-list .nf-v79-titlebar,
#screen-seances #nf-v69-programmed-list .nf-v78-titlebar,
#screen-seances #nf-v69-programmed-list .nf-v77-titlebar,
#screen-seances #nf-v69-programmed-list .nf-v75-program-titlebar,
#screen-seances #nf-v69-programmed-list .nf-v74-program-titlebar,
#screen-seances #nf-v69-programmed-list > div:first-child {
  font-family: var(--font-mono) !important;
  font-size: .58rem !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: var(--nf-ink-mid) !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  display: block !important;
}
#screen-seances #nf-v69-programmed-list .nf-v79-titlebar::before,
#screen-seances #nf-v69-programmed-list .nf-v79-titlebar::after,
#screen-seances #nf-v69-programmed-list .nf-v77-titlebar::before,
#screen-seances #nf-v69-programmed-list .nf-v77-titlebar::after {
  display: none !important;
}

/* Cartes : EXACTEMENT le même style que .nf-card du haut/bas */
#screen-seances #nf-v69-programmed-list .nf-v79-program-card,
#screen-seances #nf-v69-programmed-list .nf-v78-program-card,
#screen-seances #nf-v69-programmed-list .nf-v77-card,
#screen-seances #nf-v69-programmed-list .nf-v75-program-card,
#screen-seances #nf-v69-programmed-list .nf-v74-program-card,
#screen-seances #nf-v69-programmed-list .nf-v73-card,
#screen-seances #nf-v69-programmed-list .nf-v69-program-card,
#screen-seances #nf-v69-programmed-list article,
#screen-seances #nf-v69-programmed-list > article {
  background: var(--nf-beige-light) !important;
  border: none !important;
  border-radius: 16px !important;
  padding: 16px 18px !important;
  margin: 0 0 12px 0 !important;
  width: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  box-shadow: none !important;
  display: block !important;
  overflow: visible !important;
  cursor: pointer;
  position: static !important;
}

#screen-seances #nf-v69-programmed-list .nf-v79-program-card::before,
#screen-seances #nf-v69-programmed-list .nf-v79-program-card::after {
  display: none !important;
}

/* HEURE : grand serif comme les cartes du haut */
#screen-seances #nf-v69-programmed-list .nf-v79-time,
#screen-seances #nf-v69-programmed-list .nf-v78-time {
  font-family: var(--font-serif) !important;
  font-size: 1.2rem !important;
  line-height: 1.2 !important;
  font-weight: normal !important;
  color: var(--nf-ink) !important;
  letter-spacing: 0 !important;
  margin: 0 0 4px !important;
}

/* TITRE : gras 95% comme les cartes du haut */
#screen-seances #nf-v69-programmed-list .nf-v79-title,
#screen-seances #nf-v69-programmed-list .nf-v78-title {
  font-family: var(--font-ui) !important;
  font-weight: 600 !important;
  font-size: .95rem !important;
  line-height: 1.3 !important;
  color: var(--nf-ink) !important;
  letter-spacing: 0 !important;
  margin: 0 0 6px !important;
}

/* META : mono petit avec icône ↺ */
#screen-seances #nf-v69-programmed-list .nf-v79-meta,
#screen-seances #nf-v69-programmed-list .nf-v78-meta {
  font-family: var(--font-mono) !important;
  font-size: .58rem !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: var(--nf-ink-mid) !important;
  margin: 0 !important;
  line-height: 1.4 !important;
}

/* DATE : sur la MÊME LIGNE que l'heure (à côté), en copper plus petit */
#screen-seances #nf-v69-programmed-list .nf-v79-date,
#screen-seances #nf-v69-programmed-list .nf-v78-date {
  display: inline-block !important;
  font-family: var(--font-mono) !important;
  font-size: .68rem !important;
  letter-spacing: .12em !important;
  color: var(--nf-copper) !important;
  margin: 0 0 0 12px !important;
  padding: 0 !important;
  line-height: 1.2 !important;
  vertical-align: 0.35em !important;
}
/* L'heure doit aussi être inline pour partager la ligne avec la date */
#screen-seances #nf-v69-programmed-list .nf-v79-time,
#screen-seances #nf-v69-programmed-list .nf-v78-time {
  display: inline-block !important;
  vertical-align: baseline !important;
  margin: 0 !important;
}
/* Ajouter une marge en bas du conteneur heure+date pour aérer */
#screen-seances #nf-v69-programmed-list .nf-v79-time + .nf-v79-date,
#screen-seances #nf-v69-programmed-list .nf-v78-time + .nf-v78-date {
  /* La date suit l'heure inline */
}

/* Layout interne : flex pour bouton ... à droite */
#screen-seances #nf-v69-programmed-list .nf-v79-head,
#screen-seances #nf-v69-programmed-list .nf-v78-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin: 0 !important;
}

#screen-seances #nf-v69-programmed-list .nf-v79-timeblock,
#screen-seances #nf-v69-programmed-list .nf-v78-main {
  flex: 1 !important;
  min-width: 0 !important;
}

#screen-seances #nf-v69-programmed-list .nf-v79-side,
#screen-seances #nf-v69-programmed-list .nf-v78-side {
  display: flex !important;
  align-items: center !important;
  flex-direction: row !important;
  gap: 0 !important;
  flex: 0 0 auto !important;
}

/* Bouton ... rond gris */
/* OVERRIDE date INLINE avec heure (battre V80 qui force column + mono petit) */
#screen-seances #nf-v69-programmed-list .nf-v79-timeblock {
  display: flex !important;
  flex-direction: row !important;
  align-items: baseline !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}
#screen-seances #nf-v69-programmed-list .nf-v79-time {
  font-family: var(--font-serif) !important;
  font-size: 1.2rem !important;
  line-height: 1.2 !important;
  color: var(--nf-ink) !important;
  font-weight: normal !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  margin: 0 !important;
}
#screen-seances #nf-v69-programmed-list .nf-v79-date {
  font-family: var(--font-serif) !important;
  font-size: 1.2rem !important;
  line-height: 1.2 !important;
  color: var(--nf-copper) !important;
  font-weight: normal !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  margin: 0 !important;
}

#screen-seances #nf-v69-programmed-list .nf-v79-menu,
#screen-seances #nf-v69-programmed-list .nf-v78-menu {
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: rgba(42,37,32,.06) !important;
  border: none !important;
  cursor: pointer !important;
  font-size: 16px !important;
  color: var(--nf-ink-mid) !important;
  flex: 0 0 36px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: none !important;
}


/* FORCE date INLINE avec heure : retirer le flex-direction column du parent */
#screen-seances #nf-v69-programmed-list .nf-v79-timeblock,
#screen-seances #nf-v69-programmed-list .nf-v78-main {
  display: flex !important;
  flex-direction: row !important;
  align-items: baseline !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}
/* L'heure et la date doivent partager la même ligne */
#screen-seances #nf-v69-programmed-list .nf-v79-time,
#screen-seances #nf-v69-programmed-list .nf-v78-time {
  font-family: var(--font-serif) !important;
  font-size: 1.2rem !important;
  line-height: 1.2 !important;
  color: var(--nf-ink) !important;
  font-weight: 400 !important;
  margin: 0 !important;
  display: inline-block !important;
  vertical-align: baseline !important;
  letter-spacing: 0 !important;
}
#screen-seances #nf-v69-programmed-list .nf-v79-date,
#screen-seances #nf-v69-programmed-list .nf-v78-date {
  font-family: var(--font-mono) !important;
  font-size: .68rem !important;
  letter-spacing: .12em !important;
  color: var(--nf-copper) !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.2 !important;
  display: inline-block !important;
  vertical-align: baseline !important;
  align-self: center !important;
  white-space: nowrap !important;
}
/* Mais le titre + meta restent en pleine largeur en dessous */
#screen-seances #nf-v69-programmed-list .nf-v79-title,
#screen-seances #nf-v69-programmed-list .nf-v78-title {
  flex: 1 1 100% !important;
  width: 100% !important;
  margin: 6px 0 4px !important;
}
#screen-seances #nf-v69-programmed-list .nf-v79-meta,
#screen-seances #nf-v69-programmed-list .nf-v78-meta {
  flex: 1 1 100% !important;
  width: 100% !important;
  margin: 0 !important;
}
