/*
 Theme Name: GeneratePress Child
 Theme URI: https://generatepress.com
 Description: Child theme for GeneratePress – Balle Molle Crémazie
 Author: Chloe Hardy
 Template: generatepress
 Version: 1.0
*/

@font-face {
  font-family: "Inter";
  src: url("/wp-content/themes/generatepress-child/assets/fonts/inter/Inter-VariableFont_opsz,wght.ttf") format("truetype");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

/* ===== Base layout : site full width ===== */
.site,
.grid-container{
  max-width: none;
}

.site.grid-container{
  padding-left: 0;
  padding-right: 0;
}

.site-content,
.content-area,
.site-main{
  width: 100%;
  max-width: none;
}

/* ===== Contenu contraint (1440px) ===== */
.bmc-container{
  width: min(1440px, 92vw);
  margin-left: auto;
  margin-right: auto;
}

/* ======================================
   Base Typography
   ====================================== */

:root{
  --font-base: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;

  --font-weight-regular: 400;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;

  --font-size-base: 1rem;
}

body{
  font-family: var(--font-base);
  font-weight: var(--font-weight-regular);
}

h1, h2, h3, h4, h5, h6{
  font-family: var(--font-base);
  font-weight: var(--font-weight-bold);
}

h2 {
  font-size: 1.4rem; /* ajuste selon goût */
}

/* ===== BMC - Background pleine page (hero + body) ===== */

html, body { margin: 0 !important; padding: 0 !important; }
.site-header { top: 0 !important; margin-top: 0 !important; }

/* ===== Hero universel archive (contrôle hauteur img bg) ===== */
/* ===== HERO CANON (archive / ligue / equipe) ===== */
:root{
  --bmc-hero-min: 420px;
  --bmc-hero-ideal: 55vh;
  --bmc-hero-max: 680px;
}

@media (max-width: 820px){
  :root{
    --bmc-hero-min: 320px;
    --bmc-hero-ideal: 45vh;
    --bmc-hero-max: 520px;
  }
}

/* =========================================================
   HERO CANON BMC (image full-cover + contenu superposé)
   ========================================================= */

:root{
  --bmc-hero-min: 420px;
  --bmc-hero-ideal: 55vh;
  --bmc-hero-max: 680px;

  --bmc-header-offset: 360px;
}

@media (max-width: 820px){
  :root{
    --bmc-hero-min: 320px;
    --bmc-hero-ideal: 45vh;
    --bmc-hero-max: 520px;

    --bmc-header-offset: 220px;
  }
}

.bmc-hero{
  margin: 0;
  position: relative;
  min-height: clamp(var(--bmc-hero-min), var(--bmc-hero-ideal), var(--bmc-hero-max));
  overflow: hidden; /* ok: le bg reste clean, mais le hero pourra grandir */
}

/* background plein hero */
.bmc-hero__bg{
  position: absolute !important;
  inset: 0 !important;
  width: auto !important;
  height: auto !important;
  
  background-image: var(--hero-bg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* overlay optionnel */
.bmc-hero::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,.35) 0%,
    rgba(0,0,0,.15) 45%,
    rgba(0,0,0,0) 100%
  );
}

/* contenu superposé + offset header */
.bmc-hero__content{
  position: relative;
  inset: 0;
  z-index: 1;

  display:flex;
  align-items:center;
  justify-content:center;

  padding-top: var(--bmc-hero-offset, var(--bmc-header-offset));
  padding-left: 20px;
  padding-right: 20px;
  /* Donne de l'air en bas pour éviter la coupe visuelle */
  padding-bottom: 40px;
}

/* =========================================================
   GLOBAL — fond blanc partout (override GeneratePress)
   ========================================================= */
html, body{
  background: #fff !important;
}

/* Zones GP courantes (selon layout GeneratePress) */
.site,
.site-content,
#page,
#content,
.site-main{
  background: #fff !important;
}

/* Mode "separate containers" / articles */
.separate-containers .inside-article,
.separate-containers .comments-area,
.separate-containers .page-header,
.separate-containers .paging-navigation,
.one-container .site-content,
.one-container .site-main{
  background: #fff !important;
}

.separate-containers .site-main.page-organisation {
  margin-top: 20px !important;
}

/* Gutenberg / blocks parfois sur fond */
.wp-site-blocks,
.entry-content{
  background: transparent;
}

/* ===== SMOOTH SCROLL ===== */

html{
  scroll-behavior: smooth;
}

/* ===== Hero Box universel ===== */
.bmc-hero-box{
  background: rgba(0,0,0,.85);
  border: 3px solid #39b54a;
  border-radius: 10px;
  padding: 50px 40px;
  color: #fff;

  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;

  gap: 35px; /* ← ESPACEMENT UNIFORME */
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

.bmc-hero-box__title{
  margin: 0;
  font-size: 1.6rem;
  line-height: 1.15;
  font-weight: 700;
}

.bmc-hero-box__text{
  font-size: 1.05rem;
  line-height: 1.25;
  margin: 0;
  opacity: .95;
  max-width: 480px;
}

.bmc-hero-box__actions{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
}

.bmc-hero-box__pills{
  display:flex;
  gap: 12px;
  justify-content:center;
  flex-wrap:wrap;
  margin: 0 0 0px;
}

.bmc-hero-box__pill{
  display:inline-block;
  background:#fff;
  color:#000;
  padding: 6px 16px;
  margin: 0 0 0px;
  border-radius: 10px;
  font-weight: 700;
  font-size: .95rem;
}

/* ==== Hero box spécifique Home === */
.hero-box--home{
  padding-top: 15px;
  padding-bottom: 15px;
}

/* Règle pour le positionnement de tous les hero-box en mobile */
@media (max-width: 768px) {
  .bmc-hero {
    --bmc-header-offset: 310px;
    min-height: 420px !important;
  }
}

/* Vu que Inscriptions / Organisation ne répondent pas */
@media (max-width: 768px) {
  .site-main.page-inscriptions .bmc-hero,
  .site-main.page-organisation .bmc-hero {
    --bmc-header-offset: 360px;
    min-height: 420px !important;
  }
}

/* Vu que Accueil ne répond pas */
@media (max-width: 768px) {
  body.home .bmc-hero.home-hero {
    min-height: 420px !important;
    --bmc-header-offset: 310px;
  }
}

/* ==============================
       Buttons (Design System) 
   ============================== */

/* Base */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap: .5rem;

  padding: 0.75rem 1.25rem;
  border-radius: 6px;
  font-weight: 600;
  text-decoration: none;
  line-height: 1;

  border: 1px solid transparent;
  cursor: pointer;
}

.btn--sm{
  padding: 8px 14px;
  font-size: 14px;
  border-radius: 6px;
}

/* 1) Primary = vert */
.btn--green{
  background: #39b54a;
  color: #fff;
  border-color: #39b54a;
  font-size: 0.9rem;
  padding: 12px 12px;
}

.btn--green,
.btn--green:visited,
.btn--green:active {
  color: #fff;
}

.btn--green:hover,
.btn--green:focus-visible {
  filter: brightness(0.95);
  background: #4d4d4d;
  color: #fff;
  border: 0;
}

/* 2) Secondary = gris (ex: Afficher plus si tu le mets en <a> un jour) */
.btn--gray{
  background: #e6e6e6;
  color: #4d4d4d;
  border:0;
  opacity:.7;
  margin-top: 8px;
  margin-bottom: 8px;
  font-size: 0.85rem;
}
.btn--gray:hover{
  background: #d9d9d9;
}

/* 3) Ghost = contour */
.btn--ghost{
  background: transparent;
  color: #fff;
  border-color: #fff;
}
.btn--ghost:hover{
  background: rgba(255,255,255,.12);
}

/* 4) Outline = contour (pages précédente/suivante) */
.btn.btn--outline {
  background: white;
  color: #666;
  border: 1px solid #d9d9d9;
  margin-top: 30px;
  padding: 12px 12px;
  font-size: 14px;
  text-decoration: none;
  display: inline-block;
  transition: all 0.2s ease;
}

.btn.btn--outline:hover {
  border-color: #999;
  color: #333;
}

/* Accessibilité */
.btn:focus-visible{
  outline: 2px solid #39b54a;
  outline-offset: 3px;
}

