/* =========================================================
   PAGE VIDÉOS
   ========================================================= */

body.page-videos-site {
  --vid-bleu: #082d57;

  --vid-vert: #159b86;
  --vid-vert-fonce: #0e7568;
  --vid-vert-pale: #e8f7f2;

  --vid-texte: #263443;
  --vid-texte-doux: #5e6c78;

  --vid-bordure: #d5e7e3;

  --vid-ombre:
    0 12px 32px rgba(8, 45, 87, 0.08);
}


body.page-videos-site main.main-videos {
  width: 100%;

  margin: 0;

  padding:
    160px
    0
    4rem;

  background:
    linear-gradient(
      180deg,
      #f4faf8 0%,
      #ffffff 36%,
      #f6faf9 100%
    );

  color:
    var(--vid-texte);

  font-family:
    "Be Vietnam Pro",
    Arial,
    sans-serif;
}


body.page-videos-site .image-video {
  width: 100%;
  min-height: 0;

  padding:
    2rem
    1.5rem
    4rem;

  box-sizing: border-box;

  background: none;

  text-align: left;
}

/* =========================================================
   INTRO VIDÉOS
   ========================================================= */

body.page-videos-site
.intro-videos {
  display: grid;

  grid-template-columns:
    minmax(0, 1fr)
    330px;

  gap: 2rem;

  align-items: center;

  width:
    min(
      1160px,
      calc(100% - 2rem)
    );

  margin:
    0 auto
    2rem;

  padding:
    1.8rem
    2.2rem;

  box-sizing: border-box;

  border:
    1px solid
    var(--vid-bordure);

  border-radius: 30px;

  background:
    radial-gradient(
      circle at 92% 10%,
      rgba(21, 155, 134, 0.13),
      transparent 32%
    ),
    linear-gradient(
      135deg,
      #ffffff,
      var(--vid-vert-pale)
    );

  box-shadow:
    0 17px 45px
    rgba(8, 45, 87, 0.10);
}


/* =========================================================
   TEXTE
   ========================================================= */

body.page-videos-site
.intro-videos-texte {
  min-width: 0;

  text-align: left;
}


body.page-videos-site
.surtitre-videos {
  margin:
    0
    0
    1.5rem;

  padding: 0;

  color:
    var(--vid-vert-fonce);

  font-size: 1rem;
  font-weight: 850;

  line-height: 1.35;

  letter-spacing: 0.075em;

  text-transform: uppercase;
}


body.page-videos-site
.intro-videos h2 {
  margin:
    0
    0
    1.15rem;

  padding: 0;

  color:
    var(--vid-bleu);

  font-size:
    clamp(
      2.5rem,
      4.8vw,
      4.2rem
    );

  line-height: 1.08;

  letter-spacing: -0.035em;

  text-align: left;
}


body.page-videos-site
.intro-videos-texte p:not(.surtitre-videos) {
  margin:
    0
    0
    0.85rem;

  padding: 0;

  color:
    var(--vid-texte-doux);

  font-size: 1.05rem;

  line-height: 1.65;

  text-align: left;
}


body.page-videos-site
.intro-videos-principale {
  color:
    #364958 !important;

  font-size: 1.14rem !important;

  font-weight: 600;
}


/* =========================================================
   VIDÉOS — IMAGE HARMONISÉE
   ========================================================= */

body.page-videos-site
.intro-videos-image {
  width: 100%;

  overflow: hidden;

  border-radius: 24px;

  box-shadow:
    0 13px 32px
    rgba(8, 45, 87, 0.12);
}

body.page-videos-site
.intro-videos-image img {
  display: block;

  width: 100%;
  height: 330px;

  margin: 0;

  object-fit: cover;
  object-position: center;

  border-radius: 0;
}



/* =========================================================
   CATÉGORIES
   ========================================================= */

.categories-videos {
  width: min(1050px, calc(100% - 2rem));

  margin: 0 auto 4rem;

  display: flex;
  justify-content: center;
  flex-wrap: wrap;

  gap: 1rem;
}


