/* ════════════════════════════════════════════════════════════════
   IT'S RUGBY — COMMON CSS (extracted from HTML templates)
   Part 1: Base CSS (from home template — shared across all pages)
   Part 2: Entity CSS (from player template — shared by entity pages)
   ════════════════════════════════════════════════════════════════ */

/* ══════════════════════════════════════════════════════════════
   PART 1 — BASE CSS
   Reset, variables, header, nav, sections, ads, footer, habillage, responsive
   ══════════════════════════════════════════════════════════════ */

/* ════════════════════════════════════════════════════════════════
   IT'S RUGBY — CSS COMMUN V2 (inline)
   ════════════════════════════════════════════════════════════════ */
*{box-sizing:border-box;margin:0;padding:0;border-radius:0!important;}
:root{
  --teal:#1C3D34;--teal-dk:#172713;--vanilla:#F2E5D2;--vanilla-d:#E8D8C0;
  --sage:#ABC8A2;--sage-lt:#D7EAE2;--ink:#1A1A1A;--border:#C4C4C4;
  --muted:#6B6B6B;--white:#ffffff;--red:#C0392B;--red-lt:#FDECEA;
  --yellow:#C47D08;--blue:#1A3A8F;--g-bright:#8ED968;
  --sans:'Noto Sans',sans-serif;--serif:'Noto Sans',sans-serif;
}
html{font-size:15px;scroll-behavior:smooth;}
body{font-family:var(--sans);background:var(--vanilla);color:var(--teal);line-height:1.55;}
/* Garde-fou anti-overflow horizontal global : le ticker (et autres scrollers
   internes type carousels) ne doivent pas laisser fuiter leur scrollWidth vers
   le viewport, ni en mobile ni en desktop. `overflow-x:clip` préserve
   position:sticky (contrairement à `hidden` qui crée un nouveau contexte de
   scroll et casse les stickies). N'affecte pas l'habillage (background-image,
   pas dans le scrollWidth). */
html,body{overflow-x:clip;max-width:100vw;}
a{color:inherit;text-decoration:none;}
button{font-family:var(--sans);cursor:pointer;border:none;background:none;}

/* ── PAGE LOADER — visible tant que le JS n'a pas fini ─── */
.its-page-body { opacity:0; transition:opacity .3s; }
.its-page-body.its-ready { opacity:1; }
.its-page-loader { display:flex; flex-direction:column; align-items:center; gap:12px; padding:60px 20px; }
.its-page-loader.its-hidden { display:none; }
.its-loader-spinner { width:32px; height:32px; border:3px solid var(--border); border-top-color:var(--teal); border-radius:50%; animation:its-spin .7s linear infinite; }
.its-loader-text { font-size:11px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:var(--muted); }
@keyframes its-spin { to { transform:rotate(360deg); } }

/* ── Archive warming loader (?saison=all cold cache) ────────── */
.its-archive-warming { background:var(--white); border:1px solid var(--border); padding:48px 24px; }
.its-archive-warming-inner { display:flex; flex-direction:column; align-items:center; gap:14px; max-width:480px; margin:0 auto; text-align:center; }
.its-archive-warming-title { font-size:14px; font-weight:800; color:var(--teal); }
.its-archive-warming-sub { font-size:12px; color:var(--muted); line-height:1.5; }
.its-archive-warming-progress { width:100%; height:4px; background:var(--vanilla); overflow:hidden; margin-top:8px; }
.its-archive-warming-bar { height:100%; width:30%; background:var(--teal); animation:its-warm-bar 1.8s ease-in-out infinite; }
@keyframes its-warm-bar { 0% { margin-left:-30%; } 100% { margin-left:100%; } }
.its-archive-warming-err { font-size:12px; color:var(--red); font-weight:700; }
.its-archive-warming-err a { color:var(--red); text-decoration:underline; }

/* ══════════════════════════════════════════
   SCOPE .its-v2 — Reset typographique pour neutraliser
   les styles globaux du thème ou de plugins tiers.
══════════════════════════════════════════ */

/* Reset typographique du scope — baseline */
.its-v2.its-v2 { font-family: 'Noto Sans', sans-serif; color: var(--teal); }
.its-empty-msg { padding:20px 24px; background:#fff; border:1px solid var(--border); color:var(--muted); font-size:13px; text-align:center; }

.its-hidden { display:none !important; }

/* Liens du scope : couleur héritée du parent (nos designs contrôlent) */
.its-v2 a[class]:not(.nav-int-item):not(.its-link):not(.annonce-card):not(.archive-card):not(.its-pw-cta):not(.its-btn-cta):not(.if-dd-opt):not(.if-dd-opt--locked):not(.match-score-link):not(.article-cat-badge):not(.search-tabs__tab):not(.search-discover__tile):not(.its-article-card__btn):not(.ps-tab):not(.its-people-card__name):not(.its-people-card__media):not(.bp-source-cta-btn):not(.rzu-btn):not(.rzu-cta-link):not(.its-claim-btn):not(.its-profils-nav-link):not(.its-eff-chip):not(.its-pcorr-btn):not(.its-agent-invite):not(.its-eff-invite):not(.its-doi-btn), .its-v2 a[class]:not(.nav-int-item):not(.its-link):not(.annonce-card):not(.archive-card):not(.its-pw-cta):not(.its-btn-cta):not(.if-dd-opt):not(.if-dd-opt--locked):not(.match-score-link):not(.article-cat-badge):not(.search-tabs__tab):not(.search-discover__tile):not(.its-article-card__btn):not(.ps-tab):not(.its-people-card__name):not(.its-people-card__media):not(.bp-source-cta-btn):not(.rzu-btn):not(.rzu-cta-link):not(.its-claim-btn):not(.its-profils-nav-link):not(.its-eff-chip):not(.its-pcorr-btn):not(.its-agent-invite):not(.its-eff-invite):not(.its-doi-btn):link, .its-v2 a[class]:not(.nav-int-item):not(.its-link):not(.annonce-card):not(.archive-card):not(.its-pw-cta):not(.its-btn-cta):not(.if-dd-opt):not(.if-dd-opt--locked):not(.match-score-link):not(.article-cat-badge):not(.search-tabs__tab):not(.search-discover__tile):not(.its-article-card__btn):not(.ps-tab):not(.its-people-card__name):not(.its-people-card__media):not(.bp-source-cta-btn):not(.rzu-btn):not(.rzu-cta-link):not(.its-claim-btn):not(.its-profils-nav-link):not(.its-eff-chip):not(.its-pcorr-btn):not(.its-agent-invite):not(.its-eff-invite):not(.its-doi-btn):visited { color: inherit; font-weight: inherit; text-decoration: none; }
.its-v2 a[class]:not(.nav-int-item):not(.its-link):not(.annonce-card):not(.archive-card):not(.its-pw-cta):not(.its-btn-cta):not(.if-dd-opt):not(.if-dd-opt--locked):not(.match-score-link):not(.article-cat-badge):not(.search-tabs__tab):not(.search-discover__tile):not(.its-article-card__btn):not(.ps-tab):not(.its-people-card__name):not(.its-people-card__media):not(.bp-source-cta-btn):not(.rzu-btn):not(.rzu-cta-link):not(.its-claim-btn):not(.its-profils-nav-link):not(.its-eff-chip):not(.its-pcorr-btn):not(.its-agent-invite):not(.its-eff-invite):not(.its-doi-btn):hover { color: inherit; text-decoration: none; }

/* Titres du scope : hérite de ce qu'on définit dans les classes */
.its-v2 h1[class]:not(.section-title):not(.section-title-sm):not(.comp-name):not(.article-title),
.its-v2 h2[class]:not(.section-title):not(.section-title-sm),
.its-v2 h3[class]:not(.section-title):not(.section-title-sm),
.its-v2 h4[class]:not(.section-title-sm), .its-v2 h5[class]:not(.section-title-sm), .its-v2 h6[class]:not(.section-title-sm) {
  font-family: 'Noto Sans', sans-serif; color: inherit; line-height: 1.3;
}

/* Variante section-title pour les pages V2 (home + single-article) :
   centré à 90% sans padding horizontal. Le team/compétition utilise la règle
   canonique pleine largeur (ligne ~126). */
.its-v2 .its-v2 h2.section-title,
.its-v2 .its-v2 .section-title {
  padding:10px 0;
  margin:0 auto 24px;
  width:90%;max-width:90%;
}
/* container défini dans le bloc LAYOUT ci-dessous */

/* ── Utilitaires ───────────────────────────────────────────── */
.its-hidden { display:none !important; }
body.no-scroll { overflow:hidden; }

/* ── Screen-reader only (a11y) ──────────────────────────────── */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* ── Skip link (a11y) ───────────────────────────────────────── */
.skip-link{position:absolute;top:-100%;left:16px;background:var(--teal);color:#fff;padding:10px 20px;font-size:13px;font-weight:700;z-index:9999;text-decoration:underline;transition:top .15s;}
.skip-link:focus{top:8px;}

/* ── Focus visible (a11y) ───────────────────────────────────── */
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--g-bright);outline-offset:2px;}


