/* ============================= */
/*        GRILLE PRINCIPALE      */
/* ============================= */

.grille-encart {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: 20px;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 10px;
}

.encart1 {
  grid-column: 1 / span 8;
}

/* ============================= */
/*        ENCARDS                */
/* ============================= */

.encart {
  background: #fff;
  border-radius: 16px;
  padding: 25px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.07);
  font-family: Arial, sans-serif;
}

/* ============================= */
/*        TITRES                 */
/* ============================= */

.titre h2 {
  margin: 0 0 15px;
}

h2 {
  font-size: clamp(1rem, 2.5vw, 1.3rem);
  color: #7dc8e5;
}

/* ============================= */
/*        MODE LIBRE (GRILLE)    */
/* ============================= */

.section.libre {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 15px;
}

/* ============================= */
/*        CASES PERSONNALISÉES   */
/* ============================= */

.case1 { grid-column: 1 / -1; }
.case2 { grid-column: 1 / span 6; }

/* ============================= */
/*        TEXTE                  */
/* ============================= */

.paragraphe {
  font-size: clamp(0.8rem, 1.5vw, 0.87rem);
  margin-bottom: 10px;
}

/* ============================= */
/*        ARTICLE (CITATION)     */
/* ============================= */

.article {
  background: #eaf6fb;
  padding: 15px;

  font-weight: bold;
  text-align: center;
  font-size: 14px;

  margin: 15px 0;
}

/* ============================= */
/*        EN-TETE                */
/* ============================= */

.entete {
  font-size: clamp(0.8rem, 1.5vw, 0.87rem);
  font-style: italic;
  margin-bottom: 20px;
}

/* ============================= */
/*        INTERVIEW              */
/* ============================= */

.question {
  font-weight: bold;
  font-style: italic;
  margin-bottom: 5px;
}

.reponse {
  font-size: clamp(0.8rem, 1.5vw, 0.87rem);
  margin-bottom: 10px;
}

/* ============================= */
/*        SOURCE                 */
/* ============================= */

.source {
  text-align: right;
  font-style: italic;
  margin-top: 15px;
}

/* ============================= */
/*      COLONNES (UTILITAIRES)   */
/* ============================= */

.cols {
  column-gap: 25px;
}

.cols p {
  break-inside: auto;
}

/* variantes */
.cols-2 { column-count: 2; }
.cols-3 { column-count: 3; }
.cols-4 { column-count: 4; }
.cols-5 { column-count: 5; }

/* élément pleine largeur dans colonnes */
.full {
  column-span: all;
}

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

@media (max-width: 900px) {

  /* grille → 1 colonne */
  .grille-encart {
    display: flex;
    flex-direction: column;
  }

  /* colonnes → 1 */
  .cols {
    column-count: 1 !important;
  }
}