/* Match original Cinextma theme (HeroUI dark) */
:root {
  --background: #0D0C0F;
  --secondary-background: #18181B;
  --foreground: #fafafa;
  --primary: #006FEE;
  --warning: #f5a524;
  --muted-foreground: #71717a;
  --border: #27272a;
}

.bg-background { background-color: var(--background); }
.bg-secondary-background { background-color: var(--secondary-background); }
.text-foreground { color: var(--foreground); }
.text-muted-foreground { color: var(--muted-foreground); }
.text-primary { color: var(--primary); }
.text-warning { color: var(--warning); }
.border-background { border-color: var(--background); }
.border-secondary-background { border-color: var(--secondary-background); }
.border-primary { border-color: var(--primary); }
.hover\:border-primary:hover { border-color: var(--primary); }
.bg-primary { background-color: var(--primary); }
.bg-warning { background-color: var(--warning); }

/* Section title indicator (primary or warning) */
.section-indicator-primary { background-color: var(--primary); }
.section-indicator-warning { background-color: var(--warning); }

/* Poster aspect ratio */
.aspect-2\/3 { aspect-ratio: 2 / 3; }

/* Movie grid from original globals.css */
.movie-grid {
  display: grid;
  width: 100%;
  max-width: 72rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
  justify-content: center;
}
@media (min-width: 640px) {
  .movie-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
}
@media (min-width: 1024px) {
  .movie-grid { grid-template-columns: repeat(auto-fit, minmax(200px, 50px)); }
}

/* Horizontal scroll carousel */
.carousel-row {
  display: flex;
  overflow-x: auto;
  overflow-y: hidden;
  gap: 0.5rem;
  padding: 0.5rem 0;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}
.carousel-row > * { flex: 0 0 auto; scroll-snap-align: start; }

/* Gradient overlay on cards */
.bg-linear-to-t {
  background-image: linear-gradient(to top, rgba(0,0,0,0.8) 0%, transparent 100%);
}

/* Bottom nav spacer on mobile */
@media (max-width: 767px) {
  .main-with-bottom-nav { padding-bottom: 5rem; }
}

/* Animations & transitions (match original motion-preset-focus, group-hover) */
.transition-colors { transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease; }
.group:hover .group-hover\:scale-110 { transform: scale(1.1); }
.group:hover .group-hover\:opacity-70 { opacity: 0.7; }
.group:hover .group-hover\:opacity-100 { opacity: 1; }
.transition-opacity { transition: opacity 0.2s ease; }
.transition-all { transition: all 0.2s ease-in-out; }
.focus-ring:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }

/* Card hover play icon (like original) */
.poster-card-wrap { position: relative; overflow: hidden; }
.poster-card-wrap .play-overlay {
  position: absolute; inset: 0; z-index: 10;
  display: flex; align-items: center; justify-content: center;
  opacity: 0; transition: opacity 0.2s ease;
  background: rgba(0,0,0,0.2);
}
.poster-card-wrap:hover .play-overlay { opacity: 1; }
.poster-card-wrap img { transition: transform 0.3s ease; }
.poster-card-wrap:hover img { transform: scale(1.05); }

/* Backdrop scroll fade (original uses opacity from scroll) */
.backdrop-fade-cover { background: var(--background); transition: opacity 0.2s ease; }
