/* ═══════════════════════════════════════════════════════════════════
   POLYGRAPHIX STUDIO — Assistant unifié · styles (2026-09-14)
   Préfixe .pgxa- · injecté par assets/pgx-chat.js
   ═══════════════════════════════════════════════════════════════════ */
.pgxa-fab,.pgxa-panel,.pgxa-nudge{font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;box-sizing:border-box}
.pgxa-fab *,.pgxa-panel *,.pgxa-nudge *{box-sizing:border-box}

/* ── Anneau animé (adapté du loader fourni par Daniel, couleurs Polygraphix) ── */
.pgxa-ring{position:relative;display:inline-block;width:34px;height:34px;border-radius:50%;flex:0 0 auto;
  box-shadow:0 2px 4px 0 #38bdf8 inset,0 4px 6px 0 #1c4eff inset,0 12px 12px 0 #ac24ff inset,0 0 3px 1.2px rgba(56,189,248,.35),0 0 8px 2px rgba(172,36,255,.25);
  animation:pgxaCircle 5s linear infinite;will-change:transform}
.pgxa-ring.lg{box-shadow:0 3px 6px 0 #38bdf8 inset,0 6px 9px 0 #1c4eff inset,0 18px 18px 0 #ac24ff inset,0 0 4px 1.5px rgba(56,189,248,.35),0 0 12px 3px rgba(172,36,255,.25)}
/* Panneau fermé : l'anneau de l'en-tête ne tourne pas pour rien */
.pgxa-panel:not(.open) .pgxa-ring{animation-play-state:paused}
@keyframes pgxaCircle{0%{transform:rotate(90deg)}100%{transform:rotate(450deg)}}
.pgxa-ring.lg{width:52px;height:52px}
.pgxa-ring.lg{animation-name:pgxaCircleLg}
@keyframes pgxaCircleLg{0%{transform:rotate(90deg)}100%{transform:rotate(450deg)}}
@media (prefers-reduced-motion:reduce){.pgxa-ring{animation:none;box-shadow:0 2px 4px 0 #38bdf8 inset,0 4px 6px 0 #1c4eff inset,0 12px 12px 0 #ac24ff inset}.pgxa-ring.lg{box-shadow:0 3px 6px 0 #38bdf8 inset,0 6px 9px 0 #1c4eff inset,0 18px 18px 0 #ac24ff inset}.pgxa-fab-txt span{animation:none!important;opacity:1!important}}

/* ── Bouton flottant ── */
.pgxa-fab{position:fixed;right:20px;bottom:20px;z-index:9990;display:flex;align-items:center;gap:10px;height:54px;padding:0 18px 0 10px;border:1px solid rgba(255,255,255,.14);border-radius:999px;cursor:pointer;
  background:linear-gradient(135deg,rgba(18,10,40,.92),rgba(10,8,24,.92));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  box-shadow:0 10px 30px rgba(0,0,0,.45),0 0 0 1px rgba(172,36,255,.15);color:#fff;transition:transform .2s ease,box-shadow .2s ease}
.pgxa-fab:hover{transform:translateY(-2px);box-shadow:0 14px 36px rgba(0,0,0,.5),0 0 0 1px rgba(172,36,255,.35)}
.pgxa-fab{-webkit-tap-highlight-color:transparent;outline:none}
@media (max-width:640px){.pgxa-fab:focus,.pgxa-fab:focus-visible{outline:none;box-shadow:none;background:none;border:none}.pgxa-fab.open:focus{background:linear-gradient(135deg,rgba(18,10,40,.92),rgba(10,8,24,.92));border:1px solid rgba(255,255,255,.14)}}
.pgxa-fab:focus:not(:focus-visible){outline:none}
.pgxa-fab:focus-visible{outline:2px solid #a855f7;outline-offset:3px}
.pgxa-fab-txt{display:inline-flex;font-size:14px;font-weight:600;letter-spacing:.02em;line-height:1}
.pgxa-fab-txt span{display:inline-block;opacity:.45;animation:pgxaLetter 3s infinite}
@keyframes pgxaLetter{0%,100%{opacity:.45;transform:translateY(0)}20%{opacity:1;transform:scale(1.12)}40%{opacity:.7;transform:translateY(0)}}
.pgxa-fab.open .pgxa-fab-txt{display:none}
.pgxa-fab.open{padding:0 10px;width:54px;justify-content:center}
.pgxa-fab .pgxa-x{display:none;width:20px;height:20px}
.pgxa-fab.open .pgxa-ring{display:none}
.pgxa-fab.open .pgxa-x{display:block}
/* « Toc toc » (mobile) : petit zoom du bouton pendant 1 s */
.pgxa-fab.knock{animation:pgxaKnock 1s cubic-bezier(.34,1.56,.64,1)}
@keyframes pgxaKnock{0%{transform:scale(1)}28%{transform:scale(1.3)}50%{transform:scale(1.04)}72%{transform:scale(1.24)}100%{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.pgxa-fab.knock{animation:none}}

@media (max-width:640px){.pgxa-fab{right:14px;bottom:14px;height:60px;width:60px;padding:0;justify-content:center;gap:0;background:none;border:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.pgxa-fab-txt{display:none}.pgxa-fab .pgxa-ring{width:46px;height:46px}
  .pgxa-fab.open{width:56px;height:56px;background:linear-gradient(135deg,rgba(18,10,40,.92),rgba(10,8,24,.92));border:1px solid rgba(255,255,255,.14);box-shadow:0 10px 30px rgba(0,0,0,.45)}}

/* ── Phrase d'accroche (texte seul, sort du bouton puis y redescend) ── */
.pgxa-nudge{position:fixed;right:22px;bottom:82px;z-index:9989;max-width:calc(100vw - 44px);text-align:right;font-size:14px;font-weight:600;letter-spacing:.01em;line-height:1.3;color:#fff;
  text-shadow:0 1px 2px rgba(0,0,0,.6),0 2px 12px rgba(0,0,0,.5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  opacity:0;transform:translateY(16px) scale(.96);transform-origin:bottom right;pointer-events:none;transition:opacity .45s ease,transform .55s cubic-bezier(.22,.61,.36,1)}
.pgxa-nudge.visible{opacity:1;transform:translateY(0) scale(1)}
@media (max-width:640px){.pgxa-nudge{right:16px;bottom:78px;font-size:13px;max-width:calc(100vw - 32px);padding:7px 11px;border-radius:10px;background:rgba(10,8,24,.78);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 4px 16px rgba(0,0,0,.35)}}
@media (prefers-reduced-motion:reduce){.pgxa-nudge{transform:none!important;transition:opacity .4s ease}}

/* ── Panneau ── */
.pgxa-panel{position:fixed;right:20px;bottom:86px;z-index:100001;width:380px;max-width:calc(100vw - 28px);height:620px;max-height:calc(100vh - 110px);display:flex;flex-direction:column;overflow:hidden;
  border:1px solid rgba(255,255,255,.12);border-radius:20px;background:linear-gradient(160deg,#150d2e 0%,#0b0817 70%);color:#eeeafc;
  box-shadow:0 24px 70px rgba(0,0,0,.6),0 0 0 1px rgba(172,36,255,.12);opacity:0;visibility:hidden;transform:translateY(12px) scale(.98);transform-origin:bottom right;transition:opacity .22s ease,transform .22s ease,visibility 0s .22s}
.pgxa-panel.open{opacity:1;visibility:visible;transform:none;transition:opacity .22s ease,transform .22s ease,visibility 0s}
@media (max-width:640px){.pgxa-panel{right:8px;left:8px;bottom:78px;width:auto;max-width:none;height:calc(100dvh - 88px);max-height:calc(100dvh - 88px);border-radius:18px}}
/* Voile sombre sur le site quand l'assistant est ouvert (lisibilité) */
.pgxa-scrim{position:fixed;inset:0;z-index:100000;background:rgba(6,4,14,.62);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:opacity .25s ease,visibility 0s .25s}
.pgxa-scrim.open{opacity:1;visibility:visible;transition:opacity .25s ease,visibility 0s}
.pgxa-fab.open{z-index:100002}
@media (max-width:640px){.pgxa-scrim{background:rgba(6,4,14,.8)}}
@media (prefers-reduced-motion:reduce){.pgxa-scrim{backdrop-filter:none;-webkit-backdrop-filter:none}}
.pgxa-head{display:flex;align-items:center;gap:12px;padding:14px 14px 12px;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03)}
.pgxa-head-t{flex:1;min-width:0}
.pgxa-head-t b{display:block;font-size:15px;font-weight:700;color:#fff}
.pgxa-head-t span{display:block;font-size:11.5px;color:rgba(238,234,252,.6);margin-top:2px;line-height:1.3}
.pgxa-close{flex:0 0 auto;width:32px;height:32px;border:none;border-radius:50%;background:rgba(255,255,255,.06);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}
.pgxa-close:hover{background:rgba(255,255,255,.12)}
.pgxa-body{flex:1;overflow-y:auto;padding:14px 14px 6px;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth;overscroll-behavior:contain}
.pgxa-body::-webkit-scrollbar{width:6px}.pgxa-body::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:3px}
.pgxa-msg{max-width:88%;padding:10px 13px;border-radius:16px;font-size:14px;line-height:1.5;word-wrap:break-word;overflow-wrap:anywhere}
.pgxa-msg.bot{align-self:flex-start;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.07);border-bottom-left-radius:5px;color:#eeeafc}
.pgxa-msg.bot strong{color:#fff}
.pgxa-msg.bot a{color:#c4b5fd}
.pgxa-msg.user{align-self:flex-end;background:linear-gradient(135deg,#1c4eff,#ac24ff);border-bottom-right-radius:5px;color:#fff}
.pgxa-msg.typing{display:flex;gap:4px;padding:12px 14px}
.pgxa-msg.typing i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.55);animation:pgxaDot 1.2s infinite}
.pgxa-msg.typing i:nth-child(2){animation-delay:.2s}.pgxa-msg.typing i:nth-child(3){animation-delay:.4s}
@keyframes pgxaDot{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
.pgxa-card{align-self:flex-start;display:flex;gap:10px;width:88%;padding:8px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);text-decoration:none;color:#eeeafc}
.pgxa-card img{width:72px;height:72px;object-fit:cover;border-radius:10px;flex:0 0 auto}
.pgxa-card b{display:block;font-size:13px;color:#fff;margin-bottom:3px}
.pgxa-card span{font-size:12px;color:#c4b5fd}
.pgxa-cta{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;border:1px solid rgba(196,181,253,.4);background:rgba(168,85,247,.12);color:#e9d5ff;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit}
.pgxa-cta:hover{background:rgba(168,85,247,.22)}
.pgxa-prompt{align-self:flex-start;width:88%;padding:12px;border-radius:14px;background:rgba(168,85,247,.08);border:1px solid rgba(168,85,247,.25);font-size:13px;line-height:1.45}
.pgxa-prompt p{margin:0 0 8px}
.pgxa-prompt-btns{display:flex;gap:8px;flex-wrap:wrap}
.pgxa-btn{padding:8px 14px;border-radius:999px;border:none;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit}
.pgxa-btn.yes{background:linear-gradient(135deg,#1c4eff,#ac24ff);color:#fff}
.pgxa-btn.no{background:rgba(255,255,255,.08);color:#eeeafc}
.pgxa-form{display:flex;flex-direction:column;gap:7px;margin-top:6px}
.pgxa-input{width:100%;padding:9px 11px;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.25);color:#fff;font-size:14px;font-family:inherit;outline:none}
.pgxa-input:focus{border-color:#a855f7}
.pgxa-input::placeholder{color:rgba(238,234,252,.45)}
.pgxa-err{font-size:12px;color:#f87171;display:none}
.pgxa-note{font-size:11px;color:rgba(238,234,252,.5)}
.pgxa-ok{font-size:13px;font-weight:600;color:#4ade80}
.pgxa-chips{display:flex;gap:6px;flex-wrap:wrap;padding:6px 14px 8px}
.pgxa-chip{padding:6px 11px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);color:#eeeafc;font-size:12px;cursor:pointer;font-family:inherit;transition:background .15s}
.pgxa-chip:hover{background:rgba(168,85,247,.2);border-color:rgba(168,85,247,.5)}
.pgxa-inrow{display:flex;gap:8px;align-items:flex-end;padding:8px 12px 10px;border-top:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.2)}
.pgxa-ta{flex:1;resize:none;max-height:90px;min-height:44px;padding:12px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.45);background:rgba(255,255,255,.12);color:#fff;font-size:15px;line-height:1.35;font-family:inherit;outline:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.pgxa-ta::placeholder{color:rgba(255,255,255,.8)}
.pgxa-ta:focus{border-color:#c4b5fd;background:rgba(255,255,255,.16)}
.pgxa-send{width:42px;height:42px;flex:0 0 auto;border:none;border-radius:50%;background:linear-gradient(135deg,#1c4eff,#ac24ff);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}
.pgxa-send:disabled{opacity:.5;cursor:default}
.pgxa-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 14px 9px;font-size:12px;color:rgba(238,234,252,.6);background:rgba(0,0,0,.2)}
.pgxa-foot a,.pgxa-foot button{color:#c4b5fd;text-decoration:none;font-size:12px;font-weight:600;background:none;border:none;cursor:pointer;font-family:inherit;padding:0}
.pgxa-foot a:hover,.pgxa-foot button:hover{text-decoration:underline}
