/* ════════════════════════════════════════════════════════════════
   IT'S RUGBY — ARTICLE PAGE CSS
   Template-specific styles for the article page
   ════════════════════════════════════════════════════════════════ */

/* ── Article hero zone ───────────────────────────────────────── */
.article-hero{position:relative;background:var(--teal);overflow:hidden;min-height:320px;display:flex;flex-direction:column;justify-content:flex-end;}
.article-hero.article-hero--compact{min-height:220px;}
.article-hero--compact .article-hero-overlay{padding:36px 0 22px;}
.article-hero--compact .article-title{font-size:clamp(20px,2.4vw,28px);}
.article-hero-img{position:absolute;inset:0;}
.article-hero-img img{width:100%;height:100%;object-fit:cover;filter:brightness(.55);}
.article-hero-overlay{position:absolute;inset:0;z-index:2;background:linear-gradient(to top,rgba(28,61,52,.88) 0%,rgba(28,61,52,.55) 45%,rgba(28,61,52,.25) 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:60px 0 28px;}
.article-hero-content{width:100%;max-width:1200px;margin:0 auto;padding:0 24px;box-sizing:border-box;}

/* ── Category badge ──────────────────────────────────────────── */
.its-v2 a.article-cat-badge,.article-cat-badge{display:inline-block;font-size:11px;font-weight:800;letter-spacing:0;text-transform:none;padding:4px 12px;color:var(--teal);background:var(--vanilla);margin-bottom:12px;text-decoration:none;}
.its-v2 a.article-cat-badge:hover{color:var(--teal);background:var(--vanilla-d, #E8D8C0);}

/* ── Article header ──────────────────────────────────────────── */
.its-v2 .article-hero h1.article-title,.its-v2 h1.article-title,.article-hero h1.article-title,.article-title{font-size:clamp(22px,3vw,32px);font-weight:900;line-height:1.2;color:var(--vanilla);margin-bottom:12px;}

/* ── Chapô ───────────────────────────────────────────────────── */
.article-hero .article-chapo{font-size:15px;font-weight:500;color:rgba(242,229,210,.8);line-height:1.7;border-left:3px solid var(--sage);padding-left:16px;margin:20px 0;}

/* ── Author meta ─────────────────────────────────────────────── */
.article-hero .article-meta{display:flex;align-items:center;gap:16px;font-size:12px;color:rgba(242,229,210,.7);margin:16px 0 0;flex-wrap:wrap;padding-bottom:28px;}
.article-hero .article-credits{display:flex;gap:12px;align-items:center;flex-wrap:wrap;}
.article-hero .article-credit{display:flex;align-items:center;gap:8px;}
.article-hero .article-credit + .article-credit::before{content:"·";color:rgba(242,229,210,.4);margin-right:0;font-weight:700;}
.article-hero .article-meta-avatar{width:32px;height:32px;background:rgba(242,229,210,.15);color:var(--vanilla);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:11px;flex-shrink:0;}
.article-hero .article-meta-author{font-weight:700;color:var(--vanilla);}
.article-hero .article-meta-role{font-size:10px;color:rgba(242,229,210,.5);text-transform:none;letter-spacing:0;}

/* ── Content wrapper (opaque bg) ─────────────────────────────── */
.article-content-wrap{background:var(--vanilla);position:relative;z-index:2;padding:16px 0;}

/* ── Share row ───────────────────────────────────────────────── */
.share-row{display:flex;gap:8px;margin:12px 0 0;}
.share-btn{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:700;padding:5px 12px;border:1px solid var(--border);color:var(--teal);background:var(--white);cursor:pointer;text-transform:none;letter-spacing:0;}
.share-btn:hover{background:var(--sage-lt);border-color:var(--teal);}

/* ── Two-column article layout ───────────────────────────────── */
.article-layout{display:grid;grid-template-columns:1fr 300px;gap:32px;align-items:start;}
.article-layout--narrow{grid-template-columns:minmax(0,720px);justify-content:center;}

/* ── Blog partenaire — single template (calé sur single-article) ─ */
.bp-hero-badges{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px;}
.bp-hero-badges .article-cat-badge{margin-bottom:0;}
.bp-hero-source-kicker{font-size:11px;font-weight:700;color:rgba(242,229,210,.85);text-transform:none;letter-spacing:0;}
.bp-source-cta{background:var(--white);border:1px solid var(--border);border-left:4px solid var(--sage);padding:22px 24px;margin:24px 0;box-shadow:0 2px 12px rgba(28,61,52,.06);}
.bp-source-cta-row{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;}
.bp-source-cta-body{display:flex;flex-direction:column;gap:2px;min-width:0;}
.bp-source-cta-kicker{font-size:10px;font-weight:800;letter-spacing:0;text-transform:none;color:var(--muted);}
.bp-source-cta-name{font-size:18px;font-weight:900;color:var(--teal);line-height:1.2;}
.bp-source-cta-host{font-size:12px;font-weight:600;color:var(--muted);font-variant:tabular-nums;}
.bp-source-cta-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:var(--teal);color:var(--vanilla);border:1px solid var(--teal);text-decoration:none;font-size:13px;font-weight:800;letter-spacing:.3px;transition:background .15s,border-color .15s,color .15s;flex-shrink:0;}
.bp-source-cta-btn:hover,.bp-source-cta-btn:focus-visible{background:var(--teal-dk,#15302a);border-color:var(--teal-dk,#15302a);color:var(--vanilla);}
.bp-source-cta-note{margin:16px 0 0;padding-top:14px;border-top:1px solid var(--border);font-size:11px;line-height:1.6;color:var(--muted);font-style:italic;}
.bp-source-cta--missing{border-left-color:var(--muted);}
.bp-source-cta--missing p{margin:0;font-size:13px;color:var(--muted);}

@media(max-width:680px){
  .bp-source-cta{padding:18px 20px;}
  .bp-source-cta-row{flex-direction:column;align-items:flex-start;}
  .bp-source-cta-btn{width:100%;justify-content:center;}
}

/* ── Blog partenaire — sidebar (réutilise .sidebar-box + .sidebar-link) ─────── */
.bp-aside-list-all{display:inline-flex;align-items:center;gap:6px;margin-top:14px;padding-top:12px;border-top:1px solid rgba(196,196,196,.3);font-size:11px;font-weight:800;letter-spacing:0;text-transform:none;color:var(--teal);text-decoration:none;width:100%;}
.bp-aside-list-all:hover{color:var(--teal-dk);}
.bp-aside-curator-link{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;}
.bp-aside-curator-avatar{flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--teal);color:var(--vanilla);font-size:14px;font-weight:800;letter-spacing:.5px;}
.bp-aside-curator-meta{display:flex;flex-direction:column;gap:2px;min-width:0;}
.bp-aside-curator-name{font-size:14px;font-weight:800;color:var(--teal);line-height:1.2;}
.bp-aside-curator-role{font-size:11px;font-weight:600;color:var(--muted);text-transform:none;letter-spacing:0;}
.bp-aside-curator-link:hover .bp-aside-curator-name{text-decoration:underline;}

/* ── Article body ────────────────────────────────────────────── */
.article-body{font-size:14px;line-height:1.75;color:var(--teal);margin:0;padding:0;min-width:0;}
.article-body > :first-child{margin-top:0;}
.article-body h2{font-size:18px;font-weight:800;color:var(--teal);margin:28px 0 10px;}
.article-body h2:first-child{margin-top:0;}
.article-body p{margin-bottom:16px;}
.article-body blockquote{border:1px solid var(--border);border-left:6px solid var(--sage);padding:20px 22px;background:var(--white);box-shadow:0 2px 8px rgba(0,0,0,.04);margin:24px 0;font-style:normal;}
.article-body blockquote p{color:var(--teal);font-size:clamp(18px,2vw,24px);font-weight:700;line-height:1.5;margin:0;}
.article-body blockquote p::before{content:"\201C";color:var(--teal);margin-right:.12em;}
.article-body blockquote p::after{content:"\201D";color:var(--teal);margin-left:.12em;}
.article-body figcaption{font-size:12px;font-weight:600;color:var(--muted);margin-top:8px;font-style:italic;}

/* ── NORME tableau éditorial (Markdown import RSS ou éditeur Gutenberg) ─
   Un seul langage, identique aux .cls-table des classements : en-tête teal
   capitales, lignes fines, hover sage, angles droits.

   Quelle que soit la source, on NEUTRALISE d'abord tout ce que le bloc core
   WP « table » impose (sinon ça repasse devant notre charte) :
     • .wp-block-table td/th{border:1px solid}      → grille sombre currentColor
     • .wp-block-table thead{border-bottom:3px}      → trait noir sous l'en-tête
     • .is-style-stripes tr:nth-child(odd)           → fond gris #f0f0f0
     • .has-…-background-color                        → fonds pastel imposés
     • bords posés via l'UI éditeur (has-border-color / style inline)
   … puis on RÉ-APPLIQUE uniquement le nôtre. Tout par spécificité, pas de
   !important (règle Félix). Couvre aussi pages + blog partenaire (.article-body). */
.article-body table{width:100%;border-collapse:collapse;border-spacing:0;margin:20px 0 24px;background:var(--white);border:1px solid var(--border);box-shadow:0 2px 8px rgba(0,0,0,.04);font-size:13px;line-height:1.45;}
/* reset global du sous-arbre : aucun bord, aucun fond hérité du core */
.article-body table thead,
.article-body table tfoot,
.article-body table tr,
.article-body table th,
.article-body table td{border:0;background-color:transparent;}
.article-body table th{background:var(--teal);color:var(--vanilla);font-size:10px;font-weight:800;letter-spacing:0;text-transform:none;padding:10px 12px;text-align:left;}
.article-body table td{padding:9px 12px;border-bottom:1px solid rgba(196,196,196,.25);vertical-align:middle;color:var(--teal);}
.article-body table td:first-child{font-weight:700;}
.article-body table tr:last-child td{border-bottom:none;}
/* neutralise le zébrage core (is-style-stripes) et pose NOTRE hover */
.article-body table tbody tr:nth-child(odd) td{background-color:transparent;}
.article-body table tbody tr:hover td{background:var(--sage-lt);}
@media(max-width:640px){
  .article-body table{font-size:12px;}
  .article-body table th{padding:8px 8px;font-size:9px;letter-spacing:.6px;}
  .article-body table td{padding:8px 8px;}
}

/* ── Embeds (FB, YouTube, Insta, X, embeds natifs) : centrés ─── */
.article-body iframe,.article-body .wp-block-embed,.article-body .wp-block-embed__wrapper,.article-body .twitter-tweet,.article-body .instagram-media,.article-body .fb-post{display:block;margin-inline:auto;max-width:100%;}
/* Neutralise le hack « colonnes vides » placé autour d'un embed */
.article-body .wp-block-columns:has(.wp-block-column iframe),.article-body .wp-block-columns:has(.wp-block-column .wp-block-embed){display:block;}
.article-body .wp-block-columns:has(.wp-block-column iframe) .wp-block-column:empty,.article-body .wp-block-columns:has(.wp-block-column .wp-block-embed) .wp-block-column:empty{display:none;}

/* ── Variante « Article lié » (block style sur core/quote) ─── */
.article-body blockquote.is-style-article-lie{border-left-color:var(--teal);padding:34px 22px 18px;background:var(--vanilla);}
.article-body blockquote.is-style-article-lie::before{content:"À lire aussi";display:block;position:absolute;top:14px;left:22px;font-size:10px;font-weight:800;letter-spacing:0;text-transform:none;color:var(--muted);}
.article-body blockquote.is-style-article-lie{position:relative;}
.article-body blockquote.is-style-article-lie p{font-size:clamp(15px,1.6vw,18px);font-weight:700;line-height:1.45;color:var(--teal);}
.article-body blockquote.is-style-article-lie p::before,
.article-body blockquote.is-style-article-lie p::after{content:none;}
.article-body blockquote.is-style-article-lie a{color:var(--teal);text-decoration:none;background-image:linear-gradient(var(--sage),var(--sage));background-repeat:no-repeat;background-size:100% 6px;background-position:0 92%;transition:background-size .15s;}
.article-body blockquote.is-style-article-lie a:hover,
.article-body blockquote.is-style-article-lie a:focus-visible{background-size:100% 100%;color:var(--teal);}
.article-body blockquote.is-style-article-lie p:last-child::after{content:" →";font-weight:900;color:var(--teal);}
@media(max-width:680px){
  .article-body blockquote.is-style-article-lie{padding:30px 16px 14px;}
  .article-body blockquote.is-style-article-lie p{font-size:15px;}
}

/* ── Carte article inline (shortcode [its_article_card]) ───── */
.article-body .its-inline-card{margin:24px 0;background:var(--white);border:1px solid var(--border);border-left:6px solid var(--sage);box-shadow:0 2px 8px rgba(0,0,0,.04);}
.article-body .its-inline-card-link{display:grid;grid-template-columns:160px 1fr;gap:18px;padding:14px 18px 14px 14px;text-decoration:none;color:var(--teal);align-items:center;}
.article-body .its-inline-card-link:hover .its-inline-card-title,
.article-body .its-inline-card-link:focus-visible .its-inline-card-title{color:var(--teal-dk);text-decoration:underline;text-decoration-color:var(--teal);text-decoration-thickness:2px;text-underline-offset:3px;}
.article-body .its-inline-card-media{display:block;width:160px;aspect-ratio:16/10;overflow:hidden;background:var(--vanilla);}
.article-body .its-inline-card-media img{width:100%;height:100%;object-fit:cover;display:block;}
.article-body .its-inline-card-body{display:flex;flex-direction:column;gap:6px;min-width:0;}
.article-body .its-inline-card-kicker{font-size:10px;font-weight:800;letter-spacing:0;text-transform:none;color:var(--muted);}
.article-body .its-inline-card-title{font-size:clamp(15px,1.6vw,18px);font-weight:800;line-height:1.35;color:var(--teal);transition:color .15s;}
.article-body .its-inline-card-excerpt{font-size:13px;font-weight:500;line-height:1.55;color:var(--muted);margin:2px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
@media(max-width:680px){
  .article-body .its-inline-card-link{grid-template-columns:96px 1fr;gap:12px;padding:12px;}
  .article-body .its-inline-card-media{width:96px;}
  .article-body .its-inline-card-excerpt{-webkit-line-clamp:3;}
}

/* « À lire aussi » en carte cinéma (Félix, 15/10) : bandeau large dans le texte. */
.article-body .its-inline-card--cine{background:none;border:0;box-shadow:none;}
.article-body .its-inline-card--cine .its-article-card--cine{aspect-ratio:16/7;text-decoration:none;}
@media(max-width:680px){.article-body .its-inline-card--cine .its-article-card--cine{aspect-ratio:16/10;}}

/* ── Stat box (style plugin citations) ───────────────────────── */
.article-stat-box{padding:20px 22px;background:var(--white);border:1px solid var(--border);border-left:6px solid var(--sage);box-shadow:0 2px 8px rgba(0,0,0,.04);margin:24px 0;}
.article-stat-box-number{font-size:clamp(24px,2.5vw,36px);font-weight:700;color:var(--teal);line-height:1.2;display:block;}
.article-stat-box-number::before{content:"";display:none;}
.article-stat-box-label{display:block;margin-top:8px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:0;text-transform:none;}

/* ── Sidebar ─────────────────────────────────────────────────── */
.article-sidebar{display:flex;flex-direction:column;gap:20px;position:sticky;top:72px;}
.sidebar-box{background:var(--white);border:1px solid var(--border);padding:16px;margin-bottom:16px;}
.sidebar-box-title{font-size:11px;font-weight:800;letter-spacing:0;text-transform:none;color:var(--vanilla);background:var(--teal);padding:10px 16px;margin:-16px -16px 12px;border-bottom:3px solid var(--sage);}
.its-v2 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);text-decoration:none;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);background:var(--teal);text-transform:none;letter-spacing:0;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:none;letter-spacing:0;}
.sidebar-link--sponsored{background:rgba(28,61,52,.06);padding:10px 8px;margin:0 -8px;position:relative;}
.sidebar-its-zn-tag{display:inline-block;font-size:8px;font-weight:800;text-transform:none;letter-spacing:0;color:var(--teal-dk);background:var(--sage);padding:1px 5px;margin-bottom:4px;}
.sidebar-link-brand{display:block;font-size:10px;font-weight:700;color:var(--muted);margin-top:2px;}
.sidebar-entities .entity-chips{display:flex;flex-direction:column;gap:10px;}
.entity-chips{display:flex;flex-direction:column;gap:10px;}
.entity-chips--players + .entity-chips--meta{margin-top:14px;padding-top:14px;border-top:1px solid var(--border);}

/* ── Mini-fiche joueur ──────────────────────── */
.entity-player-card{display:block;background:var(--white);border:1px solid var(--border);text-decoration:none;transition:box-shadow .15s,border-color .15s;overflow:hidden;}
.entity-player-header{display:flex;gap:12px;padding:12px;background:var(--teal);}
.entity-player-photo{width:52px;height:52px;background:rgba(242,229,210,.15);flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center;color:var(--vanilla);font-weight:900;font-size:18px;}
.entity-player-photo img{width:100%;height:100%;object-fit:cover;}
.entity-player-info{display:flex;flex-direction:column;justify-content:center;gap:2px;}
.entity-player-name{font-size:14px;font-weight:800;color:var(--vanilla);}
.entity-player-position{font-size:10px;font-weight:700;color:var(--sage);text-transform:none;letter-spacing:0;}
.entity-player-team{font-size:10px;color:rgba(242,229,210,.7);}
.entity-player-season{padding:5px 12px;font-size:8px;font-weight:800;text-transform:none;letter-spacing:0;color:var(--teal);background:var(--sage-lt);border-top:1px solid var(--border);}
.entity-player-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);}
.entity-player-stats[data-count="1"]{grid-template-columns:repeat(1,1fr);}
.entity-player-stats[data-count="2"]{grid-template-columns:repeat(2,1fr);}
.entity-player-stats[data-count="4"]{grid-template-columns:repeat(4,1fr);}
.entity-player-stat{background:var(--white);padding:8px 4px;text-align:center;}
.entity-player-stat-val{display:block;font-size:16px;font-weight:900;color:var(--teal);line-height:1;}
.entity-player-stat-lbl{display:block;font-size:7px;font-weight:800;text-transform:none;letter-spacing:0;color:var(--muted);margin-top:4px;}
.entity-player-cta{display:block;padding:8px;text-align:center;font-size:9px;font-weight:800;text-transform:none;letter-spacing:0;color:var(--teal);border-top:1px solid var(--border);}
/* Pas de hover sur les entity cards */

