/* =========================================================
   PAGE FEMME — ZONE TDAH
   ========================================================= */

:root {
  --femme-bleu: #082d57;
  --femme-bleu-doux: #42617c;

  --femme-vert: #159b86;
  --femme-vert-fonce: #0e7568;
  --femme-vert-pale: #e9f7f3;

  --femme-fond: #f8fbfa;
  --femme-fond-teinte: #eff8f6;

  --femme-blanc: #ffffff;

  --femme-texte: #263443;
  --femme-texte-doux: #5d6b77;

  --femme-bordure: #d5e7e3;

  --femme-ombre:
    0 12px 32px
    rgba(8, 45, 87, 0.08);

  --femme-ombre-hover:
    0 17px 38px
    rgba(8, 45, 87, 0.13);
}


/* =========================================================
   BASE
   ========================================================= */

body.page-femme-site {
  background: var(--femme-fond);
}


body.page-femme-site
main.page-femme {
  width: 100%;

  margin: 0;

  padding:
    160px
    0
    4rem;

  overflow: hidden;

  background:
    linear-gradient(
      180deg,
      #f4faf8 0%,
      #ffffff 32%,
      #f8fbfa 100%
    );

  color: var(--femme-texte);

  font-family:
    "Be Vietnam Pro",
    Arial,
    sans-serif;

  text-align: left;
}


body.page-femme-site
main.page-femme,
body.page-femme-site
main.page-femme * {
  box-sizing: border-box;
}


body.page-femme-site
main.page-femme p {
  margin: 0 0 1rem;
  padding: 0;

  background: transparent;

  color: var(--femme-texte-doux);

  font-size: 16px;
  line-height: 1.7;
}


body.page-femme-site
main.page-femme p:last-child {
  margin-bottom: 0;
}


body.page-femme-site
main.page-femme img {
  display: block;

  width: 100%;

  margin: 0;

  border-radius: 0;
}


/* =========================================================
   LARGEUR
   ========================================================= */

body.page-femme-site
.femme-hero,
body.page-femme-site
.femme-navigation,
body.page-femme-site
.femme-section,
body.page-femme-site
.femme-conclusion {
  width:
    min(
      1160px,
      calc(100% - 2rem)
    );

  margin-right: auto;
  margin-left: auto;
}


body.page-femme-site
.femme-section {
  margin-bottom: 5rem;
}


/* =========================================================
   TITRES
   ========================================================= */

body.page-femme-site
main.page-femme h1,
body.page-femme-site
main.page-femme h2,
body.page-femme-site
main.page-femme h3 {
  margin-top: 0;
  padding: 0;

  color: var(--femme-bleu);
}


body.page-femme-site
main.page-femme h1 {
  margin-bottom: 1.3rem;

  font-size:
    clamp(
      2.5rem,
      4.8vw,
      4.2rem
    );

  line-height: 1.08;
  letter-spacing: -0.035em;
}


body.page-femme-site
main.page-femme h2 {
  margin-bottom: 1.3rem;

  font-size:
    clamp(
      1.9rem,
      3.5vw,
      2.8rem
    );

  line-height: 1.2;
  letter-spacing: -0.025em;
}


body.page-femme-site
main.page-femme h3 {
  margin-bottom: 1rem;

  font-size: 1.2rem;
  line-height: 1.4;
}


/* =========================================================
   SOUS-TITRES VERTS
   ========================================================= */

body.page-femme-site
.femme-sur-titre {
  margin:
    0
    0
    1.2rem !important;

  color:
    var(--femme-vert-fonce) !important;

  font-size: 0.88rem !important;
  font-weight: 850 !important;

  line-height: 1.35 !important;

  letter-spacing: 0.075em;

  text-transform: uppercase;
}


/* =========================================================
   HERO
   ========================================================= */

body.page-femme-site
.femme-hero {
  display: grid;

  grid-template-columns:
    minmax(0, 1.35fr)
    minmax(280px, 0.65fr);

  gap: 2.8rem;

  align-items: center;

  margin-bottom: 1.5rem;

  padding:
    clamp(
      1.7rem,
      4vw,
      3rem
    );

  border:
    1px solid
    #cce5df;

  border-radius: 30px;

  background:
    radial-gradient(
      circle at 92% 10%,
      rgba(21, 155, 134, 0.13),
      transparent 32%
    ),
    linear-gradient(
      135deg,
      #ffffff,
      #edf8f5
    );

  box-shadow:
    0 17px 45px
    rgba(8, 45, 87, 0.1);
}


