/* ====== Listing Actualités ====== */

/* carte à la une */
.card-featured .ratio img{ object-fit: cover; }
.card-featured{ border:1px solid var(--border); background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01)) }

/* chips tags */
.chip{
  display:inline-block; padding:.2rem .5rem; border-radius:999px;
  background: rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); color:#dfe4ec;
}

/* mini-boutons tags (filtres) */
.btn-chip{
  border:1px solid var(--border);
  background: rgba(255,255,255,.04);
  color:#cfd4dd;
  border-radius:999px; padding:.35rem .75rem; font-size:.9rem;
}
.btn-chip:hover{ border-color: var(--brand); color:#fff; }
.btn-chip.active{ background: rgba(196,22,28,.2); border-color: var(--brand); color:#fff; }

/* vignettes */
.card-news .card-thumb{ position: relative; }
.card-news .badge-ontop{
  position:absolute; top:0rem; left:0rem;
}

/* pagination sombre */
.pagination-dark .page-item .page-link{
  background: rgba(255,255,255,.05);
  color:#eaeaea; border-color: var(--border);
}
.pagination-dark .page-item.active .page-link{
  background: var(--brand); border-color: var(--brand); color:#fff;
}
.pagination-dark .page-item.disabled .page-link{
  background: rgba(255,255,255,.03); color:#7f8791; border-color: var(--border);
}

/* inputs filtres */
.filters .form-control,
.filters .form-select,
.filters .input-group-text{
  background: transparent;
  color: #eaeaea;
  border-color: #3a3a42;
}
.filters .form-control::placeholder{ color:#9aa0ab; }
/* ---- Lisibilité des titres ---- */

/* titre principal de la section "Fil d’actualités" */
.card-body h2,
h2.h5,
h1.h3,
h3.h5 {
  color: #ffffff; /* texte blanc franc */
  text-shadow: 0 0 4px rgba(0,0,0,0.4);
}

/* titres d’articles */
.card-news h3 {
  color: #f8f9fb;
  font-weight: 600;
  line-height: 1.35;
}

/* survol carte -> légère mise en avant du titre */
.card-news:hover h3 {
  color: var(--brand);
  transition: color .25s ease;
}

/* sous-titre / "Fil d’actualités" */
.card-body h2.h5 {
  font-weight: 700;
  color: #fff;
  letter-spacing: .2px;
}

/* métadonnées et badges légèrement éclaircis */
.card-news .text-secondary,
.card-featured .text-secondary {
  color: #cfd4dd !important;
}
/* ---- Bande visuelle "Fil d’actualités" ---- */

.card.h-100 {
  position: relative;
  overflow: hidden;
  background: var(--card);
  border: 1px solid var(--border);
}

/* halo rouge sombre derrière */
.card.h-100::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(800px 600px at 80% 30%, rgba(196,22,28,0.18), transparent 70%),
    linear-gradient(180deg, rgba(255,255,255,0.02), rgba(0,0,0,0.15));
  z-index: 0;
  opacity: 0.9;
}

/* contenu du panneau au-dessus du halo */
.card.h-100 .card-body {
  position: relative;
  z-index: 1;
}

/* effet lumineux plus marqué sur le titre */
.card.h-100 h2.h5 {
  text-shadow: 0 0 6px rgba(196,22,28,0.45);
}

/* accent doux sur la bordure gauche */
.card.h-100 {
  border-left: 2px solid rgba(196,22,28,0.4);
  box-shadow: 0 0 18px rgba(196,22,28,0.1);
}
/* Anim d'apparition pour les cartes du grid */
#newsGrid [data-aos]{
  transition: transform .7s, opacity .7s;
  will-change: transform, opacity;
}
#newsGrid [data-aos].aos-init{ opacity: 0; transform: translateY(10px); }
#newsGrid [data-aos].aos-animate{ opacity: 1; transform: none; }
