/* Police Montserrat */
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700;800&display=swap");
:root { --font: 'Montserrat'; --g-font: Montserrat; }
body, h1, h2, h3, h4, h5, h6, p, a, li, label, input, button, .btn {
  font-family: 'Montserrat', Arial, sans-serif;
}

/* Bouton de l'accroche : largeur naturelle */
.zone-html a.btn {
  width: auto !important;
  max-width: 100%;
}

/* Pied de page */
.zone-footer h5 {
  text-align: center;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.5;
  margin: 0 0 20px;
}
.zone-footer .footer-logo img {
  max-width: 90px;
  height: auto;
  margin: 0 auto;
}

/* En-tête et menu sur mobile et tablette */
@media (max-width: 991px) {
  .line-header { height: auto !important; }
  .line-header .mod-header-container {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    height: auto;
    min-height: 70px;
    padding: 10px 0;
  }
  .line-header .mod-header-part__left,
  .line-header .mod-header-part__right,
  .line-header .mod-header-wrapper {
    width: auto;
    height: auto;
  }
  .line-header .mod-header-part__left a { padding-right: 0; }
  .line-header .mod-header-logo { width: auto; height: 46px; }
  /* Déjà présents dans le menu Adhésion et dans l'accroche */
  .line-header .member-register,
  .line-header .member-renew { display: none !important; }
  .line-header .header-ext-login { margin: 0; }
  .line-header .member-login {
    display: inline-block;
    background: #000;
    color: #fff !important;
    border-radius: 30px;
    padding: 6px 16px;
    font-weight: 600;
  }
  .site_line__item:has(.zone-menu) { padding: 0 !important; }
}

/* Bouton Se connecter (espace membre) : noir pour être visible sur le turquoise */
#profile_login_form #submitform {
  background: #000 !important;
  border-color: #000 !important;
  color: #fff;
  border-radius: 30px;
  padding: 10px 28px;
  font-weight: 600;
}

/* Page Adhésion : afficher la durée et les avantages de chaque formule sans devoir la cocher */
.adh-description {
  display: block !important;
  margin-top: 8px;
  font-size: 14px;
}

/* Lien Mentions légales : bande noire collée au pied de page, sur toutes les pages */
.site_line__item:has(.lien-mentions) {
  background: #000;
  padding: 24px 0 0 !important;
  margin: 0;
}
.site_line__item:has(.lien-mentions) .zone-html {
  width: 100%;
  float: none;
}
.site_line__item:has(.lien-mentions) .zone-50:not(.zone-html) { display: none; }
.lien-mentions {
  color: #ccc !important;
  font-size: 13px;
  text-decoration: underline;
}

/* Page Don : centrer le bloc de la campagne */
.zone-donation .allCampaigns .row {
  display: flex;
  justify-content: center;
}
.zone-donation .allCampaigns .item,
.zone-donation .allCampaigns h3 { text-align: center; }
.zone-donation .allCampaigns .campaign-actions { align-items: center; }

