
:root {
/* Medisch Centrum Kruidenwijk: centraal kleurenpalet.
   Het donkere groen is de AA-variant voor tekst op lichte vlakken. */
--petrol: #203C4B;
--groen: #78934B;
--groen-tekst: #356458;
--medisch-blauw: #EDF5F7;
--mint: #DDEFE8;
--creme: #F7F5EF;
--licht-groen: var(--mint);
--wit: #FFFFFF;
--tekst: #35434A;
--rand: #D5E0E2;
--veld-rand: #7D8D94;
--kaart-schaduw: 0 4px 18px rgba(32, 60, 75, .06);
--kaart-radius: 12px;
--kleurachtergrond-ook-editor: var(--wit);

/* Layoutbreedtes */
--site-content-max: 1140px;
--site-shell-max: 1200px;

/* Algemene kleuren */
--kleurtekst: var(--tekst);
--kleur-tekst-strong: var(--tekst);
--kleur-quoot: var(--tekst);
--quootes-radius: 12px;

/* Icons */
--icon-size-desktop: 72px;
--icon-size-mobile: clamp(32px, 11vw, 60px);

/* Responsive typography */
--font-body: 16px;
--font-h1: clamp(2.8rem, 1.2vw + 2rem, 3.6rem);
--font-h2: clamp(2.3rem, .65vw + 1.9rem, 2.8rem);
--font-h3: clamp(2rem, .3vw + 1.8rem, 2.2rem);
--font-h4: 1.8rem;
--font-h5: 1.7rem;
--font-h6: 1.6rem;
--font-hero: clamp(2.4rem, 4vw, 5.2rem);
--font-menu: clamp(16px, 0.25vw + 14px, 17px);
--font-quoot: var(--font-body);

/* Spacing */
--space-section: clamp(32px, 4vw, 60px);
--space-content: clamp(20px, 3vw, 40px);
--space-gap: clamp(15px, 2vw, 40px);
--hero-padding-bottom: clamp(90px, 10vw, 400px);
--content-blokruimte: 20px;
--content-h3-ruimte-boven: 24px;

/* Top- en menubalk */
--topbalk-hoogte: 30px;
--topbalk-achtergrondkleur: var(--petrol);
--topbalk-kleur-tekst: #ffffff;
--menubalk: #fff;

--menuknop: var(--petrol);
--menuknop-tekst: #ffffff;

--menuknop-laatste: #ffffff;
--menuknop-tekst-laatste: var(--petrol);
--menuknop-tekst-laatste-hover: var(--petrol);
--menuknop-laatste-hover: var(--medisch-blauw);

--menuitem-kleur: var(--petrol);
--menuitem-kleur-hover: var(--groen-tekst);
--menuitem-kleur-acief: var(--groen-tekst);
--menuknop-tekst-hover: var(--medisch-blauw);

--menu-mobiel-achtergrond: var(--petrol);
--menu-mobiel-hover-back: var(--medisch-blauw);

/* Secties */
--sectie-een: var(--medisch-blauw);
--sectiekleurtekst: var(--tekst);
--sectie-twee: #ffffff;
--sectie-drie: var(--wit);
--sectiedrie-kleur: var(--petrol);
--quootes-achtergrondkleur: var(--mint);

/* .kleur kolom160 */
--achtergrondkleur: var(--licht-groen);
--padding-kleur: clamp(18px, 2vw, 24px);

/* CTA-knoppen */
--cta-kleur-body: var(--petrol);
--cta-kleur-body-hover: var(--groen-tekst);
--cta-kleur-rand: var(--petrol);
--cta-kleur-rand-hover: var(--groen-tekst);
--cta-kleur-tekst: #ffffff;
--cta-kleur-tekst-hover: #ffffff;
--cta-border-radius: 10px;

/* Footer */
--copyright-achtergrond: var(--petrol);
--copyright-tekst: var(--wit);
--kleur-tekst-voet: var(--wit);
--kleur-tekst-voet-hover: var(--medisch-blauw);
--kleur-opsomming-voet: var(--medisch-blauw);
--kleur-tekst-kop-voet: #ffffff;
--footer-achtergrondkleur: var(--petrol);

/* Blog / overige */
--blog-kolomachtergrondkleur: transparent;
--progress-kleur-leeg: var(--medisch-blauw);
--progress-kleur-vol: var(--groen);
--datumblog: var(--petrol);
--blog-bijschrift: var(--groen-tekst);

/* Kopteksten */
--kleur-koppen: var(--petrol); --h1: var(--petrol);
--h2: var(--petrol);
--h3: var(--petrol);
--h4: var(--petrol);
--h5: var(--petrol);
--h6: var(--petrol);

/* Formulier */
--contactform-knop-kleur: var(--petrol);

/* Burgermenu */
--burger-knop-kleur: var(--groen-tekst);
--burger-knop-kleur-tekst: var(--wit);
}


/* latin */
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 300 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuU6F.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


img.slagschaduw {
  transition: transform .35s ease;
  box-shadow: var(--kaart-schaduw);
  margin: 14px 10px 16px 0;  
}

a:hover img.slagschaduw {
  transform: none;
}

@media screen and (min-width: 966px) {
a.anchor {
display:block;
position:relative;
top:-150px;
visibility:hidden
}

}

@media screen and (width < 966px) {
a.anchor {
display:block;
position:relative;
top:-50px;
visibility:hidden
}

}

@media screen and (min-width: 966px) {
html {
font-size:62.5%
}

}

@media screen and (width < 966px) {
html {
font-size:57.5%
}

}


/* Voor de quotes*/

.homepagelink {
height:0;
display:block;
top:0
}


@media screen and (min-width: 966px) {
.bijschrift,.bijschrift-omhoog,.bijschrift-cta,.bijschrift-cta-omhoog {
background-size:50px 40px;
padding:15px 30px 20px 80px;
border-radius:6px;
margin:-25px 0 0;
color:#444;
background-position:left 10px top 0;
background-repeat:no-repeat;
background-image:url(../svg/bijschriftpijl.svg);
font-size:1.5rem
}

.bijschrift {
background-image:url(../svg/bijschriftpijl.svg)
}

.bijschrift-omhoog {
background-image:url(../svg/bijschriftpijlomhoog.svg)
}

.bijschrift-cta {
padding:15px 30px 20px 130px;
margin:-10px 0 0;
background-position:left 70px top 0
}

.bijschrift-cta-omhoog {
padding:20px 30px 20px 130px;
margin:-10px 0 0;
background-image:url(../svg/bijschriftpijlomhoog.svg);
background-position:left 70px top 0
}

}

@media screen and (width < 966px) {
.bijschrift,.bijschrift-omhoog,.bijschrift-cta,.bijschrift-cta-omhoog {
background-size:35px 30px;
padding:30px 0 20px;
margin:-10px 0 0;
border-radius:6px;
color:#666;
background-position:left 100px top 0;
background-repeat:no-repeat;
background-image:url(../svg/bijschriftpijlmob.svg);
font-size:1.65rem
}

.bijschrift {
background-image:url(../svg/bijschriftpijlmob.svg)
}

.bijschrift-omhoog {
background-image:url(../svg/bijschriftpijlomhoog.svg)
}

.bijschrift-cta-omhoog {
background-image:url(../svg/bijschriftpijlomhoog.svg);
background-position:left 100px top 0
}

}

.bannervoetposition {
margin-top: -8px;
position: relative;


background-size: cover;
background-repeat: no-repeat;
background-position: 50% 0;

padding-top: 20px;
}

.kleurtop,
.kleurtop h1,
.kleurtop h2,
.kleurtop h3,
.kleurtop h4,
.kleurtop h5,
.kleurtop h6,
.kleurtop strong {
  color: var(--sectiekleurtekst);
}

.kleurtop {

background:var(--sectie-een);
}

.kleurtop a { /* Linkkleuren volgen de algemene inhouds- en componentregels. */ }

.kleurtop h1 {
  color: var(--sectiekleurtekst);
}

.kleurvoet h1,.kleurvoet h2,.kleurvoet h3,.kleurvoet h4,.kleurvoet h5,.kleurvoet h6 {
color:var(--sectiedrie-kleur);
padding-top:0
}

.kleurvoet-no-bg,.kleurvoet-no-bg h1,.kleurvoet-no-bg h2,.kleurvoet-no-bg h3,.kleurvoet-no-bg h4,.kleurvoet-no-bg h5,.kleurvoet-no-bg h6 {
padding-top:0;
background-color:var(--sectie-drie)
}

.kleurgast {
background-color:#fff
}

.bannervoetpositioncaption {
position: relative;
max-width: 100vw;

background-repeat: repeat;
background-position: bottom;
padding: 0;
}

@media screen and (min-width: 600px) {
.foto {
min-height:350px
}

}

@media screen and (max-width: 600px) {
.foto {
min-height:125px
}

}

.kleurtransparanteoverlay {
background:url(../svg/transvoet2024.svg)
}

.bannervoet {
z-index:3;
border-width:0;
border-style:solid;
border-color:#2b2b2b;
max-width:var(--site-shell-max);
margin:0 auto;
padding:var(--space-section) 30px;
overflow:hidden
}


@media screen and (min-width: 966px) {
/* Titelbalken met uitsluitend een H1; secties met verdere inhoud blijven gelijk. */
.bannervoetposition:has(> .bannervoet > h1:only-child) {
  padding-top: 16px;
}

.bannervoet:has(> h1:only-child) {
  padding-top: calc(var(--space-section) * .8);
  padding-bottom: calc(var(--space-section) * .8);
}

.bannervoet > h1:only-child {
  font-size: calc(var(--font-h1) * .9);
}

#footer img:not(.icon):not(.icon-form),
.bannervoet img:not(.icon):not(.icon-form),
#inhoud-center img:not(.icon):not(.icon-form) {
max-width:100%;
height:auto!important;
border-radius:10px;
margin:10px 10px 10px 0;
}


}


@media screen and (width < 966px) {

#footer img:not(.icon):not(.icon-form),
.bannervoet img:not(.icon):not(.icon-form),
#inhoud-center img:not(.icon):not(.icon-form) {
display:block;
max-width:100%;
height:auto;
border-radius:10px;
margin:10px 10px 0 0;
}


}


