/* Schlagwortsuche in der Ergebnisübersicht (03.11.2026, Variante 3 „Trefferseite“), Farben aus dem FIR-Block in styles.css */
.ks-ui { --ks-navy: var(--fir-navy, #011834); --ks-blue: #0067a6; --ks-mag: var(--fir-magenta, #dc1968); --ks-line: #cfd6dd; --ks-soft: #f3f4f5; }
#ks-bar { margin: -.4rem 0 1.6rem; }
.ks-box { position: relative; display: flex; align-items: center; min-width: 0; background: #fff; border: 2px solid #b9c2cb; transition: border-color .15s; }
.ks-box:hover { border-color: var(--ks-navy); }
.ks-box:focus-within { border-color: var(--ks-mag); }
.ks-ico { flex: 0 0 auto; width: 1.4rem; height: 1.4rem; margin-left: 1rem; fill: none; stroke: var(--ks-navy); stroke-width: 2.2; stroke-linecap: round; }
.ks-box:focus-within .ks-ico { stroke: var(--ks-mag); }
.ks-input { flex: 1; min-width: 0; border: 0; outline: 0; padding: .95rem 1rem .95rem .75rem; font: inherit; font-size: 1.05rem; color: #333; background: transparent; }
.ks-input::-webkit-search-cancel-button { display: none; }
.ks-input::placeholder { color: #6b747d; }
.ks-clear { border: 0; background: transparent; color: #55606b; font-size: 1.6rem; line-height: 1; padding: 0 1rem; cursor: pointer; }
.ks-clear:hover { color: var(--ks-mag); }
.ks-chips { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; margin-top: .7rem; }
.ks-chips-label { color: #55606b; margin-right: .2rem; }
.ks-chip { border: 1px solid var(--ks-line); background: #fff; color: var(--ks-navy); padding: .3rem .75rem; font: inherit; font-size: 1rem; cursor: pointer; }
.ks-chip:hover { border-color: var(--ks-mag); color: var(--ks-mag); }

mark.ks-m { background: #fbd3e3; color: inherit; padding: 0 .05em; box-shadow: 0 1px 0 var(--fir-magenta, #dc1968); }
.ks-flash { animation: ks-flash 2.2s ease-out; }
@keyframes ks-flash { 0%, 40% { box-shadow: 0 0 0 3px var(--fir-magenta, #dc1968); } 100% { box-shadow: 0 0 0 3px transparent; } }
@media (prefers-reduced-motion: reduce) { .ks-flash { animation: none; box-shadow: 0 0 0 3px var(--fir-magenta, #dc1968); } }

/* Trefferseite */
body.ks-showing #result-content > section.result-section:not(#ks-results) { display: none !important; }
.ks-tab { display: flex; align-items: center; justify-content: space-between; color: var(--fir-magenta, #dc1968) !important; }
.ks-tab .ks-count { display: inline-block; min-width: 1.6rem; margin-left: .6rem; padding: .05rem .45rem; background: var(--fir-magenta, #dc1968); color: #fff; font-size: .9rem; font-weight: 700; text-align: center; }
.ks-countline { margin: 0 0 .8rem; color: #55606b; }
.ks-filters { display: flex; flex-wrap: wrap; gap: .45rem; margin: 0 0 1.2rem; }
.ks-filter { border: 1px solid var(--ks-line); background: #fff; color: #333; padding: .4rem .85rem; font: inherit; font-size: 1rem; cursor: pointer; }
.ks-filter:hover { border-color: var(--ks-mag); color: var(--ks-mag); }
.ks-filter.is-on { background: var(--ks-navy); border-color: var(--ks-navy); color: #fff; }
.ks-group { margin-bottom: 1rem; }
.ks-group-head { display: flex; align-items: center; gap: .5rem; margin: 0 0 .4rem; padding: .35rem 0; border-bottom: 2px solid var(--ks-navy); color: var(--ks-navy); font-weight: 700; font-size: 1rem; text-transform: uppercase; letter-spacing: .04em; }
.ks-group-count { background: var(--ks-navy); color: #fff; font-size: .9rem; padding: .05rem .5rem; letter-spacing: 0; }
.ks-hit { display: block; width: 100%; margin-bottom: .4rem; padding: .8rem 1rem; text-align: left; border: 0; border-left: 4px solid #c3cad1; background: var(--ks-soft); font: inherit; color: #333; cursor: pointer; }
.ks-hit:hover { border-left-color: var(--ks-mag); background: #eceef0; }
.ks-hit-ctx { display: block; font-weight: 700; color: var(--ks-navy); margin-bottom: .1rem; }
.ks-hit-text { display: block; color: #444; line-height: 1.45; }
.ks-hit-go { display: block; margin-top: .25rem; color: var(--ks-blue); font-weight: 600; }
.ks-hit:hover .ks-hit-go { color: var(--ks-mag); }
@media print { .ks-ui { display: none !important; } mark.ks-m { background: none; box-shadow: none; } body.ks-showing #result-content > section.result-section:not(#ks-results) { display: block !important; } }
