/**
 * @file
 * Video playlist styles.
 */

/* Playlist item (thumbnail link) */
.hs-usa-playlist-item {
  display: block;
  padding: 0.75rem;
  margin-bottom: 0.5rem;
  border-radius: 0.25rem;
  border: 1px solid #dfe1e2;
  text-decoration: none;
  transition: all 0.2s ease;
  background-color: #fff;
}

.hs-usa-playlist-item:hover {
  background-color: #f0f0f0;
  border-color: #a9aeb1;
  text-decoration: none;
  box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.1);
  transform: translateY(-2px);
}

.hs-usa-playlist-item:focus {
  outline: 0.25rem solid #2491ff;
  outline-offset: 0;
}

.hs-usa-playlist-item:active {
  transform: translateY(0);
}

/* Active playlist item */
.hs-usa-playlist-item--active {
  background-color: #e7f6f8;
  border-left: 0.25rem solid #005ea2;
  padding-left: calc(0.75rem - 0.25rem);
  border-color: #005ea2;
  box-shadow: 0 0.125rem 0.25rem rgba(0, 94, 162, 0.2);
}

.hs-usa-playlist-item--active:hover {
  background-color: #d4edf4;
  border-color: #005ea2;
  transform: none;
}

/* Playlist thumbnail */
.hs-usa-playlist-thumb {
  width: 100%;
  max-width: 120px;
  height: auto;
  border-radius: 0.25rem;
  object-fit: cover;
  border: 1px solid #dfe1e2;
  transition: border-color 0.2s ease;
}

.hs-usa-playlist-item:hover .hs-usa-playlist-thumb {
  border-color: #71767a;
}

.hs-usa-playlist-item--active .hs-usa-playlist-thumb {
  border-color: #005ea2;
}

/* Playlist item title text */
.hs-usa-playlist-item .usa-prose {
  color: #1b1b1b;
  font-size: 0.9375rem;
  line-height: 1.4;
  margin: 0;
}

.hs-usa-playlist-item:hover .usa-prose {
  color: #005ea2;
}

.hs-usa-playlist-item--active .usa-prose {
  color: #005ea2;
  font-weight: 700;
}

/* Ensure playlist player maintains proper spacing */
.hs-usa-playlist-player {
  min-height: 400px;
  position: relative;
}

/* Loading state */
.hs-usa-playlist-loading {
  opacity: 0.6;
  pointer-events: none;
}

.hs-usa-playlist-loading::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 3rem;
  height: 3rem;
  margin: -1.5rem 0 0 -1.5rem;
  border: 0.25rem solid #dfe1e2;
  border-top-color: #005ea2;
  border-radius: 50%;
  animation: hs-usa-spinner 0.8s linear infinite;
}

@keyframes hs-usa-spinner {
  to {
    transform: rotate(360deg);
  }
}