body {
  font-family: "DM Sans", system-ui, sans-serif;
}

.material-symbols-outlined {
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
}

.candy-shadow-primary {
  box-shadow: 0 4px 16px rgba(224, 64, 160, 0.2);
}

.candy-shadow-secondary {
  box-shadow: 0 4px 16px rgba(124, 82, 170, 0.2);
}

.bouncy-hover {
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.bouncy-hover:hover:not(:disabled) {
  transform: scale(1.03);
}

.bouncy-hover:active:not(:disabled) {
  transform: scale(0.98);
}

.scrollbar-hide::-webkit-scrollbar {
  display: none;
}

.scrollbar-hide {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.genre-chip.is-active {
  background-color: #e040a0;
  color: #fff;
  box-shadow: 0 4px 16px rgba(224, 64, 160, 0.2);
}

.spinner {
  width: 1.5rem;
  height: 1.5rem;
  border: 2px solid #dcc8e0;
  border-top-color: #e040a0;
  border-radius: 50%;
  animation: spin 0.7s linear infinite;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .spinner {
    animation: none;
  }

  .bouncy-hover:hover:not(:disabled) {
    transform: none;
  }
}

.movie-card-btn {
  text-align: left;
  width: 100%;
}

.pill-shadow-primary {
  box-shadow: 0 4px 16px rgba(224, 64, 160, 0.2);
}

.pill-shadow-secondary {
  box-shadow: 0 4px 16px rgba(124, 82, 170, 0.2);
}

.detail-view {
  min-height: 100vh;
  background: #fef7ff;
}

.detail-view[hidden] {
  display: none !important;
}

#browseView[hidden] {
  display: none !important;
}

/* Tailwind .flex overrides the native [hidden] attribute */
#loading[hidden],
#errorState[hidden],
#welcome[hidden],
#resultsSection[hidden],
#pagination[hidden] {
  display: none !important;
}
