/* ============================================================
 *  RDV Sécurisé — styles (design maquette 23/07)
 *  Mobile-first · cibles tactiles ≥ 44px · bascule sur la LARGEUR
 *  (mode app ≈ 750px : les 2 colonnes s'empilent — pas de media
 *  « standalone », pas de point < 760px qui raterait la fenêtre app).
 * ============================================================ */
.rs-wrap{max-width:1040px;margin:18px auto 40px;color:#e6eef8;font-family:inherit}

/* ---- Panneau (bloc principal, façon carte du site) ---- */
.rs-panel{background:rgba(9,15,24,.62);border:1px solid rgba(201,164,92,.26);border-radius:18px;
  padding:22px 24px;box-shadow:0 18px 50px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.03)}

/* ---- En-tête ---- */
.rs-head{display:flex;gap:14px;align-items:center;margin-bottom:18px}
.rs-ic{width:48px;height:48px;flex-shrink:0;border-radius:14px;display:grid;place-items:center;
  background:linear-gradient(150deg,rgba(201,164,92,.20),rgba(201,164,92,.06));
  border:1px solid rgba(201,164,92,.35);color:#F3D58A;box-shadow:0 4px 16px rgba(201,164,92,.14)}
.rs-title{font-family:'Cormorant Garamond',Georgia,serif;color:#F3D58A;font-size:25px;font-weight:700;margin:0;line-height:1.1}
.rs-sub{color:rgba(230,238,255,.62);font-size:13.5px;line-height:1.5;margin:3px 0 0}

.rs-note-warn{background:rgba(224,102,46,.12);border:1px solid rgba(224,102,46,.4);color:#ffcba6;
  border-radius:12px;padding:10px 14px;font-size:13px;line-height:1.5;margin-bottom:14px}
.rs-note-warn code{background:rgba(255,255,255,.08);padding:1px 6px;border-radius:5px;font-size:12px}

/* ---- Organiser ---- */
.rs-organize{border-top:1px solid rgba(201,164,92,.14);padding-top:16px;margin-top:4px}
.rs-org-head{color:#F3D58A;font-size:15.5px;font-weight:700;margin-bottom:2px}
.rs-org-sub{color:rgba(230,238,255,.55);font-size:12.5px;margin:0 0 12px}
.rs-org-req{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:9px 0;border-top:1px solid rgba(201,164,92,.1)}
.rs-org-req:first-of-type{border-top:0}
.rs-org-people{display:flex;gap:8px;flex-wrap:wrap;width:100%}
.rs-badge{display:inline-block;background:rgba(201,164,92,.16);color:#F3D58A;border:1px solid rgba(201,164,92,.3);
  border-radius:999px;padding:3px 11px;font-size:12.5px;font-weight:600}
.rs-muted{color:rgba(230,238,255,.5);font-size:12.5px;display:inline-flex;align-items:center;gap:5px}
.rs-chip{min-height:40px;padding:9px 15px;border-radius:11px;border:1px solid rgba(201,164,92,.3);
  background:rgba(255,255,255,.05);color:#F3D58A;font-size:13.5px;font-weight:600;cursor:pointer;font-family:inherit}
.rs-chip:hover{border-color:#F3D58A}

/* ---- Un RDV sécurisé ---- */
.rs-rdv{border-top:1px solid rgba(201,164,92,.14);padding-top:16px;margin-top:16px}
.rs-rdv:first-of-type{border-top:0;margin-top:6px}
.rs-meta{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;margin-bottom:14px}
.rs-with{font-size:14px;color:#dfe9f4}
.rs-with strong{color:#F3D58A}
.rs-state{margin-left:auto;border-radius:999px;padding:4px 12px;font-size:12px;font-weight:700}
.rs-state.is-wait{background:rgba(255,255,255,.06);color:#b9c4d4;border:1px solid rgba(255,255,255,.14)}
.rs-state.is-live{background:rgba(224,102,46,.18);color:#ffb488;border:1px solid rgba(224,102,46,.45);animation:rsPulse 1.8s ease-in-out infinite}
.rs-state.is-ok{background:rgba(29,158,117,.18);color:#7fe3bd;border:1px solid rgba(29,158,117,.4)}
.rs-state.is-sec{background:rgba(61,169,252,.16);color:#8fd0ff;border:1px solid rgba(61,169,252,.4)}
.rs-state.is-ready{background:rgba(201,164,92,.18);color:#F3D58A;border:1px solid rgba(201,164,92,.45)}
@keyframes rsPulse{0%,100%{opacity:1}50%{opacity:.55}}
/* Accessibilité : respecte « animations réduites » (le statut ne clignote plus). */
@media (prefers-reduced-motion: reduce){ .rs-state.is-live{animation:none} }

.rs-done{display:flex;gap:10px;align-items:center;color:#7fe3bd;font-size:14px;line-height:1.5;
  background:rgba(29,158,117,.1);border:1px solid rgba(29,158,117,.3);border-radius:12px;padding:12px 14px}
.rs-done svg{flex-shrink:0}

/* ---- Personne de confiance : 2 colonnes ---- */
.rs-conf-row{display:grid;grid-template-columns:1fr 1.15fr;gap:22px;align-items:start;margin-bottom:18px}
.rs-conf-title{font-size:15px;font-weight:600;color:#eef4fb;margin-bottom:4px}
.rs-conf-sub{font-size:12.5px;color:rgba(230,238,255,.5);line-height:1.5}
.rs-label{display:block;font-size:12.5px;color:rgba(230,238,255,.7);margin-bottom:7px}
.rs-input-wrap{position:relative;display:flex;align-items:center}
.rs-ienv{position:absolute;left:12px;color:#9fb0c4;pointer-events:none;display:flex}
.rs-input{width:100%;min-height:46px;padding:11px 12px 11px 40px;border-radius:11px;box-sizing:border-box;
  border:1px solid rgba(201,164,92,.28);background:rgba(255,255,255,.04);color:#eef4fb;font-size:15px}
.rs-input:focus{outline:none;border-color:#F3D58A;box-shadow:0 0 0 2px rgba(243,213,138,.18)}
.rs-input.rs-saved{border-color:rgba(29,158,117,.6)}

/* ---- Actions (2 boutons) ---- */
.rs-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.rs-btn{min-height:52px;padding:13px 18px;border-radius:13px;border:1px solid transparent;font-size:15px;font-weight:700;
  cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;justify-content:center;gap:9px;text-align:center;line-height:1.2}
.rs-btn svg{flex-shrink:0}
.rs-btn:disabled{opacity:.55;cursor:default}
.rs-btn-primary{background:linear-gradient(180deg,#e98a44,#cf6a24);color:#fff;box-shadow:0 6px 20px rgba(224,120,50,.32)}
.rs-btn-ok{background:linear-gradient(180deg,#2bb98a,#1e8f68);color:#fff;box-shadow:0 6px 20px rgba(29,158,117,.3)}
.rs-btn-ghost{background:rgba(255,255,255,.05);border-color:rgba(201,164,92,.3);color:#F3D58A}
.rs-btn-primary:hover,.rs-btn-ok:hover{filter:brightness(1.06)}
.rs-btn-ghost:hover{border-color:#F3D58A}

.rs-footrow{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;flex-wrap:wrap}
.rs-foot{color:rgba(230,238,255,.42);font-size:12px}
.rs-cancel{background:none;border:0;color:rgba(230,238,255,.4);font-size:12px;text-decoration:underline;cursor:pointer;font-family:inherit;padding:4px 0}
.rs-cancel:hover{color:#ff9a9a}
.rs-empty{color:rgba(230,238,255,.5);font-size:13.5px;line-height:1.6;margin:6px 0 0;text-align:center;padding:8px 0}

/* ---- Modale d'avertissement ---- */
.rs-modal{position:fixed;inset:0;z-index:9999;background:rgba(4,8,14,.72);display:flex;align-items:center;
  justify-content:center;padding:18px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.rs-modal[hidden]{display:none}
.rs-modal-box{max-width:440px;width:100%;background:#111a29;border:1px solid rgba(201,164,92,.28);
  border-radius:18px;padding:22px;box-shadow:0 24px 70px rgba(0,0,0,.6);max-height:88vh;overflow-y:auto}
.rs-modal-box h3{color:#F3D58A;font-size:20px;margin:0 0 12px}
.rs-warn-list{list-style:none;padding:0;margin:0 0 16px}
.rs-warn-list li{color:#dfe9f4;font-size:13.5px;line-height:1.55;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.rs-consent{display:flex;gap:9px;align-items:flex-start;color:#eef4fb;font-size:13.5px;line-height:1.5;cursor:pointer;margin-bottom:16px}
.rs-consent input{margin-top:3px;width:20px;height:20px;flex-shrink:0}
.rs-modal-actions{display:flex;gap:10px}
.rs-modal-actions .rs-btn{flex:1}
.rs-hint{color:rgba(230,238,255,.55);font-size:12px;line-height:1.5;margin:10px 0 0}

/* ---- Toast ---- */
.rs-toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:10000;max-width:92vw;
  background:#1a2536;color:#eef4fb;border:1px solid rgba(201,164,92,.3);border-radius:12px;
  padding:12px 18px;font-size:14px;box-shadow:0 12px 40px rgba(0,0,0,.5)}
.rs-toast[hidden]{display:none}
.rs-toast-ok{border-color:rgba(29,158,117,.5)}
.rs-toast-err{border-color:rgba(224,102,46,.55);color:#ffcba6}

/* ---- Proposition / confirmation (avant activation de la sécurité) ---- */
.rs-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:8px 0 14px}
.rs-edit-place{grid-column:1/-1}
.rs-input-plain{padding-left:12px}
.rs-editform{margin-top:12px;padding:14px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid rgba(201,164,92,.18)}
.rs-confirm-box{margin:2px 0 4px}
.rs-confirm-txt{display:flex;gap:8px;align-items:center;color:#dfe9f4;font-size:14.5px;line-height:1.5;margin:0 0 12px}
.rs-confirm-txt svg{flex-shrink:0;color:#7fe3bd}
.rs-ok-txt{color:#eef4fb}
.rs-locked{display:flex;gap:9px;align-items:center;margin-top:12px;padding:11px 13px;border-radius:11px;
  background:rgba(201,164,92,.08);border:1px solid rgba(201,164,92,.22);color:rgba(243,213,138,.92);font-size:12.8px;line-height:1.45}
.rs-locked svg{flex-shrink:0;opacity:.85}

/* ============ RESPONSIVE ============ */
/* Mode APP (fenêtre ~750px) et tablette : les 2 colonnes s'empilent. */
@media (max-width:820px){
  .rs-panel{padding:18px 16px}
  .rs-conf-row{grid-template-columns:1fr;gap:12px}
  .rs-state{margin-left:0}
}
/* Petits téléphones : les 2 boutons s'empilent, titre réduit. */
@media (max-width:520px){
  .rs-actions{grid-template-columns:1fr}
  .rs-title{font-size:22px}
  .rs-footrow{justify-content:center}
}

/* ---- Carte pub latérale droite (grands écrans) ----
   Le contenu Entraide est centré (~1040px). On n'affiche la carte flottante
   que lorsqu'il reste de la place à droite sans chevaucher (≥ 1700px).
   En dessous (laptop, tablette, mode app) : masquée — la bannière suffit. */
.rs-side-ad,.rs-side-ad-left{position:fixed;top:150px;width:290px;z-index:30;display:none;flex-direction:column}
.rs-side-ad{right:max(16px,calc(50vw - 878px))}
.rs-side-ad-left{left:max(100px,calc(50vw - 782px))}
.rs-side-ad .ad-slot,.rs-side-ad-left .ad-slot,
.rs-side-ad .ad-slot-wrap,.rs-side-ad-left .ad-slot-wrap,
.rs-side-ad .ad-encart,.rs-side-ad-left .ad-encart{width:100%;box-sizing:border-box}
.rs-side-ad>.ad-slot-wrap,.rs-side-ad-left>.ad-slot-wrap{margin:0;flex:1 1 auto;min-height:0;display:flex}
.rs-side-ad .ad-slot,.rs-side-ad-left .ad-slot{flex:1 1 auto;min-height:0}
.rs-side-ad .ad-encart,.rs-side-ad-left .ad-encart{display:flex;flex-direction:column}
.rs-side-ad .ad-encart-img,.rs-side-ad-left .ad-encart-img{flex:1 1 auto;height:auto;min-height:120px}
@media (min-width:1800px){ .rs-side-ad,.rs-side-ad-left{display:flex} }

/* ============================================================
 *  Contexte « conversation » (messagerie privée) — additif.
 *  Barre « 🛟 Sécurité du rendez-vous » + lignes de statut des
 *  participants. Réutilise les tokens de couleur du panneau.
 * ============================================================ */
.rs-wrap--conv{max-width:none;margin:14px 0 4px}          /* pleine largeur sous le chat */
.rs-wrap--conv .rs-actions.one{grid-template-columns:1fr;max-width:340px}

.rs-partstat{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0 0 14px}
.rs-partstat .p{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:#dfe9f4}
.rs-dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto}
.rs-dot.ok{background:#2bb98a}
.rs-dot.wait{background:#f5a623}
.rs-dot.off{background:#6b7684}

.rs-secbar{margin-top:14px;border-radius:14px;padding:14px 16px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;
  background:linear-gradient(180deg,rgba(61,169,252,.10),rgba(61,169,252,.04));border:1px solid rgba(61,169,252,.30)}
.rs-secbar.locked{background:rgba(201,164,92,.06);border-color:rgba(201,164,92,.22)}
.rs-secbar .sb-ic{font-size:22px;flex:0 0 auto;line-height:1}
.rs-secbar .sb-txt{flex:1 1 240px;min-width:200px}
.rs-secbar .sb-title{font-weight:700;font-size:14px;color:#eef4fb;margin-bottom:2px}
.rs-secbar .sb-sub{font-size:12.5px;color:rgba(230,238,255,.62);line-height:1.5}
.rs-secbar .rs-btn{min-height:46px;margin-left:auto}
@media (max-width:560px){ .rs-secbar .rs-btn{margin-left:0;width:100%} }
