/* ===================================
   EVENTS MOBILE OVERRIDES (< 480px)
   Horizontal Scroll Snap Carousel
   =================================== */

.events {
    padding: 50px 0 !important;
    /* Remove side padding for edge-to-edge scroll */
    gap: 20px !important;
    margin-top: 0 !important;
    flex-direction: column !important;
    /* Clean Dark Gradient Background */
    background: linear-gradient(180deg, #0a0a0a 0%, #1a1a2e 50%, #16213e 100%) !important;
    overflow: hidden !important;
    /* Prevent page horizontal scroll */
}

.eventtop {
    text-align: center !important;
    width: 100% !important;
    padding: 0 20px !important;
    /* Restore padding for title */
    margin-bottom: 10px !important;
}

.eventtop h1 {
    font-size: 32px !important;
    font-family: var(--font-head) !important;
    width: 100% !important;
    margin-bottom: 5px !important;
}

.eventtop h3 {
    font-size: 14px !important;
}

/* Horizontal Scroll Container */
.events-carousel {
    display: flex !important;
    flex-direction: row !important;
    /* Horizontal Layout */
    gap: 15px !important;
    width: 100% !important;
    padding: 10px 20px 40px !important;
    /* Side padding creates start/end breathing room */

    overflow-x: auto !important;
    /* Enable Horizontal Scroll */
    overflow-y: hidden !important;

    /* Scroll Snap Logic */
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;

    /* Hide moving scrollbars */
    scrollbar-width: none !important;
}

.events-carousel::-webkit-scrollbar {
    display: none !important;
}

/* Individual Slides */
.event-slide {
    /* Fixed Width for Carousel Effect (85% shows next card peek) */
    min-width: 85% !important;
    max-width: 85% !important;

    scroll-snap-align: center !important;
    /* Snap to center */
    margin: 0 !important;

    /* Card Styles */
    height: auto !important;
    min-height: 280px !important;
    background: rgba(255, 255, 255, 0.05) !important;
    /* Glass effect on dark */
    padding: 25px 20px !important;
    border-radius: 24px !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;

    flex: none !important;
}

/* Make text responsive */
.event-slide h2 {
    font-size: 22px !important;
    line-height: 1.3 !important;
    margin-bottom: 15px !important;
}

.event-slide .event-desc {
    font-size: 14px !important;
    color: rgba(255, 255, 255, 0.7) !important;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    /* Truncate text */
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.event-meta {
    flex-direction: column !important;
    gap: 10px !important;
    margin-top: auto !important;
    /* Push to bottom */
}

.register-btn {
    width: 100% !important;
    justify-content: center !important;
    margin-top: 15px !important;
}

/* CAROUSEL ARROW NAV (Prev/Next) */
.carousel-nav-controls {
    display: flex !important;
    justify-content: center !important;
    gap: 20px !important;
    margin-top: 20px !important;
    width: 100% !important;
}

.nav-btn {
    width: 45px !important;
    height: 45px !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, 0.1) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    color: #fff !important;
    font-size: 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    backdrop-filter: blur(10px) !important;
    transition: all 0.3s ease !important;
}

.nav-btn:hover {
    background: rgba(255, 255, 255, 0.2) !important;
    transform: scale(1.05);
}

.nav-btn:active {
    transform: scale(0.95);
}