/* =====================================================================
   Féora Familles — mise en forme alignée sur le mockup ordinateur
   CSS de Thanh v2 (11/10/2026), chargé par l'extension après familles.css. Section 16 : priorité sur le kit Elementor.
   ===================================================================== */

/* 1. Palette du mockup (remplace celle du plugin) */
.ff-single, .ff-accueil, .ff-ressources, .ff-agenda, .ff-replays, .ff-compte, .ff-login, .ff-nav, .ff-doc {
  --ff-p:#1F2A7C; --ff-blu:#2A4FC4; --ff-grn:#12775A; --ff-acc:#DE5A12; --ff-pink:#B8295A; --ff-yel:#F4C430;
  --ff-lb:#E0E9FC; --ff-lg:#D5F1E6; --ff-lp:#FBE8F0; --ff-ly:#F7F0DA; --ff-lo:#FDE7D8;
  --ff-mut:#4a5288; --ff-bg:#f6f7fb;
  --c-blue:#2A4FC4; --c-blue-bg:#E0E9FC;
  --c-orange:#DE5A12; --c-orange-bg:#FDE7D8;
  --c-green:#12775A; --c-green-bg:#D5F1E6;
  --c-rasp:#B8295A; --c-rasp-bg:#FBE8F0;
}

/* 2. En-tête du site (Elementor) : fond marine (le logo blanc était invisible : fond transparent).
   Deux barres marine collées : en-tête du site au-dessus, barre de l'espace adhérents dessous. */
