/* Custom Animations and Styles for Vivaspin Casino */

/* Smooth Scrolling */
html {
  scroll-behavior: smooth;
}

/* Hide Scrollbar for Carousel */
.scrollbar-hide::-webkit-scrollbar {
  display: none;
}

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

/* Floating Card Animation */
@keyframes float {
  0%,
  100% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-10px);
  }
}

.floating-card {
  animation: float 6s ease-in-out infinite;
}

/* Pulse Glow Animation */
@keyframes pulse-glow {
  0%,
  100% {
    box-shadow: 0 0 20px rgba(0, 200, 83, 0.5);
  }
  50% {
    box-shadow: 0 0 40px rgba(0, 200, 83, 0.8), 0 0 60px rgba(0, 200, 83, 0.4);
  }
}

.pulse-glow {
  animation: pulse-glow 2s ease-in-out infinite;
}

/* Glow Border Animation */
@keyframes glow-border {
  0%,
  100% {
    box-shadow: 0 0 20px rgba(255, 215, 0, 0.6);
  }
  50% {
    box-shadow: 0 0 40px rgba(255, 215, 0, 1), 0 0 60px rgba(255, 215, 0, 0.6);
  }
}

.glow-border {
  animation: glow-border 2s ease-in-out infinite;
}

/* Carnival Pattern Background */
.carnival-pattern {
  background-image: repeating-linear-gradient(
    45deg,
    transparent,
    transparent 10px,
    rgba(255, 255, 255, 0.1) 10px,
    rgba(255, 255, 255, 0.1) 20px
  );
}

/* Carnival Button Hover Effect */
.carnival-button {
  position: relative;
  overflow: hidden;
  transition: all 0.3s ease;
}

.carnival-button::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
  transform: translate(-50%, -50%);
  transition: width 0.6s, height 0.6s;
}

.carnival-button:hover::before {
  width: 300px;
  height: 300px;
}

/* Shimmer Effect */
@keyframes shimmer {
  0% {
    background-position: -1000px 0;
  }
  100% {
    background-position: 1000px 0;
  }
}

.shimmer {
  background: linear-gradient(to right, transparent 0%, rgba(255, 255, 255, 0.3) 50%, transparent 100%);
  background-size: 1000px 100%;
  animation: shimmer 3s infinite;
}

/* Prose Styling for Readability */
.prose {
  color: #374151;
  line-height: 1.75;
}

.prose h1 {
  color: #1f2937;
  font-weight: 800;
  margin-bottom: 1rem;
}

.prose h2 {
  color: #1f2937;
  font-weight: 700;
  margin-top: 2rem;
  margin-bottom: 1rem;
}

.prose h3 {
  color: #374151;
  font-weight: 600;
  margin-top: 1.5rem;
  margin-bottom: 0.75rem;
}

.prose p {
  margin-bottom: 1.25rem;
}

.prose ul,
.prose ol {
  margin-bottom: 1.25rem;
  padding-left: 1.5rem;
}

.prose li {
  margin-bottom: 0.5rem;
}

.prose a {
  color: #00c853;
  text-decoration: underline;
  transition: color 0.2s;
}

.prose a:hover {
  color: #00a843;
}

.prose strong {
  color: #1f2937;
  font-weight: 600;
}

.prose blockquote {
  border-left: 4px solid #00c853;
  padding-left: 1rem;
  font-style: italic;
  color: #6b7280;
  margin: 1.5rem 0;
}

/* Responsive Table Styling */
table {
  border-collapse: collapse;
  width: 100%;
}

table th {
  font-weight: 600;
  text-align: left;
}

table td,
table th {
  padding: 0.75rem 1rem;
}

/* Parallax Effect for Hero */
@keyframes parallax-float {
  0%,
  100% {
    transform: translateY(0) scale(1);
  }
  50% {
    transform: translateY(-20px) scale(1.02);
  }
}

.parallax-hero {
  animation: parallax-float 8s ease-in-out infinite;
}

/* Tilt Effect on Hover */
.tilt-card {
  transition: transform 0.3s ease;
}

.tilt-card:hover {
  transform: perspective(1000px) rotateX(2deg) rotateY(2deg) scale(1.02);
}

/* Gradient Text */
.gradient-text {
  background: linear-gradient(135deg, #00c853, #ffd700, #ff69b4);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Confetti Animation */
@keyframes confetti-fall {
  0% {
    transform: translateY(-100vh) rotate(0deg);
    opacity: 1;
  }
  100% {
    transform: translateY(100vh) rotate(720deg);
    opacity: 0;
  }
}

.confetti {
  position: fixed;
  width: 10px;
  height: 10px;
  background: #ffd700;
  animation: confetti-fall 5s linear infinite;
}

/* Mobile Optimizations */
@media (max-width: 768px) {
  .floating-card {
    animation: none;
  }

  .carnival-button::before {
    display: none;
  }
}

/* Print Styles */
@media print {
  .no-print {
    display: none !important;
  }
}

/* Accessibility: Focus Styles */
a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
  outline: 3px solid #00c853;
  outline-offset: 2px;
}

/* Reduced Motion */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
