/* Fichier écrit à chaque construction (modules-pages/sites-regionaux.mjs) : ne pas modifier ici, mais dans styles/sites-regionaux/. */
/* ── base.css ── */
/* Sites régionaux complets — cadre commun (en-tête, menu, pied de page, sections, petits éléments partagés).
   Préfixe sr-. Couleurs : la charte seulement (#001CA8, #191970, #120D16, #F5F5F5, #950714, #F32837, blanc) et leurs
   transparences. Identité régionale : --sr-teinte (réglage « identite » du comité, dans la charte ; bleu Klein par défaut). */
.sr-tete, .sr-site, .sr-pied { --sr-teinte: #001CA8; }
.sr-site { --sr-filet: rgba(18, 13, 22, .1); }

/* ── En-tête ── */
.sr-tete { position: sticky; top: 0; z-index: 60; background: #fff; border-bottom: 1px solid rgba(18, 13, 22, .08); transition: box-shadow .3s ease; }
/* Cartes Leaflet : leurs calques (z-index 400 à 1000) ne passent plus au-dessus de l'en-tête collant au défilement. */
.leaflet-container { isolation: isolate; }
.sr-tete::before { content: ""; display: block; height: 4px; background: linear-gradient(90deg, var(--sr-teinte) 0 62%, #191970 62% 84%, #F32837 84% 100%); }
.sr-tete.sr-defile { box-shadow: 0 14px 40px -26px rgba(18, 13, 22, .55); }
.sr-tete-haut { display: flex; align-items: center; gap: 1.2rem; min-height: 4.6rem; }
.sr-marque { display: inline-flex; align-items: center; gap: .85rem; color: #120D16; text-decoration: none; min-width: 0; margin-right: auto; }
.sr-marque img { width: 46px; height: 46px; flex: none; }
.sr-marque img.sr-marque-comite { width: auto; height: 46px; max-width: 8rem; object-fit: contain; }   /* logo du comité validé (remarque n° 222) */
.sr-marque-texte { display: flex; align-items: baseline; flex-wrap: wrap; gap: .1rem .5rem; font-family: var(--police-display); line-height: 1.12; min-width: 0; }
.sr-marque-texte b { font-weight: 800; font-size: 1.28rem; letter-spacing: -.02em; color: #120D16; }
.sr-marque-point { color: var(--sr-teinte); font-weight: 800; }
.sr-marque-texte small { font-size: .98rem; font-weight: 600; color: rgba(18, 13, 22, .7); letter-spacing: -.005em; }
.sr-marque:hover b { color: var(--sr-teinte); }
.sr-tete-actions { display: flex; align-items: center; gap: .8rem; flex: none; }
.sr-federal { display: inline-flex; align-items: center; gap: .45rem; padding: .55rem .95rem; border-radius: 999px; box-shadow: inset 0 0 0 1px rgba(18, 13, 22, .16); color: #120D16; text-decoration: none; font: 600 .9rem/1 var(--police-ui); transition: box-shadow .2s, color .2s; }
.sr-federal-sur { font: 700 .62rem/1 var(--police-instru); letter-spacing: .12em; text-transform: uppercase; color: rgba(18, 13, 22, .55); }
.sr-federal svg { width: .8rem; height: .8rem; color: var(--sr-teinte); }
.sr-federal:hover, .sr-federal:focus-visible { box-shadow: inset 0 0 0 1.5px var(--sr-teinte); color: var(--sr-teinte); }
.sr-tete .sr-licence { padding-block: .8rem; }
.sr-burger { display: none; align-items: center; gap: .55rem; border: 0; background: #120D16; color: #fff; border-radius: 999px; padding: .6rem 1rem .6rem .85rem; font: 700 .85rem/1 var(--police-ui); cursor: pointer; }
.sr-burger-traits { display: grid; gap: 3px; width: 16px; }
.sr-burger-traits i { display: block; height: 2px; background: currentColor; border-radius: 2px; transition: transform .25s ease, opacity .2s; }
.sr-ouvert .sr-burger-traits i:nth-child(1) { transform: translateY(5px) rotate(45deg); }
.sr-ouvert .sr-burger-traits i:nth-child(2) { opacity: 0; }
.sr-ouvert .sr-burger-traits i:nth-child(3) { transform: translateY(-5px) rotate(-45deg); }

/* Menu régional : une barre sous la marque (grand écran), un panneau (téléphone). */
.sr-nav { border-top: 1px solid rgba(18, 13, 22, .07); }
.sr-nav-zone { display: flex; align-items: center; }
.sr-nav-liste { display: flex; flex-wrap: wrap; gap: 0 .35rem; list-style: none; margin: 0; padding: 0; }
.sr-nav-liste a { position: relative; display: block; padding: .95rem .8rem .9rem; color: rgba(18, 13, 22, .82); text-decoration: none; font: 600 .95rem/1 var(--police-ui); white-space: nowrap; transition: color .2s; }
.sr-nav-liste li:first-child a { padding-left: 0; }
.sr-nav-liste a::after { content: ""; position: absolute; left: .8rem; right: .8rem; bottom: -1px; height: 3px; border-radius: 3px 3px 0 0; background: var(--sr-teinte); transform: scaleX(0); transform-origin: left; transition: transform .3s ease; }
.sr-nav-liste li:first-child a::after { left: 0; }
.sr-nav-liste a:hover, .sr-nav-liste a:focus-visible, .sr-nav-liste a[aria-current="page"] { color: #120D16; }
.sr-nav-liste a:hover::after, .sr-nav-liste a:focus-visible::after, .sr-nav-liste a[aria-current="page"]::after { transform: scaleX(1); }
.sr-nav-liste a[aria-current="page"] { font-weight: 700; }
.sr-nav-pied { display: none; }

@media (max-width: 1099px) {
  .sr-tete-actions { display: none; }
  .sr-burger { display: inline-flex; }
  .sr-tete-haut { min-height: 4rem; gap: .8rem; }
  .sr-marque img { width: 40px; height: 40px; }
  .sr-marque-texte { flex-direction: column; align-items: flex-start; gap: .1rem; }
  .sr-marque-point { display: none; }
  .sr-marque-texte b { font-size: 1.08rem; }
  .sr-marque-texte small { font-size: .8rem; }
  .js .sr-nav { display: none; position: fixed; inset: calc(4rem + 5px) 0 0 0; background: #fff; overflow-y: auto; border-top: 1px solid rgba(18, 13, 22, .08); }
  .js .sr-ouvert .sr-nav { display: block; animation: sr-entree .25s ease; }
  .sr-nav-zone { flex-direction: column; align-items: stretch; padding-top: .6rem; padding-bottom: 2rem; }
  .sr-nav-liste { flex-direction: column; gap: 0; }
  .sr-nav-liste a, .sr-nav-liste li:first-child a { padding: 1.05rem 0; border-bottom: 1px solid rgba(18, 13, 22, .08); font: 700 1.25rem/1.1 var(--police-display); letter-spacing: -.01em; }
  .sr-nav-liste a::after, .sr-nav-liste li:first-child a::after { left: auto; right: 0; top: 50%; bottom: auto; width: .5rem; height: .5rem; border-radius: 50%; transform: translateY(-50%) scale(0); }
  .sr-nav-liste a[aria-current="page"]::after { transform: translateY(-50%) scale(1); }
  .sr-nav-pied { display: grid; gap: .7rem; margin-top: 1.6rem; }
  .sr-nav-pied .v6-bouton { justify-content: center; }
  html.sr-menu-ouvert { overflow: hidden; }
  html:not(.js) .sr-nav-liste { flex-direction: row; flex-wrap: wrap; }
}
@keyframes sr-entree { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }

/* L'altimètre et les outils du site fédéral n'ont pas de sens ici : pas d'altimètre dans le gabarit régional. */
.sr-site .fl-sur-classe.sr-sur-region { background: var(--sr-teinte); color: #fff; }

/* ── Sections ── */
.sr-section { padding: clamp(3.6rem, 7vw, 7.5rem) 0; }
.sr-section + .sr-section:not(.v6-papier-2):not(.sr-mot) { padding-top: clamp(1rem, 3vw, 3rem); }
.sr-section .fl-entete { margin-bottom: clamp(1.8rem, 3.4vw, 3rem); }
.sr-site .v6-surtitre::before, .sr-site .fl-surtitre::before { background-color: var(--sr-teinte); }
.sr-boutons { display: flex; flex-wrap: wrap; gap: .8rem 1rem; align-items: center; margin: clamp(1.6rem, 3vw, 2.4rem) 0 0; }
.sr-vide { padding: 1.4rem 1.6rem; border-radius: 18px; background: #fff; box-shadow: inset 0 0 0 1px rgba(18, 13, 22, .08); max-width: 52rem; }
.sr-vide p { margin: 0; color: rgba(18, 13, 22, .78); line-height: 1.55; }
.sr-vide b { color: #120D16; }
.v6-papier-2 .sr-vide { background: #fff; }

/* « Exemple » : site d'essai seulement (jamais en production). */
.sr-exemple { display: flex; gap: .8rem; align-items: flex-start; margin: 0 0 1.6rem; padding: .9rem 1.1rem; border-radius: 14px; background: rgba(149, 7, 20, .06); box-shadow: inset 0 0 0 1px rgba(149, 7, 20, .22); color: rgba(18, 13, 22, .82); font: 500 .95rem/1.5 var(--police-texte); max-width: 56rem; }
.sr-exemple b, .sr-pastille-ex { flex: none; display: inline-block; font: 800 .66rem/1 var(--police-instru); letter-spacing: .1em; text-transform: uppercase; background: #950714; color: #fff; border-radius: 999px; padding: .38rem .6rem; }
.sr-exemple b { margin-top: .12rem; }
.sr-pastille { display: inline-block; font: 700 .7rem/1 var(--police-instru); letter-spacing: .08em; text-transform: uppercase; background: var(--sr-teinte); color: #fff; border-radius: 999px; padding: .42rem .7rem; }

/* Date en pavé (agenda, rendez-vous). */
.sr-jour { display: grid; place-items: center; align-content: center; width: 4.4rem; height: 4.6rem; flex: none; border-radius: 14px; background: var(--sr-teinte); color: #fff; font-family: var(--police-display); line-height: 1; text-align: center; }
.sr-jour b { font-size: 1.7rem; font-weight: 800; letter-spacing: -.03em; }
.sr-jour small { font-size: .74rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; margin-top: .2rem; }
.sr-jour i { font-style: normal; font-size: .62rem; opacity: .7; margin-top: .2rem; }

/* Ouverture des pages intérieures : le bandeau des pages du site principal, un peu plus bas. */
.sr-ouverture .fl-fil a { color: inherit; }
html[data-heros="reduit"] .sr-ouverture.fl-scene-courte { min-height: clamp(20rem, 42vh, 26rem); }
html[data-heros="reduit"] .sr-ouverture .fl-scene-zone { padding-top: clamp(2.4rem, 5vw, 4rem); padding-bottom: clamp(2rem, 4vw, 3.2rem); }

/* ── Page introuvable ── */
.sr-404 h1 { max-width: 16ch; margin: 1rem 0 1.2rem; }
.sr-404-liens { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; padding: 0; margin: 2.4rem 0 0; }
.sr-404-liens a { display: inline-block; padding: .55rem .95rem; border-radius: 999px; background: #fff; box-shadow: inset 0 0 0 1px rgba(18, 13, 22, .14); color: #120D16; text-decoration: none; font: 600 .9rem/1 var(--police-ui); }
.sr-404-liens a:hover { box-shadow: inset 0 0 0 1.5px var(--sr-teinte); color: var(--sr-teinte); }

/* ── Pied de page ── */
.sr-pied { position: relative; background: #120D16; color: rgba(245, 245, 245, .78); padding: clamp(3.4rem, 6vw, 5.5rem) 0 1.6rem; font: 400 .97rem/1.6 var(--police-texte); overflow: hidden; }
.sr-pied::before { content: ""; position: absolute; inset: 0 0 auto; height: 4px; background: linear-gradient(90deg, var(--sr-teinte) 0 62%, #191970 62% 84%, #F32837 84% 100%); }
.sr-pied a { color: #F5F5F5; text-decoration: none; }
.sr-pied a:hover, .sr-pied a:focus-visible { text-decoration: underline; text-underline-offset: .2em; }
.sr-pied-grille { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) minmax(0, 1fr); gap: 2.6rem 4rem; }
.sr-pied-marque { display: flex; align-items: center; gap: .9rem; margin: 0 0 1.3rem; }
.sr-pied-marque img { width: 54px; height: 54px; background: #fff; border-radius: 50%; padding: 3px; }
.sr-pied-marque b { display: block; font: 800 1.35rem/1.1 var(--police-display); color: #fff; letter-spacing: -.02em; }
.sr-pied-marque small { display: block; font: 600 .78rem/1.3 var(--police-instru); letter-spacing: .08em; text-transform: uppercase; color: rgba(245, 245, 245, .6); margin-top: .25rem; }
.sr-pied-adresse { margin: 0 0 .8rem; }
.sr-pied-contacts { display: flex; flex-direction: column; gap: .2rem; margin: 0 0 1.2rem; }
.sr-pied-reseaux { display: flex; gap: .55rem; margin: 0; }
.sr-pied-reseaux a { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; border-radius: 50%; background: rgba(245, 245, 245, .08); box-shadow: inset 0 0 0 1px rgba(245, 245, 245, .18); font: 700 .8rem/1 var(--police-ui); }
.sr-pied-reseaux a:hover { background: var(--sr-teinte); text-decoration: none; }
.sr-pied-reseaux svg { width: 1.15rem; height: 1.15rem; fill: currentColor; }
.sr-pied-titre { margin: 0 0 1rem; font: 700 .72rem/1 var(--police-instru); letter-spacing: .14em; text-transform: uppercase; color: rgba(245, 245, 245, .55); }
.sr-pied ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.sr-pied-bas { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .8rem 2rem; margin-top: clamp(2.6rem, 5vw, 4rem); padding-top: 1.4rem; border-top: 1px solid rgba(245, 245, 245, .14); font-size: .86rem; color: rgba(245, 245, 245, .6); }
.sr-pied-bas p { margin: 0; }
.sr-pied-liens { display: flex; flex-wrap: wrap; gap: .4rem 1.3rem; }
.sr-pied-liens a { color: rgba(245, 245, 245, .78); }
/* Lettre du comité (seulement si le comité a une liste Brevo) */
.sr-pied-lettre { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 1.2rem 3rem; align-items: center; margin-top: clamp(2.4rem, 4vw, 3.4rem); padding: 1.6rem 1.8rem; border-radius: 18px; background: rgba(245, 245, 245, .06); box-shadow: inset 0 0 0 1px rgba(245, 245, 245, .14); }
.sr-pied-lettre-texte p:last-child { margin: 0; }
.sr-pied-lettre-champs { display: flex; flex-wrap: wrap; gap: .6rem; margin: 0; }
.sr-pied-lettre-champs input { flex: 1 1 14rem; min-width: 0; border: 0; border-radius: 999px; padding: .85rem 1.2rem; font: 500 1rem/1.2 var(--police-ui); color: #120D16; background: #fff; }
.sr-pied-lettre-champs input:focus-visible { outline: 3px solid var(--sr-teinte); outline-offset: 2px; }
.sr-pied-lettre-accord { display: flex; gap: .55rem; align-items: flex-start; margin-top: .8rem; font-size: .84rem; line-height: 1.45; color: rgba(245, 245, 245, .7); }
.sr-pied-lettre-accord input { margin-top: .2rem; accent-color: var(--sr-teinte); }
.sr-pied-lettre-accord a { text-decoration: underline; }
.sr-pied-lettre-etat { margin: .6rem 0 0; min-height: 1.2em; font-weight: 600; color: #fff; }
.sr-pied-lettre-etat.est-erreur { color: #F32837; }
.sr-pied-cache { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (max-width: 900px) {
  .sr-pied-lettre { grid-template-columns: 1fr; }
  .sr-pied-grille { grid-template-columns: 1fr 1fr; }
  .sr-pied-comite { grid-column: 1 / -1; }
}
@media (max-width: 520px) {
  .sr-pied-grille { grid-template-columns: 1fr; gap: 2rem; }
}

/* Mise en valeur des titres de section : teinte régionale, sur fond clair seulement (le héros et le final gardent le rendu national). */
.sr-section:not(.sr-mot) .fl-entete .v6-lapsus { color: var(--sr-teinte); }
/* Bloc vide montré en « Exemple » (site d'essai) : plus serré. */
.sr-section.sr-section-ex { padding-top: clamp(2.4rem, 4vw, 3.6rem); padding-bottom: clamp(2.4rem, 4vw, 3.6rem); }
.sr-section-ex .fl-entete { margin-bottom: 1.2rem; }
.sr-section-ex .v6-titre-xl { font-size: clamp(1.9rem, 1rem + 2.4vw, 3rem); }
.sr-section-ex .sr-exemple { margin-bottom: 0; }
.sr-section-ex .sr-boutons { margin-top: 1.2rem; }

/* Pastille « Exemple » dans un titre de carte : toujours petite. */
.sr-site b.sr-pastille-ex, .sr-site .sr-actu-texte .sr-pastille-ex { font: 800 .62rem/1 var(--police-instru); letter-spacing: .1em; padding: .34rem .55rem; vertical-align: middle; }
@media (max-width: 420px) {
  .sr-marque { gap: .6rem; }
  .sr-marque-texte b { font-size: .98rem; }
  .sr-marque-texte small { font-size: .74rem; }
}

/* ── accueil.css ── */
/* Sites régionaux complets — accueil (modules-pages/sites-regionaux/accueil.mjs). */

/* Héros : celui de l'accueil national (fl-scene-accueil) ; sans réglage, une photo fixe. */
.sr-heros .fl-sur-classe.sr-sur-region { background: var(--sr-teinte, #001CA8); color: #fff; }
.sr-heros .fl-titre { max-width: 17ch; font-size: clamp(2.3rem, .9rem + 4.2vw, 5rem); line-height: .98; }
.sr-heros .fl-scene-zone { padding-bottom: clamp(4.5rem, 8vw, 6.5rem); }
.sr-heros .fl-chapo { max-width: 40rem; }
@media (max-width: 600px) { .sr-heros .fl-titre { font-size: clamp(2.1rem, 1.2rem + 4.4vw, 2.6rem); } }
.sr-mot-ex .sr-mot-texte { color: rgba(245, 245, 245, .55); font-style: italic; }
.sr-mot-ex .sr-exemple { margin-top: 1.4rem; background: rgba(245, 245, 245, .08); color: rgba(245, 245, 245, .85); box-shadow: inset 0 0 0 1px rgba(245, 245, 245, .2); }
.sr-mot-ex.sr-section { padding: clamp(3rem, 5vw, 4.6rem) 0; }

/* La région en chiffres */
.sr-chiffres { background: #fff; color: #120D16; border-bottom: 1px solid rgba(25, 25, 112, .1); }   /* bande claire (demande d'Alexis, 09/10/2026) */
.sr-chiffres ul { display: grid; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); list-style: none; margin: 0; padding: 0; }
.sr-chiffres li { border-left: 1px solid rgba(25, 25, 112, .12); }
.sr-chiffres li:first-child { border-left: 0; }
.sr-chiffres li > a, .sr-chiffres li > div { display: flex; flex-direction: column; gap: .3rem; height: 100%; padding: clamp(1.6rem, 3vw, 2.4rem) clamp(1rem, 2vw, 1.8rem); color: inherit; text-decoration: none; transition: background .25s; }
.sr-chiffres li:first-child > a, .sr-chiffres li:first-child > div { padding-left: 0; }
.sr-chiffres li > a:hover { background: #F5F5F5; }
.sr-chiffres b { font: 800 clamp(2.4rem, 1.4rem + 2.6vw, 3.6rem)/1 var(--police-display); letter-spacing: -.04em; color: var(--sr-teinte, #001CA8); }
.sr-chiffres span { font: 700 1rem/1.25 var(--police-display); color: #191970; }
.sr-chiffres small { font: 400 .84rem/1.35 var(--police-texte); color: #5a5670; }
.sr-chiffres li > a span::after { content: " →"; color: #F32837; }
@media (max-width: 700px) {
  .sr-chiffres ul { grid-template-columns: 1fr 1fr; }
  .sr-chiffres li { border-left: 0; border-top: 1px solid rgba(245, 245, 245, .12); }
  .sr-chiffres li:nth-child(-n+2) { border-top: 0; }
  .sr-chiffres li:nth-child(even) { border-left: 1px solid rgba(245, 245, 245, .12); }
  .sr-chiffres li > a, .sr-chiffres li > div, .sr-chiffres li:first-child > a, .sr-chiffres li:first-child > div { padding: 1.3rem 1rem; }
  .sr-chiffres li:nth-child(odd) > a, .sr-chiffres li:nth-child(odd) > div { padding-left: 0; }
  .sr-chiffres li:last-child:nth-child(odd) { grid-column: 1 / -1; }
}

/* À la une */
.sr-une { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); gap: clamp(1.2rem, 2.4vw, 2rem); }
.sr-une-liste { display: grid; gap: clamp(1rem, 2vw, 1.4rem); align-content: start; }
.sr-carte a { display: grid; height: 100%; background: #fff; border-radius: 22px; overflow: hidden; color: #120D16; text-decoration: none; box-shadow: 0 1px 0 rgba(18, 13, 22, .04), 0 22px 50px -38px rgba(18, 13, 22, .55); transition: transform .35s ease, box-shadow .35s ease; }
.sr-carte a:hover { transform: translateY(-3px); box-shadow: 0 1px 0 rgba(18, 13, 22, .04), 0 30px 60px -36px rgba(18, 13, 22, .6); }
.sr-carte-visuel { display: block; position: relative; overflow: hidden; background: #191970; }
.sr-carte-visuel img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .8s ease; }
.sr-carte a:hover .sr-carte-visuel img { transform: scale(1.04); }
.sr-carte-sans { display: grid; place-items: center; background: linear-gradient(135deg, var(--sr-teinte, #001CA8), #191970); color: rgba(255, 255, 255, .85); font: 800 1.1rem/1.1 var(--police-display); padding: 1rem; text-align: center; }
.sr-carte-texte { display: flex; flex-direction: column; gap: .55rem; padding: 1.3rem 1.4rem 1.5rem; }
.sr-carte-date { font: 700 .74rem/1.2 var(--police-instru); letter-spacing: .08em; text-transform: uppercase; color: rgba(18, 13, 22, .55); }
.sr-carte-titre { font: 700 1.12rem/1.22 var(--police-display); letter-spacing: -.01em; }
.sr-carte-chapo { color: rgba(18, 13, 22, .72); font-size: .97rem; line-height: 1.5; }
.sr-carte-une a { grid-template-rows: minmax(16rem, 1fr) auto; }
.sr-carte-une .sr-carte-visuel { aspect-ratio: auto; min-height: 18rem; }
.sr-carte-une .sr-carte-texte { padding: 1.6rem 1.8rem 1.9rem; }
.sr-carte-une .sr-carte-titre { font-size: clamp(1.35rem, 1rem + 1vw, 1.85rem); line-height: 1.15; letter-spacing: -.02em; }
.sr-une-liste .sr-carte a { grid-template-columns: 9.5rem minmax(0, 1fr); }
.sr-une-liste .sr-carte-visuel { min-height: 100%; }
.sr-une-liste .sr-carte-texte { padding: 1.05rem 1.2rem; gap: .4rem; }
.sr-une-liste .sr-carte-chapo { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: .9rem; }
@media (max-width: 900px) {
  .sr-une { grid-template-columns: 1fr; }
  .sr-carte-une .sr-carte-visuel { min-height: 13rem; aspect-ratio: 16 / 10; }
}
@media (max-width: 520px) {
  .sr-une-liste .sr-carte a { grid-template-columns: 6.5rem minmax(0, 1fr); }
  .sr-une-liste .sr-carte-chapo { display: none; }
  .sr-carte-une .sr-carte-texte { padding: 1.2rem 1.25rem 1.4rem; }
}

/* Prochains rendez-vous */
.sr-rdv { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.sr-rdv a { display: flex; align-items: center; gap: 1.1rem; height: 100%; padding: 1rem 1.2rem 1rem 1rem; background: #fff; border-radius: 20px; color: #120D16; text-decoration: none; box-shadow: inset 0 0 0 1px rgba(18, 13, 22, .06); transition: box-shadow .25s, transform .25s; }
.sr-rdv a:hover { box-shadow: inset 0 0 0 1.5px var(--sr-teinte, #001CA8); transform: translateY(-2px); }
.sr-rdv-texte { display: flex; flex-direction: column; gap: .25rem; min-width: 0; flex: 1; }
.sr-rdv-texte b { font: 700 1.05rem/1.25 var(--police-display); letter-spacing: -.01em; }
.sr-rdv-texte small { color: rgba(18, 13, 22, .62); font-size: .88rem; }
.sr-rdv-texte .sr-rdv-cat { font: 700 .68rem/1 var(--police-instru); letter-spacing: .1em; text-transform: uppercase; color: var(--sr-teinte, #001CA8); }
.sr-rdv-fleche { color: var(--sr-teinte, #001CA8); flex: none; }
@media (max-width: 760px) { .sr-rdv { grid-template-columns: 1fr; } .sr-rdv-fleche { display: none; } }

/* Débuter dans la région */
.sr-etapes { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.6rem); counter-reset: etape; }
.sr-etapes li { position: relative; display: flex; flex-direction: column; gap: .7rem; padding: 1.8rem 1.7rem 1.7rem; background: #fff; border-radius: 22px; box-shadow: 0 22px 50px -40px rgba(18, 13, 22, .5); overflow: hidden; }
.sr-etapes li::before { content: ""; position: absolute; inset: 0 0 auto; height: 4px; background: var(--sr-teinte, #001CA8); opacity: .9; }
.sr-etapes li:nth-child(2)::before { background: #191970; }
.sr-etapes li:nth-child(3)::before { background: #F32837; }
.sr-etape-num { font: 800 2.6rem/1 var(--police-display); letter-spacing: -.05em; color: rgba(0, 28, 168, .14); }
.sr-etapes h3 { margin: 0; font: 700 1.3rem/1.15 var(--police-display); letter-spacing: -.015em; color: #120D16; }
.sr-etapes p { margin: 0; color: rgba(18, 13, 22, .72); line-height: 1.55; flex: 1; }
.sr-etapes .v6-lien { align-self: flex-start; margin-top: .3rem; font-weight: 700; color: var(--sr-teinte, #001CA8); }
@media (max-width: 900px) { .sr-etapes { grid-template-columns: 1fr; } }

/* Clubs en vedette */
.sr-clubs { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.sr-clubs li { display: flex; flex-direction: column; gap: .35rem; padding: 1.3rem 1.4rem; background: #fff; border-radius: 18px; box-shadow: inset 0 0 0 1px rgba(18, 13, 22, .07); }
.sr-clubs b { font: 700 1.08rem/1.2 var(--police-display); color: #120D16; }
.sr-clubs small { color: rgba(18, 13, 22, .6); font-size: .86rem; }
.sr-clubs .sr-club-type { font: 700 .68rem/1 var(--police-instru); letter-spacing: .1em; text-transform: uppercase; color: var(--sr-teinte, #001CA8); }
.sr-clubs p { margin: .3rem 0 0; color: rgba(18, 13, 22, .72); font-size: .93rem; }
.sr-club-visuel { display: block; margin: -1.3rem -1.4rem .8rem; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 18px 18px 0 0; }
.sr-club-visuel img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 900px) { .sr-clubs { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .sr-clubs { grid-template-columns: 1fr; } }

/* Le mot du président */
.sr-mot { background: #191970; color: #F5F5F5; }
.sr-mot-grille { display: grid; grid-template-columns: minmax(0, 15rem) minmax(0, 1fr); gap: clamp(1.6rem, 4vw, 4rem); align-items: center; }
.sr-mot-grille > div:only-child { grid-column: 1 / -1; max-width: 52rem; }
.sr-mot-portrait { margin: 0; aspect-ratio: 4 / 5; border-radius: 24px; overflow: hidden; }
.sr-mot-portrait img { width: 100%; height: 100%; object-fit: cover; }
.sr-mot .fl-surtitre { color: rgba(245, 245, 245, .7); }
.sr-mot-texte { margin: 1.2rem 0 0; font: 600 clamp(1.25rem, 1rem + .8vw, 1.7rem)/1.4 var(--police-display); letter-spacing: -.01em; color: #fff; }
.sr-mot-texte p { margin: 0 0 1rem; }
.sr-mot-signature { margin: 1.2rem 0 0; font: 700 .8rem/1.3 var(--police-instru); letter-spacing: .1em; text-transform: uppercase; color: rgba(245, 245, 245, .7); }
@media (max-width: 700px) { .sr-mot-grille { grid-template-columns: 1fr; } .sr-mot-portrait { max-width: 12rem; } }

/* Partenaires */
.sr-partenaires { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr)); gap: 1rem; }
.sr-partenaires a, .sr-partenaires li > div { display: flex; flex-direction: column; justify-content: center; gap: .4rem; min-height: 7rem; height: 100%; padding: 1.2rem 1.3rem; background: #fff; border-radius: 18px; color: #120D16; text-decoration: none; box-shadow: inset 0 0 0 1px rgba(18, 13, 22, .07); }
.sr-partenaires a:hover { box-shadow: inset 0 0 0 1.5px var(--sr-teinte, #001CA8); }
.sr-partenaire-logo { max-height: 3.6rem; max-width: 100%; width: auto; object-fit: contain; align-self: flex-start; }
.sr-partenaires b { font: 700 1rem/1.2 var(--police-display); }
.sr-partenaires small { color: rgba(18, 13, 22, .6); font-size: .85rem; line-height: 1.35; }

/* ── actualites.css ── */
/* Sites régionaux complets — actualités (modules-pages/sites-regionaux/actualites.mjs). */

/* Actualités du comité : la première en grand, les autres en grille. */
.sr-actus { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.6rem); }
.sr-actu a { display: flex; flex-direction: column; height: 100%; background: #fff; border-radius: 22px; overflow: hidden; color: #120D16; text-decoration: none; box-shadow: 0 1px 0 rgba(18, 13, 22, .04), 0 22px 50px -38px rgba(18, 13, 22, .55); transition: transform .35s ease, box-shadow .35s ease; }
.sr-actu a:hover { transform: translateY(-3px); box-shadow: 0 1px 0 rgba(18, 13, 22, .04), 0 30px 60px -36px rgba(18, 13, 22, .6); }
.sr-actu-visuel { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: #191970; }
.sr-actu-visuel img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .8s ease; }
.sr-actu a:hover .sr-actu-visuel img { transform: scale(1.04); }
.sr-actu-texte { display: flex; flex-direction: column; gap: .55rem; padding: 1.25rem 1.4rem 1.5rem; }
.sr-actu-texte small { font: 700 .74rem/1.2 var(--police-instru); letter-spacing: .08em; text-transform: uppercase; color: rgba(18, 13, 22, .55); }
.sr-actu-texte b { font: 700 1.15rem/1.22 var(--police-display); letter-spacing: -.01em; }
.sr-actu-texte > span { color: rgba(18, 13, 22, .72); font-size: .96rem; line-height: 1.5; }
.sr-actu-une { grid-column: 1 / -1; }
.sr-actu-une a { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); }
.sr-actu-une .sr-actu-visuel { aspect-ratio: auto; min-height: 22rem; }
.sr-actu-une .sr-actu-texte { justify-content: center; padding: clamp(1.6rem, 3vw, 3rem); gap: .9rem; }
.sr-actu-une .sr-actu-texte b { font-size: clamp(1.5rem, 1rem + 1.4vw, 2.3rem); line-height: 1.1; letter-spacing: -.025em; }
.sr-actu-une .sr-actu-texte > span { font-size: 1.05rem; }
@media (max-width: 1000px) { .sr-actus { grid-template-columns: 1fr 1fr; } }
@media (max-width: 800px) { .sr-actu-une a { grid-template-columns: 1fr; } .sr-actu-une .sr-actu-visuel { min-height: 0; aspect-ratio: 16 / 10; } }
@media (max-width: 600px) { .sr-actus { grid-template-columns: 1fr; } }

/* La fédération informe : cartes vers ffplum.fr */
.sr-nats { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.sr-nat { display: grid; grid-template-columns: 7.5rem minmax(0, 1fr); height: 100%; background: #fff; border-radius: 18px; overflow: hidden; color: #120D16; text-decoration: none; box-shadow: inset 0 0 0 1px rgba(18, 13, 22, .07); transition: box-shadow .25s, transform .25s; }
.sr-nat:hover { box-shadow: inset 0 0 0 1.5px #191970; transform: translateY(-2px); }
.sr-nat-visuel { display: block; overflow: hidden; background: #191970; }
.sr-nat-visuel img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sr-nat-texte { display: flex; flex-direction: column; gap: .4rem; padding: 1rem 1.15rem 1.1rem; grid-column: 2; }
.sr-nat.sr-nat-sans { grid-template-columns: 1fr; box-shadow: inset 4px 0 0 #950714, inset 0 0 0 1px rgba(18, 13, 22, .07); }
.sr-nat.sr-nat-sans .sr-nat-texte { grid-column: 1; padding-left: 1.4rem; }
.sr-nat-texte small { font: 700 .7rem/1.3 var(--police-instru); letter-spacing: .06em; text-transform: uppercase; color: rgba(18, 13, 22, .55); }
.sr-nat-cat { color: #950714; }
.sr-nat-texte b { font: 700 1rem/1.25 var(--police-display); letter-spacing: -.005em; }
.sr-nat-texte > span { color: rgba(18, 13, 22, .7); font-size: .88rem; line-height: 1.45; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.sr-nat-source { display: inline-flex; align-items: center; gap: .35rem; margin-top: auto; padding-top: .2rem; font: 700 .78rem/1 var(--police-ui); font-style: normal; color: #191970; }
@media (max-width: 1100px) { .sr-nats { grid-template-columns: 1fr 1fr; } }
@media (max-width: 680px) { .sr-nats { grid-template-columns: 1fr; } .sr-nat { grid-template-columns: 6rem minmax(0, 1fr); } }

.sr-flux { padding-bottom: clamp(2.4rem, 5vw, 4rem); margin-top: -1rem; }
.v6-papier-2 + .sr-flux { padding-top: 1.6rem; margin-top: 0; }

/* Page d'une actualité */
.sr-article { padding-top: clamp(2.4rem, 5vw, 4.5rem); }
.sr-article-grille { display: grid; grid-template-columns: minmax(0, 46rem) minmax(0, 18rem); gap: clamp(2rem, 5vw, 5rem); justify-content: space-between; align-items: start; }
.sr-article-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1rem; margin: 0 0 1.6rem; font: 600 .9rem/1 var(--police-ui); color: rgba(18, 13, 22, .6); }
.sr-article-figure { margin: 0 0 2rem; border-radius: 22px; overflow: hidden; }
.sr-article-figure img { width: 100%; height: auto; display: block; }
.sr-article-corps .fl-prose { font-size: 1.08rem; }
.sr-article-aside { position: sticky; top: 9rem; padding: 1.4rem 1.4rem 1.2rem; background: #fff; border-radius: 20px; box-shadow: inset 0 0 0 1px rgba(18, 13, 22, .07); }
.sr-article-aside ul { list-style: none; margin: .8rem 0 0; padding: 0; display: grid; gap: .2rem; }
.sr-article-aside a { display: flex; flex-direction: column; gap: .25rem; padding: .7rem 0; border-top: 1px solid rgba(18, 13, 22, .08); color: #120D16; text-decoration: none; }
.sr-article-aside a:hover b { color: var(--sr-teinte, #001CA8); }
.sr-article-aside small { font: 700 .7rem/1 var(--police-instru); letter-spacing: .08em; text-transform: uppercase; color: rgba(18, 13, 22, .5); }
.sr-article-aside b { font: 700 .98rem/1.3 var(--police-display); }
@media (max-width: 1000px) { .sr-article-grille { grid-template-columns: 1fr; } .sr-article-aside { position: static; } }
/* Une grande et deux (ou une) autres : la ligne se partage sans trou. */
@media (min-width: 1001px) {
  .sr-actus:has(> .sr-actu:nth-child(3):last-child) { grid-template-columns: 1fr 1fr; }
  .sr-actus:has(> .sr-actu:nth-child(2):last-child) .sr-actu:nth-child(2) { grid-column: 1 / -1; }
}

/* ── agenda.css ── */
/* Sites régionaux complets — agenda (modules-pages/sites-regionaux/agenda.mjs). */
.sr-filtres { display: flex; flex-wrap: wrap; align-items: flex-end; gap: .8rem 1rem; margin: 0 0 2rem; padding: 1rem 1.2rem; background: #fff; border-radius: 18px; box-shadow: inset 0 0 0 1px rgba(18, 13, 22, .08); }
.sr-filtres label { display: grid; gap: .35rem; min-width: 14rem; flex: 0 1 18rem; }
.sr-filtres label > span { font: 700 .68rem/1 var(--police-instru); letter-spacing: .1em; text-transform: uppercase; color: rgba(18, 13, 22, .55); }
.sr-filtres select { appearance: none; width: 100%; padding: .75rem 2.4rem .75rem .95rem; border: 0; border-radius: 12px; background: #F5F5F5 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23120D16' stroke-width='2'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E") no-repeat right .8rem center / 1rem; font: 600 .95rem/1.2 var(--police-ui); color: #120D16; box-shadow: inset 0 0 0 1px rgba(18, 13, 22, .1); cursor: pointer; }
.sr-filtres select:focus-visible { outline: 2px solid var(--sr-teinte, #001CA8); outline-offset: 2px; }
.sr-filtres-compte { margin: 0 0 0 auto; padding-bottom: .7rem; font: 700 .9rem/1 var(--police-ui); color: rgba(18, 13, 22, .6); }

.sr-agenda-mois + .sr-agenda-mois { margin-top: 2.2rem; }
.sr-mois { margin: 0 0 1rem; font: 800 .8rem/1 var(--police-instru); letter-spacing: .14em; text-transform: uppercase; color: var(--sr-teinte, #001CA8); display: flex; align-items: center; gap: .8rem; }
.sr-mois::after { content: ""; flex: 1; height: 1px; background: rgba(18, 13, 22, .12); }
.sr-evts { list-style: none; margin: 0; padding: 0; display: grid; gap: .8rem; }
.sr-evt a { display: flex; align-items: center; gap: 1.2rem; padding: 1rem 1.4rem 1rem 1rem; background: #fff; border-radius: 20px; color: #120D16; text-decoration: none; box-shadow: inset 0 0 0 1px rgba(18, 13, 22, .07); transition: box-shadow .25s, transform .25s; }
.sr-evt a:hover { box-shadow: inset 0 0 0 1.5px var(--sr-teinte, #001CA8); transform: translateX(3px); }
.sr-evt-texte { display: flex; flex-direction: column; gap: .3rem; flex: 1; min-width: 0; }
.sr-evt-etiquettes { display: flex; flex-wrap: wrap; gap: .4rem; }
.sr-evt-etiquettes:empty { display: none; }
.sr-evt-cat, .sr-evt-dep { display: inline-block; padding: .3rem .55rem; border-radius: 999px; font: 700 .66rem/1 var(--police-instru); letter-spacing: .08em; text-transform: uppercase; }
.sr-evt-cat { background: rgba(0, 28, 168, .08); color: #001CA8; }
.sr-cat-competition { background: rgba(243, 40, 55, .1); color: #950714; }
.sr-cat-securite { background: rgba(149, 7, 20, .08); color: #950714; }
.sr-cat-formation { background: rgba(25, 25, 112, .09); color: #191970; }
.sr-evt-dep { background: #F5F5F5; color: rgba(18, 13, 22, .7); }
.sr-evt-texte b { font: 700 1.12rem/1.25 var(--police-display); letter-spacing: -.01em; }
.sr-evt-lieu { color: rgba(18, 13, 22, .62); font-size: .9rem; }
.sr-evt-fiche { display: inline-flex; align-items: center; gap: .4rem; flex: none; font: 700 .85rem/1 var(--police-ui); color: var(--sr-teinte, #001CA8); }
.sr-evts-passes .sr-evt a { opacity: .78; }
.sr-evts-passes .sr-jour { background: rgba(18, 13, 22, .55); }
@media (max-width: 640px) {
  .sr-evt a { align-items: flex-start; gap: .9rem; padding: .9rem; }
  .sr-evt-fiche { display: none; }
  .sr-evt .sr-jour { width: 3.7rem; height: 4rem; }
  .sr-evt .sr-jour b { font-size: 1.4rem; }
  .sr-filtres label { min-width: 0; flex: 1 1 100%; }
  .sr-filtres-compte { margin-left: 0; padding-bottom: 0; }
}

.sr-proposer { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 1.4rem 3rem; margin-top: clamp(2.4rem, 4vw, 3.6rem); padding: clamp(1.6rem, 3vw, 2.4rem) clamp(1.4rem, 3vw, 2.6rem); background: #191970; color: #F5F5F5; border-radius: 24px; }
.sr-proposer .fl-instru-lib { color: rgba(245, 245, 245, .65); margin: 0; }
.sr-proposer h3 { margin: .6rem 0 .5rem; font: 700 clamp(1.3rem, 1rem + .9vw, 1.8rem)/1.15 var(--police-display); letter-spacing: -.015em; color: #fff; }
.sr-proposer p { margin: 0; color: rgba(245, 245, 245, .78); max-width: 40rem; line-height: 1.55; }
.sr-proposer .sr-boutons { margin: 0; justify-content: flex-end; }
.sr-proposer .v6-bouton-plein { background: #fff; color: #191970; }
.sr-proposer .v6-bouton-ligne { color: #fff; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .42); }
@media (max-width: 900px) { .sr-proposer { grid-template-columns: 1fr; } .sr-proposer .sr-boutons { justify-content: flex-start; } }

/* ── clubs.css ── */
/* Sites régionaux complets — pages métier (lots C3-C5, plan du 09/10/2026). Préfixe sr-. Couleurs de la charte seulement :
   Klein #001CA8, Midnight #191970, noir #120D16, White Smoke #F5F5F5, Cranberry #950714, rouge #F32837, blanc (et leurs
   transparences). Ce fichier porte aussi les éléments COMMUNS aux pages métier (en-tête de page sr-bandeau, bandeau d'appel
   sr-appel, ancres) : tous les fichiers de styles/sites-regionaux/ sont concaténés dans styles/site-regional.css. */

/* ── Commun : en-tête de page ── */
.sr-bandeau { position: relative; overflow: hidden; background: #191970; color: #fff; isolation: isolate; }
.sr-bandeau-fond { position: absolute; inset: 0; z-index: -1; }
.sr-bandeau-fond img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sr-bandeau-fond::after { content: ''; position: absolute; inset: 0; background: linear-gradient(100deg, rgba(25, 25, 112, .96) 0%, rgba(25, 25, 112, .86) 42%, rgba(0, 28, 168, .42) 100%); }
.sr-bandeau-zone { padding-top: clamp(2.4rem, 5vw, 4.6rem); padding-bottom: clamp(2.4rem, 5vw, 4.4rem); }
.sr-bandeau-photo .sr-bandeau-zone { padding-bottom: clamp(2.8rem, 6vw, 5.2rem); }
.sr-fil { display: flex; flex-wrap: wrap; gap: .3rem .55rem; align-items: center; font: 500 .82rem/1.3 var(--police-ui); color: rgba(255, 255, 255, .78); margin: 0 0 clamp(1.4rem, 3vw, 2.4rem); }
.sr-fil a { color: #fff; text-decoration: none; border-bottom: 1px solid rgba(255, 255, 255, .35); }
.sr-fil a:hover, .sr-fil a:focus-visible { border-bottom-color: #fff; }
.sr-bandeau-sur { font: 700 .78rem/1.2 var(--police-ui); letter-spacing: .14em; text-transform: uppercase; color: rgba(255, 255, 255, .82); margin: 0 0 .9rem; display: flex; align-items: center; gap: .7rem; }
.sr-bandeau-sur::before { content: ''; width: 2.2rem; height: 3px; background: #F32837; display: inline-block; }
.sr-bandeau-titre { font-size: clamp(2.3rem, 1.2rem + 3.6vw, 4.6rem); line-height: .98; color: #fff; margin: 0; max-width: 18ch; letter-spacing: -.025em; }
.sr-bandeau-titre .v6-lapsus { color: #fff; display: inline; font-weight: 400; opacity: .92; }
.sr-bandeau-chapo { font: 400 clamp(1.02rem, .95rem + .35vw, 1.25rem)/1.55 var(--police-texte); color: rgba(255, 255, 255, .9); max-width: 46rem; margin: 1.2rem 0 0; }
.sr-bandeau-chiffres { list-style: none; padding: 0; margin: clamp(1.6rem, 3vw, 2.4rem) 0 0; display: flex; flex-wrap: wrap; gap: .7rem; }
.sr-bandeau-chiffres li { display: flex; flex-direction: column; gap: .15rem; padding: .75rem 1.1rem .8rem; border-radius: 14px; background: rgba(255, 255, 255, .1); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .2); min-width: 8.5rem; backdrop-filter: blur(6px); }
.sr-bandeau-chiffres b { font: 700 clamp(1.5rem, 1.2rem + .9vw, 2.1rem)/1 var(--police-display); letter-spacing: -.02em; }
.sr-bandeau-chiffres span { font: 500 .82rem/1.25 var(--police-ui); color: rgba(255, 255, 255, .82); }
.sr-ancre { display: block; position: relative; top: -5rem; visibility: hidden; }

/* ── Commun : bandeau d'appel en bas de page ── */
.sr-appel { background: #001CA8; color: #fff; }
.sr-appel-zone { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.4rem 2.4rem; padding-top: clamp(2.2rem, 4vw, 3.4rem); padding-bottom: clamp(2.2rem, 4vw, 3.4rem); }
.sr-appel-titre { font: 700 clamp(1.4rem, 1.1rem + 1vw, 2rem)/1.1 var(--police-display); margin: 0; letter-spacing: -.02em; }
.sr-appel-texte { margin: .5rem 0 0; color: rgba(255, 255, 255, .86); max-width: 38rem; }
.sr-appel-boutons { display: flex; flex-wrap: wrap; gap: .7rem; margin: 0; }
.sr-appel .v6-bouton-plein { background: #fff; color: #001CA8; --survol: #191970; }
.sr-appel .v6-bouton-plein:hover, .sr-appel .v6-bouton-plein:focus-visible { color: #fff; }
.sr-appel .v6-bouton-ligne { color: #fff; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .5); --survol: #fff; }
.sr-appel .v6-bouton-ligne:hover, .sr-appel .v6-bouton-ligne:focus-visible { color: #001CA8; }

/* ── Clubs et écoles ── */
.sr-cl.v6-section { padding-top: clamp(2.4rem, 5vw, 4.4rem); }
.sr-cl-outils { display: grid; grid-template-columns: minmax(14rem, 2fr) repeat(auto-fit, minmax(10rem, 1fr)); gap: .8rem; align-items: end; padding: 1rem; background: #fff; border-radius: 18px; box-shadow: 0 1px 0 rgba(18, 13, 22, .06), 0 14px 40px -24px rgba(25, 25, 112, .35); }
.sr-cl-recherche input, .sr-cl-filtre select { width: 100%; height: 3rem; padding: 0 1rem; border-radius: 12px; border: 1px solid rgba(18, 13, 22, .18); background: #F5F5F5; font: 500 1rem var(--police-ui); color: #120D16; }
.sr-cl-recherche input:focus, .sr-cl-filtre select:focus { outline: 2px solid #001CA8; outline-offset: 1px; background: #fff; }
.sr-cl-filtre { display: flex; flex-direction: column; gap: .3rem; font: 600 .78rem/1.2 var(--police-ui); color: rgba(18, 13, 22, .7); text-transform: uppercase; letter-spacing: .06em; }
.sr-cl-compte { display: flex; align-items: center; gap: 1rem; margin: 1.6rem 0 1rem; font: 600 1rem var(--police-ui); }
.sr-cl-raz { border: 0; background: none; color: #001CA8; font: 600 .9rem var(--police-ui); text-decoration: underline; cursor: pointer; }
.sr-cl-liste { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(17.5rem, 1fr)); gap: 1rem; }
.sr-cl-carte { background: #fff; border-radius: 18px; padding: 1.2rem 1.3rem 1.1rem; box-shadow: inset 0 0 0 1px rgba(18, 13, 22, .1); display: flex; flex-direction: column; gap: .45rem; transition: box-shadow .2s, transform .2s; }
.sr-cl-carte:hover { box-shadow: inset 0 0 0 1px rgba(0, 28, 168, .35), 0 16px 34px -22px rgba(25, 25, 112, .45); transform: translateY(-2px); }
.sr-cl-carte-tete { display: flex; gap: .4rem; flex-wrap: wrap; }
.sr-cl-type, .sr-cl-label { font: 700 .7rem/1 var(--police-ui); letter-spacing: .08em; text-transform: uppercase; padding: .38rem .55rem; border-radius: 999px; background: rgba(0, 28, 168, .08); color: #001CA8; }
.sr-cl-label { background: #191970; color: #fff; }
.sr-cl-nom { font: 700 1.18rem/1.2 var(--police-display); margin: .15rem 0 0; color: #120D16; }
.sr-cl-lieu { margin: 0; color: rgba(18, 13, 22, .68); font-size: .93rem; }
.sr-cl-classes { list-style: none; padding: 0; margin: .1rem 0; display: flex; flex-wrap: wrap; gap: .3rem; }
.sr-cl-classes li { font: 600 .78rem/1 var(--police-ui); padding: .35rem .55rem; border-radius: 8px; background: #F5F5F5; color: #191970; }
.sr-cl-instr { margin: .2rem 0 0; font-size: .93rem; color: rgba(18, 13, 22, .75); }
.sr-cl-instr b { color: #001CA8; font-size: 1.1rem; }
.sr-cl-liens { display: flex; flex-wrap: wrap; gap: .4rem 1rem; margin: auto 0 0; padding-top: .7rem; border-top: 1px solid rgba(18, 13, 22, .08); }
.sr-cl-liens a { color: #001CA8; font: 600 .9rem var(--police-ui); text-decoration: none; }
.sr-cl-liens a:hover { text-decoration: underline; }
.sr-cl-vide, .sr-cl-source { color: rgba(18, 13, 22, .65); font-size: .92rem; margin-top: 1.4rem; }
/* Instructeurs (annuaire des instructeurs, 11/10/2026) : même carte que les structures, sous un titre de section */
.sr-cl-instructeurs.v6-section { padding-top: clamp(2rem, 4vw, 3.4rem); border-top: 1px solid rgba(18, 13, 22, .08); }
.sr-cl-titre { font: 700 clamp(1.5rem, 1.15rem + 1.2vw, 2.2rem)/1.1 var(--police-display); letter-spacing: -.02em; color: #120D16; margin: 0 0 .5rem; }
.sr-cl-intro { margin: 0 0 1.4rem; max-width: 46rem; color: rgba(18, 13, 22, .75); line-height: 1.55; }
.sr-cl-carte-instr .sr-cl-type { background: rgba(25, 25, 112, .1); color: #191970; }
.sr-cl-carte-instr .sr-cl-liens a { overflow-wrap: anywhere; }
.sr-cl-attente { border-left: 4px solid #001CA8; background: #fff; border-radius: 0 18px 18px 0; padding: 1.4rem 1.6rem; max-width: 52rem; box-shadow: 0 14px 40px -28px rgba(25, 25, 112, .4); }
.sr-cl-attente p { margin: 0; color: rgba(18, 13, 22, .8); line-height: 1.6; }
.sr-cl-attente .sr-cl-attente-titre { font: 700 1.2rem/1.35 var(--police-display); color: #191970; margin-bottom: .6rem; }
.sr-cl-deps { list-style: none; padding: 0; margin: 2rem 0 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr)); gap: 1rem; }
.sr-cl-deps li { background: #fff; border-radius: 18px; padding: 1.2rem 1.3rem; box-shadow: inset 0 0 0 1px rgba(18, 13, 22, .1); display: flex; flex-direction: column; justify-content: space-between; gap: 1rem; }
.sr-cl-deps b { display: block; font: 700 1.2rem/1.2 var(--police-display); color: #120D16; }
.sr-cl-deps small { color: rgba(18, 13, 22, .62); font: 600 .85rem var(--police-ui); }
.sr-cl-deps p { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1.1rem; margin: 0; }
.sr-cl-deps .v6-bouton { padding: .7rem 1.1rem; font-size: .9rem; }
@media (max-width: 640px) {
  .sr-cl-outils { grid-template-columns: 1fr; }
  .sr-bandeau-chiffres li { min-width: calc(50% - .35rem); flex: 1 1 calc(50% - .35rem); }
  .sr-appel-boutons, .sr-appel-boutons .v6-bouton { width: 100%; }
}
@media (min-width: 700px) { .sr-bandeau-titre .v6-lapsus { white-space: nowrap; } .sr-bandeau-titre { max-width: 22ch; } }

/* ── comite.css ── */
/* Sites régionaux complets — Le comité (comite/index.html, préfixe sr-co-). */
.sr-co-sommaire { position: sticky; top: 0; z-index: 5; background: rgba(255, 255, 255, .94); backdrop-filter: blur(10px); border-bottom: 1px solid rgba(18, 13, 22, .08); }
.sr-co-sommaire .v6-zone { display: flex; gap: .4rem; overflow-x: auto; padding-top: .7rem; padding-bottom: .7rem; scrollbar-width: none; }
.sr-co-sommaire a { flex: none; font: 600 .88rem/1 var(--police-ui); color: #191970; text-decoration: none; padding: .6rem .95rem; border-radius: 999px; background: rgba(0, 28, 168, .06); }
.sr-co-sommaire a:hover, .sr-co-sommaire a:focus-visible { background: #001CA8; color: #fff; }
.sr-co-intro { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(16rem, 1fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: start; }
.sr-co-missions { font-size: 1.08rem; line-height: 1.7; max-width: 42rem; }
.sr-co-missions p:first-child { font-size: 1.22rem; color: #120D16; }
.sr-co-fiche { background: #191970; color: #fff; border-radius: 22px; padding: 1.5rem 1.6rem; }
.sr-co-fiche dl { margin: 0; display: grid; gap: 1.1rem; }
.sr-co-fiche dt { font: 700 .72rem/1 var(--police-ui); letter-spacing: .12em; text-transform: uppercase; color: rgba(255, 255, 255, .7); margin-bottom: .35rem; }
.sr-co-fiche dd { margin: 0; font: 500 1rem/1.45 var(--police-texte); }
.sr-co-fiche a { color: #fff; }
.sr-co-reseaux { display: flex; flex-wrap: wrap; gap: .5rem 1rem; }
.sr-co-trombi { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(13.5rem, 1fr)); gap: 1.1rem; }
.sr-co-membre { background: #fff; border-radius: 22px; padding: 1.5rem 1.2rem 1.3rem; text-align: center; display: flex; flex-direction: column; align-items: center; gap: .35rem; box-shadow: inset 0 0 0 1px rgba(18, 13, 22, .08), 0 18px 40px -30px rgba(25, 25, 112, .5); }
.sr-co-photo { width: 6.2rem; height: 6.2rem; border-radius: 50%; overflow: hidden; margin-bottom: .6rem; display: grid; place-items: center; background: linear-gradient(135deg, #001CA8, #191970); box-shadow: 0 0 0 4px #fff, 0 0 0 5px rgba(0, 28, 168, .18); }
.sr-co-photo { isolation: isolate; }   /* photo zoomée (transform: scale) : le cadre rond la coupe toujours (remarque n° 193) */
.sr-co-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sr-co-initiales { color: #fff; font: 700 1.7rem/1 var(--police-display); letter-spacing: .02em; }
.sr-co-nom { font: 700 1.08rem/1.25 var(--police-display); color: #120D16; }
.sr-co-role { font: 700 .74rem/1.2 var(--police-ui); letter-spacing: .1em; text-transform: uppercase; color: #001CA8; }
.sr-co-texte { font-size: .92rem; color: rgba(18, 13, 22, .72); line-height: 1.5; }
.sr-co-coord { display: flex; flex-direction: column; gap: .2rem; margin-top: .4rem; font-size: .9rem; }
.sr-co-coord a { color: #001CA8; word-break: break-word; }
.sr-co-trombi-ref .sr-co-photo { background: linear-gradient(135deg, #950714, #191970); }
.sr-co-note { margin: 1.2rem 0 0; font-size: .9rem; color: rgba(18, 13, 22, .62); }
.sr-co-trombi-pdf { margin: 1.2rem 0 0; }
.sr-co-trombi-pdf a { font-weight: 700; color: #001CA8; }   /* trombinoscope du bureau (remarque n° 222) */
.sr-co-ag { list-style: none; padding: 0; margin: 0; display: grid; gap: 1rem; }
.sr-co-ag-ligne { display: grid; grid-template-columns: 11rem minmax(0, 1fr); gap: 1.5rem; background: #fff; border-radius: 20px; padding: 1.4rem 1.6rem; box-shadow: inset 0 0 0 1px rgba(18, 13, 22, .08); }
.sr-co-ag-date b { display: block; font: 700 1.1rem/1.2 var(--police-display); color: #001CA8; }
.sr-co-ag-date span { font-size: .9rem; color: rgba(18, 13, 22, .65); }
.sr-co-ag-ligne h3 { margin: 0 0 .4rem; font: 700 1.2rem/1.25 var(--police-display); }
.sr-co-ag-docs { display: flex; flex-wrap: wrap; gap: .5rem; margin: .8rem 0 0; }
.sr-co-ag-docs a { font: 600 .85rem var(--police-ui); color: #001CA8; padding: .45rem .8rem; border-radius: 999px; background: rgba(0, 28, 168, .07); text-decoration: none; }
.sr-co-docs { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(19rem, 1fr)); gap: .9rem; }
.sr-co-docs a { display: flex; gap: 1rem; align-items: center; padding: 1.05rem 1.2rem; background: #fff; border-radius: 18px; text-decoration: none; color: #120D16; box-shadow: inset 0 0 0 1px rgba(18, 13, 22, .08); transition: box-shadow .2s; }
.sr-co-docs a:hover, .sr-co-docs a:focus-visible { box-shadow: inset 0 0 0 2px #001CA8; }
.sr-co-doc-ext { flex: none; width: 3rem; height: 3.5rem; border-radius: 8px; background: #950714; color: #fff; display: grid; place-items: center; font: 700 .72rem/1 var(--police-ui); letter-spacing: .06em; }
.sr-co-docs b { display: block; font: 700 1rem/1.3 var(--police-display); }
.sr-co-docs small { display: block; font-size: .85rem; color: rgba(18, 13, 22, .62); margin-top: .2rem; }
.sr-co-partenaires { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr)); gap: 1rem; }
.sr-co-partenaires a, .sr-co-partenaires li > span { display: flex; flex-direction: column; gap: .35rem; height: 100%; padding: 1.3rem; background: #fff; border-radius: 18px; text-decoration: none; color: #120D16; box-shadow: inset 0 0 0 1px rgba(18, 13, 22, .08); }
.sr-co-logo { min-height: 4rem; display: flex; align-items: center; }
.sr-co-logo b { font: 700 1.1rem/1.25 var(--police-display); color: #191970; }
.sr-co-logo-img { max-height: 4rem; max-width: 100%; object-fit: contain; }
.sr-co-partenaires small { color: rgba(18, 13, 22, .65); font-size: .88rem; }
.sr-co-frise { list-style: none; padding: 0 0 0 1.6rem; margin: 0; position: relative; display: grid; gap: 1.4rem; }
.sr-co-frise::before { content: ''; position: absolute; left: .35rem; top: .4rem; bottom: .4rem; width: 2px; background: linear-gradient(#001CA8, rgba(0, 28, 168, .1)); }
.sr-co-frise > li { position: relative; }
.sr-co-frise > li::before { content: ''; position: absolute; left: -1.55rem; top: .3rem; width: .9rem; height: .9rem; border-radius: 50%; background: #fff; box-shadow: inset 0 0 0 3px #001CA8; }
.sr-co-quand { margin: 0 0 .5rem; font: 700 .78rem/1 var(--police-ui); letter-spacing: .1em; text-transform: uppercase; color: #001CA8; }
.sr-co-action { display: flex; gap: 1.2rem; align-items: flex-start; background: #fff; border-radius: 18px; padding: 1.1rem 1.3rem; box-shadow: inset 0 0 0 1px rgba(18, 13, 22, .08); }
.sr-co-action .fl-prose p { margin: 0; }
.sr-co-action-img { flex: none; width: 8rem; aspect-ratio: 4 / 3; border-radius: 12px; overflow: hidden; }
.sr-co-action-img img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 760px) {
  .sr-co-intro, .sr-co-ag-ligne { grid-template-columns: 1fr; }
  .sr-co-ag-ligne { gap: .6rem; }
  .sr-co-action { flex-direction: column; }
  .sr-co-action-img { width: 100%; }
  .sr-co-trombi { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
  .sr-co-membre { padding: 1.1rem .7rem; }
  .sr-co-photo { width: 4.6rem; height: 4.6rem; }
}
/* Téléphone (11/10/2026) : ce sommaire défile de côté (une ligne, collante) ; un fondu à droite montre qu'il y a d'autres
   rubriques. */
@media (max-width: 760px) {
  .sr-co-sommaire .v6-zone { padding-right: 2.2rem; -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 2.6rem), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 2.6rem), transparent); }
}

/* ── contact.css ── */
/* Sites régionaux complets — Contact (contact.html, préfixe sr-ct-). Le formulaire garde les styles du formulaire national (fl-form). */
.sr-ct-grille { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(17rem, 1fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: start; }
.sr-ct-form { background: #fff; border-radius: 24px; padding: clamp(1.3rem, 3vw, 2.2rem); box-shadow: inset 0 0 0 1px rgba(18, 13, 22, .08), 0 24px 50px -36px rgba(25, 25, 112, .5); display: grid; gap: 1.1rem; }
.sr-ct-form .fl-form-champ { display: flex; flex-direction: column; gap: .4rem; font: 600 .92rem var(--police-ui); color: #120D16; }
.sr-ct-form input, .sr-ct-form select, .sr-ct-form textarea { width: 100%; box-sizing: border-box; border: 1px solid rgba(18, 13, 22, .2); border-radius: 12px; background: #F5F5F5; padding: .8rem 1rem; font: 400 1rem/1.4 var(--police-texte); color: #120D16; }
.sr-ct-form input:focus, .sr-ct-form select:focus, .sr-ct-form textarea:focus { outline: 2px solid #001CA8; outline-offset: 1px; background: #fff; }
.sr-ct-form small { font-weight: 400; color: rgba(18, 13, 22, .6); }
.sr-ct-form .v6-bouton { justify-self: start; }
.sr-ct-form .fl-form-veille { margin: 0; padding: .9rem 1.1rem; border-radius: 12px; background: rgba(0, 28, 168, .06); color: #191970; line-height: 1.5; }
.sr-ct-form .fl-form-rgpd { margin: 0; font-size: .86rem; color: rgba(18, 13, 22, .65); line-height: 1.5; }
.sr-ct-deux { display: grid; grid-template-columns: 1fr 1fr; gap: 1.1rem; }
.sr-ct-coord { background: #191970; color: #fff; border-radius: 24px; padding: clamp(1.4rem, 3vw, 2rem); position: sticky; top: 1.5rem; }
.sr-ct-coord-titre { margin: 0 0 1.3rem; font: 500 .95rem/1.35 var(--police-ui); color: rgba(255, 255, 255, .8); }
.sr-ct-coord-titre b { font: 700 1.5rem/1.15 var(--police-display); color: #fff; }
.sr-ct-coord dl { margin: 0; display: grid; gap: 1rem; }
.sr-ct-coord dt { font: 700 .72rem/1 var(--police-ui); letter-spacing: .12em; text-transform: uppercase; color: rgba(255, 255, 255, .68); margin-bottom: .35rem; }
.sr-ct-coord dd { margin: 0; font-size: 1.02rem; line-height: 1.5; word-break: break-word; }
.sr-ct-coord a { color: #fff; }
.sr-ct-reseaux { display: flex; flex-wrap: wrap; gap: .4rem 1rem; }
.sr-ct-siege { margin: 1.5rem 0 0; padding-top: 1.1rem; border-top: 1px solid rgba(255, 255, 255, .2); font-size: .9rem; color: rgba(255, 255, 255, .8); }
.sr-ct-coord .sr-exemple { background: rgba(255, 255, 255, .1); color: #fff; border-color: rgba(255, 255, 255, .5); }
@media (max-width: 860px) { .sr-ct-grille { grid-template-columns: 1fr; } .sr-ct-coord { position: static; order: -1; } }
@media (max-width: 560px) { .sr-ct-deux { grid-template-columns: 1fr; } }

/* ── debuter.css ── */
/* Sites régionaux complets — Débuter (debuter.html, préfixe sr-db-). */
.sr-db-etapes { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: 1rem; counter-reset: e; }
.sr-db-etape { position: relative; background: #fff; border-radius: 22px; padding: 1.6rem 1.4rem 1.4rem; box-shadow: inset 0 0 0 1px rgba(18, 13, 22, .08), 0 20px 44px -34px rgba(25, 25, 112, .55); display: flex; flex-direction: column; gap: .8rem; }
.sr-db-etape > div { display: flex; flex-direction: column; flex: 1; }
.sr-db-num { font: 700 2.6rem/1 var(--police-display); color: #001CA8; letter-spacing: -.03em; }
.sr-db-etape:nth-child(4) .sr-db-num { color: #950714; }
.sr-db-sous { margin: 0 0 .25rem; font: 700 .72rem/1.2 var(--police-ui); letter-spacing: .1em; text-transform: uppercase; color: rgba(18, 13, 22, .58); }
.sr-db-titre { margin: 0 0 .6rem; font: 700 1.3rem/1.2 var(--police-display); color: #120D16; }
.sr-db-etape p { margin: 0; line-height: 1.55; color: rgba(18, 13, 22, .8); }
.sr-db-liens { display: flex; flex-direction: column; gap: .5rem; margin-top: auto !important; padding-top: 1rem; }
.sr-db-ecoles { list-style: none; padding: 0; margin: 0 0 1.4rem; display: grid; grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr)); gap: .9rem; }
.sr-db-ecoles li { background: #fff; border-radius: 16px; padding: 1.1rem 1.2rem; box-shadow: inset 0 0 0 1px rgba(18, 13, 22, .08); display: flex; flex-direction: column; gap: .3rem; }
.sr-db-ecoles b { font: 700 1.05rem/1.25 var(--police-display); }
.sr-db-ecoles small { color: rgba(18, 13, 22, .62); }
.sr-db-label { align-self: flex-start; margin-top: .3rem; font: 700 .68rem/1 var(--police-ui); letter-spacing: .08em; text-transform: uppercase; padding: .35rem .55rem; border-radius: 999px; background: #191970; color: #fff; }
.sr-db-encart { background: #fff; border-left: 4px solid #001CA8; border-radius: 0 18px 18px 0; padding: 1.3rem 1.5rem; max-width: 50rem; }
.sr-db-encart p { margin: 0 0 1rem; line-height: 1.6; }
.sr-db-encart p:last-child { margin: 0; }
.sr-db-jeunes { background: #191970; color: #fff; }
.sr-db-jeunes-zone { display: grid; grid-template-columns: minmax(0, 1.2fr) auto; gap: 1.5rem 3rem; align-items: center; padding-top: clamp(2.4rem, 4.5vw, 3.6rem); padding-bottom: clamp(2.4rem, 4.5vw, 3.6rem); }
.sr-db-jeunes .sr-db-sous { color: rgba(255, 255, 255, .72); }
.sr-db-jeunes-titre { margin: 0 0 .5rem; font: 700 clamp(1.5rem, 1.1rem + 1.2vw, 2.2rem)/1.1 var(--police-display); }
.sr-db-jeunes p { margin: 0; color: rgba(255, 255, 255, .88); max-width: 40rem; }
.sr-db-jeunes .sr-db-liens { flex-direction: row; flex-wrap: wrap; gap: .6rem; padding: 0; }
.sr-db-jeunes .v6-bouton-ligne { color: #fff; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .5); --survol: #fff; }
.sr-db-jeunes .v6-bouton-ligne:hover, .sr-db-jeunes .v6-bouton-ligne:focus-visible { color: #191970; }
.sr-db-faq { display: grid; gap: .7rem; max-width: 56rem; }
.sr-db-q { background: #fff; border-radius: 16px; box-shadow: inset 0 0 0 1px rgba(18, 13, 22, .1); }
.sr-db-q summary { cursor: pointer; list-style: none; padding: 1.1rem 3.2rem 1.1rem 1.3rem; position: relative; font: 700 1.05rem/1.35 var(--police-display); color: #120D16; }
.sr-db-q summary::-webkit-details-marker { display: none; }
.sr-db-q summary::after { content: '+'; position: absolute; right: 1.2rem; top: 50%; transform: translateY(-50%); width: 1.8rem; height: 1.8rem; border-radius: 50%; background: rgba(0, 28, 168, .08); color: #001CA8; display: grid; place-items: center; font: 600 1.2rem/1 var(--police-ui); }
.sr-db-q[open] summary::after { content: '−'; background: #001CA8; color: #fff; }
.sr-db-q .fl-prose { padding: 0 1.3rem 1.2rem; }
@media (max-width: 760px) { .sr-db-jeunes-zone { grid-template-columns: 1fr; } }

/* Audit d'affichage (11/10/2026) : « .sr-db-jeunes p { margin: 0 } » pesait plus que la classe du titre (p.sr-db-jeunes-titre),
   le titre « La fédération aide les jeunes pilotes » touchait le surtitre et le texte. */
.sr-db-jeunes .sr-db-jeunes-titre { margin: .35rem 0 .7rem; }

/* ── mentions.css ── */
/* Sites régionaux complets — Mentions légales (mentions-legales.html, préfixe sr-ml-). */
.sr-ml-grille { display: grid; grid-template-columns: 16rem minmax(0, 46rem); gap: clamp(1.5rem, 5vw, 5rem); align-items: start; }
.sr-ml-sommaire { position: sticky; top: 1.5rem; background: #fff; border-radius: 18px; padding: 1.2rem 1.3rem; box-shadow: inset 0 0 0 1px rgba(18, 13, 22, .08); }
.sr-ml-sommaire ol { list-style: none; padding: 0; margin: .7rem 0 0; display: grid; gap: .55rem; }
.sr-ml-sommaire a { color: #191970; text-decoration: none; font: 600 .92rem/1.3 var(--police-ui); }
.sr-ml-sommaire a:hover { color: #001CA8; text-decoration: underline; }
.sr-ml-texte h2 { font: 700 1.45rem/1.2 var(--police-display); color: #120D16; margin: 2.2rem 0 .8rem; scroll-margin-top: 1.5rem; }
.sr-ml-texte h2:first-child { margin-top: 0; }
@media (max-width: 860px) { .sr-ml-grille { grid-template-columns: 1fr; } .sr-ml-sommaire { position: static; } }

/* ── ou-voler.css ── */
/* Sites régionaux complets — Où voler (ou-voler.html, préfixe sr-ov-). La carte, les filtres et la liste gardent les styles
   de l'Où voler national (styles/ou-voler.css, ov-) ; ici, ce qui change pour une région. */
.sr-ov-region[hidden], .sr-ov fieldset[hidden] { display: none !important; }
.sr-page .sr-ov .ov-tete { padding-top: clamp(1.4rem, 3vw, 2.2rem); }
.sr-ov-suite { background: #F5F5F5; padding: clamp(2rem, 4vw, 3rem) 0; border-top: 1px solid rgba(18, 13, 22, .08); }
.sr-ov-suite .fl-bande-liens { display: flex; flex-wrap: wrap; gap: .8rem 2.2rem; margin: .6rem 0 0; }
.sr-ov-suite .fl-instru-lib { margin: 0; }

/* Sections des pages métier : plus serrées que les grandes sections de l'accueil. */
.sr-page .v6-section { padding: clamp(2.8rem, 5.5vw, 5.6rem) 0; }
.sr-page .fl-entete { margin-bottom: clamp(1.4rem, 3vw, 2.4rem); }
.sr-page .fl-titre-section { font-size: clamp(1.9rem, 1.2rem + 2.2vw, 3.2rem); line-height: 1; }
.sr-page .fl-entete-chapo { max-width: 44rem; }

/* ── se-former.css ── */
/* Sites régionaux complets — Se former (se-former.html, préfixe sr-sf-). */
.sr-sf-centres { display: grid; grid-template-columns: repeat(auto-fill, minmax(15.5rem, 1fr)); gap: 1rem; }
.sr-sf-centre { background: #fff; border-radius: 20px; padding: 1.3rem 1.3rem 1.2rem; box-shadow: inset 0 0 0 1px rgba(18, 13, 22, .08), 0 18px 40px -32px rgba(25, 25, 112, .5); display: flex; flex-direction: column; gap: .35rem; border-top: 4px solid #001CA8; }
.sr-sf-centre h3 { margin: 0; font: 700 1.15rem/1.25 var(--police-display); color: #120D16; }
.sr-sf-code { margin: 0; font: 700 .72rem/1 var(--police-ui); letter-spacing: .1em; text-transform: uppercase; color: #001CA8; }
.sr-sf-ville, .sr-sf-texte { margin: 0; color: rgba(18, 13, 22, .68); font-size: .93rem; }
.sr-sf-centre p:last-child { margin-top: auto; padding-top: .6rem; }
.sr-sf-centre .v6-lien { font-size: .92rem; }
.sr-sf-boutons { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.6rem; margin: 1.6rem 0 0; }
.sr-sf-encart { background: #fff; border-left: 4px solid #001CA8; border-radius: 0 18px 18px 0; padding: 1.3rem 1.5rem; max-width: 50rem; }
.sr-sf-encart p { margin: 0; line-height: 1.6; }
.sr-sf-stages { list-style: none; padding: 0; margin: 0 0 1.2rem; display: grid; gap: .6rem; }
.sr-sf-stages a { display: flex; gap: 1.2rem; align-items: center; padding: .9rem 1.1rem; background: #fff; border-radius: 16px; text-decoration: none; color: #120D16; box-shadow: inset 0 0 0 1px rgba(18, 13, 22, .08); }
.sr-sf-stages a:hover, .sr-sf-stages a:focus-visible { box-shadow: inset 0 0 0 2px #001CA8; }
.sr-sf-jour { flex: none; width: 4.4rem; text-align: center; background: #001CA8; color: #fff; border-radius: 12px; padding: .5rem .2rem; }
.sr-sf-jour b { display: block; font: 700 1.5rem/1 var(--police-display); }
.sr-sf-jour small { font: 600 .7rem/1.2 var(--police-ui); text-transform: uppercase; letter-spacing: .05em; }
.sr-sf-stages b { font: 700 1.02rem/1.3 var(--police-display); }
.sr-sf-stages span > small { display: block; color: rgba(18, 13, 22, .62); margin-top: .2rem; }
.sr-sf-cartes { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr)); gap: .9rem; }
.sr-sf-cartes a { position: relative; display: flex; flex-direction: column; gap: .35rem; height: 100%; padding: 1.2rem 3rem 1.2rem 1.3rem; background: #fff; border-radius: 18px; text-decoration: none; color: #120D16; box-shadow: inset 0 0 0 1px rgba(18, 13, 22, .08); transition: background .2s, color .2s; }
.sr-sf-cartes b { font: 700 1.08rem/1.25 var(--police-display); }
.sr-sf-cartes span { color: rgba(18, 13, 22, .7); font-size: .93rem; line-height: 1.45; }
.sr-sf-cartes .v6-fleche { position: absolute; right: 1.2rem; top: 1.4rem; color: #001CA8; }
.sr-sf-cartes a:hover, .sr-sf-cartes a:focus-visible { background: #001CA8; color: #fff; }
.sr-sf-cartes a:hover span, .sr-sf-cartes a:focus-visible span, .sr-sf-cartes a:hover .v6-fleche { color: #fff; }

/* ── securite.css ── */
/* Sites régionaux complets — Sécurité (securite.html, préfixe sr-se-). Le rouge (Cranberry, Dungeon Keeper) y marque la sécurité. */
.sr-page-securite .sr-bandeau-sur::before { background: #F32837; }
.sr-se-refs { display: grid; grid-template-columns: repeat(auto-fill, minmax(21rem, 1fr)); gap: 1rem; }
.sr-se-ref { display: flex; gap: 1.2rem; align-items: flex-start; background: #fff; border-radius: 22px; padding: 1.4rem; box-shadow: inset 0 0 0 1px rgba(18, 13, 22, .08), 0 18px 40px -32px rgba(149, 7, 20, .5); }
.sr-se-photo { flex: none; width: 5.2rem; height: 5.2rem; border-radius: 50%; overflow: hidden; display: grid; place-items: center; background: linear-gradient(135deg, #950714, #191970); color: #fff; font: 700 1.5rem/1 var(--police-display); }
.sr-se-photo img { width: 100%; height: 100%; object-fit: cover; }
.sr-se-domaine { margin: 0 0 .25rem; font: 700 .72rem/1.2 var(--police-ui); letter-spacing: .1em; text-transform: uppercase; color: #950714; }
.sr-se-ref h3 { margin: 0 0 .4rem; font: 700 1.2rem/1.2 var(--police-display); }
.sr-se-ref p { margin: 0; color: rgba(18, 13, 22, .75); }
.sr-se-coord { display: flex; flex-direction: column; gap: .2rem; margin-top: .6rem !important; }
.sr-se-coord a { color: #001CA8; font-weight: 600; word-break: break-word; }
.sr-se-journees { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr)); gap: .9rem; }
.sr-se-journees a { display: flex; flex-direction: column; gap: .3rem; padding: 1.2rem 1.3rem; background: #fff; border-radius: 18px; text-decoration: none; color: #120D16; box-shadow: inset 0 0 0 1px rgba(18, 13, 22, .08); border-left: 4px solid #950714; height: 100%; }
.sr-se-journees small { font: 700 .78rem/1 var(--police-ui); color: #950714; text-transform: uppercase; letter-spacing: .06em; }
.sr-se-journees b { font: 700 1.08rem/1.3 var(--police-display); }
.sr-se-journees span { color: rgba(18, 13, 22, .65); font-size: .92rem; }
.sr-se-consignes { display: grid; gap: 1rem; }
.sr-se-consigne { background: #fff; border-radius: 20px; padding: 1.4rem 1.6rem; box-shadow: inset 0 0 0 1px rgba(18, 13, 22, .08); }
.sr-se-consigne h3 { margin: 0 0 .6rem; font: 700 1.25rem/1.2 var(--police-display); color: #191970; }
.sr-se-docs { list-style: none; padding: 0; margin: 1rem 0 0; display: flex; flex-wrap: wrap; gap: .6rem; }
.sr-se-docs a { display: inline-flex; gap: .6rem; align-items: baseline; padding: .7rem 1rem; border-radius: 12px; background: #fff; color: #120D16; text-decoration: none; box-shadow: inset 0 0 0 1px rgba(18, 13, 22, .12); }
.sr-se-docs small { color: rgba(18, 13, 22, .6); }
.sr-se-outils { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .9rem; }
.sr-se-outils a { position: relative; display: flex; flex-direction: column; gap: .35rem; height: 100%; padding: 1.3rem 3rem 1.3rem 1.3rem; background: #fff; border-radius: 18px; text-decoration: none; color: #120D16; box-shadow: inset 0 0 0 1px rgba(18, 13, 22, .08); transition: background .2s, color .2s; }
.sr-se-outils b { font: 700 1.1rem/1.25 var(--police-display); }
.sr-se-outils span { color: rgba(18, 13, 22, .7); font-size: .93rem; line-height: 1.45; }
.sr-se-outils .v6-fleche { position: absolute; right: 1.2rem; top: 1.5rem; color: #001CA8; }
.sr-se-outils .sr-se-rex a { background: #950714; color: #fff; }
.sr-se-outils .sr-se-rex span, .sr-se-outils .sr-se-rex .v6-fleche { color: rgba(255, 255, 255, .9); }
.sr-se-outils a:hover, .sr-se-outils a:focus-visible { background: #191970; color: #fff; }
.sr-se-outils a:hover span, .sr-se-outils a:focus-visible span, .sr-se-outils a:hover .v6-fleche { color: #fff; }
@media (max-width: 900px) { .sr-se-outils { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .sr-se-outils, .sr-se-refs { grid-template-columns: 1fr; } .sr-se-ref { flex-direction: column; } }
