/* File: wwwroot/css/layout.css | Layout spacing and utility grids */
.site-layout {
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
}

.site-main {
    flex: 1;
}

.section {
    padding-block: clamp(1.2rem, 3vw, 2.2rem);
}

.stack-sm > * + * {
    margin-top: .5rem;
}

.stack-md > * + * {
    margin-top: 1rem;
}

.grid-2 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.grid-3 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}




/* ===== Navigation ===== */

.header-nav {
    display: flex;
    align-items: center;
    gap: 2rem;
}

.header-link {
    font-size: 1.5rem;
    font-weight: 600;
    text-decoration: none;
    color: var(--color-text-muted);
    padding: 1.2rem 0;
    transition: color .15s ease !important;
    text-decoration: none !important;
}

.header-link:hover {
    color: var(--color-text);
    font-weight:700;
}

.header-link.active {
    color: var(--color-primary);
}

@media (max-width: 900px) {
    .grid-2,
    .grid-3 {
        grid-template-columns: 1fr;
    }
}
