@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap");

* {
	scroll-behavior: smooth;
}

body {
  font-family: "Roboto", sans-serif;
  color: #8a8a8a;
  -webkit-font-smoothing: antialiased;
}

a {
  text-decoration: none;
  color: #8a8a8a;
  transition: 0.2s ease-in;
}
a:hover {
  text-decoration: none;
  color: #8a8a8a;
}

img {
  width: 100%;
}

h1 {
  font-weight: 300;
}

h2 {
  font-weight: 200;
  font-size: 50px;
  color: #0D2D42;
}

h3 {
  font-size: 26px;
  font-weight: 200;
}

h4 {
  font-size: 20px;
  font-weight: 200;
}

.container {
  max-width: 1400px;
}

html {
  scroll-behavior: smooth;
}

/* Services-blok direct na een hero-blok: minder top-padding dan de standaard 64px,
 * maar wel genoeg lucht boven de heading. */
.theme-wrapper.theme-services {
  padding-top: 80px;
}

.theme-video.theme-wrapper {
	width: 100%;
	box-sizing: border-box;
	padding: 0;
}

.video-container {
	width: 100%;
	max-width: 100%;
	padding: 0;
	margin: 0;
}

.video-container video {
	width: 100% !important;
	height: auto !important;
	display: block;
}

.justify-content-evenly {
  justify-content: space-evenly;
}


.theme-process .process-step-card {
	background: #fff;
	border-radius: 12px;
	padding: 25px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
	border: 1px solid #ebebeb;
}

/* Introtekst boven de stappen is platte tekst, geen wit kaartje. */
.theme-process .intro-card {
	font-weight: 400;
	color: #000;
	text-align: center;
	padding: 0;
}

/* De 6 stappen staan horizontaal naast elkaar (zie process-block.php): nummer
   boven de tekst i.p.v. ernaast, zodat het ook in een smallere kolom past. */
.theme-process .process-step-card {
	flex-direction: column;
	align-items: flex-start;
	text-align: left;
	height: 100%;
}

.theme-process .step-number-circle {
	background-color: #b5a33f;
	color: #fff;
	width: 50px;
	height: 50px;
	min-width: 50px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.4rem;
	font-weight: 700;
	margin-bottom: 15px;
}

.theme-process .step-text p {
	color: #000;
	line-height: 1.6;
	font-size: 0.9rem;
}




/* before after block styling */

.comparison-slider-wrapper {
	position: relative;
	width: 100%;
	/* Dwingt een 4:3 verhouding af, ongeacht de foto-afmetingen */
	aspect-ratio: 4 / 3; 
	overflow: hidden;
	border-radius: 12px;
	box-shadow: 0 10px 30px rgba(0,0,0,0.1);
	background-color: #f0f0f0; /* Fallback kleur */
}

/* De 'After' afbeelding */
.img-comparison {
	width: 100%;
	height: 100%;
	object-fit: cover; /* Zorgt dat de foto de box vult zonder vervorming */
	display: block;
}

/* De 'Before' overlay */
.img-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 50%;
	height: 100%;
	background-size: cover;
	background-position: center; /* Foto blijft gecentreerd bij schalen */
	z-index: 2;
}

.theme-calculator {
    padding-bottom: 0px !important;
}



/* BEGIN OF klantenvertellen styling */

button.slick-prev.slick-arrow {
    display: none !important;
}

button.slick-next.slick-arrow {
	display: none !important;
}

.slick-dots {
	display: none !important;
}

.review-slider {
	padding: 20px 0;
}

.slick-list {
	padding: 10px 0 !important;
}

/* Slick slider haalt standaard de float weg, zorg voor een mooie tussenruimte */
.review-slide {
	padding: 0 4px; 
	outline: none; /* Verwijdert de blauwe focus rand bij het klikken */
}

.review-date {
	font-size: 0.8em;
	color: #999999;
	display: block;
	margin-top: 4px;
}

.alt-heading {
	font-weight: 400;
	color: #000;
}

.review-card {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 220px;
	margin: 4px;
}

.review-stars {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 2px;
	margin-bottom: 12px;
}

.review-star-img {
	width: 18px;
	height: 18px;
}

.review-score-text {
	font-size: 0.85em;
	color: #777777;
	margin-left: 6px;
	font-weight: bold;
}

.review-card {
	background: #ffffff;
	border: 1px solid #e5e5e5;
	padding: 25px;
	border-radius: 8px;
	text-align: center;
	box-shadow: 1px 4px 10px 0px rgba(0, 0, 0, 0.15), 0px 0px 2px 0px rgba(0, 0, 0, 0.05);
	min-height: 220px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	transition: transform 0.5s ease;
}

.review-card:hover {
	transform: translateY(-5px);
}

/* Sterren en score styling */
.review-rating {
	color: #f39c12; /* Klantenvertellen goud/oranje kleur */
	font-size: 1.15em;
	margin-bottom: 15px;
}

.review-rating strong {
	font-size: 1.25em;
}

/* De review tekst zelf */
.review-text {
	font-style: italic;
	font-size: 0.95em;
	color: #555555;
	line-height: 1.6;
	margin-bottom: 15px;
}

/* De auteur van de review */
.review-author {
	margin: 0;
	color: #333333;
	font-weight: 600;
	font-size: 0.9em;
}

/* Slick Slider navigatie (dots) styling */
.slick-dots {
	bottom: -40px;
}

.slick-dots li button:before {
	font-size: 10px;
	color: #000000;
	opacity: 0.25;
}

.slick-dots li.slick-active button:before {
	color: #f39c12; /* Actieve stip krijgt de review kleur */
	opacity: 1;
}

/* END OF klantenvertellen styling */



/* De Slider Input (onzichtbaar maar functioneel) */
.slider {
	position: absolute;
	-webkit-appearance: none;
	appearance: none;
	width: 100%;
	height: 100%;
	background: transparent;
	outline: none;
	margin: 0;
	top: 0;
	left: 0;
	cursor: ew-resize;
	z-index: 10;
}

/* De verticale lijn */
.slider-button {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	width: 3px;
	background: #fff;
	pointer-events: none;
	z-index: 5;
	transform: translateX(-50%);
	box-shadow: 0 0 10px rgba(0,0,0,0.2);
}

/* Het handvat/icoontje */
.slider-button::after {
	content: '↔'; /* Simpel alternatief voor FontAwesome, minder zwaar */
	font-weight: bold;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 44px;
	height: 44px;
	background: #fff;
	color: #000;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 2px 10px rgba(0,0,0,0.3);
}




/* .process-step-card is nu altijd verticaal gestapeld (nummer boven tekst),
   zie de basisstijl hierboven — geen aparte mobiele media query meer nodig. */


.theme-services .service-card {
	background-color: #f4f3ef; /* De lichte crème/grijze kleur uit de afbeelding */
	border-radius: 25px;
	padding: 40px;
	border: none;
}

.theme-services .service-title {
	font-family: 'Georgia', serif; /* Serif font voor de titels */
	font-weight: bold;
	color: #333;
	margin-bottom: 20px;
	font-size: 1.4rem;
}

.theme-services .service-description {
	color: #555;
	line-height: 1.7;
	margin-bottom: 25px;
}

.theme-services .highlight {
	color: #b5a33f;
	font-weight: 500;
}


.theme-subpage-hero p a {
    color: #BF9F00;
}

/* De knop */
.theme-services .btn-service {
	background-color: #BF9F00;
	color: white;
	border: 1px solid #BF9F00;
	border-radius: 999px;
	padding: 10px 25px;
	font-weight: 500;
	display: inline-flex;
	align-items: center;
	text-decoration: none;
	transition: 0.2s ease-in-out;
}

.theme-services .btn-service:hover {
	background-color: transparent;
	color: #BF9F00;
}

/* Icon in knop spacing */
.theme-services .btn-service i {
	margin-left: 10px;
}

/* Afbeelding styling */
.theme-services .service-image-wrapper img {
	max-width: 180px; /* Beperk de grootte van de illustratie */
	height: auto;
}

/* Responsive */
@media (max-width: 767px) {
	.theme-services .service-card {
		padding: 30px 20px;
		text-align: center;
	}
	
	.theme-services .service-image-wrapper {
		margin-bottom: 25px;
	}
	
	.theme-services .btn-service {
		width: 100%;
		justify-content: center;
	}
}

/*/ popup /*/
body.popup-active {
  background-color: rgba(0, 0, 0, 0.5);
}

.popup-container {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  justify-content: center;
  z-index: 1000;
}

.popup {
  background-color: #fafafa;
  padding: 28px 40px;
  box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
  border-radius: 18px;
  position: relative;
  text-align: center;
  margin: 12px 0;
  overflow: hidden;
  overflow-y: auto;
  /* Popup mag nooit hoger dan het viewport zijn — interne scroll bij lang formulier. */
  max-height: 90vh;
  width: 100%;
  max-width: 560px;
}
.popup h3 {
  color: #000 !important;
  margin-bottom: 32px;
  margin-top: 6px;
  font-weight: 500;
}

.popup-close {
  position: absolute;
  top: 10px;
  right: 15px;
  font-size: 1.5em;
  cursor: pointer;
  color: #aaa;
  transition: color 0.2s ease;
}

.popup-close:hover {
  color: #333;
}

.popup-container.show {
  display: flex;
  align-items: center;
  /* align-items: center voorkomt dat .popup wordt uitgerekt tot 100vh
     (default flex align is stretch); de popup houdt nu z'n eigen hoogte. */
}

.theme-prijzen-popup-image {
  display: block;
  width: 100%;
  max-width: 260px;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 12px;
  margin: 0 auto 20px;
}
/* Groot prijslabel in de Prijzen-popup (bv. "€ 2.999" of "Prijs op aanvraag"),
   met een klein ondersteunend zinnetje eronder i.p.v. de volledige beschrijving. */
.theme-prijzen-popup-pricelabel {
  color: #BF9F00;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.1;
  margin: 8px 0 4px;
}
.theme-prijzen-popup-pricenote {
  color: #000;
  margin-bottom: 24px;
}

.theme-team-bio-popup {
  max-width: 640px;
}
.theme-team-bio-popup-image {
  display: block;
  width: 140px;
  height: 140px;
  object-fit: cover;
  border-radius: 50%;
  margin: 0 auto 16px;
}
.theme-team-bio-popup-function {
  color: #BF9F00;
  font-weight: 500;
  margin: -8px 0 20px;
  text-align: center;
}
.theme-team-bio-popup h3 {
  text-align: center;
}
.theme-team-bio-popup-content {
  color: #000;
  line-height: 1.7;
}
.theme-team-bio-popup-content p {
  margin-bottom: 16px;
}

