:root {
    --accent-color: #C97A63;
    --accent2-color: #7A8F6A;
    --accent3-color: #F5F5F5;
    --accent4-color: #9A9A9A;
    --primary-color: #C97A63;
    --dark-text-color: #3A3A3A;
    --gray-text-color: #6A6A6A;

    --font-family-body: 'Lato', sans-serif;
    --font-family-heading: 'Lato', sans-serif;

    --light-text-color: #FFFFFF;
    --dark-border-color: #3A3A3A;
    --light-border-color: #EAEAEA;

    --light-background-color: #FAE5DF;
    --medium-background-color: #F7D1C8;

    --primary-button-text-color: #FFFFFF;
    --primary-button-hover-bg-color: #B86C58;
    --secondary-button-bg-color: #F5F5F5;
    --secondary-button-text-color: #3A3A3A;
    --secondary-button-hover-bg-color: #E7E7E7;
    --secondary-button-hover-text-color: #3A3A3A;

    --button-rounded-radius: 4px;
    --transition-fast: .2s ease;
    --transition-base: .3s ease;
    --shadow-soft: 0 .5rem 1rem rgba(0, 0, 0, .15);
    --shadow-hover: 0 1rem 1.5rem rgba(0, 0, 0, .2);
}

/* Masquer la catégorie Joomla dans le fil d'Ariane */
.mod-breadcrumbs .breadcrumb-item:has(a[href*="view=category"]) {
  display: none !important;
}

#sppb-addon-cd819933-f5c0-4c34-9e91-8516b106a5ce h1 {
  max-width: 1000px;
    text-align: center;
    margin: 0 auto;
    font-size: 42px;
}

/* =========================================
   PLACEHOLDER SI PAS D'IMAGE
========================================= */

/* Desktop uniquement */
@media (min-width: 992px) {

  #sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58 .sppb-addon-article-layout-content:not(:has(.sppb-article-img-wrap))::before {
    content: "\f02d";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    height: 350px !important;
    padding: 24px !important;
    margin-bottom: 1.5rem !important;

    background: linear-gradient(
      135deg,
      #f7f7f7,
      #ffffff
    ) !important;

    border-bottom: 1px solid var(--light-border-color);
    border-radius: 1rem 1rem 0 0;
    overflow: hidden !important;

    color: var(--primary-color);
    font-size: 3rem;
  }

}

/* =========================
   CARTES ACTUALITÉS / PUBLICATIONS
========================= */

#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58,
#sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f {

  /* image livre / publication */
  .sppb-addon-article-layout-content .sppb-article-img-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    height: 350px !important;
    padding: 24px !important;
    margin-bottom: 1.5rem !important;

    background: linear-gradient(
      135deg,
      #f7f7f7,
      #ffffff
    ) !important;

    border-bottom: 1px solid var(--light-border-color);
    border-radius: 1rem 1rem 0 0;
    overflow: hidden !important;
  }

  /* image entière visible */
  .sppb-addon-article-layout-content .sppb-article-img-wrap img {
    width: auto !important;
    height: 100% !important;
    max-width: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    display: block !important;

    box-shadow: 0 .45rem 1rem rgba(0,0,0,.16);
    border-radius: 4px;
    transition: transform .3s ease;
  }

  .sppb-addon-article-layout-content:hover .sppb-article-img-wrap img {
    transform: translateY(-2px);
  }

  /* structure carte */
  .sppb-addon-article-layout-content {
    position: relative !important;
    height: 100% !important;
  }

  @media (min-width: 992px) {
 /* structure carte */
  .sppb-addon-article-layout-content {
    padding-bottom: 30px !important;
  }
    }

  /* corrige vide avant CTA */
  .sppb-addon-article-layout-content .sppb-article-info-wrap {
    height: auto !important;
    min-height: 0 !important;
    display: block !important;
    flex: initial !important;
  }

  .sppb-addon-article-layout-content .fields-container {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }

  /* bouton fixé à 20px du bas */
  .sppb-addon-article-layout-content .sppb-readmore {
    position: absolute !important;
    left: 24px !important;
    bottom: 20px !important;
    margin: 0 !important;
    display: inline-flex !important;
  }
}



/* image entière, centrée, non coupée */
.sppb-addon-article-layout-content .sppb-article-img-wrap img {
  width: auto !important;
  height: 100% !important;
  max-width: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  display: block !important;
  box-shadow: 0 0.45rem 1rem rgba(0,0,0,0.16);
  border-radius: 3px;
  transition: transform .3s ease;
}

.sppb-addon-article-layout-content:hover .sppb-article-img-wrap img {
  transform: translateY(-2px);
}


/* =========================
   TITRE LIMITÉ À 2 LIGNES
========================= */
.sppb-addon-article h3 a {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;

  line-height: 1.3;
  min-height: calc(1.3em * 2); /* aligne les blocs */
}

/* =========================
   STRUCTURE DES CARTES
========================= */

.sppb-addon-article {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.sppb-article-info-wrap {
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* force un espace fixe pour le bloc titre + meta */
.sppb-addon-article h3 {
  margin-bottom: 6px;
}

.fields-container {
  margin-top: auto;
}

#section-id-b709f2dc-4854-4043-ba7f-a1c11bc76546 .field-entry.intro {
  display:none;
}


#section-id-b709f2dc-4854-4043-ba7f-a1c11bc76546 .fields-container .field-entry.date-multiple .field-value::before {
  content: "\f073"; /* icône calendrier */
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  margin-right: 6px;
  color: var(--primary-color);
  font-size: 24px;
}


#section-id-b709f2dc-4854-4043-ba7f-a1c11bc76546 .fields-container .field-entry.date-multiple .field-value {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  background: var(--accent3-color);
  border-radius: 6px;
  padding: 8px 10px;
  font-weight: 600;
  font-size: 24px;
  color: var(--gray-text-color);
  line-height: 1.2;
}

/* icône au-dessus */
#section-id-b709f2dc-4854-4043-ba7f-a1c11bc76546 .fields-container .field-entry.date-multiple .field-value::before {
  content: "\f073"; /* calendrier */
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 18px; /* taille icône */
  color: var(--primary-color);
  margin-bottom: 4px;
  display: block;
}

/* =========================
   DATE MULTIPLE = style date-unique
========================= */
.fields-container .field-entry.date-multiple .field-value, .fields-container .field-entry.date-unique .field-value {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 10px;
  border-radius: 6px;
  background: var(--accent3-color); /* ton gris utilisé */
  line-height: 1.2;
  font-size: 18px;
  text-transform: capitalize;
}

/* option : léger espacement avec les autres champs */
.fields-container .field-entry.date-multiple {
  margin: 0 0 1rem 0;
}


#sp-footer a:hover {
  color:#000!important;
}

.com-rsform form {
  max-width:800px;
margin: 0 auto;
}

#sppb-addon-325d8571-1507-4b72-9c82-07b275af5529 h3 a {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58 h3 a {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.ccaf-date-month {padding:0 3px;}

/* Chevron du menu secondaire */
#sp-left .sp-module.leftside .menu-toggler,
#sp-right .sp-module.leftside .menu-toggler {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 16px !important;
  height: 16px !important;
  margin-left: auto !important;
  flex-shrink: 0 !important;
  transition: transform 0.25s ease !important;
}

/* Icône du chevron */
#sp-left .sp-module.leftside .menu-toggler::before,
#sp-right .sp-module.leftside .menu-toggler::before {
  content: "\f054";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 12px;
  line-height: 1;
  color: var(--gray-text-color);
  display: block;
}

/* Rotation + couleur quand menu ouvert */
#sp-left .sp-module.leftside li.menu-parent-open > a .menu-toggler,
#sp-left .sp-module.leftside li.menu-parent-open > .menu-separator .menu-toggler,
#sp-right .sp-module.leftside li.menu-parent-open > a .menu-toggler,
#sp-right .sp-module.leftside li.menu-parent-open > .menu-separator .menu-toggler {
  transform: rotate(90deg) !important;
}

#sp-left .sp-module.leftside li.menu-parent-open > a .menu-toggler::before,
#sp-left .sp-module.leftside li.menu-parent-open > .menu-separator .menu-toggler::before,
#sp-right .sp-module.leftside li.menu-parent-open > a .menu-toggler::before,
#sp-right .sp-module.leftside li.menu-parent-open > .menu-separator .menu-toggler::before {
  color: var(--primary-color);
}

/* Fermeture forcée, même si le parent est active/current */
#sp-left .sp-module.leftside ul.menu > li.active.menu-parent-closed > .menu-child,
#sp-left .sp-module.leftside ul.menu > li.current.menu-parent-closed > .menu-child,
#sp-left .sp-module.leftside ul.menu > li.active.current.menu-parent-closed > .menu-child,
#sp-left .sp-module.leftside ul.menu > li.menu-parent-open.menu-parent-closed > .menu-child,
#sp-left .sp-module.leftside ul.menu > li.menu-parent-closed > .menu-child,
#sp-right .sp-module.leftside ul.menu > li.active.menu-parent-closed > .menu-child,
#sp-right .sp-module.leftside ul.menu > li.current.menu-parent-closed > .menu-child,
#sp-right .sp-module.leftside ul.menu > li.active.current.menu-parent-closed > .menu-child,
#sp-right .sp-module.leftside ul.menu > li.menu-parent-open.menu-parent-closed > .menu-child,
#sp-right .sp-module.leftside ul.menu > li.menu-parent-closed > .menu-child {
  display: none !important;
}
/* Masquer tous les sous-niveaux UNIQUEMENT si parent = .sec-hide */
#sp-menu .sp-menu-item.sec-hide > .sp-dropdown .sp-dropdown,
#sp-menu .sp-menu-item.sec-hide > .sp-dropdown .sp-dropdown-sub,
#sp-menu .sp-menu-item.sec-hide > .sp-dropdown .sp-mega-group-child {
    display: none !important;
}

/* Empêcher l'ouverture au hover */
#sp-menu .sp-menu-item.sec-hide > .sp-dropdown li:hover > .sp-dropdown {
    display: none !important;
}

/* Masquer les chevrons UNIQUEMENT dans les sous-menus de .sec-hide */
#sp-menu .sp-menu-item.sec-hide .sp-dropdown .menu-toggler,
#sp-menu .sp-menu-item.sec-hide .sp-dropdown .sp-menu-item.sp-has-child > a::after,
#sp-menu .sp-menu-item.sec-hide .sp-dropdown .sp-menu-item.sp-has-child > a::before,
#sp-menu .sp-menu-item.sec-hide .sp-dropdown .sp-menu-item.sp-has-child > .sp-menu-separator::after,
#sp-menu .sp-menu-item.sec-hide .sp-dropdown .sp-menu-item.sp-has-child > .sp-menu-separator::before,
#sp-menu .sp-menu-item.sec-hide .sp-dropdown .item-header > .sp-group-title::after,
#sp-menu .sp-menu-item.sec-hide .sp-dropdown .item-header > .sp-group-title::before {
    display: none !important;
    content: none !important;
}
/* Masquer le 3e niveau UNIQUEMENT pour les menus parents .trois-hide */
#sp-menu .sp-menu-item.trois-hide > .sp-dropdown .sp-dropdown-sub {
    display: none !important;
}

/* Empêcher l'ouverture du 3e niveau au hover */
#sp-menu .sp-menu-item.trois-hide > .sp-dropdown .sp-menu-item:hover > .sp-dropdown-sub {
    display: none !important;
}

/* Masquer le chevron uniquement sur les items du 2e niveau qui ouvriraient un 3e niveau */
#sp-menu .sp-menu-item.trois-hide > .sp-dropdown .sp-mega-group-child > .sp-menu-item.sp-has-child > a .menu-toggler,
#sp-menu .sp-menu-item.trois-hide > .sp-dropdown .sp-mega-group-child > .sp-menu-item.sp-has-child > a::after,
#sp-menu .sp-menu-item.trois-hide > .sp-dropdown .sp-mega-group-child > .sp-menu-item.sp-has-child > a::before {
    display: none !important;
    content: none !important;
}


/* =========================================================
   MENU DISPOSITIFS - version propre sans 3e niveau flottant
   Parent : li.agenda.trois-hide
   ========================================================= */

/* 1. Style identique pour Les Cartels / La passe / Le dispositif */
#sp-menu li.agenda.trois-hide > .sp-dropdown .sp-group-title,
#sp-menu li.agenda.trois-hide > .sp-dropdown .sp-group-title.sp-menu-separator {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-bottom: 16px !important;
  padding: 0 !important;
  font-family: var(--font-family-heading) !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  line-height: 1.3 !important;
  color: var(--primary-color) !important;
  text-decoration: none !important;
  background: transparent !important;
  border: none !important;
}

/* Hover discret pour les titres cliquables */
#sp-menu li.agenda.trois-hide > .sp-dropdown a.sp-group-title:hover {
  color: var(--primary-button-hover-bg-color) !important;
}

/* Icônes dans les titres */
#sp-menu li.agenda.trois-hide > .sp-dropdown .sp-group-title .fas {
  width: 18px !important;
  min-width: 18px !important;
  text-align: center !important;
  font-size: 15px !important;
  color: var(--primary-color) !important;
  padding-right: 0 !important;
}

/* 2. Masquer les sous-menus de La passe et Le dispositif */
#sp-menu li.agenda.trois-hide > .sp-dropdown .col-sm-6:nth-child(2) .sp-mega-group-child {
  display: none !important;
}

/* 3. Réafficher uniquement le sous-menu Les villes en dessous */
#sp-menu li.agenda.trois-hide > .sp-dropdown .col-sm-6:first-child .sp-mega-group-child > li.sp-has-child > .sp-dropdown-sub {
  display: block !important;
  position: static !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 6px 0 12px 28px !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

/* Inner du sous-menu Les villes */
#sp-menu li.agenda.trois-hide > .sp-dropdown .col-sm-6:first-child .sp-dropdown-sub .sp-dropdown-inner {
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
}

/* Liste des villes */
#sp-menu li.agenda.trois-hide > .sp-dropdown .col-sm-6:first-child .sp-dropdown-sub .sp-dropdown-items {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

/* Liens des villes : style intégré, plus discret */
#sp-menu li.agenda.trois-hide > .sp-dropdown .col-sm-6:first-child .sp-dropdown-sub .sp-dropdown-items > li > a {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 8px 10px !important;
  border-radius: 10px !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  color: var(--gray-text-color) !important;
  text-decoration: none !important;
  background: transparent !important;
  transition: color 0.2s ease, background-color 0.2s ease, transform 0.2s ease !important;
}

