.elementor-kit-14{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-color-28b91fd:#27519E;--e-global-color-aa060de:#5C7ABA;--e-global-color-c4d3e08:#B3BEE2;--e-global-color-354b9ab:#E85E20;--e-global-color-d385bc4:#EC734D;--e-global-color-f3c7342:#E7A32B;--e-global-color-b3893d2:#F7B590;--e-global-color-acee3f2:#FBE4DB;--e-global-color-4bbc6ad:#FFFFFF;--e-global-color-5d08577:#6086CE;--e-global-typography-primary-font-family:"Archivo Black";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Montserrat";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Montserrat";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Montserrat";--e-global-typography-accent-font-weight:500;font-family:"Montserrat", Sans-serif;font-size:18px;line-height:150%;}.elementor-kit-14 button,.elementor-kit-14 input[type="button"],.elementor-kit-14 input[type="submit"],.elementor-kit-14 .elementor-button{background-color:var( --e-global-color-d385bc4 );line-height:120%;color:var( --e-global-color-4bbc6ad );border-style:none;}.elementor-kit-14 button:hover,.elementor-kit-14 button:focus,.elementor-kit-14 input[type="button"]:hover,.elementor-kit-14 input[type="button"]:focus,.elementor-kit-14 input[type="submit"]:hover,.elementor-kit-14 input[type="submit"]:focus,.elementor-kit-14 .elementor-button:hover,.elementor-kit-14 .elementor-button:focus{background-color:var( --e-global-color-4bbc6ad );color:var( --e-global-color-d385bc4 );border-style:none;}.elementor-kit-14 e-page-transition{background-color:#FFBC7D;}.elementor-kit-14 a{color:var( --e-global-color-354b9ab );}.elementor-kit-14 h1{font-size:52px;line-height:110%;}.elementor-kit-14 h2{font-size:48px;line-height:120%;}.elementor-kit-14 h3{font-size:32px;line-height:120%;}.elementor-kit-14 h4{font-size:20px;line-height:120%;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-14 h1{font-size:40px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-14{font-size:14px;line-height:1.5em;}.elementor-kit-14 h1{font-size:18px;}.elementor-kit-14 h3{font-size:16px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* =========================
   RESET DE BASE
   ========================= */
html, body {
  margin: 0 !important;
  padding: 0 !important;
}

p { margin: 0; }

/* =========================
   MENU 
   ========================= */
   
   

/* --- Menu du footer uniquement (hover ajusté au texte + espacement entre items) --- */
footer .elementor-nav-menu--layout-vertical .elementor-item {
  display: inline-block !important;
  padding: 4px 8px !important;
  width: auto !important;
}

/* Espacement entre les éléments du menu footer */
footer .elementor-nav-menu--layout-vertical li {
  text-align: center;
  margin-bottom: 6px; /* tu peux ajuster ici */
}





/* =========================
   MENU MOBILE DÉROULANT
   ========================= */
.mobile-menu{
  position:absolute; top:100%; margin-top:-1px; left:0; width:100%;
  background:#27519e; z-index:9999; box-sizing:border-box;
  padding:10px 16px 0; max-height:0; overflow:hidden;
  transition:max-height 1.5s cubic-bezier(0.25,1,0.5,1);
}
.mobile-menu.active{ max-height:80vh; }

/* =========================
   ICÔNES RÉSEAUX SOCIAUX
   ========================= */
.social-icon{ transition:background-color .3s ease; }
.social-icon img{ transition:opacity .15s ease; }
.social-icon:hover{ background-color:#FBE4DB; }
.social-icon:hover img{
  opacity:0;
  filter:brightness(0) saturate(100%) invert(21%) sepia(44%) saturate(989%) hue-rotate(183deg) brightness(95%) contrast(94%);
  transition:none;
}
.social-icon:hover img{ opacity:1; }

/* =========================
   SLIDER / PAGINATION VERTICALE
   ========================= */
.swiper-pagination{
  position:absolute !important; left:28px !important; bottom:100px !important; top:auto !important;
  display:flex !important; flex-direction:column !important; justify-content:center !important; align-items:flex-start !important; gap:12px !important;
}
.swiper-pagination-bullet{
  width:18px !important; height:18px !important; aspect-ratio:1/1 !important;
  background-color:#FBE4DB !important; border-radius:50% !important; opacity:1 !important; transition:all .3s ease !important;
}
.swiper-pagination-bullet-active{ background-color:#F7B590 !important; transform:scale(1.2) !important; }
.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal{ width:auto !important; }

/* ======================================================
   CARROUSELS (ENGAGEMENT + NEWS) — règles communes
   ====================================================== */
.eng-carousel .elementor-widget-container,
.news-carousel .elementor-widget-container{ position:relative; }

/* Flèches perso (cache l’icône Elementor) */
.eng-carousel .elementor-swiper-button .e-font-icon-svg,
.news-carousel .elementor-swiper-button .e-font-icon-svg{ display:none !important; }

/* Boutons (communs) */
.eng-carousel .elementor-swiper-button,
.news-carousel .elementor-swiper-button{
  width:69px !important; height:69px !important;
  background-repeat:no-repeat !important; background-position:center !important; background-size:contain !important;
  position:absolute !important; z-index:20 !important;
  top:auto !important; left:auto !important; transform:none !important;
  bottom:-90px !important; transition:all .3s ease !important;
  pointer-events:none;
}
.eng-carousel .elementor-swiper-button::before,
.news-carousel .elementor-swiper-button::before{
  content:""; display:block; width:100%; height:100%;
  pointer-events:auto; background-repeat:no-repeat; background-position:center; background-size:contain;
  transition:transform .2s ease;
}
.eng-carousel .elementor-swiper-button::before:hover,
.news-carousel .elementor-swiper-button::before:hover{
  background-color:#FBE4DB; border-radius:50%; box-shadow:0 0 10px rgba(0,0,0,.15); transform:scale(1.08);
}
.eng-carousel .elementor-swiper-button > *,
.news-carousel .elementor-swiper-button > *{ margin:0 !important; padding:0 !important; }

/* Icônes SVG (communes) */
.eng-carousel .elementor-swiper-button-prev::before,
.news-carousel .elementor-swiper-button-prev::before{
  background-image:url('/wp-content/themes/reconcilier-grenoble/assets/svg/puce_arrow_left.svg');
}
.eng-carousel .elementor-swiper-button-next::before,
.news-carousel .elementor-swiper-button-next::before{
  background-image:url('/wp-content/themes/reconcilier-grenoble/assets/svg/puce_arrow_right.svg');
}

/* Pagination masquée */
.eng-carousel .swiper-pagination,
.news-carousel .swiper-pagination{ display:none !important; }

/* Offsets DESKTOP (à droite) — mêmes valeurs pour ENG & NEWS */
.eng-carousel .elementor-swiper-button-prev,
.news-carousel .elementor-swiper-button-prev{ right:75px !important; }
.eng-carousel .elementor-swiper-button-next,
.news-carousel .elementor-swiper-button-next{ right:20px !important; }

/* =========================================
   CARTES D’ENGAGEMENT (loop)
   ========================================= */
.engagement .e-con-inner{ position:relative; }
.engagement .e-con-inner::after{
  content:""; position:absolute; top:15px; right:0; width:69px; height:69px;
  background-image:url('/wp-content/themes/reconcilier-grenoble/assets/svg/puce_arrow.svg');
  background-size:contain; background-repeat:no-repeat; z-index:2; pointer-events:none; transition:transform .3s ease;
}
.engagement .e-con-inner:hover::after{ transform:scale(1.08); }

/* =========================
   DECOUVRIR LE PROJET
   ========================= */
.elementor-element-990bc13,
.elementor-element-2d9b77c,
.elementor-element-d3073db,
.elementor-element-e9b0dd9{
  background-size:125% !important; background-position:center !important; background-repeat:no-repeat !important;
  transition:background-size .6s ease-in-out, filter .6s ease-in-out !important;
}
.elementor-element-990bc13:hover,
.elementor-element-2d9b77c:hover,
.elementor-element-d3073db:hover,
.elementor-element-e9b0dd9:hover{
  background-size:130% !important; filter:brightness(1.1);
}

/* =========================
   CARROUSEL ARTICLE (images + thumbs)
   ========================= */
.article-carousel-wrapper {
  --acx-max: 1200px;
  --acx-gap-v: 20px;
  --acx-radius-main: 10px;
  --acx-radius-thumb: 8px;
  --acx-arrow-pad: 80px;

  width: 100%;
  max-width: var(--acx-max);
  margin: 0 auto;
  box-sizing: border-box;
}

/* Conteneurs principaux */
.article-carousel-container,
.article-carousel-thumbs {
  width: 100%;
  margin: 0;
  padding-inline: var(--acx-arrow-pad);
  box-sizing: border-box;
}

/* Image principale */
.article-carousel-main {
  width: 100%;
  height: 550px;
  position: relative;
  margin-bottom: var(--acx-gap-v);
  border-radius: var(--acx-radius-main);
}

.article-carousel-main .slide-image {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center top;
  border-radius: inherit;
}

/* Thumbnails */
.article-carousel-thumbs {
  height: 110px;
}

.article-carousel-thumbs .swiper-slide {
  width: 90px; /* ajustable */
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: var(--acx-radius-thumb);
  opacity: 0.6;
  cursor: pointer;
  transition: opacity 0.4s ease, transform 0.3s ease;
}

.article-carousel-thumbs img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: inherit;
  filter: brightness(0.9);
  transition: transform 0.4s ease, filter 0.4s ease;
}

/* Miniature active : lumineuse + zoom doux */
.article-carousel-thumbs .swiper-slide-thumb-active {
  opacity: 1;
}

.article-carousel-thumbs .swiper-slide-thumb-active img {
  transform: scale(1.08);
  filter: brightness(1.05) contrast(1.1);
}

/* Flèches du carrousel */
.article-carousel-container {
  position: relative;
}

.article-carousel-container > .swiper-button-next,
.article-carousel-container > .swiper-button-prev {
  position: absolute;
  top: 55%;
  transform: translateY(-50%);
  z-index: 10;
  width: 69px;
  height: 69px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  border: 0;
  background-color: transparent;
  clip-path: circle(50% at 50% 50%);
  transition: transform 0.2s ease;
}

.article-carousel-container > .swiper-button-next {
  right: 10px;
  width: 70px; 
  height: 70px;
  background-color: #27519E; 
  -webkit-mask: url(/wp-content/themes/reconcilier-grenoble/assets/svg/puce_arrow_right.svg) no-repeat center;
  mask: url(/wp-content/themes/reconcilier-grenoble/assets/svg/puce_arrow_right.svg) no-repeat center;
  -webkit-mask-size: contain;
  mask-size: contain;
}

.article-carousel-container > .swiper-button-prev {
  left: 10px;
  width: 70px;
  height: 70px;
  background-color: #27519E;
  -webkit-mask: url('/wp-content/themes/reconcilier-grenoble/assets/svg/puce_arrow_left.svg') no-repeat center;
  mask: url('/wp-content/themes/reconcilier-grenoble/assets/svg/puce_arrow_left.svg') no-repeat center;
  -webkit-mask-size: contain;
  mask-size: contain;
}

.article-carousel-container > .swiper-button-next::after,
.article-carousel-container > .swiper-button-prev::after {
  content: "";
  display: none;
}

.article-carousel-container > .swiper-button-next:hover,
.article-carousel-container > .swiper-button-prev:hover {
  transform: translateY(-50%) scale(1.05);
}


/* 🔒 Visiteurs NON CONNECTÉS : masquer certains menus */
body:not(.logged-in) {

  /* Masquer Engagements, Équipe, Voter */
  .menu-item-1508,
  .menu-item-1510 {
    display: none !important;
  }

  /* Tout le reste (Actualités, Contact, Faire un don) reste visible */
}


/* 
===========================================================
  FIX HAUTEUR DES COLONNES (BLOC "CONSTAT" – THÉMATIQUES)
===========================================================
*/

/* Empêche la colonne orange de s'étirer en pleine hauteur */
.col-equal {
    height: auto !important;
    align-self: flex-start !important;
}

/* Empêche les DIV internes d imposer leur hauteur */
.col-equal > .e-con {
    height: auto !important;
}

/* Forcer le parent à ne PAS étirer les colonnes */
.col-equal-parent {
    display: flex !important;
    align-items: flex-start !important;
}

/* -----------------------------------------
   FLECHES SWIPER – CARROUSEL INTERVENANTS
   (isolation via .carrousel-intervenant)
------------------------------------------ */

.carrousel-intervenant .elementor-swiper-button {
    width: 60px;
    height: 60px;
    z-index: 10;
}

/* Masquer les SVG natifs */
.carrousel-intervenant .elementor-swiper-button svg {
    display: none !important;
}

/* Flèche gauche */
.carrousel-intervenant .elementor-swiper-button-prev {
    background-image: url("https://reconciliergrenoble.fr/wp-content/uploads/2025/11/left-arrow-intervenant.png");
}

/* Flèche droite */
.carrousel-intervenant .elementor-swiper-button-next {
    background-image: url("https://reconciliergrenoble.fr/wp-content/uploads/2025/11/right-arrow-intervenant.png.png");
}

/* Position générale en bas */
.carrousel-intervenant .elementor-swiper-button {
    top: auto !important;
    bottom: -75px;
}

/* Flèche gauche : juste à gauche de la flèche droite */
.carrousel-intervenant .elementor-swiper-button-prev {
    right: 100px !important; /* ajuste ici */
    left: auto !important;
}

/* Flèche droite : collée à droite */
.carrousel-intervenant .elementor-swiper-button-next {
    right: 40px !important; /* ajuste ici */
    left: auto !important;
}

/* -----------------------------------------
   Engagements :  ce que nous voulons
------------------------------------------ */

/*.section-colline { clip-path: path("M0,170 C0,76 76,0 170,0 H1920 V523 H0 Z"); }*/





/* -----------------------------------------
   MENU MOBILE
------------------------------------------ */

/* Supprimer la bande blanche créée par le conteneur vide sous le header */
.elementor-element-3a28e86 {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.menu-accordeon .sub-menu {
    display: none;
    overflow: hidden;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: 100% !important;
    box-shadow: none !important;
}

.menu-accordeon .sub-arrow {
    display: none !important;
}

.menu-accordeon li.menu-item-has-children > a {
    cursor: pointer;
}














/* =========================
   RESPONSIVE
   ========================= */
/* Article carousel */

@media (max-width:900px){
  .article-carousel-container, .article-carousel-thumbs {
    padding-inline: 0;
}

@media (max-width:768px){
  .article-carousel-main{ height:360px; }
  .article-carousel-thumbs{ height:90px; }
  .article-carousel-wrapper{ --acx-arrow-pad:64px; }
  .article-carousel-container, .article-carousel-thumbs {
    padding-inline: 0;
}
}
@media (max-width:480px){
  .article-carousel-main{ height:280px; }
  .article-carousel-thumbs{ height:80px; }
  .article-carousel-wrapper{ --acx-arrow-pad:56px; }
  .swiper-pagination-bullet{ display:none; }
  .article-carousel-container,
.article-carousel-thumbs{ width:100%; margin:0; padding-inline:0;
}
.article-carousel-container > .swiper-button-next, .article-carousel-container > .swiper-button-prev {
    display: none;
}
}

/* ENG & NEWS — flèches centrées SOUS le slider en mobile */
@media (max-width:767px){
  /* variables mobiles */
  .eng-carousel, .news-carousel{ --btn:60px; --gap:24px; }

  /* place libre sous le slider */
  .eng-carousel .elementor-widget-container,
  .news-carousel .elementor-widget-container{
    padding-bottom: calc(var(--btn) + 40px);
    overflow: visible;
  }

  
}/* End custom CSS */