/* =========================================================
   PAGE RÉSULTATS — ZONE TDAH
   ========================================================= */

body.page-resultats-site {
  --res-bleu: #082d57;
  --res-bleu-doux: #425f78;

  --res-vert: #159b86;
  --res-vert-fonce: #0e7568;
  --res-vert-pale: #e9f7f3;

  --res-texte: #263443;
  --res-texte-doux: #5d6b77;

  --res-bordure: #d6e7e3;

  --res-fond: #f7fbfa;
  --res-blanc: #ffffff;

  --res-ombre:
    0 12px 30px
    rgba(8, 45, 87, 0.08);

  --res-ombre-forte:
    0 18px 42px
    rgba(8, 45, 87, 0.12);

  margin: 0;

  background:
    linear-gradient(
      180deg,
      #f3f9f7 0%,
      #ffffff 42%,
      #f7fbfa 100%
    );

  color: var(--res-texte);

  font-family:
    "Be Vietnam Pro",
    Inter,
    Arial,
    sans-serif;
}


/* =========================================================
   CONTENU PRINCIPAL
   ========================================================= */

body.page-resultats-site
main.resultats {
  width: 100%;

  margin: 0;

  padding:
    160px
    1rem
    5rem;

  box-sizing: border-box;

  text-align: left;
}


body.page-resultats-site
.resultats .container {
  width: 100%;
  max-width: 1000px;

  margin: 0 auto;

  padding: 0;
}


/* =========================================================
   TYPOGRAPHIE
   ========================================================= */

body.page-resultats-site
.resultats h1,
body.page-resultats-site
.resultats h2,
body.page-resultats-site
.resultats h3 {
  color: var(--res-bleu);
}


body.page-resultats-site
.resultats p {
  color: var(--res-texte-doux);

  font-size: 16px;
  line-height: 1.7;
}


body.page-resultats-site
.resultats-sur-titre {
  margin:
    0
    0
    1.2rem !important;

  color:
    var(--res-vert-fonce) !important;

  font-size: 1rem !important;
  font-weight: 850 !important;

  line-height: 1.3 !important;

  letter-spacing: 0.075em;

  text-transform: uppercase;
}


/* =========================================================
   INTRODUCTION
   ========================================================= */

body.page-resultats-site
.resultats-entete {
  margin-bottom: 3rem;

  padding:
    clamp(
      1.8rem,
      4vw,
      3rem
    );

  border:
    1px solid
    #cce5df;

  border-radius: 30px;

  background:
    radial-gradient(
      circle at 90% 5%,
      rgba(21, 155, 134, 0.12),
      transparent 30%
    ),
    linear-gradient(
      135deg,
      #ffffff,
      #edf8f5
    );

  box-shadow:
    var(--res-ombre-forte);
}


body.page-resultats-site
.resultats-entete h1 {
  max-width: 850px;

  margin:
    0
    0
    1.4rem;

  font-size:
    clamp(
      2.3rem,
      4.5vw,
      3.7rem
    );

  line-height: 1.1;

  letter-spacing: -0.035em;
}


body.page-resultats-site
.resultats-introduction {
  max-width: 820px;

  color:
    #354957 !important;

  font-size: 1.2rem !important;
  font-weight: 600;
}


/* =========================================================
   AVERTISSEMENT
   ========================================================= */

body.page-resultats-site
.resultats-entete {
  margin-bottom: 2.2rem;

  padding:
    2rem
    2.4rem;

  border:
    1px solid
    #cce5df;

  border-radius: 30px;

  background:
    radial-gradient(
      circle at 90% 5%,
      rgba(21, 155, 134, 0.12),
      transparent 30%
    ),
    linear-gradient(
      135deg,
      #ffffff,
      #edf8f5
    );

  box-shadow:
    var(--res-ombre-forte);
}


body.page-resultats-site
.resultats-entete h1 {
  max-width: 850px;

  margin:
    0
    0
    0.8rem;

  font-size:
    clamp(
      2.3rem,
      4.5vw,
      3.7rem
    );

  line-height: 1.1;

  letter-spacing: -0.035em;
}


body.page-resultats-site
.resultats-entete > p {
  margin:
    0.45rem
    0 !important;
}


