/* =======================================================
   CA EVRON HANDBALL — Feuille de style principale v1.1
   ======================================================= */

:root{
  --vert: #7ed957;
  --vert-fonce: #4f9c33;
  --noir: #0d0d0d;
  --anthracite: #1a1a1a;
  --gris: #737373;
  --blanc-casse: #f5f5f0;
  --font-titres: 'Barlow Condensed', Arial Narrow, sans-serif;
  --font-texte: 'Barlow', Arial, sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:var(--font-texte);background:var(--blanc-casse);color:var(--noir);}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}

.diag-bg,.hero::before{
  background-image:repeating-linear-gradient(45deg,rgba(126,217,87,.05) 0,rgba(126,217,87,.05) 2px,transparent 2px,transparent 14px);
}
.caehb-image-placeholder{width:100%;height:100%;background:linear-gradient(160deg,#1a1a1a,#0d0d0d);}

/* ===== HEADER sticky ===== */
.site-header{background:var(--noir);position:sticky;top:0;z-index:200;border-bottom:3px solid var(--vert);}

.header-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:10px 24px;gap:16px;}
.logo-zone{display:flex;align-items:center;gap:12px;flex-shrink:0;}
.logo-zone a{display:flex;align-items:center;gap:12px;}
.logo-zone img{height:52px;width:52px;object-fit:contain;}
.club-name-text{color:#fff;font-weight:bold;font-family:var(--font-titres);text-transform:uppercase;font-size:17px;line-height:1.1;}
.club-name-text span{display:block;color:var(--vert);font-size:11px;font-weight:normal;letter-spacing:1px;font-family:var(--font-texte);}

/* Nav desktop */
.nav-desktop{flex:1;display:flex;justify-content:center;}
.nav-desktop ul{display:flex;gap:24px;list-style:none;}
.nav-desktop li{position:relative;}
.nav-desktop a{
  color:#eee;font-size:13px;text-transform:uppercase;font-family:var(--font-titres);
  letter-spacing:.5px;font-weight:700;padding:8px 0;border-bottom:2px solid transparent;
  transition:.2s;display:inline-block;
}
.nav-desktop a:hover{color:var(--vert);border-bottom-color:var(--vert);}
.nav-desktop a.has-dropdown::after{
  content:"";display:inline-block;width:5px;height:5px;
  border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
  transform:rotate(45deg);margin-left:5px;margin-bottom:2px;vertical-align:middle;
}
.nav-desktop .dropdown{
  display:none;position:absolute;top:100%;left:0;
  background:var(--anthracite);min-width:200px;list-style:none;
  border-radius:0 0 4px 4px;border-top:2px solid var(--vert);
  padding:6px 0;box-shadow:0 12px 24px rgba(0,0,0,.35);z-index:100;
  margin-top:0; /* pas d'espace entre le lien et le sous-menu : évite la fermeture au survol */
}
/* Zone tampon invisible pour fiabiliser le passage souris parent -> sous-menu */
.nav-desktop li.menu-item-parent::after{
  content:"";position:absolute;top:100%;left:0;right:0;height:8px;
}
.nav-desktop li:hover .dropdown{display:block;}
.nav-desktop .dropdown a{display:block;padding:10px 16px;font-size:13px;font-weight:500;border-bottom:none;color:#ddd;}
.nav-desktop .dropdown a:hover{background:rgba(126,217,87,.1);color:var(--vert);}

/* Burger */
.burger{display:none;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:8px;flex-shrink:0;}
.burger span{width:24px;height:2px;background:#fff;display:block;}

/* CTA */
.header-ctas{display:flex;gap:8px;flex-shrink:0;}
.btn-billet,.btn-boutique,.btn-licences{
  padding:9px 16px;border-radius:3px;font-weight:bold;font-family:var(--font-titres);
  text-transform:uppercase;font-size:13px;letter-spacing:.5px;white-space:nowrap;
}
.btn-billet{background:var(--vert);color:var(--noir);}
.btn-boutique{background:transparent;color:var(--vert);border:2px solid var(--vert);}
.btn-licences{background:transparent;color:#e8b84b;border:2px solid #e8b84b;}
.btn-billet:hover{background:#8fe06c;}
.btn-boutique:hover{background:var(--vert);color:var(--noir);}
.btn-licences:hover{background:#e8b84b;color:var(--noir);}

/* Flash info */
.flash-info{background:#c0392b;color:#fff;text-align:center;padding:10px 20px;font-size:14px;font-weight:600;line-height:1.5;}
.flash-info p{margin:0;max-width:900px;margin-inline:auto;}

/* ===== MENU MOBILE ===== */
.mobile-nav{
  display:none;position:fixed;top:0;right:0;bottom:0;width:78%;max-width:320px;
  background:var(--noir);z-index:300;box-shadow:-4px 0 20px rgba(0,0,0,.4);
  padding:24px;flex-direction:column;transform:translateX(100%);transition:transform .25s ease;overflow-y:auto;
}
.mobile-nav.open{transform:translateX(0);}
.mobile-nav-close{align-self:flex-end;background:none;border:none;color:#fff;font-size:26px;margin-bottom:20px;cursor:pointer;}
.mobile-nav ul{list-style:none;display:flex;flex-direction:column;gap:4px;}
.mobile-nav a{color:#eee;font-size:16px;text-transform:uppercase;font-weight:bold;font-family:var(--font-titres);padding:14px 0;display:block;}
.mobile-nav ul li>a{border-bottom:1px solid #222;}
.mobile-nav .submenu-toggle{
  background:none;border:none;color:#eee;padding:14px 0;font-size:16px;text-transform:uppercase;
  font-weight:bold;font-family:var(--font-titres);border-bottom:1px solid #222;width:100%;
  text-align:left;display:flex;justify-content:space-between;align-items:center;cursor:pointer;
}
.mobile-nav .submenu-toggle::after{content:"+";font-size:18px;color:var(--vert);}
.mobile-nav .submenu-toggle.open::after{content:"\2212";}
.mobile-submenu{display:none;flex-direction:column;background:#0a0a0a;padding-left:14px;}
.mobile-submenu.open{display:flex;}
.mobile-submenu a{font-size:14px;font-weight:normal;padding:12px 0;border-bottom:1px solid #1a1a1a;}
.mobile-nav-ctas{display:flex;flex-direction:column;gap:10px;margin-top:24px;}
.mobile-nav-ctas a{text-align:center;padding:14px 0!important;border-radius:3px;}
.nav-backdrop{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:290;}
.nav-backdrop.open{display:block;}

/* ===== HERO BANNER (slider plein écran, navigation manuelle) ===== */
.hero-banner{position:relative;overflow:hidden;height:70vh;min-height:420px;max-height:760px;background:var(--noir);}
.hero-banner-slider{position:absolute;inset:0;}
.hero-banner-slide{position:absolute;inset:0;opacity:0;transition:opacity .8s ease,transform .8s ease;transform:scale(1.04);}
.hero-banner-slide.active{opacity:1;z-index:1;transform:scale(1);}
.hero-banner-slide.leaving{z-index:2;opacity:0;}
.hero-banner-slide img,.hero-banner-slide video{width:100%;height:100%;object-fit:cover;object-position:center;}
.hero-banner-overlay{
  position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(to bottom, rgba(0,0,0,.15) 0%, rgba(0,0,0,0) 35%, rgba(0,0,0,.55) 100%);
}
.hero-banner-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;}
.hero-banner-empty p{color:#7ed957;font-size:13px;}
.hero-banner-empty p a{color:#fff;text-decoration:underline;}

.hero-arrow{
  position:absolute;top:50%;transform:translateY(-50%);z-index:5;
  width:46px;height:46px;border-radius:50%;
  background:rgba(13,13,13,.55);border:1px solid rgba(255,255,255,.3);
  color:#fff;font-size:26px;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .2s;
}
.hero-arrow:hover{background:var(--vert);color:var(--noir);border-color:var(--vert);}
.hero-arrow-prev{left:20px;}
.hero-arrow-next{right:20px;}

.hero-banner-dots{
  position:absolute;bottom:20px;left:50%;transform:translateX(-50%);z-index:5;
  display:flex;gap:9px;
}
.hero-banner-dot{
  width:11px;height:11px;border-radius:50%;
  background:rgba(255,255,255,.4);border:1px solid rgba(255,255,255,.6);
  cursor:pointer;padding:0;transition:background .25s,transform .25s;
}
.hero-banner-dot.active{background:var(--vert);border-color:var(--vert);transform:scale(1.15);}

/* ===== MATCHS ROW (dernier résultat + prochain match) ===== */
.matchs-row-section{padding-top:40px;padding-bottom:40px;}
.matchs-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.match-card{background:var(--anthracite);border:1px solid #2a2a2a;border-left:4px solid var(--vert);border-radius:4px;padding:20px;color:#eee;}
.match-card .team .name{color:#eee;}
.match-card .label{text-transform:uppercase;color:var(--vert);font-size:12px;font-weight:bold;letter-spacing:1px;margin-bottom:12px;}
.match-row{display:flex;align-items:center;justify-content:space-between;}
.team{text-align:center;flex:1;}
.team .crest{width:54px;height:54px;border-radius:50%;background:#2a2a2a;margin:0 auto 8px;display:flex;align-items:center;justify-content:center;font-weight:bold;font-size:12px;color:var(--vert);border:2px solid var(--vert);overflow:hidden;}
.team .crest img{width:100%;height:100%;object-fit:contain;}
.team .name{font-size:13px;font-weight:bold;text-transform:uppercase;}
.vs{color:var(--gris);font-weight:bold;padding:0 10px;}
.vs.score{color:var(--vert);font-size:20px;font-family:var(--font-titres);font-weight:900;}
.match-meta{margin-top:14px;padding-top:14px;border-top:1px solid #2a2a2a;display:flex;justify-content:space-between;font-size:12px;color:#bbb;flex-wrap:wrap;gap:6px;}
.btn-match-billetterie{display:block;margin-top:16px;padding:10px 18px;background:var(--vert);color:var(--noir);font-family:var(--font-titres);font-size:13px;font-weight:800;text-align:center;text-transform:uppercase;letter-spacing:.5px;border-radius:3px;transition:.2s;}
.btn-match-billetterie:hover{background:#fff;color:var(--noir);}

/* ===== SECTIONS ===== */
.caehb-section{max-width:1200px;margin:0 auto;padding:60px 24px;}
.section-actualites{padding-bottom:10px;}
.section-actualites + .section-effectif{padding-top:10px;}
.section-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:10px;margin-bottom:28px;border-bottom:3px solid var(--noir);padding-bottom:10px;}
.section-head h1,.section-head h2{font-family:var(--font-titres);text-transform:uppercase;font-size:26px;font-weight:900;}
.section-head h1 .dash,.section-head h2 .dash{color:var(--vert);}
.section-head a{font-size:13px;font-weight:bold;text-transform:uppercase;color:var(--vert-fonce);}

/* ===== CLASSEMENT (résumé home avec parallax) ===== */
.classement-section{position:relative;overflow:hidden;background:var(--noir);}
.classement-parallax{
  position:absolute;inset:0;z-index:0;
  background-size:cover;background-position:center;
  background-attachment:fixed; /* effet parallax simple, performant */
  opacity:.55;
}
.classement-parallax-empty{position:absolute;inset:0;z-index:0;opacity:.4;}
.classement-content{position:relative;z-index:2;margin-left:auto;max-width:640px;padding:70px 24px;}
.classement-content .section-head h2,
.classement-content .section-head h2 .dash{color:#fff;}
.classement-content .section-head{border-bottom-color:rgba(255,255,255,.25);}
.classement-content .section-head a{color:var(--vert);}

.ranking{width:100%;border-collapse:collapse;font-size:14px;}
.ranking th{text-align:left;text-transform:uppercase;font-size:11px;color:var(--gris);padding:8px 10px;border-bottom:2px solid var(--noir);}
.ranking td{padding:10px;border-bottom:1px solid #e2e2dc;vertical-align:middle;}
.ranking tr.highlight{background:rgba(126,217,87,.15);font-weight:bold;}
.ranking .pos{font-weight:bold;color:var(--gris);width:30px;}
.ranking .team-cell{display:flex;align-items:center;gap:8px;}
.ranking .team-cell img{width:24px;height:24px;object-fit:contain;flex-shrink:0;}
.ranking-complet th, .ranking-complet td{text-align:center;}
.ranking-complet th:nth-child(2), .ranking-complet td:nth-child(2){text-align:left;}
.ranking-complet{min-width:680px;}

/* Tableau résumé sur fond sombre (section classement home) */
.ranking-resume{background:rgba(0,0,0,.55);backdrop-filter:blur(2px);border-radius:6px;overflow:hidden;}
.ranking-resume th{color:#ccc;border-bottom-color:rgba(255,255,255,.2);}
.ranking-resume td{color:#f0f0f0;border-bottom-color:rgba(255,255,255,.1);}
.ranking-resume tr.highlight{background:rgba(126,217,87,.22);}
.ranking-resume .pos{color:#bbb;}
.ranking-saut td{text-align:center;color:#777;padding:4px;font-size:12px;border-bottom:none;}
.lien-classement-complet{color:var(--vert);font-weight:bold;text-transform:uppercase;font-size:13px;letter-spacing:.5px;}

/* ===== ACTUALITES (slider 2 pages de 3) ===== */
.news-slider{position:relative;}
.news-slides-track{position:relative;}
.news-slide{display:none;}
.news-slide.active{display:block;}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.news-card{background:#fff;border-radius:6px;overflow:hidden;border:1px solid #e6e6e0;}
.news-card .thumb{
  height:180px;background:linear-gradient(135deg,#2a2a2a,#0d0d0d);
  overflow:hidden;position:relative;
}
.news-card .thumb img{
  position:absolute;inset:0;
  width:100%;height:100%;

  object-fit:cover;
  object-position:top center; /* cadre sur le haut — visages, sujets */
}
.news-card .body{padding:16px;}
.news-card .tag{display:inline-block;background:var(--vert);color:var(--noir);font-family:var(--font-titres);font-size:10px;font-weight:bold;text-transform:uppercase;padding:3px 8px;border-radius:2px;margin-bottom:10px;letter-spacing:.5px;}
.news-card h3{font-size:15px;line-height:1.35;font-weight:bold;}
.news-card p{font-size:13px;color:var(--gris);margin-top:8px;}

.news-slider-dots{display:flex;justify-content:center;gap:9px;margin-top:30px;}
.news-slider-dot{
  width:10px;height:10px;border-radius:50%;
  background:#d8d8d0;border:none;cursor:pointer;padding:0;
  transition:background .25s,transform .25s;
}
.news-slider-dot.active{background:var(--vert);transform:scale(1.2);}

/* ===== EFFECTIF + TROMBINOSCOPE ===== */
.roster{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;}
.trombinoscope-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:30px;}

/* Carte joueur / trombinoscope — overlay hover/tap */
.player-card,.tromb-card{text-align:center;cursor:default;}

/* Conteneur image avec ratio fixe */
.player-card .photo{
  aspect-ratio:3/4;border-radius:4px;margin-bottom:8px;
  position:relative;overflow:hidden;background:#1a1a1a;
}
.tromb-card .photo{
  aspect-ratio:1/1;border-radius:50%;margin-bottom:8px;
  position:relative;overflow:hidden;background:#1a1a1a;
}
/* FIX : image couvre le conteneur sans être coupée de façon agressive */
.player-card .photo img,
.tromb-card .photo img{
  width:100%;height:100%;
  object-fit:cover;
  object-position:center top; /* cadre sur le visage/haut du corps */
  display:block;
}
.player-card .photo .num{position:absolute;top:8px;left:8px;color:var(--vert);font-weight:900;font-size:22px;font-family:var(--font-titres);text-shadow:0 1px 4px rgba(0,0,0,.8);z-index:2;}
.player-card .name,.tromb-card .name{font-size:12px;font-weight:bold;text-transform:uppercase;}

/* Overlay info — caché par défaut */
.player-card .photo .overlay,
.tromb-card .photo .overlay{
  position:absolute;inset:0;
  background:rgba(255,255,255,.88);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:12px;
  opacity:0;
  transition:opacity .2s ease;
  pointer-events:none;
  z-index:3;
}
.player-card .photo .overlay .ov-name,
.tromb-card .photo .overlay .ov-name{
  font-weight:900;font-size:18px;text-transform:uppercase;
  font-family:var(--font-titres);color:var(--noir);text-align:center;
}
.player-card .photo .overlay .ov-poste,
.tromb-card .photo .overlay .ov-poste{
  font-size:14px;color:var(--gris);margin-top:4px;text-align:center;line-height:1.2;
}
.tromb-card .photo .overlay .ov-numero{
  font-size:13px;color:var(--vert-fonce);font-weight:700;margin-bottom:4px;
}

/* Desktop/tablette : hover active l'overlay */
@media(hover:hover){
  .player-card:hover .photo .overlay,
  .tromb-card:hover .photo .overlay{
    opacity:1;pointer-events:auto;
  }
}
/* Classe JS pour tap toggle (mobile et desktop) */
.player-card.is-flipped .photo .overlay,
.tromb-card.is-flipped .photo .overlay{
  opacity:1;pointer-events:auto;
}

/* ===== FILIERE JEUNE ===== */
.youth-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.youth-card{background:var(--noir);border-radius:6px;overflow:hidden;position:relative;aspect-ratio:4/3;display:flex;align-items:flex-end;text-decoration:none;}
.youth-card .ph{position:absolute;inset:0;background:linear-gradient(160deg,#1a1a1a,#0d0d0d);}
.youth-card .ph img{width:100%;height:100%;object-fit:cover;opacity:.9;}
.youth-card .info{position:relative;z-index:2;padding:14px;width:100%;background:linear-gradient(to top,rgba(0,0,0,.85),transparent);}
.youth-card .cat{color:var(--vert);font-weight:900;font-size:18px;text-transform:uppercase;font-family:var(--font-titres);}
.youth-card .nb{color:#ccc;font-size:11px;text-transform:uppercase;letter-spacing:.5px;}

/* ===== STAFF ===== */
.staff-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.staff-card{text-align:center;}
.staff-card .photo{width:120px;height:120px;border-radius:50%;margin:0 auto 12px;background:linear-gradient(160deg,#1a1a1a,#0d0d0d);border:3px solid var(--vert);overflow:hidden;}
.staff-card .photo img{width:100%;height:100%;object-fit:cover;object-position:center top;}
.staff-card .name{font-weight:bold;font-size:14px;text-transform:uppercase;}
.staff-card .role{font-size:12px;color:var(--gris);margin-top:2px;}

/* ===== PARTENAIRES ===== */
.partners-strip{background:#fff;border-top:1px solid #e6e6e0;border-bottom:1px solid #e6e6e0;}
.partners-grid{display:flex;align-items:center;justify-content:center;gap:50px;flex-wrap:wrap;padding:40px 24px;max-width:1200px;margin:0 auto;}
.partner-logo{height:50px;display:flex;align-items:center;justify-content:center;}
.partner-logo img{max-height:50px;width:auto;}
.partner-logo.majeur img{max-height:70px;}

/* ===== FOOTER ===== */
.site-footer{background:var(--noir);color:#ccc;}
.footer-inner{max-width:1200px;margin:0 auto;padding:60px 24px 30px;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px;}
.site-footer h4{color:#fff;text-transform:uppercase;font-size:14px;margin-bottom:16px;letter-spacing:.5px;font-family:var(--font-titres);}
.site-footer p,.site-footer a{font-size:13px;line-height:1.8;color:#999;}
.footer-col-logo img{height:60px;margin-bottom:16px;}
.socials{display:flex;gap:12px;margin-top:16px;flex-wrap:wrap;}
.socials a{width:36px;height:36px;border-radius:50%;background:var(--anthracite);display:flex;align-items:center;justify-content:center;color:var(--vert);transition:.2s;}
.socials a svg{width:16px;height:16px;flex-shrink:0;}
.socials a:hover{background:var(--vert);color:var(--noir);}

/* Footer contact list */
.footer-contact-list{list-style:none;display:flex;flex-direction:column;gap:8px;margin-top:8px;}
.footer-contact-list li{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--gris);line-height:1.4;}
.footer-contact-list li svg{width:14px;height:14px;flex-shrink:0;margin-top:2px;stroke:var(--vert);}
.footer-contact-list a{color:var(--gris);}
.footer-contact-list a:hover{color:var(--vert);}
.site-footer h4{margin-bottom:12px;}

/* Mentions légales */
.mentions-legales{max-width:860px;margin:0 auto;}
.mentions-content h2{font-family:var(--font-titres);font-size:clamp(17px,2.5vw,22px);text-transform:uppercase;margin:36px 0 10px;color:var(--noir);border-left:3px solid var(--vert);padding-left:12px;}
.mentions-content h2:first-child{margin-top:0;}
.mentions-content p{font-size:15px;line-height:1.8;color:#333;margin-bottom:6px;}
.mentions-content a{color:var(--vert-fonce);}
.mentions-content a:hover{text-decoration:underline;}
.mentions-content hr{margin:40px 0;border:none;border-top:1px solid #ddd;}

/* Classement — bouton "Voir complet" */
.classement-voir-plus{margin-top:20px;text-align:center;}
.btn-voir-classement{display:inline-block;padding:10px 24px;border:2px solid var(--vert);color:var(--vert);font-family:var(--font-titres);font-size:14px;text-transform:uppercase;letter-spacing:.5px;border-radius:3px;transition:.2s;}
.btn-voir-classement:hover{background:var(--vert);color:var(--noir);}

/* Page équipe — lien vers le calendrier et le classement officiels FFHB */
.equipe-ffhb-link{margin:-15px 0 40px;}
.btn-calendrier-classement{display:inline-block;padding:12px 24px;background:var(--vert);color:var(--noir);font-family:var(--font-titres);font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;border-radius:3px;transition:.2s;}
.btn-calendrier-classement:hover{background:var(--noir);color:var(--vert);}
.admin-equipe-ffhb-help{margin:-15px 0 40px;color:var(--gris);font-size:13px;}

/* Page équipe — présentation simple ou deux équipes dans une même catégorie */
.equipe-main-photo{border-radius:6px;overflow:hidden;margin-bottom:30px;}
.equipe-main-photo img{display:block;width:100%;}
.equipe-description{max-width:800px;margin-bottom:30px;line-height:1.7;}
.equipe-meta{display:flex;gap:30px;flex-wrap:wrap;margin-bottom:40px;color:var(--gris);font-size:14px;}
.equipe-meta strong,.equipe-common-training strong{color:var(--noir);}
.equipe-staff-title{margin-top:50px;}
.equipe-empty-message{color:var(--gris);font-size:13px;line-height:1.5;}
.equipe-common-training{margin:0 0 34px;padding:16px 20px;border-left:4px solid var(--vert);background:#f3f3ef;color:var(--gris);font-size:14px;}
.equipes-doubles-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px;align-items:start;}
.equipe-double{min-width:0;padding-top:18px;border-top:5px solid var(--noir);}
.equipe-double-title{margin-bottom:20px;font-family:var(--font-titres);font-size:25px;font-weight:900;text-transform:uppercase;}
.equipe-double-photo{aspect-ratio:16/10;margin-bottom:20px;border-radius:6px;overflow:hidden;background:#eee;}
.equipe-double-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;}
.equipe-double .equipe-ffhb-link{margin:0 0 30px;}
.equipe-double .admin-equipe-ffhb-help{margin:0 0 30px;}
.equipe-double-roster{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.equipe-double-staff{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}

/* Trombinoscope — titre de section */
.trombi-titre{font-family:var(--font-titres);text-transform:uppercase;font-size:20px;margin-bottom:16px;color:var(--noir);}

/* Actualités — thumbnail top-anchor */
.news-card .thumb{position:relative;height:200px;overflow:hidden;}
.news-card .thumb img{width:100%;height:100%;object-fit:cover;object-position:center top;}

/* Article d'actualité — conserve le ratio naturel de l'image principale */
.single-actualite-image{margin-bottom:24px;border-radius:6px;overflow:hidden;}
.single-actualite-image img{display:block;width:100%;max-width:100%;height:auto!important;object-fit:contain;}

/* Vignettes joueurs — top-anchor */
.youth-card .ph img{object-position:top;}
.bottom-bar{border-top:1px solid #222;display:flex;align-items:center;justify-content:space-between;padding:14px 24px;font-size:12px;color:#666;flex-wrap:wrap;gap:8px;}
.bottom-bar a{color:#666;text-decoration:underline;}
.bottom-bar a:hover{color:var(--vert);}

/* ===== PAGES STANDARD ===== */
.page-content{max-width:900px;margin:0 auto;padding:60px 24px;}
.page-content h1{font-family:var(--font-titres);text-transform:uppercase;font-size:32px;margin-bottom:24px;}
.page-content h2{font-family:var(--font-titres);text-transform:uppercase;font-size:22px;margin:32px 0 16px;}
.page-content p{margin-bottom:16px;line-height:1.7;}
.tag{display:inline-block;background:var(--vert);color:var(--noir);font-family:var(--font-titres);font-size:10px;font-weight:bold;text-transform:uppercase;padding:3px 8px;border-radius:2px;margin-bottom:10px;letter-spacing:.5px;}

/* ===== RESPONSIVE ===== */
@media(max-width:1100px){
  .nav-desktop ul{gap:16px;}
  .nav-desktop a{font-size:12px;}
}
/* ===== PAGE PARTENAIRES ===== */
.partenaires-page{background:var(--blanc-casse);}
.partenaires-hero{background:var(--noir);color:#fff;padding:70px 24px;text-align:center;position:relative;overflow:hidden;}
.partenaires-hero::before{content:'';position:absolute;inset:0;background-image:repeating-linear-gradient(45deg,rgba(126,217,87,.04) 0,rgba(126,217,87,.04) 2px,transparent 2px,transparent 14px);}
.partenaires-hero-inner{position:relative;}
.partenaires-hero h1{font-family:var(--font-titres);font-size:clamp(30px,5vw,56px);text-transform:uppercase;color:#fff;}
.partenaires-hero p{max-width:600px;margin:16px auto 0;color:var(--gris);font-size:15px;}
.partenaires-section{padding:50px 24px;}
.partenaires-section-inner{max-width:1100px;margin:0 auto;}
.partenaires-section-head{margin-bottom:32px;}
.partenaires-section-head h2{font-family:var(--font-titres);font-size:clamp(20px,3vw,34px);text-transform:uppercase;border-left:4px solid var(--vert);padding-left:14px;}
.partenaires-sep{display:block;width:40px;height:3px;background:var(--vert);margin-top:10px;margin-left:18px;border-radius:2px;}
.partenaires-logos{display:flex;flex-wrap:wrap;gap:20px;align-items:center;}
.partenaire-logo-item{background:#fff;border:1px solid #e0e0e0;border-radius:6px;padding:14px 22px;display:flex;align-items:center;justify-content:center;transition:.2s;min-width:140px;}
.partenaire-logo-item img{max-height:60px;width:auto;max-width:160px;object-fit:contain;display:block;}
a.partenaire-logo-item:hover{border-color:var(--vert);box-shadow:0 2px 12px rgba(126,217,87,.15);}
.partenaires-logos.institutionnel .partenaire-logo-item,
.partenaires-logos.principaux .partenaire-logo-item{min-width:180px;padding:18px 28px;}
.partenaires-logos.institutionnel .partenaire-logo-item img,
.partenaires-logos.principaux .partenaire-logo-item img{max-height:80px;max-width:200px;}
.partenaire-nom{font-family:var(--font-titres);font-size:15px;font-weight:700;text-transform:uppercase;color:var(--noir);}
.partenaires-section:nth-child(even){background:#fff;}

/* ===== CAROUSEL PARTENAIRES (accueil) ===== */
.partners-strip{background:var(--blanc-casse);padding:40px 24px;}
.partners-carousel{position:relative;max-width:1100px;margin:0 auto;}
.partners-track{overflow:hidden;}
.partners-slide{display:none;grid-template-columns:repeat(6,1fr);gap:16px;align-items:center;}
.partners-slide.active{display:grid;animation:partnersIn .4s ease;}
@keyframes partnersIn{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:translateX(0)}}
.partners-slide .partner-logo{background:#fff;border:1px solid #e0e0e0;border-radius:6px;padding:12px 16px;display:flex;align-items:center;justify-content:center;min-height:80px;transition:.2s;}
.partners-slide .partner-logo img{max-height:52px;width:auto;max-width:100%;object-fit:contain;}
a.partners-slide .partner-logo:hover,
.partners-slide a.partner-logo:hover{border-color:var(--vert);box-shadow:0 2px 10px rgba(126,217,87,.15);}
.partner-name-text{font-family:var(--font-titres);font-size:12px;font-weight:700;text-transform:uppercase;text-align:center;color:var(--noir);}
.partners-prev,.partners-next{position:absolute;top:50%;transform:translateY(-50%);background:var(--noir);color:#fff;border:none;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:20px;line-height:1;display:flex;align-items:center;justify-content:center;z-index:2;transition:.2s;margin-top:-16px;}
.partners-prev{left:-16px;}
.partners-next{right:-16px;}
.partners-prev:hover,.partners-next:hover{background:var(--vert);color:var(--noir);}
.partners-dots{display:flex;justify-content:center;gap:8px;margin-top:20px;}
.partners-dot{width:8px;height:8px;border-radius:50%;background:#ccc;border:none;cursor:pointer;padding:0;transition:.2s;}
.partners-dot.active{background:var(--vert);}
@media(max-width:900px){.partners-slide{grid-template-columns:repeat(3,1fr);}}
@media(max-width:560px){.partners-slide{grid-template-columns:repeat(2,1fr);}}

/* ===== PAGE LICENCES ===== */
.licences-hero{background:var(--noir);color:#fff;padding:70px 24px;text-align:center;}
.licences-hero h1{font-family:var(--font-titres);font-size:clamp(30px,5vw,56px);text-transform:uppercase;color:#fff;}
.licences-hero h1 span{color:var(--vert);}
.licences-hero p{max-width:600px;margin:16px auto 0;color:var(--gris);font-size:15px;}
.licences-content{max-width:860px;margin:0 auto;padding:60px 24px;}
.licences-content h2{font-family:var(--font-titres);font-size:clamp(20px,3vw,32px);text-transform:uppercase;margin:48px 0 16px;border-left:4px solid var(--vert);padding-left:14px;}
.licences-content>.licences-section:first-child>h2{margin-top:0;}
.licences-content p,.licences-content li{font-size:15px;line-height:1.75;color:#333;margin-bottom:12px;}
.licences-content ul{padding-left:24px;margin-bottom:16px;}
.licences-steps{counter-reset:step;list-style:none;padding:0;margin:0 0 24px;}
.licences-steps li{counter-increment:step;display:grid;grid-template-columns:40px 1fr;gap:16px;align-items:start;padding:16px 0;border-bottom:1px solid #eee;}
.licences-steps li::before{content:counter(step);background:var(--vert);color:var(--noir);font-weight:900;font-family:var(--font-titres);font-size:18px;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.licences-intro{background:var(--blanc-casse);border-left:4px solid var(--vert);padding:16px 18px;margin-bottom:28px;}
.licences-procedure{counter-reset:licence-step;list-style:none;padding:0;margin:0;}
.licences-procedure>li{counter-increment:licence-step;position:relative;padding:0 0 34px 62px;margin:0 0 28px;border-bottom:1px solid #e4e4e4;}
.licences-procedure>li:last-child{margin-bottom:0;padding-bottom:0;border-bottom:0;}
.licences-procedure>li::before{content:counter(licence-step);position:absolute;left:0;top:0;width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--vert);color:var(--noir);font-family:var(--font-titres);font-size:20px;font-weight:900;}
.licences-procedure h3{font-family:var(--font-titres);font-size:21px;text-transform:uppercase;margin:4px 0 16px;color:var(--noir);}
.licences-procedure ul{margin:0;padding-left:20px;}
.licences-procedure ul li{margin-bottom:7px;line-height:1.55;}
.licences-parcours-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0;}
.licences-parcours{border:1px solid #ddd;border-radius:6px;padding:18px;}
.licences-parcours h4{font-family:var(--font-titres);font-size:15px;text-transform:uppercase;margin:0 0 12px;}
.licences-parcours p{margin:0;line-height:1.55;}
.licences-parcours-creation{background:#f1faed;border-top:4px solid var(--vert);}
.licences-parcours-creation h4{color:var(--vert-fonce);}
.licences-parcours-renouvellement{background:#f3f3f3;border-top:4px solid var(--noir);}
.licences-parcours-renouvellement h4{color:var(--noir);}
.licences-envoi{background:#f7f7f7;border-radius:4px;padding:13px 15px;margin-top:14px;}
.licences-paiement-helloasso{display:list-item;}
.licences-paiement-helloasso>span{display:block;}
.licences-btn-helloasso{display:inline-block;margin-top:10px;background:var(--vert);color:var(--noir);border:2px solid var(--vert);border-radius:4px;padding:11px 18px;font-family:var(--font-titres);font-size:13px;font-weight:800;line-height:1.2;text-transform:uppercase;letter-spacing:.35px;transition:.2s;}
.licences-btn-helloasso:hover{background:var(--noir);border-color:var(--noir);color:#fff;}
.licences-obligatoires-details{margin-top:18px;border:1px solid #cfd8ca;border-radius:7px;background:#fff;overflow:hidden;}
.licences-obligatoires-details summary{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;padding:16px 18px;background:#eef8ea;color:var(--noir);font-family:var(--font-titres);font-size:15px;font-weight:800;text-transform:uppercase;list-style:none;}
.licences-obligatoires-details summary::-webkit-details-marker{display:none;}
.licences-obligatoires-details summary::after{content:'+';display:flex;align-items:center;justify-content:center;width:26px;height:26px;flex-shrink:0;border-radius:50%;background:var(--vert);font-family:Arial,sans-serif;font-size:20px;line-height:1;}
.licences-obligatoires-details[open] summary::after{content:'−';}
.licences-obligatoires-content{padding:18px;}
.licences-obligatoires-content>p{margin:0 0 18px;}
.licences-validation-note{display:flex;align-items:center;gap:12px;margin-top:14px;background:#eef8ea;color:#24431a;border:1px solid #cbe5c0;border-left:5px solid var(--vert);border-radius:7px;padding:18px 20px;font-weight:700;line-height:1.55;}
.licences-validation-note::before{content:'✓';display:flex;align-items:center;justify-content:center;width:28px;height:28px;flex:0 0 28px;border-radius:50%;background:var(--vert);color:var(--noir);font-size:16px;font-weight:900;}
.licences-obligatoires-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:24px;align-items:start;}
.licences-obligatoires-card{border:1px solid #ddd;border-radius:7px;background:#fff;overflow:hidden;}
.licences-obligatoires-card h3{font-family:var(--font-titres);font-size:20px;text-transform:uppercase;margin:0;padding:17px 20px;}
.licences-obligatoires-renouvellement h3{background:var(--noir);color:#fff;}
.licences-obligatoires-creation h3{background:var(--vert);color:var(--noir);}
.licences-obligatoires-card ul{list-style:none;padding:0;margin:0;}
.licences-obligatoires-card li{display:flex;flex-direction:column;align-items:flex-start;gap:9px;padding:16px 18px;margin:0;border-bottom:1px solid #e7e7e7;line-height:1.5;}
.licences-obligatoires-card li:last-child{border-bottom:0;}
.licences-destination{display:inline-block;border-radius:999px;padding:5px 9px;font-size:10px;line-height:1.25;text-transform:uppercase;letter-spacing:.35px;}
.licences-destination-club{background:#e8f7e2;color:#245e0e;}
.licences-destination-gesthand{background:#ececf0;color:#30303a;}
.licences-permanences{clear:both;margin-top:56px;padding-top:1px;}
.licences-permanences h2{margin-top:0;}
.licences-permanences-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:24px;}
.licences-permanence-card{display:flex;flex-direction:column;gap:5px;background:var(--blanc-casse);border:1px solid #ddd;border-left:4px solid var(--vert);border-radius:5px;padding:18px;}
.licences-permanence-card strong{font-family:var(--font-titres);font-size:16px;text-transform:uppercase;color:var(--noir);}
.licences-permanence-card span{font-weight:800;color:var(--vert-fonce);}
.licences-permanence-card small{font-size:13px;color:#666;}
.licences-documents{clear:both;margin-top:56px;padding-top:1px;}
.licences-documents h2{margin-top:0;}
.licences-tarifs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin:24px 0;}
.licences-tarif-card{background:var(--blanc-casse);border:1px solid #ddd;border-radius:6px;padding:20px 16px;text-align:center;}
.licences-tarif-card .cat{font-family:var(--font-titres);font-size:16px;text-transform:uppercase;font-weight:700;margin-bottom:8px;}
.licences-tarif-card .prix{font-size:28px;font-weight:900;color:var(--vert-fonce);}
.licences-tarif-card .prix span{font-size:14px;color:var(--gris);font-weight:normal;}
.licences-cta-box{background:var(--vert);color:var(--noir);border-radius:6px;padding:32px 24px;text-align:center;margin-top:40px;}
.licences-cta-box h3{font-family:var(--font-titres);font-size:24px;text-transform:uppercase;margin-bottom:12px;}
.licences-cta-box p{margin-bottom:20px;font-size:15px;}
.licences-cta-box a.btn-licences-lien{display:inline-block;background:var(--noir);color:#fff;font-family:var(--font-titres);font-size:15px;text-transform:uppercase;font-weight:700;padding:12px 32px;border-radius:3px;transition:.2s;}
.licences-cta-box a.btn-licences-lien:hover{background:#1a1a1a;}
.licences-documents-list{list-style:none;padding:0!important;margin:24px 0 0!important;display:grid;gap:12px;}
.licences-documents-list li{margin:0;}
.licences-documents-list a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;background:var(--blanc-casse);border:1px solid #ddd;border-left:4px solid var(--vert);border-radius:4px;color:var(--noir);transition:.2s;}
.licences-documents-list a:hover{border-color:var(--vert);transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.08);}
.licences-document-infos{display:flex;flex-direction:column;gap:3px;min-width:0;}
.licences-document-infos>span{font-weight:700;line-height:1.35;}
.licences-document-infos small{color:#777;font-size:12px;line-height:1.4;}
.licences-documents-list strong{flex-shrink:0;background:var(--noir);color:#fff;padding:8px 14px;border-radius:3px;font-family:var(--font-titres);font-size:12px;text-transform:uppercase;letter-spacing:.4px;}
.licences-admin-notice{padding:16px 18px;background:#fff8e5;border-left:4px solid #dba617;color:#5f4900;font-size:14px;line-height:1.6;}
@media(max-width:700px){.licences-obligatoires-grid{grid-template-columns:1fr;}}
@media(max-width:560px){.licences-procedure>li{padding-left:52px;}.licences-procedure>li::before{width:36px;height:36px;font-size:17px;}.licences-parcours-grid{grid-template-columns:1fr;}.licences-documents-list a{align-items:flex-start;flex-direction:column;}.licences-documents-list strong{align-self:flex-start;}}

/* ===== PAGE HISTOIRE ===== */
.histoire-page{background:var(--blanc-casse);}
.histoire-hero{background:var(--noir);color:#fff;padding:80px 24px 60px;text-align:center;position:relative;overflow:hidden;}
.histoire-hero::before{content:'';position:absolute;inset:0;background-image:repeating-linear-gradient(45deg,rgba(126,217,87,.04) 0,rgba(126,217,87,.04) 2px,transparent 2px,transparent 14px);}
.histoire-hero-inner{position:relative;}
.histoire-hero h1{font-family:var(--font-titres);font-size:clamp(36px,7vw,80px);text-transform:uppercase;color:#fff;line-height:1;}
.histoire-hero h1 span{color:var(--vert);}
.histoire-hero p{margin-top:14px;color:var(--gris);font-size:15px;letter-spacing:1px;text-transform:uppercase;}

.histoire-content{max-width:860px;margin:0 auto;padding:60px 24px 40px;}

/* Timeline verticale */
.histoire-timeline{position:relative;}
.timeline-list{position:relative;padding-left:72px;}
.timeline-list::before{content:'';position:absolute;left:24px;top:8px;bottom:8px;width:3px;background:linear-gradient(to bottom,var(--vert),var(--vert-fonce));}
.timeline-item{position:relative;margin-bottom:48px;}
.timeline-item:last-child{margin-bottom:0;}
.timeline-annee{
  position:absolute;left:-72px;top:0;
  width:48px;height:48px;
  background:var(--vert);color:var(--noir);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-titres);font-size:13px;font-weight:900;
  line-height:1.1;text-align:center;
  flex-shrink:0;
  box-shadow:0 0 0 4px var(--blanc-casse);
}
.timeline-texte{background:#fff;border-radius:6px;padding:20px 24px;box-shadow:0 2px 12px rgba(0,0,0,.06);border-left:4px solid var(--vert);}
.timeline-texte p{font-size:15px;line-height:1.8;color:#333;margin:0;}
.timeline-texte p+p{margin-top:10px;}

/* Section présidents */
.histoire-presidents{max-width:860px;margin:0 auto;padding:20px 24px 70px;}
.histoire-section-head{text-align:center;margin-bottom:40px;}
.histoire-section-head h2{font-family:var(--font-titres);font-size:clamp(26px,4vw,48px);text-transform:uppercase;}
.histoire-sep{display:block;width:60px;height:4px;background:var(--vert);margin:12px auto 0;border-radius:2px;}
.presidents-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:28px;}
.president-card{text-align:center;}
.president-photo{width:130px;height:130px;border-radius:50%;overflow:hidden;margin:0 auto 14px;border:3px solid var(--vert);}
.president-photo img{width:100%;height:100%;object-fit:cover;object-position:top;}
.president-photo-placeholder{width:100%;height:100%;background:var(--anthracite);display:flex;align-items:center;justify-content:center;}
.president-photo-placeholder svg{width:48px;height:48px;stroke:var(--gris);}
.president-info{display:flex;flex-direction:column;gap:4px;}
.president-info strong{font-family:var(--font-titres);font-size:17px;text-transform:uppercase;}
.president-info span{font-size:12px;color:var(--gris);}
.histoire-admin-note{color:var(--gris);font-size:13px;border:1px dashed var(--gris);padding:12px 16px;border-radius:4px;}

@media(max-width:900px){
  .nav-desktop{display:none;}
  .header-ctas{display:none;}
  .burger{display:flex;}
  .mobile-nav{display:flex;}
  .hero-banner{height:55vh;min-height:340px;}
  .hero-arrow{width:38px;height:38px;font-size:20px;}
  .matchs-row{grid-template-columns:1fr;}
  .news-grid{grid-template-columns:1fr;}
  .roster{grid-template-columns:repeat(3,1fr);}
  .trombinoscope-grid{grid-template-columns:repeat(3,1fr);}
  .youth-grid{grid-template-columns:repeat(2,1fr);}
  .staff-grid{grid-template-columns:repeat(2,1fr);}
  .footer-inner{grid-template-columns:1fr;}
  .classement-content{margin-left:0;max-width:100%;}
  .classement-parallax{background-attachment:scroll;} /* background-attachment:fixed mal supporté sur mobile */
  .equipes-doubles-grid{grid-template-columns:1fr;gap:60px;}
}
@media(min-width:901px){
  .mobile-nav,.nav-backdrop{display:none;}
}
@media(max-width:560px){
  .roster{grid-template-columns:repeat(2,1fr);}
  .trombinoscope-grid{grid-template-columns:repeat(2,1fr);}
  .caehb-section{padding:40px 18px;}
  .section-head h1,.section-head h2{font-size:20px;}
  .header-inner{padding:10px 16px;}
  .logo-zone img{height:44px;width:44px;}
  .hero-banner{height:48vh;min-height:280px;}
}