/* ── Chips simples (team, comp, match) ──────── */
.entity-chip{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--sage-lt);text-decoration:none;transition:background .15s;}
.entity-chip:hover{background:var(--vanilla-d);}
.entity-chip-type{font-size:8px;font-weight:800;text-transform:none;letter-spacing:0;color:var(--white);background:var(--teal);padding:2px 6px;flex-shrink:0;}
.entity-chip-name{font-size:12px;font-weight:700;color:var(--teal);}

/* ── Mini-cartes match (Matchs cités) ──────── */
.entity-chips--matches{margin-top:14px;padding-top:14px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px;}
.entity-chips-label{font-size:9px;font-weight:800;text-transform:none;letter-spacing:0;color:var(--muted);margin-bottom:2px;}
.entity-match-card{display:block;background:var(--white);border:1px solid var(--border);padding:10px 12px;text-decoration:none;transition:box-shadow .15s,border-color .15s;}
.entity-match-card:hover{box-shadow:0 2px 12px rgba(28,61,52,.12);border-color:var(--teal);}
.entity-match-comp{display:block;font-size:8px;font-weight:800;text-transform:none;letter-spacing:0;color:var(--muted);margin-bottom:6px;}
.entity-match-teams{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;}
.entity-match-team{font-size:12px;font-weight:700;color:var(--teal);line-height:1.2;}
.entity-match-team--home{text-align:left;}
.entity-match-team--away{text-align:right;}
.entity-match-team--winner{font-weight:900;}
.entity-match-team--loser{color:var(--muted);}
.entity-match-score{font-size:14px;font-weight:900;color:var(--teal);white-space:nowrap;background:var(--sage-lt);padding:4px 8px;display:inline-flex;align-items:center;gap:4px;}
.entity-match-score-sep{color:var(--muted);font-weight:700;}
.entity-match-score--upcoming{font-size:10px;font-weight:800;color:var(--muted);background:transparent;border:1px dashed var(--border);padding:3px 8px;letter-spacing:.5px;}
.entity-match-date{display:block;font-size:9px;font-weight:600;color:var(--muted);margin-top:6px;text-transform:none;letter-spacing:0;}

