/**
 * La Fosca Bay — Page /reservation (E5.2).
 * Hero + bandeau réassurance + un bloc réservation par logement (2 colonnes).
 */

/* Sections */
.page-template-elementor_header_footer .lfb-res-sec { padding: var(--space-5) var(--space-4); }
.lfb-res-hero {
  text-align: center;
  background: linear-gradient(180deg, var(--c-bg) 0%, #fff 100%);
  padding: var(--space-6) var(--space-4) var(--space-4);
}
.lfb-res-hero-title .elementor-heading-title {
  font-family: var(--font-title, "Playfair Display", serif);
  font-size: clamp(30px, 5vw, 46px);
  color: var(--c-primary);
  margin: 0 0 var(--space-2);
}
.lfb-res-hero-sub { max-width: 640px; margin: 0 auto; font-size: 18px; line-height: 1.6; color: var(--c-ink); }

/* Bandeau réassurance */
.lfb-res-reassurance {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-3) var(--space-5);
  background: var(--c-primary);
  padding: var(--space-3) var(--space-4);
}
.lfb-res-reassurance .lfb-res-badge {
  margin: 0;
  color: #fff;
  font-size: 15px;
  font-weight: 500;
  white-space: nowrap;
}

/* Conteneur des 2 logements */
.lfb-res-logements {
  max-width: 1080px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  padding: var(--space-5) var(--space-4);
}

/* Bloc logement : info | formulaire */
.lfb-res-logement {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: var(--space-5);
  align-items: start;
  background: #fff;
  border: 1px solid var(--c-sand);
  border-radius: var(--radius-lg, 16px);
  box-shadow: var(--shadow-soft);
  padding: var(--space-5);
}
.lfb-res-title .elementor-heading-title {
  font-family: var(--font-title, "Playfair Display", serif);
  font-size: 28px;
  color: var(--c-primary);
  margin: 0;
}
.lfb-res-slogan .elementor-heading-title {
  font-size: 17px;
  font-weight: 400;
  font-style: italic;
  color: var(--c-pine);
  margin: 4px 0 var(--space-2);
}
.lfb-res-facts { font-size: 15px; color: var(--c-ink); font-weight: 600; margin: 0 0 var(--space-2); }
.lfb-res-note { font-size: 14.5px; line-height: 1.55; color: var(--c-ink); }

/* Colonne formulaire */
.lfb-res-booking {
  background: var(--c-bg);
  border-radius: var(--radius-md, 12px);
  padding: var(--space-4);
}
.lfb-res-form-title .elementor-heading-title {
  font-size: 16px;
  font-weight: 600;
  color: var(--c-primary);
  margin: 0 0 var(--space-2);
}

/* Bouton fantôme « voir la fiche » */
.lfb-btn-ghost .elementor-button {
  background: transparent;
  color: var(--c-primary);
  border: 1.5px solid var(--c-primary);
}
.lfb-btn-ghost .elementor-button:hover { background: var(--c-primary); color: #fff; }

/* Aide */
.lfb-res-help { text-align: center; background: var(--c-bg); }
.lfb-res-help-title .elementor-heading-title { font-size: 26px; color: var(--c-primary); }
.lfb-res-help-sub { font-size: 16px; color: var(--c-ink); margin-bottom: var(--space-3); }

/* Responsive */
@media (max-width: 800px) {
  .lfb-res-logement { grid-template-columns: 1fr; }
}