/* Boutons MARQUEUR */
/* Bouton Marqueur (hero CTAs) */
.btn{
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.btn--marqueur{
  background: transparent;
  color: #fff;
  font-weight: 700;
  font-size: 12px;      /* plus petit */
  padding: 8px 12px;    /* plus compact */
  border-radius: 6px;
}

.btn--marqueur,
.btn--marqueur:visited {
  color: #fff !important;
}

.btn--marqueur:hover,
.btn--marqueur:focus-visible,
.btn--marqueur:active {
  color: #39b54a !important;
}

/* Icône */
.btn__icon{
  display:inline-flex;
  width: 16px;
  height: 16px;
}

.btn__icon svg{
  width:100%;
  height:100%;
  fill: currentColor; /* prend la même couleur que le texte */
}

/* =============================================
   FLUENT FORMS — Harmonisation thème BMC
   ============================================= */

/* Texte général dans les formulaires */
.fluentform,
.fluentform label,
.fluentform input,
.fluentform select,
.fluentform textarea {
  font-family: var(--font-base, inherit);
  font-size: var(--font-size-base, 0.95rem);
  color: var(--color-text, #111);
}

/* Labels */
.fluentform .ff-el-form-control label,
.fluentform .ff-el-group label {
  font-weight: 600;
  font-size: 0.875rem;
  color: var(--color-text, #111);
  margin-bottom: 0.3rem;
  display: block;
}

/* Sous-labels (ex: Prénom / Nom de famille) */
.fluentform .ff-el-form-control .ff-el-input--label small {
  color: var(--color-muted, #666);
  font-size: 0.8rem;
}

/* Champs input, select, textarea */
.fluentform input[type="text"],
.fluentform input[type="email"],
.fluentform input[type="tel"],
.fluentform input[type="number"],
.fluentform select,
.fluentform textarea {
  border: 1px solid #ccc;
  border-radius: 6px;
  padding: 0.5rem 0.75rem;
  width: 100%;
  background: #fff;
  font-size: 0.9rem;
  color: var(--color-text, #111);
  transition: border-color 0.2s;
}

.fluentform select {
  font-family: var(--font-base, inherit) !important;
}

/* Forcer font-size sur l'input cloné de Choices.js */
.fluentform .choices__input--cloned {
  font-size: 0.9rem !important;
  min-width: unset !important;
  width: auto !important;
}

/* Hauteur uniforme multiple choice */
.fluentform .choices__inner {
  border-radius: 6px !important;
  min-height: 38px !important;
  display: flex !important;
  align-items: center !important;
}

.fluentform input:focus,
.fluentform select:focus,
.fluentform textarea:focus {
  border-color: var(--bmc-green, #3a8c3f);
  outline: none;
  box-shadow: 0 0 0 2px rgba(58, 140, 63, 0.15);
}

/* Textes d'aide en vert (comme "Informations équipe") */
.fluentform .ff-el-section-title,
.fluentform .ff-el-group-title {
  color: var(--bmc-green, #3a8c3f);
  font-weight: 700;
  font-size: 0.875rem;
  margin-bottom: 0.5rem;
}

/* Bouton submit */
.fluentform .ff-btn-submit {
  background-color: #111 !important;
  color: #fff;
  border: none;
  padding: 0.65rem 1.5rem;
  font-size: 0.95rem;
  font-weight: 700;
  border-radius: 3px;
  cursor: pointer;
  width: 100%;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  transition: background-color 0.2s;
}

.fluentform .ff-btn-submit:hover {
  background-color: var(--bmc-green, #39b54a) !important;
}

/* Forcer la couleur du bouton submit Fluent Forms */
.page-inscriptions .ff-btn.ff-btn-submit,
.page-inscriptions .ff-btn.ff-btn-submit:link,
.page-inscriptions .ff-btn.ff-btn-submit:visited,
.page-inscriptions button[type="submit"].ff-btn-submit {
  background-color: #111 !important;
  background: #111 !important;
  border-color: #111 !important;
  color: #fff !important;
}

.page-inscriptions .ff-btn.ff-btn-submit:hover,
.page-inscriptions button[type="submit"].ff-btn-submit:hover {
  background-color: var(--bmc-green, #3a8c3f) !important;
  border-color: var(--bmc-green, #3a8c3f) !important;
}

/* Checkbox */
.fluentform .ff-el-form-check-label {
  font-size: 0.85rem;
  color: var(--color-muted, #555);
}

/* Messages d'erreur */
.fluentform .error {
  color: #c0392b;
  font-size: 0.8rem;
  margin-top: 0.25rem;
}

/* Message de confirmation */
.fluentform .ff-message-success {
  color: var(--bmc-green, #3a8c3f);
  font-weight: 600;
  padding: 1rem;
  border: 1px solid var(--bmc-green, #3a8c3f);
  border-radius: 3px;
  margin-top: 1rem;
}


/* ============ BADGE - DIVISION ======================= */

.badge-rosette{
  position: relative;
  display: inline-flex;
  width: 80px;          /* ajuste ici */
  aspect-ratio: 792 / 612;  /* garde le ratio exact */
  align-items: center;
  justify-content: center;
}

.badge-rosette__icon{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  fill: #4d4d4d;
}

.badge-rosette__text{
  position: relative;
  z-index: 1;
  font-weight: 700;
  font-size: 75%;  /* ajuste ici */
  color: #fff;
  transform: translateY(-2px); /* ajuste ici */
}

/* ======================================
                 Footer BMC
   ====================================== */

.bmc-footer{
  background: #0f0f10;
  padding: 48px 0 32px;
}

.bmc-footer__inner{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;    
  text-align: center;
}

.bmc-footer__brand{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 18px;
}

.bmc-footer__logo{
  width: 150px;  /* ajuste selon ton logo */
  height: auto;
  display: block;
}

.bmc-footer__nav{
  margin: 0 0 14px;
}

.bmc-footer-menu{
  font-size: 1rem;    
  list-style: none;
  margin: 0;
  padding: 10px 0;
  display: inline-flex;
  gap: 32px;
  flex-wrap: wrap;
  justify-content: center;
}

.bmc-footer-menu a{
  color: #fff;
  text-decoration: none;
  font-weight: 600;
  opacity: .92;
}

.bmc-footer-menu a:hover{
  opacity: 1;
}

.bmc-footer-menu .current-menu-item:not(:first-child) a {
  background: none !important;
  color: #aefcb5 !important;
  padding: 6px 0;
}

.bmc-footer__social{
  display: inline-flex;
  gap: 18px;
  justify-content: center;
  margin: 0 0 14px;
}

.bmc-social{
  margin: 0;
  color:#fff;
  text-decoration:none;
  font-size: 1rem;
  width: 32px;
  height: 32px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition: all .2s ease;
  text-decoration:none;
}

/* Footer social links: lock all states */
.bmc-footer__social a,
.bmc-footer__social a:visited{
  color:#fff;
  text-decoration:none;
}

.bmc-footer__social a:hover,
.bmc-footer__social a:focus{
  color:#39b54a;
}

.bmc-footer__social a:active{
  color:#39b54a;
}

.bmc-footer__copyright{
  color: rgba(255,255,255,.75);
  font-size: .82rem;
}

.bmc-footer__credit {
  font-size: 0.75rem;
  color: rgba(255,255,255,0.75);
}

.bmc-footer__credit a {
  color: rgba(255,255,255,0.65);
  font-weight: 600;
  text-decoration: none;
}

.bmc-footer__credit a:hover {
  color: #fff;
  text-decoration: underline;
}


/* Inscriptions — background vert */
.bmc-footer-menu .current-menu-item a,
.bmc-footer-menu li:first-child a {
  background: #39b54a;
  color: #fff !important;
  padding: 6px 16px;
  border-radius: 6px;
}

/* Inscriptions hover — blanc + texte noir */
.bmc-footer-menu li:first-child a:hover {
  background: #fff !important;
  color: #111 !important;
}

/* Organisation + Contact hover — vert */
.bmc-footer-menu li:not(:first-child) a:hover {
  color: #39b54a !important;
}



/* ===== Bloc "Joindre BMC" (réutilisable Contact + Organisation) ===== */
.join-bmc{
  padding: 34px 0 50px;
  text-align: center;
}

.join-bmc__title{
  margin: 0 0 22px;
  font-weight: 700;
}

.join-bmc__grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;                /* <- rapproche */
  max-width: 780px;         /* <- resserre le bloc */
  margin: 0 auto 14px;
}

.join-bmc__item{
  display: grid;
  justify-items: center;
  gap: 10px;
  text-decoration: none;
  color: inherit;
  padding: 20px 8px;
}

.join-bmc__icon{
  font-size: 34px;
  line-height: 1;
  opacity: .85;
}

.join-bmc__label{
  margin-top: 8px;
  font-size: .92rem;
  line-height: 1.25;
  opacity: .85;
}

/* Hover vert (même vert que tes boutons si c’est #2fa545) */
.join-bmc__item:hover,
.join-bmc__item:focus-visible{
  color: #39b54a;
}

.join-bmc__item:hover .join-bmc__icon,
.join-bmc__item:focus-visible .join-bmc__icon{
  opacity: 1;
  transform: translateY(-1px);
}

.join-bmc__note{
  margin: 18px 0 0;
  font-style: italic;
  opacity: .65;
  font-size: .9rem;
  position: relative;
  padding-top: 18px;
}

.join-bmc__note::before{
  content:"";
  display:block;
  width: 85px;
  margin: 0 auto 14px;
  border-top: 3px dotted rgba(0,0,0,.45);
  border-color: #39b54a;
}

@media (max-width: 700px){
  .join-bmc__grid{ grid-template-columns: 1fr; gap: 12px; }
  .join-bmc__item{ padding: 12px 8px; }
}

.bmc-join__text{
  font-size: .92rem;
  font-weight: 600;
  color: rgba(0,0,0,.78);
}

.bmc-join__note{
  margin: 18px 0 0;
  text-align: center;
  font-size: .9rem;
  opacity: .7;
  font-style: italic;
}

/* ============ DEBUT DES MODELES DE PAGE   ============ */

/* ===============================
   PAGE: FRONT-PAGE (HOME)
   =============================== */

/* Réduit le hero-box spécifiquement sur la home */
body.home .bmc-hero-box {
  padding: 20px 12px !important;
  max-width: 400px;
}

body.home .bmc-hero.home-hero {
  min-height: auto !important;
}

body.home .bmc-hero-box__title {
  font-size: 1.6rem !important;
}

/* ── Surface bg ── */
.home-surface {
  --surface-overlay: rgba(255, 255, 255, 0.94);
  background-size: 100% auto !important;
  background-repeat: no-repeat !important;
  background-position: top center !important;
}

.home-surface::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.92);
  pointer-events: none;
  z-index: 0;
}

.home-surface > * {
  position: relative;
  z-index: 1;
}

@media (max-width: 768px) {
  .home-surface {
    background-size: auto !important;
    background-repeat: repeat-y !important;
  }
}

.home-hero .bmc-hero__bg {
  display: none; /* pas d'image séparée pour le hero home */
}

.home-content {
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 60px;
}

.home-surface__inner {
  position: relative;
  z-index: 1;
  padding: 60px 0 80px;
  display: flex;
  flex-direction: column;
  gap: 60px;
}

/* ── Sections génériques ── */
.home-section { width: 100%; }
.home-section__title {
  text-align: center;
  margin: 0 0 32px;
  font-size: 1.4rem;
}

/* ── Hero + nouvelles : dégradé radial ── */
.home-hero-wrap { text-align: center; }

.home-nouvelles__radial {
  background: radial-gradient(ellipse at center,
    rgba(255,255,255,0.95) 0%,
    rgba(255,255,255,0.0) 72%);
  padding: 0 20px 60px;
  border-radius: 20px;
}

/* ── Alertes ── */
.home-alertes {
  display: flex;
  gap: 20px;
  justify-content: center;
  flex-wrap: wrap;
  margin: 0 0 20px;
}

.home-alerte {
  background: #f9ed32;
  border: 5px solid #d1d3d4; /* 0.0694in ≈ 5px */
  border-radius: 12px;
  padding: 20px 24px;
  max-width: 400px;
  flex: 1 1 280px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 8px;
  text-decoration: none;
  color: #111;
  opacity: 0.85;
}

.home-alerte:hover {
  box-shadow: 0 4px 18px rgba(0,0,0,0.12);
}

.home-alerte__body {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font
}

.home-alerte__icon {
  font-size: 1.4rem;
  color: #111;
  display: flex;
  align-items: center;
  justify-content: center;
}
.home-alerte__label { font-size: 0.72rem; font-weight: 700; font-style: italic; text-transform: uppercase; letter-spacing: 0.05em; color: #555; }
.home-alerte__title { font-weight: 700; font-size: 0.95rem; line-height: 1.3; }
.home-alerte__excerpt { font-size: 0.82rem; color: #333; line-height: 1.5; }
.home-alerte__cta { font-size: 0.82rem; font-weight: 600; color: #333; }
.home-alerte__cta:hover { text-decoration: underline; }

.home-alerte__bell {
  font-size: 1.6rem;
  color: #111;
  display: block; /* ou inline-block */
  animation: bell-ring 1.2s ease infinite;
  transform-box: fill-box; /* aide avec transform-origin */
  transform-origin: 50% 0%;
}

@keyframes bell-ring {
  0%   { transform: rotate(0deg); }
  10%  { transform: rotate(14deg); }
  20%  { transform: rotate(-12deg); }
  30%  { transform: rotate(10deg); }
  40%  { transform: rotate(-8deg); }
  50%  { transform: rotate(6deg); }
  60%  { transform: rotate(-4deg); }
  70%  { transform: rotate(2deg); }
  80%  { transform: rotate(0deg); }
  100% { transform: rotate(0deg); }
}

/* ── Nouvelles à la une ── */
.home-une__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 340px));
  gap: 2rem;
  justify-content: center;
  margin: 0 auto;
}

/* ── Ligues ── */
.home-ligues-wrap { background: transparent; }

.home-ligues-wrap,
.home-ligues-wrap .bmc-home-ligues {
  text-align: center;
}
.home-ligues-wrap .bmc-home-ligues__actions {
  display: flex;
  justify-content: center;
  margin-top: 24px;
}

/* ── Inscriptions ── */
.home-inscriptions-wrap {
  background: radial-gradient(ellipse at center,
    rgba(255,255,255,0.90) 0%,
    rgba(255,255,255,0.0) 75%);
}

/* ── Stats + Liens rapides ── */
.bmc-home-bottom__grid {
  display: flex;
  gap: 24px;
  justify-content: center;
  flex-wrap: wrap;
}

.bmc-home-card {
  width: clamp(280px, 30vw, 380px);
  border-radius: 14px;
  padding: 28px 28px 24px;
}

.bmc-home-card--dark {
  background: #111;
  color: #fff;
  border: 2px solid #39b54a;
  text-align: center;
}

.bmc-home-card__title {
  font-size: 1.4rem;
  font-weight: 700;
  color: #39b54a;
  margin: 0 0 6px;
  padding-bottom: 10px;
}

.bmc-home-card__sub {
  font-size: 0.78rem;
  color: #aaa;
  margin: 0 0 18px;
}

.bmc-dropdown__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}

.bmc-dropdown__menu {
  margin-top: 12px;
  flex-direction: column;
  gap: 6px;
}

.bmc-dropdown__menu[hidden] {
  display: none !important;
}

.bmc-dropdown__menu:not([hidden]) {
  display: flex;
}

.bmc-dropdown__item {
  font-size: 0.85rem;
  color: #fff;
  font-weight: 500;
  text-decoration: none;
  padding: 4px 0;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

.bmc-dropdown__item:hover { color: #39b54a; }

/* Liens rapides */
.bmc-home-quicklinks {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.bmc-home-quicklinks a {
  color: #fff;
  text-decoration: none;
  font-size: 0.95rem;
  font-weight: 600;
  transition: color 0.2s;
}

.bmc-home-quicklinks a:hover { color: #39b54a; }

@media (max-width: 768px) {
  .bmc-home-card {
    width: 100%;
    max-width: 100%;
  }
  
  .bmc-home-bottom__grid {
    flex-direction: column;
    padding: 0 36px;
  }
}

/* ── Commanditaires ── */
.home-commanditaires__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 350px));
  gap: 24px;
  justify-content: center;
  margin-bottom: 12px;
}

/* Scoped à la home seulement pour ne pas affecter l'archive */
.home-commanditaires-wrap .commanditaire-card {
  min-height: auto;
}

.home-commanditaires-wrap .commanditaire-card__inner {
  padding: 24px 24px 24px;
  justify-content: center;
}

.home-commanditaires__actions {
  text-align: center;
  padding-top: 20px;
  padding-bottom: 50px;
}

.home-nouvelles__actions {
  text-align: center;
  padding-top: 20px;
}

/* ── Responsive ── */
@media (max-width: 900px) {
  .home-une__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .bmc-home-bottom__grid {
    grid-template-columns: 1fr;
  }
  .home-commanditaires__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .home-une__grid {
    grid-template-columns: 1fr;
  }
  .home-alertes {
    flex-direction: column;
    padding: 0 36px;
  }
  .home-commanditaires__grid {
    grid-template-columns: 1fr;
    padding: 0 36px;
  }
}


/* ===== PAGE DEVENIR COMMANDITAIRE ===== */

.page-devenir-commanditaire {
  background: #fff;
}

/* Séparateur pointillé blanc - Devenir Commanditaire */
.page-devenir-commanditaire .ligue-divider {
  width:min(900px, 92vw);    
  border-top: 2px dotted #fff;
}

/* ===== SECTION 1: HERO ÉLARGI ===== */

.bmc-hero-surface.devenir-commanditaire-surface {
  min-height: 800px;
  padding-bottom: 80px;
}

.devenir-commanditaire-hero .bmc-hero__bg {
  background-position: center bottom;
  background-size: cover;
}

.devenir-commanditaire-hero {
  min-height: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
}

.devenir-commanditaire-hero__inner {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 0;
}

/* ===== SECTION 2: BLOCS GRIS CHEVAUCHANT ===== */

.devenir-cmd-avantages {
  background: transparent;
  padding: 0;
  margin-top: -120px;
  position: relative;
  z-index: 10;
}

.devenir-cmd-avantages .bmc-container {
  background: transparent;
}

.devenir-cmd-avantages .ligue-kpis {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 1rem;
  gap: 20px;
}

.devenir-cmd-avantages .ligue-kpi {
  min-height: 240px;
}

.devenir-cmd-avantages .ligue-kpi__label {
  display: none;
}

.devenir-cmd-avantages .ligue-kpi__value {
  font-size: 1rem;
  font-weight: 500;
  display: flex;
  flex-direction: column;
  align-items: center;
  border-radius: 20px;
  gap: 12px;
  padding: 30px;
}

.devenir-cmd-avantages .ligue-kpi__value-icon {
  width: 48px;
  height: 48px;
  min-width: 48px;
  min-height: 48px;
  object-fit: contain;
  object-position: center;
  flex-shrink: 0;
}

.devenir-cmd-avantages .ligue-kpi__value-title {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--bmc-green, #66ff66);
}

/* ===== SECTION 3: TIERS (CARDS) ===== */

.devenir-cmd-tiers {
  padding: 1rem 0;
}

.site-main.page-devenir-commanditaire .commanditaire-card__logo {
  margin-top: 20px;
  margin-bottom: 22px;
}

.site-main.page-devenir-commanditaire .commanditaire-card__title {
  margin: 0 0 8px;
  font-weight: 700;
  font-size: 1.05rem;
  color: #222;
}

.site-main.page-devenir-commanditaire .commanditaire-card__desc {
  margin: 0 0 8px;
  line-height: 1.35;
  opacity: .82;
  font-size: .92rem;
}

.site-main.page-devenir-commanditaire .commanditaire-card__desc:last-of-type {
  margin: 12px 0 0;
}

/* ===== SECTION 4: POURQUOI ÊTRE COMMANDITAIRE ===== */

.site-main.page-devenir-commanditaire .devenir-cmd-features {
  padding: 3rem 0;
}

.site-main.page-devenir-commanditaire .devenir-cmd-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}

.site-main.page-devenir-commanditaire .contact-faq__item {
  text-align: left;
}

.site-main.page-devenir-commanditaire .contact-faq__item h3 {
  margin-bottom: 1rem;
}

.site-main.page-devenir-commanditaire .contact-faq__item ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.site-main.page-devenir-commanditaire .contact-faq__item ul li {
  padding-left: 1.5rem;
  line-height: 1.15rem;
  margin-bottom: 0.75rem;
  position: relative;
}

.site-main.page-devenir-commanditaire .contact-faq__item ul li:before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--bmc-green, #39b54a);
  font-weight: bold;
}

/* ===== SECTION 5: OFFRE VERT ===== */

.devenir-cmd-offre {
  margin-top: 3rem;
  margin-bottom: 6rem;
  padding: 4rem 2rem;
  background: var(--bmc-green, #39b54a);
  color: #fff;
  text-align: center;
}

.devenir-cmd-offre h2,
.devenir-cmd-offre p {
  color: #fff;
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}

.devenir-cmd-offre p:last-child {
  margin-bottom: 1.5rem;
}

/* ===== SECTION 7: FORMULAIRE ===== */

.devenir-cmd-formulaire {
  padding: 1rem 0;
}

.devenir-cmd-form-wrapper {
  max-width: 800px;
  margin: 2rem auto 0;
}

/* ===== BOUTON RETOUR ===== */

.page-devenir-commanditaire .archive-actions {
  margin-top: 20px;
  padding-bottom: 60px;
}

/* ===== RESPONSIVE ===== */

/* Tablette 900px */
@media (max-width: 900px) {
  .site-main.page-devenir-commanditaire .devenir-cmd-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  
  .home-commanditaires__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  
  .devenir-cmd-avantages .ligue-kpi {
    min-height: 200px;
  }
  
  .devenir-cmd-avantages .ligue-kpis {
    gap: 20px;
  }
}

/* Tablette 768px */
@media (max-width: 768px) {
  .devenir-cmd-features {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  
  .devenir-cmd-offre h2,
  .devenir-cmd-offre p {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

/* Mobile 600px */
@media (max-width: 600px) {
  .site-main.page-devenir-commanditaire .devenir-cmd-grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  
  .home-commanditaires__grid {
    grid-template-columns: 1fr;
  }
  
  .devenir-cmd-avantages .ligue-kpis {
    gap: 12px !important;
  }
  
  .devenir-cmd-avantages .ligue-kpi {
    min-height: auto;
  }
  
  .devenir-cmd-offre {
    padding: 2.5rem 1.5rem;
  }
}


/* ============ SINGLE LIGUE (template PHP) ============ */

/* ------------------------------------------------------
   Sections ligue (hero, infos, équipes, stats, etc.)
   ------------------------------------------------------ */

/* Single ligue — teams-by-division empty */
.ligue-equipes .empty-state{
  text-align: center;
  margin: 40px auto;
  max-width: 900px;
}

/* 2) SECTION IMAGE + OVERLAY (#e6e6e6 à 80%) */

.ligue-infos{
  position:relative;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  padding-top: clamp(24px, 4vw, 56px);
  padding-left: 20px;
  padding-right: 20px;
  padding-bottom: 120px;
}
.ligue-infos::before,
.equipe-infos::before{
  content:"";
  position:absolute;
  inset:0;
  background: rgba(230,230,230,.80);
  pointer-events:none;
}
.ligue-infos__inner{
  position:relative;
  z-index:1;
  width:100%;
  max-width:1440px;
  margin:0 auto;
}

/* KPIs */
.ligue-kpis{
  max-width:900px;
  margin:0 auto 40px;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:32px;
}
.ligue-kpi{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.ligue-kpi__label{
  color:#000;
  font-size:1rem;
  font-weight: 600;
  margin:0 0 10px;
}
.ligue-kpi__value{
  background:#4d4d4d;
  color:#fff;
  border-radius:5px;
  min-width:225px;
  min-height:50px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px 16px;
  font-weight:600;
}

.ligue-kpi__value a {
  text-decoration: none;
  color: inherit;
}

.ligue-kpi__value a:hover {
  color: #39b54a !important;
}

/* Séparateur pointillé */
.ligue-divider{
  width:min(1000px, 92vw);
  margin:60px auto 40px;
  border-top:0.5px dotted #4d4d4d;
  max-width: 1440px; /* ajuste pour matcher ta maquette */ 
  margin-left: auto; 
  margin-right: auto;
}

/* Titre section */
.ligue-section-title{
  text-align:center;
  color:#000;
  margin:20px 0 30px;
}

/* 2b) La section équipes : tu gardes ton CSS existant (equipes-grid, equipe-card, etc.) - voir plus bas, ligne 204 */

/* 2c) Bloc statistiques */
.ligue-stats{
  margin:40px auto 0;
  max-width:1000px;
  border:3px solid #39b54a;
  background: rgba(77,77,77,.80);
  border-radius:10px;
  padding:30px;
}
.ligue-stats__grid{
  display:grid;
  grid-template-columns: 80px 1fr;
  gap:18px;
  align-items:center;
}
.ligue-stats__icon{
  width:56px;
  height:56px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.ligue-stats__icon img { display: none; }
.ligue-stats__icon svg { display: block; width: 48px; height: 48px; }

.ligue-stats__title{
  margin:0 0 8px;
  color:#fff;
  font-size: 1.1rem;
  font-weight: 600;
}
.ligue-stats__text{
  margin:0 0 14px;
  color:#fff;
  font-size: 1rem;
}

.ligue-stats__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 8px;
}

/* 3) Footer zone */
.ligue-footer{
  padding:80px 20px;
}
.ligue-footer__inner{
  max-width: 1100px; /* même valeur que dividers */
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
}
.ligue-footer__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
}
.ligue-footer h2,
.ligue-footer p{
  color:#000;
}

/* Responsive */
@media (max-width:1024px){
  .ligue-kpis{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .ligue-footer__grid{ grid-template-columns:1fr; }
}
@media (max-width:640px){
  .ligue-kpis{ grid-template-columns:1fr; }
  .ligue-stats__grid{ grid-template-columns:1fr; text-align:left; }
}


/** SECTION ÉQUIPES - SINGLE LIGUE **/

.ligue-equipes{
  padding: 3rem 0;
}

/* Grille: max 4 colonnes, mais les colonnes “vides” disparaissent */
.ligue-equipes .equipes-grid{
  --card: 277px;
  --gap: 50px;

  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, var(--card)));
  gap: var(--gap);
  justify-content: center;
  align-items: start;

  /* Empêche la grille de prendre 1440px et de “sembler” décentrée */
  max-width: calc((var(--card) * 4) + (var(--gap) * 3));
  margin-left: auto;
  margin-right: auto;
}

.ligue-equipes .equipes-grid__item{
  display:flex;
  justify-content:center;
  min-width: 0;
}

/* 3 colonnes tablette */
@media (max-width: 1200px){
  .ligue-equipes .equipes-grid{
    max-width: calc((277px * 3) + (50px * 2));
  }
}

/* 1 colonne mobile */
@media (max-width: 820px){
  .ligue-equipes .equipes-grid{
    grid-template-columns: 1fr;
    max-width: 100%;
    justify-items: center;
  }
}

/* Carte */
.equipe-card{
  width: 277px;
  background: #fff;
  padding: 30px;                 /* ton 25-35px -> je fixe à 30px */
  border-radius: 18px;
  box-shadow: 0 6px 20px rgba(0,0,0,.08);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  min-height: 270px;             /* plus proche de la maquette */
}

/* Zone logo: largeur fixe 70px */
.equipe-logo{
  width: 70px;
  height: 70px;
  margin: 6px 0 14px;
  display:flex;
  align-items:center;
  justify-content:center;
}

/* Image logo */
.equipe-logo img{
  width: 70px;
  height: 70px;
  max-width: 70px;
  object-fit: contain;
  display:block;
}

/* Titre */
.equipe-nom{
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
  margin: 0 0 14px;
  color: #4d4d4d;
}

/* Bouton (pill) */
.equipe-link{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-width:110px;
  white-space:nowrap;
  padding: 8px 16px;
  border-radius: 8px;
  background: #39b54a;
  color: #fff;
  text-decoration: none;
  font-size: 14px;
  font-weight: 700;
  margin: 0 0 18px;
}

.equipe-link:hover,
.equipe-link:focus{
  text-decoration: none;
  filter: brightness(.95);
}

/* Sponsor: collé en bas */
.equipe-sponsor{
  margin-top: auto;              /* pousse en bas */
  margin-bottom: 0;
  font-size: 12px;               /* sur la capture ça semble plus petit que 18 */
  font-weight: 400;
  color: #4d4d4d;
  opacity: .9;
}

/** DIVISIONS **/
/* Section title */
.section-title{
  text-align:center;
  margin: 0 0 28px;
}

/* Séparateur division (ligne pointillée + badge noir centré) */
.division-separator{
  width: min(1000px, 92vw);
  margin: 40px auto 40px;
  position: relative;
  text-align: center;
  border-top: 0; /* important: éviter double ligne */
}

.division-separator:before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:50%;
  border-top: 0.5px dotted #4d4d4d;
  transform: translateY(-50%);
}

.division-badge{
  position: relative;
  z-index: 1;
  display: inline-block;
  padding: 6px 14px;
  background: #000;
  color: #fff;
  border-radius: 0; /* comme demandé */
  font-weight: 700;
}

/* Toggle show/hide */
.equipes-grid__item.is-hidden{
  display:none;
}

/* Bouton “Afficher plus” (style neutre, tu peux matcher ton UI) */
.division-actions{
  display:flex;
  justify-content:center;
  margin: 28px 0 10px;
}
.btn-toggle-equipes{
  color:#4d4d4d;
  background: transparent;
  border: 2px solid rgba(0,0,0,.45);
  border-radius: 5px;
  padding: 5px 10px;
  font-weight: 500;
  cursor: pointer;
}

.btn-toggle-equipes[aria-expanded="true"] {
  background: #39b54a;
  color: #fff !important;
  border-color: #39b54a;
}

.btn-toggle-equipes:hover{
  filter: brightness(.95);
  color:#FFF !important;
}

.ligue-actions-under-teams{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap: 14px;
  margin-top: 24px;
}

/* ============ FIN SINGLE LIGUE (template PHP) ============ */

/* ===== Archive Équipes ===== */

.archive-hero__inner{
  margin: 0 auto;
  display:flex;
  justify-content:center;
}

/* Saison prochaine */
.season-next-banner{
  background: rgba(0,0,0,.75);
  color:#fff;
  
  width: min(1200px, 82vw);
  margin: 0 auto 40px;
  
  padding: 10px 16px;
  text-align:center;
  border-radius:5px;
}

/* Filtres */
.archive-filters{
  padding: 18px 0 10px;
}

.archive-filters__inner{
  width: min(1100px, 92vw);
  margin: 0 auto;
  display:flex;
  align-items:center;
  gap: 12px;
  flex-wrap:wrap;
  justify-content:center;
}

.filters-label{
  color:#fff;
  opacity:.9;
}

.filter-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 6px 12px;
  border-radius: 999px;
  background:#fff;
  color:#000;
  text-decoration:none;
  font-weight:700;
  font-size: 14px;
}

.filter-chip.is-active{
  outline: 2px solid #39b54a;
}

.filter-ligue{
  display:inline-flex;
}

.filter-chip--select {
  border-radius: 999px;
  padding: 0 12px;
}

.filter-chip--select select{
  border: 0;
  background: transparent;
  font-weight: 700;
  cursor: pointer;
  outline: none;
}

/* Zone grille */
.archive-grid{
  padding: 18px 0 50px;
}

.archive-grid__inner{
  width: min(1100px, 92vw);
  margin: 0 auto;
}

/* Grid (reprend tes sizes) */
.equipes-grid--archive{
  margin-top: 22px;
}

/* Infos supplémentaires sur card archive */
.equipe-card--archive .equipe-ligue{
  margin: 0 0 8px;
  font-size: 12px;
  opacity: .85;
}

.equipe-division{
  margin: 8px 0 12px;
}

.equipe-division__badge{
  display:inline-flex;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  align-items:center;
  justify-content:center;
  background:#4d4d4d;
  color:#fff;
  font-weight: 800;
  font-size: 12px;
}

/* Pagination + actions */
.archive-pagination{
  display:flex;
  justify-content:center;
  margin: 24px 0 6px;
}

.archive-pagination__info {
  color: #4d4d4d;
  padding: 0 15px;
  font-size: 0.9rem;
}

.archive-actions{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap: 14px;
  margin-top: 22px;
}

/* ============ FIN ARCHIVE EQUIPE (template PHP) ============ */

/* ===== Archive Joueurs ===== */

/* Archive Joueurs */
.archive-joueur .archive-hero{
  background-size: cover;
  background-position: center;
  padding: 0;
}

.search-clear{
  display:inline-flex;
  width: 28px;
  height: 28px;
  align-items:center;
  justify-content:center;
  border: 1px solid #cfcfcf;
  border-radius: 6px;
  text-decoration:none;
  color:#4d4d4d;
  background-color: #FFF;
}

.joueur-controls{
  padding: 18px 0 0;
}

.joueur-controls__inner{
  display:flex;
  align-items:center;
  justify-content:center;
  gap: 24px;
  flex-wrap: wrap;
}

.joueur-controls__search{
  display:flex;
  align-items:center;
  gap: 12px;
}

.joueur-controls__search input[type="text"]{
  height: 34px;
  padding: 6px 10px;
  border: 1px solid #cfcfcf;
  border-radius: 6px;
}

.joueur-controls__sort{
  display:flex;
  align-items:center;
  gap: 10px;
  flex-wrap: wrap;
}

/* bande foncé sous les 'controls' */
.joueur-controls {
  padding: 18px 0 18px;
  background: rgba(0, 0, 0, 0.05);
  backdrop-filter: blur(1px) brightness(0.7);
}

.joueur-controls__search label { color: #fff !important; }
.joueur-controls__sort span { color: #fff !important; }

@media (max-width: 768px) {
  .joueur-controls__inner {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 0 16px;
    box-sizing: border-box;
  }

  .joueur-controls__search {
    width: 100%;
    justify-content: center;
    flex-wrap: wrap;
    color: #fff !important;
  }

  .joueur-controls__search label,
  .joueur-controls__sort label {
    width: 100%;
    text-align: center;
    color: #fff !important;
  }

  .joueur-controls__search input[type="text"] {
    flex: 1;
    min-width: 0;
    box-sizing: border-box;
  }

  .joueur-controls__sort {
    justify-content: center;
    color: #fff !important;
  }
}

/* Masquer Trier par — temporaire */
.joueur-controls__sort {
  display: none;
}

/* Grid joueurs */
.archive-joueur .joueurs-grid{
  display:grid;
  grid-template-columns: repeat(6, 160px); /* ajuste selon maquette */
  gap: 15px;
  align-items: stretch;
  justify-content: center;
  padding: 32px 0 18px;
}

@media (max-width: 1200px){
  .archive-joueur .joueurs-grid{ grid-template-columns: repeat(4, 140px); }
}
@media (max-width: 820px) {
  .archive-joueur .joueurs-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    padding: 20px 16px 18px;
  }
}

/* ============ FIN ARCHIVE JOUEURS (template PHP) ============ */

/* ============ CARDS - JOUEURS (archive-joueur et single-equipe) ===== */
/* =========================================================
   JOUEUR CARD — CANON (identique partout)
   Les variantes changent seulement le contenu, pas la forme.
   ========================================================= */

/* Card */
.joueur-card{
  width: 160px;       /* doit matcher ta grille desktop */
  min-height: 160px;
  height: 100%;
  box-sizing: border-box;
  border: 1px solid #39b54a;
  background: #fff;
  padding: 14px 10px;

  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  gap: 8px;
}

/* Neutraliser le bleu WP */
.joueur-card a{
  color: inherit;
  text-decoration: none;
}

/* Nom joueur (2 lignes) */
.joueur-card__name{
  margin: 0;
  font-size: 1.15rem;
  line-height: 1.1;
  font-weight: 500;
  color: #4d4d4d;
}
.joueur-card__name span{ display:block; }

/* Ligne “Statistiques” (équipe seulement, mais style canon) */
.joueur-card__stats{
  display:flex;
  align-items:center;
  justify-content:center;
  gap: 10px;
  color:#4d4d4d;
  font-size: 15px;              /* même “présence” que la maquette */
}

/* Divider canon */
.joueur-card__divider{
  width: 70%;
  margin: 10px auto 12px;
  border-top: 3px dotted #39b54a;
}

/* Ligue (petit + hover vert) — si présent */
.joueur-card__league{
  font-size: 12px;
  color:#4d4d4d;
}
.joueur-card a.joueur-card__stats:hover{ color:#39b54a; }

/* Icône externe (statistiques) */
.bmc-icon--external{
  width:14px;
  height:14px;
  display:block;
}

/* Responsive (si ta grille passe à 160px) */
@media (max-width: 820px){
  .joueur-card{ width: 160px; }
}

/* =========================================================
   JOUEUR CARD — règles VISUELLES unifiées
   - Équipe: même taille/couleur/hover partout
   - Divider: position différente selon la card
   ========================================================= */

/* ÉQUIPE (lien) — canon */
.joueur-card a.joueur-card__team{
  font-size: 16px;
  color: #39b54a;
  font-weight: 700;
  text-decoration: none;
}

.joueur-card a.joueur-card__team:hover{
  color: #4d4d4d;
  text-decoration: none;
}

/* LIGUE (lien) — hover vert */
.joueur-card a.joueur-card__league{
  color: #4d4d4d;
  text-decoration: none;
}

.joueur-card a.joueur-card__league:hover{
  color: #39b54a;
  text-decoration: none;
}

/* ===== Divider: ARCHIVE (sous l’équipe, avant la ligue) ===== */
.archive-joueur .joueur-card--archive .joueur-card__divider{
  width: 70%;
  margin: 10px auto 12px;
}

/* ===== Divider: SINGLE ÉQUIPE (entre Statistiques et Équipe) ===== */
.equipe-single .joueur-card--equipe .joueur-card__divider{
  width: 70%;
  margin: 10px auto 12px;
}


/* =========================
   SINGLE ÉQUIPE
   ========================= */

.single-equipe .site.grid-container {
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}
.single-equipe .inside-article { padding: 0; }

/* ── FOND IMAGE GLOBAL (hero + KPIs) ── */
.equipe-page-bg {
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* Surface image — identique au pattern archive-equipe */
.single-equipe-surface {
  position: relative;
  background-image: var(--surface-bg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  /* L'image s'arrête ici — ajuste la valeur selon où tu veux qu'elle finisse */
  min-height: 900px; 
  height: auto;
}

/* Couche blanche 80% — démarre après le hero */
.equipe-white-overlay {
  position: relative;
  background: rgba(255, 255, 255, 0.80);
  width: 100%;
  padding: 48px 0 60px; /* le 60px du bas crée l'espace sous les KPIs */
  margin-top: 65px;
}

/* 3 — Div parasite à droite : overflow caché sur le main */
.site-main.equipe-single {
  overflow-x: hidden;
  width: 100%;
  max-width: 100%;
}

/* ── HERO ── */
.equipe-hero {
  background: transparent !important; /* l'image vient du parent */
  min-height: clamp(var(--bmc-hero-min, 420px), var(--bmc-hero-ideal, 55vh), var(--bmc-hero-max, 680px));
}

.equipe-hero .bmc-hero__bg { display: none; } /* désactivé, géré par .equipe-page-bg */

.equipe-hero__inner {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}

/* Hero-card : 3 colonnes — réduite de ~33% */
.equipe-hero-card {
  width: min(580px, 92vw); /* était 860px */
  background: rgba(0, 0, 0, 0.82);
  border: 3px solid #39b54a;
  border-radius: 15px;
  padding: 44px 28px;
  display: grid;
  grid-template-columns: 100px 1fr 100px;
  gap: 20px;
  align-items: center;
  color: #fff;
}

/* Logo carré coins arrondis */
.equipe-hero-card__logo {
  width: 76px;
  height: 76px;
  border-radius: 10px; /* carré coins arrondis */
  background: #fff;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: 5px;
  margin-left: 20px;
}

.equipe-hero-card__logoimg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

@media (max-width: 700px) {
  .equipe-hero-card__logo {
    margin-left: 0;
  }
}

/* Infos centrées */
.equipe-hero-card__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 5px;
}

.equipe-hero-card__title {
  margin: 0 0 4px;
  font-size: 1.6rem;
  line-height: 1.15;
  color: #fff;
}

.equipe-hero-card__line {
  display: flex;
  gap: 5px;
  align-items: baseline;
  font-size: 0.88rem;
  justify-content: center;
}

.equipe-hero-card__label   { opacity: 0.8; }
.equipe-hero-card__value   { opacity: 0.95; }

.equipe-hero-card__value--green {
  color: #39b54a;
  font-weight: 700;
}

.equipe-hero-card__link {
  color: #39b54a;
  font-weight: 700;
  text-decoration: none;
}
.equipe-hero-card__link:hover { color: #FFF; }

.equipe-hero-card__links {
  margin-top: 6px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}

.equipe-hero-card__ext {
  color: #fff;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.82rem;
}

.equipe-hero-card__ext:visited,
.equipe-hero-card__ext:active {
  color: #fff;
}

.equipe-hero-card__ext:hover,
.equipe-hero-card__ext:focus-visible {
  color: #39b54a;
}

/* Badge division — agrandi de ~40% */
.equipe-hero-card__badge {
  display: flex;
  justify-content: center;
  align-items: center;
}

.equipe-hero-card--archive {
  grid-template-columns: 1fr !important;
  max-width: 400px;
  margin: 0 auto;
}

.equipe-hero-card--archive .equipe-hero-card__content {
  grid-column: 1 !important;
}

.equipe-white-overlay--archive .ligue-kpis {
  justify-content: center !important;
}

.equipe-white-overlay--archive .ligue-kpis {
  grid-template-columns: 225px !important;
}

.bmc-badge--hero {
  width: 112px;  /* était 80px → +40% */
  height: 112px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.bmc-badge__svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  fill: #39b54a;
}

.bmc-badge__text {
  position: relative;
  z-index: 1;
  color: #fff;
  font-weight: 800;
  font-size: 1rem; /* proportionnel au badge agrandi */
  line-height: 1;
  padding-bottom: 5px;
}

/* Statusbar blanc vide sous le hero-card */
.equipe-hero__statusbar {
  width: min(900px, 92vw);
  background: #fff;
  height: 56px;
  border-radius: 0; /* pas de coins arrondis */
  box-shadow: 0 4px 18px rgba(0,0,0,0.10);
}

/* ── SECTION KPIs (même fond image, via .equipe-page-bg) ── */
.equipe-kpis-section {
  padding: 48px 0 16px;
}

/* KPIs centrés */
.equipe-kpis-section__inner {
  max-width: 900px;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* Lien PDF dans KPI règlements */
.equipe-kpi__pdf-link {
  color: #fff;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  font-size: 0.95rem;
}
.equipe-kpi__pdf-link:hover { color: #e6e7e8; text-decoration: underline;}
.equipe-kpi__pdf-link svg   { flex-shrink: 0; }

/* Bloc joueurs blanc opaque centré */
.equipe-joueurs-wrap {
  background: #fff;
  width: min(1060px, 92vw);
  margin: 20px auto 0; /* chevauchement négatif sur le bas de l'image */
  padding: 0 40px 30px;
  text-align: center;
  position: relative;
  z-index: 2;
}

.equipe-joueurs-panel {
  width: 100%;
  text-align: center;
}

.equipe-joueurs-panel .ligue-divider {
  width: 100%;
  margin-left: 0;
  margin-right: 0;
}

/* Rectangle blanc vide bas de page */
.equipe-page-footer-bar {
  background: #fff;
  height: 60px;
}

.equipe-single .joueurs-grid--equipe {
  display: grid;
  grid-template-columns: repeat(auto-fit, 160px);
  gap: 20px;
  justify-content: center;
  align-items: stretch;
  max-width: calc(6 * 160px + 5 * 20px);
  margin: 0 auto 60px;
}

.equipe-single .joueurs-grid__item {
  display: flex;
  justify-content: center;
}

.equipe-joueurs__actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  margin-top: 24px;
}

.equipe-joueurs__note {
  text-align: center;
  max-width: 60ch;
  margin: 0;
  font-style: italic;
  opacity: 0.8;
}
.equipe-joueurs__note a {
  color: #39b54a;
  text-decoration: underline;
}

.equipe-single .empty-state {
  text-align: center;
  margin: 24px auto;
  opacity: 0.7;
}

/* Responsive */
@media (max-width: 700px) {
  .equipe-hero-card {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
    width: 92vw;
  }
}  
@media (max-width: 768px) {
  .equipe-single .joueurs-grid--equipe {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
}

  .equipe-kpis-section { padding: 32px 0 0; }
}

/* Pour régler la bande blanche du haut de la page */
body.single-equipe #primary.site-main {
  margin-top: 0 !important;
}

/* =======================================================
                        ARCHIVE-LIGUE
   ======================================================= */
   
/* ===== Carte ligue archive ===== */

.ligue-card--archive{
  width: 277px;
  background: #fff;
  border-radius: 14px;
  padding: 24px 22px;
  box-shadow: 0 8px 22px rgba(0,0,0,.12);

  display: flex;
  flex-direction: column;
  justify-content: space-between;

  align-items: center;        /* 👈 centre horizontalement */
  text-align: center;         /* 👈 centre le texte */
  
  min-height: 190px;
}

.ligue-nom{
  margin: 0 0 6px;
  font-size: 1.05rem;
  font-weight: 700;
}

.ligue-inscriptions{
  margin: 0 0 18px;
  font-size: .95rem;
  opacity: .9;
}

.ligue-btn{
  margin-top: auto;
  align-self: center; /* 👈 centre le bouton */
}

.ligue-saison-pill{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 10px auto 12px;
  padding: 6px 12px;
  border-radius: 5px;
  font-weight: 600;
  font-size: .85rem;
  line-height: 1;
  background: rgba(0,0,0,.03);
  border: 1px solid rgba(0,0,0,.10);
}

/* ================================================ 
        Archive Ligues : Grid 4 colonnes fixes
   ================================================ */

.ligues-grid{
  display: grid;
  grid-template-columns: repeat(4, 277px);
  gap: 50px;
  justify-content: center;   /* centre horizontalement */
  align-items: stretch;      /* IMPORTANT pour hauteur uniforme */
}

.ligues-grid__item{
  display: flex;
  justify-content: center;
}

@media (max-width: 1200px){
  .ligues-grid{
    grid-template-columns: repeat(2, 277px);
  }
}

@media (max-width: 820px) {
  .ligues-grid {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 20px;
    padding: 0 16px;
  }
  
  .ligues-grid__item,
  .ligues-grid__item > * {
    width: 100%;
  }
}

/* ======================================
   Archive Ligues — Bloc Archives (pills)
   ====================================== */

.bmc-archives{
  padding: 40px 0 10px;
  text-align: center;
}

.bmc-archives__title{
  margin: 0 0 18px;
  font-size: 1.6rem;
  font-weight: 700;
}

.bmc-archives__pills{
  display: flex;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 22px;
}

.bmc-archives__pill{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 120px;
  padding: 12px 22px;
  border-radius: 12px;
  text-decoration: none;
  font-weight: 700;

  color: #fff;
  background: linear-gradient(180deg, #2b2b2b 0%, #111 100%);
  box-shadow: 0 10px 22px rgba(0,0,0,.16);
  border: 1px solid rgba(255,255,255,.08);
  transition: transform .12s ease, box-shadow .12s ease, filter .12s ease;
}

.bmc-archives__pill:hover{
  transform: translateY(-1px);
  box-shadow: 0 14px 26px rgba(0,0,0,.20);
  filter: brightness(1.06);
    color: #fff; /* empêche le noir */
  background: #39b54a; /* vert hover */
  border-color: rgba(0,0,0,.12);
  filter: none;
}

.bmc-archives__pill.is-active{
  filter: brightness(1.12);
  border-color: rgba(255,255,255,.22);
}

.bmc-archives__actions{
  margin-top: 6px;
  margin-bottom: 50px;
}


/* ======================================
              ARCHIVE - TERRAIN
   ====================================== */
   
.archive-terrain-surface{
  --surface-overlay: rgba(0,0,0,.10);
  --surface-cutoff: 1150px;
}
@media (max-width: 820px){
  .archive-terrain-surface{ --surface-cutoff: 1050px; }
}

.terrains-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 46px;
  margin-top: 24px;
}
@media (max-width: 900px){
  .terrains-grid{ grid-template-columns: 1fr; }
}

.terrain-card{
  background: #fff;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 16px;
  box-shadow: 0 10px 26px rgba(0,0,0,.08);
  overflow: hidden;
}

.terrain-card__inner{
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  align-items: stretch;
  min-height: 200px;
}

.terrain-card__content{
  padding: 32px 32px 18px;
  display: flex;
  flex-direction: column;
}

.terrain-card__title{
  margin: 0 0 8px;
  color: #2fa545;
  font-weight: 700;
  font-size: 1.15rem;
}

.terrain-card__address{
  margin: 0 0 14px;
  line-height: 1.35;
  opacity: .85;
  font-size: .95rem;
}

.terrain-card__cta{
  margin-top: auto;
  align-self: flex-start;
}

.terrain-card__cta.btn--small{
  padding: 8px 12px;
  font-size: .92rem;
  border-radius: 10px;
}

.terrain-card__media{
  padding: 14px;
  background: transparent;
}
.terrain-card__media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.10);
}

@media (max-width: 900px){
  .terrain-card__inner{ grid-template-columns: 1fr; }
  .terrain-card__media{ height: 220px; }
}   

/* ======================================
           ARCHIVE - COMMANDITAIRES
   ====================================== */

.archive-commanditaire-surface{
  --surface-overlay: rgba(0,0,0,.10);
  --surface-cutoff: 1350px;
}
@media (max-width: 820px){
  .archive-commanditaire-surface{ --surface-cutoff: 1050px; }
}

.commanditaires-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 34px;
  margin-top: 24px;
}
@media (max-width: 980px){
  .commanditaires-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px){
  .commanditaires-grid{ grid-template-columns: 1fr; padding: 0 16px; }
}

.commanditaire-card{
  min-height: 280px;
  display: flex;
  background: #fff;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 18px;
  box-shadow: 0 10px 26px rgba(0,0,0,.08);
  overflow: hidden;
}

.commanditaire-card__inner{
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: 28px 28px 22px;
  text-align: center;
}

.commanditaire-card__logo{
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
}
.commanditaire-card__logo img{
  max-height: 72px;
  max-width: 170px;
  width: auto;
  height: auto;
  display: block;
  object-fit: contain;
}
.commanditaire-card__logo-ph{
  width: 72px;
  height: 72px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.12);
  background: rgba(0,0,0,.03);
  display: inline-block;
}

.commanditaire-card__title{
  margin: 0 0 10px;
  font-weight: 700;
  font-size: 1.05rem;
  color: #222;
}

.commanditaire-card__desc{
  margin: 0 0 14px;
  line-height: 1.35;
  opacity: .82;
  font-size: .92rem;
}

.commanditaire-card__link{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 14px auto 0;
  font-size: .92rem;
  font-weight: 500;
  text-decoration: none;
  color: rgba(0,0,0,.75);
  transition: opacity .2s ease, transform .2s ease;
}

.commanditaire-card__link:hover{
  opacity: .7;
  transform: translateY(-1px);
  color: #39b54a;
}

.commanditaire-card__icon{
  color: currentColor;
}

/* ======================================
              Archive Médias
   ====================================== */

/* wrapper du haut de page médias: force un layout vertical centré */
.media-top{
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

/* filtres centrés sous le hero */
.media-filters{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
  margin: 48px 0 16px;
  width: 100%;
}

.media-filters__label {
  color: #4d4d4d !important;
}

.media-search form {
  display: flex;
  align-items: center;
  gap: 12px;
}

.media-search label {
  color: #4d4d4d !important;
  font-weight: 600;
}

.media-search input[type="text"] {
  height: 34px;
  padding: 6px 10px;
  border: 1px solid #cfcfcf;
  border-radius: 6px;
}

.media-filters__label{ opacity:.85; font-weight:600; }
.media-filters__pills{ display:flex; gap:10px; flex-wrap:wrap; justify-content:center; }

.media-filter-pill{
  display:inline-flex;
  padding: 7px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.80);
  border: 1px solid rgba(0,0,0,.10);
  text-decoration:none;
  font-weight:600;
  color:#111;
}
.media-filter-pill:hover{ background:#39b54a; color:#fff; }

.media-filter-pill.is-active {
  background: #e6fff0;
  border-color: rgba(57,181,74,.40);
  cursor: default; /* ← pas de curseur pointer sur l'actif */
}

.media-filter-pill.is-active:hover {
  background: #e6fff0; /* ← garde le même style, pas de changement au hover */
  color: #111;
}

/* Mobile — media-filters */
@media (max-width: 768px) {
  .media-filters {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin: 24px 0 12px;
    padding: 0 16px;
  }

  .media-search {
    width: 100%;
  }

  .media-search form {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 6px;
    width: 100%;
  }

  .media-search label {
    width: 100%;
    text-align: center;
  }

  .media-search input[type="text"] {
    width: 100%;
    max-width: 260px;
    box-sizing: border-box;
  }

  .media-filters__pills {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
  }
}

.media-grid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
  margin-top: 26px;
}
@media (max-width: 1100px){ .media-grid{ grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 820px){ .media-grid{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px){ .media-grid{ grid-template-columns: 1fr; } }

.media-card{ border-radius: 18px; overflow:hidden; }
.media-card__click{
  display:block;
  text-decoration:none;
  color:inherit;
  background:#fff;
  border-radius: 18px;
  box-shadow: 0 10px 26px rgba(0,0,0,.10);
  overflow:hidden;
}
.media-card__media{
  position:relative;
  aspect-ratio: 1 / 1;
  background:#f1f2f2;
}
.media-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.media-card__ph{ width:100%; height:100%; background: #e9ecef; }

.media-badge{
  position:absolute;
  top:10px; right:10px;
  background: rgba(57,181,74,.95);
  color:#fff;
  font-size: 12px;
  font-weight:700;
  padding: 6px 10px;
  border-radius: 999px;
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.media-badge__more{
  font-size: 11px;
  opacity:.95;
}

.media-card__media{
  position: relative;
  opacity: .85;
  transition: transform .2s ease, opacity .2s ease;
}

.media-card:hover .media-play{
  transform: translate(-50%, -50%) scale(1.08);
  opacity: 1;
}

.media-play{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
  width: 55px;
  height: 55px;
}

.media-play svg{
  width: 100%;
  height: 100%;
  display: block;
}

.media-card__meta{
  padding: 12px 14px 14px;
  text-align:center;
}
.media-card__title{ font-weight:700; }
.media-card__date{ 
  opacity:.75; 
  font-size: .9rem; 
  margin-top: 2px;
  text-transform: lowercase;
}

/* =========================
   BMC MODAL (Media)
   ========================= */

html.bmc-modal-open,
html.bmc-modal-open body{
  overflow: hidden !important;
}

.bmc-modal{
  position: fixed !important;
  inset: 0 !important;
  z-index: 999999 !important;
  display: none !important;
}

.bmc-modal.is-open{
  display: block !important;
}

.bmc-modal__overlay{
  position: absolute !important;
  inset: 0 !important;
  background: rgba(0,0,0,.68) !important;
}

.bmc-modal__panel{
  display:flex !important; /* Modal layout: no scroll for image */
  flex-direction:column !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;

  width: min(980px, 92vw) !important;
  max-height: 82vh !important;
  overflow: auto !important;

  background: #0f0f0f !important;
  color: #fff !important;
  border-radius: 16px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  box-shadow: 0 22px 70px rgba(0,0,0,.55) !important;
  padding: 12px !important;
}

/* Body prend l’espace, et scroll seulement si nécessaire (rare) */
.bmc-modal__body{
  flex:1 1 auto !important;
  min-height:0 !important;             /* important pour flex */
  overflow:hidden !important;
}

/* Gallery = colonne */
.bmc-modal__gallery{
  height:100% !important;
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
}

/* Image: toujours contenue dans le viewport */
.bmc-modal__img{
  width:100% !important;
  height:auto !important;
  max-height:62vh !important;          /* ajuste 65–75vh */
  object-fit:contain !important;
  border-radius:12px !important;
  display:block !important;
}

/* Barre de nav en bas */
.bmc-modal__gallery-nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

/* Iframe responsive (sinon ça déborde) */
.bmc-modal__video iframe{
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 9 !important;
  border: 0 !important;
  border-radius: 12px !important;
  display: block !important;
}

/* Close: en haut à droite, petit */
.bmc-modal__close{
  position:absolute !important;
  top:10px !important;
  right:10px !important;
  left:auto !important;
  margin:0 !important;
  z-index: 2 !important;
}

/* Count centré en bas */
.bmc-modal__count{
  font-size:14px;
  opacity:.9;
  text-align:center;
  flex:1;
}

/* Boutons plus petits + discrets (au lieu du gros carré gris) */
.bmc-modal__nav,
.bmc-modal__close{
  width:36px !important;
  height:36px !important;
  border-radius:10px !important;
  background: rgba(255,255,255,.10) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  color:#fff !important;
  font-size:20px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}


/* =============================================
   PAGE: ARCHIVE NOUVELLES — HERO + SURFACE GRISE
   ============================================= */

.nouvelles-surface {
  background: #e6e7e8;
  padding-bottom: 0px; /* contrôle où le gris s'arrête */
}

.nouvelles-hero--no-bg {
  background: transparent;
  min-height: auto;
}

.nouvelles-hero--no-bg .bmc-hero__bg {
  display: none;
}

.nouvelles-hero__content {
  padding-top: var(--bmc-header-offset, 360px) !important;
  padding-bottom: 2rem;
}

.nouvelles-hero--no-bg .bmc-hero-box {
  background: rgba(0, 0, 0, 0.85);
}

.nouvelles-hero--no-bg .bmc-hero-box__title,
.nouvelles-hero--no-bg .bmc-hero-box__text {
  color: #fff;
}

.nouvelles-hero__inner {
  display: flex;
  justify-content: center;
}

/* =============================================
   SECTION: À LA UNE
   ============================================= */

.nouvelles-une-wrap {
  position: relative;
  background: linear-gradient(to bottom, #e6e7e8 0%, #ffffff 100%) !important;
}

.nouvelles-une__separator {
  margin-bottom: 2.5rem;
}

.nouvelles-une {
  padding: 0;
  position: relative;
  z-index: 2;
}

/* =============================================
   GRILLES — UNE SEULE DÉFINITION UNIFIÉE
   ============================================= */

/* Règle commune aux deux grilles */
.nouvelles-une__grid,
.nouvelles-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 360px));
  gap: 2rem;
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
}

/* Cards à la une : chevauchent le fond gris */
.nouvelles-une__grid {
  margin-bottom: 0px; /* doit être égal au padding-bottom de .nouvelles-surface */
}

/* Grille principale */
.nouvelles-grid {
  margin-bottom: 2.5rem;
}

/* Compense le chevauchement sous la surface grise */
.nouvelles-grid-section {
  padding: 30px 0 3rem; /* doit être > margin-bottom négatif */
}

/* Espace entre séparateur "À la une" et filtres */
.nouvelles-filters {
  padding: 34px 0 0px; /* était 8px — redonne de l'air */
}

.nouvelles-filters .filters-label {
  color: #111;
  opacity: .9;
}

.nouvelles-empty {
  grid-column: 1 / -1;
  text-align: center;
  color: #666;
  padding: 2rem 0;
}

/* Responsive */
@media (max-width: 900px) {
  .nouvelles-une__grid,
  .nouvelles-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .nouvelles-une__grid {
    margin-bottom: -160px;
  }
/* La grille principale compense le débordement
        ET contrôle l'espace entre filtres et cards */
.nouvelles-grid-section {
  padding-top: 210px;  /* légèrement > 190px pour l'air */
  padding-bottom: 3rem;
}
}

@media (max-width: 600px) {
  .nouvelles-une__grid,
  .nouvelles-grid {
    grid-template-columns: 1fr;
  }
  .nouvelles-une__grid {
    margin-bottom: 0;
  }
  .nouvelles-grid-section {
    padding-top: 2rem;
  }
}

/* =============================================
   CARD: NOUVELLE
   ============================================= */

.nouvelle-card {
  border-radius: 25px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0,0,0,0.10);
  transition: box-shadow 0.2s, transform 0.2s;
  list-style: none;
  background: transparent;
  position: relative;
}

.nouvelle-card:hover {
  box-shadow: 0 8px 28px rgba(0,0,0,0.15);
  transform: translateY(-3px);
}

.nouvelle-card__link {
  display: flex;
  flex-direction: column;
  min-height: 380px;
  text-decoration: none;
  color: inherit;
  position: relative;
}

.nouvelle-card__media {
  position: absolute;
  inset: 0;
  border-radius: 25px;
  overflow: hidden;
}

.nouvelle-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Badges centrés en haut */
.nouvelle-card__badges {
  position: absolute;
  top: 0.7rem;
  left: 0;
  right: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.3rem;
  z-index: 2;
}

.nouvelle-card__date-badge {
  background: #111;
  color: #fff;
  font-size: 0.72rem;
  font-weight: 600;
  padding: 0.25rem 0.7rem;
  border-radius: 3px;
  letter-spacing: 0.03em;
  white-space: nowrap;
}

.nouvelle-card__cat-badge {
  background: var(--cat-color, #39b54a);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
  padding: 0.25rem 0.7rem;
  border-radius: 3px;
  letter-spacing: 0.03em;
  white-space: nowrap;
}

/* Bloc blanc fixe en bas — dégagé 15px gauche/droite/bas */
.nouvelle-card__body {
  background: #fff;
  border-radius: 18px;
  margin: auto 15px 15px 15px;
  position: relative;
  z-index: 1;
  padding: 1rem 1.1rem 1rem;
  display: flex;
  flex-direction: column;
  height: 165px; /* hauteur fixe uniforme */
  overflow: hidden;
  box-shadow: 0 4px 14px rgba(0,0,0,0.08);
}

.nouvelle-card__title {
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.3;
  margin: 0 0 0.4rem;
  color: #111;
  text-align: center;
}

.nouvelle-card__excerpt {
  font-size: 0.82rem;
  color: #555;
  line-height: 1.5;
  margin: 0 0 0.5rem;
  flex: 1;
  overflow: hidden;
  text-align: center;
  white-space: pre-line;
}

.nouvelle-card__cta {
  font-size: 0.82rem;
  font-weight: 600;
  color: #111;
  text-align: center;
  margin-top: auto;
}

/* pour contrer ce qui se passe sur la front-page */
.nouvelle-card,
.nouvelle-card__title,
.nouvelle-card__excerpt,
.nouvelle-card__cta {
  text-decoration: none !important;
}

/* =============================================
   BOUTON RETOUR
   ============================================= */

.nouvelles-back {
  padding: 0 0 50px;
  justify-content: center;
}

/* =============================================
   LOAD MORE
   ============================================= */

.nouvelles-loadmore {
  text-align: center;
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.btn--outline-dark {
  background: transparent;
  border: 1.5px solid #111;
  color: #111;
  padding: 0.65rem 2rem;
  font-size: 0.95rem;
  font-weight: 600;
  border-radius: 30px;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
}

.btn--outline-dark:hover {
  background: #111;
  color: #fff;
}


/* =============================================
   SINGLE: NOUVELLE
   ============================================= */

/* Hero — même hauteur que les autres pages */
.single-nouvelle .nouvelle-hero {
  min-height: clamp(var(--bmc-hero-min), var(--bmc-hero-ideal), var(--bmc-hero-max));
}

/* Fallback pattern : contain - toutes les images autres - cover */
.hero-bg--cover {
  background-size: cover;
  background-position: center;
}

.hero-bg--contain {
  background-size: contain;
  background-repeat: repeat;
  background-position: top center;
}

/* Hero box simplifié : badge catégorie + titre seulement */
.single-nouvelle .nouvelle-hero__box {
  background: rgba(0, 0, 0, 0.82);
  border: 3px solid #39b54a;
  border-radius: 10px;
  padding: 32px 40px 36px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 16px;
  max-width: 600px;
  margin: 0 auto;
}

/* Espace sous le hero-box pour ne plus le cacher */
.single-nouvelle .nouvelle-hero__inner {
  padding-bottom: 80px;
}

/* Badge catégorie */
.single-nouvelle .nouvelle-hero__cat {
  display: inline-block;
  background: var(--cat-color, #39b54a);
  color: #fff;
  font-size: 0.8rem;
  font-weight: 700;
  padding: 0.3rem 0.9rem;
  border-radius: 4px;
  letter-spacing: 0.05em;
}

/* Titre blanc */
.single-nouvelle .nouvelle-hero__box .bmc-hero-box__title {
  color: #fff;
  font-size: 1.5rem;
  margin-top: 20px;
}

/* =============================================
   BLOC BLANC — chevauchement sur le hero
   ============================================= */

.nouvelle-content-wrap {
  display: flex;
  justify-content: center;
  padding: 0 1.5rem 60px;
  margin-top: -60px; /* chevauchement sur le bas du hero */
  position: relative;
  z-index: 2;
}

.nouvelle-content-panel {
  background: #fff;
  border-radius: 0;
  box-shadow: 0 8px 32px rgba(0,0,0,0.10);
  width: 100%;
  max-width: 1060px;
  padding: 48px 60px 48px;
  text-align: center;
}

/* Date */
.nouvelle-content__date {
  display: inline-block;
  background: #111;
  color: #fff;
  font-size: 0.78rem;
  font-weight: 600;
  padding: 0.3rem 0.8rem;
  border-radius: 3px;
  letter-spacing: 0.03em;
  margin-bottom: 2rem;
}

/* Contenu natif WP */
.nouvelle-content__body {
  font-size: 0.95rem;
  line-height: 1.7;
  color: #222;
}

/* Galeries WP — centrer et limiter la largeur */
.nouvelle-content__body .wp-block-gallery,
.nouvelle-content__body .gallery {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
  margin: 1.5rem 0;
  list-style: none;
  padding: 0;
}

.nouvelle-content__body .wp-block-gallery figure,
.nouvelle-content__body .gallery-item {
  flex: 0 0 auto;
  max-width: calc(50% - 0.5rem);
}

/* 3 images ou plus : 3 colonnes */
.nouvelle-content__body .wp-block-gallery.has-nested-images figure.wp-block-image,
.nouvelle-content__body .gallery-columns-3 .gallery-item {
  max-width: calc(33.333% - 0.7rem);
}

.nouvelle-content__body .wp-block-gallery img,
.nouvelle-content__body .gallery-item img {
  width: 100%;
  height: auto;
  border-radius: 10px;
  display: block;
  object-fit: cover;
}

/* Images simples dans le contenu */
.nouvelle-content__body img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}

/* Paragraphes */
.nouvelle-content__body p {
  margin: 0 0 1rem;
}

.nouvelle-content__body p:last-child {
  margin-bottom: 0;
}

/* Liens dans le contenu */
.nouvelle-content__body a {
  color: #39b54a;
  text-decoration: underline;
}

/* Bouton retour */
.nouvelle-content__back {
  margin-top: 2.5rem;
  display: flex;
  justify-content: center;
}

/* Responsive */
@media (max-width: 768px) {
  .nouvelle-content-panel {
    padding: 32px 24px 36px;
  }

  .nouvelle-content__body .wp-block-gallery figure,
  .nouvelle-content__body .gallery-item,
  .nouvelle-content__body .wp-block-gallery.has-nested-images figure.wp-block-image,
  .nouvelle-content__body .gallery-columns-3 .gallery-item {
    max-width: 100%;
  }

  .single-nouvelle .nouvelle-hero__box .bmc-hero-box__title {
    font-size: 1.4rem;
  }
}


/* Bloc ACF Single Nouvelle */

/**
 * Styles pour Module Match ACF
 * Affichage des ligues, matchs et annulations
 * Style: Simple et lisible, type Facebook post
 */

.nouvelle-acf-module {
  margin-top: 3rem;
  padding: 2rem;
  background: #f9f9f9;
  border-radius: 8px;
  line-height: 1.6;
}

/* ─────────────────────────────────────
   Bloc Ligues
   ───────────────────────────────────── */

.module-ligues {
  margin-bottom: 2rem;
}

.ligue-item {
  padding: 1rem;
  margin-bottom: 1rem;
  background: #fff;
  border-left: 4px solid #39b54a;
  border-radius: 4px;
}

.ligue-item strong {
  display: block;
  font-size: 1.05rem;
  margin-bottom: 0.5rem;
}

.ligue-item a {
  color: #39b54a;
  text-decoration: none;
  font-weight: 600;
}

.ligue-item a:hover {
  text-decoration: underline;
}

.ligue-details {
  font-size: 0.95rem;
  color: #666;
  margin: 0;
  font-style: italic;
}

/* ─────────────────────────────────────
   Bloc Matchs
   ───────────────────────────────────── */

.module-matchs {
  margin-bottom: 2rem;
}

.match-item {
  padding: 1.5rem;
  margin-bottom: 1.5rem;
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 6px;
}

.match-terrain {
  margin: 0 0 1rem 0;
  font-size: 0.95rem;
  color: #333;
}

.match-terrain strong {
  display: block;
  margin-bottom: 0.25rem;
}

.match-terrain a {
  color: #39b54a;
  text-decoration: none;
  font-weight: 600;
}

.match-terrain a:hover {
  text-decoration: underline;
}

.match-note {
  margin: 0.5rem 0 1rem 0;
  padding: 0.75rem;
  background: #f0f0f0;
  border-radius: 4px;
  font-size: 0.9rem;
  color: #555;
  font-weight: 500;
  margin: 0;
  padding: 0.5rem 0;
}

.match-teams {
  margin: 1rem 0;
  padding: 1rem;
  background: #f5f5f5;
  border-radius: 4px;
  font-size: 1rem;
  font-weight: 600;
  text-align: center;
  line-height: 1.8;
}

.match-teams a {
  color: #39b54a;
  text-decoration: none;
  font-weight: 700;
}

.match-teams a:hover {
  text-decoration: underline;
}

.match-dash {
  display: inline;
  margin: 0 0.5rem;
  color: #999;
}

.match-time-inline {
  color: #39b54a;
  font-weight: 600;
}

.match-vs {
  display: inline-block;
  margin: 0 0.75rem;
  color: #999;
  font-weight: normal;
}

.match-time {
  margin: 1rem 0;
  font-size: 1.05rem;
  color: #333;
  text-align: center;
}

.match-time strong {
  color: #39b54a;
}

.match-officials {
  margin: 0.75rem 0 0 0;
  font-size: 0.9rem;
  color: #666;
  text-align: center;
}

.match-officials em {
  font-style: normal;
  font-weight: 600;
  color: #333;
}

/* ─────────────────────────────────────
   Bloc Annulation
   ───────────────────────────────────── */

.module-annulation {
  margin-top: 2rem;
  padding: 1.5rem;
  background: #fff3cd;
  border-left: 4px solid #ffc107;
  border-radius: 4px;
}

.annulation-alert {
  margin: 0;
  color: #856404;
  font-size: 0.95rem;
  line-height: 1.6;
}

/* ─────────────────────────────────────
   Responsive
   ───────────────────────────────────── */

@media (max-width: 768px) {
  .nouvelle-acf-module {
    padding: 1.5rem;
    margin-top: 2rem;
  }

  .match-item {
    padding: 1rem;
    margin-bottom: 1rem;
  }

  .match-teams {
    padding: 0.75rem;
    font-size: 0.95rem;
  }

  .match-vs {
    margin: 0 0.5rem;
  }
}



/* =========================
   PAGE: ORGANISATION (HTML actuel)
   Cible: <main class="site-main page-organisation">
   ========================= */

/* Empêche tout débordement horizontal */
.site-main.page-organisation{
  overflow-x: clip; /* fallback moderne */
}
@supports not (overflow-x: clip){
  .site-main.page-organisation{ overflow-x: hidden; }
}

/* 0) Conteneur principal de la page */
/* Contenir seulement la page Organisation */
.site-main.page-organisation .organisation-wrap__inner,
.site-main.page-organisation .org-topgrid,
.site-main.page-organisation .bmc-org-grid,
.site-main.page-organisation .contact-blackbar .bmc-container,
.site-main.page-organisation .join-bmc .bmc-container{
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}

.contact-blackbar.organisation-blackbar {
  margin-top: -20px;
}

/* 1) Surface image + overlay */
.site-main.page-organisation .organisation-surface{
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.page-organisation-surface{
  --surface-overlay: rgba(0,0,0,.10);
  --surface-cutoff: 1900px;
}

.site-main.page-organisation .organisation-surface::before{
  content:"";
  position:absolute;
  inset:0;
  background: rgba(210,252,213,.80);
  pointer-events:none;
  z-index:0;
}

/* Tout le contenu au-dessus de l’overlay */
.site-main.page-organisation .organisation-surface > *{
  position: relative;
  z-index: 1;
}

/* 2) HERO (optionnel : ajuste juste la respiration) */

.site-main.page-organisation .bmc-hero-box{
  max-width: 560px;
  margin: 0 auto;
}

.organisation-hero__content {
  padding-top: var(--bmc-header-offset, 360px) !important;
  padding-bottom: 4rem;
}

.site-main.page-organisation .bmc-hero__content {
  padding-top: 360px !important;
}

/* 3) Wrapper sur l’image (Historique + Hommage) */
.site-main.page-organisation .organisation-wrap{
  padding: 0 0 70px;
}
.site-main.page-organisation .organisation-wrap__inner{
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 20px;
}

/* 4) Historique centré + 3 colonnes + traits */
.site-main.page-organisation .org-histoire__title{
  text-align:center;
  margin: 0 0 35px;
  font-weight: 700;
  letter-spacing: .02em;
  font-size: 1.25rem;
}
.site-main.page-organisation .org-histoire__subtitle{
  text-align:left;
  margin: 0 0 18px;
  font-weight: 700;
}

.site-main.page-organisation .org-histoire__cols{
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 28px;
  font-size: 0.95rem; /* ou 0.9rem */
  line-height: 1.3;
}

.site-main.page-organisation .org-histoire__cols > div{
  position: relative;
  padding-left: 22px;
}
.site-main.page-organisation .org-histoire__cols > div:first-child{
  padding-left: 0;
}
.site-main.page-organisation .org-histoire__cols > div:not(:first-child)::before{
  content:"";
  position:absolute;
  left: 0;
  top: 0.2rem;
  bottom: 0.2rem;
  border-left: 2px dotted rgba(0,0,0,.22);
}

@media (max-width: 900px){
  .site-main.page-organisation .org-histoire__cols{
    grid-template-columns: 1fr;
  }
  .site-main.page-organisation .org-histoire__cols > div{
    padding-left: 0;
  }
  .site-main.page-organisation .org-histoire__cols > div:not(:first-child)::before{
    display:none;
  }
}

/* 5) Hommage : carte “glass” */
.site-main.page-organisation .org-hommage{
  max-width: 900px;
  margin: 52px auto 0;
  padding: 30px 58px 30px;
  background: rgba(255,255,255,.72);
  border-radius: 16px;
  box-shadow: 0 14px 34px rgba(0,0,0,.10);
  backdrop-filter: blur(6px);
}

.org-hommage__title {
  margin: 0 0 24px;
  font-size: 1.25rem;
}

.org-hommage__grid {
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 18px;
  align-items: center;
}

.org-hommage__content {
  font-size: 0.9rem;
  line-height: 1.25;
  text-align: center;
  margin: 0 35px 0;
}

.org-hommage__headline {
  display: block;
  font-weight: 700;
  margin-bottom: 8px;
}

.org-hommage__image {
  width: 100%;
  height: 180px;
  border-radius: 12px;
  overflow: hidden;
}

.org-hommage__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display:block;
}

.org-hommage__image {
  position: relative; /* IMPORTANT */
  width: 100%;
  height: 275px;
  overflow: hidden;
  border-radius: 16px;
}

.org-hommage__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.org-hommage__credit {
  position: absolute;
  bottom: 6px;
  right: 8px;
  font-size: 11px;
  color: #fff;
  background: rgba(0, 0, 0, 0.55);
  padding: 3px 6px;
  border-radius: 4px;
  line-height: 1;
}

@media (max-width: 768px) {
  .org-hommage__grid {
    grid-template-columns: 1fr;
  }
}

/* 6) Grilles de cartes (tu as bmc-org-grid) */

/* Centre toutes les grilles organisation */
.site-main.page-organisation .bmc-org-grid{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 28px;
}

/* Centrer le message "Aucun résultat" */
.site-main.page-organisation .bmc-empty{
  text-align: center;
  margin: 20px 0;
}

/* Centrer tous les boutons d’actions (Arbitres / Marqueurs / Retour etc.) */
.site-main.page-organisation .organisation-actions,
.site-main.page-organisation .archive-actions{
  text-align: center;
  margin-top: 30px;
  margin-bottom: 30px;
}

/* Centrer le bloc "Rejoindre une équipe" */
.site-main.page-organisation .contact-join{
  text-align: center;
}

.site-main.page-organisation .contact-join .btn{
  margin-top: 16px;
}

.contact-join p.contact-join__note {
  margin-bottom: 0;
}

/* Optionnel – Forcer tous les contenus de section à être centrés */
.site-main.page-organisation .org-topgrid__col,
.site-main.page-organisation .organisation-actions,
.site-main.page-organisation .archive-actions{
  text-align: center;
}

/* Organisation — Direction + Rejoindre (2 colonnes desktop) */
.site-main.page-organisation .org-topgrid{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 40px;
  align-items: start;

  width: 100%;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
  box-sizing: border-box;
}

/* Très fréquent: grid items qui refusent de rétrécir */
.site-main.page-organisation .org-topgrid > *{
  min-width: 0;
}

@media (max-width: 900px){
  .site-main.page-organisation .org-topgrid{
    grid-template-columns: 1fr;
  }
}

/* Direction : la grille doit être limitée à la colonne */
.site-main.page-organisation .org-topgrid__col--direction .bmc-org-grid {
  display: flex;
  justify-content: center;
  width: 100%;
  max-width: 360px;
  margin-left: auto;
  margin-right: auto;
}

/* ===== Organisation: titres + colonnes (Direction / Rejoindre) ===== */

/* Dans le 2-colonnes, le séparateur doit rester “local” à la colonne */
.site-main.page-organisation .org-topgrid .division-separator{
  width: 100%;
  margin: 0 0 22px;
  text-align: center;
}

/* Important: la ligne pointillée ne doit pas dépasser et rester centrée */
.site-main.page-organisation .org-topgrid .division-separator::before,
.site-main.page-organisation .org-topgrid .division-separator::after{
  max-width: 100%;
}

/* Le badge noir centré */
.site-main.page-organisation .org-topgrid .division-badge{
  display: inline-block;
  margin: 0 auto;
}

/* Colonne droite: on garde le contenu à une largeur lisible */
.site-main.page-organisation .org-topgrid__col--join .contact-join{
  max-width: 560px;
  margin: 0 auto; /* centre dans la colonne droite */
}

/* Harmoniser l’espace sous les séparateurs dans le 2-colonnes */
.site-main.page-organisation .org-topgrid .division-separator{
  margin-bottom: 40px;
}


/* ===== Organisation – Card (identique à joueur-card) ===== */
.site-main.page-organisation .org-card {
    width: 160px;                    /* ← CARRÉ */
    aspect-ratio: 1 / 1;             /* ← CARRÉ */
    box-sizing: border-box;
    border: 1px solid #39b54a;
    background: #fff;
    padding: 14px 10px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    gap: 8px;
    transition: box-shadow 0.3s ease;
}

.site-main.page-organisation .org-card:hover {
    box-shadow: 0 4px 12px rgba(57, 181, 74, 0.15);
}

.site-main.page-organisation .org-card a {
    color: inherit;
    text-decoration: none;
}

.site-main.page-organisation .org-card__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    gap: 8px;
}

.site-main.page-organisation .org-card__name {
    margin: 0;
    font-size: 1.15rem;           /* ← MOINS GRAND */
    line-height: 1.1;
    font-weight: 500;              /* ← MOINS BOLD */
    color: #4d4d4d;
}

.site-main.page-organisation .org-card__divider {
    width: 70%;                    /* ← 70%, pas 100% */
    margin: 10px auto 12px;
    border-top: 3px dotted #39b54a; /* ← 3px, pas 2px */
    height: 0;
}

.site-main.page-organisation .org-card__role {
    font-size: 12px;               /* ← PETIT */
    color: #4d4d4d;
    margin: 0;
}

/* ===== Organisation – Icônes carte ===== */
.site-main.page-organisation .org-card__icons{
    display: flex;
    justify-content: center;
    gap: 14px;
    margin-top: 10px;
}

.site-main.page-organisation .org-card__icons a{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #f1f1f1;
  color: #222;
  text-decoration: none;
  transition: all .2s ease;
}

.site-main.page-organisation .org-card__icons a:hover{
  background: #3cab4c; /* ton vert */
  color: #fff;
}


/* =============================================
   PAGE: INSCRIPTIONS
   ============================================= */

/* =============================================
   PAGE: INSCRIPTIONS — HERO
   ============================================= */

.inscriptions-hero .bmc-hero__bg{
  background-position: center bottom;
  background-size: cover;
}

.site-main.page-inscriptions .bmc-hero-box{
  max-width: 620px;
  margin: 0 auto;
}

.inscriptions-hero {
  min-height: 0px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
}

.inscriptions-hero__inner {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 0;
}

/* Bloc blanc 900px centré qui déborde dans le hero */
.inscriptions-hero__statusbar {
  display: flex;
  justify-content: center;
  padding: 2rem 1rem 0;
  position: relative;
  z-index: 2;
  margin-bottom: -2rem; /* chevauche légèrement le contenu suivant */
}

.inscriptions-statut-line {
  background: #fff;
  width: 100%;
  max-width: 1200px;
  border-radius: 0;
}

/* Masquer tout sauf le h2 dans le bloc inscriptions sur cette page */
.page-inscriptions .bmc-inscriptions-panel {
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 1.25rem 2rem;
}

.page-inscriptions .bmc-inscriptions-actions,
.page-inscriptions .bmc-inscriptions-note {
  display: none;
}

.page-inscriptions .bmc-inscriptions-title {
  margin: 0;
  text-align: center;
  font-size: 1.3rem;
}

/* ====== BMC INSCRIPTIONS BLOCK ALIGNÉ au CENTRE ====== */

/* Centrer le contenu du bloc statut dans le hero */
.page-inscriptions .bmc-inscriptions-block {
  width: 100%;
}

.page-inscriptions .bmc-inscriptions-block__inner {
  max-width: 100%;
  padding: 0;
}

.page-inscriptions .bmc-inscriptions-panel {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1.25rem 2rem;
}

.page-inscriptions .bmc-inscriptions-title {
  margin: 0;
  text-align: center;
  font-size: 1.3rem;
  white-space: nowrap;
}

@media (max-width: 768px) {
  .page-inscriptions .bmc-inscriptions-title {
    font-size: 1.2rem;
    white-space: normal;
  }
}

/* =============================================
   PAGE: INSCRIPTIONS — BANDE NOIRE
   ============================================= */

.inscriptions-blackbar {
  background: #111;
  color: #fff;
  text-align: center;
  padding: 1rem 1.5rem;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  margin: 0;
}

/* =============================================
   PAGE: INSCRIPTIONS — BLOC VERT JOINDRE BMC
   ============================================= */

.inscriptions-joindre-wrap .join-bmc {
  background-color: var(--bmc-green, #39b54a);
  margin: 0; /* supprime tout margin qui créerait un bandeau blanc */
  padding-bottom: 1rem;
}

.inscriptions-joindre-wrap .join-bmc__label,
.inscriptions-joindre-wrap .join-bmc__note {
  color: #fff;
}

.inscriptions-joindre-wrap .join-bmc__icon {
  color: #fff;
}

/* Bouton retour centré sur fond vert */
.inscriptions-joindre-wrap__back {
  background-color: var(--bmc-green, #39b54a);
  display: flex;
  justify-content: center;
  padding: 1rem 1rem 2rem;
}

/* =============================================
   PAGE: INSCRIPTIONS — GRILLE 2 COLONNES FORMULAIRES
   ============================================= */

.site-main.page-inscriptions .inscriptions-topgrid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 60px;
  align-items: start;
  width: 100%;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
  padding: 3rem 20px;
  box-sizing: border-box;
}

.site-main.page-inscriptions .inscriptions-topgrid > * {
  min-width: 0;
}

/* Séparateur local à chaque colonne */
.site-main.page-inscriptions .inscriptions-topgrid .division-separator {
  width: 100%;
  margin: 0 0 22px;
  text-align: center;
}

.site-main.page-inscriptions .inscriptions-topgrid .division-separator::before,
.site-main.page-inscriptions .inscriptions-topgrid .division-separator::after {
  max-width: 100%;
}

.site-main.page-inscriptions .inscriptions-topgrid .division-badge {
  display: inline-block;
  margin: 0 auto;
}

.site-main.page-inscriptions .inscriptions-topgrid .division-separator {
  margin-bottom: 40px;
}

@media (max-width: 900px) {
  .site-main.page-inscriptions .inscriptions-topgrid {
    grid-template-columns: 1fr;
    gap: 3rem;
  }
}

/* =============================================
   PAGE: INSCRIPTIONS — COMMENT ÇA FONCTIONNE
   ============================================= */

.bmc-steps {
  padding: 3rem 0;
  background: #FFF;
}

/* Largeur réduite vs bmc-container standard */
.bmc-steps__inner {
  max-width: 1050px;
  margin: 0 auto;
  padding: 0 1.5rem;
}

.bmc-steps__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  text-align: center;
}

.bmc-steps__number {
  width: 2.8rem;
  height: 2.8rem;
  border-radius: 50%;
  background: var(--bmc-green, #39b54a);
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1rem;
}

.bmc-steps__title {
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 0.75rem;
  line-height: 1.4;
}

.bmc-steps__text {
  font-size: 0.875rem;
  color: #444;
  line-height: 1.6;
}

@media (max-width: 768px) {
  .bmc-steps__grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}

/* =============================================
   PAGE: INSCRIPTIONS — FAQ
   ============================================= */

.inscriptions-faq {
  padding: 3rem 0;
}

.inscriptions-faq__inner .contact-faq__grid {
  grid-template-columns: repeat(2, 1fr);
}

@media (max-width: 768px) {
  .inscriptions-faq__inner .contact-faq__grid {
    grid-template-columns: 1fr;
  }
}


/* ======================================
              PAGE - CONTACT
   ====================================== */

.page-contact .contact-hero .bmc-hero__bg{
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* CONTACT — hero inner aligné comme Équipe/Joueur */
.page-contact .contact-hero__inner{
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}

/* CONTACT — réduire le padding horizontal du container dans le hero */
.page-contact .contact-hero__inner.bmc-container{
  padding-left: 0;
  padding-right: 0;
}

.page-contact .contact-hero{
  padding-bottom: 60px;
}

@media (max-width: 700px){
  .page-contact .contact-hero__inner.bmc-container{
    padding-left: 14px;
    padding-right: 14px;
  }
}

.contact-blackbar{
  background:#111;
  color:#fff;
  text-align:center;
  padding: 12px 16px;
  font-weight:700;
  letter-spacing:.2px;
}

.contact-section{
  padding: 6px 0 10px;
}

/* CONTACT — respiration autour des sections */
.page-contact .contact-section{
  padding: 32px 0 28px;
}

.page-contact .contact-faq{
  padding: 30px 0 55px; /* plus d'air en bas */
}

/* CONTACT — plus d’air autour des séparateurs (badge noir) */
.page-contact .division-separator{
  margin: 65px auto 45px; /* ↑ espace au-dessus et au-dessous */
}

/* CONTACT — dégager le bouton retour du texte FAQ */
.page-contact .contact-faq .archive-actions{
  margin-top: 42px;
}

.contact-section__inner{
  text-align: center;
  width: min(900px, 92vw);
}

.contact-lead{
  margin: 0 0 10px;
  font-weight: 700;
  opacity: .9;
}

.contact-sub{
  margin: 0 0 16px;
  opacity: .75;
  font-style: italic;
}

.contact-sub a{
  color: #2fa545;
  text-decoration: underline;
}

.contact-cta{
  margin-top: 8px;
}

/* FAQ */
.contact-faq{
  padding: 10px 0 40px;
}

.contact-faq__grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 26px 40px;
  text-align: center;
  width: min(1000px, 92vw);
  margin: 0 auto;
}

@media (max-width: 820px){
  .contact-faq__grid{ grid-template-columns: 1fr; }
}

.contact-faq__item h3{
  margin: 0 0 8px;
  font-weight: 800;
  font-size: 1rem;
}

.contact-faq__item p{
  margin: 0;
  opacity: .75;
  font-style: italic;
}

/* ================================================
          BLOC BMC DROPDOWN STATS (MARQUEUR)
   ================================================ */          

.bmc-dropdown{ position: relative; display: inline-block; width: 100%; }
.bmc-dropdown__btn{
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 10px;
  cursor: pointer;
}

.bmc-dropdown__btn::after{
  content: "▾";
  font-size: 14px;
  line-height: 1;
}
.bmc-dropdown__btn:hover{
  background-color: rgba(255,255,255,0.08);
}

.bmc-dropdown__menu{
  margin-top: 8px;
  border-radius: 10px;
  overflow: hidden;
}

.bmc-dropdown__item{
  display: block;
  padding: 10px 14px;
  text-decoration: none;
  color: inherit;
  background-color: transparent;
  transition: background-color .15s ease, color .15s ease;
}

/* hover + focus (accessibilité clavier) */
.bmc-dropdown__item:hover,
.bmc-dropdown__item:focus{
  background-color: rgba(255,255,255,0.22); /* ajuste selon ton thème */
  color: #fff; /* ou ta couleur accent */
}

/* ====================================== 
         Bloc global Inscriptions 
   ====================================== */
.bmc-inscriptions-block{
  padding: 30px 0 30px !important;
}

.bmc-inscriptions-panel{
  width: min(780px, 72vw);   /* ✅ largeur du bloc */
  margin: 0 auto;            /* ✅ centré */
  background: #f1f2f2;          /* ✅ panel délimité */
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 14px;
  padding: 34px 34px 28px;
  text-align: center;
  box-shadow: 0 10px 26px rgba(0,0,0,.08);
} 

.bmc-inscriptions-title{
  margin: 0 0 22px;
  font-size: 1.5rem;
}

.bmc-inscriptions-title > span.is-open{
  color: #009444 !important;
  font-weight: 700;
}

.bmc-inscriptions-title > span.is-closed{
  color: #b12a2a !important;
  font-weight: 700;
}

.bmc-inscriptions-actions{
  display: flex;
  gap: 18px;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 18px;
}

.bmc-inscriptions-note{
  margin: 0;
  opacity: .75;
  font-size: .95rem;
}

/* =========   NAVIGATION MENU - MOBILE  ================= */

/* X de fermeture du hamburger - caché par défaut */
.bmc-mobile-close {
  display: none;
}

@media (max-width: 768px) {

.mobile-menu-control-wrapper .menu-toggle,
.mobile-menu-control-wrapper .menu-toggle:hover,
.mobile-menu-control-wrapper .menu-toggle:focus {
  background-color: transparent !important;
}

/* Visible seulement quand le menu est ouvert */
#site-navigation.toggled .bmc-mobile-close {
  display: flex !important;
  position: fixed !important;
  top: 48px !important;
  right: 20px !important;
  z-index: 99999 !important;
  background: transparent !important;
  color: #fff !important;
  font-size: 1.2rem !important;
  width: 36px !important;
  height: 36px !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
}

  /* Bouton hamburger/fermer */
  body.mobile-menu-open .mobile-menu-control-wrapper .menu-toggle {
    position: fixed !important;
    top: 48px !important;
    right: 16px !important;
    z-index: 99999 !important;
    background: transparent !important;
    color: #fff !important;
    font-size: 1.8rem !important;
    border: 2px solid #fff !important;
    border-radius: 50% !important;
    width: 40px !important;
    height: 40px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* Cache les séparateurs */
  .main-navigation .menu li.menu-group-end {
    border-right: none !important;
    margin-right: 0 !important;
    padding-right: 0 !important;
  }

  .main-navigation .menu li.menu-group-end::after {
    display: none !important;
  }

  /* Cache le menu principal par défaut */
  #site-navigation:not(.toggled) {
    display: none !important;
  }

  /* Force le background du header en mobile */
  .site-header,
  .inside-header {
    background: #39b54a !important;
  }

  /* Menu ouvert — plein écran opaque vert */
  #site-navigation.toggled {
    position: fixed !important;
    inset: 0 !important;
    background: #39b54a !important;
    z-index: 9998 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    padding-top: 40px !important;
    overflow-y: auto !important;
  }

  #site-navigation.toggled .menu li a {
    font-size: 1.1rem !important;
    padding: 2px 20px !important;
  }

  #site-navigation.toggled .menu li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    width: 100%;
    text-align: center;
  }

}

/* =========================================================
   HEADER BMC — overlay vert + logo centré + menu dessous
   ========================================================= */

/* 1) Header overlay au-dessus du hero */
.site-header{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 50;

  background: rgba(57,181,74,.75);      /* #39b54a à 75% */
  box-shadow: 7px 7px 5px rgba(0,0,0,.35); /* drop shadow (multiply-ish) */
}

/* Empêche le wrapper GP de limiter la largeur */
.site-header .inside-header{
  max-width: none;
  padding: 72px 0 10px;
  display: flex;
  background: transparent !important;
  flex-direction: column;
  align-items: center;
  gap: 22px;
}

/* 2) Logo centré */
.site-header .site-logo{
  margin: 0;
}
.site-header .site-logo img{
  height: 72px;      /* ajuste selon ta maquette */
  width: auto;
  display: block;
}

/* 3) Navigation centrée sous le logo */
.main-navigation{
  background: transparent;
  width: 100%;
}
.main-navigation .inside-navigation{
  display: flex;
  justify-content: center;
}
.main-navigation .main-nav > ul{
  justify-content: center;
  gap: 22px;
}

/* Liens menu */
.main-navigation .main-nav a{
  color: #fff;
  font-weight: 600;
  text-transform: none;
  padding: 6px 2px;

}
.main-navigation .main-nav a:hover,
.main-navigation .main-nav .current-menu-item > a{
  opacity: 0.9;
}

.main-navigation .main-nav ul li a {
  color: #e0e0e0 !important;
}

/* 4) Séparateurs | entre items */
.main-navigation .main-nav > ul > li{
  position: relative;
}
.main-navigation .main-nav > ul > li + li::before{
  content: "|";
  position: absolute;
  left: -12px;
  top: 50%;
  transform: translateY(-50%);
  color: rgba(255,255,255,0.8);
}

@media (max-width: 820px){
  .site-header .site-logo img{ height: 52px; }
  .main-navigation .main-nav > ul{ gap: 14px; flex-wrap: wrap; }
}

/* ── Widget météo sticky ── */
.bmc-meteo-widget {
  position: absolute;
  top: 0;
  right: 0;
  height: 80%;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 10px;
  padding: 0 20px;
  background: #4d4d4d;
  color: #fff;
  text-decoration: none;
  border-bottom-left-radius: 8px;
  border-top-left-radius: 8px;
  transition: background 0.2s;
}

.bmc-meteo-widget:hover {
  color: #fff;
  border: 1px solid white;
}

.bmc-meteo-widget__icon {
  font-size: 1.4rem;
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.bmc-meteo-widget__text {
  display: inline;
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.3;
  text-align: left;
}

.bmc-meteo-widget,
.bmc-meteo-widget:visited,
.bmc-meteo-widget:hover,
.bmc-meteo-widget:active,
.bmc-meteo-widget:focus {
  color: #fff !important;
}

@media (max-width: 768px) {
  .bmc-meteo-widget {
    display: none !important;
  }
}

.main-navigation .menu li a {
  padding-left: 12px !important;  /* espace gauche */
  padding-right: 12px !important; /* espace droite */
  margin-left: 0;
  margin-right: 0;
}

.main-navigation .menu li a:hover,
.main-navigation .menu li a:focus {
  background: transparent !important;
  color: #006837 !important;
  position: relative;
}

.main-navigation .menu li a:hover::before,
.main-navigation .menu li a:focus::before {
  content: '';
  position: absolute;
  inset: 18px 4px;
  background: rgba(255, 255, 255, 0.60);
  border-radius: 4px;
  z-index: -1;
}

/* Item actif */
.main-navigation .menu li.current-menu-item a,
.main-navigation .menu li.current-page-ancestor a {
  position: relative;
  color: #006837 !important;
  font-weight: 700;
}

/* Même effet background que le hover, mais permanent */
.main-navigation .menu li.current-menu-item a::before,
.main-navigation .menu li.current-page-ancestor a::before {
  content: '';
  position: absolute;
  inset: 18px 4px;
  background: rgba(255, 255, 255, 0.60);
  border-radius: 4px;
  z-index: -1;
}

/* Retire tous les séparateurs existants */
.main-navigation .menu li + li::before {
  display: none !important;
}

/* Séparateur group-end */
.main-navigation .menu li.menu-group-end {
  position: relative;
  margin-right: 0;
  padding-right: 16px;
}

.main-navigation .menu li.menu-group-end::after {
  content: '';
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 2px;
  height: 18px;
  background: rgba(255, 255, 255, 0.4);
}

/* =========================================================
   BMC — HERO SURFACE (bg image derrière plusieurs blocs)
   Utilise: <section class="bmc-hero-surface ..." style="--surface-bg: url(...)">
   ========================================================= */

/* =========================================================
   BMC — HERO SURFACE (canon propre)
   ========================================================= */

.bmc-hero-surface{
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* Variante simple */
.bmc-hero-surface:not(.bmc-surface-fade){
  background-image: var(--surface-bg);
}

/* Variante fade vers blanc */
.bmc-hero-surface.bmc-surface-fade{
  background-image:
    linear-gradient(
      to bottom,
      rgba(255,255,255,0) 0,
      rgba(255,255,255,0) calc(var(--surface-cutoff, 1200px) - 300px),
      rgba(255,255,255,.92) var(--surface-cutoff, 1200px),
      rgba(255,255,255,1) calc(var(--surface-cutoff, 1200px) + 400px),
      rgba(255,255,255,1) 100%
    ),
    var(--surface-bg);

  background-size: 100% 100%, cover;
  background-position: top left, center;
  background-repeat: no-repeat, no-repeat;
}

/* Overlay optionnel */
.bmc-hero-surface::before{
  content:"";
  position:absolute;
  inset:0;
  background: var(--surface-overlay, rgba(0,0,0,.18));
  pointer-events:none;
}

.bmc-hero-surface > *{
  position: relative;
  z-index: 1;
}

/* Important : éviter le double rendu sur archive */
.bmc-hero-surface .bmc-hero__bg{
  background-image: none !important;
}

/* ====== ARCHIVE EQUIPE ====== */ 

.archive-equipe-surface {
  --surface-overlay: rgba(0,0,0,.10);
  --surface-cutoff: 1350px;
}

.archive-grid .equipes-grid.equipes-grid--archive {
  display: grid !important;
  grid-template-columns: repeat(4, 277px) !important;
  gap: 50px !important;
  justify-content: center;
  align-items: start;
  margin: 0 auto;
}

@media (max-width: 1024px) {
  .archive-grid .equipes-grid.equipes-grid--archive {
    grid-template-columns: repeat(2, 277px) !important;
    gap: 30px !important;
  }
}

@media (max-width: 768px) {
  .archive-grid .equipes-grid.equipes-grid--archive {
    grid-template-columns: repeat(2, 277px) !important;
    gap: 20px !important;
  }
}

@media (max-width: 480px) {
  .archive-grid .equipes-grid.equipes-grid--archive {
    grid-template-columns: minmax(0, 277px) !important;
    justify-content: center;
    margin: 0 auto;
  }
}

/* ====== ARCHIVE JOUEUR ====== */ 
.archive-joueur-surface{
  --surface-overlay: rgba(0,0,0,.08);
  --surface-cutoff: 1350px;
}
@media (max-width: 820px){
  .archive-joueur-surface{ --surface-cutoff: 950px; }
}

/* ====== ARCHIVE LIGUE ====== */ 
.archive-ligue-surface{
  --surface-overlay: rgba(0,0,0,.12);
  --surface-cutoff: 1150px;
}

/* =========================
   BMC — HERO SURFACE (tile variant)
   ========================= */

/* Override complet de la règle de base */
.bmc-hero-surface.bmc-surface-tile{
  background-image: var(--surface-bg) !important;
  background-repeat: repeat !important;
  background-size: auto 900px !important;
  background-position: top center !important;
}

/* IMPORTANT : désactiver le ::before overlay générique */
.bmc-hero-surface.bmc-surface-tile::before{
  display: none;
}

/* Overlay spécifique médias (si désiré) */
.archive-media-surface {
  background-image: var(--surface-bg);
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  position: relative;
}

.archive-media-surface::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.50);
  pointer-events: none;
  z-index: 0;
}

/* S'assurer que le contenu passe par-dessus l'overlay */
.archive-media-surface > * {
  position: relative;
  z-index: 1;
}

.site-main .bmc-hero {
  margin-top: -60px;
}

/* ==== FIN HERO SURFACE ==== */

/* =============================================================
   HERO - Forcer l'offset du contenu (Inscriptions + Accueil)
   Place ce bloc TOUT EN BAS du style.css
   ============================================================= */

/* Inscriptions */
.site-main.page-inscriptions {
  padding-top: 0px !important;
  padding-bottom: 0px !important;
}

.site-main.page-inscriptions .bmc-hero {
  --bmc-header-offset: 360px;
  min-height: 0px !important;
  justify-content: center !important;
}

/* Home */
body.home .bmc-hero {
  min-height: clamp(520px, 65vh, 750px) !important;
  --bmc-header-offset: 360px;
}

body.home .bmc-hero__bg {
  background-position: center 75% !important;
}

@media (max-width: 768px) {
  .bmc-hero {
    --bmc-header-offset: 310px;
    min-height: 420px !important;
  }

  .site-main.page-inscriptions .bmc-hero,
  .site-main.page-organisation .bmc-hero {
    --bmc-header-offset: 360px;
    min-height: 420px !important;
  }

  body.home .bmc-hero {
    min-height: clamp(380px, 55vh, 520px) !important;
  }
}

/* =========================================================
   REMOVE SPACE ABOVE FOOTER
   ========================================================= */

.site-content{
  padding-bottom: 0 !important;
}

.site-main{
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* ACF Médias - champ Date combinée (tri) media_date_combined */
.hidden-field {
    display: none !important;
}

.privacy-policy .site-main {
  padding-top: 270px;
  padding-left: 20px;
  padding-right: 20px;
  padding-bottom: 60px;
  max-width: 1000px;
  margin-left: auto !important;
  margin-right: auto !important;
}

.privacy-policy .entry-title {
  font-size: 1.8rem; /* ajuste selon ton goût */
}

.privacy-policy .entry-content {
  max-width: 1000px !important;
  margin: 0 auto;
}

.bmc-footer__legal {
  color: rgba(255,255,255,0.65);
  font-size: 0.75rem;
  text-decoration: none;
  margin-left: 16px;
}

.bmc-footer__legal:hover {
  color: #fff;
  text-decoration: underline;
}

/* ===== MASQUER MENUS TEMPORAIREMENT (SANS AFFECTER HAUTEUR) ===== */
/* À remettre après lancement du site */

/* Header - garde la hauteur 
.site-header .primary-menu li,
.site-header nav li {
  visibility: hidden;
}

/* Footer - cache le menu 
.bmc-footer-menu {
  display: none !important;
}

.bmc-footer-menu li {
  display: none !important;
} 

/* Mobile - cache le bouton hamburger 
.menu-toggle,
.site-header-menu-toggle {
  visibility: hidden !important;
}

/* Header - garde la hauteur (DEVENIR COMMANDITAIRE SEULEMENT) */
/* body.page-devenir-commanditaire .site-header .primary-menu li,
/* body.page-devenir-commanditaire .site-header nav li {
  visibility: hidden;
}

/* Footer - cache le menu (DEVENIR COMMANDITAIRE SEULEMENT) */
/* body.page-devenir-commanditaire .bmc-footer-menu {
  display: none !important;
}

body.page-devenir-commanditaire .bmc-footer-menu li {
  display: none !important;
}

/* Mobile - cache le bouton hamburger (DEVENIR COMMANDITAIRE SEULEMENT) */
/* body.page-devenir-commanditaire .menu-toggle,
body.page-devenir-commanditaire .site-header-menu-toggle {
  visibility: hidden !important;
}