@charset "UTF-8";
/* CSS Document */

/* =========================================================
   EDL — TYPO DE BASE (front)
   Texte par défaut : Avenir LT Pro (Adobe Fonts)
   ========================================================= */


/* =========================================================
   NIVEAUX DE TITRE
========================================================= */

/* =========================================================
   EDL — H1
   ========================================================= */

h1,
.wp-block-post-title,
.wp-block-heading h1{
  font-family: var(--font-title);
  font-weight: 700;
  font-size: 60px;
  line-height: 1.05;
  letter-spacing: 0.02em;
}

/* =========================================================
   EDL — H2 / H3 (ChunkFive local)
   ========================================================= */

/* H2 */
h2,
.wp-block-heading h2{
  font-family: var(--font-heading);
  font-weight: 400;
  font-style: normal;

  font-size: 40px;
  line-height: 1.15;
  letter-spacing: 0.01em;

  margin-top: 6rem;
  margin-bottom: 1.8rem;
}

/* H3 */
h3,
.wp-block-heading h3{
  font-family: var(--font-heading);
  font-weight: 400;
  font-style: normal;

  font-size: 26px;
  line-height: 1.2;
  letter-spacing: 0.01em;

  margin-top: 1.4rem;
  margin-bottom: 0.6rem;
}

/* =========================================================
   EDL — H4 / H5 / H6
   ========================================================= */

h4,
.wp-block-heading h4{
  font-family: var(--font-title);
  font-weight: 700;

  font-size: 40px;
  line-height: 1.15;
  letter-spacing: 0em;

  margin-top: 1.2rem;
  margin-bottom: 0.4rem;
}

h5,
.wp-block-heading h5{
  font-family: var(--font-title);
  font-weight: 700;

  font-size: 1.5rem;
  line-height: 1.2;
  letter-spacing: 0.03em;

  padding-top: 3rem;
  padding-bottom: 1rem;
}

h6,
.wp-block-heading h6{
  font-family: var(--font-title);
  font-weight: 700;

  font-size: 16px;
  line-height: 1.25;
  letter-spacing: 0.03em;

  margin-top: 0.8rem;
  margin-bottom: 0.2rem;
}

/* Espacement vertical autour du bloc (haut/bas) */
.block-space{
  margin-block: 48px;        /* espace avec les blocs au-dessus/dessous */
}

/* Optionnel : si tu veux de l’air “à l’intérieur” */
.block-space > .wp-block-columns{
  padding-block: 0;          /* laisse à 0 si tu veux juste du margin externe */
}

/* Mobile */
@media (max-width: 900px){
  .block-space{
    margin-block: 28px;
  }
}

.clear {
	clear:both
}

/* =========================================================
   NOTES DE BAS DE PAGE
========================================================= */

