/* Main Content Layout Styles */
.main-content {
    min-height: calc(100vh - 80px); /* Account for navbar height */
    padding-top: 80px; /* Space for fixed navbar */
}

/* Container for pages that need it */
.main-content .container {
    padding: 2rem 15px;
}

/* Full-width pages */
.main-content.full-width {
    padding-top: 80px;
}

.main-content.full-width .container-fluid {
    padding: 0;
}

/* Index page specific styles */
.index-page .main-content {
    padding-top: 80px;
    padding-bottom: 0;
}

.index-page .container {
    padding: 0 15px;
}

/* Messages styling for fixed navbar */
.alert {
    margin-bottom: 0;
    border-radius: 0;
    position: relative;
    z-index: 1040;
}

/* Mobile responsive adjustments */
@media (max-width: 991.98px) {
    .main-content {
        padding-top: 60px;
        min-height: calc(100vh - 60px);
    }
    
    .index-page .main-content {
        padding-top: 60px;
    }
}

/* Ensure proper spacing for content */
.page-content {
    padding: 2rem 0;
}

/* Adjust for pages with hero sections */
.hero-section + .page-content {
    padding-top: 0;
}