
  @import url('https://fonts.googleapis.com/css?family=Open+Sans:400,700&display=swap');
  @import url('https://fonts.googleapis.com/css?family=Raleway:400,700&display=swap');

  body {
  font-family: 'Open Sans', sans-serif;
  }

  h1, h2, h3, h4, h5, h6 {
  font-family: 'Raleway', sans-serif;
  }

  h1 {
  font-size: 34px;
  }

  h2 {
  font-size: 32px;
  }

  h3 {
  font-size: 26px;
  }

  h4 {
  font-size: 21px;
  }

  h5 {
  font-size: 18px;
  }

  h6 {
  font-size: 16px;
  }

  body {
  font-size: 15px;
  }

  body,
  .product-usps li,
  .stock-message {
  color: var(--text-100);
  }

  h1, h2, h3, h4, h5, h6 {
  color: var(--text-100) !important;
  }

  a,
  .woocommerce ul.products li.product .price,
  .woocommerce .price {
  color: var(--primary-600) !important;
  }

  a:hover,
  .woocommerce ul.products li.product .price,
  .woocommerce .price,
  .product-usps li i,
  .counter {
  color: var(--primary-400) !important;
  }

  .btn,
  .wpcf7-submit,
  .woocommerce span.onsale,
  .woocommerce a.button,
  .woocommerce .button,
  [type="submit"],
  .nf-form-content input[type=submit]
  {
  background: var(--primary-600) !important;
  color: #fff !important;
  }

  .btn:hover,
  .wpcf7-submit:hover,
  .woocommerce span.onsale:hover,
  .woocommerce a.button:hover,
  .woocommerce .button:hover,
  [type="submit"]:hover,
  .nf-form-content input[type=submit]:hover
  {
  background: var(--primary-400) !important;
  color: #fff !important;
  }

  div.social-media ul li a {
  background: var(--primary-500) !important;
  color: #fff !important;
  }

  div.social-media ul li a i {
  color: #fff !important;
  }

  div.social-media ul li a:hover {
  background: var(--primary-400) !important;
  color: #fff !important;
  }
  footer div.social-media ul li a {
  background: var(--primary-600) !important;
  }

  div.phone a.phone, div.email a.email {
  background: var(--primary-500) !important;
  color: #fff !important;
  }

  div.phone a.phone, div.email a.email i {
  color: #fff !important;
  }

  div.phone a.phone:hover, div.email a.email:hover {
  background: var(--primary-400) !important;
  color: #fff !important;
  }

  header button.navbar-toggle {
  color: var(--primary-500);
  border-color: var(--primary-500);
  }

  .woocommerce-info,
  .woocommerce-message {
  border-top-color: var(--primary-500) !important;
  }

  .woocommerce-info::before,
  .woocommerce-message::before {
  color: var(--primary-500) !important;
  }

  .btn,
  .wpcf7-submit,
  .woocommerce span.onsale,
  .woocommerce a.button,
  .woocommerce .button,
  .modal__container,
  .footer-cta-box,
  .rimg,
  [type="submit"] {
  -moz-border-radius: 0px !important;
  -webkit-border-radius: 0px !important;
  border-radius: 0px !important;
  }

  .img-responsive {
  -moz-border-radius: 0px;
  -webkit-border-radius: 0px;
  border-radius: 0px;
  }



  header > div.wrapper {
  display: block;
  position: relative;
  }

  header div.header::after {
  bottom: 0;
  content: "";
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: -1;
  }

  header > div.wrapper::after {
  background: url('https://shavoclone.nbsals6.nl/wp-content/uploads/sites/502/2024/02/IMG_2093-b3e1c24b-cf49-4910-9034-7f7d094d55cc-1920x1280.jpg');
  background-size: cover;
  bottom: 0;
  content: "";
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: -2;
  }




  @media only screen and (min-width : 992px) {
  body.home header > div.wrapper {
  min-height: 350px;
      min-height: 580px;
    }
  body.home header > div.wrapper.above {
  min-height: 500px;
      min-height: 730px;
    }
  }

  @media only screen and (min-width : 992px) {
  body header > div.wrapper {
  min-height: 225px;
      min-height: 380px;
    }
  body header > div.wrapper.above {
  min-height: 375px;
      min-height: 530px;
    }
  body header > div.wrapper.above::after,
  body header > div.wrapper.above.shadow::before,
  body header > div.wrapper.above_shadow::before {
      top: 305px;
    }
  body header > div.wrapper.sticky_menu .header__content {
      margin-top: 305px;
    }
  }

  @media only screen and (min-width : 992px) {
  header > div.wrapper {
  min-height: 405px;
  }
  header > div.wrapper.above {
  min-height: 555px;
  }

  header div.header div.holder {
  height: 305px;
  }
  }





  nav.navbar-default, div.navbar-collapse {
  background-color: var(--primary-500); !important;
  }

  @media only screen and (min-width : 992px) {
  
  div.navbar-collapse {
  background: none !important;
  }

  header nav.navbar-default {
  background-color: rgba(10, 0, 0, .5) !important;
  }

  nav.navbar-default div.navbar-collapse ul.navbar-nav>li a:hover {
  background-color: rgba(10, 0, 0, .5) !important;
  -webkit-box-shadow: inset 0 0 0 1000px rgba(255, 255, 255, 0.1);
  -moz-box-shadow: inset 0 0 0 1000px rgba(255, 255, 255, 0.1);
  box-shadow: inset 0 0 0 1000px rgba(255, 255, 255, 0.1);
  }

  header div.header.full-width nav.navbar-default div.navbar-collapse ul.navbar-nav > li > a:hover,
  header div.header.full-width nav.navbar-default div.navbar-collapse ul.navbar-nav > li > a:focus,
  header div.header.full-width nav.navbar-default div.navbar-collapse ul.navbar-nav > li > a:active {
  color: var(--primary-500) !important;
  }
  }


  @media only screen and (min-width : 992px) {
  section.featured div.wrapper {
  margin-top: -100px;
  }
  header>div.wrapper .header__content {
  transform: translate3d(0, -40px, 0);
  }
  }





  header div.header {
  text-align: center;
  }

  header div.navbar-collapse ul.navbar-nav li a, .nav .open>a, .nav .open>a:focus, .nav .open>a:hover {
  border-bottom: 1px solid var(--primary-600);
  }

  @media only screen and (min-width : 992px) {
  header div.navbar-collapse ul.navbar-nav li a, header nav.navbar-default div.navbar-collapse ul.navbar-nav li ul.dropdown-menu li.active > a {
  color: var(--primary-600) !important;
  }
  }


  header div.header div.contact i {
  color: var(--primary-600);
  }

  @media only screen and (min-width : 992px) {
  header div.navbar-collapse {
  text-align: center;
  }
  }

  section.featured div.item p,
  section.news div.item p {
  color: var(--text-100) !important;
  }

  section.featured div.item,
  section.news div.item {
  -moz-border-radius: 0px;
  -webkit-border-radius: 0px;
  border-radius: 0px;
  }

  section.partners {
  background: var(--primary-600) !important;
  }

  section.partners img {
  border-radius: 0 !important;
  }

  footer,
  .footer-cta.center:after,
  .author {
  background: var(--primary-500) !important;
  }

  footer div.column > h4 {
  border-bottom: 1px solid var(--primary-600);
  }

  footer div.socket,
  .footer-sticky {
  background: var(--primary-400) !important;
  }


  .img-circle {
  border-radius: 0 !important;
  }

  section.treatments div.button-wrap {
  background: #9c7694;
  margin-top: 30px;
  }

  section.treatments div.item a {
  color: var(--text-100) !important;
  }

  section.prices table tr td a {
  color: var(--text-100) !important;
  }

  aside div.block.treatments ul li a,
  .woocommerce .widget_product_categories ul li a,
  .woocommerce .widget_product_categories ul li span {
  color: var(--text-100) !important;
  }

  aside div.block.treatments ul li:hover,
  .woocommerce .widget_product_categories ul li:hover {
  background: var(--primary-500);
  }

  @import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;600&display=swap');