.bg-grey {
  background-color: #f5f6f7;
}
.bg-lightgrey {
  background-color: #f9f9f9;
}
.bg-orange {
  background-color: #BF9F00;
}
.bg-brown {
  background-color: #630a0a;
}
.bg-plum {
  background-color: #BF9F00;
}
.bg-olive {
  background-color: #544941;
}

.theme-subpage-hero-title {
  margin-bottom: 0;
}

.theme-location-map-wrapper {
  height: 450px;
}

.text-orange {
  color: #BF9F00;
}
.text-start {
  text-align: start !important;
}
.text-end {
  text-align: end;
}

.whatsapp-blob {
  background: #25D366;
  display: none;
  padding: 20px;
  position: fixed;
  z-index: 99999998;
  right: 30px;
  bottom: 100px;
  color: #fff;
  border-radius: 100%;
}
.whatsapp-blob-wrapper {
  line-height: 0;
}
.whatsapp-blob i {
  font-size: 22px;
}

/* Sticky mobiele actionbar (Bellen/E-mail/Prijsindicatie/WhatsApp) — alleen op mobiel, zie
   footer.php. Verbergt tegelijk de losse WhatsApp-blob en de zwevende AI-prijsindicatie-knop
   op mobiel (die functies zitten nu in de balk), zodat er geen dubbele knoppen op het scherm
   staan. .popup-active (theme-eigen contact/consult/actie-popups, z-index 1000) verbergt de
   balk tijdens het openstaan — de balk zelf heeft een veel hogere z-index (nodig om altijd
   boven de paginacontent te blijven) en zou de popup anders gedeeltelijk overlappen. De AI-
   modal (.oge-modal-overlay, z-index 100000) dekt de balk al automatisch af, dus die hoeft
   niet apart verborgen te worden.
   Breakpoint (999px) is dezelfde als waarop de losse WhatsApp-blob al zichtbaar wordt. */
.omorfy-mobile-actionbar {
  display: none;
}
@media only screen and (max-width: 999px) {
  .whatsapp-blob-wrapper,
  .oge-floating-btn {
    display: none !important;
  }
  body {
    padding-bottom: calc(58px + env(safe-area-inset-bottom));
  }
  body.popup-active .omorfy-mobile-actionbar {
    display: none;
  }
  .omorfy-mobile-actionbar {
    display: flex;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 99999997;
    background: #fff;
    box-shadow: 0 -2px 12px rgba(13, 45, 66, 0.12);
    padding-bottom: env(safe-area-inset-bottom);
  }
  .omorfy-mobile-actionbar-item {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    padding: 9px 4px;
    background: none;
    border: none;
    border-left: 1px solid #EFE9DE;
    color: #0D2D42;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.1;
    text-decoration: none;
    cursor: pointer;
  }
  .omorfy-mobile-actionbar-item:first-child {
    border-left: none;
  }
  .omorfy-mobile-actionbar-item i {
    font-size: 18px;
    color: #BF9F00;
  }
}

.theme-specialist-wrapper-image-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 35%;
}
/* Per-persoon crop-fixes waar de default 35% niet lekker uitpakt. */
.theme-specialist-farah-asghar .theme-specialist-wrapper-image-wrapper img {
  object-position: 50% 20%;
}
/* Anja's foto heeft een felwitte studio-bg; met multiply blenden we hem naar dezelfde
 * lichtgrijze bg als Tina/Nete zodat de foto's naast elkaar consistent ogen. */
.theme-specialist-anja .theme-specialist-wrapper-image-wrapper {
  background-color: #ececec;
}
.theme-specialist-anja .theme-specialist-wrapper-image-wrapper img {
  mix-blend-mode: multiply;
}

.theme-button {
  padding: 10px 24px;
  border: 2px solid;
  display: inline-block;
  font-weight: 500;
  font-size: 16px;
  border-radius: 999px;
}
.theme-button__orange {
  background-color: #BF9F00;
  border-color: #BF9F00;
  color: #fff;
  transition: 0.3s ease-in-out;
}
.theme-button__orange:hover {
  background-color: transparent;
  color: #BF9F00;
}
.theme-button__outline {
  background-color: transparent;
  border-color: #BF9F00;
  color: #BF9F00;
  transition: 0.3s ease-in-out;
  white-space: nowrap;
}
.theme-button__outline:hover {
  background-color: #BF9F00;
  color: #fff;
}
.theme-button i {
  margin-right: 6px;
}

.theme-wrapper {
  padding: 64px 0;
}

.theme-subpage-hero-kennisbank {
	width: 100%;
}

.theme-single-post-breadcrumb-wrapper a {
    color: #BF9F00;
}
.theme-single-post-breadcrumb-wrapper span {
    color: #fff;
}
.theme-single-post-breadcrumb-wrapper span.breadcrumb_last {
    color: #fff;
}

.flex-row-reverse__desktop-only {
	flex-direction: row-reverse !important;
}

/* header top-bar */
.theme-header-topbar {
  padding: 12px 0;
  border: 1px solid rgba(222, 222, 222, 0.2);
  font-size: 14px;
  color: #000;
  font-weight: 400;
}
.theme-header-topbar a {
  color: #000;
}
.theme-header-topbar-mail {
  position: relative;
}
.theme-header-topbar-mail:before {
  font: var(--fa-font-solid);
  content: "";
  color: #BF9F00;
}
.theme-header-topbar-call {
  position: relative;
  margin-left: 14px;
}
.theme-header-topbar-call:before {
  font: var(--fa-font-solid);
  content: "";
  color: #BF9F00;
}
.theme-header-topbar-openorclosed {
  position: relative;
  text-align: end;
}
.theme-header-topbar-openorclosed:before {
  font: var(--fa-font-solid);
  content: "";
  color: #BF9F00;
}

.theme-header__bottom {
  padding: 18px 0;
  background-color: #fff;
  z-index: 200;
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
  transition: 0.2s ease-in-out;
}
.theme-header__bottom-logo-wrapper {
  width: 170px;
}
.theme-header__bottom-logo-wrapper a {
  display: inline-block;
  width: 90%;
  height: 48px;
  margin-left: 12px;
}
.theme-header__bottom-logo-wrapper a img {
  height: 100%;
  object-fit: contain;
}
.theme-header__bottom-navigation ul {
  display: flex;
  list-style-type: none;
  justify-content: flex-end;
  margin: 0;
  padding: 0;
}
.theme-header__bottom-navigation ul li {
  position: relative;
  padding: 0 12px;
  padding-bottom: 32px;
  margin-bottom: -32px;
  font-size: 16px;
  font-weight: 500;
  white-space: nowrap;
}

/* Header op smallere desktopschermen: krap menu-tussenruimte + kleinere knop-tekst
 * zodat items niet meer wrappen (bv. "Ons team" op twee regels). */
@media (max-width: 1300px) {
  .theme-header__bottom-navigation ul li {
    padding: 0 8px;
    font-size: 15px;
  }
  .theme-header__bottom-actions .theme-button {
    padding: 8px 12px;
    font-size: 13px;
  }
}
@media (max-width: 1100px) {
  .theme-header__bottom-navigation ul li {
    padding: 0 6px;
    font-size: 14px;
  }
  .theme-header__bottom-actions {
    gap: 6px;
  }
  .theme-header__bottom-actions .theme-button {
    padding: 7px 10px;
    font-size: 12px;
  }
}
.theme-header__bottom-navigation ul li:hover > a {
  color: #BF9F00;
}
.theme-header__bottom-navigation ul li:hover .sub-menu {
  transform: translate(0%, 0%);
  opacity: 1;
  visibility: visible;
}
.theme-header__bottom-navigation ul li a {
  color: #0D2D42;
}
.theme-header__bottom-navigation ul li .sub-menu {
  position: absolute;
  top: 32px;
  left: 0;
  width: 280px;
  flex-direction: column;
  background-color: #BF9F00;
  z-index: 5;
  padding: 16px 0;
  transform: translate(0%, 40%);
  transition: 0.4s linear;
  opacity: 0;
  visibility: hidden;
  border-radius: 10px;
}
.theme-header__bottom-navigation ul li .sub-menu a {
  color: #fff;
  padding: 8px 12px;
  display: block;
  border-radius: 5px;
}
.theme-header__bottom-navigation ul li .sub-menu a:hover {
  color: #fff;
  background-color: rgba(255, 255, 255, 0.2);
}
.theme-header__bottom-navigation ul li.li-open > a {
  color: #BF9F00;
}
.theme-header__bottom-navigation ul li.li-open .sub-menu {
  transform: translate(0%, 0%);
  opacity: 1;
  visibility: visible;
}
.theme-header__bottom-navigation ul li.current_page_item > a {
  color: #BF9F00;
}
.theme-header__bottom-navigation ul.sub-menu li.current_page_item > a {
  color: #fff;
  opacity: 0.6;
}
.theme-header__bottom-navigation #menu-header-menu > li:not(:first-child) {
  border-left: 1px solid rgba(222, 222, 222, 0.5);
}
.theme-header__bottom-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: nowrap;
  gap: 10px;
}
.theme-header__bottom-actions .theme-button {
  padding: 8px 14px;
  font-size: 14px;
}
.theme-header__bottom-actions .theme-button:hover {
  background-color: #0D2D42;
  border-color: #0D2D42;
  color: #fff;
}

.theme-hero {
  position: relative;
  padding: 0;
}
.theme-hero-prev {
  position: absolute;
  top: 50%;
  left: 20px;
  color: #fff;
  font-size: 24px;
  z-index: 5;
}
.theme-hero-next {
  position: absolute;
  top: 50%;
  right: 20px;
  color: #fff;
  font-size: 24px;
  z-index: 5;
}
.theme-hero-slider {
  height: 630px;
}
.theme-hero-slider-slide {
  height: 630px !important;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 50% 30%;
  display: flex !important;
  align-items: center;
}
.theme-hero-slider-slide-wrapper {
  padding-left: 40px;
}
.theme-hero-slider-slide-wrapper-title {
  color: #544641;
  font-size: 48px;
  transition: 0.25s ease-in;
  opacity: 0;
  transform: translate(0%, -30%);
}
.theme-hero-slider-slide-wrapper-title.slide-effect {
  opacity: 1;
  transform: translate(0%, 0%);
}
.theme-hero-slider-slide-wrapper-content {
  color: #fff;
  font-size: 30px;
  transition: 0.25s ease-in;
  opacity: 0;
  transform: translate(0%, 30%);
}
.theme-hero-slider-slide-wrapper-content.slide-effect {
  opacity: 1;
  transform: translate(0%, 0%);
}
.theme-hero-slider-slide-wrapper-button {
  background-color: #BF9F00;
  color: #fff;
  padding: 8px 60px;
  transition: 0.2s ease-in;
  font-size: 20px;
  font-weight: 500;
  transition: 0.25s ease-in;
  opacity: 0;
  transform: translate(0%, 50%);
}
.theme-hero-slider-slide-wrapper-button.slide-effect {
  opacity: 1;
  transform: translate(0%, 0%);
}
.theme-hero-slider-slide-wrapper-button:hover {
  color: #BF9F00;
  background-color: #fff;
}

