/* Domein gezondheid (portaal + watmin): rijen met een gekleurd puntje en een herstelknop. */
.dgz-inhoud { min-height: 40px; }
.dgz-lijst { list-style: none; margin: 0; padding: 0; }
.dgz-rij { position: relative; display: flex; align-items: center; gap: 10px; padding: 8px 0; border-bottom: 1px solid rgba(15, 23, 42, .07); font-size: 13.5px; flex-wrap: wrap; }
.dgz-rij:last-child { border-bottom: 0; }
.dgz-dot { flex: 0 0 10px; width: 10px; height: 10px; border-radius: 50%; background: #94a3b8; box-shadow: 0 0 0 3px rgba(148, 163, 184, .18); }
.dgz-s-ok .dgz-dot { background: var(--brand-success, var(--goed, #22a35a)); box-shadow: 0 0 0 3px rgba(34, 163, 90, .16); }
.dgz-s-let .dgz-dot { background: var(--brand-warning, var(--waarschuwing, #f0a13c)); box-shadow: 0 0 0 3px rgba(240, 161, 60, .18); }
.dgz-s-fout .dgz-dot { background: var(--brand-danger, var(--fout, #dc2626)); box-shadow: 0 0 0 3px rgba(220, 38, 38, .16); }
.dgz-label { flex: 0 0 150px; font-weight: 600; }
.dgz-tekst { flex: 1 1 220px; min-width: 0; overflow-wrap: anywhere; opacity: .9; }
.dgz-knop { flex: 0 0 auto; margin-left: auto; border: 1px solid currentColor; border-radius: 6px; background: transparent; padding: 4px 10px; font: inherit; font-size: 12.5px; font-weight: 600; cursor: pointer; color: var(--brand-primary, var(--accent, #2563eb)); text-decoration: none; white-space: nowrap; }
.dgz-knop:hover { background: rgba(37, 99, 235, .07); }
.dgz-knop[disabled] { opacity: .55; cursor: wait; }
.dgz-voet { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 10px; font-size: 12.5px; opacity: .8; }
.dgz-opnieuw { border: 0; background: none; padding: 0; font: inherit; color: var(--brand-primary, var(--accent, #2563eb)); cursor: pointer; text-decoration: underline; }
.dgz-laden, .dgz-mislukt { margin: 6px 0; font-size: 13.5px; }
.dgz-mislukt { color: var(--brand-danger, var(--fout, #dc2626)); }
.dgz-melding { margin: 8px 0 0; padding: 8px 10px; border-radius: 6px; font-size: 13px; }
.dgz-melding.ok { background: rgba(34, 163, 90, .1); color: var(--brand-success-dark, #1b7d34); }
.dgz-melding.fout { background: rgba(220, 38, 38, .08); color: var(--brand-danger, #b91c1c); }
.dgz-vh { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.dgz-skelet { display: block; height: 14px; margin: 10px 0; border-radius: 4px; background: linear-gradient(90deg, rgba(15,23,42,.06), rgba(15,23,42,.12), rgba(15,23,42,.06)); background-size: 200% 100%; animation: dgz-skelet 1.2s infinite; }
@keyframes dgz-skelet { to { background-position: -200% 0; } }
@media (max-width: 560px) { .dgz-label { flex-basis: calc(100% - 20px); } .dgz-tekst { flex-basis: 100%; padding-left: 20px; } .dgz-knop { margin-left: 20px; } }
.dgz-info { display: inline-flex; align-items: center; justify-content: center; width: 17px; height: 17px; margin-left: 6px; padding: 0; border: 1px solid currentColor; border-radius: 50%; background: transparent; color: #64748b; font: italic 700 11px/1 Georgia, serif; cursor: pointer; vertical-align: 1px; }
.dgz-info:hover, .dgz-info[aria-expanded="true"] { color: var(--brand-primary, var(--accent, #2563eb)); }
.dgz-uitleg { flex-basis: 100%; margin: 2px 0 2px 20px; padding: 8px 10px; border-radius: 6px; background: rgba(37, 99, 235, .06); font-size: 13px; line-height: 1.45; }
/* Openbare pagina /domein-gezondheid (kaarten en formulier uit website-testen.css). */
.dgzp-pagina .dgz-lijst { margin-top: 6px; }
.dgzp-noot { margin: -6px 0 12px; }
.dgzp-wat { display: grid; grid-template-columns: minmax(130px, 180px) 1fr; gap: 8px 18px; margin: 14px 0 0; font-size: 14px; line-height: 1.55; }
.dgzp-wat dt { font-weight: 700; color: #17191c; }
.dgzp-wat dd { margin: 0; color: #3a3f47; }
@media (max-width: 560px) { .dgzp-wat { grid-template-columns: 1fr; } .dgzp-wat dd { margin-bottom: 8px; } }
/* Portaal: inklapbare kaart Domein / Email gezondheid met twee kolommen. */
.dgz-kop { width: 100%; border: 0; background: none; padding: 0; font: inherit; text-align: left; cursor: pointer; display: flex; align-items: center; gap: 8px; }
.dgz-kop .dgz-pijl { margin-left: auto; transition: transform .15s; display: inline-flex; }
.dgz-box:not(.dicht) .dgz-kop .dgz-pijl { transform: rotate(180deg); }
.dgz-box.dicht .mnd-dgz-intro, .dgz-box.dicht .dgz-kol-domein, .dgz-box.dicht .dgz-kolkop { display: none; }
.dgz-box.dicht .dgz-2kol { grid-template-columns: 1fr; }
.dgz-box.dicht .dgz-2kol .dgz-label { flex-basis: 150px; }
.dgz-totaal { display: inline-block; width: 12px; height: 12px; border-radius: 50%; background: #cbd5e1; box-shadow: 0 0 0 3px rgba(148, 163, 184, .2); }
.dgz-totaal-ok { background: var(--brand-success, #22a35a); box-shadow: 0 0 0 3px rgba(34, 163, 90, .18); }
.dgz-totaal-let { background: var(--brand-warning, #f0a13c); box-shadow: 0 0 0 3px rgba(240, 161, 60, .2); }
.dgz-totaal-fout { background: var(--brand-danger, #dc2626); box-shadow: 0 0 0 3px rgba(220, 38, 38, .18); }
.dgz-totaal-laden { animation: dgz-puls 1.2s infinite; }
@keyframes dgz-puls { 50% { opacity: .35; } }
.dgz-2kol { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 0 28px; }
.dgz-2kol .dgz-label { flex-basis: 140px; }
.dgz-kolkop { margin: 4px 0 2px; font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; opacity: .6; }
.dgz-mailextra:empty { display: none; }
.dgz-mailextra { margin-top: 10px; }
@media (max-width: 900px) { .dgz-2kol { grid-template-columns: 1fr; } .dgz-2kol .dgz-kol + .dgz-kol { margin-top: 12px; } }
