/* Rétro Flash Actu — gabarit public unifié. Dernière feuille chargée dans
   l'accueil et les audiences, sans modifier l'identité graphique validée. */
:root {
  --rfa-page-max: 1260px;
  --rfa-page-gutter: 26px;
}
/* En-tête, navigation, corps, audience et pied de page : MÊME axe central. */
body .container,
body.audiences-page .container,
body.audiences-page .shell {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--rfa-page-max);
  padding-inline: var(--rfa-page-gutter);
  margin-inline: auto;
}
body #app.main-content,
body.audiences-page main.shell {
  width: 100%;
  max-width: var(--rfa-page-max);
  padding-inline: var(--rfa-page-gutter);
  margin-inline: auto;
}
/* Le gabarit d'article participe à la largeur du site ; le texte courant
   reste volontairement plus étroit pour être agréable à lire. */
body #app .article-page {
  width: 100%;
  max-width: 100% !important;
  margin-inline: 0;
  min-width: 0;
}
body #app .article-page .article-prose {max-width: 800px;margin-inline:auto;}
body #app .article-page .article-lead {max-width: 960px;}
body #app .article-page .article-main-image {max-width: 100%;}
body .site-grid,
body .feed-col,
body .sidebar,
body.audiences-page .topthree,
body.audiences-page .rank-panels,
body.audiences-page .analysis-grid,
body.audiences-page .extras,
body.audiences-page .premium {min-width:0;}
/* Garder toutes les catégories visibles et alignées sans provoquer
   d'élargissement horizontal artificiel du site. */
body .navigation .nav-inner {
  gap: clamp(9px, 1.25vw, 18px);
  min-width: 0;
  overflow-x: auto;
  scrollbar-width: none;
}
body .navigation .nav-inner::-webkit-scrollbar {display:none;}
body.audiences-page .aud-hero {max-width: var(--rfa-page-max);}
body.audiences-page .topcard {min-width:0;}
body.audiences-page .rank-panels > .panel {min-width:0;}
@media(max-width:850px) {
  :root{--rfa-page-gutter:19px;}
}
@media(max-width:580px) {
  :root{--rfa-page-gutter:12px;}
  body.audiences-page .aud-hero {padding-block:17px;}
  body.audiences-page .rank-panels,
  body.audiences-page .analysis-grid,
  body.audiences-page .extras {width:100%;}
}
/* Les liens légaux doivent aussi rester dans la largeur du site sur mobile. */
body .footer-top,body .footer-bottom {min-width:0;flex-wrap:wrap;}
body .footer-links {min-width:0;max-width:100%;flex-wrap:wrap;gap:12px 18px;}
@media(max-width:580px) {
  body .footer-links {width:100%;justify-content:flex-start;}
  body .footer-top,body .footer-bottom {gap:14px;}
}
/* La réduction du gabarit ne doit pas couper le titre Audiences TV.
   Auparavant, les filtres + marge réservée à la photo forçaient deux lignes
   dans un bandeau fixe de 111px. */
body.audiences-page .aud-hero {
  height:auto;
  min-height:145px;
  padding-block:18px;
  flex-wrap:nowrap;
}
body.audiences-page .aud-hero .hero-title{flex:1 1 380px;min-width:0;}
body.audiences-page .aud-hero h1{font-size:clamp(34px,3.15vw,51px);white-space:nowrap;}
body.audiences-page .aud-hero .hero-filters{margin-right:clamp(0px,9vw,145px);flex:0 1 auto;}
@media(max-width:1120px){
  body.audiences-page .aud-hero{flex-wrap:wrap;}
  body.audiences-page .aud-hero .hero-filters{width:100%;margin-right:0;justify-content:flex-start;}
  body.audiences-page .aud-hero .hero-quote{display:none;}
}
@media(max-width:580px){
  body.audiences-page .aud-hero h1{white-space:normal;font-size:37px;}
  body.audiences-page .aud-hero .hero-title{flex:1 1 100%;}
}