#broodkruimels ol {
list-style-type:none;
margin:0;
padding:0;
overflow:hidden
}

#broodkruimels li {
float:left;
margin:0;
padding:0;
margin-right:4px
}

#broodkruimels li a {
display:block;
margin:0;
padding:0
}

@media screen and (min-width: 966px) {
#topbutton {
display:none
}

}

.progress-container {
  display:none;
  height:3px;
  position:fixed;
  top:0;
  z-index:16777271;
  width:100%;
  background-color:var(--progress-kleur-leeg);
}

.progress-bar {
height:3px;
background:var(--progress-kleur-vol);
width:0
}

@media screen and (width < 966px) {
.progress-container {
display:block;
}

#topbutton {
transition:.6s;
transition-delay:.8s;
position:fixed;
bottom:10px;
right:-70px;
background:#555;
padding:5px 5px 0;

border-radius:5px;
z-index:16777270
}

}

sup {
font-size:1rem
}

html, body {
background-color: var(--kleurachtergrond-ook-editor);
}
#inhoud {
background-color: var(--kleurachtergrond-ook-editor);;
}

body,
a,
textarea,
input,
select,
button,
form,
table {
font-family: 'Open Sans', sans-serif;

font-weight: 400;   /* 300 is te licht voor Open Sans, zeker op wit */

  color: var(--kleurtekst);
}

.bijschrift_cf {
font-size:1.4rem
}

/* Centrale basis voor broodtekst; componenten erven deze waarden. */
body {
  font-size: var(--font-body);
  line-height: 1.6;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

a,
form,
table {
  font-size: inherit;
  line-height: inherit;
}


/* Basis voor alle headings en hun links */
h1, h2, h3, h4, h5, h6,
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a,
h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover {
  font-family: 'Open Sans', sans-serif;
  font-weight: 600;
  letter-spacing: -0.015em;
  line-height: 1.2;
    

  text-decoration: none;
  font-style: normal;
  padding: 0;
  margin: 0 0 8px;
}

/* H1 */
h1, h1 a, h1 a:hover {
  color: var(--h1);
  font-size: var(--font-h1);
  line-height: 1.2;
  margin-bottom: 12px;
}

/* H2 */
h2, h2 a, h2 a:hover {
  color: var(--h2);
  font-size: var(--font-h2);
  line-height: 1.35;
  margin-bottom: 12px;
}

/* H3 */
h3, h3 a, h3 a:hover {
  color: var(--h3);
  font-size: var(--font-h3);
  line-height: 1.35;
  margin-bottom: 12px;
}

/* H4 */
h4, h4 a, h4 a:hover {
  color: var(--h4);
  font-size: var(--font-h4);
  line-height: 1.35;
  margin-bottom: 12px;
}

/* H5 */
h5, h5 a, h5 a:hover {
  color: var(--h5);
  font-size: var(--font-h5);
  line-height: 1.35;
  margin-bottom: 12px;
}

/* H6 */
h6, h6 a, h6 a:hover {
  color: var(--h6);
  font-size: var(--font-h6);
  line-height: 1.35;
  margin-bottom: 12px;
}


h3.blogreactie {
line-height:26px;
font-size:2rem;
margin:0 0 8px;
padding:0
}

strong {
color:var(--kleur-tekst-strong);
font-weight:700
}
strong a {
    font-weight: 700;
}

a.cta,
button,
a.leesverder,
a.leesverderblog,
a.ctahome {
    color:var(--cta-kleur-tekst);
  border: 2px solid var(--cta-kleur-rand);
  background-color: var(--cta-kleur-body);
 
  text-decoration: none;
  border-radius: var(--cta-border-radius);
  padding: 8px;
  display: inline-block;
  text-align: left;
  position: relative;
  margin-right: 0;
  bottom: 0;
  font-weight: 400;
  width: 230px; /* evt. i.p.v. vast 230px */
}

.cta-container {
  display: flex; /* Flexbox voor positionering */
  align-items: center; /* Centreer verticaal */
  position: relative;
  width: 100%; /* Hele breedte van de parent */
  margin: 0; /* Geen extra ruimte boven/onder */
  padding: 0;
}

@media screen and (min-width: 966px) {
a.ctaghost,a.ctaghostaan {
background-color:#fff;
color: var(--petrol);
font-size:1.7rem;
text-decoration:none;
border:2px solid #cbcbcb;

border-radius:20px;
text-align: left;
padding:10px 20px;
display:inline-block;
margin-right:10px;
margin-bottom:10px;
bottom:0
}

a.ctaghostaan {
background-color:var(--medisch-blauw);
color:var(--petrol)
}

}

@media screen and (width < 966px) {
a.ctaghost,a.ctaghostaan {
background-color:#fff;
color: var(--petrol);
font-size:1.4rem;
text-decoration:none;
border:1px solid #cbcbcb;

border-radius:5px;
text-align: left;
padding:5px 10px;
display:inline-block;
margin-right:5px;
margin-bottom:5px;
bottom:0
}

a.ctaghostaan {
background-color:var(--medisch-blauw);
color:var(--petrol)
}

}

a.cta:hover,a.leesverder:hover,a.leesverderblog:hover,a.ctahome:hover,button:hover {
color:var(--cta-kleur-tekst-hover);
background:var(--cta-kleur-body-hover);
border-color:var(--cta-kleur-rand-hover);
 
}

a.ctaghost:hover {
color:var(--petrol)
}

a.ctaghostaan:hover {
color:#444
}

p.blog-end,p.line {
margin-top:40px;
border-bottom-style:solid;
border-bottom-width:1px;
border-bottom-color:#000
}

a:hover, button:hover {
color:var(--groen-tekst)
}

p {
padding:0 0 16px
}

.plaatjerechts {
float:right;
margin-left:30px;
margin-bottom:5px;
margin-top:7px
}

.plaatjelinks {
float:left;
margin-right:30px;
margin-bottom:5px;
margin-top:7px
}

.logo {
height: 102px;
width:290px;
margin:0 0 5px 0px;
-webkit-transition:transform .6s ease-out;
-moz-transition:transform .6s ease-out;
-ms-transition:transform .6s ease-out;
-o-transition:transform .6s ease-out;
transition:transform .6s ease-out;
transform-origin:top left
}

.klein {
transform:scale(0.54);
transform-origin:top left
}

.logomob {
margin-top:0;
height: auto;
width: 180px;

}

@media screen and (width < 966px) {
:root {
  --content-blokruimte: 16px;
  --content-h3-ruimte-boven: 20px;
}

.logomob {
  width: 180px;
}

#inhoud {
z-index:3
}

}

@media screen and (min-width: 966px) {
#inhoud {
z-index:3
}

#mijnmenu {
float:right;
border-width:0;
border-style:solid;
border-color:#2e2e2e;
position:relative;
transition:margin-top .6s ease-out
}

.menu a:hover,
.menu a.actief {
color:var(--menuitem-kleur-hover);
}


a.actief {


  font-weight: 600;

}

a.laatste {
margin-right:0;
background-color:var(--menuknop-laatste);
color:var(--menuknop-tekst-laatste);
padding:6px 14px;
font-size:1.7rem;
line-height:1.7rem;
border-radius:20px
}
    .menu a.laatste:is(:focus-visible, .actief),
.menu a.laatste.actief:not(.burger) {
  background-color: var(--petrol);
  color: var(--wit);
  text-decoration: none;
}

.menu a.laatste:hover:not(.burger) {
  background-color: var(--mint);
  color: var(--petrol);
  text-decoration: none;
}

.menu .burger {
display:none
}

.menu .tel,.menu .mail,.menu .sluit {
display:none
}

}

@media screen and (width < 966px) {
.menu {
background-color:#727272;
max-height:0;
overflow:hidden;
transition:max-height .8s ease-in-out
}

.responsive {
max-height:600px;
font-size:2.5rem;
background-color:var(--menu-mobiel-achtergrond);
transition:max-height .8s ease-in-out
}

.menu a:hover,
.menu a.actief {
background-color:var(--menu-mobiel-hover-back);
color:#000;
transition:background-color .3s ease-in-out
}


 
.menu a.burger {
  color: var(--burger-knop-kleur-tekst);
  position: absolute;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 44px;
  min-height: 44px;
  padding: 6px 10px;
  border: 1px solid transparent;
  border-radius: 8px;
  right: 0;
  top: 0;
  margin-top: -52px;
  margin-right: 24px;
  background-color: var(--burger-knop-kleur);
  text-decoration: none;
}

.menu a.burger::before {
  content: '';
  width: 16px;
  height: 14px;
  flex: 0 0 16px;
  /* Drie vaste lijnen van 2px, met 1px vrije ruimte aan boven- en onderrand. */
  background: linear-gradient(to bottom,
    transparent 0 1px, currentColor 1px 3px,
    transparent 3px 6px, currentColor 6px 8px,
    transparent 8px 11px, currentColor 11px 13px,
    transparent 13px 14px);
}

.menu a.burger:hover,
.menu a.burger:focus-visible,
.menu a.burger:active,
.menu a.burger[aria-expanded="true"] {
  color: var(--burger-knop-kleur-tekst);
  background-color: var(--petrol);
  text-decoration: none;
}

.menu a {
  padding:6px 18px 8px 30px;
  text-decoration:none;
  font-size: var(--font-menu);
  font-weight:400;
  color:#fff;
  float:none;
  display:block;
  text-align:left;
  border-bottom:2px solid #8f8f8f;
  transition:background-color .3s ease-in-out;
  border-right:0 solid #fff;
}

.menu a:first-of-type {
transition:.6s margin-top ease-in-out;
margin-top:41px
}

.menu.responsive a:first-of-type {
transition:.6s margin-top ease-in-out;
margin-top:0
}

.menu a:nth-last-of-type(2) {
border-bottom:2px solid #8f8f8f
}

}

article:last-of-type {
border-bottom:0 solid var(--petrol);
margin:30px 0 0
}