/* theme-subpage */
.theme-subpage-hero {
  display: flex;
  width: 100%;
}
/* Specifiek voor de Bedankt-pagina: hero vult het volledige scherm zodat de footer er direct
   onder valt, geen los wit gat ertussen op een pagina zonder verdere content-secties. */
.theme-subpage-hero--fullheight {
  min-height: 100vh;
}
.theme-subpage-hero--fullheight .theme-subpage-hero-left,
.theme-subpage-hero--fullheight .theme-subpage-hero-right {
  min-height: 100vh;
}
.theme-subpage-hero-title {
  color: #fff;
  padding: 14px 0;
  font-size: 22px;
  font-weight: 400;
}
.theme-subpage-hero-left {
  height: auto;
  width: 50%;
  min-height: 500px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.theme-subpage-hero-left.alt-seventy {
  width: 30%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.theme-subpage-hero-right {
  width: 50%;
  background-color: #0D2D42;
  padding: 80px 65px 80px 65px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.theme-subpage-hero-right.alt-seventy {
  width: 70%;
  background-color: #0D2D42;
  padding: 80px 65px 80px 65px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.theme-subpage-hero-right__container {
  max-width: calc(1340px / 2);
}
.theme-subpage-hero-right-subtitle {
  color: #BF9F00;
  font-size: 20px;
  font-weight: 200;
}
/* Optioneel label-uiterlijk voor de subtitle van een subpage-hero (bv. actiepagina's) — de
   subtitle zelf blijft platte tekst, dit is puur een omhullende span in het ACF-veld. */
.theme-hero-label {
  display: inline-block;
  background: #fff;
  color: #BF9F00;
  padding: 6px 18px;
  border-radius: 999px;
  font-size: 16px;
  font-weight: 600;
}
/* Van/voor-prijslabel met urgentie (bv. de "Nu of nooit"-actiepagina) — grote goudkleurige
   actieprijs op een wit label, dit is de belangrijkste conversie-trigger op zo'n pagina. */
.theme-price-badge {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  background: #fff;
  border-radius: 18px;
  padding: 22px 28px;
  margin: 20px 0;
}
.theme-price-badge-urgency {
  display: inline-block;
  background: #B3261E;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  padding: 5px 14px;
  border-radius: 999px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.theme-price-badge-prices {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 16px;
}
.theme-price-badge-was {
  color: #6B6558;
  font-size: 18px;
  text-decoration: line-through;
}
.theme-price-badge-now {
  color: #BF9F00;
  font-size: 44px;
  font-weight: 800;
  line-height: 1;
}
/* "Prijs op aanvraag" moet er exact even groot uitzien als een echt bedrag — zelfde 44px als
   .theme-price-badge-now, dus hier bewust geen eigen font-size (kan op smalle kaarten wel naar een
   tweede regel wrappen, dat mag). */
.theme-price-badge-now--text {
  display: block;
}
.theme-price-badge-now small {
  font-size: 16px;
  font-weight: 600;
  color: #1D2420;
  margin-left: 6px;
}
.theme-price-badge-note {
  color: #6B6558;
  font-size: 14px;
}
.theme-subpage-hero-right-title {
  color: #fff;
  margin: 20px 0;
  font-size: 34px;
  padding-right: 20px;
}
.theme-subpage-hero-right-content {
  color: #fff;
  font-size: 16px;
  padding-right: 20px;
}
.theme-subpage-hero-right-link {
  background-color: #BF9F00;
  color: #fff;
  padding: 8px 16px;
  display: inline-block;
  margin-top: 12px;
  border: 1px solid #BF9F00;
  border-radius: 999px;
}
.theme-subpage-hero-right-link:hover {
  background-color: transparent;
  color: #fff;
}
.theme-subpage-hero-breadcrumb {
  height: 100%;
  color: #fff;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.theme-subpage-hero-breadcrumb a {
  color: #fff;
  transition: 0.2s ease-in;
}
.theme-subpage-hero-breadcrumb a:hover {
  opacity: 0.8;
}

/* theme-subpage reverse */
.theme-subpage-hero__bottom.flex-row-reverse .theme-subpage-hero-right {
  padding-left: 25px;
  align-items: flex-end;
}

/* theme-content */
.theme-content {
  background-color: #F5F2EF;
  padding-top: 88px;
  padding-bottom: 88px;
}
.theme-content-title {
  text-align: center;
  margin-bottom: 24px;
  color: #0D2D42;
  font-size: clamp(28px, 4vw, 44px);
  font-weight: 300;
  line-height: 1.15;
}
.theme-content-divider {
  position: relative;
  margin-bottom: 60px;
}
.theme-content-divider:after {
  content: "";
  position: absolute;
  top: -20px;
  left: 50%;
  transform: translate(-50%, 0);
  background-image: url("/wp-content/uploads/2025/02/svgexport-1.png");
  background-repeat: no-repeat;
  background-size: cover;
  width: 35px;
  height: 35px;
}
.theme-content-wrapper {
  text-align: end;
}
.theme-content-wrapper-content {
  font-size: 15px;
  margin-bottom: 20px;
}
.theme-content-wrapper-content__large {
  font-size: 18px;
  line-height: 1.5em;
  margin-bottom: 40px;
}
.theme-content-wrapper-subtitle {
  color: #BF9F00;
}
.theme-content-wrapper-link {
  color: #000;
}
.theme-content-wrapper-link__wrapper {
  margin-bottom: 20px;
}
.theme-content-wrapper-link__wrapper a:hover {
  color: #BF9F00;
}
.theme-content-altwrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.theme-content-image-wrapper {
  display: block;
  width: 300px;
  height: 300px;
  border-radius: 999px;
  overflow: hidden;
}
.theme-content-image-content {
  font-style: italic;
  margin-top: 24px;
}

/* theme-content-logo */
.theme-content-logo-title {
  text-align: center;
  margin-bottom: 60px;
}
.theme-content-logo-content {
  text-align: center;
}

/* theme-faq */
.theme-faq .card-header {
  background-color: #f8f9fa;
  border-bottom: none;
}

.theme-faq .btn-link {
  color: #333;
  font-weight: 600;
  text-decoration: none;
  width: 100%;
  text-align: left;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  box-shadow: none !important;
  outline: none !important;
  border: 0 !important;
}
.theme-faq .btn-link:focus,
.theme-faq .btn-link:focus-visible,
.theme-faq .btn-link:active {
  box-shadow: none !important;
  outline: none !important;
  border: 0 !important;
}
.theme-faq .faq-toggle-icon {
  flex-shrink: 0;
  transition: transform 0.25s ease;
  color: #0D2D42;
}
.theme-faq .btn-link[aria-expanded="true"] .faq-toggle-icon {
  transform: rotate(180deg);
  color: #BF9F00;
}
.theme-faq .btn-link[aria-expanded="true"] {
  color: #BF9F00 !important;
}

.theme-faq .btn-link:hover,
.theme-faq .btn-link:focus {
  text-decoration: none;
}

.theme-faq .card {
  border: none;
  border-radius: 16px;
  overflow: hidden; /* zorgt dat card-header/-body meeronden i.p.v. Bootstrap's eigen kleinere hoekradius */
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
}

.theme-faq .card-body {
  padding: 1.25rem;
}

/* theme-cases */
.theme-cases-archief-wrapper {
  text-align: center;
}
.theme-cases-archief-wrapper-content {
  margin-bottom: 80px;
}
.theme-cases-archief-post {
  visibility: hidden;
}
.theme-cases-archief-post-title {
  text-align: center;
  margin: 12px 0 48px 0;
  color: #0D2D42;
  transition: 0.2s ease-in;
  font-weight: 500;
}
.theme-cases-archief-post-title:hover {
  color: #BF9F00;
}

.theme-subpage-hero.theme-subpage-hero__bottom.flex-row-reverse.alt-light {
    padding: 40px;
}

.theme-subpage-hero-right.alt-light {
    background-color: #fff;
	align-items: center !important;
}

.theme-subpage-hero-right.alt-light .theme-subpage-hero-right__container h1, .theme-subpage-hero-right.alt-light .theme-subpage-hero-right__container .theme-subpage-hero-right-content {
    color: #000;
}

/* contact form (gravity forms) */
p.gform_required_legend {
  display: none;
}

/* Krapper spacing tussen de invulvelden (was standaard ~24px van Gravity Forms). */
.gform_wrapper .gform_fields {
  grid-row-gap: 10px !important;
  row-gap: 10px !important;
}
.gform_wrapper .gfield {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.gform_wrapper .gfield_label {
  margin-bottom: 4px !important;
}
/* Focus-state van tekst-velden: goud i.p.v. blauwe browser/GF default. */
.gform_wrapper input:focus,
.gform_wrapper input:focus-visible,
.gform_wrapper textarea:focus,
.gform_wrapper textarea:focus-visible,
.gform_wrapper select:focus,
.gform_wrapper select:focus-visible {
  outline: none !important;
  border-color: #BF9F00 !important;
  box-shadow: 0 0 0 2px rgba(191, 159, 0, 0.25) !important;
}
/* Onder de form: iets minder rommel dan Gravity Forms default,
 * maar wel genoeg ruimte tussen de submit-knop en de kaartrand. */
.gform_wrapper,
.gform_wrapper form {
  margin-bottom: 0 !important;
  padding-bottom: 30px !important;
}
.gform_wrapper .gform_footer {
  margin-top: 12px !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.gform_wrapper .gform_anchor,
.gform_wrapper [aria-live] {
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
}

.gform-theme--framework .gfield_list_group_item:before, .gform-theme--framework .gform-field-label {
  font-size: 16px !important;
}

.gform-body.gform_body input {
  border-radius: 20px !important;
}

.gform-body.gform_body textarea {
  border-radius: 20px;
}

#gform_1 .gform_body .gfield_label {
  color: #000 !important;
}

#gform_2 .gform_body .gfield_label {
  color: #000 !important;
}

input#gform_submit_button_1 {
  border-radius: 20px;
  font-size: 16px;
  width: 128px;
}

input#gform_submit_button_2 {
  border-radius: 20px;
  font-size: 16px;
  width: 128px;
}

/* theme-cases single */
.theme-single-case-wrapper__inner {
  position: relative;
  min-height: 600px;
  overflow: hidden;
}
.theme-single-case-wrapper-info {
  display: flex;
  flex-direction: row;
  font-size: 12px;
  font-weight: 500;
  margin-top: 12px;
}
.theme-single-case-wrapper-info-speciality {
  border-right: 1px solid black;
  padding-right: 8px;
  margin-right: 8px;
}
.theme-single-case-wrapper-info-case {
  border-right: 1px solid black;
  padding-right: 8px;
  margin-right: 8px;
}
.theme-single-case-wrapper-tab {
  margin-top: 48px;
  display: inline-block;
}
.theme-single-case-wrapper-tab-tablinks {
  background-color: inherit;
  float: left;
  border: none;
  outline: none;
  cursor: pointer;
  padding: 14px 16px;
  transition: 0.3s;
  font-size: 17px;
}
.theme-single-case-wrapper-tab-tablinks:hover {
  background-color: #ddd;
}
.theme-single-case-wrapper-tab-tablinks:focus {
  outline: none;
}
.theme-single-case-wrapper-tab-tablinks.active {
  background-color: #ccc;
}
.theme-single-case-wrapper-tabcontent {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 6px 12px;
  opacity: 0;
  visibility: hidden;
  transition: 0.2s ease-in;
  display: flex;
  flex-direction: row;
}
.theme-single-case-wrapper-tabcontent.active {
  opacity: 1;
  visibility: visible;
}
.theme-single-case-wrapper-tabcontent-image-wrapper {
  overflow: hidden;
  width: 40%;
}
.theme-single-case-wrapper-tabcontent-image-wrapper img {
  border-radius: 999px;
  height: 300px;
  width: 300px;
  object-fit: cover;
}
.theme-single-case-wrapper-tabcontent-content {
  width: 60%;
  padding: 0px 15px;
}
.theme-single-case-button {
  display: inline-block;
  padding: 16px 32px;
  border-radius: 999px;
  background-color: #BF9F00;
  border: 1px solid #BF9F00;
  color: #fff;
  transition: 0.2s ease-in-out;
}
.theme-single-case-button:hover {
  background-color: transparent;
  color: #BF9F00;
}

.theme-services {
  color: #0D2D42;
}
.theme-services-title {
  color: #0D2D42;
}
.theme-services-button {
  display: block;
  padding: 12px 24px;
  color: #fff;
  border: 1px solid;
  transition: 0.2s ease-in;
  text-align: center;
  margin-top: 32px;
  font-weight: 500;
}
.theme-services-button.bg-orange {
  border-color: #BF9F00;
}
.theme-services-button.bg-orange:hover {
  color: #BF9F00;
}
.theme-services-button.bg-brown {
  border-color: #630a0a;
}
.theme-services-button.bg-brown:hover {
  color: #630a0a;
}
.theme-services-button.bg-plum {
  border-color: #BF9F00;
}
.theme-services-button.bg-plum:hover {
  color: #BF9F00;
}
.theme-services-button:hover {
  background-color: transparent;
}
.theme-services-image-wrapper {
  border-radius: 999px;
  overflow: hidden;
  width: 75%;
}
.theme-services-quote {
  background-color: #BF9F00;
  padding: 40px 32px 40px 64px;
  color: #fff;
  font-size: 22px;
  font-weight: 400;
  position: relative;
}
.theme-services-quote p {
  position: relative;
}
.theme-services-quote::before {
  content: "";
  background-image: url("https://staging.odekerkenlogopedie.wemexcloud.net/wp-content/uploads/2023/11/quotes-icon.png");
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  top: 30px;
  left: 50px;
  width: 60px;
  height: 60px;
  filter: invert(100%);
  opacity: 0.3;
}

.theme-disciplines-title {
  text-align: center;
  font-size: 50px;
}
.theme-disciplines-wrapper-card {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
}
.theme-disciplines-wrapper-card-left {
  width: 50%;
  margin: 0 60px;
}
.theme-disciplines-wrapper-card-left-title {
  margin-bottom: 32px;
  color: #0D2D42;
}
.theme-disciplines-wrapper-card-right {
  background-color: #BF9F00;
  padding: 24px;
  color: #fff;
  border-radius: 999px;
}
.theme-disciplines-wrapper-card-right-icon {
  width: 20px;
  height: 20px;
  text-align: center;
}
.theme-disciplines-wrapper.card-left .theme-disciplines-wrapper-card-left {
  text-align: right;
}
.theme-disciplines-wrapper.card-right .theme-disciplines-wrapper-card {
  flex-direction: row-reverse;
}

.theme-registered-title {
  text-align: center;
  margin-bottom: 24px;
}
.theme-registered-divider {
  position: relative;
  border: 1px solid rgba(222, 222, 222, 0.3);
  margin-bottom: 40px;
}
.theme-registered-divider:after {
  content: "";
  position: absolute;
  top: -11px;
  left: 50%;
  transform: translate(-50%, 0);
  background-image: url("https://staging.odekerkenlogopedie.wemexcloud.net/wp-content/uploads/2023/11/logokleinderlogopedie.png");
  background-repeat: no-repeat;
  background-size: cover;
  width: 30px;
  height: 22px;
}
.theme-registered-subtitle {
  color: #BF9F00;
  text-align: right;
}
.theme-registered-content {
  text-align: right;
}
.theme-registered-image-wrapper {
  text-align: end;
}
.theme-registered-image-wrapper img {
  width: 90%;
}

.calculator {
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  padding: 30px;
  background: #f9f9f9;
  color: #0D2D42;
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  /* Box-shadow toegevoegd */
  margin: 20px auto;
  /* Centraal geplaatst */
}

.calculator h2 {
  text-align: center;
  margin-bottom: 25px;
  font-size: 1.5em;
  /* Titel iets groter */
  font-weight: 600;
  /* Titel iets vetter */
  color: #BF9F00;
  /* Titel in goudgeel */
}

.calculator #options {
  margin-bottom: 20px;
}

.calculator label {
  display: block;
  margin-bottom: 15px;
  position: relative;
  /* Voor positionering van aangepaste checkbox */
  padding-left: 35px;
  /* Ruimte voor aangepaste checkbox */
  cursor: pointer;
}

.calculator input[type=checkbox] {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}

.calculator .checkmark {
  position: absolute;
  top: 0;
  left: 0;
  height: 25px;
  width: 25px;
  background-color: #eee;
  border-radius: 4px;
  /* Vierkante checkbox */
}

.calculator label:hover input ~ .checkmark {
  background-color: #ccc;
}

.calculator input:checked ~ .checkmark {
  background-color: #BF9F00;
}

.calculator .checkmark:after {
  content: "";
  position: absolute;
  display: none;
}

.calculator input:checked ~ .checkmark:after {
  display: block;
}

.calculator .checkmark:after {
  left: 9px;
  top: 6px;
  width: 7px;
  height: 10px;
  border: solid white;
  border-width: 0 3px 3px 0;
  transform: rotate(45deg);
}

.calculator p {
  text-align: center;
  font-size: 1.2em;
  font-weight: bold;
  margin-top: 20px;
}

.calculator span#total1 {
  color: #BF9F00;
}

.calculator span#total2 {
  color: #BF9F00;
}
.calculator span#total3 {
  color: #BF9F00;
}
.calculator span#total4 {
  color: #BF9F00;
}
.calculator span#total5 {
  color: #BF9F00;
}
.calculator span#overallTotal {
  color: #BF9F00;
}

