/* ===== RESPONSIVE LAYOUT FIXES ===== */

/* Prevent horizontal overflow on all screen sizes */
.main-content {
    max-width: 100vw;
    overflow-x: hidden;
}

.events-container {
    max-width: 100%;
    overflow-x: hidden;
}

.events-layout {
    max-width: 100%;
    overflow-x: hidden;
}

.events-main {
    min-width: 0;
    /* Allow flex item to shrink below content size */
    max-width: 100%;
    overflow-x: hidden;
}

.events-sidebar {
    flex-shrink: 0;
    max-width: 300px;
}

/* FullCalendar responsive fixes */
.fc,
.fc-view-harness,
.fc-view {
    max-width: 100%;
    overflow-x: hidden !important;
}

.events-calendar {
    max-width: 100%;
    overflow-x: hidden;
}

#events-calendar-widget {
    max-width: 100%;
    overflow-x: hidden;
}

/* Fix sidebar logo and content */
.sidebar img,
.sidebar-logo {
    max-width: 100%;
    height: auto;
}

/* Responsive breakpoints */
@media (max-width: 1400px) {
    .events-layout {
        gap: 1.5rem;
    }

    .events-sidebar {
        width: 280px;
        max-width: 280px;
    }
}

@media (max-width: 1200px) {
    .events-layout {
        gap: 1rem;
    }

    .events-sidebar {
        width: 260px;
        max-width: 260px;
    }

    .events-container {
        padding: 1.5rem;
    }
}

@media (max-width: 1024px) {
    .events-layout {
        flex-direction: column;
    }

    .events-sidebar {
        width: 100%;
        max-width: 100%;
        order: -1;
        /* Show sidebar first on mobile */
    }

    .events-main {
        width: 100%;
    }

    /* Fix filter controls overflow */
    .filter-controls {
        flex-wrap: wrap;
        width: 100%;
    }

    .filter-select {
        max-width: 100%;
        flex: 1;
        min-width: 120px;
    }
}

@media (max-width: 768px) {
    .events-container {
        padding: 1rem;
    }

    .events-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
    }

    .events-controls {
        flex-direction: column;
        align-items: stretch;
        gap: 1rem;
    }

    .view-controls,
    .filter-controls {
        width: 100%;
        justify-content: center;
    }

    .filter-controls {
        flex-direction: column;
    }

    .filter-select {
        width: 100%;
    }

    /* Fix sidebar content */
    .sidebar {
        max-width: 100%;
        overflow-x: hidden;
    }

    .sidebar * {
        max-width: 100%;
    }
}

@media (max-width: 480px) {
    .events-header h1 {
        font-size: 1.8rem;
    }

    .create-event-btn {
        width: 100%;
        justify-content: center;
    }

    .events-container {
        padding: 0.75rem;
    }

    .view-btn {
        flex: 1;
    }
}