/* Next Career Steps chat widget. All classes are prefixed ncs- so they cannot clash with style.css. */
.ncs-root{--ncs-green:var(--green,#2A6049);--ncs-green-light:var(--green-light,#EAF2EE);--ncs-ink:var(--ink,#0F0F0E);--ncs-muted:var(--muted,#6A6A66);--ncs-line:var(--line,rgba(15,15,14,.10));--ncs-bg:var(--bg,#F5F4F0);--ncs-surface:#fff;--ncs-on:#fff;--ncs-font:var(--f-body,'DM Sans',system-ui,sans-serif);--ncs-scrim:rgba(255,255,255,.14);font-family:var(--ncs-font);color:var(--ncs-ink);}
/* Dark theme: matches the single-page site (night blue with Germany gold). Switch on with data-theme="dark". */
.ncs-root.ncs-dark{--ncs-green:#F2B734;--ncs-green-light:rgba(242,183,52,.12);--ncs-ink:#EEF1F6;--ncs-muted:#93A0B8;--ncs-line:#22304A;--ncs-bg:#0A1220;--ncs-surface:#111C30;--ncs-on:#0A1220;--ncs-scrim:rgba(10,18,32,.16);}
.ncs-dark .ncs-launcher,.ncs-dark .ncs-panel{box-shadow:0 12px 36px rgba(0,0,0,.55);}
.ncs-dark .ncs-launcher:focus-visible,.ncs-dark .ncs-btn:focus-visible,.ncs-dark .ncs-chip:focus-visible,.ncs-dark .ncs-send:focus-visible,.ncs-dark .ncs-close:focus-visible{outline-color:#F2B734;}
.ncs-dark .ncs-input,.ncs-dark .ncs-lead input[type=text],.ncs-dark .ncs-lead input[type=tel],.ncs-dark .ncs-lead select{background:#0A1220;color:#EEF1F6;}
.ncs-dark .ncs-err{color:#ff8a76;}
.ncs-root *{box-sizing:border-box;}

.ncs-launcher{position:fixed;right:18px;bottom:18px;z-index:9998;display:flex;align-items:center;gap:8px;border:0;cursor:pointer;background:var(--ncs-green);color:var(--ncs-on);border-radius:999px;padding:13px 18px 13px 14px;font:600 .9rem/1 var(--ncs-font);box-shadow:0 8px 24px rgba(15,15,14,.22);transition:transform .15s ease,box-shadow .15s ease;}
.ncs-launcher:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(15,15,14,.26);}
.ncs-launcher:focus-visible,.ncs-btn:focus-visible,.ncs-chip:focus-visible,.ncs-send:focus-visible,.ncs-close:focus-visible{outline:3px solid #8fd1b3;outline-offset:2px;}
.ncs-launcher svg{width:22px;height:22px;flex:none;}
.ncs-nudge{position:fixed;right:18px;bottom:76px;z-index:9997;max-width:240px;background:var(--ncs-surface);border:1px solid var(--ncs-line);border-radius:14px 14px 4px 14px;padding:10px 30px 10px 12px;font-size:.84rem;line-height:1.35;box-shadow:0 8px 24px rgba(15,15,14,.14);cursor:pointer;}
.ncs-nudge button{position:absolute;top:4px;right:6px;border:0;background:none;font-size:1rem;cursor:pointer;color:var(--ncs-muted);}

.ncs-panel{padding:0;margin:0;position:fixed;right:18px;bottom:18px;z-index:9999;width:380px;max-width:calc(100vw - 24px);height:min(640px,calc(100vh - 36px));display:none;flex-direction:column;background:var(--ncs-bg);border:1px solid var(--ncs-line);border-radius:18px;overflow:hidden;box-shadow:0 18px 50px rgba(15,15,14,.28);}
.ncs-panel.ncs-open{display:flex;animation:ncs-pop .18s ease-out;}
@keyframes ncs-pop{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}

.ncs-head{display:flex;align-items:center;gap:10px;background:var(--ncs-green);color:var(--ncs-on);padding:12px 14px;}
.ncs-avatar{width:34px;height:34px;border-radius:50%;background:var(--ncs-scrim);display:grid;place-items:center;flex:none;font-weight:700;font-size:.8rem;}
.ncs-title{flex:1;min-width:0;line-height:1.2;}
.ncs-title strong{display:block;font-size:.95rem;}
.ncs-title span{font-size:.72rem;opacity:.85;}
.ncs-close{border:0;background:var(--ncs-scrim);color:var(--ncs-on);width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:1.1rem;line-height:1;}
.ncs-close:hover{filter:brightness(1.25);}

.ncs-actions{display:flex;gap:8px;padding:8px 12px;background:var(--ncs-surface);border-bottom:1px solid var(--ncs-line);}
.ncs-btn{flex:1;text-align:center;border:1px solid var(--ncs-line);background:var(--ncs-green-light);color:var(--ncs-green);border-radius:10px;padding:8px 6px;font:600 .78rem/1.1 var(--ncs-font);cursor:pointer;text-decoration:none;display:block;}
.ncs-btn.ncs-primary{background:var(--ncs-green);color:var(--ncs-on);border-color:var(--ncs-green);}
.ncs-btn:hover{filter:brightness(.96);}

.ncs-msgs{flex:1;overflow-y:auto;padding:14px 12px 6px;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth;}
.ncs-msg{max-width:88%;padding:10px 13px;border-radius:14px;font-size:.9rem;line-height:1.45;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere;}
.ncs-msg a{color:inherit;text-decoration:underline;font-weight:600;}
.ncs-bot{align-self:flex-start;background:var(--ncs-surface);border:1px solid var(--ncs-line);border-bottom-left-radius:4px;}
.ncs-user{align-self:flex-end;background:var(--ncs-green);color:var(--ncs-on);border-bottom-right-radius:4px;}
.ncs-typing{display:inline-flex;gap:4px;align-items:center;padding:13px 14px;}
.ncs-typing i{width:6px;height:6px;border-radius:50%;background:var(--ncs-muted);opacity:.5;animation:ncs-bounce 1s infinite;}
.ncs-typing i:nth-child(2){animation-delay:.15s}.ncs-typing i:nth-child(3){animation-delay:.3s}
@keyframes ncs-bounce{0%,80%,100%{transform:translateY(0)}40%{transform:translateY(-4px)}}
.ncs-rate{align-self:flex-start;display:flex;gap:6px;margin:-4px 0 0 4px;}
.ncs-rate button{border:0;background:none;cursor:pointer;font-size:.85rem;opacity:.5;padding:2px 4px;}
.ncs-rate button:hover,.ncs-rate button[aria-pressed=true]{opacity:1;}

.ncs-chips{display:flex;flex-wrap:wrap;gap:6px;padding:4px 12px 8px;}
.ncs-chip{border:1px solid var(--ncs-green);background:var(--ncs-surface);color:var(--ncs-green);border-radius:999px;padding:6px 11px;font:600 .78rem/1.1 var(--ncs-font);cursor:pointer;}
.ncs-chip:hover{background:var(--ncs-green-light);}

.ncs-form{display:flex;align-items:flex-end;gap:8px;padding:10px 12px;background:var(--ncs-surface);border-top:1px solid var(--ncs-line);}
.ncs-input{flex:1;border:1px solid var(--ncs-line);border-radius:12px;padding:10px 12px;font:400 .92rem/1.3 var(--ncs-font);background:var(--ncs-bg);color:var(--ncs-ink);resize:none;max-height:90px;}
.ncs-input:focus{outline:2px solid var(--ncs-green);outline-offset:0;}
.ncs-send{border:0;background:var(--ncs-green);color:var(--ncs-on);width:42px;height:42px;border-radius:12px;cursor:pointer;display:grid;place-items:center;flex:none;}
.ncs-send:disabled{opacity:.45;cursor:default;}
.ncs-send svg{width:18px;height:18px;}
.ncs-foot{padding:6px 12px 10px;background:var(--ncs-surface);font-size:.68rem;color:var(--ncs-muted);text-align:center;}

.ncs-lead{background:var(--ncs-surface);border:1px solid var(--ncs-line);border-radius:14px;padding:12px;align-self:stretch;display:flex;flex-direction:column;gap:8px;}
.ncs-lead h4{font-size:.92rem;margin:0;}
.ncs-lead label{font-size:.74rem;font-weight:600;color:var(--ncs-muted);display:block;margin-bottom:3px;}
.ncs-lead input[type=text],.ncs-lead input[type=tel],.ncs-lead select{width:100%;border:1px solid var(--ncs-line);border-radius:10px;padding:9px 10px;font:400 .9rem var(--ncs-font);background:var(--ncs-bg);}
.ncs-lead .ncs-consent{display:flex;gap:8px;align-items:flex-start;font-size:.74rem;line-height:1.35;color:var(--ncs-muted);}
.ncs-lead .ncs-consent input{margin-top:2px;}
.ncs-lead .ncs-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.ncs-lead .ncs-row{display:flex;gap:8px;}
.ncs-err{color:#a12a2a;font-size:.76rem;}

@media (max-width:520px){
  .ncs-panel{right:0;bottom:0;left:0;width:100%;max-width:100%;height:100dvh;max-height:100dvh;border-radius:0;border:0;}
  .ncs-launcher{right:12px;bottom:12px;}
  .ncs-input{font-size:16px;}
}
@media (prefers-reduced-motion:reduce){.ncs-panel.ncs-open,.ncs-typing i{animation:none}.ncs-msgs{scroll-behavior:auto}}
