/* Chat de prise de rendez-vous partenaires (01/11/2026). Voir NOTE-CHAT-PARTENAIRES.md.
   Ordinateur : fenêtre centrée sur la page assombrie. Mobile : plein écran, barre de saisie au-dessus du clavier.
   Toutes les classes commencent par pc- pour ne rien toucher du reste de la page. */
#pc-ov{
  --pc-win:#FFFFFF; --pc-chat:#E9E8F6; --pc-pattern:rgba(88,86,214,.07);
  --pc-bot:#FFFFFF; --pc-bot-fg:#1B1A3A; --pc-me:#5856D6; --pc-me-fg:#FFFFFF;
  --pc-fg:#1B1A3A; --pc-muted:#6D6C8C; --pc-line:#DCDBEE; --pc-accent:#5856D6; --pc-accent-soft:#E6E5FB;
  --pc-err:#D9433B; --pc-chip:#FFFFFF;
  --pc-display:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  position:fixed;inset:0;z-index:99990;display:none;align-items:center;justify-content:center;
  background:rgba(8,7,26,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:24px;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;font-size:15px;color:var(--pc-fg);
}
[data-theme="dark"] #pc-ov{
  --pc-win:#17163A; --pc-chat:#121130; --pc-pattern:rgba(140,138,255,.06);
  --pc-bot:#24234D; --pc-bot-fg:#ECEBFF; --pc-fg:#ECEBFF; --pc-muted:#9F9EC6; --pc-line:#2E2D5C;
  --pc-accent:#8C8AFF; --pc-accent-soft:#2A2960; --pc-err:#FF6B61; --pc-chip:#1E1D45;
  background:rgba(4,4,14,.82);
}
#pc-ov.open{display:flex}
#pc-ov *{box-sizing:border-box}
.pc-win{width:100%;max-width:460px;height:min(720px,calc(var(--pc-vh,100dvh) - 48px));min-height:min(480px,calc(var(--pc-vh,100dvh) - 48px));background:var(--pc-win);
  border:1px solid var(--pc-line);border-radius:24px;overflow:hidden;display:flex;flex-direction:column;
  box-shadow:0 30px 80px -30px rgba(0,0,0,.6);animation:pc-in .22s ease-out}
.pc-head{display:flex;align-items:center;gap:12px;padding:14px 12px 14px 16px;border-bottom:1px solid var(--pc-line)}
.pc-avatar{width:42px;height:42px;border-radius:50%;background:var(--pc-me);color:#fff;display:grid;place-items:center;
  font-family:var(--pc-display);font-weight:800;font-size:18px;flex:none}
.pc-who{min-width:0;flex:1}
.pc-name{font-family:var(--pc-display);font-weight:700;font-size:16px}
.pc-name em{font-style:italic;color:var(--pc-accent)}
.pc-status{font-size:12.5px;color:var(--pc-muted)}
.pc-badge{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--pc-accent);background:var(--pc-accent-soft);
  padding:4px 8px;border-radius:999px;font-weight:600;white-space:nowrap}
.pc-close{width:36px;height:36px;border-radius:50%;border:0;background:transparent;color:var(--pc-muted);cursor:pointer;display:grid;place-items:center;flex:none}
.pc-close:hover{background:var(--pc-accent-soft);color:var(--pc-accent)}
.pc-thread{flex:1;overflow-y:auto;padding:18px 14px 10px;display:flex;flex-direction:column;gap:6px;background-color:var(--pc-chat);
  background-image:radial-gradient(var(--pc-pattern) 1.2px,transparent 1.2px);background-size:18px 18px;overscroll-behavior:contain}
