.elementor-kit-6{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ================= CCFL — SYSTÈME DE DESIGN v2.2 =================
   Les polices Google sont chargées une seule fois, par un <link> dans
   le modèle d'en-tête. Ne pas réintroduire d'@import ici : il ajoutait
   une requête bloquante en double.
   Les règles qui doublonnaient avec la feuille de l'en-tête
   (cadre de logo, règle décorative, scroll-behavior) ont été retirées :
   elles sont désormais définies à un seul endroit.
   ================================================================= */
:root{
  --ccfl-navy-900:#051C33; --ccfl-navy-800:#00284A;
  --ccfl-blue-700:#004379; --ccfl-blue-600:#0B5FA8; --ccfl-blue-500:#1E86D6;
  --ccfl-blue-200:#9CCBEF; --ccfl-blue-050:#EDF4FB;
  --ccfl-red-600:#B00034;  --ccfl-red-500:#E50043;  --ccfl-red-050:#FDECF1;
  --ccfl-gold:#C8961E; --ccfl-silver:#8A97A3; --ccfl-bronze:#A9713F;
  --ink-900:#0E1621; --ink-700:#2B3440; --ink-500:#5B6B7C; --ink-300:#A8B4C0;
  --line:#E3E9EF; --surface:#F6F8FB;
  --r-sm:10px; --r-md:16px; --r-lg:24px; --r-pill:999px;
  --sh-xs:0 1px 2px rgba(0,40,74,.06);
  --sh-sm:0 2px 10px -4px rgba(0,40,74,.12);
  --sh-md:0 14px 32px -14px rgba(0,40,74,.20);
  --sh-lg:0 30px 64px -30px rgba(0,40,74,.30);
  --sh-cta:0 16px 36px -16px rgba(229,0,67,.48);
  --t-micro:120ms; --t-ui:220ms; --t-enter:520ms; --t-hero:900ms;
  --e-out:cubic-bezier(.22,.68,.28,1);
  --pad-section:clamp(72px,9vw,144px);
  --w-container:1280px;
}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;color:var(--ink-700)}
::selection{background:var(--ccfl-red-500);color:#fff}

/* Spacers hérités neutralisés */
.elementor-widget-spacer .elementor-spacer{height:22px!important}
.elementor-widget-spacer{margin:0!important}
@media(max-width:767px){.elementor-widget-spacer .elementor-spacer{height:14px!important}}

main .elementor-section:not(.elementor-inner-section),
main>.elementor>.e-con{padding-top:var(--pad-section);padding-bottom:var(--pad-section)}
main .e-con-inner,main .elementor-container{max-width:var(--w-container)}

/* ---------- TYPOGRAPHIE ---------- */
main h1,main h2,main h3,main h4{text-wrap:balance}
.ccfl-display,.ccfl-display .elementor-heading-title{
  font-family:"Instrument Serif",Georgia,serif!important;font-weight:400!important;
  font-size:clamp(46px,6.2vw,88px)!important;line-height:.98!important;letter-spacing:-.03em!important}
.ccfl-kicker,.ccfl-kicker .elementor-heading-title{
  font-family:"Inter Tight",sans-serif!important;font-size:13px!important;font-weight:600!important;
  text-transform:uppercase!important;letter-spacing:.14em!important;line-height:1!important;color:var(--ccfl-red-500)}
.ccfl-kicker--light,.ccfl-kicker--light .elementor-heading-title{color:var(--ccfl-blue-200)!important}
.ccfl-lead,.ccfl-lead p{font-size:clamp(18px,1.5vw,21px)!important;line-height:1.62!important;text-wrap:pretty}
.ccfl-num,.ccfl-num *{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}

main .elementor-widget-text-editor{max-width:72ch}
main .elementor-widget-text-editor p{margin:0 0 1.05em}
main .elementor-widget-text-editor h5{font-size:17px;font-weight:400;line-height:1.75;color:var(--ink-700);margin:0 0 .9em}
main .elementor-widget-text-editor h4{font-size:19px;font-weight:600;line-height:1.6;color:var(--ccfl-blue-700);margin:0 0 .7em}
main .elementor-widget-text-editor ul{padding-left:0;list-style:none;margin:0 0 1.2em}
main .elementor-widget-text-editor ul li{position:relative;padding-left:30px;margin-bottom:.7em;line-height:1.7}
main .elementor-widget-text-editor ul li::before{content:"";position:absolute;left:2px;top:.62em;width:9px;height:9px;
  border-radius:50%;background:linear-gradient(135deg,var(--ccfl-blue-700),var(--ccfl-red-500))}
main .elementor-widget-text-editor ul li h5{display:inline;margin:0}

/* ---------- CARTES ---------- */
.ccfl-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--sh-xs);overflow:hidden;
  transition:transform var(--t-ui) var(--e-out),box-shadow var(--t-ui) var(--e-out),border-color var(--t-ui) var(--e-out)}
.ccfl-card:hover{transform:translateY(-6px);box-shadow:var(--sh-md);border-color:var(--ccfl-blue-200)}
.ccfl-tier{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:var(--r-pill);
  font-family:"Inter Tight",sans-serif;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;line-height:1}