article:first-of-type {
border-top:0 solid var(--rand);
margin:0 0 30px
}

#broodkruimels-center {
border-width:0;
border-style:solid;
border-color:#000;
position:relative;
max-width:var(--site-shell-max);
margin:0 auto;
padding:2px 0 4px 30px
}

a.broodkruimeltje {
font-size:1.4rem;
color:var(--tekst);
margin:0;
padding:0;
font-weight:300
}

img {
max-width:100%;
height:auto!important
}


#footer-center h1,#footer-center p,#footer-center h3,#footer-center a,#footer-center strong,#footer-center ul {
color:var(--kleur-tekst-voet);
text-decoration:none;
list-style:none;
font-size: var(--font-body);
line-height: 1.6;
}

#footer-center ul li::before {
content:"\2022";
color:var(--kleur-opsomming-voet);
font-weight:700;
display:inline-block;
width:15px;
margin-left:0
}

#footer-center ul ul li::before {
content:"\2022";
color:var(--kleur-opsomming-voet);
font-weight:700;
display:inline-block;
width:15px;
margin-left:20px;
margin-top:0
}

#footer-center ul,#footer-center ul ul {
padding:0;
margin-left:0;
padding-left:10px
}


#footer-center ul ul {
padding:0;
margin-left:0;
padding-left:10px
}

#footer-center a:hover {
color:#2b2b2b;
text-decoration:none
}


.menu-center {
border-width:0;
border-style:solid;
border-color:#2b2b2b;
position:relative;
max-width:var(--site-content-max);
margin:0 auto
}

@media (min-width: 966px) {
.zonder-topbalk {
  --topbalk-hoogte: 0px;
}

.menubalktopper {
  height:var(--topbalk-hoogte);
  width:100%;
  border-bottom:solid 0 #D9DADB;
  position:fixed;
  top:0;
  z-index:16777271;
  background:var(--topbalk-achtergrondkleur);
}

.menubalktopper-center {
border-width:0;
border-style:solid;
border-color:#fff;
position:relative;
max-width:var(--site-shell-max);
margin:0 auto;
padding:0 30px;
z-index:16777271
}

.menubalktopper-center strong,
.menubalktopper-center p,
.menubalktopper-center a,
.menubalktopper-center a:hover {
  font-size: 1.2rem;
  line-height:2.6rem;
  margin: 0;
  color: var(--topbalk-kleur-tekst);
  font-weight: 400;
}


   
#menu-center-top {
  position: relative;
  max-width: var(--site-shell-max);
  height: 0;
  margin: 0 auto;
  padding-right: 60px;
  border: 0 solid #2b2b2b;
}

#broodkruimels {
/* Desktop */    
font-size: 1.4rem;
padding-top: 4px;
width: 100%;
z-index: 999999;
background: #f3f3f3;
color: var(--tekst);
overflow: hidden;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
}

    .rijtegel .reviewfoto:first-child {
  flex: 0 0 175px; /* vaste breedte voor de fotokolom */
}


 .kolom160, .kolom160blog {
  
 position: relative;
display: block;
float: left;
flex: 1;

margin: 0 40px 0 0;
padding: 0;

border: 0 solid #fff;
border-radius: 5px;

text-align: left;
text-decoration: none;
 }
 .kolom160:last-of-type, .kolom160blog:last-of-type {
  margin-right: 0px;
 }
 
.kolom160blog {
 background-color: var(--blog-kolomachtergrondkleur);
 padding: 20px 35px 0 35px;
 margin-top: 0px;
 }


    
    
    
.blog-een-kolom {

}
.blog-twee-kolommen {

}
.blog-drie-kolommen {

}
.blog-vier-kolommen {
    padding: 0px 5px 0 5px;
    background-color: unset
}

    

.OG_image {
 display: block;
  max-width:500px;
  max-height:250px;
  width: auto;
  height: auto;
 }
 
.OG_image_content {
        
        margin-left: 0px;
        margin-bottom: 30px;
        width: 400px;
    }

.kolom160 li {
  margin-left: 5px;
 }


#inhoud-rechts {
border-style:solid;
border-color:#e2e2e2;
padding:30px;
border-width:1px;
float:right;
display:inline-block;
list-style-type:none;
margin:0 -30px 10px 50px;
position:relative;
text-align:left;
width:250px;
border-radius:3px;
overflow:hidden;
font-weight:400;
vertical-align:top;
margin-bottom:50px
}

#inhoud-rechtsmobiel {
display:none
}

#contact-links {
width:48%;
float:left
}

#contact-rechts {
width:48%;
float:right;
padding-left:0;
padding-right:4%;
padding-top:0
}

.menubalk {
  position: fixed;
  top: calc(95px + var(--topbalk-hoogte));
  z-index: 5;
  width: 100%;
  padding-bottom: 10px;
  border-bottom: 0 solid #D9DADB;
}

.menubalk2,
.menubalk3 {
  position: fixed;
  top: var(--topbalk-hoogte);
  z-index: 5;
  width: 100%;
  height: 122px;
  padding: 0;
  background: var(--menubalk);
  border-bottom: 0 solid #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
}

.menubalk,
.menubalk2,
.menubalk3 {
  transition: all 0.6s ease-out;
  background-repeat: no-repeat;
  background-size: auto 150px;
  background-position: bottom;
}

.menubalk3 {
  background-color: #fff;
}

.zonderslider {
background-repeat:no-repeat;
background-position:bottom
}

.zonderslidera {
color:#fff
}

#spacer-no-slider {
position:relative;
height:calc(120px + var(--topbalk-hoogte));
margin:0 auto
}

.blogtegel img {
height:auto!important;
margin-bottom:0
}

.blogtegel {
display: inline-block;
vertical-align: top;
position: relative;
width: 40%;
margin: 3px 3% 10px 0;
padding: 30px 3% 40px;

border: 1px solid #f3f3f3;
border-radius: 3px;

font-weight: 400;
text-align: left;
list-style-type: none;
overflow: hidden;
}

.blogtegel_os {
display: inline-block;
vertical-align: top;
position: relative;

flex: 1;

margin: 3px 3% 10px 0;
padding: 30px 3% 100px;
border: 1px solid #f3f3f3;
border-radius: 3px;

font-weight: 400;
text-align: left;
list-style-type: none;
overflow: hidden;
}

#logo {
float:left;
margin-left:30px;
margin-top:13px
}

#wrapper {
flex:1 0 auto;
width:100%;
margin: 0 auto;
min-height: 0;
height: auto !important;
overflow: hidden;
}

#push {
display:none
}

#push-center {
max-width:900px;
margin:0 auto;
height:auto
}

#footer {
  flex-shrink:0;
  height:auto;
  background:var(--footer-achtergrondkleur);
  background-image:none;
  background-repeat:no-repeat;
  background-size:auto 100%;
  background-position:bottom;
}

#footer-center {
  max-width: 1200px;
  margin: 0 auto;
  height: auto;
  display: flex;
  gap: 25px;
  padding: 40px 30px 24px;
}

#footer-center > .clear {
  display: none;
}

.footer-center-col-eerste,
.footer-center-col,
.footer-center-col-laatste {
  min-width: 0;
  overflow-wrap: anywhere;
}

/* Eerste kolom */
.footer-center-col-eerste {
  flex: 1.46 1 0;
}

/* Middenkolom */
.footer-center-col {
  flex: 1 1 0;
}

/* Laatste kolom */
.footer-center-col-laatste {
  flex: 0.25 1 0;
  padding: 0;
}

#kaartmob,#logo-mob,#top {
display:none
}

ol,ol li {
margin-left:-8px
}

ul,li {
margin-left:-10px
}

ul.check li {
background:url(../svg/check2024.svg) no-repeat left 6px;
background-size:16px 16px;
margin-left:0;
padding-left:22px;
padding-top:0
}

ul.check {
list-style-type:none;
margin-left:0;
padding-left:0
}

#menu {
float: left;
position: relative;
padding: 0;
border: 0 solid #2b2b2b;
}

#menu-mob {
display:none
}

#slider,#sliderposition {
padding-top:35%
}


#sliderposition {
position: relative;
margin-top: calc(120px + var(--topbalk-hoogte));
overflow: hidden;

border: 0 solid;
border-radius: 0;

background-size: cover;
background-repeat: no-repeat;
background-position: 50% 0;
}

#slider {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
max-width: 100vw;

padding-top: 0;
color: #fff;

background: url(../svg/trans2025.svg) no-repeat bottom;
background-color: #2b2b2b;
background-size: auto 100%;
}

#captionone {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
max-width: 100vw;

display: flex;
padding-top: 0;
color: #fff;

background: url(../svg/trans2025.svg) no-repeat bottom;
background-size: auto 100%;
}


.footer-mob {
display:none
}

}

@media (width < 966px) {
    
  
.menubalktopper,.menubalktopper-center {
display:none
}

#menu-center-top {
/* Mobiel */    
position: relative;
max-width: 1060px;
margin: 0 auto;
padding: 0;
border: 0 solid #fff;
}

.kolom160, .kolom160blog {
  /* mobiel geen last of type */
position: relative;
display: block;
flex: 1;
border-radius: 0;
text-align: left;
text-decoration: none;
border: 0 solid #fff;
border-bottom: 0 solid #000;

padding: 0;
margin: 0 0 10px 0;
 }
.kolom160blog {
 background-color: #f0f0f0;
 padding: 20px 15px 10px 15px;
 
 }
.OG_image {
display: none;
    }
.fotoblog {
display: none;
    }

 .kolom160 li {
  margin-left: -5px;
 }

#broodkruimels {
/* Mobiel */    
position: inherit;
z-index: 200;
width: 100%;
padding: 0;
font-size: 1.4rem;
color: var(--tekst);
background: #f3f3f3;
overflow: hidden;
}

#inhoud-rechts {
display:none
}

.menubalk {
width: 100%;
z-index: 5;
background: #2b2b2b;
border-bottom: 0 solid #2b2b2b;
    }

.menubalk2 {
position: fixed;
top: 0;
z-index: 5;
width: 100%;
min-height: 50px;
padding: 0;
background: var(--menubalk);
border-bottom: 0 solid #D9DADB;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
}

