/* ══════════════════════════════════════════════════════════════════
   ressources.css — Page ressources gratuites LeDocteur.org
   ══════════════════════════════════════════════════════════════════ */

/* ── HERO ── */
.ress-hero {
  background: #003A70 !important;
  padding: 64px 24px 52px !important;
  display: block !important;
  position: relative !important;
  overflow: hidden !important;
}

.ress-hero::after {
  content: '' !important;
  position: absolute !important;
  top: -80px !important;
  right: -80px !important;
  width: 400px !important;
  height: 400px !important;
  border-radius: 50% !important;
  background: radial-gradient(circle, rgba(184,39,76,.25) 0%, transparent 65%) !important;
  pointer-events: none !important;
}

.ress-hero__inner {
  max-width: 1100px !important;
  margin: 0 auto !important;
  position: relative !important;
  z-index: 1 !important;
}

.ress-hero__eyebrow {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: rgba(255,255,255,.55) !important;
  font-family: 'ParnasoSmallTrial-Medium-BF66bd73b44e151', Georgia, serif !important;
  font-size: .75rem !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  margin: 0 0 18px 0 !important;
  padding: 0 !important;
}

.ress-hero__dot {
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  background: #B8274C !important;
  display: inline-block !important;
}

.ress-hero__title {
  color: #fff !important;
  font-family: 'ParnasoSmallTrial-Medium-BF66bd73b44e151', Georgia, serif !important;
  font-size: 2.2rem !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.03em !important;
  margin: 0 0 14px 0 !important;
  padding: 0 !important;
}

.ress-hero__sub {
  color: rgba(255,255,255,.65) !important;
  font-family: 'ParnasoSmallTrial-Medium-BF66bd73b44e151', Georgia, serif !important;
  font-size: 1rem !important;
  line-height: 1.6 !important;
  margin: 0 !important;
  padding: 0 !important;
  max-width: 520px !important;
}

/* ── CORPS ── */
.ress-body {
  background: #F4F6F9 !important;
  padding: 48px 24px 80px !important;
  display: block !important;
}

/* ── Filtres ── */
.ress-filters {
  display: flex !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  max-width: 1100px !important;
  margin: 0 auto 36px !important;
}

.ress-filter {
  padding: 8px 18px !important;
  background: #fff !important;
  border: 1.5px solid #E2E8F0 !important;
  color: #003A70 !important;
  font-family: 'ParnasoSmallTrial-Medium-BF66bd73b44e151', Georgia, serif !important;
  font-size: .82rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: background .2s, border-color .2s, color .2s !important;
  border-radius: 0 !important;
}

.ress-filter:hover {
  border-color: #003A70 !important;
  color: #003A70 !important;
  text-decoration: none !important;
}

.ress-filter--active {
  background: #003A70 !important;
  border-color: #003A70 !important;
  color: #fff !important;
}

.ress-filter--active:hover {
  color: #fff !important;
}

/* ── Grille ── */
.ress-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
  max-width: 1100px !important;
  margin: 0 auto 60px !important;
}

/* ── Carte ── */
.ress-card {
  background: #fff !important;
  text-decoration: none !important;
  display: flex !important;
  flex-direction: column !important;
  border: 1.5px solid transparent !important;
  transition: border-color .2s, box-shadow .2s, transform .2s !important;
  overflow: hidden !important;
}

.ress-card:hover {
  border-color: #211DE4 !important;
  box-shadow: 0 8px 32px rgba(0,58,112,.1) !important;
  transform: translateY(-3px) !important;
  text-decoration: none !important;
}

.ress-card__img {
  position: relative !important;
  height: 220px !important;
  overflow: hidden !important;
  background: #E8F4FD !important;
}

.ress-card__img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform .3s !important;
}

.ress-card:hover .ress-card__img img {
  transform: scale(1.04) !important;
}

.ress-card__placeholder {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 3rem !important;
}

.ress-card__overlay {
  position: absolute !important;
  inset: 0 !important;
  background: rgba(0,58,112,.75) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  opacity: 0 !important;
  transition: opacity .25s !important;
}

