/* KickScope 3.0 - Startseite (15.10.2026)
 *
 * Wird NUR von v21/pages/startseite.php geladen (nach v21.css + v21-next.css).
 * Alle Regeln haengen an .k3 bzw. body.ks3-home - keine andere Seite aendert sich.
 * Farben aus den vorhandenen Tokens (--panel, --border, --text-*, --gold),
 * damit Hell/Dunkel ueber v21-theme.js weiter funktioniert.
 * Cache: KS3_HOME_CSS_V in v21/pages/startseite.php hochzaehlen.
 */

.k3 {
  --k3-gold-1: #f3d68e;
  --k3-gold-2: #c99a3c;
  --k3-card: linear-gradient(180deg, rgba(17, 29, 47, .92), rgba(9, 17, 29, .96));
  --k3-line: rgba(172, 190, 212, .14);
  --k3-line-gold: rgba(226, 189, 101, .28);
  --k3-soft: rgba(255, 255, 255, .04);
  --k3-live: #ff3d5a;
  --k3-free: #34d17f;
  --k3-shadow: 0 18px 40px rgba(0, 0, 0, .35);
  width: min(100%, 1600px);
  margin: 0 auto;
  padding: 18px 28px 90px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  font-size: 15px;
}
:root[data-theme="light"] .k3 {
  --k3-card: #fff;
  --k3-line: rgba(47, 64, 85, .14);
  --k3-line-gold: rgba(167, 122, 32, .35);
  --k3-soft: rgba(23, 36, 53, .04);
  --k3-live: #d3243f;
  --k3-free: #1f9d5c;
  --k3-shadow: 0 10px 28px rgba(28, 43, 60, .10);
}
.k3 [hidden] { display: none !important; }
.k3 h2, .k3 h1 { margin: 0; }

/* ---------- Buttons ---------- */
.k3-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 9px;
  min-height: 40px; padding: 0 16px; border-radius: 10px;
  font-weight: 700; font-size: 14.5px; white-space: nowrap; cursor: pointer;
  border: 1px solid var(--k3-line); background: var(--k3-soft); color: var(--text-primary);
  transition: transform .16s ease, background .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.k3-btn:hover { transform: translateY(-1px); border-color: var(--k3-line-gold); }
