/* Nur Chatbot: bestehendes NollProCon-Stylesheet bleibt unberührt. */
.npc-chat-widget{position:fixed;right:clamp(12px,2.6vw,30px);bottom:calc(18px + env(safe-area-inset-bottom));z-index:9900;font:inherit;color:#eaf7ff;--npc-chat-blue:#091f3b;--npc-chat-accent:#44cced}
.npc-chat-widget *{box-sizing:border-box}
.npc-chat-widget [hidden]{display:none!important}
.npc-chat-launcher{display:flex;align-items:center;justify-content:center;width:72px;height:72px;padding:4px;border:2px solid #5dd7f2;border-radius:50%;background:linear-gradient(150deg,#102e56,#16618a);box-shadow:0 7px 26px #00132688,0 0 0 5px #72ccf023;cursor:pointer;overflow:hidden;transition:transform .2s}
.npc-chat-launcher:hover{transform:scale(1.04)}
.npc-chat-launcher img{width:100%;height:100%;object-fit:cover;object-position:center 22%;border-radius:50%;background:#cce9f5}
.npc-chat-nudge{position:absolute;right:0;bottom:86px;display:block;width:min(178px,calc(100vw - 24px));background:#f4fbff;color:#092448;border-radius:18px 18px 6px 18px;box-shadow:0 10px 30px #0005;white-space:normal;border:1px solid #c5eaf9;animation:npc-chat-nudge-float 3.2s ease-in-out infinite}
.npc-chat-nudge:after{content:"";position:absolute;right:20px;bottom:-7px;width:13px;height:13px;background:#f4fbff;transform:rotate(45deg);border-right:1px solid #c5eaf9;border-bottom:1px solid #c5eaf9}
.npc-chat-nudge-action,.npc-chat-nudge-close{background:transparent;border:0;color:inherit;cursor:pointer;font:inherit}
.npc-chat-nudge-action{display:block;width:100%;padding:15px 40px 15px 15px;font-size:14px;font-weight:700;line-height:1.35;text-align:left}
.npc-chat-nudge-close{position:absolute;top:4px;right:5px;font-size:20px;padding:4px 7px;line-height:1;border-radius:999px}
.npc-chat-panel{position:absolute;right:0;bottom:86px;width:min(390px,calc(100vw - 24px));height:min(575px,calc(100dvh - 125px));min-height:330px;display:flex;flex-direction:column;overflow:hidden;border-radius:18px;background:var(--npc-chat-blue);border:1px solid #315579;box-shadow:0 15px 55px #000a}
.npc-chat-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:13px 14px;background:linear-gradient(100deg,#0a2545,#12517d);border-bottom:1px solid #276185}
.npc-chat-heading{display:flex;align-items:center;gap:10px;min-width:0}
.npc-chat-heading img{width:48px;height:48px;object-fit:cover;object-position:center 20%;border-radius:50%;border:2px solid #72d9ee;background:#d8f3fd}
.npc-chat-heading strong{display:block;font-size:15px;color:#fff;line-height:1.3}
.npc-chat-heading span{font-size:12px;color:#b9e5f4}
.npc-chat-close{background:transparent;border:0;color:#eff9ff;cursor:pointer;font-size:28px;line-height:1;padding:2px 7px}
.npc-chat-messages{flex:1;overflow-y:auto;padding:18px 13px;display:flex;flex-direction:column;align-items:stretch;gap:12px;overscroll-behavior:contain}
.npc-chat-message{max-width:93%;font-size:14px;line-height:1.54;white-space:pre-wrap;overflow-wrap:anywhere}
.npc-chat-message span{display:block;padding:11px 13px;border-radius:15px;background:#153d60;border:1px solid #2a6186;color:#f0f9ff}
.npc-chat-from-user{align-self:flex-end}.npc-chat-from-user span{background:#def6ff;color:#0b2a42;border-color:#a1deee}
.npc-chat-from-bot{align-self:flex-start}.npc-chat-message a{color:inherit;text-decoration:underline;text-underline-offset:2px}.npc-chat-from-bot a{color:#9fe9ff;font-weight:600}
.npc-chat-bottom{border-top:1px solid #315579;padding:11px 12px 9px;background:#0c2746}
.npc-chat-privacy{margin-bottom:10px;padding:10px;border:1px solid #34617e;border-radius:10px;background:#0e3554;font-size:12px;line-height:1.45;color:#e1f3ff}
.npc-chat-privacy.is-compact{padding:0;background:#0e3554}
.npc-chat-privacy-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:8px 11px;background:transparent;border:0;border-radius:9px;font:inherit;font-size:12px;color:#d1f5ff;text-align:left;cursor:pointer}
.npc-chat-privacy-toggle:hover{background:#174665}
.npc-chat-privacy-toggle[aria-expanded="true"] .npc-chat-privacy-arrow{transform:rotate(180deg)}
.npc-chat-privacy-arrow{display:inline-block;transition:transform .18s ease}
.npc-chat-privacy-toggle:not([hidden])+.npc-chat-privacy-details{padding-top:8px}
.npc-chat-privacy label{display:flex;gap:8px;align-items:flex-start;cursor:pointer;color:inherit;font-size:12px;font-weight:400;margin:0}
.npc-chat-privacy input{accent-color:#40c9ed;flex:none;margin-top:2px;width:17px;height:17px}
.npc-chat-privacy a{display:inline-block;color:#90e8ff;margin:7px 0 0 25px;text-decoration:underline}
.npc-chat-form{display:flex;align-items:flex-end;gap:5px;background:#fff;border:1px solid #a1d6e7;border-radius:12px;padding:5px}
.npc-chat-form textarea{display:block;flex:1;min-width:0;max-height:118px;min-height:37px;resize:none;overflow-y:auto;background:#fff!important;border:0!important;box-shadow:none!important;outline:none;color:#10283b!important;border-radius:7px;font:inherit;font-size:14px;line-height:1.4;padding:10px 7px;margin:0}
.npc-chat-form textarea::placeholder{color:#6c8190}
.npc-chat-icon{display:grid;place-items:center;flex:none;width:38px;height:38px;border:0;border-radius:10px;cursor:pointer;background:#e8f5fa;color:#0e4665;padding:8px}
.npc-chat-icon svg{width:21px;height:21px}.npc-chat-send{background:#0b79a4;color:white}.npc-chat-icon:disabled{opacity:.4;cursor:not-allowed}
.npc-chat-mic.is-recording{color:white;background:#b12337;animation:npc-chat-pulse 1.2s infinite}
@keyframes npc-chat-pulse{50%{box-shadow:0 0 0 5px #b1233740}}
@keyframes npc-chat-nudge-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.npc-chat-status{font-size:11px;color:#adcada;line-height:1.35;margin:8px 3px 0;min-height:14px}
.npc-chat-status.is-error{color:#ffc6c6}
.npc-chat-sr{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.npc-chat-widget button:focus-visible,.npc-chat-widget textarea:focus-visible,.npc-chat-widget input:focus-visible{outline:2px solid #68e7ff;outline-offset:2px}
@media(max-width:480px){.npc-chat-widget{right:12px;bottom:calc(12px + env(safe-area-inset-bottom))}.npc-chat-launcher{width:62px;height:62px}.npc-chat-nudge{right:0;bottom:74px;width:min(164px,calc(100vw - 24px))}.npc-chat-panel{bottom:74px;width:calc(100vw - 24px);height:min(580px,calc(100dvh - 104px));border-radius:16px}.npc-chat-messages{padding:12px}}
@media(prefers-reduced-motion:reduce){.npc-chat-launcher{transition:none}.npc-chat-nudge{animation:none}.npc-chat-mic.is-recording{animation:none}}

/* Mobil: kein iOS-Fokuszoom; Dialog folgt sichtbarem Bereich auch bei offener Tastatur. */
.npc-chat-form textarea{font-size:16px!important;-webkit-text-size-adjust:100%;touch-action:manipulation}
@media(max-width:700px){
  .npc-chat-widget{--npc-chat-visible-top:0px;--npc-chat-visible-height:100dvh}
  .npc-chat-panel{position:fixed;left:8px;right:8px;top:calc(var(--npc-chat-visible-top) + 8px);bottom:auto;width:auto;height:calc(var(--npc-chat-visible-height) - 16px);min-height:0;max-height:none;border-radius:14px}
  .npc-chat-head{flex:none;padding:9px 12px}
  .npc-chat-heading img{height:38px;width:38px}
  .npc-chat-messages{min-height:0;flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:12px}
  .npc-chat-bottom{flex:none;max-height:55%;overflow-y:auto;overscroll-behavior:contain;padding:8px 10px calc(8px + env(safe-area-inset-bottom))}
  .npc-chat-form textarea{min-height:40px;max-height:90px;padding:9px 7px}
  .npc-chat-icon{width:42px;height:42px}
}
@media(max-width:700px) and (max-height:430px){
  .npc-chat-head{padding:5px 10px}
  .npc-chat-heading img{width:30px;height:30px}
  .npc-chat-message{line-height:1.35}
  .npc-chat-bottom{max-height:65%}
}
