:root{--tbsj-blue:#0b57d0;--tbsj-blue-dark:#073b91;--tbsj-ink:#14213d;--tbsj-muted:#4b5872;--tbsj-border:#c9d2e3;--tbsj-bg:#fff;--tbsj-soft:#f3f6fb;--tbsj-focus:#ffbf47}.tbsj-job-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}.tbsj-job-card,.tbsj-popup-launcher{border:1px solid var(--tbsj-border);border-radius:18px;background:#fff;padding:24px;box-shadow:0 10px 28px rgba(20,33,61,.08)}.tbsj-card-actions{display:flex;gap:10px;flex-wrap:wrap}.tbsj-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:2px solid transparent;border-radius:10px;background:var(--tbsj-blue);color:#fff!important;padding:10px 18px;text-decoration:none!important;font-weight:700;cursor:pointer}.tbsj-btn:hover{background:var(--tbsj-blue-dark)}.tbsj-btn-secondary{background:#fff;color:var(--tbsj-blue)!important;border-color:var(--tbsj-blue)}.tbsj-btn:focus-visible,.tbsj-send:focus-visible,.tbsj-close-chat:focus-visible,.tbsj-answer:focus-visible,.tbsj-consent input:focus-visible{outline:4px solid var(--tbsj-focus);outline-offset:3px}.tbsj-modal[hidden]{display:none!important}.tbsj-modal{position:fixed;inset:0;z-index:999999;display:grid;place-items:center;padding:20px}.tbsj-modal-backdrop{position:absolute;inset:0;background:rgba(5,14,39,.72)}body.tbsj-modal-open{overflow:hidden}.tbsj-chat{position:relative;width:min(860px,100%);max-height:min(92vh,900px);display:flex;flex-direction:column;background:var(--tbsj-bg);color:var(--tbsj-ink);border-radius:20px;box-shadow:0 28px 90px rgba(0,0,0,.35);overflow:hidden}.tbsj-chat-head{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:18px 22px;background:linear-gradient(135deg,#052b67,#0868e8);color:#fff}.tbsj-avatar{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#fff;color:var(--tbsj-blue);font-size:1.6rem;font-weight:800}.tbsj-chat-head strong{display:block;font-size:1.6rem;line-height:1.15}.tbsj-chat-head span{display:block;margin-top:3px;color:#fff;font-size:1rem}.tbsj-close-chat{width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:#fff;font-size:2rem;cursor:pointer}.tbsj-close-chat:hover{background:rgba(255,255,255,.15)}.tbsj-progress{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:0;padding:16px 20px;list-style:none;border-bottom:1px solid var(--tbsj-border);background:#fff}.tbsj-progress li{position:relative;text-align:center;color:#5f6d86;font-size:.84rem;font-weight:700}.tbsj-progress li:before{content:'';display:block;width:28px;height:28px;margin:0 auto 6px;border:2px solid #aab5c8;border-radius:50%;background:#fff}.tbsj-progress li.is-active{color:var(--tbsj-blue)}.tbsj-progress li.is-active:before{border-color:var(--tbsj-blue);background:var(--tbsj-blue);box-shadow:inset 0 0 0 7px #fff}.tbsj-messages{min-height:260px;max-height:48vh;overflow:auto;padding:22px;background:#fff}.tbsj-msg{max-width:78%;padding:13px 16px;margin:10px 0;border-radius:16px;line-height:1.55;font-size:1rem;color:var(--tbsj-ink)}.tbsj-msg.bot{background:var(--tbsj-soft);border:1px solid #e1e6ef}.tbsj-msg.user{margin-left:auto;background:var(--tbsj-blue);color:#fff}.tbsj-msg.warning{background:#fff2cc;border-color:#e5bd4d}.tbsj-msg.note{background:#eef3f9}.tbsj-consent{margin-top:18px;padding:18px;background:#f7f8fb;border:1px solid var(--tbsj-border);border-radius:14px;color:var(--tbsj-ink)}.tbsj-consent label{display:flex;gap:12px;align-items:flex-start;font-weight:600}.tbsj-consent input{width:22px;height:22px;flex:0 0 auto;margin-top:1px}.tbsj-consent button{margin-top:12px}.tbsj-conversation{padding:16px 20px;border-top:1px solid var(--tbsj-border);background:#fff}.tbsj-input-row{display:grid;grid-template-columns:1fr 52px;gap:10px;align-items:end}.tbsj-answer{display:block;width:100%;box-sizing:border-box;min-height:52px;max-height:150px;padding:13px 14px;border:2px solid #9faec5;border-radius:14px;background:#fff;color:var(--tbsj-ink);font:inherit;resize:vertical}.tbsj-answer::placeholder{color:#65738d;opacity:1}.tbsj-send{width:52px;height:52px;border:0;border-radius:50%;background:var(--tbsj-blue);color:#fff;font-size:1.3rem;cursor:pointer}.tbsj-send:hover{background:var(--tbsj-blue-dark)}.tbsj-chat-hint{margin:9px 0 0;color:var(--tbsj-muted);font-size:.9rem}.tbsj-typing{margin:12px 0;color:#37445d;font-style:italic}.tbsj-result{padding:0 20px 16px;font-weight:700;color:var(--tbsj-ink)}.tbsj-chat-footer{display:flex;justify-content:center;gap:10px;padding:12px 20px;border-top:1px solid var(--tbsj-border);background:#f8fafc;font-size:.9rem}.tbsj-form[hidden],.tbsj-conversation[hidden]{display:none!important}.screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@media(max-width:640px){.tbsj-modal{padding:0}.tbsj-chat{width:100%;height:100%;max-height:none;border-radius:0}.tbsj-progress{padding:12px 8px}.tbsj-progress li{font-size:.68rem}.tbsj-msg{max-width:92%}.tbsj-chat-head{padding:14px}.tbsj-avatar{width:46px;height:46px}.tbsj-chat-head strong{font-size:1.3rem}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* TBS fix 2026-09-05: Neon Theme + Barrierefreiheit fuer TBS-Jobs */
body.tbs-affiliate-neon .tbsj-job-grid,
.tbsj-job-grid{
  width:min(1180px, calc(100vw - 3rem))!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(320px,1fr))!important;
  gap:1.25rem!important;
  align-items:stretch!important;
}
body.tbs-affiliate-neon .tbsj-job-card,
body.tbs-affiliate-neon .tbsj-popup-launcher,
.tbsj-job-card,
.tbsj-popup-launcher{
  background:linear-gradient(145deg,rgba(20,28,58,.98),rgba(12,17,38,.98))!important;
  color:#f3f7ff!important;
  border:1px solid rgba(0,225,255,.42)!important;
  border-radius:18px!important;
  box-shadow:0 0 28px rgba(0,225,255,.08)!important;
  padding:1.35rem!important;
}
.tbsj-job-card{min-height:240px!important;display:flex!important;flex-direction:column!important;padding:0!important;overflow:hidden!important;}
.tbsj-job-media{display:block!important;position:relative!important;aspect-ratio:16/10!important;overflow:hidden!important;background:#071021!important;border-bottom:1px solid rgba(0,225,255,.35)!important;}
.tbsj-job-media img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:center!important;margin:0!important;transition:transform .35s ease!important;}
.tbsj-job-card:hover .tbsj-job-media img{transform:scale(1.025)!important;}
.tbsj-job-card-body{display:flex!important;flex:1!important;flex-direction:column!important;padding:1.35rem!important;}
.tbsj-job-hero{width:min(1120px,100%)!important;margin:0 auto 2rem!important;overflow:hidden!important;border:1px solid rgba(0,225,255,.45)!important;border-radius:22px!important;background:#071021!important;box-shadow:0 18px 48px rgba(0,0,0,.24)!important;}
.tbsj-job-hero-image{display:block!important;width:100%!important;height:auto!important;max-height:700px!important;aspect-ratio:16/10!important;object-fit:cover!important;margin:0!important;}
.tbsj-overview-hero{width:min(1180px,calc(100vw - 3rem));margin:0 auto 1.5rem;overflow:hidden;border:1px solid rgba(0,225,255,.45);border-radius:24px;box-shadow:0 22px 60px rgba(0,0,0,.24)}
.tbsj-overview-hero img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.tbsj-job-card h3{margin:0 0 .75rem!important;line-height:1.25!important;}
.tbsj-job-card h3 a{color:#00e8ff!important;text-decoration:none!important;}
.tbsj-job-card h3 a:hover,.tbsj-job-card h3 a:focus{color:#ff38e8!important;text-decoration:underline!important;}
.tbsj-job-card p{color:#e7ecff!important;line-height:1.65!important;font-size:1rem!important;margin:.2rem 0 1.1rem!important;}
.tbsj-card-actions{margin-top:auto!important;display:flex!important;gap:.75rem!important;flex-wrap:wrap!important;}
.tbsj-btn{min-height:52px!important;padding:.85rem 1.05rem!important;border-radius:12px!important;background:linear-gradient(90deg,#a33cff,#00dfff)!important;color:#071021!important;border:0!important;font-weight:800!important;text-decoration:none!important;line-height:1.15!important;}
.tbsj-btn-secondary{background:#071021!important;color:#00e8ff!important;border:2px solid #00dfff!important;}
.tbsj-btn:focus-visible,.tbsj-job-card a:focus-visible{outline:4px solid #b6ff00!important;outline-offset:3px!important;}
.tbsj-chat,.tbsj-messages,.tbsj-conversation,.tbsj-progress,.tbsj-consent{color:#14213d!important;}
@media(min-width:1300px){.tbsj-job-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}}
@media(max-width:720px){.tbsj-job-grid,.tbsj-overview-hero{width:calc(100vw - 1.25rem)!important}.tbsj-job-grid{grid-template-columns:1fr!important}.tbsj-card-actions{flex-direction:column!important}.tbsj-btn{width:100%!important}}

/* Preserve hidden state against button and theme display rules. */
.tbsj-chat [hidden]{display:none!important}
.tbsj-messages{flex:1 1 auto;min-height:0;overflow:auto}
.tbsj-chat-head,.tbsj-progress,.tbsj-conversation,.tbsj-chat-footer,.tbsj-result{flex-shrink:0}
.tbsj-result:not(:empty){max-height:30vh;overflow:auto}
.tbsj-chat>.tbsj-btn{box-sizing:border-box;align-self:center;max-width:calc(100% - 40px);margin:0 20px 16px}
@media(max-width:640px){.tbsj-chat{height:100dvh}.tbsj-messages{max-height:none}.tbsj-chat-hint{font-size:.8rem}}
