.elementor-kit-6{--e-global-color-primary:#F2A62B;--e-global-color-secondary:#6A2382;--e-global-color-text:#4A1A5C;--e-global-color-accent:#D98F14;--e-global-color-7baeb0c:#FFFFFF;--e-global-color-4555e3f:rgba(255,255,255,.5);--e-global-color-3c9e875:#444444;--e-global-color-1137c8d:#EDE8F1;--e-global-color-6e3b8c5:#F7F4F9;--e-global-color-70d5f50:#F7F4F9;--e-global-color-03aaac1:#EC6F27;--e-global-typography-primary-font-family:"Poppins";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Poppins";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Poppins";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Poppins";--e-global-typography-accent-font-weight:500;font-family:"Poppins", Sans-serif;}.elementor-kit-6 a{color:var( --e-global-color-primary );font-family:"Poppins", Sans-serif;}.elementor-kit-6 a:hover{color:var( --e-global-color-4555e3f );}.elementor-kit-6 h1{font-family:"Poppins", Sans-serif;}.elementor-kit-6 h2{font-family:"Poppins", Sans-serif;}.elementor-kit-6 h3{font-family:"Poppins", Sans-serif;}.elementor-kit-6 h4{font-family:"Poppins", Sans-serif;}.elementor-kit-6 h5{font-family:"Poppins", Sans-serif;}.elementor-kit-6 h6{font-family:"Poppins", Sans-serif;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}@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 *//* ==========================================================================
   SOLIDARITÉ ACTIVE — Socle visuel
   Reproduit à l'identique les formes du HTML de référence.
   Tout est scopé sous .cog-sa : aucun reset global, aucun sélecteur nu.
   À coller dans Elementor > Réglages du site > CSS personnalisé
   (ou Apparence > Personnaliser > CSS additionnel).
   ========================================================================== */

[class*="cog-"] {
  /* Couleurs — relevé exhaustif du HTML */
  --sa-violet: #6A2382;
  --sa-violet-dark: #4A1A5C;
  --sa-or: #F2A62B;
  --sa-or-dark: #D98F14;
  --sa-bg: #F7F4F9;
  --sa-blanc: #FFFFFF;
  --sa-texte: #3A3A3A;
  --sa-corps: #6b6b6b;
  --sa-mono: #8a7a92;
  --sa-mono-date: #9a8aa2;
  --sa-filet: #EDE6F0;
  --sa-champ-bord: #DDD0E3;
  --sa-violet-pale: #F0E7F3;
  --sa-violet-clair: #E2D6E8;
  --sa-trame-clair: #EFE8F2;
  --sa-trame-fonce: #D6C6DE;
  --sa-off-bg: #E9DCEE;
  --sa-off-txt: #A48DAE;
  --sa-off-txt2: #8a6a95;
  --sa-bord-pointille: #C9B4D2;
  --sa-sur-or: #5A3410;
  --sa-logo-vide: #A99BB0;
  --sa-erreur: #C0392B;

  /* Typographie */
  --sa-titre: Poppins, system-ui, -apple-system, "Segoe UI", sans-serif;
  --sa-corps-font: "Source Sans 3", system-ui, -apple-system, "Segoe UI", sans-serif;
  --sa-mono-font: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

  /* Gabarit */
  --sa-pad-x: 120px;
  --sa-max: 1200px;
}


/* --------------------------------------------------------------------------
   0 · BOÎTE — le HTML de référence applique `* { box-sizing: border-box }`.
   On le reproduit, mais scopé aux seuls éléments préfixés cog-.
   Sans cela, le padding s'ajoute à la largeur et les cartes se chevauchent.
   -------------------------------------------------------------------------- */
[class*="cog-"],
[class*="cog-"] *,
[class*="cog-"] *::before,
[class*="cog-"] *::after { box-sizing: border-box; }


/* --------------------------------------------------------------------------
   0bis · POLICE PAR DÉFAUT DU CONTENU SCOPÉ
   Sans cette règle, les textes de nos blocs héritent de la police du thème
   (Roboto par défaut sur Elementor). Toujours scopé sous une classe cog-.
   Les titres et les surtitres gardent leur police via leurs !important.
   -------------------------------------------------------------------------- */
[class*="cog-"] div, [class*="cog-"] span, [class*="cog-"] p,
[class*="cog-"] li, [class*="cog-"] a, [class*="cog-"] strong,
[class*="cog-"] em, [class*="cog-"] dt, [class*="cog-"] dd,
[class*="cog-"] label, [class*="cog-"] td, [class*="cog-"] th {
  font-family: var(--sa-corps-font);
}
/* Couleur de repli du contenu scopé sur fond clair */
.cog-don__effet, .cog-doc__t, .cog-champ { color: var(--sa-texte); }
.cog-legende { color: var(--sa-violet); }
.cog-ph .cog-legende { color: inherit; }

/* --------------------------------------------------------------------------
   1 · NEUTRALISATION DES CONTRAINTES ELEMENTOR SUR NOS GRILLES
   Les conteneurs Elementor imposent une largeur inline ; on la relâche
   uniquement à l'intérieur de nos grilles.
   -------------------------------------------------------------------------- */
.cog-grid > .e-con,
.cog-grid > .elementor-element {
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  --width: 100%;
}
.cog-grid > .e-con > .e-con-inner {
  width: 100% !important;
  max-width: none !important;
}

/* --------------------------------------------------------------------------
   2 · SECTIONS
   -------------------------------------------------------------------------- */
.cog-sec {
  position: relative;
  overflow: hidden;
}
.cog-sec > .e-con-inner {
  max-width: var(--sa-max) !important;
}

/* Padding horizontal réel du HTML : 120px sur un artboard 1440 */
.cog-sec {
  padding-left: var(--sa-pad-x) !important;
  padding-right: var(--sa-pad-x) !important;
}

/* --------------------------------------------------------------------------
   3 · GRILLES — largeurs fixes exactes du HTML
   -------------------------------------------------------------------------- */
.cog-grid {
  display: grid !important;
  width: 100% !important;
}

.cog-grid--2 {
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 24px !important;
}
.cog-grid--3 {
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
}
.cog-grid--4 {
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 24px !important;
}
.cog-grid--5 {
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 16px !important;
}
.cog-grid--7 {
  grid-template-columns: repeat(7, 1fr) !important;
  gap: 16px !important;
}
.cog-grid--4-16 {
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 16px !important;
}
.cog-grid--3-16 {
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 16px !important;
}
.cog-grid--3-48 {
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 48px !important;
}

.cog-grid--380 {
  grid-template-columns: 380px 1fr !important;
  gap: 64px !important;
  align-items: start !important;
}
.cog-grid--340 {
  grid-template-columns: 340px 1fr !important;
  gap: 64px !important;
  align-items: start !important;
}
.cog-grid--420g {
  grid-template-columns: 420px 1fr !important;
  gap: 64px !important;
  align-items: start !important;
}
.cog-grid--520g {
  grid-template-columns: 520px 1fr !important;
  gap: 64px !important;
  align-items: center !important;
}
.cog-grid--1fr520 {
  grid-template-columns: 1fr 520px !important;
  gap: 64px !important;
  align-items: center !important;
}
.cog-grid--1fr520a {
  grid-template-columns: 1fr 520px !important;
  gap: 48px !important;
  align-items: stretch !important;
}
.cog-grid--1fr640 {
  grid-template-columns: 1fr 640px !important;
  gap: 0 !important;
  align-items: stretch !important;
}
.cog-grid--1fr400 {
  grid-template-columns: 1fr 400px !important;
  gap: 64px !important;
  align-items: start !important;
}
.cog-grid--1fr420 {
  grid-template-columns: 1fr 420px !important;
  gap: 64px !important;
  align-items: start !important;
}
.cog-grid--1fr460 {
  grid-template-columns: 1fr 460px !important;
  gap: 48px !important;
  align-items: start !important;
}
.cog-grid--1fr480 {
  grid-template-columns: 1fr 480px !important;
  gap: 64px !important;
  align-items: center !important;
}
.cog-grid--1fr240 {
  grid-template-columns: 1fr 240px !important;
  gap: 40px !important;
  align-items: center !important;
}
.cog-grid--1fr1fr {
  grid-template-columns: 1fr 1fr !important;
  gap: 64px !important;
  align-items: start !important;
}
.cog-grid--1fr1fr32 {
  grid-template-columns: 1fr 1fr !important;
  gap: 32px !important;
  align-items: start !important;
}
.cog-grid--1fr1fr24 {
  grid-template-columns: 1fr 1fr !important;
  gap: 24px !important;
  align-items: start !important;
}
.cog-grid--1fr1fr20 {
  grid-template-columns: 1fr 1fr !important;
  gap: 20px !important;
  align-items: start !important;
}
.cog-grid--1fr1fr8 {
  grid-template-columns: 1fr 1fr !important;
  gap: 8px !important;
}

/* --------------------------------------------------------------------------
   4 · CERCLES DÉCORATIFS (arcs de marque)
   Hors flux, en pseudo-éléments — non natif dans Elementor.
   -------------------------------------------------------------------------- */
.cog-arcs::before,
.cog-arcs::after {
  content: "";
  position: absolute;
  border-radius: 50% !important;
  pointer-events: none;
  z-index: 0;
}
.cog-arcs > * {
  position: relative;
  z-index: 1;
}

/* Hero accueil : 900px top -220 right -220 · 640px top 120 right 40 */
.cog-arcs--hero::before {
  width: 900px !important;
  height: 900px !important;
  border: 1.5px solid rgba(242,166,43,.22) !important;
  top: -220px;
  right: -220px;
}
.cog-arcs--hero::after {
  width: 640px !important;
  height: 640px !important;
  border: 1.5px solid rgba(255,255,255,.14) !important;
  top: 120px;
  right: 40px;
}
/* Bloc NAATAANGE : 760px bottom -380 left -200 */
.cog-arcs--naat::before {
  width: 760px !important;
  height: 760px !important;
  border: 1.5px solid rgba(242,166,43,.18) !important;
  bottom: -380px;
  left: -200px;
}
.cog-arcs--naat::after {
  display: none !important;
}
/* Footer : 620px */
.cog-arcs--footer::before {
  width: 620px !important;
  height: 620px !important;
  border: 1.5px solid rgba(242,166,43,.16) !important;
  bottom: -260px;
  right: -160px;
}
.cog-arcs--footer::after {
  display: none !important;
}

/* --------------------------------------------------------------------------
   5 · HERO A — tramé + dégradé de lecture
   -------------------------------------------------------------------------- */
.cog-hero-a {
  justify-content: center !important;
  min-height: 720px !important;
  background-image: repeating-linear-gradient(135deg, #56206B 0 12px, #4A1A5C 12px 24px) !important;
  background-size: cover !important;
}
.cog-hero-a::marker {
  content: none;
}
.cog-hero-a > .e-con-inner {
  max-width: 1040px !important;
  margin-inline: 0;
}
/* Overlay de lecture — exact */
.cog-hero-a .cog-hero-a__voile {
  position: absolute !important;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(100deg, rgba(74,26,92,.94) 0%, rgba(74,26,92,.74) 46%, rgba(106,35,130,.34) 100%) !important;
}
/* Le contenu du hero reste au-dessus du voile */
.cog-hero-a > .e-con-inner {
  position: relative;
  z-index: 1;
  flex: 1 !important;
  justify-content: center;
}
/* Légende technique de la photo */
.cog-hero-a__legende {
  position: absolute;
  bottom: 24px;
  right: 40px;
  z-index: 2;
  font-family: var(--sa-mono-font) !important;
  font-size: 11px !important;
  letter-spacing: .08em !important;
  color: rgba(255,255,255,.45) !important;
}

/* --------------------------------------------------------------------------
   6 · EMPLACEMENTS PHOTO (tramés diagonaux)
   Reproduisent exactement les placeholders du HTML.
   Pour poser la vraie photo : définir une image de fond sur le conteneur.
   -------------------------------------------------------------------------- */
.cog-ph {
  display: flex !important;
  align-items: flex-end !important;
  background-image: repeating-linear-gradient(135deg, var(--sa-trame-clair) 0 12px, var(--sa-violet-clair) 12px 24px) !important;
  background-size: cover !important;
  background-position: center !important;
  font-family: var(--sa-mono-font) !important;
  font-size: 11px !important;
  line-height: 1.6 !important;
  color: var(--sa-violet) !important;
}
.cog-ph--fin {
  background-image: repeating-linear-gradient(135deg, var(--sa-trame-clair) 0 10px, var(--sa-violet-clair) 10px 20px) !important;
  font-size: 10px !important;
}
.cog-ph--fonce {
  background-image: repeating-linear-gradient(135deg, var(--sa-violet-clair) 0 12px, var(--sa-trame-fonce) 12px 24px) !important;
}
.cog-ph--clair {
  background-image: repeating-linear-gradient(135deg, rgba(255,255,255,.12) 0 12px, rgba(255,255,255,.05) 12px 24px) !important;
  color: rgba(255,255,255,.55) !important;
}
.cog-ph--clair2 {
  background-image: repeating-linear-gradient(135deg, rgba(255,255,255,.16) 0 12px, rgba(255,255,255,.05) 12px 24px) !important;
  color: rgba(255,255,255,.55) !important;
}
.cog-ph--or {
  background-image: repeating-linear-gradient(135deg, rgba(242,166,43,.35) 0 12px, rgba(242,166,43,.14) 12px 24px) !important;
  color: rgba(255,255,255,.7) !important;
}
.cog-ph--avatar {
  background-image: repeating-linear-gradient(135deg, rgba(255,255,255,.2) 0 8px, rgba(255,255,255,.08) 8px 16px) !important;
}

/* Masques d'arc — rayons asymétriques exacts */
.cog-m--arc-g {
  border-radius: 320px 0 0 320px !important;
}
.cog-m--arc-td {
  border-radius: 240px 24px 240px 24px !important;
}
.cog-m--arc-tg {
  border-radius: 24px 240px 24px 240px !important;
}
.cog-m--haut {
  border-radius: 24px 24px 0 0 !important;
}
.cog-m--24 {
  border-radius: 24px !important;
}
.cog-m--rond {
  border-radius: 50% !important;
}

/* Hauteurs relevées */
.cog-h--190 {
  height: 190px !important;
}
.cog-h--200 {
  height: 200px !important;
}
.cog-h--220 {
  height: 220px !important;
}
.cog-h--300 {
  height: 300px !important;
}
.cog-h--420 {
  height: 420px !important;
}
.cog-h--460 {
  min-height: 460px !important;
}
.cog-h--480 {
  height: 480px !important;
}
.cog-h--520 {
  height: 520px !important;
}
.cog-h--600 {
  height: 600px !important;
}

/* --------------------------------------------------------------------------
   7 · TYPOGRAPHIE
   -------------------------------------------------------------------------- */
.cog-eyebrow {
  font-family: var(--sa-mono-font) !important;
  font-size: 12px !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  color: var(--sa-violet) !important;
  margin: 0 0 24px !important;
}
.cog-eyebrow--or {
  color: var(--sa-or) !important;
}
.cog-eyebrow--clair {
  color: rgba(255,255,255,.6) !important;
}
.cog-eyebrow--16 {
  margin-bottom: 16px;
}

.cog-h1, .cog-h1 .elementor-heading-title {
  font-family: var(--sa-titre) !important;
  font-weight: 800 !important;
  font-size: 74px !important;
  line-height: 1.04 !important;
  letter-spacing: -.025em !important;
  color: var(--sa-blanc) !important;
}
.cog-h1--92 .elementor-heading-title {
  font-size: 92px !important;
  line-height: 1 !important;
  letter-spacing: -.03em !important;
}
.cog-h1--76 .elementor-heading-title {
  font-size: 76px !important;
  line-height: 1.03 !important;
  letter-spacing: -.03em !important;
}
.cog-h1--72 .elementor-heading-title {
  font-size: 72px !important;
  line-height: 1.04 !important;
  letter-spacing: -.03em !important;
}
.cog-h1--68 .elementor-heading-title {
  font-size: 68px !important;
  line-height: 1.05 !important;
  letter-spacing: -.025em !important;
}
.cog-h1--64 .elementor-heading-title {
  font-size: 64px !important;
  line-height: 1.05 !important;
  letter-spacing: -.03em !important;
}
.cog-h1--52 .elementor-heading-title {
  font-size: 52px !important;
  line-height: 1.08 !important;
  letter-spacing: -.025em !important;
}

.cog-h2 .elementor-heading-title {
  font-family: var(--sa-titre) !important;
  font-weight: 700 !important;
  font-size: 42px !important;
  line-height: 1.12 !important;
  letter-spacing: -.02em !important;
  color: var(--sa-violet-dark) !important;
}
.cog-h2--46 .elementor-heading-title {
  font-size: 46px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
}
.cog-h2--40 .elementor-heading-title {
  font-size: 40px !important;
  line-height: 1.15 !important;
}
.cog-h2--36 .elementor-heading-title {
  font-size: 36px !important;
  line-height: 1.14 !important;
}
.cog-h2--34 .elementor-heading-title {
  font-size: 34px !important;
  line-height: 1.15 !important;
  letter-spacing: 0 !important;
}
.cog-h2--62 .elementor-heading-title {
  font-size: 62px !important;
  font-weight: 800 !important;
  line-height: 1.05 !important;
}

.cog-h3 .elementor-heading-title {
  font-family: var(--sa-titre) !important;
  font-weight: 600 !important;
  font-size: 24px !important;
  line-height: 1.3 !important;
  color: var(--sa-violet-dark) !important;
}
.cog-h3--28 .elementor-heading-title {
  font-size: 28px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}
.cog-h3--26 .elementor-heading-title {
  font-size: 26px !important;
  font-weight: 700 !important;
}
.cog-h3--23 .elementor-heading-title {
  font-size: 23px !important;
}
.cog-h3--22 .elementor-heading-title {
  font-size: 22px !important;
  line-height: 1.25 !important;
}
.cog-h3--21 .elementor-heading-title {
  font-size: 21px !important;
}
.cog-h3--20 .elementor-heading-title {
  font-size: 20px !important;
}
.cog-h3--19 .elementor-heading-title {
  font-size: 19px !important;
}
.cog-h3--clair .elementor-heading-title {
  color: var(--sa-blanc) !important;
}

.cog-p {
  font-family: var(--sa-corps-font) !important;
  font-size: 18px !important;
  line-height: 1.7 !important;
  color: var(--sa-corps) !important;
}
.cog-p--21 {
  font-size: 21px !important;
  line-height: 1.65 !important;
}
.cog-p--20 {
  font-size: 20px !important;
}
.cog-p--19 {
  font-size: 19px !important;
}
.cog-p--18 {
  font-size: 18px !important;
}
.cog-p--17 {
  font-size: 17px !important;
}
.cog-p--16 {
  font-size: 16px !important;
  line-height: 1.65 !important;
}
.cog-p--15 {
  font-size: 15px !important;
  line-height: 1.6 !important;
}
.cog-p--clair {
  color: rgba(255,255,255,.88) !important;
}
.cog-p--clair85 {
  color: rgba(255,255,255,.85) !important;
}
.cog-p--clair82 {
  color: rgba(255,255,255,.82) !important;
}
.cog-p--clair8 {
  color: rgba(255,255,255,.8) !important;
}
.cog-p--clair78 {
  color: rgba(255,255,255,.78) !important;
}
.cog-p--clair72 {
  color: rgba(255,255,255,.72) !important;
}
.cog-p--clair7 {
  color: rgba(255,255,255,.7) !important;
}
.cog-p--surviolet {
  color: rgba(74,26,92,.82) !important;
}
.cog-p--suror {
  color: var(--sa-sur-or) !important;
}
.cog-p--max620 {
  max-width: 620px !important;
}
.cog-p--max560 {
  max-width: 560px !important;
}

/* Signature de marque : second membre de phrase en or */
.cog-or {
  color: var(--sa-or) !important;
}
.cog-violet {
  color: var(--sa-violet) !important;
}

/* Légende mono d'emplacement photo */
.cog-legende {
  font-family: var(--sa-mono-font) !important;
  font-size: 11px !important;
  line-height: 1.6 !important;
  letter-spacing: .04em !important;
}


/* --------------------------------------------------------------------------
   7bis · HÉRITAGE DANS LES WIDGETS ELEMENTOR
   Elementor applique ses réglages globaux sur `.elementor-heading-title`
   et `.elementor-widget-container`. On force l'héritage du wrapper cog-.
   -------------------------------------------------------------------------- */
.cog-eyebrow .elementor-heading-title,
.cog-note .elementor-heading-title,
.cog-p .elementor-widget-container,
.cog-p p,
.cog-p ul,
.cog-p li {
  color: inherit !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
  text-transform: inherit !important;
}
.cog-p p { margin: 0 0 1em; }
.cog-p p:last-child { margin-bottom: 0; }


/* --------------------------------------------------------------------------
   7ter · COULEUR DES TITRES
   Le réglage « couleur » d'Elementor ne peut pas battre nos !important :
   on passe par ces classes, appliquées par les modèles.
   -------------------------------------------------------------------------- */
.cog-t--blanc, .cog-t--blanc .elementor-heading-title { color: #FFFFFF !important; }
.cog-t--fonce, .cog-t--fonce .elementor-heading-title { color: #4A1A5C !important; }
.cog-t--violet, .cog-t--violet .elementor-heading-title { color: #6A2382 !important; }
.cog-t--or, .cog-t--or .elementor-heading-title { color: #F2A62B !important; }

/* --------------------------------------------------------------------------
   8 · BOUTONS — valeurs exactes
   -------------------------------------------------------------------------- */
.cog-btn .elementor-button {
  font-family: var(--sa-titre) !important;
  font-weight: 600 !important;
  font-size: 17px !important;
  border-radius: 999px !important;
  padding: 18px 34px !important;
  min-height: 56px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: none !important;
  transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}
.cog-btn--or .elementor-button {
  background: var(--sa-or) !important;
  color: var(--sa-violet-dark) !important;
}
.cog-btn--or .elementor-button:hover {
  background: var(--sa-or-dark) !important;
  color: var(--sa-blanc) !important;
}

.cog-btn--ligne-clair .elementor-button {
  background: transparent !important;
  color: var(--sa-blanc) !important;
  border: 2px solid rgba(255,255,255,.6) !important;
  padding: 16px 32px !important;
}
.cog-btn--ligne-clair .elementor-button:hover {
  border-color: var(--sa-blanc) !important;
  background: rgba(255,255,255,.12) !important;
}

.cog-btn--ligne .elementor-button {
  background: transparent !important;
  color: var(--sa-violet) !important;
  border: 2px solid var(--sa-violet) !important;
  padding: 16px 32px !important;
}
.cog-btn--ligne .elementor-button:hover {
  background: var(--sa-violet) !important;
  color: var(--sa-blanc) !important;
}

.cog-btn--violet .elementor-button {
  background: var(--sa-violet) !important;
  color: var(--sa-blanc) !important;
  font-size: 16px !important;
  padding: 16px 28px !important;
  min-height: 48px !important;
}
.cog-btn--violet .elementor-button:hover {
  background: var(--sa-violet-dark) !important;
}

.cog-btn--fonce .elementor-button {
  background: var(--sa-violet-dark) !important;
  color: var(--sa-blanc) !important;
}
.cog-btn--fonce .elementor-button:hover {
  background: var(--sa-violet) !important;
}

.cog-btn--ligne-fonce .elementor-button {
  background: transparent !important;
  color: var(--sa-violet-dark) !important;
  border: 2px solid var(--sa-violet-dark) !important;
  padding: 16px 32px !important;
}
.cog-btn--ligne-fonce .elementor-button:hover {
  background: var(--sa-violet-dark) !important;
  color: var(--sa-blanc) !important;
}

.cog-btn--bloc .elementor-button {
  width: 100% !important;
  padding: 18px !important;
}
.cog-btn--don .elementor-button {
  background: var(--sa-violet) !important;
  color: var(--sa-blanc) !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  padding: 20px !important;
  width: 100% !important;
}
.cog-btn--charger .elementor-button {
  background: var(--sa-blanc) !important;
  color: var(--sa-violet) !important;
  border: 1.5px solid var(--sa-violet) !important;
  padding: 18px 40px !important;
}
.cog-btn--charger .elementor-button:hover {
  background: var(--sa-violet) !important;
  color: var(--sa-blanc) !important;
}
.cog-btn--off .elementor-button {
  background: var(--sa-off-bg) !important;
  color: var(--sa-off-txt) !important;
  font-size: 16px !important;
  padding: 16px 28px !important;
  min-height: 48px !important;
  cursor: not-allowed;
}
.cog-btn--off .elementor-button:hover {
  background: var(--sa-off-bg) !important;
  color: var(--sa-off-txt) !important;
}

/* --------------------------------------------------------------------------
   9 · BADGES ET PILULES
   -------------------------------------------------------------------------- */
.cog-badge {
  display: inline-block !important;
  font-family: var(--sa-titre) !important;
  font-weight: 600 !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  border-radius: 999px !important;
  padding: 6px 14px !important;
}
.cog-badge--or {
  background: var(--sa-or) !important;
  color: var(--sa-violet-dark) !important;
}
.cog-badge--doux {
  background: var(--sa-violet-pale) !important;
  color: var(--sa-violet) !important;
}
.cog-badge--violet {
  background: var(--sa-violet) !important;
  color: var(--sa-blanc) !important;
}
.cog-badge--ligne {
  background: transparent !important;
  border: 1px solid var(--sa-bord-pointille) !important;
  color: var(--sa-violet) !important;
  padding: 5px 13px !important;
}
.cog-badge--off {
  background: var(--sa-off-bg) !important;
  color: var(--sa-off-txt2) !important;
}
.cog-badge--13 {
  font-size: 13px !important;
  padding: 7px 16px !important;
}
.cog-badge--blanc {
  background: var(--sa-blanc) !important;
  color: var(--sa-violet) !important;
}

/* Badge « PROJET PHARE » — 8px 18px, letter-spacing .1em, 13px */
.cog-badge--phare {
  background: var(--sa-or) !important;
  color: var(--sa-violet-dark) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: .1em !important;
  padding: 8px 18px !important;
}

/* Date mono dans les cartes */
.cog-date {
  font-family: var(--sa-mono-font) !important;
  font-size: 12px !important;
  color: var(--sa-mono-date) !important;
}
.cog-date--11 {
  font-size: 11px !important;
  color: var(--sa-mono) !important;
}

/* Ligne badge + date */
.cog-meta { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 14px; }

/* --------------------------------------------------------------------------
   10 · FILTRES (pilules cliquables)
   -------------------------------------------------------------------------- */
.cog-filtres {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: center !important;
}
.cog-filtre {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: var(--sa-titre) !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  border-radius: 999px !important;
  padding: 12px 22px !important;
  min-height: 48px !important;
  background: var(--sa-blanc) !important;
  color: var(--sa-violet-dark) !important;
  border: 1px solid var(--sa-violet-clair) !important;
  text-decoration: none;
  cursor: pointer;
  transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}
.cog-filtre:hover {
  border-color: var(--sa-violet) !important;
  color: var(--sa-violet) !important;
}
.cog-filtre.is-actif,
.cog-filtre[aria-current="true"] {
  background: var(--sa-violet) !important;
  border-color: var(--sa-violet) !important;
  color: var(--sa-blanc) !important;
}
/* Variante Rejoignez-nous : fond clair, padding 13px 24px */
.cog-filtre--clair {
  background: var(--sa-bg) !important;
  border-color: transparent !important;
  padding: 13px 24px !important;
}
.cog-filtre--clair.is-actif {
  background: var(--sa-violet) !important;
  color: var(--sa-blanc) !important;
}

/* Champ de recherche (Actualités) */
.cog-recherche {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  background: var(--sa-bg) !important;
  border-radius: 999px !important;
  padding: 12px 22px !important;
  min-height: 48px !important;
}
.cog-recherche__lab {
  font-family: var(--sa-mono-font) !important;
  font-size: 12px !important;
  letter-spacing: .12em !important;
  color: var(--sa-mono) !important;
}
.cog-recherche__ph {
  font-size: 16px !important;
  color: #b6a8bd !important;
}

/* --------------------------------------------------------------------------
   11 · CARTES
   -------------------------------------------------------------------------- */
.cog-carte {
  border-radius: 24px !important;
  overflow: hidden;
  display: flex !important;
  flex-direction: column !important;
}
.cog-carte--blanc {
  background: var(--sa-blanc) !important;
}
.cog-carte--clair {
  background: var(--sa-bg) !important;
}
.cog-carte--violet {
  background: var(--sa-violet) !important;
}
.cog-carte--fonce {
  background: var(--sa-violet-dark) !important;
}
.cog-carte--or {
  background: var(--sa-or) !important;
}
.cog-carte--voile {
  background: rgba(255,255,255,.08) !important;
}
.cog-carte--voile7 {
  background: rgba(255,255,255,.07) !important;
}
.cog-carte--r20 {
  border-radius: 20px !important;
}
.cog-carte--r16 {
  border-radius: 16px !important;
}
.cog-carte--r28 {
  border-radius: 28px !important;
}
.cog-carte--bord {
  border: 1px solid var(--sa-filet) !important;
}
.cog-carte--survol:hover {
  background: var(--sa-violet-pale) !important;
}

/* Icône de carte levier : cercle 56px, contour 3px or, rayons variables */
.cog-icone {
  width: 56px !important;
  height: 56px !important;
  border: 3px solid var(--sa-or) !important;
  margin-bottom: 24px;
}
.cog-icone--a {
  border-radius: 50% !important;
}
.cog-icone--b {
  border-radius: 50% 50% 50% 4px !important;
}
.cog-icone--c {
  border-radius: 4px 50% 50% 50% !important;
}

/* Liseré gauche des cartes d'offre */
.cog-carte.cog-offre {
  border-left-width: 5px !important;
  border-left-style: solid !important;
  border-left-color: transparent !important;
}
.cog-carte.cog-offre--emploi { border-left-color: var(--sa-or) !important; }
.cog-carte.cog-offre--conseil { border-left-color: var(--sa-violet) !important; }
.cog-carte.cog-offre--off { border-left-color: var(--sa-off-bg) !important; }

/* Lien « lire la suite » */
.cog-lien {
  font-family: var(--sa-titre) !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  color: var(--sa-violet) !important;
  text-decoration: none;
  border-bottom: 2px solid var(--sa-or);
  padding-bottom: 2px !important;
}
.cog-lien:hover {
  color: var(--sa-violet-dark) !important;
}
.cog-lien--clair {
  color: var(--sa-or) !important;
  border-bottom-color: var(--sa-or) !important;
}

/* --------------------------------------------------------------------------
   12 · CHIFFRES
   -------------------------------------------------------------------------- */
/* Bande de chiffres : filet gauche 3px or + padding-left 24px */
.cog-chiffre {
  border-left: 3px solid var(--sa-or) !important;
  padding-left: 24px !important;
}
.cog-chiffre__v,
.cog-chiffre .elementor-counter-number-wrapper {
  font-family: var(--sa-titre) !important;
  font-weight: 800 !important;
  font-size: 66px !important;
  line-height: 1 !important;
  color: var(--sa-or) !important;
}
.cog-chiffre__l,
.cog-chiffre .elementor-counter-title {
  font-family: var(--sa-corps-font) !important;
  font-size: 17px !important;
  line-height: 1.5 !important;
  color: rgba(255,255,255,.88) !important;
  margin-top: 12px !important;
  text-align: left;
}
/* Chiffres sur fond clair (résultats de programme) */
.cog-chiffre--clair .cog-chiffre__v {
  color: var(--sa-violet) !important;
}
.cog-chiffre--clair .cog-chiffre__l {
  color: var(--sa-corps) !important;
}
/* Chiffres inline du bloc NAATAANGE */
.cog-chiffres-inline {
  display: flex !important;
  gap: 40px !important;
  flex-wrap: wrap !important;
}
.cog-chiffres-inline .cog-chiffre__v {
  font-size: 44px !important;
}

/* --------------------------------------------------------------------------
   13 · JAUGES
   -------------------------------------------------------------------------- */
.cog-jauge {
  margin-bottom: 24px;
}
.cog-jauge__t {
  display: flex !important;
  justify-content: space-between !important;
  align-items: baseline !important;
  gap: 16px !important;
  margin-bottom: 10px;
}
.cog-jauge__lab {
  font-family: var(--sa-titre) !important;
  font-weight: 600 !important;
  font-size: 17px !important;
  color: var(--sa-violet-dark) !important;
}
.cog-jauge__val {
  font-family: var(--sa-titre) !important;
  font-weight: 700 !important;
  font-size: 17px !important;
  color: var(--sa-violet) !important;
}
.cog-jauge__piste {
  background: var(--sa-violet-pale) !important;
  border-radius: 999px !important;
  height: 16px !important;
  overflow: hidden;
}
.cog-jauge__fill {
  background: var(--sa-violet) !important;
  border-radius: 999px !important;
  height: 100% !important;
  transition: width .8s ease;
}
/* Variante sur fond violet (Soutenir) */
.cog-jauge--clair .cog-jauge__lab {
  color: var(--sa-blanc) !important;
  font-family: var(--sa-corps-font) !important;
  font-weight: 400 !important;
  font-size: 18px !important;
}
.cog-jauge--clair .cog-jauge__val {
  color: var(--sa-or) !important;
  font-size: 18px !important;
}
.cog-jauge--clair .cog-jauge__piste {
  background: rgba(255,255,255,.14) !important;
  height: 12px !important;
}
.cog-jauge--clair .cog-jauge__fill {
  background: var(--sa-or) !important;
}

/* --------------------------------------------------------------------------
   14 · LIGNES DE DOCUMENT
   -------------------------------------------------------------------------- */
.cog-doc {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  background: var(--sa-blanc) !important;
  border: 1px solid var(--sa-filet) !important;
  border-radius: 12px !important;
  padding: 16px 20px !important;
  min-height: 56px !important;
  text-decoration: none;
  transition: border-color .18s ease;
}
.cog-doc:hover {
  border-color: var(--sa-or) !important;
}
.cog-doc__t {
  font-family: var(--sa-corps-font) !important;
  font-size: 17px !important;
  color: var(--sa-violet-dark) !important;
}
.cog-doc__m {
  font-family: var(--sa-mono-font) !important;
  font-size: 11px !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: var(--sa-mono) !important;
}
.cog-doc__f {
  font-size: 24px !important;
  color: var(--sa-or) !important;
  line-height: 1 !important;
}
/* Variante sur fond violet foncé (encart NAATAANGE) */
.cog-doc--voile {
  background: rgba(255,255,255,.08) !important;
  border: none !important;
  border-radius: 12px !important;
  padding: 14px 18px !important;
  min-height: 52px !important;
}
.cog-doc--voile .cog-doc__t {
  color: var(--sa-blanc) !important;
  font-size: 16px !important;
}
.cog-doc--voile .cog-doc__m {
  color: var(--sa-or) !important;
}
/* Ligne région (zones d'intervention) */
.cog-region {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  background: rgba(255,255,255,.08) !important;
  border-radius: 12px !important;
  padding: 16px 20px !important;
  min-height: 56px !important;
}
.cog-region__n {
  font-family: var(--sa-corps-font) !important;
  font-size: 17px !important;
  color: var(--sa-blanc) !important;
}
.cog-region__v {
  font-family: var(--sa-titre) !important;
  font-weight: 700 !important;
  font-size: 17px !important;
  color: var(--sa-or) !important;
}
/* Variante sur fond clair (Programmes) */
.cog-region--clair {
  background: var(--sa-blanc) !important;
}
.cog-region--clair .cog-region__n {
  color: var(--sa-violet-dark) !important;
}
.cog-region--clair .cog-region__v {
  color: var(--sa-violet) !important;
  font-size: 16px !important;
}

/* --------------------------------------------------------------------------
   15 · AVANT / APRÈS (Impact)
   -------------------------------------------------------------------------- */
.cog-ap {
  display: flex !important;
  gap: 12px !important;
  margin: 16px 0 !important;
}
.cog-ap__b {
  flex: 1 !important;
  border-radius: 12px !important;
  padding: 14px !important;
}
.cog-ap__b--avant {
  background: var(--sa-bg) !important;
}
.cog-ap__b--apres {
  background: var(--sa-or) !important;
}
.cog-ap__lab {
  font-family: var(--sa-mono-font) !important;
  font-size: 10px !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: var(--sa-mono) !important;
  display: block !important;
  margin-bottom: 4px;
}
.cog-ap__b--apres .cog-ap__lab {
  color: rgba(74,26,92,.6) !important;
}
.cog-ap__v {
  font-family: var(--sa-titre) !important;
  font-weight: 700 !important;
  font-size: 20px !important;
  color: var(--sa-violet-dark) !important;
}

/* --------------------------------------------------------------------------
   16 · MODULE DE DON (Soutenir)
   -------------------------------------------------------------------------- */
.cog-don {
  background: var(--sa-blanc) !important;
  border-radius: 28px !important;
  padding: 40px !important;
}
.cog-don__bascule {
  display: flex !important;
  background: var(--sa-bg) !important;
  border-radius: 999px !important;
  padding: 4px !important;
  margin-bottom: 20px;
}
.cog-don__onglet {
  flex: 1 !important;
  text-align: center;
  border-radius: 999px !important;
  padding: 14px !important;
  font-family: var(--sa-titre) !important;
  font-weight: 600 !important;
  font-size: 16px !important;
  color: var(--sa-violet) !important;
  cursor: pointer;
}
.cog-don__onglet.is-actif {
  background: var(--sa-violet) !important;
  color: var(--sa-blanc) !important;
}
.cog-don__montants {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 8px !important;
  margin-bottom: 8px;
}
.cog-don__m {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--sa-blanc) !important;
  border: 2px solid var(--sa-violet-clair) !important;
  border-radius: 14px !important;
  padding: 20px !important;
  min-height: 64px !important;
  font-family: var(--sa-titre) !important;
  font-weight: 600 !important;
  font-size: 18px !important;
  color: var(--sa-violet-dark) !important;
  cursor: pointer;
}
.cog-don__m.is-actif {
  background: var(--sa-or) !important;
  border-color: var(--sa-or) !important;
}
.cog-don__autre {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 2px solid var(--sa-violet-clair) !important;
  border-radius: 14px !important;
  padding: 20px !important;
  min-height: 64px !important;
  color: #9A8AA2 !important;
  font-size: 16px !important;
  margin-bottom: 16px;
}
.cog-don__effet {
  background: var(--sa-bg) !important;
  border-radius: 16px !important;
  padding: 22px !important;
  margin-bottom: 16px;
}
.cog-don__effet-lab {
  font-family: var(--sa-mono-font) !important;
  font-size: 11px !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: var(--sa-violet) !important;
  display: block !important;
  margin-bottom: 8px;
}
.cog-don__note {
  font-family: var(--sa-mono-font) !important;
  font-size: 11px !important;
  letter-spacing: .1em !important;
  color: var(--sa-mono) !important;
  text-align: center;
  margin-top: 14px !important;
}

/* --------------------------------------------------------------------------
   17 · FORMULAIRES (Contact, candidature)
   -------------------------------------------------------------------------- */
.cog-form { background: var(--sa-blanc); border-radius: 24px; padding: 48px; }
.cog-champ {
  display: flex !important;
  align-items: center !important;
  background: var(--sa-bg) !important;
  border: 1px solid var(--sa-filet) !important;
  border-radius: 12px !important;
  padding: 18px 20px !important;
  min-height: 56px !important;
  font-family: var(--sa-corps-font) !important;
  font-size: 16px !important;
  color: #9A8AA2 !important;
}
.cog-champ--zone {
  min-height: 160px !important;
  align-items: flex-start !important;
}
.cog-champ__lab {
  font-family: var(--sa-titre) !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  color: var(--sa-violet-dark) !important;
  display: block !important;
  margin-bottom: 8px;
}
/* Bloc candidature sur fond or */
.cog-cand {
  background: var(--sa-or) !important;
  border-radius: 24px !important;
  padding: 40px !important;
}
.cog-cand .cog-champ {
  background: var(--sa-blanc) !important;
  border-color: transparent !important;
}
.cog-depot {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 2px dashed rgba(74,26,92,.45) !important;
  border-radius: 12px !important;
  padding: 26px !important;
  background: rgba(255,255,255,.45) !important;
  font-family: var(--sa-titre) !important;
  font-weight: 600 !important;
  font-size: 16px !important;
  color: var(--sa-violet-dark) !important;
}
.cog-mention {
  font-family: var(--sa-mono-font) !important;
  font-size: 11px !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: rgba(74,26,92,.55) !important;
}

/* --------------------------------------------------------------------------
   18 · DIVERS
   -------------------------------------------------------------------------- */
/* Fil d'Ariane */
.cog-fil {
  font-family: var(--sa-mono-font) !important;
  font-size: 12px !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.55) !important;
  margin-bottom: 20px;
}
.cog-fil--fonce {
  color: var(--sa-mono) !important;
}

/* Chips logo bailleur */
.cog-chips {
  display: flex !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}
.cog-chip {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(255,255,255,.12) !important;
  border-radius: 8px !important;
  height: 44px !important;
  padding: 0 18px !important;
  font-family: var(--sa-mono-font) !important;
  font-size: 10px !important;
  letter-spacing: .1em !important;
  color: rgba(255,255,255,.7) !important;
}
.cog-chip--clair {
  background: rgba(255,255,255,.75) !important;
  border-radius: 10px !important;
  height: 56px !important;
  color: var(--sa-violet-dark) !important;
}

/* Bande partenaires : 7 chips de 72px */
.cog-logo {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center;
  background: var(--sa-blanc) !important;
  border-radius: 12px !important;
  height: 72px !important;
  padding: 8px !important;
  font-family: var(--sa-mono-font) !important;
  font-size: 10px !important;
  letter-spacing: .06em !important;
  color: var(--sa-logo-vide) !important;
}

/* Puces à pastille or */
.cog-puces {
  list-style: none;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}
.cog-puces li {
  position: relative;
  padding-left: 26px !important;
  font-size: 17px !important;
  line-height: 1.7 !important;
  color: var(--sa-corps) !important;
}
.cog-puces li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .6em;
  width: 10px !important;
  height: 10px !important;
  border-radius: 50% !important;
  background: var(--sa-or) !important;
}

/* Filet supérieur (timeline, antennes) */
.cog-filet-haut {
  border-top: 3px solid var(--sa-violet-clair) !important;
  padding-top: 20px !important;
}
.cog-filet-haut--or {
  border-top-color: var(--sa-or) !important;
}

/* Note en pied de section */
.cog-note {
  font-family: var(--sa-mono-font) !important;
  font-size: 11px !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: var(--sa-mono) !important;
}

/* Marqueur [XX] / [À VALIDER] */
.cog-xx {
  color: var(--sa-or) !important;
}

/* --------------------------------------------------------------------------
   19 · EN-TÊTE ET PIED DE PAGE
   -------------------------------------------------------------------------- */
.cog-sa-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: #FFFFFF !important;
  border-bottom: 1px solid #EDE6F0;
  height: 88px !important;
  padding: 0 40px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
}
.cog-sa-header__marque {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  text-decoration: none;
}
.cog-sa-header__marque img {
  width: 60px !important;
  height: 60px !important;
  border-radius: 50% !important;
  display: block !important;
}
.cog-sa-header__nom {
  font-family: Poppins, sans-serif !important;
  font-weight: 700 !important;
  font-size: 17px !important;
  line-height: 1.15 !important;
  color: #4A1A5C !important;
}
.cog-sa-header nav ul {
  display: flex !important;
  align-items: center !important;
  gap: 26px !important;
  list-style: none;
  margin: 0 !important;
  padding: 0 !important;
}
.cog-sa-header nav a {
  font-family: Poppins, sans-serif !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  color: #4A1A5C !important;
  text-decoration: none;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 5px !important;
  min-height: 48px !important;
  justify-content: center !important;
}
.cog-sa-header nav a:hover {
  color: #6A2382 !important;
}
.cog-sa-header nav .current-menu-item > a::after,
.cog-sa-header nav .current_page_item > a::after {
  content: "";
  display: block !important;
  height: 3px !important;
  width: 100% !important;
  background: #F2A62B !important;
  border-radius: 2px !important;
}
.cog-sa-header__lang {
  display: flex !important;
  align-items: center !important;
  background: #F7F4F9 !important;
  border-radius: 999px !important;
  padding: 4px !important;
  font-family: Poppins, sans-serif !important;
  font-weight: 600 !important;
  font-size: 13px !important;
}
.cog-sa-header__lang a {
  padding: 9px 15px !important;
  border-radius: 999px !important;
  color: #6A2382 !important;
  text-decoration: none;
}
.cog-sa-header__lang a.is-actif {
  background: #6A2382 !important;
  color: #FFFFFF !important;
}
.cog-sa-header__cta {
  font-family: Poppins, sans-serif !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  background: #F2A62B !important;
  color: #4A1A5C !important;
  border-radius: 999px !important;
  padding: 14px 26px !important;
  min-height: 48px !important;
  display: inline-flex !important;
  align-items: center !important;
  text-decoration: none;
  transition: background-color .18s ease, color .18s ease;
}
.cog-sa-header__cta:hover {
  background: #D98F14 !important;
  color: #FFFFFF !important;
}

.cog-sa-footer {
  background: #4A1A5C !important;
  color: #FFFFFF !important;
  position: relative;
  overflow: hidden;
  font-family: "Source Sans 3", system-ui, sans-serif !important;
}
.cog-sa-footer__grille {
  display: grid !important;
  grid-template-columns: 320px 1fr 1fr 1fr !important;
  gap: 64px !important;
  padding: 80px 120px 40px !important;
  position: relative;
  z-index: 1;
}
.cog-sa-footer__logo {
  width: 96px !important;
  height: 96px !important;
  border-radius: 50% !important;
  background: #FFFFFF !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 20px;
}
.cog-sa-footer__logo img {
  width: 80px !important;
  height: 80px !important;
  border-radius: 50% !important;
}
.cog-sa-footer__nom {
  font-family: Poppins, sans-serif !important;
  font-weight: 700 !important;
  font-size: 22px !important;
  margin-bottom: 6px;
}
.cog-sa-footer__sig {
  font-family: Poppins, sans-serif !important;
  font-weight: 500 !important;
  font-size: 16px !important;
  color: #F2A62B !important;
  margin-bottom: 20px;
}
.cog-sa-footer__tit {
  font-family: ui-monospace, monospace !important;
  font-size: 11px !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  color: #F2A62B !important;
  margin-bottom: 18px;
}
.cog-sa-footer__liens {
  list-style: none;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}
.cog-sa-footer__liens a {
  font-size: 16px !important;
  color: rgba(255,255,255,.82) !important;
  text-decoration: none;
}
.cog-sa-footer__liens a:hover {
  color: #F2A62B !important;
}
.cog-sa-footer__coord {
  font-size: 16px !important;
  line-height: 1.8 !important;
  color: rgba(255,255,255,.82) !important;
}
.cog-sa-footer__news {
  display: flex !important;
  gap: 8px !important;
  margin: 16px 0 !important;
}
.cog-sa-footer__news span {
  flex: 1 !important;
  background: rgba(255,255,255,.1) !important;
  border: 1px solid rgba(255,255,255,.24) !important;
  border-radius: 999px !important;
  padding: 14px 20px !important;
  font-size: 16px !important;
  color: rgba(255,255,255,.5) !important;
}
.cog-sa-footer__news a {
  background: #F2A62B !important;
  color: #4A1A5C !important;
  border-radius: 999px !important;
  padding: 14px 24px !important;
  font-family: Poppins, sans-serif !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  text-decoration: none;
}
.cog-sa-footer__rs {
  display: flex !important;
  gap: 12px !important;
}
.cog-sa-footer__rs a {
  width: 48px !important;
  height: 48px !important;
  border-radius: 50% !important;
  border: 1.5px solid rgba(255,255,255,.3) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: Poppins, sans-serif !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  color: rgba(255,255,255,.8) !important;
  text-decoration: none;
}
.cog-sa-footer__rs a:hover {
  border-color: #F2A62B !important;
  color: #F2A62B !important;
}
.cog-sa-footer__part {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  padding: 24px 120px !important;
  position: relative;
  z-index: 1;
  flex-wrap: wrap !important;
}
.cog-sa-footer__part-lab {
  font-family: ui-monospace, monospace !important;
  font-size: 11px !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.45) !important;
}
.cog-sa-footer__part span {
  background: rgba(255,255,255,.1) !important;
  border-radius: 8px !important;
  height: 40px !important;
  padding: 0 16px !important;
  display: flex !important;
  align-items: center !important;
  font-family: ui-monospace, monospace !important;
  font-size: 10px !important;
  letter-spacing: .08em !important;
  color: rgba(255,255,255,.6) !important;
}
.cog-sa-footer__bas {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
  padding: 20px 120px 32px !important;
  font-size: 14px !important;
  color: rgba(255,255,255,.5) !important;
  position: relative;
  z-index: 1;
  flex-wrap: wrap !important;
}
.cog-sa-footer__bas a {
  color: rgba(255,255,255,.5) !important;
  text-decoration: none;
}
.cog-sa-footer__bas a:hover {
  color: #F2A62B !important;
}
.cog-sa-footer::before {
  content: "";
  position: absolute;
  width: 620px !important;
  height: 620px !important;
  border-radius: 50% !important;
  border: 1.5px solid rgba(242,166,43,.16) !important;
  bottom: -260px;
  right: -160px;
  z-index: 0;
}

/* --------------------------------------------------------------------------
   20 · RESPONSIVE
   Le HTML n'a pas de media queries : valeurs issues de l'écran 12 (390px).
   -------------------------------------------------------------------------- */

/* --- Tablette : 1024px --- */
@media (max-width: 1024px) {
  [class*="cog-"] { --sa-pad-x: 48px !important; }

  .cog-grid--380,
  .cog-grid--340,
  .cog-grid--420g,
  .cog-grid--520g,
  .cog-grid--1fr520,
  .cog-grid--1fr520a,
  .cog-grid--1fr640,
  .cog-grid--1fr400,
  .cog-grid--1fr420,
  .cog-grid--1fr460,
  .cog-grid--1fr480,
  .cog-grid--1fr240,
  .cog-grid--1fr1fr {
  grid-template-columns: 1fr !important;
  gap: 40px !important;
}

  .cog-grid--4,
  .cog-grid--4-16,
  .cog-grid--5,
  .cog-grid--3,
  .cog-grid--3-16,
  .cog-grid--3-48 {
  grid-template-columns: repeat(2, 1fr) !important;
}
  .cog-grid--7 {
  grid-template-columns: repeat(4, 1fr) !important;
}

  .cog-h1 .elementor-heading-title {
  font-size: 54px !important;
}
  .cog-h1--92 .elementor-heading-title {
  font-size: 64px !important;
}
  .cog-h1--76 .elementor-heading-title,
  .cog-h1--72 .elementor-heading-title {
  font-size: 56px !important;
}
  .cog-h1--68 .elementor-heading-title,
  .cog-h1--64 .elementor-heading-title {
  font-size: 48px !important;
}
  .cog-h2 .elementor-heading-title {
  font-size: 34px !important;
}
  .cog-h2--62 .elementor-heading-title {
  font-size: 46px !important;
}

  .cog-arcs--hero::before {
  width: 620px !important;
  height: 620px !important;
  top: -180px;
  right: -180px;
}
  .cog-arcs--hero::after {
  width: 440px !important;
  height: 440px !important;
  top: 90px;
  right: 20px;
}

  .cog-sa-header {
  padding: 0 24px !important;
}
  .cog-sa-footer__grille {
  grid-template-columns: 1fr 1fr !important;
  gap: 40px !important;
  padding: 56px 48px 32px !important;
}
  .cog-sa-footer__part,
  .cog-sa-footer__bas {
  padding-inline: 48px !important;
}
}

/* --- Mobile : 767px et moins — valeurs de l'écran 12 (390px) --- */
@media (max-width: 767px) {
  [class*="cog-"] { --sa-pad-x: 24px !important; }

  /* Padding vertical de section : 32px 24px / 40px 24px */
  .cog-sec {
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}
  .cog-sec--serre {
  padding-top: 32px !important;
  padding-bottom: 32px !important;
}

  .cog-grid {
  grid-template-columns: 1fr !important;
  gap: 16px !important;
}
  /* Les chiffres restent en 2×2 sur mobile */
  .cog-grid--chiffres {
  grid-template-columns: 1fr 1fr !important;
  gap: 16px !important;
}
  .cog-grid--7 {
  grid-template-columns: repeat(3, 1fr) !important;
}

  /* Titres — valeurs relevées sur la maquette mobile */
  .cog-h1 .elementor-heading-title {
  font-size: 34px !important;
  line-height: 1.12 !important;
  letter-spacing: -.02em !important;
}
  .cog-h1--92 .elementor-heading-title {
  font-size: 42px !important;
  line-height: 1.05 !important;
}
  .cog-h1--76 .elementor-heading-title,
  .cog-h1--72 .elementor-heading-title,
  .cog-h1--68 .elementor-heading-title,
  .cog-h1--64 .elementor-heading-title {
  font-size: 36px !important;
  line-height: 1.1 !important;
}
  .cog-h1--52 .elementor-heading-title {
  font-size: 30px !important;
  line-height: 1.12 !important;
}
  .cog-h2 .elementor-heading-title {
  font-size: 28px !important;
  line-height: 1.15 !important;
}
  .cog-h2--62 .elementor-heading-title {
  font-size: 48px !important;
  line-height: 1 !important;
}
  .cog-h2--46 .elementor-heading-title,
  .cog-h2--40 .elementor-heading-title,
  .cog-h2--36 .elementor-heading-title,
  .cog-h2--34 .elementor-heading-title {
  font-size: 26px !important;
  line-height: 1.2 !important;
}
  .cog-h3 .elementor-heading-title {
  font-size: 21px !important;
}
  .cog-h3--28 .elementor-heading-title,
  .cog-h3--26 .elementor-heading-title {
  font-size: 24px !important;
}

  /* Corps : 15–17px */
  .cog-p {
  font-size: 16px !important;
}
  .cog-p--21, .cog-p--20, .cog-p--19 {
  font-size: 17px !important;
}
  .cog-p--16, .cog-p--15 {
  font-size: 15px !important;
}

  /* Chiffres */
  .cog-chiffre__v,
  .cog-chiffre .elementor-counter-number-wrapper {
  font-size: 40px !important;
}
  .cog-chiffre__l,
  .cog-chiffre .elementor-counter-title {
  font-size: 13px !important;
  margin-top: 6px !important;
}
  .cog-chiffre {
  padding-left: 14px !important;
}

  /* Hero */
  .cog-hero-a {
  min-height: 0 !important;
}
  .cog-hero-a__legende {
  display: none !important;
}
  .cog-arcs--hero::before,
  .cog-arcs--hero::after,
  .cog-arcs--naat::before {
  display: none !important;
}

  /* Les rangées de conteneurs s'empilent (les grilles restent pilotées par .cog-grid) */
  .cog-sec .e-con:not(.cog-grid) { flex-direction: column !important; }

  /* Boutons pleine largeur, cibles ≥ 48px */
  .cog-btn .elementor-button {
  width: 100% !important;
  font-size: 16px !important;
  padding: 16px 24px !important;
  min-height: 48px !important;
}

  /* Masques d'arc adoucis */
  .cog-m--arc-g {
  border-radius: 0 0 0 120px !important;
}
  .cog-m--arc-td {
  border-radius: 120px 16px 120px 16px !important;
}
  .cog-m--arc-tg {
  border-radius: 16px 120px 16px 120px !important;
}

  .cog-h--600, .cog-h--520, .cog-h--480 {
  height: 300px !important;
}
  .cog-h--420 {
  height: 240px !important;
}

  /* Composants */
  .cog-don {
  padding: 24px !important;
}
  .cog-form { padding: 24px; }
  .cog-cand {
  padding: 24px !important;
}
  .cog-ap {
  flex-direction: row !important;
  gap: 8px !important;
}
  .cog-filtres {
  overflow-x: auto !important;
  flex-wrap: nowrap !important;
  padding-bottom: 4px !important;
}
  .cog-filtre {
  white-space: nowrap !important;
}

  /* En-tête mobile : 68px, padding 0 16px */
  .cog-sa-header {
  height: 68px !important;
  padding: 0 16px !important;
}
  .cog-sa-header nav {
  display: none !important;
}
  .cog-sa-header__marque img {
  width: 44px !important;
  height: 44px !important;
}

  .cog-sa-footer__grille {
  grid-template-columns: 1fr !important;
  gap: 32px !important;
  padding: 40px 24px 24px !important;
}
  .cog-sa-footer__part, .cog-sa-footer__bas {
  padding-inline: 24px !important;
}
  .cog-sa-footer::before {
  display: none !important;
}
}

/* --- Accessibilité --- */
@media (prefers-reduced-motion: reduce) {
  .cog-btn .elementor-button,
  .cog-jauge__fill,
  .cog-doc,
  .cog-filtre {
  transition: none;
}
}/* End custom CSS */