:root {
  --transition: 0.33s;

  /* Primary: Deep Moss (Basis: #4d5649) */
  --primary-50: #edefed;
  --primary-100: #dce1db;
  --primary-200: #bcc6ba;
  --primary-300: #9bad99;
  --primary-400: #768a74;
  --primary-500: #4d5649; /* Nieuwe hoofdkleur */
  --primary-600: #3d453a;
  --primary-700: #31372f;
  --primary-800: #272c25;
  --primary-900: #222620;
  --primary-950: #121411;

  /* Secondary: Stone/Greige (Basis: #d7cec7) */
  --secondary-50: #f7f6f5;
  --secondary-100: #efedea;
  --secondary-200: #e0dcd8;
  --secondary-300: #d7cec7; /* Nieuwe secondary */
  --secondary-400: #bfb2a9;
  --secondary-500: #a6968a;
  --secondary-600: #8c7b6f;
  --secondary-700: #736357;
  --secondary-800: #5e5046;
  --secondary-900: #4d413a;
  --secondary-950: #2a231f;

  /* Grey (Neutraal) */
  --grey-50: #fafafa;
  --grey-100: #f5f5f5;
  --grey-200: #e5e5e5;
  --grey-300: #d4d4d4;
  --grey-400: #a3a3a3;
  --grey-500: #737373;
  --grey-600: #525252;
  --grey-700: #404040;
  --grey-800: #262626;
  --grey-900: #171717;
  --grey-950: #0a0a0a;

  /* Structurele kleuren */
  --background: #ffffff;
  --surface: #f7f6f5; /* Aangepast naar secondary-50 voor harmonie */
  --text: #222620; /* Aangepast naar primary-900 voor zachter contrast dan puur zwart */
  --text-light: #333; /* Aangepast naar primary-400 */

  /* De "Waas" Overlay */
  --overlay-color: rgba(122, 139, 121, 0.4); 

  /* Fonts - Alles Montserrat */
  --font-primary: 'Montserrat', sans-serif;
  --font-secondary: 'Montserrat', sans-serif;
  --font-third: 'Montserrat', sans-serif;
  
  --font-size-h1: 2.5rem;
  --font-size-h2: 2rem;
  --font-size-h3: 1.5rem;
  --font-size-h4: 1.25rem;
  --font-size-h5: 1.15rem;
  --font-size-h6: 1rem;

  /* Spacings */
  --spacing-25: 0.25rem;
  --spacing-50: 0.5rem;
  --spacing-75: 0.75rem;
  --spacing-100: 1rem;
  --spacing-150: 1.5rem;
  --spacing-200: 2rem;
  --spacing-300: 3rem;
  --spacing-400: 4rem;
  --spacing-600: 6rem;
  --spacing-800: 8rem;
  --spacing-1200: 12rem;
  --spacing-1600: 16rem;
  --spacing-2400: 24rem;
}

