/* ==========================================================================
   Annuaire, refonte T-424a : fiche et listes (maquettes v2 du concepteur, conception/T-415-maquettes-v2.html).
   Style des pages récentes de www (plans, Le Mag Sport) pour le contenu ; en-tête et pied du layout inchangés.
   Repris du générateur des maquettes (conception/T-415/generateur-v2/style.css), classes en « v- ».
   Aucune dépendance : police Sporteed servie par www (/assets/fonts/sporteed/), Leaflet déjà chargé par le layout.
   ========================================================================== */
@font-face{font-family:SporteedW;font-weight:500;font-display:swap;src:url('/assets/fonts/sporteed/sporteed-500.woff2') format('woff2')}
@font-face{font-family:SporteedW;font-weight:700;font-display:swap;src:url('/assets/fonts/sporteed/sporteed-700.woff2') format('woff2')}
main{background:#fff}
.v,.v *{font-family:SporteedW,Arial,sans-serif;box-sizing:border-box}
.v{color:#222;font-size:14px;line-height:1.5}
.v a{color:inherit;text-decoration:none}
.v button{font:inherit;cursor:pointer}
.v .fe{line-height:1}
.v-wrap{max-width:1200px;margin:0 auto;padding:0 16px}
@media(min-width:900px){.v-wrap{padding:0 32px}}

/* Bandeau des listes et fil d'Ariane sur une ligne (défile au doigt) */
.v-bande{background:#f6f8fc;border-bottom:1px solid #e6e9ef;padding:0 0 18px}
.v-ariane{font-size:11.5px;color:#8d97a3;padding:10px 0 0;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}
.v-ariane::-webkit-scrollbar{display:none}
.v-ariane ol{display:flex;flex-wrap:nowrap;white-space:nowrap;list-style:none;margin:0;padding:0}
.v-ariane li{display:flex;align-items:center;flex-shrink:0}
.v-ariane a:hover{color:#e83f3f}
.v-ariane .fe{font-size:10px;color:#b5bcc5;margin:0 5px}
.v-ariane .v-ariane-fin{color:#e83f3f;font-weight:500}
.v-sur{font-size:11.5px;font-weight:700;color:#e83f3f;text-transform:uppercase;letter-spacing:.7px;margin-top:14px}
.v-h1{font-size:23px;line-height:1.18;font-weight:700;letter-spacing:-.3px;margin:6px 0 6px;color:#222;overflow-wrap:anywhere}
@media(min-width:900px){.v-h1{font-size:30px}.v-bande{padding-bottom:26px}}
.v-chapo{font-size:14px;line-height:1.5;color:#4a525c;margin:0}
.v-h2{font-size:18px;line-height:1.25;font-weight:700;letter-spacing:-.2px;margin:0;color:#222}
.v-h2s{font-size:12.5px;color:#6b7480;margin-top:2px}
.v-sec{padding-top:28px}
@media(min-width:900px){.v-sec{padding-top:40px}}
.v-tete{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:12px;gap:10px}

/* Cartes, boutons, champs */
.v-carte{background:#fff;border:1px solid #e7e9ed;border-radius:16px;box-shadow:0 1px 2px rgba(16,24,40,.04),0 6px 22px rgba(16,24,40,.05)}
.v-p{padding:16px}
@media(min-width:900px){.v-p{padding:22px 24px}}
.v-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;font-weight:700;font-size:14px;line-height:1.2;min-height:46px;padding:6px 20px;border:0;white-space:normal;text-align:center;max-width:100%;min-width:0;overflow-wrap:anywhere}
.v-btn-r{background:#e83f3f;color:#fff !important;box-shadow:0 6px 16px rgba(232,63,63,.22)}
.v-btn-r:hover{background:#d63031}
.v-btn-c{background:#fff;color:#222;box-shadow:inset 0 0 0 1.5px #222}
.v-btn-g{background:#fff;color:#222;box-shadow:inset 0 0 0 1px #d5d9e0}
.v-btn-o{background:#f97316;color:#fff !important}
.v-btn-o:hover{background:#ea580c}
.v-btn-p{min-height:38px;font-size:13px;padding:4px 14px}
.v-btn-l{display:flex;width:100%}
.v-rond{width:28px;height:28px;border-radius:50%;background:#fdecec;color:#e83f3f;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:13px}
.v-recherche{display:flex;gap:8px;margin-top:14px}
@media(min-width:900px){.v-recherche{max-width:640px}}
.v-champ{display:flex;align-items:center;gap:10px;height:48px;overflow:hidden;border:1px solid #d5d9e0;border-radius:12px;background:#fff;padding:0 14px;color:#6b7480;font-size:14px;min-width:0;flex:1}
.v-champ .fe{color:#8d97a3}
.v-champ input{border:0;outline:0;background:transparent;font-size:16px;color:#222;min-width:0;flex:1;height:100%;padding:0}
.v-champ:focus-within{border-color:#222}
.v-btn-autour{min-height:48px;padding:6px 14px}
.v-btn-autour .fe{color:#e83f3f}
.v-btn-chercher{display:none;min-height:48px}
@media(min-width:900px){.v-btn-chercher{display:inline-flex}}
.v-lab{font-size:12px;font-weight:700;color:#4a525c;margin:0 0 6px 2px;display:block}

/* Pastilles qui défilent au doigt (téléphone), sur plusieurs lignes (ordinateur) */
.v-chip{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 14px;border-radius:999px;background:#fff;border:1px solid #e1e4ea;font-size:13px;font-weight:700;white-space:nowrap;flex-shrink:0}
.v-chip small{font-size:12px;font-weight:500;color:#8d97a3}
.v-chip:hover{border-color:#222}
.v-chip-fort{border-color:#222}
.v-defile{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:0 16px}
.v-defile::-webkit-scrollbar{display:none}
@media(min-width:900px){.v-defile{flex-wrap:wrap;overflow:visible;margin:0;padding:0}}

/* Lignes de clubs (cartes compactes) */
.v-liste{padding:0;margin:0;list-style:none}
.v-club{display:flex;align-items:center;gap:12px;padding:11px 14px;min-height:66px;border-top:1px solid #eef0f3}
.v-club:first-child{border-top:0}
.v-club:hover{background:#fafbfc}
.v-club.v-sel{background:#fff1f1}
.v-num{width:22px;height:22px;border-radius:50%;background:#e83f3f;color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.v-num.v-num-l{width:auto;min-width:22px;padding:0 5px;border-radius:999px}
.v-ini{width:40px;height:40px;border-radius:12px;background:#f1f3f6;color:#4a525c;font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}
.v-ini img{width:100%;height:100%;object-fit:contain;background:#fff}
.v-club-t{min-width:0;flex:1}
.v-club-t b{font-size:14.5px;line-height:1.3;font-weight:700;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.v-meta{font-size:12.5px;color:#6b7480;display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:1px}
.v-ok{color:#1f7a3d;font-weight:700;font-size:11px;background:#e3f3e8;border-radius:999px;padding:1px 8px;white-space:nowrap}
.v-fl{color:#b5bcc5;font-size:16px;flex-shrink:0}
.v-gtitre{font-size:12px;font-weight:700;color:#6b7480;text-transform:uppercase;letter-spacing:.5px;padding:14px 14px 6px;background:#fafbfc;border-top:1px solid #eef0f3;margin:0}
.v-carte > .v-gtitre:first-child{border-top:0}
.v-barre{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:18px 0 10px}
.v-barre p{margin:0;font-size:13px;color:#4a525c}
.v-barre b{color:#222}
.v-gris{font-size:12px;color:#6b7480;line-height:1.4}
/* Pub dans la liste : ligne pleine largeur entre deux clubs (T-332), sans cadre de carte */
.v-carte > .affPub.affPub-liste,.v-carte .v-cache > .affPub.affPub-liste{margin:0;padding:12px 0;border-top:1px solid #eef0f3;max-width:none}
/* Téléphone et tablette : 8 clubs, puis « Voir les N autres clubs » (tous restent dans le HTML) */
.v-voir-tout{margin-top:12px}
@media(max-width:1279px){.v-replie .v-cache{display:none}}
@media(min-width:1280px){.v-voir-tout{display:none !important}}

/* Liste + carte : colonne de droite collante de 376 px à partir de 1280 px ; en dessous, bouton « Carte » -> plein écran */
.v-grille-liste{display:block}
.v-btn-carte{flex-shrink:0}
.v-carte-col{display:none}
.v-carte-col.ouverte{display:flex;flex-direction:column;position:fixed;inset:0;z-index:1000;background:#fff}
.v-carte-barre{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid #e6e9ef;background:#fff}
.v-carte-barre b{font-size:15px;display:block;line-height:1.2}
.v-carte-zone{position:relative;flex:1;min-height:0}
.v-carte-zone .v-carte-map{position:absolute;inset:0}
.v-carte-autour{position:absolute;right:12px;top:12px;z-index:500;box-shadow:0 2px 8px rgba(0,0,0,.2)}
.v-carte-club{position:absolute;left:10px;right:10px;bottom:12px;z-index:500;padding:12px 14px}
.v-carte-club[hidden]{display:none}
.v-carte-club .v-num{background:#222}
.v-carte-club .v-btns{display:flex;gap:8px;margin-top:10px}
.v-carte-club .v-btns .v-btn{flex:1;min-height:42px}
.v-carte-note{margin:6px 2px 0}
@media(min-width:1280px){
	.v-grille-liste{display:grid;grid-template-columns:minmax(0,1fr) 376px;gap:24px;align-items:start}
	.v-btn-carte{display:none !important}
	.v-carte-col,.v-carte-col.ouverte{display:block;position:sticky;inset:auto;top:80px;z-index:auto;margin-top:18px;background:transparent}
	.v-carte-col .v-carte-barre{display:none}
	.v-carte-col .v-carte-zone{height:600px;max-height:calc(100vh - 110px);border-radius:16px;overflow:hidden;border:1px solid #e1e4ea}
	.v-carte-col .v-carte-autour{display:none}
}
.v-map{border-radius:16px;overflow:hidden;border:1px solid #e1e4ea;position:relative;z-index:0}
.v-pin{width:24px;height:24px;border-radius:50%;background:#e83f3f;color:#fff;font:700 11px/20px SporteedW,Arial,sans-serif;text-align:center;border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.3)}
.v-pin.v-pin-l{width:auto;min-width:24px;padding:0 4px;border-radius:999px}
.v-pin.sel{background:#222;transform:scale(1.25)}
.v-pin-club{width:30px;height:30px;border-radius:50% 50% 50% 0;background:#e83f3f;transform:rotate(-45deg);border:3px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.35)}
.v-dot{width:12px;height:12px;border-radius:50%;background:#222;border:2px solid #fff;box-shadow:0 1px 3px rgba(0,0,0,.3)}
.v-moi{width:16px;height:16px;border-radius:50%;background:#2563eb;border:3px solid #fff;box-shadow:0 0 0 6px rgba(37,99,235,.2)}

/* Liens en liste (clubs voisins, plus proches) */
.v-lien{display:flex;align-items:center;gap:10px;padding:9px 0;font-weight:700;font-size:14px;border-top:1px solid #f0f2f5;min-width:0;overflow-wrap:anywhere}
.v-lien:first-child{border-top:0}
.v-lien .fe-arrow-right{margin-left:auto;color:#e83f3f}

/* Pagination */
.v-pages{margin-top:16px}

/* Fiche */
.v-fiche-grille{display:block}
@media(min-width:1280px){.v-fiche-grille{display:grid;grid-template-columns:minmax(0,1fr) 336px;gap:0 32px;align-items:stretch}}
.v-entete{display:flex;gap:14px;align-items:center;margin:14px 0}
.v-logo{width:56px;height:56px;font-size:18px;border-radius:16px;background:#fdecec;color:#e83f3f;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}
.v-logo img{width:100%;height:100%;object-fit:contain;background:#fff}
@media(min-width:900px){.v-logo{width:72px;height:72px;font-size:22px}}
.v-pastille{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px 0 4px;border-radius:999px;background:#fff;border:1px solid #e1e4ea;font-size:12.5px;font-weight:700;white-space:nowrap}
.v-pastille .v-rond{width:22px;height:22px;font-size:11px}
a.v-pastille:hover{border-color:#222}
.v-lieu{font-size:13px;color:#6b7480}
.v-site-club{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-size:13px;font-weight:700;color:#1f7a3d !important}
.v-essentiel{overflow:hidden}
.v-essentiel-grille{display:block}
@media(min-width:768px){.v-essentiel-grille{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center;padding:22px 24px}.v-essentiel-grille .v-essentiel-infos{padding:0 !important}}
.v-ligne{display:flex;gap:10px;align-items:flex-start;padding:7px 0;font-size:14px;overflow-wrap:anywhere}
.v-ligne .fe{color:#8d97a3;margin-top:3px;width:16px;text-align:center;flex-shrink:0}
.v-ligne a{color:#0d6ead;font-weight:700}
.v-essentiel-btns{display:flex;gap:8px;margin-top:10px}
.v-essentiel-btns .v-btn{flex:1;padding:6px 12px}
.v-mini{position:relative}
.v-mini .v-map{height:150px;border-radius:0;border:0;border-bottom:1px solid #e1e4ea}
@media(min-width:768px){.v-mini .v-map{height:230px;border-radius:16px;border:1px solid #e1e4ea}}
.v-agrandir{position:absolute;right:8px;top:8px;z-index:500;min-height:32px;font-size:12px;padding:2px 10px;box-shadow:0 2px 6px rgba(0,0,0,.2)}
.v-fermer-carte{display:none}
.v-mini.plein{position:fixed;inset:0;z-index:1000;background:#fff}
.v-mini.plein .v-map{position:absolute;inset:0;height:auto;border-radius:0;border:0}
.v-mini.plein .v-agrandir{display:none}
.v-mini.plein .v-fermer-carte{display:inline-flex;position:absolute;left:12px;top:12px;z-index:600;box-shadow:0 2px 8px rgba(0,0,0,.2)}
/* Bandeau « C'est votre club ? » : téléphone = question et bouton sur une ligne, phrase et mention dessous ;
   ordinateur = question et phrase à gauche, bouton et mention dans une colonne de 250 px à droite */
.v-band-club{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"titre bouton" "texte texte" "mention mention";align-items:center;gap:6px 10px;border:1.5px solid #fed7aa;background:#fff7ed;border-radius:16px;padding:10px 12px;margin-top:10px}
.v-band-titre{grid-area:titre;font-size:15px;line-height:1.25;color:#222}
.v-band-btn{grid-area:bouton;padding:6px 16px}
.v-band-club p{grid-area:texte;margin:0;font-size:13.5px;line-height:1.4;color:#374151}
.v-band-club .v-mention{grid-area:mention;text-align:left;margin-top:0}
.v-mention{font-size:11px;color:#6b7480;line-height:1.35;margin-top:5px;text-align:center}
@media(min-width:768px){
	.v-band-club{grid-template-columns:minmax(0,1fr) 250px;grid-template-areas:"titre bouton" "texte mention";gap:4px 20px;padding:14px 20px;margin-top:14px}
	.v-band-titre{align-self:end}
	.v-band-btn{width:100%}
	.v-band-club p{align-self:start;font-size:14px}
	.v-band-club .v-mention{text-align:center;align-self:start}
}
.v-proches{background:#fff;border:1px solid #e7e9ed;border-radius:16px;box-shadow:0 1px 2px rgba(16,24,40,.04),0 6px 22px rgba(16,24,40,.05);overflow:hidden}
@media(min-width:768px){
	.v-proches{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:transparent;border:0;box-shadow:none;border-radius:0;overflow:visible}
	.v-proches .v-club{border:1px solid #e7e9ed;border-radius:16px;background:#fff;box-shadow:0 1px 2px rgba(16,24,40,.04),0 6px 22px rgba(16,24,40,.05)}
}
.v-proches-btns{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
@media(max-width:767px){.v-proches-btns .v-btn{width:100%}}
.v-objet{margin:8px 0 0;color:#4a525c;font-size:14px;line-height:1.55;overflow-wrap:anywhere}
.v-objet.v-replie-4{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.v-lire-suite{display:inline-flex;align-items:center;gap:4px;margin-top:6px;font-size:13px;font-weight:700;background:none;border:0;padding:0;color:#222}
.v-lire-suite[hidden]{display:none}
.v-source{margin:22px 0 0}
/* T-423 : ligne « Source / Revendiquez / Signaler » d'une fiche non gérée (blocks/source-signaler.php) */
.v-signaler{overflow-wrap:anywhere}
.v-signaler b{color:#4a525c}
.v-signaler .v-revendiquer{font-weight:700;color:#0d6ead}
.v-signaler .v-lien-signaler{color:#6b7480;text-decoration:underline}
.v-pave-col{display:none}
@media(min-width:1280px){.v-pave-col{display:block}}
/* Fiche : classes du rendu (aucun style en ligne) */
.v-entete-t{min-width:0}
.v-entete .v-h1{margin:0 0 6px}
.v-entete-infos{display:flex;gap:6px 10px;flex-wrap:wrap;align-items:center}
.v-essentiel-infos .v-h2{margin-bottom:6px}
.v-attente{color:#6b7480}
.v-band-club .v-btn{min-height:44px}
.v-assoc-ligne{margin:8px 2px 0}
.v-assoc-ligne a{font-weight:700;color:#0d6ead}
.v-sec-f{padding-top:20px}
@media(min-width:900px){.v-sec-f{padding-top:28px}}
.v-btn-lien{min-height:40px}
.v-btn-lien .fe{color:#e83f3f}
.v-carte-liens{padding:2px 16px}
.v-pave-col .fiche-pave{padding-top:14px}
.v-seul-pc{display:none !important}
@media(min-width:768px){.v-seul-pc{display:inline-flex !important}.v-seul-tel{display:none !important}}
.v-essentiel-grille{display:flex;flex-direction:column}
.v-essentiel-grille .v-mini{order:-1}
@media(min-width:768px){.v-essentiel-grille{display:grid}.v-essentiel-grille .v-mini{order:2}}
/* Listes : classes du rendu */
.v-liste-carte{overflow:hidden}
.v-vide{padding:18px 16px}
.v-vide p{margin:0}
.v-vide-liens{margin-top:16px;padding-top:6px;padding-bottom:6px}
.v-pages-info{text-align:center;margin:6px 0 0}
.v-pages nav,.v-pages > div{margin-top:0}
.v-carte-barre-t{min-width:0}
.v-carte-barre-t .v-gris{display:block}
.v-carte-autour .fe{color:#e83f3f}
.v-carte-club-l{display:flex;gap:10px;align-items:center}
@media(max-width:1279px){.v-carte-col.ouverte .v-carte-note{display:none}}
.v-recherche .v-btn{flex-shrink:0}
.v-communes{margin-top:18px}
.v-barre-note{margin:-4px 0 10px}
/* Retours de la démo de Greg (2026-10-30) */
/* Objet de l'association dans le bloc du club, sous « L'essentiel » */
.v-objet-bloc{border-top:1px solid #eef0f3;padding:12px 16px 14px}
@media(min-width:768px){.v-objet-bloc{padding:16px 24px 20px}}
.v-h3{font-size:15px;line-height:1.3;font-weight:700;margin:0;color:#222}
.v-objet-bloc .v-objet{margin-top:6px}
/* Espace avant les blocs pleine largeur qui suivent le contenu (Équipement, Conseils, pubs) */
.v-bas{padding-bottom:32px}
@media(min-width:900px){.v-bas{padding-bottom:40px}}
/* Choix d'une commune (ou d'un département) avec recherche : vrais liens dans la page, repliés */
.v-choix{margin-top:18px;position:relative}
.v-choix .v-defile{margin-bottom:10px}
.v-cz{position:relative;max-width:420px}
.v-cz > summary{list-style:none;cursor:pointer;color:#222;font-weight:700}
.v-cz > summary::-webkit-details-marker{display:none}
.v-cz > summary .fe-chevron-down{margin-left:auto}
.v-cz[open] > summary .fe-chevron-down{transform:rotate(180deg)}
.v-cz-saisie{display:none}
.v-cz-panneau{margin-top:6px;border:1px solid #d5d9e0;border-radius:12px;background:#fff;box-shadow:0 10px 30px rgba(16,24,40,.12);overflow:hidden}
.v-cz-liste{list-style:none;margin:0;padding:4px 0;max-height:320px;overflow-y:auto}
.v-cz-liste li a{display:flex;justify-content:space-between;gap:10px;padding:10px 14px;font-size:14px;overflow-wrap:anywhere}
.v-cz-liste li a small{color:#8d97a3;font-size:12.5px}
.v-cz-liste li a:hover,.v-cz-liste li.v-actif a{background:#fff1f1}
.v-cz-liste li[hidden]{display:none}
.v-cz-vide{margin:0;padding:12px 14px;font-size:13px;color:#6b7480}
/* Avec JS : le résumé devient un champ de recherche (combobox), la liste s'ouvre sous lui */
.v-cz.v-cz-js > summary{display:none}
.v-cz.v-cz-js .v-cz-saisie{display:flex}
.v-cz.v-cz-js .v-cz-panneau{position:absolute;left:0;right:0;z-index:60}
.v-cz.v-cz-js:not(.v-cz-ouvert) .v-cz-panneau{display:none}
/* « <Sport> près de <commune> » */
.v-pres{padding:2px 16px}
.v-pres .v-lien span{font-weight:500;color:#8d97a3;font-size:12.5px}
/* Téléphone : haut de la fiche resserré (objet replié dans le bloc du club, « C'est mon club » au premier écran) */
@media(max-width:767px){
	.v-entete{margin:10px 0}
	.v-essentiel-infos{padding:12px 16px 12px}
	.v-essentiel-infos .v-h2{margin-bottom:2px}
	.v-ligne{padding:4px 0}
	.v-essentiel-btns{margin-top:8px}
	.v-objet-bloc{padding:10px 16px 8px}
	.v-band-club{margin-top:8px;padding:8px 12px}
	.v-objet-bloc .v-objet{margin-top:4px}
	.v-objet-bloc .v-lire-suite{margin-top:2px}
}
/* Texte lu par les lecteurs d'écran seulement (nombre de résultats du choix de commune) */
.v-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
/* Retour du test (débordement à 390 px) : les boutons à texte variable passent à la ligne (.v-btn) ; seuls les petits
   boutons à texte fixe et court restent sur une ligne */
.v-btn-autour,.v-btn-carte,.v-carte-barre .v-btn,.v-agrandir,.v-fermer-carte,.v-carte-autour,.v-btn-chercher{white-space:nowrap;overflow-wrap:normal}
.v-proches-btns .v-btn,.v-band-btn,.v-voir-tout{white-space:normal}
/* Pastille du sport de la fiche : un nom long (« Aquagym / Aquafitness / Aquabike ») passe à la ligne au lieu
   d'élargir la page à 360 px (contrôle largeur.js) */
.v-pastille{white-space:normal;height:auto;min-height:30px;max-width:100%;padding-top:3px;padding-bottom:3px;line-height:1.25}
/* Test visuel (2e retour) : fiche d'association au téléphone, le bouton « C'est mon association » (long) passe sous la
   question au lieu de l'écraser sur plusieurs lignes */
@media(max-width:767px){
	.v-band-club.v-band-assoc{grid-template-columns:minmax(0,1fr);grid-template-areas:"titre" "bouton" "texte" "mention"}
	.v-band-club.v-band-assoc .v-band-btn{justify-self:start}
}
/* Pub (pavé) de la fiche : 16 px au-dessus, comme la bannière haute et la bannière basse, quel que soit le bloc qui précède */
.v-fiche-principale .fiche-pave{padding-top:16px}

/* ==========================================================================
   T-424b : accueil de l'annuaire, page Ville (/clubs/ville/<commune>/), Le Mag Sport (maquettes v2, écrans 1 et 3)
   ========================================================================== */
.v-plus{font-size:13px;font-weight:700;white-space:nowrap;display:inline-flex;align-items:center;gap:4px;background:none;border:0;padding:0;color:#222}
.v-plus .fe{color:#e83f3f}
.v-sur-sec{margin:0 0 2px}
.v-seul-tel-i{display:inline}
.v-seul-pc-i{display:none}
@media(min-width:900px){.v-seul-tel-i{display:none}.v-seul-pc-i{display:inline}}
/* Tuiles des sports (accueil : 8 plus cherchés ; page Ville : avec leur nombre de clubs) */
.v-tuiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media(min-width:900px){.v-tuiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}}
.v-tuile{display:flex;align-items:center;gap:10px;padding:10px 12px;min-height:58px;min-width:0}
.v-tuile img{width:30px;height:30px;object-fit:contain;flex-shrink:0}
.v-tuile-t{min-width:0;flex:1;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}
.v-tuile b{display:block;font-size:14px;line-height:1.2}
.v-tuile small{display:block;font-size:12px;color:#6b7480}
.v-tuile:hover{border-color:#222}
/* T-428 : au téléphone étroit (moins de 400 px), la flèche de la tuile (décor : toute la tuile est le lien) est retirée et
   les marges réduites : 101 px pour le nom à 360 px au lieu de 71 (« Équitation », « Gymnastique » sur une ligne). Un mot
   plus long que la place se coupe avec un trait d'union (hyphens, lang="fr"), sinon entre deux lettres (break-word) */
@media(max-width:399px){.v-tuile{gap:8px;padding:10px}.v-tuile > .v-fl{display:none}}
/* Tous les sports de A à Z (page Ville) */
.v-az{columns:2;column-gap:18px;font-size:13.5px}
.v-az a{display:flex;justify-content:space-between;gap:8px;padding:7px 0;border-bottom:1px solid #f0f2f5;break-inside:avoid;overflow-wrap:anywhere}
.v-az a span{color:#8d97a3;flex-shrink:0}
.v-az a:hover{color:#e83f3f}
@media(min-width:900px){.v-az{columns:3}}
/* Le Mag Sport */
.v-mag{display:flex;gap:12px;padding:12px 0;border-top:1px solid #eef0f3;min-width:0}
.v-mag:first-child{border-top:0}
.v-mag-img{display:block;width:104px;height:70px;border-radius:10px;background:#eef0f3;flex-shrink:0;overflow:hidden}
.v-mag-img img{display:block;width:100%;height:100%;object-fit:cover}
.v-mag-t{min-width:0;overflow-wrap:anywhere}
.v-mag-c{display:block;font-size:11px;font-weight:700;color:#e83f3f;text-transform:uppercase;letter-spacing:.5px}
.v-mag b{display:block;font-size:14.5px;line-height:1.3}
@media(min-width:900px){.v-mags{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.v-mags.t3{grid-template-columns:repeat(3,minmax(0,1fr))}.v-mag{display:block;border:0;padding:0}.v-mag-img{width:100%;height:150px;margin-bottom:10px}}
/* Accueil : recherche sur photo */
.v-hero{position:relative;background:#0f172a;color:#fff;overflow:hidden}
.v-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.v-hero:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(15,23,42,.55),rgba(15,23,42,.75))}
.v-hero-in{position:relative;z-index:2;padding-top:26px;padding-bottom:22px}
.v-hero .v-sur{color:#fecaca;margin-top:0}
.v-hero .v-h1{color:#fff}
.v-hero .v-chapo{color:#e2e8f0}
.v-hero-form{margin-top:16px;padding:14px;color:#222}
.v-hero-form .v-champ{width:100%;flex:none}
.v-hero-form .v-lab{margin-top:10px}
.v-hero-form .v-lab:first-child{margin-top:0}
.v-hero-form .v-hero-chercher{display:flex;width:100%;margin-top:12px}
.v-hero-form .v-btn-autour{display:flex;width:100%;margin-top:4px;box-shadow:none}
.v-champ select{border:0;outline:0;background:transparent;font-size:16px;color:#222;min-width:0;flex:1;height:100%;padding:0;-webkit-appearance:none;appearance:none;cursor:pointer}
@media(min-width:900px){
	.v-hero-in{padding-top:56px;padding-bottom:60px;text-align:center}
	.v-hero .v-h1{font-size:40px;margin:8px 0}
	.v-hero-form{display:flex;gap:8px;align-items:center;max-width:880px;margin:16px auto 0;padding:10px;text-align:left}
	.v-hero-form .v-champ{flex:1;width:auto}
	.v-hero-form .v-lab{display:none}
	.v-hero-form .v-hero-chercher,.v-hero-form .v-btn-autour{display:inline-flex;width:auto;margin-top:0;min-height:48px;flex-shrink:0}
	.v-hero-form .v-btn-autour{box-shadow:inset 0 0 0 1px #d5d9e0}
}
/* Accueil : grandes villes (liste + carte en bulles) */
.v-villes{gap:0 18px}
.v-villes .v-lien{border-top:1px solid #f0f2f5}
.v-villes .v-lien span{font-weight:500;color:#8d97a3;font-size:12.5px}
.v-villes-note{margin:10px 0 0}
.v-acc-villes{display:block}
.v-acc-carte{display:none}
.v-acc-carte.ouverte{display:flex;flex-direction:column;position:fixed;inset:0;z-index:1000;background:#fff}
.v-acc-carte.ouverte .v-acc-carte-zone{position:relative;flex:1;min-height:0}
.v-acc-carte.ouverte .v-acc-map{position:absolute;inset:0;border-radius:0;border:0}
.v-acc-carte.ouverte .v-carte-note{display:none}
@media(min-width:900px){
	.v-acc-villes{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:24px;align-items:start}
	.v-acc-btn-carte{display:none !important}
	.v-acc-carte,.v-acc-carte.ouverte{display:block;position:static;inset:auto;z-index:auto;background:transparent}
	.v-acc-carte .v-carte-barre{display:none}
	.v-acc-carte .v-acc-map,.v-acc-carte.ouverte .v-acc-map{position:relative;height:430px;border-radius:16px;border:1px solid #e1e4ea}
	.v-acc-carte.ouverte .v-carte-note{display:block}
}
.v-bulle-ic{background:none;border:0}
.v-bulle{background:#e83f3f;color:#fff !important;border-radius:999px;font:700 12px/1 SporteedW,Arial,sans-serif;padding:6px 9px;white-space:nowrap;border:2px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.3);display:inline-block;transform:translate(-50%,-50%)}
.v-bulle small{font-weight:500;opacity:.85}
.v-bulle:hover{background:#222}
/* Accueil : univers (rubriques) */
.v-univ{width:140px;flex-shrink:0;display:block}
.v-univ-img{display:block;height:64px;border-radius:12px;background:#eef0f3;overflow:hidden}
.v-univ-img img{display:block;width:100%;height:100%;object-fit:cover}
.v-univ b{display:block;font-size:12.5px;line-height:1.3;margin-top:6px;overflow-wrap:anywhere}
@media(min-width:900px){.v-univ{width:170px}.v-univ-img{height:78px}}
/* Accueil : chercher par région (ligne repliée au téléphone, pastilles à partir de 900 px) */
.v-regions > summary{list-style:none;cursor:pointer}
.v-regions > summary::-webkit-details-marker{display:none}
.v-regions-t{display:flex;align-items:center;gap:10px;padding:14px 16px}
.v-regions-t b{font-size:15px}
.v-regions-t .v-gris{margin-left:auto}
.v-regions-t .fe-chevron-down{color:#8d97a3}
.v-regions[open] .v-regions-t .fe-chevron-down{transform:rotate(180deg)}
.v-regions-h{display:none;margin-bottom:12px}
.v-regions-liste{margin-top:12px}
@media(min-width:900px){
	.v-regions.v-regions-js > summary{display:none}
	.v-regions.v-regions-js .v-regions-h{display:block}
	.v-regions.v-regions-js .v-regions-liste{margin-top:0}
}
/* Page Ville : « Quel sport ? » (choix avec recherche) et « Autour de moi » dans le bandeau */
.v-recherche-ville{align-items:flex-start}
.v-recherche-ville .v-choix{margin-top:0;flex:1;min-width:0}
/* T-428 : « Quel sport ? » garde au moins 180 px (icône, texte entier, flèche) ; sinon « Autour de moi » passe dessous, sur
   toute la largeur (360 px : 85 px restaient pour 98 px de texte, « Quel sport » tronqué). Sur une ligne, la place libre va
   au champ (999 contre 1) */
.v-recherche-ville{flex-wrap:wrap}
.v-recherche-ville .v-choix{flex:999 1 180px}
.v-recherche-ville .v-btn-autour{flex:1 0 auto}
/* T-428 : même règle pour le bandeau des listes (bande-liste.php) : « Ville ou code postal » garde au moins 216 px
   (marge, icône, 156 px de texte), sinon « Autour de moi » passe dessous (360 et 390 px : 109 et 139 px restaient) */
.v-recherche-liste{flex-wrap:wrap}
.v-recherche-liste .v-champ{flex:999 1 216px}
.v-recherche-liste .v-btn-autour{flex:1 0 auto}
.v-recherche-ville .v-cz{max-width:none}
.v-recherche-ville .v-cz > summary{font-weight:500;color:#6b7480}
/* Boutons : « .v button{font:inherit} » remettait les <button> en graisse 500 ; gras comme les liens-boutons (maquettes) */
.v button.v-btn,.v button.v-plus{font-weight:700}
/* Accueil, téléphone : « Rechercher » puis « Autour de moi » (maquette) ; ordinateur : « Autour de moi » avant */
@media(max-width:899px){.v-hero-form{display:flex;flex-direction:column}.v-hero-form .v-btn-autour{order:1}}
/* Carte des grandes villes : la bulle survolée passe devant ses voisines */
.v-bulle-ic:hover,.v-bulle-ic:focus-within{z-index:2000 !important}
/* Côté de la bulle par rapport à la ville (annuaireGrandesVillesAccueil()) */
.v-bulle-g{transform:translate(calc(-100% + 8px),-50%)}
.v-bulle-d{transform:translate(-8px,-50%)}
.v-bulle-h{transform:translate(-50%,calc(-100% + 6px))}
.v-bulle-b{transform:translate(-50%,-6px)}
/* Encart « S'entraîner » (T-424b, absorbe T-403) : court, liens texte, sans image ni prix */
.v-encart{padding:12px 16px;border-left:4px solid #e83f3f}
@media(min-width:900px){.v-encart{padding:14px 20px}}
.v-encart-t{display:block;font-size:15px;line-height:1.3;color:#222}
.v-encart-p{margin:2px 0 0;font-size:13px;line-height:1.4;color:#4a525c}
.v-encart-liens{margin:6px -3px 0;padding:0 3px;font-size:13.5px;line-height:1.6;overflow:hidden}
.v-encart-liens a{color:#0d6ead;font-weight:700;text-decoration:underline;text-underline-offset:2px}
/* T-428 : séparateur « · » posé avant chaque lien, dans une marge de 18 px ; la liste est décalée de 18 px à gauche et son
   cadre (.v-encart-liens, 3 px de marge intérieure pour le contour du focus) coupe ce qui dépasse : le séparateur du
   premier lien de chaque ligne est caché. Un lien passe à la ligne en entier (élément flex) ; seul un lien plus long
   que la ligne se coupe, entre deux mots */
.v-encart-liens ul{display:flex;flex-wrap:wrap;list-style:none;margin:0 0 0 -18px;padding:0}
.v-encart-liens li{position:relative;padding-left:18px;min-width:0;overflow-wrap:break-word}
.v-encart-liens li::before{content:"\00B7";content:"\00B7" / "";position:absolute;left:0;width:18px;text-align:center;color:#b5bcc5}
/* T-428 : sous l'encart, l'espace standard avant une section pleine largeur (.v-bas : 32 / 40 px) ; au-dessus, 32 / 40 px
   aussi, sauf derrière un .v-bas qui le donne déjà (avant : 24 px dessous, 56 à 72 px dessus) */
.v-encart-large{padding:32px 0}
.v-bas + .v-encart-large{padding-top:0}
@media(min-width:900px){.v-encart-large{padding:40px 0}.v-bas + .v-encart-large{padding-top:0}}