.read-more-button {
  cursor: pointer;
  background-color: #BF9F00;
  border: 1px solid #BF9F00;
  padding: 8px 18px;
  border-radius: 999px;
  margin-top: 20px;
  display: inline-block;
  float: left;
  font-weight: 500;
  color: #fff !important;
  transition: 0.2s ease-in-out;
}
.read-more-button:hover {
  background-color: transparent;
  color: #BF9F00 !important;
}

.review-block {
  width: 80%;
  max-width: 800px;
  margin: 40px auto;
  background: #f9f9f9;
  padding: 30px;
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.review-block h2 {
  text-align: center;
  margin-bottom: 30px;
  color: #BF9F00;
  font-size: 1.8em;
  font-weight: 600;
}

.review {
  border-bottom: 1px solid #eee;
  padding-bottom: 20px;
  margin-bottom: 20px;
}

.review:last-child {
  border-bottom: none;
  margin-bottom: 0;
}

.rating {
  color: #BF9F00;
  font-size: 1.2em;
  margin-bottom: 10px;
}

.review-text {
  margin-bottom: 10px;
}

.reviewer {
  font-style: italic;
  text-align: left;
  color: #777;
  display: flex;
  align-items: center;
}

.reviewer-image {
  width: 50px;
  height: 50px;
  border-radius: 100%;
  margin-right: 10px;
}

.theme-wrapper.theme-review {
  padding-top: 0;
}

.theme-wrapper.theme-specialist {
  background-color: #F5F2EF;
}
.theme-specialist {
  text-align: center;
}
.theme-specialist-title {
  margin-bottom: 32px;
}
.theme-specialist-content {
  margin-bottom: 48px;
}
.theme-specialist-wrapper {
  margin-bottom: 16px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  padding-bottom: 48px;
  background-color: #ffff;
  padding: 26px;
  border-radius: 16px;
  box-shadow: 5px 5px 5px 5px #f0f0f0;
}
.theme-specialist-wrapper-image-wrapper {
  border-radius: 8px;
  overflow: hidden;
  margin: 0 auto;
  width: 100%;
  aspect-ratio: 3 / 4;
  height: auto;
  max-height: 340px;
}
.theme-specialist-wrapper-title {
  margin-bottom: 8px;
  margin-top: 14px;
}
.theme-specialist-wrapper-functions {
  color: #BF9F00;
  font-size: 18px;
}
.theme-specialist-wrapper-content {
  margin-top: 20px;
  text-align: left;
  display: none;
}
.theme-specialist-wrapper-buttons {
  display: flex;
  flex-direction: row;
  justify-content: space-around;
}
.theme-specialist-wrapper-buttons a {
  padding: 12px 12px;
  color: #fff;
  transition: 0.2s ease-in;
  border-radius: 8px;
  font-weight: 500;
}
.theme-specialist-wrapper-buttons-profiel {
  background-color: #BF9F00;
}
.theme-specialist-wrapper-buttons-profiel:hover {
  color: #BF9F00;
}
.theme-specialist-wrapper-buttons-mail {
  background-color: #BF9F00;
}
.theme-specialist-wrapper-buttons-mail:hover {
  color: #BF9F00;
}

.theme-cards {
  text-align: center;
}
.theme-cards-title {
  margin-bottom: 32px;
}
.theme-cards-content {
  margin-bottom: 48px;
}
.theme-cards-wrapper {
  background-color: #fafafa;
  padding: 20px;
  border-radius: 20px;
  height: 100%;
  box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
  margin-bottom: 20px;
}
/* Bij een d-flex kolom met height:100% heeft margin-bottom geen effect op de
   afstand tussen gewrapte flex-rijen, dus expliciet row-gap toevoegen. */
.theme-services .row.justify-content-center {
  row-gap: 24px;
}
/* Services-block kaarten compacter, 4 op een rij i.p.v. 3. */
.theme-services .theme-cards-wrapper {
  padding: 14px;
}
.theme-services .theme-cards-wrapper-image-wrapper {
  width: 100%;
  height: 170px;
}
.theme-services .theme-cards-wrapper-title {
  font-size: 18px;
  margin-top: 16px;
  margin-bottom: 8px;
}
.theme-services .theme-cards-wrapper-content {
  font-size: 14px;
}
.theme-services .theme-cards-wrapper-button {
  padding: 8px 18px;
  font-size: 14px;
}
.theme-cards-wrapper-image-wrapper {
  width: 300px;
  height: 280px;
  margin: 0 auto;
}
.theme-cards-wrapper-image-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.theme-cards-wrapper-title {
  margin-top: 30px;
  color: #000;
  margin-bottom: 16px;
}
/* Pakketnaam onder de prijs (Prijzen-pagina) */
.theme-cards-wrapper-package-label {
  margin: -8px 0 16px;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #6B6558;
}
.theme-cards-wrapper__top {
  display: flex;
  flex-direction: column;
  margin-top: auto;
  height: 100%;
}

.theme-cards-wrapper-content {
  color: #000;
}
.theme-cards-wrapper-content a,
.theme-subpage-hero-right-content a,
.process-card a,
.step-text a {
  color: #BF9F00;
}
.theme-cards-wrapper-button {
  display: inline-block;
  align-self: flex-start;
  margin-top: auto;
  padding: 10px 24px;
  background-color: #BF9F00;
  color: #fff;
  border: 1px solid #BF9F00;
  border-radius: 999px;
  font-weight: 500;
  text-decoration: none;
  text-align: center;
  transition: 0.2s ease-in-out;
}
.theme-cards-wrapper-button:hover {
  background-color: transparent;
  color: #BF9F00;
}
.theme-cards-wrapper-button:focus,
.theme-cards-wrapper-button:focus-visible,
.theme-cards-wrapper-button:active {
  outline: none !important;
  box-shadow: none !important;
}
/* Outline-variant: witte bg + goud border/tekst, hover = gevuld. */
.theme-cards-wrapper-button--outline {
  background-color: #fff;
  color: #BF9F00;
}
/* Transparant-variant: uitsluitend voor de 'Prijzen'-knop, nooit 'Gratis consult'. */
.theme-cards-wrapper-button--transparent {
  background-color: transparent;
  color: #BF9F00;
}
.theme-cards-wrapper-button--transparent:hover {
  background-color: #BF9F00;
  color: #fff;
}
.theme-cards-wrapper-button--outline:hover {
  background-color: #BF9F00;
  color: #fff;
}
/* Buttons in kaarten: twee-op-een-rij, wrap op smalle schermen. */
.theme-cards-wrapper-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: auto;
  align-self: center;
  justify-content: center;
}
.theme-cards-wrapper-buttons .theme-cards-wrapper-button {
  margin-top: 0;
  align-self: auto;
}
/* Services-block knoppenrij: Contact + Prijzen (of de doorlink-knop) naast
   elkaar, Gratis consult eronder over de volle breedte van de twee erboven. */
