/* Mobile Alignment Fixes */

@media (max-width: 768px) {
    /* Navigation fixes */
    .navbar {
        padding: 15px 0 !important;
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        z-index: 1000 !important;
        background: rgba(0, 0, 0, 0.95) !important;
        backdrop-filter: blur(10px) !important;
        box-sizing: border-box !important;
    }
    
    .nav-container {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0 20px !important;
        position: relative;
        height: 60px !important;
        max-width: 100% !important;
    }
    
    .nav-brand {
        position: absolute !important;
        left: 50% !important;
        top: 50% !important;
        transform: translate(-50%, -50%) !important;
    }
    
    .logo-circle {
        width: 60px !important;
        height: 60px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
    }
    
    .nav-logo {
        width: 40px !important;
        height: 40px !important;
    }
    
    .logo-ring {
        display: none !important;
    }
    
    /* Hide desktop nav menus on mobile */
    .nav-menu {
        display: none !important;
    }
    
    .nav-left, .nav-right {
        display: none !important;
    }
    
    .mobile-menu-toggle {
        position: relative !important;
        transform: none !important;
        margin: 0 !important;
        width: 30px !important;
        height: 24px !important;
        z-index: 1001 !important;
        display: block !important;
        background: none !important;
        border: none !important;
        cursor: pointer !important;
        padding: 0 !important;
    }
    
    .mobile-menu-toggle span {
        display: block !important;
        width: 30px !important;
        height: 3px !important;
        background: white !important;
        transition: all 0.3s ease !important;
        position: absolute !important;
        left: 0 !important;
    }
    
    .mobile-menu-toggle span:nth-child(1) {
        top: 0 !important;
    }
    
    .mobile-menu-toggle span:nth-child(2) {
        top: 10px !important;
    }
    
    .mobile-menu-toggle span:nth-child(3) {
        top: 20px !important;
    }
    
    /* Hero section mobile */
    .hero {
        min-height: 100vh;
        padding: 0 20px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        position: relative !important;
    }
    
    .hero-content {
        padding: 0 !important;
        text-align: center !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        margin-top: 0 !important;
        position: absolute !important;
        top: 20% !important;
        left: 50% !important;
        transform: translate(-50%, -50%) !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    
    .hero-title {
        font-size: 3.5rem !important;
        line-height: 1 !important;
        margin-top: 0 !important;
        margin-bottom: 15px !important;
        word-wrap: break-word;
    }
    
    .hero-subtitle {
        font-size: 0.75rem !important;
        line-height: 1.4 !important;
        padding: 0 10px !important;
        margin-bottom: 30px !important;
    }
    
    .cta-group {
        padding: 0 !important;
        width: 100% !important;
        max-width: 300px !important;
        margin: 0 auto !important;
    }
    
    .cta-neon, .cta-outline {
        width: 100% !important;
        padding: 15px 20px !important;
        font-size: 0.85rem !important;
    }
    
    /* Upcoming Events mobile */
    .upcoming-events {
        padding: 60px 0 !important;
    }
    
    .container {
        padding: 0 15px !important;
    }
    
    .section-header {
        margin-bottom: 30px !important;
    }
    
    .section-title {
        font-size: 2rem !important;
        line-height: 1.2 !important;
    }
    
    .event-spotlight {
        padding: 30px 15px !important;
        border-radius: 10px !important;
    }
    
    .spotlight-content {
        padding: 0 !important;
        text-align: center !important;
    }
    
    .event-name {
        font-size: 1.5rem !important;
        margin-bottom: 20px !important;
    }
    
    .event-date-large {
        display: flex !important;
        justify-content: center !important;
        align-items: baseline !important;
        gap: 10px !important;
        margin: 20px 0 !important;
    }
    
    .event-date-large .date {
        font-size: 2.5rem !important;
        line-height: 1 !important;
    }
    
    .event-date-large .month,
    .event-date-large .year {
        font-size: 0.9rem !important;
    }
    
    .event-teaser {
        font-size: 0.95rem !important;
        line-height: 1.5 !important;
        padding: 0 10px !important;
        margin-bottom: 20px !important;
    }
    
    .status-badge {
        font-size: 0.75rem !important;
        padding: 8px 15px !important;
    }
    
    /* Newsletter section mobile */
    .newsletter-section {
        padding: 30px 15px !important;
        margin-top: 30px !important;
    }
    
    .newsletter-section h4 {
        font-size: 1.2rem !important;
        margin-bottom: 10px !important;
    }
    
    .newsletter-section p {
        font-size: 0.85rem !important;
        margin-bottom: 20px !important;
    }
    
    .newsletter-input-group {
        max-width: 100% !important;
    }
    
    .newsletter-input-group input {
        font-size: 1rem !important;
        padding: 15px !important;
    }
    
    .newsletter-btn {
        font-size: 0.85rem !important;
        padding: 15px !important;
    }
    
    /* Contact section mobile */
    .contact {
        padding: 60px 0 !important;
    }
    
    .contact-modern {
        margin: 0 15px !important;
        padding: 30px 20px !important;
    }
    
    .contact-intro {
        margin-bottom: 30px !important;
    }
    
    .contact-intro h3 {
        font-size: 1.5rem !important;
        line-height: 1.3 !important;
        margin-bottom: 15px !important;
    }
    
    .contact-intro p {
        font-size: 0.9rem !important;
        line-height: 1.5 !important;
    }
    
    .form-field {
        margin-bottom: 20px !important;
    }
    
    .form-field input,
    .form-field select,
    .form-field textarea {
        font-size: 1rem !important;
        padding: 12px 0 !important;
    }
    
    .form-field label {
        font-size: 0.85rem !important;
    }
    
    .submit-modern {
        width: 100% !important;
        padding: 15px !important;
        font-size: 0.9rem !important;
    }
    
    /* Footer mobile */
    .footer {
        padding: 40px 0 20px !important;
    }
    
    .footer-content {
        padding: 0 15px !important;
    }
    
    .footer-brand {
        margin-bottom: 20px !important;
    }
    
    .footer-logo {
        width: 80px !important;
        height: auto !important;
    }
    
    .footer-links {
        margin-bottom: 20px !important;
        gap: 15px !important;
    }
    
    .footer-links a {
        font-size: 0.85rem !important;
    }
    
    .footer-bottom {
        padding: 20px 15px 10px !important;
    }
    
    .footer-bottom p {
        font-size: 0.7rem !important;
        line-height: 1.4 !important;
    }
    
    /* Video container mobile */
    .video-container {
        height: 100vh !important;
    }
    
    /* Particles canvas mobile */
    #particles {
        display: none !important; /* Hide on mobile for performance */
    }
    
    /* Sound bars mobile */
    .sound-bars {
        display: none !important;
    }
    
    /* Scroll indicator mobile */
    .scroll-indicator {
        display: none !important;
    }
}

