/* BallPosition — gabarit partagé des sites de clubs, lot 1.
   Les variables --club-* sont personnalisables par club dans une phase ultérieure. */
:root{--club-primary:#122a34;--club-deep:#0b1b23;--club-accent:#d7a15f;--club-accent-ink:#6a461f;--club-paper:#f7f6f2;--club-white:#fff;--club-text:#243943;--club-muted:#65767b;--club-line:#dbe1e0;--club-radius:20px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.club-site{margin:0;background:var(--club-paper);color:var(--club-text);font:400 15px/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.club-site a{color:inherit;text-decoration:none}
.club-skip{position:absolute;left:12px;top:-100px;padding:12px 18px;background:#fff;color:#122a34!important;z-index:50;font-weight:800;border-radius:8px}
.club-skip:focus{top:9px}
.club-site button{font:inherit}
.club-site img{max-width:100%;display:block}
.club-site a:focus-visible,.club-site button:focus-visible{outline:3px solid var(--club-accent);outline-offset:4px}
.club-site [hidden]{display:none!important}
.club-container{width:min(1180px,calc(100% - 48px));margin-inline:auto}
.club-kicker{margin:0;font-size:11px;font-weight:850;letter-spacing:.18em;text-transform:uppercase;color:var(--club-accent-ink)}
.club-heading{font-family:Georgia,"Times New Roman",serif;font-size:clamp(35px,4.6vw,58px);line-height:1.12;letter-spacing:-.035em;font-weight:700;margin:9px 0 17px;color:var(--club-primary)}
.club-subheading{font-family:Georgia,"Times New Roman",serif;font-size:clamp(25px,3vw,36px);line-height:1.2;margin:0 0 12px;color:var(--club-primary)}
.club-lead{font-size:16px;line-height:1.85;color:var(--club-muted);max-width:760px}
.club-badge{display:inline-flex;align-items:center;gap:7px;padding:5px 12px;border-radius:100px;font-size:11px;font-weight:780;letter-spacing:.055em;text-transform:uppercase;background:#ebf1ef;color:var(--club-primary)}
.club-badge--gold{background:#f5e5cc;color:#725023}
.club-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:100px;padding:12px 24px;font-weight:750;font-size:13px;border:1px solid transparent;min-height:46px;transition:transform .2s,background .2s}
.club-button:hover{transform:translateY(-2px)}
.club-button--gold{background:var(--club-accent);color:var(--club-deep)!important}
.club-button--outline{border-color:rgba(255,255,255,.75);color:#fff!important}
.club-button--dark{background:var(--club-primary);color:#fff!important}
.club-site .club-button--dark:hover{background:#234454}
.club-demo-strip{background:#e9d5b7;color:#503916;border-bottom:1px solid #d8b989}
.club-demo-strip__inner{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:37px;font-size:11px;font-weight:700;letter-spacing:.045em}
.club-demo-strip__inner strong{font-weight:850}
.club-demo-strip a{text-decoration:underline;text-underline-offset:3px}
.club-masthead{position:relative;z-index:20;background:var(--club-white);border-bottom:1px solid var(--club-line)}
.club-masthead__inner{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:94px}
.club-brand{display:flex;gap:14px;align-items:center;min-width:0}
.club-crest{width:60px;height:60px;flex:0 0 60px;display:grid;place-items:center;border:2px solid var(--club-accent);outline:3px solid var(--club-primary);outline-offset:-8px;border-radius:50%;background:var(--club-primary);color:var(--club-accent);font:700 29px/1 Georgia,serif;box-shadow:0 5px 16px rgba(0,0,0,.12)}
.club-brand__name{display:block;font-family:Georgia,"Times New Roman",serif;font-size:clamp(21px,2.7vw,29px);line-height:1.08;font-weight:700;color:var(--club-primary)}
.club-brand__sub{display:block;margin-top:6px;font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--club-muted)}
.club-masthead__right{display:flex;align-items:center;gap:22px}
.club-location{font-size:12px;line-height:1.5;text-align:right;color:var(--club-muted)}
.club-location strong{color:var(--club-primary);font-weight:850}
.club-nav{z-index:19;background:var(--club-primary);color:#fff}
.club-nav__inner{display:flex;justify-content:space-between;gap:8px}
.club-nav__list{display:flex;flex-wrap:wrap;align-items:center;gap:3px;list-style:none;margin:0;padding:0}
.club-nav__list a{display:flex;align-items:center;justify-content:center;min-height:58px;padding:0 14px;font-size:12px;font-weight:750;white-space:nowrap;color:#dbe7e6;border-bottom:3px solid transparent;transition:background .2s,color .2s}
.club-nav__list a:hover{color:#fff;background:rgba(255,255,255,.075)}
.club-nav__list a[aria-current="page"]{color:#fff;border-bottom-color:var(--club-accent)}
.club-nav__tag{display:flex;align-items:center;gap:7px;font-size:10px;letter-spacing:.12em;color:#d5c09e;text-transform:uppercase;font-weight:800;white-space:nowrap}
.club-nav__tag:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--club-accent)}
.club-mobile-trigger{display:none;align-items:center;gap:8px;background:transparent;border:1px solid var(--club-line);padding:10px 13px;color:var(--club-primary);border-radius:9px;font-size:13px;font-weight:800;cursor:pointer}
.club-page-hero{background:var(--club-primary);position:relative;overflow:hidden;color:#fff;min-height:390px;display:flex;align-items:center}
.club-page-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,23,30,.96) 0%,rgba(7,23,30,.88) 38%,rgba(7,23,30,.25) 100%),url("/assets/banner-clubs.webp") center/cover no-repeat;transform:scale(1.005)}
.club-page-hero:after{content:"";position:absolute;width:330px;height:330px;right:5%;top:18%;border:1px solid rgba(255,255,255,.12);border-radius:50%;box-shadow:0 0 0 55px rgba(255,255,255,.025),0 0 0 120px rgba(255,255,255,.025);pointer-events:none}
.club-page-hero__inner{position:relative;z-index:1;padding-block:62px}
.club-page-hero__inner>*{max-width:690px}
.club-hero-eyebrow{display:flex;align-items:center;gap:13px;font-size:11px;text-transform:uppercase;font-weight:850;letter-spacing:.18em;color:#efc991}
.club-hero-eyebrow:before{content:"";width:29px;height:2px;background:var(--club-accent)}
.club-page-hero h1{font-family:Georgia,"Times New Roman",serif;font-weight:700;font-size:clamp(44px,5.5vw,70px);line-height:1.06;letter-spacing:-.035em;margin:17px 0 20px}
.club-page-hero p{font-size:17px;max-width:555px;color:#d9e7e8;line-height:1.8;margin-bottom:30px}
.club-page-hero__actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.club-quickfacts{position:relative;z-index:2;background:var(--club-white);border-bottom:1px solid var(--club-line)}
.club-quickfacts__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.club-quickfact{display:flex;gap:13px;align-items:center;padding:25px 18px;border-right:1px solid var(--club-line)}
.club-quickfact:first-child{padding-left:0}
.club-quickfact:last-child{border-right:0}
.club-quickfact__icon{width:37px;height:37px;display:grid;place-items:center;background:#f7ebd8;border-radius:50%;color:var(--club-accent-ink);font-size:19px}
.club-quickfact strong{display:block;color:var(--club-primary);font-size:13px}
.club-quickfact span{font-size:12px;color:var(--club-muted)}
.club-content{padding:68px 0 88px}
.club-content--tight{padding-top:54px}
.club-section{margin-bottom:72px}
.club-section:last-child{margin-bottom:0}
.club-section__head{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:24px}
.club-section__head .club-lead{max-width:500px;margin:0}
.club-grid{display:grid;gap:22px}
.club-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.club-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.club-card{background:var(--club-white);border:1px solid var(--club-line);border-radius:var(--club-radius);overflow:hidden;box-shadow:0 12px 36px rgba(8,29,39,.035)}
.club-card__body{padding:27px}
.club-card h3,.club-panel h3{font:700 24px/1.25 Georgia,serif;color:var(--club-primary);margin:0 0 11px}
.club-card p,.club-panel p{color:var(--club-muted);margin:0 0 12px;line-height:1.75}
.club-card p:last-child,.club-panel p:last-child{margin-bottom:0}
.club-card__cover{height:188px;display:flex;align-items:end;padding:17px;color:#fff;background:linear-gradient(0deg,rgba(5,23,32,.77),transparent 75%),url("/assets/card-salles.webp") center/cover no-repeat}
.club-card__cover--clubs{background-image:linear-gradient(0deg,rgba(5,23,32,.77),transparent 75%),url("/assets/banner-clubs.webp")}
.club-card__cover--sport{background-image:linear-gradient(0deg,rgba(5,23,32,.77),transparent 75%),url("/assets/banner-competitions.webp")}
.club-card__link{display:inline-flex;align-items:center;gap:7px;font-weight:800;font-size:13px;color:var(--club-accent-ink)!important;margin-top:11px}
.club-link-arrow{display:inline-block;transition:transform .2s}
.club-card__link:hover .club-link-arrow{transform:translateX(4px)}
.club-news-date{display:block;font-size:10px;font-weight:850;letter-spacing:.11em;text-transform:uppercase;color:var(--club-accent-ink);margin-bottom:10px}
.club-feature{border-radius:var(--club-radius);background:var(--club-primary);color:#fff;overflow:hidden;display:grid;grid-template-columns:1fr 1fr}
.club-feature__copy{padding:38px}
.club-feature .club-kicker{color:#eac18a}
.club-feature h3{font:700 34px/1.18 Georgia,serif;margin:11px 0 14px;color:#fff}
.club-feature p{color:#c5d6d9;line-height:1.8}
.club-feature__visual{min-height:270px;background:url("/assets/card-salles.webp") center/cover no-repeat}
.club-smallpage{background:linear-gradient(135deg,var(--club-deep),var(--club-primary));color:#fff;padding:66px 0 60px;position:relative;overflow:hidden}
.club-smallpage:after{content:"";position:absolute;right:-80px;top:-190px;width:400px;height:400px;border:1px solid rgba(255,255,255,.10);border-radius:50%;box-shadow:0 0 0 55px rgba(255,255,255,.025),0 0 0 120px rgba(255,255,255,.025)}
.club-smallpage .club-kicker{color:var(--club-accent)}
.club-smallpage .club-heading{color:#fff;position:relative;z-index:1}
.club-smallpage p{max-width:750px;color:#ccdbde;margin:0;position:relative;z-index:1}
.club-breadcrumbs{font-size:11px;display:flex;gap:9px;flex-wrap:wrap;color:#c5d7dc;margin-bottom:17px}
.club-breadcrumbs a{text-decoration:underline;text-underline-offset:4px}
.club-panel{background:#fff;border:1px solid var(--club-line);border-radius:var(--club-radius);padding:30px}
.club-panel--soft{background:#e9efec}
.club-panel__eyebrow{font-weight:850;text-transform:uppercase;letter-spacing:.13em;font-size:10px;color:var(--club-accent-ink);display:block;margin-bottom:10px}
.club-page-intro{padding:0 0 28px}
.club-page-intro .club-lead{margin-top:5px}
.club-section-anchor{scroll-margin-top:20px}
.club-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:17px}
.club-pill{background:#eaf0ee;border:1px solid #d6e0dc;color:#31515c;border-radius:40px;padding:7px 13px;font-size:12px;font-weight:750}
.club-list{margin:13px 0 0;padding-left:19px;color:var(--club-muted)}
.club-list li{margin:5px 0}
.club-list li::marker{color:var(--club-accent)}
.club-timeline{display:grid;gap:16px;margin-top:25px}
.club-timeline__item{display:grid;grid-template-columns:74px 1fr;gap:15px}
.club-timeline__date{font-size:13px;color:var(--club-accent-ink);font-weight:850}
.club-timeline__content{border-left:2px solid #ead6b9;padding:0 0 8px 20px}
.club-timeline__content strong{display:block;font-size:14px;color:var(--club-primary)}
.club-person{display:flex;align-items:center;gap:14px}
.club-person__avatar{width:54px;height:54px;flex:0 0 54px;display:grid;place-items:center;background:#e2e8e5;border-radius:50%;color:#45616a;font:700 22px Georgia,serif}
.club-person__role{display:block;color:var(--club-muted);font-size:12px}
.club-person__name{font-weight:800}
.club-room-photo{min-height:260px;background:url("/assets/card-salles.webp") center/cover no-repeat;border-radius:var(--club-radius)}
.club-hours{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.club-hours__row{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--club-line);padding:9px 0;font-size:13px}
.club-hours__row span{color:var(--club-muted)}
.club-table-scroll{overflow:auto;border:1px solid var(--club-line);border-radius:14px}
.club-table{width:100%;border-collapse:collapse;background:#fff;min-width:460px;text-align:left}
.club-table th,.club-table td{padding:13px 17px;border-bottom:1px solid #e4eae8;font-size:13px}
.club-table th{background:#eaf0ed;color:var(--club-primary);font-size:11px;letter-spacing:.07em;text-transform:uppercase}
.club-table tr:last-child td{border-bottom:0}
.club-placeholder{display:grid;place-items:center;min-height:235px;padding:30px;border-radius:var(--club-radius);border:2px dashed #c4d1cb;background:#ecf1ed;text-align:center}
.club-placeholder__symbol{font-size:36px;color:#a07845;line-height:1}
.club-placeholder strong{display:block;color:var(--club-primary);margin:10px 0 4px}
.club-placeholder p{max-width:400px;margin:0;color:var(--club-muted);font-size:13px}
.club-gallery{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:14px}
.club-gallery__item{min-height:200px;position:relative;border-radius:15px;overflow:hidden;background:url("/assets/banner-clubs.webp") center/cover}
.club-gallery__item:nth-child(2){background-image:url("/assets/card-salles.webp")}
.club-gallery__item:nth-child(3){background-image:url("/assets/banner-competitions.webp")}
.club-gallery__item:after{content:"Illustration";position:absolute;bottom:12px;left:13px;padding:3px 10px;border-radius:30px;background:rgba(10,26,33,.7);color:#fff;font-size:10px;font-weight:700}
.club-note{padding:18px 21px;border-left:4px solid var(--club-accent);background:#f2e9db;border-radius:0 12px 12px 0;color:#675134;font-size:13px}
.club-note strong{color:#4e3e2e}
.club-demo-footer{background:var(--club-deep);color:#d7e0e1;padding:43px 0 25px}
.club-demo-footer__top{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;align-items:start;border-bottom:1px solid rgba(255,255,255,.15);padding-bottom:32px}
.club-demo-footer__top strong{font:700 24px Georgia,serif;color:#fff}
.club-demo-footer__top p{max-width:460px;color:#aabec1;font-size:13px}
.club-footer-links{display:flex;gap:18px;flex-wrap:wrap;font-size:13px}
.club-footer-links a{text-decoration:underline;text-underline-offset:4px}
.club-demo-footer__bottom{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;padding-top:20px;font-size:11px;color:#92aaad}
@media(max-width:1050px){
 .club-nav__list a{padding:0 10px;font-size:11px}
 .club-nav__tag{display:none}
 .club-feature{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
 .club-container{width:min(100% - 32px,680px)}
 .club-demo-strip__inner{display:block;padding-block:9px;min-height:0;line-height:1.6}
 .club-demo-strip__inner a{display:inline-block}
 .club-masthead__inner{min-height:77px}
 .club-crest{width:48px;height:48px;flex-basis:48px;font-size:24px}
 .club-brand__name{font-size:20px}
 .club-brand__sub{font-size:9px}
 .club-location{display:none}
 .club-mobile-trigger{display:inline-flex}
 .club-nav__inner{display:block}
 .club-nav__list{display:grid;grid-template-columns:1fr;gap:0;padding:4px 0}
 .club-nav__list a{justify-content:flex-start;padding:12px 16px;min-height:43px;font-size:13px;border-bottom:0;border-left:3px solid transparent}
 .club-nav__list a[aria-current="page"]{border-left-color:var(--club-accent);background:rgba(255,255,255,.08)}
 .js .club-nav__list:not([data-open="true"]){display:none}
 .club-page-hero{min-height:400px}
 .club-page-hero:before{background:linear-gradient(90deg,rgba(7,23,30,.92),rgba(7,23,30,.64)),url("/assets/banner-clubs.webp") center/cover}
 .club-page-hero:after{display:none}
 .club-page-hero__inner{padding-block:58px}
 .club-page-hero h1{font-size:clamp(40px,11vw,58px)}
 .club-page-hero p{font-size:15px}
 .club-quickfacts__grid{grid-template-columns:1fr}
 .club-quickfact{padding:14px 0;border:0;border-bottom:1px solid var(--club-line)}
 .club-quickfact:last-child{border:0}
 .club-content{padding:49px 0 66px}
 .club-section{margin-bottom:52px}
 .club-section__head{display:block}
 .club-section__head .club-lead{margin-top:10px}
 .club-grid--2,.club-grid--3{grid-template-columns:1fr}
 .club-feature{grid-template-columns:1fr}
 .club-feature__visual{min-height:200px;order:-1}
 .club-feature__copy{padding:29px}
 .club-smallpage{padding:48px 0}
 .club-heading{font-size:38px}
 .club-panel{padding:24px}
 .club-hours{grid-template-columns:1fr}
 .club-gallery{grid-template-columns:1fr 1fr}
 .club-gallery__item:first-child{grid-column:span 2}
 .club-gallery__item{min-height:175px}
 .club-demo-footer__top{display:block}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .club-button,.club-card__link .club-link-arrow{transition:none}
 .club-button:hover{transform:none}
}


/* V2 — pages indépendantes et navigation secondaire. */
.club-subnav{background:#edf0ec;border-bottom:1px solid var(--club-line);position:relative;z-index:18}
.club-subnav__inner{display:flex;align-items:center;gap:22px;min-height:61px}
.club-subnav__label{flex:0 0 auto;font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--club-accent-ink)}
.club-subnav__list{display:flex;align-items:center;gap:7px;min-width:0;flex:1;list-style:none;margin:0;padding:0;overflow-x:auto;scrollbar-width:thin;overscroll-behavior-inline:contain}
.club-subnav__list li{flex:0 0 auto}
.club-subnav__list a{display:inline-flex;align-items:center;min-height:41px;padding:8px 13px;border-radius:9px;color:#3d575d;font-size:12px;font-weight:750;white-space:nowrap;border:1px solid transparent}
.club-subnav__list a:hover{background:#fff;border-color:#d6dfda;color:var(--club-primary)}
.club-subnav__list a[aria-current="page"]{background:#fff;border-color:#d2dcd7;color:var(--club-primary);box-shadow:0 2px 8px rgba(9,28,32,.045)}
/* Un bandeau compact pour les sous-pages ; l'accueil garde sa photo panoramique. */
.club-smallpage{padding:40px 0 36px}
.club-smallpage .club-heading{font-size:clamp(38px,4.4vw,58px);margin:8px 0 10px}
.club-smallpage .club-breadcrumbs{margin-bottom:13px}
.club-smallpage p[data-club-intro]{font-size:14px;line-height:1.7;max-width:760px}
.club-about-layout{align-items:center;grid-template-columns:1fr 1.05fr}
.club-about-layout .club-panel{align-self:center}
.club-about-layout .club-room-photo{min-height:300px}
/* Éclaircir les images originales du site sans charger de ressource externe. */
.club-room-photo{background-image:linear-gradient(rgba(255,255,255,.13),rgba(255,255,255,.13)),url("/assets/card-salles.webp");background-blend-mode:screen,normal}
.club-feature__visual{background-image:linear-gradient(rgba(255,255,255,.10),rgba(255,255,255,.10)),url("/assets/card-salles.webp");background-blend-mode:screen,normal}
.club-card__cover{background-image:linear-gradient(0deg,rgba(5,23,32,.55),rgba(255,255,255,.12) 85%),url("/assets/card-salles.webp")}
.club-card__cover--clubs{background-image:linear-gradient(0deg,rgba(5,23,32,.55),rgba(255,255,255,.11) 85%),url("/assets/banner-clubs.webp")}
.club-card__cover--sport{background-image:linear-gradient(0deg,rgba(5,23,32,.55),rgba(255,255,255,.11) 85%),url("/assets/banner-competitions.webp")}
@media(max-width:760px){
 .club-subnav__inner{display:block;padding-top:10px;padding-bottom:8px}
 .club-subnav__label{display:block;margin-bottom:3px}
 .club-subnav__list{gap:5px}
 .club-subnav__list a{min-height:40px;font-size:12px;padding:7px 12px}
 .club-smallpage{padding:34px 0 31px}
 .club-smallpage .club-heading{font-size:clamp(34px,9vw,47px)}
 .club-about-layout{grid-template-columns:1fr}
 .club-about-layout .club-room-photo{min-height:245px}
}


/* V3 — Corrections validées de l'accueil : lisibilité, variété et contenus de club. */
/* .club-page-hero__inner porte aussi .club-container : ne pas lui imposer width:100%,
   sinon il sort du conteneur central et le texte peut être coupé à gauche. */
.club-page-hero__inner{min-width:0}
.club-quickfact{border-radius:0;transition:background-color .15s}
.club-quickfact:hover{background:#f6f2e9}
.club-quickfact:focus-visible{outline-offset:-3px}
.club-quickfact__text{min-width:0}
.club-quickfact__text strong{text-underline-offset:3px}
.club-quickfact:hover .club-quickfact__text strong{text-decoration:underline}
.club-quickfact__icon{flex:0 0 37px}
.club-card__cover--welcome{
 background:linear-gradient(0deg,rgba(5,23,32,.55),rgba(255,255,255,.02) 82%),url("/assets/card-annuaire-clubs.webp") center/cover no-repeat
}
.club-card__cover--match{
 background:linear-gradient(0deg,rgba(5,23,32,.55),rgba(255,255,255,.02) 82%),url("/assets/card-matchs.webp") center/cover no-repeat
}
.club-card__cover--collectif{
 background:linear-gradient(0deg,rgba(5,23,32,.55),rgba(255,255,255,.02) 82%),url("/assets/card-membres.webp") center/cover no-repeat
}
.club-card__cover--formation{
 background:linear-gradient(0deg,rgba(5,23,32,.55),rgba(255,255,255,.02) 82%),url("/assets/banner-training.webp") center/cover no-repeat
}
.club-feature__visual{
 background:linear-gradient(rgba(255,255,255,.07),rgba(255,255,255,.07)),url("/assets/banner-community.webp") center/cover no-repeat
}
@media(max-width:760px){
 .club-page-hero__inner{min-width:0}
 .club-quickfact{border-radius:0}
 .club-quickfact__text{display:block}
}
@media(prefers-reduced-motion:reduce){
 .club-quickfact{transition:none}
}


/* V4 — navigation et bandeaux renforcés. */
/* Navigation principale plus lisible, sans nouveau composant ni dépendance. */
.club-nav{
 background:linear-gradient(90deg,#132b36 0%,#173544 100%);
 box-shadow:0 7px 20px rgba(6,24,31,.13);
}
.club-nav__list{gap:8px}
.club-nav__list a{
 min-height:68px;
 padding:0 18px;
 font-size:16px;
 font-weight:700;
 color:#f2f6f5;
 border-bottom:4px solid transparent;
 border-radius:8px 8px 0 0;
 transition:background .2s,color .2s,border-color .2s;
}
.club-nav__list a:hover{background:rgba(255,255,255,.09);color:#fff}
.club-nav__list a[aria-current="page"]{
 background:rgba(255,255,255,.12);
 color:#fff;
 border-bottom-color:var(--club-accent);
}

/* Second niveau autonome, à contraste renforcé. */
.club-subnav{
 background:#ece4d6;
 border-bottom:1px solid #d9cfbe;
 box-shadow:0 3px 10px rgba(13,34,45,.06);
}
.club-subnav__inner{min-height:72px;gap:22px}
.club-subnav__label{
 font-size:12px;
 font-weight:900;
 color:#79582c;
 letter-spacing:.12em;
}
.club-subnav__list{gap:10px;overflow-x:auto}
.club-subnav__list a{
 min-height:46px;
 padding:10px 16px;
 font-size:15px;
 font-weight:700;
 color:#213843;
 background:rgba(255,255,255,.72);
 border:1px solid #ded5c5;
 border-radius:11px;
 transition:background .2s,color .2s,box-shadow .2s;
}
.club-subnav__list a:hover{
 background:#fff;
 border-color:#baab93;
 color:#132b36;
}
.club-subnav__list a[aria-current="page"]{
 background:var(--club-primary);
 border-color:var(--club-primary);
 color:#fff;
 box-shadow:0 5px 15px rgba(12,27,35,.20);
}
.club-subnav__list a:focus-visible{outline:3px solid #b57b35;outline-offset:2px}

/* Pages secondaires : illustration du billard sur la droite,
   contraste dégradé sous les titres à gauche. */
.club-smallpage{
 background:#102834;
 padding:54px 0 50px;
 isolation:isolate;
}
.club-smallpage::before{
 content:"";
 position:absolute;
 top:0;
 right:0;
 bottom:0;
 width:55%;
 background:url("/assets/card-matchs.webp") center right/cover no-repeat;
 opacity:.96;
 pointer-events:none;
 z-index:0;
}
.club-smallpage::after{
 content:"";
 position:absolute;
 inset:0;
 background:linear-gradient(90deg,
  #102834 0%,
  rgba(16,40,52,.98) 33%,
  rgba(16,40,52,.88) 49%,
  rgba(16,40,52,.36) 74%,
  rgba(16,40,52,.10) 100%);
 pointer-events:none;
 z-index:1;
}
.club-smallpage>.club-container{position:relative;z-index:2}
.club-smallpage .club-heading{
 font-size:clamp(42px,5vw,64px);
 margin:8px 0 12px;
 position:relative;
 z-index:2;
 text-shadow:0 2px 16px rgba(4,16,22,.18);
}
.club-smallpage p[data-club-intro]{
 font-size:16px;
 line-height:1.75;
 max-width:650px;
 color:#e3edef;
}
.club-smallpage .club-breadcrumbs{margin-bottom:14px;font-size:12px;color:#d9e5e7}
.club-smallpage .club-kicker{color:#eac18a}

/* Des titres plus affirmés, sans surcharge des textes longs. */
.club-subheading{
 font-size:clamp(30px,3.25vw,42px);
 line-height:1.17;
 margin-bottom:14px;
}
.club-card h3,.club-panel h3{font-size:26px;line-height:1.22}
.club-panel p,.club-card p{font-size:15px;line-height:1.78}

/* Réduire légèrement le menu entre tablette et ordinateur. */
@media(min-width:761px) and (max-width:1080px){
 .club-nav__list{gap:3px}
 .club-nav__list a{font-size:14px;padding:0 11px;min-height:62px}
 .club-subnav__inner{gap:13px}
 .club-subnav__label{font-size:11px}
 .club-subnav__list{gap:6px}
 .club-subnav__list a{font-size:13px;padding:8px 12px;min-height:43px}
}
/* Préserver le menu déroulant mobile existant et la lisibilité du visuel. */
@media(max-width:760px){
 .club-nav__list{display:grid;grid-template-columns:1fr;gap:0;padding:6px 0}
 .club-nav__list a{
  justify-content:flex-start;
  min-height:52px;
  padding:12px 16px;
  font-size:15px;
  border-bottom:0;
  border-left:4px solid transparent;
  border-radius:0;
 }
 .club-nav__list a[aria-current="page"]{
  border-bottom-color:transparent;
  border-left-color:var(--club-accent);
  background:rgba(255,255,255,.10);
 }
 .club-subnav__inner{display:block;min-height:0;padding:12px 0 10px}
 .club-subnav__label{display:block;margin-bottom:8px;font-size:11px}
 .club-subnav__list{gap:7px}
 .club-subnav__list a{min-height:44px;padding:8px 14px;font-size:14px}
 .club-smallpage{padding:42px 0 37px}
 .club-smallpage::before{width:100%;opacity:.55;background-position:75% center}
 .club-smallpage::after{
  background:linear-gradient(90deg,
   rgba(11,31,41,.98) 0%,
   rgba(11,31,41,.94) 45%,
   rgba(11,31,41,.76) 100%);
 }
 .club-smallpage .club-heading{font-size:clamp(36px,9vw,49px)}
 .club-smallpage p[data-club-intro]{font-size:15px;line-height:1.7}
 .club-subheading{font-size:clamp(29px,7vw,37px)}
 .club-card h3,.club-panel h3{font-size:24px}
}
@media(prefers-reduced-motion:reduce){
 .club-nav__list a,.club-subnav__list a{transition:none}
}


/* V6 — navigation simplifiée et photographies harmonisées. */
/* Six liens principaux ; pas de boutons ou panneaux déroulants en doublon. */
.club-nav{position:relative;z-index:30}
.club-nav__list{flex-wrap:nowrap;gap:5px;min-width:0}
.club-nav__list li{min-width:0}
.club-nav__list a{font-size:15px;padding:0 17px;min-height:64px}
.club-nav__list a[aria-current="page"]{border-bottom-color:var(--club-accent)}
/* Les sous-rubriques restent dans une barre secondaire discrète, propre aux pages intérieures. */
.club-subnav{z-index:18;background:#f3f1eb;border-bottom-color:#dfe3df;box-shadow:none}
.club-subnav__inner{min-height:53px;gap:16px}
.club-subnav__label{font-size:10px;color:#64747a}
.club-subnav__list{gap:5px}
.club-subnav__list a{min-height:36px;padding:7px 11px;font-size:13px;border-radius:8px;background:transparent;border-color:transparent}
.club-subnav__list a[aria-current="page"]{background:#e3ebeb;border-color:#cbdad8;color:#17313a;box-shadow:none}

/* Bandeaux : texte et image demeurent dans deux colonnes séparées. */
.club-page-hero{background:#112e39;overflow:hidden;min-height:0}
.club-page-hero:before,.club-page-hero:after{display:none}
.club-page-hero__inner{
 display:grid;
 grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
 gap:clamp(20px,3vw,48px);
 align-items:center;
 padding-block:37px;
}
.club-page-hero__copy{min-width:0}
.club-page-hero__copy h1{font-size:clamp(39px,4.25vw,61px);line-height:1.09;overflow-wrap:break-word}
.club-page-hero__visual{
 min-width:0;min-height:330px;height:100%;
 background:url("/assets/banner-competitions.webp") right center/cover no-repeat;
 border-radius:16px;
 box-shadow:0 18px 34px rgba(0,0,0,.15);
}
.club-smallpage{background:#112e39;isolation:auto;padding:32px 0}
.club-smallpage::before,.club-smallpage::after{display:none}
.club-smallpage__layout{
 display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
 gap:clamp(22px,3vw,48px);align-items:center;
}
.club-smallpage__copy{min-width:0;position:relative;z-index:1}
.club-smallpage .club-heading{font-size:clamp(34px,4vw,53px);line-height:1.12;overflow-wrap:break-word}
.club-smallpage p[data-club-intro]{max-width:620px;font-size:15px}
.club-smallpage__visual{
 min-width:0;min-height:225px;align-self:stretch;
 background:url("/assets/card-matchs.webp") center/cover no-repeat;
 border-radius:16px;
}
[data-club-page="le-club"] .club-smallpage__visual{background-image:url("/assets/card-membres.webp")}
[data-club-page="informations-pratiques"] .club-smallpage__visual{background-image:url("/assets/card-salles.webp")}
[data-club-page="activites-sportives"] .club-smallpage__visual{background-image:url("/assets/card-matchs.webp")}
[data-club-page="medias"] .club-smallpage__visual{background-image:url("/assets/banner-community.webp");background-position:85% center}
[data-club-page="contact-et-liens"] .club-smallpage__visual{background-image:url("/assets/card-annuaire-clubs.webp")}

/* Six scènes distinctes sur l'accueil : compétition, groupe de membres,
   tournoi, convivialité, entraînement et salle. Assets locaux, aucune dépendance. */
.club-card__cover--welcome{
 background:linear-gradient(0deg,rgba(6,24,32,.32),rgba(255,255,255,.06) 80%),url("/assets/card-membres.webp") center/cover no-repeat;
 border-radius:16px;
}
.club-card__cover--match{
 background:linear-gradient(0deg,rgba(6,24,32,.40),rgba(255,255,255,.02) 80%),url("/assets/card-tournois.webp") 78% center/cover no-repeat;
}
.club-card__cover--collectif{
 background:linear-gradient(0deg,rgba(6,24,32,.40),rgba(255,255,255,.02) 80%),url("/assets/banner-community.webp") 80% center/cover no-repeat;
}
.club-card__cover--formation{
 background:linear-gradient(0deg,rgba(6,24,32,.40),rgba(255,255,255,.02) 80%),url("/assets/banner-account.webp") 78% center/cover no-repeat;
}
.club-feature__visual{
 background:linear-gradient(rgba(255,255,255,.03),rgba(255,255,255,.03)),url("/assets/card-annuaire-clubs.webp") center/cover no-repeat;
}
.club-page-hero__visual,.club-smallpage__visual,.club-room-photo,.club-feature__visual{
 filter:brightness(1.06) saturate(1.08);
 border-radius:16px;
}
.club-card__cover--welcome,.club-card__cover--match,.club-card__cover--collectif,.club-card__cover--formation{
 background-blend-mode:normal;
}

/* Sur tablette et mobile, menu principal repliable. Pas d'accordéons imbriqués. */
@media(max-width:980px){
 .club-mobile-trigger{display:inline-flex}
 .club-nav__inner{display:block}
 .club-nav__list{display:grid;grid-template-columns:1fr;gap:0;max-width:100%;padding:6px 0}
 .js .club-nav__list:not([data-open="true"]){display:none}
 .club-nav__list li{border-bottom:1px solid rgba(255,255,255,.10)}
 .club-nav__list a{
  display:flex;justify-content:flex-start;align-items:center;
  min-height:50px;padding:11px 15px;font-size:15px;
  border:0;border-left:4px solid transparent;border-radius:0;
 }
 .club-nav__list a[aria-current="page"]{border:0;border-left:4px solid var(--club-accent)}
 .club-subnav__inner{display:block;min-height:0;padding-block:8px}
 .club-subnav__label{display:block;margin-bottom:4px}
 .club-subnav__list a{font-size:13px;min-height:38px}
}
@media(max-width:760px){
 .club-page-hero__inner{grid-template-columns:1fr;padding-block:31px;gap:24px}
 .club-page-hero__copy h1{font-size:clamp(38px,9vw,53px)}
 .club-page-hero__visual{height:auto;min-height:215px;aspect-ratio:16/9}
 .club-smallpage__layout{grid-template-columns:1fr;gap:21px}
 .club-smallpage{padding:31px 0}
 .club-smallpage .club-heading{font-size:clamp(34px,8vw,47px)}
 .club-smallpage__visual{min-height:175px;aspect-ratio:16/7}
}
@media(min-width:761px) and (max-width:980px){
 .club-page-hero__inner,.club-smallpage__layout{grid-template-columns:1fr}
 .club-page-hero__visual{height:auto;min-height:230px;aspect-ratio:16/7}
 .club-smallpage__visual{min-height:190px;aspect-ratio:16/6}
}


/* V6.1 — accueil du club et cohérence des titres. */
/* Même fonte et même rythme visuel sur les principaux titres de l'accueil. */
.club-page-hero__copy h1,
[data-club-page="accueil"] .club-heading,
[data-club-page="accueil"] .club-subheading,
[data-club-page="accueil"] .club-feature h3{
 font-family:Georgia,"Times New Roman",serif;
 font-weight:700;
 letter-spacing:-.034em;
 line-height:1.12;
}
.club-page-hero__copy h1{font-size:clamp(40px,4.6vw,60px)}
[data-club-page="accueil"] .club-heading{font-size:clamp(36px,4.1vw,53px)}
[data-club-page="accueil"] .club-subheading{font-size:clamp(30px,3vw,40px)}
[data-club-page="accueil"] .club-feature h3{font-size:clamp(29px,3vw,38px)}

/* Coordonnées fictives directement consultables, en retrait sous les actions,
   sans panneau superposé à la photographie ni bloc supplémentaire lourd. */
.club-page-hero__facts{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:18px;
 margin-top:24px;
 padding-top:16px;
 border-top:1px solid rgba(235,238,231,.26);
}
.club-page-hero__fact{display:flex;flex-direction:column;min-width:0;gap:4px}
.club-page-hero__fact-label{
 display:block;
 color:#e3b979;
 font-size:10px;
 font-weight:850;
 text-transform:uppercase;
 letter-spacing:.12em;
}
.club-page-hero__fictive{color:#c9d6d6;font-size:10px;text-transform:none;letter-spacing:0;font-weight:500}
.club-page-hero__fact-value{color:#fff;font-size:13px;font-weight:700;line-height:1.5}
.club-page-hero__fact-detail{color:#c8d7d9;font-size:12px;line-height:1.45}
.club-page-hero__fact:hover .club-page-hero__fact-value{text-decoration:underline;text-underline-offset:3px}
.club-page-hero__fact:focus-visible{border-radius:3px;outline-color:var(--club-accent)}

@media(max-width:760px){
 .club-page-hero__facts{grid-template-columns:1fr;gap:13px;margin-top:22px;padding-top:14px}
 .club-page-hero__copy h1{font-size:clamp(37px,9vw,51px)}
 [data-club-page="accueil"] .club-heading{font-size:clamp(34px,8vw,45px)}
 [data-club-page="accueil"] .club-subheading{font-size:clamp(28px,7vw,36px)}
}
