/**
 * ITD — Bouton Rendez-vous flottant
 * @author    ITD SAS
 * @copyright ITD SAS
 */
#itd-rdv-root{
  --itd-rdv-deep:#0a2540;
  --itd-rdv-mid:#123b63;
  --itd-rdv-light:#9fe7f5;
  font-family:"Segoe UI","Helvetica Neue",Arial,sans-serif;
}
#itd-rdv-root *,#itd-rdv-root *::before,#itd-rdv-root *::after{box-sizing:border-box;}

/* ---------- Bouton flottant ---------- */
#itd-rdv-launcher{
  position:fixed;
  bottom:20px;
  left:20px;
  z-index:2147483000;
  display:flex;
  align-items:center;
  gap:10px;
  margin:0;
  padding:11px 18px 11px 12px;
  border:0;
  border-radius:999px;
  background:linear-gradient(145deg,var(--itd-rdv-deep) 0%,var(--itd-rdv-mid) 60%,var(--itd-rdv-edge,#1f6f8b) 100%);
  color:#fff;
  font:600 14px/1.2 "Segoe UI","Helvetica Neue",Arial,sans-serif;
  text-align:left;
  text-transform:none;
  letter-spacing:normal;
  cursor:pointer;
  box-shadow:0 14px 30px -12px rgba(10,37,64,.55),0 4px 10px -4px rgba(10,37,64,.35);
  transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease;
}
#itd-rdv-root.itd-rdv-pos-right #itd-rdv-launcher{left:auto;right:20px;}
#itd-rdv-launcher:hover{transform:translateY(-2px);box-shadow:0 18px 34px -12px rgba(10,37,64,.6);}
#itd-rdv-launcher:focus-visible{outline:3px solid var(--itd-rdv-light);outline-offset:3px;}
#itd-rdv-launcher .itd-rdv-ico{
  width:34px;height:34px;flex:0 0 34px;
  display:grid;place-items:center;
  border-radius:50%;
  background:rgba(159,231,245,.18);
}
#itd-rdv-launcher .itd-rdv-ico svg{width:18px;height:18px;}
#itd-rdv-launcher .itd-rdv-txt small{
  display:block;font-weight:400;font-size:11px;color:#cfe7f1;margin-top:1px;
}
html.itd-rdv-open #itd-rdv-launcher{opacity:0;pointer-events:none;}

/* ---------- Pop-up ---------- */
#itd-rdv-overlay{
  position:fixed;inset:0;
  z-index:2147483001;
  display:none;
  align-items:flex-end;
  justify-content:flex-start;
  padding:20px;
  background:rgba(10,37,64,.45);
  -webkit-backdrop-filter:blur(2px);
  backdrop-filter:blur(2px);
}
#itd-rdv-root.itd-rdv-pos-right #itd-rdv-overlay{justify-content:flex-end;}
html.itd-rdv-open #itd-rdv-overlay{display:flex;animation:itdRdvFade .2s ease;}

#itd-rdv-dialog{
  position:relative;
  width:440px;
  max-width:100%;
  height:min(780px,calc(100vh - 40px));
  display:flex;
  flex-direction:column;
  border-radius:18px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 30px 70px -20px rgba(10,37,64,.6);
  animation:itdRdvUp .25s ease;
}
#itd-rdv-dialog .itd-rdv-head{
  flex:0 0 auto;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:14px 16px 14px 20px;
  background:linear-gradient(145deg,var(--itd-rdv-deep) 0%,var(--itd-rdv-mid) 60%,var(--itd-rdv-edge,#1f6f8b) 100%);
  color:#fff;
}
#itd-rdv-dialog .itd-rdv-head strong{display:block;font-size:15px;line-height:1.3;color:#fff;}
#itd-rdv-dialog .itd-rdv-head span{display:block;font-size:12px;color:#cfe7f1;margin-top:2px;}
#itd-rdv-close{
  width:34px;height:34px;flex:0 0 34px;
  margin:0;padding:0;
  border:0;border-radius:50%;
  background:rgba(255,255,255,.12);
  color:#fff;font-size:22px;line-height:1;cursor:pointer;
}
#itd-rdv-close:hover{background:rgba(255,255,255,.22);}
#itd-rdv-close:focus-visible{outline:2px solid var(--itd-rdv-light);outline-offset:2px;}

#itd-rdv-body{position:relative;flex:1 1 auto;background:#fff;}
#itd-rdv-body iframe{position:relative;z-index:1;display:block;width:100%;height:100%;border:0;}
#itd-rdv-loader{
  position:absolute;inset:0;
  display:grid;place-items:center;
  color:#5c7b90;font-size:13px;
}

@keyframes itdRdvFade{from{opacity:0}to{opacity:1}}
@keyframes itdRdvUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

/* ---------- Mobile ---------- */
@media (max-width:600px){
  #itd-rdv-launcher{left:14px;bottom:14px;padding:10px;}
  #itd-rdv-root.itd-rdv-pos-right #itd-rdv-launcher{right:14px;}
  #itd-rdv-launcher .itd-rdv-txt{display:none;}
  #itd-rdv-overlay{padding:0;}
  #itd-rdv-dialog{width:100%;height:100%;border-radius:0;}
  #itd-rdv-root.itd-rdv-no-mobile{display:none;}
}
@media (prefers-reduced-motion:reduce){
  #itd-rdv-overlay,#itd-rdv-dialog{animation:none !important;}
}
@media print{#itd-rdv-root{display:none !important;}}
