/*
Theme Name: FCRM 2026
Theme URI: https://fcrueil92.fr
Author: FC Rueil Malmaison
Description: Thème sur-mesure pour le FC Rueil Malmaison — fondation de la refonte 2026. Charte bleu marine / or reprise de l'écusson du club.
Version: 1.10.25
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: fcrm2026
*/

/* ==========================================================================
   Design tokens
   ========================================================================== */
:root{
  --navy-950:#0E1A32;
  --navy-800:#173463;
  --navy-700:#20437E;
  --blue-600:#3D66A3;
  /* Doré du club — mis à jour sur demande le 14/08/2026 */
  --gold-500:#BD9259;
  --gold-300:#D6BB97;
  --gold-100:#F0E7DA;
  --paper-50:#F6F1E4;
  --paper-100:#EFE7D3;
  --ink-900:#1B2333;
  --ink-600:#4B5468;
  --line:rgba(23,52,99,0.14);
  --card-bg:#FFFFFF;
  --shadow:0 18px 40px -22px rgba(14,26,50,0.35);
  --radius:6px;
  /* Couleurs de marque des réseaux sociaux — volontairement hors palette club, pour rester reconnaissables */
  --brand-facebook:#1877F2;
  --brand-instagram:linear-gradient(135deg,#F58529,#DD2A7B 45%,#8134AF 75%,#515BD4);
  --brand-tiktok:#010101;
  --brand-youtube:#FF0000;
}

/* ==========================================================================
   Reset & base
   ========================================================================== */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--paper-50);
  color:var(--ink-900);
  font-family:'Open Sans', 'Segoe UI', Helvetica, Arial, sans-serif;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;margin:0;padding:0;}
.wrap{max-width:1200px;margin:0 auto;padding:0 clamp(1.25rem,4vw,2.5rem);}

h1,h2,h3,h4{
  font-family:'Open Sans Condensed','Open Sans',sans-serif;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.01em;
  text-wrap:balance;
  margin:0 0 0.5em;
  color:var(--navy-950);
}
p{margin:0 0 1em;}

.eyebrow{
  font-family:'Open Sans Condensed','Open Sans',sans-serif;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:0.14em;
  font-size:0.78rem;
  color:var(--gold-500);
  display:flex;
  align-items:center;
  gap:.6em;
  margin-bottom:.6em;
}
.eyebrow::before{
  content:"";
  width:1.4em;height:2px;background:var(--gold-500);display:inline-block;
}

