.rfd-auth { display: inline-flex; gap: 0.6rem; align-items: center; }
.rfd-btn {
  display: inline-block;
  border-radius: 999px;
  padding: 0.45rem 0.95rem;
  text-decoration: none;
  font-weight: 600;
}
.rfd-btn-gold { background: #c9a227; color: #0b1f3a; }
.rfd-btn-navy { background: #0b1f3a; color: #fff; }
.rfd-btn-ghost { border: 1px solid #0b1f3a; color: #0b1f3a; }
.rfd-avatar {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.3rem 0.9rem 0.3rem 0.3rem;
  border-radius: 999px;
  background: #0b1f3a;
  color: #fff;
  text-decoration: none;
  font-weight: 600;
}
.rfd-avatar-circle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.8rem;
  height: 1.8rem;
  border-radius: 50%;
  background: #c9a227;
  color: #0b1f3a;
  font-size: 0.72rem;
  font-weight: 700;
  flex-shrink: 0;
}
.rfd-avatar-name { font-size: 0.9rem; }
.rfd-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1.1rem;
}
.rfd-card {
  background: #fff;
  border: 1px solid #e4ddd0;
  border-radius: 14px;
  padding: 1rem;
}
.rfd-card-media {
  height: 90px;
  border-radius: 8px;
  background: #0b1f3a;
  margin-bottom: 0.8rem;
}
.rfd-grid .rfd-card img { display: block; width: 100% !important; height: 190px !important; object-fit: cover; border-radius: 8px; }
.rfd-card h3 { margin: 0.2rem 0 0.5rem; font-size: 1.1rem; }
.rfd-kicker { color: #5c6573; font-size: 0.8rem; margin: 0; }
.rfd-badge {
  display: inline-block;
  background: #c9a227;
  color: #0b1f3a;
  border-radius: 999px;
  padding: 0.1rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 700;
}
.rfd-more { font-weight: 600; }
.rfd-paywall {
  background: #f6f2ea;
  border: 1px solid #e4ddd0;
  border-radius: 14px;
  padding: 1.2rem;
}
.rfd-paywall-title { font-weight: 700; color: #0b1f3a; }
.rfd-team-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1.2rem;
}
.rfd-team-card { background: #fff; border: 1px solid #e4ddd0; border-radius: 14px; padding: 1.2rem; text-align: center; }
.rfd-team-grid .rfd-team-card img { width: 96px !important; height: 96px !important; object-fit: cover; border-radius: 50%; margin: 0 auto 0.8rem; display: block; }
.rfd-team-photo-placeholder { width: 96px; height: 96px; border-radius: 50%; background: #e4ddd0; margin: 0 auto 0.8rem; }
.rfd-team-card h3 { margin: 0 0 0.2rem; font-size: 1.05rem; }
.rfd-team-role { margin: 0; font-weight: 600; color: #0b1f3a; font-size: 0.9rem; }
.rfd-team-org { margin: 0.1rem 0 0; color: #5c6573; font-size: 0.85rem; }
.rfd-plans-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1.2rem;
}
.rfd-plan-card {
  position: relative;
  background: #fff;
  border: 1px solid #e4ddd0;
  border-radius: 16px;
  padding: 1.5rem;
}
.rfd-plan-card.featured { background: #0b1f3a; color: #fff; border-color: transparent; }
.rfd-plan-card.featured h3,
.rfd-plan-card.featured p,
.rfd-plan-card.featured .rfd-plan-features li { color: #fff; }
.rfd-plan-card h3 { margin-top: 0; font-size: 1.2rem; }
.rfd-plan-price { font-size: 1.6rem; font-weight: 700; color: #0b1f3a; margin: 0.4rem 0; }
.rfd-plan-card.featured .rfd-plan-price { color: #fff; }
.rfd-plan-features { list-style: none; padding: 0; margin: 0.8rem 0; }
.rfd-plan-features li { padding: 0.25rem 0; font-size: 0.9rem; }

/* À la une */
.rfd-a-la-une { display: grid; grid-template-columns: 2fr 1fr; gap: 1.5rem; align-items: start; }
.rfd-a-la-une-featured { background: #fff; border: 1px solid #e4ddd0; border-radius: 14px; overflow: hidden; padding-bottom: 1.2rem; }
.rfd-a-la-une-featured img,
.rfd-a-la-une-featured .rfd-card-media { width: 100% !important; height: 220px !important; object-fit: cover; border-radius: 0; margin-bottom: 0.8rem; }
.rfd-a-la-une-featured h3,
.rfd-a-la-une-featured p,
.rfd-a-la-une-featured .rfd-badge { margin-left: 1.2rem; margin-right: 1.2rem; }
.rfd-a-la-une-featured h3 { font-size: 1.3rem; }
.rfd-a-la-une-list { display: flex; flex-direction: column; gap: 1rem; }
.rfd-a-la-une-item { background: #fff; border: 1px solid #e4ddd0; border-radius: 12px; padding: 1rem; }
.rfd-a-la-une-item h4 { margin: 0.4rem 0 0; font-size: 0.98rem; }
@media (max-width: 780px) { .rfd-a-la-une { grid-template-columns: 1fr; } }

/* Dernière édition */
.rfd-hero-numero { background: linear-gradient(160deg, #0b1f3a 0%, #071527 100%); color: #fff; border-radius: 18px; padding: 2rem; }
.rfd-hero-kicker { text-transform: uppercase; letter-spacing: 0.08em; font-size: 0.78rem; color: #c9a227; font-weight: 700; margin: 0 0 0.5rem; }
.rfd-hero-numero h2 { color: #fff; margin: 0 0 0.6rem; }
.rfd-hero-numero p { color: rgba(255,255,255,0.82); }
.rfd-hero-tags { margin: 0.6rem 0 1rem; }
.rfd-tag-pill { display: inline-block; border: 1px solid rgba(255,255,255,0.35); color: #fff; border-radius: 999px; padding: 0.15rem 0.65rem; font-size: 0.78rem; margin-right: 0.4rem; }

/* Veille */
.rfd-veille-list { display: flex; flex-direction: column; }
.rfd-veille-item { display: flex; align-items: center; gap: 0.9rem; padding: 0.9rem 0; border-bottom: 1px solid #e4ddd0; flex-wrap: wrap; }
.rfd-veille-date { color: #5c6573; font-size: 0.8rem; min-width: 90px; }
.rfd-veille-item h4 { margin: 0; font-size: 1rem; flex: 1; min-width: 200px; }
