/* ── RAPPEL MODAL ── */
.rp-overlay{position:fixed;inset:0;background:rgba(6,15,26,.72);backdrop-filter:blur(5px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .22s}
.rp-overlay.open{opacity:1;pointer-events:auto}
.rp-card{background:var(--white);border-radius:20px;width:100%;max-width:720px;max-height:92vh;overflow-y:auto;display:grid;grid-template-columns:240px 1fr;position:relative;box-shadow:0 40px 100px rgba(6,15,26,.45);transform:translateY(20px);transition:transform .28s cubic-bezier(.4,0,.2,1)}
.rp-overlay.open .rp-card{transform:translateY(0)}
.rp-close{position:absolute;top:16px;right:16px;width:32px;height:32px;border:none;background:rgba(28,28,54,.08);border-radius:50%;cursor:pointer;font-size:var(--ty-xs);color:#4A6785;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s;z-index:2;line-height:1}
.rp-close:hover{background:rgba(28,28,54,.15);color:#1c1c36}

/* Left panel */
.rp-left{background:var(--lavande,#757baf);border-radius:20px 0 0 20px;padding:36px 24px;display:flex;flex-direction:column;gap:0}
.rp-tag{font-size:var(--ty-xs);font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#fff;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.35);border-radius:6px;padding:4px 10px;display:inline-block;margin-bottom:16px;width:fit-content}
.rp-pname{font-size:var(--ty-h4-size);font-weight:800;color:#fff;letter-spacing:-.4px;line-height:1.2;margin-bottom:8px}
.rp-pdesc{font-size:var(--ty-body);color:rgba(255,255,255,.8);line-height:1.7;margin-bottom:24px}
.rp-feats{display:flex;flex-direction:column;gap:10px;margin-bottom:auto;padding-bottom:24px}
.rp-feat{display:flex;align-items:center;gap:10px;font-size:var(--ty-body);color:#fff;font-weight:400}
.rp-feat i{color:#fff;font-size:var(--ty-xs);flex-shrink:0}
.rp-phone-block{margin-top:auto;padding-top:20px;border-top:1px solid rgba(255,255,255,.3)}
.rp-phone{display:flex;align-items:center;gap:8px;font-size:var(--ty-body);font-weight:700;color:#fff;margin-top:8px}
.rp-phone i{font-size:var(--ty-xs)}
.rp-phone-label{font-size:var(--ty-xs);color:rgba(255,255,255,.7);margin-top:2px}

/* Right panel */
.rp-right{padding:36px 32px;display:flex;flex-direction:column}
.rp-right h3{font-size:var(--ty-h3-size);font-weight:800;color:#1c1c36;letter-spacing:-.4px;line-height:1.2;margin-bottom:6px}
.rp-sub{font-size:var(--ty-body);color:#8AA0B8;margin-bottom:20px;font-weight:400}
.rp-form{display:flex;flex-direction:column;gap:14px;flex:1}
.rp-row{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
/* champs côte à côte alignés même si un libellé passe sur 2 lignes (« Cabinet ou entreprise ») : libellé / champ / message d'erreur sur 3 rangées communes */
.rp-row .rp-field{display:grid;grid-row:span 3;grid-template-rows:subgrid;row-gap:0}
.rp-row .rp-field label{align-self:end}
.rp-field label{display:block;font-size:var(--ty-xs);font-weight:600;color:#4A6785;margin-bottom:6px}
.rp-field input{width:100%;border:1.5px solid rgba(28,28,54,.15);border-radius:8px;padding:11px 14px;font-family:'Poppins',sans-serif;font-size:var(--ty-body);color:#1c1c36;background:var(--white);transition:border-color .15s,box-shadow .15s;outline:none;-webkit-appearance:none;box-sizing:border-box}
.rp-field input:focus{border-color:var(--lavande,#757baf);box-shadow:0 0 0 3px color-mix(in srgb,var(--lavande,#757baf) 12%,transparent)}
.rp-field input::placeholder{color:#9AB3C8;font-weight:300}

/* Créneaux radio */
.rp-slots{display:flex;gap:8px;margin-top:2px}
.rp-slot{flex:1;cursor:pointer}
.rp-slot input[type=radio]{display:none}
.rp-slot span{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:10px 8px;border:1.5px solid rgba(28,28,54,.15);border-radius:8px;font-size:var(--ty-xs);font-weight:600;color:#1c1c36;transition:border-color .15s,background .15s,color .15s;height:56px;line-height:1.3;box-sizing:border-box}
.rp-slot input:checked+span{border-color:var(--lavande,#757baf);background:color-mix(in srgb,var(--lavande,#757baf) 8%,transparent);color:var(--lavande,#757baf)}
.rp-slot span small{display:block;font-size:var(--ty-xs);font-weight:400;color:#8AA0B8;margin-top:3px}
.rp-slot input:checked+span small{color:var(--lavande,#757baf)}
.rp-slot:hover span{border-color:color-mix(in srgb,var(--lavande,#757baf) 40%,transparent)}

.rp-rgpd{display:flex;align-items:flex-start;gap:10px;cursor:pointer;margin-top:2px}
.rp-rgpd input[type=checkbox]{width:16px;height:16px;min-width:16px;accent-color:var(--lavande,#757baf);cursor:pointer;margin-top:2px}
.rp-rgpd span{font-size:var(--ty-xs);color:#4A6785;line-height:1.5}
.rp-rgpd a{color:var(--lavande,#757baf);text-decoration:underline}
.rp-submit{margin-top:4px;width:100%;justify-content:center}
.rp-legal{font-size:var(--ty-xs);color:#8AA0B8;line-height:1.6;margin-top:8px;text-align:center}

/* Success */
.rp-success{display:none;flex-direction:column;align-items:center;justify-content:center;text-align:center;flex:1;gap:12px;padding:20px 0}
.rp-success.show{display:flex}
.rp-form.hide{display:none}
.rp-sico{width:60px;height:60px;border-radius:50%;background:color-mix(in srgb,var(--lavande,#757baf) 12%,transparent);display:flex;align-items:center;justify-content:center;font-size:22px;color:var(--lavande,#757baf)}
.rp-success h3{font-size:var(--ty-h4-size);font-weight:800;color:#1c1c36;letter-spacing:-.3px}
.rp-success p{font-size:var(--ty-body);color:#4A6785;line-height:1.6;max-width:220px}
.rp-recall{font-size:var(--ty-body);font-weight:600;color:var(--lavande,#757baf);margin-top:4px}

/* Mobile */
@media(max-width:600px){
  .rp-card{grid-template-columns:minmax(0,1fr);border-radius:16px}   /* idem devis-modal.css */
  .rp-left{display:none}
  .rp-close{background:rgba(0,0,0,.08);color:#4A6785}
  .rp-close:hover{background:rgba(0,0,0,.14)}
  .rp-right{padding:24px 20px}
  .rp-row{grid-template-columns:1fr;gap:0}
  .rp-row .rp-field + .rp-field{margin-top:14px}
  .rp-slots{flex-direction:column}
}
