/* default */
.layout {
    width: 100%;
    display: grid;
    grid-gap: var(--margin);
    grid-template: "header header" auto "main main" auto "footer footer" auto / var(--sidebar-width) auto;
}

/* mobile */
@media (max-width: 800px) {
    body {
        font-size: 14px;
    }

    .layout {
        width: 100%;
        grid-template: "header" auto "main" auto "footer" auto / 1fr;
    }

    aside {
        border-bottom: 1px solid;
        padding: 9px;
        font-size: 0.9em;
    }
}