/* ==========================================================================
   Hohmann & de Vet – nieuwe vormgeving
   Alles hangt aan klassen hdv-*; de oude pagina's merken hier niets van.
   ========================================================================== */

:root {
	--hdv-groen: #566346;
	--hdv-groen-d: #444f37;
	--hdv-groen-dd: #2f3826;
	--hdv-salie: #e3e7da;
	--hdv-salie-l: #f4f5ef;
	--hdv-creme: #faf7f2;
	--hdv-zand: #f1ebe1;
	--hdv-accent: #c07a52;
	--hdv-accent-l: #f8eee6;
	--hdv-rood: #b42318;
	--hdv-rood-l: #fdecea;
	--hdv-tekst: #2a2620;
	--hdv-zacht: #6b655c;
	--hdv-lijn: #e6e2da;
	--hdv-wit: #fff;
	--hdv-font: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--hdv-r: 20px;
	--hdv-r-s: 12px;
	--hdv-schaduw: 0 1px 2px rgba(42, 38, 32, .05), 0 10px 30px -10px rgba(42, 38, 32, .14);
	--hdv-schaduw-groot: 0 2px 4px rgba(42, 38, 32, .05), 0 24px 60px -20px rgba(42, 38, 32, .28);
	--hdv-breedte: 1240px;
}

/* ---------- Basis binnen de nieuwe onderdelen ---------- */

.hdv-sectie, .hdv-header, .hdv-footer {
	font-family: var(--hdv-font);
	color: var(--hdv-tekst);
	font-size: 17px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}
.hdv-sectie *, .hdv-header *, .hdv-footer * { box-sizing: border-box; }
.hdv-sectie a, .hdv-header a, .hdv-footer a { color: var(--hdv-groen); text-decoration: none; }
.hdv-sectie p, .hdv-header p, .hdv-footer p { margin: 0 0 1em; }
.hdv-sectie p:last-child, .hdv-header p:last-child, .hdv-footer p:last-child { margin-bottom: 0; }
.hdv-sectie :focus-visible, .hdv-header :focus-visible, .hdv-footer :focus-visible { outline: 3px solid var(--hdv-accent); outline-offset: 2px; border-radius: 6px; }
.hdv-breed { width: 100%; max-width: var(--hdv-breedte); margin: 0 auto; padding: 0 24px; }
.hdv-i { width: 1.25em; height: 1.25em; flex: none; vertical-align: -.2em; }
.hdv-i--klein { width: 1em; height: 1em; vertical-align: -.12em; }
.screen-reader-text, .hdv-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

