.kco-video-carousel { padding: 14px 0 4px; }
.kco-video-carousel .kco-video-stage { min-height: 0; padding: 12px 0 24px; }
.kco-video-carousel .kco-video-card {
  width: min(340px, 62vw);
  background: var(--white, #fffdf8);
  border: 1px solid var(--line, #0d11171f);
  box-shadow: 0 14px 38px #0d11171a;
  overflow: hidden;
}
.kco-video-carousel .kco-video-card.is-active { border-color: var(--gold, #f6bf36); }
.kco-video-carousel .kco-video-card.is-previous,
.kco-video-carousel .kco-video-card.is-next { pointer-events: auto; }
.kco-video-poster {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 9 / 16;
  background: #0d1117;
  overflow: hidden;
}
.kco-video-poster { padding: 0; border: 0; cursor: pointer; }
.kco-video-poster img, .kco-video-fallback img { width: 100%; height: 100%; object-fit: cover; }
.kco-video-play { position: absolute; inset: 0; display: grid; place-items: center; color: #fff; font-size: 55px; background: #0d11171a; }
.kco-video-fallback { position: relative; display: block; width: 100%; height: 100%; }
.kco-video-fallback span { position: absolute; inset: auto 14px 20px; padding: 14px; text-align: center; color: #0d1117; background: var(--gold, #f6bf36); font-weight: 800; }
.kco-video-copy { padding: 18px 20px; min-height: 153px; }
.kco-video-copy .eyebrow { font-size: 8px; }
.kco-video-copy h3 { min-height: 3.9em; margin: 10px 0 12px; font-size: 14px; line-height: 1.3; letter-spacing: -.025em; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.kco-video-copy a { color: #88600a; font: 600 10px 'DM Mono', monospace; text-underline-offset: 4px; }
.kco-video-carousel .center-carousel-controls [data-total] { min-width: 0; }
.kco-video-carousel .center-carousel-controls button { cursor: pointer; font-size: 24px; }
.kco-video-carousel button:disabled { cursor: default; opacity: .3; }
.kco-video-carousel :focus-visible { outline: 3px solid var(--gold, #f6bf36); outline-offset: 3px; }
.kco-video-status { text-align: center; color: var(--ink-muted); font-size: 12px; margin: 15px auto 0; max-width: 420px; }
.kco-video-status:empty { display: none; }
.kco-playlist-link { display: table; margin: 18px auto 0; color: var(--ink); font: 600 11px 'DM Mono', monospace; text-underline-offset: 5px; }
.kco-single-video .is-previous, .kco-single-video .is-next { visibility: hidden; }
@media (max-width: 600px) {
  .kco-video-carousel .kco-video-card { width: min(300px, 68vw); }
  .kco-video-copy { padding: 15px; min-height: 155px; }
  .kco-video-copy h3 { font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) {
  .kco-video-carousel * { animation: none !important; transition: none !important; }
}

/* Full-card dragging and an independent player with native controls. */
.kco-video-poster { touch-action: pan-y; }
.kco-video-play-main { background: transparent; }
.kco-video-dialog-open { overflow: hidden; }
.kco-video-dialog { width: min(410px, calc(100vw - 24px)); max-height: calc(100dvh - 24px); margin: auto; padding: 16px; color: #fffdf8; background: #0d1117; border: 1px solid var(--gold, #f6bf36); box-shadow: 0 25px 90px #0009; overflow: auto; }
.kco-video-dialog::backdrop { background: #070b12cf; backdrop-filter: blur(5px); }
.kco-video-dialog-heading { display: flex; align-items: center; gap: 14px; margin-bottom: 12px; }
.kco-video-dialog-heading h2 { flex: 1; margin: 0; font-size: 14px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.kco-video-close { flex: 0 0 38px; height: 38px; border: 1px solid #ffffff55; background: transparent; color: #fff; font-size: 26px; cursor: pointer; }
.kco-video-dialog-media { width: 100%; height: min(640px, calc(100dvh - 180px)); min-height: 200px; background: #000; }
.kco-video-dialog-media > div, .kco-video-dialog-media iframe { display: block; width: 100%; height: 100%; border: 0; }
.kco-video-dialog-link { display: inline-block; margin-top: 14px; color: var(--gold, #f6bf36); font: 600 11px 'DM Mono', monospace; text-underline-offset: 4px; }
.kco-video-dialog-status { font-size: 12px; line-height: 1.5; }
.kco-video-dialog-status:empty { display: none; }
.kco-video-dialog :focus-visible { outline: 2px solid var(--gold, #f6bf36); outline-offset: 3px; }