/* Hover des villes */
#sp-menu li.agenda.trois-hide > .sp-dropdown .col-sm-6:first-child .sp-dropdown-sub .sp-dropdown-items > li > a:hover {
  color: var(--primary-color) !important;
  background: var(--accent3-color) !important;
  transform: translateX(2px) !important;
}

/* Icônes des villes */
#sp-menu li.agenda.trois-hide > .sp-dropdown .col-sm-6:first-child .sp-dropdown-sub .sp-dropdown-items > li > a .fas {
  width: 16px !important;
  min-width: 16px !important;
  font-size: 13px !important;
  color: var(--primary-color) !important;
  padding-right: 0 !important;
}

/* 4. Le libellé "Les villes" devient un titre inline, pas un déclencheur flottant */
#sp-menu li.agenda.trois-hide > .sp-dropdown .sp-mega-group-child > li.sp-has-child > .sp-menu-separator {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 10px 14px !important;
  border-radius: 12px !important;
  font-family: var(--font-family-body) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: var(--dark-text-color) !important;
  background: transparent !important;
  cursor: default !important;
}

/* Supprimer flèches / chevrons parasites sur Les villes */
#sp-menu li.agenda.trois-hide > .sp-dropdown .sp-mega-group-child > li.sp-has-child > .sp-menu-separator::before,
#sp-menu li.agenda.trois-hide > .sp-dropdown .sp-mega-group-child > li.sp-has-child > .sp-menu-separator::after,
#sp-menu li.agenda.trois-hide > .sp-dropdown .sp-mega-group-child > li.sp-has-child > .sp-menu-separator .menu-toggler {
  display: none !important;
  content: none !important;
}

/* 5. Sécurité : aucun sous-menu flottant ne doit apparaître au hover */
#sp-menu li.agenda.trois-hide > .sp-dropdown .sp-menu-item:hover > .sp-dropdown-sub {
  position: static !important;
}

/* =========================================================
   DESKTOP - AÉRER LA PASSE / DISPOSITIF DANS LE MEGA MENU
   ========================================================= */

@media (min-width: 992px) {

  /* colonne droite plus respirante */
  #sp-menu li.agenda.trois-hide > .sp-dropdown .col-sm-6:nth-child(2) .sp-mega-group {
    padding: 24px 28px !important;
  }

  /* espace entre La passe et Le dispositif */
  #sp-menu li.agenda.trois-hide > .sp-dropdown .col-sm-6:nth-child(2) .sp-mega-group > li.item-header {
    margin-bottom: 22px !important;
    padding-bottom: 22px !important;
    border-bottom: 1px solid var(--light-border-color) !important;
  }

  #sp-menu li.agenda.trois-hide > .sp-dropdown .col-sm-6:nth-child(2) .sp-mega-group > li.item-header:last-child {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    border-bottom: none !important;
  }

  /* La passe / Le dispositif = liens plus présents */
  #sp-menu li.agenda.trois-hide > .sp-dropdown .col-sm-6:nth-child(2) .sp-group-title {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 0 !important;
    padding: 16px 18px !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, rgba(250,229,223,0.55), #fff) !important;
    border-left: 4px solid var(--primary-color) !important;
    color: var(--dark-text-color) !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    transition: all 0.25s ease !important;
  }

  #sp-menu li.agenda.trois-hide > .sp-dropdown .col-sm-6:nth-child(2) a.sp-group-title:hover {
    color: var(--primary-color) !important;
    background: var(--accent3-color) !important;
    transform: translateX(2px) !important;
  }

  #sp-menu li.agenda.trois-hide > .sp-dropdown .col-sm-6:nth-child(2) .sp-group-title .fas {
    width: 22px !important;
    min-width: 22px !important;
    font-size: 16px !important;
    color: var(--primary-color) !important;
  }
}

#system-message-container {
    position: relative;
    max-width: 100%;
    padding: 20px;
  z-index:1;
}

.itemid-101 #system-message-container {
    padding: 0px;
}

#system-message-container joomla-alert {
    font-size: 18px;
    margin: 0;
}

.wf_file {
  display: inline-block;
  position: relative;
  padding: 14px 18px 14px 50px;
  border-radius: 10px;
  background: linear-gradient(135deg, var(--light-background-color), #fff);
  border: 1px solid rgba(201,122,99,0.25);
  text-decoration: none;
  color: var(--dark-text-color);
  font-family: var(--font-family-body);
  font-weight: 600;
  transition: var(--transition-base);
  box-shadow: 0 0.25rem 0.6rem rgba(0,0,0,0.05);
  width:100%;
}

.wf_file:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-hover);
  border-color: var(--accent-color);
  background: linear-gradient(135deg, var(--medium-background-color), #fff);
}

.wf_file_icon {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
  height: auto;
  filter: grayscale(0.2);
}

.wf_file_text {
  display: inline-block;
  font-size: 15px;
  color: var(--dark-text-color);
}

.wf_file:hover .wf_file_text {
  color: var(--accent-color);
}




.hub-passe {
  padding: 20px 20px;
  background: var(--accent3-color);
  color: var(--dark-text-color);
  font-family: var(--font-family-body);
}

.hub-passe-container {
  max-width: 1200px;
  margin: 0 auto;
}

.hub-passe-hero {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, var(--light-background-color) 0%, #fff 100%);
  border: 1px solid var(--light-border-color);
  border-radius: 18px;
  box-shadow: var(--shadow-soft);
  padding: 55px 40px;
  margin-bottom: 50px;
}

.hub-passe-hero:before {
  content: "";
  position: absolute;
  top: -80px;
  right: -80px;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: rgba(201, 122, 99, 0.10);
}

.hub-passe-hero:after {
  content: "";
  position: absolute;
  bottom: -70px;
  left: -70px;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  background: rgba(122, 143, 106, 0.10);
}

.hub-passe-hero-inner {
  position: relative;
  z-index: 2;
  max-width: 820px;
}

.hub-passe-kicker,
.hub-passe-section-label {
  display: inline-block;
  margin-bottom: 14px;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(201, 122, 99, 0.12);
  color: var(--accent-color);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.hub-passe h1,
.hub-passe h2,
.hub-passe h3 {
  margin: 0 0 16px;
  color: var(--dark-text-color);
  font-family: var(--font-family-heading);
  line-height: 1.2;
}

.hub-passe h1 {
  font-size: clamp(2rem, 4vw, 3.3rem);
}

.hub-passe h2 {
  font-size: clamp(1.6rem, 3vw, 2.3rem);
}

.hub-passe h3 {
  font-size: 1.2rem;
}

.hub-passe p {
  margin: 0;
  color: var(--dark-text-color);
  line-height: 1.75;
}

.hub-passe-intro {
  font-size: 1.08rem;
  max-width: 740px;
}

.hub-passe-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 28px;
}

.hub-passe-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 20px;
  border-radius: var(--button-rounded-radius);
  text-decoration: none;
  font-weight: 700;
  transition: var(--transition-base);
}

.hub-passe-btn-primary {
  background: var(--primary-color);
  color: var(--primary-button-text-color);
}

.hub-passe-btn-primary:hover {
  background: var(--primary-button-hover-bg-color);
  color: var(--primary-button-text-color);
  transform: translateY(-2px);
}

.hub-passe-btn-secondary {
  background: var(--secondary-button-bg-color);
  color: var(--secondary-button-text-color);
  border: 1px solid var(--light-border-color);
}

.hub-passe-btn-secondary:hover {
  background: var(--secondary-button-hover-bg-color);
  color: var(--secondary-button-hover-text-color);
  transform: translateY(-2px);
}

.hub-passe-section {
  margin-bottom: 36px;
  padding: 34px;
  background: #fff;
  border: 1px solid var(--light-border-color);
  border-radius: 18px;
  box-shadow: 0 .2rem .8rem rgba(0, 0, 0, .04);
}

.hub-passe-section-head {
  max-width: 860px;
  margin-bottom: 28px;
}

.hub-passe-start-grid,
.hub-passe-cards {
  display: grid;
  gap: 22px;
}

.hub-passe-start-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.hub-passe-cards {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.hub-passe-cards-single {
  grid-template-columns: 1fr;
}

.hub-passe-start-card,
.hub-passe-card {
  height: 100%;
  padding: 24px;
  background: #fff;
  border: 1px solid var(--light-border-color);
  border-radius: 16px;
  transition: var(--transition-base);
}

.hub-passe-start-card {
  background: linear-gradient(180deg, #fff 0%, var(--accent3-color) 100%);
}

.hub-passe-card:hover,
.hub-passe-start-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-hover);
}

.hub-passe-card-featured {
  border-color: rgba(201, 122, 99, 0.25);
  background: linear-gradient(180deg, rgba(250, 229, 223, 0.35) 0%, #fff 100%);
}

.hub-passe-badge,
.hub-passe-tag {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 5px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
}

.hub-passe-badge {
  background: var(--accent2-color);
  color: var(--light-text-color);
  margin-bottom: 16px;
}

.hub-passe-tag {
  background: rgba(122, 143, 106, 0.12);
  color: var(--accent2-color);
}

.hub-passe-card-top {
  margin-bottom: 14px;
}

.hub-passe-link {
  display: inline-block;
  margin-top: 16px;
  color: var(--accent-color);
  font-weight: 700;
  text-decoration: none;
  transition: var(--transition-fast);
}

.hub-passe-link:hover {
  color: var(--primary-button-hover-bg-color);
  text-decoration: underline;
}

.hub-passe-note {
  padding: 22px 24px;
  border-left: 4px solid var(--accent-color);
  background: var(--light-background-color);
  border-radius: 10px;
}

.hub-passe-conclusion {
  background: linear-gradient(180deg, #fff 0%, rgba(245, 245, 245, 0.75) 100%);
}

@media (max-width: 991.98px) {


  .hub-passe-hero {
    padding: 38px 24px;
  }

  .hub-passe-section {
    padding: 26px 22px;
  }

  .hub-passe-start-grid,
  .hub-passe-cards {
    grid-template-columns: 1fr;
  }


}

@media (max-width: 991.98px) {
  .mod-menu.nav-pills a .fas,
  .mod-menu.nav-pills .menu-separator .fas {
    width: 24px !important;
    min-width: 24px !important;
    margin-right: 8px !important;
  }

  .mod-menu.nav-pills > li > a,
  .mod-menu.nav-pills > li > .menu-separator,
  .mod-menu.nav-pills .menu-child > li > a,
  .mod-menu.nav-pills .menu-child > li > .menu-separator {
    gap: 14px !important;
  }
}

@media (max-width: 575.98px) {
  .hub-passe h1 {
    font-size: 2rem;
  }

  .hub-passe h2 {
    font-size: 1.5rem;
  }

  .hub-passe-hero-actions {
    flex-direction: column;
  }

  .hub-passe-btn {
    width: 100%;
  }

  .hub-passe-section {
    padding: 22px 18px;
    border-radius: 14px;
  }

  .hub-passe-hero {
    border-radius: 14px;
  }
}

#section-id-1654467081567 a {color:#878787!important;}

/* ========================================
   MASQUER LES FLÈCHES DES SEPARATORS
   (Villes / Groupes)
   ======================================== */

/* cache la flèche uniquement sur les separators */
.offcanvas-inner .menu-divider > .menu-separator .menu-toggler {
  display: none !important;
}

/* au cas où Helix utilise une pseudo-flèche */
.offcanvas-inner .menu-divider > .menu-separator::after {
  display: none !important;
  content: none !important;
}

/* sécurise si classe différente */
.offcanvas-inner li.menu-divider.menu-parent > .menu-separator .menu-toggler {
  display: none !important;
}

.burger-icon>span {
    background-color: var(--gray-text-color);
}

/* ========================================
   CONTENU PRINCIPAL ARTICLE / PAGE
======================================== */

#sp-component {
  background: #fff;
  border: 1px solid var(--light-border-color);
 padding: 2rem;
  box-shadow: 0 0.75rem 1.5rem rgba(0,0,0,0.05);
  padding-top: 0;
  border-radius:3px;
  border-radius: 1rem !important;
}

/* ========================================
   MENU SECONDAIRE LEFTSIDE - SOBRE & PREMIUM
   VERSION FORCÉE CONTRE template.css
======================================== */

#sp-left .sp-module.leftside,
#sp-right .sp-module.leftside {
  background: #fff !important;
  border: 1px solid var(--light-border-color) !important;
  border-radius: 1rem !important;
  padding: 1.5rem !important;
  box-shadow: 0 0.5rem 1.2rem rgba(0,0,0,0.05) !important;
  margin-top: 0 !important;
}

/* titre du module */
#sp-left .sp-module.leftside .sp-module-title,
#sp-right .sp-module.leftside .sp-module-title {
  font-family: var(--font-family-heading) !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  color: var(--dark-text-color) !important;
  margin: 0 0 1.25rem 0 !important;
  padding: 0 0 0.6rem 0 !important;
  border-bottom: 1px solid var(--light-border-color) !important;
  line-height: 1.4 !important;
}

/* reset listes */
#sp-left .sp-module.leftside ul.menu,
#sp-left .sp-module.leftside ul.menu ul,
#sp-right .sp-module.leftside ul.menu,
#sp-right .sp-module.leftside ul.menu ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* items niveau 1 */
#sp-left .sp-module.leftside ul.menu > li,
#sp-right .sp-module.leftside ul.menu > li {
  display: block !important;
  margin: 0 0 0.45rem 0 !important;
  padding: 0 !important;
  border-bottom: none !important;
}

#sp-left .sp-module.leftside ul.menu > li:last-child,
#sp-right .sp-module.leftside ul.menu > li:last-child {
  margin-bottom: 0 !important;
  border-bottom: none !important;
}

/* ========================================
   NIVEAU 1 : liens + separators = même style
======================================== */
#sp-left .sp-module.leftside ul.menu > li > a,
#sp-left .sp-module.leftside ul.menu > li > .menu-separator,
#sp-right .sp-module.leftside ul.menu > li > a,
#sp-right .sp-module.leftside ul.menu > li > .menu-separator {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  width: 100% !important;
  padding: 0.75rem 0 0.75rem 0.95rem !important;
  margin: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  color: var(--dark-text-color) !important;
  text-decoration: none !important;
  font-family: var(--font-family-heading) !important;
  font-size: 0.98rem !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  position: relative !important;
  transition:
    color 0.25s ease,
    padding-left 0.25s ease,
    transform 0.25s ease !important;
  cursor: pointer !important;
}

/* supprime les icônes parasites éventuelles */
#sp-left .sp-module.leftside ul.menu > li > a .fas,
#sp-left .sp-module.leftside ul.menu > li > .menu-separator .fas,
#sp-right .sp-module.leftside ul.menu > li > a .fas,
#sp-right .sp-module.leftside ul.menu > li > .menu-separator .fas {
  display: none !important;
}

