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

/* ================================
   MENU – Une seule ligne, espacement stable,
   items de largeur maîtrisée, titres sur 2 lignes,
   pas de mots coupés
   ================================ */

/* 1) UL : une seule ligne + espace régulier via gap */
.e-n-menu-wrapper .e-n-menu-heading {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch;

  justify-content: center; /* on centre le groupe */
  gap: 12px;               /* ESPACE IDENTIQUE entre tous les items */
}

/* 2) Texte : wrap entre mots, pas de césure */
.e-n-menu-wrapper .e-n-menu-title-text {
  white-space: normal !important;
  text-align: center;
  line-height: 1.1;

  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

/* 3) Réduire padding Elementor sur le wrapper */
.e-n-menu-wrapper .e-n-menu-title {
  padding: 0 2px !important;
}

/* 4) Le lien remplit l’item + padding interne ajustable */
.e-n-menu-wrapper .e-n-menu-title-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  width: 100%;
  box-sizing: border-box;
  padding: 15px 4px;       /* ↓ ajuste ici si tu veux encore plus serré */
}

/* ======================================
   RESET MENU – Tablette & Mobile
   ====================================== */

@media (max-width: 1320px) {

  /* 1) UL : on remet le comportement normal Elementor */
  .e-n-menu-wrapper .e-n-menu-heading {
    display: block !important;
    flex-wrap: wrap !important;
    justify-content: initial !important;
    gap: 0 !important;
  }

  /* 2) Texte */
  .e-n-menu-wrapper .e-n-menu-title-text {
    white-space: initial !important;
    text-align: initial !important;
    line-height: initial !important;
  }

  /* 3) Padding */
  .e-n-menu-wrapper .e-n-menu-title {
    padding: initial !important;
  }

  /* 4) Container */
  .e-n-menu-wrapper .e-n-menu-title-container {
    display: block !important;
    flex-direction: initial !important;
    align-items: initial !important;
    justify-content: initial !important;
    width: auto !important;
    padding: initial !important;
  }

}


/* ================================
   MENU – Hover blanc
   ================================ */

.elementor-widget-n-menu 
.e-n-menu-item:hover 
> .e-n-menu-title {
  border-bottom-color: #ffffff !important;
}

/* ================================
   MENU – Désactiver changement icône actif
   ================================ */

.elementor-widget-n-menu 
.e-n-menu-item[aria-expanded="true"] 
.e-n-menu-dropdown-icon,
.elementor-widget-n-menu 
.e-n-menu-item .e-current 
~ .e-n-menu-dropdown-icon {
  color: inherit !important;
}

/* ================================
   MENU - Loop articles
   ================================ */

.loop-square img {
  aspect-ratio: 1 / 1;
  object-fit: cover;
  width: 100%;
  height: auto;
}


/* ================================
   BOUTONS
   ================================ */

/* Base bouton */
.elementor-widget-button .elementor-button {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;

  color: #212529 !important;
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-size: 1.1rem;
	
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Forcer couleur partout */
.elementor-widget-button .elementor-button,
.elementor-widget-button .elementor-button:hover,
.elementor-widget-button .elementor-button:focus,
.elementor-widget-button .elementor-button:active {
  color: #212529 !important;

}

/* Icône suit la couleur */
.elementor-widget-button .elementor-button-icon svg {
  fill: currentColor !important;
}

/* Important : le texte devient positionné */
.elementor-widget-button .elementor-button-text {
  position: relative;
  display: inline-block;
}

/* Underline animé uniquement sous le texte */
.elementor-widget-button .elementor-button-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -8px;
  width: 100%;
  height: 1px;
  background: currentColor;

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

/* Animation au hover */
.elementor-widget-button .elementor-button:hover .elementor-button-text::after,
.elementor-widget-button .elementor-button:focus-visible .elementor-button-text::after {
  transform: scaleX(1);
}

/* ================================
   ARCHIVES - Loop articles
   ================================ */

.loop-16-9 img {
  aspect-ratio: 16 / 9;
  object-fit: cover;
  width: 100%;
  height: auto;
}


/* =====================================================
   ACF RELATED POSTS — Sommaire La tartine
   ===================================================== */

.acf-related-posts{
  text-align:center;
}

.acf-related-posts__buttons{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:0;
}

/* Entrée */
.acf-related-posts__entry{
  position:relative;
  width:100%;
  display:flex;
  justify-content:center;
}

.acf-related-posts__entry + .acf-related-posts__entry{
  margin-top:.8rem;
  padding-top:.8rem;
}

/* Séparateur large centré */
.acf-related-posts__entry + .acf-related-posts__entry::before{
  content:"";
  position:absolute;
  top:0;
  left:50%;
  width:var(--content-width);
  max-width:100vw;
  height:1px;
  background:var(--color-secondaire);
  transform:translateX(-50%);
}

/* Bouton */
.acf-related-posts__button{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:.5rem;

  padding:0;
  background:transparent;
  border:none;
  box-shadow:none;

  font-size:1.5rem;
  text-decoration:none;
	text-transform: uppercase;
	color:var(--color-text);
	font-weight: 700;
}

.acf-related-posts__button,
.acf-related-posts__button:hover,
.acf-related-posts__button:focus,
.acf-related-posts__button:active{
  color:var(--color-text);
}

/* Texte */
.acf-related-posts__button-text{
  position:relative;
  display:inline-block;
}

/* Flèche */
.acf-related-posts__button::after{
  content:"";

  width:17px;
  height:17px;

  display:inline-block;
  flex:0 0 17px;

  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é sous le texte uniquement */
.acf-related-posts__button-text::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0px;
  width:100%;
  height:2px;
  background:currentColor;

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

.acf-related-posts__button:hover .acf-related-posts__button-text::after,
.acf-related-posts__button:focus-visible .acf-related-posts__button-text::after{
  transform:scaleX(1);
}