/* ── Prise de rendez-vous ── */
.rdvm{position:fixed;inset:0;z-index:700;display:none;align-items:center;justify-content:center;
  padding:2vh 3vw;background:rgba(34,27,20,.66);backdrop-filter:blur(8px)}
.rdvm.open{display:flex}
.rdvm-carte{position:relative;width:min(760px,100%);max-height:94vh;overflow-y:auto;
  background:var(--c4);border-radius:5px;box-shadow:0 40px 100px rgba(34,27,20,.5);
  padding:2.4rem 2.4rem 2.2rem;animation:rdvPop .35s cubic-bezier(.22,1,.36,1)}
@keyframes rdvPop{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
.rdvm-fermer{position:absolute;top:1rem;right:1.1rem;width:38px;height:38px;border:0;border-radius:50%;
  cursor:pointer;background:rgba(99,13,19,.08);color:var(--ink);font-size:1.05rem;line-height:1;transition:background .2s}
.rdvm-fermer:hover{background:rgba(99,13,19,.16)}
.rdvm .kick{font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--brun)}
.rdvm h2{font-family:var(--ff-s);font-weight:500;font-size:2.1rem;line-height:1.15;margin:0 0 .35rem;color:var(--ink)}
.rdvm h2 sup{font-size:.5em;color:var(--brun);margin-left:.1em;top:-.6em}
.rdvm .orn{width:44px;height:1px;background:var(--gold);margin:.9rem 0 1.1rem}
.rdvm .intro{font-family:var(--ff-s);font-size:1.1rem;line-height:1.6;color:rgba(99,13,19,.82);margin-bottom:1.4rem}
.rdvm label{display:block;font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--brun);margin:.9rem 0 .35rem}
.rdvm .duo{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.rdvm{--h:52px}
.rdvm input,.rdvm select,.rdvm textarea{width:100%;font-family:var(--ff-b);font-size:.86rem;color:var(--ink);
  background:var(--white);border:1px solid rgba(99,13,19,.2);border-radius:3px;padding:.72rem .8rem;
  transition:border-color .2s}
.rdvm input,.rdvm select{height:var(--h);padding:0 .8rem}
.rdvm input:focus,.rdvm select:focus,.rdvm textarea:focus{outline:0;border-color:var(--brun)}
#rTel{border-color:rgba(99,13,19,.38)}
#rTel.manque{border-color:#A8321F;background:#FFF4F0}
.rdvm textarea{resize:vertical;min-height:88px}
.rdvm .creneaux{display:flex;gap:.5rem}
.rdvm .creneaux button{flex:1 1 120px;height:var(--h);cursor:pointer;padding:0 .6rem;border-radius:3px;
  display:flex;align-items:center;justify-content:center;line-height:1;
  border:1px solid rgba(99,13,19,.2);background:var(--white);color:var(--ink);
  font-family:var(--ff-b);font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;transition:all .2s}
.rdvm .creneaux button:hover{border-color:var(--brun)}
.rdvm .creneaux button.on{background:var(--ink);color:var(--c4);border-color:var(--ink)}
.rdvm .envoi{display:flex;gap:.6rem;margin-top:1.4rem}
.rdvm .envoi button{flex:1;height:var(--h);cursor:pointer;border:1px solid var(--ink);background:var(--ink);color:var(--c4);
  display:flex;align-items:center;justify-content:center;line-height:1;
  font-family:var(--ff-b);font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;
  padding:0 .6rem;border-radius:3px;transition:all .2s}
.rdvm .envoi button:hover{background:transparent;color:var(--ink)}
.rdvm .envoi button.wa{border-color:#1F7A4C;background:#1F7A4C}
.rdvm .envoi button.wa:hover{background:transparent;color:#1F7A4C}
.rdvm .note{font-size:.64rem;color:rgba(99,13,19,.55);margin-top:.8rem;line-height:1.55}
@media(max-width:640px){
  .rdvm{padding:0}
  .rdvm-carte{max-height:100vh;border-radius:0;padding:1.8rem 1.2rem}
  .rdvm .duo{grid-template-columns:1fr}
}



/* ── Bouton « Prendre rendez-vous » ── */
#floating-actions{position:fixed;top:calc(52px + 1rem);right:1.6rem;z-index:602;display:flex;align-items:center;gap:.65rem;pointer-events:none}
#floating-actions .rdv-flottant{pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.75rem 1.2rem;border:1px solid rgba(253,244,230,.24);border-radius:40px;
  background:#630D13;color:#FDF4E6;text-decoration:none;font-family:'Jost',sans-serif;font-size:.66rem;letter-spacing:.13em;text-transform:uppercase;
  box-shadow:0 10px 30px rgba(45,20,12,.32);transition:transform .25s,background .25s,box-shadow .25s}
#floating-actions .rdv-flottant:hover{background:#7A4A2E;transform:translateY(-2px);box-shadow:0 16px 40px rgba(45,20,12,.42)}
@media(max-width:760px){
  #floating-actions{top:calc(52px + .7rem);right:1rem}
  #floating-actions .rdv-flottant{padding:.7rem .85rem;font-size:.57rem;letter-spacing:.09em;white-space:nowrap}
}

/* ── Position finale du bouton rendez-vous : même gabarit que « Poser votre question » ── */
#floating-actions{
  position:fixed;
  top:calc(52px + 2.6rem);
  right:1.6rem;
  left:auto;
  z-index:604;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:.55rem;
  pointer-events:none;
}
#floating-actions .rdv-flottant{
  pointer-events:auto;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.6rem;
  padding:.75rem 1.3rem .75rem 1.05rem;
  min-height:0;
  height:auto;
  border:0;
  border-radius:40px;
  background:#630D13;
  color:#FDF4E6;
  text-decoration:none;
  font-family:'Jost',sans-serif;
  font-size:.66rem;
  letter-spacing:.13em;
  text-transform:uppercase;
  white-space:nowrap;
  box-shadow:0 10px 30px rgba(45,20,12,.32);
  transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s,background .25s;
}
#floating-actions .rdv-flottant:hover{
  background:#7A4A2E;
  transform:translateY(-2px);
  box-shadow:0 16px 40px rgba(45,20,12,.42);
}