/* trait gauche */
#sp-left .sp-module.leftside ul.menu > li > a::before,
#sp-left .sp-module.leftside ul.menu > li > .menu-separator::before,
#sp-right .sp-module.leftside ul.menu > li > a::before,
#sp-right .sp-module.leftside ul.menu > li > .menu-separator::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 3px !important;
  height: 0 !important;
  background: var(--primary-color) !important;
  border-radius: 2px !important;
  transition: height 0.25s ease !important;
}

/* hover */
#sp-left .sp-module.leftside ul.menu > li > a:hover,
#sp-left .sp-module.leftside ul.menu > li > .menu-separator:hover,
#sp-right .sp-module.leftside ul.menu > li > a:hover,
#sp-right .sp-module.leftside ul.menu > li > .menu-separator:hover {
  color: var(--primary-color) !important;
  padding-left: 1.15rem !important;
  background: transparent !important;
}

#sp-left .sp-module.leftside ul.menu > li > a:hover::before,
#sp-left .sp-module.leftside ul.menu > li > .menu-separator:hover::before,
#sp-right .sp-module.leftside ul.menu > li > a:hover::before,
#sp-right .sp-module.leftside ul.menu > li > .menu-separator:hover::before {
  height: 60% !important;
}

/* parent actif / courant / ouvert */
#sp-left .sp-module.leftside ul.menu > li.active > a,
#sp-left .sp-module.leftside ul.menu > li.current > a,
#sp-left .sp-module.leftside ul.menu > li.active > .menu-separator,
#sp-left .sp-module.leftside ul.menu > li.current > .menu-separator,
#sp-left .sp-module.leftside ul.menu > li.menu-parent-open > a,
#sp-left .sp-module.leftside ul.menu > li.menu-parent-open > .menu-separator,
#sp-right .sp-module.leftside ul.menu > li.active > a,
#sp-right .sp-module.leftside ul.menu > li.current > a,
#sp-right .sp-module.leftside ul.menu > li.active > .menu-separator,
#sp-right .sp-module.leftside ul.menu > li.current > .menu-separator,
#sp-right .sp-module.leftside ul.menu > li.menu-parent-open > a,
#sp-right .sp-module.leftside ul.menu > li.menu-parent-open > .menu-separator {
  color: var(--primary-color) !important;
  font-weight: 700 !important;
  padding-left: 1.15rem !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

#sp-left .sp-module.leftside ul.menu > li.active > a::before,
#sp-left .sp-module.leftside ul.menu > li.current > a::before,
#sp-left .sp-module.leftside ul.menu > li.active > .menu-separator::before,
#sp-left .sp-module.leftside ul.menu > li.current > .menu-separator::before,
#sp-left .sp-module.leftside ul.menu > li.menu-parent-open > a::before,
#sp-left .sp-module.leftside ul.menu > li.menu-parent-open > .menu-separator::before,
#sp-right .sp-module.leftside ul.menu > li.active > a::before,
#sp-right .sp-module.leftside ul.menu > li.current > a::before,
#sp-right .sp-module.leftside ul.menu > li.active > .menu-separator::before,
#sp-right .sp-module.leftside ul.menu > li.current > .menu-separator::before,
#sp-right .sp-module.leftside ul.menu > li.menu-parent-open > a::before,
#sp-right .sp-module.leftside ul.menu > li.menu-parent-open > .menu-separator::before {
  height: 72% !important;
}

/* toggler */
#sp-left .sp-module.leftside .menu-toggler,
#sp-right .sp-module.leftside .menu-toggler {
  margin-left: auto !important;
  transition: transform 0.25s ease !important;
}

#sp-left .sp-module.leftside li.menu-parent-open > a .menu-toggler,
#sp-left .sp-module.leftside li.menu-parent-open > .menu-separator .menu-toggler,
#sp-right .sp-module.leftside li.menu-parent-open > a .menu-toggler,
#sp-right .sp-module.leftside li.menu-parent-open > .menu-separator .menu-toggler {
  transform: rotate(90deg) !important;
}

/* ========================================
   SOUS-MENUS
======================================== */
#sp-left .sp-module.leftside .menu-child,
#sp-right .sp-module.leftside .menu-child {
  margin-top: 0.3rem !important;
  margin-left: 0.85rem !important;
  padding-left: 0.95rem !important;

}

/* ouvre le sous-menu si parent actif/courant/ouvert */
#sp-left .sp-module.leftside ul.menu > li.active > .menu-child,
#sp-left .sp-module.leftside ul.menu > li.current > .menu-child,
#sp-left .sp-module.leftside ul.menu > li.menu-parent-open > .menu-child,
#sp-right .sp-module.leftside ul.menu > li.active > .menu-child,
#sp-right .sp-module.leftside ul.menu > li.current > .menu-child,
#sp-right .sp-module.leftside ul.menu > li.menu-parent-open > .menu-child {
  display: block !important;
}

/* niveaux profonds */
#sp-left .sp-module.leftside .menu-child .menu-child,
#sp-right .sp-module.leftside .menu-child .menu-child {
  margin-left: 0.75rem !important;
  padding-left: 0.85rem !important;
}

/* items sous-menu */
#sp-left .sp-module.leftside .menu-child > li,
#sp-right .sp-module.leftside .menu-child > li {
  display: block !important;
  margin: 0 0 0.15rem 0 !important;
  padding: 0 !important;
  border-bottom: none !important;
  padding-left: 15px !important;
}

#sp-left .sp-module.leftside .menu-child > li:last-child,
#sp-right .sp-module.leftside .menu-child > li:last-child {
  margin-bottom: 0 !important;
  border-bottom: none !important;
}

/* liens + separators sous-menu */
#sp-left .sp-module.leftside .menu-child > li > a,
#sp-left .sp-module.leftside .menu-child > li > .menu-separator,
#sp-right .sp-module.leftside .menu-child > li > a,
#sp-right .sp-module.leftside .menu-child > li > .menu-separator {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  width: 100% !important;
  padding: 0.55rem 0 0.55rem 0.9rem !important;
  margin: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  color: var(--gray-text-color) !important;
  text-decoration: none !important;
  font-family: var(--font-family-body) !important;
  font-size: 0.94rem !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  position: relative !important;
  transition:
    color 0.2s ease,
    padding-left 0.2s ease,
    transform 0.2s ease !important;
  cursor: pointer !important;
}

/* icônes parasites */
#sp-left .sp-module.leftside .menu-child > li > a .fas,
#sp-left .sp-module.leftside .menu-child > li > .menu-separator .fas,
#sp-right .sp-module.leftside .menu-child > li > a .fas,
#sp-right .sp-module.leftside .menu-child > li > .menu-separator .fas {
  display: none !important;
}

/* hover sous-menu */
#sp-left .sp-module.leftside .menu-child > li > a:hover,
#sp-left .sp-module.leftside .menu-child > li > .menu-separator:hover,
#sp-right .sp-module.leftside .menu-child > li > a:hover,
#sp-right .sp-module.leftside .menu-child > li > .menu-separator:hover {
  color: var(--primary-color) !important;
  padding-left: 1rem !important;
  transform: translateX(2px) !important;
  background: transparent !important;
}

#sp-left .mod-menu .menu-child .menu-child > li > a,
#sp-right .mod-menu .menu-child .menu-child > li > a {
  padding-left: 0px !important;
}

/* enfant actif */
#sp-left .sp-module.leftside .menu-child > li.active > a,
#sp-left .sp-module.leftside .menu-child > li.current > a,
#sp-left .sp-module.leftside .menu-child > li.active > .menu-separator,
#sp-left .sp-module.leftside .menu-child > li.current > .menu-separator,
#sp-left .sp-module.leftside .menu-child > li.menu-parent-open > a,
#sp-left .sp-module.leftside .menu-child > li.menu-parent-open > .menu-separator,
#sp-right .sp-module.leftside .menu-child > li.active > a,
#sp-right .sp-module.leftside .menu-child > li.current > a,
#sp-right .sp-module.leftside .menu-child > li.active > .menu-separator,
#sp-right .sp-module.leftside .menu-child > li.current > .menu-separator,
#sp-right .sp-module.leftside .menu-child > li.menu-parent-open > a,
#sp-right .sp-module.leftside .menu-child > li.menu-parent-open > .menu-separator {
  color: var(--primary-color) !important;
  font-weight: 600 !important;
  padding-left: 1rem !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* petit trait gauche enfant actif */
#sp-left .sp-module.leftside .menu-child > li.active > a::before,
#sp-left .sp-module.leftside .menu-child > li.current > a::before,
#sp-left .sp-module.leftside .menu-child > li.active > .menu-separator::before,
#sp-left .sp-module.leftside .menu-child > li.current > .menu-separator::before,
#sp-left .sp-module.leftside .menu-child > li.menu-parent-open > a::before,
#sp-left .sp-module.leftside .menu-child > li.menu-parent-open > .menu-separator::before,
#sp-right .sp-module.leftside .menu-child > li.active > a::before,
#sp-right .sp-module.leftside .menu-child > li.current > a::before,
#sp-right .sp-module.leftside .menu-child > li.active > .menu-separator::before,
#sp-right .sp-module.leftside .menu-child > li.current > .menu-separator::before,
#sp-right .sp-module.leftside .menu-child > li.menu-parent-open > a::before,
#sp-right .sp-module.leftside .menu-child > li.menu-parent-open > .menu-separator::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 2px !important;
  height: 52% !important;
 /* background: var(--primary-color) !important;*/
  border-radius: 2px !important;
}

/* rotation toggler sous-menu */
#sp-left .sp-module.leftside .menu-child li.menu-parent-open > a .menu-toggler,
#sp-left .sp-module.leftside .menu-child li.menu-parent-open > .menu-separator .menu-toggler,
#sp-right .sp-module.leftside .menu-child li.menu-parent-open > a .menu-toggler,
#sp-right .sp-module.leftside .menu-child li.menu-parent-open > .menu-separator .menu-toggler {
  transform: rotate(90deg) !important;
}

/* mobile */
@media (max-width: 991.98px) {
  #sp-left .sp-module.leftside,
  #sp-right .sp-module.leftside {
    margin-top: 1.5rem !important;
  }
}


   .offcanvas-inner .mod-menu .menu-child .menu-child {
    border-left: none;
  }


@media (max-width: 991.98px) {



.offcanvas-menu .offcanvas-inner ul.menu>li>ul li a {
    font-size: 16px;
    padding: 10px 0px;
}
  
  /* conteneur */
  .mod-menu.nav-pills {
    padding: 0;
    margin: 0;
    background: transparent;
  }

  /* items niveau 1 */
  .mod-menu.nav-pills > li {
    margin-bottom: 10px;
  }

  .mod-menu.nav-pills > li > a,
  .mod-menu.nav-pills > li > .menu-separator {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 0px!important;
    color: var(--dark-text-color);
    font-family: var(--font-family-heading);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.4;
    text-decoration: none;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
  }

  .mod-menu.nav-pills > li > a:hover,
  .mod-menu.nav-pills > li > .menu-separator:hover {
    background: #fafafa;
    color: var(--primary-color);
    border-color: var(--light-border-color);
  }

  /* item actif */
  .mod-menu.nav-pills > li.active > a,
  .mod-menu.nav-pills > li.current > a,
  .mod-menu.nav-pills > li.menu-parent-open > a {
    color: var(--primary-color);
    border-color: var(--light-border-color);
  }

  /* toggler */
  .mod-menu .menu-toggler {
    margin-left: auto;
    transition: transform 0.2s ease;
  }

  .mod-menu .menu-parent-open > a .menu-toggler,
  .mod-menu .menu-parent-open > .menu-separator .menu-toggler {
    transform: rotate(90deg);
  }

  /* sous-menus */
  .mod-menu .menu-child {
    margin-top: 8px;
    padding-left: 14px;
  }

  /* bloc ouvert plus discret */
  .mod-menu .menu-parent-open > .menu-child {
    padding-top: 2px;
  }

  /* items niveau 2 */
  .mod-menu .menu-child > li {
    margin-bottom: 4px;
  }

  .mod-menu .menu-child > li > a,
  .mod-menu .menu-child > li > .menu-separator {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 10px;
    color: var(--dark-text-color);
    text-decoration: none;
    font-family: var(--font-family-body);
    font-size: 0.95rem;
    font-weight: 400;
    line-height: 1.4;
    background: transparent;
    transition: background-color 0.2s ease, color 0.2s ease;
  }

  .mod-menu .menu-child > li > a:hover,
  .mod-menu .menu-child > li > .menu-separator:hover {
    background: var(--accent3-color);
    color: var(--primary-color);
  }

  /* titres intermédiaires type Villes / Groupes */
  .mod-menu .menu-child > li > .menu-separator {
    font-weight: 600;
    color: var(--dark-text-color);
  }

  /* niveau 3 */
  .mod-menu .menu-child .menu-child {
    margin-top: 4px;
    margin-bottom: 6px;
    padding-left: 14px;
    border-left: 1px solid var(--light-border-color);
  }

  .mod-menu .menu-child .menu-child > li > a {
    padding: 8px 10px;
    font-size: 0.92rem;
    border-radius: 8px;
  }

  .mod-menu .menu-child .menu-child > li > a:hover {
    background: var(--accent3-color);
    color: var(--primary-color);
  }

  /* icônes */
  .mod-menu a .fas,
  .mod-menu .menu-separator .fas {
    width: 18px;
    min-width: 18px;
    text-align: center;
    font-size: 14px;
    color: var(--primary-color);
  }

  /* annule pe-2 */
  .mod-menu a .pe-2 {
    padding-right: 0 !important;
  }

  /* retire les séparations trop dures */
  .mod-menu .menu-child > li + li {
    border-top: 0;
  }

  .mod-menu li:last-child {
    margin-bottom: 0;
  }
}






@media (max-width: 991.98px) {

  /* Par défaut, les sous-sous menus restent fermés */
  .menu-child .menu-child {
    display: none !important;
  }

  /* Ils ne s’ouvrent que si le parent est ouvert */
  .menu-child li.menu-parent-open > .menu-child {
    display: block !important;
  }
}



/* =========================================
   SOUS-MENU AGENDA UNIQUEMENT
========================================= */
.sp-megamenu-parent .sp-mega-group>li>a {
    text-transform: none;
}

/* inner */
.agenda > .sp-dropdown.sp-dropdown-main.sp-dropdown-mega .sp-dropdown-inner {
  padding: 0;
}

/* structure 2 colonnes */
.agenda > .sp-dropdown.sp-dropdown-main.sp-dropdown-mega .row {
  margin: 0;
}

.agenda > .sp-dropdown.sp-dropdown-main.sp-dropdown-mega .row > [class*="col-"] {
  padding: 0;
}

