/*
 * PARALLAX SYSTEM - Professional Implementation
 * Organized, maintainable, and performance-optimized
 */

/* ==========================================================================
   Base Parallax Classes
   ========================================================================== */

.parallax {
    position: absolute;
    width: 100%;
    height: 100vh;
    z-index: var(--z-parallax-bg, -2);
    background-repeat: no-repeat;
    background-size: cover;
    will-change: transform;
    backface-visibility: hidden;
    perspective: 1000px;
    transform-style: preserve-3d;
}

.parallaxLabel {
    z-index: var(--z-parallax-text, -1);
    will-change: transform;
    position: relative;
    backface-visibility: hidden;
    perspective: 1000px;
    transform-style: preserve-3d;
}

.parallaxContent {
    will-change: transform;
    transition: transform 0.1s ease-out;
    z-index: var(--z-content, 2);
    position: relative;
    background: inherit;
    backface-visibility: hidden;
    perspective: 1000px;
    transform-style: preserve-3d;
}

/* ==========================================================================
   Z-Index Management System
   ========================================================================== */

:root {
    --z-parallax-bg: -2;
    --z-parallax-text: -1;
    --z-header: 0;
    --z-content: 2;
    --z-navbar: 99;
    --z-loading: 999;
}

/* ==========================================================================
   Header Structure
   ========================================================================== */

.headerContainer {
    height: 100vh;
    background: transparent;
    z-index: var(--z-header);
    background-size: cover;
    position: relative;
}   

.navbarContainerLow {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--z-header);
    position: relative;
}

.navbarContainerLowContent {
    z-index: calc(var(--z-header) + 1);
    position: relative;
}

/* Ensure content sections stay above header */
section {
    z-index: var(--z-content);
    position: relative;
}

/* Debugging: Ensure all sections are visible */
.debug-sections section {
    border: 2px solid red !important;
    margin: 10px 0 !important;
}

.navbarjsTrigger {
    width: 100%;
    position: fixed;
    background-color: white;
    margin-top: -10px;
    z-index: var(--z-navbar);
    color: dark;
}

/* ==========================================================================
   Animation System
   ========================================================================== */