#spacer-no-slider {
position:relative;
height: 67px;
margin: 0px auto;
}

.socialmedia {
visibility:hidden
}

.video-container {
position:relative;
padding-bottom:56.25%;
padding-top:30px;
height:0;
overflow:hidden
}

.video-container iframe,.video-container object,.video-container embed {
position:absolute;
top:0;
left:0;
width:100%;
height:100%
}

#wrapper {
flex:1 0 auto;
width:100%;
margin: 0 auto;
min-height: 0;
height: auto !important;
background-color: #fff;
overflow: hidden;
}

#push {
display:none
}

#push-center {
max-width:900px;
margin:0 auto;
height:auto
}

#footer {
  flex-shrink:0;
  height:auto;
  background:var(--footer-achtergrondkleur);
  background-image:none;
  background-repeat:no-repeat;
  background-size:auto 100%;
  background-position:bottom;
}

#footer-center {
max-width:900px;
margin:0 auto;
height:auto;
display:flow-root;
padding:24px 30px
}
    
.footer-center-col-eerste,
.footer-center-col,
.footer-center-col-laatste {
  float: none;
  width: 100%;
  box-sizing: border-box;
  padding: 0 0 16px;
  overflow-wrap: anywhere;
}

#footer-center > div:empty {
  display: none;
}

#footer-center ul li {
/* zorgen voor voldoende ruimte ivm seo check Google aanklikbaarheid mobiel*/  
padding-bottom: 4px

}

#footer-center p {
  padding-bottom: 12px;
}      
    
#kaart {
display:none
}

ol,ol li {
margin-left:-8px
}

ul,li {
margin-left:-10px
}

ul.check li {
background:url(../svg/check2024.svg) no-repeat left 6px;
background-size:16px 16px;
margin-left:0;
padding-left:22px;
padding-top:0
}

ul.check {
list-style-type:none;
margin-left:0;
padding-left:0
}

.footer-mob {
float:left;
width:200px;
padding:0 25px 0 0;

}


#slider,#sliderposition {
   
padding-top:26%
}


#sliderposition {
overflow: hidden;
margin-top: 66px;
position: relative;

border: 0;
border-radius: 0;

background-size: cover;
background-repeat: no-repeat;
background-position: 50% 0;
}

#slider {
  position:absolute;
  top:0;
  left:0;
  bottom:0;
  right:0;
  max-width:100vw;
  background:url(../svg/trans2025.svg);
  padding-top:0;
  background-repeat:no-repeat;
  background-size:auto 100%;
  background-position:bottom;
  color:#fff;
}

#menu {
display:none
}

#menu-mob {
color:#fff;
text-align:left;
padding-top:15px;
padding-left:47px
}

.hidden {
float:left;
margin-top:-15px;
width:100%;
z-index:2;
position:absolute;
left:-830px;
background-color:#fff;
color:#2b2b2b
}

#logo-mob,#top {
width:200px;
margin-left:30px;
padding-top:10px
}

#top {
width:auto;
}


#logo {
display:none
}

}

@media (min-width: 966px) {
#inhoud {
z-index:3
}

#zoek {
float:left;
border-width:0;
border-style:solid;
border-color:#2b2b2b;
position:relative;
max-width:200px;
height:26px;
padding:14px 0 10px 30px
}

}

@media (width < 966px) {
#zoek {
display:none
}

}

@media (width < 966px) {
#inhoud-center {
  display:block;
  height:auto!important;
  margin-bottom:0;
  z-index:3;
  border-width:0;
  border-style:solid;
  border-color:#2b2b2b;
  max-width:var(--site-shell-max);
  margin:0 auto;
  padding:var(--space-content) 24px;
  overflow:hidden;
}

}
@media (min-width: 966px) {
#inhoud-center {
z-index:3;
border-width:0;
border-style:solid;
border-color:#2b2b2b;
max-width:var(--site-shell-max);
margin:0 auto;
padding:var(--space-content) 30px;
overflow:hidden
}

}
@media (width < 966px) {
.kleiner {
font-size:1.8rem;
margin-top:30px
}

.pijl {
height:50px;
width:50px
}

}

@media (min-width: 966px) {


.kleiner {
  font-size:3.5rem;
  margin-top:30px
}

.pijl {
  margin-top:-250px;
  height:100px;
  width:100px
}


}

img.cover {
position:relative;
top:-440px;
left:0;
height:100%;
width:100%
}

* {
  margin:0;
  box-sizing:border-box;
}

form {
    border-width: 0px;
    border-style: dashed;
    border-color: #cccccc;
    max-width: 100%;
}


textarea,
input:not([type=checkbox]) {
    background-color: #FFF;

    height: 36px;
    width: 100%;
    border-width: 1px;
    border-radius: 8px;
    border-style: solid solid solid solid;
    /* boven rechts onder links */
    border-color: var(--veld-rand);
    PADDING: 0 0 0 10px;
}

input.vergeten {
    background-color: var(--petrol);
}


textarea {
    height: 200px;
    width: 100%;
padding: 10px 0 0 10px; 
    margin-bottom: 10px;
}

select {
  background-color: #FFF;
    font-size: 1.6rem;
    color: var(--tekst);
    height: 36px;
    width: 100%;
    border-width: 1px;
    border-radius: 4px;
    border-style: solid solid solid solid;
    /* boven rechts onder links */
    border-color: var(--veld-rand);
    PADDING: 0 0 0 10px;
}
option:first-of-type {
  color: var(--tekst);
}
option {
  color: var(--tekst);
}
::placeholder {
  color: var(--tekst);
  opacity: 1;
}

select.vergeten {
    background-color: var(--petrol);
}

.vergeten {
    background-color: var(--petrol);
}

input,
textarea,option {
    font-size: 1.6rem;
    color: #43454b;
}

input.send {
    height: 50px;
    width: 100%;
    font-size: 1.6rem;
    padding-left: 5px;
    background-color: var(--contactform-knop-kleur);
    border-color: var(--contactform-knop-kleur);
    color: #fff;
}

input.datum {

    max-width: 160px;

}

input.datumvergeten {
    background-color: #43454b;
    max-width: 160px;

}

select.voorkeur {

    width: 120px;
}

input.naam {

    width: 310px;
}

select.sekse {

    width: 60px;
}

.verplicht {
    font-size: 1.8rem;
    color: #43454b;
}


.clear {
clear:both
}

img.down:hover {
opacity:.7
}

a.zoek {
letter-spacing:1px;
font-size:2.8rem;
margin:0 0 5px;
color:#25AAE1;
line-height:36px;
font-weight:300
}

a.zoek:hover {
color:#6c6c6c
}

a:hover.menu-blog,h2 a:hover,h3 a:hover,h4 a:hover,h5 a:hover,h6 a:hover {
color:#ccc
}

h1.form {
margin:10px 0
}

a.menu-blog {
  margin:30px 0 5px;
  text-decoration:none;
}


a.footermenu {
  font-size: 2rem;
  line-height: 200%;
  color: #fff;
  letter-spacing: 1px;
  text-decoration: none;
  margin: 30px 0 20px;
  padding: 0;
  font-weight: 600;
}

a:hover.footermenu {
color:#929292
}

img.grijs {
  filter:gray;
  -webkit-filter:grayscale(100%);
  -webkit-transition:all .3s ease;
  -webkit-backface-visibility:hidden;
  margin-right:0;
}

img.grijs:hover {
filter:none;
-webkit-filter:grayscale(0%)
}


.wit {
background-color:#fff
}

@media print {
.bedrijvenlogos,iframe,.video-container,#menu,#mijnenu,.menu-center,#menubalktopper,#menubalk,#menubalk2,#captionone,#footer,#inhoud-rechts,#slider,#sliderposition,#menu-center,#footer-center,#menu-mob,#sliderposition2 {
display:none
}

html,body {
height:auto;
font-size:12pt
}

}

/* Rechte sectieovergangen, zonder decoratieve driehoekjes. */
.bannervoetposition::before,
.bannervoetposition::after,
.lees-verder-twee::before,
.lees-verder-twee-b::before,
.lees-verder-drie::after {
  content: none;
}
.lees-verder {
background:var(--sectie-drie);
z-index:1
}

.bannervoetposition.lees-verder.kleurvoet {
background:var(--sectie-een);
overflow:visible;
  --space-section: clamp(24px, 3vw, 36px);
}

/* Algemene primaire en secundaire CTA */
a.cta {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-width: 135px;
  margin: 8px 12px 0 0;
  padding: 11px 18px;
  color: var(--cta-kleur-tekst);
  background: var(--cta-kleur-body);
  border: 1px solid var(--cta-kleur-rand);
  border-radius: var(--cta-border-radius);
  font-family: 'Open Sans', sans-serif;
  font-size: var(--font-body);
  font-weight: 600;
  line-height: 1.45;
  text-align: left;
  text-decoration: none;
}

a.cta:hover {
  border-color: var(--cta-kleur-rand-hover);
}

a.cta2 {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-width: 135px;
  margin: 8px 12px 0 0;
  padding: 11px 18px;
  color: var(--h2);
  background: rgba(255,255,255,0.88);
  border: 1px solid var(--h2);
  border-radius: var(--cta-border-radius);
  font-family: 'Open Sans', sans-serif;
  font-size: var(--font-body);
  font-weight: 600;
  line-height: 1.45;
  text-align: left;
  text-decoration: none;
}

a.cta2:hover {
  color: #fff;
  background: var(--h2);
  border-color: var(--h2);
}

#copyright {
border-top:solid 0 #f2f7fc
}

#copyright-center {
max-width:1000px;
margin:0 auto;
height:54px;
overflow:hidden;
padding:0 30px
}

.copyright-color,.copyright-color a,.copyright-color a:hover {
background:var(--copyright-achtergrond);
color:var(--copyright-tekst);
text-decoration:none;
font-size:1.4rem
}