body.page-resultats-site
.resultats-introduction {
  max-width: 820px;

  margin-bottom:
    0.5rem !important;

  color:
    #354957 !important;

  font-size:
    1.12rem !important;

  font-weight: 600;
}


/* =========================================================
   AVERTISSEMENT
   ========================================================= */

body.page-resultats-site
.resultats-note {
  display: flex;

  max-width: 820px;

  gap: 0.9rem;

  align-items: flex-start;

  margin-top: 1rem;

  padding:
    1rem
    1.2rem;

  border:
    1px solid
    #cce5df;

  border-radius: 16px;

  background:
    rgba(
      255,
      255,
      255,
      0.78
    );
}


/* =========================================================
   ACTIONS DU HAUT
   ========================================================= */

body.page-resultats-site
.resultats-actions {
  display: flex;

  flex-wrap: wrap;

  gap: 0.8rem;

  margin-top: 1.7rem;
}


body.page-resultats-site
.btn-telecharger,
body.page-resultats-site
.btn-refaire,
body.page-resultats-site
.btn-accompagnement {
  display: inline-flex;

  min-height: 48px;

  padding:
    0.8rem
    1.25rem;

  align-items: center;
  justify-content: center;

  border-radius: 999px;

  font-family: inherit;

  font-size: 0.95rem;
  font-weight: 800;

  text-decoration: none;

  cursor: pointer;
}


body.page-resultats-site
.btn-telecharger {
  border:
    1px solid
    var(--res-vert-fonce);

  background:
    linear-gradient(
      135deg,
      var(--res-vert-fonce),
      var(--res-vert)
    );

  color: #ffffff;
}


body.page-resultats-site
.btn-refaire {
  border:
    2px solid
    var(--res-vert);

  background:
    #ffffff;

  color:
    var(--res-vert-fonce);
}


/* =========================================================
   INTRO DES FONCTIONS
   ========================================================= */

body.page-resultats-site
#intro {
  max-width: 820px;

  margin:
    0 auto
    1.7rem;

  color:
    var(--res-bleu) !important;

  font-size: 1.6rem !important;
  font-weight: 750;

  text-align: center;
}


/* =========================================================
   PROFIL GLOBAL
   ========================================================= */

body.page-resultats-site
.resultats-entete {
  margin-bottom: 3rem;

  padding:
    clamp(1.8rem,4vw,3rem);
        
  border:
    1px solid
    #cce5df;

  border-radius: 30px;

  background:
    radial-gradient(
      circle at 90% 5%,
      rgba(21, 155, 134, 0.12),
      transparent 30%
    ),
    linear-gradient(
      135deg,
      #ffffff,
      #edf8f5
    );

  box-shadow:
    var(--res-ombre-forte);
}


body.page-resultats-site
.resultats-entete h1 {
  max-width: 850px;

  margin:0 0 1.4rem;
  font-size:
    clamp(2.3rem,4.5vw,3.7rem);
  line-height: 1.1;
  letter-spacing: -0.035em;
}


body.page-resultats-site
.resultats-introduction {
  max-width: 820px;

  color:
    #354957 !important;

  font-size: 1.12rem !important;
  font-weight: 600;
}


/* =========================================================
   AVERTISSEMENT
   ========================================================= */

body.page-resultats-site
.resultats-note {
  display: flex;

  max-width: 820px;

  gap: 0.9rem;

  align-items: flex-start;

  margin-top: 1.5rem;

  padding:
    1rem
    1.2rem;

  border:
    1px solid
    #cce5df;

  border-radius: 16px;

  background:
    rgba(
      255,
      255,
      255,
      0.78
    );
}


/* =========================================================
   CARTES DES FONCTIONS
   ========================================================= */

body.page-resultats-site
.resultat-box {
  position: relative;

  max-width: 820px;

  margin:
    0 auto
    1.5rem;

  padding:
    2rem
    2rem
    1.8rem;

  box-sizing: border-box;

  border-radius: 22px;

  box-shadow:
    var(--res-ombre);

  text-align: left;

  overflow: hidden;
}


body.page-resultats-site
.resultat-box h2 {
  font-size: 1.9rem;
  margin-bottom: 1rem;
}


