/* ── booking.css — bloc de prise de rendez-vous Cal.com (page Contact) ── */

.booking{
  position:relative;z-index:2;
  max-width:1200px;width:100%;margin:0 auto;
  padding:0 60px 72px;
}

.booking-head{
  text-align:center;max-width:560px;margin:0 auto 28px;
}
.booking-label{
  font-family:'Cormorant Garamond',serif;font-style:italic;
  font-size:19px;color:var(--cyan);margin-bottom:10px;
}
.booking-title{
  font-family:'Outfit',sans-serif;font-weight:700;
  font-size:clamp(22px,3vw,32px);line-height:1.2;
  color:var(--white);letter-spacing:-.02em;margin-bottom:12px;
}
.booking-desc{
  font-size:14px;color:var(--muted);line-height:1.6;
}

/* ── Carte d'attente : tant que rien n'est chargé, aucun appel à Cal.com ── */
.booking-placeholder{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:18px;text-align:center;
  min-height:320px;padding:48px 28px;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:20px;
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
}
.booking-placeholder .booking-icon{
  width:46px;height:46px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  background:var(--cyan-dim);
  border:1px solid rgba(96,165,250,.22);
}
.booking-placeholder .booking-icon svg{
  width:22px;height:22px;fill:none;
  stroke:var(--cyan);stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round;
}
.booking-slot{
  font-size:14px;font-weight:500;color:var(--white);
}
.booking-privacy{
  font-size:12px;color:rgba(200,220,255,.32);
  line-height:1.5;max-width:420px;
}

/* ── Conteneur du calendrier ── */
.booking-embed{
  display:none;
  min-height:640px;
  border:1px solid var(--border);
  border-radius:20px;
  overflow:hidden;
  background:rgba(2,8,23,.55);
}
.booking.is-loaded .booking-placeholder{display:none;}
.booking.is-loaded .booking-embed{display:block;}

/* Cal.com injecte son iframe ici */
.booking-embed iframe{width:100%;border:0;}

/* ── Erreur de chargement : on garde une porte de sortie ── */
.booking-fallback{
  display:none;margin-top:14px;
  font-size:13px;color:var(--muted);
}
.booking.is-error .booking-fallback{display:block;}
.booking-fallback a{color:var(--cyan);}

@media(max-width:900px){
  .booking{padding:0 24px 56px;}
  .booking-embed{min-height:560px;}
}
@media(max-width:640px){
  .booking{padding:0 16px 44px;}
  .booking-placeholder{min-height:260px;padding:36px 20px;}
}