section.archive.treatments div.treatments div.item img, section.treatments.shortcode div.treatments div.item img {
  aspect-ratio: 1/1.6;
  object-fit: cover;
}

/* -------------------------------------------------------------------
   Algemene correcties & Huisstijl
-------------------------------------------------------------------*/

.welcome__content img {
  max-height: 580px;
  object-fit: cover;
}


html {
  font-size: 16px !important;
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-secondary);
  font-size: var(--spacing-100);
  font-weight: 400;
  letter-spacing: 0.033em;
  color: var(--text-light) !important;
  line-height: 1.6;
  background-color: var(--background);
  font-family: "Source Sans 3", sans-serif;
}

footer .column a:hover {
  opacity: 0.7;
}


/* Verberg ongewenste elementen */
div.page-header:nth-child(1),
hundefined, 
.faq-question br,
div.breadcrumbs {
  display: none;
}

/* -------------------------------------------------------------------
   Typografie
-------------------------------------------------------------------*/

h1, h2, h3, h4 ,h5, h6 {
  font-family: var(--font-primary);
  margin: var(--spacing-200) 0 var(--spacing-75) 0;
  font-weight: 300;
  font-style: normal;
  color: var(--text) !important;
  font-family: "Kurale", serif;
}

h1 { font-weight: 600; font-size: var(--font-size-h1); }
h2 { font-weight: 600; font-size: var(--font-size-h2); }
h3 { font-weight: 400; font-size: var(--font-size-h3); }
h4 { font-weight: 400; font-size: var(--font-size-h4); }
h5 { font-weight: 400; font-size: var(--font-size-h5); }
h6 { font-weight: 600; font-size: var(--font-size-h6); }

h2 strong {
  color: var(--primary-500) !important;
  font-family: var(--font-third);
}

p {
  margin: 0 0 var(--spacing-100);
  letter-spacing: 0.033em;
}


header .header__content h1 {
  font-size: 60px;
}

.small, small {
  font-size: 0.833rem;
  font-weight: 500;
  letter-spacing: -0.06em;
}

/* Subtitels */
.subtitle1 {
  font-family: var(--font-third);
  font-size: 16px;
  color: var(--primary-600);
  font-weight: bold;
  letter-spacing: 0.15px;
}

.subtitle2 {
  font-family: var(--font-third);
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 0.1px;
}

.intro.text.block0:not(body.home .intro.text.block0) {
  padding-bottom: 0;
}

.caption {
  font-weight: 400;
  font-size: 12px;
  letter-spacing: 0.4px;
}
.treatment__booking {
  margin-top: 1rem;
}
/* -------------------------------------------------------------------
   Header & Hero (Aangepast naar Huna stijl)
-------------------------------------------------------------------*/

/* Basis header wrapper - Nu schermvullend */
header > div.wrapper {
  position: relative;
  width: 100%;
  min-height: 100vh; /* Schermvullend! */
  display: flex;
  align-items: center;
  justify-content: center;
}


.treatment__item br {
  display: none;
}

/* Navigatie aanpassingen */
header div.header.full-width {
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 10;
  border-bottom: 1px solid rgba(255,255,255,0.2);
  overflow: visible !important;
}

header nav.navbar-default {
  background: transparent;
}
section.archive.treatments div.treatments div.item img {
  height: 250px;
  width: 100%;
  object-fit: cover;
}
nav.navbar-default div.navbar-collapse ul.navbar-nav > li > a {
  color: #fff !important; /* Wit op de foto */
  font-weight: 600;
}

nav.navbar-default div.navbar-collapse ul.navbar-nav > li a:hover {
  background-color: rgba(255,255,255,0.2) !important;
}

section.intro section.treatment {
  padding-top: 0 !important;
}