.theme-services .theme-cards-wrapper-buttons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  width: 100%;
}
.theme-services .theme-cards-wrapper-button--full,
.theme-services .theme-cards-wrapper-buttons .theme-cards-wrapper-button:only-child {
  grid-column: 1 / -1;
}

/* Content-block kaarten (bv. homepage 'Wat we voor jou kunnen betekenen'): één knop
   per kaart, altijd gelijke breedte en gecentreerd i.p.v. links uitgelijnd op tekstlengte.
   :not(.theme-services):not(.theme-faq) voorkomt dat dit de Services/FAQ-knoppenrijen raakt. */
.theme-content:not(.theme-services):not(.theme-faq) .theme-cards-wrapper-button {
  align-self: center;
  width: 270px;
  max-width: 100%;
  text-align: center;
  white-space: nowrap;
}
/* Twee knoppen naast elkaar (bv. Contact + Gratis consult op de Prijzen-kaarten) mogen niet allebei
   de vaste 270px van hierboven erven — anders passen ze nooit naast elkaar en vallen ze terug op
   een tweede regel. */
.theme-content:not(.theme-services):not(.theme-faq) .theme-cards-wrapper-buttons .theme-cards-wrapper-button {
  width: auto;
  align-self: auto;
}
/* Prijzen-kaarten: Contact + Gratis consult blijven altijd als koppel bij elkaar (eigen flex-groep),
   de "Met AI beoordelen"-knop ernaast is een los flex-item met flex-grow — past hij niet meer naast
   het koppel, dan wrapt hij naar een eigen regel en vult daar, als enige item op die regel, de volle
   breedte i.p.v. als klein los knopje gecentreerd te blijven staan. */
.theme-cards-wrapper-buttons-primary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  flex: 1 1 auto;
}
/* Contact + Gratis consult verdelen de breedte gelijk zodra het koppel de volle regel vult
   (zie flex:1 1 auto hierboven), i.p.v. gecentreerd op hun eigen tekstbreedte te blijven staan. */
.theme-cards-wrapper-buttons-primary .theme-cards-wrapper-button {
  flex: 1 1 0;
}
.theme-cards-wrapper-button--ai-wrap {
  flex: 1 1 auto;
}

/* Trustindex Google reviews widget — restyled to match site look & feel.
   Trustindex injects its own generated CSS at runtime with high-specificity
   !important rules, so overrides here repeat .ti-widget to out-specificity it. */
.ti-widget.ti-widget.ti-widget.ti-widget.ti-widget.ti-widget {
  max-width: 1400px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box !important;
}
.ti-widget.ti-widget.ti-widget.ti-widget.ti-widget.ti-widget .ti-review-item {
  flex: 0 0 33.333% !important;
  max-width: 33.333% !important;
}
/* Op mobiel 1 review-kaart per rij i.p.v. 3 naast elkaar (die anders afgesneden worden). */
@media (max-width: 767.98px) {
  .ti-widget.ti-widget.ti-widget.ti-widget.ti-widget.ti-widget .ti-review-item {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
}
.ti-widget.ti-widget.ti-widget.ti-widget.ti-widget.ti-widget .ti-controls {
  display: none !important;
}
.ti-widget.ti-widget.ti-widget.ti-widget.ti-widget.ti-widget .ti-widget-header {
  background-color: #fafafa !important;
  border-color: #ebebeb !important;
  border-radius: 20px !important;
  padding: 24px 28px !important;
  margin-bottom: 24px !important;
  box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px !important;
}
/* Tekst + sterren/rating links, onze 'Zie alle beoordelingen'-knop uiterst rechts,
   allemaal op dezelfde regel (zie ook footer.php voor de JS die dit vult). */
.ti-widget.ti-widget.ti-widget.ti-widget.ti-widget.ti-widget .ti-header-content {
  justify-content: space-between !important;
  align-items: center !important;
  width: 100% !important;
}
.ti-widget.ti-widget.ti-widget.ti-widget.ti-widget.ti-widget .ti-rating-text {
  color: #0D2D42 !important;
  font-weight: 600 !important;
  font-size: 16px !important;
}
.ti-widget.ti-widget.ti-widget.ti-widget.ti-widget.ti-widget .ti-header-rating {
  color: #0D2D42 !important;
  font-weight: 700 !important;
}
.ti-widget.ti-widget.ti-widget.ti-widget.ti-widget.ti-widget .ti-header-rating-reviews {
  color: #8a8a8a !important;
}
.ti-widget.ti-widget.ti-widget.ti-widget.ti-widget.ti-widget .ti-header-write-btn {
  background-color: #BF9F00 !important;
  border-color: #BF9F00 !important;
  border-radius: 999px !important;
  padding: 10px 24px !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  transition: 0.2s ease-in-out !important;
}
.ti-widget.ti-widget.ti-widget.ti-widget.ti-widget.ti-widget .ti-header-write-btn:hover {
  background-color: transparent !important;
  border-color: #BF9F00 !important;
  color: #BF9F00 !important;
}
.ti-widget.ti-widget.ti-widget.ti-widget.ti-widget.ti-widget .ti-review-item > .ti-inner {
  background-color: #ffffff !important;
  border-color: #ebebeb !important;
  border-radius: 20px !important;
  box-shadow: rgba(149, 157, 165, 0.25) 0px 4px 16px !important;
  padding: 24px !important;
}
.ti-widget.ti-widget.ti-widget.ti-widget.ti-widget.ti-widget .ti-reviews-container-wrapper {
  padding: 20px 0 !important;
}
.ti-widget.ti-widget.ti-widget.ti-widget.ti-widget.ti-widget .ti-name {
  color: #0D2D42 !important;
  font-weight: 600 !important;
}
.ti-widget.ti-widget.ti-widget.ti-widget.ti-widget.ti-widget .ti-date {
  color: #8a8a8a !important;
  opacity: 1 !important;
}
.ti-widget.ti-widget.ti-widget.ti-widget.ti-widget.ti-widget .ti-review-content {
  color: #4a4a4a !important;
}
.ti-widget.ti-widget.ti-widget.ti-widget.ti-widget.ti-widget .ti-read-more {
  color: #BF9F00 !important;
  font-weight: 500 !important;
}
.ti-widget.ti-widget.ti-widget.ti-widget.ti-widget.ti-widget .ti-next:before,
.ti-widget.ti-widget.ti-widget.ti-widget.ti-widget.ti-widget .ti-next:after,
.ti-widget.ti-widget.ti-widget.ti-widget.ti-widget.ti-widget .ti-prev:before,
.ti-widget.ti-widget.ti-widget.ti-widget.ti-widget.ti-widget .ti-prev:after {
  background: #0D2D42 !important;
}
.ti-widget.ti-widget.ti-widget.ti-widget.ti-widget.ti-widget .ti-controls-line {
  background: rgba(13, 45, 66, 0.12) !important;
}
.ti-widget.ti-widget.ti-widget.ti-widget.ti-widget.ti-widget .ti-controls-line .dot {
  background: #BF9F00 !important;
}
/* Google-logo en de eigen 'Uitstekende'-tekst van Trustindex verbergen — footer.php
   zet er via JS onze eigen tekst (voor de sterren, zelfde regel) voor in de plaats. */
.ti-widget.ti-widget.ti-widget.ti-widget.ti-widget.ti-widget .ti-header-logo,
.ti-widget.ti-widget.ti-widget.ti-widget.ti-widget.ti-widget .ti-rating-text {
  display: none !important;
}
.theme-reviews-cta-text {
  color: #0D2D42;
  font-weight: 600;
  font-size: 16px;
  white-space: nowrap;
  margin-right: 24px;
}
/* Trustindex's eigen linkstijl (blauw + onderstreept) overschrijft anders onze
   'Zie alle beoordelingen'-knop die we via JS in .ti-header-write-btn-container zetten. */
.ti-widget.ti-widget.ti-widget.ti-widget.ti-widget.ti-widget .ti-header-write-btn-container a.theme-cards-wrapper-button {
  color: #BF9F00 !important;
  text-decoration: none !important;
}
.ti-widget.ti-widget.ti-widget.ti-widget.ti-widget.ti-widget .ti-header-write-btn-container a.theme-cards-wrapper-button:hover {
  color: #fff !important;
}

.theme-single-specialist h4 {
  font-size: 24px;
  color: #0D2D42;
}
.theme-single-specialist p {
  margin: 32px 0;
}
.theme-single-specialist a:hover {
  color: #BF9F00;
}
.theme-single-specialist-title {
  margin-bottom: 4px;
  color: #0D2D42;
}
.theme-single-specialist-functions {
  color: #BF9F00;
  font-weight: 200;
  margin-bottom: 16px;
  font-size: 18px;
}
.theme-single-specialist-image-wrapper {
  overflow: hidden;
  border-radius: 999px;
  margin-bottom: 24px;
  width: 240px;
  height: 240px;
}
.theme-single-specialist-image-wrapper img {
  object-fit: cover;
  height: 100%;
}
.theme-single-specialist-contact-locatie {
  margin-bottom: 4px;
  display: block;
}
.theme-single-specialist-contact-phone {
  margin-bottom: 16px;
  display: block;
}
.theme-single-specialist-contact-socials {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  margin-top: 16px;
  display: block;
}
.theme-single-specialist-contact-socials a {
  padding: 6px 10px;
  border-radius: 999px;
  overflow: hidden;
  background-color: #0D2D42;
  color: #fff;
  opacity: 0.3;
  margin-right: 8px;
}
.theme-single-specialist-contact-socials a:hover {
  opacity: 1;
  color: #fff;
}
.theme-single-specialist-contact-socials a i {
  width: 16px;
  height: 16px;
  text-align: center;
}
.theme-single-specialist .wpforms-submit {
  background-color: #BF9F00 !important;
}
.theme-single-specialist .wpforms-submit:focus::after {
  display: none !important;
}

.theme-news-archive-post {
  display: block;
  
}

.theme-news-archive-post__inner-wrapper {
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, .15);
  padding: 30px;
  position: relative;
  border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px;
}
.theme-news-archive-post-image-wrapper {
	width: 100%;
	height: 285px;
	border-top-left-radius: 25px;
	border-top-right-radius: 25px;
	overflow: hidden;
}
.theme-news-archive-post-image-wrapper img {
	width: 100%;
	height: 100%;
	object-fit:cover;
	object-position: center;
}
.theme-news-archive-post-title {
    color: #BF9F00;
    font-size: 22px;
    font-weight: 400;
}
.theme-news-archive-post-content {
  margin-top: 24px;
}
.theme-news-archive-post:hover-title {
  color: #BF9F00;
}
.theme-news-archive-button {
  padding: 16px 32px;
  display: inline-block;
  background-color: #BF9F00;
  border: 1px solid transparent;
  color: #fff;
  transition: 0.2s ease-in;
  margin: 24px 0;
}
.theme-news-archive-button:hover {
  border: 1px solid #BF9F00;
  background-color: transparent;
  color: #BF9F00;
}