body.hdv-nieuw { background: #fff; }
body.hdv-nieuw #outer-wrap, body.hdv-nieuw #wrap { overflow: visible; }

/* Elementor-containers in de nieuwe documenten: de layout komt uit deze klassen */
.e-con.hdv-sectie { width: 100%; max-width: none !important; margin: 0 !important; padding: clamp(56px, 7vw, 96px) 0 !important; gap: 0 !important; position: relative; }
.e-con.hdv-binnen { width: 100%; max-width: var(--hdv-breedte) !important; margin: 0 auto !important; padding: 0 24px !important; gap: 40px !important; position: relative; z-index: 1; }
:where(.hdv-sectie) .e-con:where(:not(.hdv-binnen)) { padding: 0 !important; margin: 0; }
:where(.hdv-sectie) .e-con { --gap: 16px; gap: 16px; }
.hdv-sectie .elementor-widget:not(:last-child), .hdv-sectie .elementor-widget { margin-block-end: 0; margin-bottom: 0; }
.e-con.hdv-schoon { padding: 0 !important; gap: 0 !important; max-width: none !important; }

.hdv-sectie--wit { background: var(--hdv-wit); }
.hdv-sectie--licht { background: var(--hdv-salie-l); }
.hdv-sectie--creme { background: var(--hdv-creme); }
.hdv-sectie--groen { background: var(--hdv-groen-dd); color: #e7efeb; }
.hdv-sectie--compact.e-con { padding: 44px 0 !important; }
.hdv-sectie--kort-boven.e-con { padding-top: 24px !important; }

/* ---------- Typografie ---------- */

.hdv-kop .elementor-heading-title {
	font-family: var(--hdv-font) !important;
	font-weight: 750;
	letter-spacing: -.02em;
	line-height: 1.15;
	color: var(--hdv-groen-dd);
	margin: 0;
	text-transform: none;
}
.hdv-kop h1.elementor-heading-title { font-size: clamp(2.2rem, 4.6vw, 3.7rem); line-height: 1.06; letter-spacing: -.03em; }
.hdv-kop h2.elementor-heading-title { font-size: clamp(1.75rem, 3.2vw, 2.6rem); }
.hdv-kop h3.elementor-heading-title { font-size: clamp(1.15rem, 1.6vw, 1.35rem); line-height: 1.3; letter-spacing: -.01em; }
.hdv-kop h4.elementor-heading-title { font-size: 1.05rem; line-height: 1.35; }
.hdv-kop .elementor-heading-title a { color: inherit; }
.hdv-kop .elementor-heading-title em, .hdv-markeer { font-style: normal; color: var(--hdv-groen); background: none; padding: 0; }
.hdv-sectie--groen .hdv-kop .elementor-heading-title { color: #fff; }
.hdv-sectie--groen .hdv-kop .elementor-heading-title em { color: #fff; }

.hdv-sectie .elementor-widget-text-editor { font-family: var(--hdv-font); color: var(--hdv-zacht); font-size: 1rem; }
.hdv-sectie--groen .elementor-widget-text-editor { color: rgba(255, 255, 255, .82); }
.hdv-intro.elementor-widget-text-editor { font-size: clamp(1.05rem, 1.4vw, 1.2rem); line-height: 1.6; max-width: 46em; }
.hdv-sectiekop--midden .hdv-intro.elementor-widget-text-editor { margin-inline: auto; }
.hdv-tekst strong { color: var(--hdv-tekst); font-weight: 700; }
.hdv-sectie--groen .hdv-tekst strong { color: #fff; }
.hdv-tekst a { font-weight: 600; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.hdv-tekst h2, .hdv-tekst h3, .hdv-tekst h4 { font-family: var(--hdv-font); color: var(--hdv-groen-dd); letter-spacing: -.015em; line-height: 1.25; margin: 1.6em 0 .5em; }
.hdv-tekst h2 { font-size: 1.6rem; } .hdv-tekst h3 { font-size: 1.25rem; } .hdv-tekst h4 { font-size: 1.05rem; }
.hdv-tekst > .elementor-widget-container > :first-child, .hdv-tekst h2:first-child, .hdv-tekst h3:first-child { margin-top: 0; }
.hdv-tekst ul, .hdv-tekst ol { margin: 0 0 1em; padding-left: 1.2em; }
.hdv-tekst li { margin: .3em 0; }

.hdv-bovenkop p {
	display: inline-flex; align-items: center; gap: .7em;
	font-size: .78rem; font-weight: 750; letter-spacing: .14em; text-transform: uppercase;
	color: var(--hdv-groen); margin: 0;
}
.hdv-bovenkop p::before { content: ''; width: 26px; height: 2px; background: var(--hdv-accent); border-radius: 2px; }
.hdv-sectie--groen .hdv-bovenkop p { color: #c9cfb8; }

.hdv-sectiekop.e-con { gap: 14px !important; max-width: 780px; }
.hdv-sectiekop--midden.e-con { margin: 0 auto !important; text-align: center; align-items: center; }
.hdv-sectiekop--rij.e-con { max-width: none; flex-direction: row !important; justify-content: space-between; align-items: flex-end; flex-wrap: wrap; }

/* Lijst met vinkjes */
.hdv-vinklijst ul { list-style: none; padding: 0 !important; margin: 0 0 1em; display: grid; gap: 10px; }
.hdv-vinklijst li { position: relative; padding-left: 34px; margin: 0 !important; color: var(--hdv-tekst); }
.hdv-vinklijst li::before {
	content: ''; position: absolute; left: 0; top: .2em; width: 22px; height: 22px; border-radius: 50%;
	background: var(--hdv-salie) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23566346' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 12px no-repeat;
}
.hdv-vinklijst--kolommen ul { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 28px; }

/* ---------- Knoppen en links ---------- */

.hdv-knop, .hdv-knopwidget .elementor-button {
	display: inline-flex; align-items: center; justify-content: center; gap: .55em;
	font-family: var(--hdv-font) !important; font-weight: 700 !important; font-size: 1rem !important; line-height: 1.2 !important;
	padding: 14px 24px !important; border-radius: 999px !important; border: 2px solid var(--hdv-groen) !important;
	background: var(--hdv-groen) !important; color: #fff !important; text-decoration: none !important; cursor: pointer;
	transition: background .18s, border-color .18s, color .18s, transform .18s, box-shadow .18s; box-shadow: none !important;
	letter-spacing: 0 !important; text-transform: none !important; fill: currentColor;
}
.hdv-knop:hover, .hdv-knopwidget .elementor-button:hover { background: var(--hdv-groen-d) !important; border-color: var(--hdv-groen-d) !important; transform: translateY(-1px); color: #fff !important; }
.hdv-knop.hdv-knop--licht, .hdv-knopwidget.hdv-knop--licht .elementor-button { background: var(--hdv-salie-l) !important; border-color: var(--hdv-salie-l) !important; color: var(--hdv-groen-dd) !important; }
.hdv-knop.hdv-knop--licht:hover, .hdv-knopwidget.hdv-knop--licht .elementor-button:hover { background: var(--hdv-salie) !important; border-color: var(--hdv-salie) !important; color: var(--hdv-groen-dd) !important; }
.hdv-knop.hdv-knop--rand, .hdv-knopwidget.hdv-knop--rand .elementor-button { background: transparent !important; color: var(--hdv-groen) !important; }
.hdv-knop.hdv-knop--rand:hover, .hdv-knopwidget.hdv-knop--rand .elementor-button:hover { background: var(--hdv-groen) !important; color: #fff !important; }
.hdv-knopwidget.hdv-knop--wit .elementor-button, .hdv-knop.hdv-knop--wit { background: #fff !important; border-color: #fff !important; color: var(--hdv-groen-dd) !important; }
.hdv-knopwidget.hdv-knop--wit .elementor-button:hover, .hdv-knop.hdv-knop--wit:hover { background: var(--hdv-salie) !important; border-color: var(--hdv-salie) !important; color: var(--hdv-groen-dd) !important; }
.hdv-knopwidget.hdv-knop--glas .elementor-button { background: rgba(255, 255, 255, .08) !important; border-color: rgba(255, 255, 255, .35) !important; color: #fff !important; }
.hdv-knopwidget.hdv-knop--glas .elementor-button:hover { background: rgba(255, 255, 255, .16) !important; }
.hdv-knop.hdv-knop--klein { padding: 10px 18px !important; font-size: .92rem !important; }
.hdv-knoppen.e-con { flex-direction: row !important; flex-wrap: wrap; gap: 12px !important; align-items: center; }
.hdv-sectiekop--midden .hdv-knoppen.e-con, .hdv-knoppen--midden.e-con { justify-content: center; }

.hdv-pijl { display: inline-flex; align-items: center; gap: .45em; font-weight: 700; color: var(--hdv-groen) !important; text-decoration: none !important; }
.hdv-pijl .hdv-i { transition: transform .18s; }
.hdv-pijl:hover .hdv-i, a:hover > .hdv-pijl .hdv-i { transform: translateX(3px); }

.hdv-icoonvak { display: inline-grid; place-items: center; width: 52px; height: 52px; border-radius: 15px; background: var(--hdv-salie-l); color: var(--hdv-groen); flex: none; }
.hdv-icoonvak .hdv-i { width: 26px; height: 26px; }
.hdv-icoonwidget .elementor-shortcode { line-height: 0; }

/* ---------- Rasters en kaarten ---------- */

.e-con.hdv-raster-2, .e-con.hdv-raster-3, .e-con.hdv-raster-4 { display: grid !important; gap: 24px !important; align-items: stretch; }
.e-con.hdv-raster-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.e-con.hdv-raster-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.e-con.hdv-raster-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.e-con.hdv-split { display: grid !important; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(32px, 6vw, 80px) !important; align-items: center; }
.e-con.hdv-split--breed-rechts { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
.e-con.hdv-split--artikel { grid-template-columns: minmax(0, 1fr) 340px; }
.e-con.hdv-split--faq { grid-template-columns: 360px minmax(0, 1fr); }
.hdv-raster--compact .hdv-zorgkaart__tekst.e-con { padding: 18px 20px 20px !important; }
.hdv-raster--compact .hdv-zorgkaart__tekst .elementor-widget-text-editor { font-size: .9rem; }
.hdv-tekst ol { padding-left: 0; list-style: none; counter-reset: hdv-stap; display: grid; gap: 12px; }
.hdv-tekst ol li { counter-increment: hdv-stap; position: relative; padding-left: 44px; margin: 0; }
.hdv-tekst ol li::before { content: counter(hdv-stap); position: absolute; left: 0; top: -2px; width: 30px; height: 30px; border-radius: 50%; background: var(--hdv-groen); color: #fff; font-weight: 800; font-size: .9rem; display: grid; place-items: center; }
.hdv-tekst ul:not(.hdv-vinklijst ul) li::marker { color: var(--hdv-groen); }
.e-con.hdv-split--boven { align-items: start; }
.e-con.hdv-stapel { gap: 18px !important; }

.e-con.hdv-kaart {
	background: #fff; border: 1px solid var(--hdv-lijn); border-radius: var(--hdv-r);
	padding: 28px !important; gap: 12px !important; transition: transform .2s, box-shadow .2s, border-color .2s;
	color: var(--hdv-zacht); text-decoration: none;
}
a.e-con.hdv-kaart:hover { transform: translateY(-3px); box-shadow: var(--hdv-schaduw); border-color: var(--hdv-salie); }
.e-con.hdv-kaart .hdv-pijl, .e-con.hdv-kaart .hdv-meer { margin-top: auto; }
.hdv-meer p { font-weight: 700; color: var(--hdv-groen); display: inline-flex; align-items: center; gap: .4em; }
.hdv-meer p::after { content: '→'; transition: transform .18s; }
a:hover .hdv-meer p::after { transform: translateX(3px); }

/* ---------- Hero homepage ---------- */

.e-con.hdv-hero { background: var(--hdv-creme); padding: clamp(40px, 6vw, 80px) 0 clamp(110px, 12vw, 150px) !important; overflow: hidden; }
.e-con.hdv-hero::before {
	content: ''; position: absolute; right: -12vw; top: -20vw; width: 52vw; height: 52vw; border-radius: 50%;
	background: radial-gradient(circle at 30% 30%, var(--hdv-salie) 0%, rgba(227, 231, 218, 0) 70%); pointer-events: none;
}
.hdv-hero .hdv-split.e-con { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.hdv-hero__tekst.e-con { gap: 22px !important; }
.hdv-hero__beeld.e-con { position: relative; }
.hdv-hero__beeld .hdv-beeld img { aspect-ratio: 5 / 4; border-radius: 28px; box-shadow: var(--hdv-schaduw-groot); }
.hdv-vertrouwen ul { list-style: none; margin: 6px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 22px; font-size: .92rem; font-weight: 600; color: var(--hdv-tekst); }
.hdv-vertrouwen li { display: inline-flex; align-items: center; gap: .45em; }
.hdv-vertrouwen .hdv-i { color: var(--hdv-groen); }
.hdv-hero__badge { position: absolute; left: -28px; bottom: 28px; z-index: 2; }
.hdv-badge { background: #fff; border-radius: 18px; box-shadow: var(--hdv-schaduw-groot); padding: 16px 20px; display: flex; gap: 14px; align-items: center; max-width: 290px; }
.hdv-badge__kop { font-weight: 750; font-size: 1rem; color: var(--hdv-groen-dd); line-height: 1.25; margin: 0 !important; }
.hdv-badge a { color: var(--hdv-groen-dd) !important; font-weight: 700; }
.hdv-sectie--groen .hdv-tekst a { color: #c9cfb8; }
.hdv-badge__sub { font-size: .88rem; color: var(--hdv-zacht); margin: 2px 0 0 !important; line-height: 1.35; }

/* Status open/dicht */
.hdv-status { display: inline-flex; align-items: center; gap: .55em; }
.hdv-status__stip { width: 9px; height: 9px; border-radius: 50%; background: #a8a296; flex: none; }
.hdv-status.is-open .hdv-status__stip { background: #3ccf7f; box-shadow: 0 0 0 4px rgba(60, 207, 127, .22); }
.hdv-status.is-dicht .hdv-status__stip { background: #f0a43a; }
.hdv-status--chip { margin-top: 10px !important; font-size: .85rem; font-weight: 650; color: var(--hdv-groen-dd); background: var(--hdv-salie-l); padding: 6px 12px; border-radius: 999px; }

/* ---------- Vier kernblokken ---------- */

.e-con.hdv-sectie--kern { padding: 0 0 clamp(48px, 6vw, 80px) !important; margin-top: -84px !important; background: transparent; z-index: 3; }
.hdv-kern { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.hdv-kern__blok { background: #fff; border: 1px solid var(--hdv-lijn); border-radius: var(--hdv-r); padding: 26px 24px; box-shadow: var(--hdv-schaduw); display: flex; flex-direction: column; color: var(--hdv-zacht); font-size: .95rem; }
.hdv-kern__blok .hdv-icoonvak { margin-bottom: 16px; width: 46px; height: 46px; border-radius: 13px; }
.hdv-kern__blok .hdv-icoonvak .hdv-i { width: 23px; height: 23px; }
.hdv-kern__kop { font-size: .76rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; margin: 0 0 6px !important; color: var(--hdv-zacht); }
.hdv-kern__groot { font-size: 1.32rem; font-weight: 750; color: var(--hdv-groen-dd); letter-spacing: -.01em; line-height: 1.25; margin: 0 0 4px !important; }
.hdv-kern__groot a { color: inherit !important; }
.hdv-kern__blok p { margin: 0 0 4px; }
.hdv-kern__blok .hdv-pijl { margin-top: auto; padding-top: 14px; font-size: .95rem; }
.hdv-kern__blok--accent { background: var(--hdv-groen); border-color: var(--hdv-groen); color: rgba(255, 255, 255, .85); }
.hdv-kern__blok--donker { background: var(--hdv-groen-dd); border-color: var(--hdv-groen-dd); color: rgba(255, 255, 255, .8); }
.hdv-kern__blok--accent .hdv-kern__kop, .hdv-kern__blok--donker .hdv-kern__kop { color: rgba(255, 255, 255, .7); }
.hdv-kern__blok--accent .hdv-kern__groot, .hdv-kern__blok--donker .hdv-kern__groot, .hdv-kern__blok--accent a, .hdv-kern__blok--donker a { color: #fff !important; }
.hdv-kern__blok--accent .hdv-icoonvak, .hdv-kern__blok--donker .hdv-icoonvak { background: rgba(255, 255, 255, .12); color: #fff; }
.hdv-kern__blok--donker .hdv-pijl, .hdv-kern__blok--accent .hdv-pijl { color: #fff !important; }

/* ---------- Mededelingen ---------- */

.hdv-mededelingen { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 20px; }
.hdv-med { background: #fff; border: 1px solid var(--hdv-lijn); border-radius: var(--hdv-r); padding: 24px 26px; display: flex; flex-direction: column; gap: 10px; color: var(--hdv-zacht); font-size: .97rem; }
.hdv-med[hidden] { display: none; }
.hdv-med--vast { border-color: var(--hdv-groen); box-shadow: 0 0 0 1px var(--hdv-groen); }
.hdv-med__kop { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: .82rem; }
.hdv-med__kop time { color: var(--hdv-zacht); }
.hdv-med__label { font-weight: 750; font-size: .74rem; letter-spacing: .08em; text-transform: uppercase; padding: 5px 10px; border-radius: 999px; background: var(--hdv-salie-l); color: var(--hdv-groen-d); }
.hdv-med--belangrijk .hdv-med__label { background: var(--hdv-accent-l); color: #8a4a2a; }
.hdv-med--spoed .hdv-med__label { background: var(--hdv-rood-l); color: var(--hdv-rood); }
.hdv-med--spoed { border-left: 4px solid var(--hdv-rood); }
.hdv-med--belangrijk { border-left: 4px solid var(--hdv-accent); }
.hdv-med__titel { font-family: var(--hdv-font); font-size: 1.12rem !important; line-height: 1.3; font-weight: 750; color: var(--hdv-groen-dd); margin: 0 !important; letter-spacing: -.01em; }
.hdv-med__vol p { margin: 0 0 .7em; }
.hdv-med__acties { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: auto; padding-top: 6px; }
.hdv-med__meer { font: inherit; font-weight: 700; color: var(--hdv-groen); background: none; border: 0; padding: 0; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.hdv-med__alle { text-align: center; margin-top: 24px !important; }
.hdv-leeg { padding: 22px 24px; border-radius: var(--hdv-r); background: #fff; border: 1px dashed var(--hdv-lijn); }

/* ---------- Digitaal blok ---------- */

.e-con.hdv-digitaal { overflow: hidden; }
.hdv-sectie--groen.e-con.hdv-digitaal::after { content: ''; position: absolute; left: -10vw; bottom: -22vw; width: 46vw; height: 46vw; border-radius: 50%; background: radial-gradient(circle, rgba(86, 99, 70, .55), rgba(86, 99, 70, 0) 70%); pointer-events: none; }
.e-con.hdv-dienst { background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .12); border-radius: var(--hdv-r); padding: 24px !important; gap: 10px !important; color: rgba(255, 255, 255, .78); transition: background .2s, transform .2s; }
a.e-con.hdv-dienst:hover { background: rgba(255, 255, 255, .12); transform: translateY(-2px); }
.hdv-dienst .hdv-icoonvak { background: rgba(255, 255, 255, .1); color: #c9cfb8; width: 46px; height: 46px; }
.hdv-dienst .hdv-kop .elementor-heading-title { color: #fff; font-size: 1.08rem; }
.hdv-dienst .elementor-widget-text-editor { color: rgba(255, 255, 255, .74); font-size: .93rem; }
.hdv-app.e-con { background: #fff; color: var(--hdv-zacht); border-radius: 24px; padding: 30px !important; gap: 14px !important; box-shadow: var(--hdv-schaduw-groot); }
.hdv-app .hdv-kop .elementor-heading-title { color: var(--hdv-groen-dd); }
.hdv-app .elementor-widget-text-editor { color: var(--hdv-zacht); }

/* ---------- Over de praktijk ---------- */

.hdv-teamfoto img { border-radius: 24px; aspect-ratio: 16 / 9; object-fit: cover; width: 100%; box-shadow: var(--hdv-schaduw); }
.hdv-sectie p.hdv-klein { font-size: .88rem; padding-top: 10px; border-top: 1px solid var(--hdv-lijn); margin-top: 6px; }
.hdv-bijschrift p { font-size: .88rem; color: var(--hdv-zacht); text-align: center; }
.hdv-cijfers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 6px 0; }
.hdv-cijfer { background: var(--hdv-salie-l); border-radius: 16px; padding: 16px 18px; }
.hdv-cijfer strong { display: block; font-size: 1.9rem; line-height: 1.1; color: var(--hdv-groen-dd); font-weight: 800; letter-spacing: -.02em; }
.hdv-cijfer span { font-size: .88rem; color: var(--hdv-zacht); }

/* ---------- Speciale zorg kaarten ---------- */

.e-con.hdv-zorgkaart { background: #fff; border: 1px solid var(--hdv-lijn); border-radius: var(--hdv-r); overflow: hidden; gap: 0 !important; transition: transform .2s, box-shadow .2s; text-decoration: none; }
a.e-con.hdv-zorgkaart:hover { transform: translateY(-4px); box-shadow: var(--hdv-schaduw); }
.hdv-zorgkaart .hdv-beeld img { border-radius: 0 !important; aspect-ratio: 16 / 10; width: 100%; object-fit: cover; transition: transform .5s; }
a.hdv-zorgkaart:hover .hdv-beeld img { transform: scale(1.04); }
.hdv-zorgkaart .hdv-beeld { overflow: hidden; }
/* Staande foto's: uitsnede op de gezichten */
.hdv-beeld img.wp-image-11912 { object-position: center 28%; }
.hdv-zorgkaart__tekst.e-con { padding: 22px 24px 24px !important; gap: 8px !important; color: var(--hdv-zacht); flex-grow: 1; }
.hdv-zorgkaart__tekst .elementor-widget-text-editor { font-size: .95rem; }
.e-con.hdv-zorgkaart--donker { background: var(--hdv-groen-dd); border-color: var(--hdv-groen-dd); }
.hdv-zorgkaart--donker .hdv-zorgkaart__tekst.e-con { padding: 30px !important; justify-content: center; }
.hdv-zorgkaart--donker .hdv-kop .elementor-heading-title { color: #fff; }
.hdv-zorgkaart--donker .elementor-widget-text-editor { color: rgba(255, 255, 255, .8); }
.hdv-zorgkaart--donker .hdv-meer p { color: #c9cfb8; }
.hdv-zorgkaart--donker .hdv-icoonvak { background: rgba(255, 255, 255, .1); color: #c9cfb8; }

/* ---------- FAQ-groepen ---------- */

.hdv-faqgroepen { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.hdv-faqgroep { background: #fff; border: 1px solid var(--hdv-lijn); border-radius: var(--hdv-r); padding: 22px 22px 20px; display: flex; flex-direction: column; }
.hdv-faqgroep__kop { display: flex; gap: 14px; align-items: center; margin-bottom: 12px; }
.hdv-faqgroep__kop .hdv-icoonvak { width: 44px; height: 44px; border-radius: 12px; }
.hdv-faqgroep__kop .hdv-icoonvak .hdv-i { width: 22px; height: 22px; }
.hdv-faqgroep__titel { font-weight: 750; font-size: 1.05rem; line-height: 1.25; margin: 0 !important; }
.hdv-faqgroep__titel a { color: var(--hdv-groen-dd) !important; }
.hdv-faqgroep__aantal { font-size: .82rem; color: var(--hdv-zacht); margin: 2px 0 0 !important; }
.hdv-faqgroep ul { list-style: none; margin: 0 0 12px; padding: 0; }
.hdv-faqgroep li { border-top: 1px solid var(--hdv-lijn); }
.hdv-faqgroep li a { display: block; padding: 9px 18px 9px 0; color: var(--hdv-tekst) !important; font-size: .93rem; font-weight: 550; position: relative; line-height: 1.4; }
.hdv-faqgroep li a::after { content: '›'; position: absolute; right: 2px; top: 8px; color: var(--hdv-groen); font-weight: 700; }
.hdv-faqgroep li a:hover { color: var(--hdv-groen) !important; }
.hdv-faqgroep .hdv-pijl { margin-top: auto; font-size: .92rem; }

/* ---------- Uitklapbare vragen ---------- */

.hdv-faq { border-top: 1px solid var(--hdv-lijn); }
.hdv-faq__item { border-bottom: 1px solid var(--hdv-lijn); }
.hdv-faq__item summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 20px 4px; font-weight: 700; font-size: 1.06rem; color: var(--hdv-groen-dd); line-height: 1.4; }
.hdv-faq__item summary::-webkit-details-marker { display: none; }
.hdv-faq__item summary:hover { color: var(--hdv-groen); }
.hdv-faq__plus { position: relative; width: 32px; height: 32px; border-radius: 50%; background: var(--hdv-salie-l); flex: none; transition: background .2s, transform .25s; }
.hdv-faq__plus::before, .hdv-faq__plus::after { content: ''; position: absolute; left: 50%; top: 50%; width: 12px; height: 2px; background: var(--hdv-groen); border-radius: 2px; transform: translate(-50%, -50%); }
.hdv-faq__plus::after { transform: translate(-50%, -50%) rotate(90deg); transition: transform .25s; }
.hdv-faq__item[open] .hdv-faq__plus { background: var(--hdv-groen); }
.hdv-faq__item[open] .hdv-faq__plus::before, .hdv-faq__item[open] .hdv-faq__plus::after { background: #fff; }
.hdv-faq__item[open] .hdv-faq__plus::after { transform: translate(-50%, -50%) rotate(0deg); }
.hdv-faq__antwoord { padding: 0 56px 22px 4px; color: var(--hdv-zacht); }
.hdv-faq__antwoord p { margin: 0 0 .8em; }

/* ---------- Vergelijkingstabel ---------- */

.hdv-tabel { overflow-x: auto; border-radius: var(--hdv-r); border: 1px solid var(--hdv-lijn); background: #fff; }
.hdv-tabel table { width: 100%; border-collapse: collapse; font-size: .95rem; margin: 0; border: 0; }
.hdv-tabel caption { caption-side: top; text-align: left; padding: 18px 22px 0; font-weight: 750; color: var(--hdv-groen-dd); }
.hdv-tabel th, .hdv-tabel td { padding: 14px 18px; text-align: left; vertical-align: top; border: 0; border-bottom: 1px solid var(--hdv-lijn); line-height: 1.5; }
.hdv-tabel thead th { background: var(--hdv-groen-dd); color: #fff; font-weight: 700; font-size: .9rem; white-space: nowrap; }
.hdv-tabel th { text-transform: none; letter-spacing: 0; }
.hdv-tabel tbody th { font-weight: 700; color: var(--hdv-groen-dd); background: var(--hdv-creme); min-width: 170px; }
.hdv-tabel tbody tr:last-child th, .hdv-tabel tbody tr:last-child td { border-bottom: 0; }
.hdv-tabel td { color: var(--hdv-zacht); }
.hdv-ja, .hdv-nee { display: inline-block; font-weight: 700; font-size: .82rem; padding: 2px 10px; border-radius: 999px; }
.hdv-ja { background: var(--hdv-salie); color: var(--hdv-groen-d); }
.hdv-nee { background: #f1f1ef; color: #6b6b66; }
.hdv-tabel-noot p { font-size: .88rem; color: var(--hdv-zacht); }

/* ---------- Subpagina's ---------- */

.e-con.hdv-paginahero { background: var(--hdv-creme); padding: clamp(28px, 4vw, 44px) 0 clamp(48px, 6vw, 80px) !important; overflow: hidden; }
.hdv-paginahero .hdv-split.e-con { align-items: center; }
.hdv-paginahero .hdv-beeld img { aspect-ratio: 4 / 3; border-radius: 28px; box-shadow: var(--hdv-schaduw-groot); }
.hdv-paginahero__tekst.e-con { gap: 18px !important; }
.hdv-kruimel { font-size: .86rem; color: var(--hdv-zacht); display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-bottom: 8px; }
.hdv-kruimel a { color: var(--hdv-zacht) !important; font-weight: 600; }
.hdv-kruimel a:hover { color: var(--hdv-groen) !important; }
.hdv-kruimel__sep { opacity: .5; }
.hdv-kruimel [aria-current] { color: var(--hdv-tekst); font-weight: 600; }

.e-con.hdv-artikel { max-width: 780px; gap: 18px !important; }
.e-con.hdv-zijbalk { position: sticky; top: 140px; gap: 16px !important; }
.e-con.hdv-infokaart { background: var(--hdv-salie-l); border-radius: var(--hdv-r); padding: 26px !important; gap: 12px !important; }
.hdv-infokaart .hdv-kop .elementor-heading-title { font-size: 1.1rem; }
.e-con.hdv-callout { background: var(--hdv-accent-l); border-left: 4px solid var(--hdv-accent); border-radius: 0 var(--hdv-r-s) var(--hdv-r-s) 0; padding: 18px 22px !important; gap: 6px !important; }
.hdv-callout .elementor-widget-text-editor { color: #6b3f26; }
.hdv-callout .elementor-widget-text-editor strong { color: #4a2a18; }
.e-con.hdv-cta { background: var(--hdv-groen); border-radius: 28px; padding: clamp(28px, 4vw, 52px) !important; display: grid !important; grid-template-columns: minmax(0, 1.4fr) auto; gap: 28px !important; align-items: center; overflow: hidden; position: relative; }
.hdv-cta .hdv-kop .elementor-heading-title { color: #fff; }
.hdv-cta .elementor-widget-text-editor { color: rgba(255, 255, 255, .85); }
.e-con.hdv-cta .hdv-knoppen.e-con { justify-content: flex-end; }

.hdv-beeld img { width: 100%; height: auto; display: block; object-fit: cover; border-radius: 22px; }
.hdv-beeld--43 img { aspect-ratio: 4 / 3; }
.hdv-beeld--breed img { aspect-ratio: 16 / 9; }

.e-con.hdv-stap { gap: 10px !important; }
.hdv-stapnummer p { display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--hdv-groen); color: #fff !important; font-weight: 800; margin: 0; }

/* Teamkaarten */
.e-con.hdv-teamkaart { background: #fff; border: 1px solid var(--hdv-lijn); border-radius: var(--hdv-r); padding: 0 !important; overflow: hidden; gap: 0 !important; }
.hdv-teamkaart .hdv-beeld { background: linear-gradient(160deg, var(--hdv-salie-l), var(--hdv-salie)); }
.hdv-teamkaart .hdv-beeld img { border-radius: 0; aspect-ratio: 1 / 1; object-fit: cover; object-position: center top; }
.hdv-avatar { aspect-ratio: 1 / 1; display: grid; place-items: center; background: linear-gradient(160deg, var(--hdv-salie-l), var(--hdv-salie)); }
.hdv-avatar span { width: 42%; aspect-ratio: 1 / 1; border-radius: 50%; background: #fff; display: grid; place-items: center; font-size: clamp(1.8rem, 3vw, 2.6rem); font-weight: 800; color: var(--hdv-groen); letter-spacing: -.02em; box-shadow: var(--hdv-schaduw); }
.hdv-formulier .elementor-field-option label { font-size: .95rem !important; font-family: var(--hdv-font) !important; }
.hdv-formulier .elementor-field-subgroup .elementor-field-option { margin-right: 18px; }
.hdv-teamkaart__tekst.e-con { padding: 22px 24px 26px !important; gap: 8px !important; }
.hdv-rol p { font-size: .76rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; color: var(--hdv-groen); margin: 0; }
.hdv-teamkaart .elementor-widget-text-editor { font-size: .95rem; }

/* Galerij */
.hdv-galerij .gallery { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 0 !important; }
.hdv-galerij .gallery-item { width: auto !important; max-width: none !important; padding: 0 !important; margin: 0 !important; }
.hdv-galerij .gallery-item img { border-radius: 16px; aspect-ratio: 4 / 3; object-fit: cover; width: 100%; height: auto; border: 0 !important; }
.hdv-galerij br { display: none; }

/* Formulieren (Elementor Pro) */
.hdv-formulier .elementor-field-group { margin-bottom: 16px !important; }
.hdv-formulier .elementor-field-label { font-family: var(--hdv-font) !important; font-weight: 650 !important; color: var(--hdv-tekst) !important; font-size: .95rem !important; margin-bottom: 6px; }
.hdv-formulier .elementor-field-textual, .hdv-formulier select.elementor-field {
	font-family: var(--hdv-font) !important; border: 1px solid #ddd8ce !important; border-radius: 12px !important; background: #fff !important;
	padding: 12px 14px !important; font-size: 1rem !important; color: var(--hdv-tekst) !important; min-height: 48px;
}
.hdv-formulier .elementor-field-textual:focus { border-color: var(--hdv-groen) !important; box-shadow: 0 0 0 3px rgba(86, 99, 70, .18) !important; outline: 0; }
.hdv-formulier .elementor-field-option label { font-family: var(--hdv-font); color: var(--hdv-tekst); }
.hdv-formulier .elementor-button[type=submit] { background: var(--hdv-groen) !important; border-radius: 999px !important; padding: 15px 30px !important; font-family: var(--hdv-font) !important; font-weight: 700 !important; font-size: 1rem !important; }
.hdv-formulier .elementor-button[type=submit]:hover { background: var(--hdv-groen-d) !important; }
/* Formulier in stappen */
.hdv-formulier .e-form__indicators { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 28px; padding: 0; }
.hdv-formulier .e-form__indicators__indicator { display: flex; align-items: center; gap: 8px; flex: 1 1 0; min-width: 0; font-family: var(--hdv-font); font-size: .82rem; font-weight: 700; color: var(--hdv-zacht); }
.hdv-formulier .e-form__indicators__indicator__number { width: 30px; height: 30px; flex: none; border-radius: 50%; display: grid; place-items: center; background: var(--hdv-salie-l); border: 2px solid var(--hdv-salie); color: var(--hdv-zacht); font-weight: 800; font-size: .85rem; }
.hdv-formulier .e-form__indicators__indicator--state-active { color: var(--hdv-groen-dd); }
.hdv-formulier .e-form__indicators__indicator--state-active .e-form__indicators__indicator__number { background: var(--hdv-groen); border-color: var(--hdv-groen); color: #fff; }
.hdv-formulier .e-form__indicators__indicator--state-completed .e-form__indicators__indicator__number { background: var(--hdv-salie); border-color: var(--hdv-groen); color: var(--hdv-groen-dd); }
.hdv-formulier .e-form__indicators__indicator__label { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hdv-formulier .e-form__indicators__indicator__separator { display: none; }
.hdv-formulier .e-form__step { gap: 0; }
.hdv-formulier .e-form__buttons { display: flex; gap: 12px; justify-content: space-between; width: 100%; margin-top: 8px; }
.hdv-formulier .e-form__buttons__wrapper__button, .hdv-formulier .elementor-button[type=submit] {
	font-family: var(--hdv-font) !important; font-weight: 700 !important; font-size: 1rem !important; border-radius: 999px !important; padding: 14px 28px !important; border: 2px solid var(--hdv-groen) !important; cursor: pointer;
}
.hdv-formulier .e-form__buttons__wrapper__button-next, .hdv-formulier .elementor-button[type=submit] { background: var(--hdv-groen) !important; color: #fff !important; }
.hdv-formulier .e-form__buttons__wrapper__button-previous { background: #fff !important; color: var(--hdv-groen) !important; }
.hdv-formulier .e-form__buttons__wrapper__button-next:hover, .hdv-formulier .elementor-button[type=submit]:hover { background: var(--hdv-groen-d) !important; border-color: var(--hdv-groen-d) !important; }
.hdv-formulier .elementor-field-type-html { margin-bottom: 14px !important; }
.hdv-formuitleg { background: var(--hdv-salie-l); border-left: 4px solid var(--hdv-groen); border-radius: 0 12px 12px 0; padding: 12px 16px; font-family: var(--hdv-font); font-size: .93rem; color: var(--hdv-tekst); line-height: 1.55; }
.hdv-formuitleg p { margin: 0 !important; }
.hdv-formuitleg a { color: var(--hdv-groen); font-weight: 700; text-decoration: underline; }
.hdv-formuitleg .hdv-formuitleg__klein { font-size: .86rem; color: var(--hdv-zacht); }
.hdv-formulier .elementor-field-type-acceptance .elementor-field-option label, .hdv-formulier .elementor-field-subgroup .elementor-field-option label { font-size: .97rem !important; line-height: 1.5; }
.hdv-formulier .elementor-field-subgroup:not(.elementor-subgroup-inline) .elementor-field-option { display: flex; gap: 10px; align-items: flex-start; padding: 10px 14px; border: 1px solid var(--hdv-lijn); border-radius: 12px; margin: 0 0 8px; background: #fff; }
.hdv-formulier .elementor-field-option input[type=radio], .hdv-formulier .elementor-field-option input[type=checkbox] { accent-color: var(--hdv-groen); width: 18px; height: 18px; margin-top: 3px; flex: none; }
.hdv-formulier .elementor-field-subgroup.elementor-subgroup-inline { display: flex; flex-wrap: wrap; gap: 8px 22px; }
.hdv-formulier .elementor-field-type-upload input[type=file] { border: 2px dashed var(--hdv-salie) !important; background: var(--hdv-salie-l) !important; border-radius: 14px !important; padding: 18px !important; width: 100%; }
.hdv-formulier textarea.elementor-field-textual { min-height: 110px; }
.hdv-formulier .elementor-message-success { background: var(--hdv-salie-l); border-radius: 14px; padding: 16px 18px; color: var(--hdv-groen-dd) !important; font-weight: 700; }
.hdv-formintro p { font-size: .95rem; margin: -6px 0 6px; }
@media (max-width: 767px) {
	.hdv-formulier .e-form__indicators__indicator__label { display: none; }
	.hdv-formulier .e-form__indicators__indicator { flex: 0 0 auto; }
	.hdv-formulier .elementor-field-group { width: 100% !important; }
}

.e-con.hdv-formuliervak { background: #fff; border: 1px solid var(--hdv-lijn); border-radius: 24px; padding: clamp(22px, 4vw, 44px) !important; box-shadow: var(--hdv-schaduw); }

/* Teamtegels */
.hdv-teamtegels { display: grid; gap: 10px; margin: 4px 0; }
.hdv-teamtegels a { display: flex; align-items: center; gap: 16px; padding: 14px 18px; border-radius: 16px; background: var(--hdv-salie-l); color: var(--hdv-zacht) !important; transition: background .18s; }
.hdv-teamtegels a:hover { background: var(--hdv-salie); }
.hdv-teamtegels .hdv-icoonvak { background: #fff; width: 44px; height: 44px; border-radius: 12px; }
.hdv-teamtegels .hdv-icoonvak .hdv-i { width: 22px; height: 22px; }
.hdv-teamtegels strong { display: block; color: var(--hdv-groen-dd); font-size: 1.02rem; line-height: 1.3; }
.hdv-teamtegels small { font-size: .88rem; }
.hdv-teamtegels__pijl { margin-left: auto; color: var(--hdv-groen); }

/* Zorgwijzer (compact) */
.e-con.hdv-zorgwijzer { display: grid !important; grid-template-columns: 260px minmax(0, 1fr); gap: 32px !important; align-items: center; background: var(--hdv-creme); border-radius: 24px; padding: 28px 32px !important; }
.hdv-zorgwijzer__kop.e-con { gap: 6px !important; }
.hdv-zorgwijzer__kop .elementor-widget-text-editor { font-size: .93rem; }
@media (max-width: 1024px) { .e-con.hdv-zorgwijzer { grid-template-columns: minmax(0, 1fr); gap: 18px !important; padding: 24px !important; } }

/* Zorgwijzer-links */
.hdv-wijzer { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.hdv-wijzer a { display: inline-flex; align-items: center; gap: .55em; padding: 10px 16px; border-radius: 999px; background: #fff; border: 1px solid var(--hdv-lijn); color: var(--hdv-tekst) !important; font-weight: 600; font-size: .93rem; transition: border-color .18s, background .18s; }
.hdv-wijzer a:hover { border-color: var(--hdv-groen); background: var(--hdv-salie-l); }
.hdv-wijzer .hdv-i { color: var(--hdv-groen); width: 18px; height: 18px; }

/* ==========================================================================
   Header
   ========================================================================== */

.elementor-location-header:has(.hdv-header) { position: sticky; top: 0; z-index: 990; }
.admin-bar .elementor-location-header:has(.hdv-header) { top: 32px; }
@media (max-width: 782px) { .admin-bar .elementor-location-header:has(.hdv-header) { top: 0; } }
.hdv-header { position: relative; background: #fff; }
.hdv-skip { position: absolute; left: 12px; top: -60px; background: var(--hdv-groen-dd); color: #fff !important; padding: 10px 16px; border-radius: 10px; z-index: 5; font-weight: 700; }
.hdv-skip:focus { top: 8px; }

.hdv-topbalk { background: var(--hdv-groen-dd); color: rgba(255, 255, 255, .82); font-size: .84rem; }
.hdv-topbalk__binnen { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 40px; }
.hdv-topbalk__item { display: inline-flex; align-items: center; gap: .55em; margin: 0 !important; }
.hdv-topbalk__item .hdv-i { width: 15px; height: 15px; color: #c9cfb8; }
.hdv-topbalk a { color: #fff !important; font-weight: 600; }
.hdv-topbalk__spoed .hdv-i { color: #ffb4a8; }
.hdv-topbalk .hdv-status { margin-left: auto; }

.hdv-hoofdbalk { position: relative; background: #fff; border-bottom: 1px solid var(--hdv-lijn); transition: box-shadow .2s; }
.hdv-header.is-gescrold .hdv-hoofdbalk { box-shadow: 0 8px 24px -16px rgba(42, 38, 32, .35); }
.hdv-hoofdbalk__binnen { display: flex; align-items: center; gap: 28px; min-height: 80px; }
.hdv-logo { flex: none; display: block; line-height: 0; }
.hdv-logo img { height: 34px; width: auto; max-width: none; }

.hdv-nav { flex: 1; display: flex; justify-content: center; }
.hdv-nav__lijst { list-style: none; margin: 0; padding: 0; display: flex; gap: 2px; }
.hdv-nav__item { margin: 0; }
.hdv-nav__knop {
	display: inline-flex; align-items: center; gap: .35em; font: inherit; font-weight: 650; font-size: .98rem; color: var(--hdv-tekst) !important;
	background: transparent; border: 0; border-radius: 999px; padding: 10px 15px; cursor: pointer; transition: background .15s, color .15s; line-height: 1.3; text-transform: none; letter-spacing: 0;
}
.hdv-nav__knop:hover, .hdv-nav__knop[aria-expanded="true"], .hdv-nav__knop[aria-current] { background: var(--hdv-salie-l); color: var(--hdv-groen-dd) !important; }
.hdv-nav__knop .hdv-i { transition: transform .2s; opacity: .7; }
.hdv-nav__knop[aria-expanded="true"] .hdv-i { transform: rotate(180deg); }

.hdv-mega { position: absolute; left: 0; right: 0; top: 100%; background: #fff; border-top: 1px solid var(--hdv-lijn); box-shadow: 0 30px 60px -30px rgba(42, 38, 32, .35); padding: 34px 0 40px; z-index: 50; }
.hdv-mega:not([hidden]) { animation: hdv-in .18s ease-out; }
@keyframes hdv-in { from { opacity: 0; transform: translateY(-6px); } }
.hdv-mega__binnen { display: grid; grid-template-columns: 250px minmax(0, 1fr) 270px; gap: 44px; }
.hdv-mega__intro .hdv-mega__titel { font-size: 1.5rem; font-weight: 800; letter-spacing: -.02em; color: var(--hdv-groen-dd); margin: 0 0 8px !important; line-height: 1.2; }
.hdv-mega__intro p { color: var(--hdv-zacht); font-size: .95rem; }
.hdv-mega__intro .hdv-pijl { margin-top: 10px; font-size: .95rem; }
.hdv-mega__kolommen { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 24px 32px; }
.hdv-mega__kop { font-size: .74rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; color: var(--hdv-zacht); margin: 0 0 10px !important; }
.hdv-mega ul, .hdv-mobiel ul { list-style: none; margin: 0; padding: 0; }
.hdv-mega li a { display: block; padding: 6px 0; color: var(--hdv-tekst) !important; font-weight: 550; font-size: .97rem; line-height: 1.35; }
.hdv-mega li a:hover, .hdv-mega li a[aria-current] { color: var(--hdv-groen) !important; text-decoration: underline !important; text-underline-offset: 3px; }
.hdv-mega li a .hdv-i { margin-left: .3em; opacity: .55; }
.hdv-mega__kaart { background: var(--hdv-salie-l); border-radius: 18px; padding: 22px; align-self: start; font-size: .93rem; color: var(--hdv-zacht); }
.hdv-mega__kaarttitel { font-weight: 750; color: var(--hdv-groen-dd); font-size: 1.05rem; margin: 0 0 6px !important; }
.hdv-mega__kaart .hdv-knop { margin-top: 14px; }

.hdv-acties { display: flex; align-items: center; gap: 10px; flex: none; }
.hdv-icoonknop { display: inline-grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; border: 1px solid var(--hdv-lijn); background: #fff; color: var(--hdv-groen-dd); cursor: pointer; padding: 0; }
.hdv-icoonknop:hover, .hdv-icoonknop[aria-expanded="true"] { background: var(--hdv-salie-l); border-color: var(--hdv-salie); }
.hdv-acties .hdv-knop { padding: 12px 20px !important; font-size: .95rem !important; }
.hdv-burger { display: none; align-items: center; gap: 8px; font: inherit; font-weight: 700; color: var(--hdv-groen-dd); background: var(--hdv-salie-l); border: 0; border-radius: 999px; padding: 11px 16px; cursor: pointer; }
.hdv-burger[aria-expanded="true"] { background: var(--hdv-groen); color: #fff; }

.hdv-zoeklaag { position: absolute; left: 0; right: 0; top: 100%; background: #fff; border-top: 1px solid var(--hdv-lijn); box-shadow: 0 30px 60px -30px rgba(42, 38, 32, .35); padding: 22px 0; z-index: 51; }
.hdv-zoeklaag__form { display: flex; align-items: center; gap: 14px; }
.hdv-zoeklaag__form > .hdv-i { color: var(--hdv-groen); width: 24px; height: 24px; }
.hdv-zoeklaag input[type=search] { flex: 1; font: inherit; font-size: 1.1rem; border: 0; border-bottom: 2px solid var(--hdv-lijn); padding: 10px 2px; background: transparent; color: var(--hdv-tekst); border-radius: 0; min-width: 0; }
.hdv-zoeklaag input[type=search]:focus { outline: 0; border-color: var(--hdv-groen); }

.hdv-mobiel { position: absolute; left: 0; right: 0; top: 100%; background: #fff; max-height: calc(100vh - 120px); max-height: calc(100dvh - 120px); overflow-y: auto; padding: 18px 20px 32px; box-shadow: 0 30px 60px -30px rgba(42, 38, 32, .45); z-index: 60; }
.hdv-mobiel__acties { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 10px; }
.hdv-mobiel__acties .hdv-knop { padding: 13px 12px !important; font-size: .95rem !important; }
.hdv-mobiel__lijst > li { border-bottom: 1px solid var(--hdv-lijn); }
.hdv-mobiel__link { display: flex; width: 100%; justify-content: space-between; align-items: center; font: inherit; font-size: 1.1rem; font-weight: 700; color: var(--hdv-groen-dd) !important; background: none; border: 0; padding: 16px 2px; cursor: pointer; text-align: left; text-transform: none; letter-spacing: 0; }
.hdv-mobiel__link[aria-expanded="true"] .hdv-i { transform: rotate(180deg); }
.hdv-mobiel__sub { padding: 0 2px 16px; }
.hdv-mobiel__sub .hdv-mega__kop { margin-top: 12px !important; }
.hdv-mobiel__sub li a { display: block; padding: 8px 0; color: var(--hdv-tekst) !important; font-weight: 550; font-size: 1rem; line-height: 1.4; }
.hdv-mobiel__sub li a .hdv-i { margin-left: .35em; opacity: .55; }

/* Het thema kleurt knoppen bij hover/focus; binnen de nieuwe onderdelen bepalen wij dat zelf. */
.hdv-header .hdv-mobiel__link, .hdv-header .hdv-mobiel__link:hover, .hdv-header .hdv-mobiel__link:focus { background: none !important; color: var(--hdv-groen-dd) !important; box-shadow: none !important; }
.hdv-header .hdv-nav__knop:focus:not(:hover):not([aria-expanded="true"]) { background: transparent !important; }
.hdv-header .hdv-nav__knop:hover, .hdv-header .hdv-nav__knop[aria-expanded="true"] { background: var(--hdv-salie-l) !important; color: var(--hdv-groen-dd) !important; }
.hdv-header .hdv-burger:hover, .hdv-header .hdv-burger:focus { background: var(--hdv-salie) !important; color: var(--hdv-groen-dd) !important; }
.hdv-header .hdv-burger[aria-expanded="true"] { background: var(--hdv-groen) !important; color: #fff !important; }
.hdv-header .hdv-icoonknop:hover, .hdv-header .hdv-icoonknop:focus { background: var(--hdv-salie-l) !important; color: var(--hdv-groen-dd) !important; }
.hdv-sectie .hdv-med__meer:hover, .hdv-sectie .hdv-med__meer:focus { background: none !important; color: var(--hdv-groen-d) !important; }
.hdv-mobiel__spoed { margin-top: 20px; background: var(--hdv-creme); border-radius: 16px; padding: 16px 18px; font-size: .93rem; }
.hdv-mobiel__spoed p { margin: 0 0 6px !important; }
html.hdv-menu-open { overflow: hidden; }

/* ==========================================================================
   Footer
   ========================================================================== */

.hdv-footer__spoed { background: var(--hdv-salie-l); padding: 28px 0; }
.hdv-footer__spoedrij { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.hdv-spoedkaart { display: flex; gap: 14px; align-items: center; background: #fff; border-radius: 16px; padding: 16px 20px; }
.hdv-spoedkaart > .hdv-i { width: 26px; height: 26px; color: var(--hdv-groen); }
.hdv-spoedkaart__kop { font-weight: 750; color: var(--hdv-groen-dd); margin: 0 !important; font-size: .95rem; }
.hdv-spoedkaart p { margin: 0; font-size: .93rem; color: var(--hdv-zacht); }
.hdv-footer .hdv-spoedkaart a { font-weight: 700; color: var(--hdv-groen-dd) !important; }
.hdv-spoedkaart--rood > .hdv-i { color: var(--hdv-rood); }
.hdv-footer .hdv-spoedkaart--rood a { color: var(--hdv-rood) !important; }

.hdv-footer__hoofd { background: var(--hdv-groen-dd); color: rgba(255, 255, 255, .78); padding: 64px 0 52px; font-size: .95rem; }
.hdv-footer__raster { display: grid; grid-template-columns: minmax(0, 1.35fr) repeat(3, minmax(0, 1fr)); gap: 44px; }
.hdv-footer__logo { height: 32px; width: auto; filter: brightness(0) invert(1); opacity: .95; margin-bottom: 18px; }
.hdv-footer__contact { list-style: none; margin: 18px 0 0; padding: 0; display: grid; gap: 12px; }
.hdv-footer__contact li { display: flex; gap: 12px; align-items: flex-start; line-height: 1.45; }
.hdv-footer__contact .hdv-i { color: #c9cfb8; margin-top: 2px; }
.hdv-footer a { color: #fff !important; }
.hdv-footer__kop { color: #fff; font-weight: 750; font-size: 1rem; margin: 0 0 14px !important; }
.hdv-footer__kolom ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.hdv-footer__kolom a { color: rgba(255, 255, 255, .78) !important; display: inline-block; padding: 3px 0; }
.hdv-footer__kolom a:hover { color: #fff !important; text-decoration: underline !important; text-underline-offset: 3px; }
.hdv-footer__kolom .hdv-i { opacity: .6; margin-left: .3em; }
.hdv-footer__onder { background: #10302a; color: rgba(255, 255, 255, .6); font-size: .85rem; padding: 18px 0; }
.hdv-footer__onderrij { display: flex; flex-wrap: wrap; gap: 10px 24px; justify-content: space-between; align-items: center; }
.hdv-footer__onderrij p { margin: 0 !important; }
.hdv-footer__onderrij ul { list-style: none; display: flex; flex-wrap: wrap; gap: 6px 20px; margin: 0; padding: 0; }
.hdv-footer__onderrij a { color: rgba(255, 255, 255, .7) !important; }
.hdv-footer .hdv-footer__cookieknop, .hdv-footer .hdv-footer__cookieknop:hover, .hdv-footer .hdv-footer__cookieknop:focus { font: inherit; color: rgba(255, 255, 255, .7) !important; background: none !important; border: 0; padding: 0; cursor: pointer; text-transform: none; letter-spacing: 0; min-height: 0; }
.hdv-footer .hdv-footer__cookieknop:hover { color: #fff !important; text-decoration: underline; }

/* ==========================================================================
   Responsief
   ========================================================================== */

@media (max-width: 1280px) {
	.hdv-verberg-tablet { display: none !important; }
	.hdv-mega__binnen { grid-template-columns: 220px minmax(0, 1fr) 240px; gap: 32px; }
}
@media (max-width: 1100px) {
	.hdv-nav { display: none; }
	.hdv-burger { display: inline-flex; }
	.hdv-hoofdbalk__binnen { justify-content: space-between; }
	.hdv-kern { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.hdv-faqgroepen { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.hdv-footer__raster { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1024px) {
	.e-con.hdv-raster-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.e-con.hdv-raster-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.e-con.hdv-split, .hdv-hero .hdv-split.e-con, .e-con.hdv-split--breed-rechts { grid-template-columns: minmax(0, 1fr); }
	.e-con.hdv-zijbalk { position: static; }
	.hdv-hero__badge { left: 16px; bottom: 16px; }
	.e-con.hdv-cta { grid-template-columns: minmax(0, 1fr); }
	.e-con.hdv-cta .hdv-knoppen.e-con { justify-content: flex-start; }
	.hdv-galerij .gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.hdv-sectie, .hdv-header, .hdv-footer { font-size: 16px; }
	.e-con.hdv-binnen { padding: 0 18px !important; gap: 28px !important; }
	.hdv-breed { padding: 0 18px; }
	.hdv-verberg-mobiel { display: none !important; }
	.hdv-topbalk__binnen { min-height: 36px; font-size: .8rem; }
	.hdv-hoofdbalk__binnen { min-height: 66px; gap: 12px; }
	.hdv-logo img { height: 24px; }
	.hdv-icoonknop { width: 42px; height: 42px; }
	.e-con.hdv-raster-2, .e-con.hdv-raster-3, .e-con.hdv-raster-4 { grid-template-columns: minmax(0, 1fr); }
	.hdv-kern { grid-template-columns: minmax(0, 1fr); gap: 12px; }
	.hdv-kern__blok { display: grid; grid-template-columns: 46px minmax(0, 1fr); column-gap: 16px; padding: 20px; }
	.hdv-kern__blok > * { grid-column: 2; }
	.hdv-kern__blok > .hdv-icoonvak { grid-column: 1; grid-row: 1 / span 6; margin: 0; }
	.hdv-kern__blok .hdv-pijl { padding-top: 8px; }
	.e-con.hdv-sectie--kern { margin-top: -64px !important; }
	.hdv-faqgroepen { grid-template-columns: minmax(0, 1fr); }
	.hdv-mededelingen { grid-template-columns: minmax(0, 1fr); }
	.hdv-cijfers { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
	.hdv-cijfer { padding: 12px; }
	.hdv-cijfer strong { font-size: 1.5rem; }
	.hdv-vinklijst--kolommen ul { grid-template-columns: minmax(0, 1fr); }
	.hdv-footer__spoedrij { grid-template-columns: minmax(0, 1fr); gap: 10px; }
	.hdv-footer__raster { grid-template-columns: minmax(0, 1fr); gap: 32px; }
	.hdv-faq__antwoord { padding-right: 4px; }
	.hdv-hero__badge { position: static; margin-top: -40px; padding: 0 12px; }
	.hdv-badge { max-width: none; }
	.hdv-tabel table, .hdv-tabel thead, .hdv-tabel tbody, .hdv-tabel tr, .hdv-tabel th, .hdv-tabel td { display: block; }
	.hdv-tabel thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.hdv-tabel tbody tr { border-bottom: 1px solid var(--hdv-lijn); }
	.hdv-tabel tbody th { border-bottom: 0; }
	.hdv-tabel td { border: 0; padding: 6px 18px; }
	.hdv-tabel td::before { content: attr(data-kop); display: block; font-weight: 700; font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; color: var(--hdv-groen); }
	.hdv-tabel tbody tr td:last-child { padding-bottom: 16px; }
	.hdv-galerij .gallery { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
	.hdv-sectie *, .hdv-header *, .hdv-footer * { transition: none !important; animation: none !important; }
}

/* Lijst met links in de zijbalk */
.hdv-zijlinks ul { list-style: none; margin: 0; padding: 0 !important; }
.hdv-zijlinks li { border-top: 1px solid var(--hdv-salie); margin: 0 !important; }
.hdv-zijlinks li:first-child { border-top: 0; }
.hdv-zijlinks li a { display: block; padding: 9px 18px 9px 0; position: relative; color: var(--hdv-tekst) !important; text-decoration: none !important; font-weight: 600; font-size: .96rem; line-height: 1.4; }
.hdv-zijlinks li a::after { content: '›'; position: absolute; right: 2px; top: 8px; color: var(--hdv-groen); font-weight: 800; }
.hdv-zijlinks li a:hover { color: var(--hdv-groen) !important; }
.hdv-artikel .hdv-tekst ul li::marker { color: var(--hdv-groen); }
.hdv-artikel .hdv-tekst table { width: 100%; border-collapse: collapse; margin: 0 0 1em; font-size: .95rem; }
.hdv-artikel .hdv-tekst th, .hdv-artikel .hdv-tekst td { border-bottom: 1px solid var(--hdv-lijn); padding: 10px 12px; text-align: left; }
.hdv-artikel iframe { max-width: 100%; border-radius: 16px; }

/* Digitaal regelen: strook boven de footer op elke pagina */
.hdv-digistrook { background: #fff; padding: 56px 0 48px; border-top: 1px solid var(--hdv-lijn); }
.hdv-digistrook__kaart { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 36px; align-items: center; background: var(--hdv-salie-l); border: 1px solid var(--hdv-salie); border-radius: 28px; padding: clamp(24px, 4vw, 44px); }
.hdv-digistrook__boven { font-size: .78rem; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; color: var(--hdv-groen); margin: 0 0 10px !important; }
.hdv-footer .hdv-digistrook__titel { font-family: var(--hdv-font); font-size: clamp(1.5rem, 2.6vw, 2.1rem); line-height: 1.15; letter-spacing: -.02em; font-weight: 750; color: var(--hdv-groen-dd); margin: 0 0 12px; text-transform: none; }
.hdv-digistrook__titel span { color: var(--hdv-groen); }
.hdv-digistrook__tekst > p { color: var(--hdv-zacht); }
.hdv-digistrook__links { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 14px !important; }
.hdv-footer .hdv-digistrook__links a { color: var(--hdv-groen) !important; }
.hdv-digistrook__tegels { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.hdv-footer .hdv-digistrook__tegels a { display: flex; align-items: center; gap: 14px; background: #fff; border: 1px solid var(--hdv-lijn); border-radius: 18px; padding: 16px 18px; color: var(--hdv-zacht) !important; height: 100%; transition: border-color .18s, box-shadow .18s, transform .18s; }
.hdv-footer .hdv-digistrook__tegels a:hover { border-color: var(--hdv-groen); box-shadow: var(--hdv-schaduw); transform: translateY(-2px); }
.hdv-digistrook__tegels .hdv-icoonvak { width: 46px; height: 46px; border-radius: 13px; background: var(--hdv-groen); color: #fff; }
.hdv-digistrook__tegels .hdv-icoonvak .hdv-i { width: 22px; height: 22px; }
.hdv-digistrook__tegels strong { display: block; color: var(--hdv-groen-dd); font-size: 1rem; line-height: 1.3; }
.hdv-digistrook__tegels small { font-size: .86rem; }
.hdv-digistrook__noot { font-size: .82rem; color: var(--hdv-zacht); text-align: center; margin: 14px 0 0 !important; }
@media (max-width: 1024px) { .hdv-digistrook__kaart { grid-template-columns: minmax(0, 1fr); gap: 22px; } }
@media (max-width: 480px) { .hdv-digistrook__tegels { grid-template-columns: minmax(0, 1fr); } .hdv-digistrook { padding: 36px 0 32px; } }

/* ==========================================================================
   Lichte uitstraling: veel wit, groen alleen als accent (medische website)
   ========================================================================== */

.e-con.hdv-hero { background: #fff; }
.e-con.hdv-hero::before { background: radial-gradient(circle at 30% 30%, #eef0e6 0%, rgba(238, 240, 230, 0) 70%); }
.e-con.hdv-paginahero { background: linear-gradient(180deg, #f9f8f3 0%, #fff 100%); }

/* Kernblokken: allemaal wit, het afspraakblok krijgt een groene rand */
.hdv-kern__blok--accent, .hdv-kern__blok--donker { background: #fff; border-color: var(--hdv-lijn); color: var(--hdv-zacht); }
.hdv-kern__blok--accent { border-color: var(--hdv-groen); box-shadow: 0 0 0 1px var(--hdv-groen), var(--hdv-schaduw); }
.hdv-kern__blok--accent .hdv-kern__kop, .hdv-kern__blok--donker .hdv-kern__kop { color: var(--hdv-zacht); }
.hdv-kern__blok--accent .hdv-kern__groot, .hdv-kern__blok--donker .hdv-kern__groot, .hdv-kern__blok--accent .hdv-kern__groot a, .hdv-kern__blok--donker .hdv-kern__groot a { color: var(--hdv-groen-dd) !important; }
.hdv-kern__blok--accent a, .hdv-kern__blok--donker a, .hdv-kern__blok--donker .hdv-pijl, .hdv-kern__blok--accent .hdv-pijl { color: var(--hdv-groen) !important; }
.hdv-kern__blok--accent .hdv-icoonvak { background: var(--hdv-groen); color: #fff; }
.hdv-kern__blok--donker .hdv-icoonvak { background: var(--hdv-salie-l); color: var(--hdv-groen); }

/* Digitaal: lichte kaarten */
.e-con.hdv-dienst { background: var(--hdv-salie-l); border: 1px solid transparent; color: var(--hdv-zacht); }
a.e-con.hdv-dienst:hover { background: #fff; border-color: var(--hdv-salie); box-shadow: var(--hdv-schaduw); }
.hdv-dienst .hdv-icoonvak { background: #fff; color: var(--hdv-groen); }
.hdv-dienst .hdv-kop .elementor-heading-title { color: var(--hdv-groen-dd); }
.hdv-dienst .elementor-widget-text-editor { color: var(--hdv-zacht); }
.hdv-app.e-con { border: 1px solid var(--hdv-lijn); box-shadow: var(--hdv-schaduw); }

/* Kaart "International" */
.e-con.hdv-zorgkaart--donker { background: #fff; border-color: var(--hdv-lijn); }
.hdv-zorgkaart--donker .hdv-kop .elementor-heading-title { color: var(--hdv-groen-dd); }
.hdv-zorgkaart--donker .elementor-widget-text-editor { color: var(--hdv-zacht); }
.hdv-zorgkaart--donker .hdv-meer p { color: var(--hdv-groen); }
.hdv-zorgkaart--donker .hdv-icoonvak { background: var(--hdv-salie-l); color: var(--hdv-groen); }

/* Tabellen */
.hdv-tabel thead th { background: var(--hdv-salie-l); color: var(--hdv-groen-dd); border-bottom: 2px solid var(--hdv-salie); }
.hdv-tabel tbody th { background: #fff; }

/* Afsluiter */
.e-con.hdv-cta { background: var(--hdv-salie-l); border: 1px solid var(--hdv-salie); }
.hdv-cta .hdv-kop .elementor-heading-title { color: var(--hdv-groen-dd); }
.hdv-cta .elementor-widget-text-editor { color: var(--hdv-zacht); }
.hdv-cta .hdv-knopwidget.hdv-knop--wit .elementor-button { background: var(--hdv-groen) !important; border-color: var(--hdv-groen) !important; color: #fff !important; }
.hdv-cta .hdv-knopwidget.hdv-knop--wit .elementor-button:hover { background: var(--hdv-groen-d) !important; border-color: var(--hdv-groen-d) !important; }
.hdv-cta .hdv-knopwidget.hdv-knop--glas .elementor-button { background: #fff !important; border-color: var(--hdv-groen) !important; color: var(--hdv-groen) !important; }
.hdv-cta .hdv-knopwidget.hdv-knop--glas .elementor-button:hover { background: var(--hdv-groen) !important; color: #fff !important; }

/* Bovenbalk */
.hdv-topbalk { background: var(--hdv-salie-l); color: var(--hdv-zacht); border-bottom: 1px solid var(--hdv-lijn); }
.hdv-topbalk a { color: var(--hdv-groen-dd) !important; }
.hdv-topbalk__item .hdv-i { color: var(--hdv-groen); }
.hdv-topbalk__spoed .hdv-i { color: var(--hdv-rood); }

/* Footer */
.hdv-footer__spoed { background: #fff; border-top: 1px solid var(--hdv-lijn); }
.hdv-spoedkaart { background: var(--hdv-salie-l); }
.hdv-footer__hoofd { background: #f9f8f3; color: var(--hdv-zacht); border-top: 1px solid var(--hdv-lijn); }
.hdv-footer__logo { filter: none; opacity: 1; }
.hdv-footer__contact .hdv-i { color: var(--hdv-groen); }
.hdv-footer .hdv-footer__hoofd a { color: var(--hdv-tekst) !important; }
.hdv-footer__kop { color: var(--hdv-groen-dd); }
.hdv-footer .hdv-footer__kolom a { color: var(--hdv-zacht) !important; }
.hdv-footer .hdv-footer__kolom a:hover { color: var(--hdv-groen) !important; }
.hdv-footer__onder { background: #fff; color: var(--hdv-zacht); border-top: 1px solid var(--hdv-lijn); }
.hdv-footer .hdv-footer__onderrij a, .hdv-footer .hdv-footer__cookieknop, .hdv-footer .hdv-footer__cookieknop:hover, .hdv-footer .hdv-footer__cookieknop:focus { color: var(--hdv-zacht) !important; }
.hdv-footer .hdv-footer__onderrij a:hover, .hdv-footer .hdv-footer__cookieknop:hover { color: var(--hdv-groen) !important; }
/* ==========================================================================
   Duidelijkere kopjes en iconen
   ========================================================================== */

/* Iconen: vol groen vlak met wit, dikker getekend icoon */
.hdv-icoonvak,
.hdv-kern__blok .hdv-icoonvak, .hdv-kern__blok--donker .hdv-icoonvak,
.hdv-dienst .hdv-icoonvak, .hdv-teamtegels .hdv-icoonvak,
.hdv-faqgroep__kop .hdv-icoonvak, .hdv-zorgkaart--donker .hdv-icoonvak { background: var(--hdv-groen); color: #fff; }
.hdv-icoonvak .hdv-i, .hdv-digistrook__tegels .hdv-i { stroke-width: 2.1; }
.hdv-wijzer .hdv-i, .hdv-vertrouwen .hdv-i, .hdv-footer__contact .hdv-i, .hdv-topbalk__item .hdv-i { stroke-width: 2.1; }
.hdv-kern__blok--accent .hdv-icoonvak { background: var(--hdv-groen-dd); }

/* Kopjes in kaarten en blokken: groter, donkerder, vetter */
.hdv-kop h3.elementor-heading-title { font-size: clamp(1.22rem, 1.7vw, 1.45rem); font-weight: 800; color: var(--hdv-groen-dd); }
.hdv-dienst .hdv-kop .elementor-heading-title { font-size: 1.18rem; }
.hdv-faqgroep__titel { font-size: 1.2rem; font-weight: 800; }
.hdv-faqgroep__aantal { font-size: .88rem; }
.hdv-faqgroep li a { font-size: .98rem; color: var(--hdv-tekst) !important; }
.hdv-med__titel { font-size: 1.22rem !important; font-weight: 800; }
.hdv-kern__kop { font-size: .82rem; color: var(--hdv-groen) !important; }
.hdv-kern__groot { font-size: 1.45rem; font-weight: 800; }
.hdv-teamtegels strong { font-size: 1.1rem; font-weight: 800; }
.hdv-digistrook__tegels strong { font-size: 1.08rem; font-weight: 800; }
.hdv-spoedkaart__kop { font-size: 1.02rem; font-weight: 800; }
.hdv-footer__kop { font-size: 1.08rem; font-weight: 800; }
.hdv-mega__kop { color: var(--hdv-groen) !important; font-size: .8rem; }
.hdv-bovenkop p { font-size: .84rem; font-weight: 800; }
.hdv-kop h2.elementor-heading-title { font-weight: 800; }
.hdv-tekst h2, .hdv-tekst h3 { font-weight: 800; color: var(--hdv-groen-dd); }
/* Taalknop NL | EN */
.hdv-taal { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; font-size: .82rem; }
.hdv-taal a { color: var(--hdv-zacht) !important; text-decoration: none !important; padding: 2px 6px; border-radius: 6px; }
.hdv-taal a[aria-current] { color: #fff !important; background: var(--hdv-groen); }
.hdv-taal span { opacity: .4; }
.hdv-topbalk__taal { margin-left: 14px !important; }
.hdv-mobiel__taal { margin-top: 10px !important; }
.hdv-med__taal { font-size: .9rem; color: var(--hdv-zacht); margin: -10px 0 18px !important; font-style: italic; }
/* ==========================================================================
   Maten na het herstel van de basisletter (16 px)
   ========================================================================== */
.hdv-nav__knop { white-space: nowrap; font-size: .95rem; padding: 10px 12px; }
.hdv-hoofdbalk__binnen { gap: 20px; }
.hdv-logo img { height: 32px; }
.hdv-kop h1.elementor-heading-title { font-size: clamp(2.1rem, 3.6vw, 3.1rem); }
.hdv-kop h2.elementor-heading-title { font-size: clamp(1.7rem, 2.6vw, 2.3rem); }
.hdv-acties .hdv-knop { white-space: nowrap; }
@media (max-width: 1360px) {
	.hdv-verberg-tablet { display: none !important; }
	.hdv-nav__knop { padding: 10px 10px; font-size: .92rem; }
}
@media (max-width: 1180px) {
	.hdv-nav { display: none; }
	.hdv-burger { display: inline-flex; }
	.hdv-hoofdbalk__binnen { justify-content: space-between; }
}
/* Mededelingen: titel als link, overzichtspagina en paginering */
.hdv-med__titel a { color: inherit !important; text-decoration: none !important; }
.hdv-med__titel a:hover { color: var(--hdv-groen) !important; }
.hdv-medlijst { display: grid; gap: 20px; max-width: 860px; }
.hdv-med--groot { padding: 28px 32px; scroll-margin-top: 150px; }
.hdv-med--groot .hdv-med__titel { font-size: 1.45rem !important; }
.hdv-med--groot .hdv-med__vol { font-size: 1.02rem; color: var(--hdv-tekst); }
.hdv-med--groot:target { border-color: var(--hdv-groen); box-shadow: 0 0 0 3px rgba(86, 99, 70, .25), var(--hdv-schaduw); }
.hdv-paginering { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px; align-items: center; }
.hdv-paginering a { min-width: 44px; height: 44px; padding: 0 14px; display: inline-grid; place-items: center; border-radius: 999px; border: 1px solid var(--hdv-lijn); background: #fff; color: var(--hdv-groen-dd) !important; font-weight: 700; text-decoration: none !important; }
.hdv-paginering a:hover { border-color: var(--hdv-groen); }
.hdv-paginering a[aria-current] { background: var(--hdv-groen); border-color: var(--hdv-groen); color: #fff !important; }
@media (max-width: 767px) { .hdv-med--groot { padding: 22px 20px; } }
/* Lichtkrant onder het menu */
.hdv-lichtkrant { display: flex; align-items: stretch; background: var(--hdv-groen); color: #fff; overflow: hidden; border-bottom: 1px solid var(--hdv-groen-d); }
.hdv-lichtkrant[hidden] { display: none; }
.hdv-lichtkrant__label { flex: none; display: flex; align-items: center; gap: 8px; padding: 0 18px; background: var(--hdv-accent); color: #fff; font-weight: 800; font-size: .82rem; letter-spacing: .1em; text-transform: uppercase; position: relative; z-index: 1; }
.hdv-lichtkrant__venster { flex: 1; overflow: hidden; min-width: 0; -webkit-mask-image: linear-gradient(90deg, transparent, #000 40px, #000 calc(100% - 40px), transparent); mask-image: linear-gradient(90deg, transparent, #000 40px, #000 calc(100% - 40px), transparent); }
.hdv-lichtkrant__baan { display: flex; width: max-content; animation: hdv-lichtkrant 30s linear infinite; }
.hdv-lichtkrant__groep { display: flex; flex: none; }
.hdv-lichtkrant__groep a { display: inline-flex; align-items: center; padding: 12px 0; color: #fff !important; font-family: var(--hdv-font); font-weight: 800; font-size: 1.2rem; letter-spacing: -.01em; white-space: nowrap; text-decoration: none !important; }
.hdv-lichtkrant__groep a::after { content: ''; width: 8px; height: 8px; border-radius: 50%; background: rgba(255, 255, 255, .6); margin: 0 36px; }
.hdv-lichtkrant__groep a:hover, .hdv-lichtkrant__groep a:focus { text-decoration: underline !important; text-underline-offset: 4px; }
.hdv-lichtkrant:hover .hdv-lichtkrant__baan, .hdv-lichtkrant:focus-within .hdv-lichtkrant__baan, .hdv-lichtkrant.is-gepauzeerd .hdv-lichtkrant__baan { animation-play-state: paused; }
.hdv-lichtkrant__knop { flex: none; width: 46px; border: 0; background: var(--hdv-groen-d) !important; color: #fff !important; cursor: pointer; position: relative; padding: 0; }
.hdv-lichtkrant__knop::before, .hdv-lichtkrant__knop::after { content: ''; position: absolute; top: 50%; width: 4px; height: 14px; background: #fff; border-radius: 2px; transform: translateY(-50%); }
.hdv-lichtkrant__knop::before { left: 17px; }
.hdv-lichtkrant__knop::after { left: 25px; }
.hdv-lichtkrant.is-gepauzeerd .hdv-lichtkrant__knop::before { left: 18px; width: 0; height: 0; border-radius: 0; background: none; border-style: solid; border-width: 8px 0 8px 13px; border-color: transparent transparent transparent #fff; }
.hdv-lichtkrant.is-gepauzeerd .hdv-lichtkrant__knop::after { display: none; }
@keyframes hdv-lichtkrant { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (max-width: 767px) {
	.hdv-lichtkrant__label { padding: 0 12px; font-size: .72rem; }
	.hdv-lichtkrant__groep a { font-size: 1.05rem; padding: 10px 0; }
}
@media (prefers-reduced-motion: reduce) {
	.hdv-lichtkrant__baan { animation: none !important; flex-wrap: wrap; width: auto; }
	.hdv-lichtkrant__groep[aria-hidden] { display: none; }
	.hdv-lichtkrant__groep { flex-wrap: wrap; padding-left: 16px; }
	.hdv-lichtkrant__knop { display: none; }
}
/* ---------- FAQ-overzicht: één blok per onderwerp, drie op een rij ---------- */
.hdv-onderwerpen { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
a.hdv-onderwerp { display: flex; flex-direction: column; gap: 10px; background: #fff; border: 1px solid var(--hdv-lijn); border-radius: var(--hdv-r); padding: 26px 24px 22px; color: var(--hdv-zacht) !important; transition: transform .18s, box-shadow .18s, border-color .18s; }
a.hdv-onderwerp:hover, a.hdv-onderwerp:focus-visible { transform: translateY(-3px); box-shadow: var(--hdv-schaduw); border-color: var(--hdv-groen); }
.hdv-onderwerp .hdv-icoonvak { width: 48px; height: 48px; border-radius: 14px; background: var(--hdv-groen); color: #fff; margin-bottom: 4px; }
.hdv-onderwerp .hdv-icoonvak .hdv-i { width: 24px; height: 24px; }
.hdv-onderwerp__titel { font-size: 1.2rem; font-weight: 800; line-height: 1.3; color: var(--hdv-groen-dd); }
.hdv-onderwerp__aantal { font-size: .92rem; }
.hdv-onderwerp__meer { margin-top: auto; padding-top: 8px; display: inline-flex; align-items: center; gap: 6px; font-weight: 700; font-size: .95rem; color: var(--hdv-groen); }
.hdv-onderwerpen__alle { text-align: center; margin: 32px 0 0 !important; }
@media (max-width: 1024px) { .hdv-onderwerpen { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .hdv-onderwerpen { grid-template-columns: 1fr; } }
/* Kerninfo: het blok "Afspraak maken" zonder dikke rand, net als de andere drie. */
.hdv-kern__blok--accent { border-color: var(--hdv-lijn); box-shadow: var(--hdv-schaduw); }
/* Kerninfo: de openingsstatus staat onderaan, op één lijn met de links in de andere blokken. */
.hdv-kern__blok .hdv-status--chip { margin-top: auto !important; margin-bottom: -6px !important; align-self: flex-start; }
.hdv-kern__blok .hdv-pijl { white-space: nowrap; }

/* Mededelingen: vastgezette berichten zonder dikke rand. */
.hdv-med--vast { border-color: var(--hdv-lijn); box-shadow: none; }
.hdv-med--vast.hdv-med--belangrijk { border-left-color: var(--hdv-accent); }

/* Over de praktijk: staande foto van de gang met de naam van de praktijk. */
.hdv-teamfoto--staand img { aspect-ratio: 4 / 5; object-position: 50% 35%; }
/* Digitaal-blok op de homepage: steunkleur terracotta in plaats van overal groen. */
.hdv-digitaal .hdv-kop em { color: #a8623e; }
.hdv-digitaal .e-con.hdv-dienst { background: var(--hdv-accent-l); }
.hdv-digitaal a.e-con.hdv-dienst:hover { background: #fff; border-color: #ecd6c6; }
.hdv-digitaal .hdv-dienst .hdv-icoonvak, .hdv-digitaal .hdv-app .hdv-icoonvak { background: var(--hdv-accent); color: #fff; }
/* Gekleurde woorden in titels: overal de steunkleur (donker terracotta) voor meer contrast met het donkergroen. */
:root { --hdv-accent-d: #a8623e; }
.hdv-kop .elementor-heading-title em, .hdv-markeer, .hdv-digitaal .hdv-kop em { color: var(--hdv-accent-d); }
.hdv-sectie--groen .hdv-kop .elementor-heading-title em { color: #fff; }
/* Titelwoord in de digitale strook ook in de steunkleur. */
.hdv-digistrook__titel span, .hdv-footer .hdv-digistrook__titel span { color: var(--hdv-accent-d); }

/* ---------- Footer donkergroen, spoedblokken in dezelfde kleurstelling ---------- */
.hdv-footer__spoed { background: var(--hdv-groen-dd); border-top: 0; padding: 32px 0; }
.hdv-spoedkaart { background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .14); }
.hdv-spoedkaart > .hdv-i { color: #d7dcc8; }
.hdv-spoedkaart__kop { color: #fff; }
.hdv-spoedkaart p { color: rgba(255, 255, 255, .8); }
.hdv-footer .hdv-spoedkaart a { color: #fff !important; }
.hdv-spoedkaart--rood { background: rgba(192, 122, 82, .18); border-color: rgba(192, 122, 82, .45); }
.hdv-spoedkaart--rood > .hdv-i, .hdv-footer .hdv-spoedkaart--rood a { color: #ffb59a !important; }
.hdv-footer__hoofd { background: var(--hdv-groen-dd); color: rgba(255, 255, 255, .8); border-top: 1px solid rgba(255, 255, 255, .12); }
.hdv-footer__logo { filter: brightness(0) invert(1); opacity: .95; }
.hdv-footer__contact .hdv-i { color: #d7dcc8; }
.hdv-footer .hdv-footer__hoofd a { color: #fff !important; }
.hdv-footer__kop { color: #fff; }
.hdv-footer .hdv-footer__kolom a { color: rgba(255, 255, 255, .8) !important; }
.hdv-footer .hdv-footer__kolom a:hover { color: #fff !important; }
.hdv-footer__onder { background: #252d1e; color: rgba(255, 255, 255, .65); border-top: 0; }
.hdv-footer .hdv-footer__onderrij a, .hdv-footer .hdv-footer__cookieknop, .hdv-footer .hdv-footer__cookieknop:hover, .hdv-footer .hdv-footer__cookieknop:focus { color: rgba(255, 255, 255, .75) !important; }
.hdv-footer .hdv-footer__onderrij a:hover, .hdv-footer .hdv-footer__cookieknop:hover { color: #fff !important; }
.hdv-footer :focus-visible { outline-color: #ffb59a; }
/* Inschrijfformulier: stapnamen naast elkaar laten passen (afbreken in plaats van over elkaar). */
.elementor-widget-form .e-form__indicators { align-items: flex-start; gap: 8px; }
.elementor-widget-form .e-form__indicators__indicator { flex: 1 1 0; min-width: 0; padding: 0 2px; }
.elementor-widget-form .e-form__indicators__indicator__label { white-space: normal; text-align: center; font-size: .8rem; line-height: 1.25; hyphens: auto; }
.elementor-widget-form .e-form__indicators__indicator__separator { display: none; }
/* Lichtkrant iets compacter: kleinere letter en een lagere balk. */
.hdv-lichtkrant__groep a { font-size: 1.05rem; padding: 8px 0; }
.hdv-lichtkrant__groep a::after { width: 7px; height: 7px; margin: 0 30px; }
.hdv-lichtkrant__label { font-size: .76rem; padding: 0 16px; }
.hdv-lichtkrant__knop { width: 40px; }
.hdv-lichtkrant__knop::before { left: 14px; }
.hdv-lichtkrant__knop::after { left: 22px; }
.hdv-lichtkrant__knop::before, .hdv-lichtkrant__knop::after { height: 12px; }
@media (max-width: 767px) {
	.hdv-lichtkrant__groep a { font-size: .95rem; padding: 7px 0; }
	.hdv-lichtkrant__label { font-size: .68rem; padding: 0 10px; }
}
/* Hero: openingsbadge onderaan de foto en minder hoog (breder, zodat de tekst op minder regels past). */
.hdv-hero__badge .hdv-badge { max-width: 400px; padding: 12px 18px; gap: 12px; }
.hdv-hero__badge .hdv-badge .hdv-icoonvak { width: 44px; height: 44px; }
.hdv-hero__badge .hdv-badge__kop { line-height: 1.25; }
.hdv-hero__badge .hdv-badge__sub { line-height: 1.35; }@media (min-width: 1200px) {
	/* Brede schermen: kop en "Bel … afspraak" elk op één regel, zodat de badge zo laag mogelijk blijft. */
	.hdv-hero__badge .hdv-badge { max-width: 540px; }
	.hdv-hero__badge .hdv-badge__kop, .hdv-hero__badge .hdv-badge__sub { white-space: nowrap; }
}
/* Lichtkrant iets minder vet. */
.hdv-lichtkrant__groep a { font-weight: 650; }

/* Lichtkrant: alleen pauzeren als de muis of toetsenbordfocus op de tekst staat (niet op de pauzeknop),
   zodat de knop de lichtkrant ook weer kan starten. */
.hdv-lichtkrant:hover .hdv-lichtkrant__baan, .hdv-lichtkrant:focus-within .hdv-lichtkrant__baan { animation-play-state: running; }
.hdv-lichtkrant__venster:hover .hdv-lichtkrant__baan, .hdv-lichtkrant__venster:focus-within .hdv-lichtkrant__baan, .hdv-lichtkrant.is-gepauzeerd .hdv-lichtkrant__baan { animation-play-state: paused; }
/* Minder witruimte tussen de paginakop en de eerste sectie eronder. */
.e-con.hdv-paginahero { padding-bottom: clamp(32px, 4vw, 52px) !important; }
.e-con.hdv-paginahero + .e-con.hdv-sectie--wit { padding-top: clamp(20px, 2.5vw, 36px) !important; }
/* Koppen minder groot (paginakoppen en sectiekoppen); de homepagekop blijft iets groter. */
.hdv-kop h1.elementor-heading-title { font-size: clamp(1.9rem, 3vw, 2.6rem); line-height: 1.1; }
.hdv-kop h2.elementor-heading-title { font-size: clamp(1.5rem, 2.2vw, 2rem); line-height: 1.18; }
.hdv-hero .hdv-kop h1.elementor-heading-title { font-size: clamp(2.1rem, 3.6vw, 3rem); }
/* Spoedblokken in de footer lichter. */
.hdv-spoedkaart { background: rgba(255, 255, 255, .14); border-color: rgba(255, 255, 255, .22); }
.hdv-spoedkaart--rood { background: rgba(192, 122, 82, .32); border-color: rgba(192, 122, 82, .6); }

/* Bodytekst iets kleiner. */
.hdv-faq__antwoord, .hdv-faq__antwoord p, .hdv-faq__antwoord li { font-size: 1rem; }
.hdv-faq__item summary { font-size: 1.02rem; }
.hdv-intro.elementor-widget-text-editor { font-size: clamp(1rem, 1.3vw, 1.12rem); }