/* ── Site header ─────────────────────────────────────────────── */
.site-header{
  background:var(--teal);color:#fff;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 24px;height:56px;z-index:200;
}
.site-logo{font-size:16px;font-weight:900;letter-spacing:.5px;color:#fff;}
.header-nav{display:flex;align-items:center;gap:20px;font-size:12px;font-weight:700;}
.header-nav a{color:rgba(242,229,210,.78);transition:color .15s,box-shadow .15s;text-decoration:none;}
.header-nav a:hover{color:var(--vanilla);text-decoration:none;box-shadow:inset 0 -2px 0 var(--g-bright);}
.header-nav a.active{color:var(--vanilla);box-shadow:inset 0 -2px 0 var(--g-bright);}
/* Définition canonique de .nav-dropdown* ci-dessous (bloc unique). */
.nav-index-link{opacity:.5;font-size:10px!important;}
.nav-index-link:hover{opacity:1;}

/* ── Section / titles : label minimal + hairline rule ──── */
h2.section-title,.section-title{
  font-size:13px;font-weight:800;letter-spacing:1.8px;text-transform:uppercase;
  color:var(--teal);background:var(--vanilla);
  padding:10px 14px;margin:0 0 24px;
  display:flex;align-items:center;gap:16px;
  border:none;
  width:100%;max-width:none;box-sizing:border-box;
  font-family:var(--sans);
  line-height:1;
  overflow:hidden;
}
h2.section-title::before,.section-title::before{display:none;}
h2.section-title::after,.section-title::after{
  content:'';flex:1;height:1px;
  background:rgba(28,61,52,.2);
  order:1;
}
.section-title-hint{
  font-size:10px;font-weight:600;letter-spacing:1px;
  text-transform:uppercase;white-space:nowrap;
  color:var(--muted);
  font-family:var(--sans);
  margin-left:0;
  order:2;
}
.section-title a:not(.its-btn-cta){
  color:var(--teal);font-size:11px;font-weight:700;
  text-decoration:none;
  text-transform:uppercase;letter-spacing:1px;
  transition:color .15s;
  font-family:var(--sans);
  margin-left:0;
  order:2;
}
.section-title a:not(.its-btn-cta):hover{color:var(--teal);text-decoration:underline;}


/* ── Ad slots ────────────────────────────────────────────────── */
/* Styles canoniques = its-ads-front.css (charge par le plugin its-rugby-ads).
   On garde ici uniquement les hooks max-width (au cas ou le CSS plugin manquerait)
   et le styling .its-zn-tag pour preview admin. Les regles de centrage sont desormais
   dans its-ads-front.css (display:block + margin:auto + text-align:center). */
.its-zn{position:relative;display:block;margin:16px auto;text-align:center;overflow:hidden;background:#f7f7f7;border:1px solid rgba(0,0,0,.06);}
.its-ad-leaderboard{max-width:728px;}
.its-ad-rectangle-300x250{max-width:300px;}
.its-zn-link{display:block;margin:0 auto;line-height:0;text-decoration:none;}
.its-zn img{display:block;margin:0 auto;max-width:100%;height:auto;}
.its-zn-tag{position:absolute;bottom:6px;right:6px;z-index:3;font-size:10px;line-height:1.3;letter-spacing:.2px;background:rgba(0,0,0,.6);color:#fff;padding:3px 8px;border-radius:2px;pointer-events:none;}


/* ── Footer ──────────────────────────────────────────────────── */
/* DA : mêmes patterns que header — teal/vanilla, hover box-shadow inset
   --g-bright, section-title typography pour les col-titles. */
.site-footer{background:var(--teal);color:var(--vanilla);padding:56px 24px 28px;margin-top:48px;font-family:var(--sans);}
.footer-inner{max-width:1280px;margin:0 auto;}

.footer-grid{
  display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr 1fr;gap:28px;
  padding-bottom:40px;
  border-bottom:1px solid rgba(242,229,210,.18);
}

.footer-brand{display:flex;flex-direction:column;gap:12px;align-items:flex-start;}
.footer-brand-link{line-height:0;display:inline-block;}
.footer-brand-link img{width:64px;height:64px;display:block;}
.footer-brand-name{
  font-size:13px;font-weight:800;letter-spacing:1.8px;text-transform:uppercase;
  color:var(--vanilla);font-family:var(--sans);line-height:1;
}
.footer-baseline{
  font-size:12px;line-height:1.45;color:rgba(242,229,210,.7);
  max-width:280px;
}
.footer-cta{
  /* Calé sur .header-cta-signup pour cohérence DA */
  display:inline-flex;align-items:center;gap:6px;
  padding:7px 14px;margin-top:6px;
  background:var(--g-bright);color:var(--teal-dk) !important;
  font-size:11px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;
  text-decoration:none !important;border:none;
  box-shadow:0 1px 3px rgba(0,0,0,.15);
  transition:background .15s,box-shadow .15s;
}
.footer-cta:hover{background:#A8E082;color:var(--teal-dk) !important;box-shadow:0 2px 6px rgba(0,0,0,.2);}

.footer-social{
  list-style:none;padding:0;margin:8px 0 0;
  display:flex;gap:8px;
}
.footer-social li{margin:0;}
.footer-social-link{
  /* Mêmes valeurs que .social-btn (border, bg, color), adapté icon-only */
  display:inline-flex;align-items:center;justify-content:center;
  width:32px;height:32px;
  border:1px solid rgba(242,229,210,.2);
  background:rgba(242,229,210,.06);
  color:rgba(242,229,210,.75) !important;text-decoration:none !important;
  transition:border-color .15s,color .15s,background .15s;
}
.footer-social-link:hover{
  border-color:var(--g-bright);
  background:rgba(242,229,210,.12);
  color:var(--vanilla) !important;
}
.footer-social-link svg{display:block;}
.footer-social-label{
  position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);
}

/* Badge App Store OFFICIEL Apple (asset non modifié) — masqué dans la webview
   native (html.is-app), l'user y est déjà. On ne style que la taille + l'espace. */
.footer-app{margin-top:14px;}
.footer-app-title{
  display:block;
  font-size:11px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;
  color:rgba(242,229,210,.55);font-family:var(--sans);
  /* ≥ 1/4 hauteur badge (40px) = 10px de dégagement Apple, aucune typo dedans */
  margin:0 0 12px;
}
.footer-app-badge{
  display:inline-block;line-height:0;
  text-decoration:none !important;
  /* Pas de hover/animation sur le badge (guideline Apple « Don't animate »). */
}
.footer-app-badge:focus-visible{outline:2px solid var(--g-bright);outline-offset:3px;}
.footer-app-badge img{height:40px;width:auto;display:block;}
html.is-app .footer-app{display:none;}

.footer-col{display:flex;flex-direction:column;gap:0;}
.footer-col-title{
  /* Mêmes proportions que .section-title : 13px / 800 / 1.8px letter-spacing */
  display:flex;align-items:center;gap:12px;
  font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:1.8px;
  color:var(--vanilla);font-family:var(--sans);line-height:1;
  margin:0 0 16px;padding:10px 0 0;
}
.footer-col-title::after{
  content:'';flex:1;height:1px;background:rgba(242,229,210,.2);
}
.footer-link{
  /* Calé sur .header-nav a : hover = box-shadow inset green */
  display:inline-block;align-self:flex-start;padding:6px 0;
  font-size:13px;font-weight:600;line-height:1.35;
  color:rgba(242,229,210,.78) !important;text-decoration:none !important;
  transition:color .15s,box-shadow .15s;
}
.footer-link:hover,
.footer-link:focus-visible{
  color:var(--vanilla) !important;
  box-shadow:inset 0 -2px 0 var(--g-bright);
}

.footer-sub{
  display:flex;flex-direction:column;gap:10px;align-items:center;
  padding-top:24px;text-align:center;
}
.footer-legal{
  list-style:none;padding:0;margin:0;
  display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;
}
.footer-legal li{margin:0;}
.footer-legal-link{
  font-size:12px;color:rgba(242,229,210,.65) !important;text-decoration:none !important;
  transition:color .15s,box-shadow .15s;
}
.footer-legal-link:hover{color:var(--vanilla) !important;box-shadow:inset 0 -2px 0 var(--g-bright);}
/* Bouton "Gérer mes cookies" : look identique aux liens footer */
button.footer-legal-link{
  background:none;border:0;padding:0;margin:0;cursor:pointer;font:inherit;line-height:inherit;
}
button.footer-legal-link:focus-visible{outline:2px solid var(--g-bright);outline-offset:2px;border-radius:2px;}
.footer-copy{
  font-size:11px;color:rgba(242,229,210,.55);letter-spacing:.02em;
}
.footer-copy strong{color:rgba(242,229,210,.8);font-weight:700;}

@media(max-width:880px){
  .footer-grid{grid-template-columns:1fr 1fr;gap:32px;}
}
@media(max-width:680px){
  .site-footer{padding:36px 16px 20px;}
  /* Pas de gap : la séparation se fait via border-top sur chaque col */
  .footer-grid{grid-template-columns:1fr;gap:0;padding-bottom:24px;}
  .footer-baseline{max-width:100%;}
  .footer-legal{gap:4px 12px;}

  /* Brand : centré + pas de séparateur (1re section) */
  .footer-brand{align-items:center;text-align:center;padding-bottom:24px;}

  /* Colonnes centrées en grid 2-cols (titre en pleine largeur), séparateur fin */
  .footer-col{
    display:grid;
    grid-template-columns:1fr 1fr;
    column-gap:16px;row-gap:0;
    justify-items:center;align-items:start;
    text-align:center;
    padding:22px 0 10px;
    border-top:1px solid rgba(242,229,210,.1);
  }
  .footer-col-title{
    grid-column:1 / -1; /* titre = full row */
    position:relative;justify-content:center;
    margin:0 0 14px;padding:0 0 8px;
    font-size:12px;letter-spacing:1.6px;
  }
  /* Accent vert centré sous chaque titre (remplace la barre déco desktop) */
  .footer-col-title::after{
    content:'';position:absolute;left:50%;bottom:0;
    transform:translateX(-50%);
    width:24px;height:2px;flex:none;
    background:var(--g-bright);
  }
  .footer-link{
    align-self:auto;padding:6px 0;font-size:13px;line-height:1.3;
    color:rgba(242,229,210,.85) !important;
  }
  .footer-social{justify-content:center;}
}

/* ── Habillage demo ──────────────────────────────────────────── */
body.its-demo-habillage{background:#050510 url('../../assets/display 7195x4003.webp') top center / cover no-repeat fixed!important;padding-bottom:90px;}
.its-hab-demo-wing{position:fixed;z-index:5;cursor:pointer;display:none;overflow:hidden;}
body.its-demo-habillage .its-hab-demo-wing{display:flex;align-items:center;justify-content:center;}
.its-hab-demo-wing--left{left:0;top:380px;height:calc(100% - 470px);width:calc((100vw - 90%) / 2);background:linear-gradient(180deg,rgba(227,100,20,.05) 0%,rgba(227,100,20,.12) 50%,rgba(227,100,20,.05) 100%);border-right:2px solid rgba(227,100,20,.25);}
.its-hab-demo-wing--right{right:0;top:380px;height:calc(100% - 470px);width:calc((100vw - 90%) / 2);background:linear-gradient(180deg,rgba(227,100,20,.05) 0%,rgba(227,100,20,.12) 50%,rgba(227,100,20,.05) 100%);border-left:2px solid rgba(227,100,20,.25);}
.its-hab-demo-wing span{writing-mode:vertical-rl;text-orientation:mixed;font-size:13px;font-weight:900;letter-spacing:4px;text-transform:uppercase;color:rgba(227,100,20,.45);font-family:var(--sans);}
.its-hab-demo-bottom{position:fixed;bottom:0;left:0;width:100%;height:90px;z-index:5;cursor:pointer;display:none;background:linear-gradient(90deg,#1a0800 0%,#2d1005 30%,#2d1005 70%,#1a0800 100%);border-top:2px solid rgba(227,100,20,.35);align-items:center;justify-content:center;gap:20px;}
body.its-demo-habillage .its-hab-demo-bottom{display:flex;}
.its-hab-demo-bottom-logo{font-size:28px;font-weight:900;color:#0066FF;font-family:var(--sans);letter-spacing:3px;opacity:.8;}
.its-hab-demo-bottom-cta{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:#fff;background:rgba(227,100,20,.15);border:1px solid rgba(227,100,20,.4);padding:8px 20px;opacity:.8;}
.its-hab-demo-label{position:fixed;bottom:94px;right:8px;font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:rgba(255,255,255,.5);background:rgba(0,0,0,.4);padding:2px 6px;z-index:6;pointer-events:none;display:none;}
body.its-demo-habillage .its-hab-demo-label{display:block;}
body.its-demo-habillage .its-zn{display:none!important;}
.its-hab-toggle{position:fixed;bottom:70px;left:24px;z-index:999;background:var(--teal);color:#fff;padding:8px 14px;font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.25);font-family:var(--sans);border:none;}
@media(max-width:1200px){.its-hab-toggle{display:none;}.its-hab-demo-bottom{display:none!important;}}

/* ── Responsive ──────────────────────────────────────────────── */
@media(max-width:680px){
  /* Clamp horizontal + garde anti-débordement en mobile. On cible le padding
     gauche/droite UNIQUEMENT (pas le vertical, qui collait le contenu au bas des
     hero full-bleed). Spécificité `body .container` (0,1,1) plutôt que
     `!important` : bat la règle de base `.container` (0,1,0) définie plus bas
     dans le fichier, sans forcer. */
  body .container,body .article-hero-content{padding-left:14px;padding-right:14px;max-width:100%;overflow-x:hidden;}
  h2.section-title,.section-title{font-size:12px;letter-spacing:1.5px;margin:0 0 16px;gap:12px;}
  .section{padding:20px 0;}
  .section-title-sm{font-size:10px;letter-spacing:1.2px;}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}
}


/* ══════════════════════════════════════════════════════════════
   PART 2 — ENTITY SHARED CSS
   Shared between player, match, team, competition, arbitre, staff
   (hero, breadcrumb, badges, chips, nav interne, tabs, filters,
   tables, match history, paywall, KPIs, ads, habillage, etc.)
   ══════════════════════════════════════════════════════════════ */

/* ════════════════════════════════════════════════════════════════
   IT'S RUGBY — CSS COMMUN V2
   Partagé entre player, match, team, competition
   ════════════════════════════════════════════════════════════════ */

/* ── VARIABLES & RESET ──────────────────────────────────────── */
* { box-sizing:border-box; margin:0; padding:0; border-radius:0 !important; }
:root {
  --teal:#1C3D34; --teal-dk:#172713; --vanilla:#F2E5D2; --vanilla-d:#E8D8C0;
  --sage:#ABC8A2; --sage-lt:#D7EAE2; --ink:#1A1A1A; --border:#C4C4C4;
  --muted:#6B6B6B; --white:#ffffff; --red:#C0392B; --red-lt:#FDECEA;
  --yellow:#C47D08; --blue:#1A3A8F; --g-bright:#8ED968;
  --sans:'Noto Sans',sans-serif; --serif:'Noto Sans',sans-serif;
}
html { font-size:15px; scroll-behavior:smooth; }
body { font-family:var(--sans); background:var(--vanilla); color:var(--teal); line-height:1.55; }
a { color:inherit; text-decoration:none; }
button { font-family:var(--sans); cursor:pointer; border:none; background:none; }

/* ── Screen-reader only (a11y) ──────────────────────────────── */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* ── Skip link (a11y) ───────────────────────────────────────── */
.skip-link{position:absolute;top:-100%;left:16px;background:var(--teal);color:var(--vanilla);padding:10px 20px;font-size:13px;font-weight:700;z-index:9999;text-decoration:underline;transition:top .15s;}
.skip-link:focus{top:8px;}

/* ── Site Header & Nav ──────────────────────────────────── */
.site-header{background:var(--teal);color:var(--vanilla);display:flex;align-items:center;padding:0 24px;height:56px;z-index:200;}
.site-logo{font-size:16px;font-weight:900;letter-spacing:.5px;color:var(--vanilla);}
.header-nav{display:flex;align-items:center;gap:18px;margin-left:auto;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;}
.header-nav a{color:rgba(242,229,210,.75);transition:color .15s;}
.header-nav a:hover{color:var(--vanilla);}
/* CTA Inscription / Connexion (header) */
.header-cta-signup{display:inline-flex;align-items:center;padding:7px 14px;background:var(--g-bright);color:var(--teal-dk) !important;font-weight:800;font-size:11px;letter-spacing:.5px;text-transform:uppercase;border:none;text-decoration:none !important;transition:background .15s,box-shadow .15s;box-shadow:0 1px 3px rgba(0,0,0,.15);}
.header-cta-signup:hover{background:#A8E082;box-shadow:0 2px 6px rgba(0,0,0,.25);color:var(--teal-dk) !important;}
.header-cta-login{display:inline-flex;align-items:center;padding:6px 12px;background:transparent;color:var(--vanilla) !important;font-weight:700;font-size:11px;letter-spacing:.5px;text-transform:uppercase;border:1px solid rgba(242,229,210,.4);text-decoration:none !important;transition:background .15s,border-color .15s;}
.header-cta-login:hover{background:rgba(242,229,210,.08);border-color:var(--vanilla);color:var(--vanilla) !important;}
/* ── Dropdown nav ───────────────────────────────────────── */
.nav-dropdown{position:relative;display:inline-flex;align-items:center;align-self:stretch;}
.nav-dropdown-trigger{display:flex;align-items:center;gap:3px;}
.nav-arrow{font-size:8px;opacity:.6;transition:transform .2s;}
.nav-dropdown:hover .nav-arrow,.nav-dropdown.is-open .nav-arrow{transform:rotate(180deg);opacity:1;}
.nav-dropdown::after{content:'';position:absolute;top:100%;left:0;width:100%;height:10px;}
.nav-dropdown-menu{
  display:none;position:absolute;top:100%;left:0;min-width:200px;
  background:var(--teal-dk);border-top:2px solid var(--g-bright);
  padding:6px 0;z-index:300;box-shadow:0 8px 24px rgba(0,0,0,.3);
}
.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown.is-open .nav-dropdown-menu{display:block;}
.nav-dropdown-menu a{
  display:block;padding:8px 16px;font-size:11px;font-weight:600;
  color:rgba(242,229,210,.7);transition:all .15s;white-space:nowrap;
}
.nav-dropdown-menu a:hover{background:rgba(255,255,255,.08);color:var(--vanilla);}
.nav-dropdown-sep{display:block;padding:6px 14px 3px;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:rgba(242,229,210,.35);border-top:1px solid rgba(255,255,255,.1);margin-top:4px;}
/* Dropdown utilisateur — scroll si la liste des espaces dépasse la viewport (cas admin = 8 espaces) */
.nav-dropdown--user .nav-dropdown-menu{
  left:auto;right:0;min-width:240px;
  max-height:calc(100vh - 80px);
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:rgba(242,229,210,.3) transparent;
}
.nav-dropdown--user .nav-dropdown-menu::-webkit-scrollbar{width:6px;}
.nav-dropdown--user .nav-dropdown-menu::-webkit-scrollbar-thumb{background:rgba(242,229,210,.25);border-radius:3px;}
.nav-dropdown--user .nav-dropdown-menu::-webkit-scrollbar-thumb:hover{background:rgba(242,229,210,.45);}
/* Séparateur d'espace : sticky pour rester visible pendant le scroll */
.nav-dropdown--user .nav-dropdown-sep{
  position:sticky;top:0;z-index:1;
  background:var(--teal-dk);
  margin-top:0;
}
.nav-dropdown--user .nav-dropdown-sep + a{margin-top:0;}
/* Dropdown CTA "Devenir membre" — wrapper qui garde le look bouton */
.nav-dropdown--cta .nav-arrow{font-size:8px;color:var(--teal-dk);opacity:.85;}
.nav-dropdown--cta:hover .nav-arrow,.nav-dropdown--cta.is-open .nav-arrow{opacity:1;}
.nav-dropdown--cta .nav-dropdown-menu{left:auto;right:0;min-width:240px;}
.nav-dropdown-tag{display:inline-block;margin-left:6px;padding:1px 6px;font-size:9px;font-style:normal;font-weight:800;background:var(--g-bright);color:var(--teal-dk);letter-spacing:.04em;}
/* Pages statiques (page.php) — classes qui remplacent les anciens inline styles */
.its-page-container{padding:40px 0;}
.its-page-article{max-width:720px;margin:0 auto;}
.its-page-title{font-size:clamp(24px,3vw,36px);font-weight:900;color:var(--teal);margin-bottom:24px;}
/* Variante full-width pour les landings — spécificité bumpée pour battre .article-body */
body.page .article-body.article-body--fullwidth,
main .article-body.article-body--fullwidth{max-width:none;width:100%;margin:0;padding:0;}
.nav-index-link{opacity:.5;font-size:10px!important;}
.nav-index-link:hover{opacity:1;}

/* Hamburger site : masqué en desktop */
.site-hamburger{display:none;}

/* ── Header mobile ───────────────────────────────────────
   Breakpoint hamburger aligné sur la disparition des navs (≤880px). */
@media(max-width:880px){
  .site-hamburger{
    display:flex;flex-direction:column;justify-content:center;gap:4px;
    width:28px;height:28px;cursor:pointer;
    background:none;border:none;padding:4px;flex:0 0 auto;
  }
  .site-hamburger span{
    display:block;width:100%;height:2px;background:var(--vanilla);
    transition:transform .2s,opacity .2s;transform-origin:center;
  }
  .site-hamburger.open span:nth-child(1){transform:translateY(6px) rotate(45deg);}
  .site-hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0);}
  .site-hamburger.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
}

/* ── Header v1 (.site-header sans variantes) ────────────── */
@media(max-width:680px){
  .site-header{padding:0 16px;flex-wrap:wrap;height:auto;min-height:50px;}
  .site-hamburger{margin-left:auto;}
  .header-nav{
    display:none !important;flex-direction:column;align-items:stretch;
    width:100%;gap:0;margin-left:0;padding:8px 0;
    border-top:1px solid rgba(242,229,210,.15);
  }
  .header-nav.open{display:flex !important;}
  .header-nav a{padding:10px 0;font-size:12px;border-bottom:1px solid rgba(242,229,210,.08);}
  .header-nav a:last-child{border-bottom:none;}
  .nav-dropdown{flex-direction:column;align-self:stretch;}
  .nav-dropdown::after{display:none;}
  .nav-dropdown-trigger{padding:10px 0;font-size:12px;border-bottom:1px solid rgba(242,229,210,.08);}
  .nav-dropdown-menu{
    display:none !important;position:static;box-shadow:none;border-top:none;
    padding:0 0 0 16px;background:transparent;
  }
  .nav-dropdown.open .nav-dropdown-menu{display:block !important;}
  .nav-dropdown:hover .nav-dropdown-menu{display:none !important;}
  .nav-dropdown-menu a{padding:8px 0;font-size:11px;}
}

/* ── Focus visible (a11y) ───────────────────────────────────── */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--g-bright);outline-offset:2px;}

@keyframes blink { 0%,100%{opacity:1} 50%{opacity:.2} }

/* ── LAYOUT ─────────────────────────────────────────────────── */
.container { max-width:1200px; margin:0 auto; padding:0 24px; }
.container--page-body { padding-top:24px; padding-bottom:48px; }
.section { padding:28px 0; overflow:visible; }
/* (override layout : la canonique moderne est définie ligne ~109) */
.section-title--between { justify-content:space-between; }
.section-title-sm{
  font-size:11px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--teal);background:var(--vanilla);
  padding:8px 12px;margin:20px 0 12px;
  display:flex;align-items:center;gap:12px;
  border:none;
  font-family:var(--sans);
  line-height:1;
}
.section-title-sm::before{display:none;}
.section-title-sm::after{
  content:'';flex:1;height:1px;
  background:rgba(28,61,52,.18);
}
.mt-24 { margin-top:24px; }
.two-col { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}
}

@media(max-width:680px){ .two-col { grid-template-columns:1fr; } }

/* ── Claim CTA (dans le hero) ─────────────────────────────── */
.its-claim-link { display:inline-flex; align-items:center; gap:4px; font-size:10px; color:rgba(242,229,210,.7); text-decoration:none; letter-spacing:.3px; margin-top:2px; transition:color .15s; }
.its-claim-link:hover { color:rgba(242,229,210,.7); }
.its-claim-link svg { opacity:.5; }
.its-claim-link:hover svg { opacity:.8; }
.its-compare-btn { display:inline-flex; align-items:center; gap:5px; font-size:9px; font-weight:800; color:var(--teal); background:var(--g-bright); border:none; padding:5px 12px; cursor:pointer; text-decoration:none; transition:all .15s; font-family:var(--sans); letter-spacing:.5px; text-transform:uppercase; align-self:flex-start; }
.its-compare-btn:hover { background:#7BC85A; }
.its-compare-btn svg { opacity:.8; }
.its-compare-btn:hover svg { opacity:1; }

/* ── HERO COMMUN ───────────────────────────────────────────── */
.comp-hero { background:var(--teal); color:var(--vanilla); }
.comp-hero-inner { display:grid; grid-template-columns:360px 1fr; max-width:1200px; margin:0 auto; padding:0 24px; min-height:404px; }
.comp-photo { overflow:hidden; position:relative; display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,.08); height:404px; }
.comp-photo img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 40%; }
.comp-photo img:not([src]),.comp-photo img[src=""] { display:none; }
.comp-photo-gradient { display:none; }
.comp-photo-ini { font-family:var(--sans); font-size:80px; font-weight:900; color:rgba(171,200,162,.2); }
.comp-photo-credit { position:absolute; bottom:6px; right:6px; z-index:3; display:flex; flex-wrap:wrap; gap:4px; align-items:center; font-size:10px; line-height:1.3; letter-spacing:.2px; background:rgba(0,0,0,.6); color:#fff; padding:3px 8px; border-radius:2px; max-width:calc(100% - 12px); }
.comp-photo-credit a { color:#fff; text-decoration:underline; }
.comp-photo-credit a:hover { opacity:.85; }
.comp-photo-credit .cpc-by { font-weight:600; }
.comp-info-col { padding:28px 32px; display:flex; flex-direction:column; justify-content:center; gap:10px; }
.comp-headline { display:flex; flex-direction:column; gap:6px; }
.comp-name { font-family:var(--sans); font-size:clamp(28px,3.5vw,48px); font-weight:900; line-height:1; display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.comp-meta { font-size:13px; color:var(--vanilla); font-weight:600; letter-spacing:.3px; }
.comp-dob { font-size:11px; color:rgba(242,229,210,.7); margin-top:4px; }
.comp-desc { font-size:12px; color:var(--vanilla); line-height:1.65; margin-top:10px; }
.comp-hero-footer { margin-top:16px; padding-top:0; }
@media(max-width:900px){
  .comp-hero-inner { grid-template-columns:240px 1fr; }
}
@media(max-width:680px){
  .comp-hero-inner { grid-template-columns:1fr; }
  .comp-photo { width:180px; height:220px; margin:20px auto 0; }
  .comp-photo img { object-position:center 20%; }
  .comp-photo-ini { font-size:56px; }
  .comp-name { font-size:clamp(22px,3.5vw,36px); justify-content:center; }
  .comp-name-row { justify-content:center; }
  .comp-info-col { text-align:center; align-items:center; }
  .comp-chips { justify-content:center; }
  .team-social { justify-content:center; }
  .team-info-grid { text-align:left; }
}
@media(max-width:480px){
  .comp-name { font-size:24px; }
  .comp-meta { font-size:11px; }
  .comp-info-col { padding:20px 16px; }
}

/* ── BREADCRUMB ────────────────────────────────────────────── */
.breadcrumb { background:var(--teal); padding:8px 0; }
.breadcrumb .container { display:flex; align-items:center; gap:8px; font-size:11px; color:rgba(242,229,210,.85); }
.breadcrumb a { color:rgba(242,229,210,.75); }
.breadcrumb a:hover { color:var(--vanilla); text-decoration:underline; }
.breadcrumb span { color:rgba(242,229,210,.75); }
.breadcrumb [aria-current="page"] { color:rgba(242,229,210,.95); }

/* ── BADGES & CHIPS (hero + sections) ──────────────────────── */

/* Paywall badges (sections) */
.free-badge { font-size:9px; font-weight:800; letter-spacing:1px; text-transform:uppercase; padding:2px 7px; border:1px solid var(--g-bright); color:var(--g-bright); }
.partial-badge { font-size:9px; font-weight:800; letter-spacing:1px; text-transform:uppercase; padding:2px 7px; border:1px solid var(--g-bright); color:var(--g-bright); }

/* tbadge — hero name badges (partner, managed, verified, team) */
.tbadge { display:inline-block; font-size:9px; font-weight:800; letter-spacing:1px; text-transform:uppercase; padding:2px 7px; }
.tbadge.badge-partner { background:var(--g-bright); color:var(--teal-dk); }
.tbadge.badge-managed { background:var(--g-bright); color:var(--teal-dk); }
.tbadge.badge-verified { background:none; padding:0; }
/* tbadge variantes border (team hero) */
.tbadge-gold { border:1px solid var(--yellow); color:var(--yellow); }
.tbadge-green { border:1px solid var(--g-bright); color:var(--g-bright); }
.tbadge-sage { border:1px solid var(--sage); color:var(--sage); }

/* Verified badge — tooltip on hover */
.verified-badge { position:relative; cursor:default; }
.verified-badge[title]:hover::after { content:attr(title); position:absolute; top:calc(100% + 6px); left:50%; transform:translateX(-50%); background:var(--ink); color:var(--vanilla); font-size:10px; font-weight:600; letter-spacing:.3px; text-transform:none; padding:5px 10px; white-space:nowrap; z-index:100; pointer-events:none; }
.verified-badge[title]:hover::before { content:''; position:absolute; top:calc(100% + 2px); left:50%; transform:translateX(-50%); border:4px solid transparent; border-bottom-color:var(--teal); z-index:100; }

/* Status chips (player/staff/arbitre hero) */
.status-chip { display:inline-flex; align-items:baseline; gap:5px; padding:3px 10px; background:rgba(0,0,0,.15); border-radius:4px; border:1px solid rgba(255,255,255,.08); line-height:1.4; }
.status-chip-label { font-size:10px; font-weight:600; letter-spacing:.5px; text-transform:uppercase; color:rgba(242,229,210,.7); }
.status-chip-value { font-size:13px; font-weight:600; color:rgba(242,229,210,.85); }
/* Blessure : petit chip discret + popup hover */
.status-chip.injured { background:rgba(180,60,40,.2); border-color:rgba(255,140,120,.25); position:relative; cursor:pointer; width:auto; }
.status-chip.injured .status-chip-label { color:rgba(255,140,120,.7); }
.status-chip.injured .status-chip-value { color:rgba(255,170,150,.9); font-size:11px; }
.status-chip-detail { display:none; }
.injury-tooltip { display:none; position:absolute; bottom:calc(100% + 8px); left:50%; transform:translateX(-50%); background:#1a1a1a; border:1px solid rgba(255,140,120,.3); border-radius:6px; padding:10px 14px; min-width:240px; z-index:50; box-shadow:0 4px 16px rgba(0,0,0,.4); pointer-events:none; }
.injury-tooltip::after { content:''; position:absolute; top:100%; left:50%; transform:translateX(-50%); border:6px solid transparent; border-top-color:#1a1a1a; }
.injury-tooltip-title { font-size:11px; font-weight:700; color:rgba(255,140,120,.9); text-transform:uppercase; letter-spacing:.5px; margin-bottom:4px; }
.injury-tooltip-dates { font-size:12px; color:rgba(242,229,210,.8); line-height:1.5; }
.injury-tooltip-detail { font-size:11px; color:rgba(242,229,210,.5); margin-top:4px; }
.status-chip.injured:hover .injury-tooltip { display:block; }

/* Chips generiques (tous templates : player, team, arbitre, competition...) */
.comp-chips { display:flex; gap:6px; flex-wrap:wrap; margin-top:6px; align-items:flex-start; }
.comp-chip { font-size:10px; font-weight:600; padding:3px 10px; border:1px solid rgba(255,255,255,.15); color:rgba(242,229,210,.5); }
.comp-chip a, .comp-chip a:hover, .comp-chip a:visited { color:inherit; text-decoration:none; }
/* Sous-classes team — overrides sur comp-chip */
.comp-chip.chip-nick, .comp-chip.chip-gen, .comp-chip.chip-cat, .comp-chip.chip-trend { font-size:9px; font-weight:800; letter-spacing:1px; text-transform:uppercase; }
.comp-chip.chip-nick { background:rgba(255,255,255,.12); color:var(--vanilla); }
.comp-chip.chip-gen { background:rgba(255,255,255,.08); color:rgba(242,229,210,.7); border-color:rgba(255,255,255,.15); }
.comp-chip.chip-cat { background:rgba(196,125,8,.15); color:var(--yellow); border-color:rgba(196,125,8,.3); }
.comp-chip.chip-trend { display:inline-flex; align-items:center; gap:3px; padding:4px 10px; background:rgba(255,255,255,.08); }
.chip-trend-lbl { font-size:8px; font-weight:800; letter-spacing:1px; text-transform:uppercase; color:rgba(242,229,210,.7); margin-right:4px; }
.comp-badge { font-size:9px; font-weight:800; letter-spacing:1.5px; text-transform:uppercase; padding:2px 8px; border:1px solid rgba(255,255,255,.3); color:rgba(242,229,210,.6); }
.comp-badge.live { background:var(--red); border-color:var(--red); color:var(--vanilla); animation:blink 1.5s infinite; }

/* Comp name flex (staff, arbitre, officiel, bar, president) */
.comp-name-flex { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }

/* Social buttons (hero social links) */
.team-social { display:flex; gap:8px; flex-wrap:wrap; margin-top:12px; }
.social-btn { display:inline-flex; align-items:center; gap:6px; font-size:10px; font-weight:700; padding:5px 10px; border:1px solid rgba(255,255,255,.2); color:rgba(242,229,210,.75); background:rgba(255,255,255,.06); transition:all .15s; letter-spacing:.5px; cursor:pointer; text-decoration:none; }
.social-btn:hover { border-color:var(--g-bright); color:var(--vanilla); background:rgba(255,255,255,.12); }
.social-btn::before { content:''; display:inline-block; width:14px; height:14px; background-size:contain; background-repeat:no-repeat; background-position:center; flex-shrink:0; }
.social-btn[data-platform="twitter"]::before { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23F2E5D2'%3E%3Cpath d='M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z'/%3E%3C/svg%3E"); }
.social-btn[data-platform="instagram"]::before { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F2E5D2' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='2' width='20' height='20' rx='5' ry='5'/%3E%3Ccircle cx='12' cy='12' r='5'/%3E%3Ccircle cx='17.5' cy='6.5' r='1.5'/%3E%3C/svg%3E"); }
.social-btn[data-platform="facebook"]::before { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23F2E5D2'%3E%3Cpath d='M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z'/%3E%3C/svg%3E"); }
.social-btn[data-platform="youtube"]::before { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23F2E5D2'%3E%3Cpath d='M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z'/%3E%3C/svg%3E"); }
.social-btn[data-platform="tiktok"]::before { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23F2E5D2'%3E%3Cpath d='M19.59 6.69a4.83 4.83 0 0 1-3.77-4.25V2h-3.45v13.67a2.89 2.89 0 0 1-2.88 2.5 2.89 2.89 0 0 1-2.89-2.89 2.89 2.89 0 0 1 2.89-2.89c.28 0 .54.04.79.1v-3.5a6.37 6.37 0 0 0-.79-.05A6.34 6.34 0 0 0 3.15 15a6.34 6.34 0 0 0 6.34 6.34 6.34 6.34 0 0 0 6.34-6.34V8.1a8.16 8.16 0 0 0 4.76 1.52v-3.4c-.88 0-1.73-.2-2.5-.57a4.86 4.86 0 0 1-1.5-1.04z'/%3E%3C/svg%3E"); }
.social-btn[data-platform="website"]::before,
.social-btn[data-platform="siteweb"]::before { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F2E5D2' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='2' y1='12' x2='22' y2='12'/%3E%3Cpath d='M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z'/%3E%3C/svg%3E"); }
.social-btn[data-platform="linkedin"]::before { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23F2E5D2'%3E%3Cpath d='M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 0 1-2.063-2.065 2.063 2.063 0 1 1 2.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z'/%3E%3C/svg%3E"); }
.social-btn[data-platform="wikipedia"]::before { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23F2E5D2'%3E%3Cpath d='M12.09 13.119c-.936 1.932-2.217 4.548-2.853 5.728-.616 1.074-1.127.931-1.532.029-1.406-3.321-4.293-9.144-5.651-12.409-.251-.601-.441-.987-.619-1.139-.181-.15-.554-.24-1.122-.271C.103 5.033 0 4.982 0 4.898v-.455l.052-.045c.924-.005 5.401 0 5.401 0l.051.045v.434c0 .119-.075.176-.225.176l-.564.031c-.485.029-.727.164-.727.436 0 .135.053.33.166.601 1.082 2.646 4.818 10.521 4.818 10.521l.136.046 2.411-4.81-.482-1.067-1.658-3.264s-.318-.654-.428-.872c-.728-1.443-.712-1.518-1.447-1.617-.207-.023-.313-.05-.313-.149v-.468l.06-.045h4.292l.113.037v.451c0 .105-.076.15-.227.15l-.308.047c-.792.061-.661.381-.136 1.422l1.582 3.252 1.758-3.504c.293-.64.233-.823.111-.94-.07-.06-.351-.144-.62-.176l-.229-.031c-.146 0-.227-.06-.227-.15v-.451l.061-.045c1.247-.008 4.043 0 4.043 0l.059.045v.451c0 .105-.061.15-.218.15-.916.06-1.176.21-1.69.967-.265.371-.547.872-.965 1.681 0 0-1.514 2.876-2.039 3.918-.207.397-.166.521 0 .891.475.997 1.555 3.193 2.146 4.495.117-.219 4.281-9.219 4.281-9.219.474-1.064.327-1.658-.84-1.733-.281-.022-.426-.077-.426-.181v-.451l.063-.045 4.873-.022.052.045v.451c0 .105-.075.15-.226.15-.756.022-1.247.218-1.706.629-.45.422-.937 1.265-1.378 2.123 0 0-3.838 7.927-5.428 11.302-.512.954-.965 1.05-1.563-.066-.66-1.359-1.85-3.875-2.823-5.892l.038-.082z'/%3E%3C/svg%3E"); }

/* Media cards — link + thumbnail */
.mc-link { text-decoration:none; color:inherit; }
.mc-thumb-img { width:100%; height:100%; object-fit:cover; display:block; }

/* ── ANNONCES ──────────────────────────────────────────────── */
.annonces-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); grid-auto-rows:1fr; gap:12px; align-items:stretch; }
/* Annonce cards — même design que archive-card */
.annonces-grid .annonce-card:only-child { grid-column:1 / -1; }
a.annonce-card, div.annonce-card { display:flex; align-items:stretch; gap:16px; background:var(--white); border:1px solid var(--border); padding:20px; text-decoration:none; color:var(--teal); transition:box-shadow .2s ease, border-color .2s ease; height:100%; }
a.annonce-card:hover, div.annonce-card:hover { border-color:var(--teal); box-shadow:0 6px 18px rgba(28,61,52,.1); }
.annonce-card-body { flex:1; min-width:0; display:flex; flex-direction:column; gap:6px; }
.annonce-card-header { display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.annonce-card-date { font-size:11px; color:var(--muted); margin-left:auto; }
.annonce-card-title { font-size:15px; font-weight:800; color:var(--teal); line-height:1.3; }
.annonce-card-excerpt { font-size:12px; color:var(--muted); line-height:1.5; }
.annonce-card-tags { display:flex; flex-wrap:wrap; gap:4px; }
.annonce-card-tag { display:inline-block; font-size:10px; font-weight:700; padding:2px 8px; background:var(--sage-lt); color:var(--teal); }
.annonce-card-footer { margin-top:auto; display:flex; align-items:center; justify-content:flex-end; }
.annonce-card-link { font-size:11px; font-weight:700; color:var(--teal); text-decoration:underline; text-underline-offset:2px; }
.its-badge { display:inline-block; padding:4px 8px; border:1px solid var(--border); background:#f3f3f3; font-weight:800; font-size:11px; vertical-align:middle; }
.its-badge.joueur { background:#e9f8e9; border-color:#9bd59b; color:#1b6b1b; }
.its-badge.staff { background:#e6f0ff; border-color:#9bbde5; color:#1a3a8f; }
.its-badge.club { background:#fff7e6; border-color:#ffd27a; color:#8a5a00; }
.its-badge.bar { background:#fde8e8; border-color:#e5a0a0; color:#8b1a1a; }
.its-badge.une { background:var(--teal); border-color:var(--teal); color:var(--vanilla); }
.its-badge.new { background:var(--g-bright); border-color:var(--g-bright); color:var(--teal); }
.annonce-card--locked { cursor:default; }
.annonce-card--locked:hover { box-shadow:none; }

/* ── BOUTONS ──────────────────────────────────────────────── */
.its-btn-outline { display:inline-flex; align-items:center; justify-content:center; padding:10px 28px; border:1px solid var(--teal); color:var(--teal); background:var(--white); font-size:10px; font-weight:800; letter-spacing:1px; text-transform:uppercase; text-decoration:none; font-family:var(--sans); transition:all .15s; }
.its-btn-outline:hover { background:var(--teal); color:var(--vanilla); }

/* ── PALMARES ──────────────────────────────────────────────── */
.palm-row { display:grid; grid-template-columns:52px 1fr auto; align-items:center; gap:12px; padding:10px 14px; height:52px; background:var(--white); border:1px solid var(--border); border-bottom:none; font-size:13px; transition:background .1s; }
.palm-row:last-child { border-bottom:1px solid var(--border); }
.palm-row:hover { background:var(--sage-lt); }
.palm-row--hidden { display:none; }
.palm-expanded .palm-row--hidden { display:grid; }
.palm-toggle { display:block; width:100%; padding:8px; font-size:10px; font-weight:800; letter-spacing:.8px; text-transform:uppercase; color:var(--teal); background:var(--white); border:1px solid var(--border); border-top:none; cursor:pointer; transition:background .15s; font-family:var(--sans); }
.palm-toggle:hover { background:var(--sage-lt); }
.palm-year { font-weight:900; color:var(--teal); font-size:14px; }
.palm-comp { font-weight:700; color:var(--teal); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.palm-sub { font-size:11px; color:var(--muted); margin-top:2px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.palm-tag { font-size:9px; font-weight:800; letter-spacing:1px; text-transform:uppercase; padding:2px 7px; border:1px solid currentColor; white-space:nowrap; }
.palm-tag.gold { color:var(--yellow); border-color:var(--yellow); }
.palm-tag.mvp { color:var(--g-bright); border-color:var(--g-bright); }
.palm-tag.indiv { color:var(--teal); border-color:var(--teal); }

/* ── NAV INTERNE (sticky tab bar, desktop only) ─────────────
   Source unique : ne pas dupliquer dans les CSS par entité.
   Desktop : barre d'onglets, fond vanilla, soulignement g-bright sur hover/active.
   Mobile (≤768px) : nav-interne masquée (navigation hors-nav uniquement). */
.nav-interne { background:var(--vanilla); border-bottom:1px solid var(--border); overflow-x:visible; position:sticky; top:0; z-index:150; box-shadow:0 2px 8px rgba(0,0,0,.06); transition:box-shadow .2s; }
.nav-interne.is-stuck { box-shadow:0 2px 12px rgba(0,0,0,.10); }
.nav-interne .container { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; }
.nav-int-items { grid-column:2; display:flex; align-items:stretch; }
/* Filtres saison + équipe : sur la même ligne que la nav, en permanence. */
.nav-season-dd { grid-column:3; grid-row:1; justify-self:end; }
.nav-season-dd .if-dd-btn { font-size:11px; padding:4px 10px; }
.nav-season-dd .if-dd-menu { right:0; left:auto; }
.nav-team-dd { grid-column:1; grid-row:1; justify-self:start; }
.nav-int-item { display:inline-flex; align-items:center; padding:0 18px; height:44px; font-size:11px; font-weight:800; letter-spacing:1px; text-transform:uppercase; color:var(--muted); background:transparent; border:none; border-bottom:2px solid transparent; margin-bottom:-1px; white-space:nowrap; cursor:pointer; transition:all .15s; text-decoration:none; font-family:var(--sans); }
.nav-int-item:hover { color:var(--teal); border-bottom-color:var(--g-bright); background:rgba(142,217,104,.06); }
.nav-int-item.active { color:var(--teal); border-bottom-color:var(--g-bright); background:rgba(142,217,104,.06); }

/* Hamburger et nav-interne : masqués sur mobile */
.nav-hamburger { display:none; }
@media(max-width:768px){
  .nav-interne { display:none; }
}

/* ── Pro Mega Panel ────────────────────────────────────────── */
.pro-mega { position:relative; z-index:90; overflow:hidden; max-height:0; opacity:0; transition:max-height .35s ease, opacity .25s ease, margin .25s ease; margin:0; }
.pro-mega.pro-mega--open { max-height:600px; opacity:1; margin:16px 0; }
.pro-mega .container { padding:0; }
.pro-mega-inner { background:var(--white); border:1px solid var(--border); border-left:4px solid var(--g-bright); padding:20px 24px; }
.pro-mega-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }
.pro-mega-head-title { font-size:12px; font-weight:800; letter-spacing:1.5px; text-transform:uppercase; color:var(--teal); display:flex; align-items:center; gap:8px; }
.pro-mega-close { background:none; border:1px solid var(--border); width:28px; height:28px; display:flex; align-items:center; justify-content:center; cursor:pointer; font-size:14px; color:var(--muted); transition:all .15s; }
.pro-mega-close:hover { border-color:var(--teal); color:var(--teal); }
/* Desktop : mega panel visible, section mobile masquée */
.pro-mobile-section { display:none; }
@media(max-width:680px){
  .pro-mega { display:none; }
  .pro-mobile-section { display:block; }
}

/* ── Bouton CTA inline (section-title, annonces) ───────────── */
.its-btn-cta { margin-left:auto; font-size:10px; font-weight:700; padding:4px 12px; background:var(--teal); color:var(--vanilla); text-decoration:none; text-transform:uppercase; letter-spacing:1px; transition:background .15s; }
.its-btn-cta:hover { background:var(--teal-dk); color:var(--vanilla); }

/* ── TABS (ps-tabs) ─────────────────────────────────────────── */
.ps-tabs { display:flex; border:1px solid var(--border); background:var(--white); overflow-x:auto; margin-bottom:0; margin-top:16px; }
.section-title + .ps-tabs { margin-top:24px; }
.ps-tabs::-webkit-scrollbar { display:none; }
.ps-tab { padding:9px 18px; min-height:36px; font-size:12px; font-weight:700; color:var(--muted); background:var(--white); border:none; border-bottom:2px solid transparent; margin-bottom:-1px; white-space:nowrap; flex-shrink:0; cursor:pointer; transition:all .15s; }
.ps-tab.on { color:var(--teal); border-bottom:2px solid var(--g-bright); font-weight:800; }
.ps-tab:hover:not(.on) { color:var(--teal); }
.ps-tab-full { display:inline; }
.ps-tab-short { display:none; }
.ps-tab-lock { font-size:10px; opacity:.65; vertical-align:middle; }
.ps-tab--locked { color:var(--muted); }
.ps-panel { display:none; }
.ps-panel.on { display:block; margin-top:0; }

/* ── INLINE FILTERS ─────────────────────────────────────────── */
.inline-filters { display:flex; align-items:center; gap:8px; flex-wrap:wrap; padding:12px; margin:16px 0; border:1px solid var(--border); background:var(--vanilla); }
.inline-filters-lbl { font-size:10px; font-weight:800; letter-spacing:1.5px; text-transform:uppercase; color:var(--muted); white-space:nowrap; padding-right:8px; }
.filter-reset-btn { margin-left:auto; font-size:10px; font-weight:800; letter-spacing:.8px; text-transform:uppercase; padding:4px 12px; border:1px solid var(--border); color:var(--muted); background:var(--white); cursor:pointer; transition:all .15s; white-space:nowrap; font-family:var(--sans); }
.filter-reset-btn:hover { border-color:var(--teal); color:var(--teal); }
.if-dd-wrap { position:relative; display:inline-block; }
.if-dd-btn { height:32px; padding:0 10px; font-size:11px; font-weight:700; color:var(--vanilla); display:inline-flex; align-items:center; gap:4px; white-space:nowrap; border:1px solid var(--teal); background:var(--teal); cursor:pointer; transition:all .15s; font-family:var(--sans); }
.if-dd-btn .if-val, .if-dd-btn .if-arr { color:var(--vanilla); }
.if-dd-btn:hover, .if-dd-btn.open { background:var(--teal-dk,#15302a); border-color:var(--teal-dk,#15302a); color:var(--vanilla); }
.if-val { color:var(--teal); font-weight:800; }
.if-lbl { color:var(--muted); font-weight:600; }
.if-arr { font-size:8px; color:var(--muted); }
.if-dd-menu { display:none; position:absolute; top:100%; left:0; background:var(--white); min-width:180px; max-height:60vh; overflow-y:auto; z-index:200; border:1px solid var(--border); box-shadow:0 6px 18px rgba(0,0,0,.1); margin-top:2px; }
.if-dd-menu.open { display:block; }
.if-dd-close { display:none; background:none; border:none; }
.if-dd-opt { display:block; padding:8px 14px; font-size:12px; font-weight:600; color:var(--teal); border-bottom:1px solid rgba(196,196,196,.25); cursor:pointer; transition:all .15s; }
.if-dd-opt--locked { color:var(--muted); text-decoration:none; display:flex; align-items:center; gap:6px; padding:8px 14px; font-size:12px; font-weight:600; background:var(--white); border-bottom:1px solid rgba(196,196,196,.25); }
.if-dd-opt--locked:hover { background:var(--sage-lt); }
.if-dd-lock { display:inline-flex; align-items:center; justify-content:center; width:18px; height:18px; font-size:9px; color:var(--muted); flex-shrink:0; }

/* Season dropdown hero (player, competition, team) */
.comp-name-row { display:flex; align-items:baseline; gap:14px; flex-wrap:wrap; }
.season-dd-hero .if-dd-btn { background:var(--white); border:1px solid var(--border); color:var(--teal); }
.season-dd-hero .if-dd-btn:hover,
.season-dd-hero .if-dd-btn.open { background:var(--sage-lt); border-color:var(--teal); color:var(--teal); }
.season-dd-hero .if-val { color:var(--teal); font-weight:800; }
.season-dd-hero .if-arr { color:var(--teal); }
.season-dd-hero .if-dd-opt.on { font-weight:800; color:var(--teal); background:var(--sage-lt); }
.season-dd-hero--static .if-dd-static { display:inline-flex; align-items:center; height:32px; padding:0 12px; font-size:11px; font-weight:800; color:var(--teal); background:var(--white); border:1px solid var(--border); white-space:nowrap; font-family:var(--sans); }

/* Classement séparateurs (competition, team) */
tr.cls-sep-row { height:0; line-height:0; font-size:0; }
tr.cls-sep-row td.cls-sep-line { padding:0; height:3px; line-height:0; border:none; border-top:3px solid var(--muted); }
tr.cls-sep-row td.cls-sep-line.cls-zone-green { border-top-color:var(--g-bright); }
tr.cls-sep-row td.cls-sep-line.cls-zone-green-dark { border-top-color:#4CAF50; }
tr.cls-sep-row td.cls-sep-line.cls-zone-green-light { border-top-color:#81C784; }
tr.cls-sep-row td.cls-sep-line.cls-zone-orange { border-top-color:#f0a500; }
tr.cls-sep-row td.cls-sep-line.cls-zone-red { border-top-color:#C0392B; }

/* Hero sous-titre (player, team) */
.comp-sub { font-size:14px; font-weight:600; color:rgba(242,229,210,.7); margin-top:4px; letter-spacing:.5px; }

/* Hero infos grille (player, team, competition) */
.comp-hero-infos { display:flex; flex-wrap:wrap; gap:12px 24px; margin-top:12px; }
@media (max-width:768px) {
  .comp-hero-infos { display:grid; grid-template-columns:1fr 1fr; gap:10px 16px; }
}
.hero-info-item { display:flex; flex-direction:column; gap:2px; }
.hero-info-label { font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.8px; color:rgba(242,229,210,.5); }
.hero-info-value { font-size:13px; font-weight:600; color:var(--vanilla); }
.hero-info-value a, .hero-info-value .its-link { color:var(--vanilla); text-decoration:underline; text-decoration-color:rgba(242,229,210,.4); }
.hero-info-value a:hover, .hero-info-value .its-link:hover { text-decoration-color:var(--vanilla); }
.if-dd-opt:last-child { border-bottom:none; }
.if-dd-opt:hover { background:var(--sage-lt); color:var(--teal); }
.if-dd-opt.on { color:var(--teal); font-weight:800; background:var(--sage-lt); }
.if-dd-opt.on::after { content:" ✓"; }
.if-dd-multi .if-dd-opt.on::after { content:none; }
.if-check { display:inline-block; width:12px; height:12px; border:1.5px solid var(--border); margin-right:6px; vertical-align:middle; position:relative; flex-shrink:0; }
.if-dd-opt.on .if-check { background:var(--teal); border-color:var(--teal); }
.if-dd-opt.on .if-check::after { content:"✓"; position:absolute; top:-2px; left:1px; font-size:9px; color:var(--vanilla); font-weight:900; }

/* ── Mobile : filtres scrollables + dropdowns plein écran ───── */
@media(max-width:680px){
  /* Tableaux → liste verticale mobile */
  .tbl-scroll { overflow-x:auto; }
  .data-table { border:none; font-size:13px; }
  .data-table thead { display:none; }
  .data-table, .data-table tbody { display:block; }
  .data-table tr { display:flex; flex-wrap:wrap; background:var(--white); border:1px solid var(--border); border-bottom:none; padding:8px 4px 6px; }
  .data-table tr:last-child { border-bottom:1px solid var(--border); }
  .data-table tr.section-row { display:block; background:var(--teal); color:var(--vanilla); font-weight:800; font-size:10px; letter-spacing:1.5px; text-transform:uppercase; padding:8px 14px; border:none; }
  .data-table tr.section-row td { border:none; padding:0; white-space:normal; background:transparent; color:inherit; font-size:inherit; }
  .data-table tr.total-row { background:rgba(28,61,52,.06); border-top:2px solid var(--teal); border-bottom:1px solid var(--border); }
  .data-table tr.total-row td { font-weight:800; border:none; background:transparent; }
  .data-table td { flex:0 0 33.333%; max-width:33.333%; min-width:0; padding:6px 4px; border:none; font-size:12px; white-space:normal; text-align:center; color:var(--teal); box-sizing:border-box; }
  .data-table td::before { content:attr(data-label); display:block; font-size:9px; font-weight:700; color:var(--muted); text-transform:uppercase; letter-spacing:.3px; margin-bottom:2px; }
  .data-table td[data-label=""]::before { display:none; }
  /* Saison cell redondant sur mobile (section-row au-dessus l'affiche déjà) */
  .data-table tr:not(.section-row):not(.total-row) .dt-saison-mute { display:none; }
  /* Cellules placeholder "—" cachées sur mobile (3 stats cachées → 6 visibles = 2 lignes de 3) */
  .data-table tr:not(.section-row) td.dt-empty { display:none; }
  /* Total row : spacer caché sur mobile, stats affichées normalement */
  .data-table tr.total-row td.total-row-spacer { display:none; }
  /* Total footer row : pleine largeur en bas (sinon héritait flex 33% = boîte "bouton") */
  .data-table tr.total-footer-row td { flex:0 0 100%; max-width:100%; padding:10px 14px; text-align:center; }
  .data-table tr.total-footer-row td::before { display:none; }
  /* Ligne paywall (colspan) : pleine largeur, sinon coupée à 33% (« réservé aux membres » à moitié caché) */
  .data-table tr.pw-row { display:block; border:none; padding:0; }
  .data-table tr.pw-row td.pw-cell { display:block; flex:0 0 100%; max-width:100%; padding:0; text-align:left; }
  .data-table tr.pw-row td.pw-cell::before { display:none; }
  /* Equipe + Compétition sur la même ligne (header de chaque card) */
  /* Combinés ils font 100% = forcent le wrap après pour les stats */
  .data-table td[data-label="Equipe"] {
    font-weight:800; flex:0 0 50%; max-width:50%; text-align:left; font-size:13px;
    padding:0 4px 6px 8px; color:var(--teal);
    border-bottom:1px dashed rgba(28,61,52,.1); margin-bottom:6px;
    overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  }
  .data-table td[data-label="Equipe"]::before { display:none; }
  .data-table td[data-label="Competition"] {
    flex:0 0 50%; max-width:50%; text-align:left; font-size:11px; color:var(--muted);
    padding:0 8px 6px 0;
    border-bottom:1px dashed rgba(28,61,52,.1); margin-bottom:6px;
    overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
    align-self:center;
  }
  .data-table td[data-label="Competition"]::before {
    content:"· "; display:inline; color:var(--muted); margin-right:2px; font-weight:400;
  }
  .data-table td[colspan] { flex:1 1 100%; font-weight:800; }
  .data-table td[colspan]::before { display:none; }
  /* Cards cartons : padding ajusté */
  .data-table .dt-card { font-size:10px; padding:1px 5px; }
  /* Compact : reste en tableau horizontal en mobile */
  .data-table.data-table--compact { display:table; border:none; border-collapse:collapse; font-size:11px; table-layout:fixed; width:100%; }
  .data-table.data-table--compact thead { display:table-header-group; }
  .data-table.data-table--compact tbody { display:table-row-group; }
  .data-table.data-table--compact tr { display:table-row; border:none; background:none; }
  .data-table.data-table--compact th { font-size:9px; padding:4px 4px; white-space:nowrap; }
  .data-table.data-table--compact td { display:table-cell; padding:4px 4px; font-size:11px; border-bottom:1px solid var(--border); white-space:normal; word-break:break-word; overflow:hidden; text-overflow:ellipsis; }
  .data-table.data-table--compact td:first-child { max-width:90px; }
  .data-table.data-table--compact td::before { display:none; }
  .data-table.data-table--compact .section-row { display:table-row; }
  .data-table.data-table--compact .section-row td { padding:6px 8px; background:var(--teal); color:var(--vanilla); font-size:10px; font-weight:800; letter-spacing:1px; text-transform:uppercase; white-space:nowrap; max-width:unset; }
  /* Filtres */
  /* Onglets stats compacts */
  .ps-tab { padding:8px 10px; font-size:10px; }
  .ps-tab-full { display:none; }
  .ps-tab-short { display:inline; }
  /* Filtres */
  .inline-filters { padding:8px; gap:6px; }
  .inline-filters-lbl { display:none; }
  .if-dd-btn { height:30px; font-size:10px; padding:0 8px; }
  .if-dd-menu.open {
    position:fixed; top:0; left:0; right:0; bottom:0;
    z-index:9999; max-height:none; overflow-y:auto;
    background:var(--white); border:none;
    box-shadow:none; margin:0; padding:10px 0;
    display:flex; flex-direction:column;
  }
  .if-dd-menu.open .if-dd-opt {
    padding:14px 20px; font-size:14px; border-bottom:1px solid var(--border);
  }
  .if-dd-close {
    display:block; width:100%; padding:14px 20px; font-size:13px; font-weight:800; color:var(--muted);
    text-align:right; border:none; border-bottom:2px solid var(--border); cursor:pointer;
    background:none; font-family:var(--sans); letter-spacing:.5px;
  }
  .filter-reset-btn { flex-shrink:0; font-size:9px; padding:4px 10px; height:30px; }
}
img.emoji { width:1em; height:1em; vertical-align:middle; margin:0; }

/* ── TABLES ─────────────────────────────────────────────────── */
.tbl-scroll { overflow-x:auto; -webkit-overflow-scrolling:touch; max-width:100%; }
/* Desktop data-table */
.data-table { width:100%; border-collapse:collapse; font-size:13px; background:var(--white); border:1px solid var(--border); }
.data-table th { background:var(--teal); color:var(--vanilla); font-size:11px; font-weight:700; letter-spacing:.5px; padding:10px 14px; text-align:center; white-space:nowrap; border-bottom:none; }
.data-table th:first-child, .data-table th:nth-child(2) { text-align:left; }
.data-table td { padding:10px 14px; border-bottom:1px solid var(--border); text-align:center; white-space:nowrap; color:var(--teal); }
.data-table td:first-child { text-align:left; font-weight:600; }
.data-table td:nth-child(2) { text-align:left; }
/* Onglet "Général" (stats par compétition, fiche joueur) : 3 colonnes texte
   Saison/Équipe/Compétition → aligner aussi la 3e (Compétition) à gauche,
   sinon elle reste centrée et décalée par rapport aux 2 premières. */
#t-gen .data-table th:nth-child(3),
#t-gen .data-table td:nth-child(3) { text-align:left; }
.data-table tr:hover td { background:var(--sage-lt); }
/* — Améliorations visuelles data-table — */
.data-table .dt-num { font-variant-numeric:tabular-nums; font-weight:700; }
.data-table .dt-hi { color:var(--teal); font-weight:800; }
.data-table .dt-empty { color:var(--muted); font-weight:500; }
.data-table .dt-zero { color:var(--muted); font-weight:500; }
.data-table .dt-saison-mute { color:var(--muted); font-size:11px; font-weight:500; }
.data-table .dt-card { display:inline-block; min-width:22px; padding:2px 6px; border-radius:4px; font-weight:800; font-size:11px; }
.data-table .dt-card--cj { background:rgba(196,125,8,.15); color:#8a5800; }
.data-table .dt-card--co { background:rgba(224,123,0,.18); color:#a85700; }
.data-table .dt-card--cr { background:rgba(192,57,43,.15); color:#9d2e22; }
/* Section row : bandeau saison */
.data-table .section-row td { background:rgba(28,61,52,.06); color:var(--teal); font-size:10px; font-weight:800; letter-spacing:1.5px; text-transform:uppercase; padding:8px 14px; text-align:left; border-top:2px solid var(--teal); }
.data-table .section-row:hover td { background:rgba(28,61,52,.08); }
.data-table .section-row + tr td { border-top:none; }
.data-table .fw700 { font-weight:700; }
/* Section rows (saison headers) */
.data-table .section-row td { background:var(--teal); color:var(--vanilla); font-size:10px; font-weight:800; letter-spacing:1px; text-transform:uppercase; padding:8px 14px; text-align:left; }
.data-table .section-row:hover td { background:var(--teal); }
/* Total row */
.data-table .total-row { border-top:2px solid var(--teal); }
.data-table .total-row td { background:rgba(28,61,52,.08); font-weight:800; color:var(--teal); }
.data-table .total-row:hover td { background:rgba(28,61,52,.08); }
.data-table .total-row-spacer { background:rgba(28,61,52,.08); }
/* Total footer row — "Total · saison" pleine largeur, en bas */
.data-table .total-footer-row td { background:var(--teal); padding:10px 16px; text-align:right; border-bottom:none; }
.data-table .total-footer-row:hover td { background:var(--teal); }
.total-footer-lbl { color:var(--vanilla); font-size:11px; font-weight:900; letter-spacing:1.5px; text-transform:uppercase; }
.total-footer-sep { color:var(--sage); margin:0 6px; }
.total-footer-saison { color:var(--vanilla); font-size:11px; font-weight:600; opacity:.85; }
.data-table .stats-pw-row:hover td { background:var(--white); }
/* Highlights */
.data-table .cj-highlight { color:#f0a500; font-weight:900; }
.data-table .co-highlight { color:#e07b00; font-weight:900; }
.data-table .cr-highlight { color:#d9534f; font-weight:900; }
.has { color:var(--teal); font-weight:800; }
.tbl-legend { display:flex; flex-wrap:wrap; gap:4px 12px; padding:8px 14px; background:var(--sage-lt); border:1px solid var(--border); border-top:none; }
.tbl-legend-item { font-size:10px; color:var(--muted); white-space:nowrap; }
.tbl-legend-key { display:inline-block; font-weight:800; color:var(--teal); margin-right:2px; }
.tbl-legend-key::after { content:' : '; font-weight:400; color:var(--muted); }

/* ── STAT KPI CARDS ─────────────────────────────────────────── */
.stat-kpi-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:12px; margin-bottom:20px; }
/* Variante 4 colonnes — remplace les `style="grid-template-columns:repeat(4,1fr)"` inline (cf. arbitre) */
.stat-kpi-grid.stat-kpi-grid--4cols { grid-template-columns:repeat(4,1fr); }
.stat-kpi { background:var(--white); padding:16px; }
.stat-kpi-val { font-size:30px; font-weight:900; color:var(--teal); line-height:1; }
.stat-kpi-lock { font-size:18px; opacity:.45; }
.stat-kpi-val--text { font-size:14px; font-weight:800; line-height:1.3; word-break:break-word; }
.stat-kpi-lbl { font-size:10px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:var(--muted); margin-top:6px; }
.stat-kpi-sub { font-size:11px; color:var(--muted); margin-top:3px; }
@media(max-width:680px){ .stat-kpi-grid { grid-template-columns:repeat(2,1fr); } }

/* ── ANNUAIRE : layout 2 colonnes utilisant le pattern .its-account-nav du site ─ */
.its-directory-layout { display:flex; align-items:stretch; background:var(--white); margin-top:8px; min-height:400px; border:1px solid var(--border); }
.its-directory-sidebar { flex-shrink:0; display:flex; flex-direction:column; }
.its-directory-sidebar > .its-account-nav { flex:1 1 auto; }
.its-directory-sidebar > .its-account-nav::after { content:""; flex:1 1 auto; min-height:8px; display:block; }
.its-directory-main { flex:1; min-width:0; padding:20px; }

/* Search dans la sidebar : encart fin en haut, avant les groupes (pattern account-nav) */
.its-account-nav-search { padding:12px 16px; border-bottom:1px solid var(--border); margin-bottom:4px; }
.its-account-nav-search input[type="search"] { width:100%; padding:7px 10px; border:1px solid var(--border); border-radius:4px; font-size:12px; color:var(--teal-dk); background:var(--white); box-sizing:border-box; }
.its-account-nav-search input[type="search"]:focus { outline:none; border-color:var(--teal); }
.its-account-nav-search input[type="search"]::placeholder { color:var(--muted); }

/* Compteur aligné à droite dans .its-account-nav-item (override pour flex justify-between) */
.its-directory-sidebar .its-account-nav-item { display:flex; justify-content:space-between; align-items:center; gap:8px; }

@media(max-width:980px){
  .its-directory-layout { flex-direction:column; }
  .its-directory-sidebar { width:100%; }
  .its-directory-sidebar > .its-account-nav { width:100%; border-right:none; border-bottom:1px solid var(--border); }
}

/* ── ANNUAIRE : people card horizontale compacte ─────────────────────────── */
.its-people-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:14px; }
.its-people-card { display:grid; grid-template-columns:64px 1fr; gap:12px; align-items:center; padding:12px 14px; background:#fff; border:1px solid var(--border); transition:box-shadow .2s ease, border-color .2s ease; }
.its-people-card:hover { border-color:var(--teal); box-shadow:0 6px 18px rgba(28,61,52,.1); }
.its-people-card__media { display:flex; align-items:center; justify-content:center; width:64px; height:64px; background:var(--vanilla); overflow:hidden; position:relative; flex-shrink:0; }
.its-people-card__media img { width:100%; height:100%; object-fit:cover; display:block; }
.its-people-card__media-initials { font-size:20px; font-weight:800; color:var(--teal); letter-spacing:1px; }
.its-people-card__body { display:flex; flex-direction:column; gap:2px; min-width:0; }
.its-people-card__name { font-size:14px; font-weight:700; color:var(--teal-dk); text-decoration:none; line-height:1.3; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.its-people-card__name:hover { color:var(--teal); }
.its-people-card__role { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--muted); }
.its-people-card__sub { font-size:11px; color:var(--muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.its-people-card__cta { grid-column:1 / -1; margin-top:8px; padding-top:8px; border-top:1px solid var(--border); }
.its-people-card__cta .its-page-follow-btn,
.its-people-card__cta .its-social-action-btn,
.its-people-card__cta .its-btn { width:100%; justify-content:center; text-align:center; margin:0; background:var(--teal-dk); color:#fff; border-color:var(--teal-dk); padding:7px 14px; font-size:11px; }
.its-people-card__cta .its-page-follow-btn:hover,
.its-people-card__cta .its-page-follow-btn:focus-visible,
.its-people-card__cta .its-social-action-btn:hover,
.its-people-card__cta .its-social-action-btn:focus-visible { background:var(--teal); border-color:var(--teal); color:#fff; }
.its-people-card__cta .its-page-follow-btn.is-following,
.its-people-card__cta .its-social-action-btn.is-following { background:var(--vanilla); color:var(--teal-dk); border-color:var(--vanilla); }
.its-people-card__cta .its-page-follow-btn.is-following:hover,
.its-people-card__cta .its-social-action-btn.is-following:hover { background:#fff; border-color:var(--teal-dk); color:var(--teal-dk); }
@media(max-width:520px){
  .its-people-grid { grid-template-columns:1fr; gap:10px; }
}

/* Utilitaire RGAA : libellé visible uniquement aux lecteurs d'écran. */
.its-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* ── ESPACE RÉDACTION : Mes articles ───────────────────────────── */
.its-articles-kpi { grid-template-columns:repeat(5,1fr); }
@media(max-width:980px){ .its-articles-kpi { grid-template-columns:repeat(3,1fr); } }
@media(max-width:520px){ .its-articles-kpi { grid-template-columns:repeat(2,1fr); } }

.its-articles-tabs { display:flex; flex-wrap:wrap; gap:4px; margin:0 0 16px; padding:0 0 8px; border-bottom:1px solid var(--border); }
.its-articles-tab { display:inline-flex; align-items:center; gap:6px; padding:8px 14px; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--muted); text-decoration:none; border-radius:6px 6px 0 0; transition:background .15s, color .15s; border-bottom:2px solid transparent; margin-bottom:-9px; }
.its-articles-tab:hover { color:var(--teal); background:var(--vanilla); }
.its-articles-tab.is-active { color:var(--teal); border-bottom-color:var(--g-bright); background:#fff; }
.its-articles-tab-count { display:inline-flex; align-items:center; justify-content:center; min-width:22px; height:18px; padding:0 6px; background:var(--vanilla); color:var(--teal-dk); font-size:11px; font-weight:800; border-radius:9px; }
.its-articles-tab.is-active .its-articles-tab-count { background:var(--g-bright); color:var(--teal-dk); }

.its-articles-grid { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
@media(max-width:1100px){ .its-articles-grid { grid-template-columns:repeat(2,1fr); } }
@media(max-width:580px){ .its-articles-grid { grid-template-columns:1fr; } }
/* Pareil que media-grid : dernier item orphelin (count impair) span 2 cols au breakpoint 2 cols. */
@media(min-width:581px) and (max-width:1100px){
  .its-articles-grid > :last-child:nth-child(odd) { grid-column:1 / -1; }
}

.its-article-card { background:var(--white); border:1px solid var(--border); overflow:hidden; display:flex; flex-direction:column; transition:box-shadow .2s ease, border-color .2s ease; }
.its-article-card:hover { border-color:var(--teal); box-shadow:0 6px 18px rgba(28,61,52,.1); }
.its-article-card__media { display:block; aspect-ratio:16/9; background:var(--teal-dk); position:relative; overflow:hidden; }
.its-article-card__media img { width:100%; height:100%; object-fit:cover; display:block; }
.its-article-card__nothumb { display:block; width:100%; height:100%; background:linear-gradient(135deg, var(--teal) 0%, var(--teal-dk) 100%); }
.its-article-card__body { padding:12px 14px 14px; display:flex; flex-direction:column; gap:6px; flex:1; }
.its-article-card__cat { display:inline-block; align-self:flex-start; padding:2px 8px; background:var(--g-bright); color:var(--teal-dk); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; border-radius:3px; }
.its-article-card__title { color:var(--teal-dk); font-weight:700; font-size:14px; line-height:1.35; text-decoration:none; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; min-height:calc(1.35em * 3); max-height:calc(1.35em * 3); }
.its-article-card__title:hover { color:var(--teal); }
.its-article-card__meta { font-size:11px; color:var(--muted); display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.its-article-card__date { font-weight:600; }
.its-article-card__stat { display:inline-flex; align-items:center; gap:4px; font-weight:600; }
.its-article-card__stat-ico { flex:0 0 auto; opacity:.7; }
.its-article-card__actions { display:flex; gap:6px; margin-top:auto; padding-top:10px; border-top:1px solid var(--border); }
.its-article-card__btn { flex:1; padding:6px 10px; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; text-align:center; text-decoration:none; background:var(--teal-dk); color:#fff; border-radius:4px; transition:background .15s; }
.its-article-card__btn:hover { background:var(--teal); color:#fff; }
.its-article-card__btn--ghost { background:transparent; color:var(--teal-dk); border:1px solid var(--border); }
.its-article-card__btn--ghost:hover { background:var(--vanilla); color:var(--teal-dk); }

.its-articles-filter { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin:0 0 16px; }
.its-articles-filter__label { font-size:12px; font-weight:700; color:var(--teal-dk); text-transform:uppercase; letter-spacing:.04em; }
.its-articles-filter__select { padding:8px 32px 8px 12px; font-size:13px; font-weight:600; color:var(--teal-dk); background:#fff; border:1px solid var(--border); border-radius:6px; cursor:pointer; appearance:none; -webkit-appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%231C3D34' d='M2 4l4 4 4-4z'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 10px center; transition:border-color .15s; }
.its-articles-filter__select:hover, .its-articles-filter__select:focus { border-color:var(--teal-dk); outline:none; }
.its-articles-filter__submit { padding:8px 14px; font-size:12px; font-weight:700; color:#fff; background:var(--teal-dk); border:none; border-radius:6px; cursor:pointer; }
.its-articles-filter__reset { font-size:12px; font-weight:600; color:var(--muted); text-decoration:underline; }
.its-articles-filter__reset:hover { color:var(--teal); }
.its-articles-pagination { display:flex; align-items:center; justify-content:center; gap:14px; margin:24px 0 8px; }
.its-articles-pagination__btn { padding:8px 16px; font-size:12px; font-weight:700; color:var(--teal-dk); background:#fff; border:1px solid var(--border); border-radius:6px; text-decoration:none; transition:background .15s, border-color .15s; }
.its-articles-pagination__btn:hover { background:var(--vanilla); border-color:var(--teal-dk); }
.its-articles-pagination__current { font-size:12px; color:var(--muted); font-weight:600; }

/* ── MEDIA CARDS ────────────────────────────────────────────── */
.media-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
@media(max-width:900px){ .media-grid { grid-template-columns:repeat(2,1fr); } }
@media(max-width:480px){ .media-grid { grid-template-columns:1fr; } }
/* Si nombre impair d'items au breakpoint 2 cols (ex: 3 articles Top 14),
   le dernier orphelin span sur les 2 colonnes au lieu de laisser une cellule vide. */
@media(min-width:481px) and (max-width:900px){
  .media-grid > :last-child:nth-child(odd) { grid-column:1 / -1; }
}
.mc { background:var(--white); border:1px solid var(--border); display:flex; flex-direction:column; cursor:pointer; transition:box-shadow .15s; overflow:hidden; }
.mc:hover { border-color:var(--g-bright); box-shadow:0 2px 12px rgba(28,61,52,.12); }
.mc-thumb { height:120px; background:var(--teal); display:flex; align-items:center; justify-content:center; position:relative; }
.mc-thumb.art { background:var(--teal-dk); }
.mc-tag { position:absolute; top:6px; left:6px; font-size:9px; font-weight:800; letter-spacing:1px; text-transform:uppercase; padding:2px 5px; background:rgba(0,0,0,.45); color:var(--vanilla); }
.mc-play { width:32px; height:32px; border:2px solid rgba(255,255,255,.6); display:flex; align-items:center; justify-content:center; font-size:11px; color:var(--vanilla); padding-left:2px; transition:all .15s; }
.mc:hover .mc-play { background:rgba(255,255,255,.2); }
/* media-play — icône ronde style home (video/podcast) */
.media-play{position:absolute;top:35%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%!important;transition:transform .2s;}
.mc:hover .media-play{transform:translate(-50%,-50%) scale(1.1);}
.media-play svg{width:20px;height:20px;fill:#fff;}
.media-play--video{background:var(--g-bright);}
.media-play--video svg{fill:var(--teal);margin-left:3px;}
.media-play--podcast{background:var(--vanilla);}
.media-play--podcast svg{fill:var(--teal);}
.mc-dur { position:absolute; bottom:6px; right:6px; font-size:10px; font-weight:700; background:rgba(0,0,0,.6); color:var(--vanilla); padding:1px 5px; }
.mc-body { padding:8px 10px 10px; }
.mc-title { font-size:12px; font-weight:700; line-height:1.3; color:var(--teal); }
.mc-meta { font-size:10px; color:var(--muted); margin-top:3px; }

/* ── MATCH HISTORY ROWS ─────────────────────────────────────── */
.mh-season-header { background:var(--teal); color:var(--vanilla); font-size:10px; font-weight:800; letter-spacing:2px; text-transform:uppercase; padding:8px 14px; margin-top:8px; }
.mh-season-header:first-child { margin-top:0; }
/* mh-pw-season-* supprimé — remplacé par its-pw / its-pw--row */
.mh-row { display:grid; grid-template-columns:90px 1fr 56px auto; align-items:center; gap:14px; padding:10px 14px; background:var(--white); border:1px solid var(--border); border-bottom:none; font-size:12px; transition:background .1s; cursor:pointer; user-select:none; }
.mh-min { display:flex; flex-direction:column; align-items:center; line-height:1.1; white-space:nowrap; }
.mh-min-val { font-weight:700; font-size:13px; color:var(--teal); }
.mh-min-lbl { font-size:9px; font-weight:600; color:var(--muted); text-transform:uppercase; letter-spacing:.5px; margin-top:2px; }
.mh-row:last-of-type { border-bottom:1px solid var(--border); }
.mh-row:hover, .mh-row.open { background:var(--sage-lt); }
.mh-date { font-size:11px; color:var(--muted); font-weight:600; white-space:nowrap; display:flex; flex-direction:column; align-items:flex-start; gap:2px; min-width:70px; }
.mh-time { font-size:10px; font-weight:400; color:var(--muted); opacity:.7; }
.mh-match { font-weight:700; font-size:13px; color:var(--teal); }
.mh-comp { font-size:10px; color:var(--muted); margin-top:2px; }
.mh-badge { display:inline-block; color:var(--vanilla); font-size:9px; font-weight:900; padding:1px 5px; margin-left:3px; vertical-align:middle; }
.mh-badge--cj { background:#f0a500; }
.mh-badge--cr { background:#d9534f; }
.mh-badge--bless { background:#e57373; }
.mh-right { display:flex; flex-direction:column; align-items:flex-end; gap:3px; }
.mh-score { font-weight:900; font-size:15px; }
.mh-score.win { color:var(--teal); }
.mh-score.loss { color:var(--red); }
.mh-score.draw { color:var(--muted); }
.mh-result { font-size:9px; font-weight:800; letter-spacing:1px; text-transform:uppercase; padding:2px 6px; border:1px solid currentColor; }
.mh-result.win { color:var(--teal); border-color:var(--teal); }
.mh-result.loss { color:var(--red); border-color:var(--red); }
.mh-result.draw { color:var(--muted); border-color:var(--muted); }
.mh-cta { display:inline-flex; align-items:center; gap:4px; font-size:10px; font-weight:600; color:var(--teal); text-decoration:underline; text-underline-offset:2px; background:none; border:none; cursor:pointer; padding:0; margin-top:2px; white-space:nowrap; }
.mh-cta:hover { color:var(--teal-dk); }
.mh-cta-arrow { font-size:11px; transition:transform .2s; display:inline-block; }
.mh-row.open .mh-cta-arrow { transform:translateX(3px); }

/* ── MATCH DETAIL DROPDOWN ──────────────────────────────────── */
.mh-detail { display:none; background:var(--white); border:1px solid var(--border); border-top:none; padding:0; }
.mh-detail.open { display:block; }
.mh-detail-tabs { display:flex; border:1px solid var(--border); background:var(--white); overflow-x:auto; }
.mh-detail-tab { padding:8px 16px; font-size:11px; font-weight:700; color:var(--muted); background:var(--white); border:none; border-bottom:2px solid transparent; margin-bottom:-1px; transition:all .15s; white-space:nowrap; flex-shrink:0; cursor:pointer; }
.mh-detail-tab:hover:not(.on) { color:var(--teal); }
.mh-detail-tab.on { color:var(--teal); border-bottom:2px solid var(--g-bright); font-weight:800; }
.mh-detail-tab--locked .mh-detail-tab-lock { font-size:10px; margin-right:2px; }
.mh-detail-tab--locked { opacity:.85; }
.mh-detail-panel { display:none; }
.mh-detail-panel.on { display:block; }

/* ── MATCH DETAIL STAT CARDS ────────────────────────────────── */
.mh-stat-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(110px,1fr)); gap:10px; padding:16px; background:var(--white); }
.mh-card { background:var(--white); border:1px solid var(--border); padding:14px 12px 12px; text-align:center; position:relative; overflow:hidden; transition:box-shadow .15s; }
.mh-card:hover { box-shadow:0 2px 10px rgba(0,0,0,.09); }
.mh-card-val { font-size:28px; font-weight:900; color:var(--teal); line-height:1; }
.mh-card-val.hi { color:var(--g-bright); }
.mh-card-val.cj { color:#f0a500; }
.mh-card-val.cr { color:#d9534f; }
.mh-card-val.co { color:#e07b00; }
.mh-card-val.muted { color:var(--muted); font-size:22px; }
.mh-card-val.warn { color:#f0a500; }
.mh-card-lbl { font-size:9px; font-weight:800; letter-spacing:1.2px; text-transform:uppercase; color:var(--muted); margin-top:7px; }
.mh-card-bar { position:absolute; bottom:0; left:0; height:3px; background:var(--teal); }
.mh-card-bar.hi { background:var(--g-bright); }
.mh-card-bar.warn { background:#f0a500; }
/* Largeurs pré-définies par tranches de 5% — évite les inline-styles dynamiques */
.mh-card-bar--w-0   { width:0; }
.mh-card-bar--w-5   { width:5%; }
.mh-card-bar--w-10  { width:10%; }
.mh-card-bar--w-15  { width:15%; }
.mh-card-bar--w-20  { width:20%; }
.mh-card-bar--w-25  { width:25%; }
.mh-card-bar--w-30  { width:30%; }
.mh-card-bar--w-35  { width:35%; }
.mh-card-bar--w-40  { width:40%; }
.mh-card-bar--w-45  { width:45%; }
.mh-card-bar--w-50  { width:50%; }
.mh-card-bar--w-55  { width:55%; }
.mh-card-bar--w-60  { width:60%; }
.mh-card-bar--w-65  { width:65%; }
.mh-card-bar--w-70  { width:70%; }
.mh-card-bar--w-75  { width:75%; }
.mh-card-bar--w-80  { width:80%; }
.mh-card-bar--w-85  { width:85%; }
.mh-card-bar--w-90  { width:90%; }
.mh-card-bar--w-95  { width:95%; }
.mh-card-bar--w-100 { width:100%; }
.mh-note { font-size:11px; color:var(--muted); padding:12px 16px; font-style:italic; background:#fff; border:1px solid var(--border); text-align:center; }
/* Variante <td> : pas de background propre, le <table>/<tr> parent est déjà opaque */
td.mh-note, tr .mh-note { background:transparent; border:none; }

/* ── PAYWALL — ancien système (paywall-blur/overlay/box) supprimé ─
   Tout est maintenant dans its-pw (voir bloc ci-dessous)         ── */

/* ══════════════════════════════════════════════════════════════
   ITS-PW — Composant paywall unifié
   3 variantes : block (section), row (historique), inline (table)
   ══════════════════════════════════════════════════════════════ */

/* ── Base : bloc horizontal  🔒 | texte | CTA ────────────── */
.its-pw {
  display:flex; align-items:center; gap:16px;
  padding:20px 24px;
  background:var(--white);
  font-family:var(--sans);
}
.its-pw-icon {
  flex-shrink:0; width:36px; height:36px;
  display:flex; align-items:center; justify-content:center;
  background:var(--teal); color:var(--vanilla);
  font-size:15px; font-weight:900;
}
.its-pw-body { flex:1; min-width:0; }
.its-pw-title {
  font-size:13px; font-weight:800; color:var(--teal);
  letter-spacing:.3px;
}
.its-pw-sub {
  font-size:11px; color:var(--muted); margin-top:3px;
  line-height:1.5;
}
.its-pw-cta {
  flex-shrink:0;
  display:inline-flex; align-items:center; justify-content:center;
  padding:10px 22px;
  background:var(--teal); color:var(--vanilla);
  font-size:10px; font-weight:800; letter-spacing:1px; text-transform:uppercase;
  text-decoration:none;
  font-family:var(--sans);
  border:none; cursor:pointer;
  transition:background .15s;
  white-space:nowrap;
}
.its-pw-cta:hover { background:var(--teal-dk); }

/* ── Variante row : collé sous un season-header ────────────── */
.its-pw--row { border-top:none; }
.its-pw--mt { margin-top:8px; }

/* ── Media card link ───────────────────────────────────────── */
.mc-link { text-decoration:none; color:inherit; }

/* ── Variante table (dans un <tr>) ─────────────────────────── */
.stats-pw-row td {
  padding:0 !important; background:var(--white);
  border-bottom:1px solid rgba(196,196,196,.3);
}

/* ── Variante KPI (petit badge dans un widget) ─────────────── */
.its-pw-kpi {
  display:inline-flex; align-items:center; gap:5px;
  font-size:11px; font-weight:800; letter-spacing:.6px;
  text-transform:uppercase;
  padding:3px 10px; background:var(--teal); color:var(--vanilla);
}

/* ── Variante compact : cards étroites (classements compétition) ── */
.its-pw--compact {
  flex-direction:column; text-align:center; gap:10px; padding:16px;
}
.its-pw--compact .its-pw-icon { width:28px; height:28px; font-size:13px; }
.its-pw--compact .its-pw-title { font-size:11px; }
.its-pw--compact .its-pw-sub { font-size:10px; }
.its-pw--compact .its-pw-cta { width:100%; justify-content:center; padding:8px 14px; font-size:9px; }

/* ── Responsive ────────────────────────────────────────────── */
@media(max-width:680px){
  .its-pw { flex-direction:column; text-align:center; gap:10px; padding:16px; }
  .its-pw-cta { width:100%; justify-content:center; }
}

/* pw-lock-cell, pw-lock-badge supprimés — remplacés par its-pw */

/* ── PAYWALL TOGGLE BUTTON ───────────────────────────────────── */
.paywall-toggle-btn { position:fixed; bottom:24px; right:24px; z-index:999; display:flex; align-items:center; gap:8px; font-size:10px; font-weight:800; letter-spacing:1.5px; text-transform:uppercase; padding:10px 18px; cursor:pointer; background:var(--teal); color:var(--vanilla); border:none; box-shadow:0 4px 20px rgba(0,0,0,.25); font-family:var(--sans); }
.paywall-toggle-btn:hover { background:var(--teal-dk); }

/* ── STAT BARS (dual team comparison) ───────────────────────── */
.stat-panel-header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 16px; background:var(--white); border:1px solid var(--border); border-bottom:none; }
.stat-panel-title { font-size:11px; font-weight:800; letter-spacing:1.5px; text-transform:uppercase; color:var(--teal); }
.stat-legend { display:flex; gap:12px; font-size:10px; font-weight:700; }
.legend-dot { width:10px; height:10px; display:inline-block; margin-right:4px; vertical-align:middle; }
.legend-dot.cls-zone-green { background:var(--g-bright); }
.legend-dot.cls-zone-orange { background:#f0a500; }
.legend-dot.cls-zone-red { background:#C0392B; }
.cls-legend-dot { display:inline-block; width:16px; height:3px; vertical-align:middle; margin-right:4px; }
.cls-legend-dot.cls-zone-green { background:var(--g-bright); }
.cls-legend-dot.cls-zone-green-dark { background:#4CAF50; }
.cls-legend-dot.cls-zone-green-light { background:#81C784; }
.cls-legend-dot.cls-zone-orange { background:#f0a500; }
.cls-legend-dot.cls-zone-red { background:#C0392B; }
.stat-list { background:var(--white); border:1px solid var(--border); padding:0 16px; }
.stat-item { display:grid; grid-template-columns:52px 1fr 52px; align-items:center; gap:10px; padding:9px 0; border-bottom:1px solid rgba(196,196,196,.25); }
.stat-item:last-child { border-bottom:none; }
.stat-vt1 { font-weight:900; font-size:13px; color:var(--teal); text-align:right; line-height:1; }
.stat-vt2 { font-weight:900; font-size:13px; color:var(--muted); line-height:1; }
.stat-mid { display:flex; flex-direction:column; align-items:center; gap:5px; }
.stat-lbl { font-size:10px; font-weight:600; color:var(--muted); text-align:center; }
.dual-bar { display:grid; grid-template-columns:1fr 1fr; gap:2px; width:100%; }
.bar-t { height:5px; background:#ececec; overflow:hidden; }
.bar-f { height:100%; transition:width .5s ease; }
.bar-f.t1 { background:var(--teal); }
.bar-f.t2 { background:#bbb; }

/* ── KPI HERO ───────────────────────────────────────────────── */
.kpi { background:var(--teal); padding:14px 20px; text-align:center; }
.kpi-val { font-size:26px; font-weight:900; color:var(--vanilla); line-height:1; }
.kpi-lbl { font-size:9px; font-weight:800; letter-spacing:1.5px; text-transform:uppercase; color:var(--sage); margin-top:4px; }

/* ── INTERNAL LINKS ────────────────────────────────────────── */
.its-link { color:var(--teal); text-decoration:none; font-weight:inherit; }
.its-link:hover { text-decoration:underline; color:var(--teal-dk, #0f2c25); }

/* ══════════════════════════════════════════════════════════════
   HERO SHARED (team, competition) — fond teal, logo + infos
══════════════════════════════════════════════════════════════ */
.team-hero{background:var(--teal);color:var(--vanilla);}
.team-hero-inner{display:grid;grid-template-columns:360px 1fr;align-items:stretch;max-width:1200px;margin:0 auto;padding:0 24px;min-height:404px;}
.team-photo{display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08);overflow:hidden;position:relative;}
.team-logo-wrap{position:relative;width:280px;height:280px;flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.team-logo-wrap img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;display:block;}
.team-logo-bg{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;}
.team-logo-abbr{font-size:52px;font-weight:900;line-height:1;letter-spacing:-1px;}
.team-logo-img{width:100%;height:100%;object-fit:contain;padding:12px;display:block;}
.team-info-col{padding:28px 32px;display:flex;flex-direction:column;justify-content:center;gap:8px;min-width:0;word-break:break-word;}
.team-name{font-size:clamp(28px,3.5vw,48px);font-weight:900;line-height:1;}
.team-alt-name{display:inline-block;margin-left:10px;font-size:clamp(14px,1.4vw,18px);font-weight:600;color:rgba(242,229,210,.55);font-style:italic;vertical-align:middle;}
.team-sub{font-size:13px;color:rgba(242,229,210,.65);font-weight:600;margin-top:4px;}
.team-desc{font-size:12px;color:rgba(242,229,210,.7);line-height:1.65;margin-top:6px;}
@media(max-width:900px){.team-hero-inner{grid-template-columns:240px 1fr;}}
@media(max-width:680px){
  .team-hero-inner{grid-template-columns:1fr;padding:0;height:auto;min-height:0;overflow:visible;}
  .team-hero{overflow:visible;}
  .team-photo{width:180px;height:220px;margin:20px auto 0;}
  .team-logo-wrap{width:160px;height:160px;}
  .team-info-col{padding:16px 14px 20px;text-align:center;align-items:center;max-width:100vw;box-sizing:border-box;word-break:break-word;}
  .team-name{font-size:clamp(22px,5vw,32px);}
  .comp-name-row{justify-content:center;}
}
@media(max-width:480px){
  .team-name{font-size:22px;}
}

/* ══════════════════════════════════════════════════════════════
   TEAM INFO BLOCKS (tib-*) — Shared pattern (team, competition, bar, etc.)
══════════════════════════════════════════════════════════════ */

.team-info-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:14px; }
/* team-info-grid reste en 2 colonnes en mobile */
.tib-title { font-size:9px; font-weight:800; letter-spacing:1.5px; text-transform:uppercase; color:rgba(242,229,210,.7); margin-bottom:8px; }
.tib-row { display:flex; align-items:center; gap:8px; padding:5px 0; border-bottom:1px solid rgba(255,255,255,.07); font-size:12px; color:rgba(242,229,210,.85); }
.tib-row:last-child { border-bottom:none; }
.tib-label { color:rgba(242,229,210,.7); font-size:10px; font-weight:600; min-width:86px; }
.tib-row a.its-link { color:rgba(242,229,210,.85); }
.tib-row a.its-link:hover { color:var(--vanilla); text-decoration:underline; }

/* ══════════════════════════════════════════════════════════════
   BAR TEMPLATE
══════════════════════════════════════════════════════════════ */

/* ── Hero ──────────────────────────────────────────────────── */
.bar-hero { background:var(--teal); color:var(--vanilla); padding:32px 24px; }
.bar-hero-inner { max-width:960px; margin:0 auto; padding:0 24px; display:flex; gap:28px; align-items:flex-start; }
.bar-photo { width:180px; height:180px; flex-shrink:0; overflow:hidden; background:rgba(255,255,255,.1); display:flex; align-items:center; justify-content:center; position:relative; }
.bar-photo img { width:100%; height:100%; object-fit:cover; }
.bar-photo-placeholder { width:100%; height:100%; background:rgba(255,255,255,.05); }
.bar-info-col { flex:1; display:flex; flex-direction:column; gap:8px; }
.bar-name { font-size:clamp(24px,4vw,36px); font-weight:900; line-height:1.1; }
.bar-sub { font-size:13px; color:rgba(242,229,210,.65); font-weight:600; margin-top:2px; }
.bar-badges { display:flex; gap:6px; flex-wrap:wrap; margin-top:4px; }
.bar-desc { font-size:12px; line-height:1.65; color:rgba(242,229,210,.7); max-width:520px; margin-top:4px; }
/* tbadge, verified-badge → section BADGES & CHIPS (plus haut) */

@media(max-width:680px){
  .bar-hero-inner { flex-direction:column; align-items:center; text-align:center; }
  .bar-photo { width:140px; height:140px; }
  .bar-badges { justify-content:center; }
}

/* ── Body two-column layout ──────────────────────────────── */
.bar-body { display:grid; grid-template-columns:1.5fr 1fr; gap:24px; padding-top:24px; padding-bottom:32px; }
@media(max-width:680px){ .bar-body { grid-template-columns:1fr; } }
.bar-col-left, .bar-col-right { display:flex; flex-direction:column; gap:20px; }
.bar-block + .bar-block { border-top:1px solid rgba(196,196,196,.3); padding-top:20px; }

/* ── Relations club / equipe (hero infos) ──────────────── */
.bar-rel-link { color:rgba(242,229,210,.9); font-weight:700; text-decoration:none; display:inline-flex; align-items:center; gap:5px; }
.bar-rel-link:hover { text-decoration:underline; color:var(--vanilla); }
.bar-rel-thumb { width:20px; height:20px; object-fit:contain; vertical-align:middle; flex-shrink:0; }

/* ── Description longue (colonne gauche) ─────────────────── */
.bar-desc-long-text { font-size:14px; line-height:1.7; color:var(--teal); background:var(--white); border:1px solid var(--border); padding:20px 24px; }

/* ── Services tags (colonne gauche, fond clair) ──────────── */
#bar-services-block { background:var(--white); border:1px solid var(--border); padding:14px 18px; }
.bar-svc-group { display:flex; align-items:flex-start; gap:10px; padding:6px 0; border-bottom:1px solid var(--border); }
.bar-svc-group:last-child { border-bottom:none; }
.bar-svc-cat { font-size:9px; font-weight:800; letter-spacing:1px; text-transform:uppercase; color:var(--muted); min-width:110px; padding-top:3px; flex-shrink:0; }
.bar-svc-tags { display:flex; flex-wrap:wrap; gap:4px; }
.bar-svc-tag { font-size:10px; font-weight:600; padding:2px 8px; background:var(--sage-lt); color:var(--teal); border:1px solid var(--border); white-space:nowrap; }

/* ── Horaires (colonne droite) ───────────────────────────── */
.bar-hours-table { background:var(--white); border:1px solid var(--border); }
.bar-hours-row { display:flex; justify-content:space-between; align-items:center; padding:10px 14px; border-bottom:1px solid rgba(196,196,196,.2); font-size:13px; }
.bar-hours-row:last-child { border-bottom:none; }
.bar-hours-day { font-weight:700; color:var(--teal); min-width:100px; }
.bar-hours-open { color:var(--teal); font-weight:600; }
.bar-hours-closed { color:var(--red); font-style:italic; font-weight:600; }
.bar-hours-today { background:var(--sage-lt); }
.bar-hours-today-badge { font-size:9px; font-weight:800; letter-spacing:.5px; text-transform:uppercase; padding:1px 6px; background:var(--teal); color:var(--vanilla); margin-left:6px; vertical-align:middle; }

/* ── Tarifs (colonne droite) ─────────────────────────────── */
.bar-tarifs-table { background:var(--white); border:1px solid var(--border); }
.bar-tarif-row { display:flex; justify-content:space-between; align-items:center; padding:10px 14px; border-bottom:1px solid rgba(196,196,196,.2); font-size:13px; }
.bar-tarif-row:last-child { border-bottom:none; }
.bar-tarif-item { font-weight:700; color:var(--teal); }
.bar-tarif-prix { color:var(--teal); font-weight:800; }
.bar-tarif-na { color:var(--muted); }

/* ── Carte PDF (colonne droite) ──────────────────────────── */
.bar-carte-actions { text-align:center; margin-bottom:16px; }
.bar-carte-btn { display:inline-block; background:var(--teal); color:var(--vanilla); padding:10px 20px; text-decoration:none; font-weight:700; text-transform:uppercase; font-size:11px; letter-spacing:.5px; box-shadow:0 4px 6px rgba(0,0,0,.1); transition:background .2s; }
.bar-carte-btn:hover { background:var(--teal-dk); color:var(--vanilla); }
.bar-carte-viewer-wrap { border:1px solid var(--border); background:#f9f9f9; }
.bar-carte-viewer { width:100%; height:400px; border:none; }
@media(max-width:768px){ .bar-carte-viewer { height:300px; } }

/* ── Avis redaction (colonne gauche) ─────────────────────── */
.bar-avis-card { background:var(--white); border:1px solid var(--border); padding:20px 24px; }
.bar-avis-text { font-size:14px; line-height:1.7; color:var(--teal); font-style:italic; }

/* ── Galerie photos (bar, stade) ─────────────────────────── */
.bar-gallery-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; }
.bar-gallery-item { overflow:hidden; cursor:pointer; }
.bar-gallery-item img { width:100%; height:110px; object-fit:cover; display:block; transition:opacity .2s; }
.bar-gallery-item:hover img { opacity:.85; }
.bar-gallery-placeholder { height:110px; display:flex; align-items:center; justify-content:center; font-size:10px; color:var(--muted); background:rgba(0,0,0,.03); border:1px solid var(--border); }

/* ── ITS Ads — Slots publicitaires ────────────────────────── */
/* Styles canoniques = its-ads-front.css (charge par its-rugby-ads). On garde ici
   les max-width + aspect-ratio en defense pour les pages ou le CSS plugin
   ne serait pas enqueue (admin previews, etc.). Layout = block+margin:auto+center. */
.its-zn { position:relative; display:block; margin:16px auto; text-align:center; overflow:hidden; background:#f7f7f7; border:1px solid rgba(0,0,0,.06); transition:box-shadow .2s; }
.its-zn:hover { box-shadow:0 2px 8px rgba(0,0,0,.08); }
.its-ad-rectangle-300x250 { max-width:300px; }
.its-ad-leaderboard-728x90 { max-width:728px; }
.its-ad-square-250x250 { max-width:250px; }
.its-ad-banner-468x60 { max-width:468px; }
.its-zn-link { display:block; margin:0 auto; line-height:0; text-decoration:none; }
.its-ad-leaderboard-728x90{aspect-ratio:728/90;}
.its-ad-banner-468x60{aspect-ratio:468/60;}
.its-ad-rectangle-300x250,.its-ad-square-300x250{aspect-ratio:300/250;}
.its-ad-square-250x250{aspect-ratio:1/1;}
.its-ad-halfpage-300x600,.its-ad-skyscraper-300x600{aspect-ratio:300/600;}
.its-ad-skyscraper-160x600{aspect-ratio:160/600;}
.its-ad-super-970x250{aspect-ratio:970/250;}
.its-zn img{display:block;margin:0 auto;max-width:100%;height:auto;}
.its-zn-tag { position:absolute; bottom:6px; right:6px; z-index:3; font-size:10px; line-height:1.3; letter-spacing:.2px; background:rgba(0,0,0,.6); color:#fff; padding:3px 8px; border-radius:2px; pointer-events:none; }
.its-ad-placeholder { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; background:linear-gradient(135deg,var(--teal) 0%,#2a5e4e 100%); color:rgba(242,229,210,.7); padding:16px; text-align:center; width:100%; }
.its-ad-placeholder-size { font-size:10px; font-weight:800; letter-spacing:1.5px; text-transform:uppercase; opacity:.5; }
.its-ad-placeholder-icon { font-size:24px; opacity:.6; }
@media(max-width:768px){
  .its-ad-leaderboard-728x90, .its-ad-banner-468x60 { max-width:100%; }
}

/* ── Habillage demo ──────────────────────────────────────── */
body.its-demo-habillage {
  background:#050510 url('../../assets/display 7195x4003.webp') top center / cover no-repeat fixed !important;
  padding-bottom:90px;
}
.its-hab-demo-wing { position:fixed; z-index:5; cursor:pointer; display:none; overflow:hidden; }
body.its-demo-habillage .its-hab-demo-wing { display:flex; align-items:center; justify-content:center; }
.its-hab-demo-wing--left { left:0; top:380px; height:calc(100% - 470px); width:calc((100vw - 90%) / 2); background:linear-gradient(180deg,rgba(227,100,20,.05) 0%,rgba(227,100,20,.12) 50%,rgba(227,100,20,.05) 100%); border-right:2px solid rgba(227,100,20,.25); }
.its-hab-demo-wing--right { right:0; top:380px; height:calc(100% - 470px); width:calc((100vw - 90%) / 2); background:linear-gradient(180deg,rgba(227,100,20,.05) 0%,rgba(227,100,20,.12) 50%,rgba(227,100,20,.05) 100%); border-left:2px solid rgba(227,100,20,.25); }
.its-hab-demo-wing span { writing-mode:vertical-rl; text-orientation:mixed; font-size:13px; font-weight:900; letter-spacing:4px; text-transform:uppercase; color:rgba(227,100,20,.45); font-family:var(--sans); }
.its-hab-demo-bottom { position:fixed; bottom:0; left:0; width:100%; height:90px; z-index:5; cursor:pointer; display:none; background:linear-gradient(90deg,#1a0800 0%,#2d1005 30%,#2d1005 70%,#1a0800 100%); border-top:2px solid rgba(227,100,20,.35); align-items:center; justify-content:center; gap:20px; }
body.its-demo-habillage .its-hab-demo-bottom { display:flex; }
.its-hab-demo-bottom-logo { font-size:28px; font-weight:900; color:#E36414; font-family:var(--sans); letter-spacing:3px; opacity:.8; }
.its-hab-demo-bottom-cta { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:2px; color:var(--vanilla); background:rgba(227,100,20,.15); border:1px solid rgba(227,100,20,.4); padding:8px 20px; opacity:.8; }
.its-hab-demo-label { position:fixed; bottom:94px; right:8px; font-size:9px; text-transform:uppercase; letter-spacing:.5px; color:rgba(242,229,210,.5); background:rgba(0,0,0,.4); padding:2px 6px; z-index:6; pointer-events:none; display:none; }
body.its-demo-habillage .its-hab-demo-label { display:block; }
body.its-demo-habillage .its-zn { display:none !important; }
/* Habillage : hero + breadcrumb + nav opaques (habillage commence en dessous) */
body.its-demo-habillage .breadcrumb { background:#1a3c34; }
body.its-demo-habillage .comp-hero { background:#1a3c34; }
body.its-demo-habillage .nav-interne { background:var(--vanilla); }
/* Habillage : pas de regle speciale necessaire — les boutons ont deja un fond */
.its-hab-toggle { position:fixed; bottom:70px; left:24px; z-index:999; background:var(--teal); color:var(--vanilla); padding:8px 14px; font-size:10px; font-weight:800; letter-spacing:1px; text-transform:uppercase; cursor:pointer; box-shadow:0 2px 10px rgba(0,0,0,.25); font-family:var(--sans); border:none; }
@media(max-width:1200px){ .its-hab-toggle { display:none; } .its-hab-demo-bottom { display:none !important; } }

/* ══════════════════════════════════════════════════════════════
   ARCHIVE PAGES — page-hero, search bar, sort bar, cards grid
   ══════════════════════════════════════════════════════════════ */

/* ── Page hero (titre + desc des pages d'archive) ───────────── */
.page-hero{background:linear-gradient(135deg,var(--teal) 0%,#254D42 50%,var(--teal-dk) 100%);padding:48px 24px 44px;text-align:center;position:relative;overflow:hidden;}
.page-hero::before{content:'';position:absolute;top:-40%;right:-10%;width:400px;height:400px;background:radial-gradient(circle,rgba(142,217,104,.12) 0%,transparent 70%);pointer-events:none;}
.page-hero::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:60px;height:3px;background:var(--g-bright);}
.page-hero h1,.its-v2 .page-hero h1{font-size:clamp(28px,4.5vw,40px);font-weight:900;color:var(--vanilla);letter-spacing:-.5px;line-height:1.1;margin-bottom:16px;}
.page-hero-desc{font-size:13px;line-height:1.7;color:var(--vanilla-d);opacity:.85;max-width:720px;margin:0 auto;}

/* ── Search bar ─────────────────────────────────────────────── */
.archive-search{background:var(--vanilla);border-bottom:1px solid var(--border);padding:20px 0;margin-bottom:0;}
.search-row{display:flex;gap:10px;align-items:center;}
.search-row input{flex:1;padding:12px 18px;border:1px solid var(--border);font-size:14px;font-family:var(--sans);background:var(--white);color:var(--teal);}
.search-row input:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(28,61,52,.1);}
.filter-toggle{display:inline-flex;align-items:center;gap:6px;padding:12px 20px;border:1px solid var(--border);background:var(--white);font-size:12px;font-weight:700;font-family:var(--sans);color:var(--teal);cursor:pointer;white-space:nowrap;transition:all .15s;}
.filter-toggle svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;}
.filter-toggle:hover{border-color:var(--teal);background:var(--sage-lt);}
.filter-toggle.active{background:var(--teal);color:#fff;border-color:var(--teal);}
.filter-toggle .filter-count{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;font-size:10px;font-weight:800;background:var(--g-bright);color:var(--teal-dk,#0f2c25);}

/* ── Knockout bracket (shared team + competition) ────────────── */
.ko-bracket{display:flex;gap:20px;padding:8px 0;overflow-x:auto;align-items:flex-start;}
.ko-round{min-width:220px;max-width:240px;flex-shrink:0;}
.ko-match{border:1px solid var(--border);margin-bottom:16px;background:var(--white);overflow:hidden;border-left:3px solid var(--teal);}
.ko-match-meta{padding:4px 10px;background:var(--sage-lt);font-size:9px;font-weight:700;color:var(--muted);letter-spacing:.5px;border-bottom:1px solid var(--border);}
.ko-match-row{padding:9px 12px;display:flex;justify-content:space-between;align-items:center;gap:6px;}
.ko-match-row.winner{background:rgba(28,61,52,.05);}
.ko-match-name{font-size:13px;flex:1;}
.ko-match-name.win{font-weight:800;color:var(--teal);}
.ko-match-name.lose{font-weight:500;}
.ko-match-score{font-weight:900;font-size:15px;min-width:24px;text-align:center;}
.ko-match-score.played{color:var(--teal);}
.ko-match-score.upcoming{color:var(--muted);}
.ko-match-sep{height:1px;background:var(--border);margin:0 10px;}
.ko-match-vs{text-align:center;font-size:10px;font-weight:800;color:var(--muted);padding:2px 0;letter-spacing:1px;background:var(--sage-lt);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.ko-match-result{padding:5px 10px;background:rgba(28,61,52,.05);border-top:1px solid var(--border);font-size:10px;font-weight:800;color:var(--teal);}
.ko-round-label{margin-bottom:0;font-size:10px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--vanilla);background:var(--teal);padding:6px 12px;border-left:3px solid var(--g-bright);}
@media(max-width:680px){
  .ko-bracket{flex-direction:column;gap:12px;overflow:visible;}
  .ko-round{min-width:unset;max-width:unset;width:100%;}
  .ko-match-name{font-size:12px;}
  .ko-match-row{padding:7px 10px;}
  .ko-round-label{font-size:9px;padding:5px 10px;}
}

/* ── Accessibilité : visually hidden (RGAA) ─────────────────── */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* ── Collapsible filters panel ──────────────────────────────── */
.archive-filters{display:none;padding-top:16px;}
.archive-filters.open{display:block;}
.filters-grid{display:flex;flex-wrap:wrap;gap:10px;}
.its-filter-group{background:var(--white);border:1px solid var(--border);border-left:3px solid var(--g-bright);padding:12px 14px;display:flex;flex-direction:column;gap:6px;min-width:180px;}
.its-filter-label{font-size:10px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--teal);}
.its-filter-select{padding:6px 28px 6px 10px;border:1px solid var(--border);background:var(--white);font-size:12px;font-weight:600;font-family:var(--sans);color:var(--teal);cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23666'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;}
.its-filter-select:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(28,61,52,.1);}
.its-filter-reset-row{display:flex;justify-content:center;margin-top:12px;}
.filter-toggle-wrap{display:inline-flex;align-items:stretch;position:relative;}
.filter-clear-chip{display:inline-flex;align-items:center;justify-content:center;width:28px;margin-left:-1px;border:1px solid var(--border);border-left:none;background:#fff6f6;color:#a33;text-decoration:none;cursor:pointer;transition:background .15s,color .15s,transform .1s;}
.filter-clear-chip:hover{background:#fde8e8;color:#7a1f1f;}
.filter-clear-chip:active{transform:scale(.95);}
.its-filter-reset-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border:1px solid #e5c7c7;background:#fff6f6;color:#a33;font-size:12px;font-weight:700;font-family:var(--sans);cursor:pointer;text-decoration:none;border-radius:999px;transition:background .15s,border-color .15s,color .15s,transform .1s;}
.its-filter-reset-btn svg{width:12px;height:12px;flex-shrink:0;transition:transform .2s;}
.its-filter-reset-btn:hover{background:#fde8e8;border-color:#d89c9c;color:#7a1f1f;}
.its-filter-reset-btn:hover svg{transform:rotate(-90deg);}
.its-filter-reset-btn:active{transform:scale(.97);}

/* ── Sort bar ────────────────────────────────────────────────── */
.archive-sort-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;margin-top:16px;flex-wrap:wrap;}
.archive-sort-bar .result-count{font-size:12px;font-weight:700;color:var(--muted);}
.archive-sort-bar .sort-group{display:flex;align-items:center;gap:6px;}
.archive-sort-bar .sort-group label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--teal);}
.archive-sort-bar select{padding:6px 28px 6px 10px;border:1px solid var(--border);background:var(--white);font-size:12px;font-weight:600;font-family:var(--sans);color:var(--teal);cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23666'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;}

/* ── Cards grid ──────────────────────────────────────────────── */
.archive-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;grid-auto-flow:row dense;}
/* Espace entre 2 grilles successives (cas main + more déplié) */
.archive-cards-grid + .archive-cards-grid{margin-top:16px;}
/* Pub inline intercalee dans la grille — pleine largeur, transparente
   (coherence avec les placements top/bottom qui n'ont pas de wrapper visuel). */
.archive-inline-ad{grid-column:1 / -1;display:flex;align-items:center;justify-content:center;margin:8px 0;}
.archive-inline-ad:empty{display:none;}
.its-collapsed{display:none;}
.its-collapse-btn{display:block;width:100%;margin-top:12px;padding:10px;background:var(--sage-lt);border:1px solid var(--border);color:var(--teal);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:background .15s;}
.its-collapse-btn:hover{background:var(--teal);color:var(--vanilla);}

/* ── Date strip (archive-game) ──────────────────────────────── */
.date-strip{display:flex;align-items:stretch;gap:0;padding:0;border-bottom:1px solid var(--border);background:var(--white);margin:0 0 16px;}
.date-strip-arrow{flex-shrink:0;width:36px;display:inline-flex;align-items:center;justify-content:center;background:none;border:none;font-size:16px;font-weight:700;cursor:pointer;color:var(--muted);transition:color .15s;text-decoration:none;}
.date-strip-arrow:hover{color:var(--teal);}
.date-strip-scroll{flex:1;display:flex;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;}
.date-strip-scroll::-webkit-scrollbar{display:none;}
.date-strip-item{flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px 14px;cursor:pointer;text-decoration:none;border-bottom:3px solid transparent;transition:all .15s;min-width:80px;color:var(--teal);}
.date-strip-item:hover{background:rgba(28,61,52,.04);}
.date-strip-day{font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;}
.date-strip-num{font-size:18px;font-weight:900;color:var(--teal);line-height:1.1;}
.date-strip-mon{font-size:10px;font-weight:600;color:var(--muted);text-transform:uppercase;}
.date-strip-item--today{border-bottom-color:var(--g-bright);}
.date-strip-item--today .date-strip-num{color:var(--teal);}
.date-strip-item--active{border-bottom-color:var(--teal);background:rgba(28,61,52,.06);}
.date-strip-picker{flex-shrink:0;width:40px;display:inline-flex;align-items:center;justify-content:center;background:none;border:none;border-left:1px solid var(--border);cursor:pointer;color:var(--muted);position:relative;}
.date-strip-picker:hover{color:var(--teal);}
.date-strip-picker svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;}
.date-strip-picker input[type="date"]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;-webkit-appearance:none;font-size:16px;z-index:1;}

/* ── Match cards (archive-game) ─────────────────────────────── */
.matchs-grid{display:flex;flex-direction:column;gap:0;}
.match-card+.match-card{margin-top:-1px;}
.match-card{background:var(--white);border:1px solid var(--border);display:flex;align-items:stretch;text-decoration:none;color:var(--teal);transition:box-shadow .2s ease, border-color .2s ease;position:relative;overflow:hidden;}
.match-card:hover{background:var(--sage-lt);box-shadow:0 4px 14px rgba(28,61,52,.08);}
.match-date{flex-shrink:0;width:80px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px 8px;gap:1px;border-right:1px solid var(--border);}
.match-heure{font-size:15px;font-weight:900;color:var(--teal);line-height:1.2;}
.match-date-text{font-size:9px;color:var(--muted);font-weight:600;text-transform:uppercase;}
.match-meteo{font-size:10px;color:var(--muted);font-weight:600;display:flex;align-items:center;gap:2px;margin-top:2px;}
.match-diffuseur{font-size:10px;font-weight:700;padding:3px 10px;white-space:nowrap;background:var(--teal);color:#fff;}
.match-diffuseur:has(>.match-placeholder:only-child){background:transparent;color:var(--border);padding:0;border:0;}
.match-center{flex:1;display:flex;flex-direction:column;align-items:center;padding:10px 16px;gap:4px;min-width:0;}
.match-competition{flex-shrink:0;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;padding:4px 10px;background:var(--teal);color:#fff;white-space:nowrap;text-align:center;}
.match-competition a,.match-competition .its-link{color:#fff;text-decoration:none;}
.match-competition a:hover,.match-competition .its-link:hover{text-decoration:underline;}
.match-teams{width:100%;font-size:14px;font-weight:700;min-width:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;}
.match-teams .team-home{text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--teal);}
.match-teams .team-away{text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--teal);}
.match-score{flex-shrink:0;font-size:20px;font-weight:900;color:var(--teal);text-align:center;letter-spacing:1px;min-width:70px;}
.match-score a,.match-score .match-score-link{color:inherit;text-decoration:none;}
.match-score a:hover,.match-score .match-score-link:hover{text-decoration:underline;}
.match-score.home-win .score-home{color:var(--teal);font-weight:900;}
.match-score.home-win .score-away{color:var(--muted);font-weight:600;}
.match-score.away-win .score-away{color:var(--teal);font-weight:900;}
.match-score.away-win .score-home{color:var(--muted);font-weight:600;}
.match-score.home-win~.team-away,.match-card .match-teams:has(.match-score.away-win) .team-home{opacity:.6;}
.match-card .match-teams:has(.match-score.home-win) .team-home,.match-card .match-teams:has(.match-score.away-win) .team-away{font-weight:900;}
.match-vs{font-size:12px;font-weight:700;color:var(--muted);letter-spacing:1px;}
.match-right-info{flex-shrink:0;width:180px;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:4px;padding:10px 12px;border-left:1px solid var(--border);}
.match-venue{font-size:10px;color:var(--muted);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px;}
/* Wrapper météo+diffuseur : transparent en desktop (météo, diffuseur, stade restent
   empilés dans la colonne de droite) ; regroupés à gauche sur mobile (voir media query). */
.match-meta-left{display:contents;}
.match-placeholder{color:var(--border);font-size:10px;}
@media (max-width:720px){
  /* Ligne du haut en 3 zones : météo à gauche · heure centrée · diffuseur+stade à droite.
     .match-date et .match-right-info passent en display:contents pour que l'heure,
     la météo et le bloc diffuseur+stade deviennent des cellules directes de la grille. */
  .match-card{display:grid;grid-template-columns:1fr auto 1fr;grid-template-areas:"left heure info" "teams teams teams";align-items:center;column-gap:8px;padding:8px 12px;}
  .match-date{display:contents;}
  /* Date redondante avec le sélecteur de jour en haut → masquée en mobile pour
     dégager la place et garder l'heure bien centrée sur sa ligne. */
  .match-date-text{display:none;}
  .match-heure{grid-area:heure;justify-self:center;white-space:nowrap;}
  .match-right-info{display:contents;}
  /* Météo + diffuseur regroupés à gauche → libère toute la colonne de droite au stade.
     justify-self:stretch (pas start) + overflow:hidden : la cellule reste bornée
     à sa colonne 1fr, un diffuseur large est tronqué au lieu de déborder sur
     l'heure centrée. */
  .match-meta-left{grid-area:left;justify-self:stretch;justify-content:flex-start;min-width:0;overflow:hidden;display:flex;flex-direction:row;align-items:center;gap:6px;}
  .match-meteo{margin-top:0;flex-shrink:0;}
  /* Diffuseur allégé en mobile : puce à filet fin (pas de pavé vert plein).
     flex-shrink:1 + ellipsis → se raccourcit si la place manque, ne pousse
     jamais sur l'heure. */
  .match-diffuseur{flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis;background:transparent;color:var(--teal);border:1px solid var(--border);border-radius:4px;padding:2px 7px;font-weight:800;}
  /* Stade seul dans la colonne de droite (pleine largeur), tronqué si trop long. */
  .match-venue{grid-area:info;text-align:right;min-width:0;max-width:100%;}
  .match-center{grid-area:teams;width:auto;padding:10px 2px 4px;margin-top:6px;border-top:1px solid var(--border);}
  .match-teams{font-size:12px;grid-template-columns:1fr;gap:4px;text-align:center;}
  .match-teams .team-home{text-align:center;}
  .match-teams .team-away{text-align:center;}
  .match-competition{font-size:10px;}
  .match-score{font-size:16px;min-width:56px;}
}

/* ── Card horizontal (compétition, équipe…) ───────────────── */
.archive-card{display:flex;align-items:flex-start;gap:16px;background:#fff;padding:20px;text-decoration:none;color:var(--teal);}
.its-v2 a.archive-card-logo,.archive-card-logo{width:56px;height:56px;flex-shrink:0;background:var(--vanilla);color:var(--teal);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:900;letter-spacing:1px;overflow:hidden;text-decoration:none;}
.archive-card-logo img{width:100%;height:100%;object-fit:cover;display:block;}
.archive-card-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px;}
.its-v2 a.archive-card-title,.archive-card-title,span.archive-card-title{font-size:15px;font-weight:800;color:var(--teal);line-height:1.3;text-decoration:none;}
.archive-card-badges{display:flex;flex-wrap:wrap;gap:4px;}
.archive-card-badge{display:inline-block;font-size:10px;font-weight:700;padding:2px 8px;background:var(--sage-lt);color:var(--teal);text-transform:capitalize;}
.archive-card-badge--current{background:var(--g-bright,#8ED968);color:var(--teal-dk,#0f2c25);}
.archive-card-badge--vanilla{background:var(--vanilla,#F2E5D2);color:var(--teal);}
/* Badges entité : palette brand uniquement.
   Player garde l'accent g-bright (visuel "highlight"), les autres restent
   sur le défaut sage-lt + teal de .archive-card-badge ci-dessus. */
.archive-card-badge--player{background:var(--g-bright,#8ED968);color:var(--teal-dk,#0f2c25);}
.archive-card-meta{font-size:11px;color:var(--muted);display:flex;flex-wrap:wrap;gap:8px;}
.archive-card-meta-link{color:var(--teal);font-weight:700;cursor:pointer;}
.archive-card-meta-link:hover{color:var(--g-bright);text-decoration:underline;}
.archive-card-season{margin-left:auto;}

/* ── Article card (catégories, actus) ────────────────────────── */
.its-article-card{display:block;background:var(--white);border:1px solid var(--border);overflow:hidden;transition:box-shadow .15s,border-color .15s;text-decoration:none;color:inherit;}
.its-v2 a.its-article-card,.its-v2 a.its-article-card:link,.its-v2 a.its-article-card:visited,.its-v2 a.its-article-card:hover{color:inherit;text-decoration:none;}
.its-article-card:hover{border-color:var(--g-bright);box-shadow:0 2px 12px rgba(28,61,52,.12);}
.its-v2 .its-article-card a[class]:not(.its-article-card__btn):not(.ps-tab):not(.its-people-card__name):not(.its-people-card__media):not(.bp-source-cta-btn):not(.rzu-btn):not(.rzu-cta-link):not(.its-claim-btn),.its-v2 .its-article-card a[class]:not(.its-article-card__btn):not(.ps-tab):not(.its-people-card__name):not(.its-people-card__media):not(.bp-source-cta-btn):not(.rzu-btn):not(.rzu-cta-link):not(.its-claim-btn):link,.its-v2 .its-article-card a[class]:not(.its-article-card__btn):not(.ps-tab):not(.its-people-card__name):not(.its-people-card__media):not(.bp-source-cta-btn):not(.rzu-btn):not(.rzu-cta-link):not(.its-claim-btn):visited,.its-article-card a:not(.its-article-card__btn):not(.ps-tab):not(.its-people-card__name):not(.its-people-card__media):not(.bp-source-cta-btn):not(.rzu-btn):not(.rzu-cta-link):not(.its-claim-btn){text-decoration:none;display:block;color:inherit;}
.its-article-card-img{aspect-ratio:16/9;overflow:hidden;background:var(--sage-lt,#e8e0d4);}
.its-article-card-img img{width:100%;height:100%;object-fit:cover;display:block;}
.its-article-card-body{padding:14px;}
.its-article-card-badge{display:inline-block;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;padding:2px 6px;background:var(--teal);color:#fff;margin-bottom:6px;}
.its-v2 .its-article-card .its-article-card-title{font-size:14px;font-weight:800;line-height:1.3;margin:0 0 6px;color:var(--teal);}
.its-v2 .its-article-card .its-article-card-meta{font-size:11px;color:var(--muted);margin:0 0 6px;}
.its-v2 .its-article-card .its-article-card-excerpt{font-size:12px;color:var(--muted);line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.its-article-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}

/* ── Page de recherche ──────────────────────────────────────── */
.breadcrumb-current{color:rgba(255,255,255,.7);}
.search-tabs{display:flex;gap:4px;margin:16px 0 12px;flex-wrap:wrap;}
.search-tabs__tab{padding:8px 16px;font-size:12px;font-weight:700;text-decoration:none;border:1px solid var(--border);background:var(--white);color:var(--ink);}
.search-tabs__tab:hover{border-color:var(--g-bright);color:var(--teal);}
.search-tabs__tab.is-active{background:var(--teal);color:#fff;border-color:var(--teal);}
.search-tabs__count{opacity:.6;}
.search-tabs__tab.is-active .search-tabs__count{opacity:.8;}
.search-empty{text-align:center;padding:40px;color:var(--muted);background:var(--white);border:1px solid var(--border);}
.search-section{margin:0 0 32px;}
.search-empty-hint{margin:16px 0 24px;color:var(--muted);font-size:14px;}
.search-discover{margin:0 0 32px;}
.search-discover__tiles{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:16px 0 0;}
.search-discover__tile{--tile-accent:var(--g-bright,#8ED968);display:flex;align-items:center;justify-content:center;padding:24px 16px;background:var(--white);border:1px solid var(--border);border-top:3px solid var(--tile-accent);text-decoration:none;transition:box-shadow .15s,border-color .15s,transform .15s;}
.search-discover__tile:hover{border-color:var(--tile-accent);box-shadow:0 2px 12px rgba(28,61,52,.12);transform:translateY(-1px);}
.search-discover__tile-label{font-size:14px;font-weight:800;color:var(--teal);text-transform:uppercase;letter-spacing:.5px;}
/* Tuiles "Parcourir" : accent uniforme brand (var(--g-bright) hérité de la base).
   Note : on n'utilise PAS la palette de niveau de compétition (Top 14 / Pro D2 / Fédérales)
   définie dans itsrugby-maps-common.js — ces couleurs ont une sémantique métier propre. */

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

/* ── Recherche : adaptations mobile ─────────────────────────── */
@media (max-width:600px){
  /* Discover : scroll horizontal en chips compactes au lieu de 5 lignes en grille */
  .search-discover__tiles{display:flex;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;gap:8px;margin:12px -16px 0;padding:0 16px 8px;}
  .search-discover__tiles::-webkit-scrollbar{height:3px;}
  .search-discover__tiles::-webkit-scrollbar-thumb{background:var(--border);}
  .search-discover__tile{flex:0 0 auto;padding:12px 18px;border-top:1px solid var(--border);border-left:3px solid var(--tile-accent);}
  .search-discover__tile-label{font-size:12px;letter-spacing:.3px;}
  /* Tabs : scroll horizontal pour ne pas wrap sur 6 lignes */
  .search-tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;margin:12px -16px 12px;padding:0 16px 4px;}
  .search-tabs::-webkit-scrollbar{height:3px;}
  .search-tabs::-webkit-scrollbar-thumb{background:var(--border);}
  .search-tabs__tab{flex:0 0 auto;padding:6px 12px;}
  .search-section{margin:0 0 24px;}
  .archive-search{padding:14px 0;}
  /* wrap + input rétractable : les barres à 3 éléments (input + Filtres +
     Rechercher, ex. /competitions/) débordaient hors écran en nowrap. */
  .search-row{gap:6px;flex-wrap:wrap;}
  .search-row input{padding:10px 14px;font-size:13px;min-width:0;flex:1 1 140px;}
  .filter-toggle{padding:10px 14px;font-size:12px;}
  .search-empty-hint{font-size:13px;margin:12px 0 16px;}
}

/* ── Category page layout ───────────────────────────────────── */
.its-cat-layout{display:grid;grid-template-columns:1fr 300px;gap:32px;align-items:start;}
.its-cat-sidebar{position:sticky;top:80px;}
.its-cat-sidebar-box{background:var(--white);border:1px solid var(--border);padding:16px;margin-top:16px;}
.its-cat-sidebar .its-cat-sidebar-box .its-cat-sidebar-title{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--teal);margin:0 0 12px;padding-bottom:8px;border-bottom:2px solid var(--g-bright,#8ED968);}
.its-cat-pop-item{padding:8px 0;}
.its-cat-pop-item:not(:last-child){border-bottom:1px solid var(--border);}
.its-cat-sidebar .its-cat-sidebar-box a.its-cat-pop-link{text-decoration:none;color:var(--teal);display:flex;gap:10px;align-items:flex-start;}
.its-cat-pop-num{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--teal);color:#fff;font-size:11px;font-weight:900;}
.its-cat-sidebar .its-cat-sidebar-box .its-cat-pop-title{font-size:12px;font-weight:700;line-height:1.3;color:var(--teal);}
.its-cat-other-item{padding:6px 0;border-bottom:1px solid var(--border);}
.its-cat-sidebar .its-cat-sidebar-box a.its-cat-other-link{text-decoration:none;color:var(--teal);font-size:12px;font-weight:600;display:block;}
.its-cat-sidebar .its-cat-other-row{display:flex;justify-content:space-between;color:var(--teal);}
.its-cat-sidebar .its-cat-other-row .its-cat-other-count{color:var(--muted);}
.its-cat-other-count{color:var(--muted);font-size:11px;}
.its-cat-other-desc{display:block;font-size:11px;font-weight:400;color:var(--muted);line-height:1.4;margin-top:2px;}

@media (max-width:900px){
  .its-cat-layout{grid-template-columns:1fr;}
  .its-cat-sidebar{position:static;}
  .its-article-grid{grid-template-columns:1fr;}
}

/* ── Pagination ──────────────────────────────────────────────── */
.archive-pagination{margin:32px 0;display:flex;justify-content:center;}
.archive-pagination a.page-numbers,.archive-pagination a.page-numbers:link,.archive-pagination a.page-numbers:visited,.archive-pagination span.page-numbers{display:inline-block;padding:8px 14px;margin:0 4px;border:1px solid var(--border);background:var(--white);color:var(--teal);font-size:13px;font-weight:600;text-decoration:none;}
.archive-pagination span.page-numbers.current{background:var(--teal);color:var(--vanilla);border-color:var(--teal);}
.archive-pagination a.page-numbers:hover{background:var(--sage-lt);color:var(--teal);}

/* ── Related entities (cross-entity links : Voir aussi) ───────── */
.related-title{font-size:16px;font-weight:800;color:var(--teal);margin-bottom:12px;letter-spacing:.3px;}
.related-cards{display:flex;flex-wrap:wrap;gap:10px;}
.related-card{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--white);border:1px solid var(--border);transition:border-color .15s,box-shadow .15s;}
.related-card:hover{box-shadow:0 2px 8px rgba(0,0,0,.06);}
.related-card a{text-decoration:none;color:inherit;display:flex;align-items:center;gap:10px;}
.related-ini{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--sage-lt);color:var(--teal);font-size:13px;font-weight:800;border-radius:50%;flex-shrink:0;}
.related-info{display:flex;flex-direction:column;gap:2px;}
.related-name{font-size:13px;font-weight:700;color:var(--ink);line-height:1.2;}
.related-role{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);line-height:1;}
@media(max-width:768px){.related-cards{gap:8px;}.related-card{padding:8px 10px;}}

/* ══════════════════════════════════════════
   CLAIM CTA — « C'est votre fiche ? »
   Affiché sur les fiches CPT non revendiquées (player, team, staff, etc.).
   Rendu PHP : wp-content/plugins/its-rugby-core/inc/its-claim-cta.php
══════════════════════════════════════════ */
.its-claim-cta { font-family:'Noto Sans', sans-serif; font-size:13px; line-height:1.4; }
.its-claim-cta__inner { max-width:90%; margin:0 auto; display:flex; align-items:center; gap:12px; }
.its-claim-cta__link { display:inline-flex; align-items:center; gap:6px; color:#2d5a1e; text-decoration:none; font-weight:500; }
.its-claim-cta__link:hover { text-decoration:underline; }
.its-claim-cta__arrow { font-size:15px; transition:transform .15s ease; }
.its-claim-cta__link:hover .its-claim-cta__arrow { transform:translateX(3px); }

/* Variante hero_bottom — bandeau discret après le hero
   (background opaque obligatoire : doit masquer l'habillage) */
.its-claim-cta--hero-bottom { text-align:center; padding:10px 16px; background:var(--vanilla); border:1px solid var(--border); }
.its-claim-cta--hero-bottom .its-claim-cta__link { color:var(--muted); gap:4px; transition:color .2s; }
.its-claim-cta--hero-bottom .its-claim-cta__link:hover { color:var(--teal); }

/* Variante floating_bottom — barre fixe en bas (style cookie banner) */
.its-claim-cta--floating { position:fixed; bottom:0; left:0; right:0; z-index:9999; background:#f7faf5; border-top:1px solid #d5e8cc; border-left:3px solid #8ed968; padding:12px 24px; box-shadow:0 -2px 8px rgba(0,0,0,.06); }
.its-claim-cta--floating:hover { background:#eff5ec; }

/* ══════════════════════════════════════════
   CLAIM BOX — boîte d'état revendication sur fiches CPT singulier
   Affichée sur /staff/<slug>/, /arbitre/<slug>/, /player/<slug>/,
   /officiel/<slug>/, /team/<slug>/. Source canonique unique.
══════════════════════════════════════════ */
.its-claim-box { display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap; padding:18px 22px; margin:16px 0; border:1px solid var(--sage, #ABC8A2); border-left:4px solid var(--g-bright, #8ED968); background:linear-gradient(135deg, var(--sage-lt, #D7EAE2), var(--white) 65%); font-size:13px; line-height:1.55; color:var(--teal); box-shadow:0 2px 12px rgba(28,61,52,.07); }
.its-claim-box p { margin:0; font-weight:500; max-width:62ch; }
.its-claim-box form { margin:0; flex-shrink:0; }
.its-claim-box.its-claim-ok      { border-color:#059669; border-left-color:#059669; background:#ecfdf5; color:#065f46; box-shadow:none; }
.its-claim-box.its-claim-pending { border-color:#f59e0b; border-left-color:#f59e0b; background:#fffbeb; color:#92400e; box-shadow:none; }
.its-claim-btn { display:inline-flex; align-items:center; gap:7px; padding:10px 22px; background:var(--teal); color:#fff; border:0; cursor:pointer; font-family:inherit; font-size:12px; font-weight:700; letter-spacing:.4px; text-transform:uppercase; box-shadow:0 2px 8px rgba(28,61,52,.18); transition:background .15s, transform .15s, box-shadow .15s; }
.its-claim-btn:hover { background:var(--teal-dk, #172713); color:#fff; transform:translateY(-1px); box-shadow:0 4px 14px rgba(28,61,52,.26); }
@media(max-width:600px){ .its-claim-box { align-items:flex-start; } .its-claim-box form, .its-claim-box .its-claim-btn { width:100%; } .its-claim-box .its-claim-btn { justify-content:center; } }

/* Champ justificatif de licence (scan) — empile le form quand présent */
.its-claim-box form:has(.its-claim-licence-field) { display:flex; flex-direction:column; gap:12px; align-items:flex-start; width:100%; }
.its-claim-licence-field { margin:0; display:block; }
.its-claim-licence-label { display:block; font-size:12px; font-weight:700; letter-spacing:.3px; color:var(--teal); margin-bottom:5px; }
.its-claim-licence-hint { font-weight:400; opacity:.7; text-transform:none; letter-spacing:0; }
.its-claim-licence-field input[type=file] { font-size:12px; max-width:100%; }
.its-claim-proof-input { font-size:13px; width:100%; max-width:42ch; padding:8px 10px; border:1px solid var(--sage, #ABC8A2); border-radius:4px; font-family:inherit; }
.its-claim-proof-input:focus { outline:2px solid var(--g-bright, #8ED968); outline-offset:1px; }
.its-claim-licence-note { display:block; font-size:11px; line-height:1.4; opacity:.65; margin-top:5px; max-width:60ch; }

/* ══════════════════════════════════════════
   RELATIONS RUGBY — shortcode [relations_rugby]
   Tableau des liens ACF (joueur / équipe / compétition / match)
   sur les articles. Rendu PHP : its-rugby-core/inc/its-related-articles.php
══════════════════════════════════════════ */
.itr-wrap { margin:24px 0; border-radius:10px; overflow:hidden; background:#fff; border:1px solid #d6d6d6; box-shadow:0 4px 16px rgba(28,61,52,.08); font-family:'Noto Sans', sans-serif; }
.itr-wrap .itr-header { background:var(--teal, #1c3d34); color:#fff; padding:14px 20px; font-size:13px; font-weight:700; letter-spacing:.8px; text-transform:uppercase; display:flex; align-items:center; gap:8px; }
.itr-wrap .itr-header svg { width:18px; height:18px; fill:var(--g-bright, #8ed968); flex-shrink:0; }
.itr-wrap .itr-grid { display:grid; grid-template-columns:repeat(4, 1fr); }
.itr-wrap .itr-col { border-right:1px solid #e8e8e8; }
.itr-wrap .itr-col:last-child { border-right:none; }
.itr-wrap .itr-col-head { padding:10px 14px; background:var(--teal, #1c3d34); color:#fff; font-size:12px; font-weight:700; letter-spacing:.4px; text-transform:uppercase; border-bottom:2px solid var(--g-bright, #8ed968); display:flex; align-items:center; gap:6px; }
.itr-wrap .itr-col-head .itr-icon { font-size:14px; line-height:1; }
.itr-wrap .itr-item { padding:10px 14px; border-bottom:1px solid #efefef; }
.itr-wrap .itr-item:last-child { border-bottom:none; }
.itr-wrap .itr-item:nth-child(even) { background:#f7faf5; }
.itr-wrap .itr-item:nth-child(odd)  { background:#fff; }
.itr-wrap .itr-link { display:flex; align-items:center; gap:10px; color:var(--teal, #1c3d34); text-decoration:none; font-size:13px; font-weight:600; line-height:1.35; transition:color .15s ease; }
.itr-wrap .itr-link:hover { color:var(--g-bright, #8ed968); }
.itr-wrap .itr-thumb { width:34px; height:34px; border-radius:6px; object-fit:cover; flex-shrink:0; background:#eee; border:1px solid #ddd; }
.itr-wrap .itr-empty { padding:12px 14px; color:#bbb; font-size:13px; font-style:italic; }
@media (max-width:760px) {
    .itr-wrap .itr-grid { grid-template-columns:1fr 1fr; }
    .itr-wrap .itr-col:nth-child(2)  { border-right:none; }
    .itr-wrap .itr-col:nth-child(n+3){ border-top:1px solid #d6d6d6; }
}
@media (max-width:480px) {
    .itr-wrap .itr-grid { grid-template-columns:1fr; }
    .itr-wrap .itr-col { border-right:none; border-bottom:1px solid #d6d6d6; }
    .itr-wrap .itr-col:last-child { border-bottom:none; }
}
/* État vide (aucune relation) */
.itr-empty-block { margin:24px 0; padding:20px; background:#f9f9f9; border:1px solid #e0e0e0; border-radius:8px; text-align:center; color:#999; font-family:'Noto Sans', sans-serif; font-size:14px; }
.its-claim-cta--floating .its-claim-cta__inner { justify-content:center; }
.its-claim-cta__dismiss { background:none; border:none; font-size:20px; color:#6B6B6B; cursor:pointer; padding:0 4px; line-height:1; margin-left:auto; }
.its-claim-cta__dismiss:hover { color:#333; }

/* ══════════════════════════════════════════
   Header PROD (header-prod.php) — surcharges
   ══════════════════════════════════════════
   Note : on hérite des règles .site-header / .header-nav / .nav-dropdown
   définies plus haut dans ce fichier, et on n'ajoute ici que les ajustements
   spécifiques à la version prod (logo image, bloc actions, avatar).
*/
.site-header--prod{gap:24px;}
.site-header--prod .site-logo--img{display:inline-flex;align-items:center;gap:10px;color:var(--vanilla);text-decoration:none;}
.site-header--prod .site-logo--img img{display:block;width:36px;height:36px;border-radius:50%;background:var(--vanilla);object-fit:cover;}
.site-header--prod .site-logo-text{font-size:15px;font-weight:900;letter-spacing:.4px;color:var(--vanilla);text-transform:uppercase;}
.site-header--prod .header-nav{margin-left:24px;gap:22px;text-transform:uppercase;letter-spacing:.4px;}
.site-header--prod .header-nav a{color:rgba(242,229,210,.78);transition:color .15s,box-shadow .15s;}
.site-header--prod .header-nav a:hover,.site-header--prod .header-nav a.active{color:var(--vanilla);text-decoration:none;box-shadow:inset 0 -2px 0 var(--g-bright);}

.header-actions{display:inline-flex;align-items:center;gap:12px;margin-left:auto;}
.header-actions .header-search-link{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;color:rgba(242,229,210,.78);transition:color .15s,background .15s;}
.header-actions .header-search-link:hover{color:var(--vanilla);background:rgba(242,229,210,.08);}

/* Dropdown utilisateur (vue logué) */
.nav-dropdown--user{display:inline-flex;align-items:stretch;}
.header-user-trigger{display:inline-flex;align-items:center;gap:8px;padding:5px 10px 5px 5px;background:rgba(242,229,210,.06);color:var(--vanilla);font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.3px;cursor:pointer;transition:background .15s;}
.header-user-trigger:hover{background:rgba(242,229,210,.12);}
.header-user-avatar{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--g-bright);color:var(--teal-dk);font-size:11px;font-weight:900;letter-spacing:.5px;}
.header-user-name{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.nav-dropdown--user .nav-dropdown-menu{left:auto;right:0;min-width:240px;max-height:80vh;overflow-y:auto;}
.nav-dropdown--user .nav-dropdown-menu .nav-dropdown-espace-home{font-weight:800;color:var(--vanilla);}

/* ── Mega menu (header prod) ─────────────────────────────────
   Composant générique : un .nav-mega contient un trigger (lien)
   et un .nav-mega-panel (panneau pleine largeur) qui s'ouvre
   au survol/focus. Le panel est positionné absolu par rapport au
   header (qui a position:relative), donc il s'étend bord à bord ;
   .nav-mega-inner centre le contenu et le plafonne à 1280px. */
.site-header--prod{position:relative;}
/* Bouton logout pied de sidebar : visible uniquement en mobile (cf. menu-open ≤880px) */
.site-header__cell--mobile-logout{display:none;}
.nav-mega{position:static;display:inline-flex;align-items:center;align-self:stretch;}
.nav-mega-trigger{display:flex;align-items:center;gap:4px;height:100%;color:rgba(242,229,210,.78);text-decoration:none;transition:color .15s,box-shadow .15s;}
.nav-mega-trigger:hover,.nav-mega.is-open .nav-mega-trigger{color:var(--vanilla);box-shadow:inset 0 -2px 0 var(--g-bright);}
.nav-mega-trigger .nav-arrow{font-size:8px;opacity:.7;transition:transform .2s,opacity .2s;}
.nav-mega:hover .nav-mega-trigger .nav-arrow,.nav-mega.is-open .nav-mega-trigger .nav-arrow{transform:rotate(180deg);opacity:1;}

.nav-mega-panel{
  display:none;position:absolute;top:100%;left:0;right:0;
  background:var(--white);border-top:2px solid var(--g-bright);
  padding:24px 0;z-index:300;box-shadow:0 12px 32px rgba(0,0,0,.18);
}
/* Force la couleur teal sur tous les liens du panel (override le .site-header --vanilla) */
.site-header--prod .nav-mega-panel a{color:var(--teal) !important;}
.site-header--prod .nav-mega-panel a:hover{color:var(--teal-dk) !important;}
.nav-mega:hover .nav-mega-panel,.nav-mega.is-open .nav-mega-panel{display:block;}

.nav-mega-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 40px;
  max-width:1280px;margin:0 auto;padding:0 32px;
}
.nav-mega-panel--narrow .nav-mega-grid{grid-template-columns:repeat(4,minmax(0,1fr));max-width:1280px;}
/* Variante avec colonne "À la une" : 3 cols de liens + 1 col featured plus large */
.nav-mega-grid--with-feature{grid-template-columns:1.1fr 1.1fr 1.3fr 1.5fr;}

/* Items compet : logo carré + label, hover = trait sous le label seulement */
.nav-mega-item{
  display:flex;align-items:center;gap:12px;
  padding:8px 0;
  font-size:13px;font-weight:600;color:var(--teal);
  text-decoration:none;
}
.nav-mega-item-label{
  position:relative;
}
.nav-mega-item-logo{
  flex:0 0 40px;width:40px;height:40px;
  background:transparent;object-fit:contain;
}
.nav-mega-item-label{flex:1 1 auto;min-width:0;line-height:1.25;}
/* Items sans logo : pas d'indent gauche, label collé au bord */
.nav-mega-item--nologo{padding-left:0;padding-right:0;margin-left:0;margin-right:0;}

/* Colonne featured : carte article avec image + titre */
.nav-mega-feature-col{display:flex;flex-direction:column;}
.nav-mega-feature{
  display:flex;flex-direction:column;gap:0;
  background:var(--vanilla);border:1px solid rgba(28,61,52,.1);
  text-decoration:none;color:var(--teal);overflow:hidden;
  transition:border-color .15s,transform .15s,box-shadow .15s;
}
.nav-mega-feature:hover{border-color:var(--g-bright);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.08);}
.nav-mega-feature-eyebrow{
  display:block;padding:8px 12px 6px;
  font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;
  color:var(--teal);
}
.nav-mega-feature-img{
  display:block;width:100%;aspect-ratio:16/9;
  background-size:cover;background-position:center;
}
.nav-mega-feature-body{display:flex;flex-direction:column;gap:4px;padding:10px 12px 12px;background:var(--white);}
.nav-mega-feature-cat{
  font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;
  color:var(--muted);
}
.nav-mega-feature-title{font-size:12px;font-weight:700;line-height:1.35;color:var(--teal);}

/* Grille 3 annonces (mega menu Annonces) — card compacte sans image */
.nav-mega-annonces{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;
  max-width:1280px;margin:0 auto;padding:0 32px;
}
.nav-mega-annonce{
  position:relative;display:flex;flex-direction:column;gap:6px;
  padding:12px 14px 12px 18px;
  background:var(--white);border:1px solid rgba(28,61,52,.1);border-left:4px solid var(--teal);
  text-decoration:none !important;color:var(--teal) !important;
  transition:border-color .15s,transform .15s,box-shadow .15s,background .15s;
}
.nav-mega-annonce:hover{
  background:var(--vanilla);border-color:rgba(28,61,52,.18);
  transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.08);
}
/* Stripe gauche colorée par type */
.nav-mega-annonce--joueur{border-left-color:var(--blue);}
.nav-mega-annonce--staff{border-left-color:var(--yellow);}
.nav-mega-annonce--club{border-left-color:var(--teal);}
.nav-mega-annonce--bar{border-left-color:var(--red);}
.nav-mega-annonce--joueur:hover{border-left-color:var(--blue);}
.nav-mega-annonce--staff:hover{border-left-color:var(--yellow);}
.nav-mega-annonce--club:hover{border-left-color:var(--teal);}
.nav-mega-annonce--bar:hover{border-left-color:var(--red);}

.nav-mega-annonce-head{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.nav-mega-annonce-type{
  display:inline-block;padding:2px 7px;
  font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;
  background:var(--teal);color:var(--vanilla) !important;
}
.nav-mega-annonce--joueur .nav-mega-annonce-type{background:var(--blue);}
.nav-mega-annonce--staff .nav-mega-annonce-type{background:var(--yellow);}
.nav-mega-annonce--club .nav-mega-annonce-type{background:var(--teal);}
.nav-mega-annonce--bar .nav-mega-annonce-type{background:var(--red);}
.nav-mega-annonce-date{
  font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;
  color:var(--muted);flex:0 0 auto;
}
.nav-mega-annonce-title{
  font-size:13px;font-weight:800;line-height:1.3;color:var(--teal);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.nav-mega-annonce-resume{
  font-size:11px;font-weight:500;line-height:1.4;color:var(--muted);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.nav-mega-annonce-meta{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:2px;
  font-size:10px;font-weight:600;color:var(--teal);
}
.nav-mega-annonce-loc{display:inline-flex;align-items:center;gap:3px;color:var(--muted);}
.nav-mega-annonce-loc svg{flex:0 0 11px;opacity:.7;}
.nav-mega-annonce-niveau{
  display:inline-block;padding:1px 6px;
  background:var(--sage-lt);color:var(--teal);
  font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;
}

/* Bouton CTA (footer Annonces / autres) */
.nav-mega-foot--center{text-align:center;}
.site-header--prod .nav-mega-cta{
  display:inline-flex;align-items:center;gap:6px;
  padding:10px 22px;background:var(--g-bright);color:var(--teal-dk) !important;
  font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;
  text-decoration:none;transition:background .15s,box-shadow .15s,transform .15s;
  box-shadow:0 1px 3px rgba(0,0,0,.15);
}
.site-header--prod .nav-mega-cta:hover{background:#A8E082;box-shadow:0 4px 10px rgba(0,0,0,.18);transform:translateY(-1px);}

/* Compteur catégorie (Actus) */
.nav-mega-count{
  display:inline-block;margin-left:6px;padding:1px 6px;
  font-size:9px;font-style:normal;font-weight:700;
  background:var(--vanilla);color:var(--muted);
  border-radius:8px;letter-spacing:.04em;
}
.nav-mega-col a:hover .nav-mega-count{color:var(--teal);}
.nav-mega-col{display:flex;flex-direction:column;gap:2px;min-width:0;}
.site-header--prod .nav-mega-col-title{
  display:block;padding:0 0 6px;margin-bottom:4px;
  font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;
  color:var(--teal);border-bottom:1px solid rgba(28,61,52,.12);
}
/* Variante "sous-titre" pour grouper plusieurs blocs dans une même colonne mega */
.site-header--prod .nav-mega-col-title--sub{
  margin-top:14px;color:var(--muted);
  border-bottom:1px solid rgba(28,61,52,.06);
}

/* ════════════════════════════════════════════════════════════════
   Mega menu edito-first — réutilise .its-article-card existante
   (cf. itsrugby-common.css l. 836-852 + 1441-1450, design home/category)
   ════════════════════════════════════════════════════════════════ */
.nav-mega-edito{
  display:grid;gap:16px;
  max-width:1280px;margin:0 auto;padding:0 32px;
  grid-template-columns:repeat(4, minmax(0, 1fr));
}
/* Variante "logos" pour Compétitions : grille de logos à gauche + 1 hero à droite */
.nav-mega-edito--logos{grid-template-columns:1.5fr 1fr;}
.nav-mega-edito-side{display:flex;flex-direction:column;gap:8px;}
.nav-mega-edito-list{display:contents;} /* place les minis directement dans la grid parente */

/* 4 zones compétitions en grille 2×2 — texte seul (sans logo), max compacité */
.nav-mega-comps-zones{
  display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:14px 24px;
}
.nav-mega-comps-zone{display:flex;flex-direction:column;min-width:0;}
.nav-mega-comps{
  display:flex;flex-direction:column;gap:0;margin-top:4px;
}
/* Logos cachés dans les zones compétitions */
.nav-mega-comps-zones .nav-mega-item-logo{display:none;}
.nav-mega-comps-zones .nav-mega-item{padding:5px 0;gap:0;}
/* Placeholder logo gardé pour autres usages éventuels */
.nav-mega-item-logo--placeholder{display:block;background:var(--vanilla);}

/* Cards équipes — format horizontal logo carré gauche + nom/ville droite.
   Adapté aux logos (1:1, object-fit:contain) plutôt qu'aux images 16:9. */
.nav-mega-team{
  display:flex;align-items:center;gap:12px;
  padding:10px 12px;
  background:var(--white);
  text-decoration:none !important;color:var(--teal) !important;
}
.nav-mega-team-logo{
  flex:0 0 56px;width:56px;height:56px;
  object-fit:contain;background:var(--vanilla);padding:4px;
}
.nav-mega-team-logo--placeholder{
  display:block;background:linear-gradient(135deg,var(--vanilla),var(--vanilla-d));
}
.nav-mega-team-body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1;}
.nav-mega-team-name{
  font-size:13px;font-weight:800;line-height:1.25;color:var(--teal);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.nav-mega-team-meta{
  font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;
  color:var(--muted);
}
.nav-mega-team-compet{
  display:inline-block;align-self:flex-start;
  font-size:10px;font-weight:800;
  padding:2px 7px;background:var(--teal);color:var(--vanilla);
  text-transform:uppercase;letter-spacing:.3px;
}

.site-header--prod .nav-mega-grid-title{
  display:block;padding:0 0 8px;
  font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;
  color:var(--teal);border-bottom:1px solid rgba(28,61,52,.12);
}
.site-header--prod .nav-mega-grid-title--sub{margin-top:10px;color:var(--muted);}

/* Cards À la une du mega menu — réutilise .its-article-card (cf. category.php) avec
   image horizontale 3:1 pour rester compact sur la hauteur, body 12px, max 2 lignes */
.nav-mega-une-list{display:flex;flex-direction:column;gap:10px;margin-top:4px;}
.nav-mega-une-list .its-article-card{display:flex;flex-direction:column;}
.nav-mega-une-list .its-article-card-img{aspect-ratio:3/1;}
.nav-mega-une-list .its-article-card-body{padding:8px 12px 10px;gap:4px;}
.nav-mega-une-list .its-article-card-title{
  font-size:13px;-webkit-line-clamp:2;line-height:1.3;
  min-height:0;max-height:none;
}

/* Panel padding réduit pour un mega plus compact */
.nav-mega-edito{padding:18px 32px 0;}

/* "En bref" sidebar — copie des classes de itsrugby-article.css pour les rendre
   disponibles aussi dans le header (article.css n'est chargé que sur les singles).
   Pattern : .sidebar-box (white bg + bandeau teal title) + .sidebar-link (item avec cat + titre + date) */
.sidebar-box{background:var(--white);border:1px solid var(--border);padding:16px;}
.sidebar-box-title{
  font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;
  color:var(--vanilla);background:var(--teal);
  padding:10px 16px;margin:-16px -16px 12px;
  border-bottom:3px solid var(--g-bright);
}
.site-header--prod a.sidebar-link,
.sidebar-link{
  display:block;padding:10px 0 10px 12px;
  border-bottom:1px solid rgba(196,196,196,.3);
  font-size:13px;font-weight:600;color:var(--teal) !important;text-decoration:none !important;
  line-height:1.4;margin-left:-12px;
}
.sidebar-link:last-child{border-bottom:none;padding-bottom:0;}
.sidebar-link:first-child{padding-top:0;}
.sidebar-link-cat{
  display:inline-block;font-size:9px;font-weight:800;padding:2px 7px;
  color:var(--vanilla) !important;background:var(--teal);
  text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;
}
.sidebar-link-title{display:block;font-size:12px;font-weight:700;color:var(--teal);}
.sidebar-link-date{
  display:block;font-size:10px;font-weight:500;color:var(--muted);margin-top:4px;
  text-transform:uppercase;letter-spacing:.3px;
}
/* Variante "à la une" — premier item, cat en vert vif et titre plus gros */
.site-header--prod .sidebar-link--highlight .sidebar-link-cat{background:var(--g-bright);color:var(--teal-dk) !important;}
.site-header--prod .sidebar-link--highlight .sidebar-link-title{font-size:14px;font-weight:800;}

/* Footer quicklinks — barre horizontale de liens texte centrés */
.site-header--prod .nav-mega-foot--quicklinks{
  display:flex;justify-content:center;align-items:center;gap:24px;flex-wrap:wrap;
  margin-top:20px;padding:16px 32px 0;
  border-top:1px solid rgba(28,61,52,.1);
  max-width:1280px;
}
.site-header--prod .nav-mega-foot--quicklinks a{
  font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;
  color:var(--teal) !important;text-decoration:none !important;
}
.site-header--prod .nav-mega-foot--quicklinks a:hover{color:var(--teal-dk) !important;}
.site-header--prod .nav-mega-foot--quicklinks .nav-mega-foot-cta{
  background:var(--g-bright);color:var(--teal-dk) !important;
  padding:8px 16px;letter-spacing:.5px;transition:background .15s;
}
.site-header--prod .nav-mega-foot--quicklinks .nav-mega-foot-cta:hover{background:#A8E082;color:var(--teal-dk) !important;}

@media(max-width:1024px){
  .nav-mega-edito{grid-template-columns:repeat(2, minmax(0, 1fr));}
  .nav-mega-edito--logos{grid-template-columns:1fr;}
}
@media(max-width:680px){
  .nav-mega-edito{grid-template-columns:1fr;padding:0 16px;}
  .site-header--prod .nav-mega-foot--quicklinks{
    flex-direction:column;align-items:stretch;gap:8px;padding:12px 16px 0;
  }
  .site-header--prod .nav-mega-foot--quicklinks a{padding:8px 0;}
}
.site-header--prod .nav-mega-col a{
  display:block;padding:6px 0;font-size:12px;font-weight:600;
  color:var(--teal);text-decoration:none;text-transform:none;letter-spacing:0;
  transition:color .15s,padding-left .15s;
}
.site-header--prod .nav-mega-col a:hover{color:var(--teal-dk);padding-left:4px;}

.nav-mega-foot{
  max-width:1280px;margin:18px auto 0;padding:14px 32px 0;
  border-top:1px solid rgba(28,61,52,.12);
  text-align:right;
}
.site-header--prod .nav-mega-foot a{
  font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;
  color:var(--teal);text-decoration:none;
}
.site-header--prod .nav-mega-foot a:hover{color:var(--teal-dk);}

/* Mobile : adapt logo + actions + flatten mega menus en accordéon */
/* ══════════════════════════════════════════
   Mobile (≤880px) : alternative simplifiée au mega menu complet.
   On masque les blocs riches (cards, images, grids) et on garde
   uniquement un accordéon texte : trigger + foot-quicklinks.
   Breakpoint aligné avec le hamburger (CSS) et le JS click handler.
   ══════════════════════════════════════════ */
@media(max-width:880px){
  .site-header--prod{gap:12px;}
  .site-header--prod .site-logo-text{display:none;}
  .site-header--prod .site-logo--img img{width:32px;height:32px;}
  .header-actions{order:99;width:100%;justify-content:flex-end;padding:8px 0;border-top:1px solid rgba(242,229,210,.08);}
  .header-user-name{display:none;}
  .nav-dropdown--user .nav-dropdown-menu{left:auto;right:0;}

  /* Mega menus mobile : full-width, statique (accordéon via .open) */
  .nav-mega{flex-direction:column;align-self:stretch;position:relative;}
  .nav-mega::after{display:none;}
  .nav-mega-trigger{
    padding:12px 16px;font-size:12px;
    border-bottom:1px solid rgba(242,229,210,.08);
    justify-content:space-between;width:100%;
  }
  .nav-mega-trigger:hover,.nav-mega.is-open .nav-mega-trigger{box-shadow:none;}
  .nav-mega.open .nav-mega-trigger .nav-arrow{transform:rotate(180deg);}
  /* Panel toujours visible en mobile (menu flat direct, pas d'accordéon) */
  .nav-mega-panel{
    display:block !important;position:static !important;
    min-width:0 !important;max-width:none !important;width:100% !important;
    box-shadow:none !important;border:none !important;
    padding:0 0 8px !important;margin:0 !important;
    background:transparent !important;
    left:auto !important;right:auto !important;top:auto !important;
  }
  .nav-mega:hover .nav-mega-panel{display:block !important;}

  /* On masque le contenu riche : cards, grids, médias éditoriaux.
     L'accordéon mobile = liste texte uniquement. */
  .nav-mega-panel .nav-mega-grid,
  .nav-mega-panel .nav-mega-edito,
  .nav-mega-panel .nav-mega-edito-side,
  .nav-mega-panel .nav-mega-bars,
  .nav-mega-panel .nav-mega-bar-villes,
  .nav-mega-panel .nav-mega-annonces,
  .nav-mega-panel .nav-mega-feature,
  .nav-mega-panel .nav-mega-team,
  .nav-mega-panel .nav-mega-bar,
  .nav-mega-panel .nav-mega-villes{
    display:none !important;
  }

  /* Compétitions : flat list, groupée par zone avec sous-titres légers */
  .nav-mega[data-mega="competitions"] .nav-mega-edito{
    display:block !important;padding:0;margin:0;background:transparent;
  }
  .nav-mega[data-mega="competitions"] .nav-mega-edito-side{display:none !important;}
  .nav-mega[data-mega="competitions"] .nav-mega-comps-zones,
  .nav-mega[data-mega="competitions"] .nav-mega-comps{
    display:flex !important;flex-direction:column !important;gap:0 !important;
    padding:0 !important;margin:0 !important;background:transparent !important;
  }
  .nav-mega[data-mega="competitions"] .nav-mega-comps-zone{padding:0;margin:0;}
  /* Zone title = sous-section (caché si on veut, ou visible en italique discret) */
  .nav-mega[data-mega="competitions"] .nav-mega-grid-title{
    display:block !important;
    padding:6px 20px 2px !important;margin:0 !important;
    font-size:10px !important;font-weight:700 !important;
    text-transform:uppercase !important;letter-spacing:.08em !important;
    color:rgba(242,229,210,.45) !important;
    border:none !important;background:transparent !important;
    cursor:default !important;
  }
  .nav-mega[data-mega="competitions"] .nav-mega-item-logo{display:none !important;}
  .site-header--prod .nav-mega[data-mega="competitions"] .nav-mega-item{
    display:flex !important;padding:9px 20px !important;gap:0 !important;
    color:rgba(242,229,210,.88) !important;
    background:transparent !important;
    border-bottom:1px solid rgba(242,229,210,.05) !important;
    font-size:13px !important;font-weight:500 !important;
  }
  .site-header--prod .nav-mega[data-mega="competitions"] .nav-mega-item:hover{
    color:var(--vanilla) !important;padding-left:28px !important;
    box-shadow:inset 3px 0 0 var(--g-bright) !important;
  }
  .nav-mega[data-mega="competitions"] .nav-mega-item-label::after{display:none;}

  /* Sortir : 3 groupes (Voir / Aller au stade / Boire un verre) en flat list */
  .nav-mega-panel .nav-mega-sortir{
    display:flex !important;flex-direction:column !important;
    gap:0 !important;padding:0 !important;margin:0 !important;max-width:none !important;
  }
  .nav-mega-panel .nav-mega-sortir-col{gap:0 !important;}
  .nav-mega-panel .nav-mega-sortir .nav-mega-grid-title{
    display:block !important;padding:6px 20px 2px !important;margin:0 !important;
    font-size:10px !important;font-weight:700 !important;
    text-transform:uppercase !important;letter-spacing:.08em !important;
    color:rgba(242,229,210,.45) !important;
    border:none !important;background:transparent !important;
  }
  .site-header--prod .nav-mega-panel .nav-mega-sortir-link,
  .site-header--prod .nav-mega-panel .nav-mega-sortir-link--sub{
    display:flex !important;justify-content:flex-start !important;
    padding:9px 20px !important;color:rgba(242,229,210,.88) !important;
    background:transparent !important;
    border-bottom:1px solid rgba(242,229,210,.05) !important;
    font-size:13px !important;font-weight:500 !important;
  }
  .site-header--prod .nav-mega-panel .nav-mega-sortir-link:hover,
  .site-header--prod .nav-mega-panel .nav-mega-sortir-link--sub:hover{
    color:var(--vanilla) !important;padding-left:28px !important;
    box-shadow:inset 3px 0 0 var(--g-bright) !important;
  }

  /* Foot quicklinks = colonne unique, full-width sidebar.
     Reset explicite des règles desktop : max-width, gap, justify-content,
     padding, margin — sinon les liens s'indentent au milieu du sidebar. */
  .site-header--prod .nav-mega-foot,
  .site-header--prod .nav-mega-foot--quicklinks,
  .site-header--prod .nav-mega-foot--split{
    display:flex !important;flex-direction:column !important;
    align-items:stretch !important;justify-content:flex-start !important;
    gap:0 !important;margin:0 !important;padding:0 !important;
    max-width:none !important;width:100% !important;
    background:transparent !important;border:none !important;text-align:left !important;
    flex-wrap:nowrap !important;
  }
  .site-header--prod .nav-mega-foot a,
  .site-header--prod .nav-mega-foot--quicklinks a{
    display:block !important;width:100% !important;
    color:rgba(242,229,210,.88) !important;
    padding:11px 20px !important;margin:0 !important;
    font-size:13px !important;font-weight:600 !important;
    letter-spacing:.2px !important;text-transform:none !important;
    border-bottom:1px solid rgba(242,229,210,.06) !important;
    text-decoration:none !important;text-align:left !important;
    background:transparent !important;
  }
  .site-header--prod .nav-mega-foot a:last-child,
  .site-header--prod .nav-mega-foot--quicklinks a:last-child{border-bottom:none !important;}
  .site-header--prod .nav-mega-foot a:hover,
  .site-header--prod .nav-mega-foot--quicklinks a:hover{
    color:var(--vanilla) !important;background:transparent !important;
    box-shadow:inset 3px 0 0 var(--g-bright) !important;padding-left:24px !important;
  }
  .site-header--prod .nav-mega-foot--quicklinks .nav-mega-foot-cta{
    margin:8px 16px !important;padding:11px 14px !important;
    width:auto !important;background:var(--g-bright) !important;
    color:var(--teal-dk) !important;font-weight:800 !important;
    text-transform:uppercase !important;letter-spacing:.4px !important;
    border-bottom:none !important;text-align:center !important;
  }
  .site-header--prod .nav-mega-foot--quicklinks .nav-mega-foot-cta:hover{
    box-shadow:none !important;padding-left:14px !important;background:#A8E082 !important;
  }
}

/* ≤680px : encore plus compact (téléphones) */
@media(max-width:680px){
  .nav-mega-trigger{padding:10px 14px;font-size:11.5px;}
  .site-header--prod .nav-mega-foot a,
  .site-header--prod .nav-mega-foot--quicklinks a{font-size:12px;padding:9px 0;}
}

/* ══════════════════════════════════════════
   Header PROD v3 — layout 3 colonnes × 2 lignes
   ══════════════════════════════════════════
   ┌──────────────────────────┬────────┬──────────────────────────┐
   │  Cats (XV M F VII XIII)  │        │       Search   Profile   │
   ├──────────────────────────┤  LOGO  ├──────────────────────────┤
   │  Actus  Compét  Matchs   │        │ Clubs Joueurs Pronos Ann │
   └──────────────────────────┴────────┴──────────────────────────┘
   Le logo occupe les 2 lignes via grid-row:1/3.
   Les .nav-mega-panel s'ouvrent en absolu sous le header (full width).
*/
.site-header--v3{
  flex-direction:column;align-items:stretch;justify-content:flex-start;
  height:auto;padding:0;gap:0;
}

/* Largeur calée sur le contenu home (.home-bento : max-width:90%, centré).
   Le fond teal reste pleine largeur car porté par .site-header (parent). */
.site-header--v3 .site-header__top{
  width:90%;margin:0 auto;max-width:none;
}

/* Top bar : grid 3 cols × 2 rows. Placement explicite par grid-column / grid-row
   (plus robuste que grid-template-areas qui peut être contrarié par d'autres règles). */
.site-header--v3 .site-header__top{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  grid-template-rows:54px 54px;
  align-items:stretch;column-gap:32px;
  padding:6px 0;
  box-sizing:border-box;
}
.site-header--v3 .site-header__cell--cats-left    { grid-column:1;grid-row:1; }
.site-header--v3 .site-header__cell--actions-right{ grid-column:3;grid-row:1; }
.site-header--v3 .site-header__cell--nav-left     { grid-column:1;grid-row:2; }
.site-header--v3 .site-header__cell--nav-right    { grid-column:3;grid-row:2; }
.site-header--v3 .site-header__cell--logo         { grid-column:2;grid-row:1 / span 2; }

/* Style commun aux cellules side : flex centré vertical, padding vertical pour l'air */
.site-header--v3 .site-header__cell--cats-left,
.site-header--v3 .site-header__cell--actions-right,
.site-header--v3 .site-header__cell--nav-left,
.site-header--v3 .site-header__cell--nav-right{
  display:flex;align-items:center;gap:14px;
  padding:6px 0;
}
/* Alignement horizontal — symétrique gauche/droite :
   - Ligne 1 (cats / actions) → bords externes (extrémités)
   - Ligne 2 (nav-left + nav-right) → collées au logo (centre)
   `!important` pour battre les anciennes règles génériques .header-nav qui ont la
   même spécificité mais peuvent gagner par ordre de cascade selon le navigateur. */
.site-header--v3 .site-header__cell--cats-left{justify-content:flex-start !important;}
.site-header--v3 .site-header__cell--actions-right{justify-content:flex-end !important;}
.site-header--v3 .site-header__cell--nav-left{justify-content:flex-end !important;}
.site-header--v3 .site-header__cell--nav-right{justify-content:flex-start !important;}

/* Séparateur entre la ligne 1 et la ligne 2 — sur les nav-* (row 2) */
.site-header--v3 .site-header__cell--nav-left,
.site-header--v3 .site-header__cell--nav-right{
  border-top:1px solid rgba(242,229,210,.14);
}

/* Catégories — ligne 1 colonne gauche. flex:0 0 auto pour que le bloc cats se serre
   sur son contenu et que le justify-content:flex-end de la cellule parent puisse
   le pousser vers le logo (sinon il s'étalait sur toute la cellule). */
.site-header--v3 .site-cats{
  display:flex;align-items:stretch;gap:0;
  flex:0 0 auto;min-width:0;
  overflow-x:auto;scrollbar-width:none;
  background:transparent;border:none;
}
.site-header--v3 .site-cats::-webkit-scrollbar{display:none;}
.site-cat{
  flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;
  padding:0 14px;background:transparent;border:none;
  font-family:var(--sans);font-size:11px;font-weight:700;
  text-transform:uppercase;letter-spacing:.5px;
  color:rgba(242,229,210,.5);cursor:pointer;
  border-bottom:2px solid transparent;
  transition:color .15s,border-color .15s;
  white-space:nowrap;outline:none;height:100%;
}
.site-cat:hover{color:var(--vanilla);}
/* Pas de focus-ring rectangulaire (override la règle a11y globale) ; on garde
   focus-visible discret pour la navigation clavier. */
.site-cat:focus{outline:none;}
.site-cat:focus-visible{outline:1px dashed rgba(242,229,210,.5);outline-offset:-4px;}

/* Active state — uniquement .is-active posée en PHP quand on est sur l'archive
   correspondante (/thematique/masculin/, /thematique/feminin/, /type-de-rugby/15/).
   Pas de persistance JS : home et pages hors archive n'ont aucun tab actif. */
.site-cat.is-active{
  color:var(--vanilla);border-bottom-color:var(--g-bright);
}

/* Nav left/right (ligne 2) — items inline, plus aérés.
   `margin:0` reset le `margin-left:auto` hérité de la règle générique .header-nav qui
   sinon pousserait l'élément à droite et casserait le placement grid. */
.site-header--v3 .header-nav{
  display:flex;align-items:center;gap:26px;margin:0;
  font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;
}
.site-header--v3 .header-nav--left{justify-content:flex-end;}
.site-header--v3 .header-nav--right{justify-content:flex-start;}

/* Couleur uniforme pour TOUS les items de la nav (links simples ET nav-mega-trigger).
   Sinon les liens simples (Matchs, Joueurs, Pronos, Bars) héritent d'une opacité
   différente que les triggers à dropdown (Compétitions, Clubs, Annonces, Sortir),
   ce qui crée une incohérence visuelle. */
.site-header--v3 .header-nav > a,
.site-header--v3 .header-nav .nav-mega-trigger{
  color:var(--vanilla);
  transition:color .15s,box-shadow .15s;
}
.site-header--v3 .header-nav > a:hover,
.site-header--v3 .header-nav .nav-mega-trigger:hover,
.site-header--v3 .header-nav .nav-mega.is-open .nav-mega-trigger{
  color:var(--vanilla);
  box-shadow:inset 0 -2px 0 var(--g-bright);
}
.site-header--v3 .nav-mega{align-self:stretch;}
.site-header--v3 .nav-mega-trigger{height:100%;padding:0 2px;display:flex;align-items:center;}
.site-header--v3 .header-nav > a{display:inline-flex;align-items:center;height:100%;}

/* Logo : grid-area logo (col 2, span 2 rows), centré verticalement entre les 2 lignes.
   border-radius:50% !important pour battre le `*{border-radius:0!important}` global.
   Hauteur dispo = 108px (2 × 54px), image 96px. */
.site-header--v3 .site-logo--center{
  display:inline-flex;align-items:center;justify-content:center;
  text-decoration:none;padding:0 12px;
}
.site-header--v3 .site-logo--center img{
  display:block;width:96px;height:96px;
  border-radius:50% !important;object-fit:cover;background:transparent;
}

/* Carte des matchs / lien "Toutes les compétitions" en footer split */
.site-header--prod .nav-mega-foot--split{
  display:flex;justify-content:space-between;align-items:center;gap:24px;
}
.site-header--prod .nav-mega-foot--split a{flex:0 0 auto;}

/* Foot Annonces avec CTA centré : pas d'espace top quand il vient juste après les annonces */
.site-header--prod .nav-mega-annonces + .nav-mega-foot{margin-top:14px;padding-top:14px;}

/* ════════════════════════════════════════════════════════════════
   Mega Bars : cards bar dédiées (pas dépendantes d'image)
   1 hero "Bar du moment" + 3 minis, chips équipement, ville eyebrow
   ════════════════════════════════════════════════════════════════ */
.nav-mega-bars{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;
  max-width:1280px;margin:0 auto;padding:0 32px;
}
.site-header--prod .nav-mega-bar{
  display:flex;flex-direction:column;gap:6px;
  padding:14px 16px;min-height:140px;
  background:var(--white);border:1px solid rgba(28,61,52,.1);
  color:var(--teal) !important;text-decoration:none !important;
  transition:border-color .15s,transform .15s,box-shadow .15s;
}
.site-header--prod .nav-mega-bar:hover{
  border-color:var(--g-bright);transform:translateY(-1px);
  box-shadow:0 4px 12px rgba(0,0,0,.08);
}
.site-header--prod .nav-mega-bar--hero{
  border-left:4px solid var(--g-bright);
}
.nav-mega-bar-eyebrow{
  display:inline-block;align-self:flex-start;
  padding:2px 7px;background:var(--teal);color:var(--vanilla) !important;
  font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;
}
.nav-mega-bar-city{
  display:inline-flex;align-items:center;gap:4px;
  font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;
  color:var(--muted);
}
.nav-mega-bar-city svg{flex:0 0 10px;opacity:.7;}
.site-header--prod .nav-mega-bar-title{
  font-size:14px;font-weight:800;line-height:1.25;color:var(--teal);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.site-header--prod .nav-mega-bar--mini .nav-mega-bar-title{font-size:13px;}
.nav-mega-bar-avis{
  font-size:11px;font-weight:500;line-height:1.45;color:var(--muted);
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
  margin-top:2px;
}
.nav-mega-bar-tags{
  display:flex;flex-wrap:wrap;gap:4px;margin-top:auto;padding-top:6px;
}
.nav-mega-bar-tag{
  display:inline-block;padding:2px 7px;
  background:var(--sage-lt);color:var(--teal);
  font-size:10px;font-weight:700;letter-spacing:.02em;line-height:1.4;
}

@media(max-width:1024px){
  .nav-mega-bars{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 24px;}
}
@media(max-width:880px){
  .nav-mega-bars{grid-template-columns:1fr;padding:0 16px;gap:10px;}
  .site-header--prod .nav-mega-bar{min-height:0;}
}

.nav-mega-bars + .nav-mega-villes{margin-top:18px;padding-top:18px;}

/* ── Directory villes (sous le mega Bars) ── */
.nav-mega-bar-villes{
  max-width:1280px;margin:18px auto 0;padding:18px 32px 0;
  border-top:1px solid rgba(28,61,52,.08);
}
.nav-mega-bar-villes-title{
  display:block;margin-bottom:10px;
  font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;
  color:var(--muted);
}
.nav-mega-bar-villes-list{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px 14px;
}
.site-header--prod .nav-mega-bar-ville{
  display:block;
  padding:6px 0;
  border-bottom:1px solid rgba(28,61,52,.06);
  color:var(--teal) !important;text-decoration:none !important;
  transition:color .15s,padding-left .15s;
}
.site-header--prod .nav-mega-bar-ville:hover{
  color:var(--teal-dk) !important;padding-left:4px;
}
.nav-mega-bar-ville-name{
  font-size:13px;font-weight:700;line-height:1.2;
}

@media(max-width:1024px){
  .nav-mega-bar-villes-list{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:880px){
  .nav-mega-bar-villes{padding:14px 16px 0;}
  .nav-mega-bar-villes-list{grid-template-columns:repeat(2,minmax(0,1fr));}
}

/* ════════════════════════════════════════════════════════════════
   Mega Sortir : rubrique "Bars par ville" (taxonomy ville)
   ════════════════════════════════════════════════════════════════ */
.nav-mega-villes{
  max-width:1280px;margin:18px auto 0;padding:18px 32px 0;
  border-top:1px solid rgba(28,61,52,.08);
  display:flex;align-items:flex-start;gap:18px;flex-wrap:wrap;
}
.nav-mega-villes-label{
  flex:0 0 auto;
  font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;
  color:var(--muted);padding-top:6px;
}
.nav-mega-villes-list{
  flex:1 1 auto;display:flex;flex-wrap:wrap;gap:6px;
}
.site-header--prod .nav-mega-ville{
  display:inline-flex;align-items:center;gap:6px;
  padding:5px 10px;
  background:var(--vanilla);border:1px solid rgba(28,61,52,.1);
  font-size:12px;font-weight:700;line-height:1.2;
  color:var(--teal) !important;text-decoration:none !important;
  transition:background .15s,border-color .15s,color .15s;
}
.site-header--prod .nav-mega-ville:hover{
  background:var(--sage-lt);border-color:var(--g-bright);
  color:var(--teal-dk) !important;
}
.nav-mega-ville-count{
  display:inline-block;min-width:18px;padding:1px 5px;
  background:var(--white);border:1px solid rgba(28,61,52,.12);
  font-size:10px;font-weight:800;color:var(--muted);text-align:center;
}
.site-header--prod .nav-mega-ville:hover .nav-mega-ville-count{
  background:var(--white);color:var(--teal-dk);border-color:var(--g-bright);
}
.nav-mega-villes + .nav-mega-foot{margin-top:14px;padding-top:14px;}

@media(max-width:880px){
  .nav-mega-villes{padding:14px 16px 0;gap:10px;}
  .nav-mega-villes-label{padding-top:0;}
}

/* ════════════════════════════════════════════════════════════════
   Mega Sortir : 3 colonnes thématiques
   ════════════════════════════════════════════════════════════════ */
.nav-mega-sortir{
  display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:24px 32px;
  max-width:1280px;margin:0 auto;padding:0 32px;
}
.nav-mega-sortir-col{display:flex;flex-direction:column;min-width:0;}
.site-header--prod .nav-mega-sortir-link{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:8px 0;
  font-size:13px;font-weight:700;line-height:1.3;
  color:var(--teal) !important;text-decoration:none !important;
  border-bottom:1px solid rgba(28,61,52,.06);
  transition:color .15s,padding-left .15s;
}
.site-header--prod .nav-mega-sortir-link:hover{
  color:var(--teal-dk) !important;padding-left:4px;
}
.site-header--prod .nav-mega-sortir-link--sub{
  font-size:12px;font-weight:600;color:var(--muted) !important;
}
.site-header--prod .nav-mega-sortir-link--sub:hover{color:var(--teal) !important;}
.nav-mega-sortir-count{
  display:inline-block;min-width:18px;padding:1px 5px;
  background:var(--vanilla);border:1px solid rgba(28,61,52,.1);
  font-size:10px;font-weight:800;color:var(--muted);text-align:center;
}

@media(max-width:1024px){
  .nav-mega-sortir{grid-template-columns:repeat(3, minmax(0, 1fr));gap:18px 20px;padding:0 24px;}
}
@media(max-width:880px){
  .nav-mega-sortir{grid-template-columns:1fr;gap:14px;padding:0 16px;}
}

/* Tablette : compactage, logo plus petit */
@media(max-width:1024px){
  .site-header--v3 .site-header__top{padding:6px 16px;column-gap:16px;}
  .site-cat{padding:0 10px;font-size:10.5px;letter-spacing:.4px;}
  .site-header--v3 .site-logo--center img{width:72px;height:72px;}
  .site-header--v3 .header-nav{gap:16px;font-size:11px;}
}

/* Mobile : on aplatit le grid → flex single row, cats + navs cachées (hamburger gère),
   logo passe à gauche après le hamburger */
@media(max-width:880px){
  .site-header--v3 .site-header__top{
    display:flex;align-items:center;padding:0 14px;column-gap:0;gap:10px;
    min-height:52px;grid-template-areas:none;
  }
  .site-header--v3 .site-header__cell--cats-left{flex:0 0 auto;gap:8px;}
  .site-header--v3 .site-header__cell--actions-right{margin-left:auto;}
  .site-header--v3 .site-header__cell--nav-left,
  .site-header--v3 .site-header__cell--nav-right{display:none;border:none;}
  .site-header--v3 .site-cats{display:none;}
  .site-header--v3 .header-cta-signup,
  .site-header--v3 .header-cta-login{display:none;}

  /* Logo plus petit en mobile */
  .site-header--v3 .site-logo--center{padding:0;}
  .site-header--v3 .site-logo--center img{width:36px;height:36px;}

  /* Liens simples (Matchs, Joueurs, Pronos) = items pleins */
  .site-header--v3 .header-nav > a{
    padding:13px 20px;
    border-bottom:1px solid rgba(242,229,210,.08);
    color:var(--vanilla);font-size:14px;font-weight:700;
    text-transform:uppercase;letter-spacing:.4px;
  }
  /* Triggers de mega = titres de section (visuels distincts, pas d'accordéon) */
  .site-header--v3 .nav-mega-trigger{
    padding:18px 20px 8px;
    color:var(--g-bright) !important;
    font-size:11px !important;font-weight:800;
    text-transform:uppercase;letter-spacing:.12em;
    border:none;background:transparent;
    pointer-events:none; /* non-cliquable : on guide vers les items en dessous */
  }
  .site-header--v3 .nav-mega-trigger .nav-arrow{display:none;}
  .site-header--v3 .nav-mega-trigger:hover{
    box-shadow:none !important;color:var(--g-bright) !important;
  }

  /* ═══ Sidebar mobile plein écran ═══
     Quand .menu-open est posé sur le header, on transforme tout le
     `.site-header__top` en sidebar fixe (slide-in depuis la gauche).
     Les 2 navs (left + right) deviennent des sections empilées,
     le logo passe en haut comme branding, le reste est masqué. */
  html.its-menu-open{overflow:hidden;}
  html.its-menu-open body::before{
    content:'';position:fixed;inset:0;z-index:10000;
    background:rgba(23,39,19,.55);backdrop-filter:blur(2px);
    -webkit-backdrop-filter:blur(2px);
  }
  /* Le header a z-index:200 qui crée un stacking context : on le bump
     au-dessus du backdrop (10000) pour que le sidebar ne soit pas voilé. */
  .site-header.menu-open{z-index:10020 !important;}
  .site-header--v3.menu-open .site-header__top{
    position:fixed;top:0;left:0;bottom:0;width:min(340px,88vw);
    z-index:1;display:flex;flex-direction:column;align-items:stretch;
    padding:0;gap:0;background:var(--teal);
    border-right:1px solid rgba(242,229,210,.08);
    box-shadow:4px 0 24px rgba(0,0,0,.35);
    overflow-y:auto;overscroll-behavior:contain;
  }
  /* Cellule hamburger + cats : ne montre que le X en haut à gauche */
  .site-header--v3.menu-open .site-header__cell--cats-left{
    order:1;padding:14px 16px;border-bottom:1px solid rgba(242,229,210,.1);
    justify-content:flex-start;align-items:center;
  }
  .site-header--v3.menu-open .site-cats{display:none;}

  /* Bouton fermeture : hamburger agrandi + label "Fermer" à droite */
  .site-header--v3.menu-open .site-hamburger{
    display:flex !important;flex-direction:column;justify-content:center;align-items:stretch;
    gap:5px;width:36px;height:36px;padding:8px;
    background:rgba(242,229,210,.10);
    transition:background .15s;position:relative;flex:0 0 auto;
  }
  .site-header--v3.menu-open .site-hamburger:hover,
  .site-header--v3.menu-open .site-hamburger:focus-visible{
    background:rgba(242,229,210,.18);
  }
  .site-header--v3.menu-open .site-hamburger span{
    height:2.5px;background:var(--vanilla);width:100%;
  }
  .site-header--v3.menu-open .site-hamburger.open span:nth-child(1){transform:translateY(7.5px) rotate(45deg);}
  .site-header--v3.menu-open .site-hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0);}
  .site-header--v3.menu-open .site-hamburger.open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg);}
  .site-header--v3.menu-open .site-header__cell--cats-left::after{
    content:'Fermer';
    font-size:13px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;
    color:var(--vanilla);pointer-events:none;
    align-self:center;margin-left:12px;
  }
  .site-header--v3.menu-open .site-header__cell--cats-left{
    position:relative;display:flex;align-items:center;
  }

  /* Logo : barre de branding en haut du sidebar, aligné à droite */
  .site-header--v3.menu-open .site-header__cell--logo{
    order:1;padding:0;margin-left:auto;margin-right:16px;
  }
  .site-header--v3.menu-open .site-logo--center img{width:34px;height:34px;}
  /* Actions (search + profil) : chacun sur SA ligne, full width.
     /!\ flex:0 0 auto (pas 100%) — le parent est flex-direction:column donc
     flex-basis agit sur la hauteur, 100% prendrait toute la hauteur du sidebar. */
  .site-header--v3.menu-open .site-header__cell--actions-right{
    order:2;margin-left:0;padding:0;
    border:none;width:100%;flex:0 0 auto;
  }
  .site-header--v3.menu-open .header-actions{
    width:100%;display:flex !important;flex-direction:column !important;
    align-items:stretch !important;gap:0 !important;
    padding:0 !important;border:none !important;margin:0 !important;
  }
  /* Loupe search : ligne pleine largeur avec label "Rechercher" */
  .site-header--v3.menu-open .header-search-link{
    width:100%;height:auto;padding:13px 20px;
    display:flex;align-items:center;gap:14px;
    justify-content:flex-start;
    color:var(--vanilla);background:transparent;
    border-bottom:1px solid rgba(242,229,210,.08);
    font-size:14px;font-weight:700;
    text-transform:uppercase;letter-spacing:.4px;
  }
  .site-header--v3.menu-open .header-search-link::after{
    content:'Rechercher';
  }
  .site-header--v3.menu-open .header-search-link:hover{
    background:rgba(242,229,210,.04);color:var(--vanilla);
  }
  /* CTA login (logged-out) : full width aussi */
  .site-header--v3.menu-open .header-cta-signup,
  .site-header--v3.menu-open .header-cta-login{
    display:block !important;width:100%;text-align:center;
    padding:13px 20px;border-bottom:1px solid rgba(242,229,210,.08);
    border-radius:0;margin:0;
  }
  /* Navs : sections principales, full width, en colonne */
  .site-header--v3.menu-open .header-nav.open{
    display:flex !important;flex-direction:column;align-items:stretch;
    position:static;width:100%;flex:0 0 auto;gap:0;background:transparent;
    border:none;box-shadow:none;padding:0;overflow:visible;
  }
  .site-header--v3.menu-open .header-nav.header-nav--left.open{order:3;}
  .site-header--v3.menu-open .header-nav.header-nav--right.open{order:4;border-top:1px solid rgba(242,229,210,.12);}

  .site-hamburger.open{background:rgba(242,229,210,.08);}

  /* ═══ Mobile : "Se déconnecter" en pied de sidebar ═══
     Pratique pour ne pas avoir à dérouler l'accordéon profil pour se déco. */
  .site-header--v3.menu-open .site-header__cell--mobile-logout{
    display:block !important;order:99;flex:0 0 auto;width:100%;
    margin-top:auto;padding:16px 20px 24px;
    border-top:1px solid rgba(242,229,210,.12);
    background:rgba(242,229,210,.04);
  }
  .site-header--v3.menu-open .mobile-logout-link{
    display:flex;align-items:center;justify-content:flex-start;gap:10px;
    padding:11px 14px;width:100%;
    color:var(--vanilla);font-size:13px;font-weight:700;
    text-transform:uppercase;letter-spacing:.4px;
    background:rgba(242,229,210,.06);
    text-decoration:none;transition:background .15s,color .15s;
  }
  .site-header--v3.menu-open .mobile-logout-link:hover{
    background:rgba(192,57,43,.18);color:#fff;
  }
  .site-header--v3.menu-open .mobile-logout-link svg{flex:0 0 16px;opacity:.85;}

  /* ═══ Dropdown user (FL avatar → espaces) en accordéon mobile ═══
     Trigger pleine largeur (comme MATCHS/JOUEURS), menu inline propre. */
  .site-header--v3.menu-open .nav-dropdown{
    flex-direction:column !important;align-self:stretch !important;
    display:flex !important;width:100% !important;position:static !important;
  }
  .site-header--v3.menu-open .nav-dropdown::after{display:none !important;}
  .site-header--v3.menu-open .header-user-trigger{
    width:100% !important;display:flex !important;align-items:center !important;
    justify-content:flex-start !important;gap:12px !important;
    padding:13px 20px !important;
    background:transparent !important;border:none !important;
    border-bottom:1px solid rgba(242,229,210,.08) !important;
    color:var(--vanilla) !important;font-size:14px !important;font-weight:700 !important;
    text-transform:uppercase;letter-spacing:.4px;
  }
  .site-header--v3.menu-open .header-user-trigger:hover{
    background:rgba(242,229,210,.04) !important;
  }
  .site-header--v3.menu-open .header-user-avatar{
    flex:0 0 28px;width:28px;height:28px;font-size:11px;
  }
  .site-header--v3.menu-open .header-user-name{
    display:inline-block !important;max-width:none !important;
    flex:1 1 auto !important;text-align:left !important;
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  }
  .site-header--v3.menu-open .header-user-trigger .nav-arrow{
    flex:0 0 auto;font-size:10px;margin-left:6px;
  }
  /* Menu dropdown : accordéon inline, fond uni (sans boîte sombre) */
  .site-header--v3.menu-open .nav-dropdown-menu{
    display:none !important;position:static !important;
    width:100% !important;min-width:0 !important;max-width:none !important;
    left:auto !important;right:auto !important;top:auto !important;
    box-shadow:none !important;border:none !important;
    background:transparent !important;
    padding:0 !important;margin:0 !important;
    max-height:none !important;overflow:visible !important;
  }
  .site-header--v3.menu-open .nav-dropdown.open .nav-dropdown-menu,
  .site-header--v3.menu-open .nav-dropdown.is-open .nav-dropdown-menu{
    display:block !important;
  }
  .site-header--v3.menu-open .nav-dropdown:hover .nav-dropdown-menu{display:none !important;}
  .site-header--v3.menu-open .nav-dropdown.open:hover .nav-dropdown-menu,
  .site-header--v3.menu-open .nav-dropdown.is-open:hover .nav-dropdown-menu{
    display:block !important;
  }
  /* Items du menu profil : même style que les liens de mega flat */
  .site-header--v3.menu-open .nav-dropdown-menu a{
    display:block !important;width:100% !important;
    padding:11px 20px 11px 36px !important;
    font-size:13px !important;font-weight:500 !important;
    white-space:normal !important;text-transform:none !important;
    letter-spacing:0 !important;
    color:rgba(242,229,210,.78) !important;
    background:transparent !important;
    border-bottom:1px solid rgba(242,229,210,.04) !important;
  }
  .site-header--v3.menu-open .nav-dropdown-menu a:hover{
    color:var(--vanilla) !important;background:transparent !important;
    box-shadow:inset 3px 0 0 var(--g-bright) !important;padding-left:44px !important;
  }
  /* Entête de groupe "ESPACE RÉDACTION", "COMPTE" */
  .site-header--v3.menu-open .nav-dropdown-sep{
    display:block;position:static !important;
    padding:14px 20px 4px !important;margin:0 !important;
    font-size:10px !important;font-weight:800 !important;
    text-transform:uppercase;letter-spacing:.1em;
    color:rgba(242,229,210,.45) !important;
    background:transparent !important;border:none !important;
  }
  /* Home label de chaque espace (Mon compte, Production éditoriale…) en gras */
  .site-header--v3.menu-open .nav-dropdown-espace-home{
    color:var(--vanilla) !important;font-weight:700 !important;
  }
}


/* ============================================================
   PAGES LÉGALES — variant du page-hero + lisibilité du contenu
   (mentions, CGU, politique de confidentialité, politique de cookies)
   ============================================================ */
.page-hero--legal { padding: 56px 24px 48px; }
.page-hero--legal h1 { font-size: clamp(26px, 4vw, 36px); margin-bottom: 12px; }
.page-hero--legal .page-hero-desc { font-size: 14px; max-width: 640px; }

.its-page-article--legal { max-width: 820px; margin: 32px auto 64px; padding: 0 24px; line-height: 1.7; color: var(--ink, #1a1a1a); }
.its-page-article--legal > p:first-child { color: var(--muted, #6b6b6b); font-size: 13px; margin-bottom: 32px; }
.its-page-article--legal h2 { margin-top: 40px; margin-bottom: 14px; font-size: clamp(18px, 2.4vw, 22px); color: var(--teal, #1c3d34); font-weight: 800; letter-spacing: -.2px; border-bottom: 2px solid var(--g-bright, #8ed968); padding-bottom: 6px; display: inline-block; }
.its-page-article--legal h3 { margin-top: 24px; margin-bottom: 8px; font-size: 15px; font-weight: 700; color: var(--teal-dk, #172713); }
.its-page-article--legal p { margin-bottom: 12px; }
.its-page-article--legal ul { margin: 8px 0 16px 20px; }
.its-page-article--legal ul li { margin-bottom: 4px; }
.its-page-article--legal a { color: var(--teal, #1c3d34); text-decoration: underline; }
.its-page-article--legal a:hover { color: var(--g-bright, #8ed968); }
.its-page-article--legal table { width: 100%; border-collapse: collapse; margin: 16px 0 24px; font-size: 13px; }
.its-page-article--legal table th, .its-page-article--legal table td { border: 1px solid var(--border, #e0d8c8); padding: 8px 10px; text-align: left; vertical-align: top; }
.its-page-article--legal table th { background: var(--vanilla, #f5efe0); font-weight: 700; }
.its-page-article--legal code { background: var(--vanilla, #f5efe0); padding: 1px 5px; border-radius: 3px; font-size: 12px; }

@media (max-width: 720px) {
  .its-page-article--legal { padding: 0 16px; margin: 24px auto 48px; }
  .its-page-article--legal h2 { margin-top: 28px; font-size: 18px; }
}

/* Bouton "Gérer mes préférences de cookies" dans la page Politique de cookies */
.its-didomi-cta{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--teal,#1c3d34);color:var(--vanilla,#f2e5d2);
  border:0;border-radius:6px;cursor:pointer;
  padding:10px 20px;font-size:14px;font-weight:700;letter-spacing:.2px;
  text-decoration:none;
  transition:background .15s,transform .15s,box-shadow .15s;
}
.its-didomi-cta:hover{background:var(--teal-dk,#172713);transform:translateY(-1px);box-shadow:0 4px 12px rgba(28,61,52,.18);}
.its-didomi-cta:focus-visible{outline:2px solid var(--g-bright,#8ed968);outline-offset:2px;}

/* Ré-acceptation des consentements (/reacceptation/) — bloc "Documents en vigueur" */
.its-consent-reaccept-docs{background:var(--vanilla,#FFF8E8);border:1px solid var(--border,#E5E1D2);border-radius:8px;padding:14px 18px;margin:16px 0 24px;}
.its-consent-reaccept-docs h3{margin:0 0 8px;font-size:14px;text-transform:uppercase;letter-spacing:.04em;color:var(--teal,#1C3D34);}
.its-consent-reaccept-docs ul{margin:0;padding-left:20px;}
.its-consent-reaccept-docs li{margin:4px 0;}
.its-consent-reaccept-docs a{color:var(--teal,#1C3D34);text-decoration:underline;}
.its-consent-reaccept-docs a:hover{color:var(--teal-dk,#172713);}

/* cache-bust: 1778000005 */