.categories-videos a {
  display: inline-flex;

  padding: 0.7rem 1.2rem;

  align-items: center;
  justify-content: center;

  border: 1px solid var(--vid-vert);
  border-radius: 999px;

  background: #ffffff;

  color: var(--vid-bleu);

  font-size: 0.92rem;
  font-weight: 700;

  text-decoration: none;

  box-shadow:
    0 5px 14px rgba(8, 45, 87, 0.06);

  transition:
    transform 0.2s ease,
    background 0.2s ease,
    color 0.2s ease;
}


.categories-videos a:hover {
  transform: translateY(-2px);

  background:
    linear-gradient(
      135deg,
      var(--vid-vert-fonce),
      var(--vid-vert)
    );

  color: #ffffff;
}



/* =========================================================
   SECTIONS VIDÉOS
   ========================================================= */

.section-videos {
  width: min(1000px, calc(100% - 2rem));

  margin: 0 auto 4rem;
}


.entete-section-videos {
  max-width: 680px;

  margin-bottom: 1.5rem;
}


.entete-section-videos h2 {
  margin: 0 0 0.8rem;

  color: var(--vid-bleu);

  font-size: 1.8rem;
  line-height: 1.2;
}


.entete-section-videos h2::after {
  content: "";

  display: block;

  width: 70px;
  height: 4px;

  margin-top: 0.7rem;

  background:
    linear-gradient(
      90deg,
      var(--vid-vert),
      var(--vid-vert-fonce)
    );

  border-radius: 999px;
}


.entete-section-videos p {
  margin: 0;

  color: var(--vid-texte-doux);

  line-height: 1.6;
}



/* =========================================================
   RECTANGLES EN ATTENTE
   ========================================================= */

.placeholder-videos {
  min-height: 150px;

  padding: 1.5rem;

  display: flex;
  flex-direction: column;

  align-items: center;
  justify-content: center;

  box-sizing: border-box;

  background:
    linear-gradient(
      135deg,
      #ffffff 0%,
      #f5fbf9 55%,
      var(--vid-vert-pale) 100%
    );

  border: 1px dashed var(--vid-bordure);
  border-radius: 18px;

  box-shadow: var(--vid-ombre);

  text-align: center;
}


.placeholder-videos .icone-play {
  width: 42px;
  height: 42px;

  margin-bottom: 0.8rem;

  display: grid;
  place-items: center;

  border: 1px solid var(--vid-vert);

  border-radius: 50%;

  color: var(--vid-vert-fonce);

  font-size: 0.9rem;
}


.placeholder-videos p {
  margin: 0;

  color: var(--vid-texte);

  font-weight: 600;
}



/* =========================================================
   PARENTS ET FAMILLES
   ========================================================= */

.grille-ressources-parents {
  display: grid;

  grid-template-columns:
    repeat(3, minmax(0, 1fr));

  gap: 1.3rem;
}


.carte-ressource-parent {
  padding: 1.3rem;

  display: flex;
  flex-direction: column;

  align-items: center;

  box-sizing: border-box;

  background:
    linear-gradient(
      135deg,
      #ffffff 0%,
      #f5fbf9 100%
    );

  border: 1px solid var(--vid-bordure);
  border-radius: 16px;

  box-shadow: var(--vid-ombre);

  text-align: center;
}


.carte-ressource-parent img {
  display: block;

  width: auto;
  max-width: 150px;
  height: 70px;

  margin-bottom: 1rem;

  object-fit: contain;

  /* Ton logo est blanc : on ajustera si nécessaire
     selon son rendu sur le fond clair */
}


.carte-ressource-parent h3 {
  margin: 0 0 1rem;

  color: var(--vid-bleu);

  font-size: 0.98rem;
  line-height: 1.4;
}


.carte-ressource-parent a {
  margin-top: auto;

  padding: 0.5rem 1rem;

  border-radius: 999px;

  background:
    linear-gradient(
      135deg,
      var(--vid-vert-fonce),
      var(--vid-vert)
    );

  color: #ffffff;

  font-size: 0.85rem;
  font-weight: 700;

  text-decoration: none;

  box-shadow:
    0 6px 16px rgba(8, 45, 87, 0.12);
}