/* Bloc global */
.wp-block-footnotes{
  clear: both;
  margin-top: 5rem;
  padding-top: 2rem;

  border-top-width: 1px;
  border-top-style: solid;
  border-top-color: var(--rubrique-color) !important;
	
  font-size: 0.9rem;
  line-height: 1.5;
  color: var(--color-text, #212529);
}

/* Liste */
.wp-block-footnotes ol{
  margin: 0;
  padding-left: 1.2rem; /* ajustable selon ton goût */
}

/* Chaque note */
.wp-block-footnotes li{
  margin-bottom: 1.2rem;     /* espace entre les notes */
  padding-bottom: 1rem;

  border-bottom: 1px solid rgba(0,0,0,0.1); /* liseret fin */
}

/* Supprimer le liseret sur la dernière */
.wp-block-footnotes li:last-child{
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

/* ================================
   Liens dans le contenu Gutenberg
   ================================ */

.entry-content a,
.elementor-widget-theme-post-content a{
  color: var(--color-link);
  text-decoration: none;
  border-bottom: 1px solid var(--color-link);
}

/* Hover */
.entry-content a:hover,
.elementor-widget-theme-post-content a:hover{
  opacity: 0.7;
}

/* =========================================================
   GUTENBERG — Clear floats global
   ========================================================= */

.wp-block-group,
.wp-block-columns{
  clear: both;
}

/* =========================================================
   GUTENBERG — Espacement texte / image flottante
   ========================================================= */

.wp-block-image{
  margin-top: 1.5rem !important;
  margin-bottom: 3rem !important;
}

/* Image alignée à gauche */
.wp-block-image .alignleft,
figure.alignleft,
img.alignleft{
  margin-right: 3rem !important; /* espace entre image et texte */
  margin-left: 0 !important;
  max-width:570px;
}

/* Image alignée à droite */
.wp-block-image .alignright,
figure.alignright,
img.alignright{
  margin-left: 3rem !important; /* espace entre image et texte */
  margin-right: 0 !important;
  clear:both;
  max-width: 570px;
}

/* =========================================================
   IMAGE WIDE
   ========================================================= */
.alignwide {
	max-width: 1140px;
	margin: 30px auto;
}

/* Légende image */
.wp-element-caption {
	margin-top:10px;
	font-size:0.9rem;
	line-height:1.4;
}

.alignwide .wp-element-caption {
	text-align: center;
	font-style: italic;
}

/* =========================================================
   EDL — HR Gutenberg (séparateur)
   Rend le hr toujours visible, même si le thème le neutralise
   ========================================================= */

.wp-block-separator{
  display:block;
  border:0 !important;                 /* on annule tout */
  border-top: 1px solid currentColor !important; /* le trait */
  height:0 !important;                 /* pas besoin de height */
  width:100%;
  opacity:1 !important;

  margin-top: 2rem !important;
  margin-bottom: 2rem !important;
}


/* ================================
   GUTENBERG — BOUTONS (style EDL)
   ================================ */

/* Base bouton */
.wp-block-button .wp-block-button__link{
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;

  color: var(--color-text, #212529) !important;
  font-size: 1.5rem;
  font-weight: 700;
  text-transform: uppercase;

  padding-left: 0 !important;
  padding-right: 0 !important;

  display: inline-flex;
  align-items: center;
  gap: .5rem;

  position: relative;
  text-decoration: none !important;
  border-radius: 0 !important;
}

/* Ne pas changer la couleur du texte au hover */
.wp-block-button .wp-block-button__link,
.wp-block-button .wp-block-button__link:hover,
.wp-block-button .wp-block-button__link:focus,
.wp-block-button .wp-block-button__link:active{
  color: var(--color-text, #212529) !important;
  opacity:1 !important;
}

/* ================================
   Icône flèche
   ================================ */

.wp-block-button .wp-block-button__link::before{
  content: "";

  width: 17px;
  height: 17px;

  display: inline-block;
  order: 2;

  background-color: currentColor;

  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z'/%3E%3C/svg%3E");
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
}


/* ================================
   Underline animé (texte uniquement)
   ================================ */

.wp-block-button .wp-block-button__link::after{
  content: "";
  position: absolute;
  left: 0;
  bottom: 0px;

  height: 2px;

  /* largeur du texte seulement */
  width: calc(100% - 17px - .5rem);

  background: currentColor;

  transform: scaleX(0);
  transform-origin: left;
  transition: transform .25s ease;
}

.wp-block-button .wp-block-button__link:hover::after,
.wp-block-button .wp-block-button__link:focus-visible::after{
  transform: scaleX(1);
}

/* Séparateur large entre boutons Gutenberg */

.wp-block-buttons.is-vertical .wp-block-button + .wp-block-button{
  position: relative;
  padding-top: .8rem;
  /*margin-top: .8rem;*/
}

/* le trait */
.wp-block-buttons.is-vertical .wp-block-button + .wp-block-button::before{
  content: "";
  position: absolute;
  top: 0;
  left: 50%;

  width: var(--content-width);
  max-width: 100vw;

  height: 1px;
  background: var(--color-secondaire);

  transform: translateX(-50%);
}


/* -----------------------------
   FRONT (site)
   ----------------------------- */
body{
  font-family: var(--font-text);
  font-size: 1rem;
  font-weight: 400;   /* normal */
  font-style: normal;
  line-height: 1.8;
  color: var(--color-text, #212529);
}

/* -----------------------------
   EDITOR (Gutenberg)
   (ton enqueue_block_editor_assets charge base.css)
   ----------------------------- */
.editor-styles-wrapper{
  font-family: var(--font-text) !important;
  font-size: 1rem;
  font-weight: 400;
  font-style: normal;
  line-height: 1.8;
  color: var(--color-text, #212529);
}

/* S'assurer que les blocs héritent bien */
.editor-styles-wrapper p,
.editor-styles-wrapper li,
.editor-styles-wrapper blockquote,
.editor-styles-wrapper dd{
  line-height: 1.8;
}

/* Base (minimal) */
body{
  color: var(--color-text);
}


/* =========================================================
   EDL – Split texte / image avec bleed
   Version propre, calée sur le HTML réel Gutenberg
   ========================================================= */

:root{
  --edl-content-max: 1140px;
  --edl-split-gap: 32px;
  --edl-image-max-h: 768px;
  --edl-bleed: max(0px, calc((100vw - var(--edl-content-max)) / 2));
}

/* =========================================================
   1) Wrapper
   ========================================================= */

.edl-split{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--edl-split-gap);
  align-items: start;
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
  overflow: visible;
}

.edl-split .wp-block-image{
  margin-block: 0 !important;
}

.edl-split > *{
  min-width: 0;
  margin-top: 0;
  margin-bottom: 0;
}

/* =========================================================
   2) Neutraliser Gutenberg dans ce composant
   ========================================================= */

.edl-split.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.edl-split .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){
  max-width: none !important;
}

.edl-split > .edl-split__media,
.edl-split > .edl-split__content{
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: none !important;
}

.edl-split__media.is-layout-constrained,
.edl-split__content.is-layout-constrained{
  max-width: none !important;
  overflow: visible;
}

/* =========================================================
   3) Colonne texte
   ========================================================= */

.edl-split__content > *:first-child{
  margin-top: 0;
}

.edl-split__content > *:last-child{
  margin-bottom: 0;
}

/* =========================================================
   4) Colonne média
   ========================================================= */

.edl-split__media{
  min-width: 0;
  overflow: visible;
}

.edl-split__media .wp-block-image,
.edl-split__media figure{
  margin: 0;
  max-width: none !important;
}

.edl-split__media img{
  display: block;
  width: 100%;
  height: clamp(420px, 52vw, var(--edl-image-max-h));
  max-height: var(--edl-image-max-h);
  object-fit: cover;
  object-position: center center;
}

.edl-split__media figcaption{
  margin-top: 10px;
  font-size: 0.9rem;
  line-height: 1.4;
	font-style: italic;
	padding-left: 10px;
	padding-right: 10px;
}

/* =========================================================
   5) Desktop
   ========================================================= */

@media (min-width: 901px){

  /* placement */
  .edl-split--bleed-right > .edl-split__content{
    grid-column: 1;
  }
  .edl-split--bleed-right > .edl-split__media{
    grid-column: 2;
  }

  .edl-split--bleed-left > .edl-split__media{
    grid-column: 1;
  }
  .edl-split--bleed-left > .edl-split__content{
    grid-column: 2;
  }

  /* -------------------------
     BLEED DROITE
     ------------------------- */
  .edl-split--bleed-right > .edl-split__media > figure{
    position: relative;
    width: calc(100% + var(--edl-bleed));
    max-width: none !important;
    left: 0;
    right: auto;
  }

  /* -------------------------
     BLEED GAUCHE
     IMPORTANT :
     on décale avec left négatif,
     pas avec margin-left
     ------------------------- */
  .edl-split--bleed-left > .edl-split__media > figure{
    position: relative;
    width: calc(100% + var(--edl-bleed));
    max-width: none !important;
    left: calc(var(--edl-bleed) * -1);
    right: auto;
  }

  .edl-split__media > figure img{
    width: 100%;
  }
}

/* =========================================================
   6) Mobile / tablette
   ========================================================= */

@media (max-width: 900px){

  .edl-split{
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .edl-split--bleed-right > .edl-split__media > figure,
  .edl-split--bleed-left > .edl-split__media > figure{
    position: static;
    width: 100%;
    max-width: 100% !important;
    left: auto;
    right: auto;
  }

  .edl-split__media img{
    width: 100%;
    height: auto;
    max-height: none;
  }
}

/* =========================================================
   IMAGE FLOAT BLEED — BASE
   Version béton :
   - le figure entier flotte
   - image en 90vh
   - légende jamais en surimpression
   - retrait intérieur côté texte pour la légende
   ========================================================= */

.edl-float-bleed-right,
.edl-float-bleed-left{
  display: block;
  margin-top: 0;
  margin-bottom: 2.5rem;
}

.edl-float-bleed-right img,
.edl-float-bleed-left img{
  display: block;
  width: 100%;
  height: 80vh;
  object-fit: cover;
}

.edl-float-bleed-right figcaption,
.edl-float-bleed-right .wp-element-caption,
.edl-float-bleed-left figcaption,
.edl-float-bleed-left .wp-element-caption{
  display: block;
  width: 100%;
  box-sizing: border-box;

  margin-top: 0.9rem;
  margin-bottom: 0;
  clear: both;

  font-size: 0.9rem;
  font-style: italic;
  line-height: 1.4;

  position: relative;
  z-index: 2;
}


/* =========================================================
   IMAGE FLOAT BLEED RIGHT
   ========================================================= */

.edl-float-bleed-right{
  float: right;
  clear: right;

  width: 50vw;
  max-width: 50vw;

  margin-left: 3rem;
  margin-right: calc(50% - 50vw);

  padding-top: 4rem;
}

.edl-float-bleed-right figcaption,
.edl-float-bleed-right .wp-element-caption{
  padding-right: 3rem;   /* espace côté texte */
  padding-left: 0;
  text-align: left;
}


/* =========================================================
   IMAGE FLOAT BLEED LEFT
   ========================================================= */

.edl-float-bleed-left{
  float: left;
  clear: left;

  width: 50vw;
  max-width: 50vw;

  margin-right: 3rem;
  margin-left: calc(50% - 50vw);

  padding-top: 4rem;
}

.edl-float-bleed-left figcaption,
.edl-float-bleed-left .wp-element-caption{
  padding-left: 3rem;    /* espace côté texte */
  padding-right: 0;
  text-align: left;
}


/* =========================================================
   SÉCURITÉ
   Empêche certains styles Gutenberg / thème de casser le flux
   ========================================================= */

.edl-float-bleed-right figure,
.edl-float-bleed-left figure{
  margin: 0;
}

.edl-float-bleed-right .wp-block-image,
.edl-float-bleed-left .wp-block-image{
  margin: 0;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 900px){

  .edl-float-bleed-right,
  .edl-float-bleed-left{
    float: none;
    clear: none;

    width: 100%;
    max-width: 100%;

    margin-left: 0;
    margin-right: 0;

    padding-top: 0;
    margin-bottom: 2rem;
  }

  .edl-float-bleed-right img,
  .edl-float-bleed-left img{
    height: auto;
    max-height: none;
  }

  .edl-float-bleed-right figcaption,
  .edl-float-bleed-right .wp-element-caption,
  .edl-float-bleed-left figcaption,
  .edl-float-bleed-left .wp-element-caption{
    padding-left: 0;
    padding-right: 0;
  }

}

/* =========================================================
   EDL — Encadré flottant DROITE (320 px)
   ========================================================= */

.edl-float-box{
  float:right;
  clear:right;

  width:320px;
  max-width:40%;

  margin-left:3rem;
  margin-bottom:20px;

  padding:35px;

  font-size:0.95rem;
  line-height:1.6;

}

/* responsive */

@media (max-width:900px){

  .edl-float-box{
    float:none;
	clear:none;
    max-width:100%;
    width:100%;

    margin-left:0;
  }

}

/* =========================================================
   EDL — Encadré flottant GAUCHE (320 px)
   ========================================================= */

.edl-float-box-left{
  float:left;
  clear:left;

  width:320px;
  max-width:40%;

  margin-right:3rem;
  margin-bottom:20px;

  padding:35px;

  font-size:0.95rem;
  line-height:1.6;

}

/* responsive */

@media (max-width:900px){

  .edl-float-box-left{
    float:none;
	clear:none;
    max-width:100%;
    width:100%;

    margin-right:0;
  }

}

/* =========================================================
   EDL — Encadré flottant DROITE (570 px)
   ========================================================= */

.edl-float-box-big{
  float:right;
  clear:right;

  width:570px;
  max-width:40%;

  margin-left:3rem;
  margin-bottom:20px;

  padding:35px;

  font-size:0.95rem;
  line-height:1.6;

}

/* responsive */

@media (max-width:900px){

  .edl-float-box-big{
    float:none;
	clear:none;
    max-width:100%;
    width:100%;

    margin-left:0;
  }

}

/* =========================================================
   EDL — Encadré flottant GAUCHE (570 px)
   ========================================================= */

.edl-float-box-left-big{
  float:left;
  clear:left;

  width:570px;
  max-width:40%;

  margin-right:3rem;
  margin-bottom:20px;

  padding:35px;

  font-size:0.95rem;
  line-height:1.6;

}

/* responsive */

@media (max-width:900px){

  .edl-float-box-left-big{
    float:none;
	clear:none;
    max-width:100%;
    width:100%;

    margin-right:0;
  }

}


/* =========================================================
   EDL — Motif Citation
   ========================================================= */

.edl-citation {
	padding-top: 60px;
	padding-bottom: 60px;
}

.edl-citation h3 {
	letter-spacing: 0.04rem !important;
}

/* =========================================================
   EDL — Motif Citation (ajustement contextuel)
   ========================================================= */

.edl-citation:has(+ h2){
  padding-bottom: 0;
}

/* =========================================================
   EDL — Parallax
   ========================================================= */

.scroll-parallax {
	margin-top: 60px;
	margin-bottom: 60px;
}