/* =============================
   Fair Future – SearchWP Related
   Scoped to .fff-related-stories
   ============================= */

/* Wrapper sans fond bleu */
.fff-related-stories .searchwp-related,
.fff-related-stories .wp-block-searchwp-related {
  margin: 0;
  padding: 0;
  background: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

/* Titre h4 */
.fff-related-stories .searchwp-related > h4,
.fff-related-stories .wp-block-searchwp-related > h4 {
  margin: 0 0 0.75rem;
  font-size: 1rem;
  font-weight: 700;
  color: #12324a;
}

/* Grille des cartes (desktop) */
.fff-related-stories .searchwp-related-results,
.fff-related-stories .wp-block-searchwp-related .searchwp-related-results {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 5px;
}

/* Carte individuelle */
.fff-related-stories .searchwp-related-item,
.fff-related-stories .wp-block-searchwp-related .searchwp-related-item {
  background: #ffffff;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0,0,0,.08);
  display: flex;
  flex-direction: column;
  transition: transform .2s ease, box-shadow .2s ease;
}

/* Hover léger */
.fff-related-stories .searchwp-related-item:hover,
.fff-related-stories .wp-block-searchwp-related .searchwp-related-item:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 12px rgba(0,0,0,.12);
}

/* Image avec marges et radius 4px */
.fff-related-stories .searchwp-related-item-img-container,
.fff-related-stories .wp-block-searchwp-related .searchwp-related-item-img-container {
  margin: 15px 15px 8px;
  border-radius: 4px;
  overflow: hidden;
}

.fff-related-stories .searchwp-related-item-img-container img,
.fff-related-stories .wp-block-searchwp-related .searchwp-related-item-img-container img {
  display: block;
  width: 100%;
  height: auto;
}

/* Zone texte */
.fff-related-stories .searchwp-related-item--info-container,
.fff-related-stories .wp-block-searchwp-related .searchwp-related-item--info-container {
  padding: 0 15px 14px;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}

/* Titre de carte */
.fff-related-stories .searchwp-related-item--title,
.fff-related-stories .wp-block-searchwp-related .searchwp-related-item--title {
  margin: 4px 0 4px;
  font-size: .9rem;
  line-height: 1.3;
  font-weight: 700;
}

.fff-related-stories .searchwp-related-item--title a,
.fff-related-stories .wp-block-searchwp-related .searchwp-related-item--title a {
  color: #12324a;
  text-decoration: none;
}

.fff-related-stories .searchwp-related-item--title a:hover,
.fff-related-stories .wp-block-searchwp-related .searchwp-related-item--title a:hover {
  color: #1c88ff;
}

/* Description – 0.8rem, justifiée, max 5lignes */
.fff-related-stories .searchwp-related-item--desc,
.fff-related-stories .wp-block-searchwp-related .searchwp-related-item--desc {
  margin: 2px 0 0;
  font-size: .8rem;
  line-height: 1.2rem;
  text-align: justify;
  color: #45596e;

  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
  overflow: hidden;
  text-overflow: ellipsis;
}
/* =============================
   Responsive
   ============================= */

/* Tablette : 2 colonnes */
@media (max-width: 980px) {
  .fff-related-stories .searchwp-related-results,
  .fff-related-stories .wp-block-searchwp-related .searchwp-related-results {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
}

/* Mobile : 1 carte par ligne, full width */
@media (max-width: 767px) {

  .fff-related-stories .searchwp-related-results,
  .fff-related-stories .wp-block-searchwp-related .searchwp-related-results {
    display: block !important;
  }

  .fff-related-stories .searchwp-related-item,
  .fff-related-stories .wp-block-searchwp-related .searchwp-related-item {
    width: 100% !important;
    margin: 0 0 10px !important;
  }

  .fff-related-stories .searchwp-related-item-img-container,
  .fff-related-stories .wp-block-searchwp-related .searchwp-related-item-img-container {
    margin: 10px 10px 6px;
  }

  .fff-related-stories .searchwp-related-item--info-container,
  .fff-related-stories .wp-block-searchwp-related .searchwp-related-item--info-container {
    padding: 0 10px 12px;
  }
}
