/* Обертка карусели */
.events-carousel-wrapper {
    position: relative;
}

/* Кнопки навигации */
.carousel-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    background: var(--bg-content-main);
    border: 1px solid var(--border-primary);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--font-primary);
    cursor: pointer;
    z-index: 10;
    transition: all 0.2s ease;
    opacity: 0.9;
    backdrop-filter: blur(8px);
}

.carousel-nav:hover {
    background: var(--bg-content-secondary);
    border-color: var(--border-tertiary);
    opacity: 1;
}

.carousel-nav i {
    font-size: 20px;
}

.carousel-nav-prev {
    left: 16px;
}

.carousel-nav-next {
    right: 16px;
}

/* Grid для предстоящих событий - карусель */
.upcoming-events-grid {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    overflow-y: visible;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding: 8px 4px;
}

.upcoming-events-grid::-webkit-scrollbar {
    display: none;
}

/* Карточка события в carousel */
.upcoming-events-grid .gc-event-card {
    scroll-snap-align: start;
    flex: 0 0 calc(33.333% - 8px);
    min-width: calc(33.333% - 8px);
    max-width: calc(33.333% - 8px);
}

/* Обычные карточки .gc-card в carousel */
.upcoming-events-grid .gc-card {
    scroll-snap-align: start;
    flex: 0 0 calc(33.333% - 8px);
    min-width: calc(33.333% - 8px);
    max-width: calc(33.333% - 8px);
}

/* Hover для .gc-event-card наследуется из cards.css */
/* event-grid-bottom наследуется из cards.css */


/* Адаптивность */
@media (max-width: 768px) {
    .carousel-nav {
        display: none;
    }
    
    .upcoming-events-grid {
        gap: 10px;
    }
    
    .upcoming-events-grid .gc-event-card,
    .upcoming-events-grid .gc-card {
        flex: 0 0 85%;
        min-width: 85%;
        max-width: 85%;
    }
}

@media (min-width: 769px) and (max-width: 1024px) {
    .carousel-nav-prev {
        left: 12px;
    }
    
    .carousel-nav-next {
        right: 12px;
    }
    
    .upcoming-events-grid .gc-event-card,
    .upcoming-events-grid .gc-card {
        flex: 0 0 calc(50% - 6px);
        min-width: calc(50% - 6px);
        max-width: calc(50% - 6px);
    }
}