/* Bouton téléphone sous « Prendre rendez-vous » sur les pages d'expertise. */
#floating-actions .tel-flottant{
  pointer-events:auto;
  width:210px;
  height:42px;
  min-width:210px;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 1.05rem;
  border:1px solid rgba(253,244,230,.24);
  border-radius:40px;
  background:rgba(99,13,19,.96);
  color:#FDF4E6;
  text-decoration:none;
  font-family:'Jost',sans-serif;
  font-size:.66rem;
  letter-spacing:.10em;
  white-space:nowrap;
  box-shadow:0 10px 30px rgba(45,20,12,.26);
  transition:transform .25s,background .25s,box-shadow .25s;
}
#floating-actions .tel-flottant:hover{
  background:#7A4A2E;
  transform:translateY(-2px);
  box-shadow:0 16px 40px rgba(45,20,12,.38);
}
@media(max-width:760px){
  #floating-actions{top:calc(52px + 2rem);right:1rem;gap:.5rem}
  #floating-actions .rdv-flottant{padding:.7rem 1.1rem .7rem .95rem;font-size:.57rem;letter-spacing:.09em}
  #floating-actions .tel-flottant{width:210px;min-width:210px;height:42px;font-size:.57rem;letter-spacing:.08em}
}


/* ── Gabarit commun des deux boutons flottants ── */
#floating-actions .rdv-flottant,
#chat-bulle{
  width:210px;
  height:42px;
  min-width:210px;
  min-height:42px;
  max-width:210px;
  box-sizing:border-box;
  padding:0 1.05rem;
  display:flex;
  align-items:center;
  justify-content:center;
  line-height:1;
}
#floating-actions .rdv-flottant{
  gap:.6rem;
}
#chat-bulle{
  gap:.6rem;
}
@media(max-width:640px){
  #floating-actions .rdv-flottant,
  #chat-bulle{
    width:210px;
    min-width:210px;
    max-width:210px;
    height:42px;
    min-height:42px;
    padding:0 .9rem;
  }
}

/* ── Effet de vague lumineux identique au bouton « Poser votre question » ── */
#floating-actions .rdv-flottant{
  position:relative;
  overflow:hidden;
}
#floating-actions .rdv-flottant::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:-40%;
  width:35%;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(201,162,75,.42),transparent);
  animation:rdvReflet 2.6s cubic-bezier(.4,0,.5,1) infinite;
}
#floating-actions .rdv-flottant{isolation:isolate}
#floating-actions .rdv-flottant > span{position:relative;z-index:2}
@keyframes rdvReflet{0%{left:-40%}27%{left:115%}100%{left:115%}}
#floating-actions .rdv-flottant:hover::after{animation-play-state:paused;opacity:0}
@media(prefers-reduced-motion:reduce){#floating-actions .rdv-flottant::after{animation:none!important}}

/* ── Effet de vague lumineux sur le bouton téléphone ── */
#floating-actions .tel-flottant{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
#floating-actions .tel-flottant::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:-40%;
  width:35%;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(201,162,75,.42),transparent);
  animation:telReflet 2.6s cubic-bezier(.4,0,.5,1) infinite;
}
#floating-actions .tel-flottant > span{position:relative;z-index:2}
@keyframes telReflet{0%{left:-40%}27%{left:115%}100%{left:115%}}
#floating-actions .tel-flottant:hover::after{animation-play-state:paused;opacity:0}
@media(prefers-reduced-motion:reduce){#floating-actions .tel-flottant::after{animation:none!important}}

/* ── Couleur unique des boutons + inversion au survol ── */
#floating-actions .rdv-flottant,
#floating-actions .tel-flottant{background:#630D13!important;color:#FDF4E6!important;border:1px solid #630D13!important;transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s,background .25s,color .25s}
/* survol : fond retiré, contour + texte seuls
   pages claires : contour bordeaux ; pages sombres (accueil, galerie) : contour blanc */
#floating-actions .rdv-flottant:hover,
#floating-actions .tel-flottant:hover{background:transparent!important;color:#630D13!important;border-color:#630D13!important;box-shadow:none!important}
body:has(.hero-carousel) #floating-actions .rdv-flottant:hover,body:has(.hero-carousel) #floating-actions .tel-flottant:hover,
body:has(.vr-fond) #floating-actions .rdv-flottant:hover,body:has(.vr-fond) #floating-actions .tel-flottant:hover{color:#FDF4E6!important;border-color:#FDF4E6!important}
