/* ==== CORE LAYOUT ==== */
/* Main layout structure and grid systems */

/* Main Container */
.container {
    display: flex;
    max-width: var(--container-max-width);
    margin: 0 auto;
}

/* Studienplan Main Content */
.studienplan {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xxl);
}

/* Legend Sidebar */
.farben-legende {
    width: var(--legend-width);
    margin-left: var(--legend-margin);
}

/* Jahr (Year) Container */
.jahr {
    display: flex;
    flex-direction: column;
    margin-bottom: var(--spacing-lg);
}

/* Module Container - Default Flexbox Layout */
.module-container {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: var(--module-gap) !important;
    min-height: auto;
    margin-bottom: var(--spacing-md) !important;
    flex-direction: row !important;
}

/* Fachgebiet Column Layout */
.fachgebiet-column {
    width: auto;
    min-width: 250px;
    margin-right: var(--spacing-md);
}

/* ==== LAYOUT VARIATIONS ==== */

/* Semester Layout */
.layout-semester .module-container {
    margin-bottom: var(--spacing-xs);
}

/* Bereich Layout */
.layout-bereich .module-container {
    margin-bottom: 25px;
    padding: var(--spacing-sm);
}

/* Compact Layout */
.layout-compact .jahr {
    margin-bottom: var(--spacing-md);
}

.layout-compact .modul {
    margin: 0.5px;
}

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

@media (max-width: 768px) {
    .container {
        flex-direction: column;
    }

    .farben-legende {
        width: 100%;
        margin-left: 0;
        margin-top: var(--spacing-lg);
    }

    .module-container {
        gap: var(--module-gap);
    }

    .modul {
        margin: 2px;
    }
}