.agenda > .sp-dropdown.sp-dropdown-main.sp-dropdown-mega .row > [class*="col-"]:first-child {
  border-right: 1px solid var(--light-border-color);
}

/* blocs */
.agenda > .sp-dropdown.sp-dropdown-main.sp-dropdown-mega .sp-mega-group {
  list-style: none;
  margin: 0;
  padding: 24px;
}

.agenda > .sp-dropdown.sp-dropdown-main.sp-dropdown-mega .sp-mega-group > li {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* titres colonnes */
.agenda > .sp-dropdown.sp-dropdown-main.sp-dropdown-mega .sp-group-title.sp-menu-separator {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
  font-family: var(--font-family-heading);
  font-weight: 700;
  font-size: 18px;
  line-height: 1.3;
  color: var(--primary-color);
}

/* icône Villes */
.agenda > .sp-dropdown.sp-dropdown-main.sp-dropdown-mega .col-sm-6:first-child .sp-group-title.sp-menu-separator::before {
  content: "\f3c5";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 15px;
  line-height: 1;
  color: var(--primary-color);
}

/* icône Groupes */
.agenda > .sp-dropdown.sp-dropdown-main.sp-dropdown-mega .col-sm-6:last-child .sp-group-title.sp-menu-separator::before {
  content: "\f5fd";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 15px;
  line-height: 1;
  color: var(--primary-color);
}

/* sous-listes */
.agenda > .sp-dropdown.sp-dropdown-main.sp-dropdown-mega .sp-mega-group-child.sp-dropdown-items {
  list-style: none;
  margin: 0;
  padding: 0;
}

.agenda > .sp-dropdown.sp-dropdown-main.sp-dropdown-mega .sp-mega-group-child.sp-dropdown-items > li {
  list-style: none;
  margin: 0 0 4px 0;
  padding: 0;
}

/* liens */
.agenda > .sp-dropdown.sp-dropdown-main.sp-dropdown-mega .sp-mega-group-child.sp-dropdown-items > li > a,
.agenda > .sp-dropdown.sp-dropdown-main.sp-dropdown-mega .sp-mega-group > li.item-824 > a {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 12px;
  text-decoration: none;
  font-family: var(--font-family-body);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  color: var(--dark-text-color);
  transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.agenda > .sp-dropdown.sp-dropdown-main.sp-dropdown-mega .sp-mega-group-child.sp-dropdown-items > li > a:hover,
.agenda > .sp-dropdown.sp-dropdown-main.sp-dropdown-mega .sp-mega-group > li.item-824 > a:hover {
  background: var(--accent3-color);
  color: var(--primary-color);
  transform: translateX(2px);
}

/* icônes */
.agenda > .sp-dropdown.sp-dropdown-main.sp-dropdown-mega .sp-mega-group-child.sp-dropdown-items > li > a .fas {
  width: 18px;
  min-width: 18px;
  text-align: center;
  font-size: 14px;
  transition: color 0.2s ease;
}

/* annule pe-2 */
.agenda > .sp-dropdown.sp-dropdown-main.sp-dropdown-mega .sp-mega-group-child.sp-dropdown-items > li > a .pe-2 {
  padding-right: 0 !important;
}

/* couleurs par lien - colonne villes */
.agenda > .sp-dropdown.sp-dropdown-main.sp-dropdown-mega .col-sm-6:first-child .sp-mega-group-child > li:nth-child(1) > a .fas {
  color: var(--primary-color);
}

.agenda > .sp-dropdown.sp-dropdown-main.sp-dropdown-mega .col-sm-6:first-child .sp-mega-group-child > li:nth-child(2) > a .fas {
  color: var(--accent2-color);
}

.agenda > .sp-dropdown.sp-dropdown-main.sp-dropdown-mega .col-sm-6:first-child .sp-mega-group-child > li:nth-child(3) > a .fas {
  color: var(--accent4-color);
}

/* couleurs par lien - colonne groupes */
.agenda > .sp-dropdown.sp-dropdown-main.sp-dropdown-mega .col-sm-6:last-child .sp-mega-group-child > li:nth-child(1) > a .fas {
  color: var(--accent2-color);
}

.agenda > .sp-dropdown.sp-dropdown-main.sp-dropdown-mega .col-sm-6:last-child .sp-mega-group-child > li:nth-child(2) > a .fas {
  color: var(--accent4-color);
}

/* hover icônes */
.agenda > .sp-dropdown.sp-dropdown-main.sp-dropdown-mega .sp-mega-group-child.sp-dropdown-items > li > a:hover .fas {
  color: var(--primary-color);
}

/* bloc prochains événements */
.agenda > .sp-dropdown.sp-dropdown-main.sp-dropdown-mega .sp-mega-group > li.item-824 {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--light-border-color);
}

.agenda > .sp-dropdown.sp-dropdown-main.sp-dropdown-mega .sp-mega-group > li.item-824 > a {
  font-weight: 600;
}


/* responsive */
@media (max-width: 991.98px) {
  .agenda > .sp-dropdown.sp-dropdown-main.sp-dropdown-mega .row > [class*="col-"]:first-child {
    border-right: 0;
    border-bottom: 1px solid var(--light-border-color);
  }
}

/* =========================================
   LISTES PRINCIPALES
========================================= */
.sp-dropdown.sp-dropdown-main.sp-dropdown-mega .sp-mega-group {
  list-style: none;
  margin: 0;
  padding: 24px;
}

.sp-dropdown.sp-dropdown-main.sp-dropdown-mega .sp-mega-group > li {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* =========================================
   TITRES DE BLOCS : Villes / Groupes
========================================= */
.sp-dropdown.sp-dropdown-main.sp-dropdown-mega .sp-group-title.sp-menu-separator {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
  font-family: var(--font-family-heading);
  font-weight: 700;
  font-size: 18px;
  line-height: 1.3;
  color: var(--primary-color);
}

/* Icône FA pour Villes */
.sp-dropdown.sp-dropdown-main.sp-dropdown-mega .col-sm-6:first-child .sp-group-title.sp-menu-separator::before {
  content: "\f3c5";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 16px;
  line-height: 1;
  color: var(--primary-color);
}

/* Icône FA pour Groupes */
.sp-dropdown.sp-dropdown-main.sp-dropdown-mega .col-sm-6:last-child .sp-group-title.sp-menu-separator::before {
  content: "\f5fd";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 16px;
  line-height: 1;
  color: var(--primary-color);
}

/* =========================================
   SOUS-LISTES
========================================= */
.sp-dropdown.sp-dropdown-main.sp-dropdown-mega .sp-mega-group-child.sp-dropdown-items {
  list-style: none;
  margin: 0;
  padding: 0;
}

.sp-dropdown.sp-dropdown-main.sp-dropdown-mega .sp-mega-group-child.sp-dropdown-items > li {
  list-style: none;
  margin: 0 0 4px 0;
  padding: 0;
}

/* =========================================
   LIENS DU MENU
========================================= */
.sp-dropdown.sp-dropdown-main.sp-dropdown-mega .sp-mega-group-child.sp-dropdown-items > li > a,
.sp-dropdown.sp-dropdown-main.sp-dropdown-mega .sp-mega-group > li.item-824 > a {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 12px;
  text-decoration: none;
  font-family: var(--font-family-body);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  color: var(--dark-text-color);
  transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.sp-dropdown.sp-dropdown-main.sp-dropdown-mega .sp-mega-group-child.sp-dropdown-items > li > a:hover,
.sp-dropdown.sp-dropdown-main.sp-dropdown-mega .sp-mega-group > li.item-824 > a:hover {
  background: var(--accent3-color);
  color: var(--primary-color);
  transform: translateX(2px);
}

/* Icônes déjà présentes dans le HTML */
.sp-dropdown.sp-dropdown-main.sp-dropdown-mega .sp-mega-group-child.sp-dropdown-items > li > a .fas {
  width: 18px;
  min-width: 18px;
  text-align: center;
  font-size: 14px;
  color: var(--primary-color);
  transition: color 0.2s ease;
}

.sp-dropdown.sp-dropdown-main.sp-dropdown-mega .sp-mega-group-child.sp-dropdown-items > li > a:hover .fas {
  color: var(--accent2-color);
}

/* =========================================
   BLOC "PROCHAINS ÉVÉNEMENTS"
========================================= */
.sp-dropdown.sp-dropdown-main.sp-dropdown-mega .sp-mega-group > li.item-824 {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--light-border-color);
}

.sp-dropdown.sp-dropdown-main.sp-dropdown-mega .sp-mega-group > li.item-824 > a {
  font-weight: 600;
}



/* =========================================
   RESPONSIVE
========================================= */
@media (max-width: 991.98px) {
  .sp-dropdown.sp-dropdown-main.sp-dropdown-mega {
    width: 100% !important;
    border-radius: 14px;
  }

  .sp-dropdown.sp-dropdown-main.sp-dropdown-mega .row {
    flex-wrap: wrap;
  }

  .sp-dropdown.sp-dropdown-main.sp-dropdown-mega .row > [class*="col-"] {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .sp-dropdown.sp-dropdown-main.sp-dropdown-mega .row > [class*="col-"]:first-child {
    border-right: 0;
    border-bottom: 1px solid var(--light-border-color);
  }
}




/* ================================
   MENU DROPDOWN STYLE PREMIUM (CCAF)
================================ */

/* reset */
li.asso-ccaf .sp-dropdown .sp-dropdown-items {
  padding: 1rem;
}

/* lien = carte */
li.asso-ccaf .sp-dropdown .sp-dropdown-items > .sp-menu-item > a {
  display: flex !important;
  align-items: center;
  gap: 1rem;
  padding: 1rem !important;
  border-radius: 0.75rem;
  color: var(--dark-text-color) !important;
  text-decoration: none;
  transition: all 0.25s ease;
}

/* hover */
li.asso-ccaf .sp-dropdown .sp-dropdown-items > .sp-menu-item > a:hover, li.asso-ccaf .sp-dropdown .sp-dropdown-items > .active > a {
  background: var(--accent3-color);
}

/* ====================
   BLOC ICÔNE
==================== */

/* bloc icône */
li.asso-ccaf .sp-dropdown .sp-dropdown-items > .sp-menu-item > a span.fas {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 48px;
  height: 48px;
  min-width: 48px;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1 !important;
  border-radius: 0.6rem;
  color: #fff !important;
  font-size: 1.1rem;
  flex-shrink: 0;
  text-align: center !important;
}

/* icône FA */
li.asso-ccaf .sp-dropdown .sp-dropdown-items > .sp-menu-item > a span.fas::before {
  display: block;
  line-height: 1 !important;
  margin: 0 !important;
}

/* annule le pe-2 bootstrap */
li.asso-ccaf .sp-dropdown .sp-dropdown-items > .sp-menu-item > a span.pe-2 {
  padding-right: 0 !important;
}

/* ====================
   DÉGRADÉS PAR ITEM
==================== */

/* Membres */
li.asso-ccaf .sp-dropdown .sp-dropdown-items > .sp-menu-item:nth-child(1) > a span {
  background: linear-gradient(to bottom right, var(--primary-color), var(--accent2-color));
}

/* CA */
li.asso-ccaf .sp-dropdown .sp-dropdown-items > .sp-menu-item:nth-child(2) > a span {
  background: linear-gradient(to bottom right, var(--accent2-color), var(--accent4-color));
}

/* Délégués */
li.asso-ccaf .sp-dropdown .sp-dropdown-items > .sp-menu-item:nth-child(3) > a span {
  background: linear-gradient(to bottom right, var(--accent4-color), var(--primary-color));
}

/* Coordonnants */
li.asso-ccaf .sp-dropdown .sp-dropdown-items > .sp-menu-item:nth-child(4) > a span {
  background: linear-gradient(to bottom right, var(--primary-color), var(--accent2-color));
}

/* Item 5 */
li.asso-ccaf .sp-dropdown .sp-dropdown-items > .sp-menu-item:nth-child(5) > a span {
  background: linear-gradient(to bottom right, var(--accent2-color), var(--primary-color));
}

/* Item 6 */
li.asso-ccaf .sp-dropdown .sp-dropdown-items > .sp-menu-item:nth-child(6) > a span {
  background: linear-gradient(to bottom right, var(--accent4-color), var(--accent2-color));
}

/* Item 7 */
li.asso-ccaf .sp-dropdown .sp-dropdown-items > .sp-menu-item:nth-child(7) > a span {
  background: linear-gradient(to bottom right, var(--primary-color), var(--accent4-color));
}

/* Item 8 */
li.asso-ccaf .sp-dropdown .sp-dropdown-items > .sp-menu-item:nth-child(8) > a span {
  background: linear-gradient(to bottom right, var(--accent2-color), var(--accent4-color));
}

/* ====================
   TEXTE
==================== */

li.asso-ccaf .sp-dropdown .sp-dropdown-items > .sp-menu-item > a {
  font-family: var(--font-family-heading);
  font-weight: normal;
  font-size: 0.95rem !important;
}

/* hover couleur texte */
li.asso-ccaf .sp-dropdown .sp-dropdown-items > .sp-menu-item > a:hover, li.asso-ccaf .sp-dropdown .sp-dropdown-items > .active > a  {
  color: var(--primary-color) !important;
}

/* ====================
   ESPACE ENTRE ITEMS
==================== */

li.asso-ccaf .sp-dropdown .sp-dropdown-items > .sp-menu-item + .sp-menu-item {
  margin-top: 0.4rem;
}




#sp-main-body {
    padding: 50px 0;
}

/* =========================================
   HERO PAGE TITLE (articles)
   ========================================= */

#sp-section-2 {
  position: relative;
  padding: 80px 0;
background-image: url("../images/banner-hero2.jpg") !important;
  color: var(--dark-text-color);
  overflow: hidden;
}

/* effet overlay léger */
#sp-section-2::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at center, rgba(255,255,255,0.05), transparent 70%);
  pointer-events: none;
}

/* container centré */
#sp-section-2 .container-inner {
  position: relative;
  z-index: 2;
  text-align: center;
  max-width: 900px;
  margin: 0 auto;
}

/* TITRE */
#sp-section-2 .mod-article-title {
  font-family: var(--font-family-heading);
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 1.5rem;
  color: var(--dark-text-color);
}

/* petit trait décoratif */
#sp-section-2 .mod-article-title::after {
  content: "";
  display: block;
  width: 80px;
  height: 4px;
  background: var(--accent2-color);
  margin: 1rem auto 0;
  border-radius: 2px;
}

/* BREADCRUMB */
#sp-section-2 .mod-breadcrumbs {
  background: rgba(255,255,255,0.1);
  backdrop-filter: blur(8px);
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 1rem !important;
  margin: 0;
}

