/* Accès direct au rendez-vous — Prismea Patrimoine */
.rdv-nav-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:9px 15px;
  margin-left:auto;
  border:1px solid rgba(16,39,70,.18);
  border-radius:12px;
  background:#fff;
  color:#102746;
  font-weight:800;
  text-decoration:none;
  white-space:nowrap;
}
.rdv-nav-link:hover{border-color:#b78a2e;transform:translateY(-1px)}
.rdv-direct-band{
  margin:56px auto 20px;
  padding:28px;
  border:1px solid #dbe3ed;
  border-radius:22px;
  background:#102746;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.rdv-direct-band h2{margin:0 0 8px;color:#fff;font-size:clamp(28px,4vw,42px)}
.rdv-direct-band p{margin:0;color:#dce5ef;max-width:720px}
.rdv-direct-band .rdv-direct-btn{
  display:inline-flex;
  min-height:50px;
  align-items:center;
  justify-content:center;
  padding:12px 22px;
  border-radius:14px;
  background:#fff;
  color:#102746;
  font-weight:900;
  text-decoration:none;
  white-space:nowrap;
}
.rdv-floating{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:45;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:13px 20px;
  border-radius:999px;
  background:#102746;
  color:#fff;
  border:1px solid rgba(255,255,255,.28);
  box-shadow:0 14px 35px rgba(16,39,70,.25);
  text-decoration:none;
  font-weight:900;
}
.rdv-floating:hover{transform:translateY(-2px)}
@media(max-width:900px){
  .rdv-nav-link{display:none}
  .rdv-direct-band{align-items:flex-start;flex-direction:column}
  .rdv-floating{right:14px;bottom:14px;min-height:48px;padding:11px 16px;font-size:14px}
}

/* ---- bloc extrait ---- */

/* Barre d’actions mobile unique — aucun bouton flottant */
.mobile-action-bar{display:none}
.mobile-contact-sheet{display:none}

@media(max-width:768px){
  body{
    padding-bottom:calc(104px + env(safe-area-inset-bottom))!important;
  }

  .mobile-action-bar{
    position:fixed;
    left:12px;
    right:12px;
    bottom:calc(12px + env(safe-area-inset-bottom));
    z-index:9998;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    padding:9px;
    border:1px solid rgba(16,39,70,.13);
    border-radius:20px;
    background:rgba(255,255,255,.97);
    box-shadow:0 18px 45px rgba(16,39,70,.22);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
  }

  .mobile-action-bar a,
  .mobile-action-bar button{
    min-width:0;
    min-height:54px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3px;
    padding:7px 5px;
    border:0;
    border-radius:14px;
    background:transparent;
    color:#102746;
    text-decoration:none;
    font-size:11px;
    font-weight:900;
    line-height:1.1;
    text-align:center;
  }

  .mobile-action-bar .mobile-action-primary{
    background:#102746;
    color:#fff;
  }

  .mobile-action-icon{
    font-size:18px;
    line-height:1;
  }

  .mobile-contact-sheet{
    position:fixed;
    inset:0;
    z-index:10020;
    align-items:flex-end;
    justify-content:center;
    padding:18px;
    background:rgba(16,39,70,.48);
  }

  .mobile-contact-sheet.open{display:flex}

  .mobile-contact-card{
    width:min(100%,520px);
    padding:22px;
    border-radius:24px;
    background:#fff;
    box-shadow:0 24px 70px rgba(16,39,70,.28);
  }

  .mobile-contact-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    margin-bottom:14px;
  }

  .mobile-contact-head h3{
    margin:0;
    color:#102746;
    font:700 28px Georgia,serif;
  }

  .mobile-contact-close{
    width:38px;
    height:38px;
    border:1px solid #dbe3ed;
    border-radius:50%;
    background:#fff;
    color:#102746;
    font-size:20px;
  }

  .mobile-contact-card label{
    display:block;
    margin:13px 0 6px;
    color:#263a55;
    font-weight:800;
    font-size:13px;
  }

  .mobile-contact-card input,
  .mobile-contact-card textarea{
    width:100%;
    padding:12px 13px;
    border:1px solid #dbe3ed;
    border-radius:12px;
    background:#fff;
    color:#17263d;
    font:inherit;
  }

  .mobile-contact-card textarea{
    min-height:120px;
    resize:vertical;
  }

  .mobile-contact-send{
    width:100%;
    min-height:48px;
    margin-top:16px;
    border:0;
    border-radius:13px;
    background:#102746;
    color:#fff;
    font-weight:900;
  }

  .mobile-contact-note{
    margin-top:10px;
    color:#69788d;
    font-size:12px;
    text-align:center;
  }
}

@media(max-width:390px){
  .mobile-action-bar{
    left:8px;
    right:8px;
    gap:5px;
    padding:7px;
  }
  .mobile-action-bar a,
  .mobile-action-bar button{
    min-height:50px;
    font-size:10px;
  }
}