.k3-btn.gold {
  border: 0; color: #1a1408;
  background: linear-gradient(180deg, var(--k3-gold-1), var(--k3-gold-2));
  box-shadow: 0 8px 24px rgba(226, 189, 101, .22), inset 0 1px 0 rgba(255, 255, 255, .45);
}
.k3-btn.gold:hover { box-shadow: 0 12px 30px rgba(226, 189, 101, .34), inset 0 1px 0 rgba(255, 255, 255, .45); }
.k3-btn.ghost { color: #fff; border: 1.5px solid rgba(243, 214, 142, .75); background: rgba(8, 14, 26, .45); backdrop-filter: blur(6px); }
.k3-btn.ghost:hover { background: rgba(243, 214, 142, .12); }
.k3-btn.gold-line { border-color: rgba(226, 189, 101, .55); color: var(--gold-text, var(--gold)); }
.k3-btn.lg { min-height: 54px; padding: 0 24px; font-size: 16.5px; border-radius: 10px; }
.k3-btn.sm { min-height: 34px; padding: 0 12px; font-size: 13px; border-radius: 8px; gap: 6px; }
.k3-btn.block { display: flex; width: 100%; }
.k3-btn svg:last-child:not(:first-child) { opacity: .85; }

/* ---------- HERO ---------- */
.k3-hero {
  position: relative; isolation: isolate; overflow: hidden;
  min-height: 430px; border-radius: 22px;
  display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center;
  /* Unten so viel Luft wie oben. Frueher 70px, weil die KPI-Leiste per negativer
     Margin ins Hero ragte und die runden Ecken verdeckte (15.10.2026 entfernt). */
  padding: 26px 48px 26px 64px;
  color: #f4f6fa; background: #070d18;
  border: 1px solid rgba(226, 189, 101, .16);
  box-shadow: var(--k3-shadow);
}
.k3-hero picture, .k3-hero-img { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -2; }
.k3-hero picture { left: -34%; width: 134%; }
.k3-hero-img { object-fit: cover; object-position: 50% 22%; transform: scale(1.02); animation: k3-zoom 18s ease-out both; }
@keyframes k3-zoom { from { transform: scale(1.07); } to { transform: scale(1.02); } }
.k3-hero::before {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background:
    radial-gradient(60% 80% at 92% 15%, rgba(243, 196, 92, .16), transparent 60%),
    linear-gradient(90deg, rgba(5, 10, 20, .97) 0%, rgba(5, 10, 20, .88) 30%, rgba(5, 10, 20, .25) 58%, rgba(5, 10, 20, .35) 82%, rgba(5, 10, 20, .82) 100%),
    linear-gradient(0deg, rgba(5, 10, 20, .92) 0%, transparent 34%);
}
.k3-hero-copy { max-width: 720px; display: flex; flex-direction: column; align-items: flex-start; }
.k3-eyebrow {
  color: var(--k3-gold-1); font-size: 13px; font-weight: 800; letter-spacing: .22em; text-transform: uppercase;
  margin-bottom: 14px;
}
.k3-hero h1 {
  font-family: "Segoe UI Black", "Segoe UI", Inter, system-ui, -apple-system, Arial, sans-serif;
  font-weight: 900; font-size: clamp(40px, 4.4vw, 74px); line-height: .98; letter-spacing: -.035em;
  color: #fff; text-wrap: initial; text-shadow: 0 6px 30px rgba(0, 0, 0, .45);
}
.k3-hero h1 em {
  font-style: normal;
  background: linear-gradient(180deg, #ffe29a 10%, #e0ac45 90%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.k3-hero-copy > p { margin: 18px 0 26px; font-size: 19px; line-height: 1.45; color: #dbe2ec; max-width: 620px; }
.k3-cta { display: flex; flex-wrap: wrap; gap: 14px; }
.k3-script {
  position: absolute; right: 212px; top: 34%; margin: 0;
  font-family: "KS Display", "Arial Narrow", sans-serif; font-weight: 700; font-style: italic;
  font-size: 36px; line-height: .95; text-transform: uppercase; letter-spacing: .01em;
  color: transparent; -webkit-text-stroke: 1.2px rgba(243, 214, 142, .9);
  transform: rotate(-14deg) skewX(-8deg); text-align: center;
  filter: drop-shadow(0 4px 18px rgba(0, 0, 0, .5));
}
.k3-script::after {
  content: ""; display: block; height: 3px; width: 80%; margin: 8px auto 0;
  background: linear-gradient(90deg, transparent, var(--k3-gold-1), transparent); border-radius: 3px;
}
.k3-hero-sports { display: flex; flex-direction: column; gap: 2px; align-self: start; margin-top: 10px; }
.k3-hero-sports a {
  display: flex; align-items: center; gap: 11px; padding: 6px 12px; border-radius: 9px;
  color: #e7ecf3; font-size: 14.5px; font-weight: 600; transition: background .15s, color .15s;
}
.k3-hero-sports a svg { color: #c6cfdb; flex: none; }
.k3-hero-sports a small {
  margin-left: auto; padding-left: 10px; color: var(--k3-gold-1); font-weight: 800; font-size: 12.5px;
  font-variant-numeric: tabular-nums;
}
.k3-hero-sports a:hover { background: rgba(255, 255, 255, .08); color: #fff; }
.k3-hero-sports a:hover svg { color: var(--k3-gold-1); }

/* ---------- KPI-Leiste ----------
 * Steht im normalen Fluss UNTER dem Hero; der Abstand kommt aus dem gap von .k3.
 * Keine negative Margin mehr - sie schob die Leiste ueber die unteren runden
 * Hero-Ecken. */
.k3-kpis {
  position: relative; margin: 0;
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px;
  padding: 12px; border-radius: 18px;
  background: rgba(7, 13, 24, .72); border: 1px solid var(--k3-line);
  backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
  box-shadow: var(--k3-shadow);
}
:root[data-theme="light"] .k3-kpis { background: rgba(255, 255, 255, .85); }
.k3-kpi {
  display: flex; align-items: center; gap: 16px; min-height: 86px; padding: 14px 18px;
  min-width: 0; border-radius: 13px; background: var(--k3-card); border: 1px solid var(--k3-line);
  transition: border-color .18s, transform .18s;
}
.k3-kpi:hover { border-color: var(--k3-line-gold); transform: translateY(-2px); }
.k3-kpi-ic { flex: none; color: var(--text-secondary); display: grid; place-items: center; }
.k3-kpi-ic.gold { color: var(--gold-text, var(--gold)); }
.k3-kpi-ic.live { color: var(--k3-live); }
.k3-kpi-main { display: flex; flex: 1 1 auto; align-items: center; gap: 16px; min-width: 0; }
.k3-kpi-txt { display: flex; flex: 0 1 auto; flex-direction: column; min-width: min-content; }
.k3-kpi-num {
  font-family: "Segoe UI", Inter, system-ui, sans-serif; font-weight: 800; font-size: 36px; line-height: 1;
  font-variant-numeric: tabular-nums; color: var(--text-primary); white-space: nowrap;
}
/* break-word statt anywhere: 'anywhere' setzt die Mindestbreite auf ein Zeichen - neben der
   Live-Zusammenfassung schrumpfte die Spalte dann auf null ("S p i e l e", 17.10.2026). */
.k3-kpi-txt > span:not(.k3-kpi-num) { margin-top: 5px; color: var(--text-secondary); font-size: 14.5px; overflow-wrap: break-word; }
.k3-kpi-side { margin-left: auto; display: flex; flex-direction: column; align-items: flex-end; gap: 6px; min-width: 0; }
.k3-kpi-side small { color: var(--text-secondary); font-size: 12.5px; text-align: right; overflow-wrap: break-word; }
.k3-kpi-side.row { flex-direction: row; align-items: center; flex-wrap: nowrap; gap: 6px; }
.k3-kpi-free { position: relative; flex-wrap: wrap; gap: 8px; }
.k3-kpi-free .k3-kpi-main { flex: 1 1 54%; gap: 12px; }
.k3-kpi-free .k3-kpi-side.row { flex: 0 1 38%; width: 38%; max-width: 38%; justify-content: flex-end; }
.k3-kpi-free.is-expanded .k3-kpi-side.row { flex: 1 1 100%; width: 100%; max-width: 100%; margin-left: 0; justify-content: flex-start; flex-wrap: wrap; }
.k3-kpi-free .k3-kpi-full-link { position: absolute; display: block; inset: 0; z-index: 1; border-radius: inherit; }
.k3-kpi-free .k3-kpi-full-link:focus-visible { outline: 2px solid var(--gold-text, var(--gold)); outline-offset: 2px; }
.k3-kpi-free .k3-kpi-main, .k3-kpi-free .k3-kpi-side { position: relative; z-index: 2; pointer-events: none; }
.k3-kpi-side .crest { width: 38px; height: 38px; box-shadow: 0 0 0 2px var(--panel); }
.k3-chpill {
  padding: 4px 8px; border-radius: 6px; font-size: 12px; font-weight: 800; letter-spacing: .02em;
  max-width: 100%; background: #fff; color: #10233d; line-height: 1.25; overflow-wrap: anywhere;
}
:root[data-theme="light"] .k3-chpill { background: #f3f6fa; border: 1px solid rgba(47, 64, 85, .22); }
.k3-more {
  display: inline-grid; place-items: center; min-width: 32px; height: 32px; padding: 0 6px;
  border-radius: 50%; border: 1px solid var(--k3-line); font-size: 12px; font-weight: 800; color: var(--text-secondary);
}
.k3-kpi-expand { position: relative; z-index: 3; flex: 0 0 auto; background: transparent; font-family: inherit; line-height: 1; white-space: nowrap; cursor: pointer; pointer-events: auto; }
.k3-kpi-expand:hover { border-color: var(--k3-line-gold); color: var(--gold-text, var(--gold)); }
.k3-kpi-expand:focus-visible { outline: 2px solid var(--gold-text, var(--gold)); outline-offset: 2px; }
.k3-hint { color: var(--gold-text, var(--gold)); font-weight: 700; font-size: 13.5px; display: inline-flex; align-items: center; gap: 5px; }
.k3-bars { margin-left: auto; height: 42px; display: flex; align-items: flex-end; gap: 3px; flex: none; }
.k3-bars i { display: block; width: 5px; border-radius: 2px; background: var(--k3-free); opacity: .9; }
.k3-bars i.past { opacity: .35; }
.k3-bars i.now { background: var(--k3-gold-1); box-shadow: 0 0 10px rgba(243, 214, 142, .6); }

.k3-badge-live {
  display: inline-flex; align-items: center; gap: 6px; padding: 3px 9px; border-radius: 6px;
  background: var(--k3-live); color: #fff; font-size: 12px; font-weight: 900; letter-spacing: .06em;
}
.k3-badge-live i { width: 7px; height: 7px; border-radius: 50%; background: #fff; animation: k3-puls 1.4s ease-in-out infinite; }
.k3-badge-live.sm { padding: 2px 8px; font-size: 11px; }
@keyframes k3-puls { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: .35; transform: scale(.7); } }

/* ---------- Karten-Raster ---------- */
.k3-row { display: grid; gap: 18px; align-items: stretch; }
.k3-row-a { grid-template-columns: minmax(0, 1.62fr) minmax(0, 1.05fr) minmax(250px, .56fr); }
.k3-row-b { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1.1fr) minmax(250px, .7fr); }
.k3-card {
  min-width: 0; padding: 18px 20px; border-radius: 16px;
  background: var(--k3-card); border: 1px solid var(--k3-line);
  box-shadow: var(--k3-shadow);
  display: flex; flex-direction: column;
}
.k3-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 14px; flex-wrap: wrap; }
.k3-head h2 {
  display: flex; align-items: center; gap: 10px;
  font-family: "Segoe UI", Inter, system-ui, sans-serif; font-weight: 800; font-size: 21px; letter-spacing: -.01em;
}
.k3-head h2 svg { color: var(--gold-text, var(--gold)); }
.k3-link { color: var(--gold-text, var(--gold)); font-size: 13.5px; font-weight: 700; display: inline-flex; align-items: center; gap: 5px; }
.k3-link:hover { text-decoration: underline; }
.k3-dot { width: 14px; height: 14px; border-radius: 50%; background: var(--k3-live); box-shadow: 0 0 0 5px rgba(255, 61, 90, .18); animation: k3-puls 1.6s ease-in-out infinite; }
.k3-count {
  display: inline-grid; place-items: center; min-width: 28px; height: 28px; border-radius: 50%;
  background: var(--k3-soft); border: 1px solid var(--k3-line); font-weight: 800; font-size: 13px;
}
.k3-empty { margin: 6px 0; color: var(--text-secondary); font-size: 14.5px; }
.k3-empty.sm { font-size: 13.5px; }
.k3-empty a, .k3-note a { color: var(--gold-text, var(--gold)); font-weight: 700; }
.k3-note { margin: 12px 0 0; color: var(--text-muted); font-size: 12.5px; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.k3-note a { display: inline-flex; align-items: center; gap: 4px; }

/* Chips + Tabs */
.k3-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.k3-chip, .k3-tab {
  display: inline-flex; align-items: center; gap: 8px; min-height: 36px; padding: 0 15px;
  border-radius: 999px; border: 1px solid var(--k3-line); background: var(--k3-soft);
  color: var(--text-secondary); font-size: 13.5px; font-weight: 650; cursor: pointer; white-space: nowrap;
  transition: background .15s, color .15s, border-color .15s;
}
.k3-chip span {
  display: inline-grid; place-items: center; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 999px;
  background: rgba(255, 255, 255, .09); color: var(--text-primary); font-size: 12px; font-weight: 800;
}
:root[data-theme="light"] .k3-chip span { background: rgba(23, 36, 53, .08); }
.k3-chip:hover, .k3-tab:hover { color: var(--text-primary); border-color: var(--k3-line-gold); }
.k3-chip.on, .k3-tab.on {
  color: #1a1408; border-color: transparent;
  background: linear-gradient(180deg, var(--k3-gold-1), var(--k3-gold-2));
}
.k3-chip.on span { background: rgba(26, 20, 8, .16); color: #1a1408; }
.k3-tabs { display: flex; gap: 8px; margin-bottom: 14px; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; }
.k3-tabs::-webkit-scrollbar { display: none; }
.k3-tab { min-height: 34px; padding: 0 14px; flex: none; }

/* ---------- Jetzt live ---------- */
.k3-live .k3-lc-grid { flex: 1; }
.k3-lc-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.k3-lc {
  position: relative; display: flex; flex-direction: column; gap: 12px; padding: 14px;
  border-radius: 13px; border: 1px solid var(--k3-line); background: rgba(255, 255, 255, .025);
  transition: transform .18s, border-color .18s, box-shadow .18s;
  animation: k3-in .4s ease both;
}
:root[data-theme="light"] .k3-lc { background: #f8fafc; }
.k3-lc.is-live { border-color: rgba(255, 61, 90, .42); box-shadow: inset 0 1px 0 rgba(255, 61, 90, .25); }
.k3-lc.is-fin { border-color: var(--k3-line); }
.k3-lc:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(0, 0, 0, .3); }
@keyframes k3-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.k3-lc-head { display: flex; align-items: center; gap: 9px; min-width: 0; }
.k3-lc-time { font-size: 15px; font-weight: 800; font-variant-numeric: tabular-nums; }
.k3-lc-comp { min-width: 0; flex: 1; color: var(--text-muted); font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.k3-soon {
  flex: none; padding: 3px 8px; border-radius: 6px; font-size: 11.5px; font-weight: 800;
  border: 1px solid var(--k3-line); color: var(--text-secondary);
}
.k3-lc-teams { display: flex; flex-direction: column; gap: 14px; padding: 6px 0; }
.k3-lc-team { display: flex; align-items: center; gap: 11px; min-width: 0; }
.k3-lc-team .crest { width: 34px; height: 34px; }
.k3-lc-name { flex: 1; min-width: 0; font-weight: 750; font-size: 16px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.k3-lc-team.solo .k3-lc-name { white-space: normal; }
.k3-sc { min-width: 20px; text-align: right; font-size: 19px; font-weight: 850; font-variant-numeric: tabular-nums; }
.k3-lc-meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 24px; }
.k3-lc-ch { display: inline-flex; align-items: center; gap: 6px; min-width: 0; color: var(--text-secondary); font-size: 12.5px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.k3-lc-ch em { font-style: normal; color: var(--text-muted); }
.k3-lc-ch.keine { color: var(--text-muted); }
.k3-lc-st {
  flex: none; padding: 3px 8px; border-radius: 6px; font-size: 12px; font-weight: 800;
  background: rgba(52, 209, 127, .15); color: var(--k3-free); border: 1px solid rgba(52, 209, 127, .4);
}
.k3-lc-st.fin { background: var(--k3-soft); color: var(--text-secondary); border-color: var(--k3-line); }
.k3-lc-foot { display: flex; gap: 6px; margin-top: auto; padding-top: 12px; border-top: 1px solid var(--k3-line); }
.k3-lc-foot .k3-btn { flex: 1 1 0; min-width: 0; padding: 0 8px; }
.k3-lc-foot .k3-btn.gold-line { flex-grow: 1.5; }
/* Zwischen 1280 und 1460 px waren die drei Live-Karten nur 163-195 px breit,
   die Knoepfe der Fussleiste liefen ueber (16.10.2026). Dort gilt deshalb
   dasselbe Layout wie unter 1280 px: "Jetzt live" ueber die volle Breite. */
@media (min-width: 1280px) and (max-width: 1460px) {
  .k3-row-a { grid-template-columns: minmax(0, 1fr) minmax(250px, .5fr); }
  .k3-row-a .k3-live { grid-column: 1 / -1; }
}

/* Plus-Knopf (Spielplan) */
.k3-plus {
  flex: none; width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%;
  border: 1.5px solid var(--k3-line-gold); background: transparent; color: var(--gold-text, var(--gold));
  cursor: pointer; transition: background .15s, transform .15s, color .15s;
}
.k3-plus.sq { width: 34px; height: 34px; border-radius: 8px; }
.k3-plus:hover { transform: scale(1.08); background: rgba(226, 189, 101, .12); }
.k3-plus .k3-p-ok { display: none; }
.k3-plus svg { overflow: visible; }
.k3-plus.on { background: linear-gradient(180deg, var(--k3-gold-1), var(--k3-gold-2)); color: #1a1408; border-color: transparent; }
.k3-plus.on .k3-p-ok { display: inline; }
.k3-plus.on .k3-p-plus { display: none; }

/* ---------- TV & Spielplan ---------- */
.k3-tv-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.k3-tv-row {
  display: grid; grid-template-columns: 46px 30px minmax(0, 1fr) auto 30px; align-items: center; gap: 12px;
  padding: 10px 6px; border-bottom: 1px solid var(--k3-line); border-radius: 8px;
  transition: background .15s;
}
.k3-tv-row:last-child { border-bottom: 0; }
.k3-tv-row:hover { background: var(--k3-soft); }
.k3-tv-row time { font-weight: 800; font-size: 15px; font-variant-numeric: tabular-nums; }
.k3-tv-row .crest { width: 28px; height: 28px; }
.crest.k3-sp { background: var(--k3-soft); color: var(--text-secondary); border: 1px solid var(--k3-line); }
.k3-tv-m { display: flex; flex-direction: column; min-width: 0; }
.k3-tv-m small { color: var(--text-muted); font-size: 11.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.k3-tv-t { font-size: 14.5px; font-weight: 750; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.k3-chtag {
  max-width: 130px; padding: 4px 9px; border-radius: 6px; font-size: 12px; font-weight: 800;
  border: 1px solid var(--k3-line); background: var(--k3-soft); color: var(--text-primary);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.k3-chtag.free { border-color: rgba(52, 209, 127, .45); color: var(--k3-free); }
.k3-tv-all { display: inline-flex; align-items: center; gap: 5px; margin-top: 10px; font-size: 13px; font-weight: 700; color: var(--gold-text, var(--gold)); }

/* ---------- Mein Spielplan ---------- */
.k3-plan-list { list-style: none; margin: 0 0 12px; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.k3-plan-list li {
  display: flex; align-items: center; gap: 10px; padding: 9px 8px 9px 12px; border-radius: 8px;
  border-left: 3px solid var(--k3-gold-2); background: var(--k3-soft);
}
.k3-plan-list li .crest { width: 26px; height: 26px; font-size: 9px; }
.k3-plan-list li > span:last-child { display: flex; flex-direction: column; min-width: 0; }
.k3-pl-t { font-size: 13.5px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.k3-plan-list small { color: var(--text-muted); font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.k3-plan-list li.k3-plan-more { border-left-color: var(--k3-line); color: var(--text-secondary); font-size: 13px; }
.k3-plan .k3-btn.block { margin-top: auto; }
.k3-plan .k3-head, .k3-mine .k3-head { flex-wrap: nowrap; }
.k3-plan .k3-head h2, .k3-mine .k3-head h2 { font-size: 19px; white-space: nowrap; }
.k3-mine .k3-tab { padding: 0 11px; font-size: 12.5px; }
.k3-mine .k3-tabs { gap: 6px; }
.k3-plan #k3PlanLeer { margin-bottom: 14px; }

/* ---------- Schlagzeilen ---------- */
.k3-news-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 14px; flex: 1; }
.k3-news-main {
  position: relative; overflow: hidden; min-height: 280px; border-radius: 12px; display: flex; align-items: flex-end;
  background: linear-gradient(135deg, #142339, #0a1220); color: #fff;
}
.k3-news-main img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.k3-news-main::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(4, 8, 16, .95) 8%, rgba(4, 8, 16, .45) 55%, rgba(4, 8, 16, .1)); }
.k3-news-main:hover img, .k3-news-small:hover img { transform: scale(1.05); }
.k3-news-main .k3-news-copy { position: relative; z-index: 1; padding: 18px; }
.k3-news-main .k3-news-t { display: block; font-weight: 700; font-size: 21px; line-height: 1.2; margin: 8px 0 6px; }
.k3-news-sum { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; color: #cfd7e3; font-size: 13.5px; }
.k3-news-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 9px; font-size: 12px; color: #b7c2d1; }
.k3-tag {
  padding: 3px 7px; border-radius: 4px; font-size: 10.5px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase;
  background: linear-gradient(180deg, var(--k3-gold-1), var(--k3-gold-2)); color: #1a1408;
}
.k3-symbol {
  position: absolute; z-index: 1; top: 10px; right: 10px; padding: 2px 7px; border-radius: 4px;
  background: rgba(4, 8, 16, .66); color: #dfe5ee; font-size: 10.5px; font-weight: 700;
}
.k3-symbol.sm { top: 5px; right: 5px; font-size: 9.5px; padding: 1px 5px; }
.k3-news-side { display: flex; flex-direction: column; gap: 12px; }
.k3-news-small {
  flex: 1; display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 12px; padding: 8px;
  border-radius: 12px; border: 1px solid var(--k3-line); background: var(--k3-soft); transition: border-color .15s;
}
.k3-news-small:hover { border-color: var(--k3-line-gold); }
.k3-news-thumb { position: relative; overflow: hidden; border-radius: 8px; min-height: 96px; background: linear-gradient(135deg, #142339, #0a1220); }
.k3-news-thumb img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.k3-news-small .k3-news-copy { display: flex; flex-direction: column; gap: 6px; min-width: 0; padding: 2px 0; }
.k3-news-small .k3-news-meta { color: var(--text-muted); }
.k3-news-small .k3-news-t { font-size: 14.5px; font-weight: 700; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

/* ---------- Tabellen ---------- */
.k3-table-box { overflow-x: auto; }
.k3-t { width: 100%; border-collapse: collapse; font-size: 13.5px; font-variant-numeric: tabular-nums; }
.k3-t th { padding: 6px 6px; color: var(--text-muted); font-size: 11.5px; font-weight: 700; text-align: center; border-bottom: 1px solid var(--k3-line); }
.k3-t td { padding: 9px 6px; text-align: center; border-bottom: 1px solid var(--k3-line); }
.k3-t tr:last-child td { border-bottom: 0; }
.k3-t .l { text-align: left; }
.k3-t tbody tr { transition: background .15s; }
.k3-t tbody tr:hover { background: var(--k3-soft); }
.k3-t td.rk { font-weight: 800; box-shadow: inset 3px 0 0 var(--k3-free); }
.k3-t tbody tr:nth-child(n+5) td.rk { box-shadow: inset 3px 0 0 #3b82f6; }
.k3-t td.pk { font-weight: 850; text-decoration: underline; text-underline-offset: 3px; }
.k3-tt { display: flex; align-items: center; gap: 9px; font-weight: 700; white-space: nowrap; }
.k3-tt img { width: 20px; height: 20px; object-fit: contain; }
.k3-t .nx-form i { width: 19px; height: 19px; font-size: 10px; border-radius: 4px; }

/* ---------- Mein KickScope ---------- */
.k3-mine-list, .k3-notif { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.k3-mine-list li { display: flex; align-items: center; gap: 10px; padding: 9px 2px; border-bottom: 1px solid var(--k3-line); }
.k3-mine-list li:last-child { border-bottom: 0; }
.k3-pair { display: flex; flex: none; }
.k3-pair .crest { width: 28px; height: 28px; font-size: 9px; box-shadow: 0 0 0 2px var(--panel); }
.k3-pair .crest + .crest { margin-left: -6px; }
.k3-mine-m { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.k3-mine-pair { font-size: 13.5px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.k3-mine-m small { color: var(--text-muted); font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.k3-bell {
  flex: none; width: 30px; height: 30px; display: grid; place-items: center; border-radius: 8px;
  border: 1px solid var(--k3-line-gold); color: var(--gold-text, var(--gold)); transition: background .15s;
}
.k3-bell:hover { background: rgba(226, 189, 101, .12); }
.k3-notif li { display: flex; gap: 10px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--k3-line); font-size: 13.5px; }
.k3-notif li svg { color: var(--gold-text, var(--gold)); flex: none; }
.k3-notif + .k3-btn { margin-top: 12px; }
.k3-mine-pitch {
  padding: 16px; border-radius: 12px; border: 1px dashed var(--k3-line-gold);
  background: radial-gradient(120% 120% at 100% 0%, rgba(226, 189, 101, .12), transparent 60%);
}
.k3-mine-pitch p { margin: 0 0 14px; color: var(--text-secondary); font-size: 14px; }
.k3-mine-pitch b { color: var(--text-primary); }
.k3-mine-cta { display: flex; gap: 8px; flex-wrap: wrap; }

/* ---------- So funktioniert KickScope (Infotext, 16.10.2026) ----------
 * Lesetext unter den Kacheln: begrenzte Zeilenlaenge, Links im Gold-Ton. */
.k3-info h2 { font-family: "Segoe UI", Inter, system-ui, sans-serif; font-size: 21px; font-weight: 800; letter-spacing: -.01em; margin-bottom: 14px; }
.k3-info-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 18px 28px; }
.k3-info h3 { margin: 0 0 6px; font-size: 16px; font-weight: 750; color: var(--text-primary); }
.k3-info p { margin: 0; max-width: 68ch; font-size: 14.5px; line-height: 1.6; color: var(--text-secondary); }
.k3-info a { color: var(--gold-text, var(--gold)); text-decoration: underline; text-underline-offset: 2px; text-decoration-thickness: 1px; }
.k3-info a:hover { text-decoration-thickness: 2px; }

/* ---------- Kopf (nur Startseite) ---------- */
body.ks3-home .mainnav a.active { background: transparent; }

/* ---------- Responsiv ---------- */
@media (max-width: 1440px) {
  .k3-script { right: 220px; font-size: 38px; }
  .k3-kpi-num { font-size: 32px; }
  .k3-kpi { gap: 12px; padding: 12px 14px; }
  .k3-bars i { width: 4px; }
}
@media (max-width: 1279px) {
  .k3-row-a { grid-template-columns: minmax(0, 1fr) minmax(250px, .5fr); }
  .k3-row-a .k3-live { grid-column: 1 / -1; }
  .k3-row-b { grid-template-columns: minmax(0, 1fr) minmax(250px, .62fr); }
  .k3-row-b .k3-news { grid-column: 1 / -1; }
  .k3-script { display: none; }
  .k3-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .k3-hero { grid-template-columns: 1fr; padding: 34px 40px; }
  .k3-hero picture { left: 0; width: 100%; }
  .k3-hero-img { object-position: 80% 22%; }
  .k3-hero-sports { flex-direction: row; flex-wrap: wrap; gap: 6px; margin-top: 22px; }
  .k3-hero-sports a { padding: 6px 10px; border: 1px solid rgba(255, 255, 255, .16); background: rgba(5, 10, 20, .55); font-size: 13px; }
  .k3-hero-sports a small { padding-left: 4px; }
}
@media (max-width: 900px) {
  .k3 { padding: 12px 14px 96px; gap: 14px; }
  .k3-hero { grid-template-columns: 1fr; padding: 28px 22px; min-height: 0; }
  .k3-hero::before {
    background: linear-gradient(0deg, rgba(5, 10, 20, .97) 10%, rgba(5, 10, 20, .7) 55%, rgba(5, 10, 20, .35)),
                linear-gradient(90deg, rgba(5, 10, 20, .8), transparent 80%);
  }
  .k3-hero picture { left: 0; width: 100%; }
  .k3-hero-img { object-position: 70% 20%; }
  .k3-hero-sports { flex-direction: row; flex-wrap: wrap; gap: 6px; margin-top: 20px; }
  .k3-hero-sports a { padding: 6px 10px; border: 1px solid rgba(255, 255, 255, .16); background: rgba(5, 10, 20, .5); font-size: 13px; }
  .k3-hero-sports a small { padding-left: 4px; }
  .k3-kpis { padding: 8px; gap: 8px; }
  .k3-row-a, .k3-row-b { grid-template-columns: minmax(0, 1fr); }
  .k3-lc-grid {
    grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(268px, 82%);
    overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 6px; scrollbar-width: thin;
  }
  .k3-lc { scroll-snap-align: start; }
  .k3-news-grid { grid-template-columns: minmax(0, 1fr); }
  .k3-news-main { min-height: 240px; }
}
@media (max-width: 600px) {
  .k3-hero h1 { font-size: 40px; }
  .k3-hero-copy > p { font-size: 16px; }
  .k3-hero-copy > p br { display: none; }
  .k3-btn.lg { min-height: 50px; padding: 0 18px; font-size: 15.5px; width: 100%; }
  .k3-cta { width: 100%; }
  .k3-kpi { flex-wrap: wrap; gap: 8px 10px; min-height: 0; padding: 12px; }
  .k3-kpi-main { flex: 1 1 100%; }
  .k3-kpi-free .k3-kpi-main { flex-basis: 100%; }
  .k3-kpi-free .k3-kpi-side.row { flex: 1 0 100%; width: 100%; max-width: 100%; margin-left: 0; justify-content: flex-start; }
  .k3-kpi-ic svg { width: 24px; height: 24px; }
  .k3-kpi-num { font-size: 26px; }
  .k3-kpi-txt > span:not(.k3-kpi-num) { font-size: 12.5px; }
  .k3-kpi-side, .k3-bars { margin-left: 0; width: 100%; }
  .k3-kpi-side { align-items: flex-start; }
  .k3-kpi-side.row { flex-wrap: wrap; }
  .k3-kpi-free:not(.is-expanded) .k3-kpi-side.row { flex-wrap: nowrap; }
  .k3-kpi-side .crest { width: 30px; height: 30px; }
  .k3-bars { height: 26px; justify-content: space-between; }
  .k3-card { padding: 16px 14px; }
  .k3-head h2 { font-size: 19px; }
  .k3-tv-row { grid-template-columns: 42px minmax(0, 1fr) 30px; gap: 10px; }
  .k3-tv-row .crest { display: none; }
  .k3-chtag { grid-column: 2; grid-row: 2; justify-self: start; margin-top: -4px; }
  .k3-tv-row .k3-plus { grid-row: 1 / span 2; grid-column: 3; }
  .k3-news-small { grid-template-columns: 92px minmax(0, 1fr); }
  .k3-t .w { display: none; }
}
@media (max-width: 380px) {
  .k3-kpis { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .k3 *, .k3 *::before, .k3 *::after { animation: none !important; transition: none !important; }
}