/* =========================================================
   CORRECTIONS ALIGNEMENT VIDÉOS
   ========================================================= */

body.page-videos-site .intro-videos,
body.page-videos-site .intro-videos-texte {
  text-align: left;
}

body.page-videos-site .entete-section-videos {
  width: min(680px, 100%);
  max-width: 680px;

  margin: 0 0 1.5rem;

  text-align: left;
}

body.page-videos-site .entete-section-videos h2 {
  margin: 0 0 0.8rem;

  text-align: left !important;
}

body.page-videos-site .entete-section-videos h2::after {
  margin: 0.7rem 0 0;
}

body.page-videos-site .entete-section-videos p {
  text-align: left;
}


/* =========================================================
   TABLETTE
   ========================================================= */

@media (min-width: 701px) and (max-width: 999px) {

  .intro-videos {
    grid-template-columns: 1fr 1fr;

    gap: 2rem;

    padding: 2rem;
  }


  .grille-ressources-parents {
    grid-template-columns: repeat(2, 1fr);
  }

}

/* =========================================================
   TABLETTE
   ========================================================= */

@media (max-width: 980px) {

  body.page-videos-site
  .intro-videos {
    grid-template-columns: 1fr;

    gap: 1.6rem;
  }


  body.page-videos-site
  .intro-videos-image {
    max-width: 650px;

    margin: 0 auto;
  }


  body.page-videos-site
  .intro-videos-image img {
    width: 100%;
    height: auto;

    object-fit: contain;
  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 700px) {

  body.page-videos-site
  main.main-videos {
    padding-top: 105px;
  }


  body.page-videos-site
  .intro-videos {
    width: calc(100% - 1rem);

    margin:
      0
      auto
      2rem;

    padding:
      1.4rem
      1.2rem;

    gap: 1.3rem;

    border-radius: 22px;
  }


  body.page-videos-site
  .surtitre-videos {
    margin-bottom: 1rem;

    font-size: 0.85rem;
  }


  body.page-videos-site
  .intro-videos h2 {
    margin-bottom: 1rem;

    font-size: 2.25rem;
    line-height: 1.1;
  }


  body.page-videos-site
  .intro-videos-texte
  p:not(.surtitre-videos) {
    margin-bottom: 0.65rem;

    font-size: 1rem;
    line-height: 1.55;
  }


  body.page-videos-site
  .intro-videos-principale {
    font-size: 1.05rem !important;
  }


  body.page-videos-site
  .intro-videos-image {
    width: 100%;

    max-width: none;

    margin: 0;

    border-radius: 16px;
  }


  body.page-videos-site
  .intro-videos-image img {
    display: block;

    width: 100%;
    height: auto;

    margin: 0;

    object-fit: contain;

    border-radius: 16px;
  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 700px) {

  body.page-videos-site main {
    padding-top: 100px;
  }


  .intro-videos {
    width: calc(100% - 1.5rem);

    padding: 1.4rem;

    grid-template-columns: 1fr;

    gap: 1.5rem;
  }

  /* Enlever les bandes/blocs blancs dans l'intro Vidéos */

body.page-videos-site
.intro-videos
p {
  padding: 0 !important;

  background: transparent !important;

  border: 0 !important;
  border-radius: 0 !important;

  box-shadow: none !important;
}


  .intro-videos h2 {
    font-size: 2rem;
  }


  .categories-videos {
    width: calc(100% - 1.5rem);

    margin-bottom: 3rem;

    gap: 0.7rem;
  }


  .categories-videos a {
    width: 100%;

    box-sizing: border-box;
  }


  .section-videos {
    width: calc(100% - 1.5rem);

    margin-bottom: 3rem;
  }


  .placeholder-videos {
    min-height: 130px;
  }


  .grille-ressources-parents {
    grid-template-columns: 1fr;
  }


  .carte-ressource-parent {
    width: min(340px, 100%);

    margin: 0 auto;
  }

}