.btn{
  display:inline-flex;align-items:center;gap:0.5rem;
  font-family:'Open Sans Condensed',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:0.04em;
  font-size:0.88rem;padding:0.72rem 1.4rem;border-radius:2px;
  border:2px solid transparent;cursor:pointer;
}
.btn-gold{background:var(--gold-500);color:var(--navy-950);}
.btn-gold:hover{background:var(--gold-300);}
.btn-ghost{border-color:rgba(255,255,255,0.55);color:#fff;}
.btn-ghost:hover{border-color:var(--gold-500);color:var(--gold-300);}
.btn-navy{background:var(--navy-800);color:#fff;}
.btn-navy:hover{background:var(--navy-700);}

/* ==========================================================================
   Header / nav
   ========================================================================== */
header.site{background:var(--navy-800);border-bottom:1px solid rgba(214,187,151,0.18);position:sticky;top:0;z-index:60;}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;padding-top:.7rem;padding-bottom:.7rem;gap:1.5rem;}
.brand{display:flex;align-items:center;gap:0.75rem;}
.brand img{width:46px;height:auto;}
.brand-name{color:#fff;line-height:1.05;}
.brand-name .top{font-size:0.64rem;letter-spacing:0.16em;color:var(--gold-300);font-family:'Open Sans Condensed',sans-serif;font-weight:600;text-transform:uppercase;}
.brand-name .main{font-family:'Open Sans Condensed',sans-serif;font-weight:700;font-size:1.15rem;text-transform:uppercase;letter-spacing:0.01em;}

nav.main-nav{display:flex;align-items:center;gap:1.4rem;}
nav.main-nav > ul{display:flex;align-items:center;gap:1.4rem;}
nav.main-nav > ul > li{position:relative;}
nav.main-nav > ul > li > a{
  color:rgba(255,255,255,0.88);
  font-family:'Open Sans Condensed',sans-serif;font-weight:600;
  font-size:0.86rem;text-transform:uppercase;letter-spacing:0.03em;
  padding:1.1rem 0;display:inline-block;border-bottom:2px solid transparent;
}
nav.main-nav > ul > li:hover > a,
nav.main-nav > ul > li > a:focus{border-color:var(--gold-500);color:#fff;}
nav.main-nav .sub-menu{
  display:none;position:absolute;top:100%;left:0;min-width:230px;
  background:var(--navy-950);border:1px solid rgba(214,187,151,0.18);
  padding:0.5rem 0;box-shadow:var(--shadow);z-index:80;
}
/* Survol desktop uniquement : sur mobile/tactile, un tap peut laisser un état
   ":hover" collé sur l'élément (quirk iOS/Android), ce qui fait gagner cette
   règle (plus spécifique) sur la fermeture du sous-menu au clic — d'où le bug
   "je n'arrive pas à refermer Le club". On la limite donc aux vrais écrans
   larges à souris, en dehors de la zone gérée par le menu mobile déroulant. */
@media (min-width:981px){
  nav.main-nav li:hover > .sub-menu{display:block;}
}
nav.main-nav .sub-menu a{
  display:block;padding:0.55rem 1.1rem;font-size:0.85rem;color:rgba(255,255,255,0.82);
  font-family:'Open Sans',sans-serif;text-transform:none;letter-spacing:0;
}
nav.main-nav .sub-menu a:hover{color:var(--gold-300);background:rgba(255,255,255,0.04);}

.mobile-toggle{display:none;background:none;border:none;color:#fff;font-size:1.6rem;cursor:pointer;padding:0.4rem;line-height:1;min-width:2.75rem;min-height:2.75rem;}
.submenu-toggle{display:none;}

@media (max-width: 980px){
  nav.main-nav{
    display:none;position:absolute;top:100%;left:0;right:0;background:var(--navy-950);
    flex-direction:column;padding:1rem 0;border-top:1px solid rgba(214,187,151,0.18);
    max-height:calc(100vh - 8.5rem);max-height:calc(100dvh - 8.5rem);
    overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;
  }
  nav.main-nav.is-open{display:flex;}
  nav.main-nav > ul{flex-direction:column;align-items:flex-start;width:100%;gap:0;}
  nav.main-nav > ul > li{width:100%;display:flex;flex-wrap:wrap;align-items:center;}
  nav.main-nav > ul > li > a{flex:1;width:auto;padding:0.8rem 1.5rem;}
  .submenu-toggle{
    display:flex;align-items:center;justify-content:center;flex:none;
    width:2.9rem;height:2.9rem;background:none;border:none;color:rgba(255,255,255,0.65);cursor:pointer;
  }
  .submenu-toggle svg{width:1.05rem;height:1.05rem;transition:transform .2s;}
  .submenu-toggle[aria-expanded="true"] svg{transform:rotate(180deg);color:var(--gold-300);}
  nav.main-nav .sub-menu{position:static;display:none;flex:1 0 100%;box-shadow:none;border:none;padding-left:1rem;background:rgba(255,255,255,0.02);}
  nav.main-nav li.sub-open > .sub-menu{display:block;}
  .mobile-toggle{display:block;}
  header.site .wrap{flex-wrap:wrap;}
  .header-cta{order:3;width:100%;margin-top:.6rem;}
  .header-cta .btn{width:100%;justify-content:center;}
  .brand{min-width:0;flex:1;}
  .brand-name{min-width:0;}
}

/* Écrans très étroits (petits téléphones, ≤ 380px) : resserre le bloc logo/nom */
@media (max-width:380px){
  .brand{gap:0.5rem;}
  .brand img{width:36px;}
  .brand-name .top{font-size:0.58rem;}
  .brand-name .main{font-size:0.98rem;}
}

/* ==========================================================================
   Pennant divider
   ========================================================================== */
.pennant-cut{height:22px;background:var(--paper-50);
  clip-path:polygon(0 100%,4% 0,8% 100%,12% 0,16% 100%,20% 0,24% 100%,28% 0,32% 100%,36% 0,40% 100%,44% 0,48% 100%,52% 0,56% 100%,60% 0,64% 100%,68% 0,72% 100%,76% 0,80% 100%,84% 0,88% 100%,92% 0,96% 100%,100% 0,100% 100%);
}

/* ==========================================================================
   Hero
   ========================================================================== */
.hero{position:relative;background:radial-gradient(120% 140% at 82% 0%, var(--navy-700) 0%, var(--navy-800) 42%, var(--navy-950) 100%);color:#fff;overflow:hidden;}
.hero .pitch-lines{position:absolute;inset:0;width:100%;height:100%;opacity:0.16;}
.hero .glow{position:absolute;right:-10%;top:-15%;width:60%;height:120%;background:radial-gradient(closest-side, rgba(189,146,89,0.35), transparent 70%);pointer-events:none;}
.hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr 0.85fr;gap:3rem;align-items:center;padding-top:clamp(3rem,6vw,5rem);padding-bottom:clamp(2.6rem,5vw,4rem);}
.hero-eyebrow{color:var(--gold-300);}
.hero h1{color:#fff;font-size:clamp(2.4rem,4.6vw,3.9rem);line-height:0.98;margin-top:0.7rem;}
.hero h1 em{font-style:normal;color:var(--gold-300);}
.hero p.lede{font-size:1.08rem;color:rgba(255,255,255,0.82);max-width:34rem;margin-top:1.1rem;font-weight:400;}
.hero-ctas{display:flex;gap:1rem;margin-top:1.8rem;flex-wrap:wrap;}
.hero-badges{margin-top:2.2rem;display:flex;gap:1.5rem;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,0.16);padding-top:1.4rem;}
.hero-badges div{max-width:12rem;}
.hero-badges .num{font-family:'Open Sans Condensed',sans-serif;font-weight:700;font-size:1.35rem;color:var(--gold-300);text-transform:uppercase;line-height:1;}
.hero-badges .lbl{font-size:0.8rem;color:rgba(255,255,255,0.72);margin-top:0.3rem;}
.hero-crest{position:relative;display:flex;align-items:center;justify-content:center;}
.hero-crest .ring{position:absolute;inset:0;border-radius:50%;border:1px dashed rgba(214,187,151,0.4);animation:fcrm-spin 60s linear infinite;}
@media (prefers-reduced-motion:reduce){.hero-crest .ring{animation:none;}}
@keyframes fcrm-spin{to{transform:rotate(360deg);}}
.hero-crest img{width:clamp(160px,20vw,260px);filter:drop-shadow(0 20px 40px rgba(0,0,0,0.45));position:relative;z-index:2;}

/* ==========================================================================
   Sections
   ========================================================================== */
section{padding:clamp(3rem,6vw,5rem) 0;}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:2.4rem;flex-wrap:wrap;}
.section-head h2{font-size:clamp(1.7rem,3vw,2.4rem);color:var(--navy-950);}
.section-head p{color:var(--ink-600);max-width:32rem;margin-top:0.5rem;}

.club-band{background:var(--navy-950);color:#fff;}
.club-band-inner{display:grid;grid-template-columns:0.9fr 1.1fr;gap:3rem;align-items:center;}
.club-band .eyebrow{color:var(--gold-300);}
.club-band h2{color:#fff;font-size:clamp(1.7rem,3vw,2.3rem);}
.club-band p{color:rgba(255,255,255,0.72);margin-top:0.7rem;max-width:30rem;}
.club-band .btn{margin-top:1.4rem;}
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem;}
.stat-card{background:rgba(255,255,255,0.04);border:1px solid rgba(214,187,151,0.16);border-radius:var(--radius);padding:1.5rem 1.3rem;}
.stat-card .icon{width:2.4rem;height:2.4rem;border-radius:50%;background:rgba(214,187,151,0.14);color:var(--gold-300);display:flex;align-items:center;justify-content:center;margin-bottom:0.9rem;}
.stat-card .icon svg{width:1.2rem;height:1.2rem;}
.stat-card .num{font-family:'Open Sans Condensed',sans-serif;font-weight:700;font-size:1.5rem;color:var(--gold-300);text-transform:uppercase;line-height:1;}
.stat-card .lbl{font-size:0.84rem;color:rgba(255,255,255,0.68);margin-top:0.4rem;}

/* Cartes "pourquoi le FCRM" (valeurs du club) */
.values{display:grid;grid-template-columns:repeat(4,1fr);gap:1.3rem;}
.value-card{background:var(--card-bg);border:1px solid var(--line);border-radius:var(--radius);padding:1.7rem 1.4rem;box-shadow:var(--shadow);}
.value-card .icon{width:2.5rem;height:2.5rem;border-radius:50%;background:var(--gold-100);color:var(--navy-800);display:flex;align-items:center;justify-content:center;margin-bottom:1rem;}
.value-card .icon svg{width:1.25rem;height:1.25rem;}
.value-card h3{font-size:1.08rem;}
.value-card p{font-size:0.9rem;color:var(--ink-600);margin:0.5rem 0 0;}

/* Réseaux sociaux */
.socials{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;}
.social-card{border-radius:var(--radius);padding:1.6rem 1.4rem;color:#fff;display:flex;flex-direction:column;gap:0.9rem;box-shadow:var(--shadow);}
.social-card .icon{width:2.6rem;height:2.6rem;border-radius:50%;background:rgba(255,255,255,0.18);display:flex;align-items:center;justify-content:center;}
.social-card .icon svg{width:1.3rem;height:1.3rem;}
.social-card h3{color:#fff;font-size:1rem;margin:0;}
.social-card p{font-size:0.85rem;color:rgba(255,255,255,0.82);margin:0;flex:1;}
.social-card .btn{align-self:flex-start;background:rgba(255,255,255,0.92);color:var(--ink-900);}
.social-card .btn:hover{background:#fff;}
.social-card.facebook{background:var(--brand-facebook);}
.social-card.instagram{background:var(--brand-instagram);}
.social-card.tiktok{background:var(--brand-tiktok);}
.social-card.youtube{background:var(--brand-youtube);}

.poles-band{background:var(--navy-950);color:#fff;}
.poles-band .eyebrow{color:var(--gold-300);}
.poles-band .section-head h2{color:#fff;}
.poles-band .section-head p{color:rgba(255,255,255,0.68);}
.poles{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;}
.pole-card{border-radius:var(--radius);overflow:hidden;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.1);display:flex;flex-direction:column;}
/* aspect-ratio 3/2 = format des photos d'équipe (ex. Pôle Masculin/Féminin) : évite de rogner
   les têtes ou les pieds sur ces photos-là ; les photos au format différent (ex. École de foot,
   portrait) ne perdent que les côtés, jamais le haut/bas. */
.pole-swatch{aspect-ratio:3/2;position:relative;overflow:hidden;}
.pole-swatch img{width:100%;height:100%;object-fit:cover;object-position:center 20%;display:block;}
.pole-swatch.is-placeholder{display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,0.03);border-bottom:1.5px dashed var(--gold-500);box-sizing:border-box;}
.pole-swatch.is-placeholder svg{width:2.2rem;height:2.2rem;color:var(--gold-500);}
.pole-swatch .stripes{position:absolute;inset:0;background-image:repeating-linear-gradient(115deg, var(--s1) 0 26px, var(--s2) 26px 52px);}
.pole-swatch .tag{position:absolute;bottom:0.6rem;left:0.85rem;font-family:'Open Sans Condensed',sans-serif;font-weight:700;font-size:0.7rem;letter-spacing:0.08em;text-transform:uppercase;background:rgba(14,26,50,0.55);color:var(--gold-300);padding:0.24rem 0.55rem;border-radius:2px;}
.pole-body{padding:1.1rem 1.2rem 1.3rem;flex:1;display:flex;flex-direction:column;}
.pole-body h3{color:#fff;font-size:1rem;}
.pole-body p{font-size:0.85rem;color:rgba(255,255,255,0.68);margin:0.45rem 0 0;flex:1;}
.pole-body .go{margin-top:0.8rem;font-family:'Open Sans Condensed',sans-serif;font-weight:600;font-size:0.78rem;text-transform:uppercase;letter-spacing:0.05em;color:var(--gold-300);}
.pole-card:hover .go{color:var(--gold-500);}

.news-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:1.3rem;}
.news-card{background:var(--card-bg);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;}
.news-card.feature{grid-row:span 2;}
.news-media{position:relative;background:linear-gradient(135deg,var(--navy-800),var(--navy-950));aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.news-card.feature .news-media{aspect-ratio:16/12;}
.news-media img{width:100%;height:100%;object-fit:cover;}
.news-media svg{width:2.2rem;height:2.2rem;opacity:0.5;color:var(--gold-300);}
.news-cat{position:absolute;top:0.75rem;left:0.75rem;background:var(--gold-500);color:var(--navy-950);font-family:'Open Sans Condensed',sans-serif;font-weight:700;font-size:0.66rem;letter-spacing:0.06em;text-transform:uppercase;padding:0.26rem 0.55rem;border-radius:2px;}
.news-body{padding:1.2rem 1.3rem 1.4rem;flex:1;display:flex;flex-direction:column;}
.news-date{font-size:0.76rem;color:var(--ink-600);font-family:'Open Sans Condensed',sans-serif;letter-spacing:0.04em;text-transform:uppercase;}
.news-body h3{font-size:1.02rem;margin-top:0.45rem;color:var(--navy-950);}
.news-card.feature .news-body h3{font-size:1.28rem;}
.news-body p{font-size:0.86rem;color:var(--ink-600);margin-top:0.5rem;flex:1;}
.news-body .go{margin-top:0.8rem;font-family:'Open Sans Condensed',sans-serif;font-weight:600;font-size:0.78rem;text-transform:uppercase;letter-spacing:0.05em;color:var(--blue-600);}
.news-grid-compact{grid-template-columns:repeat(2,1fr);}
@media (max-width:640px){.news-grid-compact{grid-template-columns:1fr;}}

/* ==========================================================================
   Pagination (fil info du club)
   ========================================================================== */
.pagination{margin-top:2.6rem;display:flex;justify-content:center;}
.pagination .nav-links{display:flex;align-items:center;gap:0.5rem;flex-wrap:wrap;}
.pagination .page-numbers{
  display:flex;align-items:center;justify-content:center;
  min-width:2.5rem;height:2.5rem;padding:0 0.8rem;
  border-radius:var(--radius);border:1px solid var(--line);
  background:var(--card-bg);color:var(--navy-950);
  font-family:'Open Sans Condensed',sans-serif;font-weight:600;font-size:0.92rem;
  transition:border-color .15s,background .15s,color .15s;
}
.pagination .page-numbers.dots{border-color:transparent;background:none;color:var(--ink-600);}
.pagination a.page-numbers:hover{border-color:var(--gold-500);color:var(--gold-500);}
.pagination .page-numbers.current{background:var(--navy-950);color:#fff;border-color:var(--navy-950);}
.pagination a.next,.pagination a.prev{padding:0 1.1rem;background:var(--navy-950);color:#fff;border-color:var(--navy-950);}
.pagination a.next:hover,.pagination a.prev:hover{background:var(--gold-500);border-color:var(--gold-500);color:var(--navy-950);}

.rdv{background:linear-gradient(120deg,var(--gold-500),var(--gold-300));color:var(--navy-950);border-radius:8px;display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap;padding:2rem clamp(1.5rem,4vw,3rem);}
.rdv h2{font-size:clamp(1.4rem,2.4vw,1.9rem);color:var(--navy-950);}
.rdv p{margin-top:0.35rem;color:rgba(14,26,50,0.75);max-width:30rem;font-size:0.92rem;}
.rdv .ctas{display:flex;gap:0.75rem;flex-wrap:wrap;}
.rdv .btn-navy{background:var(--navy-950);}
.rdv .btn-ghost{border-color:var(--navy-950);color:var(--navy-950);}
.rdv .btn-ghost:hover{background:var(--navy-950);color:var(--gold-300);}

.partners{border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.partners .wrap{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;padding:1.6rem 0;}
.partner-banner{flex:1;min-width:0;background:#fff;border:2px solid var(--blue-600);border-radius:6px;display:flex;align-items:center;justify-content:space-around;flex-wrap:wrap;gap:1.4rem 2.2rem;padding:1.3rem 2rem;}
.partner-banner img{height:46px;width:auto;max-width:150px;object-fit:contain;}
.partners a.become{font-family:'Open Sans Condensed',sans-serif;font-weight:600;font-size:0.82rem;text-transform:uppercase;letter-spacing:0.04em;color:var(--blue-600);white-space:nowrap;}

/* ==========================================================================
   Generic page template
   ========================================================================== */
.page-hero{background:linear-gradient(120deg,var(--navy-800),var(--navy-950));color:#fff;padding:clamp(2.6rem,5vw,3.6rem) 0;}
.page-hero h1{color:#fff;font-size:clamp(1.9rem,3.6vw,2.7rem);}
.page-hero .crumbs{font-family:'Open Sans Condensed',sans-serif;font-size:0.8rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--gold-300);}
.page-content{padding:clamp(2.6rem,5vw,3.6rem) 0;}
.page-content .entry{max-width:48rem;font-size:1.02rem;color:var(--ink-900);}
.page-content .entry h2,.page-content .entry h3{text-transform:none;letter-spacing:0;color:var(--navy-950);}
.page-content .entry a{color:var(--blue-600);text-decoration:underline;}
.page-content .entry img{border-radius:var(--radius);}
/* Sécurité responsive pour le contenu WordPress embarqué (articles) :
   tableaux, vidéos et embeds ne doivent jamais dépasser la largeur de l'écran. */
.page-content .entry table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-collapse:collapse;}
.page-content .entry iframe,
.page-content .entry embed,
.page-content .entry video,
.page-content .entry object{max-width:100%;}
.page-content .entry .wp-embed-responsive .wp-has-aspect-ratio{max-width:100%;}

/* Pôle — grille d'équipes */
.fiche-pole-tag{display:inline-block;margin-top:0.9rem;font-family:'Open Sans Condensed',sans-serif;font-weight:600;font-size:0.8rem;text-transform:uppercase;letter-spacing:0.04em;color:var(--gold-300);border-bottom:1px solid rgba(214,187,151,0.4);}
.fiche-pole-tag:hover{color:#fff;border-color:#fff;}
.team-grid{margin-top:2.4rem;display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem;}
.team-card{background:var(--card-bg);border:1px solid var(--line);border-radius:var(--radius);padding:1.3rem 1.2rem;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:0.35rem;text-decoration:none;transition:border-color .15s,transform .15s;}
.team-card:hover{border-color:var(--gold-500);transform:translateY(-2px);}
.team-card-cat{font-family:'Open Sans Condensed',sans-serif;font-weight:700;font-size:1.15rem;color:var(--navy-950);text-transform:uppercase;}
.team-card-niveau{font-size:0.78rem;color:var(--ink-600);}
.team-card .go{margin-top:0.5rem;font-family:'Open Sans Condensed',sans-serif;font-weight:600;font-size:0.76rem;text-transform:uppercase;letter-spacing:0.04em;color:var(--blue-600);}
.team-card-soon{opacity:0.55;}
.team-card-soon:hover{border-color:var(--line);transform:none;}
.team-card-soon .go{color:var(--ink-600);}
/* Catégorie sans fiche dédiée : carte statique (non cliquable) affichant les horaires. */
.team-card-static{cursor:default;}
.team-card-static:hover{border-color:var(--line);transform:none;}
.team-card-hours{font-size:0.85rem;color:var(--ink-600);line-height:1.55;margin:0.2rem 0 0;}

/* Cellule de recrutement — cartes "anciens joueurs du FCRM" (page-cellule-de-recrutement.php) */
.alumni-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.4rem;}
.player-card{background:var(--card-bg);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;}
.player-photo{aspect-ratio:3/4;position:relative;background:var(--navy-950);overflow:hidden;}
.player-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;}
.player-photo.is-placeholder{display:flex;align-items:center;justify-content:center;background:rgba(23,52,99,0.05);border-bottom:1.5px dashed var(--gold-500);box-sizing:border-box;}
.player-photo.is-placeholder svg{width:2.6rem;height:2.6rem;color:var(--gold-500);}
.player-badge{position:absolute;top:0.7rem;left:0.7rem;font-family:'Open Sans Condensed',sans-serif;font-weight:700;font-size:0.66rem;letter-spacing:0.05em;text-transform:uppercase;padding:0.32rem 0.65rem;border-radius:3px;}
.player-badge-pro{background:var(--gold-500);color:var(--navy-950);}
.player-badge-centre{background:var(--navy-950);color:var(--gold-300);border:1px solid rgba(214,187,151,0.4);}
.player-body{padding:1.1rem 1.2rem 1.3rem;}
.player-body h3{font-size:1.05rem;color:var(--navy-950);}
.player-poste{font-size:0.8rem;color:var(--gold-500);font-family:'Open Sans Condensed',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:0.03em;margin-top:0.2rem;}
.player-meta{display:flex;flex-wrap:wrap;gap:0.3rem 0.9rem;margin-top:0.6rem;padding-top:0.6rem;border-top:1px solid var(--line);}
.player-meta span{display:inline-flex;align-items:center;gap:0.35rem;font-size:0.8rem;color:var(--navy-800);font-weight:600;}
.player-meta svg{width:0.95rem;height:0.95rem;flex:none;color:var(--gold-500);}
.player-phrase{font-size:0.87rem;color:var(--ink-600);margin-top:0.6rem;line-height:1.5;}
.player-card-link{text-decoration:none;cursor:pointer;transition:border-color .15s,transform .15s;}
.player-card-link:hover{border-color:var(--gold-500);transform:translateY(-2px);}
.player-card-link .go{margin-top:0.8rem;display:inline-block;font-family:'Open Sans Condensed',sans-serif;font-weight:600;font-size:0.78rem;text-transform:uppercase;letter-spacing:0.04em;color:var(--gold-500);}
.player-card-link:hover .go{color:var(--navy-950);}

/* Bandeau de contact en bas de la grille de joueurs (remplace l'ancien bouton "Nous contacter") */
.cta-banner{margin-top:2.6rem;background:var(--navy-950);border-radius:var(--radius);box-shadow:var(--shadow);padding:2.6rem 2rem;text-align:center;}
.cta-banner .icon{width:3rem;height:3rem;border-radius:50%;background:var(--gold-500);color:var(--navy-950);display:flex;align-items:center;justify-content:center;margin:0 auto 1.1rem;}
.cta-banner .icon svg{width:1.4rem;height:1.4rem;}
.cta-banner h3{color:#fff;font-size:1.35rem;}
.cta-banner p{color:rgba(255,255,255,0.7);max-width:30rem;margin:0.6rem auto 1.5rem;font-size:0.92rem;}

/* Fiche individuelle "réussite" (ex. page-lucas-bretelle.php) */
/* align-items:stretch (par défaut) : la photo s'étire pour toujours égaler la
   hauteur de la colonne d'infos à côté (poste/club/parcours), quel que soit le
   nombre de lignes du parcours -> ne peut jamais dépasser la photo vers le bas. */
.profile-header{display:flex;gap:2rem;flex-wrap:wrap;margin-bottom:2.8rem;}
.profile-photo{width:220px;min-height:293px;flex:none;position:relative;overflow:hidden;border-radius:var(--radius);box-shadow:var(--shadow);background:var(--navy-950);}
.profile-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;}
.profile-photo.is-placeholder{display:flex;align-items:center;justify-content:center;background:rgba(23,52,99,0.05);border:1.5px dashed var(--gold-500);box-sizing:border-box;}
.profile-photo.is-placeholder svg{width:2.6rem;height:2.6rem;color:var(--gold-500);}
.profile-info{flex:1;min-width:14rem;padding-top:0.3rem;}
/* Le badge est en position:absolute dans .player-card (posé sur la photo) ; ici il doit
   simplement s'insérer dans le flux normal, au-dessus du poste. */
.profile-info .player-badge{position:static;display:inline-block;}
.profile-info .player-poste{font-size:1.05rem;margin-top:0.9rem;}
.profile-info .player-meta{margin-top:1rem;padding-top:0;border-top:none;}
/* Timeline "Parcours" compacte, à côté de la photo : les saisons consécutives au
   même club sont regroupées en une seule ligne (ex. "2016-2020 : Lorient") côté
   PHP, donc la liste reste courte quel que soit le nombre de saisons réelles. */
.player-parcours{margin-top:1.4rem;}
.player-parcours h4{font-family:'Open Sans Condensed',sans-serif;font-weight:700;font-size:0.75rem;text-transform:uppercase;letter-spacing:0.05em;color:var(--navy-950);margin-bottom:0.7rem;}
.player-parcours ul{list-style:none;margin:0;padding:0;border-left:2px solid var(--gold-500);}
.player-parcours li{position:relative;padding:0 0 0.85rem 1.1rem;}
.player-parcours li:last-child{padding-bottom:0;}
.player-parcours li::before{content:'';position:absolute;left:-5px;top:0.3rem;width:8px;height:8px;border-radius:50%;background:var(--line);border:2px solid var(--gold-500);box-sizing:border-box;}
.player-parcours li.is-current::before{background:var(--gold-500);}
.player-parcours .years{display:block;font-weight:700;color:var(--navy-950);font-size:0.85rem;}
.player-parcours .club{display:block;color:var(--ink-600);font-size:0.82rem;margin-top:0.05rem;}
.player-parcours li.is-current .years{color:var(--gold-500);}
.profile-story{margin-bottom:2.8rem;}
.profile-story h2{margin-bottom:1rem;}
.profile-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.2rem;margin-top:1.8rem;}
.profile-gallery-item{aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden;box-sizing:border-box;}
.profile-gallery-item img{width:100%;height:100%;object-fit:cover;display:block;}
.profile-gallery-item.is-placeholder{display:flex;align-items:center;justify-content:center;background:rgba(23,52,99,0.05);border:1.5px dashed var(--gold-500);}
.profile-gallery-item.is-placeholder svg{width:2.2rem;height:2.2rem;color:var(--gold-500);}

/* Fiche équipe — cartes info entraîneur/contact */
.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1.1rem;margin-bottom:2.4rem;}
.info-card{background:var(--card-bg);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem 1.4rem;box-shadow:var(--shadow);}
.info-card .icon{width:2.4rem;height:2.4rem;border-radius:50%;background:var(--gold-100);color:var(--navy-800);display:flex;align-items:center;justify-content:center;margin-bottom:0.9rem;}
.info-card .icon svg{width:1.15rem;height:1.15rem;}
.info-card h3{font-size:1rem;color:var(--navy-950);}
.info-card .info-coach{font-weight:600;color:var(--ink-900);margin:0.4rem 0 0;}
.info-card p{font-size:0.9rem;color:var(--ink-600);margin:0.2rem 0 0;}
.info-card a{color:var(--blue-600);}
.info-grid-lead{margin-bottom:1.1rem;}
.info-card-lead{border-color:var(--gold-500);background:var(--gold-100);}
.info-card-lead .icon{background:var(--navy-800);color:var(--gold-300);}

@media (max-width:900px){
  .team-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:560px){
  .team-grid{grid-template-columns:1fr;}
}

/* ==========================================================================
   Footer
   ========================================================================== */
footer.site-footer{background:var(--navy-950);color:rgba(255,255,255,0.75);}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:2.4rem;padding:3.2rem 0 2.2rem;}
.footer-brand{display:flex;gap:0.85rem;align-items:flex-start;}
.footer-brand img{width:42px;}
.footer-brand .main{color:#fff;font-family:'Open Sans Condensed',sans-serif;font-weight:700;text-transform:uppercase;font-size:1rem;}
.footer-brand p{font-size:0.84rem;margin-top:0.55rem;color:rgba(255,255,255,0.58);max-width:16rem;}
footer h4{font-family:'Open Sans Condensed',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;font-size:0.78rem;color:var(--gold-300);margin-bottom:0.85rem;}
footer ul{display:flex;flex-direction:column;gap:0.5rem;}
footer ul a{font-size:0.86rem;color:rgba(255,255,255,0.72);}
footer ul a:hover{color:var(--gold-300);}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.1);padding:1.1rem 0;display:flex;justify-content:space-between;font-size:0.76rem;color:rgba(255,255,255,0.5);flex-wrap:wrap;gap:0.6rem;}

@media (max-width:980px){
  .hero-inner{grid-template-columns:1fr;text-align:left;}
  .hero-crest{order:-1;max-height:200px;}
  .hero-crest img{width:140px;}
  .values{grid-template-columns:repeat(2,1fr);}
  .poles{grid-template-columns:repeat(2,1fr);}
  .news-grid{grid-template-columns:1fr 1fr;}
  .news-card.feature{grid-column:span 2;grid-row:auto;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .club-band-inner{grid-template-columns:1fr;gap:2rem;}
  .socials{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:620px){
  .values{grid-template-columns:1fr;}
  .poles{grid-template-columns:1fr;}
  .news-grid{grid-template-columns:1fr;}
  .news-card.feature{grid-column:auto;}
  .footer-grid{grid-template-columns:1fr;}
  .rdv{flex-direction:column;align-items:flex-start;}
  .stats{grid-template-columns:1fr;}
  .socials{grid-template-columns:1fr;}
  .partners .wrap{flex-direction:column;align-items:flex-start;}
  .partner-banner{width:100%;justify-content:center;gap:1rem 1.6rem;padding:1rem 1.2rem;}
  .partner-banner img{height:34px;max-width:110px;}
}

/* ==========================================================================
   Page Inscriptions
   ========================================================================== */
.insc-topbar{background:var(--navy-950);color:#fff;padding:2.2rem 0;}
.insc-topbar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;}
.insc-topitem{display:flex;gap:0.9rem;align-items:flex-start;}
.insc-topitem .icon{width:2.5rem;height:2.5rem;flex:none;border-radius:50%;background:rgba(189,146,89,0.16);color:var(--gold-500);display:flex;align-items:center;justify-content:center;}
.insc-topitem .icon svg{width:1.3rem;height:1.3rem;}
.insc-topitem h3{font-family:'Open Sans Condensed',sans-serif;font-weight:700;font-size:0.92rem;text-transform:uppercase;letter-spacing:0.02em;margin:0 0 0.35rem;color:#fff;}
.insc-topitem p{font-size:0.82rem;color:rgba(255,255,255,0.72);margin:0;line-height:1.45;}

.insc-section-title{text-align:center;margin:0 0 2.2rem;display:flex;align-items:center;justify-content:center;gap:1rem;font-family:'Open Sans Condensed',sans-serif;font-weight:700;font-size:clamp(1.4rem,3vw,1.9rem);color:var(--navy-950);text-transform:uppercase;}
.insc-section-title:not(:first-child){margin-top:3.2rem;}
.insc-section-title::before,.insc-section-title::after{content:'';width:2.4rem;height:2px;background:var(--gold-500);}

.insc-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;}
.insc-step{background:var(--card-bg);border:1px solid var(--line);border-radius:var(--radius);padding:2.1rem 1.5rem 1.7rem;text-align:center;box-shadow:var(--shadow);}
.insc-step .num{width:2.1rem;height:2.1rem;border-radius:50%;background:var(--navy-950);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;font-family:'Open Sans Condensed',sans-serif;}
.insc-step .icon{width:2.4rem;height:2.4rem;margin:0 auto 0.9rem;color:var(--navy-800);}
.insc-step h3{font-family:'Open Sans Condensed',sans-serif;font-weight:700;font-size:0.92rem;text-transform:uppercase;letter-spacing:0.03em;margin:0 0 0.6rem;color:var(--navy-950);position:relative;padding-bottom:0.6rem;}
.insc-step h3::after{content:'';position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:1.7rem;height:2px;background:var(--gold-500);}
.insc-step p{font-size:0.83rem;color:var(--ink-600);line-height:1.5;margin:0;}
.insc-step .btn{margin-top:1.2rem;padding:0.6rem 1.3rem;font-size:0.82rem;}

.insc-links{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem;}
.insc-link{background:var(--navy-950);color:#fff;border-radius:var(--radius);padding:1.5rem 1.4rem;display:flex;flex-direction:column;gap:0.45rem;text-decoration:none;transition:transform .15s ease;box-shadow:var(--shadow);}
.insc-link:hover{transform:translateY(-2px);}
.insc-link.is-gold{background:var(--gold-500);}
.insc-link .icon{width:2.3rem;height:2.3rem;border-radius:50%;background:rgba(255,255,255,0.14);display:flex;align-items:center;justify-content:center;margin-bottom:0.3rem;}
.insc-link .icon svg{width:1.15rem;height:1.15rem;}
.insc-link.is-gold .icon{background:rgba(14,26,50,0.14);color:var(--navy-950);}
.insc-link h3{font-family:'Open Sans Condensed',sans-serif;font-weight:700;font-size:0.9rem;text-transform:uppercase;margin:0;color:#fff;}
.insc-link.is-gold h3{color:var(--navy-950);}
.insc-link p{font-size:0.78rem;margin:0;color:rgba(255,255,255,0.72);flex:1;}
.insc-link.is-gold p{color:rgba(14,26,50,0.72);}
.insc-link .go{align-self:flex-end;font-size:1.05rem;color:var(--gold-300);}
.insc-link.is-gold .go{color:var(--navy-950);}

.insc-warning{background:var(--paper-100);border:1px solid rgba(189,146,89,0.35);border-radius:var(--radius);padding:1.1rem 1.4rem;display:flex;align-items:center;gap:1rem;margin:2.4rem 0;}
.insc-warning .icon{color:var(--gold-500);flex:none;width:1.7rem;height:1.7rem;}
.insc-warning strong{text-transform:uppercase;color:var(--navy-950);}
.insc-warning span{color:var(--ink-600);font-size:0.9rem;}

.insc-help{background:var(--navy-950);color:#fff;border-radius:var(--radius);padding:1.6rem 2rem;display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap;}
.insc-help-left{display:flex;gap:1rem;align-items:center;}
.insc-help .icon{width:2.5rem;height:2.5rem;flex:none;color:var(--gold-300);}
.insc-help h3{margin:0 0 0.3rem;font-family:'Open Sans Condensed',sans-serif;font-weight:700;text-transform:uppercase;font-size:0.98rem;color:#fff;}
.insc-help p{margin:0;font-size:0.85rem;color:rgba(255,255,255,0.72);}

@media (max-width:900px){
  .insc-topbar-grid{grid-template-columns:repeat(2,1fr);}
  .insc-steps{grid-template-columns:1fr;}
  .insc-links{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:560px){
  .insc-topbar-grid{grid-template-columns:1fr;}
  .insc-links{grid-template-columns:1fr;}
  .insc-help{flex-direction:column;align-items:flex-start;}
}

/* ==========================================================================
   Page Notre histoire
   ========================================================================== */
.histoire-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:3rem;align-items:start;}
.histoire-intro h2{font-size:clamp(1.6rem,3.2vw,2.1rem);line-height:1.05;color:var(--navy-950);margin:0;}
.histoire-tagline{font-style:italic;color:var(--gold-500);font-size:1.25rem;font-family:'Open Sans Condensed',sans-serif;font-weight:700;text-transform:none;letter-spacing:0;margin:0.7rem 0 1.1rem;}
.histoire-rule{width:3.2rem;height:2px;background:var(--gold-500);margin:0 0 1.3rem;}
.histoire-intro p{color:var(--ink-600);margin-bottom:1rem;}
.histoire-intro p.histoire-tagline{color:var(--gold-500);}
.histoire-photo img{width:100%;display:block;border-radius:var(--radius);box-shadow:var(--shadow);aspect-ratio:4/3;object-fit:cover;background:var(--navy-950);}

.histoire-quote{display:flex;gap:1.1rem;align-items:center;margin-top:2rem;padding-top:2rem;border-top:1px solid var(--line);}
.histoire-quote .icon{flex:none;width:2.8rem;height:2.8rem;border-radius:50%;background:var(--gold-500);color:var(--navy-950);display:flex;align-items:center;justify-content:center;}
.histoire-quote .icon svg{width:1.4rem;height:1.4rem;}
.histoire-quote p{margin:0;font-size:0.98rem;color:var(--ink-600);}

/* Bandeau citation centré, autoportant (ex. page Foot Adapté) */
.tagline-banner{
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem;
  max-width:32rem;margin:0 auto 2.6rem;padding:2rem 1.6rem;
  background:var(--card-bg);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);
}
.tagline-banner .icon{flex:none;width:3rem;height:3rem;border-radius:50%;background:var(--gold-500);color:var(--navy-950);display:flex;align-items:center;justify-content:center;}
.tagline-banner .icon svg{width:1.5rem;height:1.5rem;}
.tagline-banner p{margin:0;font-size:1.08rem;font-weight:600;color:var(--navy-950);line-height:1.4;}
.tagline-banner p.sub{font-weight:400;font-size:0.92rem;color:var(--ink-600);margin-top:-0.3rem;}

/* ==========================================================================
   Nos partenaires
   ========================================================================== */
.partners-lead{text-align:center;max-width:38rem;margin:0 auto 2.6rem;}
.partners-lead h1{font-size:clamp(2rem,4vw,2.6rem);}
.partners-lead .divider{display:flex;align-items:center;justify-content:center;gap:0.8rem;margin:0.8rem 0 1.3rem;}
.partners-lead .divider span{width:2.4rem;height:2px;background:var(--gold-500);}
.partners-lead .divider svg{width:1rem;height:1rem;color:var(--gold-500);}
.partners-lead p{color:var(--ink-600);font-size:1.02rem;line-height:1.6;margin:0;}

.partners-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;margin-bottom:2.4rem;}
.partner-card{background:var(--card-bg);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.6rem 1.3rem;text-align:center;}
.partner-card .logo{height:100px;display:flex;align-items:center;justify-content:center;margin-bottom:1.1rem;}
.partner-card .logo img{max-height:100%;max-width:100%;object-fit:contain;}
.partner-card h3{font-size:0.98rem;margin:0 0 0.4em;}
.partner-card .sub{font-size:0.85rem;color:var(--ink-600);margin:0 0 0.3em;}
.partner-card .addr{display:flex;align-items:flex-start;justify-content:center;gap:0.45rem;font-size:0.85rem;color:var(--ink-600);margin:0 0 0.2em;text-align:left;line-height:1.5;}
.partner-card .addr .icon{flex:none;width:1rem;height:1rem;margin-top:0.2rem;color:var(--gold-500);}
.partner-card .phone{font-size:0.85rem;color:var(--ink-600);margin:0;}

@media (max-width:900px){.partners-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.partners-grid{grid-template-columns:1fr;}}

.histoire-sections{margin-top:1rem;}
.histoire-section{display:flex;gap:1.8rem;padding:2.2rem 0;border-top:1px solid var(--line);align-items:flex-start;}
.histoire-section .icon-wrap{flex:none;width:4.6rem;height:4.6rem;border-radius:50%;background:var(--navy-950);border:2px solid var(--gold-500);display:flex;align-items:center;justify-content:center;color:var(--gold-300);}
.histoire-section .icon-wrap svg{width:1.9rem;height:1.9rem;}
.histoire-section h3{color:var(--navy-950);text-transform:none;letter-spacing:0;font-size:1.15rem;margin:0 0 0.7rem;}
.histoire-section p{color:var(--ink-600);line-height:1.65;margin:0;}

@media (max-width:800px){
  .histoire-hero{grid-template-columns:1fr;}
  .histoire-photo{order:-1;}
  .histoire-section{flex-direction:column;gap:1rem;}
}

/* ==========================================================================
   Devenez partenaire
   ========================================================================== */
.btn-outline-navy{border-color:var(--navy-800);color:var(--navy-800);background:transparent;}
.btn-outline-navy:hover{background:var(--navy-800);color:#fff;}

.partner-hero{position:relative;min-height:420px;display:flex;align-items:flex-end;background-size:cover;background-position:center 78%;color:#fff;}
.partner-hero-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(14,26,50,0.86) 0%,rgba(14,26,50,0.55) 45%,rgba(14,26,50,0.28) 100%);}
.partner-hero-inner{position:relative;padding:2.6rem 0 2.8rem;}
.partner-hero-inner .crumbs{color:var(--gold-300);}
.partner-hero h1{color:#fff;font-size:clamp(1.9rem,4vw,2.9rem);margin-bottom:0.4rem;}
.partner-hero .lede{color:rgba(255,255,255,0.82);font-size:1.05rem;margin:0;}

.partner-intro{margin-bottom:3rem;}

.retombees-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;}
.sponsoring-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.3rem;}

.partner-band{background:var(--navy-950);color:#fff;padding:clamp(2.6rem,5vw,3.6rem) 0;}
.partner-band .eyebrow{color:var(--gold-300);}
.partner-band h2{color:#fff;font-size:clamp(1.7rem,3vw,2.3rem);margin-bottom:1.4rem;}
.partner-band-inner{display:grid;grid-template-columns:1.15fr 0.85fr;gap:3rem;align-items:center;}
.partner-checklist{display:flex;flex-direction:column;gap:1.3rem;}
.partner-checklist li{display:flex;gap:1rem;align-items:flex-start;}
.partner-checklist .icon{width:1.8rem;height:1.8rem;flex:none;border-radius:50%;background:var(--gold-500);color:var(--navy-950);display:flex;align-items:center;justify-content:center;margin-top:0.1rem;}
.partner-checklist .icon svg{width:1rem;height:1rem;}
.partner-checklist p{margin:0;color:rgba(255,255,255,0.86);font-size:1rem;line-height:1.55;}
.partner-accent{background:var(--navy-800);border:1px solid rgba(214,187,151,0.28);border-radius:var(--radius);padding:2.2rem 2rem;display:flex;flex-direction:column;gap:1.1rem;}
.partner-accent .icon{width:2.6rem;height:2.6rem;border-radius:50%;background:var(--gold-500);color:var(--navy-950);display:flex;align-items:center;justify-content:center;}
.partner-accent .icon svg{width:1.3rem;height:1.3rem;}
.partner-accent p{margin:0;font-family:'Open Sans Condensed',sans-serif;font-weight:700;font-size:1.2rem;text-transform:uppercase;letter-spacing:0.01em;color:#fff;line-height:1.35;}

.partner-cta{background:var(--navy-950);color:#fff;position:relative;overflow:hidden;}
.partner-cta-inner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:2.6rem 0;flex-wrap:wrap;}
.partner-cta-inner h2{color:#fff;font-size:clamp(1.5rem,2.6vw,2rem);margin-bottom:0.3rem;}
.partner-cta-inner p{margin:0;color:rgba(255,255,255,0.7);}
.partner-cta-crest{position:absolute;right:-2rem;top:50%;transform:translateY(-50%);width:14rem;height:14rem;opacity:0.08;pointer-events:none;}
.partner-cta-crest img{width:100%;height:100%;object-fit:contain;}

@media (max-width:900px){
  .partner-intro{flex-direction:column;align-items:flex-start;}
  .partner-band-inner{grid-template-columns:1fr;gap:2rem;}
  .retombees-grid{grid-template-columns:repeat(2,1fr);}
  .sponsoring-grid{grid-template-columns:1fr;}
}
@media (max-width:620px){
  .partner-hero{min-height:340px;}
  .retombees-grid{grid-template-columns:1fr;}
  .partner-cta-crest{display:none;}
}

/* ==========================================================================
   Contact
   ========================================================================== */
.contact-grid{display:grid;grid-template-columns:1.3fr 0.9fr;gap:2rem;align-items:start;}

.contact-form-card{background:var(--card-bg);border:1px solid var(--line);border-radius:var(--radius);padding:2rem clamp(1.4rem,3vw,2.2rem);box-shadow:var(--shadow);}
.contact-form-card .wpcf7-form p{margin:0 0 1.1rem;}
.contact-form-card .wpcf7-form label{display:block;font-family:'Open Sans Condensed',sans-serif;font-weight:600;font-size:0.82rem;text-transform:uppercase;letter-spacing:0.03em;color:var(--navy-950);margin-bottom:0.4rem;}
.contact-form-card .wpcf7-form input[type=text],
.contact-form-card .wpcf7-form input[type=email],
.contact-form-card .wpcf7-form input[type=tel],
.contact-form-card .wpcf7-form textarea{
  width:100%;border:1px solid var(--line);border-radius:4px;padding:0.7rem 0.9rem;
  font-family:'Open Sans',sans-serif;font-size:0.95rem;color:var(--ink-900);background:var(--paper-50);
}
.contact-form-card .wpcf7-form input:focus,
.contact-form-card .wpcf7-form textarea:focus{outline:2px solid var(--gold-500);outline-offset:1px;}
.contact-form-card .wpcf7-form textarea{min-height:9rem;resize:vertical;}
.contact-form-card .wpcf7-form input[type=submit]{
  display:inline-flex;align-items:center;gap:0.5rem;
  font-family:'Open Sans Condensed',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:0.04em;
  font-size:0.88rem;padding:0.75rem 1.6rem;border-radius:2px;border:2px solid transparent;
  background:var(--gold-500);color:var(--navy-950);cursor:pointer;
}
.contact-form-card .wpcf7-form input[type=submit]:hover{background:var(--gold-300);}
.contact-form-card .wpcf7-spinner{margin-left:0.8rem;}
.contact-form-card .wpcf7-not-valid-tip{color:#c0392b;font-size:0.82rem;margin-top:0.3rem;}
.contact-form-card .wpcf7-response-output{border-radius:4px;margin-top:1.2rem;font-size:0.88rem;}

.contact-info-card{background:var(--navy-950);color:#fff;border-radius:var(--radius);padding:2rem clamp(1.4rem,3vw,2.2rem);}
.contact-info-card h3{color:#fff;font-size:1.1rem;margin-bottom:1.3rem;}
.contact-info-list{display:flex;flex-direction:column;gap:1.2rem;}
.contact-info-list li{display:flex;gap:1rem;align-items:flex-start;}
.contact-info-list .icon{width:2.3rem;height:2.3rem;flex:none;border-radius:50%;background:rgba(214,187,151,0.16);color:var(--gold-300);display:flex;align-items:center;justify-content:center;}
.contact-info-list .icon svg{width:1.1rem;height:1.1rem;}
.contact-info-list a{color:rgba(255,255,255,0.86);}
.contact-info-list a:hover{color:var(--gold-300);}
.contact-info-list span:not(.icon){color:rgba(255,255,255,0.86);padding-top:0.35rem;line-height:1.5;}

@media (max-width:900px){
  .contact-grid{grid-template-columns:1fr;}
}

/* ==========================================================================
   Documents à télécharger (Règlement intérieur & annexes)
   ========================================================================== */
.doc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.3rem;}
.doc-grid-single{grid-template-columns:1fr;max-width:34rem;margin:0 auto 2.4rem;}
.doc-card{
  background:var(--card-bg);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:1.5rem 1.5rem;
  display:flex;align-items:center;gap:1.1rem;
}
.doc-card .icon{
  width:2.8rem;height:2.8rem;flex:none;border-radius:50%;
  background:var(--gold-100);color:var(--navy-800);
  display:flex;align-items:center;justify-content:center;
}
.doc-card .icon svg{width:1.35rem;height:1.35rem;}
.doc-card-body{flex:1;min-width:0;}
.doc-tag{
  display:inline-block;font-family:'Open Sans Condensed',sans-serif;font-weight:700;
  font-size:0.74rem;text-transform:uppercase;letter-spacing:0.05em;color:var(--gold-500);
}
.doc-card h3{font-size:1rem;margin:0.2rem 0 0;color:var(--navy-950);}
.doc-card .btn{flex:none;padding:0.6rem 1.15rem;font-size:0.8rem;}

@media (max-width:720px){
  .doc-grid{grid-template-columns:1fr;}
  .doc-card{flex-wrap:wrap;}
  .doc-card .btn{width:100%;justify-content:center;margin-top:0.4rem;}
}

/* ==========================================================================
   Détections (Pôle Masculin / Pôle Féminin)
   ========================================================================== */
.detection-intro{text-align:center;max-width:38rem;margin:0 auto 2.6rem;}
.detection-intro h2{font-size:clamp(1.5rem,2.6vw,2rem);color:var(--navy-950);}
.detection-intro p{color:var(--ink-600);margin-top:0.5rem;}

.detection-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.8rem;align-items:start;}
.detection-pole{background:var(--card-bg);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;}
.detection-pole-head{background:var(--navy-950);color:#fff;padding:1.3rem 1.5rem;display:flex;align-items:center;gap:0.9rem;}
.detection-pole-head.feminin{background:var(--navy-800);}
.detection-pole-head .icon{width:2.3rem;height:2.3rem;flex:none;border-radius:50%;background:rgba(214,187,151,0.16);color:var(--gold-300);display:flex;align-items:center;justify-content:center;}
.detection-pole-head .icon svg{width:1.15rem;height:1.15rem;}
.detection-pole-head h2{color:#fff;font-size:1.15rem;margin:0;}

.detection-list{padding:0.3rem 1.5rem;}
.detection-item{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.05rem 0;border-bottom:1px solid var(--line);}
.detection-item:last-child{border-bottom:none;}
.detection-item .cat{display:block;font-family:'Open Sans Condensed',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:0.02em;color:var(--navy-950);font-size:1rem;}
.detection-item .yr{display:block;font-size:0.8rem;color:var(--ink-600);margin-top:0.15rem;}
.detection-item .btn{flex:none;padding:0.55rem 1.1rem;font-size:0.78rem;}

@media (max-width:820px){
  .detection-grid{grid-template-columns:1fr;}
}
@media (max-width:480px){
  .detection-item{flex-wrap:wrap;}
  .detection-item .btn{width:100%;justify-content:center;}
}

/* ==========================================================================
   Recrutement coach (formulaire SiteOrigin réutilisé, reskin complet)
   ========================================================================== */
.recruit-form-title{margin-bottom:1.2rem;}

/* Masque les anciens blocs SiteOrigin (titre + texte + photo + sous-titre "Contactez-nous")
   pour ne garder que le formulaire fonctionnel, qu'on restyle ci-dessous.
   !important nécessaire : les largeurs de colonnes SiteOrigin sont injectées par ID
   (ex. #pgc-4931-2-1{width:57%}) dans un <style> propre à la page, plus spécifique
   qu'une classe — donc toute règle .panel-grid/.panel-grid-cell ci-dessous doit aussi
   être !important pour ne pas se faire elle-même écraser par ces ID, SANS pour autant
   repasser au-dessus des règles display:none qui masquent les blocs indésirables. */
.recruit-form-wrap .panel-layout > .panel-grid:nth-child(1),
.recruit-form-wrap .panel-layout > .panel-grid:nth-child(2){display:none !important;}
.recruit-form-wrap .panel-grid-cell-empty{display:none !important;}
.recruit-form-wrap .so-widget-sow-headline{display:none !important;}
/* Le formulaire occupe toute la largeur de la carte, comme sur la page Contact. */
.recruit-form-wrap .panel-layout > .panel-grid:nth-child(3),
.recruit-form-wrap .panel-layout > .panel-grid:nth-child(3) .panel-grid-cell:not(.panel-grid-cell-empty){
  display:block !important;width:100% !important;max-width:100% !important;float:none !important;margin-left:0 !important;margin-right:0 !important;
}

.recruit-form-wrap .sow-contact-form{display:flex;flex-direction:column;gap:1.1rem;background:transparent !important;padding:0 !important;border:none !important;}
.recruit-form-wrap .sow-form-field{margin:0;}
.recruit-form-wrap .sow-form-field-label-above{display:block;font-family:'Open Sans Condensed',sans-serif;font-weight:600;font-size:0.82rem;text-transform:uppercase;letter-spacing:0.03em;color:var(--navy-950);margin-bottom:0.4rem;}
.recruit-form-wrap .sow-text-field,
.recruit-form-wrap textarea{
  width:100% !important;border:1px solid var(--line) !important;border-radius:4px !important;padding:0.7rem 0.9rem !important;
  font-family:'Open Sans',sans-serif !important;font-size:0.95rem !important;color:var(--ink-900) !important;background:var(--paper-50) !important;
  box-shadow:none !important;
}
.recruit-form-wrap .sow-text-field:focus,
.recruit-form-wrap textarea:focus{outline:2px solid var(--gold-500) !important;outline-offset:1px;}
.recruit-form-wrap textarea{min-height:8rem;resize:vertical;}
.recruit-form-wrap .sow-submit-wrapper{margin-top:0.3rem;}
.recruit-form-wrap .sow-submit{
  display:inline-flex !important;align-items:center;gap:0.5rem;
  font-family:'Open Sans Condensed',sans-serif !important;font-weight:700 !important;text-transform:uppercase !important;letter-spacing:0.04em;
  font-size:0.88rem !important;padding:0.75rem 1.6rem !important;border-radius:2px !important;border:2px solid transparent !important;
  background:var(--gold-500) !important;color:var(--navy-950) !important;cursor:pointer;
}
.recruit-form-wrap .sow-submit:hover{background:var(--gold-300) !important;}

.recruit-tagline{color:rgba(255,255,255,0.82);margin-top:1.2rem;font-size:0.92rem;line-height:1.55;}

/* ==========================================================================
   La direction du FCRM (Bureau Directeur / Conseil d'Administration)
   ========================================================================== */
.board-title{display:flex;align-items:center;justify-content:center;gap:1rem;margin:0 0 2rem;}
.board-title::before,
.board-title::after{content:'';height:2px;width:2.4rem;background:var(--gold-500);flex:none;}
.board-title h2{font-size:clamp(1.35rem,2.3vw,1.8rem);color:var(--navy-950);margin:0;text-align:center;}

.board-card{background:var(--card-bg);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.2rem;display:flex;align-items:center;gap:1.1rem;}
.board-photo{width:5rem;height:6.4rem;flex:none;border-radius:6px;overflow:hidden;background:var(--paper-100);}
.board-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.board-photo.is-placeholder{display:flex;align-items:center;justify-content:center;border:1.5px dashed var(--gold-500);color:var(--gold-500);}
.board-photo.is-placeholder svg{width:2.2rem;height:2.2rem;}
.board-role{font-family:'Open Sans Condensed',sans-serif;font-weight:700;font-size:0.76rem;text-transform:uppercase;letter-spacing:0.03em;color:var(--gold-500);margin-bottom:0.35rem;line-height:1.3;}
.board-name{font-family:'Open Sans Condensed',sans-serif;font-weight:700;font-size:1.05rem;color:var(--navy-950);text-transform:uppercase;line-height:1.25;}

.board-lead{display:flex;justify-content:center;margin-bottom:1.6rem;}
.board-lead .board-card{width:100%;max-width:23rem;}
.board-pair{display:grid;grid-template-columns:repeat(2,minmax(0,23rem));justify-content:center;gap:1.6rem;}

.board-conseil{background:var(--paper-100);}
.board-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;}

@media (max-width:820px){
  .board-pair{grid-template-columns:1fr;max-width:23rem;margin:0 auto;}
  .board-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:560px){
  .board-grid{grid-template-columns:1fr;}
}

/* Utilitaire : fond alterné crème pour distinguer une section */
.section-alt{background:var(--paper-100);}

/* ==========================================================================
   Infrastructure
   ========================================================================== */
.btn-outline-gold{border-color:var(--gold-500);color:var(--navy-950);background:transparent;}
.btn-outline-gold:hover{background:var(--gold-500);color:var(--navy-950);}

.infra-bureau{display:grid;grid-template-columns:0.9fr 1.1fr;gap:2.6rem;align-items:center;}
.infra-bureau-text .icon{width:2.6rem;height:2.6rem;border-radius:50%;background:var(--gold-100);color:var(--navy-800);display:flex;align-items:center;justify-content:center;margin-bottom:1rem;}
.infra-bureau-text .icon svg{width:1.3rem;height:1.3rem;}
.infra-bureau-text h2{font-size:clamp(1.5rem,2.6vw,2rem);color:var(--navy-950);margin-bottom:0.6rem;}
.infra-bullet-list{margin-top:1.2rem;display:flex;flex-direction:column;gap:0.8rem;}
.infra-bullet-list li{display:flex;align-items:flex-start;gap:0.7rem;}
.infra-bullet-list .icon{width:1.6rem;height:1.6rem;flex:none;color:var(--gold-500);}
.infra-bullet-list .icon svg{width:1.1rem;height:1.1rem;}
.infra-bullet-list span:last-child{font-size:0.92rem;color:var(--ink-600);line-height:1.5;}
.infra-bureau-img img{width:100%;border-radius:var(--radius);box-shadow:var(--shadow);display:block;}

.installations-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.6rem;}
.installation-card{background:var(--card-bg);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);}
.installation-photo{position:relative;aspect-ratio:4/3;overflow:hidden;}
.installation-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.installation-badge{
  position:absolute;top:0.9rem;left:0.9rem;width:2.6rem;height:2.6rem;border-radius:50%;
  background:var(--navy-950);color:var(--gold-300);border:2px solid var(--gold-500);
  display:flex;align-items:center;justify-content:center;
  font-family:'Open Sans Condensed',sans-serif;font-weight:700;font-size:1.05rem;
}
.installation-body{padding:1.3rem 1.4rem;}
.installation-title{display:flex;align-items:center;gap:0.6rem;margin-bottom:0.8rem;}
.installation-title .icon{width:2rem;height:2rem;flex:none;border-radius:6px;background:var(--navy-950);color:var(--gold-300);display:flex;align-items:center;justify-content:center;}
.installation-title .icon svg{width:1.05rem;height:1.05rem;}
.installation-title h3{font-size:1.1rem;color:var(--navy-950);margin:0;}
.installation-line{display:flex;align-items:flex-start;gap:0.6rem;margin-bottom:0.6rem;}
.installation-line .icon{width:1.3rem;flex:none;color:var(--gold-500);margin-top:0.1rem;}
.installation-line .icon svg{width:1rem;height:1rem;}
.installation-line span:last-child{font-size:0.88rem;color:var(--ink-600);line-height:1.5;}
.installation-btn{margin-top:0.8rem;width:100%;justify-content:center;}

@media (max-width:820px){
  .infra-bureau{grid-template-columns:1fr;}
  .infra-bureau-img{order:-1;}
  .installations-grid{grid-template-columns:1fr;}
}

/* ==========================================================================
   Stage
   ========================================================================== */
.stage-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem;}
.stage-card{background:var(--card-bg);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.8rem 1.6rem;display:flex;flex-direction:column;gap:0.5rem;}
.stage-dates-tag{display:inline-block;align-self:flex-start;font-family:'Open Sans Condensed',sans-serif;font-weight:700;font-size:0.74rem;text-transform:uppercase;letter-spacing:0.05em;color:var(--navy-950);background:var(--gold-100);padding:0.32rem 0.7rem;border-radius:2px;margin-bottom:0.3rem;}
.stage-card h3{font-size:1.2rem;margin:0 0 0.2rem;}
.stage-card .place{display:flex;align-items:center;gap:0.45rem;font-size:0.9rem;color:var(--ink-600);margin-bottom:0.6rem;}
.stage-card .place svg{width:1rem;height:1rem;color:var(--gold-500);flex:none;}
.stage-card-actions{display:flex;gap:0.7rem;flex-wrap:wrap;margin-top:auto;}
@media (max-width:720px){
  .stage-grid{grid-template-columns:1fr;}
  .stage-card-actions{flex-direction:column;}
  .stage-card-actions .btn{width:100%;justify-content:center;}
}

/* ==========================================================================
   Créneaux d'entrainements
   ========================================================================== */
.training-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1.1rem;margin-bottom:2.6rem;}
.training-card{background:var(--card-bg);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;}
.training-photo{height:110px;position:relative;overflow:hidden;}
.training-photo.is-placeholder{display:flex;align-items:center;justify-content:center;background:var(--gold-100);border-bottom:1.5px dashed var(--gold-500);box-sizing:border-box;}
.training-photo.is-placeholder svg{width:2rem;height:2rem;color:var(--gold-500);}
.training-body{padding:1rem 1.1rem 1.2rem;}
.training-body h3{font-size:0.98rem;margin:0 0 0.4em;}
.training-body p{font-size:0.85rem;color:var(--ink-600);margin:0;line-height:1.55;}
