/* ====== Root variabelen ====== */
:root {
    --font-sans: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
    --font-size: clamp(14px, 1.6vw, 18px);
    --line: 1.5;

    --space-1: 0.5rem;
    --space-2: 1rem;
    --space-3: 1.5rem;
    --space-4: 2rem;

    --max-width: 98%;
    --content-max: 1200px;
}

/* ====== Html en body ====== */
html, body {
    max-width: var(--max-width);
    margin: 0 auto;
    min-height: 100%;
    font-family: var(--font-sans);
    font-size: var(--font-size);
    line-height: var(--line);
    color: #1a1a1a;

    /* Achtergrondafbeelding */
    background-image: url("achtergrond.jpg");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    background-attachment: fixed;
}

/* ====== Container ====== */
.container {
    width: 100%;
    max-width: min(var(--content-max), 100%);
    margin: 0 auto;
    padding: var(--space-3);
    background: rgba(255, 255, 255, 0.85); /* semi-transparant wit */
    border-radius: 12px;
}

/* ====== Typografie ====== */
h1, h2, h3, h4 {
    margin: var(--space-2) 0 var(--space-1);
    font-weight: 600;
}
p {
    margin: 0 0 var(--space-2);
}
small, .muted { color: #555; }

/* ====== Tiles layout ====== */
.tiles {
    display: grid;
    gap: var(--space-2);
    grid-template-columns: 1fr;
}
.tile {
    border: 1px solid #e5e5e5;
    border-radius: 10px;
    padding: var(--space-2);
    background: #fafafa;
}

/* ====== Breakpoints ====== */
@media (min-width: 481px) {
    .tiles { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 768px) {
    .tiles { grid-template-columns: 1fr 1fr; }
    .tile { padding: var(--space-3); }
}
@media (min-width: 1024px) {
    .tiles { grid-template-columns: 1fr 1fr 1fr; }
}
@media (min-width: 1440px) {
    .tiles { grid-template-columns: 1fr 1fr 1fr 1fr; }
    .container { max-width: min(1400px, 100%); }
}

/* ====== Oriëntie ====== */
@media (orientation: portrait) {
    .container { padding-bottom: var(--space-3); }
}
@media (orientation: landscape) {
    .container {
        padding-left: calc(var(--space-2) + 0.5rem);
        padding-right: calc(var(--space-2) + 0.5rem);
    }
    .tiles { gap: calc(var(--space-2) + 0.25rem); }
}

/* ====== Footer ====== */
main {
    padding-bottom: var(--space-2); /* minder onderruimte */
}
footer {
    border-top: 1px solid #e5e5e5;
    margin-top: var(--space-1);       /* kleinere marge boven */
    padding: 0.25rem 0.5rem;          /* heel smalle verticale en horizontale padding */
    background: #fff;
    font-size: 0.85em;                /* subtiel kleinere tekst */
    line-height: 1.2;                 /* compacter regelhoogte */
}
/* ====== Footer ====== */
main {
    padding-bottom: var(--space-2);
}
footer {
    border-top: 1px solid #e5e5e5;
    margin-top: var(--space-1);
    padding: 0.25rem 0.5rem;
    background: #fff;
    font-size: 0.85em;
    line-height: 1.2;
}

/* ====== Verberg footer in portrait ====== */
@media (orientation: portrait) {
    footer {
        display: none;
    }
}

/* ============================ */

