/* La Fosca Bay — Composant « carte logement » + grille (réutilisé : archive /logements, accueil, …).
   Le listing item « Carte Logement » (JetEngine) pose les classes lfb-card*. */

/* Grille 2 colonnes (override propre de la mise en page flex native de JetEngine) */
.home .jet-listing-grid__items,
.post-type-archive-logement .jet-listing-grid__items {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-4);
}
.home .jet-listing-grid__item,
.post-type-archive-logement .jet-listing-grid__item {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
}

/* Carte */
.lfb-card {
  background: var(--c-white);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-soft);
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: transform .25s ease, box-shadow .25s ease;
}
.lfb-card:hover { transform: translateY(-4px); box-shadow: 0 18px 44px rgba(35, 48, 58, .14); }

.lfb-card__img,
.lfb-card__img a,
.lfb-card__img .elementor-widget-container { display: block; line-height: 0; }
.lfb-card__img img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  display: block;
  transition: transform .5s ease;
}
.lfb-card:hover .lfb-card__img img { transform: scale(1.05); }

.lfb-card__body {
  padding: var(--space-3) var(--space-4) var(--space-4);
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  flex: 1;
}
.lfb-card__title .elementor-heading-title,
.lfb-card__title {
  font-family: var(--font-title);
  font-size: 28px;
  font-weight: 600;
  color: var(--c-primary);
  margin: 0;
}
.lfb-card__meta {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2);
  color: var(--c-pine);
  font-size: 14.5px;
  font-weight: 600;
}
.lfb-card__meta > .elementor-element { width: auto !important; }
.lfb-card__type { text-transform: capitalize; }

.lfb-card__slogan {
  font-family: var(--font-title);
  font-style: italic;
  font-size: 17px;
  color: var(--c-ink);
  margin: var(--space-1) 0 var(--space-2);
}

.lfb-card__cta { margin-top: auto; }
.lfb-card__cta a {
  display: inline-block;
  background: var(--c-cta);
  color: var(--c-white);
  padding: 11px 24px;
  border-radius: var(--radius);
  font-weight: 600;
  text-decoration: none;
  transition: background-color .2s ease, transform .2s ease;
}
.lfb-card__cta a:hover { background: var(--c-cta-hover); transform: translateY(-1px); }

@media (max-width: 768px) {
  .home .jet-listing-grid__items,
  .post-type-archive-logement .jet-listing-grid__items { grid-template-columns: 1fr; }
}

/* ===== Bandeau artiste AU-DESSUS de la photo (tête + nom) ===== */
/* Tête de l'artiste éponyme (champ logo_artiste) à gauche + nom de l'appartement
   à droite, au-dessus de la photo, sur le fond blanc de la carte. */
.lfb-card__artist { padding: var(--space-3) var(--space-4) var(--space-2); }
/* Elementor enveloppe parfois les enfants dans .e-con-inner → on passe en ligne
   le conteneur ET son éventuel wrapper interne (tête à gauche, nom à droite). */
.lfb-card__artist,
.lfb-card__artist > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center;
  justify-content: center !important;
  gap: var(--space-3);
}
.lfb-card__artist-img { width: auto !important; flex: 0 0 auto; line-height: 0; }
.lfb-card__artist-img img,
.lfb-card__artist-img .jet-listing-dynamic-image img {
  height: 76px;
  width: auto;
  display: block;
}
.lfb-card__artist-name { width: auto !important; }
.lfb-card__artist-name .jet-listing-dynamic-field__content,
.lfb-card__artist-name {
  font-family: var(--font-title);
  font-size: 30px;
  font-weight: 600;
  line-height: 1.05;
  color: var(--c-primary);
  margin: 0;
}