body.page-resultats-site
.resultat-box > p {
  margin: 0;

  color:
    var(--res-texte) !important;

  font-size: 1rem !important;
  line-height: 1.72;

  text-align: left;
}


body.page-resultats-site
.resultat-box strong {
  display: inline-block;

  margin-top: 1.15rem;

  color:
    var(--res-bleu);

  font-weight: 800;
}


body.page-resultats-site
.resultat-box ul {
  display: block;

  margin:
    0.8rem
    0
    1.2rem
    1.3rem;

  padding: 0;

  color:
    var(--res-texte);

  font-size: 2rem;
  line-height: 1.65;

  list-style: disc;
}


body.page-resultats-site
.resultat-box ul li {
  margin-bottom: 0.45rem;

  padding-left: 0.2rem;

  list-style-type: disc;
}
/* =========================================================
   TEXTE DES FONCTIONS EXÉCUTIVES
   ========================================================= */

body.page-resultats-site
.resultat-box .contenu-fonction {
  color: var(--res-texte);

  font-size: 1.15rem !important;
  line-height: 1.72 !important;
}


body.page-resultats-site
.resultat-box .contenu-fonction em {
  font-size: inherit !important;
  line-height: inherit !important;
}


body.page-resultats-site
.resultat-box .contenu-fonction strong {
  font-size: inherit !important;
  line-height: inherit !important;
}


body.page-resultats-site
.resultat-box .contenu-fonction ul {
  margin:
    0.8rem
    0
    0
    1.4rem;

  padding: 0;

  font-size: inherit !important;
  line-height: inherit !important;
}


body.page-resultats-site
.resultat-box .contenu-fonction li {
  margin-bottom: 0.45rem;

  font-size: inherit !important;
  line-height: inherit !important;
}

/* =========================================================
   NIVEAUX
   ========================================================= */

body.page-resultats-site
.resultat-box.niveau-1 {
  border:
    1px solid
    #e7d99d;

  border-left:
    6px solid
    #c9a92d;

  background:
    #fffdf3;
}


body.page-resultats-site
.resultat-box.niveau-2 {
  border:
    1px solid
    #e9c09d;

  border-left:
    6px solid
    #dd8137;

  background:
    #fff8f1;
}


body.page-resultats-site
.resultat-box.niveau-3 {
  border:
    1px solid
    #e6b0b0;

  border-left:
    6px solid
    #c95656;

  background:
    #fff5f5;
}


/* =========================================================
   BOUTON SOLUTION
   ========================================================= */

body.page-resultats-site
.btn-kit {
  display: inline-flex;

  min-height: 44px;

  margin-top: 1.2rem;

  padding:
    0.72rem
    1.1rem;

  align-items: center;
  justify-content: center;

  border:
    1px solid
    #a9bbb7;

  border-radius: 999px;

  background:
    #f5f8f7;

  color:
    var(--res-bleu);

  font-size: 0.92rem;
  font-weight: 800;

  text-decoration: none;

  transition:
    background 0.2s ease,
    transform 0.2s ease,
    border-color 0.2s ease;
}

body.page-resultats-site
.btn-kit:hover {
  background:
    #e8f2ef;

  border-color:
    var(--res-vert);

  color:
    var(--res-bleu);

  transform:
    translateY(-2px);
}


/* =========================================================
   RÉSUMÉ GLOBAL
   ========================================================= */

body.page-resultats-site
.profil-global {
  max-width: 720px;

  margin:
    0 auto
    2rem;

  padding:
    1.4rem
    1.6rem;

  border:
    1px solid
    #b9d9d2;

  border-left:
    6px solid
    #4f9488;

  border-radius: 18px;

  background:
    #edf6f4;

  color:
    #243746;

  box-shadow:
    0 8px 22px
    rgba(31, 58, 68, 0.08);

  text-align: left;
}


body.page-resultats-site
.profil-global h2 {
  margin:
    0
    0
    0.65rem;

  color:
    #17324d;

  font-size: 1.65rem;
  line-height: 1.25;
}


body.page-resultats-site
.profil-global p {
  margin: 0;

  color:
    #354957 !important;

  font-size: 1.08rem !important;
  line-height: 1.6;
}


/* =========================================================
   CONCLUSION
   ========================================================= */

