/* Hulp-chat — alles onder .hc; lettertype erft van de app. */
.hc { --hc-kop:#0F2742; --hc-accent:#C9A24B; --hc-accent-tekst:#0F2742; --hc-link:#2F5D8A; --hc-grijs:#55657a; --hc-lijn:#dde3ea; --hc-zacht:#f4f6f9; }
.hc-eekhout { --hc-kop:#25233c; --hc-accent:#ef7d00; --hc-accent-tekst:#fff; --hc-link:#2a8f79; }
.hc *, .hc *::before, .hc *::after { box-sizing:border-box; }
.hc [hidden] { display:none !important; }
.hc-wolk { position:fixed; right:20px; bottom:20px; z-index:9000; display:flex; align-items:center; gap:8px; border:0; border-radius:999px; padding:12px 18px 12px 14px;
  background:var(--hc-kop); color:#fff; font:inherit; font-weight:700; font-size:15px; cursor:pointer; box-shadow:0 6px 20px rgba(15,39,66,.28); }
.hc-wolk svg { width:24px; height:24px; color:var(--hc-accent); }
.hc-wolk:focus-visible, .hc button:focus-visible, .hc input:focus-visible { outline:3px solid var(--hc-link); outline-offset:2px; }
.hc-open .hc-wolk { display:none; }
.hc-venster { position:fixed; right:20px; bottom:20px; z-index:9001; width:380px; max-width:calc(100vw - 32px); height:560px; max-height:calc(100vh - 40px);
  display:flex; flex-direction:column; background:#fff; border-radius:12px; box-shadow:0 12px 40px rgba(15,39,66,.3); overflow:hidden; color:var(--hc-kop); font-size:14px; line-height:1.45; }
.hc-kop { background:var(--hc-kop); color:#fff; padding:12px 14px; display:flex; justify-content:space-between; align-items:flex-start; gap:10px; border-bottom:3px solid var(--hc-accent); }
.hc-kop b { display:block; font-size:15px; } .hc-kop small { color:#cfd8e6; font-size:11.5px; }
.hc-sluit { border:0; background:none; color:#fff; font-size:24px; line-height:1; cursor:pointer; padding:2px 6px; }
.hc-berichten { flex:1; overflow-y:auto; padding:12px; display:flex; flex-direction:column; gap:10px; background:var(--hc-zacht); }
.hc-b { max-width:92%; border-radius:10px; padding:9px 12px; }
.hc-b p { margin:0 0 6px; } .hc-b p:last-child { margin-bottom:0; }
.hc-b ol, .hc-b ul { margin:4px 0 6px; padding-left:20px; } .hc-b li { margin-bottom:3px; }
.hc-bot { background:#fff; border:1px solid var(--hc-lijn); align-self:flex-start; }
.hc-ik { background:var(--hc-kop); color:#fff; align-self:flex-end; }
.hc-titel { font-weight:700; }
.hc-klein { font-size:12px; color:var(--hc-grijs); margin-top:6px !important; }
.hc-chips { display:flex; flex-wrap:wrap; gap:6px; margin-top:4px; }
.hc-chip { border:1px solid var(--hc-lijn); background:var(--hc-zacht); color:var(--hc-kop); border-radius:999px; padding:5px 10px; font:inherit; font-size:12.5px; cursor:pointer; text-align:left; }
.hc-chip:hover { border-color:var(--hc-link); }
.hc-chip-o { font-weight:600; }
.hc-ga { margin-top:8px; border:0; border-radius:6px; padding:8px 12px; background:var(--hc-accent); color:var(--hc-accent-tekst); font:inherit; font-weight:700; font-size:13px; cursor:pointer; }
.hc-invoer { display:flex; gap:6px; padding:10px; border-top:1px solid var(--hc-lijn); background:#fff; }
.hc-invoer input { flex:1; min-width:0; border:1px solid var(--hc-lijn); border-radius:8px; padding:10px 12px; font:inherit; font-size:15px; color:var(--hc-kop); }
.hc-mic, .hc-stuur { border:0; border-radius:8px; width:42px; flex:none; cursor:pointer; background:var(--hc-zacht); color:var(--hc-kop); font-size:16px; display:flex; align-items:center; justify-content:center; }
.hc-mic svg { width:20px; height:20px; }
.hc-stuur { background:var(--hc-kop); color:#fff; }
.hc-mic.hc-luistert { background:#c0392b; color:#fff; animation:hc-puls 1.2s infinite; }
@keyframes hc-puls { 50% { opacity:.6; } }
@media (max-width:640px) {
  .hc-venster { right:0; bottom:0; width:100vw; max-width:100vw; height:100dvh; max-height:100dvh; border-radius:0; }
  .hc-wolk { right:14px; bottom:calc(14px + env(safe-area-inset-bottom)); }
}
@media print { .hc { display:none !important; } }
@media (prefers-reduced-motion:reduce) { .hc-mic.hc-luistert { animation:none; } }
.hc-moveda { --hc-kop:#7f131e; --hc-accent:#ffbc7d; --hc-accent-tekst:#5e0d16; --hc-link:#bf202d; --hc-lijn:#ece6e3; --hc-zacht:#faf7f5; --hc-grijs:#54595f; }
.hc-moveda .hc-venster { color:#1c1d20; }
@media (max-width:760px) { .hc-moveda .hc-wolk { bottom:calc(78px + env(safe-area-inset-bottom)); } }  /* boven de onderbalk van Moveda */
/* Florion PT: volgt de huisstijlkleur van het portaal (--color-primary-*, instelbaar via Beheer › Huisstijl; standaard #b91c1c) */
.hc-florion { --hc-kop:var(--color-primary-700, #b91c1c); --hc-accent:#D4A017; --hc-accent-tekst:#1f2937; --hc-link:var(--color-primary-600, #dc2626); --hc-lijn:#e5e7eb; --hc-zacht:#f9fafb; --hc-grijs:#4b5563; }
.hc-florion .hc-venster { color:#111827; }
/* Uitwijken (hulpchat.js wijkUit): klein rondje als er iets klikbaars onder de wolk ligt */
.hc-wolk.hc-klein { width:48px; height:48px; padding:0; justify-content:center; opacity:.92; }
.hc-wolk.hc-klein span { display:none; }
.hc-wolk.hc-klein:hover, .hc-wolk.hc-klein:focus-visible { opacity:1; }
