/* Rugby et Compagnie - feuille de style commune (charte graphique) */
:root{
  --bg-dark:#0e2b18;
  --bg-dark-alt:#0a2113;
  --bg-dark-alt2:#123420;
  --green-accent:#1b6535;
  --olive:#a8c66c;
  --gold:#e1dd72;
  --text:#ffffff;
  --text-muted:rgba(255,255,255,.68);
  --border-soft:rgba(255,255,255,.11);
}
*{box-sizing:border-box;margin:0;padding:0;}
body{
  background:var(--bg-dark);
  color:var(--text);
  font-family:'Montserrat',sans-serif;
  min-height:100vh;
}
a{color:var(--olive);}
/* Header commun */
header.site-header{
  background:var(--bg-dark-alt);
  padding:20px 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:12px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.logo{
  font-weight:900;
  font-size:1.3rem;
  letter-spacing:.5px;
  color:var(--text);
  text-decoration:none;
}
.logo span{
  font-family:'Yellowtail',cursive;
  font-weight:400;
  color:var(--olive);
  font-size:1.5rem;
  margin-left:4px;
}
.site-nav{
  display:flex;
  gap:20px;
  font-size:.85rem;
}
.site-nav a{
  color:var(--text-muted);
  text-decoration:none;
  font-weight:500;
}
.site-nav a:hover{color:var(--olive);}
.nav-account{
  display:flex;
  align-items:center;
  gap:14px;
  font-size:.85rem;
}
.nav-account a{
  color:var(--text);
  text-decoration:none;
  padding:6px 14px;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.25);
}
.nav-account a.primary{
  background:var(--olive);
  color:#10240f;
  border:none;
  font-weight:700;
}
.nav-account .ballons{
  color:var(--gold);
  font-weight:700;
}
.badge-test{
  background:var(--gold);
  color:#1a1a1a;
  font-size:.7rem;
  font-weight:700;
  padding:3px 10px;
  border-radius:20px;
  text-transform:uppercase;
  letter-spacing:.5px;
}
main{
  max-width:900px;
  margin:0 auto;
  padding:40px 24px 80px;
}
main.narrow{max-width:440px;}
main.wide{max-width:1100px;}
h1{
  font-weight:800;
  font-size:1.8rem;
  margin-bottom:6px;
}
.subtitle{
  color:var(--text-muted);
  margin-bottom:32px;
  font-size:.95rem;
}
/* Cartes / listes */
.day-group{margin-bottom:28px;}
.day-label{
  font-weight:700;
  color:var(--gold);
  text-transform:uppercase;
  font-size:.8rem;
  letter-spacing:.8px;
  margin-bottom:10px;
}
.match-card{
  background:var(--bg-dark-alt2);
  border-radius:10px;
  padding:16px 18px;
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:10px;
  border:1px solid rgba(255,255,255,.06);
}
.match-time{
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:1.1rem;
  color:var(--olive);
  min-width:56px;
}
.match-info{flex:1;}
.match-teams{font-weight:500;font-size:1rem;margin-bottom:2px;}
.team-link{color:inherit;text-decoration:none;}
.team-link:hover{text-decoration:underline;}
.team-logo{width:18px;height:18px;object-fit:contain;vertical-align:-4px;margin-right:4px;border-radius:2px;}
.match-meta{color:var(--text-muted);font-size:.8rem;}
.match-channel{
  background:var(--green-accent);
  padding:5px 12px;
  border-radius:6px;
  font-size:.75rem;
  font-weight:700;
  white-space:nowrap;
}
.status-bar{
  margin-top:40px;
  padding:16px;
  background:var(--bg-dark-alt);
  border-radius:8px;
  font-size:.8rem;
  color:var(--text-muted);
  text-align:center;
}
.status-bar strong{color:var(--gold);}
/* Formulaires (auth) */
.auth-card{
  background:var(--bg-dark-alt2);
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  padding:28px;
}
.field{margin-bottom:16px;}
.field label{
  display:block;
  font-size:.8rem;
  color:var(--text-muted);
  margin-bottom:6px;
}
.field input,.field select{
  width:100%;
  padding:10px 12px;
  border-radius:6px;
  border:1px solid rgba(255,255,255,.15);
  background:var(--bg-dark);
  color:var(--text);
  font-family:'Roboto',sans-serif;
  font-size:.95rem;
}
.field-row{display:flex;gap:12px;}
.field-row .field{flex:1;}
.field-checkbox{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--text-muted);margin-bottom:20px;}
.field-checkbox input{width:auto;}
.btn{
  display:inline-block;
  background:var(--green-accent);
  color:#fff;
  border:none;
  padding:12px 22px;
  border-radius:8px;
  font-weight:700;
  cursor:pointer;
  font-size:.95rem;
  width:100%;
  text-align:center;
  text-decoration:none;
}
.btn:hover{background:var(--olive);color:#10240f;}
.form-error{
  background:rgba(255,90,90,.12);
  border:1px solid rgba(255,90,90,.4);
  color:#ff9a9a;
  padding:10px 14px;
  border-radius:8px;
  font-size:.85rem;
  margin-bottom:16px;
}
.form-success{
  background:rgba(168,198,108,.12);
  border:1px solid rgba(168,198,108,.4);
  color:var(--olive);
  padding:10px 14px;
  border-radius:8px;
  font-size:.85rem;
  margin-bottom:16px;
}
.role-block{
  display:none;
  background:var(--bg-dark);
  border:1px solid rgba(255,255,255,.08);
  border-radius:8px;
  padding:16px;
  margin-bottom:16px;
}
.role-block .field:last-child,
.role-block .field-checkbox:last-child{margin-bottom:0;}
.form-footer{
  margin-top:18px;
  font-size:.85rem;
  color:var(--text-muted);
  text-align:center;
}
.account-summary{
  background:var(--bg-dark-alt2);
  border-radius:12px;
  padding:24px;
  margin-bottom:20px;
}
.account-summary .ballons-count{
  font-size:2rem;
  font-weight:800;
  color:var(--gold);
  font-family:'Montserrat',sans-serif;
}
/* Pronostics */
.match-card{flex-wrap:wrap;}
.prono-row{
  width:100%;
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid rgba(255,255,255,.08);
  flex-wrap:wrap;
}
.prono-btn{
  background:transparent;
  border:1px solid rgba(255,255,255,.25);
  color:var(--text);
  padding:6px 12px;
  border-radius:6px;
  font-size:.78rem;
  cursor:pointer;
}
.prono-btn:hover{border-color:var(--olive);}
.prono-btn.selected{
  background:var(--olive);
  color:#10240f;
  border-color:var(--olive);
  font-weight:700;
}
.prono-btn:disabled{
  opacity:.45;
  cursor:not-allowed;
  border-style:dashed;
}
.prono-btn:disabled:hover{border-color:rgba(255,255,255,.25);}
.prono-stake{
  width:80px !important;
  padding:6px 8px !important;
  margin:0 !important;
  font-size:.8rem;
}
.prono-submit{
  background:var(--green-accent);
  color:#fff;
  border:none;
  padding:7px 14px;
  border-radius:6px;
  font-size:.78rem;
  font-weight:700;
  cursor:pointer;
}
.prono-submit:hover{background:var(--olive);color:#10240f;}
.prono-submit:disabled{opacity:.4;cursor:not-allowed;}
.prono-solo-btn{
  background:var(--olive);
  color:#10240f;
  border:none;
  padding:8px 16px;
  border-radius:6px;
  font-size:.8rem;
  font-weight:700;
  cursor:pointer;
}
.prono-solo-btn:hover{opacity:.9;}
.prono-status{
  font-size:.75rem;
  color:var(--text-muted);
  width:100%;
}
.prono-status.mine{color:var(--gold);}
.prono-status.error{color:#ff9a9a;}
.prono-status.won{color:var(--olive);}
.prono-status.lost{color:#ff9a9a;}
/* Modale connexion (remplace le lien répété sur chaque ligne) */
.rnc-modal-overlay{
  position:fixed;inset:0;
  background:rgba(0,0,0,.6);
  display:flex;align-items:center;justify-content:center;
  z-index:1000;padding:20px;
}
.rnc-modal-overlay.hidden{display:none;}
.rnc-modal{
  position:relative;
  background:var(--bg-dark-alt2);
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  padding:28px;
  max-width:360px;
  width:100%;
  text-align:center;
}
.rnc-modal h3{margin-bottom:10px;font-size:1.1rem;color:#ffffff}
.rnc-modal p{color:var(--text-muted);font-size:.88rem;margin-bottom:22px;}
.rnc-modal-actions{display:flex;gap:10px;}
.rnc-modal-actions a{flex:1;}
.rnc-modal-close{
  position:absolute;top:10px;right:14px;
  background:none;border:none;color:var(--text-muted);
  font-size:1.3rem;line-height:1;cursor:pointer;
}
/* Mobile */
@media (max-width:600px){
  header.site-header{padding:14px 16px;}
  .logo{font-size:1.05rem;}
  .logo span{font-size:1.2rem;}
  .site-nav{gap:12px;font-size:.75rem;order:3;width:100%;justify-content:center;}
  .nav-account{font-size:.72rem;gap:6px;}
  .nav-account a{padding:5px 10px;}
  main{padding:24px 14px 60px;}
  h1{font-size:1.35rem;display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
  .match-card{padding:12px;gap:8px 10px;}
  .match-time{min-width:44px;font-size:.95rem;}
  .match-info{min-width:0;}
  .match-teams{font-size:.9rem;}
  .match-meta{font-size:.72rem;}
  .match-channel{font-size:.65rem;padding:4px 8px;}
  .prono-row{gap:6px;}
  .prono-btn{flex:1 1 auto;font-size:.72rem;padding:7px 8px;}
  .prono-stake{width:64px !important;}
  .prono-submit{flex:1 1 100%;}
  .prono-solo-btn{width:100%;}
  .map-container{height:420px;}
  .map-toolbar select{flex:1 1 100%;}
  .select-wrap{flex:1 1 100%;}
}
/* Carte des clubs */
.map-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
  flex-wrap:wrap;
}
.search-wrap{
  position:relative;
  flex:1;
  min-width:200px;
}
.map-toolbar input{
  width:100%;
  padding:10px 36px 10px 14px;
  border-radius:8px;
  border:1px solid rgba(255,255,255,.15);
  background:var(--bg-dark-alt2);
  color:var(--text);
  font-family:'Montserrat',sans-serif;
  font-size:.9rem;
}
.search-clear{
  position:absolute;
  right:6px;
  top:50%;
  transform:translateY(-50%);
  background:none;
  border:none;
  color:var(--text-muted);
  font-size:1.3rem;
  line-height:1;
  cursor:pointer;
  padding:4px 8px;
  border-radius:6px;
}
.search-clear:hover{color:var(--text);background:rgba(255,255,255,.08);}
.map-toolbar select{
  flex:0 1 200px;
  min-width:150px;
  padding:10px 14px;
  border-radius:8px;
  border:1px solid rgba(255,255,255,.15);
  background:var(--bg-dark-alt2);
  color:var(--text);
  font-family:'Montserrat',sans-serif;
  font-size:.9rem;
  cursor:pointer;
}
.map-toolbar select option,
.map-toolbar select optgroup{
  background:var(--bg-dark-alt2);
  color:var(--text);
}
.select-wrap{
  position:relative;
  flex:0 1 200px;
  min-width:150px;
}
.select-wrap select{
  width:100%;
  padding-right:34px;
}
.select-clear{
  position:absolute;
  right:22px;
  top:50%;
  transform:translateY(-50%);
  background:none;
  border:none;
  color:var(--text-muted);
  font-size:1.2rem;
  line-height:1;
  cursor:pointer;
  padding:2px 6px;
  border-radius:6px;
  pointer-events:auto;
}
.select-clear:hover{color:var(--text);background:rgba(255,255,255,.08);}
.map-container{
  height:600px;
  border-radius:12px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.1);
}
/* !important nécessaire ici : includes/header.php ferme déjà </head> avant
   que map.php n'imprime les <link> Leaflet (unpkg) - ces styles Leaflet se
   chargent donc APRÈS style.css dans le DOM et gagnaient le popup (fond
   blanc par défaut) à spécificité égale. Constaté le 20/08 : popup blanche
   au lieu du thème sombre voulu, texte clair devenu illisible dessus. */
.leaflet-popup-content-wrapper{
  background:var(--bg-dark-alt2) !important;
  color:var(--text) !important;
  border-radius:10px !important;
  padding:0 !important;
  box-shadow:0 6px 24px rgba(0,0,0,.35);
}
.leaflet-popup-tip{background:var(--bg-dark-alt2) !important;}
.leaflet-popup-content{font-family:'Montserrat',sans-serif;font-size:.85rem;margin:0;width:auto !important;}
.leaflet-popup-close-button{color:rgba(255,255,255,.55) !important;font-size:20px !important;padding:6px 8px 0 0 !important;}
.leaflet-popup-close-button:hover{color:var(--text) !important;}

/* Carte club dans la popup carte - remplace l'ancien contenu texte brut par
   une mise en page type "carte de visite" : logo + nom + niveau en badge,
   adresse avec repère, comité en tag discret, CTA en bouton plein. */
.popup-card{
  min-width:200px;
  max-width:260px;
  padding:14px 16px 12px;
}
.popup-header{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:10px;
}
.popup-logo{
  flex:none;
  display:block;
  width:44px;
  height:44px;
  object-fit:contain;
  background:#fff;
  border-radius:50%;
  border:2px solid var(--accent, #1b6535);
}
.popup-logo-placeholder{
  background:var(--accent, #1b6535);
  position:relative;
}
.popup-logo-placeholder::after{
  content:'';
  position:absolute;
  inset:13px;
  background:var(--olive, #a8c66c);
  border-radius:50%;
}
.popup-header-text{min-width:0;}
.popup-name{
  color:var(--gold);
  font-weight:700;
  font-size:.95rem;
  line-height:1.25;
  overflow-wrap:break-word;
}
.popup-niveau{
  display:inline-block;
  margin-top:3px;
  padding:1px 8px;
  border-radius:20px;
  background:rgba(168,198,108,.18);
  color:var(--olive, #a8c66c);
  font-size:.68rem;
  font-weight:600;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.popup-body{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-bottom:12px;
}
.popup-row{
  display:flex;
  align-items:flex-start;
  gap:6px;
  color:rgba(255,255,255,.82);
  font-size:.8rem;
  line-height:1.35;
}
.popup-pin{flex:none;margin-top:3px;color:var(--olive, #a8c66c);}
.popup-comite{
  color:rgba(255,255,255,.55);
  font-size:.72rem;
  font-style:italic;
}
.popup-cta{
  display:inline-block;
  width:100%;
  box-sizing:border-box;
  text-align:center;
  padding:7px 10px;
  border-radius:6px;
  background:var(--accent, #1b6535);
  color:#fff !important;
  font-weight:600;
  font-size:.8rem;
  text-decoration:none;
  transition:background .15s ease;
}
.popup-cta:hover{background:var(--olive, #a8c66c);color:#111 !important;}
/* Marqueurs carte = logo du club (rond), sinon un point de couleur */
.club-marker-icon{background:none;border:none;}
.club-marker-logo{
  width:36px;
  height:36px;
  border-radius:50%;
  background-color:#fff;
  background-size:68%;
  background-position:center;
  background-repeat:no-repeat;
  border:2px solid #1b6535;
  box-shadow:0 1px 4px rgba(0,0,0,.45);
}
.club-marker-default{
  background-color:#1b6535;
  position:relative;
}
.club-marker-default::after{
  content:'';
  position:absolute;
  inset:11px;
  background:#a8c66c;
  border-radius:50%;
}
/* Fiche club */
.club-layout{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  align-items:start;
}
@media (max-width:800px){
  .club-layout{grid-template-columns:1fr;}
}
/* Fiche club v2 (calquée sur la structure de rugbynco.com) */
.club-hero{
  display:grid;
  grid-template-columns:2fr 1fr;
  gap:24px;
  align-items:start;
  margin-bottom:32px;
}
@media (max-width:800px){
  .club-hero{grid-template-columns:1fr;}
}
.club-hero-main{
  background:var(--bg-dark-alt2);
  border:1px solid var(--border-soft);
  border-radius:14px;
  padding:32px;
}
.club-hero-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  flex-wrap:wrap;
}
.club-identity{
  display:flex;
  align-items:center;
  gap:16px;
}
.club-emblem{
  width:64px;
  height:64px;
  border-radius:10px;
  background:var(--bg-dark);
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  font-size:1.4rem;
  color:var(--olive);
  flex-shrink:0;
  overflow:hidden;
}
.club-hero-main h1{margin-bottom:0;font-size:1.6rem;}
.club-score-box{
  background:var(--bg-dark);
  border-radius:10px;
  padding:12px 26px;
  text-align:center;
  flex-shrink:0;
}
.club-score-box .num{
  font-size:1.8rem;
  font-weight:900;
  color:var(--gold);
  line-height:1;
}
.club-score-box .lbl{font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;}
.club-score-bar{
  margin-top:8px;
  height:4px;
  border-radius:4px;
  background:linear-gradient(90deg, var(--olive), var(--gold));
  opacity:.6;
}
.pill{
  display:inline-block;
  border:1px solid var(--olive);
  color:var(--olive);
  border-radius:20px;
  padding:5px 14px;
  font-size:.78rem;
  margin:12px 8px 0 0;
  font-weight:600;
}
.pill b, .pill strong{color:var(--olive);}
.club-actions{margin-top:22px;display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.btn-donner{
  background:var(--gold);
  color:#1a1a1a;
  border:none;
  border-radius:8px;
  padding:10px 20px;
  font-weight:700;
  font-size:.9rem;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:8px;
  text-decoration:none;
}
.btn-donner:hover{opacity:.9;}
.club-desc{color:var(--text-muted);font-size:.85rem;margin-top:20px;line-height:1.6;max-width:46em;}
.trend-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 14px;
  border-radius:20px;
  font-size:.78rem;
  font-weight:700;
  margin-top:18px;
}
.trend-badge.up{background:rgba(168,198,108,.15);color:var(--olive);}
.trend-badge.down{background:rgba(255,90,90,.15);color:#ff9a9a;}
.trend-badge.stable{background:rgba(225,221,114,.15);color:var(--gold);}
/* Panneau localisation */
.loc-panel{
  background:var(--bg-dark-alt2);
  border:1px solid var(--border-soft);
  border-radius:14px;
  overflow:hidden;
}
.loc-panel-header{
  background:var(--bg-dark-alt);
  padding:16px 20px;
  font-weight:800;
  letter-spacing:.6px;
  color:var(--olive);
  font-size:.8rem;
  text-transform:uppercase;
}
.loc-map{height:220px;}
.loc-info-row{display:flex;gap:12px;padding:18px 20px 0;}
.loc-info-box{
  flex:1;
  background:var(--bg-dark);
  border-radius:8px;
  padding:12px 14px;
  font-size:.78rem;
  line-height:1.5;
}
.loc-info-box .loc-label{color:var(--text-muted);display:block;margin-bottom:4px;font-size:.7rem;text-transform:uppercase;letter-spacing:.4px;}
.share-row{display:flex;gap:8px;padding:18px 20px 20px;flex-wrap:wrap;}
.share-btn{
  width:34px;height:34px;
  border-radius:50%;
  background:var(--bg-dark);
  display:flex;align-items:center;justify-content:center;
  text-decoration:none;
  font-size:1rem;
  border:1px solid var(--border-soft);
}
.share-btn:hover{background:var(--green-accent);}
/* Popularité (courbe + FAQ) — cartes en ton neutre pour varier avec le bandeau vert du haut */
.club-secondary{
  display:grid;
  grid-template-columns:1.6fr 1fr;
  gap:24px;
  align-items:start;
  margin-top:32px;
}
@media (max-width:800px){
  .club-secondary{grid-template-columns:1fr;}
}
.club-panel{
  background:var(--bg-dark-alt2);
  border:1px solid var(--border-soft);
  border-radius:14px;
  padding:26px;
}
.club-panel h3{
  font-size:1.02rem;
  margin-bottom:4px;
  letter-spacing:.2px;
}
.popu-chart{width:100%;height:auto;margin-top:18px;}
.popu-chart .grid-line{stroke:rgba(255,255,255,.09);stroke-width:1;}
.popu-chart .curve{fill:none;stroke:var(--olive);stroke-width:2;}
.popu-chart .curve-dot{fill:var(--gold);}
.popu-chart text{fill:var(--text-muted);font-size:9px;font-family:'Montserrat',sans-serif;}
details.faq{
  margin-top:18px;
  background:var(--bg-dark);
  border-radius:8px;
  padding:14px 18px;
}
details.faq summary{
  cursor:pointer;
  font-weight:700;
  font-size:.85rem;
  color:var(--olive);
}
details.faq ul{margin:12px 0 0 18px;color:var(--text-muted);font-size:.8rem;line-height:1.7;}
.top10-list{list-style:none;margin-top:16px;}
.top10-list li{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:11px 0;
  border-bottom:1px solid var(--border-soft);
  font-size:.85rem;
}
.top10-list li:last-child{border-bottom:none;}
.top10-list .rank{color:var(--text-muted);width:22px;flex-shrink:0;font-weight:700;}
.top10-list a{color:var(--text);text-decoration:none;flex:1;}
.top10-list a:hover{color:var(--olive);}
.top10-list .pts{color:var(--gold);font-weight:700;font-size:.8rem;white-space:nowrap;}
.top10-list li.current{background:rgba(168,198,108,.08);margin:0 -10px;padding:9px 10px;border-radius:6px;}
.points-breakdown{display:flex;gap:12px;margin-top:22px;}
.pb-item{
  flex:1;
  text-align:center;
  background:var(--bg-dark);
  border-radius:8px;
  padding:14px 8px;
}
.pb-item .pb-num{font-size:1.3rem;font-weight:800;color:var(--gold);}
.pb-item .pb-lbl{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;}
/* ============================================================
   Fiche club "claire" (.club-page) — thème dédié à cette page,
   n'affecte aucune autre page du site. Le hero et le panneau
   Localisation restent dans la charte sombre habituelle ; tout
   le reste de la page passe sur fond clair.
   ============================================================ */
body.club-page{
  background:#f6f6f4;
  color:#1d1d1d;
}
.club-page main.wide{max-width:1320px;}
/* Hero : colonne principale ~75%, localisation ~25%, prend presque toute la largeur */
.club-page .club-hero{grid-template-columns:1.6fr 1fr;}
@media (max-width:900px){
  .club-page .club-hero{grid-template-columns:1fr;}
}
/* Logo/emblème plus grand, nom plus visible */
.club-page .club-emblem{width:96px;height:96px;font-size:2rem;border-radius:14px;}
.club-page .club-hero-main h1{font-size:2.1rem;color:var(--text);}
/* Le hero et le panneau Localisation restent sombres : le body de cette page
   passant en texte foncé par défaut, on doit re-forcer le texte clair sur les
   éléments de ces deux blocs qui n'avaient pas de couleur explicite (ils en
   héritaient jusqu'ici du body sombre global). */
.club-page .loc-info-box{color:var(--text);}
.club-page .share-btn{color:var(--text);}
/* Cartes du bas en blanc, texte foncé, légère ombre */
.club-page .club-panel{
  background:#fff;
  color:#1d1d1d;
  border:1px solid #ddd;
  box-shadow:0 4px 14px rgba(0,0,0,.06);
}
.club-page .club-panel h3{color:#1d1d1d;}
.club-page .club-panel .subtitle{color:rgba(29,29,29,.62);}
.club-page details.faq{
  background:#f6f6f4;
  color:#1d1d1d;
  border:1px solid #eee;
}
.club-page details.faq summary{color:var(--green-accent);}
.club-page details.faq ul{color:rgba(29,29,29,.65);}
.club-page .pb-item{background:#f6f6f4;border:1px solid #eee;}
.club-page .pb-item .pb-num{color:var(--green-accent);}
.club-page .pb-item .pb-lbl{color:rgba(29,29,29,.55);}
.club-page .top10-list a,
.club-page .top10-list .rank{color:#1d1d1d;}
.club-page .top10-list a:hover{color:var(--green-accent);}
.club-page .top10-list .pts{color:var(--green-accent);}
.club-page .top10-list li{border-bottom:1px solid #eee;}
.club-page .top10-list li.current{background:rgba(27,101,53,.07);}
/* Courbe Popularité : plus grande, respire, lisible sur fond blanc */
.club-page .popu-chart{margin-top:24px;}
.club-page .popu-chart .grid-line{stroke:rgba(29,29,29,.12);}
.club-page .popu-chart .curve{stroke:var(--green-accent);}
.club-page .popu-chart .curve-dot{fill:var(--green-accent);}
.club-page .popu-chart text{fill:rgba(29,29,29,.55);}

/* ============================================================
   Club Secret — carte compte + feedback fiche club
   ============================================================ */
.secret-account-card{
  margin:0 0 24px;
  padding:24px 26px;
  border-radius:16px;
  background:linear-gradient(135deg,#123420,#0e2b18);
  color:#fff;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 8px 24px rgba(10,33,19,.16);
}
.secret-account-card.is-found{background:linear-gradient(135deg,#1b6535,#123420);}
.secret-account-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.secret-account-card h2{margin:4px 0 0;font-size:1.35rem;color:#fff;}
.secret-kicker{display:block;color:var(--olive);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;}
.secret-reward{background:var(--gold);color:#1d1d1d;padding:7px 12px;border-radius:999px;font-size:.8rem;font-weight:800;white-space:nowrap;}
.secret-intro{margin:14px 0 16px;color:rgba(255,255,255,.78);font-size:.88rem;line-height:1.55;max-width:58rem;}
.secret-hints{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 18px;}
.secret-hints span{display:flex;flex-direction:column;gap:3px;min-width:150px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.10);border-radius:10px;padding:10px 13px;font-size:.86rem;}
.secret-hints b{font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;color:var(--olive);}
.secret-cta{display:inline-flex;align-items:center;justify-content:center;background:var(--gold);color:#1d1d1d!important;text-decoration:none;font-weight:800;font-size:.84rem;border-radius:9px;padding:10px 15px;}
.secret-cta:hover{opacity:.9;}
.secret-account-card small{display:block;margin-top:12px;color:rgba(255,255,255,.52);font-size:.7rem;}
.secret-account-card > p:not(.secret-intro){margin:12px 0;color:rgba(255,255,255,.85);}
.secret-feedback{margin-top:18px;padding:14px 18px;border-radius:12px;display:flex;flex-direction:column;gap:3px;color:#fff;}
.secret-feedback-found{background:#1b6535;animation:rncSecretBounce .55s ease-out both;}
.secret-feedback-close{background:#b65b24;animation:rncSecretShake .45s ease-out both;}
.secret-feedback-miss{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);}
.secret-feedback strong{font-size:.95rem;}
.secret-feedback span{font-size:.8rem;color:rgba(255,255,255,.85);}
@keyframes rncSecretBounce{0%{transform:scale(.92);opacity:0}65%{transform:scale(1.02)}100%{transform:scale(1);opacity:1}}
@keyframes rncSecretShake{0%{transform:translateX(-8px);opacity:0}35%{transform:translateX(6px)}70%{transform:translateX(-3px)}100%{transform:translateX(0);opacity:1}}
@media(max-width:600px){
  .secret-account-card{padding:20px 18px;}
  .secret-hints{flex-direction:column;}
  .secret-hints span{min-width:0;width:100%;}
  .secret-cta{width:100%;}
}