/* -------------------------------------------------- */
/* ----- Body général ------------------------------- */
body {
  margin: 0;
  font-family: "helvetica", "calibri", sans-serif;
  font-size: 20px;
  line-height: 1.6;
  background-color: rgb(223, 222, 222); /*  fond gris */
}
/*
  body
    header
    
    main
      .header-main
      h2
      <section class="articles_2_colonnes">
      <div style="display:none">
      <aside class="cartel">
    
    footer
$/
/* -------------------------------------------------- */
/* Architecture page article - fusée ---------------- */
main {
  margin: 0em 20% 0em 20%; /* gris tout autour */
  padding: 1rem 3rem 1rem 3rem; /* marges intérieures */
  background-color: #efefee; /* page de texte, blanc cassé */
}
main .header-main h1 {
  font-size: 2em;
  font-family: "Garamond", serif;
  text-align: center;
  color: #b30000; /* rouge sombre style Lordon */
  margin-top:5px;
  padding-top:0px;
}
main .header-main h1.title-article {
  margin-top: 0rem;
}
main .header-main h2.title-page {
  font-size: 1.6em;
  font-style: italic;
  color: rgb(30, 30, 30); /* rouge sombre style Lordon */
}
main .header-main .article-auteur-date {
  color: grey;
}
main .header-main .article-auteur-date a {
  text-decoration: none;
  color: black;
}
main .header-main > div {
  margin-top: 1rem;
}
main .header-main .illustration {
  margin-top: 1rem;
  padding-bottom: 1rem;
  color: grey;
  text-align: center;
}
main .header-main .illustration a {
  text-decoration: none;
  color: grey;
}

main aside.article-fin .article-date {
  border-top: 1px grey dashed;
  margin-top: 1rem;
  padding-top: 1rem;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  text-align: left;
  border-bottom: 1px grey dashed;
}
main aside.article-fin div {
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px grey dashed;
}
main aside.article-fin a {
  text-decoration: none;
  color: grey;
  font-weight: bold;
}
/* FIN Architecture page article - fusée ------------------------------------- */

.title {
  font-size: 2.5rem;
  margin-top: 0.5rem;
  color: #b30000; /* rouge sombre style Lordon */
}
.title span {
  font-size: 1.8rem;
  color: #1a1a1a;
  font-weight: normal;
  font-style: italic;
}
.title2 {
  font-size: 1.8rem;
  margin-top: 0.5rem;
  color: #b30000; /* rouge sombre style Lordon */
}
.subtitle {
  color: #1a1a1a;
  font-size: 1.2rem;
  margin-top: 0.2rem;
  margin-bottom: 2rem;
}

/* -------------------------------------------------- */
/* ----- footer et a -------------------------------- */
footer {
  font-style: italic;
  margin: 0em 20%; /* gris tout autour */
  padding: 0rem 3rem 3rem 3rem; /* marges intérieures */
  background-color: #efefee; /* page de texte, blanc cassé */
  color: grey;
}
footer a {
  text-decoration: none;
  color: grey;
  font-weight: bold;
}

/* -------------------------------------------------- */
/* ----- header et nav, ul, li, hover, a ------------ */
header {
  display: flex;
  flex-direction: column;
  margin: 4em 20% -1em 20%; /* gris tout autour */
  background-color: #efefee; /* page de texte, blanc cassé */
}
.header-img {
  width: 100%; /* largeur pleine du conteneur */
  height: 100px; /* hauteur fixe pour le rectangle étroit */
  object-fit: cover; /* l’image remplit le rectangle en recadrant si nécessaire */
  display: block;
  margin-bottom: 1rem;
  border-radius: 2px; /* optionnel : coins légèrement arrondis */
}
nav {
  margin-top: 1.5rem;
  padding: 2.5rem 3rem 0rem 3rem; /* marges intérieures */
  _margin-bottom: 1rem;
}
nav ul {
  display: flex;
  padding: 0px;
  margin: 0px;
  border-top: 1px dashed grey;
  border-bottom: 1px dashed grey;
  justify-content: space-between;
}
nav ul li {
  padding: 7px 8px 7px 8px;
  list-style-type: none;
  color: black;
  font-size: 80%;
}
nav ul li:hover {
  color: rgb(7, 126, 25); /* vert */
  background-color: rgb(244, 202, 35); /* orange */
}
nav ul li.menu {
  background-color: rgb(199, 227, 39); /* vert */
}
nav ul li:has(> a.active) {
  background-color: rgb(199, 227, 39); /* vert */
}
nav ul li:has(> a.active) a {
  color: black;
  font-weight: bold;
}
nav ul li.menu:hover {
  color: black;
}
nav ul li a {
  color: inherit; /* on récupère la couleur du li */
  font-size: inherit;
  text-decoration: none;
}

