/* =========================================================
   PAGE COUPLE — ZONE TDAH
   ========================================================= */

:root {
  --couple-bleu: #082d57;
  --couple-vert: #159b86;
  --couple-vert-fonce: #0e7568;
  --couple-vert-pale: #e8f7f3;

  --couple-fond: #f8fbfa;
  --couple-blanc: #ffffff;

  --couple-texte: #263443;
  --couple-texte-doux: #5d6b77;

  --couple-bordure: #d5e7e3;

  --couple-ombre:
    0 12px 32px
    rgba(8, 45, 87, 0.08);

  --couple-ombre-hover:
    0 17px 38px
    rgba(8, 45, 87, 0.13);
}


/* =========================================================
   BASE
   ========================================================= */

body.page-couple-site {
  background: var(--couple-fond);
}


body.page-couple-site
main.page-couple {
  width: 100%;

  margin: 0;

  padding:
    160px
    0
    4rem;

  overflow: hidden;

  background:
    linear-gradient(
      180deg,
      #f4faf8 0%,
      #ffffff 32%,
      #f8fbfa 100%
    );

  color: var(--couple-texte);

  font-family:
    "Be Vietnam Pro",
    Arial,
    sans-serif;

  text-align: left;
}


body.page-couple-site
main.page-couple,
body.page-couple-site
main.page-couple * {
  box-sizing: border-box;
}


body.page-couple-site
main.page-couple p {
  margin: 0 0 1rem;
  padding: 0;

  background: transparent;

  color: var(--couple-texte-doux);

  font-size: 16px;
  line-height: 1.7;
}


body.page-couple-site
main.page-couple img {
  display: block;

  width: 100%;

  margin: 0;

  border-radius: 0;
}


/* =========================================================
   LARGEUR
   ========================================================= */

body.page-couple-site
.couple-hero,
body.page-couple-site
.couple-navigation,
body.page-couple-site
.couple-section,
body.page-couple-site
.couple-conclusion {
  width:
    min(
      1160px,
      calc(100% - 2rem)
    );

  margin-right: auto;
  margin-left: auto;
}


body.page-couple-site
.couple-section {
  margin-bottom: 5rem;
}


/* =========================================================
   TITRES
   ========================================================= */

body.page-couple-site
main.page-couple h1,
body.page-couple-site
main.page-couple h2,
body.page-couple-site
main.page-couple h3 {
  margin-top: 0;
  padding: 0;

  color: var(--couple-bleu);
}


body.page-couple-site
main.page-couple h1 {
  margin-bottom: 1.15rem;

  font-size:
    clamp(
      2.5rem,
      4.8vw,
      4.2rem
    );

  line-height: 1.08;

  letter-spacing: -0.035em;
}


body.page-couple-site
main.page-couple h2 {
  margin-bottom: 1.3rem;

  font-size:
    clamp(
      1.9rem,
      3.5vw,
      2.8rem
    );

  line-height: 1.2;

  letter-spacing: -0.025em;
}


body.page-couple-site
main.page-couple h3 {
  margin-bottom: 1rem;

  font-size: 1.2rem;
  line-height: 1.4;
}


/* =========================================================
   SOUS-TITRES VERTS
   ========================================================= */