div.page-header h1 {
  border: none;
  margin-top: 0;
  position: relative;
  right: auto;
  top: auto;
  transform: none;
  color: #fff !important;
  text-align: center;
  width: 100%;
  text-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

/* Extra specifieke header tweaks uit oude CSS */
.post-type-archive-behandelingen header > div.wrapper::after {
  background: linear-gradient(var(--overlay-color), var(--overlay-color)),
              url('https://shavoclone.nbsals6.nl/wp-content/uploads/sites/502/2024/02/IMG_4446-Copy-Middel.jpg'); 
  background-position: 80% 50%;
  background-size: cover !important;
}

/* -------------------------------------------------------------------
   Buttons
-------------------------------------------------------------------*/

.btn {
  font-weight: 600;
  font-size: 1.1rem;
  letter-spacing: 0.2rem;
  padding: var(--spacing-100) var(--spacing-200);
  border: 1px solid var(--primary-500);
  backgroundvar(--primary-500); !important;
  background: var(--primary-400) !important;
  color: var(--primary-50) !important;
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  transition: ease-in 0.4s;
  font-family: var(--font-primary);
  margin-top: var(--spacing-200);
  text-decoration: none;
}

.btn:hover {
  border: 1px solid var(--primary-500);
}

.btn.btn-full {
  background: var(--primary-400) !important;
  color: var(--background) !important;
}

.btn.btn-full:hover {
  background: var(--primary-200) !important;
  color: var(--primary-500) !important;
}

.btn.btn-secondary {
  border-color: var(--secondary-400) !important;
  color: var(--secondary-400) !important;
  background: transparent !important;
}

.btn.btn-secondary:hover {
  background: var(--secondary-100) !important;
}

.btn.btn-secondary_full {
  border-color: var(--secondary-400) !important;
  color: var(--background) !important;
  background: var(--secondary-400) !important;
}

.btn.btn-secondary_full:hover {
  background: var(--secondary-200) !important;
  color: var(--secondary-400) !important;
}

/* -------------------------------------------------------------------
   Secties & Layouts
-------------------------------------------------------------------*/

.container {
  width: 100%;
  max-width: 1200px;
  padding: 0 var(--spacing-100);
  margin: 0 auto;
}

section.page, section.treatments {
  padding: var(--spacing-600) 0;
}



/* CTA */
.cta {
  padding: var(--spacing-100);
  background: var(--primary-100);
  margin-top: var(--spacing-150);
}

/* Overlines & Grids */
.behandelingen-title .overline { margin-bottom: -3px; }

.overline {
  font-weight: 400;
  font-size: var(--spacing-100);
  letter-spacing: 1.5px;
  text-transform: none;
  color: var(--secondary-400);
}


.heading-child-image_small {
  grid-column: 1 / span 2;
  grid-row: 3;
}

.heading-child-image_small img {
  aspect-ratio: 1/1;
  object-fit: cover;
  border-radius: 100%;
  position: relative;
  min-width: 50px;
  top: -80px;
  float: right;
  margin-right: auto;
  display: block;
  left: auto;
  right: 7px;
  max-width: 120px;
}


footer div.column img {
  max-width: 150px;
}

.footer-cta.text-center.above {
  background: linear-gradient(90deg,#fff 48%, var(--primary-400) 48%);
}

/* Behandelingen Specifiek */
.behandelingen-child a {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  bottom: 0;
}

.behandelingen-child {
  position: relative;
  overflow: hidden;
}

.behandelingen-child_title * {
  margin-top: var(--spacing-75);
  margin-bottom: 0;
  font-size: var(--font-size-h5);
}

.behandelingen-child_price {
  font-size: var(--font-size-h6);
  font-weight: bold;
  font-family: var(--font-third);
  color: var(--primary-700);
}

/* -------------------------------------------------------------------
   Footer
-------------------------------------------------------------------*/

footer, .footer-cta.center::after, .author {
  background: var(--primary-950) !important;
}

footer div.socket, .footer-sticky {
  background: var(--primary-950) !important;
}

footer div.column > h4 {
  border-bottom: 0px solid var(--primary-600);
  font-family: var(--font-third);
  font-size: var(--font-size-h6);
  font-weight: bold;
  letter-spacing: 0.15px;
  color: #fff !important;
}



.socket .container {
  border-top: 1px solid var(--primary-800);
  padding-top: var(--spacing-100);
}

.socket a, .socket {
  font-weight: 400;
  font-size: 14px !important;
  letter-spacing: 0.4px;
  color: var(--primary-200) !important;
}

footer div.social-media ul li a {
  line-height: 2.8;
}

/* -------------------------------------------------------------------
   Specifieke Elementen (Ninja Forms, Woo, etc)
-------------------------------------------------------------------*/

/* Ninja Forms Tweaks */
#nf-form-4-cont h3, #nf-form-5-cont h3 { display: none; }

#nf-form-5-cont .nf-form-content textarea.ninja-forms-field {
  height: 168px !important;
}

/* WooCommerce / Lijstjes */
.woocommerce .widget_product_categories ul li, 
aside div.block.treatments ul li {
  padding: 5px 15px;
  border-bottom: 1px solid var(--secondary-100);
}

.woocommerce .widget_product_categories ul, 
aside div.block.treatments ul {
  border: 0px solid #e6e6e6;
  margin: 0;
}

/* Diversen */
.cw * { color: var(--secondary-50) !important; }

.wuksD5 {
  border: none;
  height: 1000px;
}

.scroll-popup {
  display: none; /* Stond in je oude ook op none? */
  position: absolute;
  bottom: 23%;
  right: 0;
  transform: translateX(-7%);
  padding: 10px;
  z-index: 100;
  width: 150px;
  color: var(--primary-100);
  font-size: 14px;
  font-weight: bold;
  font-family: var(--font-third);
  background: hsla(42, 14.1%, 27.8%, 0);
  backdrop-filter: blur(30px);
}

.scroll-popup i {
  border: 1px solid var(--primary-600);
  margin-left: var(--spacing-50);
  padding: var(--spacing-25);
  border-radius: 100%;
  font-size: 12px;
}

body header > div.wrapper.above::after, body header > div.wrapper.above.shadow::before, body header > div.wrapper.above_shadow::before {
    top: 0;
  }
.col-md-32.col-md-offset-8 {
  width: 100%;
  margin: 0;
}

.row.vertical-align {
  text-align: left;
}

/* -------------------------------------------------------------------
   MEDIA QUERIES (Desktop)
-------------------------------------------------------------------*/

@media only screen and (min-width: 992px) {

.wrapper.shadow.above_shadow {
  min-height: 800px;
}

body header > div.wrapper {
    min-height: 580px;
  }

header > div.wrapper .header__content {
    transform: translate3d(0, 80px, 0);
  }



  html { overflow-x: hidden; }

  header div.header.full-width div.wrapper img.logo {
    max-width: 175px;
  }



  .row.flex-text {
    display: flex;
    flex-direction: row;
    align-items: baseline;
  }

  /* Grid Layouts Desktop */
  .behandelingen-grid {
    display: flex;
    gap: var(--spacing-100);
  }
  .behandelingen-child.start-small:hover { width: 75%; }
  .behandelingen-child.start-small { width: 33%; }
  .behandelingen-child.start-big { width: 50%; }
  .behandelingen-child { transition: var(--transition) !important; }
  .behandelingen-child.start-big:hover { width: 75%; }
  
  .behandelingen-title.tac {
    max-width: 800px;
    margin: 0 auto var(--spacing-400) auto;
    display: block;
  }

  .behandelingen-child_image img {
    height: 500px;
    width: 100%;
    object-fit: cover;
    object-position: center;
  }

  .intro.text.block0.cw.header-section {
    margin-top: -220px;
    padding-top: 250px;
  }


  header div.header div.holder {
    height: fit-content;
    padding: var(--spacing-25) 0;
  }



  .heading.heading-super {
    font-size: var(--spacing-400);
    margin: 0;
  }
  
  .heading-child-image_small img {
    left: 2rem;
    position: relative;
    min-width: 150px;
    top: -80px;
  }
}

/* -------------------------------------------------------------------
   MEDIA QUERIES (Mobile / Tablet)
-------------------------------------------------------------------*/

@media only screen and (max-width: 991px) {

body.home header > div.wrapper.title_in_header div.page-header h1 {
  display: block !important;
  position: relative;
}

.about-short .col-md-24:nth-child(1) {
  padding-top: 3rem;
}

header > div.wrapper.title_in_header .header__content {
  width: 97%;
  padding: 1rem !important;
}

.half__coloured {
  background: linear-gradient(180deg,#fff 48%, var(--primary-400) 48%);
}

.footer-cta.text-center.above {
  background: linear-gradient(180deg,#fff 48%, var(--primary-400) 48%);
}

  body, html { overflow-x: hidden !important; }
  
  article header::after, .home header::after { display: none; }

  .col-md-14.col-md-offset-2 {
    border-top: 1px solid var(--primary-100);
    margin-top: var(--spacing-100);
  }

  .uitklap h4 {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: start;
    width: 100%;
    gap: var(--spacing-100);
  }

  .uitklap .fas.fa-chevron-down, .uitklap .fas.fa-chevron-up {
    font-size: var(--font-size-h6);
    color: var(--primary-400);
  }

  .footer-cta-center { text-align: center; }
  
  footer .img-responsive {
    max-width: 200px !important;
    margin: 0 auto var(--spacing-300) auto;
  }

  html { font-size: 14px !important; }

  /* Mobiele Header Tweaks */
  header > div.wrapper { min-height: 750px; }
  
  div.page-header h1 {
    position: absolute;
    right: 50%;
    top: 24%;
    transform: translate(50%, 0%);
    width: 100%;
  }

  .behandelingen-title.tac { text-align: left !important; }
  .row.about-short img { margin-top: var(--spacing-400); }

  .footer-cta-box.pd-1.position-relative {
    margin: var(--spacing-25);
    padding: var(--spacing-200) !important;
  }

  .row.align-baseline.cw {
    flex-direction: column;
    gap: var(--spacing-200);
  }
  
  .prev, .next {
    top: auto !important;
    bottom: 0;
  }


  .behandelingen-child { min-width: 75%; }
  
  .behandelingen-grid {
    display: flex;
    gap: var(--spacing-100);
    overflow-x: scroll;
    overflow-y: hidden;
  }
  
  .behandelingen-child_image img {
    height: 40vh;
    width: 100%;
    object-fit: cover;
  }
}

footer .column a {
  color: var(--primary-200) !important;
}
header > div.wrapper::after {
  background-position: center;
}

/* -------------------------------------------------------------------
   Slider / Recensies
-------------------------------------------------------------------*/

.stars {
  color: var(--secondary-300) !important;
  font-size: var(--font-size-h5);
  position: absolute;
  top: 30px;
  right: 50%;
  transform: translate(50%, 50%);
}

.recensiecontainer {
  margin: 0 auto;
  width: 80%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: 800px;
}

.slideshow-container {
  width: 100%;
  height: 500px;
  overflow: hidden;
  position: relative;
  border-radius: 20px;
}

.progressBar {
  background-color: var(--primary-100);
  height: 4px;
  flex-grow: 1;
  border-radius: 200px;
  cursor: pointer;
}

#progressContainer {
  position: absolute;
  bottom: 20px;
  width: 25%;
  height: 5px;
  display: flex;
  gap: 1rem;
  right: 50%;
  transform: translate(50%, 0);
}

.visited {
  background-color: var(--primary-600) !important; 
  width: 100%!important;
  height: 4px !important;
}

.slide_content {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  text-align: center;
  flex-direction: column;
}

.progress {
  width: 0;
  height: 100%;
  background-color: var(--primary-600);
  border-radius: 100px;
}

.filled { background-color: var(--primary-600) !important; }

.numbertext {
  font-size: 20px;
  color: #000;
  position: absolute;
  top: 10px;
  right: 10px;
}

.prev, .next {
  cursor: pointer;
  position: absolute;
  top: 50%;
  width: 50px;
  height: 50px;
  border-radius: 100%;
  z-index: 9;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  background: transparent;
  color: var(--secondary-400) !important;
  border: 1px solid var(--secondary-400);
}

.prev:hover, .next:hover {
  color: var(--primary-100) !important;
  background: var(--primary-300) !important;
  border-color: var(--primary-100) !important;
}

.prev { left: 10px; }
.next { right: 10px; }

.mySlides {
  display: none;
  width: 100%;
  height: 100%;
  position: absolute;
  opacity: 0;
  transition: opacity .1s linear;
}

.mySlides img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* -------------------------------------------------------------------
   FAQ
-------------------------------------------------------------------*/

.faq-answer { display: none; }
.faq-answer br { display: none; }
.faq-question {
  font-size: var(--font-size-h6);
  display: flex;
  gap: 1rem;
  cursor: pointer;
}

/* Mega Menu Fixes */
#mega-menu-wrap-primary_navigation #mega-menu-primary_navigation > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item li.mega-menu-item > a.mega-menu-link {
  color: var(--primary-400) !important;
}

#mega-menu-wrap-primary_navigation #mega-menu-primary_navigation > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link, #mega-menu-wrap-primary_navigation #mega-menu-primary_navigation > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link {
  color: var(--primary-500) !important;
}

