/* ── Video panel ──────────────────────────────────────────────────────────── */

.video-panel {
  width: 100%;
}

.video-panel__wrapper {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: var(--radius-md);
  overflow: hidden;
  border: 1px solid var(--color-border);
  background: var(--color-surface-2);
}

.video-panel__wrapper iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: none;
}

/* ── Song-page body: two-column on desktop when video is present ──────────── */

.song-page__body {
  display: contents;
}

@media (min-width: 900px) {
  .song-page__body--with-video {
    display: grid;
    grid-template-columns: 1fr 400px;
    gap: var(--space-6);
    align-items: start;
  }

  .song-page__body--with-video .song-page__accordion-wrap {
    grid-column: 1;
    grid-row: 1;
  }

  .song-page__body--with-video .video-panel {
    grid-column: 2;
    grid-row: 1;
    position: sticky;
    top: var(--space-4);
  }

  .song-page-root--with-video {
    max-width: 1100px;
  }
}

/* ── Field error & help text ──────────────────────────────────────────────── */

.field__error {
  font-size: 0.8rem;
  color: var(--color-danger);
  display: none;
}

.field__error--visible {
  display: block;
}

/* ── Editor video preview ─────────────────────────────────────────────────── */

.editor-video-preview {
  /* used as a named container — VideoPanel appended here via JS */
}