.theme-news-wrapper-info {
  display: flex;
  flex-direction: row;
  font-size: 12px;
  font-weight: 500;
  margin-top: 12px;
}
.theme-news-wrapper-info-date {
  color: #BF9F00;
  padding-right: 8px;
  margin-right: 8px;
}
.theme-news-wrapper-info-date i {
  margin-right: 8px;
}
.theme-news-wrapper-info-author {
  border-right: 1px solid black;
  padding-right: 8px;
  margin-right: 8px;
}
.theme-news-wrapper-info-author i {
  margin-right: 8px;
}
.theme-news-wrapper-info-news a:hover {
  color: #BF9F00;
}
.theme-news-wrapper-content {
  margin-top: 40px;
}
.theme-news-wrapper-content a {
  color: #BF9F00;
}
.theme-news-more {
  background-color: #f5f6f7;
  padding: 16px;
}
.theme-news-more-title {
  font-size: 24px;
  margin-bottom: 8px;
  padding-bottom: 8px;
  border-bottom: 1px solid #dedede;
}
.theme-news-more-item {
  display: block;
  margin-bottom: 24px;
}
.theme-news-more-item-wrapper {
  display: flex;
  flex-direction: row;
}
.theme-news-more-item-wrapper-image-wrapper {
  width: 160px;
  height: 100px;
}
.theme-news-more-item-wrapper-image-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.theme-news-more-item-wrapper-title {
  padding-left: 8px;
    font-size: 17px;
    margin-top: auto;
    margin-bottom: auto;
}

.theme-locations-wrapper {
  background-size: cover;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  margin-bottom: 60px;
}
.theme-locations-wrapper-title {
  color: #fff;
  padding: 120px 0;
  font-weight: 200;
  text-align: center;
  font-size: 52px;
}
.theme-locations-title {
  text-align: center;
  margin-bottom: 24px;
}
.theme-locations-cards {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}
.theme-locations-card {
  color: #fff;
  margin: 12px 0;
  background-color: #BF9F00;
  width: 49%;
  display: flex;
}
.theme-locations-card:nth-of-type(4n + 3), .theme-locations-card:nth-of-type(4n + 3) + * {
  background-color: #BF9F00;
}
.theme-locations-card-left {
  width: 50%;
}
.theme-locations-card-left a {
  display: none;
}
.theme-locations-card-right {
  width: 50%;
  padding: 48px 20px;
}
.theme-locations-card-right-name {
  font-size: 24px;
}
.theme-locations-card-right-adres {
  font-size: 16px;
  color: #fff;
}
.theme-locations-card-right-link {
  color: #fff;
  font-size: 16px;
}
.theme-locations-card-right-link i {
  margin-right: 8px;
}
.theme-locations-card-right-link:hover {
  color: #8a8a8a;
}

.theme-reviewslider {
  background-image: url("https://staging.odekerkenlogopedie.wemexcloud.net/wp-content/uploads/2023/11/Testimonials-bg.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  height: 400px;
  display: flex;
  align-items: center;
}
.theme-reviewslider-slider-slide {
  cursor: grab;
  outline: none;
}
.theme-reviewslider-slider-slide-content {
  color: #fff;
  text-align: center;
  padding: 0 16px;
  font-size: 18px;
  font-weight: 400;
}
.theme-reviewslider-slider-slide-name {
  color: #BF9F00;
  font-size: 14px;
  font-weight: 500;
  text-align: center;
  margin-top: 24px;
}

.theme-cta {
  background-color: #fea146;
}
.theme-cta-wrapper {
  padding: 80px 0;
  text-align: center;
  color: #fff;
}
.theme-cta-wrapper-title {
  color: #fff;
  margin-bottom: 16px;
}
.theme-cta-wrapper-content {
  margin-bottom: 40px;
}
.theme-cta-wrapper-button {
  padding: 16px 32px;
  background-color: #BF9F00;
  border: 1px solid transparent;
  color: #fff;
  transition: 0.2s ease-in;
}
.theme-cta-wrapper-button:hover {
  border: 1px solid #BF9F00;
  background-color: transparent;
  color: #BF9F00;
}

.omorfy-google-badge {
  width: 200px;
  height: 132px;
  box-sizing: border-box;
  padding: 12px 14px;
  border-radius: 8px;
  background: #fff;
  border: 1px solid rgba(13, 45, 66, 0.12);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 3px;
}
.omorfy-google-badge-label {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #6b7684;
}
.omorfy-google-badge-score {
  font-size: 26px;
  font-weight: 700;
  color: #0D2D42;
  line-height: 1.1;
}
.omorfy-google-badge-stars {
  color: #BF9F00;
  font-size: 13px;
}
.omorfy-google-badge-meta {
  font-size: 12px;
  color: #6b7684;
  display: flex;
  align-items: center;
  gap: 6px;
}
.omorfy-google-badge-meta svg {
  flex-shrink: 0;
}

.theme-footer-socials {
  margin-left: 10px;
}
.theme-footer-socials a {
  font-size: 28px;
  margin-right: 12px;
}
.theme-footer-socials i {
  color: #BF9F00;
}

.theme-footer-content {
  margin: 14px 10px;
  color: #000;
}

.theme-contact {
  text-align: center;
  color: #0D2D42;
  background-color: #F5F2EF;
}
.theme-contact .theme-contact-title,
.theme-contact .theme-contact-content {
  color: #0D2D42;
}
.theme-contact-title {
  color: #000;
  margin-bottom: 24px;
  font-size: 34px;
  font-weight: 200;
}
.theme-contact-content {
  color: #000;
}
.theme-contact-content a {
  color: #BF9F00;
  transition: 0.2s ease-in;
}
.theme-contact-content a:hover {
  color: #8a8a8a;
}
.theme-contact-form {
  text-align: left;
}
.theme-contact-form .spacer {
  display: none !important;
}
.theme-contact-form .gform_submission_error {
  color: #000 !important;
}
.theme-contact-form .gform_validation_error_link {
  color: #000 !important;
}
.theme-contact-form .gfield_label {
  color: #ccc !important;
  font-weight: 500 !important;
}
.theme-contact-form .gfield_required {
  color: #000 !important;
}
.theme-contact-form .validation_message {
  color: #000 !important;
}
.theme-contact-form .gform_button,
.gform_wrapper .gform_button,
.gform_wrapper button.gform_button,
.gform_wrapper input[type="submit"].gform_button,
input#gform_submit_button_1,
input#gform_submit_button_2,
button#gform_submit_button_1,
button#gform_submit_button_2 {
  background-color: #BF9F00 !important;
  color: #fff !important;
  font-weight: 500 !important;
  font-size: 16px !important;
  padding: 10px 28px !important;
  border-radius: 999px !important;
  border: 1px solid #BF9F00 !important;
  width: auto !important;
  min-width: 160px !important;
  transition: 0.2s ease-in-out !important;
}
.theme-contact-form .gform_button:hover,
.gform_wrapper .gform_button:hover,
button#gform_submit_button_1:hover,
button#gform_submit_button_2:hover,
input#gform_submit_button_1:hover,
input#gform_submit_button_2:hover {
  background-color: transparent !important;
  color: #BF9F00 !important;
}
.gform_wrapper .gform_button:focus,
.gform_wrapper .gform_button:focus-visible,
.gform_wrapper .gform_button:active {
  outline: none !important;
  box-shadow: none !important;
}
.theme-contact.bg-orange .theme-contact-content a {
  color: #BF9F00;
}
.theme-contact.bg-orange .theme-contact-content a:hover {
  color: #8a8a8a;
}
.theme-contact.bg-orange .gform_submission_error {
  color: #BF9F00 !important;
}
.theme-contact.bg-orange .gform_validation_error_link {
  color: #BF9F00 !important;
}
.theme-contact.bg-orange .gfield_label {
  color: #fff !important;
}
.theme-contact.bg-orange .gfield_required {
  color: #BF9F00 !important;
}
.theme-contact.bg-orange .validation_message {
  color: #BF9F00 !important;
}
.theme-contact.bg-orange .gform_button {
  background-color: #BF9F00 !important;
}