header > div.wrapper::after {
  background-attachment: fixed;
}


header > div.wrapper.shadow::before {
  background: var(--overlay-color);
}

header > div.wrapper.title_in_header div.page-header h1 {
  margin-bottom: 0;
}
.slide.slide--text.slick-slide > div {
max-width: 768px;
margin: 0 auto;
text-align: center;
}
section.slider {
  min-height: 50vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.half__coloured {
  background: linear-gradient(90deg,#fff 48%, var(--primary-400) 48%);
}
header > div.wrapper.title_in_header .header__content {
  transform: translate3d(0, 80px, 0) !important;
margin-top: 0 !important;
}

section.intro {
  padding: 96px 0;
}

.wrap {
  background: var(--secondary-100);
  padding: var(--spacing-300);
}


.background-half {
  background: var(--secondary-50);
}




.treatment {
  padding: var(--spacing-600) 0;
  background-color: var(--background);
  color: var(--text);
  font-family: var(--font-primary);
}

.treatment__container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 var(--spacing-150);
}

.treatment__header {
  margin-bottom: var(--spacing-400);
}

.treatment__subtitle {
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.1rem;
  font-size: 0.85rem;
  color: var(--primary-400);
  margin-bottom: var(--spacing-50);
}

.treatment__title {
  font-size: var(--font-size-h1);
  color: var(--primary-500);
  margin-bottom: var(--spacing-100);
}

.treatment__lead {
  font-size: var(--font-size-h4);
  line-height: 1.6;
  color: var(--grey-600);
  max-width: 800px;
}

.treatment__grid {
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: var(--spacing-400);
  align-items: start;
}

.treatment__sidebar {
  background-color: var(--surface);
  padding: var(--spacing-200);
  border-radius: 4px;
  position: sticky;
  top: var(--spacing-200);
}

.treatment__sidebar-title {
  font-size: var(--font-size-h5);
  color: var(--primary-500);
  margin-bottom: var(--spacing-100);
  text-transform: uppercase;
  letter-spacing: 0.05rem;
}

.treatment__list {
  list-style: none;
  padding: 0;
  margin: 0 0 var(--spacing-200) 0;
}

.treatment__item {
  display: flex;
  align-items: center;
  gap: var(--spacing-50);
  padding: var(--spacing-50) 0;
  border-bottom: 1px solid var(--secondary-200);
  font-size: 0.95rem;
}

.treatment__dot {
  width: 6px;
  height: 6px;
  background-color: var(--primary-300);
  border-radius: 50%;
  flex-shrink: 0;
}

.treatment__button {
  display: inline-block;
  background-color: var(--primary-500);
  color: white;
  padding: var(--spacing-100);
  text-decoration: none;
  border-radius: 2px;
  transition: var(--transition);
  text-align: center;
  width: 100%;
  font-weight: 600;
}

.treatment__button:hover {
  background-color: var(--primary-600);
}

.treatment__main {
  padding-left: var(--spacing-200);
}

.treatment__heading {
  font-size: var(--font-size-h3);
  color: var(--primary-500);
  margin: var(--spacing-300) 0 var(--spacing-100);
}

.treatment__text {
  line-height: 1.8;
  margin-bottom: var(--spacing-150);
}

.treatment__benefit-list {
  padding-left: var(--spacing-150);
  margin-bottom: var(--spacing-200);
}

.treatment__benefit-item {
  margin-bottom: var(--spacing-50);
  line-height: 1.6;
}

.treatment__notice {
  background-color: var(--secondary-50);
  padding: var(--spacing-150);
  border-left: 4px solid var(--secondary-300);
  font-size: 0.9rem;
  margin-top: var(--spacing-300);
}

.treatment__link {
  color: var(--primary-500);
  text-decoration: underline;
}

@media (max-width: 850px) {
  .treatment__grid {
    grid-template-columns: 1fr;
  }
  
  .treatment__sidebar {
    order: 2;
    position: static;
  }
  
  .treatment__main {
    padding-left: 0;
  }
}


/*blog*/

/* Container voor het blog item - We maken er een kaart van */
article.post {
  display: flex;
  flex-direction: column; /* Hiermee kunnen we de volgorde bepalen */
  background-color: var(--background);
  border: 1px solid var(--secondary-200);
  border-radius: 8px;
  overflow: hidden; /* Zorgt dat het plaatje netjes binnen de ronding blijft */
  margin-bottom: var(--spacing-400);
  transition: var(--transition);
  box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

/* Hover effect op de hele kaart */
article.post:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 20px rgba(0,0,0,0.05);
  border-color: var(--primary-300);
}

/* 1. Het Plaatje - We zetten deze bovenaan met order: -1 */
.featured-image {
  order: -1; 
  margin: 0;
  width: 100%;
  height: 250px; /* Vaste hoogte voor uniformiteit */
  overflow: hidden;
  background-color: var(--secondary-100);
}

.featured-image img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* Zorgt dat de foto niet vervormt maar de box vult */
  transition: transform 0.5s ease;
}