body:has(.ff-nav) header.elementor-location-header { background:#1F2A7C; }
/* Texte blanc uniquement sur le menu principal : les boutons blancs (« Féora en scène », « Contact »)
   et le menu déroulant mobile gardent leurs couleurs d'origine. */
body:has(.ff-nav) header.elementor-location-header .elementor-nav-menu--main .elementor-item { color:#fff !important; opacity:1; }


/* 3. Barre de l'espace adhérents (sous l'en-tête du site) : 5 onglets + avatar */
.ff-nav { display:flex; align-items:center; gap:28px; background:#1F2A7C; margin:0 calc(50% - 50vw) 28px;
  padding:0 max(24px, calc(50vw - 556px)); }
.ff-nav ul { display:flex; flex:1; gap:24px; margin:0; padding:0; border:0; list-style:none; }
.ff-nav li { margin:0; padding:0; }
.ff-nav li a { display:block; background:transparent; border-radius:0; color:#fff; opacity:.8; font-weight:700; font-size:14.5px;
  padding:14px 0 12px; border-bottom:3px solid transparent; text-decoration:none; }
.ff-nav li a:hover { opacity:1; background:transparent; }
.ff-nav .is-active a { opacity:1; border-bottom-color:#FA85B2; background:transparent; }
.ff-nav .ff-who { display:flex; align-items:center; gap:10px; margin-left:auto; color:#fff; font-size:13.5px; font-weight:700; text-decoration:none; }
.ff-av { width:34px; height:34px; border-radius:50%; border:2px solid #fff; background:transparent; color:#fff;
  display:flex; align-items:center; justify-content:center; font-weight:800; font-size:15px; }
.ff-who__name { color:#fff; }


/* 4. Titre de page : masqué visuellement sur l'accueil (le hero le remplace), conservé pour l'accessibilité */
body:has(.ff-accueil) .ff-title { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.ff-title { text-align:center; font-weight:800; }

/* 5. Hero : photo à droite, fondu bleu à gauche. La photo est ajoutée ici en CSS (aucun <img> à prévoir). */
.ff-hero { position:relative; isolation:isolate; overflow:hidden; display:flex; align-items:center; min-height:290px;
  border-radius:24px; background:#E0E9FC; margin:0 0 8px; padding:0; }
.ff-hero::before { content:""; position:absolute; z-index:-2; top:0; right:0; bottom:0; width:58%;
  background:url("https://feora.fr/wp-content/uploads/2025/05/portrait-autistic-kid-fantasy-world.jpg") center/cover no-repeat; }
.ff-hero::after { content:""; position:absolute; z-index:-1; inset:0;
  background:linear-gradient(90deg,#E0E9FC 0,#E0E9FC 42%,rgba(224,233,252,0) 62%); }
.ff-hero__in { position:relative; z-index:1; padding:40px 44px; max-width:540px; text-align:left; }
.ff-hello { margin:0 0 10px; font-size:34px; font-weight:800; line-height:1.15; color:#1F2A7C; }
.ff-hero__txt { margin:0 0 20px; font-size:16px; line-height:1.5; color:#1F2A7C; }
.ff-hero__btns { display:flex; flex-wrap:wrap; gap:10px; }
.ff-hero .ff-btn { background:#1F2A7C; color:#fff !important; border:2px solid #1F2A7C; border-radius:99px; padding:9px 22px;
  font-size:14.5px; font-weight:700; text-decoration:none; }
.ff-hero .ff-btn--ghost { background:transparent; color:#1F2A7C !important; }


/* 6. Sections : étoiles + titres centrés */
.ff-section { margin:0 0 .5em; }
.ff-section::before { content:""; display:block; height:34px; margin:40px auto 6px;
  background:url("https://feora.fr/wp-content/uploads/2025/10/groupe-92.png") center/contain no-repeat; }
.ff-section__head { flex-direction:column; align-items:center; gap:.2em; margin-bottom:22px; }
.ff-section h2 { text-align:center; font-size:27px; font-weight:800; margin:6px 0 6px; }
.ff-section__head h2 { margin-bottom:0; }
.ff-section__head a { font-size:14.5px; }
.ff-chip, .ff-nav a { text-decoration:none !important; }  /* le thème Hello Elementor souligne les liens */

/* 7. Grilles : 3 colonnes (plus de 4e colonne vide) */
.ff-grid { grid-template-columns:repeat(3, minmax(0,1fr)); gap:20px; }
@media (max-width:980px){ .ff-grid { grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width:640px){ .ff-grid { grid-template-columns:1fr; } }

/* 8. Cartes : coins 20px, bordure douce, titres plus gros */
.ff-card { border:1.5px solid #e6e9f3; border-radius:20px; padding:20px 18px; box-shadow:none; gap:.5em; }
.ff-card:hover { transform:translateY(-3px); box-shadow:0 10px 26px rgba(31,42,124,.10); }
.ff-card h3 { font-size:17px; font-weight:700; }
.ff-card p { color:var(--ff-mut); font-size:13.8px; line-height:1.5; }
.ff-card__meta { font-size:12.5px; }
.ff-tag { font-size:11.5px; padding:4px 10px; font-weight:600; }
.ff-conseil-mini { background:#FBE8F0; color:#B8295A; border-radius:14px; padding:10px 14px; font-size:13px !important; }
.ff-more { color:#2A4FC4; }

/* 9. Couleurs des cartes ressource : rotation EXACTE du mockup (3 colonnes, décalage en diagonale).
      Cycle de 12 cartes : bleu, orange, vert / orange, vert, framboise / vert, framboise, bleu / framboise, bleu, orange */
.ff-card--ressource { --c:var(--c-blue); --cb:var(--c-blue-bg); }
.ff-card--ressource:nth-child(12n+1), .ff-card--ressource:nth-child(12n+9),  .ff-card--ressource:nth-child(12n+11) { --c:var(--c-blue);   --cb:var(--c-blue-bg); }
.ff-card--ressource:nth-child(12n+2), .ff-card--ressource:nth-child(12n+4),  .ff-card--ressource:nth-child(12n+12) { --c:var(--c-orange); --cb:var(--c-orange-bg); }
.ff-card--ressource:nth-child(12n+3), .ff-card--ressource:nth-child(12n+5),  .ff-card--ressource:nth-child(12n+7)  { --c:var(--c-green);  --cb:var(--c-green-bg); }
.ff-card--ressource:nth-child(12n+6), .ff-card--ressource:nth-child(12n+8),  .ff-card--ressource:nth-child(12n+10) { --c:var(--c-rasp);   --cb:var(--c-rasp-bg); }
.ff-card--ressource h3 a { color:var(--c); }
.ff-card--ressource .ff-tag { background:var(--cb); color:var(--c); }

.ff-card--event .ff-date { width:78px; height:78px; flex:0 0 78px; border-radius:16px; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:0; }
.ff-date__d { font-size:28px; font-weight:800; line-height:1; }
.ff-date__m { font-size:11.5px; letter-spacing:.08em; margin-top:4px; font-weight:800; }
.ff-card--event:nth-child(3n+1) .ff-date { background:var(--c-rasp-bg);  color:var(--c-rasp); }  .ff-card--event:nth-child(3n+1) h3 a { color:var(--c-rasp); }  .ff-card--event:nth-child(3n+1) .ff-tag { background:var(--c-rasp-bg);  color:var(--c-rasp); }
.ff-card--event:nth-child(3n+2) .ff-date { background:var(--c-blue-bg);  color:var(--c-blue); }  .ff-card--event:nth-child(3n+2) h3 a { color:var(--c-blue); }  .ff-card--event:nth-child(3n+2) .ff-tag { background:var(--c-blue-bg);  color:var(--c-blue); }
.ff-card--event:nth-child(3n+3) .ff-date { background:var(--c-green-bg); color:var(--c-green); } .ff-card--event:nth-child(3n+3) h3 a { color:var(--c-green); } .ff-card--event:nth-child(3n+3) .ff-tag { background:var(--c-green-bg); color:var(--c-green); }
.is-past .ff-date { background:#eef0f6 !important; color:var(--ff-mut) !important; }

/* Replays : vignette arrondie, bouton lecture blanc comme le mockup */
.ff-play { background:#fff; color:#1F2A7C; width:62px; height:62px; font-size:26px; box-shadow:0 6px 18px rgba(0,0,0,.18); }
.ff-card--replay h3 a { color:#1F2A7C; }


/* 11. Page Ressources : filtres en colonne latérale, résultats à droite */
.ff-ressources { display:grid; grid-template-columns:260px minmax(0,1fr); column-gap:28px; align-items:start; }
.ff-ressources .ff-chips { grid-column:1; grid-row:1 / span 3; flex-direction:column; flex-wrap:nowrap; gap:2px; background:#fff;
  border:1.5px solid #e6e9f3; border-radius:20px; padding:18px; margin:0; position:sticky; top:90px; }
.ff-ressources .ff-chips::before { content:"Je cherche…"; font-weight:800; font-size:14px; color:#1F2A7C; margin-bottom:8px; }
.ff-ressources .ff-chip { border:0; background:transparent; border-radius:12px; padding:8px 10px; font-size:14px; font-weight:500; color:#1F2A7C; }
.ff-ressources .ff-chip.is-active { background:#E0E9FC; color:#1F2A7C; }
.ff-ressources .ff-filters { grid-column:2; grid-row:1; }
.ff-ressources > .ff-muted { grid-column:2; grid-row:2; margin:4px; }
.ff-ressources .ff-grid { grid-column:2; grid-row:3; }
.ff-ressources .ff-grid { grid-template-columns:repeat(3, minmax(0,1fr)); }
.ff-filters input[type=search] { border:2px solid #E0E9FC; padding:13px 18px; font-size:15px; color:#1F2A7C; }
.ff-filters select { display:none; }  /* doublon avec la colonne latérale */
@media (max-width:900px){
  .ff-ressources { grid-template-columns:1fr; }
  .ff-ressources .ff-chips, .ff-ressources .ff-filters, .ff-ressources > .ff-muted, .ff-ressources .ff-grid { grid-column:1; grid-row:auto; }
  .ff-ressources .ff-chips { flex-direction:row; flex-wrap:wrap; position:static; }
  .ff-ressources .ff-chips::before { display:none; }
}

/* 12. Boutons façon mockup */
.ff-btn { padding:11px 22px; font-weight:700; font-size:14.5px; }
.ff-btn--ghost { border-width:2px; }

/* =====================================================================
   13. TÉLÉPHONE (écrans ≤ 640 px) — mêmes classes, règles simplifiées
   ===================================================================== */
@media (max-width:640px){
  /* Navigation : une seule ligne qu'on fait défiler du doigt (au lieu de 3 lignes empilées) */
  .ff-nav { margin-bottom:20px; padding:0 16px; }
  .ff-nav ul { flex-wrap:nowrap; overflow-x:auto; gap:22px; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
  .ff-nav ul::-webkit-scrollbar { display:none; }
  .ff-nav li { flex:0 0 auto; }
  .ff-nav a { font-size:15px; padding:14px 0 11px; white-space:nowrap; }

  /* Titres et hero */
  .ff-title { font-size:26px; }
  /* (règles .ff-hello de la v1 retirées : le hero est .ff-hero, voir sections 5 et 15f) */
  .ff-section::before { height:28px; margin:30px auto 4px; }
  .ff-section h2 { font-size:22px; }

  /* Cartes : une colonne, pastille de date un peu plus petite */
  .ff-grid { gap:16px; }
  .ff-card--event .ff-date { width:64px; height:64px; flex-basis:64px; }
  .ff-date__d { font-size:24px; }

  /* Cartes à contour du bas : empilées */
  .ff-quick { grid-template-columns:1fr; gap:18px; margin-top:36px; }
  .ff-quick__item { padding:26px 20px 22px; }

  /* Ressources : les filtres deviennent une rangée de pastilles qui défile */
  .ff-ressources .ff-chips { flex-wrap:nowrap; overflow-x:auto; gap:8px; scrollbar-width:none; padding:0 0 4px; margin-bottom:14px; background:transparent; border:0; }
  .ff-ressources .ff-chips::-webkit-scrollbar { display:none; }
  .ff-ressources .ff-chip { flex:0 0 auto; white-space:nowrap; background:#fff; border:1.5px solid #E0E9FC; border-radius:999px; padding:8px 14px; }
  .ff-ressources .ff-chip.is-active { background:#1F2A7C; color:#fff; border-color:#1F2A7C; }

  /* Recherche : champ pleine largeur, bouton « Filtrer » en dessous */
  .ff-filters input[type=search] { flex:1 1 100%; }
  .ff-filters .ff-btn { flex:1 1 100%; justify-content:center; }
  .ff-more { text-decoration:none; }

  /* Confort au pouce : champs à 16 px (évite le zoom automatique iPhone) et zones de toucher ≥ 44 px */
  .ff-filters input[type=search], .ff-inline input { font-size:16px; }
  .ff-btn, .ff-more, .ff-section__head a { min-height:44px; display:inline-flex; align-items:center; }
}

/* =====================================================================
   14. CARTES RESSOURCE ET FILTRES « EXACTEMENT COMME LE MOCKUP »
   Ces règles s'activent avec le nouveau balisage décrit dans gabarits-html-mockup.md
   (attribut data-theme, .ff-card__tags, .ff-card__foot, .ff-chip__n). Les anciennes pages ne cassent pas.
   ===================================================================== */
:root {
  --i-euro:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M15.5 8.5a4 4 0 1 0 0 7'/%3E%3Cpath d='M7.5 11h6M7.5 13.5h5'/%3E%3C/svg%3E");
  --i-hands:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20s-7-4.4-7-9.5A3.8 3.8 0 0 1 12 8a3.8 3.8 0 0 1 7 2.5C19 15.6 12 20 12 20z'/%3E%3Cpath d='M9 11.5l2 2 4-4'/%3E%3C/svg%3E");
  --i-leaf:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 19c0-8 5-13 14-14 0 9-5 14-13 14'/%3E%3Cpath d='M5 19l7-7'/%3E%3C/svg%3E");
  --i-palette:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3a9 9 0 1 0 0 18c1.2 0 1.8-.8 1.8-1.7 0-1.3-1.1-1.6-1.1-2.7 0-.9.7-1.6 1.6-1.6H17a4 4 0 0 0 4-4C21 6.5 17 3 12 3z'/%3E%3Ccircle cx='7.5' cy='11' r='1'/%3E%3Ccircle cx='10' cy='7' r='1'/%3E%3Ccircle cx='14.5' cy='7' r='1'/%3E%3C/svg%3E");
  --i-sun:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 20h18'/%3E%3Cpath d='M12 20V9'/%3E%3Cpath d='M4 9a8 8 0 0 1 16 0z'/%3E%3C/svg%3E");
  --i-school:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9l9-5 9 5-9 5z'/%3E%3Cpath d='M7 11.2V16c0 1.5 2.2 3 5 3s5-1.5 5-3v-4.8'/%3E%3Cpath d='M21 9v5'/%3E%3C/svg%3E");
  --i-compass:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M15.5 8.5l-2 5-5 2 2-5z'/%3E%3C/svg%3E");
  --i-people:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3Ccircle cx='16.5' cy='9' r='2.5'/%3E%3Cpath d='M3 19c0-3 2.2-5 5-5s5 2 5 5'/%3E%3Cpath d='M13.5 19c.2-2.4 1.5-4 3.2-4 2 0 3.3 1.8 3.3 4'/%3E%3C/svg%3E");
  --i-health:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='4' width='16' height='16' rx='4'/%3E%3Cpath d='M12 8v8M8 12h8'/%3E%3C/svg%3E");
  --i-sparkle:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l1.8 5.2L19 10l-5.2 1.8L12 17l-1.8-5.2L5 10l5.2-1.8z'/%3E%3C/svg%3E");
  --i-bulb:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6M10 21h4'/%3E%3Cpath d='M12 3a6 6 0 0 0-3.5 10.9c.6.5 1 1.2 1 2V16h5v-.1c0-.8.4-1.5 1-2A6 6 0 0 0 12 3z'/%3E%3C/svg%3E");
  --i-pin:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-6-5.5-6-11a6 6 0 0 1 12 0c0 5.5-6 11-6 11z'/%3E%3Ccircle cx='12' cy='10' r='2.2'/%3E%3C/svg%3E");
}

/* Icône associée à chaque thématique (le slug de la taxonomie sert de clé) */
[data-theme="all"] { --ico:var(--i-sparkle); }
[data-theme="acceder-a-des-soins-adaptes"] { --ico:var(--i-health); }
[data-theme="besoin-de-souffler"] { --ico:var(--i-leaf); }
[data-theme="etre-soutenu-en-tant-quaidant"] { --ico:var(--i-hands); }
[data-theme="fratries-jeunes-aidants"] { --ico:var(--i-people); }
[data-theme="rencontrer-dautres-familles"] { --ico:var(--i-people); }
[data-theme="scolarite-inclusion"] { --ico:var(--i-school); }
[data-theme="trouver-des-aides-financieres"] { --ico:var(--i-euro); }
[data-theme="trouver-des-loisirs-activites-adaptes"] { --ico:var(--i-palette); }
[data-theme="trouver-le-bon-interlocuteur"] { --ico:var(--i-compass); }
[data-theme="vacances-sejours"] { --ico:var(--i-sun); }

/* Le conseil Féora n'apparaît que sur la fiche, pas dans les listes (comme le mockup) */
.ff-grid .ff-conseil-mini { display:none; }

/* Description coupée à 4 lignes avec « … » */
.ff-card--ressource > p:not(.ff-conseil-mini) { display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; }

/* Rond d'icône en haut de la carte */
.ff-card--ressource { position:relative; }
.ff-card--ressource[data-theme]::before { content:""; flex:0 0 48px; width:48px; height:48px; border-radius:50%; background:var(--cb); margin-bottom:6px; }
.ff-card--ressource[data-theme]::after  { content:""; position:absolute; left:29px; top:31px; width:26px; height:26px; background:var(--c);
  -webkit-mask:var(--ico, var(--i-bulb)) center/contain no-repeat; mask:var(--ico, var(--i-bulb)) center/contain no-repeat; }

/* Jusqu'à 3 étiquettes */
.ff-card__tags { display:flex; flex-wrap:wrap; gap:6px; }
.ff-card__tags .ff-tag { white-space:nowrap; }

/* Pied de carte : localisation à gauche, « Voir → » à droite */
.ff-card__foot { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-top:auto; padding-top:14px; font-size:12.5px; color:var(--ff-mut); }
.ff-card__foot .ff-more { margin:0; font-weight:700; color:var(--c-blue); white-space:nowrap; }
.ff-territoire::before { content:""; display:inline-block; width:1em; height:1em; margin-right:5px; vertical-align:-.15em; background:currentColor;
  -webkit-mask:var(--i-pin) center/contain no-repeat; mask:var(--i-pin) center/contain no-repeat; }   /* remplace l'emoji 📍 */

/* Colonne de filtres : icône + libellé + compteur */
.ff-ressources .ff-chip { display:flex; align-items:center; gap:10px; }
.ff-ressources .ff-chip[data-theme]::before { content:""; flex:0 0 20px; height:20px; background:currentColor;
  -webkit-mask:var(--ico, var(--i-bulb)) center/contain no-repeat; mask:var(--ico, var(--i-bulb)) center/contain no-repeat; }
.ff-chip__n { margin-left:auto; font-size:12.5px; opacity:.7; }

/* Champ de recherche avec loupe */
.ff-filters input[type=search] { padding-left:46px; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234a5288' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-4-4'/%3E%3C/svg%3E") 16px center / 18px no-repeat #fff; }

/* Téléphone : pastilles simples, sans icône ni compteur */
@media (max-width:640px){
  .ff-ressources .ff-chip[data-theme]::before, .ff-chip__n { display:none; }
}
/* =====================================================================
   15. ACCUEIL — blocs du mockup (v2). Textes = ceux du mockup ; données = celles du site (dynamiques).
   Couleur de chaque bloc pilotée par deux variables : --c (texte/contour) et --cb (fond clair).
   ===================================================================== */
.ff-accueil {
  --m-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M8 12.5l2.7 2.5L16 9.5'/%3E%3C/svg%3E");
  --m-doc:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 3h7l4 4v14H7z'/%3E%3Cpath d='M14 3v4h4'/%3E%3Cpath d='M10 12h5M10 15.5h5'/%3E%3C/svg%3E");
  --m-chat:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h11a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2H9l-4 3v-3H4a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2z'/%3E%3Cpath d='M17 9h3a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-1v2.5L16 18h-3'/%3E%3C/svg%3E");
  --m-bulb:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6M10 21h4'/%3E%3Cpath d='M12 3a6 6 0 0 0-3.5 10.9c.6.5 1 1.2 1 2V16h5v-.1c0-.8.4-1.5 1-2A6 6 0 0 0 12 3z'/%3E%3C/svg%3E");
  --m-docbig:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 8h20l10 10v38H18z'/%3E%3Cpath d='M38 8v10h10'/%3E%3Cpath d='M25 30h16M25 37h16M25 44h9'/%3E%3Cpath d='M44 40l6-6 4 4-6 6-5 1z'/%3E%3C/svg%3E");
  --m-chatbig:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='22' cy='14' r='5'/%3E%3Ccircle cx='42' cy='14' r='5'/%3E%3Cpath d='M8 34h26a4 4 0 0 1 4 4v10a4 4 0 0 1-4 4H20l-7 6v-6h-5a4 4 0 0 1-4-4V38a4 4 0 0 1 4-4z'/%3E%3Cpath d='M42 28h14a4 4 0 0 1 4 4v9a4 4 0 0 1-4 4h-2v5l-6-5'/%3E%3Cpath d='M14 43h14'/%3E%3C/svg%3E");
  --m-heartbig:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M32 30s-10-6.3-10-13.3A5.6 5.6 0 0 1 32 13a5.6 5.6 0 0 1 10 3.7C42 23.7 32 30 32 30z'/%3E%3Cpath d='M6 44h8l8-5c2-1.2 4.5-1 6.2.5L32 43h8a3 3 0 0 1 0 6H28'/%3E%3Cpath d='M40 49l11-7a3 3 0 0 1 3.4 5L40 57H14l-8-2'/%3E%3C/svg%3E");
}

/* 15a. Rendez-vous : carte blanche, étiquette en capitales, lignes avec pastille de date et bouton à contour */
.ff-card--list { background:#fff; padding:22px 24px; gap:0; }
.ff-card--list:hover { transform:none; box-shadow:none; }
.ff-row { display:grid; grid-template-columns:1.6fr 1fr; gap:22px; align-items:stretch; }
.ff-lbl { display:flex; justify-content:space-between; align-items:center; margin-bottom:10px;
  font-size:12.5px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:#1F2A7C; }
.ff-lbl a { text-transform:none; letter-spacing:0; color:#2A4FC4; text-decoration:none; }
.ff-ev { --c:#B8295A; --cb:#FBE8F0; display:flex; align-items:center; gap:18px; padding:14px 0; border-top:1px solid #eef0f6; }
.ff-lbl + .ff-ev { border-top:0; padding-top:4px; }
.ff-card--list > .ff-ev:nth-child(3n)   { --c:#2A4FC4; --cb:#E0E9FC; }   /* 2e ligne : bleu  */
.ff-card--list > .ff-ev:nth-child(3n+1) { --c:#12775A; --cb:#D5F1E6; }   /* 3e ligne : vert  */
.ff-date { flex:0 0 auto; width:78px; height:78px; border-radius:16px; background:var(--cb); color:var(--c);
  display:flex; flex-direction:column; align-items:center; justify-content:center; font-weight:800; line-height:1; }
.ff-date__d { font-size:28px; }
.ff-date__m { margin-top:4px; font-size:11.5px; letter-spacing:.08em; text-transform:uppercase; }
.ff-ev__body { flex:1; min-width:0; }
.ff-ev h3 { margin:0 0 3px; font-size:18px; font-weight:700; line-height:1.3; }
.ff-ev h3 a { color:var(--c); text-decoration:none; }
.ff-ev p { margin:0; font-size:14px; color:var(--ff-mut); line-height:1.4; }
.ff-ev .ff-ev__cta, .ff-ev > .ff-more { flex:0 0 auto; display:inline-block; background:transparent; color:var(--c) !important;
  border:2px solid var(--c); border-radius:99px; padding:9px 20px; font-size:14.5px; font-weight:700; text-decoration:none; white-space:nowrap; }
.ff-ev .ff-ev__cta:hover, .ff-ev > .ff-more:hover { background:var(--cb); }

/* 15b. « À la une » : 2 éléments (ou 3) empilés dans la colonne de droite, étiquette blanche */
.ff-une-col { display:flex; flex-direction:column; gap:22px; min-width:0; }
.ff-une-col .ff-card--une { flex:1; flex-direction:row; align-items:stretch; }   /* carte compacte : image à gauche, texte à droite */
.ff-une-col .ff-une__img { flex:0 0 40%; position:relative; min-height:150px; }
.ff-une-col .ff-une__img img { position:absolute; inset:0; width:100% !important; height:100% !important; object-fit:cover; border-bottom:0; }
.ff-une-col .ff-une__body { justify-content:center; padding:16px 18px; }
.ff-une-col .ff-une__body h3 { font-size:16px; }
.ff-une-col .ff-une__body p { margin:0 0 10px; font-size:13.5px; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.ff-une-col .ff-une__body .ff-btn { padding:7px 16px; font-size:13.5px; }
@media (max-width:640px){
  .ff-une-col .ff-card--une { flex-direction:column; }
  .ff-une-col .ff-une__img { flex:none; aspect-ratio:16/9; min-height:0; }
}
.ff-card--une { display:flex; flex-direction:column; padding:0; overflow:hidden; background:#E0E9FC; border:0; }
.ff-card--une:hover { transform:none; box-shadow:none; }
.ff-une__img { display:block; line-height:0; }
.ff-une__img img { width:100%; height:auto; display:block; border-bottom:1.5px solid #cfdaf6; }
.ff-une__body { flex:1; display:flex; flex-direction:column; padding:22px 24px; }
.ff-une__body .ff-tag { align-self:flex-start; background:#fff; color:#2A4FC4; font-size:11.5px; font-weight:600; }
.ff-une__body h3 { margin:4px 0 6px; font-size:19px; font-weight:700; line-height:1.3; }
.ff-une__body h3 a { color:#1F2A7C; text-decoration:none; }
.ff-une__body p { margin:0 0 16px; color:#1F2A7C; font-size:14.5px; line-height:1.5; }
.ff-une__body .ff-btn { align-self:flex-start; margin-top:auto; background:#1F2A7C; color:#fff !important; border:2px solid #1F2A7C;
  border-radius:99px; padding:9px 22px; font-weight:700; font-size:14.5px; text-decoration:none; }

/* 15c. Bouton centré sous les ressources (« Voir toutes les ressources ») */
.ff-section__cta { text-align:center; margin-top:24px; }
.ff-section__cta .ff-btn { display:inline-block; background:#1F2A7C; color:#fff !important; border:2px solid #1F2A7C; border-radius:99px;
  padding:9px 22px; font-weight:700; font-size:14.5px; text-decoration:none; }

/* 15d. Webinaires & replays : grand replay (image + texte) et liste à icônes colorées */
.ff-card--replay-big { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); padding:0; overflow:hidden; gap:0; }
.ff-card--replay-big:hover { transform:none; box-shadow:none; }
.ff-card--replay-big .ff-thumb { position:relative; display:block; min-height:240px; aspect-ratio:auto; width:auto; background:#D5F1E6; overflow:hidden; }
.ff-card--replay-big .ff-card__body { min-width:0; }
.ff-card--replay-big .ff-thumb img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.ff-play { position:absolute; inset:0; margin:auto; width:62px; height:62px; border-radius:50%; background:#fff; color:#1F2A7C;
  display:flex; align-items:center; justify-content:center; font-size:22px; box-shadow:0 6px 18px rgba(0,0,0,.18); }
.ff-card--replay-big .ff-card__body { padding:22px 24px; display:flex; flex-direction:column; align-items:flex-start; }
.ff-card--replay-big .ff-tag { background:#E0E9FC; color:#2A4FC4; font-size:11.5px; font-weight:600; }
.ff-card--replay-big h3 { margin:4px 0 8px; font-size:19px; line-height:1.3; font-weight:700; }
.ff-card--replay-big h3 a { color:#1F2A7C; text-decoration:none; }
.ff-card--replay-big .ff-card__meta { margin:0 0 12px; font-size:14px; color:var(--ff-mut); }
.ff-card--replay-big .ff-docs { margin:0; font-size:14px; color:#1F2A7C; }

.ff-rp { --c:#12775A; --cb:#D5F1E6; --ico:var(--m-doc); display:flex; align-items:flex-start; gap:12px; padding:12px 0;
  border-top:1px solid #eef0f6; text-decoration:none; }
.ff-lbl + .ff-rp { border-top:0; }
.ff-card--list > .ff-rp:nth-child(3n)   { --c:#2A4FC4; --cb:#E0E9FC; --ico:var(--m-chat); }
.ff-card--list > .ff-rp:nth-child(3n+1) { --c:#DE5A12; --cb:#FDE7D8; --ico:var(--m-bulb); }
.ff-rp--cta { --c:#DE5A12 !important; --cb:#FDE7D8 !important; --ico:var(--m-bulb) !important; }
.ff-rp__th { position:relative; flex:0 0 auto; width:40px; height:40px; border-radius:12px; background:var(--cb); overflow:hidden; display:block; }
.ff-rp__th img { display:none; }
.ff-rp__th::before { content:""; position:absolute; inset:10px; background:var(--c);
  -webkit-mask:var(--ico) center/contain no-repeat; mask:var(--ico) center/contain no-repeat; }
.ff-rp h4 { margin:0 0 2px; font-size:15px; font-weight:700; line-height:1.3; }
.ff-rp h4 a { color:var(--c); text-decoration:none; }
.ff-rp p { margin:0; font-size:13px; color:var(--ff-mut); }
.ff-rp, a.ff-rp, .ff-rp a { text-decoration:none !important; }

/* 15e. « Votre espace, en un clic » : 3 cartes à contour, pastille-icône sur le trait du haut */
.ff-oc { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:26px; margin-top:44px; }
.ff-ocard { --c:#2A4FC4; --cb:#E0E9FC; --ico:var(--m-docbig); position:relative; display:flex; flex-direction:column; align-items:center;
  background:#fff; border:3px solid var(--c); border-radius:26px; padding:56px 26px 26px; text-align:center; color:#1F2A7C; }
.ff-ocard--communaute { --c:#12775A; --cb:#D5F1E6; --ico:var(--m-chatbig); }
.ff-ocard--adhesion   { --c:#DE5A12; --cb:#FDE7D8; --ico:var(--m-heartbig); }
.ff-ocard__badge { position:absolute; top:-38px; left:50%; transform:translateX(-50%); box-sizing:content-box;
  width:64px; height:64px; padding:0 22px; background:#fff; }
.ff-ocard__badge::before { content:""; display:block; width:64px; height:64px; background:var(--c);
  -webkit-mask:var(--ico) center/contain no-repeat; mask:var(--ico) center/contain no-repeat; }
.ff-ocard h3 { margin:6px 0 10px; font-size:19px; font-weight:800; line-height:1.3; color:var(--c); }
.ff-ocard p { margin:0 0 14px; font-size:14.5px; line-height:1.5; font-weight:500; color:#1F2A7C; }
.ff-ocard ul { list-style:none; margin:0 0 18px; padding:0; width:100%; text-align:left; }
.ff-ocard li { display:flex; align-items:center; gap:10px; margin:0 0 6px; padding:7px 12px; border-radius:12px;
  background:var(--cb); font-size:14px; font-weight:500; color:#1F2A7C; }
.ff-ocard li::before { content:""; flex:0 0 auto; width:18px; height:18px; background:var(--c);
  -webkit-mask:var(--m-check) center/contain no-repeat; mask:var(--m-check) center/contain no-repeat; }
.ff-ocard__go { margin-top:auto; display:inline-block; background:#fff; color:var(--c); border:2px solid var(--c);
  border-radius:99px; padding:9px 22px; font-size:14px; font-weight:800; text-decoration:none; }
.ff-ocard__go:hover { background:var(--cb); }
.ff-status { display:inline-flex; align-items:center; gap:8px; margin-bottom:12px; padding:6px 14px; border-radius:99px;
  background:#D5F1E6; color:#12775A; font-size:13px; font-weight:800; }
.ff-status i { width:8px; height:8px; border-radius:50%; background:currentColor; display:inline-block; }
.ff-status--off { background:#FBE8F0; color:#B8295A; }   /* adhésion expirée / à renouveler */

/* 15f. Téléphone */
@media (max-width:980px){
  .ff-row { grid-template-columns:1fr; }
  .ff-oc { grid-template-columns:1fr; gap:46px; }
}
@media (max-width:640px){
  .ff-nav { flex-wrap:nowrap; gap:12px; padding:0 16px; margin-bottom:20px; }
  .ff-av { width:30px; height:30px; font-size:13px; }
  .ff-who__name { display:none; }
  .ff-nav ul { min-width:0; flex:1; flex-wrap:nowrap; overflow-x:auto; gap:22px; scrollbar-width:none; }
  .ff-nav ul::-webkit-scrollbar { display:none; }
  .ff-nav li { flex:0 0 auto; }
  .ff-nav li a { font-size:15px; padding:14px 0 11px; white-space:nowrap; }
  .ff-hero { min-height:0; }
  .ff-hero::before { width:100%; opacity:.35; }
  .ff-hero::after { background:linear-gradient(90deg,rgba(224,233,252,.9),rgba(224,233,252,.6)); }
  .ff-hero__in { padding:28px 20px; max-width:none; }
  .ff-hello { font-size:26px; }
  .ff-hero__btns { flex-direction:column; align-items:stretch; }
  .ff-hero .ff-btn { text-align:center; padding:12px 20px; }
  .ff-card--list { padding:18px 16px; }
  .ff-ev { flex-wrap:wrap; gap:12px 14px; }
  .ff-date { width:64px; height:64px; }
  .ff-date__d { font-size:24px; }
  .ff-ev__body { flex:1 1 calc(100% - 80px); }
  .ff-ev .ff-ev__cta, .ff-ev > .ff-more { flex:0 0 100%; text-align:center; padding:11px 20px; }
  .ff-card--replay-big { grid-template-columns:1fr; }
  .ff-card--replay-big .ff-thumb { min-height:0; aspect-ratio:16/9; }
  .ff-ocard { padding:56px 20px 22px; }
  .ff-ocard__go, .ff-section__cta .ff-btn { display:block; width:100%; text-align:center; padding:12px 20px; }
}

/* 15g. Le thème souligne les liens : on l'annule sur tous les boutons de l'accueil */
.ff-accueil .ff-btn, .ff-accueil .ff-ocard__go, .ff-accueil .ff-ev__cta, .ff-accueil .ff-ev > .ff-more { text-decoration:none !important; }

/* =====================================================================
   16. Priorité sur « .elementor-kit-8 a » (même spécificité que .ff-xxx a, chargé après) : sélecteurs précisés
   ===================================================================== */
.ff-card .ff-card__foot a.ff-more { color:#2A4FC4; }
.ff-lbl a, .ff-section__head a { color:#2A4FC4; }
.ff-ressources a.ff-chip { color:#1F2A7C; }
.ff-une__body h3 a, .ff-card--replay-big h3 a { color:#1F2A7C; }
.ff-ocard a.ff-ocard__go { color:var(--c); }
@media (max-width:640px){ .ff-ressources a.ff-chip.is-active { color:#fff; } }

/* 17. Hero : titre bridé sur deux lignes, quel que soit le prénom (chaque ligne ne se coupe jamais ; JS réduit la taille si besoin).
      Sélecteurs à 2 classes : le kit Elementor (.elementor-kit-8 h1) impose sinon sa taille de h1. */
.ff-hero h1.ff-hello { font-size:34px; line-height:1.15; margin:0 0 10px; }
.ff-hero .ff-hello .ff-hello__l1, .ff-hero .ff-hello .ff-hello__l2 { display:block; white-space:nowrap; }
.ff-hero .ff-hero__in { max-width:min(540px, 100%); box-sizing:border-box; }
@media (max-width:640px){ .ff-hero h1.ff-hello { font-size:clamp(20px, 7vw, 26px); } }

/* =====================================================================
   18. Téléphone et page Ressources (retours Arnaud 12/10) — à garder en fin de fichier
   ===================================================================== */
/* Ressources : 2 colonnes sur ordinateur (3 étaient trop serrées), 1 colonne sur téléphone */
.ff-ressources .ff-grid { grid-template-columns:repeat(2, minmax(0,1fr)); }
@media (max-width:640px){ .ff-ressources .ff-grid, .ff-grid { grid-template-columns:1fr; } }
/* Cartes : rien ne déborde (étiquettes, titres longs, pied de carte) */
.ff-card { min-width:0; }
.ff-card h3, .ff-card h4, .ff-ev__body h3 { overflow-wrap:anywhere; hyphens:auto; }
.ff-card__tags .ff-tag { white-space:normal; max-width:100%; }
.ff-card__foot { flex-wrap:wrap; row-gap:6px; }
.ff-card__foot .ff-more { margin-left:auto; }
/* Fiches (ressource, événement, replay) : titre et ligne de date lisibles sur téléphone */
.ff-single, .ff-single * { min-width:0; }
.ff-single .ff-title { overflow-wrap:anywhere; }
.ff-event-date { overflow-wrap:anywhere; }
@media (max-width:640px){
  .ff-single .ff-title, .ff-title { font-size:clamp(24px, 7.5vw, 30px); text-align:left; }
  .ff-event-date { font-size:1.05em; }
}
/* Encadré « inscriptions bientôt ouvertes » */
.ff-insc-soon { background:#FFF2C4; border-radius:16px; }
.ff-insc-soon p { margin:0 0 6px; } .ff-insc-soon p:last-child { margin:0; }
.ff-insc-soon a { color:#1F2A7C; font-weight:700; }
/* Guide MDPH : les longues adresses web se coupent au lieu d'élargir la page */
.ff-doc a, .ff-doc p, .ff-doc li { overflow-wrap:anywhere; }

/* =====================================================================
   19. « À la une » v3 : un seul intitulé de colonne, cartes compactes horizontales (visuel à gauche, texte à droite)
       sur toutes les tailles. Le visuel est l'image, la vignette du replay, la date (événement) ou l'icône (ressource).
   ===================================================================== */
.ff-une-col { gap:12px; }
.ff-une-col > .ff-lbl { margin:0 0 2px; }
.ff-une-col .ff-card--une { flex:1 1 auto; flex-direction:row; align-items:stretch; min-height:0; background:#fff;
  border:1.5px solid #e6e9f3; border-radius:18px; overflow:hidden; --c:#2A4FC4; --cb:#E0E9FC; }
.ff-une-col .ff-une--event { --c:#B8295A; --cb:#FBE8F0; }
.ff-une-col .ff-une--ressource { --c:#12775A; --cb:#D5F1E6; }
.ff-une-col .ff-une__img, .ff-une-col .ff-une__vis { flex:0 0 34%; max-width:180px; min-height:118px; position:relative; display:block; background:var(--cb); }
.ff-une-col .ff-une__img img { position:absolute; inset:0; width:100% !important; height:100% !important; object-fit:cover; border:0; }
.ff-une-col .ff-une__img .ff-play { width:38px; height:38px; font-size:14px; }
.ff-une-col .ff-une__vis { display:flex; flex-direction:column; align-items:center; justify-content:center; color:var(--c); text-decoration:none; font-weight:800; line-height:1; }
.ff-une-col .ff-une__vis .ff-date__d { font-size:30px; } .ff-une-col .ff-une__vis .ff-date__m { font-size:12px; margin-top:4px; letter-spacing:.08em; text-transform:uppercase; }
.ff-une-col .ff-une__vis--ico span { width:40px; height:40px; background:var(--c); -webkit-mask:var(--ico, var(--i-bulb)) center/contain no-repeat; mask:var(--ico, var(--i-bulb)) center/contain no-repeat; }
.ff-une-col .ff-une__body { flex:1; min-width:0; padding:14px 16px; display:flex; flex-direction:column; justify-content:center; gap:4px; }
.ff-une-col .ff-une__body .ff-tag { background:var(--cb); color:var(--c); align-self:flex-start; font-size:11px; padding:3px 9px; }
.ff-une-col .ff-une__body h3 { margin:2px 0 0; font-size:15.5px; line-height:1.3; }
.ff-une-col .ff-une__body h3 a { color:#1F2A7C; text-decoration:none; }
.ff-une-col .ff-une__body p { margin:0; font-size:13px; line-height:1.45; color:var(--ff-mut); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.ff-une-col a.ff-une__go { align-self:flex-start; margin-top:4px; font-size:13px; font-weight:700; color:var(--c); text-decoration:none; }
.ff-une-col .ff-card--une:hover { box-shadow:0 8px 22px rgba(31,42,124,.10); transform:none; }
@media (max-width:640px){
  .ff-une-col .ff-card--une { flex:0 0 auto; flex-direction:row; }
  .ff-une-col .ff-une__img, .ff-une-col .ff-une__vis { flex:0 0 104px; aspect-ratio:auto; min-height:104px; }
  .ff-une-col .ff-une__body { padding:12px 14px; }
  .ff-une-col .ff-une__body p { -webkit-line-clamp:2; }
}

/* 20. Barre de l'espace : fond pleine largeur SANS élargir la page.
       L'ancienne technique (margin calc(50% - 50vw)) compte la barre de défilement dans 100vw
       → la page déborde de la largeur de la scrollbar (Windows, Android avec barre visible). */
.ff-nav { margin-left:0 !important; margin-right:0 !important; padding-left:0; padding-right:0;
  box-shadow:0 0 0 100vmax #1F2A7C; clip-path:inset(0 -100vmax); }
@media (max-width:640px){ .ff-nav { padding-left:0; padding-right:0; } }


/* ===== 22/10/2026 — une couleur par type de rendez-vous (remplace la rotation) ===== */
.ff-card--list > .ff-ev.ff-tone--groupe-de-parole, .ff-card--event.ff-tone--groupe-de-parole { --c:var(--c-blue); --cb:var(--c-blue-bg); }
.ff-card--list > .ff-ev.ff-tone--webinar-famille, .ff-card--event.ff-tone--webinar-famille { --c:var(--c-green); --cb:var(--c-green-bg); }
.ff-card--list > .ff-ev.ff-tone--atelier-expert, .ff-card--event.ff-tone--atelier-expert,
.ff-card--list > .ff-ev.ff-tone--atelier-de-repit, .ff-card--event.ff-tone--atelier-de-repit,
.ff-card--list > .ff-ev.ff-tone--rencontre, .ff-card--event.ff-tone--rencontre { --c:var(--c-rasp); --cb:var(--c-rasp-bg); }
.ff-card--list > .ff-ev.ff-tone--bulles-de-repit, .ff-card--event.ff-tone--bulles-de-repit { --c:var(--c-orange); --cb:var(--c-orange-bg); }
.ff-card--event[class*="ff-tone--"] .ff-date { background:var(--cb); color:var(--c); }
.ff-card--event[class*="ff-tone--"] h3 a { color:var(--c); }
.ff-card--event[class*="ff-tone--"] .ff-tag { background:var(--cb); color:var(--c); }
/* Titres : pas de coupure de mot automatique (« com-prendre ») */
.ff-card h3, .ff-card h4, .ff-ev__body h3 { -webkit-hyphens:manual; hyphens:manual; overflow-wrap:break-word; }
/* « Inscriptions prochainement » : simple mention, plus un bouton */
.ff-ev .ff-ev__soon { flex:0 0 auto; max-width:130px; font-size:13px; line-height:1.35; font-weight:600; color:var(--ff-mut, #6B7194); text-align:right; }
@media (max-width:640px){ .ff-ev .ff-ev__soon { flex:0 0 100%; max-width:none; text-align:left; padding-left:80px; } }


/* ===== 22/10/2026 — « À la une » : couleur des fiches selon leur thématique ===== */
.ff-une-col .ff-une--ressource.ff-theme--trouver-le-bon-interlocuteur, .ff-une-col .ff-une--ressource.ff-theme--rencontrer-dautres-familles, .ff-une-col .ff-une--ressource.ff-theme--fratries-jeunes-aidants { --c:var(--c-blue); --cb:var(--c-blue-bg); }
.ff-une-col .ff-une--ressource.ff-theme--scolarite-inclusion, .ff-une-col .ff-une--ressource.ff-theme--trouver-des-aides-financieres, .ff-une-col .ff-une--ressource.ff-theme--vacances-sejours { --c:var(--c-orange); --cb:var(--c-orange-bg); }
.ff-une-col .ff-une--ressource.ff-theme--besoin-de-souffler, .ff-une-col .ff-une--ressource.ff-theme--trouver-des-loisirs-activites-adaptes { --c:var(--c-green); --cb:var(--c-green-bg); }
.ff-une-col .ff-une--ressource.ff-theme--acceder-a-des-soins-adaptes, .ff-une-col .ff-une--ressource.ff-theme--etre-soutenu-en-tant-quaidant { --c:var(--c-rasp); --cb:var(--c-rasp-bg); }


/* ===== 22/10/2026 — Agenda compact : filtres type / lieu, lignes groupées par mois ===== */
:root { --i-video:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='6' width='14' height='12' rx='2'/%3E%3Cpath d='M16 10l6-4v12l-6-4z'/%3E%3C/svg%3E"); }
.ff-agenda .ff-agf { display:flex; flex-direction:column; gap:10px; background:#fff; border:1.5px solid #E7EAF5; border-radius:18px; padding:14px 18px; margin:0 0 18px; }
.ff-agf__row { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.ff-agf__lbl { min-width:48px; font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:#1F2A7C; }
.ff-agenda .ff-agf button.ff-agf__b { display:inline-flex; align-items:center; gap:6px; margin:0; border:1.5px solid #E0E9FC; background:#fff; color:#1F2A7C; border-radius:999px; padding:6px 13px; font-family:inherit; font-size:14px; font-weight:600; line-height:1.2; text-transform:none; letter-spacing:0; box-shadow:none; cursor:pointer; }
.ff-agenda .ff-agf button.ff-agf__b:hover, .ff-agenda .ff-agf button.ff-agf__b:focus { background:#F3F6FD; color:#1F2A7C; border-color:#C9D6F5; }
.ff-agenda .ff-agf button.ff-agf__b.is-active { background:#1F2A7C; border-color:#1F2A7C; color:#fff; }
.ff-agf__b span { font-size:12px; font-weight:500; opacity:.7; }
.ff-agf__none { margin:0 0 18px; padding:16px 18px; background:#F3F6FD; border-radius:14px; color:#1F2A7C; }
/* Pictogramme en ligne / sur place */
.ff-mode { display:inline-flex; align-items:center; gap:5px; font-size:12px; font-weight:700; padding:3px 9px 3px 7px; border-radius:999px; }
.ff-mode::before { content:""; flex:0 0 15px; width:15px; height:15px; background:currentColor; -webkit-mask:var(--i-video) center/contain no-repeat; mask:var(--i-video) center/contain no-repeat; }
.ff-mode--presentiel::before { -webkit-mask-image:var(--i-pin); mask-image:var(--i-pin); }
.ff-ag .ff-mode--visio { background:#EEEBFF; color:#5B3FB8; }
.ff-ag .ff-mode--presentiel { background:#FFF1DC; color:#9A5300; }
.ff-agenda .ff-agf button.ff-mode { padding-left:11px; }
/* Liste */
.ff-aglist { display:flex; flex-direction:column; background:#fff; border:1.5px solid #E7EAF5; border-radius:20px; padding:6px 22px 10px; }
.ff-agm { margin:16px 0 4px; font-size:13px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:#1F2A7C; }
.ff-agm::before, .ff-agm::after { display:none !important; }
.ff-ag { --c:var(--c-rasp); --cb:var(--c-rasp-bg); display:flex; align-items:center; gap:16px; padding:12px 0; border-top:1px solid #EEF0F6; }
.ff-agm + .ff-ag { border-top:0; }
.ff-ag.ff-tone--groupe-de-parole { --c:var(--c-blue); --cb:var(--c-blue-bg); }
.ff-ag.ff-tone--webinar-famille { --c:var(--c-green); --cb:var(--c-green-bg); }
.ff-ag.ff-tone--bulles-de-repit { --c:var(--c-orange); --cb:var(--c-orange-bg); }
.ff-ag .ff-date { width:58px; height:58px; flex:0 0 58px; border-radius:14px; background:var(--cb); color:var(--c); display:flex; flex-direction:column; align-items:center; justify-content:center; font-weight:800; line-height:1; }
.ff-ag .ff-date__d { font-size:22px; }
.ff-ag .ff-date__m { font-size:11px; margin-top:3px; letter-spacing:.06em; text-transform:uppercase; }
.ff-ag__body { flex:1; min-width:0; }
.ff-ag__meta { display:flex; flex-wrap:wrap; align-items:center; gap:6px 8px; margin-bottom:3px; font-size:13px; color:var(--ff-mut, #6B7194); }
.ff-ag .ff-tag { background:var(--cb); color:var(--c); font-size:11.5px; font-weight:700; padding:3px 9px; border-radius:999px; }
.ff-ag__when { margin-left:2px; }
.ff-ag h3 { margin:0; font-size:17px; font-weight:700; line-height:1.3; -webkit-hyphens:manual; hyphens:manual; }
.ff-ag h3 a { color:var(--c); text-decoration:none; }
.ff-ag__ex { margin:2px 0 0; font-size:13.5px; line-height:1.45; color:var(--ff-mut, #6B7194); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ff-ag__act { flex:0 0 auto; display:flex; flex-direction:column; align-items:flex-end; gap:6px; text-align:right; }
.ff-ag__act .ff-ev__soon { max-width:120px; font-size:12.5px; font-weight:600; line-height:1.35; color:var(--ff-mut, #6B7194); }
.ff-ag__act .ff-more { font-size:13.5px; font-weight:700; color:var(--c); text-decoration:none; }
.ff-ag__act .ff-btn--small { padding:7px 16px; font-size:13.5px; }
.ff-ag.is-past { opacity:.72; }
.ff-ag[hidden], .ff-agm[hidden], .ff-agf__none[hidden] { display:none !important; }
.ff-agpast { margin-top:22px; }
.ff-agpast > summary { cursor:pointer; padding:10px 0; font-weight:700; color:#1F2A7C; }
.ff-agpast .ff-aglist { margin-top:6px; }
@media (max-width:640px) {
  .ff-agenda .ff-agf { padding:12px 14px; }
  .ff-agf__row { flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; padding-bottom:2px; }
  .ff-agf__row::-webkit-scrollbar { display:none; }
  .ff-agenda .ff-agf button.ff-agf__b { flex:0 0 auto; white-space:nowrap; }
  .ff-aglist { padding:4px 14px 8px; }
  .ff-ag { flex-wrap:wrap; align-items:flex-start; gap:10px 12px; }
  .ff-ag .ff-date { width:52px; height:52px; flex-basis:52px; }
  .ff-ag__body { flex:1 1 calc(100% - 64px); }
  .ff-ag__ex { white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
  .ff-ag__act { flex:0 0 100%; flex-direction:row; justify-content:space-between; align-items:center; padding-left:64px; box-sizing:border-box; }
  .ff-ag__act .ff-ev__soon { max-width:none; }
}
.ff-agenda .ff-aglist h3.ff-agm { margin:18px 0 4px; font-size:14px; font-weight:800; line-height:1.3; letter-spacing:.08em; text-transform:uppercase; color:#1F2A7C; }
.ff-agenda .ff-aglist h3.ff-agm:first-child { margin-top:12px; }
@media (max-width:640px){ .ff-agenda .ff-ag__ex { display:none; } .ff-agenda .ff-ag h3 { font-size:16px; } .ff-agenda .ff-ag__act .ff-btn--small { padding:6px 14px; font-size:13px; } .ff-agenda .ff-agf__lbl { min-width:34px; font-size:11px; } }

/* 22/10/2026 : Atelier de répit en violet (distinct d Atelier expert) ; badge En ligne en gris neutre */
.ff-card--list > .ff-ev.ff-tone--atelier-de-repit, .ff-card--event.ff-tone--atelier-de-repit, .ff-ag.ff-tone--atelier-de-repit { --c:#6D3FC0; --cb:#EFE9FC; }
.ff-ag .ff-mode--visio { background:#EEF0F4; color:#475069; }

/* 22/10/2026 : boutons de filtre sans résultat (compte croisé) */
.ff-agenda .ff-agf button.ff-agf__b.is-empty, .ff-agenda .ff-agf button.ff-agf__b:disabled { opacity:.45; cursor:default; background:#fff; color:#1F2A7C; border-color:#E0E9FC; }
.ff-aglist[hidden] { display:none !important; }

/* ===== 22/10/2026 — Typographie : pas de mot seul en fin de ligne ===== */
.ff-single :is(h1,h2,h3,h4), .ff-accueil :is(h1,h2,h3,h4), .ff-ressources :is(h1,h2,h3,h4), .ff-agenda :is(h1,h2,h3,h4), .ff-replays :is(h1,h2,h3,h4), .ff-compte :is(h1,h2,h3,h4), .ff-login :is(h1,h2,h3,h4), .ff-doc :is(h1,h2,h3,h4), h1.ff-title { text-wrap:balance; }
.ff-single p, .ff-accueil p, .ff-ressources p, .ff-agenda p, .ff-replays p, .ff-compte p, .ff-login p, .ff-doc :is(p,li) { text-wrap:pretty; }

/* ===== 22/10/2026 — Page Replays : cartes compactes, centrées ===== */
.ff-replays .ff-grid { grid-template-columns:repeat(auto-fit, minmax(280px, 380px)); justify-content:center; gap:24px; }
.ff-replays .ff-card--replay { display:flex; flex-direction:column; padding:0; overflow:hidden; }
.ff-replays .ff-card--replay .ff-thumb { aspect-ratio:16/9; display:block; position:relative; }
.ff-replays .ff-card--replay .ff-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.ff-replays .ff-card--replay .ff-play { width:52px; height:52px; font-size:18px; }
.ff-replays .ff-card--replay .ff-card__body { flex:1; display:flex; flex-direction:column; align-items:flex-start; padding:16px 20px 20px; }
.ff-replays .ff-rpc__meta { margin:0 0 6px; font-size:12.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:#12775A; }
.ff-replays .ff-card--replay h3 { margin:0 0 6px; font-size:19px; font-weight:700; line-height:1.3; }
.ff-replays .ff-card--replay h3 a { color:#1F2A7C; text-decoration:none; }
.ff-replays .ff-rpc__who { margin:0 0 6px; font-size:14px; font-weight:600; color:#1F2A7C; }
.ff-replays .ff-rpc__ex { margin:0 0 14px; font-size:14px; line-height:1.5; color:var(--ff-mut, #6B7194); display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.ff-replays .ff-rpc__go { margin-top:auto; font-size:14px; font-weight:700; color:#12775A; text-decoration:none !important; }
.ff-replays .ff-rpc__go:hover { text-decoration:underline !important; }
@media (max-width:640px) { .ff-replays .ff-grid { grid-template-columns:1fr; } }

/* 23/10/2026 : espace blanc avant le pied de page bleu marine, sur toutes les pages de l espace */
.ff-accueil, .ff-ressources, .ff-agenda, .ff-replays, .ff-compte, .ff-doc, .ff-single, .ff-login { padding-bottom:64px !important; }
@media (max-width:640px){ .ff-accueil, .ff-ressources, .ff-agenda, .ff-replays, .ff-compte, .ff-doc, .ff-single, .ff-login { padding-bottom:44px !important; } }

/* ===== 23/10/2026 — Replays : rangement (3 max par ligne, jamais une carte seule, ligne incomplète centrée) ===== */
.ff-replays .ff-rpgrid { display:flex; flex-wrap:wrap; justify-content:center; gap:24px; }
.ff-replays .ff-rpgrid > .ff-card--replay { flex:0 1 calc((100% - 48px) / 3); min-width:0; margin:0; }
.ff-replays .ff-card--feat { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); margin:0 0 24px; }
.ff-replays .ff-card--feat .ff-thumb { aspect-ratio:auto; min-height:100%; }
.ff-replays .ff-card--feat .ff-thumb img { position:absolute; inset:0; }
.ff-replays .ff-card--feat .ff-card__body { justify-content:center; padding:28px 32px; }
.ff-replays .ff-card--feat h3 { font-size:24px; }
@media (max-width:980px) { .ff-replays .ff-rpgrid > .ff-card--replay { flex-basis:calc((100% - 24px) / 2); } }
@media (max-width:640px) {
  .ff-replays .ff-rpgrid > .ff-card--replay { flex-basis:100%; }
  .ff-replays .ff-card--feat { grid-template-columns:1fr; }
  .ff-replays .ff-card--feat .ff-thumb { aspect-ratio:16/9; min-height:0; }
  .ff-replays .ff-card--feat .ff-card__body { padding:16px 20px 20px; }
  .ff-replays .ff-card--feat h3 { font-size:19px; }
}

/* 23/10/2026 : text-wrap remettait le retour à la ligne ; résumé de l agenda limité à 2 lignes */
.ff-agenda .ff-ag__ex { white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }

/* 23/10/2026 : 2 replays seulement -> cartes plus larges */
.ff-replays .ff-rpgrid:has(> :nth-child(2):last-child) > .ff-card--replay { flex-basis:calc((100% - 24px) / 2); max-width:440px; }
@media (max-width:640px){ .ff-replays .ff-rpgrid:has(> :nth-child(2):last-child) > .ff-card--replay { flex-basis:100%; max-width:none; } }

/* 23/10/2026 : vignettes YouTube (bandes noires intégrées) en grand format */
.ff-replays .ff-card--feat .ff-thumb { overflow:hidden; background:#D5F1E6; }
.ff-replays .ff-card--feat .ff-thumb img[src*=ytimg] { transform:scale(1.34); }
.ff-replays .ff-card--feat { align-items:center; }
.ff-replays .ff-card--feat .ff-thumb { aspect-ratio:16/9; min-height:0; align-self:center; }
.ff-replays .ff-card--feat .ff-thumb img[src*=ytimg] { transform:none; }

/* ===== 23/10/2026 — Accueil du guide MDPH : les 6 sous-pages en cartes cliquables ===== */
:root {
  --i-mdoc:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 3v5h5M9 13h6M9 17h4'/%3E%3C/svg%3E");
  --i-mheart:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20s-7-4.4-7-10a4 4 0 0 1 7-2.6A4 4 0 0 1 19 10c0 5.6-7 10-7 10z'/%3E%3C/svg%3E");
  --i-mcal:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E");
  --i-meuro:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 7a7 7 0 1 0 0 10M4 10h9M4 14h9'/%3E%3C/svg%3E");
  --i-mlist:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6h11M9 12h11M9 18h11'/%3E%3Cpath d='M4 6l1 1 2-2M4 12l1 1 2-2M4 18l1 1 2-2'/%3E%3C/svg%3E");
  --i-mdl:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11M7 10l5 5 5-5M5 20h14'/%3E%3C/svg%3E");
}
.ff-mdph-nav { margin:28px 0 32px; }
.ff-doc .ff-mdph-nav__lbl, .ff-mdph-nav__lbl { margin:0 0 14px; font-size:13px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:#1F2A7C; }
.ff-mdph-grid { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:18px; }
.ff-doc a.ff-mdph-card, a.ff-mdph-card { --c:var(--c-blue); --cb:var(--c-blue-bg); display:flex; flex-direction:column; gap:8px; padding:20px 20px 18px; background:#fff; border:1.5px solid #E3E8F5; border-radius:18px; text-decoration:none !important; color:#1F2A7C; transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease; }
a.ff-mdph-card--green { --c:var(--c-green); --cb:var(--c-green-bg); }
a.ff-mdph-card--orange { --c:var(--c-orange); --cb:var(--c-orange-bg); }
a.ff-mdph-card:hover, a.ff-mdph-card:focus-visible { transform:translateY(-3px); box-shadow:0 10px 24px rgba(31,42,124,.10); border-color:var(--c); }
.ff-mdph-card__top { display:flex; align-items:center; justify-content:space-between; margin-bottom:4px; }
.ff-mdph-card__n { display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; border-radius:50%; background:var(--c); color:#fff; font-weight:800; font-size:15px; }
.ff-mdph-card__ico { width:46px; height:46px; border-radius:14px; background:var(--cb); position:relative; }
.ff-mdph-card__ico::after { content:""; position:absolute; inset:11px; background:var(--c); -webkit-mask:var(--ico) center/contain no-repeat; mask:var(--ico) center/contain no-repeat; }
.ff-mdph-ico--doc { --ico:var(--i-mdoc); } .ff-mdph-ico--heart { --ico:var(--i-mheart); } .ff-mdph-ico--cal { --ico:var(--i-mcal); }
.ff-mdph-ico--euro { --ico:var(--i-meuro); } .ff-mdph-ico--list { --ico:var(--i-mlist); } .ff-mdph-ico--dl { --ico:var(--i-mdl); }
.ff-mdph-card__t { font-size:17px; font-weight:800; line-height:1.3; color:#1F2A7C; text-wrap:balance; }
.ff-mdph-card__d { font-size:14px; line-height:1.5; color:var(--ff-mut, #6B7194); text-wrap:pretty; }
.ff-mdph-card__go { margin-top:auto; padding-top:6px; font-size:14px; font-weight:700; color:var(--c); }
@media (max-width:980px) { .ff-mdph-grid { grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width:640px) { .ff-mdph-grid { grid-template-columns:1fr; gap:12px; } a.ff-mdph-card { padding:16px; } }
.ff-doc a.ff-mdph-card--green, a.ff-mdph-card.ff-mdph-card--green { --c:var(--c-green); --cb:var(--c-green-bg); }
.ff-doc a.ff-mdph-card--orange, a.ff-mdph-card.ff-mdph-card--orange { --c:var(--c-orange); --cb:var(--c-orange-bg); }

/* ===== 23/10/2026 — Accueil du guide MDPH : sections, liste des pièces, fiches des aides, tableaux ===== */
.ff-doc h2.ff-h2 { margin:44px 0 14px; padding-top:28px; border-top:1.5px solid #E3E8F5; font-size:26px; font-weight:800; line-height:1.25; color:#1F2A7C; }
.ff-doc ul.ff-check { list-style:none; margin:12px 0 20px; padding:0; display:grid; gap:8px; }
.ff-doc ul.ff-check > li { position:relative; margin:0; padding:12px 14px 12px 46px; background:#F5F7FD; border-radius:12px; line-height:1.5; }
.ff-doc ul.ff-check > li::before { content:""; position:absolute; left:14px; top:13px; width:20px; height:20px; border-radius:50%; background:#2A4FC4 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l4 4 10-10'/%3E%3C/svg%3E") center/12px no-repeat; }
.ff-doc .ff-note { margin:16px 0 8px; padding:16px 20px; border-left:4px solid #DE5A12; background:#FFF6EF; border-radius:0 14px 14px 0; }
.ff-doc .ff-note p, .ff-doc .ff-note li { font-size:15px; }
.ff-doc .ff-note__t { margin:0 0 4px; font-weight:800; color:#1F2A7C; }
.ff-doc .ff-note ul { margin:6px 0 8px 18px; }
.ff-doc .ff-aide { --c:var(--c-blue); --cb:var(--c-blue-bg); margin:20px 0; padding:22px 24px 18px; background:#fff; border:1.5px solid #E3E8F5; border-top:5px solid var(--c); border-radius:18px; }
.ff-doc .ff-aide--green { --c:var(--c-green); --cb:var(--c-green-bg); }
.ff-doc .ff-aide--orange { --c:var(--c-orange); --cb:var(--c-orange-bg); }
.ff-doc .ff-aide__head { display:flex; align-items:center; gap:14px; margin-bottom:14px; }
.ff-doc .ff-aide__n { flex:0 0 40px; width:40px; height:40px; display:inline-flex; align-items:center; justify-content:center; border-radius:50%; background:var(--c); color:#fff; font-weight:800; font-size:18px; }
.ff-doc .ff-aide h3 { margin:0; font-size:22px; font-weight:800; line-height:1.2; color:#1F2A7C; }
.ff-doc .ff-aide__sub { margin:2px 0 0; font-size:14px; color:var(--ff-mut, #6B7194); }
.ff-doc .ff-aide__facts { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:10px; margin:0 0 14px; }
.ff-doc .ff-aide__facts > div { background:var(--cb); border-radius:12px; padding:10px 14px; }
.ff-doc .ff-aide__facts dt { margin:0; font-size:11.5px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--c); }
.ff-doc .ff-aide__facts dd { margin:2px 0 0; font-size:15px; line-height:1.35; color:#1F2A7C; }
.ff-doc .ff-aide__lbl { margin:16px 0 6px; font-size:13px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:#1F2A7C; }
.ff-doc .ff-aide ul { margin:0 0 8px 20px; }
.ff-doc .ff-aide li { margin:0 0 6px; line-height:1.5; }
.ff-doc .ff-aide__more { margin:14px 0 0; padding-top:12px; border-top:1px solid #EEF0F6; font-size:14px; color:var(--ff-mut, #6B7194); }
.ff-doc .ff-aide__more a { font-weight:700; color:var(--c); }
.ff-doc .ff-tbl-wrap { overflow-x:auto; margin:6px 0 10px; border:1px solid #E3E8F5; border-radius:12px; }
.ff-doc table.ff-tbl { width:100%; margin:0; border-collapse:collapse; font-size:14.5px; }
.ff-doc table.ff-tbl th { background:var(--cb, #E0E9FC); color:#1F2A7C; text-align:left; font-weight:700; padding:10px 14px; border:0; }
.ff-doc table.ff-tbl td { padding:9px 14px; border:0; border-top:1px solid #EEF0F6; vertical-align:top; }
.ff-doc table.ff-tbl tbody tr:nth-child(even) td { background:#FAFBFE; }
.ff-doc table.ff-tbl td:not(:first-child) { white-space:normal; }
@media (max-width:640px) {
  .ff-doc h2.ff-h2 { font-size:22px; margin-top:32px; }
  .ff-doc .ff-aide { padding:18px 16px 14px; }
  .ff-doc .ff-aide__facts { grid-template-columns:1fr; }
  .ff-doc .ff-aide h3 { font-size:19px; }
}
.ff-doc .ff-tbl-wrap > table.ff-tbl { display:table !important; width:100% !important; max-width:none !important; table-layout:auto; }

/* 23/10/2026 : cartes du guide MDPH compactes (hauteur divisée par deux) : icône + numéro à gauche, titre et phrase à droite, flèche */
.ff-mdph-grid { gap:12px; }
.ff-doc a.ff-mdph-card, a.ff-mdph-card { display:grid; grid-template-columns:48px minmax(0,1fr) 16px; grid-template-areas:"ico t go" "ico d go"; column-gap:14px; row-gap:2px; align-items:center; padding:14px 16px; }
.ff-mdph-card__top { grid-area:ico; position:relative; display:block; margin:0; }
.ff-mdph-card__ico { display:block; width:48px; height:48px; border-radius:14px; }
.ff-mdph-card__ico::after { inset:12px; }
.ff-mdph-card__n { position:absolute; top:-7px; left:-7px; width:22px; height:22px; font-size:12px; border:2px solid #fff; z-index:1; }
.ff-mdph-card__t { grid-area:t; align-self:end; font-size:15.5px; line-height:1.25; }
.ff-mdph-card__d { grid-area:d; align-self:start; font-size:13px; line-height:1.4; }
.ff-mdph-card__go { grid-area:go; margin:0; padding:0; font-size:0; }
.ff-mdph-card__go::after { content:"→"; font-size:18px; font-weight:700; color:var(--c); }
.ff-mdph-grid { grid-template-columns:repeat(2, minmax(0,1fr)); }
@media (max-width:640px){ .ff-mdph-grid { grid-template-columns:1fr; } }

/* ===== 23/10/2026 — Sous-pages du guide MDPH : lignes de téléchargement, conseils, exemples, sommaire, lettre ===== */
.ff-doc .ff-lead { font-size:17px; line-height:1.6; color:#1F2A7C; margin:0 0 18px; }
.ff-doc .ff-small { font-size:14px; color:var(--ff-mut, #6B7194); margin:0 0 10px; }
.ff-doc .ff-center { text-align:center; margin:28px 0 8px; }
.ff-doc .ff-dl { --c:var(--c-blue); --cb:var(--c-blue-bg); display:grid; grid-template-columns:48px minmax(0,1fr) auto; align-items:center; gap:16px; margin:0 0 12px; padding:14px 18px; background:#fff; border:1.5px solid #E3E8F5; border-radius:16px; }
.ff-doc .ff-dl--green { --c:var(--c-green); --cb:var(--c-green-bg); }
.ff-doc .ff-dl--orange { --c:var(--c-orange); --cb:var(--c-orange-bg); }
.ff-doc .ff-dl .ff-mdph-card__ico { display:block; width:48px; height:48px; border-radius:14px; background:var(--cb); position:relative; }
.ff-doc .ff-dl__t { margin:0; font-size:16px; font-weight:800; line-height:1.3; color:#1F2A7C; }
.ff-doc .ff-dl__d { margin:2px 0 0; font-size:14px; line-height:1.45; color:var(--ff-mut, #6B7194); }
.ff-doc .ff-dl__btns { display:flex; flex-wrap:wrap; gap:8px; justify-content:flex-end; }
.ff-doc .ff-dl__btns .ff-btn { white-space:nowrap; padding:9px 18px; font-size:14px; background:var(--c); border:2px solid var(--c); color:#fff !important; border-radius:99px; text-decoration:none !important; }
.ff-doc .ff-dl__btns .ff-btn--ghost { background:#fff; color:var(--c) !important; }
.ff-doc .ff-dls { margin:8px 0 0; }
.ff-doc .ff-tip, .ff-doc .ff-example, .ff-doc .ff-toc { margin:16px 0; padding:14px 18px; border-radius:14px; }
.ff-doc .ff-tip { background:#F5F7FD; border-left:4px solid #2A4FC4; border-radius:0 14px 14px 0; }
.ff-doc .ff-example { background:#F1FAF5; border-left:4px solid #12775A; border-radius:0 14px 14px 0; }
.ff-doc .ff-tip__t { margin:0 0 4px; font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:#2A4FC4; }
.ff-doc .ff-example .ff-tip__t { color:#12775A; }
.ff-doc .ff-tip p, .ff-doc .ff-tip li, .ff-doc .ff-example p { font-size:15px; line-height:1.55; }
.ff-doc .ff-tip em { font-style:normal; }
.ff-doc .ff-tip ul { margin:4px 0 0 18px; }
.ff-doc .ff-tip p:last-child, .ff-doc .ff-example p:last-child { margin-bottom:0; }
.ff-doc .ff-toc { background:#fff; border:1.5px solid #E3E8F5; }
.ff-doc .ff-toc ol { margin:4px 0 0 20px; columns:2; column-gap:28px; }
.ff-doc .ff-toc li { margin:0 0 4px; break-inside:avoid; }
.ff-doc .ff-toc a { font-weight:600; }
.ff-doc .ff-letter { margin:12px 0 24px; padding:24px 28px; background:#fff; border:1.5px solid #E3E8F5; border-radius:18px; box-shadow:0 2px 10px rgba(31,42,124,.05); }
.ff-doc .ff-letter h2 { scroll-margin-top:90px; margin:28px 0 10px; font-size:20px; color:#1F2A7C; }
.ff-doc .ff-parts { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:12px; margin:8px 0 12px; }
.ff-doc .ff-part { padding:16px 18px; background:#fff; border:1.5px solid #E3E8F5; border-top:4px solid #12775A; border-radius:14px; }
.ff-doc .ff-part__n { margin:0; font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:#12775A; }
.ff-doc .ff-part__t { margin:2px 0 6px; font-size:17px; font-weight:800; color:#1F2A7C; }
.ff-doc .ff-part p:last-child { margin-bottom:0; }
.ff-doc .ff-tbl--orange { --cb:var(--c-orange-bg); }
.ff-doc .ff-tbl .ff-num { text-align:right; white-space:nowrap; }
.ff-doc .ff-tbl .ff-nowrap { white-space:nowrap; }
.ff-doc .ff-tbl tr.ff-tbl__total td { background:var(--cb, #E0E9FC) !important; }
@media (max-width:640px) {
  .ff-doc .ff-dl { grid-template-columns:44px minmax(0,1fr); }
  .ff-doc .ff-dl__btns { grid-column:1 / -1; justify-content:flex-start; }
  .ff-doc .ff-toc ol { columns:1; }
  .ff-doc .ff-letter { padding:16px; }
  .ff-doc .ff-parts { grid-template-columns:1fr; }
}

/* 23/10/2026 : paragraphes vides ajoutés par WordPress (wpautop) dans les blocs de téléchargement */
.ff-doc p:empty, .ff-doc .ff-dl > br { display:none !important; }

/* ===== 23/10/2026 — Cartes de la page Ressources compactes (hauteur ~ divisée par deux) : icône à côté des étiquettes ===== */
.ff-card--ressource { display:grid; grid-template-columns:36px minmax(0,1fr); column-gap:10px; row-gap:6px; align-content:start; padding:14px 16px 12px; }
.ff-card--ressource > * { grid-column:1 / -1; min-width:0; }
.ff-card--ressource[data-theme]::before { grid-column:1; grid-row:1; align-self:start; width:36px; height:36px; flex:none; margin:0; }
.ff-card--ressource[data-theme]::after { left:24px; top:22px; width:20px; height:20px; }
.ff-card--ressource[data-theme] > .ff-card__tags { grid-column:2; grid-row:1; align-self:center; }
.ff-card--ressource .ff-card__tags { gap:5px; }
.ff-card--ressource .ff-card__tags .ff-tag:nth-child(n+3) { display:none; }
.ff-card--ressource .ff-tag { font-size:11px; padding:3px 9px; }
.ff-card--ressource h3 { margin:2px 0 0; font-size:16.5px; line-height:1.3; }
.ff-card--ressource > p:not(.ff-conseil-mini) { margin:0; font-size:14px; line-height:1.45; -webkit-line-clamp:2; }
.ff-card--ressource .ff-card__foot { padding-top:2px; margin-top:auto; }

/* ===== 23/10/2026 — Page Connexion quand on est déjà connecté·e : carte centrée, deux boutons ===== */
.ff-login.ff-login--ok { max-width:460px; margin:8px auto 0; padding:32px 28px 28px; text-align:center; border:1.5px solid #E3E8F5; border-radius:20px; box-shadow:0 6px 24px rgba(31,42,124,.06); }
.ff-login__check { display:block; width:56px; height:56px; margin:0 auto 14px; border-radius:50%; background:var(--c-green-bg, #E2F4EC); position:relative; }
.ff-login__check::after { content:""; position:absolute; inset:15px; background:var(--c-green, #12775A); -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l4 4 10-10'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l4 4 10-10'/%3E%3C/svg%3E") center/contain no-repeat; }
.ff-login--ok .ff-login__t { margin:0; font-size:20px; font-weight:800; color:#1F2A7C; }
.ff-login--ok .ff-login__mail { margin:4px 0 22px; font-size:15px; color:var(--ff-mut, #6B7194); overflow-wrap:anywhere; }
.ff-login__btns { display:flex; flex-direction:column; gap:10px; }
.ff-login__btns .ff-btn { display:block; width:100%; text-align:center; justify-content:center; padding:12px 20px; border-radius:99px; border:2px solid #1F2A7C; background:#1F2A7C; color:#fff !important; text-decoration:none !important; font-weight:700; }
.ff-login__btns .ff-btn--ghost { background:#fff; color:#1F2A7C !important; }
.ff-login__btns .ff-btn:hover { filter:brightness(1.12); }
.ff-login__btns .ff-btn--ghost:hover { background:#F5F7FD; filter:none; }
/* 23/10/2026 : la carte de connexion ne colle plus au pied de page (règle : toujours un espace blanc avant le fond bleu) */
.ff-login.ff-login--ok { margin-bottom:64px; padding-bottom:28px !important; }
@media (max-width:640px){ .ff-login.ff-login--ok { margin-bottom:44px; } }
.ff-login-wrap { margin-bottom:64px; }
@media (max-width:640px){ .ff-login-wrap { margin-bottom:44px; } }

/* ===== 27/10/2026 (1.3.40) — Retours de Carla ===== */
/* Couleurs par type : bleu groupes de parole, vert webinaires, rose bulles de répit, orange ateliers */
.ff-card--list > .ff-ev.ff-tone--bulles-de-repit, .ff-card--event.ff-tone--bulles-de-repit, .ff-ag.ff-tone--bulles-de-repit { --c:var(--c-rasp); --cb:var(--c-rasp-bg); }
.ff-card--list > .ff-ev.ff-tone--atelier-expert, .ff-card--event.ff-tone--atelier-expert, .ff-ag.ff-tone--atelier-expert,
.ff-card--list > .ff-ev.ff-tone--atelier-de-repit, .ff-card--event.ff-tone--atelier-de-repit, .ff-ag.ff-tone--atelier-de-repit { --c:var(--c-orange); --cb:var(--c-orange-bg); }
/* Ressources : couleur selon la thématique (et non plus selon la position) */
.ff-card--ressource[data-theme="trouver-le-bon-interlocuteur"], .ff-card--ressource[data-theme="rencontrer-dautres-familles"], .ff-card--ressource[data-theme="fratries-jeunes-aidants"] { --c:var(--c-blue); --cb:var(--c-blue-bg); }
.ff-card--ressource[data-theme="scolarite-inclusion"], .ff-card--ressource[data-theme="trouver-des-aides-financieres"], .ff-card--ressource[data-theme="vacances-sejours"] { --c:var(--c-orange); --cb:var(--c-orange-bg); }
.ff-card--ressource[data-theme="besoin-de-souffler"], .ff-card--ressource[data-theme="trouver-des-loisirs-activites-adaptes"] { --c:var(--c-green); --cb:var(--c-green-bg); }
.ff-card--ressource[data-theme="acceder-a-des-soins-adaptes"], .ff-card--ressource[data-theme="etre-soutenu-en-tant-quaidant"] { --c:var(--c-rasp); --cb:var(--c-rasp-bg); }
/* Bouton « Voir le replay » plein */
.ff-btn--replay { background:#1F2A7C; border:2px solid #1F2A7C; color:#fff !important; }
.ff-btn--replay:hover { background:#2A4FC4; border-color:#2A4FC4; }
/* Page rendez-vous : adresse et intervenant */
.ff-adresse { margin-top:-4px; }
.ff-anime { margin:18px 0 0; padding-top:14px; border-top:1px solid #EEF0F6; color:#1F2A7C; }
@media (max-width:640px) {
  .ff-hero__btns { flex-direction:row; flex-wrap:nowrap; align-items:stretch; }
  .ff-hero__btns .ff-btn { flex:1 1 0; justify-content:center; text-align:center; padding-left:10px; padding-right:10px; font-size:14px; }
  .ff-section__head, .ff-section__head h2, .ff-section__sub { text-align:center; }
  /* Ressources en liste dans un seul cadre, comme l'agenda */
  .ff-ressources .ff-grid, .ff-grid:has(> .ff-card--ressource) { gap:0; background:#fff; border:1.5px solid #E3E8F5; border-radius:18px; overflow:hidden; }
  .ff-grid > .ff-card--ressource { border:0; border-radius:0; box-shadow:none; border-top:1px solid #EEF0F6; }
  .ff-grid > .ff-card--ressource:first-child { border-top:0; }
  .ff-grid > .ff-card--ressource .ff-card__tags .ff-tag:nth-child(n+2) { display:none; }
  .ff-grid > .ff-card--ressource > p:not(.ff-conseil-mini) { -webkit-line-clamp:2; }
}


/* 27/10/2026 (1.4.2) : logo « Féora Familles » (Carla) dans l en-tête Elementor n° 123, pages de l espace seulement
   (cette feuille n est chargée que dans l espace). En CSS car Elementor met le widget en cache : le logo Féora (image 236)
   est masqué, la variante blanche + vert s affiche à sa place. Logo couleur pour fonds clairs : assets/logo-feora-familles.png. */
[data-elementor-id="123"] .elementor-element-43ee4d4 a,
[data-elementor-id="123"] .elementor-element-43ee4d4 .elementor-widget-container { display:block; background:url("logo-feora-familles-blanc.png?v=1.4.2") left center / contain no-repeat; }
[data-elementor-id="123"] .elementor-element-43ee4d4 img { visibility:hidden; width:136px !important; height:64px !important; max-width:none !important; }
@media (max-width:640px) { [data-elementor-id="123"] .elementor-element-43ee4d4 img { width:123px !important; height:58px !important; } }

/* ===== 27/10/2026 (1.4.3) — Groupe 3 de Carla : encart des formats (agenda), Outils, Fête des Familles ===== */
.ff-formats { margin:0 0 28px; }
.ff-formats__h { margin:0 0 14px; font-size:22px; color:#1F2A7C; text-align:center; }
.ff-formats__grid { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:14px; }
.ff-agenda .ff-fmt { --c:var(--c-blue); --cb:var(--c-blue-bg); display:flex; flex-direction:column; align-items:flex-start; gap:6px; margin:0; padding:16px 16px 14px; text-align:left; white-space:normal; font:inherit; color:#1F2A7C !important; background:#fff !important; border:1.5px solid #E3E8F5 !important; border-top:5px solid var(--c) !important; border-radius:16px !important; cursor:pointer; box-shadow:none; transition:box-shadow .15s, transform .15s; }
.ff-agenda .ff-fmt:hover, .ff-agenda .ff-fmt:focus-visible { box-shadow:0 6px 18px rgba(31,42,124,.10); transform:translateY(-1px); }
.ff-fmt.ff-tone--webinar-famille { --c:var(--c-green); --cb:var(--c-green-bg); }
.ff-fmt.ff-tone--groupe-de-parole { --c:var(--c-blue); --cb:var(--c-blue-bg); }
.ff-fmt.ff-tone--atelier-expert { --c:var(--c-orange); --cb:var(--c-orange-bg); }
.ff-fmt.ff-tone--bulles-de-repit { --c:var(--c-rasp); --cb:var(--c-rasp-bg); }
.ff-fmt__t { font-size:17px; font-weight:800; line-height:1.25; color:var(--c); }
.ff-fmt__q { display:inline-block; padding:3px 10px; border-radius:99px; background:var(--cb); color:var(--c); font-size:12.5px; font-weight:700; line-height:1.35; }
.ff-fmt__d { font-size:14px; line-height:1.45; color:#1F2A7C; }
.ff-fmt__p { font-size:13px; line-height:1.45; color:var(--ff-mut, #6B7194); }
.ff-fmt__p b { color:#1F2A7C; }
.ff-fmt__go { margin-top:auto; padding-top:4px; font-size:13.5px; font-weight:700; color:var(--c); }
@media (max-width:980px) { .ff-formats__grid { grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width:640px) {
  .ff-formats__h { font-size:18px; text-align:center; }
  .ff-formats__grid { grid-template-columns:1fr; gap:10px; }
  .ff-agenda .ff-fmt { padding:12px 14px; border-top-width:1.5px !important; border-left:5px solid var(--c) !important; }
  .ff-fmt__p { display:none; }
}
/* Onglets : 7 entrées, le menu défile au doigt sur téléphone */
.ff-nav ul { overflow-x:auto; scrollbar-width:none; }
.ff-nav ul::-webkit-scrollbar { display:none; }
.ff-nav li { flex:none; }
/* Fête des Familles */
.ff-fete__date { display:flex; flex-wrap:wrap; align-items:center; gap:10px 18px; margin:0 0 22px; padding:18px 22px; background:var(--c-rasp-bg, #FBE8F0); border-radius:18px; }
.ff-fete__date strong { font-size:20px; color:var(--c-rasp, #B8295A); }
.ff-fete__date span { font-size:16px; color:#1F2A7C; }
.ff-doc .ff-fete__cta { margin:22px 0 0; padding:16px 20px; border-left:4px solid var(--c-rasp, #B8295A); background:#fff; border-radius:0 14px 14px 0; box-shadow:0 2px 10px rgba(31,42,124,.05); }
/* 1.4.7 : carrousel Fête des Familles — 1re photo centrée, la suivante dépasse, compteur, points, agrandissement */
.ff-gal { position:relative; margin:26px 0 0; }
.ff-gal__track { position:relative; display:flex; gap:12px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding:0 11%; scroll-padding:0 11%; -webkit-overflow-scrolling:touch; }
.ff-gal__track::-webkit-scrollbar { display:none; }
.ff-gal__item { flex:0 0 100%; margin:0; scroll-snap-align:center; opacity:.55; transition:opacity .25s; }
.ff-gal__item.is-current { opacity:1; }
.ff-gal__zoom { display:block; border-radius:16px; overflow:hidden; cursor:pointer; }
.ff-gal__item.is-current .ff-gal__zoom { cursor:zoom-in; }
.ff-gal__item img { display:block; width:100%; height:380px; object-fit:cover; object-position:center 35%; border-radius:16px; transition:transform .3s; }
.ff-gal__item.is-current .ff-gal__zoom:hover img { transform:scale(1.02); }
.ff-doc .ff-gal__nav { position:absolute; top:169px; z-index:2; width:44px; height:44px; padding:0; border-radius:50% !important; background:#fff !important; color:#1F2A7C !important; border:1.5px solid #E3E8F5 !important; font-size:26px; line-height:1; box-shadow:0 4px 12px rgba(31,42,124,.18); cursor:pointer; }
.ff-doc .ff-gal__nav:disabled { opacity:.35; cursor:default; }
.ff-gal__nav--prev { left:calc(11% - 22px); } .ff-gal__nav--next { right:calc(11% - 22px); }
.ff-gal__bar { display:flex; align-items:center; justify-content:center; gap:14px; margin-top:14px; }
.ff-gal__count { font-size:13px; font-weight:700; color:#1F2A7C; min-width:44px; text-align:right; font-variant-numeric:tabular-nums; }
.ff-gal__dots { display:flex; gap:6px; align-items:center; }
.ff-doc .ff-gal__dot { width:8px; height:8px; padding:0; border:0 !important; border-radius:8px !important; background:#C9D0EA !important; cursor:pointer; transition:width .25s, background .25s; }
.ff-doc .ff-gal__dot.is-on { width:22px; background:#1F2A7C !important; }
.ff-gal__credit { margin:8px 0 0; text-align:center; font-size:12px; color:var(--ff-mut, #6B7194); }
.ff-lb { position:fixed; inset:0; z-index:100000; background:rgba(12,16,48,.94); display:flex; align-items:center; justify-content:center; }
.ff-lb[hidden] { display:none; }
.ff-lb__img { max-width:92vw; max-height:84vh; border-radius:10px; box-shadow:0 10px 40px rgba(0,0,0,.45); }
.ff-lb button { position:absolute; width:46px; height:46px; padding:0 !important; border:0 !important; border-radius:50% !important; background:rgba(255,255,255,.95) !important; color:#1F2A7C !important; font-size:28px !important; line-height:1 !important; cursor:pointer; box-shadow:0 4px 14px rgba(0,0,0,.3); }
.ff-lb__close { top:16px; right:16px; }
.ff-lb__nav--prev { left:16px; top:50%; transform:translateY(-50%); } .ff-lb__nav--next { right:16px; top:50%; transform:translateY(-50%); }
.ff-lb__count { position:absolute; bottom:14px; left:0; right:0; margin:0; text-align:center; color:#fff; font-size:14px; font-weight:600; }
html.ff-lb-open { overflow:hidden; }
@media (max-width:640px) { .ff-gal__track { padding:0 6%; scroll-padding:0 6%; gap:8px; } .ff-gal__item img { height:250px; } .ff-doc .ff-gal__nav { display:none; } .ff-lb__nav { display:none; } }@media (max-width:640px) {
  .ff-formats__h { font-size:19px; margin-bottom:10px; }
  .ff-formats__grid { gap:8px; }
  .ff-agenda .ff-fmt { gap:4px; padding:10px 12px; }
  .ff-fmt__t { font-size:16px; } .ff-fmt__q { font-size:12px; padding:2px 9px; } .ff-fmt__d { font-size:13.5px; line-height:1.4; }
  .ff-fmt__go { display:none; }
}

/* 27/10/2026 (1.4.4) : carte « Prendre rendez-vous » (accueil), 4 cartes sur ordinateur quand elle est affichée. */
.ff-ocard--rdv { --c:#B8295A; --cb:#FBE8F0; --ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='10' y='14' width='44' height='40' rx='6'/%3E%3Cpath d='M10 25h44M22 8v11M42 8v11'/%3E%3Cpath d='M20 34h4M30 34h4M40 34h4M20 43h4M30 43h4'/%3E%3C/svg%3E"); }
@media (min-width:981px) { .ff-oc.ff-oc--4 { grid-template-columns:repeat(4, minmax(0,1fr)); gap:20px; } }
/* 29/10/2026 : en-tête marine sur TOUTES les pages de l espace (connexion, accès, données personnelles comprises),
   pas seulement celles qui ont le menu : sinon le logo Féora Familles (blanc + vert) disparaît sur fond blanc. */
header.elementor-location-header { background:#1F2A7C; }
header.elementor-location-header .elementor-nav-menu--main .elementor-item { color:#fff !important; opacity:1; }
/* Pages sans menu de l espace (connexion…) : le titre ne colle pas au bandeau marine. */
body:not(:has(.ff-nav)) header.elementor-location-header { margin-bottom:32px; }
@media (max-width:640px) { body:not(:has(.ff-nav)) header.elementor-location-header { margin-bottom:22px; } }