body.page-femme-site
.femme-introduction {
  color:
    #364958 !important;

  font-size: 1.15rem !important;
  font-weight: 600;
}


body.page-femme-site
.femme-hero-image {
  overflow: hidden;

  border-radius: 24px;

  box-shadow:
    var(--femme-ombre);
}


body.page-femme-site
.femme-hero-image img {
  height: 330px;

  object-fit: cover;
  object-position: center;
}


/* =========================================================
   NAVIGATION
   ========================================================= */

body.page-femme-site
.femme-navigation {
  display: flex;

  flex-wrap: wrap;

  gap: 0.55rem;

  align-items: center;
  justify-content: center;

  margin-bottom: 4.5rem;

  padding:
    0.85rem
    1rem;

  border:
    1px solid
    var(--femme-bordure);

  border-radius: 18px;

  background:
    rgba(
      255,
      255,
      255,
      0.94
    );

  box-shadow:
    0 8px 25px
    rgba(8, 45, 87, 0.06);
}


body.page-femme-site
.femme-navigation a {
  display: inline-flex;

  min-height: 40px;

  padding:
    0.6rem
    0.9rem;

  align-items: center;

  border-radius: 999px;

  background:
    var(--femme-vert-pale);

  color:
    var(--femme-vert-fonce);

  font-size: 0.9rem;
  font-weight: 750;

  text-decoration: none;
}


/* =========================================================
   ENTÊTES DE SECTIONS
   ========================================================= */

body.page-femme-site
.femme-entete-section {
  max-width: 850px;

  margin:
    0 auto
    2.8rem;

  text-align: center;
}


body.page-femme-site
.femme-entete-section::after {
  content: "";

  display: block;

  width: 54px;
  height: 4px;

  margin:
    1.3rem auto 0;

  border-radius: 999px;

  background:
    linear-gradient(
      90deg,
      var(--femme-vert),
      #79cdbc
    );
}


/* =========================================================
   ENFANCE / ADOLESCENCE / ADULTE
   ========================================================= */

body.page-femme-site
#se-comprendre {
  width:
    min(
      1280px,
      calc(100% - 2rem)
    );
}


body.page-femme-site
.femme-grille-parcours {
  display: grid;

  grid-template-columns:
    repeat(
      3,
      minmax(0, 1fr)
    );

  gap: 1.5rem;

  margin-bottom: 2rem;
}


body.page-femme-site
.femme-carte-parcours {
  overflow: hidden;

  padding: 0;

  border:
    1px solid
    var(--femme-bordure);

  border-radius: 23px;

  background:
    #ffffff;

  box-shadow:
    var(--femme-ombre);

  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
}


body.page-femme-site
.femme-carte-parcours:hover {
  transform:
    translateY(-4px);

  box-shadow:
    var(--femme-ombre-hover);
}


body.page-femme-site
.femme-photo-parcours {
  height: 180px;

  object-fit: cover;
  object-position: center;
}


body.page-femme-site
.femme-carte-parcours-contenu {
  padding: 2rem;
}


body.page-femme-site
.femme-etiquette {
  display: inline-flex;

  margin-bottom: 1.35rem;

  padding:
    0.38rem
    0.7rem;

  border-radius: 999px;

  background:
    var(--femme-vert-pale);

  color:
    var(--femme-vert-fonce);

  font-size: 0.78rem;
  font-weight: 850;

  text-transform: uppercase;
  letter-spacing: 0.05em;
}


body.page-femme-site
.femme-carte-parcours h3 {
  margin-bottom: 1.4rem !important;
}


body.page-femme-site
.femme-carte-parcours p {
  margin-bottom: 1.35rem !important;

  line-height: 1.72 !important;
}


/* =========================================================
   IMAGE + TEXTE
   ========================================================= */

body.page-femme-site
.femme-bloc-image-texte {
  display: grid;

  grid-template-columns:
    minmax(260px, 0.65fr)
    minmax(0, 1.35fr);

  gap: 2rem;

  align-items: center;

  padding: 2rem;

  border:
    1px solid
    #d2e8e2;

  border-radius: 25px;

  background:
    linear-gradient(
      135deg,
      #edf8f5,
      #ffffff
    );
}