@media screen and (width < 966px) {
  #copyright-center {
    height: auto;
    overflow: visible;
    padding: 1em 30px;
    font-size: 1.65rem;
    line-height: 1.5;
    overflow-wrap: anywhere;
  }

  #copyright-center :is(p, a, span, small, strong) {
    font-size: inherit;
    line-height: inherit;
  }

  #copyright-center > :first-child { margin-top: 0; }
  #copyright-center > :last-child { margin-bottom: 0; }

}

.opvulling {
background-color: unset;    
}
@media screen and (min-width: 966px) {
#inhoud-center img.landscape {
  height: 315px !important; /* of andere vaste hoogte */
  width: 560px;
  object-fit: cover;
}
#inhoud-center img.portrait {
  height: 500px !important; /* of andere vaste hoogte */

  width: 275px;
  object-fit: cover;
}

}


#inhoud-center img.landscape-class {
    aspect-ratio: 16 / 9;
  width: 350px;
  object-fit: cover;
}
#inhoud-center img.portrait-class {
  height: 197px !important; /* of andere vaste hoogte */

  width: 110px;
  object-fit: cover;
}

@media screen and (width < 966px) {
#inhoud-center img.portrait-class {
     aspect-ratio: 9 / 16;

  width: 350px;
  object-fit: cover;
}

}
@media screen and (min-width: 966px) {
#inhoud-center img.rondje {
  border-radius: 50% !important;

}

}
@media screen and (width < 966px) {
#inhoud-center img.rondje {
  border-radius: 50% !important;
  max-width: 200px;
  height: auto;
}

}

.icon {
  color: var(--groen);
  width: 48px;
  height: 48px;
  margin-bottom: 14px;
}

@media screen and (max-width: 800px) {

.icon {

margin-bottom: -10px;
    margin-top: -10px;
}


}
img.sponsorcard {
      background:#ffffff;

    padding:22px;

    border-radius:10px;

    border:1px solid #e7e7e7;

    box-shadow:0 10px 30px rgba(0,0,0,0.08);

    box-sizing:border-box;

    width:100%;

    aspect-ratio:2.2 / 1;

    object-fit:contain;

    display:block;

    transition:0.2s ease;
}

@media screen and (min-width: 700px) {
.tarievenblok {
background: rgba(255,255,255,0.55);
backdrop-filter: blur(3px);
border-radius: 22px;
padding: 45px;
box-shadow: 0 10px 30px rgba(24,74,130,0.05);
margin: 40px 0;
}

}


.tarievenblok table {
width: 100%;
border-collapse: collapse;
}

.tarievenblok th,
.tarievenblok td {
padding: 14px 18px;
border-bottom: 1px solid rgba(24,74,130,0.10);
text-align: left;
}

.tarievenblok th {
font-weight: 700;
font-size: var(--font-body);
color: var(--kleur-koppen);
}

.tarievenblok td:first-child {
font-weight: 600;
white-space: nowrap;
}

.tarievenblok tr:last-child td {
border-bottom: none;
}
@media screen and (max-width: 700px) {

.tarievenblok {
  padding: 18px;
  margin: 30px 0;
  border-radius: 18px;
  overflow: visible;
}

.tarievenblok table,
.tarievenblok tbody,
.tarievenblok tr,
.tarievenblok td {
  display: block;
  width: 100% !important;
}

.tarievenblok tr {
  background: rgba(255,255,255,0.55);
  border-radius: 14px;
  padding: 14px 16px;
  margin-bottom: 12px;
  box-shadow: 0 4px 16px rgba(24,74,130,0.05);
}

.tarievenblok tr:first-child {
  display: none;
}

.tarievenblok td {
  border-bottom: 0;
  padding: 3px 0;
}

.tarievenblok td p {
  padding: 0;
  margin: 0;
}

.tarievenblok td:first-child p {
  font-weight: 700;
  color: var(--kleur-tekst-strong);
  margin-bottom: 6px;
}

.tarievenblok td:nth-child(2)::before {
  content: " ";
  font-weight: 700;
}

.tarievenblok td:nth-child(3)::before {
  content: " ";
  font-weight: 700;
}

.tarievenblok td:nth-child(2):empty,
.tarievenblok td:nth-child(3):empty {
  display: none;
}


}
.infokaart {
border-radius:16px;
background:#ffffff;
padding:24px 24px 20px 24px;
box-shadow:0 8px 25px rgba(0,0,0,0.04);
height:100%;
    border:1px solid #eef1ee;
}
.infokaart:hover {
transform:translateY(-4px);
box-shadow:0 18px 40px rgba(0,0,0,0.06);
}

/* =============== LIKE & REACT (clean) =============== */

/* Lay-out container */
.like-wrap {
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  font-size:.95rem;
  color:#333;
}
.like-count { min-width:1ch; }
.like-label { color:#666; }

/* Reset & basis voor de like-knop (vrij van globale button-styles) */
button.like-btn {
  all: unset;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
  cursor:pointer;
  /* groter klikvlak zonder visuele knop */
  padding:6px;
}
button.like-btn:hover {
  color:inherit !important;
  background:transparent !important;
  border:0 !important;
}
button.like-btn:focus-visible {
  outline:2px solid #999;
  outline-offset:2px;
}

/* Als je het comment-icoon als <img> laadt (react.svg) */
.comment-icon {
  width:24px !important;
  height:24px !important;
  border-radius:0 !important;   /* nooit afgerond */
  display:block;
  transform-origin:50% 50%;
  transition:transform .12s ease;
}

/* Mini-pop keyframe (gebruik voor beide) */
@keyframes mini-pop {
  0% {transform:scale(1)}
  50% {transform:scale(1.14)}
  100% {transform:scale(1)}

}

/* Hover: pop beide iconen */
.like-btn:hover .ico-heart { animation:mini-pop .18s ease-out; transform:scale(1.07); }
.comment-btn:hover .ico-comment,
.comment-btn:hover .comment-icon { animation:mini-pop .18s ease-out; transform:scale(1.07); }

/* Liked-state: hartje gevuld + pop op (un)like */
.like-btn.liked .ico-heart {
  fill:var(--petrol);
  stroke:var(--petrol);
  animation:mini-pop .18s ease-out;
}

/* React link (comment) */
.comment-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-left:.6rem;
  cursor:pointer;
  color:#333;                /* inline SVG met stroke="currentColor" pakt dit op */
  transition:color .12s ease;
}
.comment-btn:hover { color:var(--petrol); }   /* kleurt inline SVG oranje */

/* (optioneel) als je comment als <img> gebruikt en tÃ³ch kleurindicatie wil:
   gebruik een lichte â€˜tintâ€™ via filter i.p.v. color (inline SVG is mooier) */
/*
.comment-btn:hover .comment-icon{
  filter: brightness(0) saturate(100%) invert(36%) sepia(77%) saturate(412%) hue-rotate(354deg) brightness(96%) contrast(93%);
}
*/

/* Respect â€˜prefers-reduced-motionâ€™ */
@media (prefers-reduced-motion: reduce) {
  .ico-heart, .ico-comment, .comment-icon { transition:none; }
  .like-btn:hover .ico-heart,
  .comment-btn:hover .ico-comment,
  .comment-btn:hover .comment-icon,
  .like-btn.liked .ico-heart {
    animation:none; transform:none;
  }

}
.ico-heart,
.ico-comment {
  width:24px;
  height:24px;
  vector-effect:non-scaling-stroke;
  transform-origin:50% 50%;
  transition:transform .12s ease, fill .12s ease, stroke .12s ease;
  fill:none;
  stroke:#333;
  stroke-width:2;
}

/* Algemene componentbasis */


input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  border-color: var(--menuknop);
}

input,
textarea,
select,
button {
  box-sizing: border-box;
}

iframe {
  border:0;
  max-width: 100%;
}

/* Componenten uit de 2026-basis die in de 2030-versie ontbraken. */
.kolom160.blogweergavelinks {
  flex: 0 0 335px;
  max-width: 335px;
  width: 335px;
  float: none;
  padding-right: 0;
  margin-right: 60px;
}

.kleur,
.rijtegel > .kolom160.kleur,
.rijtegel.kleur > .kolom160 {
  box-sizing: border-box;
  background: var(--wit);
  border: 1px solid var(--rand);
  border-top: 3px solid var(--mint);
  border-radius: var(--kaart-radius);
  padding: var(--padding-kleur);
  box-shadow: var(--kaart-schaduw);
  text-align: left;
}


/* Gelijke inhoudsafstand in gewone content, kolommen en kaarten. */
:where(#inhoud-center, .bannervoet, .kleur, .kolom160) p:not(:where(form p, .tarievenblok p)) {
  margin: 0 0 var(--content-blokruimte);
  padding: 0;
}

:where(#inhoud-center, .bannervoet, .kleur, .kolom160) h2:not(:where(form h2, .tarievenblok h2)) {
  margin: 0 0 10px;
  line-height: 1.3;
}

:where(#inhoud-center, .bannervoet, .kleur, .kolom160) h3:not(:where(form h3, .tarievenblok h3)) {
  margin: var(--content-h3-ruimte-boven) 0 10px;
  line-height: 1.3;
}

:where(#inhoud-center, .bannervoet, .kleur, .kolom160) :is(ul, ol):not(:where(form *, .tarievenblok *)) {
  margin-top: 0;
  margin-bottom: var(--content-blokruimte);
}

:where(#inhoud-center, .bannervoet, .kleur, .kolom160) li:not(:where(form li, .faq-accordion li, .tarievenblok li)) {
  margin-bottom: 8px;
}
/* De inhoud bepaalt de hoogte; geen extra eindmarge of beginmarge in kaarten. */
:where(#inhoud-center, .bannervoet, .kleur, .kolom160) > :is(h2, h3):first-child {
  margin-top: 0;
}

:where(#inhoud-center, .bannervoet, .kleur, .kolom160) > :is(p, h2, h3, ul, ol, table):last-child {
  margin-bottom: 0;
  padding-bottom: 0;
}
/* Herbruikbaar contactvlak; telefoonlinks behouden hun eigen focusstijl. */
.contact-highlight {
  margin: 20px 0;
  padding: 12px 16px;
  border-radius: var(--kaart-radius);
  background: var(--medisch-blauw);
  color: var(--petrol);
  font-size: var(--font-body);
  line-height: 1.5;
}

