/* charte.css — Charte graphique commune alij-asso.org
   Extraite d'index.html (référence). Ne pas modifier sans aligner toutes les pages. */

:root{
  --bleu:#0F337A;
  --bleu-nuit:#0A2456;
  --bleu-vif:#2E5FD0;
  --ambre:#E9A23B;
  --brique:#B5442E;
  --vert:#2F855A;
  --sable:#F7F2E9;
  --sable-2:#EFE7D8;
  --gris-fond:#F5F7FA;
  --bord:#E3E8EF;
  --texte:#151A22;
  --texte2:#4A5568;
  --texte3:#7B8794;
  --blanc:#fff;
  --r-carte:16px;
  --r-pill:999px;
  --wrap:1160px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,sans-serif;font-size:16.5px;line-height:1.62;color:var(--texte);background:var(--blanc);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block;height:auto}
h1,h2,h3,h4,.chiffre,.logo-txt{font-family:'Bricolage Grotesque',system-ui,sans-serif;letter-spacing:-.02em}
a{color:var(--bleu)}
:focus-visible{outline:3px solid var(--bleu-vif);outline-offset:3px;border-radius:4px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 22px}
.skip{position:absolute;left:-9999px;background:var(--bleu);color:#fff;padding:.8rem 1.2rem;z-index:300}
.skip:focus{left:8px;top:8px}

/* ---------- En-tête ---------- */
header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--bord)}
.navbar{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:72px}
.marque{display:flex;flex-direction:column;align-items:center;gap:5px;text-decoration:none;color:var(--bleu);padding:10px 0}
.marque svg{flex:0 0 auto}
.marque img{height:56px;width:auto;display:block}
.marque .baseline{font-family:'Inter',sans-serif;font-weight:600;font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:var(--bleu-nuit);text-align:center;line-height:1.45}
.logo-txt{font-weight:800;font-size:1.3rem;line-height:1;letter-spacing:.01em}
.logo-txt small{display:block;font-family:'Inter',sans-serif;font-weight:400;font-size:.68rem;color:var(--texte3);letter-spacing:0;margin-top:3px}
.pastilles{display:flex;gap:4px;margin-top:5px}
.pastilles i{width:11px;height:11px;border-radius:2px;display:block}
nav ul{display:flex;gap:1.35rem;list-style:none;align-items:center}
nav a{color:var(--texte);text-decoration:none;font-size:.92rem;font-weight:500;padding:.4rem 0;position:relative}
nav a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--ambre);transition:right .25s ease}
nav a:hover::after{right:0}
nav .cta-nav{background:var(--bleu);color:#fff;padding:.6rem 1.2rem;border-radius:var(--r-pill);font-weight:600}
nav .cta-nav::after{display:none}
nav .cta-nav:hover{background:var(--bleu-nuit)}
.burger{display:none;width:46px;height:46px;border:1px solid var(--bord);border-radius:10px;background:#fff;cursor:pointer;align-items:center;justify-content:center}
#menu-t{display:none}
@media(max-width:1299px){
  .burger{display:flex}
  nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--bord);box-shadow:0 16px 30px rgba(15,51,122,.10)}
  #menu-t:checked ~ nav{display:block}
  nav ul{flex-direction:column;align-items:stretch;gap:0;padding:.5rem 22px 1.2rem}
  nav a{display:block;padding:.9rem .2rem;border-bottom:1px solid var(--bord);min-height:46px}
  nav .cta-nav{text-align:center;margin-top:.9rem;border-bottom:none}
}

/* ---------- Sections ---------- */
section{padding:5.5rem 0;scroll-margin-top:118px}
.sable{background:var(--sable)}
.gris{background:var(--gris-fond)}
.sur{display:inline-flex;align-items:center;gap:.5rem;color:var(--brique);font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;margin-bottom:.8rem}
.sur::before{content:"";width:26px;height:2px;background:var(--ambre)}
h1{font-size:clamp(2rem,4.6vw,3.15rem);line-height:1.08;font-weight:800}
h2{font-size:clamp(1.55rem,3.3vw,2.25rem);line-height:1.15;font-weight:800;margin-bottom:.9rem;max-width:22ch}
h3{font-size:1.1rem;font-weight:700;margin-bottom:.4rem;color:var(--bleu)}
p.lead{font-size:1.1rem;color:var(--texte2);max-width:64ch}

