/* Fun Zone Theme - Alberta Tradesman Entertainment */

/* ===== Fun Zone Color Variables ===== */
:root {
  /* Fun Zone Specific Colors */
  --color-fun-primary: #FF6B35;      /* Energetic Orange */
  --color-fun-secondary: #4ECDC4;    /* Playful Teal */
  --color-fun-accent: #FFE66D;       /* Happy Yellow */
  --color-fun-dark: #2C3E50;         /* Fun Dark Blue */

  /* Fun Gradients */
  --gradient-fun: linear-gradient(135deg, #FF6B35, #4ECDC4);
  --gradient-fun-alt: linear-gradient(135deg, #FFE66D, #FF6B35);
  --gradient-playful: linear-gradient(45deg, #4ECDC4, #FFE66D, #FF6B35);
}

/* ===== Fun Zone Hero Section ===== */
.hero {
  background: var(--gradient-fun);
  position: relative;
  overflow: hidden;
}

.hero::before {
  content: '🎮🔧⚡🎯🎲🏆';
  position: absolute;
  top: 20px;
  left: -100px;
  font-size: 3rem;
  opacity: 0.1;
  animation: fun-float 15s linear infinite;
  letter-spacing: 2rem;
}

@keyframes fun-float {
  0% { transform: translateX(-100px) rotate(0deg); }
  100% { transform: translateX(calc(100vw + 100px)) rotate(360deg); }
}

/* ===== Fun Zone Cards ===== */
.fun-card {
  background: rgba(255, 255, 255, 0.95);
  border-radius: 1.5rem;
  padding: 2rem;
  margin: 1rem;
  box-shadow: 0 10px 30px rgba(255, 107, 53, 0.2);
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.fun-card::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle, rgba(255, 107, 53, 0.1) 0%, transparent 70%);
  opacity: 0;
  transition: opacity 0.3s;
}

.fun-card:hover {
  transform: translateY(-10px) scale(1.02);
  box-shadow: 0 20px 40px rgba(255, 107, 53, 0.3);
}

.fun-card:hover::before {
  opacity: 1;
}

/* ===== Game Section Styling ===== */
.games-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2rem;
  padding: 2rem;
}

.game-item {
  background: var(--gradient-fun-alt);
  border-radius: 1rem;
  padding: 1.5rem;
  text-align: center;
  transition: all 0.3s ease;
  cursor: pointer;
}

.game-item:hover {
  transform: scale(1.05);
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2);
}

/* ===== Humor Hub Styling ===== */
.humor-section {
  background: linear-gradient(45deg,
    rgba(255, 230, 109, 0.2) 0%,
    rgba(78, 205, 196, 0.2) 50%,
    rgba(255, 107, 53, 0.2) 100%);
  border-radius: 2rem;
  padding: 3rem;
  margin: 2rem 0;
}

/* ===== Interactive Elements ===== */
.fun-button {
  background: var(--gradient-playful);
  border: none;
  border-radius: 50px;
  padding: 1rem 2rem;
  color: white;
  font-weight: bold;
  font-size: 1.1rem;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}

.fun-button:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
  background: var(--gradient-fun);
}

/* ===== Responsive Design ===== */
@media (max-width: 768px) {
  .games-grid {
    grid-template-columns: 1fr;
    padding: 1rem;
  }

  .fun-card {
    margin: 0.5rem;
    padding: 1.5rem;
  }

  .humor-section {
    padding: 2rem;
    margin: 1rem 0;
  }
}

/* ===== Accessibility ===== */
.fun-card:focus,
.game-item:focus,
.fun-button:focus {
  outline: 3px solid var(--color-fun-accent);
  outline-offset: 2px;
}

/* ===== Animation Utilities ===== */
@keyframes bounce-in {
  0% {
    opacity: 0;
    transform: scale(0.3);
  }
  50% {
    opacity: 1;
    transform: scale(1.05);
  }
  70% {
    transform: scale(0.9);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

.animate-bounce-in {
  animation: bounce-in 0.6s ease-out;
}