/* KATAI Videothek — Frontend (Design-Defaults: KATAI Kit "Antikgold x Sandstein") */

/* Theme-Resets (z.B. Hello Elementor) stylen button global (Farben, nowrap, Radius) — hier neutralisieren */
.kv-ep,.kv-grp-kopf,.kv-poster{white-space:normal;border-radius:0;font-size:inherit;line-height:inherit}
.kv-grp-kopf:hover,.kv-grp-kopf:focus{background:none;color:var(--kv-group,#836B3B)}
.kv-poster:hover,.kv-poster:focus{background:#1d1a17;color:inherit}
.kv-ep:focus{background:var(--kv-hover,rgba(198,162,90,.09));color:inherit}
.kv-ep:hover{color:inherit}
.kv-ep.kv-akt:focus,.kv-ep.kv-akt:hover{background:var(--kv-active,rgba(198,162,90,.16))}

.kv-wrap{display:flex;align-items:flex-start;gap:var(--kv-gap,36px);color:var(--kv-ink,#2A2521);width:100%}
/* Das umgebende Elementor-Widget immer auf volle Containerbreite strecken */
.elementor-widget:has(.kv-wrap){width:100%;max-width:100%}
.kv-list-left{flex-direction:row-reverse}
.kv-player-col{flex:0 0 var(--kv-player,62%);max-width:var(--kv-player,62%);min-width:0}
.kv-liste{flex:1;min-width:0}

/* ── Player ──
   Feste Bühne: das Medium liegt absolut im aspect-ratio-Rahmen und kann das
   Layout nie beeinflussen (Hochkant-Videos werden gerahmt statt zu sprengen). */
.kv-stage{position:relative;aspect-ratio:var(--kv-ratio,16/9);background:#1d1a17;overflow:hidden}
.kv-stage video,.kv-stage iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;border:0}
.kv-poster{position:absolute;inset:0;display:block;width:100%;height:100%;padding:0;border:none;background:#1d1a17;cursor:pointer}
.kv-poster img{width:100%;height:100%;object-fit:cover;display:block}
.kv-poster.kv-ohne{cursor:default}
/* Platzhalter-Bühne für Episoden ohne Video */
.kv-bald{position:absolute;inset:0;display:grid;place-items:center;background:#1d1a17}
.kv-bald img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.35}
.kv-bald span,.kv-poster .kv-bald-label{position:relative;font-family:'Raleway',sans-serif;font-size:11px;font-weight:600;
  text-transform:uppercase;letter-spacing:.18em;color:rgba(246,241,233,.85)}
.kv-poster .kv-bald-label{position:absolute;inset:0;display:grid;place-items:center}
.kv-play{position:absolute;inset:0;margin:auto;width:56px;height:56px;border-radius:50%;background:var(--kv-accent,#C6A25A);
  display:grid;place-items:center;box-shadow:0 10px 28px rgba(42,37,33,.35);transition:transform .3s}
.kv-poster:hover .kv-play{transform:scale(1.08)}
.kv-play svg{width:20px;height:20px;margin-left:2px;fill:#2A2521}
.kv-gruppe{display:inline-flex;align-items:center;gap:12px;margin-top:16px;
  font-family:'Raleway',sans-serif;font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.18em}
.kv-gruppe::before{content:"";width:34px;height:1px;background:var(--kv-accent,#C6A25A)}
.kv-titel{font-family:'Raleway',sans-serif;font-weight:400;font-size:var(--kv-title,24px);letter-spacing:-.01em;margin:8px 0 0}
.kv-text{margin-top:10px;max-width:56ch}
.kv-text p{margin:0;line-height:1.6}

/* ── Gruppen (zuklappbar) ── */
.kv-grp+.kv-grp{margin-top:14px}
.kv-grp-kopf{display:flex;align-items:center;gap:10px;width:100%;padding:6px 0;background:none;border:none;cursor:pointer;text-align:left;
  font-family:'Raleway',sans-serif;font-weight:700;font-size:10.5px;text-transform:uppercase;letter-spacing:.15em;color:var(--kv-group,#836B3B)}
.kv-grp-kopf::after{content:"";order:2;flex:1;height:1px;background:var(--kv-line,#E2D9CD)}
.kv-grp-name{order:1}
.kv-grp-zahl{order:3;color:var(--kv-mut,#867B6E);font-weight:600;letter-spacing:0}
.kv-chevron{order:4;width:15px;height:15px;flex:none;fill:none;stroke:var(--kv-group,#836B3B);stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.kv-offen .kv-chevron{transform:rotate(180deg)}
.kv-grp-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.2,.7,.2,1)}
.kv-offen .kv-grp-body{grid-template-rows:1fr}
.kv-grp-inner{overflow:hidden;min-height:0}

/* ── Episoden ── */
.kv-ep{display:grid;grid-template-columns:var(--kv-thumb,74px) 1fr auto;gap:12px;align-items:center;width:100%;
  padding:11px 8px;background:none;border:none;border-bottom:1px solid var(--kv-line,#E2D9CD);cursor:pointer;text-align:left;font:inherit;
  transition:background .35s ease,box-shadow .35s ease,transform .35s ease}
.kv-ep:hover{background:var(--kv-hover,rgba(198,162,90,.09));transform:translateY(-2px)}
.kv-ep.kv-akt{background:var(--kv-active,rgba(198,162,90,.16));box-shadow:inset 3px 0 0 var(--kv-accent,#C6A25A)}
.kv-ep-thumb{position:relative;width:var(--kv-thumb,74px);aspect-ratio:74/46;overflow:hidden;background:#1d1a17}
.kv-ep-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.kv-ep-titel{font-family:'Raleway',sans-serif;font-weight:600;font-size:var(--kv-ep-title,13.5px);color:var(--kv-ink,#2A2521);min-width:0}
.kv-ep-dauer{font-family:'Raleway',sans-serif;font-weight:600;font-size:11px;color:var(--kv-mut,#867B6E)}

/* ── Responsive ── */
@media (max-width:1024px){
  .kv-wrap{flex-direction:column}
  .kv-player-col{flex:1 1 auto;max-width:100%;width:100%}
  .kv-liste{width:100%}
}
@media (prefers-reduced-motion:reduce){
  .kv-grp-body,.kv-chevron,.kv-ep,.kv-play{transition:none}
}
