/**
 * GEO Signals — basisopmaak
 *
 * Deze stylesheet geeft de blokken alleen structuur en ritme. Kleuren en lettertypen
 * komen van het thema: alles erft standaard (`inherit`) of gebruikt `currentColor`.
 * Zonder dit bestand erven de koppen de displaystijl van de site (op sommige thema's
 * 48px of groter), wat voor een regel als "Bronnen en meer informatie" niet klopt.
 *
 * Een thema kan alles bijsturen met de variabelen hieronder, bijvoorbeeld:
 *   .geo-blokken { --geo-kop-font: var(--h3-font-family); --geo-lijn: #e3ded2; }
 */

.geo-summary,
.geo-specs-wrap,
.geo-sources,
.geo-faq,
.geo-blokken {
    --geo-ruimte: 1.5rem;
    --geo-ruimte-klein: 0.5rem;
    --geo-kop-font: inherit;
    --geo-kop-grootte: 1.375rem;
    --geo-kop-gewicht: 600;
    --geo-kop-regelhoogte: 1.2;
    --geo-sub-grootte: 1.0625rem;
    --geo-tekst-grootte: inherit;
    --geo-lijn: color-mix(in srgb, currentColor 15%, transparent);
    --geo-gedempt: color-mix(in srgb, currentColor 65%, transparent);
}

/* Samenvatting: één alinea onder de titel, iets rustiger dan de lopende tekst. */
.geo-summary {
    margin: 0 0 var(--geo-ruimte);
    max-width: 68ch;
    font-size: var(--geo-tekst-grootte);
    line-height: 1.6;
}

/* Gedeelde sectiekoppen: nooit de displaygrootte van het thema erven. */
.geo-specs-wrap > h2,
.geo-sources > h2,
.geo-faq > h2 {
    margin: 0 0 var(--geo-ruimte-klein);
    font-family: var(--geo-kop-font);
    font-size: var(--geo-kop-grootte);
    font-weight: var(--geo-kop-gewicht);
    line-height: var(--geo-kop-regelhoogte);
}

.geo-specs-wrap,
.geo-sources,
.geo-faq {
    margin: 0 0 var(--geo-ruimte);
}

/* Specificaties: tweekolomstabel, labels gedempt, rustige scheidingslijnen. */
.geo-specs {
    width: 100%;
    max-width: 44rem;
    border-collapse: collapse;
    margin: 0;
}

.geo-specs th,
.geo-specs td {
    padding: 0.625rem 0;
    border: 0;
    border-bottom: 1px solid var(--geo-lijn);
    text-align: left;
    vertical-align: top;
    font-size: var(--geo-sub-grootte);
    line-height: 1.45;
}

.geo-specs th {
    width: 38%;
    font-weight: 600;
    color: var(--geo-gedempt);
}

.geo-specs tr:last-child th,
.geo-specs tr:last-child td {
    border-bottom: 0;
}

/* Bronnen: een korte lijst, geen opsommingstekens. */
.geo-sources ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.geo-sources li {
    margin: 0;
    font-size: var(--geo-sub-grootte);
    line-height: 1.5;
}

.geo-sources a {
    text-decoration: underline;
    text-underline-offset: 0.18em;
}

/* Veelgestelde vragen: vraag als kop, antwoord eronder. */
.geo-faq h3 {
    margin: var(--geo-ruimte) 0 0.25rem;
    font-family: var(--geo-kop-font);
    font-size: var(--geo-sub-grootte);
    font-weight: 600;
    line-height: 1.35;
}

.geo-faq h3:first-of-type {
    margin-top: var(--geo-ruimte-klein);
}

.geo-faq p {
    margin: 0;
    max-width: 68ch;
    line-height: 1.6;
}

/* Byline: kleine regel, nooit nadrukkelijker dan de tekst eromheen. */
.byline {
    margin: var(--geo-ruimte-klein) 0 0;
    font-size: 0.9375rem;
    color: var(--geo-gedempt);
}

/* Door de module zelf toegevoegde paginatitel: volgt gewoon de h1 van het thema. */
.geo-page-title {
    margin-top: 0;
}

@media (max-width: 600px) {
    .geo-specs th,
    .geo-specs td {
        display: block;
        width: auto;
        border-bottom: 0;
        padding: 0;
    }

    .geo-specs td {
        padding-bottom: 0.625rem;
        border-bottom: 1px solid var(--geo-lijn);
        margin-bottom: 0.625rem;
    }
}
