/* ================================================
   Legal-pagina's — privacybeleid, cookiebeleid, algemene voorwaarden
   Eenvoudige, leesbare proza-layout in de huisstijl.
   ================================================ */

.legal-header {
    background: var(--mist, #F2F5EF);
    padding: 48px 0 0;
    border-bottom: 1px solid var(--border, rgba(0, 83, 45, 0.10));
}

.legal-header .breadcrumb {
    background: transparent;
    padding: 0;
    margin: 0 0 16px;
    font-size: 12px;
    color: var(--tekst-sub, #5a6b58);
    list-style: none;
}
.legal-header .breadcrumb li {
    display: inline;
}
.legal-header .breadcrumb li + li::before {
    content: "/";
    padding: 0 8px;
    color: var(--border, rgba(0, 83, 45, 0.35));
}
.legal-header .breadcrumb a {
    color: var(--tekst-sub, #5a6b58);
    text-decoration: none;
}
.legal-header .breadcrumb a:hover {
    color: var(--color-primary, #00532D);
}

.legal-header h1 {
    font-family: var(--font-serif);
    font-size: 38px;
    font-weight: 500;
    line-height: 1.15;
    color: var(--groen-diep, #2C3B2A);
    margin: 0 0 8px;
}

.legal-updated {
    font-size: 13px;
    color: var(--tekst-sub, #5a6b58);
    margin: 0;
    padding-bottom: 32px;
}

.legal-wrap {
    padding: 40px 0 96px;
    background: var(--mist, #F2F5EF);
}

.legal-body {
    max-width: 760px;
    font-family: var(--font-sans);
    color: var(--tekst, #2C3B2A);
    font-size: 15px;
    line-height: 1.75;
}

.legal-body > p:first-child {
    font-size: 16px;
    color: var(--tekst-sub, #5a6b58);
}

.legal-body h2 {
    font-family: var(--font-serif);
    font-size: 22px;
    font-weight: 600;
    color: var(--groen-diep, #2C3B2A);
    margin: 44px 0 12px;
    scroll-margin-top: 90px;
}

.legal-body h3 {
    font-family: var(--font-sans);
    font-size: 16px;
    font-weight: 700;
    color: var(--groen-diep, #2C3B2A);
    margin: 24px 0 8px;
}

.legal-body p {
    margin: 0 0 16px;
}

.legal-body ul {
    padding-left: 22px;
    margin: 0 0 16px;
}
.legal-body li {
    margin-bottom: 6px;
}

.legal-body a {
    color: var(--color-primary, #00532D);
    text-decoration: underline;
}
.legal-body a:hover {
    color: var(--color-primary-hover, #006638);
}

.legal-body strong {
    font-weight: 700;
}

.legal-body address {
    font-style: normal;
}

/* Inhoudsopgave */
.legal-toc {
    margin: 24px 0 8px;
    padding: 18px 22px;
    background: #fff;
    border: 1px solid var(--border, rgba(0, 83, 45, 0.12));
    border-radius: 3px;
}
.legal-toc-title {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--tekst-sub, #5a6b58);
    margin: 0 0 8px;
}
.legal-toc ol {
    margin: 0;
    padding-left: 20px;
    font-size: 14px;
}
.legal-toc li {
    margin-bottom: 4px;
}

/* Tabellen (cookies, verwerkingen) */
.legal-table-wrap {
    overflow-x: auto;
    margin: 16px 0 24px;
}
.legal-body table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13.5px;
    min-width: 520px;
}
.legal-body th,
.legal-body td {
    text-align: left;
    padding: 10px 12px;
    border-bottom: 1px solid var(--border, rgba(0, 83, 45, 0.12));
    vertical-align: top;
}
.legal-body th {
    font-family: var(--font-sans);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-size: 11px;
    font-weight: 700;
    color: var(--tekst-sub, #5a6b58);
    white-space: nowrap;
}

.legal-back {
    display: inline-block;
    margin-top: 44px;
    font-weight: 700;
    font-size: 14px;
    color: var(--color-primary, #00532D);
    text-decoration: none;
}
.legal-back:hover {
    color: var(--color-primary-hover, #006638);
}

.legal-consent-btn {
    appearance: none;
    border: 1px solid var(--color-primary, #00532D);
    border-radius: 3px;
    background: transparent;
    padding: 10px 18px;
    font-family: var(--font-sans);
    font-size: 13px;
    font-weight: 700;
    color: var(--color-primary, #00532D);
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
}
.legal-consent-btn:hover {
    background: var(--color-primary, #00532D);
    color: #fff;
}

@media (max-width: 767px) {
    .legal-header {
        padding-top: 32px;
    }
    .legal-header h1 {
        font-size: 28px;
    }
    .legal-body h2 {
        font-size: 20px;
    }
}
