/* AssoWeb — nouvelle charte (08/11/2026), d'après la maquette du client.

   Bleu nuit pour la structure, blanc pour la lecture, or pour les actions,
   turquoise pour les détails. Chargée APRÈS app.css et ne fait que la
   surcharger : retirer la ligne <link> de app/header.php rend l'ancienne
   apparence, sans rien d'autre à défaire.

   Police : Plus Jakarta Sans, servie depuis le site (pas de Google Fonts en
   direct : un appel vers un tiers sur chaque page, et une dépendance de plus). */

@font-face{font-family:"Jakarta";font-style:normal;font-weight:400 800;font-display:swap;
  src:url(../fonts/plus-jakarta-sans-latin.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Jakarta";font-style:normal;font-weight:400 800;font-display:swap;
  src:url(../fonts/plus-jakarta-sans-latin-ext.woff2) format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --nuit:#0f2552; --nuit-clair:#1d3a78; --nuit-fonce:#081633; --nuit-encre:#0b1c3f;
  --or:#f2b632; --or-clair:#f7c955; --or-fonce:#d99a12; --or-texte:#3b2a03;
  --turquoise:#0ea5a4; --turquoise-fond:#e6f7f6;
  --fond:#f3f6fb; --trait:#e3e8f1;
  --rayon:16px; --rayon-s:12px;
  --ombre:0 1px 2px rgba(15,37,82,.05),0 8px 24px rgba(15,37,82,.07);
  --ombre-forte:0 14px 34px rgba(8,22,51,.18);
}

/* L'espace de cette police est étroit : sans ce réglage les mots se
   touchaient presque (« Oùpublier gratuitementles »). */
body{font-family:"Jakarta",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:var(--fond);word-spacing:.09em}
h1,h2,h3,h4{color:var(--nuit-encre);letter-spacing:-.015em}
/* Les boutons et champs ne prennent pas la police de la page d'eux-mêmes :
   « Se connecter » sortait en Arial au milieu du reste. */
button,input,select,textarea{font-family:inherit}
a{color:var(--nuit-clair)}
:focus-visible{outline:3px solid var(--or);outline-offset:2px}

/* ------------------------------------------------ bandeau « fondé par ADA » */
.bandeau-ada{background:var(--nuit-fonce);color:#cbd5e1;font-size:13px;border-bottom:1px solid rgba(242,182,50,.25)}
.bandeau-ada-in{max-width:1240px;margin:0 auto;padding:6px 20px;display:flex;align-items:center;justify-content:center;gap:7px;text-align:center}
.bandeau-ada .ico{color:var(--or);flex:0 0 auto}
.bandeau-ada a{color:var(--or-clair);font-weight:700}

/* ------------------------------------------------------------------ en-tête */
/* Barre BLANCHE depuis le 08/11 : le logo du client (bleu nuit, bleu,
   turquoise, or) n'est lisible que sur fond clair, et il doit rester
   « exactement comme l'image ». */
.entete{background:#fff;border-bottom:3px solid var(--or);box-shadow:0 4px 18px rgba(8,22,51,.10)}
.marque-logo{height:66px;width:auto;display:block}
.entete-in{padding:14px 20px;max-width:1320px}
/* La recherche de l'en-tête (pages intérieures) : un vrai champ quand la
   barre a la place, sinon une loupe qui mène à l'annuaire, où la recherche
   complète attend. Écrasée à 40 px, elle n'affichait plus qu'une lettre. */
.entete .rech{flex:0 1 260px;min-width:200px}
@media (max-width:1360px) and (min-width:1241px){
  .entete .rech{flex:0 0 42px;min-width:42px;max-width:42px}
  .entete .rech input{display:none}
  .entete .rech button{width:42px;height:40px;display:grid;place-items:center}
}
/* Menu en tiroir dès 1240 px (avant : 900). Le texte plus grand de la
   nouvelle charte ne tient plus sur une ligne en dessous : mesuré, la barre
   débordait de 78 px à 1024 et toute la page défilait de côté. Mêmes règles
   que app.css sous 900 px, étendues à cette plage. */
@media (max-width:1240px){
  .entete-in{flex-wrap:wrap;gap:12px}
  .entete .rech{order:3;flex:1 1 100%;max-width:none;min-width:0;display:flex}
  .burger{display:block}
  .nav{display:none;order:4;flex-basis:100%;flex-direction:column;align-items:stretch;gap:2px;
       margin-left:0;font-size:16px;background:var(--nuit-fonce);border-radius:14px;padding:8px 12px}
  .nav a{padding:13px 6px;white-space:normal;border-bottom:1px solid rgba(255,255,255,.08);color:#e2e8f0}
  .nav a:hover{color:#fff}
  .nav.ouvert{display:flex}
  .nav .bouton,.nav a.bouton-or{margin-top:10px;text-align:center;padding:13px}
}
.marque-embleme{height:38px}
.marque-mot{height:24px}
.nav{color:var(--nuit);font-size:15px;gap:22px}
.nav a{color:var(--nuit);font-weight:700;padding:6px 2px;border-bottom:2px solid transparent}
.nav a:hover{color:var(--nuit-clair);text-decoration:none;border-bottom-color:var(--or)}
.nav a.bouton,.nav a.bouton-or,.nav a.bouton-plein{border-bottom:0;padding:10px 18px}
.nav a.bouton-or{color:var(--or-texte)}
.rech{background:#f3f6fb;border-color:#dfe5ef;border-radius:999px}
.rech input{color:var(--nuit-encre)}
.rech input::placeholder{color:#64748b}
.rech button{color:var(--nuit)}
.burger span{background:var(--nuit)}
/* Sur l'accueil, la grande recherche est dans la page : on n'en montre pas deux. */
.accueil .entete .rech{display:none}

/* ------------------------------------------------------------------ boutons */
.bouton{border-radius:999px;padding:10px 20px;font-weight:700;border:1.5px solid var(--trait);background:#fff;color:var(--nuit);
  transition:background .15s,border-color .15s,box-shadow .15s,transform .15s}
.bouton:hover{border-color:var(--nuit-clair);box-shadow:0 4px 12px rgba(15,37,82,.12);transform:translateY(-1px)}
.bouton-plein{background:var(--nuit);border-color:var(--nuit);color:#fff}
.bouton-plein:hover{background:var(--nuit-clair);border-color:var(--nuit-clair);color:#fff}
.bouton-or{background:linear-gradient(180deg,var(--or-clair),var(--or));border-color:var(--or-fonce);color:var(--or-texte);
  box-shadow:0 4px 14px rgba(242,182,50,.35)}
.bouton-or:hover{background:linear-gradient(180deg,#fbd56f,var(--or-clair));border-color:var(--or-fonce);color:var(--or-texte);box-shadow:0 8px 20px rgba(242,182,50,.45)}
.bouton-large{padding:13px 18px}
.bouton-danger{border-color:var(--rouge-trait)}
@media (prefers-reduced-motion:reduce){.bouton,.bouton:hover{transition:none;transform:none}}

/* ------------------------------------------------------- messages, encadrés */
.flash-in{border-radius:0}
.carte{border-radius:var(--rayon);border-color:var(--trait);box-shadow:var(--ombre)}
.titre-section a{color:var(--nuit-clair)}
/* Lien secondaire : doré sur fond blanc, il était presque illisible. Il ne
   reste doré que sur les encadrés bleu nuit. */
.lien-site{color:var(--nuit-clair);font-weight:700}
.etiquette{background:var(--turquoise-fond);color:#0f766e;font-weight:600}
.etiquette:hover{background:#d0f0ee}
.vignette{border-radius:var(--rayon);border-color:var(--trait);transition:box-shadow .15s,transform .15s}
.vignette:hover{box-shadow:var(--ombre-forte);transform:translateY(-2px)}

/* ================================================================ ACCUEIL */
.h2026{position:relative;overflow:hidden;color:#fff;
  background:radial-gradient(1200px 500px at 50% -10%,#1f4291 0%,rgba(31,66,145,0) 60%),
             linear-gradient(180deg,#0f2552 0%,#0b1d45 60%,#0a1a3e 100%);
  padding:46px 20px 110px}
.h2026-volutes{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:.8}
.h2026-in{position:relative;max-width:1180px;margin:0 auto;text-align:center}
.h2026 h1{color:#fff;font-size:clamp(30px,4.6vw,56px);line-height:1.12;font-weight:800;letter-spacing:-.02em;word-spacing:.12em;max-width:900px;margin:0 auto}
.h2026-or{color:var(--or);position:relative;white-space:nowrap}
.h2026-or::after{content:"";position:absolute;left:4%;right:2%;bottom:-.12em;height:.14em;border-radius:50%;
  background:linear-gradient(90deg,rgba(242,182,50,0),var(--or) 30%,var(--or) 70%,rgba(242,182,50,0));transform:rotate(-1.2deg)}
.h2026-sous{max-width:640px;margin:18px auto 0;color:#dbe4f3;font-size:clamp(16px,1.6vw,19px);line-height:1.55}

.h2026-rech{max-width:900px;margin:30px auto 0;display:flex;align-items:center;background:#fff;border-radius:999px;padding:7px;
  box-shadow:0 18px 40px rgba(3,10,28,.35),0 0 0 4px rgba(242,182,50,.25)}
.h2026-rech-ico{flex:0 0 auto;color:var(--nuit);margin:0 4px 0 18px}
.h2026-rech input{flex:1;min-width:0;border:0;background:none;font:inherit;font-size:17px;color:var(--nuit-encre);padding:14px 12px}
.h2026-rech input:focus{outline:none}
.h2026-rech input::placeholder{color:#64748b}
.h2026-rech button{flex:0 0 auto;border:0;cursor:pointer;font:inherit;font-weight:800;font-size:18px;color:var(--or-texte);
  background:linear-gradient(180deg,var(--or-clair),var(--or));border-radius:999px;padding:14px 34px;box-shadow:0 4px 14px rgba(242,182,50,.45)}
.h2026-rech button:hover{background:linear-gradient(180deg,#fbd56f,var(--or-clair))}

.h2026-chiffres{display:flex;justify-content:center;margin:34px auto 0;max-width:900px}
.h2026-chiffres div{flex:1;display:grid;grid-template-columns:auto auto;justify-content:center;align-items:center;column-gap:12px;padding:0 18px}
.h2026-chiffres div+div{border-left:1px solid rgba(255,255,255,.22)}
.h2026-chiffres .ico{color:var(--or)}
.h2026-chiffres b{font-size:clamp(24px,2.8vw,36px);font-weight:800;color:#fff;line-height:1.1}
.h2026-chiffres span{grid-column:1/-1;color:#dbe4f3;font-size:15px;margin-top:4px}

/* Boutons RECTANGULAIRES et compacts (client, 08/11 : « ils sont trop
   grands, le bouton doit être rectangulaire ») : icône et libellé sur une
   ligne, 60 px de haut au lieu de 128. */
.h2026-cartes{display:grid;grid-template-columns:repeat(4,1fr) 1.45fr;gap:14px;margin:34px auto 0;max-width:1140px}
.h2026-cartes a{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:10px;min-height:60px;padding:10px 14px;
  background:#fff;border-radius:10px;color:var(--nuit);font-weight:800;font-size:16px;line-height:1.2;text-align:left;
  box-shadow:0 6px 16px rgba(3,10,28,.25);transition:transform .15s,box-shadow .15s}
.h2026-cartes a:hover{text-decoration:none;transform:translateY(-3px);box-shadow:0 16px 34px rgba(3,10,28,.38)}
.h2026-cartes a.h2026-carte-or{background:linear-gradient(180deg,#f9d062,var(--or));color:var(--or-texte);border:1px solid #ffe08a;font-size:14.5px}
.h2026-cartes .ico{color:currentColor}

/* La partie blanche remonte sur le bleu, en grand arrondi, comme sur la maquette. */
.a2026{position:relative;margin-top:-58px;background:linear-gradient(180deg,#f7f9fd,#f3f6fb 300px);border-radius:48px 48px 0 0;padding:34px 20px 10px}
.a2026-in{max-width:1180px;margin:0 auto}
.a2026-bloc{margin-bottom:34px}
.a2026-titre{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.a2026-titre h2{font-size:clamp(21px,2.2vw,27px);font-weight:800}
.a2026-titre a{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--nuit-clair);white-space:nowrap}

.causes2026{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.cause2026{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;font-weight:700;color:var(--nuit-encre);
  border:1px solid transparent;transition:transform .15s,box-shadow .15s}
.cause2026:hover{text-decoration:none;transform:translateY(-2px);box-shadow:var(--ombre)}
.cause2026 span{overflow:hidden;text-overflow:ellipsis}
.t-rose{background:#fff1ee;color:#e5484d}.t-violet{background:#f1edff;color:#6d4fd8}.t-bleu{background:#e8f0ff;color:#1d4ed8}
.t-ambre{background:#fff6e5;color:#d98a00}.t-vert{background:#e8f8ec;color:#16a34a}.t-indigo{background:#ecebff;color:#4338ca}
.t-ciel{background:#e6f5fd;color:#0284c7}.t-turquoise{background:var(--turquoise-fond);color:var(--turquoise)}.t-ardoise{background:#eef2f7;color:#475569}
.cause2026 span{color:var(--nuit-encre)}

.assos2026{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.asso2026{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid var(--trait);border-radius:var(--rayon);padding:18px 20px;
  box-shadow:var(--ombre);color:inherit;transition:transform .15s,box-shadow .15s;min-width:0}
.asso2026:hover{text-decoration:none;transform:translateY(-2px);box-shadow:var(--ombre-forte)}
.asso2026 .logo-asso{border-radius:12px}
.asso2026-ico{flex:0 0 52px;height:52px;border-radius:14px;display:grid;place-items:center}
.asso2026-txt{min-width:0;display:flex;flex-direction:column}
.asso2026-txt b{color:var(--nuit-encre);font-size:16.5px;line-height:1.3;overflow-wrap:anywhere}
.asso2026-txt span{color:#64748b;font-size:14.5px;margin-top:2px}

.a2026-duo{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px;align-items:start;margin-bottom:20px}
.a2026-carte{background:#fff;border:1px solid var(--trait);border-radius:var(--rayon);padding:24px;box-shadow:var(--ombre);margin-bottom:20px}
.a2026-carte .a2026-titre{margin-bottom:6px}
.a2026-h3{display:flex;align-items:center;gap:8px;font-size:17px;margin-bottom:12px}
.a2026-h3 .ico{color:var(--turquoise)}
.a2026-doux{font-size:14.5px;color:#64748b}
.a2026-appel{background:linear-gradient(160deg,#0f2552,#1d3a78);border:0;color:#dbe4f3}
.a2026-appel h3{color:#fff;font-size:19px;margin:10px 0 8px}
.a2026-appel p{font-size:15px;margin-bottom:16px}
.a2026-appel b{color:#fff}
.a2026-appel>.ico{color:var(--or)}
.a2026-appel .lien-site{color:var(--or-clair);display:inline-block;margin-top:12px}
.mission2026{display:block;padding:11px 0;border-bottom:1px solid #eef2f7;color:inherit}
.mission2026:hover{text-decoration:none}
.mission2026 b{display:block;color:var(--nuit);font-size:14.5px}
.mission2026 span{font-size:13px;color:#94a3b8}
.a2026-carte .lien-site{display:inline-block;margin-top:12px;font-weight:700;color:var(--nuit-clair)}
.a2026-appel.a2026-carte .lien-site{color:var(--or-clair)}

/* Pages à deux colonnes (article, fiche) : une longue adresse ou un mot
   sans espace dans le texte élargissait la colonne au-delà de l'écran — la
   page d'un article défilait de 124 px de côté sur téléphone, avant même la
   nouvelle charte. */
.duo>*{min-width:0}
/* break-word et non anywhere : « anywhere » compte aussi pour la largeur
   minimale, et dans un tableau il cassait les mots lettre par lettre
   (« P/u/bl/ié », « V/U/E/S » dans Mes évènements, capture du client 08/11). */
.article-corps,.fiche-texte,.carte{overflow-wrap:break-word}
.article-corps table{display:block;max-width:100%;overflow-x:auto}
@media (max-width:900px){.duo{grid-template-columns:minmax(0,1fr)}}

/* ================================================ FORMULAIRES ET ENCADRÉS */
.carte h2{font-size:19px;font-weight:800;border-bottom-color:#eef2f7}
.champs{gap:18px}
.champ label{font-size:14px;color:var(--nuit-encre)}
.champ .aide{font-size:13px;color:#64748b}
.champ input,.champ select,.champ textarea{border:1.5px solid #d5dce8;border-radius:12px;padding:12px 14px;font-size:16px;background:#fff;
  min-height:48px;transition:border-color .15s,box-shadow .15s}
.champ input:hover,.champ select:hover,.champ textarea:hover{border-color:#b8c3d6}
.champ input:focus,.champ select:focus,.champ textarea:focus{border-color:var(--turquoise);box-shadow:0 0 0 4px rgba(14,165,164,.15)}
.champ input[type=file]{padding:10px;background:#f8fafc}
.champ input[type=checkbox],.champ input[type=radio],.coche-ligne input{min-height:0;width:20px;height:20px;accent-color:var(--nuit)}
.champ-erreur input,.champ-erreur select,.champ-erreur textarea{border-color:#f87171;background:#fff7f7}
.coche-ligne{font-size:15px;align-items:center}
.avis{border-radius:14px;padding:14px 16px 14px 46px;font-size:14.5px;position:relative;line-height:1.55}
.avis::before{position:absolute;left:15px;top:13px;width:21px;height:21px;border-radius:50%;display:grid;place-items:center;
  font-weight:800;font-size:13px;color:#fff;content:"i"}
.avis-info{background:#fffaeb;border-color:#fcd97a;color:#7a4a00}
.avis-info::before{background:#e8a317}
.avis-erreur{background:#fff4f4;border-color:#fecaca;color:#9f1c1c}
.avis-erreur::before{background:#dc2626;content:"!"}
.avis-succes{background:#effcf4;border-color:#bbf0cf;color:#14632f}
.avis-succes::before{background:#16a34a;content:"✓"}
.flash-succes{background:#effcf4}.flash-erreur{background:#fff4f4}.flash-info{background:#fffaeb}
.tableau-boite{border:1px solid var(--trait);border-radius:14px;overflow:auto}
.tableau th{background:#f6f8fc;color:#475569;padding:12px 14px;border-bottom:1px solid var(--trait)}
.tableau td{padding:13px 14px}
.tableau tbody tr:hover td{background:#fafcff}
.puce{padding:4px 11px;font-size:12px}
.jauge{height:10px;background:#eef2f7}
.jauge div{background:linear-gradient(90deg,var(--turquoise),var(--or))}
.vide{border:2px dashed #dbe3ef;border-radius:var(--rayon);background:#fbfcfe}
.pages a,.pages span{border-radius:999px;min-width:42px;text-align:center}
.pages .actuelle{background:var(--nuit);border-color:var(--nuit)}
.filtres{background:#fff;border:1px solid var(--trait);border-radius:var(--rayon);padding:16px;box-shadow:var(--ombre)}

/* ========================================================= ESPACE ASSOCIATION */
.espace{grid-template-columns:250px minmax(0,1fr);gap:28px}
.menu-espace{background:linear-gradient(180deg,#0f2552,#0b1d45);border:0;border-radius:18px;padding:12px;box-shadow:var(--ombre-forte);position:sticky;top:96px}
.menu-espace a{display:flex;align-items:center;gap:11px;color:#cfd8ea;padding:11px 12px;border-radius:12px;font-size:15px}
.menu-espace a .ico{color:#8fa3c7;flex:0 0 auto}
.menu-espace a:hover{background:rgba(255,255,255,.08);color:#fff}
.menu-espace a:hover .ico{color:#fff}
.menu-espace a.actif{background:linear-gradient(180deg,var(--or-clair),var(--or));color:var(--or-texte);font-weight:800}
.menu-espace a.actif .ico{color:var(--or-texte)}
.menu-espace hr{border-top-color:rgba(255,255,255,.12)}
.menu-espace-sortie{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;background:transparent;border-color:rgba(255,255,255,.25);color:#e2e8f0;font-size:14px}
.menu-espace-sortie:hover{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.4)}
.espace h1{font-size:clamp(23px,2.4vw,30px);font-weight:800}

.bonjour2026{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:22px;
  background:linear-gradient(135deg,#0f2552,#1d3a78);border-radius:18px;padding:22px 24px;color:#dbe4f3;box-shadow:var(--ombre-forte)}
.bonjour2026 h1{color:#fff;margin-bottom:4px}
.bonjour2026 p{color:#c3cfe6;font-size:15px}
.bonjour2026 .bouton{display:inline-flex;align-items:center;gap:8px}

.tuiles2026{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}
.tuile2026{border-radius:16px;padding:16px 16px 14px;display:flex;flex-direction:column;gap:4px;border:1px solid rgba(15,37,82,.05)}
.tuile2026 b{font-size:28px;font-weight:800;color:var(--nuit-encre);line-height:1.1;margin-top:6px}
.tuile2026 span{font-size:13.5px;color:#475569}

.actions2026{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.actions2026 a{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;
  padding:14px;border:1px solid var(--trait);border-radius:14px;background:#fff;color:inherit;transition:transform .15s,box-shadow .15s,border-color .15s}
.actions2026 a:hover{text-decoration:none;border-color:#c9d4e6;box-shadow:var(--ombre);transform:translateY(-2px)}
.actions2026 a>span{grid-row:1/3;width:46px;height:46px;border-radius:12px;display:grid;place-items:center}
.actions2026 b{color:var(--nuit-encre);font-size:15px;line-height:1.3}
.actions2026 small{color:#64748b;font-size:13px}

/* ================================================================ CONNEXION */
.connex2026{max-width:1000px}
.connex2026-boite{display:grid;grid-template-columns:1fr 1.1fr;background:#fff;border-radius:22px;overflow:hidden;box-shadow:var(--ombre-forte);border:1px solid var(--trait)}
.connex2026-panneau{background:radial-gradient(600px 300px at 0 0,#1f4291,rgba(31,66,145,0)),linear-gradient(160deg,#0f2552,#0a1a3e);color:#dbe4f3;padding:36px 32px}
.connex2026-panneau>.ico{color:var(--or)}
.connex2026-panneau h2{color:#fff;font-size:24px;margin:14px 0 18px}
.connex2026-panneau ul{list-style:none;display:flex;flex-direction:column;gap:12px}
.connex2026-panneau li{display:flex;align-items:center;gap:10px;font-size:15.5px}
.connex2026-panneau li .ico{color:var(--or);flex:0 0 auto}
.connex2026-decouvrir{margin-top:26px;padding-top:18px;border-top:1px solid rgba(255,255,255,.14);font-size:14.5px;color:#aab8d2}
.connex2026-decouvrir a{color:var(--or-clair);font-weight:700}
.connex2026-form{padding:36px 34px}
.connex2026-form h1{font-size:28px;font-weight:800;margin-bottom:6px}
.connex2026-sous{color:#64748b;margin-bottom:22px}
.connex2026-oubli{text-align:right;margin:10px 0 16px;font-size:14px}
.connex2026-nouveau{margin-top:24px;padding-top:20px;border-top:1px solid #eef2f7;display:flex;flex-direction:column;gap:10px;align-items:stretch;text-align:center;color:#64748b;font-size:14.5px}

/* ============================================================== INSCRIPTION */
.insc2026 h1{font-size:clamp(26px,3vw,34px);font-weight:800;margin-bottom:6px}
.insc2026-sous{color:#64748b;margin-bottom:20px;font-size:16px}
.chemins2026{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:22px}
.chemin2026{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:16px;border:1.5px solid var(--trait);background:#fff;color:inherit;position:relative}
.chemin2026 .ico{color:var(--nuit-clair);flex:0 0 auto}
.chemin2026 b{display:block;color:var(--nuit-encre);font-size:16px}
.chemin2026 span{display:block;color:#64748b;font-size:13.5px;line-height:1.45;margin-top:2px}
a.chemin2026:hover{text-decoration:none;border-color:var(--turquoise);box-shadow:var(--ombre)}
.chemin2026-actif{border-color:var(--or);background:linear-gradient(180deg,#fffaf0,#fff);box-shadow:0 0 0 3px rgba(242,182,50,.18)}
.chemin2026-actif .ico{color:var(--or-fonce)}
.chemin2026 .chemin2026-fl{margin-left:auto;color:var(--turquoise)}
.etapes2026{list-style:none;display:flex;gap:8px;margin:0 0 20px;counter-reset:none}
.etapes2026 li{flex:1;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:#fff;border:1px solid var(--trait);color:#64748b;font-weight:700;font-size:14px}
.etapes2026-n{flex:0 0 30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#eef2f7;color:#475569;font-weight:800}
.etapes2026 li.actuelle{border-color:var(--nuit);color:var(--nuit-encre);box-shadow:var(--ombre)}
.etapes2026 li.actuelle .etapes2026-n{background:var(--nuit);color:#fff}
.etapes2026 li.fait .etapes2026-n{background:var(--turquoise);color:#fff}

/* ------------------------------------------------------------------- pied */
.pied{background:linear-gradient(180deg,#0f2552,#0a1a3e);border-top:3px solid var(--or);color:#cbd5e1}
.pied-col p{color:#aab8d2}
.pied-col h3{color:var(--or)}
.pied-col a{color:#dbe4f3}
.pied-col a:hover{color:#fff}
.marque-pied{display:inline-block;background:#fff;border-radius:12px;padding:8px 12px}
.marque-pied img{height:52px;width:auto}
.pied-bas{border-top:1px solid rgba(255,255,255,.12);color:#94a3b8}
.pied-bas a{color:#aab8d2}
.reseaux a{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:#e2e8f0}
.reseaux a:hover{background:var(--or);border-color:var(--or);color:var(--or-texte)}

/* --------------------------------------------------------------- tablette */
@media (max-width:1100px){
  .h2026-cartes{grid-template-columns:repeat(3,1fr);max-width:760px}
  .causes2026{grid-template-columns:repeat(3,1fr)}
  .assos2026{grid-template-columns:repeat(2,1fr)}
  .a2026-duo{grid-template-columns:1fr}
  .tuiles2026{grid-template-columns:repeat(2,1fr)}
  .actions2026{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  .nav{background:var(--nuit-fonce);border-radius:14px;padding:8px 12px;margin-top:10px}
  .nav a{border-bottom:1px solid rgba(255,255,255,.08);padding:13px 6px;font-size:16px}
  .nav a.bouton,.nav a.bouton-or{margin-top:10px;padding:13px}
}

/* --------------------------------------------------------------- téléphone */
@media (max-width:680px){
  .bandeau-ada{font-size:12px}
  .h2026{padding:30px 16px 84px}
  .h2026-volutes{display:none}
  .h2026-sous{font-size:15.5px}
  .h2026-rech{flex-wrap:wrap;border-radius:22px;padding:8px}
  .h2026-rech-ico{margin-left:12px}
  .h2026-rech input{flex:1 1 60%;font-size:16px;padding:12px 8px}
  .h2026-rech button{flex:1 1 100%;margin-top:6px;padding:14px;font-size:17px}
  .h2026-chiffres{flex-direction:column;gap:14px;margin-top:26px}
  .h2026-chiffres div+div{border-left:0;border-top:1px solid rgba(255,255,255,.16);padding-top:14px}
  .h2026-cartes{grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}
  .h2026-cartes a{min-height:54px;font-size:15px;justify-content:flex-start}
  .h2026-cartes a.h2026-carte-or{grid-column:1/-1;justify-content:center}
  .marque-logo{height:46px}
  .a2026{margin-top:-46px;border-radius:30px 30px 0 0;padding:26px 16px 6px}
  .causes2026{grid-template-columns:1fr 1fr;gap:10px}
  .cause2026{padding:13px 12px;font-size:15px}
  .assos2026{grid-template-columns:1fr}
  .a2026-carte{padding:18px}
  .tuiles2026{gap:10px}
  .tuile2026 b{font-size:23px}
  .actions2026{grid-template-columns:1fr}
  .connex2026-boite{grid-template-columns:1fr}
  .connex2026-form{padding:26px 20px;order:-1}
  .connex2026-panneau{padding:26px 20px}
  .chemins2026{grid-template-columns:1fr}
  .etapes2026 li{flex-direction:column;gap:5px;padding:9px 6px;text-align:center;font-size:12.5px}
  .bonjour2026{padding:18px}
  .bonjour2026 .bouton{width:100%;justify-content:center}
  .champs{grid-template-columns:1fr}
}
/* Espace association sur tablette et téléphone : le menu latéral devient une
   barre d'onglets qui défile de côté, au lieu d'une colonne de 8 lignes qu'il
   fallait dépasser à chaque page avant d'atteindre le contenu. */
@media (max-width:900px){
  /* minmax(0,…) : avec « 1fr » seul, un tableau large étirait la colonne et
     toute la page défilait de côté (mesuré : 873 px sur un écran de 390). */
  .espace{grid-template-columns:minmax(0,1fr);gap:16px}
  .espace>*{min-width:0}
  .menu-espace{position:static;display:flex;gap:6px;overflow-x:auto;padding:8px;border-radius:14px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .menu-espace::-webkit-scrollbar{display:none}
  .menu-espace a{flex:0 0 auto;white-space:nowrap;padding:10px 12px;font-size:14px}
  .menu-espace hr{display:none}
  .menu-espace form{flex:0 0 auto;padding:0!important}
  .menu-espace-sortie{white-space:nowrap;padding:10px 14px}
}

/* ----------------------------------------------- tableaux de l'espace */
.tableau th,.tableau td:not(:first-child){white-space:nowrap}
.tableau td:first-child{min-width:220px}
/* Colonne des actions : les boutons passent à la ligne au lieu de sortir du
   cadre (« Supprimer » était coupé, capture du client). */
.tableau td:last-child{white-space:normal!important;min-width:120px}
.tableau td:last-child form,.tableau td:last-child .bouton{margin:2px 0}
/* « .titre-section a » (couleur des liens de titre) passait devant la couleur
   des boutons : « Annoncer un évènement » s'écrivait en bleu nuit sur bleu
   nuit, invisible. */
a.bouton-plein,a.bouton-plein:hover{color:#fff}
a.bouton-or,a.bouton-or:hover{color:var(--or-texte)}
.titre-section .bouton{flex:0 0 auto}

/* ------------------------------------------------------- page contact */
.contact2026-titre{font-size:clamp(26px,3vw,34px);font-weight:800;margin-bottom:6px}
.contact2026-sous{color:#64748b;margin-bottom:20px;font-size:16px}

/* Tiroir du menu (sous 1240 px) : fond bleu nuit, donc liens clairs. Écrit
   EN FIN de feuille : placé plus haut, la règle de base « .nav a » (bleu
   nuit, pour la barre blanche) passait après et rendait les liens invisibles. */
@media (max-width:1240px){
  .nav a{color:#e2e8f0;padding:13px 6px;border-bottom:1px solid rgba(255,255,255,.08);font-size:16px;font-weight:600}
  .nav a:hover{color:#fff;border-bottom-color:rgba(255,255,255,.08)}
  .nav a.bouton,.nav a.bouton-or{margin-top:10px;padding:13px;border-bottom:0;text-align:center}
  .nav a.bouton-or{color:var(--or-texte)}
}

/* ------------------------------------- recherche : ce qui a été compris */
.compris2026{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:-4px 0 16px;font-size:14px}
.compris2026-lib{color:#475569;font-weight:600}
.compris2026-puce{background:var(--turquoise-fond);color:#0f766e;border:1px solid #bfe9e6;border-radius:999px;padding:4px 12px;font-weight:700}
.compris2026-mots{background:#eef2f7;color:#334155;border-color:#dfe5ef}
.compris2026 a{font-weight:700;color:var(--nuit-clair)}