body.page-couple-site
.couple-sur-titre {
  margin:
    0
    0
    0.9rem !important;

  color:
    var(--couple-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 COUPLE
   ========================================================= */

body.page-couple-site
.couple-hero {
  display: grid;

  grid-template-columns:
    minmax(0, 1fr)
    360px;

  gap: 2.2rem;

  align-items: center;

  margin-bottom: 1.5rem;

  padding:
    2rem
    2.4rem;

  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-couple-site
.couple-hero-texte {
  width: 100%;
  max-width: none;

  margin: 0;
  padding: 0;

  text-align: left;
}

body.page-couple-site
.couple-introduction {
  color:
    #364958 !important;

  font-size: 1.15rem !important;
  font-weight: 600;
}


body.page-couple-site
.couple-hero-image {
  overflow: hidden;

  border-radius: 24px;

  box-shadow:
    var(--couple-ombre);
}


body.page-couple-site
.couple-hero-image img {
  width: 100%;
  height: 310px;

  object-fit: cover;
  object-position: center;

  border-radius: 0;
}


/* =========================================================
   NAVIGATION
   ========================================================= */

body.page-couple-site
.couple-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(--couple-bordure);

  border-radius: 18px;

  background:
    rgba(
      255,
      255,
      255,
      0.94
    );

  box-shadow:
    0 8px 25px
    rgba(8, 45, 87, 0.06);
}


body.page-couple-site
.couple-navigation a {
  display: inline-flex;

  min-height: 40px;

  padding:
    0.6rem
    0.9rem;

  align-items: center;

  border-radius: 999px;

  background:
    var(--couple-vert-pale);

  color:
    var(--couple-vert-fonce);

  font-size: 0.9rem;
  font-weight: 750;

  text-decoration: none;
}


/* =========================================================
   ENTÊTES DE SECTIONS
   ========================================================= */

body.page-couple-site
.couple-entete-section {
  max-width: 850px;

  margin:
    0 auto
    2.8rem;

  text-align: center;
}


body.page-couple-site
.couple-entete-section::after {
  content: "";

  display: block;

  width: 54px;
  height: 4px;

  margin:
    1.3rem auto 0;

  border-radius: 999px;

  background:
    linear-gradient(
      90deg,
      var(--couple-vert),
      #79cdbc
    );
}


/* =========================================================
   IMAGE + TEXTE
   ========================================================= */

body.page-couple-site
.couple-bloc-image-texte {
  display: grid;

  grid-template-columns:
    minmax(280px, 0.7fr)
    minmax(0, 1.3fr);

  gap: 2rem;

  align-items: center;

  margin-bottom: 2rem;

  padding: 2rem;

  border:
    1px solid
    #d2e8e2;

  border-radius: 25px;

  background:
    linear-gradient(
      135deg,
      #edf8f5,
      #ffffff
    );
}


body.page-couple-site
.couple-image-secondaire {
  overflow: hidden;

  border-radius: 20px;
}


body.page-couple-site
.couple-image-secondaire img {
  height: 260px;

  object-fit: cover;
}


/* =========================================================
   CARTES DYNAMIQUE
   ========================================================= */

body.page-couple-site
.couple-grille-points {
  display: grid;

  grid-template-columns:
    repeat(
      3,
      minmax(0, 1fr)
    );

  gap: 1.2rem;
}


body.page-couple-site
.couple-grille-points article {
  padding: 1.7rem;

  border:
    1px solid
    var(--couple-bordure);

  border-radius: 21px;

  background:
    #ffffff;

  box-shadow:
    var(--couple-ombre);
}


body.page-couple-site
.couple-numero {
  display: grid;

  width: 30px;
  height: 30px;

  margin-bottom: 1.1rem;

  border-radius: 50%;

  place-items: center;

  background:
    linear-gradient(
      135deg,
      var(--couple-vert),
      var(--couple-vert-fonce)
    );

  color: #ffffff;

  font-size: 0.65rem;
  font-weight: 900;
}


/* =========================================================
   SECTIONS TEINTÉES
   ========================================================= */

body.page-couple-site
.couple-section-teintee {
  padding:
    clamp(
      1.6rem,
      4vw,
      2.8rem
    );

  border:
    1px solid
    #d2e8e2;

  border-radius: 28px;

  background:
    linear-gradient(
      135deg,
      #edf8f5,
      #f9fcfb
    );
}


/* =========================================================
   COMMUNICATION
   ========================================================= */

body.page-couple-site
.couple-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-couple-site
.couple-intro-photo {
  overflow: hidden;

  border-radius: 22px;

  box-shadow:
    var(--couple-ombre);
}


body.page-couple-site
.couple-intro-photo img {
  height: 270px;

  object-fit: cover;
}


body.page-couple-site
.couple-grille-communication {
  display: grid;

  grid-template-columns:
    repeat(
      2,
      minmax(0, 1fr)
    );

  gap: 1rem;
}


body.page-couple-site
.couple-grille-communication article {
  padding: 1.6rem;

  border-left:
    5px solid
    var(--couple-vert);

  border-radius:
    0 18px 18px 0;

  background:
    #ffffff;

  box-shadow:
    0 8px 24px
    rgba(8, 45, 87, 0.06);
}


/* =========================================================
   QUOTIDIEN
   ========================================================= */

body.page-couple-site
.couple-quotidien-contenu {
  display: grid;

  grid-template-columns:
    minmax(0, 1.4fr)
    minmax(260px, 0.6fr);

  gap: 1.5rem;

  align-items: center;
}


body.page-couple-site
.couple-liste-strategies {
  display: grid;

  grid-template-columns: 1fr;

  gap: 1rem;
}


body.page-couple-site
.couple-liste-strategies article {
  display: grid;

  grid-template-columns:
    38px
    minmax(0, 1fr);

  gap: 0.9rem;

  padding: 1.35rem;

  border:
    1px solid
    var(--couple-bordure);

  border-radius: 19px;

  background:
    #ffffff;
}


body.page-couple-site
.couple-check {
  display: grid;

  width: 36px;
  height: 36px;

  border-radius: 50%;

  place-items: center;

  background:
    var(--couple-vert-pale);

  color:
    var(--couple-vert-fonce);

  font-weight: 900;
}


body.page-couple-site
.couple-quotidien-image {
  overflow: hidden;

  border-radius: 22px;

  box-shadow:
    var(--couple-ombre);
}


body.page-couple-site
.couple-quotidien-image img {
  height: 400px;

  object-fit: cover;
}


/* =========================================================
   PROTÉGER LE LIEN
   ========================================================= */

body.page-couple-site
.couple-lien-layout {
  display: grid;

  grid-template-columns:
    minmax(280px, 0.7fr)
    minmax(0, 1.3fr);

  gap: 1.6rem;

  align-items: stretch;
}


body.page-couple-site
.couple-lien-image {
  overflow: hidden;

  border-radius: 24px;

  box-shadow:
    var(--couple-ombre);
}


body.page-couple-site
.couple-lien-image img {
  height: 100%;

  min-height: 420px;

  object-fit: cover;
}


body.page-couple-site
.couple-grille-lien {
  display: grid;

  grid-template-columns:
    repeat(
      2,
      minmax(0, 1fr)
    );

  gap: 1rem;
}


body.page-couple-site
.couple-grille-lien article {
  padding: 1.5rem;

  border:
    1px solid
    var(--couple-bordure);

  border-radius: 18px;

  background:
    #ffffff;

  box-shadow:
    0 8px 24px
    rgba(8, 45, 87, 0.06);
}


/* Dernière carte seule un peu plus large */

body.page-couple-site
.couple-grille-lien article:last-child {
  grid-column: 1 / -1;
}


/* =========================================================
   CONCLUSION
   ========================================================= */

body.page-couple-site
.couple-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(--couple-ombre);
}


body.page-couple-site
.couple-conclusion > div {
  max-width: 760px;
}


/* =========================================================
   BOUTONS
   ========================================================= */

body.page-couple-site
.couple-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-couple-site
.couple-bouton-principal {
  border:
    1px solid
    var(--couple-vert);

  background:
    linear-gradient(
      135deg,
      var(--couple-vert-fonce),
      var(--couple-vert)
    );

  color: #ffffff;
}


/* =========================================================
   SCROLL SOUS LE HEADER
   ========================================================= */

body.page-couple-site
#dynamique,
body.page-couple-site
#communication,
body.page-couple-site
#quotidien,
body.page-couple-site
#lien {
  scroll-margin-top: 165px;
}


