/* ============================================================
   MOMO Premier Fun World - Responsive Hero Hardening
   Applies to every page hero (shared include).
   ============================================================ */

/* Safe-area insets for notched / fullscreen devices (viewport-fit=cover) */
.hero-section .hero-content-wrapper {
  padding-left: max(1.5rem, env(safe-area-inset-left));
  padding-right: max(1.5rem, env(safe-area-inset-right));
}

.hero-section .hero-content-text {
  width: 100%;
  max-width: 900px;
}

/* Ensure background layers always cover without horizontal overflow */
.hero-section .hero-bg,
.hero-section .hero-slide {
  background-size: cover;
  background-position: center;
  min-width: 100%;
}

/* --- Small screens (< 768) --- */
@media (max-width: 767.98px) {
  .hero-section .hero-content-text {
    max-width: 100%;
  }

  .hero-section .hero-subtitle {
    max-width: 100%;
  }

  /* Stats bar should not force horizontal scroll on small screens */
  .hero-section .hero-stats {
    gap: 1.25rem 1rem;
    padding: 1.5rem 1rem;
  }

  .hero-section .hero-stats .stat-item {
    flex: 0 0 40%;
  }
}

/* --- Very small screens (< 400) --- */
@media (max-width: 400px) {
  .hero-section .hero-stats .stat-item {
    flex: 0 0 100%;
  }

  .hero-section .hero-buttons {
    flex-direction: column;
    align-items: stretch;
  }

  .hero-section .hero-buttons .btn {
    width: 100%;
  }
}

/* --- Short viewports (landscape phones) - prevent content/stats overlap --- */
@media (max-height: 520px) and (orientation: landscape) {
  .hero-section.hero-normal {
    min-height: 100vh;
    padding: 90px 0 60px;
  }

  .hero-section .hero-title {
    font-size: 1.6rem;
  }

  .hero-section .hero-subtitle {
    margin-bottom: 1.25rem;
  }

  .hero-section .hero-stats-wrapper {
    position: static;
    margin-top: 1.5rem;
  }

  .hero-section .hero-stats {
    border-top: none;
    padding-top: 0.75rem;
  }
}

/* --- Extra large screens --- */
@media (min-width: 1600px) {
  .hero-section .hero-content-text {
    max-width: 1000px;
  }

  .hero-section .hero-title {
    font-size: 3.5rem;
  }
}

/* --- Reduced motion: no entrance animation on hero --- */
@media (prefers-reduced-motion: reduce) {
  .hero-section .hero-title,
  .hero-section .hero-subtitle,
  .hero-section .hero-buttons,
  .hero-section .hero-content-text > * {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}
