.js-video-playlist .editor-styles-wrapper {
  min-height: 104px;
}

.js-video-playlist .editor-styles-wrapper p {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.editor-styles-wrapper .js-video-description-row + .js-video-description-row {
  margin-top: 8px;
}

.js-video-player,
.js-video-player-single {
  width: 100%;
  aspect-ratio: 16 / 9;
}
/*
|--------------------------------------------------------------------------
| Block: Video
|--------------------------------------------------------------------------
*/

.js-video-playlist-episodes {
  width: 100%;
  max-width: none;
  max-height: 320px;
  overflow-y: auto;
  padding-right: 16px;
}

@media (min-width: 768px) {
  .js-video-playlist-episodes {
    width: 100%;
    max-height: 368px;
  }
}

/* QA ID 258/259: su desktop niente altezza fissa — la lista episodi riempie
   in assoluto la colonna (self-stretch sulla riga della playlist), sotto
   l'etichetta "Episodi" (32px + gap 16px), e scorre solo se serve. */
@media (min-width: 1280px) {
  .js-video-playlist-episodes {
    position: absolute;
    inset: 48px 0 0 0;
    width: 384px;
    max-width: 384px;
    max-height: none;
    padding-right: 12px;
  }
}

.js-video-playlist-episodes::-webkit-scrollbar {
  width: 4px;
}

/* QA ID 255: come la scrollbar dei pattern — traccia grigia 2px, thumb primary 4px */
.js-video-playlist-episodes::-webkit-scrollbar-track {
  background: linear-gradient(to right, transparent 25%, #8b8b99 25%, #8b8b99 75%, transparent 75%);
}

.js-video-playlist-episodes::-webkit-scrollbar-thumb {
  background: var(--color-primary, #0072ce);
  border-radius: 1px;
}

.js-video-tab.is-active {
  border-color: var(--color-primary, #0072ce);
}

.js-video-tab:hover:not(.is-active),
.js-video-tab:focus-visible:not(.is-active) {
  background: #edf7ff;
}

.js-video-tab:focus-visible {
  border-color: var(--color-primary, #0072ce);
  outline: none;
}