body.page-femme-site
.femme-image-secondaire {
  overflow: hidden;

  border-radius: 20px;
}


body.page-femme-site
.femme-image-secondaire img {
  height: 260px;

  object-fit: cover;
}


/* =========================================================
   SECTION TEINTÉE
   ========================================================= */

body.page-femme-site
.femme-section-teintee {
  padding:
    clamp(
      1.6rem,
      4vw,
      2.8rem
    );

  border:
    1px solid
    #d2e8e2;

  border-radius: 28px;

  background:
    linear-gradient(
      135deg,
      #edf8f5,
      #f9fcfb
    );
}


/* =========================================================
   INTRO VISUELLE
   ========================================================= */

body.page-femme-site
.femme-intro-visuelle {
  display: grid;

  grid-template-columns:
    minmax(280px, 0.75fr)
    minmax(0, 1.25fr);

  gap: 2rem;

  align-items: center;

  margin-bottom: 2.5rem;
}


body.page-femme-site
.femme-intro-photo {
  overflow: hidden;

  border-radius: 22px;

  box-shadow:
    var(--femme-ombre);
}


body.page-femme-site
.femme-intro-photo img {
  height: 270px;

  object-fit: cover;
}


/* =========================================================
   CARTES OUTILS
   ========================================================= */

body.page-femme-site
.femme-grille-outils {
  display: grid;

  grid-template-columns:
    repeat(
      4,
      minmax(0, 1fr)
    );

  gap: 1rem;
}


body.page-femme-site
.femme-carte-outil {
  padding: 1.6rem;

  border:
    1px solid
    var(--femme-bordure);

  border-radius: 21px;

  background:
    rgba(
      255,
      255,
      255,
      0.96
    );

  box-shadow:
    0 9px 25px
    rgba(8, 45, 87, 0.06);
}


body.page-femme-site
.femme-icone {
  display: grid;

  width: 30px;
  height: 30px;

  margin-bottom: 1.1rem;

  border-radius: 50%;

  place-items: center;

  background:
    linear-gradient(
      135deg,
      var(--femme-vert),
      var(--femme-vert-fonce)
    );

  color: #ffffff;

  font-size: 0.65rem;
  font-weight: 900;
}


/* =========================================================
   BIEN-ÊTRE PRENDRE SOIN DE SOI
   ========================================================= */

body.page-femme-site
.femme-bienetre-contenu {
  display: grid;

  grid-template-columns:
    minmax(0, 1.25fr)
    minmax(300px, 0.75fr);

  gap: 1.6rem;

  align-items: stretch;
}


body.page-femme-site
.femme-grille-bienetre {
  display: grid;

  grid-template-columns:
    repeat(
      2,
      minmax(0, 1fr)
    );

  gap: 1rem;
}


body.page-femme-site
.femme-grille-bienetre article {
  padding: 1.6rem;

  border-left:
    5px solid
    var(--femme-vert);

  border-radius:
    0 18px 18px 0;

  background:
    #ffffff;

  box-shadow:
    0 8px 24px
    rgba(8, 45, 87, 0.06);
}


body.page-femme-site
.femme-bienetre-image {
  overflow: hidden;

  border-radius: 24px;

  box-shadow:
    var(--femme-ombre);
}


body.page-femme-site
.femme-bienetre-image img {
  height: 100%;

  min-height: 420px;

  object-fit: cover;
}
/* TABLETTE - PRENDRE SOIN DE SOI */

@media (max-width: 980px) {

  body.page-femme-site
  .femme-bienetre-contenu {
    display: flex !important;
    flex-direction: column !important;
    gap: 1.5rem !important;
  }

  body.page-femme-site
  .femme-bienetre-image {
    order: 1 !important;
  }

  body.page-femme-site
  .femme-grille-bienetre {
    order: 2 !important;
  }

  body.page-femme-site
  .femme-bienetre-image img {
    width: 100% !important;
    height: 280px !important;
    min-height: 0 !important;

    object-fit: cover !important;
  }

}

/* =========================================================
   QUOTIDIEN
   ========================================================= */