/* texte breadcrumb */
#sp-section-2 .mod-breadcrumbs li,
#sp-section-2 .mod-breadcrumbs a {
  font-size: 0.85rem;
  color: var(--dark-text-color);
  text-decoration: none;
}

/* hover */
#sp-section-2 .mod-breadcrumbs a:hover {
  color: var(--primary-color);
}

/* élément actif */
#sp-section-2 .breadcrumb-item.active span {
  color: var(--dark-text-color);
}

/* "Vous êtes ici" */
#sp-section-2 .mod-breadcrumbs__here {
  display: none; /* trop lourd visuellement */
}

/* RESPONSIVE */
@media (max-width: 991.98px) {
  #sp-section-2 {
    padding: 60px 0;
  }

  #sp-section-2 .mod-article-title {
    font-size: 2.2rem;
  }
}

@media (max-width: 576px) {
  #sp-section-2 {
    padding: 50px 15px;
  }

  #sp-section-2 .mod-article-title {
    font-size: 1.8rem;
  }

  #sp-section-2 .mod-breadcrumbs {
    flex-wrap: wrap;
    justify-content: center;
  }
}

/* =========================================================
   SECTION RESSOURCES - style cartes premium
   section : bef32821-2a09-45c4-975a-c6bfbfed9e26
   ========================================================= */


#section-id-bef32821-2a09-45c4-975a-c6bfbfed9e26 .sppb-row.sppb-nested-row > .sppb-row-column {
  display: flex;
}

#section-id-bef32821-2a09-45c4-975a-c6bfbfed9e26 .sppb-row.sppb-nested-row > .sppb-row-column > .sppb-column,
#section-id-bef32821-2a09-45c4-975a-c6bfbfed9e26 .sppb-row.sppb-nested-row > .sppb-row-column > .sppb-column > .sppb-column-addons {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
}

/* carte */
#section-id-bef32821-2a09-45c4-975a-c6bfbfed9e26 .sppb-column-addons {
  background: linear-gradient(to bottom right, var(--light-background-color), var(--medium-background-color));
  border-radius: 0.75rem;
  padding: 2rem;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.12);
  transition: all 0.3s ease;
  height: 100%;
}

#section-id-bef32821-2a09-45c4-975a-c6bfbfed9e26 .sppb-column-addons:hover {
  box-shadow: 0 1rem 1.75rem rgba(0, 0, 0, 0.16);
  transform: translateY(-2px);
}

/* icône ronde en haut */
#section-id-bef32821-2a09-45c4-975a-c6bfbfed9e26 .addon-root-icon {
  display: flex;
  justify-content: center;
  margin-bottom: 1.5rem;
}

#section-id-bef32821-2a09-45c4-975a-c6bfbfed9e26 .sppb-icon {
  width: 5rem;
  height: 5rem;
  background: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
}

#section-id-bef32821-2a09-45c4-975a-c6bfbfed9e26 .sppb-icon i {
  font-size: 1.875rem;
  color: var(--primary-color);
}

/* titre */
#section-id-bef32821-2a09-45c4-975a-c6bfbfed9e26 .addon-root-heading {
  margin-bottom: 1rem;
}

#section-id-bef32821-2a09-45c4-975a-c6bfbfed9e26 .addon-root-heading .sppb-addon-title {
  font-family: var(--font-family-heading);
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.2;
  color: var(--dark-text-color);
  text-align: center;
  margin: 0;
}

/* masque le faux titre parasite "This is a heading" */
#section-id-bef32821-2a09-45c4-975a-c6bfbfed9e26 .addon-root-text-block > .clearfix > .sppb-addon > .sppb-addon-title {
  display: none;
}

/* liste */
#section-id-bef32821-2a09-45c4-975a-c6bfbfed9e26 .addon-root-text-block .sppb-addon-content {
  padding: 0;
}

#section-id-bef32821-2a09-45c4-975a-c6bfbfed9e26 .addon-root-text-block .sppb-addon-content ul {
  list-style: none;
  margin: 0 0 1.5rem 0;
  padding: 0;
  text-align: left !important;
}

#section-id-bef32821-2a09-45c4-975a-c6bfbfed9e26 .addon-root-text-block .sppb-addon-content li {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin-bottom: 0.9rem;
  color: var(--dark-text-color);
}

#section-id-bef32821-2a09-45c4-975a-c6bfbfed9e26 .addon-root-text-block .sppb-addon-content li i {
  color: var(--accent2-color);
  margin-top: 0.15rem;
  flex-shrink: 0;
}

#section-id-bef32821-2a09-45c4-975a-c6bfbfed9e26 .addon-root-text-block .sppb-addon-content li span {
  font-family: var(--font-family-body);
  font-size: 1rem;
  color: var(--dark-text-color);
  line-height: 1.6;
}

/* bouton en bas */
#section-id-bef32821-2a09-45c4-975a-c6bfbfed9e26 .addon-root-button {
  margin-top: auto;
}

#section-id-bef32821-2a09-45c4-975a-c6bfbfed9e26 .sppb-button-wrapper {
  width: 100%;
}

#section-id-bef32821-2a09-45c4-975a-c6bfbfed9e26 .sppb-btn {
  display: block;
  width: 100%;
  text-align: center;
  background: #fff;
  color: var(--primary-color) !important;
  padding: 0.85rem 1.25rem;
  border-radius: 0.5rem;
  font-family: var(--font-family-body);
  font-size: 1rem;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.3s ease;
}

#section-id-bef32821-2a09-45c4-975a-c6bfbfed9e26 .sppb-btn:hover {
  background: var(--accent3-color);
  color: var(--primary-color) !important;
}

/* responsive */
@media (max-width: 991.98px) {
  #section-id-bef32821-2a09-45c4-975a-c6bfbfed9e26 .sppb-row.sppb-nested-row {
    gap: 1.5rem;
  }

  #section-id-bef32821-2a09-45c4-975a-c6bfbfed9e26 .sppb-column-addons {
    padding: 1.5rem;
  }

  #section-id-bef32821-2a09-45c4-975a-c6bfbfed9e26 .addon-root-heading .sppb-addon-title {
    font-size: 1.6rem;
  }
}




/* =========================================================
   CARTES "DISPOSITIFS" - STYLE PREMIUM (scopé)
   ========================================================= */

#section-id-5b6d45d0-d237-4d8c-bb56-a723eb107ff7 .sppb-row.sppb-nested-row,
#section-id-6ccd5788-151f-48bd-870f-d26970dec7a5 .sppb-row.sppb-nested-row {
  display: flex;
  flex-wrap: wrap;
}

/* structure */
#section-id-5b6d45d0-d237-4d8c-bb56-a723eb107ff7 .sppb-row.sppb-nested-row > .sppb-row-column,
#section-id-6ccd5788-151f-48bd-870f-d26970dec7a5 .sppb-row.sppb-nested-row > .sppb-row-column {
  display: flex;
}

#section-id-5b6d45d0-d237-4d8c-bb56-a723eb107ff7 .sppb-row.sppb-nested-row > .sppb-row-column > .sppb-column,
#section-id-5b6d45d0-d237-4d8c-bb56-a723eb107ff7 .sppb-row.sppb-nested-row > .sppb-row-column > .sppb-column > .sppb-column-addons,
#section-id-6ccd5788-151f-48bd-870f-d26970dec7a5 .sppb-row.sppb-nested-row > .sppb-row-column > .sppb-column,
#section-id-6ccd5788-151f-48bd-870f-d26970dec7a5 .sppb-row.sppb-nested-row > .sppb-row-column > .sppb-column > .sppb-column-addons {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
}

/* carte */
#section-id-5b6d45d0-d237-4d8c-bb56-a723eb107ff7 .sppb-column-addons,
#section-id-6ccd5788-151f-48bd-870f-d26970dec7a5 .sppb-column-addons {
  background: #fff;
  border: 1px solid var(--light-border-color);
  border-radius: 1rem;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.12);
  overflow: hidden;
  transition: all 0.3s ease;
  height: 100%;
}

#section-id-5b6d45d0-d237-4d8c-bb56-a723eb107ff7 .sppb-column-addons:hover,
#section-id-6ccd5788-151f-48bd-870f-d26970dec7a5 .sppb-column-addons:hover {
  box-shadow: 0 1.5rem 2.5rem rgba(0, 0, 0, 0.18);
  transform: translateY(-2px);
}

/* image */
#section-id-5b6d45d0-d237-4d8c-bb56-a723eb107ff7 .sppb-addon-single-image .sppb-addon-content,
#section-id-6ccd5788-151f-48bd-870f-d26970dec7a5 .sppb-addon-single-image .sppb-addon-content {
  margin: 0;
}

#section-id-5b6d45d0-d237-4d8c-bb56-a723eb107ff7 .sppb-addon-single-image-container,
#section-id-6ccd5788-151f-48bd-870f-d26970dec7a5 .sppb-addon-single-image-container {
  position: relative;
  height: 160px;
  overflow: hidden;
}

#section-id-5b6d45d0-d237-4d8c-bb56-a723eb107ff7 .sppb-addon-single-image-container img,
#section-id-6ccd5788-151f-48bd-870f-d26970dec7a5 .sppb-addon-single-image-container img {
  height: 100% !important;
  object-fit: cover !important;
  display: block;
  transition: transform 0.5s ease;
}

#section-id-5b6d45d0-d237-4d8c-bb56-a723eb107ff7 .sppb-row-column:hover img,
#section-id-6ccd5788-151f-48bd-870f-d26970dec7a5 .sppb-row-column:hover img {
  transform: scale(1.08);
}

/* overlay */
#section-id-5b6d45d0-d237-4d8c-bb56-a723eb107ff7 .sppb-addon-single-image-container::after,
#section-id-6ccd5788-151f-48bd-870f-d26970dec7a5 .sppb-addon-single-image-container::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.18);
}

/* icône */
#section-id-5b6d45d0-d237-4d8c-bb56-a723eb107ff7 .sppb-addon-single-image-container::before,
#section-id-6ccd5788-151f-48bd-870f-d26970dec7a5 .sppb-addon-single-image-container::before {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 3rem;
  color: rgba(255,255,255,0.85);
}

/* icônes spécifiques */
.image-passe .sppb-addon-single-image-container::before { content: "\f4d7"; }
.image-pratique .sppb-addon-single-image-container::before { content: "\f500"; }
.image-cartels .sppb-addon-single-image-container::before { content: "\f542"; }
.image-convergencia .sppb-addon-single-image-container::before { content: "\f0ac"; }
.image-iaep .sppb-addon-single-image-container::before { content: "\f19d"; }

/* titre */
#section-id-5b6d45d0-d237-4d8c-bb56-a723eb107ff7 .sppb-addon-header,
#section-id-6ccd5788-151f-48bd-870f-d26970dec7a5 .sppb-addon-header {
  padding: 1.5rem 1.5rem 0.75rem;
}

#section-id-5b6d45d0-d237-4d8c-bb56-a723eb107ff7 .sppb-addon-title,
#section-id-6ccd5788-151f-48bd-870f-d26970dec7a5 .sppb-addon-title {
  font-family: var(--font-family-heading);
  font-size: 2rem;
  font-weight: 700;
  color: var(--dark-text-color);
  transition: color 0.3s ease;
}

#section-id-5b6d45d0-d237-4d8c-bb56-a723eb107ff7 .sppb-row-column:hover .sppb-addon-title,
#section-id-6ccd5788-151f-48bd-870f-d26970dec7a5 .sppb-row-column:hover .sppb-addon-title {
  color: var(--primary-color);
}

/* textes */
#section-id-5b6d45d0-d237-4d8c-bb56-a723eb107ff7 .sppb-addon-text-block .sppb-addon-content,
#section-id-6ccd5788-151f-48bd-870f-d26970dec7a5 .sppb-addon-text-block .sppb-addon-content {
  padding: 0 1.5rem;
}

#section-id-5b6d45d0-d237-4d8c-bb56-a723eb107ff7 p,
#section-id-6ccd5788-151f-48bd-870f-d26970dec7a5 p {
  color: var(--gray-text-color);
  line-height: 1.7;
}

/* bouton */
#section-id-5b6d45d0-d237-4d8c-bb56-a723eb107ff7 .addon-root-button,
#section-id-6ccd5788-151f-48bd-870f-d26970dec7a5 .addon-root-button {
  margin-top: auto;
  padding: 0 1.5rem 1.5rem;
}

#section-id-5b6d45d0-d237-4d8c-bb56-a723eb107ff7 .sppb-btn,
#section-id-6ccd5788-151f-48bd-870f-d26970dec7a5 .sppb-btn {
  width: 100%;
  background: var(--primary-color);
  color: #fff !important;
  padding: 0.85rem 1rem;
  border-radius: 0.5rem;
  font-weight: 600;
  transition: all 0.3s ease;
}

#section-id-5b6d45d0-d237-4d8c-bb56-a723eb107ff7 .sppb-btn:hover,
#section-id-6ccd5788-151f-48bd-870f-d26970dec7a5 .sppb-btn:hover {
  background: var(--primary-button-hover-bg-color);
}

#section-id-5b6d45d0-d237-4d8c-bb56-a723eb107ff7 .sppb-btn i,
#section-id-6ccd5788-151f-48bd-870f-d26970dec7a5 .sppb-btn i {
  margin-left: 0.5rem;
  transition: transform 0.3s ease;
}

#section-id-5b6d45d0-d237-4d8c-bb56-a723eb107ff7 .sppb-btn:hover i,
#section-id-6ccd5788-151f-48bd-870f-d26970dec7a5 .sppb-btn:hover i {
  transform: translateX(4px);
}






/* =========================================================
   CARDS ÉVÉNEMENTS
   addon : b69f9d62-36f5-4d18-b260-4f038fb89d58
   ========================================================= */

:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) .sppb-addon-article-layout-content {
  background: #fff;
  border-radius: 0.75rem;
  overflow: hidden;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.12);
  transition: all 0.3s ease;
  display: flex;
  flex-direction: column;
  height: 100%;
}

:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) .sppb-addon-article-layout-content:hover {
  box-shadow: 0 1rem 1.75rem rgba(0, 0, 0, 0.16);
}

:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) .sppb-article-info-wrap {
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  height: 100%;
  padding-bottom: 0;
}

/* ordre des blocs */
:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) .sppb-article-meta {
  order: 1;
  margin-bottom: 0.75rem;
  display: none;
}

:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) h3 {
  order: 2;
  margin: 0 0 0.75rem 0;
}

:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) .fields-container {
  order: 3;
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
}

:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) .field-entry.date-unique,
:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) .field-entry.date-multiple {
  order: 1;
  margin-bottom: 0.5rem;
}

:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) .field-entry.heure {
  display: none;
}

:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) .field-entry.lieu {
  order: 2;
  margin-bottom: 0.75rem;
}

:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) .field-entry.intro {
  order: 3;
  margin-bottom: 1rem;
}

:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) .sppb-readmore {
  order: 4;
  margin-top: auto;
}

/* catégorie */
:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) .sppb-meta-category a {
  display: inline-block;
  background: var(--accent2-color);
  color: #fff;
  font-family: var(--font-family-body);
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  text-decoration: none;
  padding: 0.35rem 0.75rem;
  border-radius: 999px;
}

/* titre */
:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) h3,
:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) h3 a {
  font-family: var(--font-family-heading);
  font-size: 1.25rem;
  line-height: 1.35;
  font-weight: 700;
  color: var(--dark-text-color);
  text-decoration: none;
  transition: color 0.3s ease;
}

:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) h3 a:hover {
  color: var(--primary-color);
}

/* clamp 3 lignes */
:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) h3 a {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* date */
:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) .field-entry.date-unique .field-value,
:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) .field-entry.date-multiple .field-value {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  font-family: var(--font-family-body);
  font-size: 0.75rem;
  color: var(--gray-text-color);
}

:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) .field-entry.date-unique .field-value::before,
:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) .field-entry.date-multiple .field-value::before {
  content: "\f133";
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
  margin-right: 0.35rem;
}

:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) .ccaf-date-day,
:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) .ccaf-date-month,
:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) .ccaf-date-year {
  display: inline;
  font-family: var(--font-family-body);
  font-size: 0.75rem;
  font-weight: 400;
  color: var(--gray-text-color);
  margin: 0;
}

/* lieu */
:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) .field-entry.lieu .field-value {
  display: inline-flex;
  align-items: center;
  font-family: var(--font-family-body);
  font-size: 0.875rem;
  color: var(--gray-text-color);
  line-height: 1.5;
}

:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) .field-entry.lieu .field-value::before {
  content: "\f3c5";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  color: var(--primary-color);
  margin-right: 0.5rem;
}

/* intro */
:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) .field-entry.intro .field-value {
  display: block;
  font-family: var(--font-family-body);
  font-size: 0.875rem;
  color: var(--gray-text-color);
  line-height: 1.7;
}

/* lien */
:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) .sppb-readmore {
  display: inline-flex;
  align-items: center;
  font-family: var(--font-family-body);
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--primary-color);
  text-decoration: none;
  transition: color 0.3s ease;
}

:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) .sppb-readmore::after {
  content: "\f061";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  margin-left: 0.5rem;
  font-size: 0.75rem;
  padding-top: 3px;
}

:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) .sppb-readmore:hover {
  color: var(--dark-text-color);
}


:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) .field-entry.date-unique .ccaf-date-day,
:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) .field-entry.date-unique .ccaf-date-month,
:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) .field-entry.date-unique .ccaf-date-year,
:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) .field-entry.date-multiple .ccaf-date-day,
:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) .field-entry.date-multiple .ccaf-date-month,
:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) .field-entry.date-multiple .ccaf-date-year {
  display: inline;
  font-family: var(--font-family-body);
  font-size: 0.75rem;
  font-weight: 400;
  color: var(--gray-text-color);
  margin: 0;
}

/* IMPORTANT */
:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) .cat-important .sppb-addon-article-layout-content {
  border-top: 4px solid var(--primary-color);
}

:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) .cat-important .sppb-meta-category a {
  background: var(--primary-color);
}

:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) .cat-important .field-value::before,
:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) .cat-important .sppb-readmore {
  color: var(--primary-color);
}

/* EVENEMENTS */
:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) .cat-evenements .sppb-addon-article-layout-content {
  border-top: 4px solid var(--accent2-color);
}

:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) .cat-evenements .sppb-meta-category a {
  background: var(--accent2-color);
}

:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) .cat-evenements .field-value::before,
:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) .cat-evenements .sppb-readmore {
  color: var(--accent2-color);
}

/* PRESENTATION */
:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) .cat-presentation .sppb-addon-article-layout-content {
  border-top: 4px solid var(--accent4-color);
}

:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) .cat-presentation .sppb-meta-category a {
  background: var(--accent4-color);
}

:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) .cat-presentation .field-value::before,
:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) .cat-presentation .sppb-readmore {
  color: var(--accent4-color);
}

/* IMPORTANT */
:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) .cat-important .field-entry.date-unique .field-value::before,
:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) .cat-important .field-entry.date-multiple .field-value::before,
:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) .cat-important .field-entry.lieu .field-value::before,
:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) .cat-important .sppb-readmore {
  color: var(--primary-color);
}

/* EVENEMENTS */
:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) .cat-evenements .field-entry.date-unique .field-value::before,
:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) .cat-evenements .field-entry.date-multiple .field-value::before,
:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) .cat-evenements .field-entry.lieu .field-value::before,
:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) .cat-evenements .sppb-readmore {
  color: var(--accent2-color);
}

/* PRESENTATION */
:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) .cat-presentation .field-entry.date-unique .field-value::before,
:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) .cat-presentation .field-entry.date-multiple .field-value::before,
:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) .cat-presentation .field-entry.lieu .field-value::before,
:is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) .cat-presentation .sppb-readmore {
  color: var(--accent4-color);
}







@media (max-width: 575px) {
    #sp-header .logo {
        height: 70px;
    }
}
@media (max-width: 575px) {
    #offcanvas-toggler {
        height: 60px;
        line-height: 100px;
    }
}




/* =============================================
   BARRE MOBILE FIXE BAS
   ============================================= */

.ccaf-mobile-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 9999;

  display: flex;
  justify-content: space-around;
  align-items: center;

  background: #fff;
  border-top: 1px solid rgba(0,0,0,0.1);
  box-shadow: 0 -5px 20px rgba(0,0,0,0.08);
  padding: 0.5rem 0;
}

/* boutons */
.ccaf-mobile-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-decoration: none;

  font-size: 0.75rem;
  color: var(--dark-text-color);
}

.ccaf-mobile-btn i {
  font-size: 1.2rem;
  margin-bottom: 0.2rem;
  color: var(--primary-color);
}

/* éviter que le contenu passe dessous */
body {
  padding-bottom: 70px;
}

/* desktop → caché */
@media (min-width: 992px) {
  .ccaf-mobile-bar {
    display: none !important;
  }

  body {
    padding-bottom: 0;
  }
}



@media (min-width: 1400px) {
  #section-id-b3107e06-7cca-4373-bf04-f32c178aaead {
    background-image: url("../images/banner-hero2.jpg") !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
  }
}
/* =============================================
   SECTION ÉVÉNEMENTS
   ============================================= */
:is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .sppb-row-column,
:is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .sppb-column,
:is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .sppb-column-addons,
:is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .sppb-addon-wrapper,
:is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .sppb-addon,
:is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .sppb-addon-content,
:is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .sppb-row,
:is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .sppb-addon-article-layout {
    height: 100%;
}

:is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .sppb-addon-article-layout-content,
:is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .ccaf-card-alt {
    border-radius: 0.75rem;
    overflow: hidden;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.12);
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    height: 100%;
}

:is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .sppb-addon-article-layout-content {
    background: #fff;
    border-top: 4px solid var(--accent2-color);
}

:is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .ccaf-card-alt {
    background: linear-gradient(to bottom right, var(--accent3-color), #ffffff);
    border-top: 4px solid var(--gray-text-color);
}

:is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .sppb-addon-article-layout-content:hover,
:is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .ccaf-card-alt:hover {
    box-shadow: 0 1.5rem 2.5rem rgba(0, 0, 0, 0.18);
}

:is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .sppb-article-info-wrap {
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    height: 100%;
}

:is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .fields-container {
    list-style: none;
    margin: 0 0 1rem 0;
    padding: 0;
    display: flex;
    flex-direction: column;
}

:is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .sppb-article-info-wrap h3 {
    margin: 0 0 0.75rem 0;
    font-family: var(--font-family-heading);
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--dark-text-color);
    line-height: 1.35;
}

:is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .sppb-article-info-wrap h3 a {
    color: inherit;
    text-decoration: none;
}

:is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .sppb-article-info-wrap h3 a:hover {
    text-decoration: none;
    color: var(--dark-text-color);
}

:is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .field-entry {
    list-style: none;
}

:is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .field-entry.date-unique {
    margin: 0 0 1rem 0;
}

:is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .field-entry.date-unique .field-value {
    display: inline-block;
}

:is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .field-entry.date-unique .field-value > span {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: var(--accent3-color);
    border-radius: 0.5rem;
    min-width: 80px;
    text-align: center;
    line-height: 1.1;
}

/*:is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .ccaf-date-day {
    display: block;
    font-family: var(--font-family-heading);
    font-size: 1.875rem;
    font-weight: 700;
    color: var(--dark-text-color);
}

:is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .ccaf-date-month {
    display: block;
    font-family: var(--font-family-body);
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--gray-text-color);
    margin-top: 0.15rem;
    text-transform: uppercase;
}

:is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .ccaf-date-year {
    display: block;
    font-family: var(--font-family-body);
    font-size: 0.75rem;
    color: var(--gray-text-color);
    margin-top: 0.1rem;
}*/

:is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .field-entry.heure,
:is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .field-entry.lieu {
    font-family: var(--font-family-body);
    font-size: 0.875rem;
    color: var(--gray-text-color);
    line-height: 1.5;
    margin: 0 0 0.45rem 0;
}

:is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .field-entry.heure .field-value,
:is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .field-entry.lieu .field-value {
    display: inline-flex;
    align-items: center;
}

:is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .field-entry.heure .field-value::before {
    content: "\f017";
    font-family: "Font Awesome 6 Free";
    font-weight: 400;
    color: var(--accent2-color);
    margin-right: 0.5rem;
    flex-shrink: 0;
}

:is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .field-entry.lieu .field-value::before {
    content: "\f3c5";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    color: var(--accent2-color);
    margin-right: 0.5rem;
    flex-shrink: 0;
}

:is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .field-entry.intro {
    order: 3;
    margin: 0.75rem 0 1rem 0;
}

:is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .field-entry.intro .field-value,
:is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .sppb-article-introtext {
    display: block;
    font-family: var(--font-family-body);
    color: var(--gray-text-color);
    line-height: 1.7;
      font-size: 0.875rem;
}

:is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .sppb-readmore {
    margin-top: auto;
    display: inline-flex;
    align-items: center;
    font-family: var(--font-family-body);
    font-weight: 600;
    color: var(--accent2-color);
    text-decoration: none;
    transition: color 0.3s ease;
      font-size: 0.875rem;
}

#sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 .sppb-readmore {
    padding-top:25px;
}

:is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .sppb-readmore::after,
.addon-root-button a::after
{
    content: "\f061";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    margin-left: 0.5rem;
}

:is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .sppb-readmore:hover {
    color: var(--dark-text-color);
    text-decoration: none;
}


/* carte Prochainement */
.ccaf-card-alt .ccaf-icon {
    font-size: 3.5rem;
    color: var(--gray-text-color);
    opacity: 0.3;
}

.ccaf-card-alt .ccaf-text {
    font-family: var(--font-family-body);
    font-size: 0.875rem;
    color: var(--gray-text-color);
    line-height: 1.6;
    max-width: 400px;
}

.ccaf-card-alt .ccaf-link {
    font-family: var(--font-family-body);
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--primary-color);
    text-decoration: none;
    transition: color 0.3s ease;
}

.ccaf-card-alt .ccaf-link:hover {
    color: var(--dark-text-color);
}

.ccaf-card-alt > div {
    flex: 1;
}



/* =========================================================
   BLOC ÉVÉNEMENT PRINCIPAL
   addon : b942ab49-bd6c-4692-a256-630e8e0471ee
   ========================================================= */

#sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee .sppb-row,
#sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee .sppb-addon-article-layout,
#sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee .sppb-addon-article,
#sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee .sppb-addon-article-layout-content {
  height: 100%;
}

#sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee .sppb-addon-article-layout-content {
  background: linear-gradient(to bottom right, var(--light-background-color), var(--medium-background-color));
  border-radius: 0.75rem;
  overflow: hidden;
  border-left: 8px solid var(--primary-color);
  box-shadow: 0 1.5rem 3rem rgba(0,0,0,.18);
}

#sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee .sppb-article-info-wrap {
  padding: 2rem;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

/* layout desktop */
@media (min-width: 992px) {
  #sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee .sppb-article-info-wrap {
    display: grid;
    grid-template-columns: 140px 1fr;
    gap: 2rem;
    align-items: start;
    padding: 2.5rem;
  }
}

/* -------------------------
   bloc date
------------------------- */

#sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee .fields-container {
  list-style: none;
  margin: 0;
  padding: 0;
  display: contents;
}

#sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee .field-entry {
  list-style: none;
  margin: 0;
  padding: 0;
}

#sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee .field-entry.date-unique {
  grid-column: 1;
  grid-row: 1 / span 3;
  align-self: start;
}

#sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee .field-entry.date-unique .field-value {
  display: block;
}

#sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee .field-entry.date-unique .field-value > span {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 140px;
  background: #fff;
  border-radius: 0.75rem;
  box-shadow: 0 .75rem 1.5rem rgba(0,0,0,.12);
  padding: 1.5rem 1rem;
  text-align: center;
  line-height: 1.1;
}

#sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee .ccaf-date-day {
  display: block;
  font-family: var(--font-family-heading);
  font-size: 3rem;
  font-weight: 700;
  color: var(--primary-color);
}

#sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee .ccaf-date-month {
  display: block;
  margin-top: .35rem;
  font-family: var(--font-family-body);
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--dark-text-color);
  text-transform: uppercase;
}

#sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee .ccaf-date-year {
  display: block;
  margin-top: .2rem;
  font-family: var(--font-family-body);
  font-size: .85rem;
  color: var(--gray-text-color);
}

/* mobile : date au-dessus */
@media (max-width: 991.98px) {
  #sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee .field-entry.date-unique {
    margin-bottom: 1rem;
  }

  #sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee .field-entry.date-unique .field-value > span {
    min-width: 120px;
    max-width: 140px;
  }

 
}

/* -------------------------
   titre + badge à venir
------------------------- */

#sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee h3 {
  grid-column: 2;
  grid-row: 1;
  margin: 0;
  position: relative;
  padding-top: 2.25rem;
}

#sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee h3::before {
  content: "À VENIR";
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  background: var(--primary-color);
  color: #fff;
  font-family: var(--font-family-body);
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .02em;
  padding: .35rem .75rem;
  border-radius: 999px;
}

#sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee h3,
#sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee h3 a {
  font-family: var(--font-family-heading);
  font-size: 2rem;
  line-height: 1.2;
  font-weight: 700;
  color: var(--dark-text-color);
  text-decoration: none;
}

@media (min-width: 992px) {
  #sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee h3,
  #sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee h3 a {
    font-size: 2.5rem;
  }
}

/* -------------------------
   heure + lieu
------------------------- */

#sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee .field-entry.heure,
#sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee .field-entry.lieu {
  grid-column: 2;
  font-family: var(--font-family-body);
  font-size: .95rem;
  color: var(--dark-text-color);
  line-height: 1.5;
}

#sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee .field-entry.heure .field-value,
#sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee .field-entry.lieu .field-value {
  display: inline-flex;
  align-items: center;
  margin-right: 1.5rem;
}

#sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee .field-entry.heure .field-value::before {
  content: "\f017";
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
  color: var(--primary-color);
  margin-right: .5rem;
}

#sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee .field-entry.lieu .field-value::before {
  content: "\f3c5";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  color: var(--primary-color);
  margin-right: .5rem;
}

/* aligne heure + lieu sur une même ligne desktop */
@media (min-width: 992px) {
  #sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee .field-entry.heure {
    grid-column: 2;
    grid-row: 2;
    display: inline-block;
    margin-right: 1.5rem;
  }

  #sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee .field-entry.lieu {
    grid-column: 2;
    grid-row: 2;
    display: inline-block;
    margin-left: 140px;
  }
}


/* -------------------------
   bouton read more
------------------------- */

#sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee .sppb-readmore {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  background: #fff;
  color: var(--primary-color);
  border: 2px solid var(--primary-color);
  border-radius: 0.5rem;
  padding: 0.75rem 1.5rem;
  font-family: var(--font-family-body);
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.3s ease;
  margin-top: 1rem;
}

/* placement dans la grille */
@media (min-width: 992px) {
  #sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee .sppb-readmore {
    grid-column: 2;
    grid-row: 4;
    width: 180px;
  }
}

/* hover */
#sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee .sppb-readmore:hover {
  background: var(--accent3-color);
  color: var(--primary-color);
}

/* supprime la flèche actuelle */
#sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee .sppb-readmore::after {
  content: "";
}

/* -------------------------
   bloc argument
------------------------- */

#sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee .sppb-article-introtext {
  grid-column: 2;
  background: rgba(255,255,255,.5);
  border-radius: .5rem;
  padding: 1.5rem;
  margin-top: .5rem;
}

#sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee .sppb-article-introtext .ccaf-card-title {
  font-family: var(--font-family-heading);
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--dark-text-color);
  margin-bottom: 1rem;
}

#sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee .sppb-article-introtext .ccaf-card-text {
  font-family: var(--font-family-body);
  font-size: 1rem;
  line-height: 1.7;
  color: var(--gray-text-color);
  margin-bottom: 1rem;
}


#sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee .field-entry.date-unique {
      position: absolute;
    top: 35px;
}

#sppb-addon-325d8571-1507-4b72-9c82-07b275af5529 .field-entry.date-unique {
    top: 20px;
}




/* 3 blocs à 370px de hauteur */
#sppb-addon-325d8571-1507-4b72-9c82-07b275af5529 .sppb-addon-article-layout-content,
#sppb-addon-f624533b-7abe-4202-901c-9e3df8278b1c .ccaf-card-alt {
  height: 370px !important;
  min-height: 370px !important;
  max-height: 370px !important;
  display: flex !important;
  flex-direction: column !important;
}

/* contenu interne des cartes articles */
#sppb-addon-325d8571-1507-4b72-9c82-07b275af5529 .sppb-article-info-wrap {
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}

/* contenu interne du bloc prochainement */
#sppb-addon-f624533b-7abe-4202-901c-9e3df8278b1c .ccaf-card-alt > div {
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}

#sppb-addon-325d8571-1507-4b72-9c82-07b275af5529 .sppb-article-info-wrap,
#sppb-addon-f624533b-7abe-4202-901c-9e3df8278b1c .ccaf-card-alt > div {
  overflow: hidden;
}

/* Tablette / desktop réduit */
@media (max-width: 1200px) {

  #column-wrap-id-dcfdbe06-868d-4876-8bf1-1e7ff2e1c9f3 {
    display: none;
  }

  #sppb-addon-325d8571-1507-4b72-9c82-07b275af5529 .sppb-addon-article-layout-content,
  #sppb-addon-f624533b-7abe-4202-901c-9e3df8278b1c .ccaf-card-alt {
    height: 450px !important;
    min-height: 450px !important;
    max-height: 450px !important;
  }
}

/* Mobile : retire le max-height */
@media (max-width: 767.98px) {

  #sppb-addon-325d8571-1507-4b72-9c82-07b275af5529 .sppb-addon-article-layout-content,
  #sppb-addon-f624533b-7abe-4202-901c-9e3df8278b1c .ccaf-card-alt {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }
}


@media (max-width: 991px) {
  #sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee .field-entry.date-unique {
    position: relative;
    top: 0px;
}

  #sppb-addon-325d8571-1507-4b72-9c82-07b275af5529 .field-entry.date-unique {
    top: 0px;
}


#sppb-addon-325d8571-1507-4b72-9c82-07b275af5529 .sppb-article-info-wrap h3 {
    padding-top: 0;
}

}

/* =============================================
   MOBILE - FORCER LE STYLE
   ============================================= */
@media (max-width: 991.98px) {

  /* padding général */
  :is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .sppb-article-info-wrap,
  #sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee .sppb-article-info-wrap {
    padding: 1.25rem !important;
    gap: 1rem !important;
    display: flex !important;
    flex-direction: column !important;
  }

  /* titres */
  :is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .sppb-article-info-wrap h3,
  #sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee .sppb-article-info-wrap h3,
  :is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .sppb-article-info-wrap h3 a,
  #sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee .sppb-article-info-wrap h3 a {
    font-size: 1.3rem !important;
    line-height: 1.35 !important;
  }

  /* badge date horizontal */
  :is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .field-entry.date-unique,
  #sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee .field-entry.date-unique {
    margin-bottom: 0.3rem !important;
  }

  :is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .field-entry.date-unique .field-value,
  #sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee .field-entry.date-unique .field-value {
    display: inline-block !important;
  }

  :is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .field-entry.date-unique .field-value > span,
  #sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee .field-entry.date-unique .field-value > span {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 0.4rem !important;
    min-width: auto !important;
    max-width: none !important;
    width: auto !important;
    padding: 0.4rem 0.8rem !important;
    background: var(--accent3-color) !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    line-height: 1 !important;
    text-align: left !important;
  }

  :is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .ccaf-date-day,
  #sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee .ccaf-date-day {
    display: inline !important;
    font-size: 0.9rem !important;
    font-weight: 700 !important;
    color: var(--primary-color) !important;
    margin: 0 !important;
  }

  :is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .ccaf-date-month,
  #sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee .ccaf-date-month {
    display: inline !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    color: var(--dark-text-color) !important;
    text-transform: uppercase !important;
    margin: 0 !important;
  }

  :is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .ccaf-date-year,
  #sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee .ccaf-date-year {
    display: inline !important;
    font-size: 0.75rem !important;
    font-weight: 500 !important;
    color: var(--gray-text-color) !important;
    margin: 0 !important;
  }

  /* heure + lieu */
  :is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .field-entry.heure,
  :is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .field-entry.lieu,
  #sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee .field-entry.heure,
  #sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee .field-entry.lieu {
    font-size: 0.85rem !important;
    margin-bottom: 0.3rem !important;
  }

  :is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .field-entry.heure .field-value,
  :is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .field-entry.lieu .field-value,
  #sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee .field-entry.heure .field-value,
  #sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee .field-entry.lieu .field-value {
    display: inline-flex !important;
    align-items: center !important;
  }

  /* bloc argument principal */
  #sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee .sppb-article-introtext {
    padding: 1rem !important;
    border-radius: 0.5rem !important;
    background: rgba(255,255,255,0.6) !important;
    margin-top: 0.75rem !important;
  }

  #sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee .ccaf-card-title {
    font-size: 1rem !important;
    margin-bottom: 0.75rem !important;
  }

  #sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee .ccaf-card-text {
    font-size: 0.9rem !important;
    line-height: 1.65 !important;
  }

  /* bouton */
  :is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .sppb-readmore,
  #sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee .sppb-readmore {
    width: 100% !important;
    justify-content: center !important;
    padding: 0.75rem 1rem !important;
    margin-top: 1rem !important;
  }

:is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .ccaf-date-day,
:is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .ccaf-date-month,
:is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .ccaf-date-year,
#sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee .ccaf-date-day,
#sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee .ccaf-date-month,
#sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee .ccaf-date-year {
  display: inline !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  color: var(--dark-text-color) !important;
  margin: 0 !important;
  line-height: 1 !important;
}



  /* enlève le bloc visuel */
  :is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .field-entry.date-unique .field-value > span,
  #sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee .field-entry.date-unique .field-value > span {
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
  }

  /* aligne comme heure / lieu */
  :is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .field-entry.date-unique .field-value,
  #sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee .field-entry.date-unique .field-value {
    display: inline-flex !important;
    align-items: center !important;
  }

  /* icône calendrier */
  :is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .field-entry.date-unique .field-value::before,
  #sppb-addon-b942ab49-bd6c-4692-a256-630e8e0471ee .field-entry.date-unique .field-value::before {
    content: "\f073"; /* calendar */
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    color: var(--accent2-color);
    margin-right: 0.5rem;
    flex-shrink: 0;
  }

}
  

  @media (max-width: 574px) {

  :is(#sppb-addon-b69f9d62-36f5-4d18-b260-4f038fb89d58, #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f) .sppb-addon-article-layout,
  #section-id-5b6d45d0-d237-4d8c-bb56-a723eb107ff7 .sppb-row-column,
  #section-id-6ccd5788-151f-48bd-870f-d26970dec7a5 .sppb-row-column {
    padding-bottom:25px;
  }

    #sppb-addon-325d8571-1507-4b72-9c82-07b275af5529 .sppb-addon-article-layout-content, #sppb-addon-f624533b-7abe-4202-901c-9e3df8278b1c .ccaf-card-alt {
    height: auto!important;
    min-height:auto!important;
    max-height: auto!important;
}

    :is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .field-entry.intro .field-value,
:is(   :is(   #section-id-c77d3473-5d23-41d8-a219-70ea97c0ee20,   #sppb-addon-d9098ced-6284-4c51-9139-5288bd853255 ),   #section-id-d9c29b3c-9c2d-4832-922e-2091884c70ef ) .sppb-article-introtext {
      font-size: inherit;
}

}


/* =============================================
   BASE
   ============================================= */
body {
    font-family: var(--font-family-body);
    color: var(--gray-text-color);
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-family-heading);
    color: var(--dark-text-color);
}

a {
    transition: color var(--transition-fast), background var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);
}

/* =============================================
   TYPO
   ============================================= */
h2 {
    font-family: var(--font-family-heading);
    color: var(--dark-text-color);
    font-size: 1.875rem;
    line-height: 1.2;
    font-weight: 700;
}

@media (min-width: 576px) {
    h2 {
        font-size: 2.25rem;
    }
}

@media (min-width: 992px) {
    h2 {
        font-size: 1.75rem;
    }
}

/* =============================================
   CONTAINER — élargi sur tout le site
   ============================================= */
@media (min-width: 1200px) {
    .container, .sppb-row-container {
        max-width: 1320px!important;
    }
}

@media (min-width: 1400px) {
    .container, .sppb-row-container {
        max-width: 1520px!important;
    }
}

/* =============================================
   HERO SECTION
   ============================================= */
.ccaf-hero-module {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #f3efef 0%, #f7ece8 100%);
    min-height: 395px;
    padding: 52px 0 58px;
}

.ccaf-hero {
    position: relative;
    z-index: 2;
    margin: 0 auto;
}

.ccaf-title {
    font-family: var(--font-family-heading);
    color: var(--dark-text-color);
    font-size: 2.35rem;
    line-height: 0.94;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: -0.03em;
    margin-bottom: 1.5rem;
}

.ccaf-subtitle {
    max-width: 1050px;
    margin-left: auto;
    margin-right: auto;
    font-family: var(--font-family-body);
    color: #9a9a9a;
    font-size: 0.98rem;
    line-height: 1.45;
    font-weight: 400;
}

.ccaf-note {
    font-family: var(--font-family-body);
    color: #a0a0a0;
    font-size: 0.92rem;
}


@media (min-width: 992px) {
    .ccaf-title {
        font-size: 3.6rem;
    }

    .ccaf-subtitle {
        font-size: 0.95rem;
    }
}

@media (max-width: 991.98px) {
    .ccaf-hero-module {
        min-height: auto;
        padding: 60px 0 60px;
    }

    .ccaf-title {
        font-size: 2.5rem;
        line-height: 0.98;
    }

    .ccaf-subtitle {
        font-size: 1rem;
        max-width: 760px;
    }


}

@media (max-width: 575.98px) {
    .ccaf-title {
        font-size: 1.95rem;
        line-height: 1.02;
    }

    .ccaf-subtitle {
        font-size: 0.96rem;
        line-height: 1.55;
    }
}

/* =============================================
   BOUTONS
   ============================================= */
.ccaf-btn-primary,
.ccaf-btn-outline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 56px;
    padding: 1rem 2rem;
    border-radius: var(--button-rounded-radius);
    font-weight: 600;
    text-decoration: none;
    transition: all var(--transition-base);
}

.ccaf-btn-primary {
    background: var(--primary-color);
    color: var(--primary-button-text-color);
    border: none;
    box-shadow: var(--shadow-soft);
}

.ccaf-btn-primary:hover,
.ccaf-btn-primary:focus {
    transform: translateY(-2px);
    box-shadow: var(--shadow-hover);
    background: var(--primary-button-hover-bg-color);
    color: var(--primary-button-text-color);
    text-decoration: none;
}

.ccaf-btn-outline {
    border: 2px solid var(--dark-border-color);
    color: var(--dark-text-color);
    background: transparent;
}

.ccaf-btn-outline:hover,
.ccaf-btn-outline:focus {
    background: var(--accent3-color);
    color: var(--dark-text-color);
    text-decoration: none;
}

@media (max-width: 575.98px) {
    .ccaf-btn-primary,
    .ccaf-btn-outline {
        min-width: 100%;
    }
}

/* =============================================
   SECTION TEXTE / IMAGE
   ============================================= */