.contact-highlight p,
.rijtegel > .kolom160 .contact-highlight p {
  margin: 0 0 6px;
  padding: 0;
  color: inherit;
  font-size: inherit;
  line-height: inherit;
}

.contact-highlight p:last-child,
.rijtegel > .kolom160 .contact-highlight p:last-child {
  margin-bottom: 0;
}

.contact-highlight a[href^="tel:"] {
  display: inline-block;
  max-width: 100%;
  padding: 4px 0;
  color: var(--petrol);
  font-size: clamp(22px, 2.3vw, 28px);
  font-weight: 700;
  line-height: 1.25;
  font-variant-numeric: lining-nums tabular-nums;
  overflow-wrap: anywhere;
  text-decoration: none;
  text-decoration-thickness: 1px;
  text-underline-offset: .16em;
}

.contact-highlight a[href^="tel:"]:hover,
.contact-highlight a[href^="tel:"]:focus-visible {
  color: var(--groen-tekst);
  text-decoration: underline;
  text-decoration-thickness: 2px;
}

/* Algemene inhoudstabellen, met behoud van de bestaande kaartselectors.
   Formuliertabellen en de bestaande .tarievenblok-opmaak blijven apart. */
:where(#inhoud-center, .bannervoet, .kleur, .kolom160) table:not(:where(form table, .tarievenblok table, table.tarievenblok)),
.kolom160.kleur > table:not([class]) {
  width: 100%;
  margin: 0 0 var(--content-blokruimte);
  border-collapse: collapse;
  font-size: var(--font-body);
  line-height: 1.5;
}

:where(#inhoud-center, .bannervoet, .kleur, .kolom160) table:not(:where(form table, .tarievenblok table, table.tarievenblok)) :is(th, td),
.kolom160.kleur > table:not([class]) :is(th, td) {
  padding: 12px 6px;
  border: 0;
  border-bottom: 1px solid var(--rand);
  text-align: left;
  vertical-align: top;
  overflow-wrap: anywhere;
}

:where(#inhoud-center, .bannervoet, .kleur, .kolom160) table:not(:where(form table, .tarievenblok table, table.tarievenblok)) th,
.kolom160.kleur > table:not([class]) th {
  padding-left: 0;
  color: var(--petrol);
  font-weight: 600;
}

:where(#inhoud-center, .bannervoet, .kleur, .kolom160) table:not(:where(form table, .tarievenblok table, table.tarievenblok)) td,
.kolom160.kleur > table:not([class]) td {
  padding-right: 0;
  color: var(--kleurtekst);
  font-variant-numeric: tabular-nums;
}

:where(#inhoud-center, .bannervoet, .kleur, .kolom160) table:not(:where(form table, .tarievenblok table, table.tarievenblok)) tr:last-child > :is(th, td),
.kolom160.kleur > table:not([class]) tr:last-child > :is(th, td) {
  border-bottom: 0;
}

:where(#inhoud-center, .bannervoet, .kleur, .kolom160) table:not(:where(form table, .tarievenblok table, table.tarievenblok)) p,
.kolom160.kleur > table:not([class]) p {
  margin: 0;
  padding: 0;
}
/* Alleen kaarten die zelf een link zijn krijgen een hover-effect. */
a.kleur:hover {
  border-color: var(--groen-tekst);
}

.datumblog { color: var(--datumblog); }
.blogbijschrift,
.blogbijschrift strong { color: var(--blog-bijschrift); }

ul.tarieven li:nth-of-type(2n+1) {
  background-color: #fff;
}

ul.tarieven li {
  padding: 5px 0 5px 10px;
  margin-left: -30px;
  list-style-type: none;
}

/* Formuliervelden, knoppen, navigatie en quotes */

/* Bestaande functionele typografie voor formuliervelden en knoppen. */
textarea,
input,
select,
button {
  font-size: 16.5px;
  line-height: 1.7;
}

article {
  border-top:1px solid var(--petrol);
  margin:30px 0;
  border-top-color: var(--rand);
}
article:last-of-type,
article:first-of-type { border-color: var(--rand); }

.cta-container::before {
  content: "";
  flex: 1;
  height: 1px;
  margin-right: 20px;
  background-color: var(--medisch-blauw);
}

@media screen and (min-width: 966px) {
  .menu {
  overflow:hidden;
  padding-bottom:5px;
  margin-top: 56px;
}
  .menu a {
  color:var(--menuitem-kleur);
  float:left;
  display:block;
  text-align: left;
  text-decoration:none;
  border-right:0 solid #fff;
  padding: 7px 10px;
  font-size: 1.7rem;
  line-height: 1.9rem;
  font-weight: 500;
  margin-right: 12px;
  letter-spacing: normal;
}
  .menu a.eerste {
  border-left:0 solid #fff;
  padding: 7px 10px;
}
  .menu a.laatste {
    margin-right: 0;
    padding: 7px 14px;
    font-size: 1.7rem;
    line-height: 1.9rem;
    border-radius: 8px;
    background-color: var(--groen-tekst);
    color: var(--wit);
    text-decoration: none;
  }

}

@media screen and (width < 966px) {
  .menu a:hover { background-color: var(--menu-mobiel-hover-back); }
  .menu a.laatste:hover {
  color:#000;
  transition:background-color .3s ease-in-out;
  background-color: var(--menuknop-laatste-hover);
}

  #footer { background-color: var(--footer-achtergrondkleur); }


}

.quoot,
.quoot2 {
  max-width: none;
  margin: 20px 0;
  padding: clamp(20px, 3vw, 30px);
  background-position: left 10px top 10px, right 10px bottom 10px;
  background-size: 40px 30px;
  border: 1px solid rgba(0,0,0,.03);
  border-radius: var(--quootes-radius);
  box-shadow: none;
  backdrop-filter: none;
  background-color: var(--quootes-achtergrondkleur);
  background-image: none;
  border-left: 4px solid var(--creme);

  background-repeat: no-repeat;
}

.quoot p,
.quoot2 p {
  max-width: none;
  margin: 0;
  padding-bottom: 0;
  font-family: 'Open Sans', sans-serif;
  font-size: var(--font-quoot);
  font-style: normal;
  line-height: 1.85;
  text-align: left;
  color: var(--kleurtekst);
}

#footer-center h1,
#footer-center h2,
#footer-center h3,
#footer-center p,
#footer-center a,
#footer-center strong,
#footer-center ul {
  color: var(--kleur-tekst-voet);
}

#footer-center :is(h1, h2, h3, h4, h5, h6) {
  color: var(--kleur-tekst-kop-voet);
}

#footer-center h3 {
  text-decoration:none;
  color: var(--kleur-tekst-kop-voet);
  font-size: 1.9rem;
}


@media screen and (min-width: 966px) {
  .menubalktopper-center strong,
  .menubalktopper-center p,
  .menubalktopper-center a,
  .menubalktopper-center a:hover {
    font-size: 1.4rem;
  }


}
/* Bannertekst: standaard H1, alinea's en links uit het CMS. */
#captiontext {
  display: block;
  box-sizing: border-box;
  flex-grow: 0;
  width: calc(50vw - max(30px, (100vw - var(--site-shell-max)) / 2) - 35px);
  max-width: 530px;
  margin: 0 auto 0 max(30px, calc((100vw - var(--site-shell-max)) / 2 + 30px));
  padding: 40px 0;
  overflow-wrap: break-word;
  background: transparent;
  color: var(--petrol);
}

#captiontext h1 {
  margin: 0 0 16px;
  padding: 0;
  color: inherit;
  font-size: clamp(30px, 3vw, 44px);
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -.015em;
}

#captiontext p {
  margin: 0 0 16px;
  padding: 0;
  color: inherit;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
}

#captiontext p:first-of-type {
  margin-bottom: var(--content-blokruimte);
  color: var(--petrol);
  font-size: clamp(18px, 1.6vw, 22px);
}

#captiontext strong {
  color: inherit;
}

#captiontext a {
  color: var(--petrol);
  text-decoration: underline;
  text-underline-offset: .18em;
}

#captiontext a[href^="tel:"] {
  display: inline-block;
  max-width: 100%;
  padding: 8px 18px;
  min-height: 44px;
  border-radius: var(--kaart-radius);
  background: var(--groen-tekst);
  color: var(--wit);
  text-decoration: none;
  font-size: clamp(26px, 2.4vw, 34px);
  font-weight: 600;
  line-height: 1.3;
  font-variant-numeric: lining-nums tabular-nums;
  overflow-wrap: anywhere;
  text-decoration-thickness: 1px;
}

#captiontext a[href^="tel:"]:hover,
#captiontext a[href^="tel:"]:focus-visible,
#captiontext a[href^="tel:"]:active {
  background: var(--petrol);
  color: var(--wit);
  text-decoration: none;
}

#captiontext a:hover {
  color: var(--groen-tekst);
  text-decoration-thickness: 2px;
}

#captiontext a.cta,
#captiontext a.cta2 {
  width: auto;
  min-width: 135px;
  max-width: 100%;
  margin: 8px 12px 0 0;
  padding: 13px 23px;
  border: 1px solid var(--wit);
  border-radius: var(--cta-border-radius);
  font-size: var(--font-body);
  font-weight: 600;
  line-height: 1.4;
  text-decoration: none;
}

#captiontext a.cta {
  background: var(--wit);
  color: var(--petrol);
}

#captiontext a.cta:hover {
  background: var(--medisch-blauw);
  border-color: var(--medisch-blauw);
  color: var(--petrol);
}

#captiontext a.cta2 {
  background: transparent;
  color: var(--petrol);
}

#captiontext a.cta2:hover {
  background: var(--wit);
  color: var(--petrol);
}

#captiontext a:focus-visible {
  outline: 3px solid var(--petrol);
  outline-offset: 5px;
  box-shadow: 0 0 0 2px var(--wit);
}

#captiontext > :last-child {
  margin-bottom: 0;
}