/* Subtiele zoom op de foto bij hover */
article.post:hover .featured-image img {
  transform: scale(1.05);
}

/* 2. De Header (Titel & Datum) */
article.post header {
  padding: var(--spacing-200) var(--spacing-200) var(--spacing-50) var(--spacing-200);
}

.entry-title {
  margin: 0 0 var(--spacing-50) 0;
  font-size: var(--font-size-h3);
  line-height: 1.3;
}

.entry-title a {
  text-decoration: none;
  color: var(--primary-500);
  transition: color 0.2s;
}

.entry-title a:hover {
  color: var(--primary-300);
}

.updated {
  font-size: 0.85rem;
  color: var(--grey-500);
  text-transform: uppercase;
  letter-spacing: 0.05rem;
  display: block;
  margin-bottom: var(--spacing-50);
}

/* 3. De Samenvatting en Knop */
.entry-summary {
  padding: 0 var(--spacing-200) var(--spacing-200) var(--spacing-200);
  flex-grow: 1; /* Zorgt dat kaarten even lang lijken als we in een grid werken */
  display: flex;
  flex-direction: column;
}

.entry-summary p {
  color: var(--text);
  line-height: 1.6;
  margin-bottom: var(--spacing-100);
}

/* De 'Lees Meer' knop positionering */
.entry-summary p:last-child {
  margin-top: auto; /* Duwt de knop naar beneden */
  margin-bottom: 0;
}

