/* ===== layout.css — native layout utilities =====
   Replaces rwdgrid (map §6): container + flex helpers + the 2 grid classes actually used. */

/* container (was .container-fluid from rwdgrid) */
.container-fluid
{
    width: 100%;
    margin-inline: auto;
    padding-inline: var(--space-gutter);
}

/* flex helpers (your flexer system — already modern, kept) */
.flexer
{
    display: flex;
    align-items: center;
}

.flexer.wrap
{
    flex-wrap: wrap;
}

.flexer.left
{
    justify-content: flex-start;
}

.flexer.right
{
    justify-content: flex-end;
}

.flexer.centre
{
    justify-content: center;
}

.flexer.vcentre
{
    align-items: center;
}

.flexer.space
{
    justify-content: space-between;
}

/* the only grid-* classes actually used (grid-4 ×3 header, grid-6 hero) */
.grid-4
{
    flex: 0 0 33.3333%;
    max-width: 33.3333%;
}

.grid-6
{
    flex: 0 0 50%;
    max-width: 50%;
}

/* page shell (from frinally_styles: viewport / main / header / footer) */
.viewport
{
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    min-height: 100dvh;
}

main
{
    display: flex;
    flex-direction: column;
    flex: 1 0 auto;
    width: 100%;
}

header
{
    width: 100%;
    padding: 1rem 0;
}

footer
{
    padding: 1rem 0;
}

/* header row — native Grid: logo | centered nav | social (was grid-4 + flexer combos) */
.site-header__row
{
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: clamp(1rem, 2vw, 1.5rem);
}

/* push social icons to the right edge; centre the footer copyright */
.site-header__social
{
    justify-self: end;
}

.site-footer
{
    text-align: center;
}

.site-footer p
{
    font-size: 0.85rem;
}