/* CŒUR — styles maison fonctionnels, PARTAGÉS par tous les sites.
   RÈGLE : aucun nom de classe Bootstrap ici. Uniquement des classes "maison".
   La palette/branding par site se surcharge dans public/themes/<clé>/css/custom.css. */

/* --- Accent de marque (point du logo) — thémable par site --- */
.brand-dot { color: var(--bs-danger); }

/* --- Carte à la une --- */
.hero-card { overflow: hidden; }
.hero-card-img { filter: brightness(0.62); }
.hero-card-overlay {
  background: linear-gradient(to top, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0) 60%);
}

/* --- Titre / corps putaclic --- */
.titre-putaclic { font-size: clamp(1.6rem, 4vw, 2.6rem); line-height: 1.15; }
.intro-putaclic { font-size: 1.15rem; }
.corps-segment { font-size: 1.08rem; line-height: 1.7; }
.corps-segment img { max-width: 100%; height: auto; border-radius: .375rem; }

/* --- Badge de rang (#5) pour les listes --- */
.badge-rang {
  line-height: 1;
  min-width: 2.4ch;
  text-shadow: 0 2px 0 rgba(0, 0, 0, 0.08);
}

/* --- Colonne latérale sticky (desktop) --- */
@media (min-width: 992px) {
  .zone-sticky { position: sticky; top: 5rem; }
}

/* --- Emplacements publicitaires --- */
.ad-zone { overflow: hidden; }
.ad-placeholder {
  border: 1px dashed #ced4da;
  background-image: repeating-linear-gradient(
    45deg, #f8f9fa, #f8f9fa 10px, #f1f3f5 10px, #f1f3f5 20px
  );
}
.ad-sidebar { min-height: 250px; }
.ad-header, .ad-footer, .ad-before-next, .ad-in-article { min-height: 90px; }

/* --- Vignette des articles liés --- */
.related-thumb { width: 88px; flex: 0 0 88px; }

/* --- Barre de pagination article : reste accessible au pouce sur mobile --- */
@media (max-width: 575.98px) {
  .pager-bar .btn-lg { padding-left: 1rem; padding-right: 1rem; }
}

/* --- Lecteur Dailymotion : remplit le conteneur 16:9 --- */
.dm-player { overflow: hidden; border-radius: .375rem; background: #000; }
.dm-player > div,
.dm-player iframe { width: 100%; height: 100%; border: 0; }