/* Even specifiek checken of de button class er goed uitziet binnen de post */
.entry-summary .btn {
  display: inline-block;
  margin-top: var(--spacing-100);
}




/* --- Global Contact Section Styling --- */
.contact {
  padding: var(--spacing-600) 0;
  background-color: var(--background);
  font-family: var(--font-primary);
  color: var(--text);
}

/* Header Styling */
.page-header {
  border-bottom: none; /* Reset standaard bootstrap */
  margin-bottom: var(--spacing-400);
  text-align: center;
}

.page-header h1 {
  font-size: var(--font-size-h1);
  color: var(--primary-500);
  margin: 0;
}

/* Content Wrappers (Linkerkant: Tekst) */
.wrap h3 {
  font-size: var(--font-size-h3);
  color: var(--primary-500);
  margin-bottom: var(--spacing-100);
}

.wrap p {
  line-height: 1.6;
  margin-bottom: var(--spacing-100);
  color: var(--text);
}

/* --- Ninja Forms Customization (De grote schoonmaak) --- */

/* Verberg de standaard titels en rare witruimtes van Ninja Forms */
.nf-form-title h3 {
  display: none; /* We gebruiken je eigen h3 in de .wrap al */
}

.nf-before-form-content, 
.nf-after-form-content {
  font-size: 0.85rem;
  color: var(--grey-500);
  margin-bottom: var(--spacing-100);
}

