/* Feuille de widget « sk-chat » — extraite des recettes de contenu (lot B, chantier 6) par
   tools/styles-check/extraire-styles-recettes.py ; valeurs = jetons de sk-tokens.css. */
.sk-chat-wrap{position:fixed;bottom:1.5rem;right:1.5rem;z-index:1500}
.sk-chat-wrap details{position:relative}
.sk-chat-wrap summary{list-style:none;cursor:pointer;width:60px;height:60px;background:linear-gradient(135deg,var(--sk-primary),var(--sk-c-cyan-1));color:var(--sk-on-primary);border-radius:var(--sk-radius-round);display:flex;align-items:center;justify-content:center;font-size:1.5rem;box-shadow:0 10px 30px rgba(9,78,215,.4);transition:transform .2s;position:relative}
.sk-chat-wrap summary::-webkit-details-marker{display:none}
.sk-chat-wrap summary::after{content:'';position:absolute;top:6px;right:8px;width:12px;height:12px;background:var(--sk-c-sarcelle-2);border:2px solid var(--sk-surface);border-radius:var(--sk-radius-round)}
.sk-chat-wrap details:not([open]) summary:hover{transform:scale(1.08) rotate(-8deg)}
.sk-chat-wrap details[open] summary{transform:rotate(45deg) scale(1.02)}
.sk-chat-wrap details[open] summary::before{content:'\f00d';font-family:'Font Awesome 6 Free';font-weight:900;position:absolute;color:var(--sk-on-primary)}
.sk-chat-wrap details[open] summary i{opacity:0}
.sk-chat-panel{position:absolute;bottom:calc(100% + 14px);right:0;width:360px;background:var(--sk-surface);border:1px solid var(--sk-border);border-radius:var(--sk-radius-lg);box-shadow:0 20px 50px rgba(9,78,215,.18);overflow:hidden;animation:sk-chat-up .25s ease-out;display:flex;flex-direction:column;max-height:560px}
@keyframes sk-chat-up{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.sk-chat-head{background:linear-gradient(135deg,var(--sk-primary),var(--sk-c-cyan-1));color:var(--sk-on-primary);padding:1.1rem 1.2rem;display:flex;align-items:center;gap:.7rem;flex-shrink:0}
.sk-chat-head .sk-chat-back{border:0;background:rgba(255,255,255,.18);color:var(--sk-on-primary);width:30px;height:30px;border-radius:var(--sk-radius-round);cursor:pointer;display:none;align-items:center;justify-content:center;font-size:.78rem;flex-shrink:0}
.sk-chat-head .sk-chat-back:hover{background:rgba(255,255,255,.3)}
.sk-chat-head[data-view="ai"] .sk-chat-back,
.sk-chat-head[data-view="human"] .sk-chat-back{display:flex}
.sk-chat-head .sk-chat-htxt{flex:1;min-width:0}
.sk-chat-head h3{color:var(--sk-on-primary);font-size:1rem;margin:0 0 .15rem;font-weight:700}
.sk-chat-head p{color:rgba(255,255,255,.88);font-size:.78rem;margin:0}
.sk-chat-body{padding:.7rem;overflow-y:auto;flex:1}
.sk-chat-body[data-view="menu"] .sk-chat-menu{display:block}
.sk-chat-body .sk-chat-menu,
.sk-chat-body .sk-chat-ai,
.sk-chat-body .sk-chat-human{display:none}
.sk-chat-body[data-view="ai"] .sk-chat-ai,
.sk-chat-body[data-view="human"] .sk-chat-human{display:flex;flex-direction:column;height:100%}
.sk-chat-opt{display:flex;align-items:center;gap:.85rem;padding:.8rem .9rem;border-radius:var(--sk-radius);text-decoration:none;color:var(--sk-fg);transition:background .15s;border:1px solid transparent;background:none;width:100%;text-align:left;cursor:pointer;font-family:inherit}
.sk-chat-opt:hover{background:var(--sk-bg);border-color:var(--sk-border);color:var(--sk-primary)}
.sk-chat-opt .ico{width:40px;height:40px;border-radius:var(--sk-radius-sm);display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;position:relative}
.sk-chat-opt .ico.ai{background:linear-gradient(135deg,var(--sk-c-violet-1),var(--sk-c-violet-4));color:var(--sk-on-primary)}
.sk-chat-opt .ico.human{background:linear-gradient(135deg,var(--sk-c-sarcelle-2),var(--sk-c-sarcelle-3));color:var(--sk-on-primary)}
.sk-chat-opt .ico.faq{background:var(--sk-primary-soft);color:var(--sk-primary)}
.sk-chat-opt .ico.phone{background:var(--sk-warning-soft);color:var(--sk-accent)}
.sk-chat-opt strong{display:block;font-size:.92rem;font-weight:600}
.sk-chat-opt small{display:block;color:var(--sk-muted);font-size:.78rem;margin-top:.1rem}
.sk-chat-opt .ico-wrap{flex:1;min-width:0}
.sk-chat-foot{padding:.75rem 1.2rem;background:var(--sk-surface-alt);font-size:.75rem;color:var(--sk-muted);text-align:center;border-top:1px solid var(--sk-border);flex-shrink:0}
.sk-chat-foot strong{color:var(--sk-c-sarcelle-2)}

/* ── AI chat view ── */
.sk-chat-ai .sk-ai-msgs{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem;padding:.3rem;min-height:200px}
.sk-chat-ai .sk-ai-msg{padding:.55rem .8rem;border-radius:var(--sk-radius);font-size:.85rem;line-height:1.4;max-width:85%;word-wrap:break-word}
.sk-chat-ai .sk-ai-msg.user{background:var(--sk-primary);color:var(--sk-on-primary);align-self:flex-end;border-bottom-right-radius:var(--sk-radius-xs)}
.sk-chat-ai .sk-ai-msg.bot{background:var(--sk-bg);color:var(--sk-fg);align-self:flex-start;border-bottom-left-radius:var(--sk-radius-xs)}
.sk-chat-ai .sk-ai-msg.bot.thinking{display:flex;gap:.25rem;align-items:center}
.sk-chat-ai .sk-ai-msg.bot.thinking span{width:6px;height:6px;background:var(--sk-primary);border-radius:var(--sk-radius-round);opacity:.5;animation:sk-blink 1.2s infinite}
.sk-chat-ai .sk-ai-msg.bot.thinking span:nth-child(2){animation-delay:.2s}
.sk-chat-ai .sk-ai-msg.bot.thinking span:nth-child(3){animation-delay:.4s}
@keyframes sk-blink{0%,100%{opacity:.3}50%{opacity:1}}
.sk-chat-ai .sk-ai-suggest{display:flex;gap:.35rem;padding:.3rem;flex-wrap:wrap}
.sk-chat-ai .sk-ai-suggest button{background:var(--sk-primary-soft);color:var(--sk-primary);border:0;padding:.35rem .7rem;border-radius:var(--sk-radius);font-size:.75rem;font-weight:600;cursor:pointer;font-family:inherit}
.sk-chat-ai .sk-ai-suggest button:hover{background:var(--sk-primary);color:var(--sk-on-primary);font-weight:600}
.sk-chat-ai .sk-ai-form{display:flex;gap:.4rem;padding:.4rem .3rem 0;border-top:1px solid var(--sk-bg);margin-top:.3rem}
.sk-chat-ai .sk-ai-form input{flex:1;border:1px solid var(--sk-border);border-radius:var(--sk-radius-lg);padding:.55rem .9rem;font-family:inherit;font-size:.85rem;outline:none}
.sk-chat-ai .sk-ai-form input:focus{border-color:var(--sk-primary)}
.sk-chat-ai .sk-ai-form button{border:0;background:var(--sk-primary);color:var(--sk-on-primary);width:36px;height:36px;border-radius:var(--sk-radius-round);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-weight:600}
.sk-chat-ai .sk-ai-form button:hover{background:var(--sk-primary-hover)}

/* ── Human video call view ── */
.sk-chat-human{padding:0;margin:-.7rem}
.sk-chat-human .sk-hv-wait{padding:2rem 1rem;text-align:center}
.sk-chat-human .sk-hv-wait .sk-hv-pulse{width:70px;height:70px;margin:0 auto 1rem;border-radius:var(--sk-radius-round);background:linear-gradient(135deg,var(--sk-c-sarcelle-2),var(--sk-c-sarcelle-3));display:flex;align-items:center;justify-content:center;color:var(--sk-on-primary);font-size:1.5rem;position:relative}
.sk-chat-human .sk-hv-wait .sk-hv-pulse::before,
.sk-chat-human .sk-hv-wait .sk-hv-pulse::after{content:'';position:absolute;inset:0;border-radius:var(--sk-radius-round);border:2px solid var(--sk-c-sarcelle-2);animation:sk-hv-ring 1.8s infinite}
.sk-chat-human .sk-hv-wait .sk-hv-pulse::after{animation-delay:.9s}
@keyframes sk-hv-ring{0%{transform:scale(1);opacity:.9}100%{transform:scale(1.9);opacity:0}}
.sk-chat-human .sk-hv-wait h4{font-size:1.05rem;color:var(--sk-fg);margin:0 0 .3rem}
.sk-chat-human .sk-hv-wait p{color:var(--sk-muted);font-size:.85rem;margin:0}
.sk-chat-human .sk-hv-wait .sk-hv-btn{margin-top:1.2rem;padding:.7rem 1.5rem;background:var(--sk-c-sarcelle-2);color:var(--sk-on-primary);border:0;border-radius:var(--sk-radius-pill);font-weight:600;font-size:.88rem;cursor:pointer;font-family:inherit}
.sk-chat-human .sk-hv-wait .sk-hv-btn:hover{background:var(--sk-success)}
@media(max-width:500px){.sk-chat-panel{width:calc(100vw - 3rem);right:0}}