/* Carte match embarquée inline dans le corps ([its_match]) — une par ligne,
   layout pleine largeur (compétition + date en tête, équipes + score dessous).
   Restyle scopé : la version sidebar (.sidebar-box .entity-match-card) reste compacte. */
.its-match-embed{margin:22px 0;display:flex;flex-direction:column;gap:10px;}
.its-match-embed .entity-match-card{
  display:grid;
  grid-template-columns:1fr auto;
  grid-template-areas:"comp date" "teams teams" "meta meta";
  align-items:center;
  gap:8px 12px;
  padding:14px 16px;
}
.its-match-embed .entity-match-comp{grid-area:comp;margin-bottom:0;}
.its-match-embed .entity-match-date{grid-area:date;margin-top:0;text-align:right;white-space:nowrap;}
.its-match-embed .entity-match-teams{grid-area:teams;gap:14px;}
.its-match-embed .entity-match-team{font-size:14px;}
.its-match-embed .entity-match-score{font-size:17px;padding:5px 12px;}
.its-match-embed .entity-match-score--upcoming{font-size:12px;}
.its-match-embed .em-meta{grid-area:meta;display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin-top:2px;padding-top:10px;border-top:1px solid var(--border);font-size:11px;font-weight:600;color:var(--muted);}
.its-match-embed .em-meta-item{display:inline-flex;align-items:center;gap:5px;}
.its-match-embed .em-meta-item svg{width:14px;height:14px;flex:none;color:var(--teal);}
@media(min-width:560px){
  .its-match-embed .entity-match-team{font-size:16px;}
  .its-match-embed .entity-match-score{font-size:19px;}
}