@media screen and (width < 966px) {
  /* De CMS-achtergrond vult de banner; tekst en foto vormen één geheel.
     De minimumhoogte schaalt mee, langere CMS-inhoud mag de banner vergroten. */
  #sliderposition {
    padding-top: 0;
    height: auto;
    min-height: clamp(360px, 95vw, 430px);
    overflow: visible;
    background-size: cover;
    background-position: center;
  }

  #sliderposition::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(20deg, rgba(255, 255, 255, .88) 0%, rgba(255, 255, 255, .76) 32%, rgba(255, 255, 255, .32) 55%, rgba(255, 255, 255, 0) 82%);
    pointer-events: none;
    z-index: 0;
  }

  #captionone {
    position: relative;
    inset: auto;
    display: flex;
    align-items: flex-end;
    min-height: inherit;
    max-width: none;
    background: none;
  }

  #captiontext {
    position: relative;
    width: 100%;
    max-width: 520px;
    margin: 0;
    padding: 24px clamp(20px, 5vw, 32px) 16px;
    background: transparent;
  }

  #captiontext h1 {
    margin-bottom: 12px;
    font-size: clamp(28px, 7vw, 34px);
    line-height: 1.15;
  }

  #captiontext p,
  #captiontext p:first-of-type {
    margin-bottom: 10px;
    font-size: 16px;
    line-height: 1.5;
  }

  #captiontext p:first-of-type {
    margin-bottom: 12px;
  }

  #captiontext a[href^="tel:"] {
    font-size: clamp(26px, 6.5vw, 30px);
  }

  #captiontext a.cta,
  #captiontext a.cta2 {
    width: 100%;
    margin-right: 0;
  }

  #captiontext > :last-child {
    margin-bottom: 0;
  }
}

/* Eén basis voor tekst-, kaart- en beeldkolommen. */
.bannervoet,
#inhoud-center {
  padding-left: 30px;
  padding-right: 30px;
}

.rijtegel {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  height: auto;
  gap: 24px 32px;
  margin-bottom: 20px;
}

.rijtegel > .kolom160 {
  box-sizing: border-box;
  flex: 1 1 0;
  min-width: 0;
  margin: 0;
  padding: 0;
}


/* Bij kleur op de hele rij krijgt iedere kolom een eigen kaart. */
.rijtegel.kleur {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
  align-items: flex-start;
}


.rijtegel > .kolom160 p {
  max-width: none;
  
  
  color: var(--kleurtekst);
  text-align: left;
}

.rijtegel > .kolom160 h2,
.rijtegel > .kolom160 h3 {
  text-align: left;
}

.rijtegel > .kolom160.kleur h3 {
  font-family: 'Open Sans', sans-serif;
  font-size: var(--font-h3);
  font-weight: 600;
}

.rijtegel > .kolom160 h5 {
  margin: 0 0 12px;
  padding: 0;
}

.rijtegel > .kolom160 > :last-child,
.kolom160.kleur > :last-child,
.kolom160.kleur > table:not([class]):last-child {
  margin-bottom: 0;
  padding-bottom: 0;
}

.rijtegel > .kolom160 strong {
  color: var(--kleur-tekst-strong);
}

.rijtegel > .kolom160 img:not(.icon):not(.icon-form),
#inhoud-center .kolom160 img:not(.icon):not(.icon-form) {
  display: block;
  /* Breedte uit het CMS behouden; alleen verkleinen als de kolom smaller is. */
  max-width: 100%;
  height: auto;
  margin: 0;
  border-radius: 10px;
}

.rijtegel > .kolom160 h2::after,
.rijtegel > .kolom160 h3::after {
  content: none;
}

@media screen and (width < 966px) {
  .bannervoet,
  #inhoud-center {
    padding-left: 24px;
    padding-right: 24px;
  }

  .rijtegel > .kolom160 {
    flex: 0 0 100%;
  }

}

/* Bestaande CMS-aliassen: afstanden komen nu uit de algemene inhoudsbasis. */
.rijtegel > .kolom160.kleur > p:not(:last-child) { /* Algemene blokafstand. */ }

.kolom160.kleur > h2,
.rijtegel > .kolom160.kleur > h2 {
  font-size: clamp(21px, 1.8vw, 24px);
}

.rijtegel > .kolom160.kleur > h3 { /* Algemene tussenkopafstand. */ }
/* Directe lijsten in inhoudskaarten: compact, met behoud van inspringing. */
.rijtegel > .kolom160.kleur > ul,
.rijtegel > .kolom160.kleur > ol { /* Algemene lijstafstand. */ }

/* Alleen gewone kaartkoppen; mobiele typografie en componentkoppen blijven gelijk. */
@media screen and (min-width: 966px) {
  .kolom160.kleur > h2,
  .rijtegel > .kolom160.kleur > h2 {
    font-size: clamp(19.5px, 1.674vw, 22.32px);
  }

  .kolom160.kleur > h3,
  .rijtegel > .kolom160.kleur > h3 {
    font-size: clamp(1.86rem, .279vw + 1.674rem, 2.046rem);
  }
}
/* Stappen en trajectinformatie */
.rijtegel > .kolom160.kleur h3 .stapnummer {
  display: block;
  margin-bottom: 5px;
  color: var(--h1);
  font-family: 'Open Sans', sans-serif;
  font-size: 2.3rem;
  font-weight: 400;
  line-height: 1;
}

.trajectinfo {
  align-items: stretch;
  margin-top: 35px;
  margin-bottom: 40px;
}

.trajectinfo > .kolom160 {
  box-sizing: border-box;
  margin: 0;
  padding: 8px 34px;
  text-align: left;
}

.trajectinfo > .kolom160:first-child {
  padding-left: 0;
}

.trajectinfo > .kolom160:last-child {
  padding-right: 0;
}

.trajectinfo > .kolom160 + .kolom160 {
  border-left: 1px solid var(--rand);
}

.trajectinfo h2,
.trajectinfo h3 {
  margin: 0 0 12px;
  padding: 0;
  color: var(--h1);
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  line-height: 1.3;
}

.trajectinfo h2 {
  font-size: 2.2rem;
}

.trajectinfo h3 {
  font-size: 1.9rem;
}

.trajectinfo .prijs {
  margin: 6px 0 0;
  color: var(--h2);
  font-family: 'Open Sans', sans-serif;
  font-size: clamp(4.8rem, 5vw, 6.5rem);
  font-weight: 400;
  line-height: 1;
}

.trajectinfo ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.trajectinfo li {
  position: relative;
  margin: 0 0 9px;
  padding-left: 25px;
  color: var(--kleurtekst);
}

.trajectinfo li::before {
  content: '\2022';
  position: absolute;
  left: 0;
  color: var(--h2);
  font-weight: 700;
}

.trajectinfo .cta {
  margin-top: 14px;
}

@media screen and (width < 966px) {
  .trajectinfo {
    margin-top: 20px;
  }

  .trajectinfo > .kolom160,
  .trajectinfo > .kolom160:first-child,
  .trajectinfo > .kolom160:last-child {
    flex: 0 0 100%;
    padding: 25px 0;
  }

  .trajectinfo > .kolom160 + .kolom160 {
    border-top: 1px solid var(--rand);
    border-left: 0;
  }

}

/* Trajectinformatie als losse tekstkolom met foto. */
.rijtegel > .kolom160.kleur.trajectinfo {
  margin: 0;
  padding: 0 0 0 34px;
  text-align: left;
}

.rijtegel > .kolom160.kleur.trajectinfo:first-child {
  padding-left: 0;
}

.rijtegel > .kolom160.kleur.trajectinfo > p {
  max-width: none;
  margin: 0 0 18px;
  padding: 0;
}

.rijtegel > .kolom160.kleur.trajectinfo > p > img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0;
}

.rijtegel > .kolom160.kleur.trajectinfo > p:last-child {
  margin-bottom: 0;
}

@media screen and (width < 966px) {
  .rijtegel > .kolom160.kleur.trajectinfo {
    padding: 25px 0 0;
  }

}
/* Koppen en banner binnen de bestaande CMS-structuur. */

.rijtegel > .kolom160 h2,
.rijtegel > .kolom160 h3,
.trajectinfo h2,
.trajectinfo h3,
.trajectinfo .prijs,
.rijtegel > .kolom160.kleur h3 .stapnummer {
  font-family: 'Open Sans', sans-serif;
  font-weight: 600;
  letter-spacing: -0.015em;
}
/* Praktijkbanner: lichte, transparante laag over de bestaande foto. */
#sliderposition {
  isolation: isolate;
  background-color: var(--wit);
}

#captionone {
  background: none;
  z-index: 1;
}


@media screen and (min-width: 966px) {
  #captiontext h1 {
    font-size: clamp(27px, 2.7vw, 39.6px);
  }

  #captiontext p:first-of-type {
    font-size: clamp(17px, 1.5vw, 21px);
  }

  #captiontext a[href^="tel:"] {
    padding: 6px 15px;
    font-size: clamp(21.5px, 1.98vw, 28px);
  }

  #sliderposition {
    /* Bestaande fotoverhouding als minimum; langere CMS-tekst mag meegroeien. */
    padding-top: 0;
    height: auto;
    min-height: 35vw;
  }

  #sliderposition::after {
    content: '';
    position: absolute;
    inset: 0 auto 0 0;
    width: 100%;
    background: linear-gradient(90deg, rgba(255, 255, 255, .84) 0%, rgba(255, 255, 255, .74) 35%, rgba(255, 255, 255, .44) 50%, rgba(255, 255, 255, .10) 70%, rgba(255, 255, 255, 0) 100%);
    /* Vloeiende overgang naar de onbedekte praktijkfoto. */
    pointer-events: none;
    z-index: 0;
  }

  #captionone {
    position: relative;
    inset: auto;
    min-height: 35vw;
    align-items: center;
  }


}

@media screen and (width < 966px) {
  #sliderposition::after {
    content: none;
  }


}
/* Voordelenbalk: bestaande geneste CMS-rijen, icoon boven de tekst. */
.rijtegel.voordelenbalk {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
  gap: 0;
  margin: 0;
  padding: 0;
}