.ccaf-section-wrap {
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.ccaf-section-title {
    font-family: var(--font-family-heading);
    color: var(--dark-text-color);
    font-size: 2rem;
    line-height: 1.2;
    margin-bottom: 3rem;
}

.ccaf-text-content p {
    font-family: var(--font-family-body);
    color: var(--gray-text-color);
    font-size: 1rem;
    line-height: 1.8;
    margin-bottom: 1.5rem;
}

.ccaf-signature {
    font-size: 0.95rem !important;
    font-style: italic;
    margin-top: 1rem;
}

.ccaf-mobile-image {
    max-width: 326px;
}

.ccaf-image-overlay {
    background: linear-gradient(to top right, var(--primary-color), transparent);
    opacity: 0.1;
}

.ccaf-image-caption {
    font-family: var(--font-family-body);
    color: var(--gray-text-color);
    font-size: 0.75rem;
    margin-top: 0.5rem;
}

.ccaf-sticky-col {
    top: 8rem;
}

.ccaf-quote-box {
    margin-top: 1.5rem;
    padding: 1.5rem;
    background: var(--light-background-color);
    border-radius: 0.5rem;
}

.ccaf-quote-box p {
    font-family: var(--font-family-body);
    color: var(--dark-text-color);
    font-size: 0.95rem;
    font-style: italic;
    line-height: 1.7;
}

@media (min-width: 576px) {
    .ccaf-section-title {
        font-size: 2.4rem;
    }

    .ccaf-text-content p {
        font-size: 1.125rem;
        line-height: 1.75rem;
    }
}

@media (min-width: 992px) {
    .ccaf-section-wrap {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }

    .ccaf-section-title {
        font-size: 3rem;
        margin-bottom: 3.5rem;
    }
}

/* =============================================
   IMAGE SPPB
   ============================================= */
#sppb-addon-62628226-53ff-4fce-93f2-fcd6b6c0ab9a .sppb-addon-single-image-container {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 0.5rem !important;
    box-shadow: 0 1.5rem 3rem rgba(0, 0, 0, 0.25);
}

#sppb-addon-62628226-53ff-4fce-93f2-fcd6b6c0ab9a .sppb-addon-single-image-container img,
#sppb-addon-62628226-53ff-4fce-93f2-fcd6b6c0ab9a .sppb-addon-single-image-container .sppb-img-responsive {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    border-radius: 0.5rem !important;
}

#sppb-addon-62628226-53ff-4fce-93f2-fcd6b6c0ab9a .sppb-addon-single-image-container::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top right, var(--primary-color), transparent);
    opacity: 0.1;
    pointer-events: none;
    border-radius: 0.5rem;
}

#sppb-addon-62628226-53ff-4fce-93f2-fcd6b6c0ab9a .sppb-addon-title {
    text-align: center;
    font-size: 0.75rem;
    color: var(--gray-text-color);
    margin-top: 0.5rem;
}

/* =============================================
   PETIT BLOC CITATION
   ============================================= */
#sppb-addon-4fc75018-f469-41b7-b574-c4cf89ae3ca8 .sppb-addon-content {
    margin-top: 1.5rem;
    padding: 1.5rem;
    background: var(--light-background-color);
    border-radius: 0.5rem;
}

#sppb-addon-4fc75018-f469-41b7-b574-c4cf89ae3ca8 .sppb-addon-content p {
    margin-bottom: 0;
    font-style: italic;
    color: var(--dark-text-color);
    line-height: 1.6;
}

/* =============================================
   CARD “ARGUMENT”
   ============================================= */
.ccaf-card {
    background: rgba(255,255,255,0.5);
    border-radius: 0.5rem;
    padding: 1.5rem;
}

.ccaf-card-title {
    font-family: var(--font-family-heading);
    font-weight: 700;
    font-size: 1.125rem;
    color: var(--dark-text-color);
    margin-bottom: 1rem;
}

.ccaf-card-text {
    font-family: var(--font-family-body);
    color: var(--gray-text-color);
    font-size: 1rem;
    line-height: 1.7;
    margin-bottom: 1rem;
}

.ccaf-summary {
    cursor: pointer;
    color: var(--primary-color);
    font-family: var(--font-family-body);
    font-weight: 600;
    transition: color 0.3s;
}

.ccaf-summary:hover {
    color: var(--dark-text-color);
}

.ccaf-program li {
    margin-bottom: 0.75rem;
    font-family: var(--font-family-body);
    font-size: 0.9rem;
    color: var(--dark-text-color);
}

.ccaf-sub {
    display: inline-block;
    margin-left: 1.5rem;
    color: var(--gray-text-color);
}

.ccaf-italic {
    display: inline-block;
    margin-left: 1.5rem;
    font-style: italic;
    color: var(--gray-text-color);
}

#sppb-addon-cd819933-f5c0-4c34-9e91-8516b106a5ce .sppb-addon-content {
    position: relative;
    overflow: hidden;
}

#sppb-addon-cd819933-f5c0-4c34-9e91-8516b106a5ce .container,
#sppb-addon-cd819933-f5c0-4c34-9e91-8516b106a5ce .ccaf-hero {
    position: relative;
    z-index: 2;
}


/* =============================================
   HEADER GÉNÉRAL
   ============================================= */
#sp-header {
    border-top: 3px solid var(--primary-color);
    border-bottom: 2px solid var(--primary-color);
}

/* =============================================
   SÉPARATEUR VERTICAL LOGO / MENU
   ============================================= */
#sp-logo {
    display: flex !important;
    align-items: center;
}

#sp-logo::after {
    content: '';
    display: none;
    width: 2px;
    height: 3rem;
    background-color: var(--primary-color);
    margin-left: 4.5rem;
    flex-shrink: 0;
}

@media (min-width: 992px) {
    #sp-logo::after {
        display: block;
    }
}

/* =============================================
   ICÔNES HEADER — épurées, sans bordure
   ============================================= */
.header-modules {
    gap: 0.25rem;
}

.header-modules .nav-link {
    border: none !important;
    border-radius: 50% !important;
    width: 2.25rem !important;
    height: 2.25rem !important;
    color: var(--gray-text-color) !important;
    transition: color var(--transition-fast), background var(--transition-fast);
    padding: 0 !important;
    margin-left: 0.5rem !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.header-modules .nav-link:hover,
.header-modules .nav-link:focus {
    color: var(--dark-text-color) !important;
    background: var(--accent3-color) !important;
}

.header-modules,
.header-modules .fa-lg {
    font-size: 20px !important;
}

/* =============================================
   BOUTON LOUPE
   ============================================= */
.sp-finder-open-btn {
    background: none;
    border: none;
    border-radius: 50%;
    width: 2.25rem;
    height: 2.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--gray-text-color);
    margin-left: 0.5rem;
    padding: 0;
    transition: color var(--transition-fast), background var(--transition-fast);
    flex-shrink: 0;
}

.sp-finder-open-btn:hover,
.sp-finder-open-btn:focus {
    color: var(--dark-text-color);
    background: var(--accent3-color);
}

/* =============================================
   OVERLAY — recherche
   ============================================= */
.sp-finder-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    min-height: 107px;
    background: #fff;
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-100%);
    transition: transform .35s cubic-bezier(0.4, 0, 0.2, 1), opacity .2s ease;
}

.sp-finder-overlay.is-open {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.sp-finder-overlay-inner {
    width: 100%;
    padding: 0 3rem;
}

.sp-finder-overlay-inner form {
    display: flex;
    align-items: center;
    gap: 1rem;
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    padding-bottom: 0.4rem;
}

.sp-finder-input {
    flex: 1;
    border: none;
    outline: none;
    background: transparent;
    font-size: 1.4rem;
    font-weight: 300;
    letter-spacing: 0.02em;
    color: var(--dark-text-color);
    padding: 6px 0;
    caret-color: var(--primary-color);
}

.sp-finder-input::placeholder {
    color: var(--gray-text-color);
    font-weight: 300;
    font-style: italic;
}

.sp-finder-overlay .awesomplete {
    flex: 1;
    display: flex;
}

.sp-finder-overlay .awesomplete > ul {
    top: calc(100% + 0.75rem);
    left: 0;
    right: 0;
    border: none;
    border-radius: 0 0 8px 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
    font-size: 1rem;
}

/* =============================================
   BOUTONS submit + close
   ============================================= */
.sp-finder-submit-btn,
.sp-finder-close-btn {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--gray-text-color);
    padding: 4px;
    display: flex;
    align-items: center;
    flex-shrink: 0;
    transition: color var(--transition-fast);
}

.sp-finder-submit-btn:hover,
.sp-finder-submit-btn:focus {
    color: var(--dark-text-color);
}

.sp-finder-close-btn:hover,
.sp-finder-close-btn:focus {
    color: var(--primary-color);
}

.sp-finder-close-btn {
    margin-left: 0.5rem;
    padding-left: 0.75rem;
    border-left: 1px solid var(--accent3-color);
}

/* =============================================
   FORMULAIRE LOGIN OFFCANVAS
   ============================================= */
.cbLoginForm {
    max-width: 420px;
    margin: 0 auto;
    padding: 2rem;
    background: #fff;
    border-radius: 1rem;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
    border: 1px solid var(--accent3-color);
}

.cbLoginForm .form-control {
    height: 52px;
    border-radius: .75rem;
    font-size: .95rem;
    border: 1px solid var(--accent3-color);
    padding-left: 1rem;
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.cbLoginForm .form-control:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 3px rgba(201, 122, 99, 0.18);
}

.cbLoginForm .input-group {
    position: relative;
}

.cbLoginForm .input-group-text,
.cbLoginForm .input-password-toggle {
    background: transparent;
    border: none;
    color: var(--gray-text-color);
}

.cbLoginForm .input-group-text {
    border-left: none;
}

.cbLoginForm .input-password-toggle:hover {
    color: var(--primary-color);
}

.cbLoginForm .form-group {
    margin-bottom: 1.25rem;
}

.cbLoginForm .btn-primary {
    width: 100%;
    height: 52px;
    border-radius: .75rem;
    font-weight: 700;
    font-size: 1rem;
    letter-spacing: .02em;
    transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}

.cbLoginForm .btn-primary:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.15);
}

.cbLoginForm .mod-login__options {
    margin-top: 1.5rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--accent3-color);
    text-align: center;
}

.cbLoginForm .mod-login__options li {
    margin-bottom: .5rem;
}

.cbLoginForm .mod-login__options a {
    font-size: .85rem;
    color: var(--gray-text-color);
    text-decoration: none;
    transition: color var(--transition-fast);
}

.cbLoginForm .mod-login__options a:hover {
    color: var(--primary-color);
    text-decoration: underline;
}

.cbLoginForm .form-login-options-register a {
    font-weight: 600;
    color: var(--primary-color);
}

/* =============================================
   FIX bootstrap missing w-sm-auto
   ============================================= */
@media (min-width: 576px) {
    .w-sm-auto {
        width: auto !important;
    }
}

/* =============================================
   RESPONSIVE
   ============================================= */
@media (max-width: 576px) {
    .cbLoginForm {
        padding: 1.5rem 1.25rem;
    }

    .sp-finder-overlay-inner {
        padding: 0 1rem;
    }

    .sp-finder-input {
        font-size: 1.05rem;
    }
}

@media (max-width: 1199px) {
    .sp-megamenu-wrapper {
        display: none !important;
    }
}

@media (max-width: 1399px) {
    #sp-logo::after {
        margin-left: 3.5rem;
    }

    .sp-megamenu-parent > li > a,
    .sp-megamenu-parent > li > span,
    .sp-megamenu-parent .sp-dropdown li.sp-menu-item > a {
        font-size: 16px !important;
    }

    .sp-megamenu-parent > li > a,
    .sp-megamenu-parent > li > span {
        padding: 0 10px;
    }
}

#offcanvasLogin {
    z-index: 10000;
}

@media (max-width: 991.98px) {

  #sp-main-body .row {
    display: flex;
    flex-direction: column;
  }
  #sp-main-body {
    padding: 25px 0;
}

  #sp-component {
    order: 1;
  }

  #sp-left {
    order: 2;
  }
  .sp-finder-overlay {
    min-height: 65px;
}

}


/* Fermer même si actif */
#sp-left .sp-module.leftside li.menu-parent-closed > .menu-child {
  display: none !important;
}

/* Ouvrir uniquement quand JS le décide */
#sp-left .sp-module.leftside li.menu-parent-open > .menu-child {
  display: block !important;
}

/* lien actif */
#sp-left .sp-module.leftside li.current > a,
#sp-left .sp-module.leftside li.current > .menu-separator {
  color: var(--primary-color) !important;
  font-weight: 700;
}

/* enfant actif (niveau 3) */
#sp-left .sp-module.leftside .menu-child li.current > a {
  color: var(--primary-color) !important;
  font-weight: 600;
}

/* petit bonus UX */
#sp-left .sp-module.leftside li.current > a::before {
  content: "";
  width: 4px;
  height: 100%;
  background: var(--primary-color);
  position: absolute;
  left: 0;
  top: 0;
  border-radius: 2px;
}


  #sppb-addon-5b029ce4-3cad-4032-be00-82b908293c4f .sppb-addon-article-layout {
    margin-bottom:30px;
  }

/* =========================
   DATE UNIQUE SUR UNE LIGNE
========================= */

.fields-container .field-entry.date-unique .field-value > span {
  display: inline-flex !important;
  align-items: center !important;
  flex-direction: row !important;
  gap: 4px;
}

/* empêche le retour à la ligne */
.fields-container .field-entry.date-unique .field-value {
  white-space: nowrap;
}

/* option : ajustement visuel */
.fields-container .field-entry.date-unique .ccaf-date-day,
.fields-container .field-entry.date-unique .ccaf-date-month,
.fields-container .field-entry.date-unique .ccaf-date-year {
  display: inline !important;
}

/* =========================================
   SECTION AGENDA PRINCIPAL
   Date unique en format vertical
========================================= */

#section-id-b709f2dc-4854-4043-ba7f-a1c11bc76546 .field-entry.date-unique .field-value > span {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 0 !important;
}

#section-id-b709f2dc-4854-4043-ba7f-a1c11bc76546 .field-entry.date-unique .ccaf-date-day,
#section-id-b709f2dc-4854-4043-ba7f-a1c11bc76546 .field-entry.date-unique .ccaf-date-month,
#section-id-b709f2dc-4854-4043-ba7f-a1c11bc76546 .field-entry.date-unique .ccaf-date-year {
  display: block !important;
  text-align: center !important;
}

#section-id-b709f2dc-4854-4043-ba7f-a1c11bc76546 .field-entry.date-unique .field-value {
  white-space: normal !important;
  background: none;
    padding: 0;
}