.theme-footer {
  background-color: #0D2D42;
}
.theme-footer .container {
  padding-left: 60px;
  padding-right: 60px;
}
@media (max-width: 767px) {
  .theme-footer .container {
    padding-left: 24px;
    padding-right: 24px;
  }
}
.theme-footer-content {
  color: #fff;
}
.theme-footer-content a {
  color: #fff;
}
.theme-footer-logo-wrapper {
  text-align: left;
}
.theme-footer-logo-wrapper a {
  display: inline-flex;
  align-items: center;
  width: auto;
  height: auto;
  background-color: #fff;
  padding: 14px 22px;
  border-radius: 12px;
}
.theme-footer-logo-wrapper a img {
  height: 42px;
  width: auto;
  object-fit: contain;
}
.theme-footer-link-wrapper {
  color: #fff;
  font-size: 16px;
  font-weight: 500;
  margin: 16px 32px;
}
.theme-footer-link-wrapper h4 {
  color: #BF9F00;
}
.theme-footer-link-wrapper ul {
  margin-top: 14px;
  list-style: none;
  padding: 0;
  font-weight: 400;
}
.theme-footer-link-wrapper li {
  margin-bottom: 10px;
}
.theme-footer-link-wrapper a {
  text-decoration: none;
  color: #fff;
  transition: 0.3s ease-in-out;
}
.theme-footer-link-wrapper a:hover {
  opacity: 0.6;
}
.theme-footer-social-wrapper {
  display: flex;
  justify-content: center;
}
.theme-footer-social-wrapper-link {
  background-color: rgba(149, 152, 160, 0.2);
  padding: 6px 6px 2px 6px;
  margin: 0 2px;
  border-radius: 999px;
  text-align: center;
  color: #fff;
  transition: 0.3s ease-in-out;
}
.theme-footer-social-wrapper-link i {
  width: 20px;
  height: 20px;
}
.theme-footer-social-wrapper-link:hover {
  color: #fff;
  background-color: #0D2D42;
}

@media only screen and (max-width: 999px) {
  .whatsapp-blob {
    display: block;
  }

  .theme-footer-link-wrapper {
    margin: 16px 12px;
  }
  .theme-footer-link-wrapper ul {
    margin-top: 6px;
  }
}
@media screen and (max-width: 992px) {
  .theme-subpage-hero.flex-row-reverse__desktop-only {
	flex-direction: column-reverse !important;
  }
  
  .theme-subpage-hero.flex-row-reverse__desktop-only .theme-subpage-hero-right {
	  padding-top: 60px;
	  padding-bottom: 60px;
  }
  
  .theme-subpage-hero.flex-row-reverse__desktop-only .theme-subpage-hero-left {
	  min-height: 390px;
  }
  
  .review-block {
    width: 100%;
  }

  .theme-header__bottom-logo-wrapper {
    width: 190px;
  }

  /* theme cards height fix on mobile */
  .theme-cards-wrapper {
    height: auto;
  }

  .theme-header__bottom-navigation {
    margin: 12px 0;
  }
  .theme-header__bottom-navigation ul {
    justify-content: center;
  }
  .theme-header__bottom-actions {
    justify-content: center;
  }

  .theme-subpage-hero {
    flex-direction: column !important;
  }
  .theme-subpage-hero-left {
    width: 100%;
    height: 500px;
  }
  .theme-subpage-hero-left.alt-seventy {
    width: 100%;
    height: 500px;
  }
  .theme-subpage-hero-right {
    width: 100%;
    padding: 24px 20px;
    align-items: flex-start !important;
  }
  .theme-subpage-hero-right.alt-seventy {
    width: 100%;
    padding: 24px 20px;
    align-items: flex-start !important;
  }

  .theme-disciplines-wrapper-card-left {
    margin: 0 30px;
  }

  .theme-news-more {
    margin-top: 48px;
  }

  .theme-single-case-wrapper-info {
    flex-direction: column;
  }
  .theme-single-case-wrapper__inner {
    min-height: auto;
  }
  .theme-single-case-wrapper-tabcontent {
    flex-direction: column;
  }
  .theme-single-case-wrapper-tabcontent.active {
    display: contents;
  }
  .theme-single-case-wrapper-tabcontent-image-wrapper {
    width: 300px;
    height: 300px;
    display: contents;
    border-radius: 999px;
    overflow: hidden;
  }
  .theme-single-case-wrapper-tabcontent-image-wrapper img {
    width: 300px;
    height: 300px;
  }
  .theme-single-case-wrapper-tabcontent-content {
    margin-top: 16px;
    width: 100%;
  }

  .theme-single-specialist .col-lg-3 {
    order: 1;
  }
  .theme-single-specialist .col-lg-5 {
    order: 3;
  }
  .theme-single-specialist .col-lg-4 {
    order: 2;
  }
  .theme-single-specialist .form-col {
    order: 4;
  }
  .theme-single-specialist-about {
    margin-top: 40px;
  }
}
@media screen and (max-width: 768px) {
  .theme-registered-image-wrapper img {
    width: 50%;
  }

  .theme-disciplines-title {
    margin-bottom: 40px;
  }
  .theme-disciplines-image-wrapper {
    display: none;
  }

  .theme-locations-card {
    width: 100%;
  }

  .theme-services-image-wrapper {
    margin: 24px 0;
  }
  .theme-services-quote {
    margin: 32px 0;
  }
}
@media screen and (max-width: 568px) {
  h1 {
    font-size: 44px;
  }

  h2 {
    font-size: 40px;
  }

  h3 {
    font-size: 22px;
  }

  h4 {
    font-size: 18px;
  }

  .theme-header-topbar-mail {
    text-align: center;
  }
  .theme-header-topbar-call {
    text-align: center;
  }
  .theme-header-topbar-openorclosed {
    text-align: center;
  }

  .theme-header__bottom {
    background-color: #fff;
    position: relative;
    padding: 16px 0;
  }
  .theme-header__bottom-navigation {
    max-height: 0px;
    overflow: hidden;
    transition: 0.2s ease-in;
  }
  .theme-header__bottom-navigation.open-nav {
    max-height: unset;
  }
  .theme-header__bottom-navigation ul {
    flex-direction: column;
  }
  /* Op desktop zorgt padding-bottom + negatieve margin-bottom voor een bredere
   * hover-brug naar de dropdown. In de verticaal gestapelde mobiele nav (column)
   * telt die negatieve margin de hoogte van elk item (en dus het hele menu) terug
   * naar 0, waardoor het menu na het openen onzichtbaar blijft. Daarom hier resetten. */
  .theme-header__bottom-navigation ul li {
    padding-bottom: 12px;
    margin-bottom: 0;
  }
  .theme-header__bottom-navigation ul li:not(:first-child) {
    border: none;
  }
  .theme-header__bottom-navigation ul li:hover .sub-menu {
    transform: translate(0%, 0%);
    opacity: 1;
    visibility: visible;
    display: block;
  }
  .theme-header__bottom-navigation ul li .sub-menu {
    padding-bottom: 8px;
    display: none;
  }
  .theme-header__bottom-navigation ul li .sub-menu li {
    padding: 0;
  }
  .theme-header__bottom-navigation ul li .sub-menu li a {
    padding: 0 12px;
    color: #454545;
  }
  .theme-header__bottom-navigation .menu-item-has-children .sub-menu {
    background-color: transparent;
    position: relative;
    top: 0;
    width: auto;
    padding: 0;
    transition: 0.2s ease-in;
    transform: translate(0, 0);
    overflow: hidden;
  }
  .theme-header__bottom-navigation .menu-item-has-children .sub-menu a:hover {
    color: #454545;
  }
  .theme-header__bottom-navigation .menu-item-has-children::after {
    content: "";
    font-family: "Font Awesome 5 Free";
    position: absolute;
    top: 0;
    right: 0;
    transition: 0.2s ease-in;
  }
  .theme-header__bottom-navigation .menu-item-has-children:hover:after {
    transform: rotateZ(180deg);
  }
  .theme-header__bottom-actions {
    display: none;
  }
  .theme-header__bottom .logo-col {
    order: 1;
  }
  .theme-header__bottom .navigation-col {
    order: 3;
    display: none;
  }
  .theme-header__bottom .burger-col {
    order: 2;
    display: flex;
    justify-content: flex-end;
  }
  .theme-header__bottom-burger-trigger {
    position: relative;
    height: 22px;
    width: 30px;
    z-index: 15;
    cursor: pointer;
  }
  .theme-header__bottom-burger-trigger span {
    position: absolute;
    width: 30px;
    height: 2px;
    background-color: #5D5152;
    transition-duration: 0.3s;
  }
  .theme-header__bottom-burger-trigger span:first-child {
    top: 0px;
  }
  .theme-header__bottom-burger-trigger span.center {
    top: calc(50% - 1px);
  }
  .theme-header__bottom-burger-trigger span:last-child {
    bottom: 0px;
  }
  .theme-header__bottom .burger-active span:nth-of-type(1) {
    rotate: -135deg;
    top: 9.5px;
  }
  .theme-header__bottom .burger-active span.center {
    opacity: 0;
  }
  .theme-header__bottom .burger-active span:nth-of-type(4) {
    rotate: 135deg;
    bottom: 9.5px;
  }

  .theme-hero-slider-slide-wrapper-title {
    font-size: 32px;
  }
  .theme-hero-slider-slide-wrapper-content {
    font-size: 24px;
  }
  .theme-hero-slider-slide-wrapper-button {
    font-size: 20px;
  }

  .theme-subpage-hero-left {
    background-position: 50%;
  }

  .theme-double-text-title {
    font-size: 40px;
  }

  .theme-disciplines-title {
    font-size: 40px;
  }
  .theme-disciplines-wrapper-card-left {
    width: 100%;
    margin: 0 20px;
  }
  .theme-disciplines-wrapper.card-right {
    margin-top: 32px;
  }

  .theme-single-specialist-specialisatie {
    margin-top: 40px;
  }

  .theme-registered-image-wrapper {
    text-align: center;
  }
  .theme-registered-image-wrapper img {
    width: 80%;
  }

  .theme-footer-logo-wrapper a {
    width: auto;
  }
}