body.page-femme-site
.femme-quotidien-contenu {
  display: grid;

  grid-template-columns:
    minmax(240px, 0.55fr)
    minmax(0, 1.45fr);

  gap: 1.5rem;

  align-items: center;
}


body.page-femme-site
.femme-quotidien-image {
  overflow: hidden;

  border-radius: 22px;

  box-shadow:
    var(--femme-ombre);
}


body.page-femme-site
.femme-quotidien-image img {
  height: 400px;

  object-fit: cover;
}


body.page-femme-site
.femme-liste-strategies {
  display: grid;

  grid-template-columns:
    1fr;

  gap: 1rem;
}


body.page-femme-site
.femme-liste-strategies article {
  display: grid;

  grid-template-columns:
    38px
    minmax(0, 1fr);

  gap: 0.9rem;

  padding: 1.35rem;

  border:
    1px solid
    var(--femme-bordure);

  border-radius: 19px;

  background:
    rgba(
      255,
      255,
      255,
      0.96
    );
}


body.page-femme-site
.femme-check {
  display: grid;

  width: 36px;
  height: 36px;

  border-radius: 50%;

  place-items: center;

  background:
    var(--femme-vert-pale);

  color:
    var(--femme-vert-fonce);

  font-weight: 900;
}


/* =========================================================
   APPEL RESSOURCES
   ========================================================= */

body.page-femme-site
.femme-action {
  display: flex;

  align-items: center;
  justify-content: space-between;

  gap: 2rem;

  width: 100%;

  margin-top: 1.5rem;

  padding:
    1.25rem
    1.4rem;

  border-radius: 18px;

  background:
    rgba(
      255,
      255,
      255,
      0.72
    );
}


body.page-femme-site
.femme-action p {
  flex: 1;

  margin: 0 !important;
}


body.page-femme-site
.femme-action
.femme-bouton {
  flex: 0 0 auto;

  min-width: 165px;

  white-space: nowrap;
}


/* =========================================================
   FINANCES
   ========================================================= */

body.page-femme-site
.femme-finances-intro {
  display: grid;

  grid-template-columns:
    minmax(0, 1.35fr)
    minmax(280px, 0.65fr);

  gap: 2rem;

  align-items: center;

  max-width: 1050px;

  margin:
    0 auto
    2.5rem;
}


body.page-femme-site
.femme-finances-image {
  overflow: hidden;

  border-radius: 22px;

  box-shadow:
    var(--femme-ombre);
}


body.page-femme-site
.femme-finances-image img {
  height: 260px;

  object-fit: cover;
}


/* =========================================================
   ACCORDÉON
   ========================================================= */

body.page-femme-site
.femme-accordeon {
  display: grid;

  max-width: 900px;

  gap: 0.75rem;

  margin: 0 auto;
}


body.page-femme-site
.femme-accordeon details {
  overflow: hidden;

  border:
    1px solid
    var(--femme-bordure);

  border-radius: 17px;

  background:
    #ffffff;

  box-shadow:
    0 6px 19px
    rgba(8, 45, 87, 0.05);
}


body.page-femme-site
.femme-accordeon summary {
  position: relative;

  padding:
    1.05rem
    3.5rem
    1.05rem
    1.25rem;

  color:
    var(--femme-bleu);

  font-size: 1.02rem;
  font-weight: 800;

  line-height: 1.35;

  cursor: pointer;

  list-style: none;
}


body.page-femme-site
.femme-accordeon summary::-webkit-details-marker {
  display: none;
}


body.page-femme-site
.femme-accordeon summary::after {
  content: "+";

  position: absolute;

  top: 50%;
  right: 1.1rem;

  display: grid;

  width: 30px;
  height: 30px;

  border-radius: 50%;

  place-items: center;

  background:
    var(--femme-vert-pale);

  color:
    var(--femme-vert-fonce);

  font-size: 1.15rem;
  font-weight: 900;

  transform:
    translateY(-50%);
}


body.page-femme-site
.femme-accordeon details[open]
summary::after {
  content: "−";
}


body.page-femme-site
.femme-accordeon details p {
  padding:
    0
    1.25rem
    1.2rem !important;
}


/* =========================================================
   BOUTONS
   ========================================================= */