/* ── Shortcode [its_fiche] — Inline entity cards ────────────── */
.its-fiche-inline{margin:24px 0;}
.its-fiche-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;}
.its-fiche-horizontal .its-fiche-card-h{display:flex;align-items:center;gap:16px;background:var(--white);border:1px solid var(--border);padding:12px 16px;text-decoration:none;transition:box-shadow .15s;margin-bottom:8px;}
.its-fiche-h-left{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.its-fiche-h-photo{width:44px;height:44px;background:var(--teal);color:var(--vanilla);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:14px;flex-shrink:0;overflow:hidden;}
.its-fiche-h-info{display:flex;flex-direction:column;}
.its-fiche-h-name{font-size:13px;font-weight:800;color:var(--teal);line-height:1.2;}
.its-fiche-h-pos{font-size:9px;font-weight:700;color:var(--teal);text-transform:none;letter-spacing:0;}
.its-fiche-h-team{font-size:10px;color:var(--muted);}
.its-fiche-h-stats{display:flex;gap:16px;margin-left:auto;}
.its-fiche-h-stat{text-align:center;}
.its-fiche-h-val{display:block;font-size:18px;font-weight:900;color:var(--teal);line-height:1;}
.its-fiche-h-lbl{display:block;font-size:7px;font-weight:800;text-transform:none;letter-spacing:0;color:var(--muted);margin-top:2px;}
.its-fiche-h-arrow{font-size:18px;color:var(--teal);font-weight:700;margin-left:12px;flex-shrink:0;}
@media(max-width:768px){
  .its-fiche-grid{grid-template-columns:1fr;}
}

/* ── Tags ────────────────────────────────────────────────────── */
.article-tags{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0;}
.article-tag{font-size:10px;font-weight:700;padding:4px 10px;border:1px solid var(--border);background:var(--white);color:var(--teal);text-transform:none;letter-spacing:0;transition:background .15s;}
.article-tag:hover{background:var(--sage-lt);}

/* ── Author box ──────────────────────────────────────────────── */
.article-credits-section{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:32px 0;}
.article-credits-section:has(> :only-child){grid-template-columns:1fr;}
.its-v2 a.author-box,.author-box{display:flex;gap:16px;padding:24px;background:var(--white);border:1px solid var(--border);text-decoration:none;color:inherit;transition:box-shadow .15s,border-color .15s;}
.author-box-avatar{width:56px;height:56px;background:var(--teal);color:var(--vanilla);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:18px;flex-shrink:0;}
.author-box-name{font-size:15px;font-weight:800;color:var(--teal);}
.author-box-role{font-size:11px;color:var(--muted);text-transform:none;letter-spacing:0;}
.author-box-bio{font-size:13px;color:var(--teal);line-height:1.6;margin-top:6px;}

/* ── Related articles grid ───────────────────────────────────── */
.related-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.related-card{background:var(--white);border:1px solid var(--border);transition:box-shadow .15s,border-color .15s;display:flex;flex-direction:column;overflow:hidden;text-decoration:none;color:inherit;}
a.related-card,a.related-card:link,a.related-card:visited{color:inherit;text-decoration:none;}
a.related-card:hover{box-shadow:0 2px 12px rgba(28,61,52,.12);}
.related-card-img{display:block;width:100%;aspect-ratio:16/9;background:var(--sage-lt);overflow:hidden;}
.related-card-img img{width:100%;height:100%;object-fit:cover;display:block;}
.related-card-body{display:block;padding:12px;}
.related-card-meta{display:block;}
.its-v2 a.related-card-cat,.related-card-cat{font-size:9px;font-weight:800;padding:2px 7px;color:var(--vanilla);background:var(--teal);text-transform:none;letter-spacing:0;display:inline-block;margin-bottom:6px;text-decoration:none;}
.its-v2 a.related-card-title,.related-card-title{display:block;font-size:13px;font-weight:700;line-height:1.4;color:var(--teal);text-decoration:none;margin:4px 0;}
.its-v2 a.related-card-author,.related-card-author{color:var(--muted);text-decoration:none;}

/* ── Hovers consolidés ─────────────────────────────────────── */
/* Cartes : ombre + bordure teal au survol */
.its-v2 a.author-box,.entity-player-card,.its-fiche-card-h,article.related-card{transition:box-shadow .15s,border-color .15s;}
.its-v2 a.author-box:hover,.entity-player-card:hover,.its-fiche-card-h:hover,article.related-card:hover{box-shadow:0 2px 12px rgba(28,61,52,.12);}
/* Liens texte : teal souligné au survol */
.its-v2 a.related-card-title:hover,.its-v2 a.related-card-author:hover{color:var(--teal);text-decoration:underline;}
.related-card--sponsored{background:var(--white);}
.related-card-its-zn-tag{font-size:8px;font-weight:800;padding:2px 6px;color:var(--teal-dk);background:var(--sage);text-transform:none;letter-spacing:0;display:inline-block;margin-bottom:6px;}
.related-card-brand{font-weight:700;color:var(--teal)!important;}
.related-card-meta{font-size:10px;color:var(--muted);margin-top:6px;}



/* ══════════════════════════════════════════════════════════════
   RESPONSIVE
   Mobile < 480 | Tablet portrait < 768 | Tablet landscape < 1024
   Desktop < 1280 | Grand ecran >= 1280
   ══════════════════════════════════════════════════════════════ */

/* ── Grand ecran (>= 1280px) ──────────────────────────────────── */
@media(min-width:1280px){
  .article-content-wrap{max-width:1200px;margin:0 auto;}
  .article-hero{min-height:400px;}
  .article-hero.article-hero--compact{min-height:240px;}
  .article-title{font-size:36px;}
  .article-hero--compact .article-title{font-size:30px;}
  .article-hero .article-chapo{font-size:16px;}
  .article-layout{grid-template-columns:1fr 320px;gap:40px;}
  .article-body{font-size:15px;}
  .article-body h2{font-size:20px;}
  .related-grid{gap:20px;}
  .author-box{padding:28px;}
}
/* ── Tres grand ecran (>= 1600px) ────────────────────────────── */
@media(min-width:1600px){
  .article-content-wrap{max-width:1200px;}
  .article-layout{grid-template-columns:1fr 360px;gap:48px;}
  .article-body{font-size:16px;}
  .article-body h2{font-size:22px;}
  .article-hero{min-height:440px;}
  .article-hero.article-hero--compact{min-height:260px;}
  .article-title{font-size:40px;}
  .article-hero--compact .article-title{font-size:32px;}
}

/* ── Desktop (960 — 1279px) — default, pas de media query ────── */

/* ── Tablet landscape (768 — 959px) ──────────────────────────── */
@media(max-width:960px){
  .article-layout{grid-template-columns:1fr;}
  .article-sidebar{position:relative;top:0;}
  .article-body{max-width:100%;}
  .article-sidebar{display:flex;flex-direction:column;gap:16px;}
}

/* ── Tablet portrait (480 — 767px) ───────────────────────────── */
@media(max-width:768px){
  .container{max-width:100%;padding:0 16px!important;}
  /* Partage remonte juste au-dessus du corps d'article (sous la banniere haute) */
  .article-content-wrap--share-top{display:flex;flex-direction:column;}
  .article-content-wrap--share-top > .its-zn-placement-article_after_header{order:-2;}
  .article-content-wrap--share-top > .article-share{order:-1;}
  .article-content-wrap--share-top > .article-share .share-row{margin:0 0 14px;}
  .article-hero-content{max-width:100%;padding:0 16px;}
  /* Photo en fond sous le texte, comme sur desktop. L'overlay reste dans le
     flux (le hero grandit avec le contenu, sinon le texte serait coupe par
     overflow:hidden) et son degrade est transparent en haut : on voit donc la
     photo sur ~150px avant que le fond ne se ferme derriere le texte.
     brightness .55 au lieu de .3 : a .3 sous un degrade quasi opaque, la photo
     etait payee et invisible. */
  .article-hero{min-height:0;display:block;position:relative;overflow:hidden;}
  .article-hero-img{position:absolute;inset:0;height:auto;}
  .article-hero-img img{width:100%;height:100%;object-fit:cover;filter:brightness(.55);}
  /* Le degrade se ferme vite : le texte demarre haut, il lui faut un fond deja
     dense (>= .85) des les pastilles, sinon un titre vanilla sur une photo
     claire devient illisible. Seul le tout dernier segment laisse voir l'image. */
  .article-hero-overlay{position:relative;inset:auto;padding:110px 0 20px;
    background:linear-gradient(to top,rgba(28,61,52,.97) 0%,rgba(28,61,52,.95) 55%,rgba(28,61,52,.86) 80%,rgba(28,61,52,.3) 100%);}
  .article-title{font-size:24px;}
  .article-hero .article-chapo{font-size:14px;margin:14px 0;}
  /* Meta du hero en 3 colonnes : empilees, « Publie le / Derniere modification
     le / X min de lecture » mangeaient trois lignes pleines. Chaque item passe
     en colonne (libelle au-dessus de la valeur) : le texte nu et le <time>
     sont deux items flex anonymes, donc pas besoin de toucher au markup. */
  .article-hero .article-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 12px;align-items:end;padding-bottom:16px;}
  .article-hero .article-credits{grid-column:1/-1;}
  /* align-self sur l'item, pas align-items sur la grille : le bloc < 480px
     repose align-items:flex-start et gagnerait en cascade. */
  .article-hero .article-meta-item{display:flex;flex-direction:column;justify-content:flex-end;gap:2px;align-self:end;}
  /* Libelle en micro-capitales, valeur en gras : la ligne se lit comme une
     fiche technique au lieu de trois phrases. align-items:end cale « X min de
     lecture », qui n'a pas de libelle, sur la ligne des dates. */
  .article-hero .article-meta-k{font-size:8px;font-weight:700;letter-spacing:0;text-transform:none;color:rgba(242,229,210,.45);line-height:1.2;}
  .article-hero .article-meta-v{font-size:11px;font-weight:700;color:var(--vanilla);line-height:1.3;}
  /* La photo est de nouveau affichee en mobile, donc le credit revient — mais
     borne a deux lignes : les legendes Icon Sport en anglais en faisaient trois. */
  .article-hero .article-meta-caption{grid-column:1/-1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:9px;line-height:1.35;}
  .article-hero .article-meta-avatar{width:28px;height:28px;font-size:10px;}
  .article-layout{gap:24px;}
  .article-sidebar{grid-template-columns:1fr;}
  .related-grid{grid-template-columns:repeat(2,1fr);gap:12px;}
  .article-credits-section{gap:10px;}
  .author-box{padding:16px;gap:12px;}
  .author-box-avatar{width:44px;height:44px;font-size:15px;}
  .author-box-name{font-size:14px;}
  .its-ad-leaderboard{max-width:468px;}
  .site-header{padding:0 16px;}
  .header-nav{gap:12px;font-size:11px;}
  /* Fil d'ariane sur une seule ligne : sans nowrap, « It's Rugby » et le titre
     de l'article se cassent en 3 lignes au-dessus du hero. Le titre courant est
     tronque (il est repris juste en dessous en H1, donc rien n'est perdu). */
  .breadcrumb .container{font-size:10px;gap:6px;white-space:nowrap;overflow:hidden;}
  .breadcrumb .container > *{flex-shrink:0;}
  .breadcrumb [aria-current="page"]{flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis;}
  h2.section-title,.section-title{font-size:18px;padding:0 0 10px;}
}