/* Input velden styling */
.ninja-forms-field {
  width: 100%;
  padding: 12px 15px;
  border: 1px solid var(--secondary-200) !important; /* Forceer jouw border kleur */
  border-radius: 4px;
  background-color: #fff;
  font-family: var(--font-primary);
  color: var(--text);
  transition: var(--transition);
  box-sizing: border-box; /* Zorgt dat padding de breedte niet verpest */
}

/* Focus state (als je in een veld klikt) */
.ninja-forms-field:focus {
  border-color: var(--primary-400) !important;
  outline: none;
  box-shadow: 0 0 0 3px var(--primary-50);
}

/* Labels */
.nf-field-label label {
  font-weight: 600;
  color: var(--primary-600);
  margin-bottom: 5px;
  display: block;
}

/* De vereist asterisk (*) */
.ninja-forms-req-symbol {
  color: var(--primary-500);
}

/* Foutmeldingen styling */
.nf-error-msg {
  color: #e74c3c;
  font-size: 0.85rem;
  margin-top: 5px;
}

/* Submit Button Override */
/* We targeten specifiek de ID of class die NF genereert om zeker te zijn */
input[type="button"].ninja-forms-field,
input[type="submit"].ninja-forms-field {
  background-color: var(--primary-500) !important;
  color: #fff !important;
  border: none !important;
  padding: 12px 24px;
  font-weight: bold;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 1px;
  transition: var(--transition);
  width: auto; /* Niet full width tenzij je dat wilt */
}

input[type="submit"].ninja-forms-field:hover {
  background-color: var(--primary-600) !important;
  transform: translateY(-2px);
}

/* --- Sidebar Styling (Rechterkant) --- */
aside .block {
  background-color: var(--surface); /* De beige achtergrond */
  padding: var(--spacing-200);
  border-radius: 8px;
  margin-bottom: var(--spacing-300);
  border: 1px solid var(--secondary-200);
}

/* Sidebar kopjes */
aside .head h4 {
  color: var(--primary-500);
  font-size: var(--font-size-h4);
  margin-bottom: var(--spacing-100);
  padding-bottom: var(--spacing-50);
  border-bottom: 2px solid var(--primary-200); /* Subtiel lijntje eronder */
}

/* Contact Lijstje */
aside .list-unstyled {
  padding-left: 0;
  list-style: none;
}

aside .list-unstyled li {
  margin-bottom: var(--spacing-50);
  color: var(--text);
  font-size: 0.95rem;
  line-height: 1.5;
}

aside .list-unstyled li strong {
  color: var(--primary-600);
}

aside .list-unstyled li a {
  color: var(--primary-500);
  text-decoration: none;
}

aside .list-unstyled li a:hover {
  text-decoration: underline;
}

/* Openingstijden Tabel */
.opening_hours {
  width: 100%;
}

.opening_hours td {
  padding: 5px 0;
  color: var(--text);
  border-bottom: 1px solid var(--secondary-200);
}

.opening_hours tr:last-child td {
  border-bottom: none;
}

.opening_hours td:first-child {
  font-weight: 600;
  color: var(--primary-600);
  width: 120px; /* Zorgt dat de tijden netjes uitlijnen */
}

/* Google Maps Fix */
/* Zorgt dat de kaart niet buiten zijn bakje breekt */
.googlemap, .map, .js-map {
  max-width: 100%;
  border-radius: 4px;
  overflow: hidden;
  height: 300px !important; /* Forceer een hoogte als die wegvalt */
}

/* --- Mobiele aanpassingen --- */
@media (max-width: 768px) {
  /* Zorg dat kolommen op mobiel onder elkaar staan met ruimte */
  .col-md-32, .col-sm-24, .col-md-14 {
    width: 100% !important;
    float: none !important;
    margin-bottom: var(--spacing-400);
  }
  
  .holder {
    padding: 0 var(--spacing-100);
  }
}