/* Bewusst eigene Komponenten für Filter, 3D-Karten und Dialoge. Divi-Rahmen bleibt nativ. */
/* Nur eigene klassische Wiki-/Reaktionsdetails: ruhige Lesebreite und Typografie. */
:is(.single-ejb_wissen,.single-ejb_argument) #main-content > .container { width:92%; max-width:820px; }
:is(.single-ejb_wissen,.single-ejb_argument) #main-content { background:#f3f5f9; }
:is(.single-ejb_wissen,.single-ejb_argument) #main-content article.et_pb_post { background:#fff; border:1px solid #dce3ed; border-radius:18px; padding:clamp(22px,4vw,38px); }
:is(.single-ejb_wissen,.single-ejb_argument) .entry-title { color:#202c55; font-size:clamp(30px,4vw,40px); font-weight:700; line-height:1.2; }
.ejb-knowledge-entry { font-size:18px; line-height:1.8; color:#202c55; }
/* Divis globale Beitragsregeln setzen H2 sonst auf 16 px. Nur die eigenen
 * Wissenseinträge erhalten hier eine klar erkennbare Zwischenüberschrift. */
:is(.single-ejb_wissen,.single-ejb_argument) #main-content .ejb-knowledge-entry h2 { font-size:clamp(24px,3vw,28px); line-height:1.3; margin:30px 0 14px; color:#202c55; }
.ejb-knowledge-entry :is(p,ul) { margin-bottom:20px; padding-bottom:0; }
:is(.single-ejb_wissen,.single-ejb_argument) #main-content .ejb-knowledge-entry a { overflow-wrap:anywhere; font-weight:700; color:#202c55; text-decoration:none; }
.ejb-knowledge-entry a:hover { background:#fff0bb; }
.ejb-knowledge-entry a:focus-visible { outline:3px solid #aa7300; outline-offset:3px; }
.ejb-knowledge-entry :is(ul,ol) { padding-left:24px; }
.ejb-library { color:#202c55; }
.ejb-library [hidden] { display:none !important; }
.ejb-library-controls { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto; gap:18px; align-items:end; padding:24px; border-radius:16px; background:#fff; border:1px solid #dce3ed; }
.ejb-library-controls label { display:block; font-size:14px; font-weight:700; margin-bottom:8px; }
.ejb-library-controls :is(input,select) { width:100%; box-sizing:border-box; min-height:48px; font-size:16px; padding:10px 12px; border:1px solid #abb7ca; border-radius:8px; background:#fff; color:#202c55; }
.ejb-library button { font:inherit; cursor:pointer; border-radius:8px; border:1px solid #d4dbe6; min-height:46px; padding:10px 15px; color:#202c55; background:#fff; font-weight:700; font-size:14px; }
.ejb-library :is(button,input,select,a,summary):focus-visible { outline:3px solid #aa7300; outline-offset:4px; }
.ejb-library-count { margin:20px 0; font-size:14px; }
.ejb-library-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr)); gap:24px; }
.ejb-library-card { min-width:0; background:#fff; border:1px solid #dce3ed; border-radius:18px; padding:26px; display:flex; flex-direction:column; gap:15px; }
.ejb-library-card h2 { font-size:25px; line-height:1.25; color:#202c55; margin:0; padding:0; overflow-wrap:anywhere; }
.ejb-library-card p { font-size:16px; line-height:1.7; padding:0; margin:0; }
.ejb-library-topic { color:#56647b; font-size:12px; font-weight:700; letter-spacing:.035em; line-height:1.5; display:block; }
.ejb-library-link { min-height:44px; margin-top:auto; font-weight:700; display:inline-block; padding-top:12px; }
.ejb-library-note { font-size:14px; margin-top:28px; line-height:1.7; }
.ejb-reaction { scroll-margin-top:calc(var(--wp-admin--admin-bar--height,0px) + 20px); padding:0; perspective:1200px; background:transparent; border:0; }
.ejb-reaction-turn { position:relative; min-height:520px; height:100%; transform-style:preserve-3d; transition:transform 420ms ease; cursor:pointer; }
.is-flipped .ejb-reaction-turn { transform:rotateY(180deg); }
.ejb-reaction-front,.ejb-reaction-back { box-sizing:border-box; border-radius:18px; border:1px solid #dce3ed; padding:26px; backface-visibility:hidden; -webkit-backface-visibility:hidden; display:flex; flex-direction:column; gap:18px; min-height:520px; height:100%; }
.ejb-reaction-front { background:#202c55; color:#fff; border-color:#202c55; }
.ejb-reaction-front h2 { color:#fff; }
.ejb-reaction-front .ejb-library-topic { color:#ffcf4d; }
.ejb-reaction-front button { background:#ffcf4d; border-color:#e8b833; margin-top:auto; align-self:flex-start; }
.ejb-reaction-hint { color:#e2e7f1; font-size:14px !important; }
.ejb-reaction-front .ejb-claim-description { color:#e2e7f1; font-size:15px; line-height:1.65; overflow-wrap:anywhere; }
.ejb-reaction-back { position:absolute; inset:0; background:#fff; color:#202c55; transform:rotateY(180deg); }
.ejb-reaction-back .ejb-library-topic { color:#56647b; }
.ejb-short-answer { min-height:0; overflow:auto; flex:1; scrollbar-width:thin; scrollbar-color:#7a879e #edf1f8; scrollbar-gutter:stable; overscroll-behavior:contain; font-size:17px !important; }
.ejb-reaction-actions { display:flex; flex-wrap:nowrap; align-items:center; gap:10px; }
.ejb-library .ejb-back-icon { display:inline-flex; flex:0 0 46px; width:46px; height:46px; padding:10px; align-items:center; justify-content:center; }
.ejb-reaction-actions .ejb-info { flex:1; min-width:0; }
.ejb-reaction-actions .ejb-info { background:#ffcf4d; border-color:#ffcf4d; }
.ejb-reaction-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.ejb-action-icons{display:flex;gap:6px;align-items:center;flex-shrink:0}
.ejb-reaction-toolbar>.ejb-library-topic{min-width:0;overflow-wrap:anywhere}
.ejb-library button.ejb-copy-answer { display:inline-flex; flex:0 0 46px; width:46px; height:46px; padding:10px; align-items:center; justify-content:center; background:#edf1f8; border-color:#cad3e3; }
.ejb-copy-answer .ejb-copy-check { display:none; }
.ejb-copy-answer.is-copied .ejb-copy-glyph { display:none; }
.ejb-copy-answer.is-copied .ejb-copy-check { display:block; }
.ejb-library .ejb-copy-answer.is-copied { color:#17694c; background:#e7f4ee; border-color:#78af94; }
.ejb-library button:disabled { opacity:.65; cursor:wait; }
.ejb-copy-dialog label { display:block; font-weight:700; margin:18px 0 8px; }
.ejb-copy-dialog textarea { box-sizing:border-box; width:100%; padding:14px; font:inherit; font-size:16px; line-height:1.6; color:#202c55; background:#f3f5f9; border:1px solid #abb7ca; border-radius:8px; resize:vertical; }
.ejb-copy-dialog textarea:focus-visible { outline:3px solid #aa7300; outline-offset:3px; }
.ejb-info span { display:inline-block; width:18px; line-height:18px; border:1px solid currentColor; border-radius:50%; margin-right:4px; text-align:center; }
.ejb-reaction-fallback { padding:26px; background:#fff; border-radius:18px; border:1px solid #dce3ed; }
.ejb-reaction-fallback summary { cursor:pointer; padding:14px 0; font-weight:700; }
.ejb-library-dialog { box-sizing:border-box; color:#202c55; background:#fff; width:min(820px,calc(100% - 32px)); max-height:88vh; max-height:88dvh; overflow:auto; padding:clamp(22px,4vw,42px); border:0; border-radius:18px; box-shadow:0 24px 80px #0004; }
.ejb-library-dialog::backdrop { background:rgb(14 23 47 / 58%); -webkit-backdrop-filter:blur(7px); backdrop-filter:blur(7px); }
.ejb-library-dialog{scrollbar-width:thin;scrollbar-color:#7a879e #edf1f8;scrollbar-gutter:stable;overscroll-behavior:contain}
.ejb-library-dialog::-webkit-scrollbar{width:6px}.ejb-library-dialog::-webkit-scrollbar-track{background:#edf1f8}.ejb-library-dialog::-webkit-scrollbar-thumb{background:#7a879e;border-radius:6px}
.ejb-library-dialog > button { display:block; margin:0 0 22px auto; }
.ejb-library-dialog h2 { margin:14px 0 24px; font-size:clamp(25px,4vw,34px); line-height:1.25; }
.ejb-library-detail { line-height:1.8; font-size:17px; }
.ejb-library-detail h3 { font-size:23px; margin:24px 0 12px; }
.ejb-library-detail :is(p,ul,ol) { margin-bottom:16px; }
.ejb-library-detail a { overflow-wrap:anywhere; font-weight:700; }

@media(max-width:640px) { .ejb-library-grid,.ejb-library-controls { grid-template-columns:minmax(0,1fr); } .ejb-reaction-turn,.ejb-reaction-front,.ejb-reaction-back { min-height:560px; } .ejb-library-controls { padding:20px; } }
@media(max-width:360px) { .ejb-reaction-turn,.ejb-reaction-front,.ejb-reaction-back { min-height:600px; } .ejb-reaction-actions { gap:6px; } .ejb-reaction-actions button { padding:10px; font-size:13px; } }
@media(prefers-reduced-motion:reduce) { .ejb-reaction-turn { transition:none; } }

/* Redaktionell gepflegte Grundlagen, ohne zusätzliche Suche oder Fremddienste. */
.ejb-related-wiki { flex-shrink:0; }
.ejb-related-wiki p { font-size:12px; line-height:1.4; margin:0 0 6px; color:#56647b; }
.ejb-related-wiki-links { display:flex; flex-wrap:wrap; column-gap:16px; row-gap:2px; }
.ejb-related-wiki-links a { display:inline-flex; align-items:center; min-height:28px; font-size:14px; font-weight:600; line-height:1.5; color:#202c55; text-decoration:none; overflow-wrap:anywhere; }
.ejb-related-wiki-links a::after { content:"→"; margin-left:5px; font-weight:400; }
.ejb-related-wiki-links a:hover { color:#795400; }
/* Native Scrollleisten bleiben schmal, aber kontrastreich. Kein Abschneiden
 * langer Antworten; sichtbarer Rand und Fokus nur bei echtem Überlauf. */
.ejb-short-answer::-webkit-scrollbar { width:6px; }
.ejb-short-answer::-webkit-scrollbar-track { background:#edf1f8; border-radius:6px; }
.ejb-short-answer::-webkit-scrollbar-thumb { background:#7a879e; border-radius:6px; }
.ejb-short-answer.has-overflow { padding-right:9px; }
.ejb-short-answer:focus-visible { outline:3px solid #aa7300; outline-offset:3px; }
.ejb-library .ejb-claim-label { font-size:14px; font-weight:600; color:#cbd4e7; margin-bottom:-10px; }
/* Der Divi-Textbereich setzt eine eigene Linkfarbe. Nur auf der blauen
 * Behauptungsseite überstimmen, damit der Quellenlink lesbar bleibt. */
.ejb-library .ejb-reaction-front a.ejb-claim-origin { display:inline-flex; align-items:center; align-self:flex-start; gap:6px; min-height:44px; color:#ffcf4d; font-size:14px; font-weight:600; text-decoration:none; }
.ejb-library .ejb-reaction-front a.ejb-claim-origin:hover { color:#fff; }
.ejb-library-card h2 { text-wrap:balance; }
.ejb-library-card p { text-wrap:pretty; }
.ejb-library-count { font-variant-numeric:tabular-nums; }
.ejb-library-controls { box-shadow:0 4px 18px rgb(32 44 85 / 4%); }
.ejb-library button { transition:background-color 140ms ease,border-color 140ms ease; }
.ejb-library button:hover { border-color:#8b98ae; }
.ejb-library button:active { background:#fff0bb; }
.ejb-knowledge-entry nav { padding:20px; margin:24px 0; background:#f3f5f9; border-left:3px solid #e8b833; border-radius:0 10px 10px 0; }
.ejb-knowledge-entry nav p,.ejb-knowledge-entry nav ul { margin-bottom:0; }
.ejb-knowledge-entry #einfach-erklaert + p { padding:20px; background:#fff7d9; border-radius:10px; }

/* Das Child-Theme legt einen zusätzlichen weißen 15-px-Rahmen um #left-area.
 * Die eigenen Artikel haben bereits eine Lesekarte; ein zweiter Rahmen würde
 * auf dem Handy 30 px nutzbare Breite kosten. Das Child-Theme erzwingt seinen
 * Rahmen per !important, daher hier ebenso eng begrenzt überschreiben. */
:is(.single-ejb_wissen,.single-ejb_argument) #left-area { width:100%; padding-right:0; float:none; border:0 !important; background:transparent !important; }
.ejb-reaction-back { cursor:default; }
.ejb-answer-scroll { position:relative; display:flex; flex:1; min-height:0; overflow:hidden; }
.ejb-answer-scroll .ejb-short-answer { min-width:0; cursor:text; }
.ejb-answer-scrollbar { position:absolute; top:2px; right:0; bottom:2px; width:5px; border-radius:5px; background:#e5eaf2; pointer-events:none; }
.ejb-answer-scrollbar > span { position:absolute; top:0; left:1px; right:1px; border-radius:4px; background:#7a879e; }