.rijtegel.voordelenbalk > .kolom160,
.rijtegel.voordelenbalk > .kolom160 > .rijtegel > .kolom160 {
  float: none;
  min-width: 0;
  width: auto;
  margin: 0;
  padding: 0;
}

.rijtegel.voordelenbalk > .kolom160 > .rijtegel {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
  justify-items: center;
  gap: 12px;
  margin: 0;
  padding: 12px 20px;
  text-align: center;
}

/* Alleen de buitenste kaarten krijgen een scheidingslijn. */
.rijtegel.voordelenbalk > .kolom160:has(> .rijtegel) {
  position: relative;
}

.rijtegel.voordelenbalk > .kolom160:has(> .rijtegel) + .kolom160::before {
  content: '';
  position: absolute;
  left: 0;
  top: 24px;
  bottom: 12px;
  width: 1px;
  background: var(--rand);
}

.rijtegel.voordelenbalk p {
  margin: 0;
  padding: 0;
  text-align: center;
}

.rijtegel.voordelenbalk p:empty {
  display: none;
}

.rijtegel.voordelenbalk img {
  display: block;
  width: 64px;
  height: 64px;
  max-width: 100%;
  object-fit: contain;
  margin: 0 auto;
  padding: 0;
}

.rijtegel.voordelenbalk h2 {
  margin: 0 0 6px;
  padding: 0;
  color: var(--h2);
  font-family: 'Open Sans', sans-serif;
  font-size: var(--font-body);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: normal;
  text-align: center;
}

@media screen and (width < 966px) {
  .rijtegel.voordelenbalk {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 0;
  }

  .rijtegel.voordelenbalk > .kolom160:has(> .rijtegel):nth-child(odd)::before {
    content: none;
  }

}

@media screen and (max-width: 480px) {
  .rijtegel.voordelenbalk {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
  }

  .rijtegel.voordelenbalk > .kolom160:has(> .rijtegel) + .kolom160::before {
    content: none;
  }

}

/* Behandeltraject: drie directe CMS-kolommen met cijfers en pijlen. */
.rijtegel.behandeltraject {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: 36px;
  margin-top: 28px;
  counter-reset: behandelstap;
}

.rijtegel.behandeltraject > .kolom160 {
  position: relative;
  float: none;
  width: auto;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--kleurtekst);
  counter-increment: behandelstap;
}

.rijtegel.behandeltraject > .kolom160::before {
  content: counter(behandelstap);
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  margin-bottom: 14px;
  border-radius: 50%;
  background: var(--petrol);
  color: #fff;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1;
}

.rijtegel.behandeltraject > .kolom160:not(:last-child)::after {
  content: '\2192';
  position: absolute;
  top: 8px;
  right: 0;
  color: var(--petrol);
  font-size: 2.6rem;
  line-height: 1;
}

.rijtegel.behandeltraject p {
  margin: 0 0 14px;
  padding: 0;
}

.rijtegel.behandeltraject strong {
  color: var(--h2);
}

.rijtegel.behandeltraject p:empty {
  display: none;
}

@media screen and (max-width: 600px) {
  .rijtegel.behandeltraject {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  .rijtegel.behandeltraject > .kolom160:not(:last-child) {
    padding-bottom: 28px;
  }

  .rijtegel.behandeltraject > .kolom160:not(:last-child)::after {
    content: '\2193';
    top: auto;
    bottom: 0;
    left: 0;
    right: auto;
    width: 48px;
    text-align: center;
  }

}


.faq-accordion h3.faq-question::after {
  content: none;
}

.faq-accordion .faq-item > summary::-webkit-details-marker {
  display: none;
}

.faq-accordion .faq-item > summary:focus-visible,
.faq-accordion .faq-toggle:focus-visible {
  outline: 2px solid var(--h1);
  outline-offset: -2px;
}

/* De scheidingslijn van een gesloten fallback-item blijft bij de vraag staan. */


.faq-accordion .faq-answer p {
  margin: 0 0 16px;
  padding: 0;
}

.faq-accordion .faq-answer :is(p, ul, ol, li, a) {
  font-size: inherit;
  line-height: inherit;
}

.faq-accordion .faq-answer[hidden] {
  display: none;
}

.faq-accordion .faq-answer > :last-child {
  margin-bottom: 0;
  padding-bottom: 0;
}


/* Praktijk-FAQ: omlijnde vragen, voor details en CMS h3/antwoord-paren. */
.faq-accordion {
  box-sizing: border-box;
  width: 100%;
  color: var(--kleurtekst);
  --faq-line: var(--rand);
  max-width: none;
  margin: 20px 0;
  border: 0;
}

.faq-accordion .faq-item {
  margin: 0 0 10px;
  border: 1px solid var(--faq-line);
  border-radius: 8px;
  background: #fff;
}

.faq-accordion .faq-item > summary,
.faq-accordion .faq-toggle {
  box-sizing: border-box;
  display: block;
  position: relative;
  width: 100%;
  min-width: 0;
  margin: 0;
  border: 0;
  background: none;
  text-align: left;
  text-decoration: none;
  text-shadow: none;
  overflow-wrap: anywhere;
  cursor: pointer;
  list-style: none;
  font-family: 'Open Sans', sans-serif;
  min-height: 46px;
  padding: 12px 48px 12px 20px;
  border-radius: 8px;
  color: var(--kleurtekst);
  font-size: var(--font-body);
  font-weight: 400;
  line-height: 1.45;
}

.faq-accordion .faq-toggle,
.faq-accordion .faq-toggle[aria-expanded="false"] {
  border: 1px solid var(--faq-line);
  background: #fff;
}

.faq-accordion h3.faq-question {
  display: block;
  min-height: 0;
  padding: 0;
  text-align: left;
  margin: 0 0 10px;
}

.faq-accordion h3.faq-question:has(.faq-toggle[aria-expanded="true"]) {
  margin-bottom: 0;
}

.faq-accordion .faq-toggle[aria-expanded="true"] {
  border-bottom: 0;
  border-radius: 8px 8px 0 0;
}

.faq-accordion .faq-item > summary::after,
.faq-accordion .faq-toggle::after {
  position: absolute;
  text-align: center;
  color: var(--h2);
  font-weight: 400;
  content: '';
  box-sizing: border-box;
  top: 50%;
  right: 20px;
  width: 8px;
  height: 8px;
  border-right: 2px solid var(--h1);
  border-bottom: 2px solid var(--h1);
  transform: translateY(-70%) rotate(45deg);
  transition: transform 160ms ease;
}

.faq-accordion .faq-item[open] > summary::after,
.faq-accordion .faq-toggle[aria-expanded="true"]::after {
  content: '';
  transform: translateY(-20%) rotate(225deg);
}

.faq-accordion .faq-item > summary:hover,
.faq-accordion .faq-toggle:hover {
  color: var(--h2);
  background: var(--licht-groen);
}

.faq-accordion .faq-answer {
  box-sizing: border-box;
  color: var(--kleurtekst);
  overflow-wrap: anywhere;
  padding: 4px 20px 18px;
}

.faq-accordion > .faq-answer {
  margin: 0 0 10px;
  border: 1px solid var(--faq-line);
  border-top: 0;
  border-radius: 0 0 8px 8px;
  background: #fff;
}
@media (prefers-reduced-motion: reduce) {
  .faq-accordion .faq-item > summary::after,
  .faq-accordion .faq-toggle::after {
    transition: none;
  }
}

.icon svg {
    width: 100%;
    height: 100%;
    fill: currentColor;
}

/* Lijsten in inhoud houden een rustig ritme; navigatie en footer blijven apart. */
:where(#inhoud-center, .bannervoet) > :is(ul, ol) {
  margin: 0 0 var(--content-blokruimte);
  padding-left: 24px;
}

:where(#inhoud-center, .bannervoet) > :is(ul, ol) > li {
  margin: 0 0 8px;
  padding-left: 4px;
}
/* Afwerking voor bestaande CMS-content; geen extra markup nodig. */
:where(#inhoud-center, .bannervoet, .kleur, .kolom160) a:not(:where(.cta, .cta2, .ctaghost, .ctaghostaan, .leesverder, .leesverderblog, .ctahome, .kleur, .comment-btn, .like-btn, [role="button"])),
:where(#inhoud-center, .bannervoet) a.broodkruimeltje {
  color: var(--groen-tekst);
  text-decoration: underline;
  text-underline-offset: .18em;
  text-decoration-thickness: 1px;
}

:where(#inhoud-center, .bannervoet, .kleur, .kolom160) a:not(:where(.cta, .cta2, .ctaghost, .ctaghostaan, .leesverder, .leesverderblog, .ctahome, .kleur, .comment-btn, .like-btn, [role="button"])):hover {
  color: var(--petrol);
  text-decoration-thickness: 2px;
}

.kleurtop :is(h1, h2, h3, h4, h5, h6) {
  color: var(--petrol);
}

#footer-center :is(p, li, a, strong, h4, h5, h6) {
  color: var(--wit);
}

#footer-center a:hover,
#footer-center a:focus-visible,
.copyright-color a:hover {
  color: var(--wit);
  text-decoration: underline;
  text-underline-offset: .2em;
}

/* Focus blijft zichtbaar op zowel witte als petrol achtergronden. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
[role="button"]:focus-visible {
  outline: 3px solid var(--petrol);
  outline-offset: 3px;
  box-shadow: 0 0 0 3px var(--wit);
}

#footer a:focus-visible,
#copyright a:focus-visible,
.menu a:focus-visible {
  outline-color: var(--groen);
}

@media screen and (width < 966px) {
  .menu a:hover,
  .menu a.actief,
  .menu a.laatste:hover {
    color: var(--petrol);
  }

}
#inhoud-center,
.bannervoet {
  overflow-wrap: break-word;
}

/* Navigatiestatus is ook zonder kleurverschil herkenbaar. */
.menu a.actief:not(.burger),
.menu a:not(.burger):hover {
  text-decoration: underline;
  text-underline-offset: .22em;
  text-decoration-thickness: 2px;
}

@media (prefers-reduced-motion: reduce) {
  img.slagschaduw,
  .logo,
  .menu,
  .menu a {
    transition: none;
  }

}