/* ParentGuidePlus - Custom CSS */
/* Emerald/Cyan theme matching Node.js version */

/* Spinner animation for loading states */
@keyframes spin {
  to { transform: rotate(360deg); }
}

/* Scrollbar hide utility */
.scrollbar-hide::-webkit-scrollbar { display: none; }
.scrollbar-hide { -ms-overflow-style: none; scrollbar-width: none; }

/* Line clamp */
.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Review tabs */
.review-tab {
  cursor: pointer;
  transition: all 0.2s ease;
  border-bottom: 2px solid transparent;
  background: none;
}
.review-tab:hover {
  color: #374151;
}
.review-tab.active {
  color: #047857;
  border-bottom-color: #059669;
}

/* Accordion transitions */
.accordion-content {
  transition: max-height 0.3s ease, opacity 0.2s ease;
  overflow: hidden;
}
.accordion-content.hidden {
  display: none;
}
.accordion-icon {
  transition: transform 0.2s ease;
}
.accordion-icon.rotate-180 {
  transform: rotate(180deg);
}

/* Smooth hover on cards */
a[href*="/review/"] {
  transition: all 0.2s ease;
}

/* Season carousel smooth scroll */
.overflow-x-auto {
  scroll-behavior: smooth;
}

/* Star ratings */
.text-amber-400 { color: #fbbf24; }
.text-gray-300 { color: #d1d5db; }

/* Content Rating Cards */
.content-rating-card {
  transition: all 0.2s ease;
}
.content-rating-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

/* Lightbox overlay */
.lightbox-overlay {
  animation: lightboxFadeIn 0.2s ease-out;
}
.lightbox-overlay.closing {
  animation: lightboxFadeOut 0.15s ease-in forwards;
}
.lightbox-content {
  animation: lightboxScaleIn 0.2s ease-out;
}

@keyframes lightboxFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes lightboxFadeOut {
  from { opacity: 1; }
  to { opacity: 0; }
}
@keyframes lightboxScaleIn {
  from { opacity: 0; transform: scale(0.95); }
  to { opacity: 1; transform: scale(1); }
}

/* Responsive poster heights */
@media (min-width: 640px) {
  .sm\:h-76 { height: 19rem; }
}
