/* Main Content Scrollable Area */
.main-content {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
}

/* For pages without .main-content wrapper, make body scrollable */
body:not(:has(.main-content)) {
    overflow-y: auto;
    overflow-x: hidden;
}

/* Ensure header stays fixed */
.header {
    flex-shrink: 0;
}

/* For pages with hero sections */
.main-content .hero {
    height: calc(100vh - 82px);
}

/* Mobile adjustments */
@media (max-width: 768px) {
    .main-content .hero {
        height: calc(100vh - 82px);
    }
}