/* =========================================================
   TABLETTE
   ========================================================= */

@media (max-width: 980px) {

  body.page-couple-site
  .couple-hero,
  body.page-couple-site
  .couple-bloc-image-texte,
  body.page-couple-site
  .couple-intro-visuelle,
  body.page-couple-site
  .couple-quotidien-contenu,
  body.page-couple-site
  .couple-lien-layout {
    grid-template-columns:
      1fr;
  }


  body.page-couple-site
  .couple-grille-points {
    grid-template-columns:
      1fr;
  }


  body.page-couple-site
  .couple-grille-communication,
  body.page-couple-site
  .couple-grille-lien {
    grid-template-columns:
      1fr;
  }


  body.page-couple-site
  .couple-grille-lien article:last-child {
    grid-column: auto;
  }


  body.page-couple-site
  .couple-quotidien-image {
    max-width: 650px;
  }


  body.page-couple-site
  .couple-quotidien-image img {
    height: 280px;
  }


  body.page-couple-site
  .couple-lien-image img {
    height: 280px;
    min-height: 0;
  }

}



/* =========================================================
   CELLULAIRE
   ========================================================= */

@media (max-width: 700px) {

  body.page-couple-site
  main.page-couple {
    padding-top: 110px;
  }


  body.page-couple-site
  .couple-hero,
  body.page-couple-site
  .couple-navigation,
  body.page-couple-site
  .couple-section,
  body.page-couple-site
  .couple-conclusion {
    width: calc(100% - 1rem);
  }


  body.page-couple-site
  .couple-section {
    margin-bottom: 3rem;
  }


  body.page-couple-site
  .couple-hero {
    gap: 1.4rem;
    padding: 1.4rem;
    border-radius: 22px;
  }


  body.page-couple-site
  main.page-couple h1 {
    font-size: 2.25rem;
  }


  /* Photos qu'on veut voir au complet */

body.page-couple-site
.couple-hero-image,
body.page-couple-site
.couple-quotidien-image,
body.page-couple-site
.couple-lien-image {
  height: auto !important;
  background: transparent !important;
}


body.page-couple-site
.couple-hero-image img,
body.page-couple-site
.couple-quotidien-image img,
body.page-couple-site
.couple-lien-image img {
  width: 100% !important;
  height: auto !important;

  min-height: 0 !important;

  object-fit: contain !important;
  object-position: center !important;
}


  body.page-couple-site
  .couple-navigation {
    justify-content: flex-start;
    margin-bottom: 3rem;
    padding: 0.7rem;
  }


  body.page-couple-site
  .couple-section-teintee {
    padding: 1.3rem;
    border-radius: 21px;
  }


 

 


  body.page-couple-site
  .couple-conclusion {
    align-items: flex-start;
    flex-direction: column;
  }


  body.page-couple-site
  .couple-conclusion
  .couple-bouton {
    width: 100%;
  }

}