/* -------------------------------------------------- */
/* ----- Image article ----- */
.article-img {
  width: 200px; /* largeur pleine du conteneur */
  height: 200px; /* hauteur fixe pour le rectangle étroit */
  object-fit: cover; /* l’image remplit le rectangle en recadrant si nécessaire */
  display: block;
  margin-bottom: 1rem;
  border-radius: 2px; /* optionnel : coins légèrement arrondis */
}

/* -------------------------------------------------- */
/* ----- Les items ----- */
.item {
  padding: 1rem 0;
  _border-bottom: 1px solid grey; /* #ddd; */
}
.item a {
  text-decoration: none;
  color: black;
}
.item h2,
.item p {
  margin-top: 0.3rem;
  margin-bottom: 0.3rem;
}

.date_auteur {
  color: grey;
}

/* -------------------------------------------------- */
/* ----- Articles  ----- */
.articles_2_colonnes {
  display: flex;
  flex-wrap: wrap; /* permet de revenir à la ligne après 2 colonnes */
}

.article {
  flex: 50%; /* chaque article occupe 50% de la largeur */
  box-sizing: border-box; /* pour que padding/margin ne cassent pas le calcul */
}

article.A {
  padding-right: 2rem; /* optionnel : espace entre les articles */
}

article.B {
  padding-left: 2rem; /* optionnel : espace entre les articles */
}

.article-img {
  display: block;
  width: 100%; /* largeur du paragraphe */
  height: 12em; /* ~1,5 fois la hauteur du h2 */
  object-fit: cover; /* garde le cadrage, évite la déformation */
  margin-bottom: 0.5em;
}

.article-link {
  display: block; /* pour que tout le bloc <a> soit cliquable */
  text-decoration: none; /* enlève le soulignement du texte */
  color: inherit; /* garde la couleur par défaut */
  transition: background-color 0.3s ease;
}

.article-link:hover h2 {
  color: #b30000; /* le titre devient rouge Lordon au survol */
}

.article-link:hover {
  _background-color: #ddd; /* gris clair au survol */
  border: 1px dashed #bbb;
}

.article-link:hover .article-img {
  filter: brightness(1.2); /* éclaire l’image */
  transition: filter 0.3s ease, color 0.3s ease; /* animation douce */
}

.meta {
  font-size: 0.9rem;
  color: #666;
  margin-bottom: 0.4rem;
}
.kicker {
  font-weight: bold;
  color: #b30000; /* rouge accent */
}
.desc p {
  margin: 0.2rem 0;
}
.more {
  display: block;
  text-align: center;
  padding: 1rem;
  color: #222;
  text-decoration: none;
}
.more:hover {
  text-decoration: underline;
  color: #b30000;
}

/* ----- Cartel ----- */
.cartel {
  margin-top: 2rem;
  border: 1px solid #b30000; /* rouge sombre style Lordon */
  padding: 1rem;
  background: #fff;
}
.cartel h3 {
  margin-top: 0;
  font-size: 1.3rem;
  color: #b30000; /* rouge sombre */
}
.cartel p {
  margin: 0.4rem 0;
}

.lettrine::first-letter {
  font-size: 5em; /* taille de la première lettre */
  font-weight: bold;
  float: left; /* pour que le texte coule autour */
  line-height: 1; /* évite les décalages */
  margin-right: 0.1em;
  color: #b30000; /* rouge sombre style Lordon */
}

.lettrine_sans_float::first-letter {
  font-size: 5em; /* taille de la première lettre */
  font-weight: bold;
  float: none; /* pour que le texte coule autour */
  line-height: 1; /* évite les décalages */
  margin-right: 0.1em;
  color: #b30000; /* rouge sombre style Lordon */
}

.separator,
.separator-gauche {
  text-align: center;
  font-size: 2em; /* un peu plus gros */
  color: #b30000; /* rouge sombre style Lordon */
  font-weight: bold;
}
.separator {
  text-align: center;
  margin: 1em 0; /* espace avant/après */
}
.separator-gauche {
  text-align: left;
  margin: 0; /* espace avant/après */
}
@media (max-width: 1399px) {
  main,
  header,
  footer {
    margin: 0em 15%; /* gris tout autour */
  }
}

@media (max-width: 1199px) {
  main,
  header,
  footer {
    margin: 0em 10%; /* gris tout autour */
  }
}

@media (max-width: 1099px) {
  main,
  header,
  footer {
    margin: 0em 8%; /* gris tout autour */
  }
}

@media (max-width: 991px) {
  nav ul {
    flex-direction: column;
  }
  .articles_2_colonnes {
    flex-direction: column;
  }
  header nav {
    order: 2;
    padding-top: 0;
    margin-top: 0;
  }
  nav {
    font-size: 1em;
  }
  nav ul {
    padding-top: 2px;
    padding-bottom: 2px;
  }
  header div {
    order: 1;
  }
  article.A {
    padding-left: 0rem; /* callé à gauche */
  }
  article.B {
    padding-right: 0rem; /* callé à droite */
  }
  main,
  header,
  footer {
    margin: 0;
  }
}