/* Small mobile devices */
@media (max-width: 480px) {
    .hero-title {
        font-size: 2.5rem !important;
    }
    
    .hero-subtitle {
        font-size: 0.7rem !important;
    }
    
    .section-title {
        font-size: 1.5rem !important;
    }
    
    .event-name {
        font-size: 1.2rem !important;
    }
    
    .event-date-large .date {
        font-size: 2rem !important;
    }
    
    .contact-intro h3 {
        font-size: 1.2rem !important;
    }
}

/* Mobile menu specific fixes */
.mobile-menu {
    position: fixed !important;
    top: 75px !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    background: rgba(0, 0, 0, 0.98) !important;
    backdrop-filter: blur(20px) !important;
    z-index: 999 !important;
    transform: translateX(-100%) !important;
    transition: transform 0.3s ease !important;
}

.mobile-menu.active {
    transform: translateX(0) !important;
}

.mobile-nav-links {
    padding: 20px !important;
}

.mobile-nav-link {
    padding: 15px 0 !important;
    font-size: 1rem !important;
}

/* Fix overlapping issues */
@media (max-width: 768px) {
    * {
        max-width: 100% !important;
        overflow-wrap: break-word !important;
    }
    
    .hero-overlay,
    .video-container {
        position: absolute !important;
        width: 100% !important;
        left: 0 !important;
        right: 0 !important;
    }
    
    /* Ensure text is readable on mobile */
    .hero-content {
        position: relative !important;
        z-index: 10 !important;
    }
    
    /* Fix form alignment */
    .form-grid {
        display: flex !important;
        flex-direction: column !important;
    }
    
    .form-field.full-width {
        width: 100% !important;
    }
}

/* Landscape mobile fixes */
@media (max-width: 768px) and (orientation: landscape) {
    .hero {
        min-height: auto !important;
        padding: 80px 20px 40px !important;
    }
    
    .hero-title {
        font-size: 2.5rem !important;
    }
    
    .hero-subtitle {
        margin-bottom: 20px !important;
    }
}