body.page-femme-site
.femme-bouton {
  display: inline-flex;

  min-height: 48px;

  padding:
    0.8rem
    1.25rem;

  align-items: center;
  justify-content: center;

  border-radius: 999px;

  font-size: 0.95rem;
  font-weight: 800;

  text-decoration: none;
}


body.page-femme-site
.femme-bouton-principal {
  border:
    1px solid
    var(--femme-vert);

  background:
    linear-gradient(
      135deg,
      var(--femme-vert-fonce),
      var(--femme-vert)
    );

  color: #ffffff;
}


body.page-femme-site
.femme-bouton-secondaire {
  border:
    2px solid
    var(--femme-vert);

  background: #ffffff;

  color:
    var(--femme-vert-fonce);
}


/* =========================================================
   CONCLUSION
   ========================================================= */

body.page-femme-site
.femme-conclusion {
  display: flex;

  align-items: center;
  justify-content: space-between;

  gap: 2rem;

  padding:
    clamp(
      1.6rem,
      4vw,
      2.6rem
    );

  border:
    1px solid
    #cce5df;

  border-radius: 27px;

  background:
    linear-gradient(
      135deg,
      #ffffff,
      #eaf7f3
    );

  box-shadow:
    var(--femme-ombre);
}


body.page-femme-site
.femme-conclusion > div {
  max-width: 760px;
}


/* =========================================================
   SCROLL HEADER
   ========================================================= */

body.page-femme-site
#se-comprendre,
body.page-femme-site
#prendre-main,
body.page-femme-site
#soin-de-soi,
body.page-femme-site
#outils,
body.page-femme-site
#finances {
  scroll-margin-top: 165px;
}


/* =========================================================
   TABLETTE
   ========================================================= */

@media (max-width: 980px) {

  body.page-femme-site
  .femme-hero,
  body.page-femme-site
  .femme-intro-visuelle,
  body.page-femme-site
  .femme-bloc-image-texte,
  body.page-femme-site
  .femme-bienetre-contenu,
  body.page-femme-site
  .femme-quotidien-contenu,
  body.page-femme-site
  .femme-finances-intro {
    grid-template-columns:
      1fr;
  }


  body.page-femme-site
  .femme-grille-parcours {
    grid-template-columns:
      1fr;
  }


  body.page-femme-site
  .femme-grille-outils {
    grid-template-columns:
      repeat(
        2,
        minmax(0, 1fr)
      );
  }


  body.page-femme-site
  .femme-quotidien-image img {
    height: 280px;
  }


  body.page-femme-site
  .femme-finances-image {
    max-width: 600px;
  }

}


/* =========================================================
   CELLULAIRE
   ========================================================= */

@media (max-width: 700px) {

  body.page-femme-site
  main.page-femme {
    padding-top: 110px;
  }


  body.page-femme-site
  .femme-hero,
  body.page-femme-site
  .femme-navigation,
  body.page-femme-site
  .femme-section,
  body.page-femme-site
  .femme-conclusion {
    width:
      calc(100% - 1rem);
  }


  body.page-femme-site
  .femme-section {
    margin-bottom: 3rem;
  }


  body.page-femme-site
  .femme-hero {
    gap: 1.4rem;

    padding: 1.4rem;

    border-radius: 22px;
  }


  body.page-femme-site
  main.page-femme h1 {
    font-size: 2.25rem;
  }


  body.page-femme-site
  .femme-hero-image img {
    height: 240px;
  }


  body.page-femme-site
  .femme-navigation {
    justify-content: flex-start;

    margin-bottom: 3rem;

    padding: 0.7rem;
  }


  body.page-femme-site
  .femme-grille-outils,
  body.page-femme-site
  .femme-grille-bienetre {
    grid-template-columns:
      1fr;
  }


  body.page-femme-site
  .femme-section-teintee {
    padding: 1.3rem;

    border-radius: 21px;
  }


  body.page-femme-site
  .femme-quotidien-image img,
  body.page-femme-site
  .femme-finances-image img {
    height: 220px;
  }


  body.page-femme-site
  .femme-action,
  body.page-femme-site
  .femme-conclusion {
    align-items: flex-start;

    flex-direction: column;
  }


  body.page-femme-site
  .femme-action
  .femme-bouton,
  body.page-femme-site
  .femme-conclusion
  .femme-bouton {
    width: 100%;
  }

}