/* ── Mobile (< 480px) ────────────────────────────────────────── */
@media(max-width:480px){
  html{font-size:14px;}
  .container{padding:0 12px!important;}
  .article-hero-content{padding:0 12px;}
  .article-hero{min-height:auto;}
  /* meme logique qu'a 768px : on garde une fenetre de photo au-dessus du texte */
  .article-hero-overlay{padding:96px 0 16px;position:relative;}
  .article-title{font-size:20px;margin-bottom:8px;}
  .article-hero .article-chapo{font-size:13px;padding-left:12px;margin:10px 0;line-height:1.6;}
  .article-hero .article-meta{flex-direction:column;align-items:flex-start;gap:8px;padding-bottom:12px;}
  .article-hero .article-credits{flex-direction:column;gap:8px;align-items:flex-start;}
  .article-hero .article-credit + .article-credit::before{display:none;}
  .article-body{font-size:14px;}
  .article-body h2{font-size:16px;margin:20px 0 8px;}
  .article-body blockquote{padding:14px 16px;margin:16px 0;}
  .article-body blockquote p{font-size:16px;}
  .article-stat-box{padding:16px;margin:16px 0;}
  .article-stat-box-number{font-size:28px;}
  .share-row{flex-wrap:wrap;}
  .share-btn{padding:6px 10px;font-size:9px;}
  .article-tags{margin:16px 0;}
  .article-credits-section{grid-template-columns:1fr;margin:20px 0;}
  .author-box{flex-direction:column;align-items:flex-start;padding:14px;gap:10px;}
  .author-box-avatar{width:40px;height:40px;font-size:14px;}
  .author-box-name{font-size:13px;}
  .author-box-bio{font-size:12px;}
  .related-grid{grid-template-columns:1fr;gap:12px;}
  .related-card-title{font-size:12px;}
  .its-ad-leaderboard{max-width:300px;}
  .its-fiche-card-h{flex-wrap:wrap;}
  .its-fiche-h-stats{margin-left:0;width:100%;justify-content:space-around;padding-top:8px;border-top:1px solid var(--border);}
  .its-fiche-h-arrow{display:none;}
  .site-header{height:48px;padding:0 12px;}
  .site-logo{font-size:14px;}
  .header-nav{gap:8px;font-size:10px;}
  .nav-dropdown-menu{min-width:170px;}
  .nav-dropdown-menu a{padding:7px 12px;font-size:10px;}
  .breadcrumb{padding:6px 0;}
  .breadcrumb .container{font-size:9px;}
  h2.section-title,.section-title{font-size:16px;padding:0 0 8px;}
  .entity-player-header{padding:10px;}
  .entity-player-photo{width:40px;height:40px;font-size:14px;}
  .entity-player-name{font-size:13px;}
  .entity-player-stat-val{font-size:14px;}
  .site-footer{padding:28px 16px;margin-top:32px;}
  .footer-logo{font-size:16px;}
  .footer-baseline{font-size:11px;}
  .footer-social{gap:12px;}
  .footer-social-link{font-size:10px;}
  .footer-legal{font-size:10px;}
  .footer-copy{font-size:10px;}
}

/* ── Tres petit ecran (< 360px) ──────────────────────────────── */
@media(max-width:360px){
  .article-hero{min-height:auto;}
  .article-title{font-size:18px;}
  .article-hero .article-chapo{font-size:12px;}
  .header-nav{display:none;}
  .site-header{justify-content:center;}
  .author-box{padding:10px;}
  .author-box-avatar{width:32px;height:32px;font-size:12px;}
}

/* ── Reduced motion ──────────────────────────────────────────── */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}
}

/* ══════════════════════════════════════════════════════════════
   HERO VIDÉO (format-du-contenu = video)
   ══════════════════════════════════════════════════════════════ */