.ccfl-tier--gold{background:#FBF3E0;color:var(--ccfl-gold)}
.ccfl-tier--silver{background:#F1F4F7;color:var(--ccfl-silver)}
.ccfl-tier--bronze{background:#F8EFE8;color:var(--ccfl-bronze)}

/* ---------- BOUTONS ---------- */
.elementor-button{border-radius:var(--r-sm);font-family:"Inter Tight",sans-serif;font-weight:600;letter-spacing:.01em;
  white-space:nowrap;
  transition:transform var(--t-ui) var(--e-out),box-shadow var(--t-ui) var(--e-out),background-color var(--t-ui) var(--e-out)}
.elementor-button:hover{transform:translateY(-2px);box-shadow:var(--sh-cta)}
.elementor-button:active{transform:scale(.97);transition-duration:80ms}
.elementor-button .elementor-button-icon{transition:transform var(--t-ui) var(--e-out)}
.elementor-button:hover .elementor-button-icon{transform:translateX(4px)}

/* ---------- LIENS ANIMÉS ---------- */
main .elementor-widget-text-editor a,main .ccfl-prose a{color:var(--ccfl-blue-600);font-weight:600;text-decoration:none;
  background-image:linear-gradient(var(--ccfl-red-500),var(--ccfl-red-500));background-size:0 2px;
  background-repeat:no-repeat;background-position:0 100%;
  transition:background-size 350ms var(--e-out),color var(--t-micro) linear}
main .elementor-widget-text-editor a:hover,main .ccfl-prose a:hover{background-size:100% 2px;color:var(--ccfl-red-500)}

/* ---------- GRILLE D'ARTICLES (skin cards) ---------- */
main .elementor-posts--skin-cards .elementor-post__card{border:1px solid var(--line);border-radius:var(--r-md);
  box-shadow:var(--sh-xs);overflow:hidden;display:flex;flex-direction:column;height:100%;background:#fff}
main .elementor-posts--skin-cards .elementor-post__thumbnail{padding-bottom:56.25%!important}
main .elementor-posts--skin-cards .elementor-post__thumbnail img{object-fit:cover}
main .elementor-posts--skin-cards .elementor-post__avatar,
main .elementor-posts--skin-cards .elementor-post__badge{display:none!important}
main .elementor-posts--skin-cards .elementor-post__text{padding:22px 24px 24px;margin-top:0}
main .elementor-posts--skin-cards .elementor-post__title{margin:0 0 10px}
main .elementor-posts--skin-cards .elementor-post__title a{font-family:"Inter Tight",sans-serif;font-size:19px;font-weight:600;
  line-height:1.3;color:var(--ccfl-blue-700);letter-spacing:-.015em}
main .elementor-posts--skin-cards .elementor-post__title a:hover{color:var(--ccfl-red-500)}
main .elementor-posts--skin-cards .elementor-post__excerpt p{font-size:15px;line-height:1.6;color:var(--ink-500);max-width:none}
main .elementor-posts--skin-cards .elementor-post__meta-data{padding:0 24px;font-size:13px;color:var(--ink-500);border:0}
main .elementor-posts--skin-cards .elementor-post__read-more{font-family:"Inter Tight",sans-serif;font-weight:600;
  font-size:14.5px;color:var(--ccfl-blue-600)}

/* ---------- ACCESSIBILITÉ ---------- */
a:focus-visible,button:focus-visible,.elementor-button:focus-visible,
input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid var(--ccfl-red-500);outline-offset:3px;border-radius:4px}

/* ---------- RÉVÉLATION AU DÉFILEMENT ---------- */
@keyframes ccfl-reveal{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@supports (animation-timeline:view()){
 @media(prefers-reduced-motion:no-preference){
  body:not(.elementor-editor-active) main .e-con>.elementor-widget:not(.animated):not(.elementor-invisible),
  body:not(.elementor-editor-active) main .e-con>.e-con:not(.animated){
    animation:ccfl-reveal linear both;animation-timeline:view();animation-range:entry 5% entry 45%}
 }
}

/* ---------- ANNUAIRE / CARTES MEMBRES ----------
   La mise en forme fine des vignettes est définie dans le bloc
   « correctifs » de l'en-tête, chargé après les feuilles d'Elementor. */
.elementor-element-4c066d2 .elementor-post__card,.elementor-element-aa8c92a .elementor-post__card{display:flex;flex-direction:column;height:100%;
  border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;background:#fff;box-shadow:var(--sh-xs)}
.elementor-element-4c066d2 .elementor-post__title,.elementor-element-aa8c92a .elementor-post__title{display:none!important}
.elementor-element-4c066d2 .elementor-post__text,.elementor-element-aa8c92a .elementor-post__text{margin-top:auto;padding:12px 16px 14px;
  background:var(--surface);border-top:1px solid #EEF2F6}
.elementor-element-4c066d2 .elementor-post__excerpt p,.elementor-element-aa8c92a .elementor-post__excerpt p{margin:0;
  font-family:"Inter Tight",sans-serif;font-size:12.5px;font-weight:600;line-height:1.4;letter-spacing:.2px;
  color:var(--ccfl-blue-700);text-align:center}
.elementor-element-4c066d2 .elementor-post__read-more,.elementor-element-aa8c92a .elementor-post__read-more{display:none!important}

/* ---------- MOUVEMENT RÉDUIT ---------- */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:150ms!important;animation-iteration-count:1!important;
    transition-duration:150ms!important;scroll-behavior:auto!important}
  .ccfl-card:hover,.elementor-post:hover{transform:none}
}/* End custom CSS */