body.page-resultats-site
.resultats-fin {
  max-width: 820px;

  margin:
    2.8rem auto
    0;

  padding:
    1.7rem
    1.9rem;

  border:
    1px solid
    var(--res-bordure);

  border-radius: 22px;

  background:
    linear-gradient(
      135deg,
      #edf8f5,
      #ffffff
    );

  box-shadow:
    var(--res-ombre);
}

body.page-resultats-site
.resultats-fin .resultats-sur-titre {
  margin-bottom: 0.7rem !important;
}

body.page-resultats-site
.resultats-fin h2 {
  margin-bottom: 0.8rem;
}

body.page-resultats-site
.resultats-fin p {
  margin:
    0 0
    1rem;
}

body.page-resultats-site
.resultats-fin .btn-accompagnement {
  display: inline-flex;

  width: auto;
  min-height: 48px;

  margin-top: 0.5rem;

  padding:
    0.85rem
    1.5rem;

  align-items: center;
  justify-content: center;

  border: none;

  border-radius: 999px;

  background:
    linear-gradient(
      135deg,
      #0e7568,
      #159b86
    );

  color: #ffffff !important;

  font-size: 1rem;
  font-weight: 800;

  line-height: 1.2;

  text-decoration: none !important;

  box-shadow:
    0 7px 18px
    rgba(14, 117, 104, 0.18);

  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
}


body.page-resultats-site
.resultats-fin .btn-accompagnement:hover {
  transform:
    translateY(-2px);

  box-shadow:
    0 10px 23px
    rgba(14, 117, 104, 0.24);
}
/* Réduit la hauteur inutile du bloc d'introduction */

body.page-resultats-site
.resultats-entete h1 {
  margin-bottom: 1rem;
}

body.page-resultats-site
.resultats-entete > p {
  margin-top: 0.7rem;
  margin-bottom: 0.7rem;
}


/* Texte des résultats plus confortable à lire */

body.page-resultats-site
.resultat-box > p,
body.page-resultats-site
.resultat-box ul {
  font-size: 1.08rem !important;
  line-height: 1.7;
}

body.page-resultats-site
.resultat-box {
  padding: 2rem 2.2rem;
}

/* =========================================================
   TABLETTE
   ========================================================= */

@media (max-width: 900px) {

  body.page-resultats-site
  main.resultats {
    padding-right: 0.75rem;
    padding-left: 0.75rem;
  }

}


/* =========================================================
   CELLULAIRE
   ========================================================= */

@media (max-width: 700px) {

  body.page-resultats-site
  main.resultats {
    padding:
      110px
      0.5rem
      3rem;
  }


  body.page-resultats-site
  .resultats-entete {
    padding: 1.5rem;

    border-radius: 22px;
  }


  body.page-resultats-site
  .resultats-entete h1 {
    font-size: 2.15rem;
  }


  body.page-resultats-site
  .resultats-actions {
    flex-direction: column;
  }


  body.page-resultats-site
  .btn-telecharger,
  body.page-resultats-site
  .btn-refaire {
    width: 100%;

    box-sizing: border-box;
  }


  body.page-resultats-site
  .resultat-box,
  body.page-resultats-site
  .profil-global,
  body.page-resultats-site
  .resume-global,
  body.page-resultats-site
  .resultats-fin {
    padding: 1.4rem;

    border-radius: 18px;
  }


  body.page-resultats-site
  .resultat-box > p {
    font-size: 0.98rem !important;
  }

}


/* =========================================================
   VERSION PDF / IMPRESSION
   ========================================================= */

