/* Reset stylów */
* {
    box-sizing: border-box;
}
body {
    margin: 0;
    padding: 0;
    font-family: Arial, sans-serif;
    font-size: 90%;
    min-height: 100vh;
}
main, aside {
    h1, h2, h3, p {
        margin-bottom: 1rem;
        line-height: 1.5;
    }
    padding: 1rem;
    width: 100%;
}
.container {
    display: grid;
    align-items: center;
    justify-content: center;
    margin-inline: auto;
    grid-template-columns: 1fr;
    max-width: 1200px;
    grid-template-areas:
        "header"
        "nav"
        "main"
        "aside"
        "footer";
    min-height: 100vh;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    @media (min-width: 1024px) {
        margin: 0 auto; 
		grid-template-columns: 1fr 300px;
		grid-template-areas:
			'header header'
			'nav    nav'
			'main   aside'
			'footer footer';
	}
}

header {
    grid-area: header;
    display: grid;
    grid-auto-flow: column;
    align-items: center;  
    justify-content: start;
    color: white;
    background-color: orange;
    padding: 0 1rem;
    text-align: left;
    height: 100%;
    & > div {
        display: grid;
        align-items: center;
        justify-content: center;
        background-color: white;
        height: 45%;
        width: 5.5rem;
        grid-auto-flow: column;
        margin-right: 1rem;
        border-radius: 3px;
        &::before {
            content: "Logo";
            color: black;
            font-weight: bold;
        }
    }
}

nav {
    grid-area: nav;
    height: 100%;
    display: grid;
    grid-auto-flow: column;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    background-color: #2880B9;
    & a {
        color: white;
        text-decoration: none;
        font-weight: bold;
        padding: 0.8rem 1rem;
        @media (min-width: 1024px) {
            padding-left: 2rem;
        }
    }
    @media (min-width: 1024px) {
        justify-content: start;

    }
}

main {
    grid-area: main;
    height: 100%;
    @media (min-width: 1024px) {
        padding-right: 2rem;
    }
}

aside {
    grid-area: aside;
    height: 100%;
    background-color: #D4EFDF;
    font-weight: bold;
    & div {
        display: grid;
        grid-auto-flow: column;
        align-items: center;
        justify-content: center;
        & span {
            font-size: 350%;
        }
    }
    @media (min-width: 1024px) {
        justify-self: end;
        height: 100%;
        & div  {
            grid-auto-flow: row;
            align-content: start;
            grid-template-columns: repeat(2, auto);
            gap: 0 1rem;
            
        }
    }
}

footer {
    grid-area: footer;
    height: 100%;
    background-color: #26AE5F;
    color: white;
    text-align: center;
    & > p {
        font-size: 80%;
    }
}