/* === Infos du moment — DA v2 === */
.infos-title {
  font-family: 'Playfair Display', Georgia, serif;
  text-align: center; display: block;
  width: min(88%, var(--max-width));
  max-width: var(--max-width);
  margin: 0 auto 1.1rem;
}

.infos-section { margin: 1.25rem 0; }
.infos-container {
  width: min(88%, var(--max-width));
  max-width: var(--max-width);
  margin: 0 auto;
}
.infos-empty { text-align: center; color: var(--muted); }

/* Grille */
.infos-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 1.25rem;
}

/* Card */
.info-card {
  background: #fff; border: 1px solid var(--line);
  border-radius: 14px; box-shadow: 0 4px 16px rgba(20,8,0,.07);
  overflow: hidden;
  transition: transform .2s, box-shadow .25s, border-color .22s;
}
.info-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 28px rgba(20,8,0,.11);
  border-color: rgba(181,117,46,.2);
}

.info-media { position: relative; }
.info-media img { display: block; width: 100%; height: 210px; object-fit: cover; }

/* Ruban "à la une" */
.info-ribbon {
  position: absolute; top: 10px; left: 10px;
  background: linear-gradient(135deg, var(--brand), var(--brand-dark));
  color: #fff; font-weight: 800; font-size: .8rem;
  padding: .2rem .6rem; border-radius: 999px;
  box-shadow: 0 4px 12px rgba(181,117,46,.3);
}
.info-ribbon--noimg {
  position: static; margin: 10px 0 -6px 10px; display: inline-block;
}

/* Contenu */
.info-content { padding: 1rem 1.1rem 1.2rem; }
.info-title {
  margin: 0 0 .3rem;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.2rem; color: var(--accent); line-height: 1.25;
}
.info-date  { display: block; color: var(--muted); font-size: .84rem; margin-bottom: .45rem; }
.info-text  { color: var(--text); font-size: .97rem; }

/* Details / Read more */
.info-details { margin-top: .55rem; }
.info-details > summary {
  list-style: none; cursor: pointer; user-select: none;
  display: inline-block;
  padding: .38rem .75rem; border-radius: 999px;
  border: 1px solid var(--line);
  font-weight: 700; font-size: .9rem;
  transition: background .2s, border-color .2s;
}
.info-details > summary:hover { background: var(--bg-soft); }
.info-details[open] > summary {
  background: linear-gradient(135deg, var(--brand), var(--brand-dark));
  color: #fff; border-color: transparent;
}
.info-full { margin-top: .6rem; color: var(--text); line-height: 1.65; }

.clamp-4 { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }

@media (max-width: 900px) { .infos-container, .infos-title { width: 94%; } }