@media print {

  @page {
    size: A4;
    margin: 12mm 14mm;
  }


  /* Éléments inutiles dans le bilan téléchargé */

  header,
  footer,
  .resultats-actions,
  .btn-kit,
  .btn-accompagnement {
    display: none !important;
  }


  html,
  body {
    margin: 0 !important;
    padding: 0 !important;

    background: #ffffff !important;
  }


  body.page-resultats-site
  main.resultats {
    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
  }


  body.page-resultats-site
  .resultats .container {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;
  }


  /* =====================================================
     TYPOGRAPHIE PDF
     ===================================================== */

  body.page-resultats-site
  .resultats p,
  body.page-resultats-site
  .resultat-box > p,
  body.page-resultats-site
  .resultat-box ul,
  body.page-resultats-site
  .resume-global p {
    font-size: 10.5pt !important;
    line-height: 1.45 !important;
  }


  body.page-resultats-site
  .resultats-entete h1 {
    font-size: 23pt !important;
    line-height: 1.12 !important;
  }


  body.page-resultats-site
  .profil-global h2 {
    font-size: 18pt !important;
  }


  body.page-resultats-site
  .resultat-box h2 {
    font-size: 16pt !important;
  }


  /* =====================================================
     PREMIÈRE PARTIE
     ===================================================== */

  body.page-resultats-site
  .resultats-entete {
    margin: 0 0 8mm !important;

    padding: 8mm !important;

    border: 1px solid #c8d8d4 !important;
    border-radius: 12px !important;

    background: #ffffff !important;

    box-shadow: none !important;

    break-inside: auto !important;
    page-break-inside: auto !important;
  }


  body.page-resultats-site
  .resultats-entete h1 {
    margin-bottom: 5mm !important;
  }


  body.page-resultats-site
  .resultats-entete p {
    margin-top: 0 !important;
    margin-bottom: 3mm !important;
  }


  body.page-resultats-site
  .resultats-note {
    margin-top: 4mm !important;

    padding: 4mm !important;

    background: #ffffff !important;

    break-inside: avoid;
    page-break-inside: avoid;
  }


  /* =====================================================
     INTRO + PROFIL
     ===================================================== */

  body.page-resultats-site
  #intro {
    margin: 5mm auto !important;

    font-size: 12pt !important;
  }


  body.page-resultats-site
  .profil-global {
    margin: 0 auto 7mm !important;

    padding: 6mm !important;

    border: 1px solid #b9cbd3 !important;
    border-radius: 12px !important;

    background: #edf3f6 !important;

    color: #082d57 !important;

    box-shadow: none !important;

    break-inside: avoid;
    page-break-inside: avoid;
  }


  body.page-resultats-site
  .profil-global h2,
  body.page-resultats-site
  .profil-global p {
    color: #082d57 !important;
  }


  /* =====================================================
     CARTES DES FONCTIONS

     IMPORTANT :
     on autorise une grosse carte à continuer
     sur la page suivante.
     ===================================================== */

  body.page-resultats-site
  .resultat-box {
    margin: 0 auto 6mm !important;

    padding: 6mm !important;

    border-radius: 10px !important;

    background: #ffffff !important;

    box-shadow: none !important;

    break-inside: auto !important;
    page-break-inside: auto !important;
  }


  /* Évite qu'un titre se retrouve seul au bas d'une page */

  body.page-resultats-site
  .resultat-box h2,
  body.page-resultats-site
  .resultat-box strong {
    break-after: avoid;
    page-break-after: avoid;
  }


  /* Évite autant que possible de couper une liste */

  body.page-resultats-site
  .resultat-box ul {
    break-inside: avoid;
    page-break-inside: avoid;
  }


  /* =====================================================
     RÉSUMÉ
     ===================================================== */

  body.page-resultats-site
  .resume-global {
    margin: 8mm auto 0 !important;

    padding: 6mm !important;

    border: 1px solid #c8d8d4 !important;
    border-radius: 10px !important;

    background: #ffffff !important;

    box-shadow: none !important;

    break-inside: auto !important;
    page-break-inside: auto !important;
  }


  /* =====================================================
     CONCLUSION
     ===================================================== */

  body.page-resultats-site
  .resultats-fin {
    margin: 8mm auto 0 !important;

    padding: 6mm !important;

    border: 1px solid #c8d8d4 !important;
    border-radius: 10px !important;

    background: #ffffff !important;

    box-shadow: none !important;

    break-inside: avoid;
    page-break-inside: avoid;
  }

}
/* =========================================================
   TAILLE DU TEXTE DANS LES CARTES DES FONCTIONS EXÉCUTIVES
   ========================================================= */

body.page-resultats-site .resultat-box p,
body.page-resultats-site .resultat-box li {
  font-size: 1.5rem !important;
  line-height: 1.65 !important;
}

body.page-resultats-site .resultat-box strong {
  font-size: inherit;
}

body.page-resultats-site .resultat-box h2 {
  font-size: 1.75rem !important;
  line-height: 1.25;
}