.pc-day{align-self:center;font-size:11.5px;color:var(--pc-muted);background:var(--pc-win);padding:4px 10px;border-radius:8px;margin-bottom:6px}
.pc-msg{max-width:82%;padding:8px 11px 6px;border-radius:14px;line-height:1.42;animation:pc-pop .22s ease-out;overflow-wrap:anywhere;min-width:0}
.pc-msg.bot{align-self:flex-start;background:var(--pc-bot);color:var(--pc-bot-fg);border-top-left-radius:4px}
.pc-msg.me{align-self:flex-end;background:var(--pc-me);color:var(--pc-me-fg);border-top-right-radius:4px}
.pc-msg.gap{margin-top:8px}
.pc-msg b{font-weight:600}
.pc-meta{display:flex;justify-content:flex-end;align-items:center;gap:3px;font-size:10.5px;opacity:.7;margin-top:2px;font-variant-numeric:tabular-nums}
.pc-ticks{width:16px;height:11px}
.pc-typing{align-self:flex-start;background:var(--pc-bot);border-radius:14px;border-top-left-radius:4px;padding:12px 14px;display:flex;gap:4px}
.pc-typing i{width:7px;height:7px;border-radius:50%;background:var(--pc-muted);animation:pc-blink 1.2s infinite}
.pc-typing i:nth-child(2){animation-delay:.15s}.pc-typing i:nth-child(3){animation-delay:.3s}
.pc-recap{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;margin:6px 0 2px;font-size:14px}
.pc-recap dt{color:var(--pc-muted)} .pc-recap dd{margin:0;min-width:0;overflow-wrap:anywhere}
.pc-recap dd.vide{color:var(--pc-muted);font-style:italic}
.pc-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;padding:4px 0 2px}
.pc-chip{font:inherit;font-size:14px;font-weight:500;border:1.5px solid var(--pc-accent);color:var(--pc-accent);background:var(--pc-chip);
  padding:8px 14px;border-radius:999px;cursor:pointer}
.pc-chip:hover{background:var(--pc-accent);color:#fff}
.pc-chip.primary{background:var(--pc-me);border-color:var(--pc-me);color:#fff}
.pc-chip:focus-visible,.pc-send:focus-visible,.pc-input:focus-visible,.pc-close:focus-visible{outline:2px solid var(--pc-accent);outline-offset:2px}
.pc-bar{border-top:1px solid var(--pc-line);padding:10px 12px;display:flex;gap:8px;align-items:flex-end;background:var(--pc-win)}
.pc-field{flex:1;min-width:0}
.pc-input{width:100%;font:inherit;font-size:16px;color:var(--pc-fg);background:var(--pc-chat);border:1px solid var(--pc-line);
  border-radius:22px;padding:11px 16px;resize:none;max-height:120px;line-height:1.35;outline:none;display:block}
.pc-input::placeholder{color:var(--pc-muted)}
.pc-input:disabled{opacity:.55}
.pc-hint{font-size:12px;color:var(--pc-err);padding:4px 16px 0}
.pc-hint:empty{display:none}
.pc-send{width:44px;height:44px;border-radius:50%;border:0;background:var(--pc-me);color:#fff;display:grid;place-items:center;cursor:pointer;flex:none}
.pc-send:disabled{opacity:.4;cursor:default}
.pc-foot{font-size:11.5px;color:var(--pc-muted);text-align:center;padding:0 12px 10px;background:var(--pc-win)}
.pc-foot a{color:var(--pc-muted)}
.pc-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@keyframes pc-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes pc-pop{from{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:none}}
@keyframes pc-blink{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
@media (prefers-reduced-motion:reduce){.pc-win,.pc-msg,.pc-typing i{animation:none}}
/* Mobile : plein écran ; la hauteur suit la zone visible (clavier ouvert compris), réglée par le script */
@media (max-width:600px){
  #pc-ov{padding:0;align-items:flex-start;background:var(--pc-win)}
  .pc-win{max-width:none;height:var(--pc-vh,100dvh);min-height:0;border:0;border-radius:0;box-shadow:none}
  .pc-head{padding-top:max(12px,env(safe-area-inset-top,0px));padding-left:max(14px,env(safe-area-inset-left,0px));padding-right:max(8px,env(safe-area-inset-right,0px))}
  .pc-bar{padding-left:max(12px,env(safe-area-inset-left,0px));padding-right:max(12px,env(safe-area-inset-right,0px))}
  .pc-foot{padding-bottom:max(10px,env(safe-area-inset-bottom,0px))}
}
