/* Noorderwind Studio AI-chatbot (12.10.2). Alleen geladen als de chatbot actief is. */
.nws-chat{--nws-chat-bottom:22px;position:fixed;right:22px;bottom:var(--nws-chat-bottom);z-index:9999;font-family:inherit}
.nws-chat-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.nws-chat-toggle{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:14px 20px;border-radius:999px;border:0;background:linear-gradient(135deg,var(--orange2),var(--orange));color:#100b04;font:inherit;font-weight:950;cursor:pointer;box-shadow:0 18px 55px rgba(0,0,0,.48),0 0 0 1px rgba(255,138,0,.25);transition:transform .22s ease,box-shadow .22s ease}
.nws-chat-toggle:hover{transform:translateY(-3px);box-shadow:0 24px 65px rgba(0,0,0,.56),0 0 0 1px rgba(255,138,0,.42)}
.nws-chat-toggle svg{width:22px;height:22px;fill:currentColor;flex:none}
.nws-chat-toggle:focus-visible,.nws-chat-cta:focus-visible,.nws-chat-close:focus-visible,.nws-chat-chip:focus-visible,.nws-chat-send:focus-visible,.nws-chat-panel a:focus-visible,.nws-chat-log:focus-visible{outline:3px solid var(--orange2);outline-offset:3px}
.nws-chat.is-open .nws-chat-toggle{box-shadow:0 18px 55px rgba(0,0,0,.48),0 0 0 3px rgba(255,176,74,.45)}
.nws-chat-panel{position:absolute;right:0;bottom:66px;width:min(390px,calc(100vw - 28px));height:min(600px,calc(100vh - var(--nws-chat-bottom) - 96px));display:flex;flex-direction:column;border-radius:24px;background:rgba(12,12,14,.98);color:var(--text);border:1px solid rgba(255,255,255,.16);box-shadow:0 30px 90px rgba(0,0,0,.7);overflow:hidden;animation:nwsChatIn .22s ease both}
.nws-chat-panel[hidden]{display:none}
@keyframes nwsChatIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.nws-chat-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 18px 12px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,rgba(255,138,0,.16),rgba(255,255,255,.03))}
.nws-chat-head h2{font-size:1.1rem;letter-spacing:-.01em;margin:0}
.nws-chat-sub{margin:2px 0 0;font-size:.8rem;color:var(--orange2);letter-spacing:.08em;text-transform:uppercase;font-weight:800}
.nws-chat-close{flex:none;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.05);color:var(--text);font-size:1.4rem;line-height:1;cursor:pointer}
.nws-chat-close:hover{border-color:rgba(255,255,255,.35)}
.nws-chat-notice{margin:0;padding:8px 18px;font-size:.78rem;color:var(--muted);border-bottom:1px solid var(--line);background:rgba(255,255,255,.025)}
.nws-chat-notice a,.nws-chat-foot a,.nws-chat-msg a{color:var(--orange2);text-decoration:underline;text-underline-offset:2px}
.nws-chat-cta-wrap{flex:none;padding:12px 16px;border-bottom:1px solid var(--line)}
.nws-chat-cta{display:flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:10px 18px;border-radius:999px;background:linear-gradient(135deg,var(--orange2),var(--orange));color:#100b04!important;font-weight:950;text-decoration:none;box-shadow:0 10px 30px rgba(255,138,0,.22);transition:transform .2s ease}
.nws-chat-cta:hover{transform:translateY(-2px)}
.nws-chat-cta svg{width:20px;height:20px;fill:currentColor;flex:none}
.nws-chat-log{flex:1;overflow-y:auto;padding:16px 16px 8px;display:flex;flex-direction:column;gap:10px;overscroll-behavior:contain}
.nws-chat-msg{max-width:86%;padding:10px 14px;border-radius:18px;font-size:.95rem;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
.nws-chat-msg--bot{align-self:flex-start;background:rgba(255,255,255,.07);border:1px solid var(--line);border-bottom-left-radius:6px;color:var(--text)}
.nws-chat-msg--user{align-self:flex-end;background:linear-gradient(135deg,var(--orange2),var(--orange));color:#100b04;border-bottom-right-radius:6px;font-weight:600}
.nws-chat-msg--error{border-color:rgba(255,138,0,.5);background:rgba(255,138,0,.1)}
.nws-chat-msg--hint{color:var(--muted);font-size:.85rem}
.nws-chat-typing{display:inline-flex;gap:5px;align-items:center;padding:14px 16px}
.nws-chat-typing span{width:7px;height:7px;border-radius:50%;background:var(--orange2);opacity:.35;animation:nwsChatDot 1.1s infinite ease-in-out}
.nws-chat-typing span:nth-child(2){animation-delay:.18s}.nws-chat-typing span:nth-child(3){animation-delay:.36s}
@keyframes nwsChatDot{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
.nws-chat-quick{display:flex;flex-wrap:wrap;gap:8px;padding:4px 16px 10px}
.nws-chat-quick[hidden]{display:none}
.nws-chat-chip{border:1px solid rgba(255,138,0,.45);background:rgba(255,138,0,.08);color:var(--text);border-radius:999px;padding:7px 12px;font:inherit;font-size:.84rem;font-weight:700;cursor:pointer;text-align:left}
.nws-chat-chip:hover{background:rgba(255,138,0,.18)}
.nws-chat-turnstile{padding:0 16px 10px}
.nws-chat-turnstile[hidden]{display:none}
.nws-chat-form{display:flex;align-items:flex-end;gap:8px;padding:10px 12px;border-top:1px solid var(--line)}
.nws-chat-form textarea{flex:1;resize:none;min-height:44px;max-height:120px;padding:11px 14px;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.06);color:var(--text);font:inherit;font-size:16px;line-height:1.4}
.nws-chat-form textarea:focus{outline:none;border-color:var(--orange2);box-shadow:0 0 0 3px rgba(255,176,74,.25)}
.nws-chat-send{flex:none;width:44px;height:44px;border-radius:50%;border:0;display:grid;place-items:center;background:linear-gradient(135deg,var(--orange2),var(--orange));color:#100b04;cursor:pointer}
.nws-chat-send svg{width:20px;height:20px;fill:currentColor}
.nws-chat-send:disabled{opacity:.5;cursor:wait}
.nws-chat-foot{margin:0;padding:0 16px 12px;font-size:.78rem;color:var(--muted)}
@media(max-width:600px){
.nws-chat{right:14px;--nws-chat-bottom:14px}
.nws-chat-toggle{min-height:48px;padding:12px 16px}
.nws-chat.is-open .nws-chat-toggle{display:none}
.nws-chat-panel{position:fixed;inset:8px;width:auto;height:auto;bottom:8px;border-radius:20px}
}
@media(prefers-reduced-motion:reduce){.nws-chat-panel,.nws-chat-typing span{animation:none}.nws-chat-toggle{transition:none}}