/* ==========================================================================
   Mega menu (top-level dropdown, e.g. Haartransplantatie)
   ========================================================================== */
.theme-header__bottom-navigation { position: relative; }
.theme-header__bottom-navigation ul li:has(> .mega-menu-panel) { position: static; }
.theme-header__bottom-navigation ul li .mega-menu-panel {
  position: absolute;
  top: calc(100% + 16px);
  left: 50%;
  width: 980px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 260px;
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 20px 40px rgba(13, 45, 66, 0.18);
  z-index: 5;
  transform: translate(-50%, 20px);
  transition: transform 0.25s ease, opacity 0.25s ease, visibility 0.25s ease;
  opacity: 0;
  visibility: hidden;
  padding: 0;
}
/* Dropdowns met 4 of minder items vullen maar 1 kolom van de mega-menu-list
   (zie hieronder) — dan is de tweede kolom leeg en oogt het paneel te breed.
   :has() detecteert of er geen 5e item is en maakt het paneel dan smaller.
   Alleen op desktop-breedte: de :has()-selector is specifieker dan de
   @media (max-width: 992px)-regel verderop en zou anders diens width:100%
   overschrijven op mobiel. */
@media (min-width: 993px) {
  .theme-header__bottom-navigation ul li .mega-menu-panel:has(.mega-menu-list:not(:has(.mega-menu-item:nth-child(5)))) {
    width: 620px;
  }
  .theme-header__bottom-navigation .mega-menu-panel .mega-menu-list:not(:has(.mega-menu-item:nth-child(5))) {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: none;
    grid-auto-flow: row;
  }
}
.theme-header__bottom-navigation ul li:hover > .mega-menu-panel,
.theme-header__bottom-navigation ul li.li-open > .mega-menu-panel {
  transform: translate(-50%, 0);
  opacity: 1;
  visibility: visible;
}
.theme-header__bottom-navigation ul li .mega-menu-panel::before {
  content: "";
  position: absolute;
  top: -16px;
  left: 0;
  right: 0;
  height: 16px;
}

.theme-header__bottom-navigation .mega-menu-panel .mega-menu-list {
  list-style: none;
  margin: 0;
  padding: 16px 12px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  grid-template-rows: repeat(4, auto);
  grid-auto-flow: column;
  gap: 2px 4px;
  background: #fff;
  justify-content: initial;
}
.theme-header__bottom-navigation .mega-menu-panel .mega-menu-list li.mega-menu-item {
  padding: 0;
  margin: 0;
  border: 0 !important;
  position: static;
}
.theme-header__bottom-navigation .mega-menu-panel .mega-menu-list li.mega-menu-item > a {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 10px 12px;
  border-radius: 10px;
  color: #0D2D42;
  text-decoration: none;
  transition: background-color 0.15s ease;
}
.theme-header__bottom-navigation .mega-menu-panel .mega-menu-list li.mega-menu-item > a:hover {
  background-color: #F7F3E4;
  color: #0D2D42;
}
/* Herkenbaar maken welke behandelpagina de bezoeker nu bekijkt. */
.theme-header__bottom-navigation .mega-menu-panel .mega-menu-list li.mega-menu-item.current-menu-item > a {
  background-color: #FBF2D2;
  box-shadow: inset 3px 0 0 #BF9F00;
}
.mega-menu-item.current-menu-item .mega-menu-item-title {
  font-weight: 700;
}
.mega-menu-item.current-menu-item .mega-menu-item-title::after {
  content: "\f00c";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  color: #BF9F00;
  font-size: 11px;
  margin-left: 8px;
}
.mega-menu-item-icon {
  flex: 0 0 auto;
  width: 48px;
  height: 48px;
  border-radius: 10px;
  background: #FBF7EB;
  border: 1px solid rgba(191, 159, 0, 0.35);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.mega-menu-item-icon img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.mega-menu-item-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  flex: 1 1 auto;
}
.mega-menu-item-title {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.mega-menu-item-desc {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.35;
  max-height: calc(1.35em * 2);
  white-space: normal;
}
.mega-menu-item-title {
  font-weight: 700;
  font-size: 18px;
  color: #0D2D42;
  line-height: 1.25;
}
.mega-menu-item-desc {
  font-size: 15px;
  color: #6b7684;
  line-height: 1.4;
}

.mega-menu-cta {
  background: #0D2D42;
  color: #fff;
  padding: 26px 22px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  justify-content: center;
  white-space: normal;
}
.mega-menu-cta * {
  white-space: normal;
}
.mega-menu-cta-chip {
  display: inline-block;
  align-self: flex-start;
  background: #BF9F00;
  color: #0D2D42;
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.06em;
  padding: 4px 10px;
  border-radius: 999px;
}
.mega-menu-cta-title {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.25;
  color: #fff;
  margin: 4px 0 0;
}
.mega-menu-cta-text {
  font-size: 13px;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.78);
  margin: 0 0 8px;
}
.mega-menu-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: #BF9F00;
  color: #fff !important;
  font-weight: 700;
  font-size: 14px;
  padding: 12px 18px;
  border-radius: 999px;
  text-decoration: none;
  transition: filter 0.15s ease, background-color 0.15s ease;
}
.mega-menu-cta-btn:hover {
  filter: brightness(1.05);
  color: #fff !important;
}

@media (max-width: 992px) {
  .theme-header__bottom-navigation ul li .mega-menu-panel {
    position: static;
    width: 100%;
    grid-template-columns: 1fr;
    box-shadow: none;
    border-radius: 8px;
    background: transparent;
    transform: none;
    opacity: 1;
    visibility: visible;
    display: none;
  }
  .theme-header__bottom-navigation ul li:hover > .mega-menu-panel,
  .theme-header__bottom-navigation ul li.li-open > .mega-menu-panel {
    display: block;
    /* Zelfde specificiteit als de desktop open-state regel hierboven in het
       bestand, die anders transform: translate(-50%, 0) blijft toepassen en
       het paneel ~174px naar links buiten beeld duwt. */
    transform: none;
  }
  /* Specificiteit moet gelijk zijn aan de desktop-regel (.theme-header__bottom-navigation
     .mega-menu-panel .mega-menu-list) om de 2-koloms grid daadwerkelijk te overschrijven —
     een losse .mega-menu-list-selector verliest anders van die regel. */
  .theme-header__bottom-navigation .mega-menu-panel .mega-menu-list {
    display: block;
    padding: 8px 0;
    background: transparent;
  }
  .mega-menu-list li.mega-menu-item > a {
    padding: 8px 10px;
    color: #0D2D42;
  }
  .mega-menu-item-title {
    color: #0D2D42;
  }
  .mega-menu-item-desc {
    color: #6b7684;
  }
  .mega-menu-cta {
    display: none;
  }
}

/* Reviews-grid op /ervaringen/: Google (SerpApi) + Klantenvertellen samengevoegd,
   in dezelfde look als de vroegere sitebrede Trustindex-widget (kaarten met
   avatar/naam/datum, sterren, verificatie-vinkje, bron-icoon). */
.theme-reviews-grid-wrapper {
  background-color: #F5F2EF;
  padding: 60px 0;
}
.omorfy-reviews-summary {
  background: #fff;
  border-radius: 14px;
  padding: 24px 28px;
  margin: 32px 0;
  box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
}
.omorfy-reviews-view-all {
  white-space: nowrap;
}
.omorfy-reviews-summary-text {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  font-size: 15px;
  color: #1D2420;
}
.theme-reviews-cta-text {
  font-weight: 600;
}
.omorfy-reviews-stars {
  color: #BF9F00;
  letter-spacing: 2px;
}
.omorfy-reviews-stars .omorfy-star-empty {
  color: #DAD6CC;
}
.omorfy-reviews-count {
  color: #6B6558;
}
.omorfy-reviews-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
@media (max-width: 900px) {
  .omorfy-reviews-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 600px) {
  .omorfy-reviews-grid {
    grid-template-columns: 1fr;
  }
}
.omorfy-review-card {
  background: #fff;
  border-radius: 14px;
  padding: 20px;
  box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
}
.omorfy-review-hidden {
  display: none;
}
.omorfy-review-card-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}
.omorfy-review-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}
.omorfy-review-avatar-initial {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 600;
  font-size: 16px;
}
.omorfy-review-name-date {
  display: flex;
  flex-direction: column;
  min-width: 0;
  flex: 1;
}
.omorfy-review-name {
  font-weight: 600;
  color: #1D2420;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.omorfy-review-date {
  font-size: 13px;
  color: #6B6558;
}
.omorfy-review-sources {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 6px;
}
.omorfy-review-source {
  display: flex;
  align-items: center;
}
.omorfy-review-source-logo {
  width: 26px;
  height: 26px;
  object-fit: contain;
}
.omorfy-review-stars {
  color: #BF9F00;
  letter-spacing: 2px;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.omorfy-review-stars .omorfy-star-empty {
  color: #DAD6CC;
}
.omorfy-review-verified {
  color: #1976D2;
  font-size: 14px;
  margin-left: auto;
}
.omorfy-review-text {
  color: #1D2420;
  font-size: 14px;
  line-height: 1.5;
  margin: 0;
}
.omorfy-review-readmore {
  display: inline;
  background: none;
  border: none;
  padding: 0;
  margin-left: 4px;
  color: #BF9F00;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}
.omorfy-review-readmore:hover {
  text-decoration: underline;
}
.omorfy-reviews-loader {
  display: flex;
  justify-content: center;
  padding: 32px 0;
}
.omorfy-reviews-spinner {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 3px solid #DAD6CC;
  border-top-color: #BF9F00;
  animation: omorfy-reviews-spin 0.8s linear infinite;
}
@keyframes omorfy-reviews-spin {
  to { transform: rotate(360deg); }
}

/* Compacte reviews-slider (max 3 zichtbaar), zie template-parts/blocks/omorfy-reviews-slider.php */
.omorfy-reviews-slider {
  position: relative;
}
.omorfy-reviews-slider-track {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding-bottom: 4px;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.omorfy-reviews-slider-track::-webkit-scrollbar {
  display: none;
}
.omorfy-reviews-slider-track .omorfy-review-card {
  flex: 0 0 calc((100% - 40px) / 3);
  scroll-snap-align: start;
}
@media (max-width: 900px) {
  .omorfy-reviews-slider-track .omorfy-review-card {
    flex-basis: calc((100% - 20px) / 2);
  }
}
@media (max-width: 600px) {
  .omorfy-reviews-slider-track .omorfy-review-card {
    flex-basis: 100%;
  }
}
.omorfy-reviews-slider-nav {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-top: 20px;
}
.omorfy-reviews-slider-arrow {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid #DAD6CC;
  background: #fff;
  color: #1D2420;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.omorfy-reviews-slider-arrow:hover {
  background: #F5F2EF;
}

/*# sourceMappingURL=style.css.map */
