/* Custom Style Sheet for Shree Radhey Puran spiritual website */

:root {
  --color-primary: #F97316; /* Saffron Orange */
  --color-primary-dark: #EA580C;
  --color-accent: #D97706; /* Warm Amber */
  --color-gold: #F59E0B; /* Golden Yellow */
  --color-bg-light: #FAF9F6; /* Soft Ivory/Alabaster */
  --color-bg-dark: #0F172A; /* Deep slate for dark overlays */
  --font-serif: 'Playfair Display', Georgia, serif;
  --font-sans: 'Poppins', system-ui, -apple-system, sans-serif;
}

body {
  font-family: var(--font-sans);
  background-color: var(--color-bg-light);
  scroll-behavior: smooth;
}

.heading-serif {
  font-family: var(--font-serif);
}

/* Luxury Gold & Saffron Text */
.gold-text-gradient {
  background: linear-gradient(135deg, #F59E0B 0%, #D97706 50%, #B45309 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.saffron-gradient {
  background: linear-gradient(135deg, #FF7E40 0%, #EA580C 100%);
}

.gold-border {
  border-image: linear-gradient(to right, #F59E0B, #D97706) 1;
}

/* Glassmorphism Classes */
.glass-panel {
  background: rgba(255, 255, 255, 0.75);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.4);
}

.glass-panel-dark {
  background: rgba(15, 23, 42, 0.7);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

/* Custom Audio Player Widget */
.audio-widget {
  box-shadow: 0 10px 30px -10px rgba(217, 119, 6, 0.3);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.audio-widget:hover {
  transform: translateY(-4px);
  box-shadow: 0 15px 35px -5px rgba(217, 119, 6, 0.4);
}

/* Devotional Flute Floating/Pulsing Animation */
@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}

.animate-float {
  animation: float 4s ease-in-out infinite;
}

@keyframes spin-slow {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

.animate-spin-slow {
  animation: spin-slow 12s linear infinite;
}

/* Particle Background Effect for Hero */
.bg-gold-particles {
  position: relative;
}

.bg-gold-particles::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(245, 158, 11, 0.1) 1px, transparent 1px);
  background-size: 24px 24px;
  pointer-events: none;
  opacity: 0.7;
}

/* Horizontal tab line */
.tab-active {
  color: var(--color-primary);
  border-bottom: 2px solid var(--color-primary);
}

/* Elegant Cards */
.spiritual-card {
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  border: 1px solid rgba(217, 119, 6, 0.1);
}

.spiritual-card:hover {
  transform: translateY(-8px) scale(1.02);
  border-color: rgba(245, 158, 11, 0.4);
  box-shadow: 0 20px 40px -15px rgba(217, 119, 6, 0.15);
}

/* Custom scrollbar */
::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background: var(--color-bg-light);
}
::-webkit-scrollbar-thumb {
  background: #E2E8F0;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: var(--color-gold);
}

/* FAQ accordion animation */
.faq-content {
  transition: max-height 0.4s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease-out;
}

/* Video Frame Play Button overlay */
.play-overlay {
  background: rgba(15, 23, 42, 0.4);
  transition: background 0.3s ease;
}

.group:hover .play-overlay {
  background: rgba(15, 23, 42, 0.6);
}

/* Minimized Floating Audio Widget Style */
#audioWidget.minimized {
  max-width: 56px !important;
  width: 56px !important;
  height: 56px !important;
  border-radius: 9999px !important;
  padding: 4px !important;
  overflow: hidden;
  justify-content: center;
  align-items: center;
  box-shadow: 0 10px 25px -5px rgba(217, 119, 6, 0.4);
}

#audioWidget.minimized .audio-full-controls {
  display: none !important;
}

#audioWidget.minimized .audio-minimized-trigger {
  display: flex !important;
}

.audio-minimized-trigger {
  display: none;
}

/* Cart drawer backdrop transition */
#cartBackdrop.show {
  opacity: 1;
}

/* ========================= */
/* MOBILE RESPONSIVE FIXES   */
/* ========================= */

/* Audio widget: constrain on small screens */
@media (max-width: 639px) {
  #audioWidget {
    max-width: 280px !important;
    left: 8px !important;
    bottom: 8px !important;
    padding: 10px !important;
    border-radius: 20px !important;
  }

  #audioWidget .audio-full-controls .flex.items-center.justify-between {
    gap: 6px;
  }

  /* Autoplay alert banner: reposition for mobile */
  #audioAutoplayAlert {
    top: auto !important;
    bottom: 72px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    max-width: 90vw;
    font-size: 10px;
    padding: 8px 14px;
  }

  /* Hero heading smaller on mobile */
  .hero-mobile-heading {
    font-size: 2.5rem !important;
    line-height: 1.15 !important;
  }

  /* Chapter tab buttons scroll horizontally */
  .chapter-tabs-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    padding-bottom: 4px;
    scrollbar-width: none;
  }
  .chapter-tabs-scroll::-webkit-scrollbar {
    display: none;
  }
  .chapter-tabs-scroll button {
    flex-shrink: 0;
    font-size: 11px;
    padding: 10px 12px !important;
  }

  /* Payment modal: grid fixes */
  .payment-grid-3 {
    grid-template-columns: 1fr !important;
  }
}

/* Medium mobile (375px and below) */
@media (max-width: 374px) {
  #audioWidget {
    max-width: 240px !important;
  }

  #audioWidget #audioVolume {
    width: 48px !important;
  }
}