.contentAnimation {
    transform: translateY(340px);
    will-change: transform;
    transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.contentAnimation-active {
    animation: slideInUp 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

@keyframes slideInUp {
    from {
        transform: translateY(340px);
        opacity: 0;
    }
    to {
        transform: translateY(0px);
        opacity: 1;
    }
}

/* Animation for elements coming into view */
.animate-in {
    animation: fadeInUp 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ==========================================================================
   Enhanced Interactions
   ========================================================================== */

.hover-lift {
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    will-change: transform;
}

.hover-lift:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
}

/* ==========================================================================
   Performance Optimizations
   ========================================================================== */

/* Smooth scrolling */
html {
    scroll-behavior: smooth;
    margin: 0;
    padding: 0;
}

/* Optimize all parallax elements */
.parallax,
.parallaxLabel,
.parallaxContent {
    /* Reduce layout thrashing */
    contain: layout style paint;
}

/* ==========================================================================
   Responsive Design
   ========================================================================== */

@media (max-width: 768px) {
    .parallax,
    .parallaxLabel,
    .parallaxContent {
        transform: none !important;
    }
    
    .parallax {
        position: fixed;
    }
    
    /* Reduce animation complexity on mobile */
    .contentAnimation,
    .animate-in {
        animation-duration: 0.4s;
    }
}

@media (max-width: 480px) {
    .headerContainer {
        height: 100vh;
    }
    
    /* Further reduce animations on very small screens */
    .contentAnimation {
        transform: none;
        transition: none;
    }
}

/* ==========================================================================
   Accessibility
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
    .parallax,
    .parallaxLabel,
    .parallaxContent,
    .contentAnimation,
    .animate-in,
    .hover-lift {
        transform: none !important;
        animation: none !important;
        transition: none !important;
    }
    
    html {
        scroll-behavior: auto;
    }
}

/* ==========================================================================
   Loading States
   ========================================================================== */

.loading {
    position: fixed;
    width: 100%;
    height: 100vh;
    z-index: var(--z-loading);
    background: rgb(0, 0, 0);
    display: flex;
    justify-content: center;
    align-items: center;
}

.hide {
    display: none;
}

/* ==========================================================================
   Utility Classes
   ========================================================================== */

.responsive-video {
    width: 100%;
    height: auto;
    object-fit: cover;
}

.container-root {
    background-color: white;
    z-index: var(--z-loading);
}

/* Logo animation */
.logo > img {
    animation: logoFade 1.5s ease-in-out infinite;
    user-select: none;
}

@keyframes logoFade {
    0%, 100% { opacity: 0%; }
    10% { opacity: 10%; }
    25% { opacity: 25%; }
    50% { opacity: 100%; }
    65% { opacity: 75%; }
    80% { opacity: 25%; }
}

/* ==========================================================================
   Content Visibility Debug (Temporary)
   ========================================================================== */

/* Ensure all sections are visible */
section {
    min-height: auto;
    position: relative;
    z-index: 10;
}

/* Prevent excessive parallax transforms */
.parallaxContent {
    /* Limit the maximum transform distance */
    min-height: 50px;
}

/* Override any transforms that might hide content */
@media (max-width: 768px) {
    .parallaxContent {
        transform: none !important;
    }
}

/* ==========================================================================
    Parallax Implementation
   ========================================================================== */

/* Smooth, gentle parallax effects with professional limits */
.parallaxContent {
    /* Allow controlled parallax movement */
    opacity: 1 !important;
    visibility: visible !important;
    position: relative;
    
    /* Smooth transitions for better UX */
    transition: transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    
    /* Ensure content never goes completely off-screen */
    min-height: auto;
    overflow: visible;
}

/* Header parallax with more movement allowed */
.parallaxLabel {
    position: relative;
    transition: transform 0.15s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* safety constraints */
.parallax-safe-zone {
    /* Content within this zone will have limited movement - controlled by JS */
    position: relative;
    z-index: 1;
}

/* ==========================================================================
    Parallax States & Effects
   ========================================================================== */

.parallax-active {
    /* Applied when element is actively being transformed */
    transition: transform 0.1s ease-out;
}

.parallax-active:hover {
    /* Subtle pause effect on hover for better UX */
    transition: transform 0.3s ease-out;
}

/*  section spacing and visibility */
.parallaxContent {
    /* Ensure proper spacing and visibility */
    margin-bottom: 0;
    padding-top: 0;
}

/* Smooth scroll behavior for anchor links */
html {
    scroll-behavior: smooth;
    scroll-padding-top: 80px; /* Account for fixed header */
}

/* loading states */
.parallax-loading .parallaxContent {
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.6s ease-out;
}

.parallax-loaded .parallaxContent {
    opacity: 1;
    transform: translateY(0);
}

/* Enhanced performance optimization */
.parallax-optimized {
    contain: layout style paint;
    will-change: transform;
    transform-style: preserve-3d;
    backface-visibility: hidden;
}

/* ==========================================================================
   End Parallax
   ========================================================================== */

/* ==========================================================================
   End Debug Styles
   ========================================================================== */


   #teamClick {
    user-select: none;
    cursor: pointer;
    transition: .4s;
   }

   #teamClick:hover {
    color: red;
    
   }



   /* .footerContainerChild {
    width: 100%;
    height: 100%;
   } */

   /* footer {
    width: 100%;
    height: 100%;
    z-index: -1;
    background-image: linear-gradient(to top, rgba(0,0,0, .5), rgba(0,0,0, .8)), url('/assets/assets/images/bg.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
   } */

   footer {
    position: relative;
    z-index: 1;
    }

    footer::before {
    content: '';
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to top, rgba(0,0,0, .9), rgba(0,0,0, .5)), url('/assets/assets/images/bg.jpg');
    background-size: cover;
    background-position: center;
    filter: blur(12px);
    }


    #dumagueteButton {
        background-image: linear-gradient(145deg,rgb(17, 53, 172) 0%, #2a2a2a 100%);
    }


    .event-title {
      font-size: 2.5rem;
      font-weight: 700;
      text-align: center;
      margin: 40px 0;
    }
    .filter-buttons .btn {
      border-radius: 25px;
      margin: 5px;
    }
    .filter-buttons .btn.active {
      background-color: black;
      color: white;
    }
    .event-card {
      border-radius: 20px;
      overflow: hidden;
      border: 1px solid #ddd;
      margin-bottom: 20px;
    }
    .event-card img {
      object-fit: cover;
      height: 100%;
    }
    .tag {
      display: inline-block;
      background: #f2f2f2;
      padding: 5px 15px;
      border-radius: 20px;
      font-size: 0.875rem;
      font-weight: 500;
      margin-bottom: 10px;
    }
    .event-info {
      font-size: 0.9rem;
      color: #555;
    }
    .btn-ticket, .btn-details {
      border-radius: 25px;
    }