/* Global Layout Fixes */
html, body {
    height: 100%;
    margin: 0;
    padding: 0;
}

body {
    display: flex !important;
    flex-direction: column !important;
    min-height: 100vh !important;
    padding-top: 95px !important; /* Space for fixed header */
}

main {
    flex: 1 !important;
    padding-bottom: 2rem !important;
}

/* Responsive header spacing */
@media (max-width: 992px) {
    body {
        padding-top: 90px !important;
    }
}

@media (max-width: 576px) {
    body {
        padding-top: 85px !important;
    }
}

/* Ensure footer stays at bottom */
.modern-footer {
    margin-top: auto !important;
    margin-bottom: 0 !important;
}

/* Container fixes for consistent spacing */
.container, .container-fluid {
    padding-top: 1rem;
}

/* Fix for Bootstrap interfering with layout */
.d-flex.flex-column {
    min-height: auto !important;
}

/* Ensure sections don't get cut by header */
section, .section {
    scroll-margin-top: 100px;
}

/* Fix for any absolute positioned elements */
.position-absolute {
    z-index: 1000;
}

/* Ensure proper z-index hierarchy */
.modern-navbar {
    z-index: 1030 !important;
}

.modern-footer {
    z-index: 1020 !important;
}
