/* Club Horizon — accueil V7
 * Style local au site modèle. Le menu principal V6 et les 17 sous-rubriques ne changent pas.
 * Photos d'illustration issues d'Unsplash, avec repli sur les médias locaux.
 * Le rendu définitif de chaque club sera alimenté par ses propres médias. */

/* En-tête : l'identité, la salle, les horaires et le contact sur une seule ligne. */
.club-site .club-masthead__inner,
.club-site .club-nav__inner,
.club-site .club-demo-strip__inner,
.club-site .club-page-hero__inner,
.club-site .club-home-content{
 width:min(1440px,calc(100% - 48px));
}
.club-masthead__inner{min-height:82px;gap:24px}
.club-brand__name{font-size:clamp(23px,2.15vw,32px)}
.club-brand__sub{font-size:11px;color:#45616b}
.club-masthead__right{gap:25px}
.club-header-info{
 display:flex;align-items:center;gap:11px;
 min-width:0;
 color:#152b38;
 font-size:12px;line-height:1.35;
}
.club-header-info strong{display:block;font-weight:800;white-space:nowrap}
.club-header-info small{display:block;font-size:11px;color:#50636a;white-space:nowrap}
.club-header-info__icon{
 font-family:system-ui,-apple-system,sans-serif;
 font-size:25px;line-height:1;
 font-weight:700;color:#203e4b;
}
.club-header-info:hover strong{text-decoration:underline;text-underline-offset:3px}
.club-header-cta{
 display:inline-flex;align-items:center;justify-content:center;gap:9px;
 min-height:44px;
 padding:10px 23px;
 border-radius:100px;
 background:linear-gradient(180deg,#f8d992,#dfb05d);
 box-shadow:0 4px 11px rgba(101,64,14,.1);
 color:#132b36!important;
 font-size:13px;font-weight:850;
 white-space:nowrap;
}
.club-header-cta:hover{filter:brightness(1.03)}
.club-header-cta span{font-size:16px}
.club-demo-strip{background:#f0f0ed;color:#253744;border-bottom-color:#dbe0df}
.club-demo-strip__inner{min-height:34px}
.club-nav{background:linear-gradient(90deg,#063e4b,#0a4852);box-shadow:none}
.club-nav__list a{min-height:58px}
.club-nav__list a[aria-current="page"]{background:rgba(255,255,255,.08)}

/* Le texte du bandeau reste toujours dans sa propre colonne.
   L'image occupe la seconde et sa diagonale ne recouvre pas les titres. */
.club-page-hero--reference{
 display:block;min-height:0;
 overflow:hidden;
 background:linear-gradient(105deg,#0a3643 0%,#083746 60%,#0d4451 100%);
}
.club-page-hero--reference:before,
.club-page-hero--reference:after{display:none}
.club-page-hero--reference .club-page-hero__inner{
 display:grid;
 grid-template-columns:minmax(0,1.06fr) minmax(0,1.17fr);
 align-items:stretch;gap:0;
 min-height:352px;
 padding-block:0;
}
.club-page-hero--reference .club-page-hero__copy{
 position:relative;z-index:2;min-width:0;
 max-width:none;
 padding:46px 56px 41px 0;
 align-self:center;
}
.club-page-hero--reference .club-hero-eyebrow{
 font-size:11px;font-weight:900;letter-spacing:.17em;color:#ffcd70;
}
.club-page-hero--reference h1{
 margin:17px 0 13px;
 color:#fff;
 font-family:Georgia,"Times New Roman",serif;
 font-weight:700;letter-spacing:-.04em;
 font-size:clamp(40px,3.9vw,60px);
 line-height:1.09;
 max-width:620px;
}
.club-page-hero--reference p{
 margin:0 0 20px;
 max-width:590px;
 color:#e1eff0;
 font-size:15px;
 line-height:1.7;
}
.club-page-hero--reference .club-page-hero__actions{gap:13px}
.club-page-hero--reference .club-page-hero__visual{
 --club-hero-bled: max(24px,calc((100vw - 1440px)/2));
 position:relative;
 align-self:stretch;
 width:calc(100% + var(--club-hero-bled));
 min-height:352px;
 height:auto;
 margin-right:calc(0px - var(--club-hero-bled));
 border-radius:0;
 box-shadow:none;
 background-image:
  linear-gradient(90deg,rgba(12,51,62,.14),transparent 36%),
  url("https://images.unsplash.com/photo-1580186048606-73e047f28e43?auto=format&fit=crop&w=1600&q=80"),
  url("/assets/banner-competitions.webp");
 background-size:cover;
 background-position:center;
 clip-path:polygon(9% 0,100% 0,100% 100%,0 100%);
 filter:none;
}
.club-page-hero--reference .club-page-hero__visual::before{
 content:"";
 position:absolute;inset:0 auto 0 0;
 width:9%;pointer-events:none;
 background:#dfad55;
 clip-path:polygon(94% 0,100% 0,6% 100%,0 100%);
}

/* Accueil de club, deux sections utiles avant le bas de page. */
.club-home-content{
 padding:40px 0 58px;
}
.club-home-intro{
 display:grid;
 grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
 gap:38px;align-items:center;
 margin-bottom:36px;
}
.club-home-intro__copy{min-width:0}
.club-home-intro .club-heading{
 position:relative;
 margin:0 0 15px;
 padding-left:21px;
 font-family:Georgia,"Times New Roman",serif;
 font-size:clamp(27px,2.3vw,37px);
 line-height:1.2;
 letter-spacing:-.035em;
}
.club-home-intro .club-heading::before,
.club-home-news-heading .club-subheading::before{
 content:"";position:absolute;left:0;top:.56em;width:12px;height:3px;background:#d8a044;
}
.club-home-intro p{
 margin:0;
 font-size:14px;line-height:1.75;
 color:#324c57;
}
.club-home-textlink{
 display:inline-flex;align-items:center;gap:7px;
 margin-top:13px;color:#956027!important;font-size:13px;font-weight:800;
}
.club-home-textlink:hover{text-decoration:underline}
.club-home-intro__photo{
 min-width:0;min-height:168px;
 aspect-ratio:2.7/1;
 border-radius:14px;
 background-image:
  url("https://images.unsplash.com/photo-1657248319222-1a29eeea2fd6?auto=format&fit=crop&w=1100&q=78"),
  url("/assets/card-salles.webp");
 background-position:center;
 background-size:cover;
 box-shadow:0 8px 26px rgba(23,48,58,.09);
}
.club-home-news-section{margin:0 0 35px}
.club-home-news-heading{
 display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:15px;
}
.club-home-news-heading .club-subheading{
 position:relative;padding-left:21px;margin:0;
 font-family:Georgia,"Times New Roman",serif;
 font-size:clamp(25px,2.15vw,34px);
 line-height:1.2;letter-spacing:-.028em;
}
.club-home-news-heading__note{
 color:#a26d2d;font-size:12px;font-weight:800;white-space:nowrap;
}
.club-home-news{gap:16px}
.club-home-news .club-card{
 display:grid;
 grid-template-columns:minmax(0,.97fr) minmax(0,1.13fr);
 min-height:145px;
 border-radius:15px;
 overflow:hidden;
 box-shadow:0 6px 19px rgba(14,34,45,.05);
}
.club-home-news .club-card__cover{
 min-width:0;
 min-height:145px;
 height:100%;
 border-radius:0;
 background-size:cover;
 background-position:center;
}
.club-home-news .club-card__cover--match{
 background-image:
  url("https://images.unsplash.com/photo-1666193183128-6ec58995f672?auto=format&fit=crop&w=640&q=77"),
  url("/assets/card-tournois.webp");
}
.club-home-news .club-card__cover--collectif{
 background-image:
  url("https://images.unsplash.com/photo-1671125187222-dad66b3685ee?auto=format&fit=crop&w=640&q=77"),
  url("/assets/card-membres.webp");
}
.club-home-news .club-card__cover--formation{
 background-image:
  url("https://images.unsplash.com/photo-1544281153-6603be88b354?auto=format&fit=crop&w=640&q=77"),
  url("/assets/banner-training.webp");
}
.club-home-news .club-card__body{
 display:flex;flex-direction:column;align-items:flex-start;justify-content:center;
 padding:15px 15px 14px;
 gap:7px;min-width:0;
}
.club-home-news .club-news-category{
 font-size:10px;font-weight:900;
 line-height:1.3;text-transform:uppercase;letter-spacing:.06em;
 color:#9b631e;
}
.club-home-news .club-card h3{
 margin:0;font:800 15px/1.35 system-ui,-apple-system,"Segoe UI",sans-serif;
 color:#102a37;letter-spacing:-.018em;
}
.club-home-news .club-news-date{
 display:block;
 margin-top:2px;
 color:#596e78;
 font-size:11px;line-height:1.4;
}
.club-home-disclaimer{
 margin:16px 0 0;
 padding:13px 0 0;
 border-top:1px solid #e0e5e2;
 color:#69777a;font-size:11px;line-height:1.6;
}

/* Lien accueil utile même sur écrans intermédiaires. */
@media(max-width:1280px){
 .club-masthead__right{gap:15px}
 .club-header-info{font-size:11px;gap:8px}
 .club-header-cta{padding:9px 14px}
 .club-page-hero--reference .club-page-hero__copy{padding-right:32px}
}
@media(max-width:1080px){
 .club-masthead__right .club-header-info{display:none}
 .club-header-cta{min-height:42px}
 .club-page-hero--reference .club-page-hero__inner{grid-template-columns:minmax(0,1fr) minmax(0,.92fr)}
 .club-page-hero--reference h1{font-size:clamp(38px,4.7vw,54px)}
 .club-home-intro{gap:24px}
 .club-home-news .club-card{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
}
@media(max-width:980px){
 .club-masthead__right .club-header-cta{display:none}
 .club-page-hero--reference .club-page-hero__inner{
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
 }
 .club-page-hero--reference .club-page-hero__copy{padding-block:38px}
 .club-page-hero--reference .club-page-hero__visual{min-height:320px}
 .club-home-news{grid-template-columns:1fr}
 .club-home-news .club-card{
  grid-template-columns:minmax(135px,.35fr) minmax(0,.65fr);
  min-height:120px;
 }
 .club-home-news .club-card__cover{min-height:120px}
}
@media(max-width:760px){
 .club-site .club-masthead__inner,
 .club-site .club-nav__inner,
 .club-site .club-demo-strip__inner,
 .club-site .club-page-hero__inner,
 .club-site .club-home-content{width:min(100% - 32px,1440px)}
 .club-demo-strip__inner{font-size:10px;gap:8px;flex-wrap:wrap;padding-block:7px}
 .club-masthead__inner{min-height:76px}
 .club-page-hero--reference .club-page-hero__inner{grid-template-columns:1fr;gap:0}
 .club-page-hero--reference .club-page-hero__copy{padding:30px 0 26px}
 .club-page-hero--reference h1{font-size:clamp(36px,9vw,51px)}
 .club-page-hero--reference p{font-size:14px}
 .club-page-hero--reference .club-page-hero__visual{
  width:100%;height:auto;min-height:225px;
  margin:0 0 20px;
  aspect-ratio:16/9;
  clip-path:none;
  border-radius:12px;
 }
 .club-page-hero--reference .club-page-hero__visual::before{display:none}
 .club-home-content{padding-top:29px}
 .club-home-intro{grid-template-columns:1fr;gap:18px;margin-bottom:30px}
 .club-home-intro .club-heading{font-size:clamp(27px,6vw,34px)}
 .club-home-intro__photo{min-height:180px;aspect-ratio:16/9}
 .club-home-news-heading{align-items:start}
 .club-home-news-heading .club-subheading{font-size:clamp(26px,6vw,32px)}
 .club-home-news{gap:13px}
 .club-home-news .club-card{
  grid-template-columns:minmax(0,.42fr) minmax(0,.58fr);
 }
}
@media(max-width:390px){
 .club-home-news .club-card{grid-template-columns:1fr}
 .club-home-news .club-card__cover{height:135px;min-height:135px}
}
@media(prefers-reduced-motion:reduce){
 .club-header-cta{transition:none}
}