/* ===== STYLE MODERNE (supprimer ce bloc jusqu'à la fin pour revenir à l'ancien style) ===== */
html { scroll-behavior: smooth; }
body { color: #1d1d1f; }
.zone-article p, .zone-article li, .zone-html p { line-height: 1.7; }

/* Titres de section : plus gras + barre turquoise */
.zone-article h2, .zone-event h2, .zone-contact h2 { font-weight: 800; letter-spacing: -0.5px; line-height: 1.15; }
.zone-article h2::after, .zone-event h2::after { content: ""; display: block; width: 56px; height: 5px; margin-top: 14px; border-radius: 5px; background: #17cbcb; }

/* Menu ordinateur : compact, marges, survol turquoise */
@media (min-width: 992px) {
  .site_line__item:has(.zone-menu) { padding: 14px 0 !important; border-bottom: 1px solid #eee; }
  .line-header .container-fluid, .site_line__item:has(.zone-menu) .container-fluid { padding-left: 40px; padding-right: 40px; }
}
.zone-menu .navbar-nav > li > a { transition: color .2s; }
.zone-menu .navbar-nav > li > a:hover { color: #17cbcb !important; }

/* Images : coins arrondis, ombre sur la bannière */
.zone-image img { border-radius: 20px; }
[data-zone-id="2646524"] img { box-shadow: 0 18px 40px rgba(0,0,0,.12); }

/* Accroche : grand titre */
.zone-html:has(a.btn) span[style*="26px"] { font-size: clamp(26px, 4vw, 42px) !important; line-height: 1.15; letter-spacing: -0.5px; }
.zone-html:has(a.btn) span[style*="18px"] { display: inline-block; max-width: 680px; }

/* Sections : plus d'espace */
.line-secondary, .site_line__item:has(.zone-article) { padding-top: 80px !important; padding-bottom: 80px !important; }
@media (max-width: 767px) {
  .line-secondary, .site_line__item:has(.zone-article) { padding-top: 48px !important; padding-bottom: 48px !important; }
}

/* Boutons : arrondis + effet au survol */
.btn, a.btn, #profile_login_form #submitform, .line-header .member-login { border-radius: 999px !important; transition: transform .15s ease, box-shadow .15s ease; }
.btn:hover, a.btn:hover, .line-header .member-login:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(0,0,0,.18); }

/* Événements centrés */
.zone-event .events { float: none; margin: 0 auto; text-align: center; }
.zone-event h2::after { margin-left: auto; margin-right: auto; }

/* ===== LISIBILITÉ : contrastes (norme WCAG AA) ===== */
/* Accroche : texte noir sur turquoise */
.zone-html:has(a.btn) span[style*="color:#ffffff"] { color: #000 !important; }
/* En-tête : liens noirs sur turquoise */
.line-header .member-register, .line-header .member-renew { color: #000 !important; font-weight: 600; }
/* Tous les boutons principaux : noir, texte blanc */
.btn-primary, a.btn-primary, button.btn-primary {
  background-color: #000 !important;
  border-color: #000 !important;
  color: #fff !important;
}
/* Menu : lien actif et survol en noir, souligné turquoise */
.zone-menu .navbar-nav > li > a:hover,
.zone-menu .navbar-nav > li.active > a {
  color: #000 !important;
  text-decoration: underline;
  text-decoration-color: #17cbcb;
  text-decoration-thickness: 3px;
  text-underline-offset: 8px;
}
/* Liens dans les textes et astérisques des formulaires : turquoise foncé lisible */
.zone-html a:not(.btn):not(.lien-mentions), .zone-article a:not(.btn) { color: #0b7a7a; }
.control-label--required { color: #0b7a7a !important; }

/* ===== EN-TÊTE : icônes Facebook / Instagram visibles (noires) sur toutes les tailles d'écran ===== */
.line-header .header-ext-social-links { display: flex !important; align-items: center; }
.line-header .mod-social-links { display: flex; align-items: center; gap: 6px; }
.line-header .social-link {
  display: flex; align-items: center; justify-content: center;
  width: 38px; height: 38px; border-radius: 50%;
  color: #000 !important;
  transition: background-color .2s, color .2s;
}
.line-header .social-link .fab { color: #000 !important; font-size: 20px; }
.line-header .social-link:hover { background: #000; }
.line-header .social-link:hover .fab { color: #17cbcb !important; }
/* Connexion + icônes groupés à droite */
.line-header .mod-header-part__right { justify-content: flex-end; }
.line-header .mod-header-wrapper { width: auto !important; justify-content: flex-end; align-items: center; gap: 8px; }
.line-header .header-ext-login, .line-header .header-ext-social-links { margin-left: 0 !important; margin-right: 0 !important; flex: 0 0 auto; }

/* ===== ACCUEIL : accroche en premier (fond turquoise), puis photo « L'équipe 2026 » (fond blanc) ===== */
.site_line__item:has([data-zone-id="2886407"]) { background: #17cbcb !important; }
.site_line__item:has([data-zone-id="2646524"]) { background: #fff !important; }
[data-zone-id="2646524"] h2 {
  text-align: center;
  font-weight: 800;
  letter-spacing: -0.5px;
  margin-bottom: 28px;
}
[data-zone-id="2646524"] h2::after {
  content: ""; display: block; width: 56px; height: 5px;
  margin: 14px auto 0; border-radius: 5px; background: #17cbcb;
}

/* ===== EN-TÊTE CONNECTÉ : « Bienvenue … » lisible (noir sur turquoise) ===== */
.line-header .header-ext-login,
.line-header .header-ext-login *:not(.member-login):not(.member-logout):not(.btn):not(.fab) {
  color: #000 !important;
}
.line-header .header-ext-login a:not(.member-login):not(.member-logout):not(.btn) { font-weight: 600; }
.line-header .header-ext-login .member-logout,
.line-header .header-ext-login .member-logout * {
  background-color: #000 !important;
  border-color: #000 !important;
  color: #fff !important;
  border-radius: 999px !important;
}
/* Formulaire de connexion : liens noirs lisibles sur turquoise */
.zone-login a:not(.btn),
#profile_login_form a:not(.btn) {
  color: #000 !important;
  font-weight: 600;
  text-decoration: underline;
}

/* ===== MENU ANIMÉ ===== */
/* Barre turquoise qui se dessine sous le lien (ordinateur) */
.zone-menu .navbar-nav > li > a {
  position: relative;
  text-decoration: none !important;
  transition: color .2s ease, transform .2s ease;
}
.zone-menu .navbar-nav > li > a::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 2px;
  height: 3px;
  border-radius: 3px;
  background: #17cbcb;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s cubic-bezier(.4,0,.2,1);
}
.zone-menu .navbar-nav > li > a:hover::after,
.zone-menu .navbar-nav > li > a:focus-visible::after,
.zone-menu .navbar-nav > li.active > a::after { transform: scaleX(1); }
.zone-menu .navbar-nav > li > a:hover { transform: translateY(-2px); }

/* Mobile : les liens apparaissent un par un à l'ouverture du menu */
@keyframes menuIn {
  from { opacity: 0; transform: translateX(-12px); }
  to   { opacity: 1; transform: none; }
}
.zone-menu .navbar-collapse.in .navbar-nav > li,
.zone-menu .navbar-collapse.collapsing .navbar-nav > li {
  animation: menuIn .35s ease both;
}
.zone-menu .navbar-collapse .navbar-nav > li:nth-child(2) { animation-delay: .05s; }
.zone-menu .navbar-collapse .navbar-nav > li:nth-child(3) { animation-delay: .10s; }
.zone-menu .navbar-collapse .navbar-nav > li:nth-child(4) { animation-delay: .15s; }
.zone-menu .navbar-collapse .navbar-nav > li:nth-child(5) { animation-delay: .20s; }
.zone-menu .navbar-collapse .navbar-nav > li:nth-child(6) { animation-delay: .25s; }

/* Bouton ☰ : petit effet au toucher */
.zone-menu .navbar-toggle { transition: transform .2s ease; }
.zone-menu .navbar-toggle:active { transform: scale(.9); }

/* Respecte le réglage « réduire les animations » du téléphone / ordinateur */
@media (prefers-reduced-motion: reduce) {
  .zone-menu .navbar-nav > li > a,
  .zone-menu .navbar-nav > li > a::after,
  .zone-menu .navbar-nav > li { transition: none !important; animation: none !important; }
}
/* Menu mobile : marges pour ne pas coller aux bords de l'écran */
@media (max-width: 991px) {
  .zone-menu .navbar-toggle { margin-right: 16px; }
  .zone-menu .navbar-nav { padding: 0 16px; }
}

/* ===== TITRES : barre turquoise sur toute la largeur du texte ===== */
.zone-article h2, .zone-event h2, [data-zone-id="2646524"] h2 {
  width: fit-content;
  max-width: 100%;
}
.zone-article h2::after, .zone-event h2::after, [data-zone-id="2646524"] h2::after {
  width: 100% !important;
}
.zone-event h2, [data-zone-id="2646524"] h2 { margin-left: auto; margin-right: auto; }

/* ===== ANIMATIONS (CSS uniquement) — supprimer ce bloc jusqu'au prochain titre pour les retirer ===== */
/* Évite tout défilement horizontal pendant les glissements */
#site-wrapper { overflow-x: clip; }
@media (prefers-reduced-motion: no-preference) {
  /* Accroche : apparition à l'ouverture de la page */
  @keyframes heroIn { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }
  [data-zone-id="2886407"] p { animation: heroIn .8s cubic-bezier(.2,.7,.2,1) both; }
  [data-zone-id="2886407"] p:nth-child(2) { animation-delay: .15s; }
  [data-zone-id="2886407"] p:nth-child(3) { animation-delay: .3s; }
  /* Accroche : fond turquoise légèrement animé */
  @keyframes fondBouge { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } }
  .site_line__item:has([data-zone-id="2886407"]) {
    background: linear-gradient(120deg, #17cbcb, #2ad6c8, #12bccb, #17cbcb) !important;
    background-size: 300% 300% !important;
    animation: fondBouge 14s ease infinite;
  }
  /* Bouton « Devenir membre » de l'accroche : pulsation douce */
  @keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(0,0,0,.35); } 70% { box-shadow: 0 0 0 14px rgba(0,0,0,0); } 100% { box-shadow: 0 0 0 0 rgba(0,0,0,0); } }
  [data-zone-id="2886407"] a.btn { animation: pulse 2.6s ease-out 1.2s infinite; }
  /* Images : léger zoom au survol */
  .zone-image img { transition: transform .5s ease, box-shadow .5s ease; }
  .zone-image img:hover { transform: scale(1.02); }
  /* Apparition des sections au défilement (navigateurs récents ; les autres affichent tout normalement) */
  @supports (animation-timeline: view()) {
    @keyframes revealUp { from { opacity: 0; transform: translateY(48px); } to { opacity: 1; transform: none; } }
    @keyframes revealLeft { from { opacity: 0; transform: translateX(-48px); } to { opacity: 1; transform: none; } }
    @keyframes revealRight { from { opacity: 0; transform: translateX(48px); } to { opacity: 1; transform: none; } }
    .site_line__item:not(.line-header):not(.line-footer) .zone-100[data-zone-id]:not(.zone-menu) { animation: revealUp linear both; animation-timeline: view(); animation-range: entry 0% entry 40%; }
    .site_line__item .zone-50[data-zone-id]:first-child { animation: revealLeft linear both; animation-timeline: view(); animation-range: entry 0% entry 40%; }
    .site_line__item .zone-50[data-zone-id]:last-child { animation: revealRight linear both; animation-timeline: view(); animation-range: entry 0% entry 40%; }
    /* Barre turquoise des titres qui se dessine */
    @keyframes traceBarre { from { transform: scaleX(0); } to { transform: scaleX(1); } }
    .zone-article h2::after, .zone-event h2::after, [data-zone-id="2646524"] h2::after { transform-origin: left center; animation: traceBarre linear both; animation-timeline: view(); animation-range: entry 30% cover 35%; }
    .zone-event h2::after, [data-zone-id="2646524"] h2::after { transform-origin: center; }
    /* Bouton « Retour en haut » qui apparaît en défilant */
    @keyframes montreHaut { 0%, 8% { opacity: 0; transform: translateY(20px); pointer-events: none; } 15%, 100% { opacity: 1; transform: none; pointer-events: auto; } }
    .retour-haut { animation: montreHaut linear both; animation-timeline: scroll(root); }
  }
}
/* Bouton « Retour en haut » (ajouté dans la zone tertiaire de la page maîtresse) */
p:has(> .retour-haut) { margin: 0; height: 0; }
.retour-haut {
  position: fixed; right: 20px; bottom: 20px; z-index: 1000;
  width: 48px; height: 48px; border-radius: 50%;
  background: #000; color: #17cbcb !important;
  font-size: 22px; font-weight: 800; line-height: 48px; text-align: center;
  text-decoration: none !important;
  box-shadow: 0 8px 20px rgba(0,0,0,.25);
  transition: transform .2s ease;
}
.retour-haut:hover { transform: translateY(-3px); }
/* Le bouton Retour en haut doit rester fixe : pas d'animation sur sa zone */
.zone-50:has(.retour-haut), .zone-100:has(.retour-haut) { animation: none !important; transform: none !important; opacity: 1 !important; }
.retour-haut { border: 2px solid #17cbcb; line-height: 44px; }

/* ===== ACCUEIL : aperçu compact « Prochains événements » (cartes) ===== */
.zone-event_flash h2 {
  text-align: center; font-weight: 800; letter-spacing: -0.5px;
  width: fit-content; max-width: 100%; margin: 0 auto 28px;
}
.zone-event_flash h2::after {
  content: ""; display: block; width: 100%; height: 5px;
  margin-top: 14px; border-radius: 5px; background: #17cbcb;
}
.zone-event_flash .eventsList {
  display: flex; flex-wrap: wrap; justify-content: center; gap: 20px;
}
.zone-event_flash .mod-eventflash__item {
  flex: 0 1 300px;
  background: #f3fbfb;
  border: 1px solid #d5f2f2;
  border-left: 6px solid #17cbcb;
  border-radius: 16px;
  padding: 20px 22px;
  box-shadow: 0 8px 22px rgba(0,0,0,.06);
  transition: transform .2s ease, box-shadow .2s ease;
}
.zone-event_flash .mod-eventflash__item:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(0,0,0,.12); }
.zone-event_flash .mod-eventflash__item-title { margin: 0 0 6px; font-size: 20px; font-weight: 800; }
.zone-event_flash .mod-eventflash__item-title a { color: #000 !important; text-decoration: none; }
.zone-event_flash .e-date { color: #0b7a7a; font-weight: 700; }
.zone-event_flash .actions { margin-top: 12px; }
.zone-event_flash .mod-eventflash__viewAll {
  flex-basis: 100%; text-align: center; margin-top: 8px;
  color: #000 !important; font-weight: 700; text-decoration: underline; text-decoration-color: #17cbcb; text-decoration-thickness: 3px; text-underline-offset: 6px;
}
/* Page Événements : boutons centrés sous chaque événement */
.zone-event .actions, .zone-event .campaign-actions, .zone-event p:has(> .btn) { justify-content: center; text-align: center; }
/* Aperçu événements : fond blanc et cartes claires (prioritaires sur le modèle Yapla) */
.site_line__item:has(.zone-event_flash) { background: #fff !important; }
#site-wrapper .zone-event_flash .mod-eventflash__item { background: #f3fbfb !important; padding: 20px 22px !important; border-radius: 16px !important; }
/* Page Événements : cartes centrées, même style que l'accueil */
#site-wrapper .zone-event .events-mosaic .item {
  background: #f3fbfb !important;
  border: 1px solid #d5f2f2; border-left: 6px solid #17cbcb;
  border-radius: 16px !important;
  padding: 24px !important;
  max-width: 460px; margin: 0 auto 24px;
  box-shadow: 0 8px 22px rgba(0,0,0,.06);
}
#site-wrapper .zone-event p.actions { justify-content: center !important; gap: 10px; }

/* ===== ESPACE MEMBRE : carte de connexion centrée + pas de vide quand il n'y a pas d'actualité ===== */
.site_line__item:has(#login_content_box) { padding: 48px 0 !important; }
#site-wrapper #login_content_box {
  max-width: 520px; margin: 0 auto;
  background: #fff; border-radius: 20px;
  padding: 32px 28px;
  box-shadow: 0 18px 40px rgba(0,0,0,.12);
}
#login_content_box h1 { font-weight: 800; text-align: center; font-size: 30px; margin-top: 0; }
#site-wrapper #profile_login_form { max-width: none !important; }
.site_line__item:has(.news-accordion-panel-group:empty) { display: none; }
/* Carte de connexion sur fond turquoise */
.site_line__item:has(#login_content_box) { background: #17cbcb !important; }

/* ===== EN-TÊTE CONNECTÉ : « Renouveler mon adhésion » devient « Mes adhésions » (le lien ouvre déjà Mes adhésions) ===== */
.line-header .header-ext-login:has(.member-logout) .member-renew {
  font-size: 0 !important;
}
.line-header .header-ext-login:has(.member-logout) .member-renew::after {
  content: "Mes adhésions";
  font-size: 13px;
  font-weight: 600;
  color: #000;
}

/* ===== ACCUEIL : bande « en chiffres » (à mettre à jour dans la Zone principale (bas) de l'accueil) ===== */
.site_line__item:has(.chiffres) { background: #17cbcb !important; padding: 56px 0 !important; }
.chiffres {
  display: flex; flex-wrap: wrap; justify-content: center;
  gap: 24px 64px; text-align: center;
}
.chiffre { display: flex; flex-direction: column; align-items: center; min-width: 160px; }
.chiffre .nombre {
  font-size: clamp(40px, 6vw, 64px); font-weight: 800; line-height: 1;
  color: #000;
}
.chiffre .libelle {
  margin-top: 10px; font-size: 16px; font-weight: 600; color: #000;
  text-transform: uppercase; letter-spacing: 1px;
}
@media (prefers-reduced-motion: no-preference) {
  @supports (animation-timeline: view()) {
    @keyframes chiffreIn { from { opacity: 0; transform: scale(.7); } to { opacity: 1; transform: none; } }
    .chiffre .nombre { animation: chiffreIn linear both; animation-timeline: view(); animation-range: entry 10% cover 30%; }
  }
}

/* ===== IMPORTANT : pas d'animation sur les blocs avec formulaires / fenêtres (inscription, connexion, dons, contact) ===== */
/* Sinon la fenêtre d'inscription est décalée et bloque. Ne pas supprimer. */
.zone-event, .zone-member, .zone-contact, .zone-donation, .zone-login, .zone-connected_area {
  animation: none !important;
  transform: none !important;
  opacity: 1 !important;
}

/* ===== CURSEUR : éléphant du logo, haute qualité (ordinateur uniquement) — supprimer ce bloc pour revenir à la flèche ===== */
@media (hover: hover) and (pointer: fine) {
  html, body {
    cursor: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAkCAYAAABixKGjAAAFQ0lEQVR4AbxWXWhURxT+7t3d7G52o9H4BwZjKj5YUKv4UEiL8Q9/QFt9EMUXFRHEUqgv0gcV82STBx+ktCY+tCCiohQhUgOCij+JYIgao2iJUTExyUbNbja72d177/Q7k2Szl7Rx89Bezjd37syZb2bOnHPmmvgPn/+NvJmbsAiHsIkE0UvECflWfOdC9LrZdoiYRYyT3JUvD+/f7wnt3m34KytNT2lp0AiHZ5olJSF/RYUZPnAAxdXVmHb6NKaeOIHAhg2GUVQ0G6ZZQ9ZfiXLCJbnkCGzZgvDBgyiuqUHJhQsoOXtWv4tPnkRo7174V61CwfLlCKxZgylHjmDK4cPwlpebnOBbsv5EzCGy4iLPtrJiFBTAM3cuzKlToRIJZNrakG5sROrePWSePaMGEFi3DqF9++AtKzM4wTYAewg/oeVfyXXvSDHU0IABmiJ69ChiRJw7ST94ABLCv3Ilglu3wgyHPVT/nlhIaMmLPHXrFjIvXsDp70840Wgy3dqK1I0bgOPA8PkQ2LgRvqVLwcnELN9oZhZ5kfuWLIHh91MdfSx+h2UpFY9DWeJc5CwuRnDzZj0R+7cSWvIiL9yxA75Fi2RAKYvPCDKaMDxiCf2FgooKmJyEX58TWkxdfqIwQiHtKVQT/S/pgoZ3IU2bQy4O4Fu2jCoISCEQZXn/I5xYDM6HD6AZtH21kmkWeefPB2NBf+YW9Br5NKQQuMmVBKA0AyqZxFB9PRIXL8L5+FEfqPQwqIzC7dshE8h3LpQtgTzW4iLP0AusV6/IrKAGB8EA0Z5gvX6NdFMTjGAQhTt3IrB+/RjDaI2Hm3n8WL6yM7jIkU4DmYwowGDw+FasgBEIIHHuHNTAAEJ79iBEchgjO6crKo6RhSSvXkXmyRMZ2yGFwEXuKSvTq5XB4r8CWXHm6VMwl+hVw+uVcXp3Ke4mdvw4okwFceYcmlJWdnxYAXCR0wtgv3+v7T2qIGYSHy/ctUvvIttOUyUvX8bQ9etI3b5tO5FIF5T6kf1/EFrc5DSBZ+ZMF4lhGPCUlsKcNg364aE7fX1IMrGl7t4Fo7SH7T8QG4ifiUFCi4s8VlWlVyJm0b0smHb1TtTQEBTPo2/bNkQ2bULi0iXAtjupIhEppK2sDxFZcZEXHTqEwNq14PagUilwq9prrJcvMVhbi8T587DfvpX+KBmqia+IJsIhxomL3H7zBtpXuXUhTN2/D7uXlxH9N1lfr+KnTgmJmOFrMh0m6LcYCw425IqLXIc0eyUyM48eSRpFkGYwZ81iK2gX9RsrKwkxAV8Ti4s83dICu6MDcmCpmzeRbm6GZ84cfWkwnUpabCNdO5GXuMi98+bBnDFD29nu6kLm4UM9kXfBAkmnovsFWQuJvEQGZBVNrtKcPn34MKNRWDxIu7sbXrriSPDMpXIBkZe4yO3OTkgWdBjqcm9KaEubYpiPuKckcNeYiWZxKXpmz9YB5Lx7NzpG0ZehuAsGi2JjLyEhztenxUUurujw+rKFnJEpq2VSUnRJxSBKka6RyEYg6xOKi1zIRNuORCCH6Fu82JCkZbW321y5/JFdYz9TJ8s8xEXuKedPE1OopF65EIK81e2eHoPptp9ctcRfRN7iIpdR+r5cvRpyH1pywJGI2LqFfQ3E8HXPSj4yjlz+sPyVlbCeP4cEEnOMJKM6kkWISUkuuRqsq0P8zBnEjh1DjH9YdEO5sn4h45+E5BW+8pdc8mvJK1csTqBSd+5Y/OlhFlPfkaqKkN9oviYnueSbONRHSJu8y1iXX2NJr6xOXoRo8qPyHPE3AAAA//9qr/nYAAAABklEQVQDANubCGetfnwUAAAAAElFTkSuQmCC") 3 3, auto;
    cursor: -webkit-image-set(url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAkCAYAAABixKGjAAAFQ0lEQVR4AbxWXWhURxT+7t3d7G52o9H4BwZjKj5YUKv4UEiL8Q9/QFt9EMUXFRHEUqgv0gcV82STBx+ktCY+tCCiohQhUgOCij+JYIgao2iJUTExyUbNbja72d177/Q7k2Szl7Rx89Bezjd37syZb2bOnHPmmvgPn/+NvJmbsAiHsIkE0UvECflWfOdC9LrZdoiYRYyT3JUvD+/f7wnt3m34KytNT2lp0AiHZ5olJSF/RYUZPnAAxdXVmHb6NKaeOIHAhg2GUVQ0G6ZZQ9ZfiXLCJbnkCGzZgvDBgyiuqUHJhQsoOXtWv4tPnkRo7174V61CwfLlCKxZgylHjmDK4cPwlpebnOBbsv5EzCGy4iLPtrJiFBTAM3cuzKlToRIJZNrakG5sROrePWSePaMGEFi3DqF9++AtKzM4wTYAewg/oeVfyXXvSDHU0IABmiJ69ChiRJw7ST94ABLCv3Ilglu3wgyHPVT/nlhIaMmLPHXrFjIvXsDp70840Wgy3dqK1I0bgOPA8PkQ2LgRvqVLwcnELN9oZhZ5kfuWLIHh91MdfSx+h2UpFY9DWeJc5CwuRnDzZj0R+7cSWvIiL9yxA75Fi2RAKYvPCDKaMDxiCf2FgooKmJyEX58TWkxdfqIwQiHtKVQT/S/pgoZ3IU2bQy4O4Fu2jCoISCEQZXn/I5xYDM6HD6AZtH21kmkWeefPB2NBf+YW9Br5NKQQuMmVBKA0AyqZxFB9PRIXL8L5+FEfqPQwqIzC7dshE8h3LpQtgTzW4iLP0AusV6/IrKAGB8EA0Z5gvX6NdFMTjGAQhTt3IrB+/RjDaI2Hm3n8WL6yM7jIkU4DmYwowGDw+FasgBEIIHHuHNTAAEJ79iBEchgjO6crKo6RhSSvXkXmyRMZ2yGFwEXuKSvTq5XB4r8CWXHm6VMwl+hVw+uVcXp3Ke4mdvw4okwFceYcmlJWdnxYAXCR0wtgv3+v7T2qIGYSHy/ctUvvIttOUyUvX8bQ9etI3b5tO5FIF5T6kf1/EFrc5DSBZ+ZMF4lhGPCUlsKcNg364aE7fX1IMrGl7t4Fo7SH7T8QG4ifiUFCi4s8VlWlVyJm0b0smHb1TtTQEBTPo2/bNkQ2bULi0iXAtjupIhEppK2sDxFZcZEXHTqEwNq14PagUilwq9prrJcvMVhbi8T587DfvpX+KBmqia+IJsIhxomL3H7zBtpXuXUhTN2/D7uXlxH9N1lfr+KnTgmJmOFrMh0m6LcYCw425IqLXIc0eyUyM48eSRpFkGYwZ81iK2gX9RsrKwkxAV8Ti4s83dICu6MDcmCpmzeRbm6GZ84cfWkwnUpabCNdO5GXuMi98+bBnDFD29nu6kLm4UM9kXfBAkmnovsFWQuJvEQGZBVNrtKcPn34MKNRWDxIu7sbXrriSPDMpXIBkZe4yO3OTkgWdBjqcm9KaEubYpiPuKckcNeYiWZxKXpmz9YB5Lx7NzpG0ZehuAsGi2JjLyEhztenxUUurujw+rKFnJEpq2VSUnRJxSBKka6RyEYg6xOKi1zIRNuORCCH6Fu82JCkZbW321y5/JFdYz9TJ8s8xEXuKedPE1OopF65EIK81e2eHoPptp9ctcRfRN7iIpdR+r5cvRpyH1pywJGI2LqFfQ3E8HXPSj4yjlz+sPyVlbCeP4cEEnOMJKM6kkWISUkuuRqsq0P8zBnEjh1DjH9YdEO5sn4h45+E5BW+8pdc8mvJK1csTqBSd+5Y/OlhFlPfkaqKkN9oviYnueSbONRHSJu8y1iXX2NJr6xOXoRo8qPyHPE3AAAA//9qr/nYAAAABklEQVQDANubCGetfnwUAAAAAElFTkSuQmCC") 1x, url("data:image/png;base64,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") 2x) 3 3, auto;
  }
}

/* ===== PAGE ADHÉSION : deux formules en cartes côte à côte (Membre à gauche, Bienfaiteur à droite) ===== */
#member_adhesion_form .wrapper_membership_list > h2 { text-align: center; font-weight: 800; }
#site-wrapper #member_adhesion_form .list-group {
  display: grid; grid-template-columns: 1fr; gap: 24px;
  border: 0; background: none; box-shadow: none;
}
@media (min-width: 768px) {
  #site-wrapper #member_adhesion_form .list-group { grid-template-columns: 1fr 1fr; align-items: stretch; }
}
#site-wrapper #member_adhesion_form .list-group-item {
  position: relative;
  display: flex; flex-direction: column;
  border: 2px solid #d5f2f2 !important;
  border-radius: 20px !important;
  background: #f3fbfb;
  padding: 28px 26px !important;
  margin: 0 !important;
  box-shadow: 0 10px 26px rgba(0,0,0,.06);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
#site-wrapper #member_adhesion_form .list-group-item:hover { transform: translateY(-4px); box-shadow: 0 16px 34px rgba(0,0,0,.12); }
#site-wrapper #member_adhesion_form .list-group-item:has(input:checked) {
  border-color: #17cbcb !important; background: #e3f9f9;
  box-shadow: 0 0 0 4px rgba(23,203,203,.25), 0 16px 34px rgba(0,0,0,.12);
}
/* Carte Bienfaiteur : fond noir */
#site-wrapper #member_adhesion_form .list-group-item:nth-child(2) { background: #111; border-color: #111 !important; color: #fff; }
#site-wrapper #member_adhesion_form .list-group-item:nth-child(2) * { color: #fff !important; }
#site-wrapper #member_adhesion_form .list-group-item:nth-child(2):has(input:checked) { border-color: #17cbcb !important; background: #000; }
/* Prix en grand */
#site-wrapper #member_adhesion_form .price-membership-badge {
  order: 2; position: static; align-self: flex-start;
  float: none !important; text-align: left !important; width: auto !important;
  background: none !important; padding: 0 !important; margin: 4px 0 14px;
  font-size: 34px !important; font-weight: 800; line-height: 1; color: #0b7a7a !important;
}
#site-wrapper #member_adhesion_form .price-membership-badge span { font-size: inherit !important; font-weight: inherit !important; color: inherit !important; }
#site-wrapper #member_adhesion_form .list-group-item:nth-child(2) .price-membership-badge,
#site-wrapper #member_adhesion_form .list-group-item:nth-child(2) .price-membership-badge * { color: #17cbcb !important; }
#site-wrapper #member_adhesion_form .list-group-item .radio { order: 1; margin: 0; }
#site-wrapper #member_adhesion_form .list-group-item .radio label { font-size: 22px; font-weight: 800; }
#site-wrapper #member_adhesion_form .adh-description { order: 3; }
/* Toute la carte est cliquable */
#site-wrapper #member_adhesion_form .list-group-item .radio,
#site-wrapper #member_adhesion_form .list-group-item .radio label { position: static !important; }
#site-wrapper #member_adhesion_form .list-group-item .radio label::after { content: ""; position: absolute; inset: 0; z-index: 1; cursor: pointer; }

/* ===== PAGE ADHÉSION : intro au-dessus du formulaire + textes centrés ===== */
.pageid-351897 .site_line__item.line-header { order: -3; }
.pageid-351897 .site_line__item:has(.zone-menu) { order: -2; }
.pageid-351897 .site_line__item:has(.intro-adhesion) { order: -1; padding: 56px 0 8px !important; }
.intro-adhesion { max-width: 760px; margin: 0 auto; text-align: center; }
.intro-adhesion h2 { font-weight: 800; letter-spacing: -0.5px; width: fit-content; margin: 0 auto 18px; }
.intro-adhesion h2::after { content: ""; display: block; width: 100%; height: 5px; margin-top: 12px; border-radius: 5px; background: #17cbcb; }
.intro-adhesion p { font-size: 17px; line-height: 1.7; }
.intro-adhesion .intro-deja { font-size: 15px; color: #555; }
#registration-member > h1, #member_adhesion_form .wrapper_membership_list > h2 { text-align: center; }
#site-wrapper #member_adhesion_form .list-group-item { align-items: center; text-align: center; }
#site-wrapper #member_adhesion_form .price-membership-badge { align-self: center; text-align: center !important; }
#site-wrapper #member_adhesion_form .adh-description ul { display: inline-block; text-align: left; margin: 0 auto; }
#site-wrapper #member_adhesion_form .adh-description li::marker { color: #17cbcb !important; }
#site-wrapper #member_adhesion_form .form-withProgress__navigation-footer { justify-content: center; }
/* Page Adhésion (1re étape) : « Je suis déjà membre » tout en haut, au-dessus de « Devenir membre » ; Suivant reste en bas */
body.pageid-351897.step-adhesion #registration-member { position: relative; padding-top: 76px; }
body.pageid-351897.step-adhesion #site-wrapper #member_adhesion_form #prev_reg_step {
  position: absolute; top: 0; left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}
body.pageid-351897.step-adhesion #site-wrapper #member_adhesion_form #prev_reg_step:hover { transform: translate(-50%, -2px); }
body.pageid-351897 #site-wrapper #member_adhesion_form .form-withProgress__navigation-footer { margin: 32px 0 64px !important; }

/* ===== MENU FIXE en haut quand on défile (toutes les pages) ===== */
.site_line__item:has(.zone-menu) { position: sticky; top: 0; z-index: 1000; background: #fff; box-shadow: 0 4px 14px rgba(0,0,0,.08); animation: none !important; transform: none !important; }
@media (max-width: 767px) { .zone-menu #mainMenu.in, .zone-menu #mainMenu.collapsing { max-height: calc(100vh - 60px); overflow-y: auto; } }

/* ===== PAGE CONTACT : carte moderne centrée ===== */
body.pageid-444261 .site_line__item:has(.zone-contact) { background: linear-gradient(180deg, #e8f9f9 0%, #fff 100%); }
body.pageid-444261 .zone-contact { float: none; margin: 0 auto; padding: 56px 16px 64px; }
body.pageid-444261 .zone-contact .content.contact { max-width: 680px; margin: 0 auto; background: #fff; border-radius: 24px; box-shadow: 0 18px 50px rgba(0,0,0,.10); padding: 44px 40px 40px; border-top: 6px solid #17cbcb; }
body.pageid-444261 .zone-contact h1 { text-align: center; font-weight: 800; margin: 0 0 8px; padding-bottom: 18px; background: linear-gradient(#17cbcb,#17cbcb) center bottom / 56px 5px no-repeat; }
body.pageid-444261 .zone-contact form::before { content: "Une question, une idée, une envie de nous rejoindre ? Écrivez-nous, nous vous répondons rapidement."; display: block; grid-column: 1 / -1; text-align: center; color: #333; font-size: 16px; line-height: 1.5; margin: 6px 0 26px; }
body.pageid-444261 .zone-contact form { display: grid; grid-template-columns: 1fr; gap: 4px 20px; margin: 0; }
@media (min-width: 768px) { body.pageid-444261 .zone-contact form { grid-template-columns: 1fr 1fr; } }
body.pageid-444261 .zone-contact .form-group { margin: 0 0 14px !important; display: flex; flex-direction: column; }
body.pageid-444261 .zone-contact .form-group::before, body.pageid-444261 .zone-contact .form-group::after { display: none; }
body.pageid-444261 .zone-contact .form-element-message, body.pageid-444261 .zone-contact .crm-footer-frame { grid-column: 1 / -1; }
body.pageid-444261 .zone-contact .form-group > label, body.pageid-444261 .zone-contact .form-group > div { width: 100% !important; float: none !important; padding: 0 !important; text-align: center !important; }
body.pageid-444261 .zone-contact .form-group > label { font-weight: 700; margin-bottom: 6px; font-size: 15px; }
body.pageid-444261 .zone-contact .control-label--required { color: #17cbcb; }
body.pageid-444261 .zone-contact .form-control { width: 100%; height: auto; padding: 12px 16px; border: 2px solid #9fb5b5 !important; border-radius: 14px; background: #f7fbfb !important; font-size: 16px; box-shadow: none; transition: border-color .2s, background .2s, box-shadow .2s; }
body.pageid-444261 .zone-contact .form-control:focus { border-color: #17cbcb !important; background: #fff !important; box-shadow: 0 0 0 4px rgba(23,203,203,.18); outline: none; }
body.pageid-444261 .zone-contact textarea.form-control { min-height: 150px; resize: vertical; }
body.pageid-444261 .zone-contact .crm-footer-frame { justify-content: center !important; text-align: center; margin-top: 10px; padding: 0; border: 0; background: none; }
body.pageid-444261 .zone-contact #send { background: #000; border: 0; color: #fff; border-radius: 30px; padding: 14px 44px; font-weight: 700; font-size: 16px; transition: transform .2s, background .2s; }
body.pageid-444261 .zone-contact #send:hover { background: #17cbcb; color: #000; transform: translateY(-2px); }
@media (max-width: 575px) { body.pageid-444261 .zone-contact .content.contact { padding: 32px 20px 28px; border-radius: 20px; } }


/* ===== ESPACE MEMBRE CONNECTÉ : style moderne ===== */
body.member--isConnected .site_line__item:has(.zone-member) { background: linear-gradient(180deg, #e8f9f9 0%, #fff 100%); padding: 48px 0 56px; }
body.member--isConnected .zone-member > .row { display: flex; flex-wrap: wrap; align-items: flex-start; }
body.member--isConnected .zone-member .member-sidebar__inner { background: #fff !important; border-radius: 20px !important; box-shadow: 0 12px 36px rgba(0,0,0,.08) !important; padding: 24px 18px !important; border-top: 6px solid #17cbcb !important; }
body.member--isConnected .zone-member .member-sidebar__member-header__title { display: block; text-align: center; font-weight: 800; margin: 0 0 14px; }
body.member--isConnected .zone-member .member-sidebar__menu { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 4px; }
body.member--isConnected .zone-member .member-sidebar__menu li { margin: 0 !important; padding: 0 !important; }
body.member--isConnected .zone-member .member-sidebar__menu li a.menu-item { display: block; padding: 10px 14px; border-radius: 12px; color: #000 !important; font-weight: 600; text-decoration: none !important; transition: background .2s, transform .2s; }
body.member--isConnected .zone-member .member-sidebar__menu li a.menu-item:hover { background: #e8f9f9; transform: translateX(3px); }
body.member--isConnected .zone-member .member-sidebar__menu li.active a.menu-item { background: #17cbcb; color: #000 !important; font-weight: 800; }
body.member--isConnected .zone-member .member-sidebar__member-footer { text-align: center; margin-top: 16px; padding-top: 16px; border-top: 1px solid #e3eeee; }
body.member--isConnected .zone-member .member-sidebar__member-footer a.menu-item { display: inline-block; background: #fff !important; color: #000 !important; border: 2px solid #000; border-radius: 30px; padding: 8px 22px; font-weight: 700; text-decoration: none !important; transition: background .2s, color .2s; }
body.member--isConnected .zone-member .member-sidebar__member-footer a.menu-item:hover { background: #000 !important; color: #fff !important; }
body.member--isConnected .zone-member .content.member { background: #fff; border-radius: 20px; box-shadow: 0 12px 36px rgba(0,0,0,.08); padding: 32px !important; }
body.member--isConnected .zone-member .content.member h2.heading { font-weight: 800; }
body.member--isConnected .zone-member .current-membership { border: 0 !important; border-radius: 18px !important; background: linear-gradient(135deg, #e8f9f9 0%, #fff 100%) !important; border-left: 6px solid #17cbcb !important; box-shadow: 0 6px 18px rgba(23,203,203,.15); }
body.member--isConnected .zone-member .membership-list .element { background: #f7fbfb; border-radius: 14px; padding: 14px 18px !important; margin-bottom: 10px; border: 0 !important; }
@media (min-width: 992px) {
  body.member--isConnected .zone-member .sidebar__member-zone { flex: 0 0 290px; width: 290px; max-width: 290px; }
  body.member--isConnected .zone-member .content.member { flex: 1 1 0; width: auto; max-width: none; }
}
@media (max-width: 767px) {
  body.member--isConnected .zone-member .sidebar__member-zone { margin-bottom: 20px; }
  body.member--isConnected .zone-member .member-sidebar__menu { flex-direction: row; flex-wrap: wrap; justify-content: center; }
  body.member--isConnected .zone-member .member-sidebar__menu li a.menu-item { background: #f2f7f7; padding: 8px 14px; font-size: 14px; }
  body.member--isConnected .zone-member .content.member { padding: 22px 18px !important; margin: 0 15px; width: calc(100% - 30px) !important; flex: 0 0 auto; }
}
/* Bloc Telegram en carte */
body.member--isConnected .site_line__item:has(.zone-html a[href*="t.me"]) { background: #f2fafa; }
body.member--isConnected .zone-html:has(a[href*="t.me"]) .content { max-width: 760px; margin: 0 auto; background: #fff; border-radius: 24px; box-shadow: 0 12px 36px rgba(0,0,0,.08); padding: 36px 28px; border-top: 6px solid #17cbcb; }


/* ===== ACCUEIL : bloc « Nos dernières actus » (liens Instagram / Facebook) ===== */
.site_line__item:has(.actus) { background: #f2fafa; padding: 56px 0; }
.actus { max-width: 900px; margin: 0 auto; text-align: center; }
.actus h2 { text-align: center; font-weight: 800; width: fit-content; max-width: 100%; margin: 0 auto 10px; padding-bottom: 14px; background: linear-gradient(#17cbcb,#17cbcb) center bottom / 100% 5px no-repeat; }
.actus .actus-intro { text-align: center; font-size: 17px; margin: 0 auto 28px; max-width: 640px; }
.actus-grille { display: grid; grid-template-columns: 1fr; gap: 20px; }
@media (min-width: 768px) { .actus-grille { grid-template-columns: 1fr 1fr; gap: 28px; } }
.actus-carte { background: #fff; border-radius: 22px; box-shadow: 0 12px 36px rgba(0,0,0,.08); padding: 30px 24px 26px; text-align: center; border-top: 6px solid #17cbcb; transition: transform .25s, box-shadow .25s; }
.actus-carte:hover { transform: translateY(-4px); box-shadow: 0 18px 44px rgba(0,0,0,.12); }
.actus-carte p { text-align: center !important; margin: 0 0 12px; }
.actus-carte .actus-titre { font-size: 22px; font-weight: 800; margin-bottom: 6px; }
.actus-carte .actus-titre::before { display: block; margin: 0 auto 12px; width: 56px; height: 56px; line-height: 56px; border-radius: 16px; color: #fff; font-size: 26px; font-weight: 800; }
.actus-insta .actus-titre::before { content: "IG"; background: linear-gradient(45deg, #f9a825, #e1306c 50%, #833ab4); font-size: 20px; }
.actus-fb .actus-titre::before { content: "f"; background: #1877f2; }
.actus-carte .btn { background: #000 !important; border: 0 !important; color: #fff !important; border-radius: 30px; padding: 12px 28px; font-weight: 700; margin-top: 4px; }
.actus-carte .btn:hover { background: #17cbcb !important; color: #000 !important; }


/* ===== ACCUEIL : « Prochain événement » et « Nos dernières actus » côte à côte (titres seulement) ===== */
.site_line__item:has(.zone-event_flash), .site_line__item:has(.actus) { background: #f2fafa !important; }
@media (min-width: 992px) {
  .site-inner:has(.actus) { flex-direction: row; flex-wrap: wrap; }
  .site-inner:has(.actus) > * { width: 100%; }
  .site-inner:has(.actus) > .site_line__item:has(.zone-event_flash), .site-inner:has(.actus) > .site_line__item:has(.actus) { width: 50%; }
  .site_line__item:has(.zone-event_flash) > .container, .site_line__item:has(.actus) > .container, .site_line__item:has(.zone-event_flash) > .container-fluid, .site_line__item:has(.actus) > .container-fluid { width: 100% !important; max-width: 100% !important; padding-left: 24px; padding-right: 24px; }
}
.actus-grille { grid-template-columns: 1fr 1fr !important; gap: 20px !important; max-width: 460px; margin: 0 auto; }
.actus-carte { display: flex; flex-direction: column; align-items: center; justify-content: center; text-decoration: none !important; color: #000 !important; padding: 28px 16px !important; }
.actus-carte .actus-titre { display: block; font-size: 20px; font-weight: 800; margin: 0; }
.actus-carte .actus-titre::before { display: block; margin: 0 auto 12px; width: 64px; height: 64px; line-height: 64px; border-radius: 18px; color: #fff; font-size: 30px; font-weight: 800; }
.actus h2 { margin-bottom: 28px !important; }


/* ===== ACCUEIL : bande événement + actus plus vivante et resserrée ===== */
@media (min-width: 992px) {
  .site_line__item:has(.zone-event_flash) > .container, .site_line__item:has(.zone-event_flash) > .container-fluid { max-width: 540px !important; margin-left: auto !important; margin-right: 0 !important; }
  .site_line__item:has(.actus) > .container, .site_line__item:has(.actus) > .container-fluid { max-width: 540px !important; margin-left: 0 !important; margin-right: auto !important; }
  .site_line__item:has(.zone-event_flash) { background: radial-gradient(circle at 12% 85%, rgba(23,203,203,.28) 0 90px, transparent 91px), linear-gradient(180deg, #c9f3f3 0%, #eefbfb 100%) !important; }
  .site_line__item:has(.actus) { background: radial-gradient(circle at 90% 18%, rgba(23,203,203,.28) 0 70px, transparent 71px), linear-gradient(180deg, #c9f3f3 0%, #eefbfb 100%) !important; }
}
@media (max-width: 991px) {
  .site_line__item:has(.zone-event_flash), .site_line__item:has(.actus) { background: linear-gradient(180deg, #c9f3f3 0%, #eefbfb 100%) !important; }
}
#site-wrapper .site_line__item .zone-event_flash .content .item.mod-eventflash__item { background: #fff !important; box-shadow: 0 14px 36px rgba(0,0,0,.10) !important; border-radius: 20px !important; }
.actus-carte { border-top: 0 !important; color: #fff !important; box-shadow: 0 14px 36px rgba(0,0,0,.14) !important; min-height: 170px; }
.actus-insta { background: linear-gradient(45deg, #f9a825 0%, #e1306c 55%, #833ab4 100%) !important; }
.actus-fb { background: linear-gradient(135deg, #1877f2 0%, #0b4fb3 100%) !important; }
.actus-carte .actus-titre { color: #fff; }
.actus-carte .actus-titre::after { content: "→"; display: block; font-size: 22px; margin-top: 6px; transition: transform .25s; }
.actus-carte:hover .actus-titre::after { transform: translateX(6px); }
.actus-insta .actus-titre::before { background: #fff !important; color: #e1306c !important; }
.actus-fb .actus-titre::before { background: #fff !important; color: #1877f2 !important; }
.actus-carte:hover { transform: translateY(-6px) rotate(-1deg) !important; }


/* ===== DÉCOR turquoise (dégradé + ronds) sur toutes les sections blanches du site ===== */
#site-wrapper .site-inner > .site_line__item:not(.line-secondary):has(.zone-100, .zone-50):not(:has(.zone-header, .zone-menu, .zone-footer, .lien-mentions, .zone-event_flash, .actus, .chiffres, .lien-sorties-accueil, [data-zone-id="2886407"])) { position: relative; }
#site-wrapper .site-inner > .site_line__item:nth-child(odd):not(.line-secondary):has(.zone-100, .zone-50):not(:has(.zone-header, .zone-menu, .zone-footer, .lien-mentions, .zone-event_flash, .actus, .chiffres, .lien-sorties-accueil, [data-zone-id="2886407"])) {
  background: radial-gradient(circle at 6% 82%, rgba(23,203,203,.26) 0 90px, transparent 91px), radial-gradient(circle at 94% 14%, rgba(23,203,203,.22) 0 56px, transparent 57px), linear-gradient(180deg, #eefbfb 0%, #c9f3f3 50%, #eefbfb 100%) !important;
}
#site-wrapper .site-inner > .site_line__item:nth-child(even):not(.line-secondary):has(.zone-100, .zone-50):not(:has(.zone-header, .zone-menu, .zone-footer, .lien-mentions, .zone-event_flash, .actus, .chiffres, .lien-sorties-accueil, [data-zone-id="2886407"])) {
  background: radial-gradient(circle at 93% 80%, rgba(23,203,203,.26) 0 80px, transparent 81px), radial-gradient(circle at 5% 18%, rgba(23,203,203,.22) 0 50px, transparent 51px), linear-gradient(180deg, #eefbfb 0%, #c9f3f3 50%, #eefbfb 100%) !important;
}


/* ===== ESPACE MEMBRE : « Prochaines sorties » en carrousel centré ===== */
body.pageid-431946 .site_line__item:has(.zone-event_flash) > .container, body.pageid-431946 .site_line__item:has(.zone-event_flash) > .container-fluid { max-width: 1170px !important; margin-left: auto !important; margin-right: auto !important; }
body.pageid-431946 .zone-event_flash { position: relative; padding-bottom: 76px !important; }
body.pageid-431946 .zone-event_flash .content.eventsList { display: flex !important; flex-wrap: nowrap !important; justify-content: flex-start !important; gap: 22px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding: 0 16px; padding: 14px 16px 36px !important; max-width: 100%; width: 100% !important; -webkit-overflow-scrolling: touch; scrollbar-width: thin; scrollbar-color: #17cbcb transparent; }
body.pageid-431946 .zone-event_flash .content.eventsList::-webkit-scrollbar { height: 8px; }
body.pageid-431946 .zone-event_flash .content.eventsList::-webkit-scrollbar-thumb { background: #17cbcb; border-radius: 8px; }
body.pageid-431946 #site-wrapper .zone-event_flash .content .item.mod-eventflash__item, body.pageid-431946 .zone-event_flash .mod-eventflash__item { flex: 0 0 300px !important; width: 300px !important; max-width: 76vw; margin-top: 0 !important; margin-bottom: 0 !important; scroll-snap-align: center; }
body.pageid-431946 #site-wrapper .zone-event_flash .content .item.mod-eventflash__item:first-child { margin-left: auto !important; }
body.pageid-431946 #site-wrapper .zone-event_flash .content .item.mod-eventflash__item:not(:first-child) { margin-left: 0 !important; }
body.pageid-431946 #site-wrapper .zone-event_flash .content .item.mod-eventflash__item:not(:nth-last-child(2)) { margin-right: 0 !important; }
body.pageid-431946 #site-wrapper .zone-event_flash .content .item.mod-eventflash__item:nth-last-child(2) { margin-right: auto !important; }
body.pageid-431946 .zone-event_flash .mod-eventflash__viewAll { position: absolute; left: 50%; bottom: 22px; transform: translateX(-50%); white-space: nowrap; width: auto !important; margin: 0 !important; }


/* ===== ACCUEIL : lien sous « Prochain événement » adapté (membre connecté / visiteur) ===== */
/* Un visiteur non connecté qui clique est renvoyé par Yapla vers la page Adhésion */
body.pageid-351900 .zone-event_flash .mod-eventflash__viewAll { font-size: 0 !important; display: block !important; width: fit-content !important; max-width: 100%; margin-left: auto !important; margin-right: auto !important; text-align: center !important; }
body.pageid-351900 .zone-event_flash .mod-eventflash__viewAll::after { font-size: 16px; font-weight: 700; content: "Envie de venir à toutes nos sorties ? Devenez membre →"; }
body.pageid-351900.member--isConnected .zone-event_flash .mod-eventflash__viewAll::after { content: "Voir toutes les sorties →"; }


/* ===== ESPACE MEMBRE : Telegram + Documents en deux cartes ===== */
body.member--isConnected .zone-html:has(.blocs-membre) .content { max-width: 1000px !important; background: transparent !important; box-shadow: none !important; border: 0 !important; padding: 0 !important; }
.blocs-membre { display: grid; grid-template-columns: 1fr; gap: 24px; }
@media (min-width: 768px) { .blocs-membre { grid-template-columns: 1fr 1fr; } }
.blocs-membre > div { background: #fff; border-radius: 24px; box-shadow: 0 12px 36px rgba(0,0,0,.08); padding: 32px 24px; border-top: 6px solid #17cbcb; display: flex; flex-direction: column; justify-content: center; }
.blocs-membre h2 { font-size: 26px; }
.blocs-membre .bloc-docs .btn { margin: 4px 6px; }


/* ===== EN-TÊTE CONNECTÉ sur mobile : pas de chevauchement avec le logo ===== */
@media (max-width: 767px) {
  .header-ext-login:has(.member-logout) .member-greeting, .header-ext-login:has(.member-logout) .member-myprofile { display: none !important; }
}


/* ===== ESPACE MEMBRE : pas de lien « Voir toutes les sorties » (le carrousel montre déjà toutes les sorties) ===== */
body.pageid-431946 .zone-event_flash .mod-eventflash__viewAll { display: none !important; }
body.pageid-431946 .zone-event_flash { padding-bottom: 0 !important; }


/* ===== ACCUEIL : lien « Voir toutes les sorties » vers l'espace membre (zone Bannière), placé sous « Prochain événement » ===== */
body.pageid-351900 .zone-event_flash .mod-eventflash__viewAll { display: none !important; }
.lien-sorties-accueil p { text-align: center !important; margin: 0 !important; }
.lien-sorties-accueil a { font-weight: 700; font-size: 16px; color: #000 !important; text-decoration: none !important; border-bottom: 3px solid #17cbcb; padding-bottom: 3px; }
.lien-sorties-accueil a:hover { color: #0a8f8f !important; }
.lien-sorties-accueil .pour-membres { display: none; }
body.member--isConnected .lien-sorties-accueil .pour-membres { display: block; }
body.member--isConnected .lien-sorties-accueil .pour-visiteurs { display: none; }
#site-wrapper .site-inner > .site_line__item:has(.lien-sorties-accueil) { order: 1; padding: 0 0 44px !important; background: linear-gradient(180deg, #eefbfb 0%, #c9f3f3 100%) !important; }
body.pageid-351900 .site_line__item:has(.zone-event_flash) { padding-bottom: 24px !important; }
.site-inner:has(.lien-sorties-accueil) > .site_line__item:has(.actus), .site-inner:has(.lien-sorties-accueil) > .site_line__item:has(.actus) ~ * { order: 3; }
@media (min-width: 992px) {
  .site-inner:has(.lien-sorties-accueil) > .site_line__item:has(.actus) { order: 2; }
  #site-wrapper .site-inner > .site_line__item:has(.lien-sorties-accueil) { order: 3; width: 100%; background: #eefbfb !important; }
  .site-inner:has(.lien-sorties-accueil) > .site_line__item:has(.actus) ~ * { order: 4; }
  .site_line__item:has(.lien-sorties-accueil) > .container, .site_line__item:has(.lien-sorties-accueil) > .container-fluid { width: 100% !important; max-width: 100% !important; }
  .lien-sorties-accueil { max-width: 540px; margin-left: auto; margin-right: 50%; }
  body.pageid-351900 .site_line__item:has(.actus) { padding-bottom: 24px !important; }
  body.pageid-351900 .site_line__item:has(.zone-event_flash) { background: radial-gradient(circle at 8% 40%, rgba(23,203,203,.28) 0 80px, transparent 81px), linear-gradient(180deg, #c9f3f3 0%, #eefbfb 100%) !important; }
}
