/* ---------------------------- */
/*     Classes générales        */
/* ---------------------------- */

body {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

section {
  display: flex;
  flex-direction: column;
  align-items: center;
}

article {
  width: 80vw;
  max-width: 600px;
  display: grid;
  grid-template-areas:
    "a a"
    "b b"
    "c c"
    "auto d";
}

article h1 {
  grid-area: a;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  font-size: 1.25rem;
  text-align: center;
}

article .img {
  grid-area: b;
  width: min(80vw, 600px);
  height: min(50vw, 375px);
  margin-bottom: 5px;
  border-radius: min(7vw, 50px);
  overflow: hidden;
}

.img img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

article p {
  grid-area: c;
  font-family: "Montserrat", sans-serif;
  font-size: 0.9rem;
  margin-bottom: 25px;
}

article a {
  grid-area: d;
  transition: 0.25s ease-in-out;
}

article a:hover {
  box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.35);
}


/* ---------------------------- */
/*       Media Queries          */
/* ---------------------------- */

@media (min-width: 1200px) {
  section {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-around;
  }

  article {
    max-width: 600px;
    grid-template-areas:
      "a a a"
      "b b b"
      "c c c"
      "d d d";
    margin: 5vh;
  }

  article h1 {
    font-size: 1.5rem;
  }

  article p {
    font-size: 1rem;
    width: 30vw;
    max-width: 500px;
    padding: 0px 50px;
  }

  article a {
    align-self: flex-end;
    justify-self: flex-end;
  }
}