.video-hero{position:relative;overflow:hidden;background:var(--teal);padding-top:24px;}
.video-hero-bg{position:absolute;inset:0;z-index:0;}
.video-hero-bg img{width:100%;height:100%;object-fit:cover;filter:brightness(.2);}
.video-hero-bg-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(28,61,52,.75) 0%,rgba(28,61,52,.85) 100%);}
.video-hero-player{position:relative;z-index:2;max-width:min(90%,1200px);margin:0 auto;aspect-ratio:16/9;max-height:480px;overflow:hidden;background:#000;}
.video-hero-player img{width:100%;height:100%;object-fit:cover;display:block;}
.video-hero-player iframe,.video-hero-player video,.video-hero-player .presto-player{width:100%;height:100%;display:block;}
.video-hero-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:72px;height:50px;background:rgba(255,0,0,.85);display:flex;align-items:center;justify-content:center;transition:background .2s;cursor:pointer;}
.video-hero-player:hover .video-hero-play{background:rgba(255,0,0,1);}
.video-hero-play svg{fill:#fff;width:28px;height:28px;margin-left:3px;}
.video-hero-info{position:relative;z-index:2;padding:28px 0 32px;}
.video-hero-info .container{max-width:min(90%,1200px);margin:0 auto;padding:0 24px;}
.video-hero h1,.its-v2 .video-hero h1{font-size:clamp(22px,3vw,32px);font-weight:900;line-height:1.2;color:var(--vanilla);margin:0 0 12px;}
.video-hero .article-chapo{font-size:15px;font-weight:500;color:rgba(242,229,210,.8);line-height:1.7;border-left:3px solid var(--sage);padding-left:16px;margin:20px 0;}
.video-hero .article-meta{display:flex;align-items:center;gap:16px;font-size:12px;color:rgba(242,229,210,.7);margin:16px 0 0;flex-wrap:wrap;padding-bottom:28px;}
.video-hero .article-meta-author{font-weight:700;color:var(--vanilla);}
.video-hero .article-meta-avatar{width:36px;height:36px;background:rgba(255,255,255,.15);color:var(--vanilla);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;flex-shrink:0;}

/* ══════════════════════════════════════════════════════════════
   HERO PODCAST (format-du-contenu = son)
   ══════════════════════════════════════════════════════════════ */
.podcast-hero{position:relative;overflow:hidden;background:var(--teal);padding-top:24px;}
.podcast-hero-bg{position:absolute;inset:0;z-index:0;}
.podcast-hero-bg img{width:100%;height:100%;object-fit:cover;filter:brightness(.2);}
.podcast-hero-bg-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(28,61,52,.75) 0%,rgba(28,61,52,.85) 100%);}
.podcast-hero-player{position:relative;z-index:2;max-width:min(90%,1200px);margin:0 auto;display:grid;grid-template-columns:200px 1fr;gap:28px;align-items:center;padding:24px;background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.08);}
.podcast-cover{width:200px;height:200px;overflow:hidden;flex-shrink:0;position:relative;}
.podcast-cover img{width:100%;height:100%;object-fit:cover;display:block;}
.podcast-cover-badge{position:absolute;top:8px;left:8px;background:var(--vanilla);color:var(--teal-dk,#0f2c25);font-size:8px;font-weight:900;text-transform:none;letter-spacing:0;padding:3px 8px;}
.podcast-player-content{display:flex;flex-direction:column;gap:12px;}
.podcast-series-name{font-size:11px;font-weight:700;color:var(--sage);text-transform:none;letter-spacing:0;}
.podcast-episode-label{font-size:12px;color:rgba(242,229,210,.6);font-weight:600;}
.podcast-player-title{font-size:clamp(18px,2.5vw,24px);font-weight:900;color:var(--vanilla);line-height:1.3;}
.podcast-player-duration{font-size:11px;color:rgba(242,229,210,.5);display:flex;align-items:center;gap:6px;}
.podcast-player-duration svg{width:14px;height:14px;fill:rgba(242,229,210,.5);}
.podcast-audio-player{width:100%;margin-top:4px;}
.podcast-audio-player audio{width:100%;height:40px;outline:none;}
.podcast-hero-info{position:relative;z-index:2;padding:28px 0 32px;}
.podcast-hero-info .container{max-width:min(90%,1200px);margin:0 auto;padding:0 24px;}

/* Responsive */
@media(max-width:768px){
  .video-hero-player img{display:none;}
  .video-hero .article-meta,.podcast-hero .article-meta{flex-direction:column;align-items:flex-start;gap:8px;}
  .podcast-hero-player{grid-template-columns:140px 1fr;gap:16px;padding:16px;}
  .podcast-cover{width:140px;height:140px;}
}
@media(max-width:480px){
  .podcast-hero-player{grid-template-columns:1fr;text-align:center;}
  .podcast-cover{width:160px;height:160px;margin:0 auto;}
}

/* ── Transcript (RGAA - alternative texte pour vidéos/podcasts) ──── */
.media-transcript{margin:16px 0 0;padding:14px 16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);}
.media-transcript summary{font-size:12px;font-weight:700;color:var(--vanilla);cursor:pointer;text-transform:none;letter-spacing:0;list-style:none;display:flex;align-items:center;justify-content:space-between;}
.media-transcript summary::-webkit-details-marker{display:none;}
.media-transcript[open] summary span{transform:rotate(180deg);display:inline-block;}
.media-transcript-body{margin-top:10px;font-size:13px;color:rgba(242,229,210,.85);line-height:1.6;}
.media-transcript a{color:var(--sage);text-decoration:underline;}
.media-transcript a:hover{color:var(--vanilla);}

/* ── Commentaires (single-article) ───────────────────────────────────────── */
.its-comments{margin:32px auto;}
.its-comments-title{font-size:18px;font-weight:800;color:var(--teal);margin:0 0 16px;letter-spacing:0;text-transform:none;}

.its-comments-list{list-style:none;margin:0;padding:0;}
.its-comments-list .children{list-style:none;margin:12px 0 0 24px;padding-left:16px;border-left:2px solid var(--vanilla-d);}
.its-comments-list li.comment,
.its-comments-list li.pingback,
.its-comments-list li.trackback{margin:0 0 12px;background:var(--white);border:1px solid var(--border);padding:14px 16px;}
.its-comments-list .comment-body{display:block;}
.its-comments-list .comment-meta{display:flex;gap:10px;align-items:center;margin-bottom:8px;flex-wrap:wrap;}
.its-comments-list .comment-author{display:flex;gap:10px;align-items:center;font-size:13px;font-weight:800;color:var(--teal);}
.its-comments-list .its-comment-avatar{width:36px;height:36px;background:var(--teal);color:var(--vanilla);display:inline-flex;align-items:center;justify-content:center;font-weight:900;font-size:13px;flex-shrink:0;letter-spacing:.5px;}
.its-comments-list .bypostauthor .its-comment-avatar{background:var(--sage);color:var(--teal-dk);}
.its-comments-list .comment-author .fn{font-style:normal;}
.its-comments-list .comment-author .says{display:none;}
.its-comments-list .comment-metadata{font-size:11px;color:var(--muted);text-transform:none;letter-spacing:0;}
.its-comments-list .comment-metadata a{color:var(--muted);text-decoration:none;}
.its-comments-list .comment-metadata a:hover{color:var(--teal);text-decoration:underline;}
.its-comments-list .comment-awaiting-moderation{display:inline-block;margin:6px 0;font-size:11px;color:var(--muted);font-style:italic;}
.its-comments-list .comment-content{font-size:14px;line-height:1.55;color:var(--ink);}
.its-comments-list .comment-content p{margin:0 0 8px;}
.its-comments-list .comment-content p:last-child{margin-bottom:0;}
.its-comments-list .reply{margin-top:8px;}
.its-comments-list .comment-reply-link{display:inline-flex;align-items:center;font-size:10px;font-weight:800;letter-spacing:0;text-transform:none;color:var(--teal);background:var(--vanilla);border:1px solid var(--border);padding:5px 10px;text-decoration:none;transition:background .15s;}
.its-comments-list .comment-reply-link:hover{background:var(--vanilla-d);text-decoration:none;}
.its-comments-list .bypostauthor > .comment-body{border-left:3px solid var(--teal);}

.its-comments-pagination{margin:18px 0;display:flex;gap:8px;flex-wrap:wrap;justify-content:center;}
.its-comments-pagination .page-numbers{display:inline-flex;align-items:center;padding:6px 12px;background:var(--white);border:1px solid var(--border);font-size:12px;font-weight:700;color:var(--teal);text-decoration:none;}
.its-comments-pagination .page-numbers.current{background:var(--teal);color:var(--vanilla);border-color:var(--teal);}
.its-comments-pagination .page-numbers:hover:not(.current){background:var(--vanilla);}

.its-comment-form{margin:24px 0 0;background:var(--white);border:1px solid var(--border);padding:20px;}
.its-comment-form .comment-reply-title{font-size:15px;font-weight:800;color:var(--teal);margin:0 0 12px;text-transform:none;letter-spacing:0;}
.its-comment-form .comment-reply-title small{margin-left:10px;font-size:11px;font-weight:700;text-transform:none;letter-spacing:0;}
.its-comment-form .comment-reply-title small a{color:var(--muted);text-decoration:underline;}
.its-comment-form .its-comment-notes,
.its-comment-form .comment-notes{font-size:11px;color:var(--muted);margin:0 0 14px;}
.its-comment-form p{margin:0 0 12px;}
.its-comment-form label{display:block;font-size:11px;font-weight:800;text-transform:none;letter-spacing:0;color:var(--teal);margin-bottom:4px;}
.its-comment-form .req{color:var(--red);}
.its-comment-form input[type="text"],
.its-comment-form input[type="email"],
.its-comment-form input[type="url"],
.its-comment-form textarea{width:100%;padding:10px 12px;font-family:var(--sans);font-size:14px;color:var(--ink);background:var(--vanilla);border:1px solid var(--border);transition:border-color .15s,background .15s;box-sizing:border-box;}
.its-comment-form input:focus,
.its-comment-form textarea:focus{border-color:var(--teal);background:var(--white);outline:none;}
.its-comment-form textarea{resize:vertical;min-height:120px;line-height:1.5;}
.its-comment-form .comment-form-cookies-consent{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:var(--muted);}
.its-comment-form .comment-form-cookies-consent input[type="checkbox"]{margin-top:3px;flex-shrink:0;}
.its-comment-form .comment-form-cookies-consent label{display:inline;font-size:12px;font-weight:400;text-transform:none;letter-spacing:0;color:var(--muted);}
.its-comment-form .logged-in-as,
.its-comment-form .must-log-in{margin:0 0 14px;padding:10px 12px;background:var(--sage-lt);border-left:3px solid var(--sage);font-size:13px;color:var(--teal);}
.its-comment-form .logged-in-as a,
.its-comment-form .must-log-in a{color:var(--teal);text-decoration:underline;font-weight:700;}
.its-comment-form .logged-in-as a:hover,
.its-comment-form .must-log-in a:hover{color:var(--teal-dk);}
.its-comment-form .form-submit{margin:14px 0 0;}
.its-comment-form .its-comment-submit,
.its-comment-form input[type="submit"]{display:inline-flex;align-items:center;padding:10px 22px;background:var(--teal);color:var(--vanilla);border:none;font-family:var(--sans);font-size:11px;font-weight:800;letter-spacing:0;text-transform:none;cursor:pointer;transition:background .15s;}
.its-comment-form .its-comment-submit:hover,
.its-comment-form input[type="submit"]:hover{background:var(--teal-dk);}

@media (max-width:768px){
  .its-comments-list .children{margin-left:12px;padding-left:10px;}
  .its-comments-list li.comment{padding:12px;}
  .its-comment-form{padding:14px;}
  .its-comments-title{font-size:16px;}
}

/* ── Barre de modération inline (visible si current_user_can moderate_comments) ── */
.its-cmod-bar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:10px 0 0;padding:8px 10px;background:var(--vanilla);border:1px dashed var(--border);font-size:11px;}
.its-cmod-meta{flex:1 1 auto;font-size:10px;color:var(--muted);letter-spacing:0;text-transform:none;font-weight:700;}
.its-cmod-btn{display:inline-flex;align-items:center;padding:4px 9px;font-family:var(--sans);font-size:10px;font-weight:800;letter-spacing:0;text-transform:none;color:var(--teal);background:var(--white);border:1px solid var(--border);cursor:pointer;transition:background .15s,color .15s,border-color .15s;}
.its-cmod-btn:hover{background:var(--vanilla-d);}
.its-cmod-btn:disabled{opacity:.5;cursor:not-allowed;}
.its-cmod-btn.its-cmod-ok{background:var(--sage-lt);color:var(--teal);border-color:var(--sage);}
.its-cmod-btn.its-cmod-ok:hover{background:var(--sage);}
.its-cmod-btn.its-cmod-warn{background:#FFF6E5;color:#7A5200;border-color:#E5C97A;}
.its-cmod-btn.its-cmod-warn:hover{background:#FFE9B8;}
.its-cmod-btn.its-cmod-cj{background:#FFF6CC;color:#6B5500;border-color:#E5CC66;}
.its-cmod-btn.its-cmod-cj:hover{background:#FFEC99;}
.its-cmod-btn.its-cmod-cr{background:var(--red-lt);color:var(--red);border-color:var(--red);}
.its-cmod-btn.its-cmod-cr:hover{background:#F8CFCB;}
.its-cmod-btn.its-cmod-ban{background:var(--red);color:#fff;border-color:var(--red);}
.its-cmod-btn.its-cmod-ban:hover{background:#9A2D22;}
.its-cmod-toast{display:inline-block;padding:5px 10px;font-size:11px;font-weight:800;letter-spacing:.3px;color:var(--teal);background:var(--sage-lt);border:1px solid var(--sage);}

/* ── Intégrations centrées dans le corps d'article (embeds sociaux, figures) ── */
.its-embed{display:flex;flex-direction:column;align-items:center;margin:0 0 24px;}
.its-embed>figure{margin:0;}
.its-embed figcaption{margin-top:6px;font-size:12px;color:var(--muted);text-align:center;}
.its-embed iframe{max-width:100%;border:0;}

/* ── Mode app : le fil d'ariane devient une barre de nav ──────────
   Sur une webview, « Accueil › Rubrique › Titre de l'article » n'a pas de
   sens : trois niveaux pour une page qui affiche deja son titre en H1 juste
   dessous. On ne garde que le retour vers la rubrique, facon barre de nav
   native. Regles gatees sur html.is-app (posee par its-app-boot.js), donc
   strictement inertes sur le web : rendu identique pour tous, bascule cote
   client (modele cache-safe de l'app-shell). Le markup ne bouge pas, le
   JSON-LD BreadcrumbList non plus. */
/* Sur une fiche article, la photo remonte jusqu'en haut de l'ecran, sous la
   barre d'etat : plus de bande teal vide en tete. On neutralise donc la
   reserve de safe area posee par l'app-shell (padding-top du body + bandeau
   fixe) pour cette page seulement, et on la reporte sur le fil d'ariane, qui
   passe en surcouche au-dessus de la photo. Les autres pages gardent la
   reserve : sans elle leur contenu passerait sous l'horloge. */
/* La bande teal de safe area est CONSERVEE (l'heure et l'encoche restent sur
   du plein, jamais sur la photo) : c'est le body qui la reserve, cf.
   its-app-shell.css. On ne fait que poser le fil d'ariane juste en dessous, en
   surcouche sur la photo, pour ne pas ajouter de bandeau supplementaire. */
/* `top` = l'inset, et c'est VOULU. Cette barre est en `absolute`, donc
   positionnee par rapport au bloc conteneur initial = le viewport de MISE EN
   PAGE, qui couvre tout l'ecran (viewport-fit=cover) : elle n'herite d'aucun
   decalage et passerait sous l'horloge a top:0 (essaye le 15/09, la pastille
   de rubrique et le bouton Suivant disparaissaient). C'est l'inverse des
   elements `fixed`, que la webview decale DEJA — cf. le pave d'explication
   dans its-app-shell.css. Ne pas confondre les deux referentiels. */
html.is-app body.single-post .breadcrumb{
  position:absolute;top:env(safe-area-inset-top,0px);left:0;right:0;z-index:5;
  padding:8px 0 0;
  background:none;border-bottom:0;
}
/* Le hero demarre sous la bande de safe area : plus besoin d'y ajouter l'inset,
   il faut juste degager les boutons (8px + 36px) plus un filet. La fenetre de
   photo reste courte a dessein : elle ne vaut que si la photo est parlante, et
   la moitie du parc est un maillot ou un logo sombre ou elle lit comme un trou.
   Le reste de l'image se voit a travers le degrade, derriere le texte. */
html.is-app body.single-post .article-hero-overlay{
  padding-top:58px;
}
/* Voile sombre en tete : l'heure et les deux boutons restent lisibles meme sur
   une photo claire (ici une banderole blanche). */
html.is-app body.single-post .article-hero::before{
  content:"";position:absolute;top:0;left:0;right:0;z-index:1;height:96px;
  background:linear-gradient(to bottom,rgba(11,26,22,.55),rgba(11,26,22,0));
  pointer-events:none;
}
html.is-app .breadcrumb{padding:10px 0 0;border-bottom:0;}
html.is-app .breadcrumb .container{min-height:0;gap:0;position:relative;z-index:2;}
/* Racine « It's Rugby » masquee seulement s'il existe un lien de rubrique
   derriere (sinon on garderait une barre vide), separateurs et titre courant
   masques : le titre est repris en H1. */
html.is-app .breadcrumb .container > a:first-of-type:not(:only-of-type),
html.is-app .breadcrumb .container > span[aria-hidden="true"],
html.is-app .breadcrumb [aria-current="page"]{display:none;}
/* Alignement pastille retour / pastilles de categorie. Le conteneur du fil
   d'ariane est deja force a 12px (!important preexistant sur `.container`,
   qu'on ne peut pas battre autrement qu'avec un autre !important) tandis que
   `body .article-hero-content` de common.css met le hero a 14px sous 680px.
   On aligne donc le HERO sur le conteneur, pas l'inverse : `html.is-app
   .article-hero-content` (0,0,2,1) bat `body .article-hero-content` (0,0,1,1)
   par specificite, sans !important. Bonus : en mode app le hero se cale sur la
   meme gouttiere que le corps de l'article. */
@media(max-width:680px){
  html.is-app .article-hero-content{padding-left:12px;padding-right:12px;}
}
/* Chevron seul, en pastille : le nom de la rubrique est deja affiche en
   pastille sous le hero, on ne le repete pas. `font-size:0` masque le libelle
   a l'oeil mais le lien garde son texte pour les lecteurs d'ecran (un chevron
   nu ne dirait rien). Pastille carree (charte : pas d'arrondi), calee sur le
   padding du conteneur comme les pastilles de categorie, donc plus collee au
   bord de l'ecran : 36x36 de cible tactile. */
html.is-app .breadcrumb .bc-cat{
  display:inline-flex;align-items:center;justify-content:center;
  width:36px;height:36px;margin:0;padding:0;gap:0;
  font-size:0;text-decoration:none;
  background:rgba(242,229,210,.12);
  border:1px solid rgba(242,229,210,.18);
}
html.is-app .breadcrumb .bc-cat:hover,
html.is-app .breadcrumb .bc-cat:focus-visible{background:rgba(242,229,210,.2);}
html.is-app .breadcrumb .bc-cat::before{
  content:"\2039";font-size:26px;line-height:1;font-weight:400;
  color:var(--sage);position:relative;top:-2px;
}
/* Article suivant : masque partout, il n'apparait que dans la barre du mode
   app, ou il equilibre le retour et remplit la bande. Sur le web le lien reste
   dans le DOM (maillage interne) mais n'est pas affiche. */
.breadcrumb .bc-next{display:none;}
html.is-app .breadcrumb .bc-next{
  display:inline-flex;align-items:center;gap:8px;
  margin-left:auto;height:36px;padding:0 12px;box-sizing:border-box;
  font-size:11px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;
  color:var(--vanilla);text-decoration:none;
  background:rgba(242,229,210,.12);
  border:1px solid rgba(242,229,210,.18);
}
html.is-app .breadcrumb .bc-next:hover,
html.is-app .breadcrumb .bc-next:focus-visible{background:rgba(242,229,210,.2);}
html.is-app .breadcrumb .bc-next::after{
  content:"\203A";font-size:26px;line-height:1;font-weight:400;
  color:var(--sage);position:relative;top:-2px;
}
html.is-app .breadcrumb a:hover,html.is-app .breadcrumb a:focus-visible{color:var(--vanilla);text-decoration:none;}

/* ── CTA chaîne WhatsApp (fin d'article + shortcode [its_whatsapp]) ───────── */
.wa-cta{background:var(--white);border:1px solid var(--border);border-left:4px solid #25D366;padding:18px 22px;margin:24px 0;box-shadow:0 2px 12px rgba(28,61,52,.06);}
.wa-cta-row{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;}
.wa-cta-body{display:flex;flex-direction:column;gap:2px;min-width:0;}
.wa-cta-kicker{font-size:10px;font-weight:800;letter-spacing:0;text-transform:none;color:var(--muted);}
.wa-cta-name{font-size:18px;font-weight:900;color:var(--teal);line-height:1.2;}
.wa-cta-note{font-size:12px;font-weight:600;color:var(--muted);}
.wa-cta-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:var(--white);color:var(--teal);border:1px solid var(--teal);text-decoration:none;font-size:13px;font-weight:800;letter-spacing:.3px;transition:background .15s,border-color .15s;flex-shrink:0;}
.wa-cta-btn:hover,.wa-cta-btn:focus-visible{background:var(--sage-lt);border-color:var(--teal);}
.wa-cta-icon{flex-shrink:0;}

@media(max-width:680px){
  .wa-cta{padding:16px 18px;}
  .wa-cta-row{align-items:flex-start;}
  .wa-cta-btn{width:100%;justify-content:center;}
}

/* Auteur unique : la grille 2 colonnes fixes laissait la carte à mi-largeur.
   auto-fit = 1 colonne pleine largeur à un auteur, 2 colonnes à deux. */
.article-credits-section{grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));}

/* Sous 768px, .article-content-wrap--share-top passe en flex column pour
   remonter les boutons de partage. Effet de bord : un enfant .container porte
   margin:0 auto, or des marges auto sur l'axe transverse d'un flex empêchent
   l'étirement — l'enfant se réduit à son contenu et se centre. Visible sur la
   carte auteur (232px au lieu de la pleine largeur) et sur tout bloc à contenu
   étroit posé dans ce wrap. */
@media(max-width:768px){
  .article-content-wrap--share-top > .container{width:100%;}
}

/* ── Tableaux d'article : largeurs de colonnes et défilement horizontal ──
   20/09/2026. Le bloc core « table » pose deux choses qui abîment nos
   tableaux de données éditoriaux :
     • `has-fixed-layout` (posé par défaut par Gutenberg, et par la conversion
       Markdown → blocs) impose `table-layout:fixed`, donc des colonnes de
       largeur RIGOUREUSEMENT égale. Sur la liste des 63 internationaux
       (post 341490, 7 colonnes), la colonne « Joueur » reçoit la même largeur
       que « Sél. EDF » et les noms passent sur trois lignes.
     • le conteneur `figure.wp-block-table` est bien en `overflow-x:auto`, mais
       avec `table-layout:fixed` + `width:100%` la table ne déborde JAMAIS :
       elle se comprime sur place, donc le défilement ne sert à rien.
   On repasse donc en `table-layout:auto` (les colonnes se dimensionnent sur
   leur contenu) et on donne une largeur plancher aux tableaux larges sur
   petit écran : ils débordent alors pour de bon, et le conteneur défile.
   Le plancher est conditionné au NOMBRE de colonnes via `:has()` — un tableau
   à 2 ou 3 colonnes continue de tenir dans la largeur, sans défilement inutile.
   ⚠️ Copié dans itsrugby-common.css (hors RUCSS) : sans cela, les articles
   dont le used-css est déjà généré ne verraient jamais ces règles. */
.article-body figure.wp-block-table{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;}
.article-body .wp-block-table table.has-fixed-layout{table-layout:auto;width:100%;}
.article-body .wp-block-table table.has-fixed-layout td,
.article-body .wp-block-table table.has-fixed-layout th{word-break:normal;overflow-wrap:break-word;}
@media(max-width:780px){
  .article-body .wp-block-table table:has(> thead > tr > th:nth-child(5)){min-width:540px;}
  .article-body .wp-block-table table:has(> thead > tr > th:nth-child(7)){min-width:680px;}
}

/* ── Chiffres à retenir : bloc de tête d'article ─────────────────────────
   20/09/2026. Trois à cinq lignes, chacune un chiffre et sa signification,
   sorties de la prose pour être lues d'un coup d'œil. Rendu par
   its_article_render_stats_cles() (its-tpl-article.php) à partir de la
   colonne Supabase `stats_cles`.
   Géométrie calquée sur le bloc citation (its-rugby-citations/assets/citations.css)
   pour que les deux encadrés d'article parlent la même langue : même cadre
   1 px, même filet sauge de 6 px à gauche, même ombre, mêmes marges.
   ⚠️ Filet de gauche en sauge, chiffres en teal (charte teal/vanilla, 15/10).
   ⚠️ Copié dans itsrugby-common.css (hors RUCSS) : un sélecteur neuf posé
   ici seulement resterait invisible sur les articles déjà optimisés. */
/* Pleine largeur de la colonne de texte, exactement comme le bloc citation
   (`blockquote.itsrugby-citation`, margin 24px 0) : les deux encadrés d'article
   doivent s'aligner sur le même bord que les paragraphes. */
.article-cles{margin:24px 0;padding:20px 22px;background:var(--white);border:1px solid var(--border);border-left:6px solid var(--sage);box-shadow:0 2px 8px rgba(0,0,0,.04);overflow:hidden;box-sizing:border-box;}
.article-cles .acl-title{margin:0 0 12px;font-size:11px;font-weight:800;letter-spacing:0;text-transform:none;color:var(--muted);}
.article-cles .acl-list{margin:0;padding:0;list-style:none;}
/* `align-items:center` et non `baseline` : dès que le libellé passe sur deux
   lignes, le chiffre calé sur la première ligne de base paraissait remonté.
   Centré, il reste en face de son libellé quelle que soit sa hauteur.
   Une ligne = un paragraphe du cœur : `<strong>` (la valeur) puis le texte du
   libellé. En grille, le texte qui suit le `<strong>` forme une boîte anonyme,
   donc un second élément de grille : deux colonnes sans balise supplémentaire,
   et le paragraphe reste modifiable dans l'éditeur. Les classes .acl-val/.acl-lbl
   couvrent le balisage de l'ancien rendu SSR, encore servi aux articles importés
   avant le 20/09/2026. */
.article-cles .acl-row{display:grid;grid-template-columns:minmax(58px,auto) 1fr;gap:4px 14px;align-items:center;margin:0;padding:8px 0;border-top:1px solid rgba(196,196,196,.35);font-size:14px;line-height:1.45;color:var(--teal);}
.article-cles .acl-row:first-of-type{border-top:0;padding-top:0;}
.article-cles .acl-row:last-child{padding-bottom:0;}
.article-cles .acl-row>strong,.article-cles .acl-val{font-size:clamp(20px,2.4vw,26px);font-weight:800;line-height:1.1;color:var(--teal);font-variant-numeric:tabular-nums;white-space:nowrap;}
.article-cles .acl-lbl{font-size:14px;line-height:1.45;color:var(--teal);}
@media(max-width:520px){
  /* Sous 520 px, une valeur longue (« 183 », « 20-0 », « 4/35 ») et son
     libellé ne tiennent plus côte à côte sans hacher le texte : on empile. */
  .article-cles{padding:16px 16px;}
  .article-cles .acl-row{grid-template-columns:1fr;gap:2px;}
  .article-cles .acl-row,.article-cles .acl-lbl{font-size:13px;}
}
