.opw-genealogy { min-width: 0; order: -3; padding: 16px 18px; border: 1px solid var(--opv-sand-line); border-radius: 16px; background: var(--opv-surface); }
.opw-genealogy h2 { margin: 0 0 10px; font: 600 22px/1.3 var(--opv-serif); color: var(--opv-kop); }
.opw-genealogy-klap > summary { list-style: none; pointer-events: none; }
.opw-genealogy-klap > summary::-webkit-details-marker { display: none; }
.opw-genealogy iframe, :root[data-theme="donker"] .opw-genealogy iframe { display: block; width: 100%; height: 560px; border: 0; background: transparent !important; filter: none; }
.opw-genealogy details > a { display: block; margin-top: 10px; color: var(--opv-kop); font: 500 13px/1.5 var(--opv-sans); }
/* Bij een stamboom komt die bovenaan; het beeld schuift eronder. */
.opw-sidecar.heeft-stamboom > .opw-genealogy { grid-row: 1; }
.opw-sidecar.heeft-stamboom > .opw-hoofdstukbeeld,
.opw-sidecar.heeft-stamboom > .opw-definition-image,
.opw-sidecar.heeft-stamboom > .opw-chapter-map { grid-row: 2; }
@media (max-width: 1100px), (hover: none), (pointer: coarse) {
    .opw-genealogy { margin: 0 0 12px; padding: 12px 18px; border-radius: 12px; }
    .opw-genealogy-klap > summary { display: list-item; list-style: disclosure-closed inside; pointer-events: auto; cursor: pointer; padding: 10px 0; }
    .opw-genealogy-klap[open] > summary { list-style: disclosure-open inside; }
    .opw-genealogy-klap > summary::-webkit-details-marker { display: inline-block; }
    .opw-genealogy h2 { display: inline; margin: 0; font: 500 16px/1.4 var(--opv-sans); color: var(--opv-ink); }
    .opw-genealogy iframe, :root[data-theme="donker"] .opw-genealogy iframe { height: min(600px, 80vh); margin-top: 8px; }
}
