/* Passerelle MPB 3.16 — Prendre rendez-vous uniquement.
   Correction du vide sous le contenu (hauteur forcee en 3.15),
   respirations et typographies du panneau, photo sans bordure.
   Les autres modeles, pages et footer global restent intacts. */

/* Ne pas garder artificiellement tout le pied de page hors de l'ecran. */
html body.mpb-site main.rdv-page {
  min-height: 0 !important;
  height: auto !important;
  padding-top: 23px !important;
  padding-bottom: 34px !important;
}
html body.mpb-site main.rdv-page > .section-inner {
  width: min(100% - 54px, 1250px) !important;
}
html body.mpb-site main.rdv-page > .section-inner > h1 {
  font-family: "Playfair Display", Georgia, serif !important;
  font-size: clamp(35px, 3.1vw, 43px) !important;
  line-height: 1.2 !important;
  letter-spacing: -.026em !important;
}
html body.mpb-site main.rdv-page .small-underline {
  margin: 10px auto 22px !important;
}

/* Colonnes mieux proportionnees, photo collee a la zone d'information. */
html body.mpb-site main.rdv-page .rdv-layout {
  grid-template-columns: minmax(290px, 33%) minmax(0, 1fr) !important;
  gap: 18px !important;
  align-items: start !important;
}
html body.mpb-site main.rdv-page .rdv-layout > .rdv-image-card {
  width: 100% !important;
  max-width: none !important;
  height: 475px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: hidden !important;
}
html body.mpb-site main.rdv-page .rdv-layout > .rdv-image-card > img.cover-img,
html body.mpb-site main.rdv-page .rdv-layout > .rdv-image-card > .photo-to-select {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  display: block !important;
  border-radius: 12px !important;
}
html body.mpb-site main.rdv-page .rdv-layout > .rdv-image-card > img.cover-img {
  object-fit: cover !important;
}

/* Ne pas comprimer l'information de reservation. */
html body.mpb-site main.rdv-page .rdv-layout > .rdv-information {
  padding: 23px 27px 25px !important;
  border-radius: 14px !important;
}
html body.mpb-site main.rdv-page .rdv-choices {
  gap: 12px !important;
}
html body.mpb-site main.rdv-page .rdv-choice {
  gap: 7px !important;
}
html body.mpb-site main.rdv-page .rdv-choice .choice-button {
  min-height: 74px !important;
  padding: 11px 9px !important;
  font-size: clamp(16px, 1.3vw, 19px) !important;
  line-height: 1.3 !important;
}
html body.mpb-site main.rdv-page .rdv-choice > span {
  font-size: 14px !important;
  line-height: 1.4 !important;
  min-height: 37px !important;
}
html body.mpb-site main.rdv-page .rdv-callout {
  margin: 18px 0 18px !important;
  padding: 15px 18px 16px 39px !important;
  font-size: 16px !important;
  line-height: 1.48 !important;
}
html body.mpb-site main.rdv-page .rdv-callout strong {
  font-size: 17px !important;
  line-height: 1.4 !important;
  margin-bottom: 6px !important;
}
html body.mpb-site main.rdv-page .rdv-callout p {
  font-size: 16px !important;
  line-height: 1.48 !important;
}
html body.mpb-site main.rdv-page .rdv-information .rdv-details {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0 !important;
}
html body.mpb-site main.rdv-page .rdv-information .rdv-details > div {
  padding: 16px 9px 17px !important;
}
html body.mpb-site main.rdv-page .rdv-information .rdv-details h2 {
  font-size: clamp(25px, 1.95vw, 30px) !important;
  line-height: 1.25 !important;
  margin: 0 0 11px !important;
}
html body.mpb-site main.rdv-page .rdv-information .rdv-details strong {
  font-size: 16px !important;
  line-height: 1.45 !important;
}
html body.mpb-site main.rdv-page .rdv-information .rdv-details p {
  font-size: 16px !important;
  line-height: 1.52 !important;
  margin-top: 6px !important;
}
html body.mpb-site main.rdv-page .rdv-information .rdv-details a.phone-number {
  font-size: clamp(24px, 2vw, 30px) !important;
  line-height: 1.35 !important;
}

@media (min-width: 761px) and (max-width: 1050px) {
  html body.mpb-site main.rdv-page > .section-inner {
    width: min(100% - 40px, 1000px) !important;
  }
  html body.mpb-site main.rdv-page .rdv-layout {
    grid-template-columns: minmax(245px, 34%) minmax(0, 1fr) !important;
    gap: 13px !important;
  }
  html body.mpb-site main.rdv-page .rdv-layout > .rdv-image-card {
    height: 430px !important;
  }
  html body.mpb-site main.rdv-page .rdv-layout > .rdv-information {
    padding: 18px 15px 18px !important;
  }
  html body.mpb-site main.rdv-page .rdv-choice .choice-button {
    font-size: 16px !important;
  }
  html body.mpb-site main.rdv-page .rdv-choice > span { font-size: 13px !important; }
  html body.mpb-site main.rdv-page .rdv-callout p { font-size: 15px !important; }
  html body.mpb-site main.rdv-page .rdv-information .rdv-details p { font-size: 15px !important; }
}
@media (max-width: 760px) {
  html body.mpb-site main.rdv-page {
    min-height: 0 !important;
    padding: 20px 0 30px !important;
  }
  html body.mpb-site main.rdv-page > .section-inner {
    width: min(100% - 30px, 680px) !important;
  }
  html body.mpb-site main.rdv-page > .section-inner > h1 {
    font-size: clamp(30px, 7vw, 37px) !important;
  }
  html body.mpb-site main.rdv-page .rdv-layout {
    grid-template-columns: 1fr !important;
    gap: 17px !important;
  }
  html body.mpb-site main.rdv-page .rdv-layout > .rdv-image-card {
    width: 100% !important;
    max-width: 100% !important;
    height: clamp(240px, 70vw, 370px) !important;
  }
  html body.mpb-site main.rdv-page .rdv-layout > .rdv-information {
    padding: 19px 17px 22px !important;
  }
  html body.mpb-site main.rdv-page .rdv-choices { grid-template-columns: 1fr !important; }
  html body.mpb-site main.rdv-page .rdv-choice > span { min-height: 0 !important; }
  html body.mpb-site main.rdv-page .rdv-choice .choice-button { min-height: 58px !important; }
  html body.mpb-site main.rdv-page .rdv-information .rdv-details h2 { font-size: 26px !important; }
}
