/* Instructievideo's — speler, kaarten en videotheek.
 *
 * Kleuren komen uit het MudBlazor-palet (--mud-palette-*): dat bestaat in alle drie de hosts en schakelt
 * mee met de donkere modus. De terugvalwaarden zijn de Curanta-tokens van de backoffice.
 *
 * ⚠ Het accent voor de voortgangsbalk (#34C3AC, teal-400) is bewust lichter dan de primaire kleur: de
 * balk ligt op een donkere video, en #0E4F57 is daar nauwelijks van de achtergrond te onderscheiden.
 * Tekst op het accent komt nergens voor; wit op #34C3AC zou WCAG 1.4.3 niet halen.
 */

.iv {
    --iv-primair: var(--mud-palette-primary, #0E4F57);
    --iv-primair-tekst: var(--mud-palette-primary-text, #FFFFFF);
    --iv-accent: #34C3AC;
    --iv-accent-zacht: rgba(52, 195, 172, 0.14);
    --iv-tekst: var(--mud-palette-text-primary, #0E1F2C);
    --iv-tekst-zacht: var(--mud-palette-text-secondary, #5C6677);
    --iv-vlak: var(--mud-palette-surface, #FFFFFF);
    --iv-vlak-alt: var(--mud-palette-background-gray, #F4F7F8);
    --iv-lijn: var(--mud-palette-lines-default, #E2E8EC);
    --iv-radius: 14px;
    --iv-radius-klein: 10px;
    --iv-schaduw: 0 1px 2px rgba(14, 31, 44, 0.05), 0 1px 3px rgba(14, 31, 44, 0.07);
    --iv-schaduw-hoog: 0 14px 34px rgba(14, 31, 44, 0.12), 0 4px 10px rgba(14, 31, 44, 0.06);
    --iv-video: #0B1418;
    color: var(--iv-tekst);
}

.iv *:focus-visible {
    outline: 3px solid var(--iv-accent);
    outline-offset: 2px;
    border-radius: 6px;
}

/* Een host die bij navigatie de focus op de paginakop zet (tabindex="-1"), krijgt anders een ring om
   de titel die niemand met het toetsenbord heeft aangewezen. */
.iv [tabindex="-1"]:focus-visible { outline: none; }

.iv-verborgen {
    position: absolute !important;
    width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

/* ─── speler ───────────────────────────────────────────────────────────────────────────────── */

.iv-speler {
    position: relative;
    border-radius: var(--iv-radius);
    overflow: hidden;
    background: var(--iv-video);
    box-shadow: var(--iv-schaduw-hoog);
    --plyr-color-main: var(--iv-primair);
    --plyr-range-fill-background: var(--iv-accent);
    --plyr-video-background: var(--iv-video);
    --plyr-font-family: inherit;
    --plyr-captions-background: rgba(0, 0, 0, 0.8);
    --plyr-captions-text-color: #FFFFFF;
    --plyr-control-radius: 8px;
    --plyr-menu-radius: 10px;
    --plyr-tooltip-radius: 6px;
    --plyr-video-controls-background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.72));
}

.iv-speler video {
    display: block;
    width: 100%;
    height: auto;
    background: var(--iv-video);
}

.iv-speler .plyr {
    border-radius: inherit;
}

/* De grote afspeelknop wat groter en met een ring: hij is het eerste waar het oog op valt. */
.iv-speler .plyr__control--overlaid {
    padding: 22px;
    box-shadow: 0 0 0 8px rgba(255, 255, 255, 0.16), 0 10px 30px rgba(0, 0, 0, 0.35);
}

.iv-speler .plyr__control--overlaid svg {
    width: 24px;
    height: 24px;
}

.iv-speler .plyr__captions {
    font-size: clamp(14px, 2.1vw, 20px);
    line-height: 1.45;
}

/* Klaar-om-verder-te-gaan: kaart over de video als hij afgelopen is. */
.iv-volgende {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 16px;
    background: rgba(6, 16, 20, 0.72);
    backdrop-filter: blur(3px);
    z-index: 5;
    animation: iv-in 180ms ease-out;
}

.iv-volgende__kaart {
    display: grid;
    grid-template-columns: 168px minmax(0, 1fr);
    gap: 16px;
    align-items: center;
    max-width: 560px;
    width: 100%;
    padding: 16px;
    border-radius: var(--iv-radius);
    background: rgba(255, 255, 255, 0.97);
    color: #0E1F2C;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.4);
}

.iv-volgende__kaart img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: 8px;
    display: block;
}

.iv-volgende__label {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #0E4F57;
}

.iv-volgende__titel {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
    margin: 4px 0 12px;
}

.iv-volgende__knoppen {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.iv-volgende__aftellen {
    height: 3px;
    background: #E2E8EC;
    border-radius: 3px;
    overflow: hidden;
    margin-bottom: 10px;
}

.iv-volgende__aftellen > span {
    display: block;
    height: 100%;
    background: #0E4F57;
    transform-origin: left;
    animation: iv-aftellen linear forwards;
}

@keyframes iv-aftellen { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes iv-in { from { opacity: 0; } to { opacity: 1; } }

@container iv-kijker (max-width: 520px) {
    .iv-volgende__kaart { grid-template-columns: 1fr; }
    .iv-volgende__kaart img { display: none; }
}

.iv-knop {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    padding: 8px 16px;
    border-radius: 999px;
    border: 1px solid transparent;
    font: inherit;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
    text-decoration: none;
    transition: background-color 120ms, border-color 120ms, color 120ms;
}

.iv-knop--primair { background: var(--iv-primair); color: var(--iv-primair-tekst); }
.iv-knop--primair:hover { filter: brightness(1.08); }
.iv-knop--rustig { background: transparent; color: var(--iv-tekst); border-color: var(--iv-lijn); }
.iv-knop--rustig:hover { background: var(--iv-vlak-alt); }
.iv-volgende .iv-knop--primair { background: #0E4F57; color: #FFFFFF; }
.iv-volgende .iv-knop--rustig { color: #0E1F2C; border-color: #CBD5DC; }
.iv-knop--klein { min-height: 32px; padding: 4px 12px; font-size: 13px; }

/* Verder-kijken-melding onder de speler. */
.iv-hervat {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 10px;
    padding: 8px 8px 8px 14px;
    border-radius: 999px;
    background: var(--iv-accent-zacht);
    font-size: 14px;
    width: fit-content;
}

.iv-hervat .mud-icon-root { color: var(--iv-primair); }

/* ─── kijker: speler + titel + tekst + afspeellijst ─────────────────────────────────────────── */

.iv-kijker {
    container: iv-kijker / inline-size;
}

.iv-kijker__raster {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
    align-items: start;
}

@container iv-kijker (min-width: 980px) {
    .iv-kijker__raster { grid-template-columns: minmax(0, 1fr) 360px; gap: 28px; }
    .iv-kijker__zij { position: sticky; top: 76px; }
    .iv-tekst__lijst { max-height: min(62vh, 560px); }
}

.iv-kijker__titel {
    font-family: var(--curanta-font-display, inherit);
    font-size: clamp(20px, 2.4vw, 26px);
    font-weight: 700;
    line-height: 1.25;
    margin: 18px 0 6px;
    color: var(--iv-tekst);
}

.iv-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 14px;
    color: var(--iv-tekst-zacht);
    font-size: 14px;
}

.iv-meta > span { display: inline-flex; align-items: center; gap: 6px; }

.iv-pil {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    background: var(--iv-accent-zacht);
    color: var(--iv-tekst);
}

.iv-pil .mud-icon-root { color: var(--iv-primair); }

.iv-melding {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 12px 14px;
    border-radius: var(--iv-radius-klein);
    background: var(--iv-vlak-alt);
    border: 1px solid var(--iv-lijn);
    color: var(--iv-tekst-zacht);
    font-size: 14px;
}

/* Uitgeschreven tekst */
.iv-tekst {
    border: 1px solid var(--iv-lijn);
    border-radius: var(--iv-radius);
    background: var(--iv-vlak);
    overflow: hidden;
}

.iv-tekst__kop {
    padding: 14px 16px 10px;
    border-bottom: 1px solid var(--iv-lijn);
}

.iv-tekst__kop h2,
.iv-lijst__kop h2 {
    font-size: 15px;
    font-weight: 700;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.iv-tekst__kop p {
    margin: 2px 0 0;
    font-size: 13px;
    color: var(--iv-tekst-zacht);
}

.iv-tekst__lijst {
    position: relative;
    list-style: none;
    margin: 0;
    padding: 6px;
    max-height: 320px;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
}

.iv-tekst__blok {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    align-items: start;
    align-content: start;
    gap: 10px;
    width: 100%;
    padding: 9px 10px;
    border: 0;
    border-left: 3px solid transparent;
    border-radius: 8px;
    background: transparent;
    color: var(--iv-tekst);
    text-align: start;
    font: inherit;
    font-size: 14px;
    line-height: 1.55;
    cursor: pointer;
    transition: background-color 150ms;
}

.iv-tekst__blok:hover { background: var(--iv-vlak-alt); }

.iv-tekst__blok time {
    font-size: 12px;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    color: var(--iv-tekst-zacht);
    padding-top: 2px;
}

.iv-tekst__blok.is-actief {
    background: var(--iv-accent-zacht);
    border-left-color: var(--iv-accent);
}

.iv-tekst__blok.is-actief time { color: var(--iv-primair); }

/* Afspeellijst van een werkstroom */
.iv-lijst {
    border: 1px solid var(--iv-lijn);
    border-radius: var(--iv-radius);
    background: var(--iv-vlak);
    margin-bottom: 20px;
    overflow: hidden;
}

.iv-lijst__kop {
    padding: 14px 16px 12px;
    border-bottom: 1px solid var(--iv-lijn);
    background: linear-gradient(135deg, rgba(14, 79, 87, 0.08), rgba(52, 195, 172, 0.08));
}

.iv-lijst__kop p { margin: 4px 0 8px; font-size: 13px; color: var(--iv-tekst-zacht); }

.iv-lijst ol {
    list-style: none;
    margin: 0;
    padding: 6px;
    max-height: 340px;
    overflow-y: auto;
}

.iv-lijst__item {
    display: grid;
    grid-template-columns: 22px 104px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    padding: 8px;
    border-radius: 10px;
    color: inherit;
    text-decoration: none;
}

.iv-lijst__item:hover { background: var(--iv-vlak-alt); }
.iv-lijst__item[aria-current="true"] { background: var(--iv-accent-zacht); }

.iv-lijst__nr {
    font-size: 12px;
    font-weight: 700;
    text-align: center;
    color: var(--iv-tekst-zacht);
    font-variant-numeric: tabular-nums;
}

.iv-lijst__item[aria-current="true"] .iv-lijst__nr { color: var(--iv-primair); }

.iv-lijst__titel {
    font-size: 13px;
    font-weight: 600;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ─── kaarten ───────────────────────────────────────────────────────────────────────────────── */

.iv-kaart {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    text-align: start;
    font: inherit;
    text-decoration: none;
    cursor: pointer;
    border-radius: var(--iv-radius);
}

.iv-beeld {
    position: relative;
    display: block;
    aspect-ratio: 16 / 9;
    border-radius: var(--iv-radius);
    overflow: hidden;
    background: var(--iv-vlak-alt);
    box-shadow: var(--iv-schaduw);
    transition: box-shadow 200ms, transform 200ms;
}

.iv-beeld img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top left;
    display: block;
    transition: transform 400ms ease;
}

.iv-beeld::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 55%, rgba(0, 0, 0, 0.35));
    pointer-events: none;
}

.iv-beeld__speel {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 52px;
    height: 52px;
    margin: -26px 0 0 -26px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: rgba(14, 79, 87, 0.92);
    color: #FFFFFF;
    font-size: 22px;
    opacity: 0;
    transform: scale(0.85);
    transition: opacity 180ms, transform 180ms;
    z-index: 2;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.3);
}

.iv-kaart:hover .iv-beeld,
.iv-kaart:focus-visible .iv-beeld { box-shadow: var(--iv-schaduw-hoog); transform: translateY(-2px); }
.iv-kaart:hover .iv-beeld img { transform: scale(1.035); }
.iv-kaart:hover .iv-beeld__speel,
.iv-kaart:focus-visible .iv-beeld__speel { opacity: 1; transform: scale(1); }

.iv-beeld__duur {
    position: absolute;
    right: 8px;
    bottom: 10px;
    z-index: 2;
    padding: 2px 7px;
    border-radius: 6px;
    background: rgba(0, 0, 0, 0.78);
    color: #FFFFFF;
    font-size: 12px;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.iv-beeld__gezien {
    position: absolute;
    left: 8px;
    top: 8px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 9px 3px 7px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.95);
    color: #0E4F57;
    font-size: 12px;
    font-weight: 700;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.18);
}

.iv-beeld__voortgang {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 4px;
    background: rgba(255, 255, 255, 0.35);
    z-index: 2;
}

.iv-beeld__voortgang > span {
    display: block;
    height: 100%;
    background: var(--iv-accent);
}

.iv-kaart__tekst {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

.iv-kaart__titel {
    font-size: 15px;
    font-weight: 650;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    color: var(--iv-tekst);
}

.iv-kaart__meta {
    font-size: 13px;
    color: var(--iv-tekst-zacht);
}

.iv-kaart__fragment {
    font-size: 13px;
    line-height: 1.5;
    color: var(--iv-tekst-zacht);
}

.iv-kaart__fragment mark {
    background: var(--iv-accent-zacht);
    color: var(--iv-tekst);
    border-radius: 3px;
    padding: 0 2px;
}

/* Compacte kaart: helppaneel, zoekresultaten */
.iv-kaart--compact {
    display: grid;
    grid-template-columns: 136px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: 8px;
    border-radius: 12px;
}

.iv-kaart--compact:hover { background: var(--iv-vlak-alt); }
.iv-kaart--compact .iv-beeld { border-radius: 8px; box-shadow: none; }
.iv-kaart--compact:hover .iv-beeld { transform: none; box-shadow: none; }
.iv-kaart--compact .iv-beeld__speel { width: 36px; height: 36px; margin: -18px 0 0 -18px; font-size: 16px; }
.iv-kaart--compact .iv-beeld__duur { right: 5px; bottom: 7px; font-size: 11px; padding: 1px 5px; }
.iv-kaart--compact .iv-beeld__gezien { display: none; }
.iv-kaart--compact .iv-kaart__titel { font-size: 14px; }
.iv-kaart--compact .iv-kaart__tekst { padding-top: 1px; }

.iv-raster {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(232px, 1fr));
    gap: 26px 20px;
}

.iv-rij {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(232px, 272px);
    gap: 20px;
    overflow-x: auto;
    padding: 4px 4px 14px;
    margin: 0 -4px;
    scroll-snap-type: x proximity;
    scrollbar-width: thin;
}

.iv-rij > * { scroll-snap-align: start; }

/* ─── videotheek ────────────────────────────────────────────────────────────────────────────── */

.iv-videotheek {
    display: flex;
    flex-direction: column;
    gap: 32px;
    padding-bottom: 40px;
}

.iv-kop {
    position: relative;
    overflow: hidden;
    padding: clamp(22px, 3.5vw, 36px);
    border-radius: 18px;
    background: linear-gradient(135deg, #0E4F57 0%, #0A3B41 62%, #0B4A45 100%);
    color: #FFFFFF;
}

.iv-kop::after {
    content: "";
    position: absolute;
    right: -80px;
    top: -120px;
    width: 360px;
    height: 360px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(52, 195, 172, 0.35), rgba(52, 195, 172, 0) 70%);
    pointer-events: none;
}

.iv-kop__boven {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
    position: relative;
    z-index: 1;
}

.iv-kop h1 {
    font-family: var(--curanta-font-display, inherit);
    font-size: clamp(24px, 3vw, 32px);
    font-weight: 700;
    margin: 0 0 6px;
    color: #FFFFFF;
}

.iv-kop__samenvatting { margin: 0; font-size: 15px; color: rgba(255, 255, 255, 0.82); }

.iv-kop__voortgang { min-width: 220px; flex: 0 1 280px; }
.iv-kop__voortgang-label { display: flex; justify-content: space-between; font-size: 13px; color: rgba(255, 255, 255, 0.85); margin-bottom: 6px; }

.iv-balk {
    height: 6px;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.2);
    overflow: hidden;
}

.iv-balk > span { display: block; height: 100%; border-radius: inherit; background: var(--iv-accent); }
.iv-balk--licht { background: var(--iv-lijn); }

.iv-zoek {
    position: relative;
    z-index: 1;
    margin-top: 22px;
    max-width: 640px;
}

.iv-zoek__icoon {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 22px;
    color: #5C6677;
    pointer-events: none;
}

.iv-zoek input {
    width: 100%;
    height: 50px;
    padding: 0 44px 0 48px;
    border: 0;
    border-radius: 999px;
    background: #FFFFFF;
    color: #0E1F2C;
    font: inherit;
    font-size: 15px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
}

.iv-zoek input::placeholder { color: #6B7585; }
/* Chrome zet een eigen wisknop in type="search"; naast de onze staan er dan twee. */
.iv-zoek input::-webkit-search-cancel-button { -webkit-appearance: none; appearance: none; }
.iv-zoek input:focus-visible { outline: 3px solid var(--iv-accent); outline-offset: 2px; }

.iv-zoek__wis {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #5C6677;
    cursor: pointer;
    display: grid;
    place-items: center;
}

.iv-zoek__wis:hover { background: #EEF2F4; }
.iv-zoek__wis .mud-icon-root { position: static; transform: none; font-size: 18px; }

.iv-sectie > h2,
.iv-sectie__kop h2 {
    font-family: var(--curanta-font-display, inherit);
    font-size: 20px;
    font-weight: 700;
    margin: 0;
}

.iv-sectie__kop {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 4px;
}

.iv-sectie__telling { font-size: 13px; color: var(--iv-tekst-zacht); }

.iv-sectie__inleiding {
    margin: 4px 0 16px;
    max-width: 72ch;
    font-size: 14px;
    line-height: 1.55;
    color: var(--iv-tekst-zacht);
}

.iv-sectie + .iv-sectie { margin-top: 12px; }

/* Tabs */
.iv-tabs {
    display: inline-flex;
    align-self: flex-start;
    gap: 4px;
    padding: 4px;
    border-radius: 999px;
    background: var(--iv-vlak-alt);
    border: 1px solid var(--iv-lijn);
}

.iv-tab {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 6px 18px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--iv-tekst-zacht);
    font: inherit;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
}

.iv-tab[aria-selected="true"] {
    background: var(--iv-vlak);
    color: var(--iv-tekst);
    box-shadow: var(--iv-schaduw);
}

.iv-tab__aantal {
    font-size: 12px;
    padding: 1px 7px;
    border-radius: 999px;
    background: var(--iv-lijn);
    color: var(--iv-tekst-zacht);
}

.iv-tabpaneel { display: flex; flex-direction: column; gap: 36px; }

/* Werkstroomkaart */
.iv-stromen {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
    gap: 20px;
}

.iv-stroom {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 18px;
    border: 1px solid var(--iv-lijn);
    border-radius: var(--iv-radius);
    background: var(--iv-vlak);
    box-shadow: var(--iv-schaduw);
}

.iv-stroom__titel { font-size: 16px; font-weight: 700; line-height: 1.35; margin: 0; }

.iv-stroom__strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
}

.iv-stroom__strip img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    object-position: top left;
    border-radius: 6px;
    display: block;
    background: var(--iv-vlak-alt);
}

.iv-stroom__strip .is-gezien { opacity: 0.55; }

.iv-stroom__onder {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: auto;
}

.iv-stroom__voortgang { flex: 1 1 140px; font-size: 13px; color: var(--iv-tekst-zacht); }
.iv-stroom__voortgang .iv-balk { margin-top: 6px; }

/* Zoekresultaten */
.iv-treffers { display: flex; flex-direction: column; gap: 4px; max-width: 880px; }
.iv-treffers .iv-kaart--compact { grid-template-columns: 184px minmax(0, 1fr); padding: 10px; }

.iv-leeg {
    padding: 36px 16px;
    text-align: center;
    color: var(--iv-tekst-zacht);
    border: 1px dashed var(--iv-lijn);
    border-radius: var(--iv-radius);
}

/* ─── bij de pagina (helppaneel) ────────────────────────────────────────────────────────────── */

.iv-pagina {
    padding: 14px 14px 10px;
    border-bottom: 1px solid var(--iv-lijn);
}

.iv-pagina__kop {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin: 0 4px 6px;
}

.iv-pagina__label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--iv-tekst-zacht);
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.iv-pagina__label .mud-icon-root { color: var(--iv-primair); font-size: 15px; }

.iv-pagina__links {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    margin: 4px 4px 0;
}

.iv-tekstknop {
    border: 0;
    background: none;
    padding: 6px 4px;
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    color: var(--iv-primair);
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.iv-tekstknop:hover { text-decoration: underline; }

.mud-dark-mode .iv-tekstknop,
.mud-dark-mode .iv-pagina__label .mud-icon-root,
.mud-dark-mode .iv-hervat .mud-icon-root,
.mud-dark-mode .iv-pil .mud-icon-root,
.mud-dark-mode .iv-tekst__blok.is-actief time,
.mud-dark-mode .iv-lijst__item[aria-current="true"] .iv-lijst__nr { color: var(--iv-accent); }

/* Dialoog */
/* In een dialoog scrollt de inhoud zelf; sticky met de afstand van de paginakop zou de tekstkolom
   een eind onder de video laten beginnen. */
.iv-dialoog .iv-kijker__zij { position: static; }

.iv-dialoog .mud-dialog-content,
.iv-dialoog__inhoud { padding-top: 4px; max-height: calc(100dvh - 180px); overflow-y: auto; }

.iv-dialoog__kop {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 14px;
}

.iv-dialoog__kop .iv-kijker__titel { margin: 0; font-size: 20px; }

@media (prefers-reduced-motion: reduce) {
    .iv-beeld, .iv-beeld img, .iv-beeld__speel, .iv-volgende { transition: none; animation: none; }
    .iv-kaart:hover .iv-beeld, .iv-kaart:hover .iv-beeld img { transform: none; }
    .iv-volgende__aftellen > span { animation-duration: 0s !important; }
}

@media (max-width: 600px) {
    .iv-kaart--compact,
    .iv-treffers .iv-kaart--compact { grid-template-columns: 112px minmax(0, 1fr); }
    .iv-stromen { grid-template-columns: minmax(0, 1fr); }
    .iv-lijst__item { grid-template-columns: 20px 84px minmax(0, 1fr); }
}
