* { margin: 0; padding: 0; box-sizing: border-box; }

body { overflow-x: hidden; }

.mycontainer { display: grid; grid-template-columns: 1fr; grid-template-rows: auto 1fr auto; width: 100vw; overflow-x: hidden; }

.nav_layout { grid-row: 1/2; overflow-x: hidden; }

/* Content Layout - Add padding for fixed navbar */
.content_layout { grid-row: 2/3; padding: 0px; width: 100%; margin: 0 auto; min-height: 100vh; }

/* Add top padding for non-homepage pages to prevent navbar overlap */
body.page-solid-navbar .content_layout { padding-top: 80px; }

.footer_layout { background-color: var(--color-purple); height: auto; grid-row: 3/4; width: 100vw; }

.super_class { max-width: 100%; margin: 0 auto; }
.common_container { max-width: 90%; margin: 0 auto; }

/* Responsive navbar padding */
@media (max-width: 768px) {
    body.page-solid-navbar .content_layout { padding-top: 70px; }
}

@media (max-width: 480px) {
    body.page-solid-navbar .content_layout { padding-top: 65px; }
}