/* ---------- Pied de page ---------- */
footer{background:var(--bleu-nuit);color:#fff;padding:3rem 0 2rem;font-size:.9rem;margin-top:5rem}
footer a{color:#fff}
.fin{display:flex;flex-wrap:wrap;gap:1.2rem;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,.16);margin-top:1.8rem;padding-top:1.4rem;opacity:.82}

/* ---------- Accessibilité : mouvement réduit ---------- */
@media(prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important}
  html{scroll-behavior:auto}
}

/* ---------- Menu : lisibilité et entrée Espace jeunes ---------- */
nav a{color:var(--bleu);font-weight:600;white-space:nowrap}
.marque{flex-shrink:0}
nav ul{gap:1.15rem}
nav a.nav-jeunes{display:inline-flex;align-items:center;gap:.5rem;background:var(--ambre);color:var(--bleu-nuit);padding:.45rem 1.05rem .45rem .85rem;border-radius:var(--r-pill);line-height:1.15;font-weight:700;transition:background .15s ease,color .15s ease;box-shadow:0 6px 16px rgba(233,162,59,.35)}
nav a.nav-jeunes span{display:flex;flex-direction:column}
nav a.nav-jeunes small{font-size:.68rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
nav a.nav-jeunes::after{display:none}
nav a.nav-jeunes:hover,nav a.nav-jeunes[aria-current="page"]{background:var(--bleu-nuit);color:var(--ambre)}
nav a.nav-jeunes[aria-current="page"] span{text-decoration:underline;text-underline-offset:3px}
nav a.nav-jeunes:focus-visible,.jeunes-mobile:focus-visible{outline:3px solid var(--bleu-vif);outline-offset:3px}
nav .cta-nav{background:transparent;color:var(--bleu);border:2px solid var(--bleu);padding:.5rem 1.1rem}
nav .cta-nav:hover{background:var(--bleu);color:#fff}
.jeunes-mobile{display:none}
@media(max-width:1299px){
  .navbar{gap:.8rem}
  .jeunes-mobile{display:inline-flex;align-items:center;gap:.4rem;margin-left:auto;background:var(--ambre);color:var(--bleu-nuit);font-weight:700;font-size:.9rem;text-decoration:none;padding:.55rem .9rem;border-radius:var(--r-pill);min-height:44px}
  .jeunes-mobile:hover{background:var(--bleu-nuit);color:var(--ambre)}
  nav li.li-jeunes{order:-1}
  nav a.nav-jeunes{border-radius:12px;margin:.4rem 0;padding:.8rem 1rem;box-shadow:none;border-bottom:none}
  nav .cta-nav{border:2px solid var(--bleu)}
}
.jeunes-mobile{white-space:nowrap}
.jeunes-mobile svg{flex-shrink:0}
@media(max-width:430px){ .jeunes-mobile{font-size:.82rem;padding:.5rem .75rem;gap:.3rem} .marque img{height:46px} .marque .baseline{font-size:.52rem} .navbar{gap:.5rem} }
@media(max-width:380px){ .marque img{height:38px} .marque .baseline{font-size:.46rem;letter-spacing:.04em} .jeunes-mobile{font-size:.78rem;padding:.45rem .6rem} }
@media(max-width:340px){ .navbar{padding-left:14px;padding-right:14px;gap:.35rem} .jeunes-mobile svg{display:none} }
@media(min-width:1300px){ .navbar{gap:1rem} nav ul{gap:.72rem} nav a{font-size:.88rem} nav a.nav-jeunes{padding:.4rem .9rem .4rem .75rem} nav .cta-nav{padding:.45rem 1rem} }