.ress-card:hover .ress-card__overlay {
  opacity: 1 !important;
}

.ress-card__dl {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: #fff !important;
  font-family: 'ParnasoSmallTrial-Medium-BF66bd73b44e151', Georgia, serif !important;
  font-size: .9rem !important;
  font-weight: 700 !important;
  background: #B8274C !important;
  padding: 10px 20px !important;
}

.ress-card__dl svg {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  max-width: 16px !important;
}

.ress-card__body {
  padding: 14px 16px !important;
}

.ress-card__title {
  color: #003A70 !important;
  font-family: 'ParnasoSmallTrial-Medium-BF66bd73b44e151', Georgia, serif !important;
  font-size: .95rem !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ── Vide ── */
.ress-empty {
  text-align: center !important;
  padding: 80px 20px !important;
  max-width: 400px !important;
  margin: 0 auto !important;
}

.ress-empty__icon {
  font-size: 3rem !important;
  margin-bottom: 16px !important;
  display: block !important;
}

.ress-empty__title {
  color: #003A70 !important;
  font-family: 'ParnasoSmallTrial-Medium-BF66bd73b44e151', Georgia, serif !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  margin: 0 0 8px 0 !important;
  padding: 0 !important;
}

.ress-empty__sub {
  color: #6A7282 !important;
  font-size: .9rem !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ── Newsletter ── */
.ress-newsletter {
  background: #fff !important;
  border-left: 3px solid #B8274C !important;
  padding: 36px 40px !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
  text-align: center !important;
}

.ress-newsletter__title {
  color: #003A70 !important;
  font-family: 'ParnasoSmallTrial-Medium-BF66bd73b44e151', Georgia, serif !important;
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  margin: 0 0 8px 0 !important;
  padding: 0 !important;
}

.ress-newsletter__sub {
  color: #6A7282 !important;
  font-family: 'ParnasoSmallTrial-Medium-BF66bd73b44e151', Georgia, serif !important;
  font-size: .9rem !important;
  margin: 0 0 20px 0 !important;
  padding: 0 !important;
}

.ress-newsletter__form {
  display: flex !important;
  gap: 0 !important;
  max-width: 460px !important;
  margin: 0 auto !important;
}

.ress-newsletter__input {
  flex: 1 !important;
  padding: 13px 16px !important;
  border: 1.5px solid #E2E8F0 !important;
  border-right: none !important;
  font-family: 'ParnasoSmallTrial-Medium-BF66bd73b44e151', Georgia, serif !important;
  font-size: .9rem !important;
  color: #003A70 !important;
  outline: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: #F4F6F9 !important;
}

.ress-newsletter__input:focus {
  border-color: #003A70 !important;
  background: #fff !important;
}

.ress-newsletter__btn {
  padding: 13px 24px !important;
  background: #211DE4 !important;
  color: #fff !important;
  font-family: 'ParnasoSmallTrial-Medium-BF66bd73b44e151', Georgia, serif !important;
  font-size: .9rem !important;
  font-weight: 700 !important;
  border: none !important;
  cursor: pointer !important;
  border-radius: 0 !important;
  transition: background .2s !important;
  white-space: nowrap !important;
}

.ress-newsletter__btn:hover { background: #0169F0 !important; }

.ress-newsletter__success {
  color: #016630 !important;
  font-size: .9rem !important;
  margin-top: 12px !important;
  padding: 0 !important;
}

/* ── Responsive ── */
@media (max-width: 991px) {
  .ress-grid { grid-template-columns: repeat(3, 1fr) !important; }
}

@media (max-width: 700px) {
  .ress-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .ress-newsletter { padding: 24px 20px !important; }
  .ress-newsletter__form { flex-direction: column !important; }
  .ress-newsletter__input { border-right: 1.5px solid #E2E8F0 !important; border-bottom: none !important; }
}

@media (max-width: 480px) {
  .ress-grid { grid-template-columns: 1fr !important; }
}