/* condor-france.academy - aux couleurs de Condor 3 et des scenes AAF */
:root{
  --acier:#809BB7; --acier-clair:#B9C9DA; --nuit:#121C30; --nuit2:#1B2A44;
  --rouge:#D61018; --rouge-f:#A00810; --bleu:#0078D5; --bleu3:#1870CE;
  --clair:#EEF3F9; --blanc:#fff; --texte:#1D2638; --gris:#5A6577;
  --rayon:14px; --ombre:0 18px 40px -18px rgba(11,20,36,.45);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,sans-serif;color:var(--texte);background:var(--clair);line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--bleu)}
h1,h2,h3{font-weight:900;font-style:italic;text-transform:uppercase;letter-spacing:.01em;line-height:1.05;margin:0 0 .4em}
h2{font-size:clamp(28px,4vw,48px);color:var(--rouge);text-shadow:1px 1px 0 var(--nuit)}
h2 span{color:var(--nuit);text-shadow:none}
h3{font-size:20px}
.surtitre{font-size:13px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--bleu);margin:0 0 10px}
.surtitre.rouge{color:var(--rouge)}
.petit{font-size:14px;color:var(--gris)}
.t-rouge{color:var(--rouge)} .t-bleu{color:var(--bleu)}

/* ---------- boutons ---------- */
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 26px;border-radius:999px;font-weight:800;font-size:15px;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:transform .15s,background .15s,box-shadow .15s}
.btn:hover{transform:translateY(-2px)}
.btn-rouge{background:var(--rouge);color:#fff;box-shadow:0 10px 24px -10px rgba(214,16,24,.8)}
.btn-rouge:hover{background:var(--rouge-f)}
.btn-bleu{background:var(--bleu);color:#fff}
.btn-verre{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.6);backdrop-filter:blur(6px)}
.btn-contour{background:transparent;color:var(--nuit);border-color:var(--nuit)}
.btn[disabled],.btn.inactif{opacity:.45;pointer-events:none}

/* ---------- en-tete ---------- */
.entete{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px clamp(16px,4vw,48px);background:rgba(18,28,48,.94);backdrop-filter:blur(10px);border-bottom:3px solid var(--rouge)}
.entete.sur-photo{position:fixed;left:0;right:0;background:transparent;border-bottom-color:transparent;transition:background .3s,border-color .3s}
.entete.sur-photo.defile{background:rgba(18,28,48,.94);border-bottom-color:var(--rouge)}
.logo{display:flex;flex-direction:column;text-decoration:none;line-height:.95}
.logo .l1{font-weight:900;font-style:italic;font-size:24px;color:var(--rouge);letter-spacing:.02em;text-shadow:1.5px 1.5px 0 #000}
.logo .l1 em{color:#fff;font-style:italic}
.logo .l2{font-weight:900;font-style:italic;font-size:13px;letter-spacing:.42em;color:var(--bleu);text-shadow:1px 1px 0 #000;margin-top:3px}
.menu{display:flex;align-items:center;gap:6px}
.menu a{color:#fff;text-decoration:none;font-weight:700;font-size:15px;padding:8px 12px;border-radius:8px}
.menu a:hover,.menu a.actif{background:rgba(255,255,255,.12)}
.menu a.actif{box-shadow:inset 0 -3px 0 var(--rouge)}
.menu .btn-compte{background:var(--rouge);padding:10px 18px;border-radius:999px;margin-left:8px}
.menu .btn-compte:hover{background:var(--rouge-f)}
.burger{display:none;background:none;border:0;width:40px;height:40px;cursor:pointer;flex-direction:column;justify-content:center;gap:5px;padding:8px}
.burger span{display:block;height:3px;background:#fff;border-radius:2px}

/* ---------- hero ---------- */
.hero{position:relative;min-height:100vh;min-height:100svh;background-size:cover;background-position:center 35%;display:flex;align-items:center;color:#fff;overflow:hidden}
.hero-voile{position:absolute;inset:0;background:linear-gradient(100deg,rgba(11,20,36,.86) 0%,rgba(11,20,36,.55) 45%,rgba(11,20,36,.1) 100%),linear-gradient(0deg,rgba(11,20,36,.6),transparent 40%)}
.hero-contenu{position:relative;max-width:760px;padding:120px clamp(16px,6vw,96px) 80px}
.hero .surtitre{color:var(--acier-clair)}
.hero h1{font-size:clamp(40px,7vw,92px);color:#fff;text-shadow:3px 3px 0 #000}
.hero h1 span{color:var(--rouge)}
.hero-texte{font-size:clamp(16px,1.6vw,19px);max-width:600px;color:#E3EAF3}
.hero-boutons{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:var(--rouge)}
.hero-bas{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);width:30px;height:48px;border:2px solid rgba(255,255,255,.7);border-radius:16px}
.hero-bas span{position:absolute;left:50%;top:8px;width:4px;height:10px;margin-left:-2px;background:#fff;border-radius:2px;animation:souris 1.6s infinite}
@keyframes souris{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(16px)}}

/* ---------- chiffres ---------- */
.chiffres{display:grid;grid-template-columns:repeat(5,1fr);background:var(--nuit);color:#fff}
.chiffre{padding:42px 16px;text-align:center;border-right:1px solid rgba(255,255,255,.08);position:relative}
.chiffre:first-child{background:var(--rouge)}
.chiffre b{display:block;font-size:clamp(36px,5vw,64px);font-weight:900;font-style:italic;line-height:1;text-shadow:2px 2px 0 rgba(0,0,0,.4)}
.chiffre span{display:block;margin-top:8px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:12px;color:#D5DEEA}

/* ---------- blocs ---------- */
.bloc{padding:clamp(56px,8vw,110px) clamp(16px,5vw,64px);max-width:1280px;margin:0 auto}
.entete-bloc{text-align:center;max-width:720px;margin:0 auto 44px}
.entete-bloc p:last-child{color:var(--gris)}
.projet{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}
.coches{list-style:none;padding:0;margin:22px 0 0}
.coches li{position:relative;padding:10px 0 10px 36px;border-bottom:1px solid #D7E0EB}
.coches li::before{content:"";position:absolute;left:0;top:14px;width:20px;height:20px;border-radius:50%;background:var(--rouge) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3 3 7-7' stroke='white' stroke-width='2.5' fill='none'/%3E%3C/svg%3E")}
.projet-visuel{position:relative;padding-bottom:70px}
.projet-visuel img{border-radius:var(--rayon);box-shadow:var(--ombre)}
.projet-visuel img.decale{position:absolute;width:72%;right:-4%;bottom:0;border:5px solid var(--clair)}

/* ---------- carte ---------- */
.carte-bloc{max-width:1360px}
.carte-grille{display:grid;grid-template-columns:1.35fr 1fr;gap:32px;align-items:start}
.carte-cadre{position:relative;background:linear-gradient(160deg,#9FB4CC,var(--acier) 60%,#6E8AA8);border-radius:22px;padding:26px;box-shadow:var(--ombre)}
.carte-svg{width:100%;height:auto;display:block}
.dep{fill:#D9E2EC;stroke:#8EA3BB;stroke-width:1.1;stroke-linejoin:round;cursor:pointer;transition:fill .15s}
.dep:hover,.dep:focus{fill:#fff;outline:none}
.dep.disponible{fill:var(--rouge);stroke:#7E060B}
.dep.disponible:hover,.dep.disponible:focus{fill:#FF3B42}
.dep.preparation{fill:var(--bleu);stroke:#004C88}
.dep.preparation:hover,.dep.preparation:focus{fill:#2F97EB}
.dep.choisi{stroke:var(--nuit);stroke-width:3}
.legende{display:flex;gap:18px;flex-wrap:wrap;justify-content:center;margin-top:14px;font-weight:700;font-size:14px;color:var(--nuit)}
.pastille{display:inline-block;width:14px;height:14px;border-radius:4px;margin-right:6px;vertical-align:-2px;border:1px solid rgba(0,0,0,.25)}
.pastille.disponible{background:var(--rouge)} .pastille.preparation{background:var(--bleu)} .pastille.vide{background:#D9E2EC}
.infobulle{position:absolute;pointer-events:none;background:var(--nuit);color:#fff;padding:8px 12px;border-radius:8px;font-size:13px;font-weight:700;white-space:nowrap;opacity:0;transform:translate(-50%,-120%);transition:opacity .12s}
.infobulle small{display:block;font-weight:500;color:var(--acier-clair)}
.panneau{background:#fff;border-radius:22px;padding:30px;box-shadow:var(--ombre);border-top:6px solid var(--rouge);position:sticky;top:96px;min-height:420px}
.panneau h3{font-size:30px;color:var(--rouge);text-shadow:1px 1px 0 var(--nuit)}
.panneau .code{display:inline-block;background:var(--nuit);color:#fff;font-weight:900;font-style:italic;padding:2px 10px;border-radius:6px;margin-left:8px;font-size:18px;text-shadow:none;vertical-align:4px}
.panneau .compteur{display:flex;align-items:baseline;gap:10px;margin:6px 0 18px;padding:14px 16px;background:var(--clair);border-radius:12px}
.panneau .compteur b{font-size:34px;font-weight:900;font-style:italic;color:var(--bleu)}
.panneau .liste-scenes{list-style:none;padding:0;margin:0 0 20px}
.panneau .liste-scenes li{display:flex;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid #E3E9F1}
.panneau .liste-scenes b{display:block}
.panneau .liste-scenes small{color:var(--gris)}
.etiquette{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;padding:4px 8px;border-radius:6px;white-space:nowrap;align-self:center}
.etiquette.disponible{background:#FDE7E8;color:var(--rouge)} .etiquette.preparation{background:#E2F0FC;color:var(--bleu)}
.panneau .actions{display:flex;flex-direction:column;gap:10px}

/* ---------- cartes scenes ---------- */
.cartes-scenes{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:24px}
.carte-scene{background:#fff;border-radius:var(--rayon);overflow:hidden;text-decoration:none;color:inherit;box-shadow:0 10px 30px -18px rgba(11,20,36,.5);transition:transform .2s,box-shadow .2s}
.carte-scene:hover{transform:translateY(-6px);box-shadow:var(--ombre)}
.vignette{aspect-ratio:16/9;background-size:cover;background-position:center;position:relative}
.badge{position:absolute;top:12px;left:12px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;padding:5px 10px;border-radius:6px;color:#fff;background:var(--rouge)}
.badge.preparation{background:var(--bleu)}
.carte-scene-texte{padding:18px 20px 22px}
.carte-scene-texte h3{color:var(--nuit)}
.carte-scene-texte p{margin:.2em 0;color:var(--gris);font-size:15px}
.meta{display:inline-block;margin-top:8px;font-size:13px;font-weight:700;color:var(--bleu)}

/* ---------- etapes ---------- */
.etapes-bloc{max-width:none;background:linear-gradient(135deg,var(--nuit),var(--nuit2));color:#fff}
.entete-bloc.clair h2 span{color:#fff}
.entete-bloc.clair .surtitre{color:var(--acier-clair)}
.etapes{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1180px;margin:0 auto}
.etape{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:var(--rayon);padding:30px}
.etape>b{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:12px;background:var(--rouge);font-size:26px;font-weight:900;font-style:italic;margin-bottom:16px;box-shadow:3px 3px 0 #000}
.etape p{color:#C9D4E2}

/* ---------- clubs ---------- */
.cartes-clubs{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px}
.carte-club{background:#fff;border-radius:var(--rayon);padding:28px;box-shadow:0 10px 30px -18px rgba(11,20,36,.5);border-left:6px solid var(--bleu)}
.carte-club .sigle{display:inline-block;font-weight:900;font-style:italic;font-size:28px;color:var(--rouge);text-shadow:1px 1px 0 var(--nuit)}
.carte-club h3{color:var(--nuit);font-size:18px;margin-top:6px}
.carte-club.rejoindre{background:var(--acier);color:var(--nuit);border-left-color:var(--rouge)}
.carte-club.rejoindre .sigle{color:#fff}
.lien-fleche{font-weight:800;text-decoration:none}
.lien-fleche::after{content:" →"}

/* ---------- bandeau don ---------- */
.don-bandeau{position:relative;background-size:cover;background-position:center;color:#fff}
.don-bandeau::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,120,213,.92),rgba(18,28,48,.75))}
.don-contenu{position:relative;max-width:820px;margin:0 auto;padding:90px 24px;text-align:center}
.don-contenu h2{color:#fff;text-shadow:2px 2px 0 #000}
.don-contenu h2 span{color:#FFD5D7}

/* ---------- pages interieures ---------- */
.bandeau{position:relative;padding:150px clamp(16px,6vw,96px) 60px;background:var(--nuit) center/cover;color:#fff}
.bandeau::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(11,20,36,.92),rgba(11,20,36,.45))}
.bandeau::after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:var(--rouge)}
.bandeau>*{position:relative;max-width:1180px;margin-left:auto;margin-right:auto}
.bandeau h1{font-size:clamp(34px,5vw,64px);color:#fff;text-shadow:3px 3px 0 #000}
.bandeau h1 span{color:var(--rouge)}
.bandeau p{color:#DCE5F0;max-width:720px;margin-left:0}
body:not(.page-accueil) .bandeau{padding-top:70px}
.contenu{max-width:1180px;margin:0 auto;padding:50px clamp(16px,5vw,48px) 90px}
.scene-detail{display:grid;grid-template-columns:1fr 1.1fr;gap:40px;background:#fff;border-radius:22px;padding:30px;box-shadow:var(--ombre);margin-bottom:36px}
.scene-detail img.cover{border-radius:var(--rayon)}
.scene-detail .titre-img{max-height:56px;width:auto;margin:6px 0 14px}
.fiche{width:100%;border-collapse:collapse;margin:14px 0}
.fiche td{padding:9px 0;border-bottom:1px solid #E3E9F1;vertical-align:top}
.fiche td:first-child{font-weight:700;color:var(--gris);width:40%}
.fichiers{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-top:12px}
.fichier{display:flex;justify-content:space-between;align-items:center;gap:6px;padding:9px 12px;border-radius:10px;background:var(--clair);text-decoration:none;color:var(--nuit);font-weight:700;font-size:14px;border:1px solid #D7E0EB}
.fichier:hover{background:#fff;border-color:var(--rouge)}
.fichier.n1{background:var(--rouge);color:#fff;border-color:var(--rouge)}
.fichier small{font-weight:500;opacity:.75}
.fichier.vide{opacity:.5;pointer-events:none}
.alerte{padding:16px 20px;border-radius:12px;background:#FFF4E5;border-left:5px solid #F29A00;margin:16px 0}
.alerte.ok{background:#E9F7EE;border-left-color:#1E9E55}
.alerte.err{background:#FDE7E8;border-left-color:var(--rouge)}
.connexion-requise{background:var(--nuit);color:#fff;border-radius:16px;padding:22px;display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}

/* ---------- formulaires ---------- */
.formulaire{max-width:480px;margin:0 auto;background:#fff;border-radius:22px;padding:36px;box-shadow:var(--ombre);border-top:6px solid var(--rouge)}
.formulaire label{display:block;font-weight:700;margin:14px 0 6px}
.formulaire input,.formulaire select,.formulaire textarea{width:100%;padding:13px 14px;border:1.5px solid #C9D4E2;border-radius:10px;font:inherit;background:#FAFCFE}
.formulaire input:focus,.formulaire select:focus,.formulaire textarea:focus{outline:none;border-color:var(--bleu);box-shadow:0 0 0 3px rgba(0,120,213,.15)}
.formulaire .btn{width:100%;justify-content:center;margin-top:22px}
.formulaire .bas{text-align:center;margin-top:18px;font-size:14px}

/* ---------- dons ---------- */
.dons-grille{display:grid;grid-template-columns:1.1fr 1fr;gap:36px;align-items:start}
.montants{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}
.montants button{padding:16px 0;border-radius:12px;border:2px solid #C9D4E2;background:#fff;font:inherit;font-weight:900;font-style:italic;font-size:22px;color:var(--nuit);cursor:pointer}
.montants button.choisi{border-color:var(--rouge);background:#FDE7E8;color:var(--rouge)}
.paypal{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:16px;border:0;border-radius:999px;background:#FFC439;color:#003087;font:inherit;font-weight:800;font-size:17px;cursor:pointer;text-decoration:none}
.paypal:hover{filter:brightness(.95)}
.usage{list-style:none;padding:0}
.usage li{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid #E3E9F1}
.usage li b{font-size:24px;font-weight:900;font-style:italic;color:var(--bleu);min-width:70px}

/* ---------- tableau admin ---------- */
.tableau{width:100%;border-collapse:collapse;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 10px 30px -18px rgba(11,20,36,.5)}
.tableau th{background:var(--nuit);color:#fff;text-align:left;padding:12px;font-size:13px;text-transform:uppercase;letter-spacing:.06em}
.tableau td{padding:12px;border-bottom:1px solid #E3E9F1}

/* ---------- pied ---------- */
.pied{background:var(--nuit);color:#C9D4E2;border-top:6px solid var(--rouge)}
.pied-haut{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:40px;max-width:1180px;margin:0 auto;padding:60px clamp(16px,5vw,48px) 40px}
.pied h4{color:#fff;text-transform:uppercase;letter-spacing:.14em;font-size:13px;margin:0 0 14px}
.pied-haut a:not(.logo){display:block;color:#C9D4E2;text-decoration:none;padding:4px 0}
.pied-haut a:not(.logo):hover{color:#fff}
.logo-pied{margin-bottom:16px}
.pied-bas{display:flex;gap:20px;flex-wrap:wrap;justify-content:space-between;max-width:1180px;margin:0 auto;padding:20px clamp(16px,5vw,48px);border-top:1px solid rgba(255,255,255,.08);font-size:13px;color:#8C9AB0}
.pied-bas a{color:#8C9AB0}

/* ---------- apparitions ---------- */
.apparait{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.apparait.vu{opacity:1;transform:none}

/* ---------- mobile ---------- */
@media (max-width:980px){
  .projet,.carte-grille,.scene-detail,.dons-grille{grid-template-columns:1fr}
  .panneau{position:static;min-height:0}
  .etapes{grid-template-columns:1fr}
  .pied-haut{grid-template-columns:1fr 1fr}
  .pied-haut>div:first-child{grid-column:1/-1}
}
@media (max-width:760px){
  .burger{display:flex}
  .menu{position:fixed;inset:68px 0 auto 0;flex-direction:column;align-items:stretch;background:var(--nuit);padding:12px 16px 20px;gap:2px;transform:translateY(-130%);transition:transform .25s;border-bottom:3px solid var(--rouge)}
  .menu-ouvert .menu{transform:none}
  .menu .btn-compte{margin:8px 0 0;justify-content:center}
  .chiffres{grid-template-columns:1fr 1fr}
  .chiffres .chiffre:last-child{grid-column:1/-1}
  .carte-cadre{padding:12px}
  .projet-visuel img.decale{width:80%}
  .montants{grid-template-columns:repeat(2,1fr)}
  .logo .l1{font-size:20px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}.apparait{opacity:1;transform:none}}

/* ---------- complements pages ---------- */
.bandeau.court{padding-bottom:40px}
.t-bleu{color:var(--bleu)}
.deux-colonnes{display:grid;grid-template-columns:1.3fr 1fr;gap:36px;align-items:start}
.deux-colonnes.serre{grid-template-columns:1fr 1fr;gap:0 16px}
.formulaire.large{max-width:860px;margin:30px 0}
.formulaire .case{display:flex;gap:10px;align-items:center;font-weight:500}
.formulaire .case input{width:auto}
.formulaire select{appearance:auto}
.ligne-fichier{display:flex;gap:10px;align-items:center;margin:8px 0}
.ligne-fichier b{min-width:28px;color:var(--bleu);font-style:italic}
.formulaire .ligne-fichier input.court,.ligne-fichier .court{max-width:110px}
.filtres{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 28px}
.texte-long{max-width:820px}
.texte-long h2{font-size:26px;margin-top:34px}
.admin h2{font-size:30px}
.admin .tableau a{font-weight:700}
.fichier.vide{opacity:.45}
@media (max-width:860px){.deux-colonnes,.deux-colonnes.serre{grid-template-columns:1fr}.dons-grille{grid-template-columns:1fr}}
/* alignement des titres de bandeau */
.bandeau{padding-left:max(clamp(16px,6vw,96px),calc((100% - 1180px)/2));padding-right:max(clamp(16px,6vw,96px),calc((100% - 1180px)/2))}
.bandeau>*{max-width:none;margin-left:0;margin-right:0}
.bandeau p{max-width:720px}
.paypal b,.paypal i{margin:0}.paypal .pp{display:inline-flex;gap:0}
/* ---------- points forts ---------- */
.forts{background:#fff}
.forts-grille{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;max-width:1180px;margin:0 auto}
.fort{position:relative;background:var(--clair);border-radius:22px;padding:30px 24px 26px;border-top:6px solid var(--bleu);transition:transform .25s}
.fort:hover{transform:translateY(-6px)}
.fort-uhd,.fort-meteo{background:var(--nuit);color:#DCE5F0;border-top-color:var(--rouge)}
.fort-uhd h3,.fort-meteo h3{color:#fff}
.fort-ico{display:inline-block;font-weight:900;font-style:italic;font-size:40px;line-height:1;color:var(--rouge);text-shadow:2px 2px 0 rgba(0,0,0,.25);margin-bottom:14px}
.fort-uhd .fort-ico,.fort-meteo .fort-ico{color:#fff;text-shadow:3px 3px 0 var(--rouge)}
.fort h3{font-size:21px}
.fort p{margin:0;font-size:15.5px}
@media (max-width:1000px){.forts-grille{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.forts-grille{grid-template-columns:1fr}}
/* ---------- annuaire ---------- */
.dep.fond{cursor:default}.dep.fond:hover{fill:#D9E2EC}
.dep.fond.partenaire,.dep.fond.partenaire:hover{fill:#BFD9F2;stroke:#5E8DBA}
.point{fill:var(--rouge);stroke:#fff;stroke-width:2.5;cursor:pointer;transition:r .15s,opacity .2s;filter:drop-shadow(0 2px 2px rgba(0,0,0,.35))}
.point:hover,.point:focus{r:10;outline:none}
.point.choisi{r:12;fill:var(--nuit);stroke:var(--rouge);stroke-width:4}
.point.eteint{opacity:.12;pointer-events:none}
.pastille.rouge{background:var(--rouge)}.pastille.bleu{background:#BFD9F2;border:1px solid #5E8DBA}
.recherche input{width:100%;padding:13px 14px;border:1.5px solid #C9D4E2;border-radius:10px;font:inherit;margin-top:18px}
.annu-fiche{list-style:none;padding:0;margin:14px 0 20px}
.annu-fiche li{display:grid;grid-template-columns:110px 1fr;gap:10px;padding:9px 0;border-bottom:1px solid #E3E9F1;font-size:15px}
.annu-fiche li b{color:var(--gris);font-size:13px}
.annu-fiche a{word-break:break-all}
.annu-liste{columns:2;column-gap:36px}
.annu-dep{break-after:avoid;font-size:18px;margin:26px 0 8px;display:flex;gap:10px;align-items:center}
.annu-dep span{background:var(--nuit);color:#fff;border-radius:6px;padding:3px 8px;font-size:14px}
.annu-club{break-inside:avoid;background:#fff;border-radius:12px;padding:14px 16px;margin-bottom:10px;box-shadow:0 8px 20px -16px rgba(11,20,36,.6);cursor:pointer;border-left:4px solid var(--rouge)}
.annu-club b{display:block}.annu-club small{color:var(--gris)}
.annu-contact{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:8px;font-size:14px}
.annu-contact a{text-decoration:none;font-weight:600}
.verrou{color:var(--gris)!important}
@media (max-width:860px){.annu-liste{columns:1}}
.dep.soutenu{fill:#FFD9A8;stroke:#C77A12}
.dep.soutenu:hover,.dep.soutenu:focus{fill:#FFE8C9}
.pastille.soutenu{background:#FFD9A8;border:1px solid #C77A12}
.panneau .actions{display:flex;flex-wrap:wrap;gap:10px}
/* ---------- dons par departement ---------- */
.priorite{display:flex;gap:6px 18px;flex-wrap:wrap;align-items:center;background:linear-gradient(100deg,var(--rouge),#9E0A10);color:#fff;border-radius:16px;padding:20px 24px;margin-bottom:36px;box-shadow:0 14px 30px -18px rgba(214,16,24,.8)}
.priorite>b{font-style:italic;font-weight:900;text-transform:uppercase;font-size:19px}
.formulaire #montant{margin-top:0}
.classement{list-style:none;padding:0;margin:14px 0 0;counter-reset:cl}
.classement li{display:grid;grid-template-columns:28px 1fr 1.1fr auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #E3E9F1;counter-increment:cl}
.classement li::before{content:counter(cl);font-weight:900;font-style:italic;font-size:20px;color:var(--rouge)}
.classement .cl-nom b{color:var(--bleu)}
.cl-barre{height:10px;background:#E3E9F1;border-radius:6px;overflow:hidden}.cl-barre i{display:block;height:100%;background:linear-gradient(90deg,var(--bleu),var(--rouge))}
.cl-n{font-size:13px;color:var(--gris)}
@media (max-width:560px){.classement li{grid-template-columns:24px 1fr auto}.cl-barre{display:none}}
.mini{border:0;border-radius:8px;padding:6px 12px;font:inherit;font-weight:700;font-size:13px;background:var(--rouge);color:#fff;cursor:pointer}.mini.gris{background:#C9D4E2;color:var(--nuit)}
.forts{box-shadow:0 0 0 100vmax #fff;clip-path:inset(0 -100vmax)}
.classement li{grid-template-columns:28px minmax(0,1fr) 110px 130px}.cl-n{text-align:right}
.annu-liste>.annu-dep:first-child{margin-top:0}
.annu-groupe{break-inside:avoid;padding-top:1px}
.annu-groupe:first-child .annu-dep{margin-top:0}
.annu-fiche a{word-break:normal;overflow-wrap:anywhere}
.present{min-width:22px;text-align:center;font-weight:900}.present.oui{color:#1E9E55}.present.non{color:var(--rouge)}.present.lien{color:var(--bleu)}

/* =========================================================
   PLEIN ECRAN (style grands sites de voile) : sections bord a bord,
   contenus larges jusqu'a 1760 px, grande carte, grandes images
   ========================================================= */
:root{--large:1760px;--marge:clamp(16px,4vw,80px)}
.bloc{max-width:none;padding-left:var(--marge);padding-right:var(--marge)}
.bloc>*:not(.entete-bloc){max-width:var(--large);margin-left:auto;margin-right:auto}
.entete-bloc{max-width:900px}
.entete-bloc h2{font-size:clamp(36px,4.6vw,72px)}
.carte-bloc{max-width:none}
.carte-grille{grid-template-columns:1.7fr 1fr;gap:40px}
.carte-cadre{padding:clamp(16px,2.5vw,40px)}
.panneau{position:sticky;top:96px}
.projet{gap:clamp(40px,6vw,110px)}
.cartes-scenes{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:28px}
.carte-scene .vignette{aspect-ratio:16/10;height:auto}
.cartes-clubs{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:28px}
.forts-grille,.etapes{max-width:var(--large)}
.fort{padding:40px 30px 34px}
.contenu{max-width:var(--large);padding-left:var(--marge);padding-right:var(--marge)}
.bandeau{padding-left:max(var(--marge),calc((100% - var(--large))/2));padding-right:max(var(--marge),calc((100% - var(--large))/2));min-height:clamp(320px,42vh,520px);display:flex;flex-direction:column;justify-content:flex-end}
.bandeau.court{min-height:clamp(240px,30vh,360px)}
.bandeau h1{font-size:clamp(44px,6vw,96px)}
.scene-detail{grid-template-columns:1.2fr 1fr;gap:clamp(30px,4vw,64px);padding:clamp(20px,2.5vw,40px)}
.pied-haut,.pied-bas{max-width:var(--large);padding-left:var(--marge);padding-right:var(--marge)}
.hero-contenu{max-width:1100px;padding-left:max(var(--marge),calc((100vw - var(--large))/2))}
.hero h1{font-size:clamp(44px,8vw,128px)}
.hero-texte{max-width:680px}
.chiffres>div{padding-top:clamp(30px,4vw,56px);padding-bottom:clamp(30px,4vw,56px)}
.annu-liste{columns:3}
@media (max-width:1300px){.annu-liste{columns:2}}
@media (max-width:980px){.carte-grille,.scene-detail{grid-template-columns:1fr}.panneau{position:static}.cartes-scenes,.cartes-clubs{grid-template-columns:1fr}}
@media (max-width:860px){.annu-liste{columns:1}}

/* ---------- vitrine plein ecran : les scenes a telecharger ---------- */
.vitrine{position:relative;height:100vh;height:100svh;min-height:600px;overflow:hidden;background:var(--nuit);color:#fff}
.vitrine::after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:var(--rouge);z-index:3}
.diapo{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1s ease,visibility 1s}
.diapo.active{opacity:1;visibility:visible}
.diapo-fond{position:absolute;inset:0;background-size:cover;background-position:center 40%}
.diapo.active .diapo-fond{animation:zoom-lent 9s ease-out forwards}
@keyframes zoom-lent{from{transform:scale(1.08)}to{transform:scale(1)}}
.diapo-voile{position:absolute;inset:0;background:linear-gradient(100deg,rgba(11,20,36,.9) 0%,rgba(11,20,36,.55) 48%,rgba(11,20,36,.08) 100%),linear-gradient(0deg,rgba(11,20,36,.75),transparent 45%)}
.diapo-contenu{position:absolute;left:max(var(--marge),calc((100vw - var(--large))/2));right:var(--marge);bottom:clamp(110px,16vh,180px);max-width:1200px}
.diapo.active .diapo-contenu>*{animation:monte .9s cubic-bezier(.2,.7,.2,1) both}
.diapo.active .diapo-contenu>*:nth-child(2){animation-delay:.12s}.diapo.active .diapo-contenu>*:nth-child(3){animation-delay:.22s}
.diapo.active .diapo-contenu>*:nth-child(4){animation-delay:.32s}.diapo.active .diapo-contenu>*:nth-child(5){animation-delay:.42s}
@keyframes monte{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
.diapo .surtitre{color:#DCE5F0;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.pastille-etat{display:inline-block;padding:6px 14px;border-radius:30px;font-size:12px;letter-spacing:.12em;background:var(--rouge);color:#fff}
.pastille-etat.bientot{background:#FFD9A8;color:#6A3B00}
.diapo-titre{margin:18px 0 10px}
.diapo-titre img{width:clamp(320px,52vw,980px);height:auto;filter:drop-shadow(4px 6px 0 rgba(0,0,0,.55))}
.diapo-titre.texte{font-size:clamp(44px,7vw,110px);color:#fff;text-shadow:3px 3px 0 #000}
.diapo-sous{font-size:clamp(18px,2vw,26px);font-weight:600;color:#fff;margin:0 0 26px;text-shadow:0 2px 12px rgba(0,0,0,.6)}
.diapo-infos{list-style:none;display:flex;gap:clamp(18px,3vw,48px);padding:0;margin:0 0 30px;flex-wrap:wrap}
.diapo-infos li{display:flex;flex-direction:column;border-left:3px solid var(--rouge);padding-left:14px}
.diapo-infos b{font-size:clamp(22px,2.4vw,34px);font-weight:900;font-style:italic;line-height:1.1}
.diapo-infos span{font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:#B9C6D8}
.btn-grand{font-size:18px;padding:18px 34px}
.vitrine-bas{position:absolute;left:0;right:0;bottom:28px;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:0 max(var(--marge),calc((100vw - var(--large))/2))}
.vitrine-slogan{margin:0;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#B9C6D8;font-weight:700}
.vitrine-nav{display:flex;align-items:center;gap:14px}
.vitrine-fleche{width:46px;height:46px;border-radius:50%;border:2px solid rgba(255,255,255,.6);background:rgba(11,20,36,.35);color:#fff;font-size:26px;line-height:1;cursor:pointer;transition:background .2s}
.vitrine-fleche:hover{background:var(--rouge);border-color:var(--rouge)}
.vitrine-points{display:flex;gap:8px}
.vitrine-points button{width:46px;height:6px;border:0;padding:0;background:rgba(255,255,255,.3);border-radius:3px;cursor:pointer;overflow:hidden}
.vitrine-points button span{display:block;height:100%;width:0;background:#fff}
.vitrine-points button.actif span{animation:remplit var(--duree,7s) linear forwards}
.vitrine.pause .vitrine-points button.actif span{animation-play-state:paused}
@keyframes remplit{to{width:100%}}
.vitrine .hero-bas{z-index:2;bottom:90px}
@media (max-width:760px){.vitrine-slogan{display:none}.vitrine-bas{justify-content:center}.diapo-contenu{bottom:100px}.vitrine .hero-bas{display:none}.diapo-voile{background:linear-gradient(0deg,rgba(11,20,36,.92) 30%,rgba(11,20,36,.35) 100%)}}
@media (prefers-reduced-motion:reduce){.diapo.active .diapo-fond{animation:none}.diapo.active .diapo-contenu>*{animation:none}}
@media (max-width:760px){.diapo-infos{gap:12px 18px;margin-bottom:20px}.diapo-infos li{padding-left:10px}.diapo-infos b{font-size:20px}.diapo-infos span{font-size:11px}.diapo-sous{font-size:17px;margin-bottom:16px}.btn-grand{font-size:16px;padding:14px 24px}.diapo .surtitre{font-size:11px;gap:8px}.diapo-titre{margin:10px 0 6px}.diapo-titre img{width:100%}.diapo .hero-boutons{gap:10px}}

/* ---------- barre de menu : propre sur la photo, puis pleine au defilement ---------- */
.entete.sur-photo{backdrop-filter:none;-webkit-backdrop-filter:none;background:linear-gradient(180deg,rgba(11,20,36,.72),rgba(11,20,36,0));padding-top:20px;padding-bottom:20px;transition:background .35s,padding .35s,border-color .35s}
.entete.sur-photo.defile{background:rgba(18,28,48,.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding-top:12px;padding-bottom:12px}
.menu a:hover,.menu a.actif{background:none}
.menu a{position:relative}
.menu a:not(.btn)::after{content:"";position:absolute;left:12px;right:12px;bottom:2px;height:3px;border-radius:2px;background:var(--rouge);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.menu a:not(.btn):hover::after,.menu a.actif::after{transform:scaleX(1)}
.menu a.actif{box-shadow:none}
/* barre d'administration WordPress (administrateur connecte) : le menu se place dessous */
.admin-bar .entete{top:32px}
@media (max-width:782px){.admin-bar .entete{top:46px}}
@media (max-width:600px){.admin-bar .entete.sur-photo:not(.defile){top:46px}.admin-bar .entete:not(.sur-photo){top:0}}
.entete.sur-photo{background-origin:border-box}

/* ---------- mode site en construction ---------- */
.pastille-chantier{display:inline-flex;align-items:center;gap:8px;background:#FFD12E;color:#1b1b1b;padding:6px 14px;border-radius:30px;font-size:12px;letter-spacing:.12em}
.pastille-chantier i{width:14px;height:14px;border-radius:3px;background:repeating-linear-gradient(-45deg,#1b1b1b 0 3px,#FFD12E 3px 6px)}
.vitrine.construction .diapo-contenu{bottom:clamp(70px,11vh,120px)}
.vitrine-note{margin:16px 0 0;font-size:14px;color:#B9C6D8;max-width:620px}
.cfa-construction .carte-scene{pointer-events:none}
/* confirmation e-mail par code */
.code-confirmation{background:#fff;border:2px solid var(--rouge);border-radius:16px;padding:26px 28px;margin:0 0 30px;box-shadow:0 10px 30px rgba(0,0,0,.06)}
.code-confirmation h2{font-size:26px;margin:0 0 8px}
.code-form{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:14px}
.code-form input{font-size:30px;letter-spacing:10px;width:230px;text-align:center;padding:10px 12px;border:2px solid #cfd5df;border-radius:12px;font-weight:700}
.code-form input:focus{border-color:var(--rouge);outline:none}
.lien-bouton{background:none;border:0;padding:0;color:var(--rouge);text-decoration:underline;cursor:pointer;font:inherit}
