@charset "UTF-8";
/*
Theme Name: WebNL
Description: Een WordPress thema door WebNL.
Author: WebNL
Author URI: https://www.webnl.nl/
Version: 1.0
*/
/**
 * Setup
 */
/* ---------------------------
   Font Setup
---------------------------- */
@font-face {
  font-family: "Monigue";
  src: url("assets/font/Monigue.woff2") format("woff2");
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Montserrat";
  src: url("assets/font/Montserrat.woff2") format("woff2");
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Montserrat Bold";
  src: url("assets/font/Montserrat-Bold.woff2") format("woff2");
  font-style: normal;
  font-display: swap;
  font-weight: 700;
}
.skip-to {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: fixed;
  z-index: 30;
  top: 0;
  left: 0;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  padding: 1em;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
}

:root {
  --hnav-offset: 0px;
}

#uid_image_contain img {
  -o-object-fit: contain;
     object-fit: contain;
}

/**
 * Includes
 */
footer {
  background-color: #3B2E37;
  position: relative;
  z-index: 2;
}
footer .footer {
  padding: 96px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  gap: 44px;
  color: rgba(255, 255, 255, 0.75);
}
@media only screen and (max-width: 600px) {
  footer .footer {
    padding: 48px 0;
    gap: 24px;
  }
}
footer .footer h3 {
  color: #D48ED2;
  font-size: 32px;
  font-style: normal;
  font-weight: 400;
  line-height: 90%;
  margin-bottom: 10px;
  margin-top: 0;
}
footer .footer--column {
  width: calc(20% - 33px);
}
footer .footer--column-4 {
  width: calc(40% - 33px);
}
footer .footer--column-4 .btn {
  color: #3B2E37;
}
footer .footer--column a {
  color: rgba(255, 255, 255, 0.75);
}
@media only screen and (max-width: 1170px) {
  footer .footer--column {
    width: calc(50% - 22px);
  }
}
@media only screen and (max-width: 600px) {
  footer .footer--column {
    width: 100%;
  }
}
footer .footer--column .socials {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 11px;
}
footer .footer--column .socials a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  text-decoration: none;
}
footer .footer--column-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 12px;
}
footer .footer--column-nav a {
  color: rgba(255, 255, 255, 0.75);
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
  text-decoration: none;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
@media only screen and (max-width: 600px) {
  footer .footer--column-nav a {
    text-align: center;
  }
}
footer .footer--column-nav a:hover {
  color: #C4F511;
}
footer .footer--column-4 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
}
footer .footer--column-4--contact {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
footer .footer--column-4--contact a {
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 18px;
  color: white;
  font-style: normal;
  font-weight: 400;
  line-height: 155%;
  text-decoration: none;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
footer .footer--column-4--contact a[href]:hover {
  color: #C4F511;
}
footer .footer--column-4--socials {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8px;
  max-width: 184px;
}
footer .footer--column-4--socials a {
  width: 56px;
  height: 56px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #C4F511;
  -webkit-transition: background-color 0.2s ease, border-color 0.2s ease;
  transition: background-color 0.2s ease, border-color 0.2s ease;
  border-radius: 9999px;
}
footer .footer--column-4--socials a svg {
  width: 28px;
  height: 28px;
}
footer .footer--column-4--socials a:hover {
  background-color: color-mix(in hsl, black 10%, #C4F511 90%);
  border-color: color-mix(in hsl, black 10%, #C4F511 90%);
}
footer .sub-footer {
  background: #ffffff;
  border-top: 1px solid rgba(59, 46, 55, 0.1);
}
footer .sub-footer--items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 24px;
  padding: 16px 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media only screen and (max-width: 800px) {
  footer .sub-footer--items {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 12px;
  }
}
footer .sub-footer--items a {
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 12px;
  font-style: normal;
  font-weight: 600;
  line-height: 16px;
  color: #3B2E37;
  text-decoration: none;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  white-space: nowrap;
}
footer .sub-footer--items a.webnl {
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 400;
  margin-right: 12px;
}
@media only screen and (max-width: 800px) {
  footer .sub-footer--items a.webnl {
    margin-right: 0;
    width: 100%;
  }
}

.footer-payments {
  background: #ffffff;
  padding: 20px;
}
.footer-payments img {
  margin: auto;
}

/* Container voor het adres-gedeelte */
.footer--column-3--contact {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 15px;
  margin-bottom: 15px;
}

.footer--column-3--contact .address-text {
  color: white;
  line-height: 1.4;
  font-size: 15px;
}

.footer--column-3--contact svg {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  padding: 10px;
  width: 48px;
  height: 48px;
}

a.webnl {
  text-align: center;
}

.location-info {
  font-family: Montserrat;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
}

.location-info a {
  text-decoration: none;
  display: block;
}

header {
  width: calc(100vw - var(--scrollbar-width));
  top: 0;
}
header .header-top {
  z-index: 2;
}
header .header-bottom {
  border-top: 1px solid rgba(0, 0, 0, 0.08);
  padding-top: 10px;
  padding-bottom: 10px;
}
@media only screen and (max-width: 1170px) {
  header .header-bottom {
    display: none;
  }
}
header .main-navigation {
  width: 100%;
}
header .hbar {
  position: relative;
  background-color: #ffffff;
  z-index: 11;
}
header .hbar--container {
  padding: 10px 0;
}
header .hbar--container.bottom {
  padding: 0;
}
header .hbar--container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  gap: 44px;
}
header .hbar--container.top > div {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
@media only screen and (max-width: 800px) {
  header .hbar--container.top > div {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 33.33%;
            flex: 0 0 33.33%;
  }
}
header .hbar--container.top > div:nth-child(3) {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media only screen and (max-width: 800px) {
  header .hbar--container {
    gap: 0;
  }
}
header .hbar--container--logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
  width: 20%;
}
@media only screen and (max-width: 1170px) {
  header .hbar--container--logo {
    width: 40%;
  }
}
@media only screen and (max-width: 1170px) {
  header .hbar--container--search {
    display: none !important;
  }
}
header .hbar--container--search button {
  display: none;
}
header .hbar--container--nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 32px;
}
header .hbar--container--nav a.has-children.selected::after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
header .hbar--container--nav.left {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
header .hbar--container--nav.left a {
  font-weight: 700;
}
header .hbar--container--nav.right {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
header .hbar--container--nav.right a {
  font-weight: 400;
  font-size: 16px;
  opacity: 0.9;
}
header .hbar--container--nav a {
  color: #3B2E37;
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  text-decoration: none;
  font-size: 16px;
  font-style: normal;
  line-height: 150%;
  white-space: nowrap;
  position: relative;
  cursor: pointer;
  -webkit-transition: color 0.2s ease;
  transition: color 0.2s ease;
}
header .hbar--container--nav a.active, header .hbar--container--nav a:hover {
  color: #3B2E37;
}
header .hbar--container--nav a.has-children {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
header .hbar--container--nav a.has-children::after {
  content: "";
  display: inline-block;
  width: 22px;
  height: 22px;
  -webkit-transform: rotate(45deg);
  transform: rotate(271deg);
  margin-left: 5px;
  margin-bottom: 2px;
  background-image: url(./assets/svg/left_black.svg);
  background-repeat: no-repeat;
  background-position: left center;
  background-size: contain;
  transition: transform 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;
}
@media only screen and (max-width: 1170px) {
  header .hbar--container--nav {
    display: none;
  }
}
header .hbar--container--btns {
  display: none;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
  gap: 8px;
  width: 20%;
  position: relative;
}
@media only screen and (max-width: 800px) {
  header .hbar--container--btns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: start;
  }
  header .hbar--container--btns svg path {
    fill: #000000 !important;
  }
}
@media only screen and (max-width: 1170px) {
  header .hbar--container--btns {
    display: block;
    width: 55px;
  }
}
header .hbar--container--btns a:first-of-type {
  display: none;
}
@media only screen and (max-width: 1170px) {
  header .hbar--container--btns a:first-of-type {
    display: block;
  }
}
header .hbar--container--btns .search-bar {
  opacity: 0;
  pointer-events: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
  width: 9999px;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
  max-width: calc(100vw - var(--scrollbar-width) - 128px);
}
@media only screen and (max-width: 800px) {
  header .hbar--container--btns .search-bar {
    max-width: calc(100vw - var(--scrollbar-width) - 64px);
  }
}
@media only screen and (max-width: 600px) {
  header .hbar--container--btns .search-bar {
    max-width: calc(100vw - var(--scrollbar-width) - 48px);
  }
}
header .hbar--container--btns.search-opened .search-bar {
  opacity: 1;
  pointer-events: all;
}
@media only screen and (max-width: 600px) {
  header .hbar--container--btns .btn-sec {
    display: none;
  }
}
header .hnav.no-transitions {
  -webkit-transition: none !important;
  transition: none !important;
}
header .hnav {
  position: absolute;
  color: #000000;
  background-color: #FAF5F6;
  width: 100%;
  z-index: 10;
  -webkit-transform: translateY(calc(-100% - 101px));
          transform: translateY(calc(-100% - 101px));
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}
header .hnav .layout-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (max-width: 1170px) {
  header .hnav .layout-container {
    padding: 0;
  }
}
@media only screen and (max-width: 1170px) {
  header .hnav {
    position: fixed;
    inset: 0;
    z-index: 12;
    -webkit-transform: translate(100%, 0);
            transform: translate(100%, 0);
  }
}
header .hnav--pri {
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 24px;
  font-style: normal;
  font-weight: 500;
  line-height: 185%;
  color: #C4F511;
  background: white;
  display: none;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 30px 64px;
  min-height: 100dvh;
  min-width: 100dvw;
  height: 100dvh;
  position: relative;
  overflow-y: auto;
}
header .hnav--pri .title {
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 24px;
  font-style: normal;
  font-weight: 500;
  line-height: 185%;
  color: #3B2E37;
  font-weight: 700;
  margin: 0;
  margin-bottom: 20px;
}
header .hnav--pri a.back {
  margin-bottom: 20px;
  padding-left: 20px;
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 155%;
  position: relative;
  display: none;
  color: #3B2E37;
  border-bottom: none;
}
header .hnav--pri a.back svg {
  position: absolute;
  rotate: 180deg;
  width: 20px;
  height: 20px;
  top: calc(50% - 1px);
  -webkit-transform: translateY(50%);
          transform: translateY(50%);
  left: -4px;
  background-image: url(./assets/svg/close.svg);
  background-size: contain;
}
header .hnav--pri a.back svg path {
  fill: #3B2E37;
  -webkit-transition: fill 0.3s ease;
  transition: fill 0.3s ease;
}
@media only screen and (max-width: 1170px) {
  header .hnav--pri a.back {
    display: block;
  }
}
header .hnav--pri > a {
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 24px;
  font-style: normal;
  font-weight: 500;
  line-height: 185%;
  color: #000000;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
  position: relative;
  padding-right: 48px;
  text-decoration: none;
  cursor: pointer;
}
header .hnav--pri > a.has-children svg {
  content: "";
  position: absolute;
  width: 24px;
  height: 24px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 0;
  -webkit-transition: right 0.2s ease;
  transition: right 0.2s ease;
}
header .hnav--pri > a.has-children svg path {
  fill: #3B2E37;
  -webkit-transition: fill 0.3s ease;
  transition: fill 0.3s ease;
}
header .hnav--pri > a:hover.has-children svg, header .hnav--pri > a.selected.has-children svg {
  right: -8px;
}
@media only screen and (max-width: 1170px) {
  header .hnav--pri > a {
    padding-right: 0;
  }
}
@media only screen and (max-width: 1170px) {
  header .hnav--pri {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media only screen and (max-width: 800px) {
  header .hnav--pri {
    padding: 30px 32px;
  }
}
@media only screen and (max-width: 600px) {
  header .hnav--pri {
    padding: 30px 24px;
  }
}
header .hnav--pri .hnav--footer a.btn {
  width: 100%;
  text-align: center;
}
header .hnav--pri .hnav--footer a.btn:after {
  left: 50%;
  -webkit-transform: translateX(calc(-50% - 52.5px));
          transform: translateX(calc(-50% - 52.5px));
}
@media only screen and (max-width: 1170px) {
  header .hnav.pri-opened {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}
header .hnav--sec {
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 20px;
  font-style: normal;
  font-weight: 500;
  line-height: 185%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 60px 0;
  padding-right: 30px;
  min-width: 286px;
}
header .hnav--sec .title {
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #3B2E37;
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 185%;
  font-weight: 700;
  margin: 0;
  margin-bottom: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
}
header .hnav--sec .title a {
  color: #3B2E37;
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 155%;
  -webkit-transition: color 0.2s ease;
  transition: color 0.2s ease;
  text-decoration: underline;
}
header .hnav--sec .title a:hover {
  color: #3B2E37;
  font-weight: bold;
}
header .hnav--sec .title a[href="#"] {
  display: none;
}
header .hnav--sec a.back {
  margin-bottom: 20px;
  padding-left: 20px;
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 155%;
  position: relative;
  display: none;
}
header .hnav--sec a.back svg {
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: -4px;
}
header .hnav--sec a.back svg path {
  -webkit-transition: fill 0.3s ease;
  transition: fill 0.3s ease;
  fill: #3B2E37;
}
@media only screen and (max-width: 1170px) {
  header .hnav--sec a.back {
    display: block;
    border-bottom: none;
  }
}
header .hnav--sec > a {
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 20px;
  font-style: normal;
  font-weight: 500;
  line-height: 185%;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
  position: relative;
  padding-right: 48px;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  border-bottom: 1px solid rgba(231, 231, 231, 0.8);
}
header .hnav--sec > a:hover {
  font-weight: bold;
}
header .hnav--sec > a.has-children svg {
  content: "";
  position: absolute;
  width: 24px;
  height: 24px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 0;
  -webkit-transition: right 0.2s ease;
  transition: right 0.2s ease;
}
header .hnav--sec > a.has-children svg path {
  fill: #3B2E37;
  -webkit-transition: fill 0.3s ease;
  transition: fill 0.3s ease;
}
header .hnav--sec > a:hover.has-children svg, header .hnav--sec > a.selected.has-children svg {
  right: -8px;
}
@media only screen and (max-width: 1170px) {
  header .hnav--sec > a {
    padding-right: 0;
  }
}
@media only screen and (max-width: 1170px) {
  header .hnav--sec {
    padding: 30px 64px;
    min-height: 100dvh;
    min-width: 100dvw;
    height: 100dvh;
    position: relative;
    overflow-y: auto;
    background: #FAF5F6;
  }
}
@media only screen and (max-width: 800px) {
  header .hnav--sec {
    padding: 30px 32px;
    background-color: #faf5f6;
  }
}
@media only screen and (max-width: 600px) {
  header .hnav--sec {
    padding: 30px 24px;
    background-color: #faf5f6;
  }
}
header .hnav.sec-opened {
  -webkit-transform: translateY(0%);
          transform: translateY(0%);
}
@media only screen and (max-width: 1170px) {
  header .hnav.sec-opened {
    background: transparent;
    -webkit-transform: translate(-100dvw, 0);
            transform: translate(-100dvw, 0);
  }
}
header .hnav--ter {
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 210%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  pointer-events: none;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 60px;
  padding-right: 80px;
  min-width: -webkit-fit-content;
  min-width: -moz-fit-content;
  min-width: fit-content;
  background-color: #faf5f6;
  border-left: 1px solid #efeded;
  width: 496px;
  min-height: 480px;
  opacity: 0;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}
@media only screen and (max-width: 1170px) {
  header .hnav--ter {
    padding: 30px 64px;
    min-height: 100dvh;
    min-width: 100dvw;
    opacity: 1;
    height: 100dvh;
    position: relative;
    overflow-y: auto;
  }
}
@media only screen and (max-width: 800px) {
  header .hnav--ter {
    padding: 30px 32px;
  }
}
@media only screen and (max-width: 600px) {
  header .hnav--ter {
    padding: 30px 24px;
  }
}
header .hnav--ter a.back {
  margin-bottom: 20px;
  padding-left: 20px;
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 155%;
  position: relative;
  display: none;
}
header .hnav--ter a.back svg {
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: -4px;
}
header .hnav--ter a.back svg path {
  -webkit-transition: fill 0.3s ease;
  transition: fill 0.3s ease;
  fill: #3B2E37;
}
@media only screen and (max-width: 1170px) {
  header .hnav--ter a.back {
    display: block;
    border-bottom: none;
  }
}
header .hnav--ter > a {
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 18px;
  font-style: normal;
  font-weight: 500;
  line-height: 185%;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
  position: relative;
  padding-right: 48px;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  border-bottom: 1px solid rgba(231, 231, 231, 0.8);
}
header .hnav--ter > a:hover {
  font-weight: bold;
}
@media only screen and (max-width: 1170px) {
  header .hnav--ter > a {
    padding-right: 0;
  }
}
header .hnav--ter .title {
  color: #3B2E37;
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 18px;
  font-style: normal;
  font-weight: 500;
  line-height: 210%;
  font-size: 24px;
  font-weight: 700;
  line-height: 185%;
  margin: 0;
  margin-bottom: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
}
header .hnav--ter .title a {
  color: #3B2E37;
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 155%;
  -webkit-transition: color 0.2s ease;
  transition: color 0.2s ease;
  text-decoration: underline;
}
header .hnav--ter .title a:hover {
  color: #3B2E37;
  font-weight: bold;
}
header .hnav--ter .title a[href="#"] {
  display: none;
}
header .hnav--image {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
  position: relative;
  width: 100%;
  padding: 60px 0;
  max-width: 530px;
  background-color: #faf5f6;
  opacity: 0;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}
@media only screen and (max-width: 1170px) {
  header .hnav--image {
    display: none;
  }
}
header .hnav--image img {
  position: absolute;
  inset: 60px 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0;
  -webkit-transition: opacity 0.35s ease;
  transition: opacity 0.35s ease;
  max-height: 360px;
  border-radius: 24px;
}
header .hnav--image img.is-visible {
  opacity: 1;
}
header .hnav--image:after {
  content: "";
  position: absolute;
  height: 100%;
  width: var(--hnav-offset);
  left: 100%;
  background-color: #faf5f6;
}
header .hnav.ter-opened .hnav--ter {
  opacity: 1;
  pointer-events: all;
}
header .hnav.ter-opened .hnav--image {
  opacity: 1;
}
@media only screen and (max-width: 1170px) {
  header .hnav.ter-opened {
    background: transparent;
    -webkit-transform: translate(-200dvw, 0);
            transform: translate(-200dvw, 0);
  }
}
header .hnav--footer {
  display: none;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-top: 30px;
  margin-top: auto;
}
header .hnav--footer .logo-white a {
  background: #ffffff;
  padding: 5px;
  border-radius: 8px;
}
@media only screen and (max-width: 1170px) {
  header .hnav--footer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
header .hnav--footer--socials {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 16px;
}
header .hnav--footer--socials svg path {
  fill-opacity: 1;
}

body.admin-bar header .hnav {
  top: 192px;
}
@media only screen and (max-width: 1170px) {
  body.admin-bar header .hnav {
    top: 32px;
  }
}

.header-icons-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 15px; /* Ruimte tussen de twee rondjes */
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media only screen and (max-width: 800px) {
  .header-icons-container {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: end;
  }
}

.icon-circle {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
  transition: transform 0.2s ease, -webkit-transform 0.2s ease;
  color: #333333;
}

/* Specifieke kleuren uit je screenshots */
.account-circle {
  border: 1px solid rgba(59, 46, 55, 0.25);
  background-color: transparent;
}
@media only screen and (max-width: 800px) {
  .account-circle svg {
    position: relative;
    top: 5px;
  }
}
@media only screen and (max-width: 800px) {
  .account-circle {
    border: none;
  }
}

.cart-circle {
  background-color: #C4F511;
}
@media only screen and (max-width: 800px) {
  .cart-circle {
    background: none;
  }
}

@media only screen and (max-width: 800px) {
  .cart-link {
    padding-top: 10px;
  }
}

.cart-counter {
  position: absolute;
  top: -3px;
  right: -3px;
  background-color: #D6336C;
  color: #fff;
  font-family: sans-serif;
  font-size: 12px;
  font-weight: bold;
  min-width: 20px;
  height: 20px;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 2px;
}

.cart-counter:empty {
  display: none;
}

.icon-circle:hover {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}

@media only screen and (min-width: 801px) {
  .header-bottom.is-sticky {
    position: fixed;
    top: 0;
    z-index: 900000000;
    width: 100%;
    display: block;
    background: #ffffff;
    -webkit-box-shadow: 0 5px 11px -11px rgba(0, 0, 0, 0.5411764706);
            box-shadow: 0 5px 11px -11px rgba(0, 0, 0, 0.5411764706);
  }
  .hnav.is-sticky {
    position: fixed;
    top: 0 !important;
  }
  .hnav.is-sticky.sec-opened {
    position: fixed;
    top: 50px !important;
  }
}
@media only screen and (max-width: 800px) {
  .usp-bar .layout-container {
    display: block !important; /* Forceer uit flex-modus van desktop */
    position: relative;
    height: 22px;
    width: 100% !important;
    max-width: 100vw;
    overflow: hidden;
    padding: 0 !important;
    margin: 0 auto !important;
  }
  /* 2. Items over elkaar heen leggen en centreren */
  .usp-item {
    /* Verander display: none naar display: flex */
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100%;
    /* Centrering */
    -webkit-box-pack: center !important;
        -ms-flex-pack: center !important;
            justify-content: center !important;
    -webkit-box-align: center !important;
        -ms-flex-align: center !important;
            align-items: center !important;
    text-align: center !important;
    gap: 10px;
    margin: 0 !important;
    /* De transitie logica */
    opacity: 0; /* Standaard onzichtbaar */
    visibility: hidden; /* Zorgt dat onzichtbare items niet klikbaar zijn */
    -webkit-transition: opacity 0.6s ease-in-out, visibility 0.6s;
    transition: opacity 0.6s ease-in-out, visibility 0.6s; /* De animatie van 0.6 seconden */
  }
  /* Wanneer actief: maak zichtbaar */
  .usp-item.active {
    opacity: 1 !important;
    visibility: visible !important;
  }
  .usp-bar {
    padding: 24px 0 !important;
  }
  /* 3. Alleen het actieve item tonen als Flexbox */
  .usp-item.active {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
  /* 4. Iconen en tekst binnen het item forceren */
  .usp-item .usp-icon,
  .usp-item .usp-text {
    display: -webkit-inline-box !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-flex: 0 !important;
        -ms-flex: 0 0 auto !important;
            flex: 0 0 auto !important; /* Voorkom dat ze de hele breedte opeisen */
    width: auto !important;
  }
}
/* Simpel overgangseffect */
@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
    -webkit-transform: translateY(10px);
            transform: translateY(10px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
    -webkit-transform: translateY(10px);
            transform: translateY(10px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@media only screen and (max-width: 800px) {
  .layout-container.header-top.is-sticky {
    position: fixed;
    background: #ffffff;
    top: 0;
  }
}

.hnav--sec, .hnav--ter {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: auto !important; /* Forceer dat hij niet groter is dan de inhoud */
  min-height: 0 !important;
}

.hnav--footer {
  margin-top: auto; /* Duwt de footer naar beneden, maar alleen als er ruimte is */
  padding: 20px 0;
}

.hbar--container--btns .btn {
  border: none;
}

.hbar .kiyoh-reviews .total {
  float: right;
  font-size: 10px;
  position: relative;
  top: -10px;
  right: 20px;
  text-decoration: none;
}

@media screen and (max-width: 767px) {
  /* 1. Kolom 3 en 4 iets ruimer maken (60px en 50px) zodat de badge past */
  .hbar--container.top {
    display: -ms-grid !important;
    display: grid !important;
    -ms-grid-columns: 65px 1fr 60px 50px !important;
    grid-template-columns: 65px 1fr 60px 50px !important;
    -webkit-box-align: center !important;
        -ms-flex-align: center !important;
            align-items: center !important;
    padding: 0 5px !important;
    -webkit-box-sizing: border-box !important;
            box-sizing: border-box !important;
    height: 80px !important;
  }
  /* Haal de muren van de iconen-container weg */
  .header-icons-container {
    display: contents !important;
  }
  /* 2. Account-icoon strak links uitlijnen */
  .account-link {
    -ms-grid-column: 1 !important;
    grid-column: 1 !important;
    -ms-grid-row: 1 !important;
    grid-row: 1 !important;
    -ms-grid-column-align: start !important;
        justify-self: start !important;
    position: static !important;
    -webkit-transform: none !important;
            transform: none !important;
    margin: 0 !important;
    top: -5px !important;
    position: relative !important;
    display: block;
  }
  /* 3. Het Logo perfect in het midden */
  .hbar--container--logo {
    -ms-grid-column: 2 !important;
    grid-column: 2 !important;
    -ms-grid-row: 1 !important;
    grid-row: 1 !important;
    -ms-grid-column-align: center !important;
        justify-self: center !important;
    width: 100% !important;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-pack: center !important;
        -ms-flex-pack: center !important;
            justify-content: center !important;
    margin: 0 !important;
    position: static !important;
    -webkit-transform: none !important;
            transform: none !important;
  }
  /* Logo grootte */
  .hbar--container--logo img {
    max-height: 60px !important;
    height: 100% !important;
    width: auto !important;
    max-width: 100% !important;
    -o-object-fit: contain !important;
       object-fit: contain !important;
  }
  /* 4. De Winkelwagen: we geven hem extra padding rechts zodat de badge niet ontsnapt */
  .cart-link {
    -ms-grid-column: 3 !important;
    grid-column: 3 !important;
    -ms-grid-row: 1 !important;
    grid-row: 1 !important;
    -ms-grid-column-align: center !important;
        justify-self: center !important;
    padding-right: 10px !important; /* Maakt ruimte voor het roze bolletje binnen de kolom */
    margin: 0 !important;
    position: static !important;
    -webkit-transform: none !important;
            transform: none !important;
  }
  /* 5. De Menuknop strak tegen de rechterrand van zijn grid-vak aan */
  .hbar--container--btns {
    -ms-grid-column: 4 !important;
    grid-column: 4 !important;
    -ms-grid-row: 1 !important;
    grid-row: 1 !important;
    -ms-grid-column-align: end !important;
        justify-self: end !important;
    position: static !important;
    -webkit-transform: none !important;
            transform: none !important;
    margin: 0 !important;
  }
  /* Verberg de zoekbalk */
  .hbar--container--search {
    display: none !important;
  }
  .layout-container.header-top {
    padding: 0;
  }
}
.page-header {
  width: 100%;
  color: #fff;
  background-color: #FaF5F6;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 150px 0 150px 0;
  min-height: unset;
  position: relative;
}
.page-header .page_back {
  padding-bottom: 40px;
  max-width: 280px;
}
.page-header.size-regular {
  padding: 90px 0 90px 0;
  min-height: 520px;
}
@media only screen and (max-width: 800px) {
  .page-header.size-regular {
    padding: 60px 0;
    min-height: unset;
  }
}
.page-header.size-large {
  padding: 200px 0 260px 0;
}
@media only screen and (max-width: 800px) {
  .page-header.size-large {
    padding: 100px 0;
  }
}
.page-header.size-xlarge {
  padding: 200px 0 200px 0;
  min-height: 100vh;
}
@media only screen and (max-width: 800px) {
  .page-header.size-xlarge {
    min-height: calc(100vh - 200px);
  }
}
.page-header .layout-container {
  position: relative;
}
.page-header .search_results_title p {
  padding-top: 10px;
}
.page-header__main-content .page_back a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 6px;
  color: #3B2E37;
  text-decoration: none;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
  border: 1px solid #3B2E37;
  border-radius: 50px;
  padding: 8px 16px;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.35px;
}
.page-header__main-content .page_back a svg path {
  fill: #3B2E37;
  -webkit-transition: fill 0.3s ease;
  transition: fill 0.3s ease;
}
.page-header__main-content .page_back a:hover {
  color: #3B2E37;
}
.page-header__main-content .page_back a:hover svg path {
  fill: #3B2E37;
}
.page-header__main-content__title h1 {
  color: #3B2E37;
  font-family: "Monigue", sans-serif;
  font-size: 80px;
  font-style: normal;
  font-weight: 400;
  line-height: 90%;
  letter-spacing: -1.38px;
  margin: 0;
}
.page-header__main-content__title h1 h1 {
  margin: 0;
}
@media only screen and (max-width: 800px) {
  .page-header__main-content__title h1 {
    font-size: 47px;
  }
}
@media only screen and (max-width: 600px) {
  .page-header__main-content__title h1 {
    font-size: 47px;
  }
}
.page-header__main-content__title.imaged h1 {
  color: #ffffff;
}
.page-header__main-content__text {
  font-family: "Monigue", sans-serif;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-transform: rotate(-2.051deg);
          transform: rotate(-2.051deg);
  padding: 8px 12px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  font-size: 48px;
  color: #3B2E37;
  background: #C4F511;
  border-radius: 6px;
  margin-top: 0;
}
@media only screen and (max-width: 800px) {
  .page-header__main-content__text {
    font-size: 29px;
  }
}
.page-header__main-content__sublabels {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5px;
  margin-top: 20px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.page-header__main-content__sublabels div {
  font-size: 14px;
  color: #C4F511;
  font-weight: 600;
  padding: 8px 16px;
  line-height: 1.2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
  letter-spacing: -0.56px;
  background-color: #fff;
  border-radius: 32px;
}
.page-header__main-content a.hero-guide {
  color: #3B2E37;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: absolute;
  left: 50%;
  bottom: -80px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  cursor: pointer;
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 700;
}
@media only screen and (max-width: 800px) {
  .page-header__main-content a.hero-guide {
    display: none;
  }
}
.page-header__main-content a.hero-guide svg {
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
  transition: transform 0.2s ease, -webkit-transform 0.2s ease;
}
.page-header__main-content a.hero-guide:hover svg {
  -webkit-transform: translateY(8px);
          transform: translateY(8px);
}
.page-header__image {
  margin: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
.page-header__image img, .page-header__image video {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
.page-header__overlay {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(0, 0, 0, 0.4);
}
.page-header .btn-container {
  margin-top: 24px;
}

.hero-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 30px;
}

.page-header__main-content {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
}

.header-category-card {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  background: #fff;
  border-radius: 8px;
  padding: 10px;
  -webkit-box-shadow: 1px 8px 40px 0 rgba(0, 0, 0, 0.35);
          box-shadow: 1px 8px 40px 0 rgba(0, 0, 0, 0.35);
}
.header-category-card a {
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.header-category-card a:hover {
  scale: 1.02;
}

@media (min-width: 1065px) {
  .page-header__main-content {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(66.666% - 20px);
            flex: 0 0 calc(66.666% - 20px);
  }
  .header-category-card {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(33.333% - 10px);
            flex: 0 0 calc(33.333% - 10px);
  }
}
.category-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 25px 15px;
  text-decoration: none;
  color: #3B2E37;
  border-bottom: 1px solid #f0f0f0;
}

.category-item:last-child {
  border-bottom: none;
}

.category-item__image {
  width: 80px;
  height: 60px;
  margin-right: 15px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.category-item__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.category-item__title {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  font-weight: bold;
}
@media only screen and (max-width: 800px) {
  .category-item__title {
    font-family: "Monigue", sans-serif;
    font-size: 23px;
    font-style: normal;
    font-weight: 400;
    line-height: 100%;
  }
}

.category-item__arrow {
  background: #C4F511;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

#introblock {
  margin-top: -120px;
}
@media only screen and (max-width: 800px) {
  #introblock {
    margin-top: 0;
  }
}

#introblock .layout-container {
  background: #FAF5F6;
  padding: 64px 150px;
}
@media only screen and (max-width: 800px) {
  #introblock .layout-container {
    padding: 20px;
  }
}

/**
 * Global
 */
html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: calc(100vw - var(--scrollbar-width));
  max-width: calc(100vw - var(--scrollbar-width));
  overflow-x: hidden;
  overflow-y: auto;
}
html.no-scroll {
  overflow-y: hidden;
}
@media only screen and (max-width: 1170px) {
  html.no-scroll-mobile {
    overflow-y: hidden;
  }
}

*, *:before, *:after {
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
}

body {
  margin: 0;
  padding: 0;
  color: #3B2E37;
  background-color: white;
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-attachment: fixed;
  scroll-behavior: smooth;
}
@media only screen and (max-width: 1025px) {
  body {
    overflow-x: hidden;
    width: 100%;
  }
}

main {
  position: relative;
  z-index: auto;
}

p, ul, ol, a {
  color: #5E5E5D;
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
}
p strong, ul strong, ol strong, a strong {
  font-weight: 800;
  color: #3B2E37;
}

p, ul, ol {
  margin: 27px 0;
}
@media only screen and (max-width: 800px) {
  p, ul, ol {
    margin: 10px 0;
  }
}

a {
  color: #3B2E37;
}

h2, div.h2 {
  color: #3B2E37;
  font-family: "Monigue", sans-serif;
  font-size: 48px;
  font-style: normal;
  font-weight: 400;
  line-height: 90%;
  letter-spacing: -0.44px;
  margin: 54px 0 27px;
}
@media only screen and (max-width: 800px) {
  h2, div.h2 {
    font-size: 32px;
    margin-bottom: 0;
  }
}

h3, div.h3 {
  color: #3B2E37;
  font-family: "Monigue", sans-serif;
  font-size: 28px;
  font-style: normal;
  font-weight: 400;
  line-height: 110%;
  letter-spacing: -0.44px;
  margin: 54px 0 27px;
}
@media only screen and (max-width: 800px) {
  h3, div.h3 {
    font-size: 21px;
    margin-bottom: 0;
  }
}

blockquote {
  margin: 0;
  padding: 4px 0 4px 16px;
  border-left: 4px solid #3B2E37;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
}
blockquote > * {
  margin: 0;
}

img, svg, video {
  display: block;
  max-width: 100%;
}

img {
  -o-object-position: calc(var(--focal-point-left) * 100%) calc(var(--focal-point-top) * 100%);
     object-position: calc(var(--focal-point-left) * 100%) calc(var(--focal-point-top) * 100%);
}

@media only screen and (max-width: 800px) {
  .desktop_only {
    display: none;
  }
}

section {
  position: relative;
  margin: 80px 0;
}
@media only screen and (max-width: 800px) {
  section {
    margin: 80px 0;
  }
}
@media only screen and (max-width: 600px) {
  section {
    margin: 40px 0;
  }
}
section.has-background {
  background-color: #FAF5F6;
  padding: 80px 0;
  margin: 0;
}
section.has-background h2 {
  margin-top: 0;
}
@media only screen and (max-width: 800px) {
  section.has-background {
    padding: 80px 0;
  }
}
@media only screen and (max-width: 600px) {
  section.has-background {
    padding: 40px 0;
  }
}
section.has-background + section.has-background {
  padding-top: 0;
}
section.has-background + section.has-background h2 {
  margin-top: 0;
}

.section__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 64px;
}
@media only screen and (max-width: 800px) {
  .section__header {
    margin-bottom: 32px;
  }
}
.section__header h2 {
  font-size: 69px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -2.76px;
  margin: 0;
}
@media only screen and (max-width: 800px) {
  .section__header h2 {
    font-size: 42px;
  }
}
.section__header .btn {
  margin-bottom: 10px;
}
@media only screen and (max-width: 800px) {
  .section__header .btn {
    display: none;
  }
}
.section__footer {
  display: none;
}
@media only screen and (max-width: 800px) {
  .section__footer {
    display: block;
    margin-top: 40px;
  }
}

.layout-container {
  width: 100%;
  max-width: 1440px;
  margin-inline: auto;
  position: relative;
  z-index: 1;
  padding: 0 64px;
}
.layout-container--inset {
  max-width: 823px;
}
@media only screen and (max-width: 800px) {
  .layout-container {
    padding: 0 32px;
  }
}
@media only screen and (max-width: 600px) {
  .layout-container {
    padding: 0 24px;
  }
}

/* =WordPress Core
-------------------------------------------------------------- */
.alignnone {
  margin: 0;
}

.aligncenter,
div.aligncenter {
  display: block;
  margin: 5px auto 5px auto;
}

.alignright {
  float: right;
  margin: 5px 0 16px 16px;
}

.alignleft {
  float: left;
  margin: 5px 16px 16px 0;
}

.aligncenter {
  display: block;
  margin: 5px auto 5px auto;
}

a img.alignright {
  float: right;
  margin: 5px 0 16px 16px;
}

a img.alignnone {
  margin: 0;
}

a img.alignleft {
  float: left;
  margin: 5px 16px 10px 0;
}

a img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.wp-caption {
  background: #fff;
  border: 1px solid #f0f0f0;
  max-width: 96%; /* Image does not overflow the content area */
  padding: 5px 3px 10px;
  text-align: center;
}

.wp-caption.alignnone {
  margin: 0;
}

.wp-caption.alignleft {
  margin: 5px 16px 16px 0;
}

.wp-caption.alignright {
  margin: 5px 0 16px 16px;
}

.wp-caption img {
  border: 0 none;
  height: auto;
  margin: 0;
  max-width: 98.5%;
  padding: 0;
  width: auto;
}

.wp-caption p.wp-caption-text {
  line-height: 17px;
  margin: 0;
  padding: 0 4px 5px;
}

#swipebox-overlay {
  background: rgba(0, 0, 0, 0.7);
}

#swipebox-close {
  position: fixed;
  top: 35px;
  right: 35px;
  width: 36px;
  height: 36px;
  background-image: url("./assets/svg/close.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  border: none;
  cursor: pointer;
  background-color: transparent;
  z-index: 10000;
}
@media (max-width: 1024px) {
  #swipebox-close {
    top: 25px;
    right: 25px;
  }
}

#swipebox-slider .slide .swipebox-video-container {
  padding: 0 !important;
}

#spotify-popup-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  z-index: 9999;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
}

#spotify-popup-content {
  position: relative;
  max-width: 1080px;
  aspect-ratio: 16/9;
  width: 90%;
  padding: 0;
  border-radius: 12px;
}

#spotify-popup-close {
  position: fixed;
  top: 35px;
  right: 35px;
  width: 36px;
  height: 36px;
  background-image: url("./assets/svg/close.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  border: none;
  cursor: pointer;
  background-color: transparent;
  z-index: 10000;
}
@media (max-width: 1024px) {
  #spotify-popup-close {
    top: 25px;
    right: 25px;
  }
}

#spotify-popup-iframe-container {
  padding: 0 !important;
  height: 100%;
}

#spotify-popup-iframe-container iframe {
  width: 100%;
  height: 100%;
  border-radius: 12px;
}

#spotify-popup-overlay[data-active-type=track] #spotify-popup-content {
  max-width: 1080px;
  height: 352px;
  aspect-ratio: unset;
}

#spotify-popup-overlay[data-active-type=video] #spotify-popup-content {
  max-width: 1080px;
  aspect-ratio: 16/9;
}

.gem-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 20px;
  border-bottom: 1px solid #eee;
  padding-bottom: 15px;
}

#gem-offcanvas {
  position: fixed;
  inset: 0;
  z-index: 999999;
  visibility: hidden; /* Verbergt het paneel zonder de animatie te breken */
  -webkit-transition: visibility 0.3s;
  transition: visibility 0.3s;
}

#gem-offcanvas.active {
  visibility: visible;
}

.gem-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0);
  -webkit-transition: background 0.3s ease;
  transition: background 0.3s ease;
  cursor: pointer;
}

#gem-offcanvas.active .gem-overlay {
  background: rgba(0, 0, 0, 0.6);
}

.gem-panel {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  max-width: 500px;
  background: #fff;
  padding: 30px;
  overflow-y: auto;
  -webkit-box-shadow: -5px 0 15px rgba(0, 0, 0, 0);
          box-shadow: -5px 0 15px rgba(0, 0, 0, 0);
  /* De "Magic": zet het paneel 100% naar rechts */
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.25, 1, 0.5, 1), -webkit-box-shadow 0.4s;
  transition: -webkit-transform 0.4s cubic-bezier(0.25, 1, 0.5, 1), -webkit-box-shadow 0.4s;
  transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1), box-shadow 0.4s;
  transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1), box-shadow 0.4s, -webkit-transform 0.4s cubic-bezier(0.25, 1, 0.5, 1), -webkit-box-shadow 0.4s;
  will-change: transform; /* Optimaliseert voor snelheid */
}

#gem-offcanvas.active .gem-panel {
  /* Schuif terug naar de beginpositie */
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-box-shadow: -5px 0 15px rgba(0, 0, 0, 0.2);
          box-shadow: -5px 0 15px rgba(0, 0, 0, 0.2);
}

.gem-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: 1px solid #eee;
  padding-bottom: 15px;
  margin-bottom: 20px;
  position: sticky;
  top: -30px;
  padding-top: 10px;
  background: #ffffff;
  z-index: 1;
  border-bottom: 1px solid #efefef;
}

.video_holder a.video .video-thumb {
  height: 250px;
}

/* 1. De container: Gebruik visibility voor transities */
#gem-offcanvas {
  position: fixed;
  inset: 0;
  z-index: 999999;
  visibility: hidden !important; /* Forceer verbergen zonder display:none */
  display: block !important; /* Zorg dat het element technisch 'bestaat' */
  pointer-events: none;
  -webkit-transition: visibility 0.4s ease;
  transition: visibility 0.4s ease;
}

/* 2. Wanneer actief: maak de container klikbaar en zichtbaar */
#gem-offcanvas.active {
  visibility: visible !important;
  pointer-events: auto;
}

/* 3. De overlay: fadet in */
.gem-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0);
  -webkit-transition: background 0.4s ease;
  transition: background 0.4s ease;
  cursor: pointer;
}

#gem-offcanvas.active .gem-overlay {
  background: rgba(0, 0, 0, 0.6);
}

/* 4. Het paneel: De motor van de slide */
.gem-panel {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 100%;
  max-width: 500px;
  background: #fff;
  padding: 30px;
  overflow-y: auto;
  z-index: 2;
  /* STARTPOSITIE: Volledig rechts buiten beeld */
  -webkit-transform: translateX(100%) !important;
          transform: translateX(100%) !important;
  /* De ANIMATIE: Gebruik 'transform' voor hardwareversnelling */
  -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.25, 1, 0.5, 1) !important;
  transition: -webkit-transform 0.4s cubic-bezier(0.25, 1, 0.5, 1) !important;
  transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1) !important;
  transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1), -webkit-transform 0.4s cubic-bezier(0.25, 1, 0.5, 1) !important;
  -webkit-box-shadow: -5px 0 15px rgba(0, 0, 0, 0);
          box-shadow: -5px 0 15px rgba(0, 0, 0, 0);
  will-change: transform;
}

/* 5. ACTIEVE STATUS: Schuif het paneel naar binnen */
#gem-offcanvas.active .gem-panel {
  -webkit-transform: translateX(0) !important;
          transform: translateX(0) !important;
  -webkit-box-shadow: -10px 0 20px rgba(0, 0, 0, 0.15);
          box-shadow: -10px 0 20px rgba(0, 0, 0, 0.15);
}

/* Header styling */
.gem-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 20px;
  border-bottom: 1px solid #eee;
  padding-bottom: 15px;
}

.gem-close {
  cursor: pointer;
  font-size: 24px;
  background: none;
  border: none;
}

#gem-offcanvas {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9999;
}

.gem-overlay {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 500px;
  background: #fff;
  padding: 20px;
  overflow-y: auto;
}

.gem-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
}

.gem-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: 1px solid #eee;
  padding-bottom: 10px;
  margin-bottom: 20px;
}

h3#gem-title {
  margin: 0;
}

.gem-close {
  background: none;
  border: 1px solid #ccc;
  padding: 5px 10px;
  cursor: pointer;
}

#gem-offcanvas {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: block !important;
  /* Bij het sluiten: wacht 0.4s met onzichtbaar worden (tot de slide klaar is) */
  visibility: hidden;
  -webkit-transition: visibility 0.4s ease;
  transition: visibility 0.4s ease;
  pointer-events: none;
}

#gem-offcanvas.active {
  visibility: visible;
  pointer-events: auto;
  /* Bij het openen: direct zichtbaar worden */
  -webkit-transition: visibility 0s;
  transition: visibility 0s;
}

/* De achtergrond fadet uit */
#gem-offcanvas .gem-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0);
  -webkit-transition: background 0.4s ease;
  transition: background 0.4s ease;
}

#gem-offcanvas.active .gem-overlay {
  background: rgba(0, 0, 0, 0.6);
}

/* Het paneel schuift altijd */
#gem-offcanvas .gem-panel {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  max-width: 600px;
  background: #ffffff;
  padding: 30px;
  overflow-y: auto;
  /* Start & Eindpositie: buiten beeld */
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  /* Deze transitie werkt twee kanten op: heen én terug */
  -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);
  transition: -webkit-transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);
  transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);
  transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1), -webkit-transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);
  -webkit-box-shadow: -10px 0 20px rgba(0, 0, 0, 0);
          box-shadow: -10px 0 20px rgba(0, 0, 0, 0);
}

#gem-offcanvas.active .gem-panel {
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-box-shadow: -10px 0 20px rgba(0, 0, 0, 0.15);
          box-shadow: -10px 0 20px rgba(0, 0, 0, 0.15);
}

/**
 * Elements
 */
.btn {
  text-decoration: none;
  padding: 12px 24px;
  border: 1px solid transparent;
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 16px;
  font-style: normal;
  display: block;
  font-weight: 700;
  line-height: 100%;
  color: #3B2E37;
  -webkit-transition: background-color 0.2s ease, border-color 0.2s ease;
  transition: background-color 0.2s ease, border-color 0.2s ease;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  text-align: left;
  border-radius: 9999px;
}

.btn-pri {
  background-color: #C4F511;
  border-color: #C4F511;
}
.btn-pri:hover {
  background-color: color-mix(in hsl, black 10%, #C4F511 90%);
  border-color: color-mix(in hsl, black 10%, #C4F511 90%);
  color: #3B2E37;
}

.btn-sec {
  background-color: transparent;
  border-color: #3B2E37;
  color: #3B2E37;
}
.btn-sec:hover {
  background-color: #ededed;
  border-color: #d4d4d4;
}

.btn-whi {
  background-color: transparent;
  border-color: #3B2E37;
  color: #3B2E37;
}
.btn-whi:hover {
  background-color: color-mix(in hsl, black 10%, white 90%);
  border-color: color-mix(in hsl, black 10%, white 90%);
}

.btn-gho {
  background-color: transparent;
}
.btn-gho.btn-pri {
  border-color: rgba(176, 130, 30, 0.2509803922);
  color: #C4F511;
}
.btn-gho.btn-pri:before {
  background-color: rgba(176, 130, 30, 0.1490196078);
}
.btn-gho.btn-sec {
  border-color: rgba(0, 31, 56, 0.2509803922);
  color: #3B2E37;
}
.btn-gho.btn-sec:before {
  background-color: rgba(0, 31, 56, 0.1490196078);
}
.btn-gho.btn-whi {
  border-color: rgba(255, 255, 255, 0.25);
  color: white;
}
.btn-gho.btn-whi:before {
  background-color: rgba(255, 255, 255, 0.15);
}
.btn-gho:hover {
  background-color: transparent;
  border-color: inherit;
}
.btn-gho:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  width: 100%;
  z-index: 0;
  opacity: 0;
}
.btn-gho:hover:before {
  opacity: 1;
}

.btn-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
.btn-icon span svg {
  width: 18px;
  height: 18px;
}
.btn-icon span svg path {
  fill: #3B2E37;
}

.btn-whi.btn-icon span svg path {
  fill: #3B2E37;
}

.btn-pri.btn-gho.btn-icon span svg path {
  fill: #3B2E37;
}

.btn-sec.btn-gho.btn-icon span svg path {
  fill: #3B2E37;
}

.btn-no-title {
  padding: 13px;
}
.btn-no-title span svg {
  width: 28px;
  height: 28px;
}

.btn-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.btn-hero {
  margin-bottom: 68px;
}

.disabled-btn {
  opacity: 0.4;
  pointer-events: none;
  cursor: default;
}

button.button, button.next-step-btn {
  background: #C4F511 !important;
  border-radius: 50px !important;
  color: #3B2E37 !important;
  border: none;
  padding: 12px 24px;
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
  cursor: pointer;
}

.checkout-button {
  background-color: #C4F511 !important;
  border-radius: 50px !important;
  color: #3B2E37 !important;
}

input#coupon_code {
  max-width: 100% !important;
}

.search .search-wrapper form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
  background-color: #C4F511;
  padding: 8px;
  -webkit-box-shadow: 4px 12px 20px 0 rgba(0, 31, 56, 0.18);
          box-shadow: 4px 12px 20px 0 rgba(0, 31, 56, 0.18);
}
.search .search-wrapper input {
  border: none;
  font-size: 18px;
  font-weight: 700;
  border-radius: 9999px;
}
.search .search-wrapper input:focus-visible {
  outline: none;
}
.search .search-wrapper input[type=search] {
  padding: 0;
  padding: 13px 16px;
  background-color: white;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  width: 100%;
  color: #5E5E5D;
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 155%;
  height: 56px;
}
.search .search-wrapper input[type=search]::-webkit-input-placeholder {
  color: rgba(0, 31, 56, 0.5019607843);
}
.search .search-wrapper input[type=search]::-moz-placeholder {
  color: rgba(0, 31, 56, 0.5019607843);
}
.search .search-wrapper input[type=search]:-ms-input-placeholder {
  color: rgba(0, 31, 56, 0.5019607843);
}
.search .search-wrapper input[type=search]::-ms-input-placeholder {
  color: rgba(0, 31, 56, 0.5019607843);
}
.search .search-wrapper input[type=search]::placeholder {
  color: rgba(0, 31, 56, 0.5019607843);
}
.search .search-wrapper input[type=submit] {
  text-decoration: none;
  padding: 18px 24px;
  border: 1px solid transparent;
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 18px;
  font-style: normal;
  display: block;
  font-weight: 700;
  line-height: 100%;
  color: white;
  -webkit-transition: background-color 0.2s ease, border-color 0.2s ease;
  transition: background-color 0.2s ease, border-color 0.2s ease;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  text-align: left;
  background-color: #3B2E37;
}
.search .search-wrapper input[type=submit]:hover {
  background-color: color-mix(in hsl, black 20%, #3B2E37 80%);
  border-color: color-mix(in hsl, black 20%, #3B2E37 80%);
}

.search.on-page .search-wrapper {
  position: relative;
  width: 100%;
  margin-top: 26px;
}
.search.on-page .search-wrapper form {
  width: 100%;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  background-color: transparent;
  -webkit-box-shadow: unset;
          box-shadow: unset;
  padding: 0;
}
.search.on-page .search-wrapper label, .search.on-page .search-wrapper input[type=search] {
  width: 100%;
}

.search.in-footer .search-wrapper {
  margin: 0;
}
.search.in-footer .search-wrapper form {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.search.in-footer .search-wrapper form input[type=search] {
  max-width: 90%;
}
.search.in-footer .search-wrapper form input[type=submit] {
  background-color: #C4F511;
}
.search.in-footer .search-wrapper form input[type=submit]:hover {
  background-color: color-mix(in hsl, black 20%, #C4F511 80%);
  border-color: color-mix(in hsl, black 20%, #C4F511 80%);
}
.search.in-footer .search-wrapper form label {
  background-color: transparent;
}

.layout-container.search-results-overlay {
  padding: 0;
}

/* De wrapper-container die we gebruiken voor positie en breedte */
.search-input-wrapper {
  position: relative; /* Nodig voor de icon-positionering later */
  width: 100%;
  max-width: 500px; /* Pas dit aan naar je wens */
  margin: 12px 0; /* Optionele spacing */
}
@media only screen and (max-width: 1025px) {
  .search-input-wrapper {
    max-width: 100%;
  }
}

/* Het eigenlijke input-veld (js-search-input) */
#js-search-input {
  width: 500px;
  max-width: 100%;
  padding: 15px 20px 15px 55px;
  font-size: 1.1rem;
  color: #666;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 8px;
  -webkit-box-shadow: none;
  box-shadow: none;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  background-image: url(./assets/svg/search-black.svg);
  background-repeat: no-repeat;
  background-position: 15px;
}
@media only screen and (max-width: 1025px) {
  #js-search-input {
    width: 100%;
  }
}

/* Verwijder standaard WordPress styling en focus-randen */
#js-search-input:focus {
  outline: none;
  border-color: #ccc; /* Iets donkerder op focus */
}

/* De Placeholder-tekst styling */
#js-search-input::-webkit-input-placeholder {
  color: #aaa; /* Hele lichte placeholder-tekst */
  font-weight: 300;
}
#js-search-input::-moz-placeholder {
  color: #aaa; /* Hele lichte placeholder-tekst */
  font-weight: 300;
}
#js-search-input:-ms-input-placeholder {
  color: #aaa; /* Hele lichte placeholder-tekst */
  font-weight: 300;
}
#js-search-input::-ms-input-placeholder {
  color: #aaa; /* Hele lichte placeholder-tekst */
  font-weight: 300;
}
#js-search-input::placeholder {
  color: #aaa; /* Hele lichte placeholder-tekst */
  font-weight: 300;
}

.product-search-container {
  position: relative; /* Belangrijk voor de dropdown */
  width: 100%;
  max-width: 400px;
}

#js-search-results {
  position: absolute;
  left: 0;
  right: 0;
  width: 530px; /* Of 100vw voor schermbreedte */
  background: #fff;
  z-index: 999;
  -webkit-box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
          box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  border-radius: 12px;
  max-height: 500px;
  overflow-y: hidden;
  display: none;
}
@media only screen and (max-width: 1025px) {
  #js-search-results {
    width: 100%;
  }
}

.results-list {
  max-height: 370px;
  overflow: scroll;
}

/* De header maken we 'sticky' */
.results-header {
  font-family: "Montserrat Bold", sans-serif;
  background: #FAF5F6;
  color: #000000;
  padding: 12px 20px;
  position: sticky;
  top: 0;
  z-index: 10;
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
  line-height: 16px;
}

.keuzehulp-search .keuzehulp-button {
  background: #C4F511;
  font-family: "Montserrat Bold", sans-serif;
  text-decoration: none;
  width: 100%;
  display: block;
  padding: 14px 16px;
  border-radius: 3px;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%;
  background-image: url(./assets/svg/arrow_right.svg);
  background-repeat: no-repeat;
  background-position: right 15px center;
}

.keuzehulp-search {
  padding: 10px;
}

.results-list .woocommerce-Price-amount.amount {
  font-family: Montserrat;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
}
@media only screen and (max-width: 800px) {
  .results-list .woocommerce-Price-amount.amount {
    font-size: 14px;
  }
}

.res-content h3 {
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%;
}

.search-result-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 10px;
  border-bottom: 1px solid #eee;
  text-decoration: none;
  color: #333;
}

.search-result-item:hover {
  background: #f9f9f9;
}

.result-thumb img {
  width: 50px;
  height: 50px;
  -o-object-fit: cover;
     object-fit: cover;
  margin-right: 15px;
}

.result-info span {
  display: block;
}

.result-info .price {
  font-weight: bold;
  color: #a00;
}

.search-result-row {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 120px 20px 1fr 20px 120px;
  grid-template-columns: 120px 1fr 120px;
  gap: 20px;
  padding: 20px;
  border-bottom: 1px dotted #ccc; /* De stippellijn */
  text-decoration: none;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media only screen and (max-width: 800px) {
  .search-result-row {
    -ms-grid-columns: 35px 10px 1fr 10px 80px;
    grid-template-columns: 35px 1fr 80px;
    gap: 10px;
  }
}

.search-result-row:hover {
  background: #fcfcfc;
}

.res-image img {
  width: 100%;
  height: auto;
  border: 1px solid #eee;
}
@media only screen and (max-width: 800px) {
  .res-image img {
    width: 35px;
  }
}

.res-content h3 {
  margin: 0 0 5px 0;
  color: #333;
  font-size: 1.1rem;
}

.res-sku {
  color: #999;
  font-size: 0.85rem;
  display: block;
  margin-bottom: 10px;
}

.res-excerpt {
  color: #777;
  font-size: 0.9rem;
  margin: 0;
  line-height: 1.4;
}

.res-price {
  text-align: right;
  font-weight: bold;
  color: #3B2E37;
  font-size: 1.2rem;
}

.res-image {
  max-height: 120px;
}

@media only screen and (max-width: 1025px) {
  .searc_mobile.js-search-wrapper a.btn-icon {
    position: absolute;
    right: -10px;
    top: -45px;
    background: #C4F511;
  }
}
.js-search-input::-webkit-search-cancel-button {
  -webkit-appearance: none;
  height: 16px;
  width: 16px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23afc3e0'><path d='M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z'/></svg>");
  cursor: pointer;
}

nav.pagination {
  margin-top: 32px;
}
nav.pagination ul.page-numbers {
  padding: 0;
  list-style-type: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 8px;
  margin: 0;
}
nav.pagination ul.page-numbers li span, nav.pagination ul.page-numbers li a {
  width: 56px;
  height: 56px;
  background-color: #C4F511;
  border: 1px solid #C4F511;
  -webkit-transition: background-color 0.2s ease, border-color 0.2s ease;
  transition: background-color 0.2s ease, border-color 0.2s ease;
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 18px;
  font-style: normal;
  display: block;
  font-weight: 700;
  line-height: 100%;
  color: white;
  padding: 18px;
  text-align: center;
  border-radius: 9999px;
}
nav.pagination ul.page-numbers li span svg, nav.pagination ul.page-numbers li a svg {
  width: 28px;
  height: 28px;
}
nav.pagination ul.page-numbers li span {
  background-color: transparent;
  color: #C4F511;
}
nav.pagination ul.page-numbers li a {
  text-decoration: none;
}
nav.pagination ul.page-numbers li a:hover {
  background-color: color-mix(in hsl, black 10%, #C4F511 90%);
  border-color: color-mix(in hsl, black 10%, #C4F511 90%);
}
nav.pagination ul.page-numbers li .next, nav.pagination ul.page-numbers li .prev {
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.filters {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  margin-bottom: 32px;
}
.filters a {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 56px;
  background-color: #C4F511;
  border: 1px solid #C4F511;
  -webkit-transition: background-color 0.2s ease, border-color 0.2s ease;
  transition: background-color 0.2s ease, border-color 0.2s ease;
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 18px;
  font-style: normal;
  display: block;
  font-weight: 700;
  line-height: 100%;
  color: white;
  padding: 18px;
  text-align: center;
  text-decoration: none;
  border-radius: 9999px;
}
.filters a:hover {
  background-color: color-mix(in hsl, black 10%, #C4F511 90%);
  border-color: color-mix(in hsl, black 10%, #C4F511 90%);
}
.filters a.is-active {
  background-color: transparent;
  pointer-events: none;
  color: #C4F511;
}

.gform_legacy_markup_wrapper .gform_validation_errors > h2 {
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 20px;
  font-weight: 400;
}

body .gform_legacy_markup_wrapper ul li.gfield {
  padding-top: 20px;
}

#field_122_3 {
  padding-top: 20px;
}

.glightbox-container {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999999 !important;
  overflow: hidden;
  -ms-touch-action: none;
  touch-action: none;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  outline: none;
}

.glightbox-container.inactive {
  display: none;
}

.glightbox-container .gcontainer {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 9999;
  overflow: hidden;
}

.glightbox-container .gslider {
  -webkit-transition: -webkit-transform 0.4s ease;
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
  height: 100%;
  left: 0;
  top: 0;
  width: 100%;
  position: relative;
  overflow: hidden;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.glightbox-container .gslide {
  width: 100%;
  position: absolute;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  opacity: 0;
}

.glightbox-container .gslide.current {
  opacity: 1;
  z-index: 99999;
  position: relative;
}

.glightbox-container .gslide.prev {
  opacity: 1;
  z-index: 9999;
}

.glightbox-container .gslide-inner-content {
  width: 100%;
}

.glightbox-container .ginner-container {
  position: relative;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  max-width: 100%;
  margin: auto;
  height: 100vh;
}

.glightbox-container .ginner-container.gvideo-container {
  width: 100%;
}

.glightbox-container .ginner-container.desc-bottom,
.glightbox-container .ginner-container.desc-top {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.glightbox-container .ginner-container.desc-left,
.glightbox-container .ginner-container.desc-right {
  max-width: 100% !important;
}

.gslide iframe,
.gslide video {
  outline: none !important;
  border: none;
  min-height: 165px;
  -webkit-overflow-scrolling: touch;
  -ms-touch-action: auto;
  touch-action: auto;
}

.gslide:not(.current) {
  pointer-events: none;
}

.gslide-image {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.gslide-image img {
  max-height: 100vh;
  display: block;
  padding: 0;
  float: none;
  outline: none;
  border: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  max-width: 100vw;
  width: auto;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
  -ms-touch-action: none;
  touch-action: none;
  margin: auto;
  min-width: 200px;
}

.desc-top .gslide-image img,
.desc-bottom .gslide-image img {
  width: auto;
}

.desc-left .gslide-image img,
.desc-right .gslide-image img {
  width: auto;
  max-width: 100%;
}

.gslide-image img.zoomable {
  position: relative;
}

.gslide-image img.dragging {
  cursor: -webkit-grabbing !important;
  cursor: grabbing !important;
  -webkit-transition: none;
  transition: none;
}

.gslide-video {
  position: relative;
  max-width: 100vh;
  width: 100% !important;
}

.gslide-video .plyr__poster-enabled.plyr--loading .plyr__poster {
  display: none;
}

.gslide-video .gvideo-wrapper {
  width: 100%;
  /* max-width: 160vmin; */
  margin: auto;
}

.gslide-video::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: rgba(255, 0, 0, 0.34);
  display: none;
}

.gslide-video.playing::before {
  display: none;
}

.gslide-video.fullscreen {
  max-width: 100% !important;
  min-width: 100%;
  height: 75vh;
}

.gslide-video.fullscreen video {
  max-width: 100% !important;
  width: 100% !important;
}

.gslide-inline {
  background: #fff;
  text-align: left;
  max-height: calc(100vh - 40px);
  overflow: auto;
  max-width: 100%;
  margin: auto;
}

.gslide-inline .ginlined-content {
  padding: 20px;
  width: 100%;
}

.gslide-inline .dragging {
  cursor: -webkit-grabbing !important;
  cursor: grabbing !important;
  -webkit-transition: none;
  transition: none;
}

.ginlined-content {
  overflow: auto;
  display: block !important;
  opacity: 1;
}

.gslide-external {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  min-width: 100%;
  background: #fff;
  padding: 0;
  overflow: auto;
  max-height: 75vh;
  height: 100%;
}

.gslide-media {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: auto;
}

.zoomed .gslide-media {
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
}

.desc-top .gslide-media,
.desc-bottom .gslide-media {
  margin: 0 auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.gslide-description {
  position: relative;
  -webkit-box-flex: 1;
  -ms-flex: 1 0 100%;
  flex: 1 0 100%;
}

.gslide-description.description-left,
.gslide-description.description-right {
  max-width: 100%;
}

.gslide-description.description-bottom,
.gslide-description.description-top {
  margin: 0 auto;
  width: 100%;
}

.gslide-description p {
  margin-bottom: 12px;
}

.gslide-description p:last-child {
  margin-bottom: 0;
}

.zoomed .gslide-description {
  display: none;
}

.glightbox-button-hidden {
  display: none;
}

/*
 * Description for mobiles
 * something like facebook does the description
 * for the photos
*/
.glightbox-mobile .glightbox-container .gslide-description {
  height: auto !important;
  width: 100%;
  position: absolute;
  bottom: 0;
  padding: 19px 11px;
  max-width: 100vw !important;
  -webkit-box-ordinal-group: 3 !important;
  -ms-flex-order: 2 !important;
  order: 2 !important;
  max-height: 78vh;
  overflow: auto !important;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.75)));
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.75) 100%);
  -webkit-transition: opacity 0.3s linear;
  transition: opacity 0.3s linear;
  padding-bottom: 50px;
}

.glightbox-mobile .glightbox-container .gslide-title {
  color: #fff;
  font-size: 1em;
}

.glightbox-mobile .glightbox-container .gslide-desc {
  color: #a1a1a1;
}

.glightbox-mobile .glightbox-container .gslide-desc a {
  color: #fff;
  font-weight: bold;
}

.glightbox-mobile .glightbox-container .gslide-desc * {
  color: inherit;
}

.glightbox-mobile .glightbox-container .gslide-desc .desc-more {
  color: #fff;
  opacity: 0.4;
}

.gdesc-open .gslide-media {
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
  opacity: 0.4;
}

.gdesc-open .gdesc-inner {
  padding-bottom: 30px;
}

.gdesc-closed .gslide-media {
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
  opacity: 1;
}

.greset {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.gabsolute {
  position: absolute;
}

.grelative {
  position: relative;
}

.glightbox-desc {
  display: none !important;
}

.glightbox-open {
  overflow: hidden;
}

.gloader {
  height: 25px;
  width: 25px;
  -webkit-animation: lightboxLoader 0.8s infinite linear;
  animation: lightboxLoader 0.8s infinite linear;
  border: 2px solid #fff;
  border-right-color: transparent;
  border-radius: 50%;
  position: absolute;
  display: block;
  z-index: 9999;
  left: 0;
  right: 0;
  margin: 0 auto;
  top: 47%;
}

.goverlay {
  width: 100%;
  height: calc(100vh + 1px);
  position: fixed;
  top: -1px;
  left: 0;
  background: #000;
  will-change: opacity;
}

.glightbox-mobile .goverlay {
  background: #000;
}

.gprev,
.gnext,
.gclose {
  z-index: 99999;
  cursor: pointer;
  width: 26px;
  height: 44px;
  border: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.gprev svg,
.gnext svg,
.gclose svg {
  display: block;
  width: 25px;
  height: auto;
  margin: 0;
  padding: 0;
}

.gprev.disabled,
.gnext.disabled,
.gclose.disabled {
  opacity: 0.1;
}

.gprev .garrow,
.gnext .garrow,
.gclose .garrow {
  stroke: #fff;
}

.gbtn.focused {
  outline: 2px solid #0f3d81;
}

iframe.wait-autoplay {
  opacity: 0;
}

.glightbox-closing .gnext,
.glightbox-closing .gprev,
.glightbox-closing .gclose {
  opacity: 0 !important;
}

/*Skin */
.glightbox-clean .gslide-description {
  background: #fff;
}

.glightbox-clean .gdesc-inner {
  padding: 22px 20px;
}

.glightbox-clean .gslide-title {
  font-size: 1em;
  font-weight: normal;
  font-family: arial;
  color: #000;
  margin-bottom: 19px;
  line-height: 1.4em;
}

.glightbox-clean .gslide-desc {
  font-size: 0.86em;
  margin-bottom: 0;
  font-family: arial;
  line-height: 1.4em;
}

.glightbox-clean .gslide-video {
  background: #000;
}

.glightbox-clean .gprev,
.glightbox-clean .gnext,
.glightbox-clean .gclose {
  background-color: rgba(0, 0, 0, 0.75);
  border-radius: 4px;
}

.glightbox-clean .gprev path,
.glightbox-clean .gnext path,
.glightbox-clean .gclose path {
  fill: #fff;
}

.glightbox-clean .gprev {
  position: absolute;
  top: -100%;
  left: 30px;
  width: 40px;
  height: 50px;
}

.glightbox-clean .gnext {
  position: absolute;
  top: -100%;
  right: 30px;
  width: 40px;
  height: 50px;
}

.glightbox-clean .gclose {
  width: 35px;
  height: 35px;
  top: 15px;
  right: 10px;
  position: absolute;
}

.glightbox-clean .gclose svg {
  width: 18px;
  height: auto;
}

.glightbox-clean .gclose:hover {
  opacity: 1;
}

/*CSS Animations*/
.gfadeIn {
  -webkit-animation: gfadeIn 0.5s ease;
  animation: gfadeIn 0.5s ease;
}

.gfadeOut {
  -webkit-animation: gfadeOut 0.5s ease;
  animation: gfadeOut 0.5s ease;
}

.gslideOutLeft {
  -webkit-animation: gslideOutLeft 0.3s ease;
  animation: gslideOutLeft 0.3s ease;
}

.gslideInLeft {
  -webkit-animation: gslideInLeft 0.3s ease;
  animation: gslideInLeft 0.3s ease;
}

.gslideOutRight {
  -webkit-animation: gslideOutRight 0.3s ease;
  animation: gslideOutRight 0.3s ease;
}

.gslideInRight {
  -webkit-animation: gslideInRight 0.3s ease;
  animation: gslideInRight 0.3s ease;
}

.gzoomIn {
  -webkit-animation: gzoomIn 0.5s ease;
  animation: gzoomIn 0.5s ease;
}

.gzoomOut {
  -webkit-animation: gzoomOut 0.5s ease;
  animation: gzoomOut 0.5s ease;
}

@-webkit-keyframes lightboxLoader {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes lightboxLoader {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@-webkit-keyframes gfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes gfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes gfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes gfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@-webkit-keyframes gslideInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-60%, 0, 0);
    transform: translate3d(-60%, 0, 0);
  }
  to {
    visibility: visible;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes gslideInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-60%, 0, 0);
    transform: translate3d(-60%, 0, 0);
  }
  to {
    visibility: visible;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@-webkit-keyframes gslideOutLeft {
  from {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    -webkit-transform: translate3d(-60%, 0, 0);
    transform: translate3d(-60%, 0, 0);
    opacity: 0;
    visibility: hidden;
  }
}
@keyframes gslideOutLeft {
  from {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    -webkit-transform: translate3d(-60%, 0, 0);
    transform: translate3d(-60%, 0, 0);
    opacity: 0;
    visibility: hidden;
  }
}
@-webkit-keyframes gslideInRight {
  from {
    opacity: 0;
    visibility: visible;
    -webkit-transform: translate3d(60%, 0, 0);
    transform: translate3d(60%, 0, 0);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes gslideInRight {
  from {
    opacity: 0;
    visibility: visible;
    -webkit-transform: translate3d(60%, 0, 0);
    transform: translate3d(60%, 0, 0);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@-webkit-keyframes gslideOutRight {
  from {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    -webkit-transform: translate3d(60%, 0, 0);
    transform: translate3d(60%, 0, 0);
    opacity: 0;
  }
}
@keyframes gslideOutRight {
  from {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    -webkit-transform: translate3d(60%, 0, 0);
    transform: translate3d(60%, 0, 0);
    opacity: 0;
  }
}
@-webkit-keyframes gzoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  to {
    opacity: 1;
  }
}
@keyframes gzoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes gzoomOut {
  from {
    opacity: 1;
  }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  to {
    opacity: 0;
  }
}
@keyframes gzoomOut {
  from {
    opacity: 1;
  }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  to {
    opacity: 0;
  }
}
@media (min-width: 769px) {
  .glightbox-container .ginner-container {
    width: auto;
    height: auto;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
  }
  .glightbox-container .ginner-container.desc-top .gslide-description {
    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 0;
    order: 0;
  }
  .glightbox-container .ginner-container.desc-top .gslide-image,
  .glightbox-container .ginner-container.desc-top .gslide-image img {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
  .glightbox-container .ginner-container.desc-left .gslide-description {
    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 0;
    order: 0;
  }
  .glightbox-container .ginner-container.desc-left .gslide-image {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
  .gslide-image img {
    max-height: 97vh;
    max-width: 100%;
  }
  .gslide-image img.zoomable {
    cursor: -webkit-zoom-in;
    cursor: zoom-in;
  }
  .zoomed .gslide-image img.zoomable {
    cursor: -webkit-grab;
    cursor: grab;
  }
  .gslide-inline {
    max-height: 95vh;
  }
  .gslide-external {
    max-height: 100vh;
  }
  .gslide-description.description-left,
  .gslide-description.description-right {
    max-width: 275px;
  }
  .glightbox-open {
    height: auto;
  }
  .goverlay {
    background: rgba(0, 0, 0, 0.92);
  }
  .glightbox-clean .gslide-media {
    -webkit-box-shadow: 1px 2px 9px 0px rgba(0, 0, 0, 0.65);
    box-shadow: 1px 2px 9px 0px rgba(0, 0, 0, 0.65);
  }
  .glightbox-clean .description-left .gdesc-inner,
  .glightbox-clean .description-right .gdesc-inner {
    position: absolute;
    height: 100%;
    overflow-y: auto;
  }
  .glightbox-clean .gprev,
  .glightbox-clean .gnext,
  .glightbox-clean .gclose {
    background-color: rgba(0, 0, 0, 0.32);
  }
  .glightbox-clean .gprev:hover,
  .glightbox-clean .gnext:hover,
  .glightbox-clean .gclose:hover {
    background-color: rgba(0, 0, 0, 0.7);
  }
  .glightbox-clean .gprev {
    top: 45%;
  }
  .glightbox-clean .gnext {
    top: 45%;
  }
}
@media (min-width: 992px) {
  .glightbox-clean .gclose {
    opacity: 0.7;
    right: 20px;
  }
}
@media screen and (max-height: 420px) {
  .goverlay {
    background: #000;
  }
}
/**
 * Templates
 */
.search .page-header {
  padding: 100px 0 100px 0;
}

.search-page .information {
  margin-bottom: 20px;
}
@media only screen and (max-width: 800px) {
  .search-page .information {
    margin-left: 0;
  }
}
.search-page .information--title {
  font-family: "Monigue", sans-serif;
  letter-spacing: -0.28px;
  margin: 0;
  margin-bottom: 24px;
  color: #3B2E37;
  font-size: 32px;
  font-style: normal;
  font-weight: 400;
  line-height: 90%;
}
.search-page .information--meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 32px;
}
@media only screen and (max-width: 600px) {
  .search-page .information--meta {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
    gap: 8px;
  }
}
.search-page .information--meta--count {
  color: #3B2E37;
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: 155%;
}
.search-page .information--meta--count strong {
  font-weight: 400;
}
.search-page .information--meta--filter {
  height: 48px;
  position: relative;
}
.search-page .information--meta--filter:after {
  content: "";
  rotate: 180deg;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(50%);
          transform: translateY(50%);
  right: 12px;
  width: 20px;
  height: 20px;
  background-image: url(./assets/svg/chevron-down.svg);
  background-repeat: no-repeat;
  background-position: center;
  pointer-events: none;
}
.search-page .information--meta--filter select {
  width: 100%;
  height: 100%;
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  position: relative;
  background-color: #C4F511;
  border: 1px solid transparent;
  text-decoration: none;
  font-size: 16px;
  font-style: normal;
  display: block;
  font-weight: 700;
  line-height: 100%;
  color: #3B2E37;
  -webkit-transition: background-color 0.2s ease, border-color 0.2s ease;
  transition: background-color 0.2s ease, border-color 0.2s ease;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  text-align: left;
  border-radius: 9999px;
  padding: 12px 24px;
}
.search-page .information--meta--filter select:hover {
  background-color: color-mix(in hsl, black 10%, #C4F511 90%);
  border-color: color-mix(in hsl, black 10%, #C4F511 90%);
  color: #3B2E37;
}
.search-page .information--meta--filter select:has(option:checked:not([value=""])) {
  font-weight: 700;
}
.search-page .results {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
}
.search-page .results--item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  text-decoration: none;
  gap: 24px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid rgba(59, 46, 55, 0.1);
  padding-bottom: 20px;
}
.search-page .results--item .image {
  width: 155px;
  height: 90px;
}
@media only screen and (max-width: 800px) {
  .search-page .results--item .image {
    width: 90px;
  }
}
.search-page .results--item .image img {
  min-width: 155px;
  max-width: 155px;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 8px;
}
@media only screen and (max-width: 800px) {
  .search-page .results--item .image img {
    min-width: 90px;
    max-width: 90px;
  }
}
.search-page .results--item .image .placeholder {
  min-width: 155px;
  max-width: 155px;
  height: 100%;
  background-color: #C4F511;
  border-radius: 8px;
  opacity: 0.2;
}
@media only screen and (max-width: 800px) {
  .search-page .results--item .image .placeholder {
    min-width: 90px;
    max-width: 90px;
  }
}
.search-page .results--item .content .label {
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
}
.search-page .results--item .content .title {
  color: #3B2E37;
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  margin: 0;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 90%;
  padding-bottom: 5px;
}

.search.on-page .search-input-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  max-width: 100%;
  gap: 20px;
  margin: 20px 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media only screen and (max-width: 800px) {
  .search.on-page .search-input-wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.search_results_title p {
  margin-top: 0;
}

.error-container {
  height: 80vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
}
.error-container h1 {
  margin: 0;
  font-size: 64px;
  text-align: center;
  color: white;
}
@media only screen and (max-width: 800px) {
  .error-container h1 {
    font-size: 32px;
  }
}
.error-container p {
  margin: 0;
  font-size: 32px;
  margin-bottom: 20px;
  text-align: center;
}
@media only screen and (max-width: 800px) {
  .error-container p {
    font-size: 24px;
  }
}
.error-container .btn-container {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.super-banner-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 16px;
  width: 100%;
}
.super-banner-container .super-card {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 calc((100% - 2 * 16px) / 3);
          flex: 0 1 calc((100% - 2 * 16px) / 3);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 12px;
  padding: 50px 37px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 120px;
}
@media only screen and (max-width: 800px) {
  .super-banner-container .super-card {
    padding: 30px;
  }
}
.super-banner-container .super-card.roze_1 {
  background-color: #FCD2D1;
}
.super-banner-container .super-card.roze_2 {
  background-color: #D696D3;
}
.super-banner-container .super-card.roze_3 {
  background-color: #B95FB6;
}
.super-banner-container .super-card .super-text-wrap {
  font-size: 48px;
  font-family: "Monigue", sans-serif;
  font-style: normal;
  font-weight: 400;
  line-height: 90%;
  color: #3B2E37;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  line-height: 1;
  padding-right: 25px;
}
@media only screen and (max-width: 800px) {
  .super-banner-container .super-card .super-text-wrap {
    padding-right: 0;
  }
}
.super-banner-container .super-card .super-text-wrap .text-highlight {
  font-family: "Monigue", sans-serif;
  padding: 6px 12px 6px 2px;
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
  position: relative;
}
.super-banner-container .super-card .super-text-wrap .text-highlight:before {
  content: "";
  background: #ffffff;
  width: 100%;
  height: 46px;
  position: absolute;
  display: block;
  left: -5px;
  top: 0;
  z-index: -1;
  border-radius: 8px;
  -webkit-transform: rotate(-3.715deg);
  transform: rotate(-3.715deg);
}
.super-banner-container .super-card .super-icon {
  height: 50px;
  width: auto;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media only screen and (max-width: 1170px) {
  .super-banner-container .super-card {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 calc((100% - 16px) / 2);
            flex: 0 1 calc((100% - 16px) / 2);
  }
}
@media only screen and (max-width: 800px) {
  .super-banner-container .super-card {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%;
  }
}

@media only screen and (max-width: 1025px) {
  .super-card {
    /* Stapel de icoon-wrapper en de tekst-wrapper boven elkaar */
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    /* Zorg dat de kaart de volle breedte pakt */
    -webkit-box-flex: 0;
        -ms-flex: 0 1 100%;
            flex: 0 1 100%;
    width: 100%;
    padding: 20px;
    text-align: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 10px; /* Ruimte tussen icoon en tekst */
    min-height: auto;
  }
  .super-text-wrap {
    /* Dwing de tekst om naast elkaar te blijven staan */
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: row !important;
            flex-direction: row !important;
    gap: 5px; /* Ruimte tussen 'Super' en 'simpel' */
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .super-icon-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-bottom: 5px;
  }
}
.usp-homepage {
  background: #FAF5F6;
  padding-bottom: 40px;
}
.usp-homepage .usp-bar {
  background: #FaF5F6;
}
.usp-homepage .usp-bar svg path {
  fill: #BD5DBA;
}

@media only screen and (max-width: 800px) {
  .super-banner-container .super-card .super-text-wrap {
    font-size: 30px;
  }
  .super-banner-container .super-card {
    min-height: 80px;
  }
  .usp-homepage {
    padding-bottom: 20px;
  }
  .usp-homepage .layout-container {
    padding-right: 0;
  }
}
/* Zorg dat de slider container nooit breder is dan het scherm */
.super-banner-container, #super-features-slider {
  max-width: 100vw;
  overflow: hidden;
}

/* Desktop weergave herstellen */
@media (min-width: 1023px) {
  .splide__list {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 20px;
  }
  .splide__slide {
    width: calc(33.33% - 20px);
  }
}
#super-features-slider-list {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -ms-flex-wrap: wrap !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  width: 100% !important;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media only screen and (max-width: 1025px) {
  #super-features-slider-list {
    display: -webkit-box !important;
  }
}

section#super-features-slider {
  width: 100%;
  margin: 0;
}

/* Specifieke fix voor mobiel */
@media (max-width: 640px) {
  .splide__slide {
    /* Forceer de breedte die JS opgeeft */
    width: 70% !important;
  }
  .super-card {
    width: 100% !important; /* De kaart vult de slide */
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin: 0; /* Voorkom dat margins de kaart breder maken */
  }
  /* Zorg dat de track slides die 'buiten beeld' staan niet verbergt maar wel afkapt */
  .splide__track {
    overflow: visible !important;
    /* Let op: als dit een layout-issue geeft, verander naar 'hidden' 
       en zorg dat de container geen padding heeft */
  }
}
@media only screen and (max-width: 800px) {
  #super-features-slider .splide__slide {
    width: 70% !important;
  }
}

/**
 * Woocommerce
 */
main.shoppingcart {
  background: #FAF5F6;
  padding-top: 40px;
}

.cart-form-holder {
  background: #ffffff;
  border-radius: 12px;
  -webkit-box-shadow: 2px 8px 0 0 rgba(59, 46, 55, 0.13);
          box-shadow: 2px 8px 0 0 rgba(59, 46, 55, 0.13);
  padding: 20px;
}
.cart-form-holder p.cart-item-count {
  font-family: "Monigue", sans-serif;
  color: #3B2E37;
  font-size: 34px;
  font-style: normal;
  font-weight: 400;
  line-height: 90%;
  padding-left: 20px;
}

#add_payment_method table.cart img, .woocommerce-cart table.cart img, .woocommerce-checkout table.cart img {
  width: 300px;
  -webkit-box-shadow: none;
          box-shadow: none;
}
@media only screen and (max-width: 1170px) {
  #add_payment_method table.cart img, .woocommerce-cart table.cart img, .woocommerce-checkout table.cart img {
    width: 150px !important;
  }
}

.afrekenen .layout-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 30px;
  max-width: 1200px;
  margin: 0 auto;
}
.afrekenen dd p {
  font-size: 13px;
}
.afrekenen .woocommerce-info {
  background-color: #fff9e6 !important;
  border: 1px solid #f2e1ac !important;
  color: #856404 !important;
  padding: 15px 50px !important;
  width: 100% !important;
  border-radius: 4px;
  margin-bottom: 25px !important;
}
.afrekenen .form-row {
  width: 100% !important;
  margin-bottom: 15px !important;
}
.afrekenen .form-row label {
  display: block;
  font-weight: 600;
  margin-bottom: 5px;
}
.afrekenen .form-row input.input-text,
.afrekenen .form-row select {
  width: 100%;
  padding: 12px;
  border: 1px solid #e2e2e2;
  background: #ffffff;
}
.afrekenen .form-row-first {
  width: 48% !important;
  float: left !important;
}
.afrekenen .form-row-last {
  width: 48% !important;
  float: right !important;
}
.afrekenen .custom-checkout-wrapper {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-orient: horizontal !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: row !important;
          flex-direction: row !important;
  -webkit-box-align: start !important;
      -ms-flex-align: start !important;
          align-items: flex-start !important;
  gap: 40px;
  width: 100%;
}
@media (max-width: 991px) {
  .afrekenen .custom-checkout-wrapper {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
  }
}
.afrekenen .checkout-tabs-nav {
  -webkit-box-flex: 0 !important;
      -ms-flex: 0 0 220px !important;
          flex: 0 0 220px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.afrekenen .checkout-tabs-nav:before {
  content: "Bestelproces";
  font-family: "Monigue", sans-serif;
  font-size: 32px;
  font-style: normal;
  font-weight: 400;
  line-height: 90%;
  padding-bottom: 20px;
  display: block;
}
@media only screen and (max-width: 1025px) {
  .afrekenen .checkout-tabs-nav:before {
    display: none;
  }
}
.afrekenen .checkout-tabs-nav li {
  border-bottom: 1px solid rgba(59, 46, 55, 0.1) !important;
  padding: 10px !important;
}
@media only screen and (max-width: 1025px) {
  .afrekenen .checkout-tabs-nav {
    display: flex;
    display: -webkit-box;
    display: -ms-flexbox;
    width: 100%;
    overflow-x: hidden;
    border-bottom: 1px solid #e2e2e2;
    -webkit-box-flex: 1 !important;
        -ms-flex: 1 1 0% !important;
            flex: 1 1 0% !important;
  }
}
.afrekenen .tab-item {
  padding: 15px 20px;
  font-family: "Montserrat Bold", sans-serif;
  font-size: 14px;
  color: rgba(59, 46, 55, 0.75);
  cursor: pointer;
  border-bottom: 1px solid #f4f4f4;
  position: relative;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.afrekenen .tab-item.active {
  color: #BD5DBA;
}
@media only screen and (max-width: 1025px) {
  .afrekenen .tab-item {
    -webkit-box-flex: 1 !important;
    -ms-flex: 1 1 0% !important;
    flex: 1 1 0% !important; /* De '1' zegt: verdeel de ruimte gelijk */
    text-align: center;
    list-style: none;
  }
}
.afrekenen .checkout-tabs-content {
  -webkit-box-flex: 1 !important;
      -ms-flex: 1 !important;
          flex: 1 !important;
  min-width: 0;
}
@media only screen and (max-width: 1025px) {
  .afrekenen .checkout-tabs-content {
    width: 100%;
  }
}
.afrekenen .woocommerce > p {
  display: none;
}

.cart-bottom-holder {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 55px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-top: 60px;
}
.cart-bottom-holder .cart-collaterals {
  margin-bottom: 60px;
}
.cart-bottom-holder > div {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media only screen and (max-width: 1025px) {
  .cart-bottom-holder > div {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    width: 100%;
  }
}

.cart-coupon-holder,
.cart-collaterals,
.step-container {
  -webkit-box-shadow: 2px 8px 0 0 rgba(59, 46, 55, 0.13);
          box-shadow: 2px 8px 0 0 rgba(59, 46, 55, 0.13);
  padding: 20px;
  background: #ffffff;
  border-radius: 8px;
}

.step-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-bottom: 80px;
}
.step-container .next-step-btn {
  -ms-flex-item-align: end;
      align-self: flex-end;
  margin-top: 20px;
}

.woocommerce .cart-collaterals .cart_totals {
  width: 100%;
}
.woocommerce table.shop_table {
  border: none;
  border-collapse: collapse !important;
  width: 100% !important;
}
.woocommerce table.shop_table th, .woocommerce table.shop_table td {
  padding: 15px 10px !important;
  border-bottom: 1px solid #f0f0f0 !important;
}
.woocommerce table.shop_table.woocommerce-cart-form__contents {
  color: #3B2E37;
}
.woocommerce table.shop_table.woocommerce-cart-form__contents a {
  font-family: Montserrat;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
}
.woocommerce table.shop_table.woocommerce-cart-form__contents td, .woocommerce table.shop_table.woocommerce-cart-form__contents dd p {
  color: rgba(59, 46, 55, 0.75);
  font-family: Montserrat;
  font-size: 13px;
  font-weight: 400;
  line-height: 166%;
}
.woocommerce .woocommerce-tabs ul.tabs {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  border-bottom: 2px solid #eee !important;
  list-style: none !important;
  padding: 0 !important;
}
.woocommerce .woocommerce-tabs ul.tabs li {
  margin-right: 35px !important;
  padding: 10px 0 !important;
  position: relative !important;
}
.woocommerce .woocommerce-tabs ul.tabs li.active::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 2px;
  background: #C4F511;
}

dl.variation {
  display: -ms-grid !important;
  display: grid !important;
  -ms-grid-columns: 1fr 10px 1fr;
  grid-template-columns: 1fr 1fr;
  gap: 5px 10px;
  margin: 10px 0;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}
dl.variation dt {
  -ms-grid-column: 1;
  grid-column: 1;
  font-weight: 600 !important;
  color: #888 !important;
  font-size: 13px !important;
  margin: 0;
}
dl.variation dd {
  -ms-grid-column: 2;
  grid-column: 2;
  color: #3B2E37 !important;
  font-size: 14px !important;
  margin: 0 !important;
}
dl.variation dd p {
  margin: 0 !important;
  display: inline-block;
}

.product-name {
  font-size: 16px;
  font-weight: 700;
  color: #3B2E37;
}

.product-quantity {
  font-weight: 600;
  color: #3B2E37;
  margin-left: 5px;
}

.order-total strong {
  font-size: 20px;
  color: #3B2E37;
}

#place_order {
  background-color: #82b440 !important;
  color: white !important;
  width: 100%;
  padding: 15px !important;
  font-weight: bold;
  text-transform: uppercase;
  border: none;
}

.usp-bar {
  background-color: #C4F511;
  padding: 19px 0;
}
.usp-bar .layout-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: center;
  gap: 57px;
}
.usp-bar .usp-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: 14px;
}
@media only screen and (max-width: 800px) {
  .usp-bar .usp-item {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    margin-bottom: 15px;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
.usp-bar .usp-text {
  color: #3B2E37;
}
.usp-bar .usp-text svg {
  display: inline;
  position: relative;
  top: 5px;
  margin-right: 5px;
}

.quantity {
  display: -webkit-inline-box !important;
  display: -ms-inline-flexbox !important;
  display: inline-flex !important;
  border: 1px solid #d3d3d3 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: #ffffff !important;
  height: 40px !important;
  padding: 0 !important;
  -webkit-box-align: center !important;
      -ms-flex-align: center !important;
          align-items: center !important;
}
.quantity .qty {
  width: 45px !important;
  height: 100% !important;
  border-top: none !important;
  border-bottom: none !important;
  border-left: 1px solid #d3d3d3 !important;
  border-right: 1px solid #d3d3d3 !important;
  text-align: center !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #fff !important;
  -moz-appearance: textfield !important;
}
.quantity .qty::-webkit-outer-spin-button, .quantity .qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.qty-btn {
  width: 35px !important;
  height: 100% !important;
  background: #fdfdfd !important;
  border: none !important;
  cursor: pointer !important;
  font-size: 18px !important;
  color: #3B2E37 !important;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-align: center !important;
      -ms-flex-align: center !important;
          align-items: center !important;
  -webkit-box-pack: center !important;
      -ms-flex-pack: center !important;
          justify-content: center !important;
  -webkit-transition: background 0.2s;
  transition: background 0.2s;
  outline: none !important;
}
.qty-btn:hover {
  background: #f0f0f0 !important;
}

.cart_totals {
  background: none;
  border: none;
  color: rgba(59, 46, 55, 0.75);
}
.cart_totals h2 {
  font-family: "Monigue", sans-serif;
  font-size: 34px;
  font-weight: 400;
  line-height: 90%;
  margin-top: 0;
  color: #3B2E37;
}
.cart_totals p strong,
.cart_totals span.woocommerce-Price-amount.amount {
  color: #3B2E37;
  font-size: 16px !important;
}

.woocommerce-checkout .header-bottom,
.woocommerce-checkout .hbar--container--search,
.woocommerce-checkout .header-icons-container,
.woocommerce-checkout .hbar--container--btns {
  display: none !important;
}
.woocommerce-checkout header .hbar--container {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.woocommerce-checkout table.cart img {
  width: 140px;
}

h3.coupon-title {
  font-family: Monigue;
  font-size: 34px;
  font-weight: 400;
  line-height: 90%;
  margin-top: 0;
  color: #3B2E37;
}

@media only screen and (max-width: 1170px) {
  .coupon button {
    margin-top: 20px !important;
  }
}
input#coupon_code {
  border: 1px solid rgba(59, 46, 55, 0.25);
  padding: 10px 20px;
  width: 100%;
  max-width: 225px;
  margin-right: 10px;
  border-radius: 5px;
}
@media only screen and (max-width: 1170px) {
  input#coupon_code {
    max-width: 100%;
  }
}

.woocommerce-billing-fields h3 {
  font-family: Monigue;
  font-size: 48px;
  font-weight: 400;
  line-height: 90%;
  color: #3B2E37;
  margin-top: 20px;
}
.woocommerce-billing-fields__field-wrapper label {
  font-family: Montserrat;
  font-size: 16px;
  font-weight: 400;
  line-height: 150%;
}

p.checkout-alert {
  background: #fff9e6 !important;
  padding: 10px;
  border: 1px solid #FFC453;
  font-family: Montserrat;
  font-size: 16px;
  font-weight: 400;
  line-height: 150%;
}

#hs_checkout_field_leverweek h2 {
  font-family: "Monigue", sans-serif;
  font-size: 48px;
  font-weight: 400;
  line-height: 90%;
  color: #3B2E37;
  margin-top: 20px;
}

h3#ship-to-different-address {
  color: #3B2E37;
  font-weight: normal;
}

.tw-order-comments strong {
  color: #3B2E37;
}

p.form-row.form-row-first.woocommerce-validated input {
  max-width: 100% !important;
}

section.woocommerce-order-details {
  border-radius: 12px;
  background: #FFF;
  -webkit-box-shadow: 2px 8px 0 0 rgba(59, 46, 55, 0.13);
          box-shadow: 2px 8px 0 0 rgba(59, 46, 55, 0.13);
  padding: 20px 40px;
  margin-top: 0;
}

section.woocommerce-order-details h2 {
  margin-top: 10px;
}

ul.woocommerce-order-overview.woocommerce-thankyou-order-details.order_details {
  margin-bottom: 20px;
}

@media only screen and (max-width: 1025px) {
  .afrekenen ul.wc-item-meta {
    padding-left: 0;
  }
  .woocommerce ul.order_details li {
    width: 100%;
    padding-bottom: 10px;
    border-right: none;
  }
  ul.woocommerce-order-overview.woocommerce-thankyou-order-details.order_details {
    padding-left: 0;
  }
}
.woocommerce-order .woocommerce-customer-details {
  margin-bottom: 0;
}

.woocommerce-notices-wrapper {
  background: #ffffff;
  border-radius: 12px;
  -webkit-box-shadow: 2px 8px 0 0 rgba(59, 46, 55, 0.13);
  box-shadow: 2px 8px 0 0 rgba(59, 46, 55, 0.13);
}

.woocommerce-notices-wrapper .woocommerce-message {
  background: #ffffff;
  border-radius: 9px;
}

.wc-empty-cart-message {
  background: #ffffff;
  border-radius: 12px;
  -webkit-box-shadow: 2px 8px 0 0 rgba(59, 46, 55, 0.13);
  box-shadow: 2px 8px 0 0 rgba(59, 46, 55, 0.13);
}

.wc-empty-cart-message .woocommerce-info {
  background: #ffffff;
  border-radius: 9px;
  border-top: none;
}
.wc-empty-cart-message .woocommerce-info:before {
  color: #3B2E37;
}

:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button {
  background: #C4F511;
  border-radius: 9999px;
  text-decoration: none;
  padding: 12px 24px;
  border: 1px solid transparent;
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 16px;
  font-style: normal;
  display: block;
  font-weight: 700;
  line-height: 100%;
  color: #3B2E37;
  -webkit-transition: background-color 0.2s ease, border-color 0.2s ease;
  transition: background-color 0.2s ease, border-color 0.2s ease;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  text-align: left;
}
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button:hover {
  background-color: color-mix(in hsl, black 10%, #C4F511 90%);
  border-color: color-mix(in hsl, black 10%, #C4F511 90%);
  color: #3B2E37;
}

p.return-to-shop {
  margin-bottom: 0;
  padding-bottom: 40px;
}

.woocommerce-error {
  background: #ffffff;
  border-radius: 9px;
}

#add_payment_method #payment, .woocommerce-cart #payment, .woocommerce-checkout #payment {
  background: #ffffff !important;
}

ul.wc_payment_methods.payment_methods.methods li {
  border: 1px solid rgba(59, 46, 55, 0.25);
  border-radius: 8px;
  margin-bottom: 10px !important;
  background: #ffffff;
  padding: 10px;
}

ul.wc_payment_methods.payment_methods.methods:before {
  content: "Selecteer een betaalmethode" !important;
  font-family: "Monigue", sans-serif;
  font-size: 24px;
  font-style: normal;
  font-weight: 400;
  line-height: 90%; /* 21.6px */
  letter-spacing: 0.48px;
  padding-bottom: 15px;
  color: #3B2E37;
  display: block;
}

#payment .payment_methods li[class*=payment_method_pay_gateway] *, div p[class*=payment_method_pay_gateway] * {
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  color: #3B2E37;
}

ul.wc_payment_methods.payment_methods.methods {
  position: relative;
}

#place_order {
  background: #C4F511 !important;
  color: #3B2E37 !important;
  -webkit-transition: background-color 0.2s ease, border-color 0.2s ease;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
#place_order:hover {
  background: color-mix(in hsl, black 10%, #C4F511 90%) !important;
}

.woocommerce-checkout #payment ul.payment_methods li label::before {
  content: "" !important;
  display: inline-block !important;
  width: 18px !important;
  height: 18px !important;
  border: 2px solid #ccc !important;
  background-color: #ffffff !important;
  border-radius: 50% !important;
  margin-right: 10px !important;
  vertical-align: middle !important;
  -webkit-box-sizing: border-box !important;
          box-sizing: border-box !important;
  float: none !important;
  position: relative !important;
  top: -1px;
}

.woocommerce-checkout #payment ul.payment_methods li input:checked + label::before {
  background-color: #ffffff !important;
  border-color: #ccc !important;
  background-image: radial-gradient(circle, #ffcc00 45%, transparent 50%) !important;
  color: #ffffff;
  font-size: 0;
}

/* 3. Verberg de originele zwarte stip als die via :after kwam */
.woocommerce-checkout #payment ul.payment_methods li label::after {
  display: none !important;
}

.woocommerce-checkout #payment ul.payment_methods li input + label::before {
  color: #ffffff;
  font-size: 0;
}

@media only screen and (max-width: 800px) {
  dl.variation dd {
    text-align: left;
  }
}
a.remove {
  font-size: 20px !important;
}

.woocommerce table.shop_table td small .amount {
  font-weight: normal !important;
  font-size: 14px !important;
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.woocommerce table.shop_table td small {
  display: block;
}

/* ==========================================================================
   1. GRID & BASIS LAYOUT (Productpagina)
   ========================================================================== */
.product-container {
  max-width: 1300px;
  margin: 0 auto;
  padding: 0 20px;
}

.product-container article.product {
  display: block !important;
  width: 100% !important;
  float: none !important;
}

.product-container .product-main-layout {
  display: -ms-grid !important;
  display: grid !important;
  -ms-grid-columns: 45% 5% 50% !important;
  grid-template-columns: 45% 50% !important;
  gap: 5%;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding-bottom: 60px;
  direction: rtl;
}
.product-container .product-main-layout .entry-summary {
  direction: ltr;
}
.product-container .product-main-layout .product-media {
  direction: ltr;
}

#cart-success-modal .modal-footer a {
  border-radius: 50px !important;
}

.product-page .gform_fields li {
  padding: 0 !important;
  margin: 0 !important;
}

[class*=cs-theme--] .gsection.collapsible-sections-field .gsection_title {
  color: #3B2E37;
}

/* ==========================================================================
   2. GALLERY & SLIDER (WooCommerce)
   ========================================================================== */
.product-media .woocommerce-product-gallery {
  position: relative !important;
  height: auto !important;
  overflow: hidden !important;
}

.product-media .woocommerce-product-gallery__trigger {
  display: none !important;
}

.product-media .flex-viewport {
  overflow: hidden !important;
  cursor: -webkit-grab;
  cursor: grab;
  z-index: 5 !important;
  height: 445px !important;
}

.product-media .woocommerce-product-gallery__image {
  position: relative !important;
  height: 450px !important;
  background: #faf5f6;
}
@media only screen and (max-width: 800px) {
  .product-media .woocommerce-product-gallery__image {
    height: 320px !important;
  }
}

.product-media .woocommerce-product-gallery__image a {
  display: block !important;
  position: relative;
  z-index: 2 !important;
  height: auto;
}

.woocommerce-product-gallery__image.hs-video-container.flex-active-slide video {
  height: 450px;
}

/* Zoom overlay */
.product-media .zoomImg {
  pointer-events: none !important;
  opacity: 0 !important;
  -webkit-transition: opacity 0.15s ease !important;
  transition: opacity 0.15s ease !important;
  z-index: 9 !important;
}

.product-media .woocommerce-product-gallery__image:hover .zoomImg {
  opacity: 1 !important;
  height: auto !important;
}

.psw__zoom-wrap .woocommerce img {
  height: auto !important;
}

.woocommerce-product-gallery__image.video-active-container.flex-active-slide {
  padding-top: 50px;
}

/* Zorg dat de video viewer netjes schaalt */
.video-active-container {
  width: 100%;
  margin-bottom: 10px;
}

.payment-methods-product {
  max-width: 280px;
}

.woocommerce-Tabs-panel h2 {
  font-family: Montserrat;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 90%;
}

.faq-accordion-item h2 {
  font-family: Montserrat;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 90%;
}

table.woocommerce-product-attributes.shop_attributes tr th {
  text-align: left;
}

/* Styling voor de samenvatting kaart in de sidebar */
.config-summary-card {
  background: #ffffff;
  border: 1px solid #e2e2e2;
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 20px;
  clear: both;
}

.summary-title {
  font-size: 18px !important;
  font-weight: 700 !important;
  margin: 0 0 12px 0 !important;
  color: #333;
}

.summary-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 6px;
  font-size: 15px;
  border-bottom: 1px solid #f9f9f9;
  padding-bottom: 6px;
}

.summary-row:last-child {
  border-bottom: none;
}

.summary-row .label {
  color: #888;
  width: 110px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.summary-row .value {
  color: #333;
  font-weight: 500;
}

/* Verberg de berekeningsvelden van GF */
#field_125_144, #field_125_151, .hide-summary {
  display: none !important;
}

/* De Play Button op de kleine thumbnail onderin */
.flex-control-nav li:first-child,
.thumbnails .thumbnail:first-child,
.woocommerce-product-gallery__wrapper + .flex-control-thumbs li:first-child {
  position: relative;
  cursor: pointer;
}

.woocommerce-product-gallery:has(.has-product-video) .flex-control-nav li:first-child::after,
.woocommerce-product-gallery:has(.has-product-video) .flex-control-thumbs li:first-child::after {
  content: "▶";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 50px;
  height: 50px;
  padding-bottom: 4px;
  background: #C4F511;
  color: #3B2E37;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 25px;
  z-index: 9;
  pointer-events: none;
}

/* De thumbnail afbeelding zelf een beetje dimmen voor focus */
.flex-control-nav li:first-child img {
  -webkit-filter: brightness(0.8);
          filter: brightness(0.8);
}

/* Navigatie Pijltjes */
.product-media .flex-direction-nav a {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 100 !important;
  width: 45px;
  height: 45px;
  background: rgba(0, 0, 0, 0.5) !important;
  color: #fff !important;
  text-indent: -9999px;
  border-radius: 50%;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.product-media .flex-direction-nav a::before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
}

.product-media .flex-nav-prev a {
  left: 15px;
}

.product-media .flex-nav-prev a::before {
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
  margin-left: 5px;
}

.product-media .flex-nav-next a {
  right: 15px;
}

.product-media .flex-nav-next a::before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  margin-right: 5px;
}

ul.flex-direction-nav li {
  list-style: none;
}

.info-column-tabs h3 {
  font-size: 32px;
  font-style: normal;
  font-weight: 400;
  line-height: 90%;
}

/* Thumbnails */
.product-media .flex-control-nav.flex-control-thumbs {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -ms-flex-wrap: nowrap !important;
      flex-wrap: nowrap !important;
  overflow-x: auto !important;
  gap: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  scrollbar-width: none;
}

.product-media .flex-control-nav.flex-control-thumbs li {
  -webkit-box-flex: 0 !important;
      -ms-flex: 0 0 210px !important;
          flex: 0 0 210px !important;
}
@media only screen and (max-width: 800px) {
  .product-media .flex-control-nav.flex-control-thumbs li {
    -webkit-box-flex: 0 !important;
        -ms-flex: 0 0 104px !important;
            flex: 0 0 104px !important;
  }
}

.product-media .flex-control-nav.flex-control-thumbs img {
  width: 210px !important;
  height: 210px !important;
  -o-object-fit: cover;
     object-fit: cover;
  border: 2px solid #eee;
  border-radius: 0;
  cursor: pointer;
}
@media only screen and (max-width: 800px) {
  .product-media .flex-control-nav.flex-control-thumbs img {
    width: 104px !important;
    height: 104px !important;
  }
}

.product-media .flex-control-nav.flex-control-thumbs img.flex-active {
  border-color: #C4F511 !important;
}

/* ==========================================================================
   3. GRAVITY FORMS (Accordion & UI)
   ========================================================================== */
.gform_wrapper .gfield.gsection.collapsible-sections-field {
  display: table !important;
  width: 100% !important;
  clear: both !important;
  background: #ffffff !important;
  border: 1px solid #D3D3D3 !important;
  padding: 15px !important;
  margin: 15px 0 5px 0 !important;
  -webkit-box-sizing: border-box !important;
          box-sizing: border-box !important;
  border-radius: 12px !important;
}

.collapsible-sections-collapsible-body {
  display: none;
  clear: both !important;
  width: 100% !important;
  background: #F5F5F5 !important;
  border: 1px solid #B8B8B8 !important;
  padding: 20px !important;
}

ol.flex-control-nav.flex-control-thumbs {
  margin-top: 2px;
}

#powerTip p {
  color: #ffffff;
}

#powerTip p a {
  color: #ffffff !important;
}

.collapsible-sections-collapsible-body.is-open {
  display: block !important;
}

.collapsible-sections-field.is-active-motor {
  border-left: 5px solid #89b535 !important;
  background-color: #f1f7ec !important;
}

/* Image Choices */
.image-choices-choice {
  background: #ffffff !important;
  border-radius: 5px;
  border: 1px solid #CCC;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

.image-choices-choice-selected {
  border: 2px solid #C4F511 !important;
  background: rgba(196, 245, 17, 0.1) !important;
}

.image-choices-choice-text {
  color: #3B2E37;
  font-family: Montserrat;
  font-weight: 600;
  font-size: 14px;
}

.image-choices-choice-image-wrap {
  background-size: contain !important;
  background-color: #ffffff;
}

/* Checkboxes */
.gform_wrapper .gfield_checkbox .gchoice {
  position: relative;
}

.gform_wrapper .gfield_checkbox .gchoice input[type=checkbox] {
  position: absolute;
  opacity: 0;
}

.gform_wrapper .gfield_checkbox .gchoice label {
  position: relative;
  padding-left: 36px;
  cursor: pointer;
  display: inline-block;
  line-height: 26px;
}

.gform_wrapper .gfield_checkbox .gchoice label::before {
  content: "";
  position: absolute;
  left: 1px;
  top: 3px;
  width: 22px;
  height: 22px;
  border: 2px solid #cfd6dc;
  border-radius: 4px;
  background: #fff;
}

.gform_wrapper .gfield_checkbox .gchoice input:checked + label::before {
  background: #66b23a !important;
  border-color: #66b23a !important;
}

.gform_wrapper .gfield_checkbox .gchoice label::after {
  content: "";
  position: absolute;
  left: 8px;
  top: 7px;
  width: 7px;
  height: 11px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  -webkit-transform: rotate(45deg) scale(0);
          transform: rotate(45deg) scale(0);
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
  transition: transform 0.2s ease, -webkit-transform 0.2s ease;
}

.gform_wrapper .gfield_checkbox .gchoice input:checked + label::after {
  -webkit-transform: rotate(45deg) scale(1);
          transform: rotate(45deg) scale(1);
}

ul.flex-direction-nav li {
  list-style: none;
}

/* De container binnen de footer */
.footer-flex-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 10px;
  width: 100%;
  margin-top: 15px;
}

/* Aantal selector styling */
.footer-flex-container .quantity {
  margin: 0 !important;
}

.footer-flex-container .quantity input {
  width: 45px;
  height: 40px;
  padding: 0 5px;
  text-align: center;
  border: 1px solid #ddd;
  border-radius: 4px;
}

/* Prijs box styling */
.price-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  min-width: 80px;
}

.price-box .va {
  font-size: 11px;
  line-height: 1;
  color: #777;
}

.price-box .main-price {
  font-size: 18px;
  font-weight: 700;
  color: #3B2E37;
}

/* De toevoegknop */
.footer-flex-container .single_add_to_cart_button {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  background-color: #000;
  color: #ffffff;
  border: none;
  padding: 10px 15px;
  border-radius: 4px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
}

.gform_wrapper .quantity.has-btns {
  display: none !important;
}

.gform_wrapper button.single_add_to_cart_button {
  position: absolute;
  opacity: 0;
  pointer-events: none;
  height: 0;
  overflow: hidden;
}

/* STYLING BEHOUDEN */
.hs-summary-card-basic {
  background: #fff;
  border: 1px solid #e2e2e2;
  border-radius: 15px;
  padding: 25px;
  margin-top: 40px;
  clear: both;
}

.main-price, .main-price .woocommerce-Price-amount {
  font-family: "Montserrat Bold", sans-serif;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #3B2E37 !important;
  line-height: 1;
  text-decoration: none !important;
}

.main-price del {
  display: none;
}

.price-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 8px;
}

.custom-cart-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.modal-overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
}

.modal-content {
  position: relative;
  background: #fff;
  padding: 30px;
  border-radius: 20px;
  width: 90%;
  max-width: 450px;
  text-align: center;
  -webkit-box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
          box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
}

.check-icon {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 60px;
  height: 60px;
  background: #d4f01d;
  border-radius: 50%;
  margin-bottom: 15px;
}

.check-icon svg {
  width: 35px;
  height: auto;
  display: block;
}
.check-icon svg path {
  fill: #3B2E37;
}

.modal-footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 25px;
}

.modal-footer .button {
  padding: 12px 20px;
  border-radius: 30px;
  font-weight: 700;
  cursor: pointer;
  text-decoration: none;
  font-size: 14px;
}

.button.primary {
  background: #C4F511;
  color: #3B2E37;
  border: none;
}

.button.secondary {
  background: #f0f0f0;
  color: #3B2E37;
  border: 1px solid #ddd;
}

.accordion-toggle, .custom-faq-toggle {
  position: relative;
  padding-right: 30px !important;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
  cursor: pointer;
}

.accordion-toggle::after, .custom-faq-toggle::after {
  content: "+";
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  font-size: 22px;
  color: rgba(59, 46, 55, 0.5);
}

.accordion-toggle.active::after, .custom-faq-toggle.active::after {
  content: "-";
  font-size: 28px;
  color: rgba(59, 46, 55, 0.5);
  font-size: 41px;
  font-weight: 100;
}

#trigger-gform-submit.is-loading {
  opacity: 0.7;
  pointer-events: none;
}

.product_totals, .ginput_total, .gform_footer, .single_variation_wrap .price {
  display: none !important;
}

.woocommerce-tabs ul.tabs {
  display: none !important;
}

.woocommerce-Tabs-panel {
  border-bottom: 1px solid #eee;
}

.expected-delivery-date a {
  display: block;
}

/* ACCORDEON PLUS/MIN STYLING */
.accordion-toggle, .custom-faq-toggle {
  position: relative;
  padding-right: 35px !important;
  cursor: pointer;
  display: block;
  width: 100%;
}

/* De basis: het plusje */
.accordion-toggle::after, .custom-faq-toggle::after {
  content: "+";
  position: absolute;
  right: 5px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  font-size: 24px;
  font-weight: bold;
  color: #3B2E37;
  line-height: 1;
}

/* Off-canvas panel */
.offcanvas-info .ginput_container {
  display: none;
}

.offcanvas-panel {
  position: fixed;
  top: 0;
  right: -420px;
  width: 400px;
  max-width: 90vw;
  height: 100%;
  background: #fff;
  -webkit-box-shadow: -4px 0 20px rgba(0, 0, 0, 0.15);
          box-shadow: -4px 0 20px rgba(0, 0, 0, 0.15);
  z-index: 9999;
  overflow-y: auto;
  padding: 30px;
  -webkit-transition: right 0.3s ease;
  transition: right 0.3s ease;
}

.offcanvas-panel.is-open {
  right: 0;
}

.offcanvas-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  z-index: 9998;
}

.offcanvas-overlay.is-open {
  display: block;
}

.offcanvas-close {
  position: absolute;
  top: 15px;
  right: 20px;
  font-size: 24px;
  cursor: pointer;
  background: none;
  border: none;
  line-height: 1;
}

/* ==========================================================================
   6. RESPONSIVE & FIXES (100% Veilige herpositionering van de galerij)
   ========================================================================== */
@media (max-width: 1024px) {
  .product-container .product-main-layout {
    -ms-grid-columns: 1fr !important;
    grid-template-columns: 1fr !important;
  }
  .product-info-grid {
    -ms-grid-columns: 1fr !important;
    grid-template-columns: 1fr !important;
  }
}
@media (max-width: 768px) {
  .shopping-cart .cart-content-wrapper, .afrekenen .layout-container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .cart-collaterals, .afrekenen #order_review {
    width: 100%;
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
  }
  .afrekenen .form-row-first, .afrekenen .form-row-last {
    width: 100% !important;
  }
}
.step-hidden {
  display: none !important;
  visibility: hidden;
  height: 0;
  overflow: hidden;
}

.custom-offcanvas {
  position: fixed;
  top: 0;
  right: -100%;
  width: 100%;
  height: 100%;
  z-index: 999999;
  -webkit-transition: right 0.4s ease;
  transition: right 0.4s ease;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.custom-offcanvas.is-active {
  right: 0;
}

.offcanvas-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  cursor: pointer;
}

.offcanvas-content {
  position: relative;
  width: 400px;
  max-width: 85%;
  background: #fff;
  height: 100%;
  padding: 40px 25px;
  -webkit-box-shadow: -5px 0 15px rgba(0, 0, 0, 0.1);
          box-shadow: -5px 0 15px rgba(0, 0, 0, 0.1);
  overflow-y: auto;
}

.offcanvas-close {
  position: absolute;
  top: 15px;
  right: 15px;
  font-size: 30px;
  border: none;
  background: none;
  cursor: pointer;
}

/* De hoofdcontainer staat altijd vast over het scherm, maar vangt geen clicks */
.custom-offcanvas {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 999999;
  visibility: hidden;
  -webkit-transition: visibility 0.4s;
  transition: visibility 0.4s;
}

/* De donkere achtergrond die langzaam in-fadet */
.offcanvas-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  opacity: 0;
  -webkit-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
}

/* De witte balk die van rechts inschuift */
.offcanvas-content {
  position: absolute;
  top: 0;
  right: -450px;
  width: 400px;
  max-width: 85%;
  background: #fff;
  height: 100%;
  padding: 50px 30px;
  -webkit-box-shadow: -10px 0 30px rgba(0, 0, 0, 0.1);
          box-shadow: -10px 0 30px rgba(0, 0, 0, 0.1);
  -webkit-transition: right 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  transition: right 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  z-index: 2;
  overflow-y: auto;
}

/* ACTIVATIE CLASSES */
.custom-offcanvas.is-active {
  visibility: visible;
}

.custom-offcanvas.is-active .offcanvas-overlay {
  opacity: 1;
}

.custom-offcanvas.is-active .offcanvas-content {
  right: 0;
}

/* Styling voor de sluitknop */
.offcanvas-close {
  position: absolute;
  top: 20px;
  right: 20px;
  font-size: 28px;
  line-height: 1;
  border: none;
  background: none;
  cursor: pointer;
  color: #3B2E37;
  -webkit-transition: -webkit-transform 0.2s;
  transition: -webkit-transform 0.2s;
  transition: transform 0.2s;
  transition: transform 0.2s, -webkit-transform 0.2s;
}

.offcanvas-close:hover {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

/* 1. Verberg de beschrijving in het formulier zelf */
.offcanvas-info .gfield_description {
  display: none !important;
}

/* 2. Zorg dat de tekst WEL zichtbaar is zodra deze in de modal staat */
#offcanvas-body .gfield_description {
  display: block !important;
}

/* 3. Maak het label herkenbaar als klikbaar item */
.offcanvas-info label {
  cursor: pointer;
  -webkit-text-decoration: underline dotted #0073aa;
          text-decoration: underline dotted #0073aa;
  display: inline-block;
  margin-bottom: 10px;
}

.offcanvas-info label:hover {
  color: #0073aa;
}

/* Verberg de standaard tab-lijst */
.woocommerce-tabs ul.tabs {
  display: none !important;
}

/* Styling voor de Accordion kop */
.accordion-toggle {
  cursor: pointer;
  position: relative;
  padding: 20px 0;
  margin: 0 !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

/* Het + icoontje */
.accordion-toggle::after {
  content: "+";
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 26px;
  color: rgba(59, 46, 55, 0.5);
  font-weight: normal;
  padding: 5px;
}

/* Het - icoontje als hij open is */
.is-active .accordion-toggle::after {
  content: "-";
}

/* Ruimte voor de content */
.accordion-content {
  padding: 20px 0;
}

.custom-accordeon-content p {
  margin-top: -15px;
}

/* De standaard '+' */
.accordion-toggle::after {
  content: "+";
  float: right;
  font-weight: bold;
}

/* De '-' voor het actieve paneel */
.is-active .accordion-toggle::after {
  content: "-";
}

/* Zorg dat panels onder elkaar staan */
.woocommerce-Tabs-panel {
  display: block !important;
  width: 100%;
  clear: both;
}

.faq-carousel-wrapper {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 15px;
}

.faq-carousel-track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
}

.faq-card {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 320px;
          flex: 0 0 320px;
  background: #ffffff;
  border: 1px solid #dce0e0;
  border-radius: 8px;
  padding: 20px;
  -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
          box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.faq-card-title {
  font-size: 1.1rem;
  font-weight: 700;
  margin-top: 0;
  color: #3B2E37;
  border-bottom: 1px solid #f0f0f0;
  padding-bottom: 10px;
  margin-bottom: 10px;
}

.faq-card-body {
  font-size: 0.95rem;
  line-height: 1.6;
  color: #3B2E37;
}

/* Scrollbar styling voor een strakkere look */
.faq-carousel-wrapper::-webkit-scrollbar {
  height: 8px;
}

.faq-carousel-track::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 10px;
}

.faq-carousel-wrapper::-webkit-scrollbar-thumb {
  background: #ccc;
  border-radius: 10px;
}

@media (max-width: 768px) {
  .faq-card {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 85%;
            flex: 0 0 85%;
  }
}
.product-page {
  background: #FAF5F6;
}

/* Zorg dat de video in de slider goed schaalt */
.woocommerce-product-gallery__image--video video {
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
  background: #000;
}

/* Styling voor de thumbnail selector onderaan */
.flex-control-nav li img[src=""] {
  background: #f2f2f2;
  position: relative;
}

.flex-control-nav li img[src=""]:after {
  content: "▶";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.current_category a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
  padding-bottom: 20px;
  margin-top: 40px;
  text-decoration: none;
  text-transform: uppercase;
  font-family: Montserrat;
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  line-height: 16px;
  letter-spacing: 1.2px;
}
@media (max-width: 767px) {
  .current_category a {
    margin-top: 20px;
    padding-bottom: 20px;
  }
}

h1.product_title.entry-title {
  margin-top: 0;
  font-family: "Monigue", sans-serif;
  font-size: 40px;
  font-style: normal;
  font-weight: 400;
  line-height: 90%;
}

.pdp-selling-points-wrapper {
  padding-top: 10px;
}

.selling-point-text {
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 150%;
  color: #3B2E37;
}

.entry-summary p.price .woocommerce-Price-amount.amount {
  background: #C4F511;
  border-radius: 6px;
  padding: 8px 12px 6px 12px;
  font-family: "Montserrat Bold", sans-serif;
  font-size: 20px;
}

.woocommerce-product-details__short-description p {
  font-family: Montserrat;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
}

.product-configurator .gform_wrapper .cart:before {
  content: "Bereken je prijs en bestel";
  font-family: "Monigue", sans-serif;
  font-size: 24px;
  font-style: normal;
  font-weight: 400;
  line-height: 90%;
  letter-spacing: 0.72px;
}

.product-configurator .gform_heading {
  display: none;
}

.gform-theme--foundation .gform_fields {
  display: block;
}

.collapsible-sections-collapsible-body {
  padding: 0 !important;
  background: #ffffff !important;
}

.collapsible-sections-collapsible-body > div {
  padding: 20px 0;
}

.woocommerce .woocommerce-tabs ul.tabs li {
  display: none !important;
}

.hs-summary-card-basic h3 {
  font-family: "Montserrat Bold", sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 90%;
  margin-top: 0;
  margin-bottom: 15px;
}

.card-row.is-active {
  display: block !important;
}
.card-row span {
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  padding-right: 5px;
}

/* Toegevoegde styling voor offcanvas */
.offcanvas-panel {
  position: fixed;
  top: 0;
  right: -100%;
  width: 400px;
  height: 100%;
  background: #fff;
  z-index: 10001;
  -webkit-transition: 0.4s ease;
  transition: 0.4s ease;
  padding: 40px;
  -webkit-box-shadow: -5px 0 15px rgba(0, 0, 0, 0.1);
          box-shadow: -5px 0 15px rgba(0, 0, 0, 0.1);
  overflow-y: auto;
}

.offcanvas-panel.is-open {
  right: 0;
}

.offcanvas-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 10000;
  display: none;
}

.offcanvas-overlay.is-open {
  display: block;
}

.offcanvas-close {
  position: absolute;
  top: 20px;
  right: 20px;
  font-size: 30px;
  border: none;
  background: none;
  cursor: pointer;
}

@media (max-width: 480px) {
  .offcanvas-panel {
    width: 100%;
  }
}
/* DE ENIG CORREKTE MOBIELE KOPPELING VIA ABSOLUTE LAY-OUT EN CLICK FIX */
@media (max-width: 767px) {
  /* 1. We laten de kolommen qua structuur 100% origineel en herstellen de uitlijning */
  .product-main-layout,
  .product-configurator,
  .product-media {
    display: block !important;
    width: 100% !important;
    direction: ltr !important;
  }
  /* 2. Maak de introductie (titel & prijs) relatief en duw de content eronder 
     440px omlaag om een stabiel, leeg 'gat' te maken voor de slider. */
  .product_intro {
    position: relative !important;
    margin-bottom: 460px !important; /* Perfecte hoogte voor de slider + thumbnails */
  }
  /* 3. Trek de complete galerij wrapper met absolute positionering omhoog naar de gemaakte ruimte. */
  .hs-gallery-wrapper {
    position: absolute !important;
    top: 155px !important; /* Landt exact onder de titel/prijs */
    left: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    z-index: 10 !important;
    pointer-events: none !important; /* Voorkomt dat deze zwevende container klikken blokkeert */
    margin-top: 20px;
  }
  /* REPARATIE KLIKBAARHEID PIJLTJES EN CO:
     We zetten de pointer-events specifiek op de slider en zijn controls weer terug op auto, 
     zodat de pijltjes en swipes direct weer feilloos reageren en klikbaar zijn! */
  .hs-gallery-wrapper .woocommerce-product-gallery,
  .hs-gallery-wrapper .hs-slider-nav,
  .hs-gallery-wrapper .flex-control-nav {
    pointer-events: auto !important;
  }
  /* Correcte responsive schaling voor de afbeeldingen in de slider */
  .hs-gallery-wrapper .flex-viewport {
    height: auto !important;
    max-height: 350px !important;
  }
  .woocommerce-product-details__short-description p {
    margin-top: 0;
  }
  /* 4. MOBIELE STRUCTUUR VOOR DE SAMENVATTINGSKAART & KNOP */
  .footer-flex-container {
    display: -ms-grid !important;
    display: grid !important;
    -ms-grid-columns: 1fr 0px 1fr !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 15px 0px !important;
    width: 100% !important;
    max-width: 100% !important;
    -webkit-box-sizing: border-box !important;
            box-sizing: border-box !important;
  }
  .footer-flex-container .quantity {
    -ms-grid-column: 1 !important;
    grid-column: 1 !important;
    -ms-grid-column-align: start !important;
        justify-self: start !important;
    margin: 0 !important;
  }
  .footer-flex-container .price-box {
    -ms-grid-column: 2 !important;
    grid-column: 2 !important;
    -ms-grid-column-align: end !important;
        justify-self: end !important;
    text-align: right !important;
  }
  .footer-flex-container .single_add_to_cart_button,
  .footer-flex-container .trigger-gform-submit {
    -ms-grid-column: 1 !important;
    -ms-grid-column-span: 2 !important;
    grid-column: 1/span 2 !important;
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    text-align: center !important;
    -webkit-box-sizing: border-box !important;
            box-sizing: border-box !important;
    margin-top: 5px !important;
  }
}
.entry-summary p.price del .woocommerce-Price-amount.amount {
  background: #e3e3e3 !important;
  color: #a3a3a3;
}

.entry-summary p.price del {
  color: #a3a3a3;
}

/* Zorg dat de thumbnails horizontaal kunnen scrollen op mobile */
.flex-control-thumbs {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  white-space: nowrap;
  scrollbar-width: none;
}

.flex-control-thumbs::-webkit-scrollbar {
  display: none;
}

.flex-control-thumbs li {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 80px;
  margin-right: 1px;
}

@media (max-width: 768px) {
  /* De Container: Forceer één horizontale lijn */
  .flex-control-nav.flex-control-thumbs {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
        -ms-flex-flow: row nowrap !important;
            flex-flow: row nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    -ms-touch-action: pan-x !important;
        touch-action: pan-x !important;
    width: 100% !important;
    max-width: 100vw !important;
    padding: 10px !important;
    gap: 10px !important;
    list-style: none !important;
  }
  /* De Items: Zorg dat ze een vaste breedte hebben en niet krimpen */
  .flex-control-nav.flex-control-thumbs li {
    -webkit-box-flex: 0 !important;
        -ms-flex: 0 0 75px !important;
            flex: 0 0 75px !important;
    width: 75px !important;
    margin: 0 !important;
  }
  .flex-control-nav.flex-control-thumbs li img {
    width: 75px !important;
    height: 75px !important;
    -o-object-fit: cover !important;
       object-fit: cover !important;
    display: block !important;
    pointer-events: auto !important;
  }
  .flex-control-nav.flex-control-thumbs::-webkit-scrollbar {
    display: none;
  }
}
.expected-delivery-date a {
  text-decoration: none;
}
.expected-delivery-date a:before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  -webkit-transform: rotate(14deg);
          transform: rotate(14deg);
  margin-bottom: -4px;
  margin-right: 5px;
  background-image: url(./assets/svg/truck.svg);
  background-repeat: no-repeat;
  background-position: left center;
  background-size: contain;
}

.pdp-additional-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media (max-width: 480px) {
  .pdp-additional-info {
    -ms-flex-direction: column;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
            flex-direction: column;
    -webkit-box-align: left;
    -ms-flex-align: left;
    align-items: left;
  }
}

.pdp-additional-info img {
  padding-top: 20px;
}

.pdp-additional-info {
  padding: 20px 0;
}

.expected-delivery-date {
  font-size: 14px;
}
.expected-delivery-date a {
  font-family: "Montserrat Bold", sans-serif;
}

span.selling-point-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background: #AB54A8;
  width: 23px;
  height: 23px;
  border-radius: 50px;
}

li.selling-points-item {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-align: center !important;
  -ms-flex-align: center !important;
  align-items: center !important;
  gap: 6px !important;
  white-space: nowrap !important;
}

.cross-sell-wrapper {
  background: #ffffff;
  padding-top: 20px;
  margin-top: 40px;
}

#gem-offcanvas {
  display: block !important;
}

.gem-panel {
  position: fixed;
  top: 0;
  right: -600px;
  width: 550px;
  max-width: 90vw;
  height: 100vh;
  background: #fff;
  -webkit-box-shadow: -5px 0 30px rgba(0, 0, 0, 0.3);
          box-shadow: -5px 0 30px rgba(0, 0, 0, 0.3);
  z-index: 9999999;
  -webkit-transition: right 0.4s ease;
  transition: right 0.4s ease;
  padding: 20px;
  overflow-y: auto;
  color: #3B2E37;
}

#gem-offcanvas.active .gem-panel {
  right: 0 !important;
}

.gem-overlay {
  position: fixed !important;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5) !important;
  z-index: 9999998 !important;
  display: none !important;
}

#gem-offcanvas.active .gem-overlay {
  display: block !important;
}

.gem-close {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 16px;
}

.gem-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 20px;
  border-bottom: 1px solid #eee;
  padding-bottom: 15px;
}
.gem-header h3 {
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  margin-top: 5px;
  font-size: 16px;
  margin-bottom: 10px;
}

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

.gem-panel iframe {
  width: 100% !important;
}

/* De container van de lijst */
.product-usps-list {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -ms-flex-wrap: wrap !important;
      flex-wrap: wrap !important;
  gap: 15px !important;
  -webkit-box-pack: start !important;
      -ms-flex-pack: start !important;
          justify-content: flex-start !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.product-usps-list .usp-item {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-align: center !important;
      -ms-flex-align: center !important;
          align-items: center !important;
  gap: 6px !important;
  white-space: nowrap !important;
}
.product-usps-list .usp-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background: #AB54A8;
  width: 23px;
  height: 23px;
  border-radius: 50px;
}
.product-usps-list .usp-text {
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 150%;
  color: #3B2E37;
}

p.price {
  color: #3B2E37;
}
@media (max-width: 480px) {
  p.price {
    padding-bottom: 20px;
  }
}

.woocommerce table.shop_attributes td {
  font-style: normal;
}

.instruction-buttons-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 18px;
  width: 100%;
  margin-bottom: 20px;
}
@media (max-width: 480px) {
  .instruction-buttons-wrapper button {
    width: 100%;
  }
}
@media (max-width: 480px) {
  .instruction-buttons-wrapper {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
    gap: 8px !important;
  }
}

.instruction-buttons-wrapper .gem-btn {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  text-align: center;
  -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.07);
          box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.07);
}

/* Mobiel check: Als het scherm te smal is, mogen ze onder elkaar */
@media (max-width: 600px) {
  .product-usps-list {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
    gap: 8px !important;
  }
}
.instruction-buttons-wrapper button {
  border-radius: 12px;
  border: 1px solid #D3D3D3;
  background: #FFF;
  -webkit-box-pack: left;
      -ms-flex-pack: left;
          justify-content: left;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  justify-content: left;
  gap: 8px;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

main .woocommerce img, main .woocommerce-page img {
  height: auto;
  max-width: 100%;
  height: 100% !important;
  width: auto;
  margin: auto !important;
}

.pswp__img img {
  height: auto !important;
}

#photoswipe-fullscreen-dialog img {
  height: auto !important;
}

.instruction-buttons-wrapper button:after {
  content: "";
  display: inline-block;
  width: 22px;
  height: 22px;
  margin-left: 5px;
  margin-bottom: 2px;
  background-image: url(./assets/svg/right_black.svg);
  background-repeat: no-repeat;
  background-position: left center;
  background-size: contain;
  transition: transform 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;
  right: 10px;
  position: absolute;
}

.instruction-buttons-wrapper button {
  position: relative;
}

.accordion-content p, .custom-faq-content p {
  margin-top: 0;
  color: #5E5E5D;
}

.ginput_container.ginput_container_radio {
  padding: 0;
}

#cart-success-modal .modal-header h3 {
  font-size: 35px;
  margin-top: 0;
}

.woocommerce span.onsale {
  -webkit-transform: rotate(-2.051deg);
          transform: rotate(-2.051deg);
  padding: 8px 12px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 8px;
  color: #3B2E37;
  background: #C4F511;
  border-radius: 8px;
  font-family: "Monigue", sans-serif;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  left: 20px;
  top: 20px;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
  min-height: auto;
}

.custom-intro-blok .gform_wrapper .collapsible-sections-collapsible-body {
  padding-left: 20px !important;
  padding-right: 20px !important;
  padding-bottom: 20px !important;
}

.custom-intro-blok .gform_wrapper .collapsible-sections-collapsible-body li {
  padding-top: 20px !important;
}

button#trigger-gform-submit {
  padding: 12px 24px;
  border: 1px solid transparent;
  -webkit-transition: background-color 0.2s ease, border-color 0.2s ease;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
button#trigger-gform-submit:hover {
  background-color: color-mix(in hsl, black 10%, #C4F511 90%) !important;
  border-color: color-mix(in hsl, black 10%, #C4F511 90%) !important;
}

.custom-intro-blok .gform_wrapper.cs-theme--accordion_wrapper .collapsible-sections-collapsible-body {
  padding-bottom: 0 !important;
}

@media (max-width: 480px) {
  .info-column-tabs {
    padding-bottom: 40px;
  }
}
.gform_fields p {
  color: #3B2E37;
}

#cart-success-modal {
  position: fixed;
  inset: 0;
  z-index: 100000;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: rgba(0, 0, 0, 0.5);
}

#cart-success-modal .modal-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
}

#cart-success-modal .modal-content {
  position: relative;
  background: #fff;
  border-radius: 8px;
  padding: 24px;
  max-width: 440px;
  width: 90%;
  z-index: 1;
}

.hs-summary-card-basic .single_variation_wrap .price {
  display: block !important;
}

.hs-summary-card-basic .gform_wrapper .quantity.has-btns {
  display: -webkit-inline-box !important;
  display: -ms-inline-flexbox !important;
  display: inline-flex !important;
}

.hs-summary-card-basic .gform_wrapper button.single_add_to_cart_button {
  opacity: 1 !important;
  position: relative;
  height: auto !important;
}

.hs-summary-card-basic form.variations_form.cart {
  display: block !important;
}

form.variations_form.cart {
  display: none;
}

.succes-modal-holder {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  background: #fff;
  padding: 30px;
  border-radius: 20px;
  width: 90%;
  max-width: 450px;
  text-align: center;
  -webkit-box-shadow: 0 10px 40 rgba(0, 10, 40, 0.2);
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
}

.succes-modal-holder .modal-content {
  -webkit-box-shadow: none;
          box-shadow: none;
  padding: 0 !important;
}

.succes-modal-holder .modal-content h3 {
  margin-top: 0;
}

table.variations {
  text-align: left;
}

table.variations tr {
  margin-bottom: 10px;
  display: block;
}
table.variations tr label {
  padding-right: 10px;
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
}

table.variations:before {
  content: "Stel je product samen:";
  padding-bottom: 10px;
  display: block;
  font-size: 24px;
  font-style: normal;
  font-weight: 400;
  line-height: 90%;
  letter-spacing: 0.72px;
  font-family: "Monigue", sans-serif;
}

.hs-summary-card-basic .hs-summary-card-basic {
  border: none;
  padding: 0;
}

.woocommerce-Price-amount.amount {
  font-family: "Montserrat Bold", sans-serif;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #3B2E37 !important;
  line-height: 1;
  text-decoration: none !important;
}
@media only screen and (max-width: 800px) {
  .woocommerce-Price-amount.amount {
    font-size: 14px !important;
  }
}

.card-row.actief {
  display: block !important;
}

.image-choices-field[class*=ic-theme--] {
  --ic-feature-color: $primary !important;
}

.image-choices-choice-text {
  color: #3B2E37 !important;
}

.woocommerce-Tabs-panel h3, .woocommerce-Tabs-panel h2 {
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 90%;
  margin-top: 10px;
  margin-bottom: 15px;
  padding: 12px 0;
  border-top: 1px solid #efefef;
  border-bottom: 1px solid #efefef;
  position: relative;
}
.woocommerce-Tabs-panel h3:after, .woocommerce-Tabs-panel h2:after {
  position: absolute;
  right: 10px;
  font-size: 19px;
  color: rgba(59, 46, 55, 0.5);
}
.pdp-action-buttons {
  padding-bottom: 20px;
}

.sub-accordion-content {
  margin-top: -30px;
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
}

.sub-accordion-content p {
  padding: 10px 0;
}

.accordion-content h2 {
  margin-top: 0;
}

.hs-slider-nav {
  position: absolute;
  top: 33%;
  width: 100%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  z-index: 100;
  pointer-events: none;
  padding: 0 10px;
}

.hs-nav-arrow {
  width: 40px;
  height: 40px;
  background: #fff;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 30px;
  cursor: pointer;
  -webkit-box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
          box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  pointer-events: auto;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
  transition: transform 0.2s ease, -webkit-transform 0.2s ease;
  padding-bottom: 5px;
}

.hs-nav-arrow:hover {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
  background: #fdfdfd;
}

.hs-slider-nav {
  z-index: 9;
  pointer-events: none;
}

.hs-nav-arrow {
  pointer-events: auto;
  cursor: pointer;
}

@media (max-width: 767px) {
  .product-main-layout {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .product-configurator {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .product-media {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    margin-top: -220px;
    margin-bottom: 200px;
  }
}
table.variations select {
  padding: 5px;
  border-radius: 8px;
  border: 1px solid #d0d0d0;
}

.woocommerce img, .woocommerce-page img {
  margin: auto !important;
  max-height: 445px;
  width: auto;
}

#sample-popup {
  max-width: 320px !important;
  right: 0 !important;
  left: auto !important;
  /* Sample banner centered on mobile */
}
@media only screen and (max-width: 800px) {
  #sample-popup {
    bottom: 80px !important;
    max-width: none !important;
    left: 50% !important;
    right: auto !important;
    -webkit-transform: translateX(-50%) !important;
            transform: translateX(-50%) !important;
    width: 90% !important;
  }
}

.gfield.image-choices-field ul.gfield_radio,
.gfield.image-choices-field ul.gfield_checkbox {
  display: -ms-grid !important;
  display: grid !important;
  -ms-grid-columns: 1fr 16px 1fr 16px 1fr 16px 1fr !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 16px !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  -webkit-box-sizing: border-box !important;
          box-sizing: border-box !important;
}

.gfield.image-choices-field ul .gchoice {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style-type: none !important;
  -webkit-box-sizing: border-box !important;
          box-sizing: border-box !important;
}

.gfield.image-choices-field .image-choices-choice-image-wrap,
.gfield.image-choices-field .image-choices-choice-image,
.gfield.image-choices-field .gchoice label {
  width: 100% !important;
  max-width: 100% !important;
  -webkit-box-sizing: border-box !important;
          box-sizing: border-box !important;
}

.gfield.image-choices-field .gchoice label {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-orient: vertical !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: column !important;
          flex-direction: column !important;
  -webkit-box-pack: justify !important;
      -ms-flex-pack: justify !important;
          justify-content: space-between !important;
  height: 100% !important;
  min-height: 100% !important;
}

@media (max-width: 992px) {
  .gfield.image-choices-field ul.gfield_radio,
  .gfield.image-choices-field ul.gfield_checkbox {
    -ms-grid-columns: (1fr)[2] !important;
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 480px) {
  .gfield.image-choices-field ul.gfield_radio,
  .gfield.image-choices-field ul.gfield_checkbox {
    -ms-grid-columns: 1fr !important;
    grid-template-columns: 1fr !important;
  }
}
/* Zorg dat de link/het label de volledige hoogte van de grid-cel vult */
.gfield.image-choices-field .gchoice,
.gfield.image-choices-field .gchoice label {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-orient: vertical !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: column !important;
          flex-direction: column !important;
  height: 100% !important;
  margin: 0 !important;
  -webkit-box-sizing: border-box !important;
          box-sizing: border-box !important;
}

/* Positionering van het label (Zorgt dat tekst ALTIJD onderaan staat) */
.gfield.image-choices-field .gchoice label {
  -webkit-box-pack: justify !important;
      -ms-flex-pack: justify !important;
          justify-content: space-between !important;
  -webkit-box-align: center !important;
      -ms-flex-align: center !important;
          align-items: center !important;
  padding: 15px 10px !important;
  text-align: center !important;
}

/* De wrapper van de afbeelding corrigeren */
.gfield.image-choices-field .image-choices-choice-image-wrap {
  display: block !important;
  width: 100% !important;
  height: 140px !important; /* Forceer een vaste, mooie hoogte voor de stofstaaltjes */
  background-size: cover !important; /* Zorgt dat de stof de hele breedte/hoogte vult */
  background-position: center !important;
  margin-bottom: 15px !important;
  border-radius: 4px !important;
  overflow: hidden !important;
}

/* Verberg de 'kale' img tag als JetSloth de background-image gebruikt (lazy load) */
.gfield.image-choices-field .image-choices-choice-image-wrap img {
  display: none !important;
}

/* De tekst van de stofnaam netjes stylen */
.gfield.image-choices-field .image-choices-choice-text {
  font-size: 13px !important;
  line-height: 1.4 !important;
  color: #333 !important;
  margin-top: auto !important; /* Duwt de tekst naar de absolute bodem van het vak */
  padding: 0 5px !important;
  word-break: break-word !important; /* Voorkomt dat lange namen buiten het vak vallen */
}

/* Fix voor het vinkje / de checkbox linksboven */
.gfield.image-choices-field .gchoice input[type=checkbox],
.gfield.image-choices-field .gchoice input[type=radio] {
  position: absolute !important;
  top: 10px !important;
  left: 10px !important;
  z-index: 10 !important;
  margin: 0 !important;
}

@media (max-width: 767px) {
  .product_cat-onderdelen .product-media {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    margin-top: -110px !important;
    margin-bottom: 80px !important;
  }
}
/* 1. Dwing ELKE collapsible header die verborgen moet zijn, ook écht op display:none */
.gform_wrapper .gfield.collapsible-sections-field[style*="display: none"] {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
}

/* 2. Zoek de bijbehorende inhoudscontainer die direct ná de verborgen header komt en verberg deze ook */
.gform_wrapper .gfield.collapsible-sections-field[style*="display: none"] + .collapsible-section-div,
.gform_wrapper .gfield.collapsible-sections-field[style*="display: none"] + [id^=collapsible-section_] {
  display: none !important;
  height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

main.my_account {
  background: #FAF5F6;
  padding-top: 40px;
}
main.my_account .woocommerce {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-orient: horizontal !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: row !important;
          flex-direction: row !important;
  -webkit-box-align: start !important;
      -ms-flex-align: start !important;
          align-items: flex-start !important;
  gap: 40px;
  width: 100%;
}
@media only screen and (max-width: 800px) {
  main.my_account .woocommerce {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
    gap: 20px;
  }
}
main.my_account .woocommerce nav {
  width: auto !important;
}
@media only screen and (max-width: 800px) {
  main.my_account .woocommerce nav {
    width: 100% !important;
  }
}
main.my_account .woocommerce nav ul {
  padding: 0;
  margin: 0;
}
main.my_account .woocommerce-MyAccount-content {
  width: 100% !important;
  float: inherit !important;
  -webkit-box-shadow: 2px 8px 0 0 rgba(59, 46, 55, 0.13);
          box-shadow: 2px 8px 0 0 rgba(59, 46, 55, 0.13);
  padding: 20px;
  background: #ffffff;
  border-radius: 8px;
  margin-bottom: 80px;
}
main.my_account .woocommerce-MyAccount-navigation-link {
  border-bottom: 1px solid rgba(59, 46, 55, 0.1) !important;
  padding: 10px !important;
  list-style: none;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
main.my_account .woocommerce-MyAccount-navigation-link a {
  cursor: pointer;
  position: relative;
  text-decoration: none;
  display: block;
  padding: 0;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
}
main.my_account .woocommerce-MyAccount-navigation-link.is-active {
  border-bottom: 1px solid #BD5DBA !important;
}
main.my_account .woocommerce-MyAccount-navigation-link.is-active a {
  color: #BD5DBA;
}
main.my_account .breadcrumb-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  white-space: nowrap;
  padding-bottom: 40px;
}

.woocommerce-account .woocommerce::after, .woocommerce-account .woocommerce::before {
  display: none;
}

.woocommerce-MyAccount-content h2 {
  margin-top: 0;
}

td.woocommerce-orders-table__cell.woocommerce-orders-table__cell-order-actions a {
  margin-right: 15px;
}

nav.woocommerce-MyAccount-navigation {
  padding-bottom: 60px;
}

.my_account .parent {
  color: #AB54A8;
}
.my_account .current-tab {
  color: rgba(59, 46, 55, 0.5);
  text-transform: uppercase;
}

td.woocommerce-orders-table__cell.woocommerce-orders-table__cell-order-actions a {
  margin-bottom: 15px;
}
@media only screen and (max-width: 800px) {
  td.woocommerce-orders-table__cell.woocommerce-orders-table__cell-order-actions a {
    float: inherit;
    display: block;
    width: 100%;
    text-align: center;
  }
}

@media only screen and (max-width: 800px) {
  th.woocommerce-orders-table__cell.woocommerce-orders-table__cell-order-number {
    display: block !important;
    background: #faf5f6;
    border: 1px solid #ded7da;
  }
  th.woocommerce-orders-table__cell.woocommerce-orders-table__cell-order-number:before {
    content: "Bestelling:";
  }
}

@media only screen and (max-width: 800px) {
  .woocommerce table.shop_table_responsive tr td::before, .woocommerce-page table.shop_table_responsive tr td::before {
    padding-bottom: 10px;
  }
}

@media only screen and (max-width: 800px) {
  .woocommerce-account .addresses .title .edit {
    float: inherit;
    margin-bottom: 20px;
    display: block;
  }
  .u-columns.woocommerce-Addresses.col2-set.addresses address {
    background: #faf5f6;
    border: 1px solid #ece6e8;
    border-radius: 8px;
    margin-bottom: 25px;
    padding: 15px;
  }
  .woocommerce-column.woocommerce-column--1.woocommerce-column--billing-address.col-1 {
    margin-bottom: 25px;
  }
  .woocommerce.my_account section.woocommerce-order-details {
    padding: 20px 0;
  }
}
.login-page-form {
  border-radius: 12px;
  background: #FFF;
  -webkit-box-shadow: 2px 8px 0 0 rgba(59, 46, 55, 0.13);
          box-shadow: 2px 8px 0 0 rgba(59, 46, 55, 0.13);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 608px;
  padding: 48px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin: auto;
  margin-bottom: 50px;
}
@media only screen and (max-width: 800px) {
  .login-page-form {
    width: 100%;
  }
}

.login-page-form h2 {
  margin-top: 0;
  margin-bottom: 0;
}

.login-page-form form {
  margin: 0 !important;
  border: none !important;
  padding: 0 !important;
  width: 100%;
}
.login-page-form form input {
  border: 1px solid rgba(59, 46, 55, 0.25) !important;
  border-radius: 4px !important;
  font-size: 16px !important;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  background-color: #ffffff;
}

p.woocommerce-LostPassword.lost_password a {
  color: #AB54A8;
  font-weight: bold;
}

.archive {
  background: #ffffff;
}

main.category-overview {
  padding: 40px 0;
}
@media only screen and (max-width: 800px) {
  main.category-overview {
    padding: 20px;
  }
}

.woocommerce ul.products {
  display: -ms-grid !important;
  display: grid !important;
  -ms-grid-columns: 1fr 24px 1fr 24px 1fr 24px 1fr;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin: 0 0 2.992em 0 !important;
  padding: 0;
}
.woocommerce ul.products::before, .woocommerce ul.products::after {
  display: none !important;
}
@media only screen and (max-width: 800px) {
  .woocommerce ul.products {
    padding-top: 20px !important;
  }
}
@media only screen and (max-width: 1025px) {
  .woocommerce ul.products {
    -ms-grid-columns: 1fr 20px 1fr 20px 1fr !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 20px;
  }
}
@media only screen and (max-width: 800px) {
  .woocommerce ul.products {
    -ms-grid-columns: 2fr 12px 2fr !important;
    grid-template-columns: repeat(2, 2fr) !important;
    gap: 12px !important;
  }
}
@media only screen and (max-width: 355px) {
  .woocommerce ul.products {
    -ms-grid-columns: (1fr)[1] !important;
    grid-template-columns: repeat(1, 1fr) !important;
  }
}
.woocommerce ul.products li.product {
  width: 100% !important;
  margin: 0 !important;
  float: none !important;
  clear: none !important;
  border-radius: 12px;
  border: 1px solid #E8E8E8;
  background: #FFF;
  -webkit-box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.05);
          box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.05);
  padding: 0 0 20px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.woocommerce ul.products li.product .product-action-text {
  padding-left: 20px;
  padding-right: 20px;
}
@media only screen and (max-width: 800px) {
  .woocommerce ul.products li.product .product-action-text {
    display: none;
    padding-left: 10px;
    padding-right: 10px;
  }
}
.woocommerce ul.products li.product .price {
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%;
  padding-left: 20px;
  padding-right: 20px;
  position: absolute;
  bottom: 0;
}
@media only screen and (max-width: 800px) {
  .woocommerce ul.products li.product .price {
    font-size: 12px;
  }
}
.woocommerce ul.products li.product .price del {
  opacity: 0.5;
  padding-right: 5px;
}
.woocommerce ul.products li.product a img {
  max-height: 233px;
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
  margin-bottom: 15px;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: 32px;
  font-style: normal;
  font-weight: 400;
  line-height: 90%;
  padding-left: 20px;
  padding-right: 20px;
}
@media only screen and (max-width: 800px) {
  .woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 22px;
    padding-left: 10px;
    padding-right: 10px;
  }
}

.product-labels-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  position: absolute;
  top: 20px;
  left: 20px;
  z-index: 9;
}

.badge-custom {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-transform: rotate(-2.051deg);
          transform: rotate(-2.051deg);
  padding: 8px 12px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  color: #C4F511;
  background: #3B2E37;
  border-radius: 8px;
  font-family: "Monigue", sans-serif;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 20px;
}

.badge-sale {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-transform: rotate(-2.051deg);
          transform: rotate(-2.051deg);
  padding: 8px 12px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  color: #3B2E37;
  background: #C4F511;
  border-radius: 8px;
  font-family: "Monigue", sans-serif;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 20px;
}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) ul.products li.product .price {
  color: #3B2E37;
}

li.product a.button {
  display: none !important;
}

.woocommerce ul.products {
  display: -ms-grid !important;
  display: grid !important;
  -ms-grid-columns: 1fr 24px 1fr 24px 1fr 24px 1fr;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.woocommerce ul.products::before, .woocommerce ul.products::after {
  display: none !important;
}
.woocommerce ul.products li.product {
  float: none !important;
  clear: none !important;
  margin: 0 !important;
  width: auto !important;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.woocommerce ul.products li.product:hover {
  scale: 1.015;
  cursor: pointer;
  -webkit-box-shadow: 0 10px 14px 0 rgba(0, 0, 0, 0.08);
          box-shadow: 0 10px 14px 0 rgba(0, 0, 0, 0.08);
}
.woocommerce ul.products li.product::before {
  display: none !important;
}

.woocommerce span.onsale {
  background: #C4F511;
  color: #3B2E37;
  padding: 5px;
}

/* Voorkom dat de footer omhoog klapt */
#ajax-product-container {
  min-height: 1000px; /* Forceert een minimale hoogte van ongeveer 3 rijen */
  position: relative;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}

/* 1. Container */
#ajax-product-container {
  min-height: 1000px;
  position: relative;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}

/* 2. Overlay */
#loader-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.6);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-top: 400px;
  z-index: 99;
}

/* 3. Spinner */
.lds-dual-ring {
  display: inline-block;
  width: 64px;
  height: 64px;
}

.lds-dual-ring:after {
  content: " ";
  display: block;
  width: 46px;
  height: 46px;
  margin: 8px;
  border-radius: 50%;
  border: 6px solid #000;
  border-color: #000 transparent #000 transparent;
  -webkit-animation: lds-dual-ring 1.2s linear infinite;
          animation: lds-dual-ring 1.2s linear infinite;
}

/* 4. Tekst */
.loader-text {
  margin-top: 20px;
  font-weight: bold;
  color: #3B2E37;
  font-size: 1.2em;
  text-transform: uppercase;
  letter-spacing: 2px;
}

/* 5. Animatie */
@-webkit-keyframes lds-dual-ring {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@keyframes lds-dual-ring {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
/* 1. De algemene container voor de knoppen */
.shop-category-buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 15px;
  margin-bottom: 40px;
}

/* 2. De basis stijl van de knoppen (Normale status) */
.cat-button {
  display: inline-block;
  padding: 8px 16px;
  background-color: #FAF5F6;
  color: #3B2E37;
  font-weight: 700;
  text-decoration: none;
  border-radius: 50px;
  border: 1px solid #dcdcdc;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  font-size: 16px;
  cursor: pointer;
}

.cat-button:hover,
.cat-button.active {
  background-color: #C4F511;
  border-color: #C4F511;
  color: #3B2E37;
}

/* Optioneel: subtiele schaduw bij hover voor meer diepte */
.cat-button:hover {
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
  -webkit-box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
          box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
}

/* 1. Reset de container en haal de thema-lijnen weg */
.woocommerce-pagination.ajax-pagination {
  border: none !important;
  padding: 0 !important;
  margin: 50px 0 !important;
  text-align: center;
}
.woocommerce-pagination.ajax-pagination svg path {
  fill: #3B2E37;
}

.woocommerce-pagination.ajax-pagination ul.page-numbers {
  display: -webkit-inline-box !important;
  display: -ms-inline-flexbox !important;
  display: inline-flex !important;
  white-space: nowrap !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important; /* Verwijdert de buitenste lijn */
  list-style: none !important;
  gap: 10px !important; /* Ruimte tussen de blokjes */
}

/* 2. Reset de lijst-items (haalt de verticale lijnen weg) */
.woocommerce-pagination.ajax-pagination ul.page-numbers li {
  border: none !important; /* Cruciaal: verwijdert de lijnen tussen de nummers */
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
  display: block !important;
}

/* 3. De blokjes styling (gebaseerd op je eerdere screenshot) */
.woocommerce-pagination.ajax-pagination ul.page-numbers li a,
.woocommerce-pagination.ajax-pagination ul.page-numbers li span {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 50px !important;
  height: 50px !important;
  background-color: #ffffff !important;
  color: #3B2E37 !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  font-size: 18px !important;
  border-radius: 8px !important;
  border: none !important; /* Geen individuele randjes */
  -webkit-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06) !important;
          box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06) !important; /* Voor het 'zwevende' effect uit je plaatje */
}

/* 4. Actieve pagina (Limoengroen) */
.woocommerce-pagination.ajax-pagination ul.page-numbers li span.current {
  background-color: #C4F511 !important;
  color: #3B2E37 !important;
}

/* 5. De dots (...) */
.woocommerce-pagination.ajax-pagination ul.page-numbers li span.dots {
  background-color: transparent !important;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
  color: #a370b3 !important;
}

/* 6. Hover effect */
.woocommerce-pagination.ajax-pagination ul.page-numbers li a:hover {
  background-color: #C4F511 !important;
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
}

/* Zorg dat de link en alle div's binnen het product de volledige breedte pakken */
.woocommerce ul.products li.product a,
.woocommerce ul.products li.product .woocommerce-loop-product__link,
.woocommerce ul.products li.product img {
  width: 100% !important;
  max-width: 100% !important;
  -webkit-box-sizing: border-box !important;
          box-sizing: border-box !important;
}

/* Forceer de container van de afbeelding om ook breed te zijn */
.woocommerce ul.products.columns-4 li.product .attachment-woocommerce_thumbnail {
  width: 100% !important;
  height: auto !important;
  -o-object-fit: contain;
     object-fit: contain;
  border-top-left-radius: 9px;
  border-top-right-radius: 9px;
}
@media only screen and (max-width: 800px) {
  .woocommerce ul.products.columns-4 li.product .attachment-woocommerce_thumbnail {
    -o-object-fit: cover;
       object-fit: cover;
    min-height: 209px;
  }
}

nav.woocommerce-breadcrumb a {
  color: #AB54A8 !important;
  text-transform: uppercase;
  text-decoration: none;
}

.woocommerce .woocommerce-breadcrumb {
  color: rgba(59, 46, 55, 0.5);
  text-transform: uppercase;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
  padding-bottom: 40px;
  font-size: 16px;
}

h1.woocommerce-products-header__title.page-title {
  font-family: "Monigue", sans-serif;
  font-size: 62px;
  font-weight: 400;
  margin-top: 0;
}
@media only screen and (max-width: 800px) {
  h1.woocommerce-products-header__title.page-title {
    font-size: 42px;
  }
}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) ul.products li.product .price {
  color: #3B2E37 !important;
}

.gform-body h3 {
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 90%;
  margin-top: 0;
}
.gform-body h3 .gfield--type-radio {
  padding: 20px !important;
}

button.fusion-button.gf-next-step {
  background: #C4F511 !important;
  border-radius: 50px !important;
}

span.fusion-button-text {
  background: #C4F511 !important;
  color: #3B2E37 !important;
  font: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
}

.gform_wrapper:not(.gform_variation_wrapper):not(.gform_legacy_markup_wrapper) .collapsible-sections-collapsible-body {
  margin-top: -16px !important;
  width: 100%;
  grid-column: 1/-1;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: repeat(1, 1fr);
  grid-template-rows: repeat(auto-fill, auto);
  grid-column-gap: 2%;
  grid-row-gap: 16px;
}

.collapsible-sections-collapsible-body p {
  margin-top: 0;
  margin-bottom: 0;
}

body .gform_legacy_markup_wrapper ul li.gfield {
  margin-top: 0;
}

.collapsible-sections-collapsible-body li {
  padding: 10px !important;
}

.gform_wrapper:not(.gform_variation_wrapper):not(.gform_legacy_markup_wrapper) .collapsible-sections-collapsible-body {
  grid-row-gap: 0;
}

.gform_legacy_markup_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]) {
  height: 52px;
}

/**
 * Partials: Content
 */
.content-view .woocommerce ul.products {
  display: -ms-grid !important;
  display: grid !important;
  -ms-grid-columns: 1fr 24px 1fr 24px 1fr 24px 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}

.content_socials {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  margin: 34px 0;
}
.content_socials a {
  width: 56px;
  height: 56px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #C4F511;
  -webkit-transition: background-color 0.2s ease, border-color 0.2s ease;
  transition: background-color 0.2s ease, border-color 0.2s ease;
  border-radius: 9999px;
}
.content_socials a svg {
  width: 28px;
  height: 28px;
}
.content_socials a:hover {
  background-color: color-mix(in hsl, black 10%, #C4F511 90%);
  border-color: color-mix(in hsl, black 10%, #C4F511 90%);
}
.content_socials p {
  margin: 0;
  font-weight: 700;
  color: #C4F511;
  margin-right: 8px;
  width: 100%;
}
.content_socials a:after {
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.video_holder {
  margin: 56px 0;
}
.video_holder a.video {
  position: relative;
  display: block;
}
.video_holder a.video .play {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 80px;
  height: 80px;
  border-radius: 2px;
  background-color: #C4F511;
  z-index: 2;
  pointer-events: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.video_holder a.video .play svg {
  width: 40px;
  height: 40px;
}
.video_holder a.video .play svg path {
  fill: #3B2E37;
}
.video_holder a.video .video-thumb {
  position: relative;
  border-radius: 6px;
  overflow: hidden;
  height: 442px;
  background-color: #3B2E37;
  border-radius: 8px;
}
@media only screen and (max-width: 800px) {
  .video_holder a.video .video-thumb {
    height: 375px;
  }
}
@media only screen and (max-width: 600px) {
  .video_holder a.video .video-thumb {
    height: 256px;
  }
}
.video_holder a.video .video-thumb .overlay {
  position: absolute;
  z-index: 1;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.3;
}
.video_holder a.video .video-thumb img {
  display: block;
  width: 100%;
  height: 442px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media only screen and (max-width: 800px) {
  .video_holder a.video .video-thumb img {
    height: 375px;
  }
}
@media only screen and (max-width: 600px) {
  .video_holder a.video .video-thumb img {
    height: 256px;
  }
}
.video_holder .video-slot video {
  width: 100%;
  height: 442px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 24px;
  background-color: #C4F511;
  overflow: hidden;
}
@media only screen and (max-width: 800px) {
  .video_holder .video-slot video {
    height: 375px;
  }
}
@media only screen and (max-width: 600px) {
  .video_holder .video-slot video {
    height: 256px;
  }
}
.video_holder p.caption {
  margin: 0;
  margin-top: 10px;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
}

.image_content {
  width: 100%;
  max-height: 513px;
  margin: 56px 0;
}
@media only screen and (max-width: 800px) {
  .image_content {
    max-height: 375px;
  }
}
@media only screen and (max-width: 600px) {
  .image_content {
    max-height: 256px;
  }
}
.image_content img {
  max-width: 100%;
  height: 100%;
  max-height: 500px;
  margin: auto;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 8px;
}
.image_content .image_description {
  margin-top: 10px;
}

.cta_content {
  padding: 44px;
  margin: 56px 0;
  border-radius: 24px;
  background-color: #3B2E37;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  gap: 50px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media only screen and (max-width: 800px) {
  .cta_content {
    padding: 32px;
  }
}
.cta_content > .content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
}
.cta_content > .content .title {
  color: white;
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 35px;
  font-style: normal;
  font-weight: 600;
  line-height: 110%;
  letter-spacing: -0.35px;
  margin: 0;
}
.cta_content > .content .text {
  color: white;
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 22px;
  font-weight: 500;
  line-height: 155%;
  margin: 0;
}
.cta_content > .image {
  aspect-ratio: 1;
  max-width: 200px;
}
.cta_content > .image img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 50%;
}
@media only screen and (max-width: 600px) {
  .cta_content > .image {
    display: none;
  }
}

.content_share {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  margin: 34px 0;
}
.content_share p {
  margin: 0;
  font-weight: 700;
  color: #C4F511;
  margin-right: 8px;
  width: 100%;
}
.content_share a:after {
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.content_share .btn-link {
  position: relative;
}
.content_share .btn-link > span > svg {
  -webkit-transition: 0.2s opacity ease;
  transition: 0.2s opacity ease;
}
.content_share .btn-link > span > .copy-tooltip {
  position: absolute;
  left: 50%;
  top: 11px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 24px;
  height: 24px;
  opacity: 0;
  -webkit-transition: 0.2s opacity ease;
  transition: 0.2s opacity ease;
}
.content_share .btn-link > span > .copy-tooltip svg path {
  fill: white;
}
.content_share .btn-link.copied {
  border-color: #3B2E37;
  background-color: #3B2E37;
}
.content_share .btn-link.copied > span > svg {
  opacity: 0;
}
.content_share .btn-link.copied .copy-tooltip {
  opacity: 1;
}

.button_content {
  margin: 34px 0;
}

/**
 * Partials: Sections
 */
.contact-section {
  background-color: #FAF5F6;
  text-align: center;
  overflow: hidden;
}

.contact-main-title {
  font-size: 64px;
  font-style: normal;
  font-weight: 400;
  line-height: 90%;
}

.contact-subtitle {
  font-size: 20px;
  color: rgba(59, 46, 55, 0.95);
  font-style: normal;
  font-weight: 400;
  line-height: 160%;
}

/* Fader Styling - Gecentreerd */
.contact-person-fader {
  position: relative;
  height: 160px;
  margin: 0 auto 50px auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.fader-item {
  position: absolute;
  top: 0;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 1.5s ease-in-out, visibility 1.5s ease-in-out;
  transition: opacity 1.5s ease-in-out, visibility 1.5s ease-in-out;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
}

.fader-item.is-active {
  opacity: 1;
  visibility: visible;
}

.person-img {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
  margin-bottom: 15px;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
}

.person-name {
  font-size: 18px;
  font-weight: 700;
  color: #333;
  margin: 0;
  text-align: center;
}

/* 3 Vlakken Grid */
.contact-grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 40px;
}

.contact-card {
  background: #fff;
  padding: 30px;
  border-radius: 4px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  text-align: left;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.card-icon {
  background-color: #C4F511;
  padding: 12px;
  margin-right: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 48px;
  height: 48px;
}
.card-icon svg path {
  fill: #000000;
}

.card-content h3 {
  margin: 0 0 10px 0;
  font-size: 34px;
  font-style: normal;
  font-weight: 400;
  line-height: 90%; /* 30.6px */
  letter-spacing: 0.68px;
}

.card-content p {
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
  margin: 0;
}

@media only screen and (max-width: 800px) {
  .contact-grid {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .contact-main-title {
    font-size: 32px;
  }
}
/* Zorg dat het hele blok klikbaar is en er als een kaart uitziet */
a.contact-card {
  text-decoration: none;
  color: inherit;
  -webkit-transition: -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  transition: transform 0.2s ease, box-shadow 0.2s ease, -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; /* Belangrijk voor de lay-out */
}

a.contact-card:hover {
  -webkit-transform: translateY(-5px);
          transform: translateY(-5px);
  -webkit-box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);
          box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);
  cursor: pointer;
}

/* Fix voor als het geen link is (div behoudt dezelfde styling) */
div.contact-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.two-column-grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 30px; /* Ruimte tussen de kolommen */
  width: 100%;
}

.two-column-grid .column-item {
  /* calc(50% - de helft van de gap) */
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc(50% - 15px);
          flex: 0 0 calc(50% - 15px);
  max-width: calc(50% - 15px);
  width: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

/* Knoppen onderaan uitlijnen als de teksten verschillen in lengte */
.two-column-grid .btn-container {
  margin-top: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 15px;
  padding-top: 20px;
}
@media only screen and (max-width: 800px) {
  .two-column-grid .btn-container {
    padding-top: 0;
  }
}

/* Mobiel: Naar 1 kolom */
@media only screen and (max-width: 800px) {
  .two-column-grid .column-item {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%;
    width: 100%;
  }
}
.two-column-grid h2.column-title {
  margin-top: 0;
}

section.content.content--mid.two-col .content-grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
}
@media only screen and (max-width: 1025px) {
  section.content.content--mid.two-col .content-grid {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
  }
}
section.content.content--mid.two-col .content-grid .content-column {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.section-product-details .woocommerce ul.products {
  -ms-grid-columns: 1fr 24px 1fr !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 24px;
}
@media only screen and (max-width: 1025px) {
  .section-product-details .woocommerce ul.products {
    -ms-grid-columns: (1fr)[1] !important;
    grid-template-columns: repeat(1, 1fr) !important;
  }
}
@media only screen and (max-width: 800px) {
  .section-product-details .woocommerce ul.products {
    -ms-grid-columns: (1fr)[2] !important;
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

.section-product-details .content {
  -webkit-box-pack: start !important;
      -ms-flex-pack: start !important;
          justify-content: start !important;
}

.alternating-content--container.productsection {
  gap: 30px;
}

section.alternate-sides.section-product-details .alternating-content--container {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  gap: 50px !important;
}
@media only screen and (max-width: 800px) {
  section.alternate-sides.section-product-details .alternating-content--container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 20px !important;
  }
}

h2.accordion-toggle {
  font-family: "Montserrat Bold", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 90%;
}

.faq-section .column-btn {
  margin-top: 30px;
}

.three-column-section.has-background {
  background-color: #FAF5F6;
}
.three-column-section .three-column-grid {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 15px 1fr 15px 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
}
@media only screen and (max-width: 800px) {
  .three-column-section .three-column-grid {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 10px;
  }
}
.three-column-section .column-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  padding: 24px 16px;
}
.three-column-section .column-item.has-background {
  background-color: #FAF5F6;
  border-radius: 12px;
}
.three-column-section .column-item .column-title {
  margin-bottom: 20px;
  color: #3B2E37;
  font-size: 34px;
  font-style: normal;
  font-weight: 400;
  line-height: 90%;
  letter-spacing: 0.68px;
  margin-top: 10px;
  color: #3B2E37;
}
.three-column-section .column-item .column-image {
  width: 100%;
  margin-bottom: 20px;
  aspect-ratio: 16/9;
}
.three-column-section .column-item .column-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 12px;
}
.three-column-section .column-item .column-text {
  font-size: 16px;
  line-height: 1.6;
  margin-bottom: 25px;
  color: rgba(0, 0, 0, 0.8);
}
.three-column-section .column-item .column-text p {
  margin-bottom: 0;
  margin-top: 0;
}
.three-column-section .column-item .column-btn {
  margin-top: auto;
}

.calendar--container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
}
.calendar--container--item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  text-decoration: none;
  gap: 24px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  position: relative;
  overflow: hidden;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.calendar--container--item:hover {
  -webkit-transform: scale(1.02);
          transform: scale(1.02);
}
.calendar--container--item:not(:first-child) {
  padding-top: 16px;
}
.calendar--container--item:not(:first-child):after {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  background-color: #C4F511;
  opacity: 0.2;
  top: 0;
}
.calendar--container--item .date_time {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 8px;
  background-color: #3B2E37;
  height: 96px;
  min-width: 96px;
  border-radius: 16px;
}
@media only screen and (max-width: 600px) {
  .calendar--container--item .date_time {
    height: 64px;
    min-width: 64px;
  }
}
.calendar--container--item .date_time p {
  margin: 0;
  text-align: center;
  line-height: 100%;
  color: white;
}
.calendar--container--item .date_time .day {
  font-size: 48px;
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
@media only screen and (max-width: 600px) {
  .calendar--container--item .date_time .day {
    font-size: 32px;
  }
}
.calendar--container--item .date_time .date {
  margin-top: 4px;
  font-size: 20px;
  text-transform: capitalize;
}
@media only screen and (max-width: 600px) {
  .calendar--container--item .date_time .date {
    font-size: 16px;
  }
}
.calendar--container--item .content .title {
  color: #C4F511;
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
  margin: 0;
  margin-top: 8px;
}
.calendar--container--item .content .date {
  color: #3B2E37;
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 1px;
  margin: 0;
  margin-top: 4px;
}
.calendar--container--item .content .location {
  color: #3B2E37;
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 1px;
  margin: 0;
}
.calendar--container--item .content .text {
  margin: 0;
  color: #5E5E5D;
}
@media only screen and (max-width: 600px) {
  .calendar--container--item .content .text {
    font-size: 18px;
  }
}
.calendar--container--item .content .btn {
  margin-top: 16px;
  margin-left: auto;
}
.calendar .container-top {
  margin-bottom: 48px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 32px;
}
.calendar .container-top .title {
  color: #C4F511;
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 35px;
  font-style: normal;
  font-weight: 800;
  line-height: 110%;
  margin: 0;
  min-width: -webkit-fit-content;
  min-width: -moz-fit-content;
  min-width: fit-content;
}
.calendar .container-top .btn {
  margin-left: auto;
}
@media only screen and (max-width: 800px) {
  .calendar .container-top {
    margin-bottom: 16px;
  }
  .calendar .container-top .btn {
    display: none;
    margin-left: 0;
  }
}
.calendar .container-bottom {
  display: none;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 32px;
  margin-top: 16px;
}
@media only screen and (max-width: 800px) {
  .calendar .container-bottom {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.cta {
  margin: 0;
  padding: 112px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}
@media only screen and (max-width: 800px) {
  .cta {
    padding: 80px 0;
  }
}
@media only screen and (max-width: 600px) {
  .cta {
    padding: 40px 0;
  }
}
.cta .layout-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 96px;
}
@media only screen and (max-width: 800px) {
  .cta .layout-container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
    gap: 48px;
  }
}
.cta--content, .cta--image {
  width: 50%;
}
@media only screen and (max-width: 800px) {
  .cta--content, .cta--image {
    width: 100%;
  }
}
.cta--content .title {
  margin: 0;
  color: white;
  font-size: 48px;
}
.cta--content .text {
  font-size: 28px;
  color: white;
}
@media only screen and (max-width: 1025px) {
  .cta--content .text {
    font-size: 20px;
  }
}
.cta--image {
  aspect-ratio: 1;
}
.cta--image img {
  -o-object-fit: contain;
     object-fit: contain;
  width: 100%;
  height: 100%;
}
@media only screen and (max-width: 800px) {
  .cta--image {
    margin: 0 auto;
    max-width: 300px;
  }
}
.cta--bgimage {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.cta--bgimage img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.cta--bgimage:after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100%;
  background: #3B2E37;
  opacity: 0.9;
}

.form {
  position: relative;
}
.form h2 {
  margin-top: 0;
}
@media only screen and (max-width: 800px) {
  .form--container {
    padding: 0;
  }
}
.form--container .gform-footer.gform_footer {
  display: block !important;
}
.form--container > .content {
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
}
.form--container > .content .title {
  margin-bottom: 0;
}
@media only screen and (max-width: 600px) {
  .form--container > .content .title {
    font-size: 32px;
  }
}
.form--container > .content .text {
  margin-bottom: 0;
}
.form--container > .content .form {
  width: 100%;
}
.form--container > .content .form .gfield_label, .form--container > .content .form .gfield_required {
  margin-top: -2px;
  color: rgba(0, 31, 56, 0.7490196078);
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
}
.form--container > .content .form .gfield_required {
  color: #3B2E37;
}
.form--container > .content .form .gfield_description {
  color: #5E5E5D;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 155%;
  margin-top: -2px;
}
.form--container > .content .form .charleft {
  font-size: 14px;
  margin-top: 6px;
}
.form--container > .content .form .ginput_container_phone input {
  border: 1px solid rgba(59, 46, 55, 0.25) !important;
  border-radius: 4px;
  width: 100%;
}
.form--container > .content .form input[type=text], .form--container > .content .form input[type=email], .form--container > .content .form textarea {
  border: 1px solid rgba(59, 46, 55, 0.25);
  border-radius: 4px;
  font-size: 16px !important;
  -webkit-box-shadow: none;
          box-shadow: none;
  background-color: #ffffff;
  width: 100%;
}
.form--container > .content .form input[type=submit] {
  text-decoration: none !important;
  padding: 18px 24px !important;
  border: 1px solid transparent !important;
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-size: 18px !important;
  font-style: normal !important;
  display: block !important;
  font-weight: 700 !important;
  line-height: 100% !important;
  color: #3B2E37 !important;
  -webkit-transition: background-color 0.2s ease, border-color 0.2s ease !important;
  transition: background-color 0.2s ease, border-color 0.2s ease !important;
  position: relative !important;
  overflow: hidden !important;
  cursor: pointer !important;
  width: -webkit-fit-content !important;
  width: -moz-fit-content !important;
  width: fit-content !important;
  text-align: left !important;
  border-radius: 50px !important;
  background-color: #C4F511 !important;
  border-color: #C4F511 !important;
}
.form--container > .content .form input[type=submit]:hover {
  background-color: color-mix(in hsl, black 10%, #C4F511 90%) !important;
  border-color: color-mix(in hsl, black 10%, #C4F511 90%) !important;
  color: #3B2E37 !important;
}

/* Alleen als .two-col actief is */
.layout-container.two-col .form--container {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 40px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

/* Linker kolom: 3/4 breedte */
.layout-container.two-col .content {
  -webkit-box-flex: 0 !important;
      -ms-flex: 0 0 calc(75% - 20px) !important;
          flex: 0 0 calc(75% - 20px) !important;
  max-width: calc(75% - 20px) !important;
  width: 75% !important;
}

/* Rechter kolom: 1/4 breedte */
.layout-container.two-col .form_content_right {
  -webkit-box-flex: 0 !important;
      -ms-flex: 0 0 calc(25% - 20px) !important;
          flex: 0 0 calc(25% - 20px) !important;
  max-width: calc(25% - 20px) !important;
  width: 25% !important;
}

/* Mobiel: Alles 100% */
@media (max-width: 991px) {
  .layout-container.two-col .content,
  .layout-container.two-col .form_content_right {
    -webkit-box-flex: 0 !important;
        -ms-flex: 0 0 100% !important;
            flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }
}
.instagram .sb_instagram_header {
  padding: 0 !important;
  padding-bottom: 24px !important;
}
.instagram #sbi_images {
  padding: 0 !important;
}
.instagram #sbi_load {
  padding-top: 24px !important;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -ms-flex-wrap: wrap !important;
      flex-wrap: wrap !important;
  gap: 12px !important;
}
.instagram #sbi_load button, .instagram #sbi_load a {
  margin: 0px !important;
  margin-top: 0px !important;
  text-decoration: none !important;
  padding: 18px 24px !important;
  border: 1px solid transparent !important;
  border-radius: 0 !important;
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-size: 18px !important;
  font-style: normal !important;
  font-weight: 700 !important;
  line-height: 100% !important;
  color: white !important;
  -webkit-transition: background-color 0.2s ease, border-color 0.2s ease !important;
  transition: background-color 0.2s ease, border-color 0.2s ease !important;
  position: relative !important;
  overflow: hidden !important;
  cursor: pointer !important;
  width: -webkit-fit-content !important;
  width: -moz-fit-content !important;
  width: fit-content !important;
  text-align: left !important;
}
.instagram #sbi_load button svg, .instagram #sbi_load a svg {
  display: none !important;
}
.instagram #sbi_load button:hover, .instagram #sbi_load a:hover {
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
}
.instagram #sbi_load button {
  background-color: #3B2E37 !important;
  border-color: #3B2E37 !important;
}
.instagram #sbi_load button:hover {
  background-color: color-mix(in hsl, black 10%, #3B2E37 90%) !important;
  border-color: color-mix(in hsl, black 10%, #3B2E37 90%) !important;
}
.instagram #sbi_load a {
  background-color: #C4F511 !important;
  border-color: #C4F511 !important;
}
.instagram #sbi_load a:hover {
  background-color: color-mix(in hsl, black 10%, #C4F511 90%) !important;
  border-color: color-mix(in hsl, black 10%, #C4F511 90%) !important;
}
.instagram #sbi_load > span {
  margin-left: 0 !important;
}

.quote {
  padding: 112px 0;
  margin: 0;
  min-height: 90vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}
@media only screen and (max-width: 800px) {
  .quote {
    padding: 120px 0;
  }
}
@media only screen and (max-width: 600px) {
  .quote {
    padding: 80px 0;
  }
}
.quote .layout-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.quote--content {
  color: white;
  margin: 0;
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 56px;
  font-style: normal;
  font-weight: 400;
  line-height: 110%;
  max-width: 856px;
  text-align: center;
  font-weight: 700;
}
@media only screen and (max-width: 800px) {
  .quote--content {
    font-size: 40px;
  }
}
.quote--image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.quote--image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.quote--image:after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.6)), color-stop(50%, rgba(0, 0, 0, 0)));
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 50%);
}
.quote.top {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}
.quote.top .quote--image:after {
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.6)), color-stop(50%, rgba(0, 0, 0, 0)));
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 50%);
}
.quote.bottom {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
}
.quote.bottom .quote--image:after {
  background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.6)), color-stop(50%, rgba(0, 0, 0, 0)));
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 50%);
}

.intro--content {
  color: #C4F511;
  margin: 0;
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 24px;
  font-style: normal;
  font-weight: 400;
  line-height: 155%;
  max-width: 756px;
}

.image-slider {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 24px;
  overflow-x: hidden;
}
.image-slider--container--item {
  height: 340px;
  width: 100%;
}
.image-slider--container--item img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 24px;
}
.image-slider .splide__track {
  margin: 0 auto;
  max-width: 1440px;
  overflow: visible;
}

.media--container {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 24px 1fr 24px 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.media--container--item {
  height: auto;
  -ms-flex-item-align: stretch;
      -ms-grid-row-align: stretch;
      align-self: stretch;
  border-radius: 24px;
  overflow: hidden;
  text-decoration: none;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  gap: 24px;
  -webkit-box-shadow: 3px 6px 12px 0 rgba(26, 23, 27, 0.1);
          box-shadow: 3px 6px 12px 0 rgba(26, 23, 27, 0.1);
  background-color: #3B2E37;
  width: 100%;
  aspect-ratio: 16/9;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
  cursor: pointer;
}
.media--container--item > .image {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
}
.media--container--item > .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.media--container--item > .image:after {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 31, 56, 0)), to(#3B2E37));
  background: linear-gradient(180deg, rgba(0, 31, 56, 0) 0%, #3B2E37 100%);
}
.media--container--item > .content {
  position: relative;
  width: 100%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  z-index: 1;
  padding: 24px;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 31, 56, 0)), to(#3B2E37));
  background: linear-gradient(180deg, rgba(0, 31, 56, 0) 0%, #3B2E37 100%);
  top: 80px;
  -webkit-transition: top 0.3s ease;
  transition: top 0.3s ease;
}
.media--container--item > .content > .category {
  color: white;
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 10px;
  font-style: normal;
  font-weight: 700;
  line-height: 14px;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 4px 8px;
  background-color: #C4F511;
  border-radius: 2px;
}
.media--container--item > .content > .title {
  color: white;
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 32px;
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
  margin: 8px 0 24px 0;
}
@media only screen and (max-width: 800px) {
  .media--container--item > .content > .title {
    font-size: 24px;
  }
}
.media--container--item:hover {
  -webkit-transform: scale(1.02);
          transform: scale(1.02);
}
.media--container--item:hover > .content {
  top: 0;
}
@media only screen and (max-width: 1170px) {
  .media--container {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (max-width: 600px) {
  .media--container {
    -ms-grid-columns: (1fr)[1];
    grid-template-columns: repeat(1, 1fr);
  }
}
.media .container-top {
  margin-bottom: 48px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 32px;
}
.media .container-top .title {
  color: #C4F511;
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 35px;
  font-style: normal;
  font-weight: 800;
  line-height: 110%;
  margin: 0;
  min-width: -webkit-fit-content;
  min-width: -moz-fit-content;
  min-width: fit-content;
}
.media .container-top .btn {
  margin-left: auto;
}
@media only screen and (max-width: 800px) {
  .media .container-top {
    margin-bottom: 16px;
  }
  .media .container-top .btn {
    display: none;
    margin-left: 0;
  }
}
.media .container-bottom {
  display: none;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 32px;
  margin-top: 16px;
}
@media only screen and (max-width: 800px) {
  .media .container-bottom {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.page-template-page-posts {
  background: #FaF5F6;
}

.posts--container {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 24px 1fr 24px 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.posts--container--item {
  -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05);
          box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05);
  border-bottom: 6px solid #e0e0e0;
  border-radius: 12px;
  position: relative;
  text-decoration: none;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  background: #ffffff;
}
.posts--container--item > .image {
  height: 270px;
  background: #ececec;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
}
@media only screen and (max-width: 1170px) {
  .posts--container--item > .image {
    height: 290px;
  }
}
@media only screen and (max-width: 1025px) {
  .posts--container--item > .image {
    height: 230px;
  }
}
.posts--container--item > .image img {
  height: 270px;
  border-top-left-radius: 12px;
  border-top-right-radius: 12px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media only screen and (max-width: 1170px) {
  .posts--container--item > .image img {
    height: 290px;
  }
}
@media only screen and (max-width: 1025px) {
  .posts--container--item > .image img {
    height: 230px;
  }
}
.posts--container--item > .content {
  padding: 40px 24px 24px 24px;
}
@media only screen and (max-width: 800px) {
  .posts--container--item > .content {
    padding: 10px;
  }
}
.posts--container--item > .content .meta {
  font-family: "Monigue", sans-serif;
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  line-height: 90%;
  position: absolute;
  top: 20px;
  left: 20px;
  -webkit-transform: rotate(-2.051deg);
          transform: rotate(-2.051deg);
  padding: 8px 12px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #C4F511;
  border-radius: 6px;
}
.posts--container--item > .content > .date {
  font-size: 15px;
  font-style: normal;
  font-weight: 400;
  line-height: 100%;
}
.posts--container--item > .content > .title {
  font-family: "Monigue", sans-serif;
  font-size: 32px;
  font-style: normal;
  font-weight: 400;
  line-height: 90%;
  margin-bottom: 0;
  margin-top: 0;
}
@media only screen and (max-width: 800px) {
  .posts--container--item > .content > .title {
    font-size: 24px;
  }
}
.posts--container--item:hover {
  -webkit-transform: scale(1.01);
          transform: scale(1.01);
}
.posts--container--item:hover > .content {
  top: 0;
}
@media only screen and (max-width: 1170px) {
  .posts--container {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
  }
}
.posts .container-top {
  margin-bottom: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 32px;
}
@media only screen and (max-width: 800px) {
  .posts .container-top {
    margin-bottom: 16px;
  }
  .posts .container-top .btn {
    display: none;
    margin-left: 0;
  }
}
@media only screen and (max-width: 800px) {
  .posts .container-bottom {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.posts--container.splide__list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 24px 1fr 24px 1fr !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px;
  display: grid !important;
}
@media only screen and (max-width: 600px) {
  .posts--container.splide__list a {
    width: 100% !important;
    gap: 0;
  }
}

/* Verberg slider elementen op desktop */
.splide__pagination.mobile-dots,
.mobile-only {
  display: none;
}

/* --- Mobiel (Slider modus) --- */
@media only screen and (max-width: 800px) {
  .posts--container.splide__list {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    gap: 0;
  }
  .posts--container--item {
    height: auto;
  }
  /* Toon de dots op mobiel */
  .splide__pagination.mobile-dots {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    bottom: 0;
    margin-top: 24px;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    padding: 0;
    gap: 8px;
  }
  .splide__pagination__page {
    width: 8px;
    height: 8px;
    background: #D1D1D1;
    border: none;
    opacity: 1;
    padding: 0;
  }
  .splide__pagination__page.is-active {
    background: #BD5DBA !important; /* Jouw paarse kleur */
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  .mobile-only {
    display: block;
    margin-top: 24px;
  }
  .desktop-only {
    display: none;
  }
}
/* Fix voor als de track te breed wordt op desktop */
@media (min-width: 769px) {
  .splide__track {
    overflow: visible !important;
  }
}
.posts--container.splide__list.grid_4 {
  -ms-grid-columns: (1fr)[4] !important;
  grid-template-columns: repeat(4, 1fr) !important;
}
@media only screen and (max-width: 1025px) {
  .posts--container.splide__list.grid_4 {
    -ms-grid-columns: (1fr)[2] !important;
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* RESET: Wanneer Splide vernietigd is (Desktop of Mobile Grid) */
.posts.splide:not(.is-active) .splide__track {
  overflow: visible !important;
}

.posts.splide:not(.is-active) .posts--container.splide__list {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -ms-flex-wrap: wrap !important;
      flex-wrap: wrap !important;
  -webkit-transform: none !important;
          transform: none !important; /* Verwijder Splide verschuiving */
  gap: 20px;
  -webkit-box-pack: start !important;
  -ms-flex-pack: start !important;
  justify-content: flex-start !important;
}
@media only screen and (max-width: 800px) {
  .posts.splide:not(.is-active) .posts--container.splide__list {
    width: 100%;
    gap: 0;
  }
}

/* DESKTOP BREEDTES (Altijd grid) */
@media (min-width: 1025px) {
  .posts.grid_3:not(.is-active) .posts--container--item {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(25% - 15px);
            flex: 0 0 calc(25% - 15px);
    width: calc(25% - 15px);
  }
  .posts.grid_4:not(.is-active) .posts--container--item {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(25% - 15px);
            flex: 0 0 calc(25% - 15px);
    width: calc(25% - 15px);
  }
}
/* MOBILE GRID BREEDTE (1 per rij, alles onder elkaar) */
@media (max-width: 1024px) {
  /* Alleen als 'grid' is geselecteerd in ACF */
  .is-mobile-grid:not(.is-active) .posts--container--item {
    -webkit-box-flex: 0 !important;
        -ms-flex: 0 0 100% !important;
            flex: 0 0 100% !important;
    width: 100% !important;
    margin-bottom: 20px;
    display: block !important; /* Zorg dat ze zichtbaar zijn */
  }
  /* Verberg de dots als er geen slider is */
  .is-mobile-grid:not(.is-active) .splide__pagination {
    display: none !important;
  }
}
.products-category-overview ul.products {
  padding-top: 20px;
}

@media only screen and (max-width: 1025px) {
  .posts .splide__list.grid_4 a {
    -webkit-box-flex: 0 !important;
        -ms-flex: 0 0 calc(50% - 10px) !important;
            flex: 0 0 calc(50% - 10px) !important;
    max-width: calc(50% - 10px) !important;
    -webkit-box-sizing: border-box !important;
            box-sizing: border-box !important;
  }
}

.reviews_holder {
  padding-bottom: 40px;
}
@media only screen and (max-width: 800px) {
  .reviews_holder {
    padding-bottom: 0;
  }
}
.reviews_holder.has-background {
  background: #FAF5F6;
}

section#reviews {
  margin-top: 0;
}

.reviews.hide_controls .control-buttons {
  display: none;
}
.reviews.hide_controls .container-top:not(:has(h2)) {
  margin-bottom: 0;
}
.reviews.hide_controls .container-bottom {
  display: none;
}
.reviews .control-buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
  gap: 8px;
}
.reviews .control-buttons .prev, .reviews .control-buttons .next {
  padding: 14px;
  border: none;
  background: #C4F511;
  min-width: 48px;
  border-radius: 9999px;
}
.reviews .control-buttons .prev:hover, .reviews .control-buttons .next:hover {
  cursor: pointer;
}
.reviews .control-buttons .prev svg, .reviews .control-buttons .next svg {
  height: 28px;
  width: 28px;
}
.reviews .container-top {
  margin-bottom: 48px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 32px;
}
.reviews .container-top .title {
  color: #C4F511;
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 35px;
  font-style: normal;
  font-weight: 800;
  line-height: 110%;
  margin: 0;
  min-width: -webkit-fit-content;
  min-width: -moz-fit-content;
  min-width: fit-content;
}
.reviews .container-top .control-buttons {
  margin-left: auto;
}
@media only screen and (max-width: 800px) {
  .reviews .container-top {
    margin-bottom: 16px;
  }
  .reviews .container-top .control-buttons {
    display: none;
  }
}
.reviews .container-bottom {
  display: none;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 32px;
  margin-top: 16px;
}
@media only screen and (max-width: 800px) {
  .reviews .container-bottom {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.reviews .splide__track {
  margin: 0 auto;
  max-width: 1440px;
  overflow: visible;
}
.reviews--container--item {
  padding: 32px 24px;
  border: 1px solid rgba(176, 130, 30, 0.2509803922);
  border-radius: 24px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-transition: -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
  transition: -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  transition: transform 0.3s ease, box-shadow 0.3s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
}
.reviews--container--item:hover {
  -webkit-transform: rotate(0deg) scale(1.02) !important;
          transform: rotate(0deg) scale(1.02) !important;
  z-index: 10;
  cursor: pointer;
}
.reviews--container--item > .top, .reviews--container--item > .bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.reviews--container--item > .top {
  gap: 10px;
}
.reviews--container--item > .top > .header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
}
.reviews--container--item > .bottom {
  gap: 20px;
}
.reviews--container--item .title {
  color: #C4F511;
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 23px;
  font-style: normal;
  font-weight: 800;
  line-height: 110%;
  margin: 0;
  min-width: -webkit-fit-content;
  min-width: -moz-fit-content;
  min-width: fit-content;
}
.reviews--container--item .rating {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 4px;
}
.reviews--container--item .rating svg {
  width: 20px;
  height: 20px;
}
.reviews--container--item .rating svg path {
  fill: #3B2E37;
}
.reviews--container--item .text {
  color: #5E5E5D;
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 18px;
  font-style: normal;
  font-weight: 500;
  line-height: 155%;
  margin: 0;
}
.reviews--container--item .line {
  background: rgba(176, 130, 30, 0.1490196078);
  height: 1px;
}
.reviews--container--item span {
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
}

/* Container styling */
.reviews--container {
  padding: 40px 0;
}

/* De individuele kaartjes (Slides) */
.reviews--container--item {
  background: #fff;
  padding: 30px;
  border-radius: 10px;
  -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05);
          box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05);
  border-bottom: 6px solid #e0e0e0;
  min-height: 350px;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media only screen and (max-width: 800px) {
  .reviews--container--item {
    min-width: 100% !important;
  }
}
.reviews--container--item {
  /* De subtiele rotatie uit de afbeelding */
  -webkit-transform: rotate(-1deg);
          transform: rotate(-1deg);
}

/* Wissel de rotatie af voor het speelse effect */
.reviews--container--item:nth-child(even) {
  -webkit-transform: rotate(1deg);
          transform: rotate(1deg);
}

/* Typografie */
.reviews--container--item .title {
  font-family: "Monigue", sans-serif;
  font-size: 32px;
  font-style: normal;
  font-weight: 400;
  line-height: 90%;
  color: #3B2E37;
}

.reviews--container--item .text {
  font-size: 14px;
  line-height: 150%;
  color: #3B2E37;
  margin-bottom: 20px;
}

/* Rating en Meta onderin */
.reviews--container--item .bottom {
  margin-top: auto;
}

.reviews--container--item .meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 15px;
}

/* Sterren styling */
.rating .star-holder {
  padding: 2px;
  border: 1px solid #ffffff;
}
.rating .star-holder.full {
  background-color: #C4F511;
}
.rating .star-holder.half {
  background: -webkit-gradient(linear, left top, right top, from(#C4F511), color-stop(50%, #C4F511), color-stop(50%, #DCDCE5), to(#DCDCE5));
  background: linear-gradient(to right, #C4F511 0%, #C4F511 50%, #DCDCE5 50%, #DCDCE5 100%);
}
.rating .star-holder.empty {
  background-color: #DCDCE5;
}

.rating svg {
  width: 14px;
  height: 14px;
  fill: #333;
  margin: 0 1px;
}

.author {
  font-size: 14px;
  line-height: 150%;
  color: #3B2E37;
}

/* Splide aanpassing voor 3 kolommen */
@media only screen and (max-width: 1025px) {
  .splide__slide {
    width: calc(33.33% - 20px) !important;
  }
}
.layout-container.reviews.has-background {
  background: #FAF5F6;
}

.reviews-heading {
  padding-top: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1;
}
@media only screen and (max-width: 800px) {
  .reviews-heading {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-top: 0;
  }
}
.reviews-heading .header-left {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

h2 span:before {
  content: "";
  background: #ffffff;
  width: 113%;
  display: block;
  height: 56px;
  position: absolute;
  left: -6px;
  top: -10px;
  z-index: -1;
  border-radius: 8px;
  -webkit-transform: rotate(-3.715deg);
          transform: rotate(-3.715deg);
}

h2 span {
  position: relative;
}

.kiyoh-summary {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  gap: 15px;
  padding: 10px;
}
@media only screen and (max-width: 800px) {
  .kiyoh-summary {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: row !important;
            flex-direction: row !important;
    -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.kiyoh-summary--score {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100px;
  height: 100px;
  position: relative;
  background-image: url("./assets/kiyoh-reviews-circle.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

/* Het cijfer zelf, gepositioneerd over de SVG */
.kiyoh-summary--score .score {
  font-size: 21px;
  font-weight: 800;
  color: #3B2E37;
  margin-right: 0;
  position: relative;
  top: -8px;
  left: 3px;
}

/* Tekst sectie */
.kiyoh-summary--info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.kiyoh-summary--info .name {
  font-size: 20px;
  font-weight: 800;
  color: #3B2E37;
  line-height: 1.2;
}

.kiyoh-summary--info .total {
  font-size: 16px;
  color: #666;
  margin-top: 2px;
}

.kiyoh-summary--button {
  display: inline-block;
  background-color: #C4F511;
  color: #3B2E37;
  text-decoration: none;
  border-radius: 50px;
  margin-left: auto;
  white-space: nowrap;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
  padding: 12px 24px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
}

.kiyoh-summary--button:hover {
  opacity: 0.9;
}

@media (max-width: 767px) {
  .kiyoh-summary--score,
  .kiyoh-summary--info {
    -webkit-box-flex: 0 !important;
        -ms-flex: 0 0 48% !important;
            flex: 0 0 48% !important;
    max-width: 48% !important;
    text-align: center;
  }
  .kiyoh-summary--button {
    -webkit-box-flex: 0 !important;
        -ms-flex: 0 0 100% !important;
            flex: 0 0 100% !important;
    width: 100% !important;
    margin-top: 15px;
    text-align: center;
  }
}
.reviews ul.splide__list {
  -webkit-box-pack: left;
      -ms-flex-pack: left;
          justify-content: left;
}

.tiles--container {
  display: -ms-grid;
  display: grid;
  gap: 24px;
}
.tiles--container--item {
  height: auto;
  -ms-flex-item-align: stretch;
      -ms-grid-row-align: stretch;
      align-self: stretch;
  overflow: hidden;
  text-decoration: none;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  padding: 50px 24px;
  gap: 24px;
  border-radius: 16px;
}
.tiles--container--item .btn {
  margin: auto !important;
}
.tiles--container--item .tile-content-holder {
  max-width: 800px;
  margin: auto;
  text-align: center;
}
.tiles--container--item:hover {
  -webkit-transform: scale(1.01);
          transform: scale(1.01);
}
.tiles--container--item.width_1 {
  -ms-grid-column-span: 1;
  grid-column: span 1;
}
.tiles--container--item.width_2 {
  -ms-grid-column-span: 2;
  grid-column: span 2;
}
.tiles--container--item.width_3 {
  -ms-grid-column-span: 3;
  grid-column: span 3;
}
.tiles--container--item.width_4 {
  -ms-grid-column-span: 4;
  grid-column: span 4;
}
.tiles--container--item.height_1 {
  -ms-grid-row-span: 1;
  grid-row: span 1;
}
.tiles--container--item.height_2 {
  -ms-grid-row-span: 2;
  grid-row: span 2;
}
.tiles--container--item.height_3 {
  -ms-grid-row-span: 3;
  grid-row: span 3;
}
.tiles--container--item.type_text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border: 1px solid rgba(176, 130, 30, 0.2509803922);
}
.tiles--container--item.type_text.green {
  background: #C4F511;
  border: 1px solid #C4F511;
}
.tiles--container--item.type_text.green .btn {
  background: #3B2E37;
  border: 1px solid #3B2E37;
  color: #ffffff;
}
.tiles--container--item.type_text.rose {
  background: #D48ED2;
  border: 1px solid #D48ED2;
}
.tiles--container--item.type_text.gray {
  background: #FAF5F6;
  border: 1px solid #FAF5F6;
}
.tiles--container--item.type_text.white {
  background: #ffffff;
  border: 1px solid rgba(176, 130, 30, 0.2509803922);
  border-bottom: 6px solid #e0e0e0;
}
.tiles--container--item.type_text h2 {
  font-size: 64px;
  font-style: normal;
  font-weight: 400;
  line-height: 90%;
  margin: 0;
  padding-bottom: 20px;
}
@media only screen and (max-width: 800px) {
  .tiles--container--item.type_text h2 {
    font-size: 41px;
  }
}
.tiles--container--item.type_text p {
  padding-bottom: 20px;
  margin-bottom: 0;
  margin-top: 0;
}
.tiles--container--item.type_text .btn {
  margin-top: auto;
}
.tiles--container--item.type_image {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 250px;
  text-align: center;
}
.tiles--container--item.type_image p {
  color: #ffffff;
  margin: 0;
  padding-bottom: 20px;
}
.tiles--container--item.type_image .overlay {
  position: absolute;
  inset: 0;
  height: 100%;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  z-index: -1;
}
.tiles--container--item.type_image h2 {
  color: white;
  margin: 0;
  text-align: center;
  font-size: 64px;
  font-style: normal;
  font-weight: 400;
  line-height: 90%;
}
@media only screen and (max-width: 800px) {
  .tiles--container--item.type_image h2 {
    font-size: 41px;
  }
}
.tiles--container--item.type_image img {
  position: absolute;
  inset: 0;
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: -2;
}
.tiles--container--item.type_image h2, .tiles--container--item.type_image .btn {
  position: relative;
  -webkit-transition: top 0.3s ease;
  transition: top 0.3s ease;
}
.tiles--container.grid_3 {
  -ms-grid-columns: (1fr)[3];
  grid-template-columns: repeat(3, 1fr);
}
@media only screen and (max-width: 1170px) {
  .tiles--container.grid_3 {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
  }
  .tiles--container.grid_3 .tiles--container--item.width_3 {
    -ms-grid-column-span: 2;
    grid-column: span 2;
  }
}
@media only screen and (max-width: 800px) {
  .tiles--container.grid_3 {
    -ms-grid-columns: (1fr)[1];
    grid-template-columns: repeat(1, 1fr);
  }
  .tiles--container.grid_3 .tiles--container--item.width_2, .tiles--container.grid_3 .tiles--container--item.width_3 {
    -ms-grid-column-span: 1;
    grid-column: span 1;
  }
}
.tiles--container.grid_4 {
  -ms-grid-columns: (1fr)[4];
  grid-template-columns: repeat(4, 1fr);
}
@media only screen and (max-width: 1346px) {
  .tiles--container.grid_4 {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
  }
  .tiles--container.grid_4 .tiles--container--item.width_3, .tiles--container.grid_4 .tiles--container--item.width_4 {
    -ms-grid-column-span: 2;
    grid-column: span 2;
  }
}
@media only screen and (max-width: 800px) {
  .tiles--container.grid_4 {
    -ms-grid-columns: (1fr)[1];
    grid-template-columns: repeat(1, 1fr);
  }
  .tiles--container.grid_4 .tiles--container--item.width_2, .tiles--container.grid_4 .tiles--container--item.width_3, .tiles--container.grid_4 .tiles--container--item.width_4 {
    -ms-grid-column-span: 1;
    grid-column: span 1;
  }
}
.tiles .container-top {
  margin-bottom: 48px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 32px;
}
.tiles .container-top .title {
  color: #C4F511;
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 35px;
  font-style: normal;
  font-weight: 800;
  line-height: 110%;
  margin: 0;
  min-width: -webkit-fit-content;
  min-width: -moz-fit-content;
  min-width: fit-content;
}
.tiles .container-top .btn {
  margin: auto;
}
@media only screen and (max-width: 800px) {
  .tiles .container-top {
    margin-bottom: 16px;
  }
  .tiles .container-top .btn {
    display: none;
    margin: auto;
  }
}
.tiles .container-bottom {
  display: none;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 32px;
  margin-top: 16px;
}
@media only screen and (max-width: 800px) {
  .tiles .container-bottom {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.alternating-content {
  background: #ffffff;
}
.alternating-content--container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 96px;
}
@media only screen and (max-width: 1025px) {
  .alternating-content--container {
    gap: 64px;
  }
}
@media only screen and (max-width: 800px) {
  .alternating-content--container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 32px;
  }
}
.alternating-content--container > .image, .alternating-content--container > .content {
  width: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media only screen and (max-width: 800px) {
  .alternating-content--container > .image, .alternating-content--container > .content {
    width: 100%;
  }
}
.alternating-content--container > .content {
  gap: 10px;
}
.alternating-content--container > .content .title {
  color: #3B2E37;
  font-family: "Monigue", sans-serif;
  font-size: 48px;
  font-style: normal;
  font-weight: 400;
  line-height: 90%;
  margin-bottom: 0;
}
@media only screen and (max-width: 600px) {
  .alternating-content--container > .content .title {
    font-size: 32px;
  }
}
.alternating-content--container > .content .text p {
  color: #5E5E5D;
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
}
.alternating-content--container > .image {
  min-height: 545px;
}
@media only screen and (max-width: 800px) {
  .alternating-content--container > .image {
    min-height: unset;
  }
}
.alternating-content--container > .image img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 8px;
}
@media only screen and (max-width: 800px) {
  .alternating-content--container > .image img {
    max-height: 300px;
  }
}
@media only screen and (max-width: 800px) {
  .alternating-content--container > .image img {
    max-height: 200px;
  }
}
.alternating-content.alternate-sides .alternating-content--container {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media only screen and (max-width: 800px) {
  .alternating-content.alternate-sides .alternating-content--container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

/**
 * External
 */
.splide__container {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
}

.splide__list {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.splide.is-initialized:not(.is-active) .splide__list {
  display: block;
}

.splide__pagination {
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  margin: 0;
  pointer-events: none;
}

.splide__pagination li {
  display: inline-block;
  line-height: 1;
  list-style-type: none;
  margin: 0;
  pointer-events: auto;
}

.splide:not(.is-overflow) .splide__pagination {
  display: none;
}

.splide__progress__bar {
  width: 0;
}

.splide {
  position: relative;
  visibility: hidden;
}

.splide.is-initialized, .splide.is-rendered {
  visibility: visible;
}

.splide__slide {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  list-style-type: none !important;
  margin: 0;
  position: relative;
}

.splide__slide img {
  vertical-align: bottom;
}

.splide__spinner {
  -webkit-animation: splide-loading 1s linear infinite;
          animation: splide-loading 1s linear infinite;
  border: 2px solid #999;
  border-left-color: transparent;
  border-radius: 50%;
  bottom: 0;
  contain: strict;
  display: inline-block;
  height: 20px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 20px;
}

.splide__sr {
  clip: rect(0 0 0 0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.splide__toggle.is-active .splide__toggle__play, .splide__toggle__pause {
  display: none;
}

.splide__toggle.is-active .splide__toggle__pause {
  display: inline;
}

.splide__track {
  overflow: hidden;
  position: relative;
  z-index: 0;
}

@-webkit-keyframes splide-loading {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  to {
    -webkit-transform: rotate(1turn);
            transform: rotate(1turn);
  }
}

@keyframes splide-loading {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  to {
    -webkit-transform: rotate(1turn);
            transform: rotate(1turn);
  }
}
.splide__track--draggable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  -moz-user-select: none;
       user-select: none;
}

.splide__track--fade > .splide__list > .splide__slide {
  margin: 0 !important;
  opacity: 0;
  z-index: 0;
}

.splide__track--fade > .splide__list > .splide__slide.is-active {
  opacity: 1;
  z-index: 1;
}

.splide--rtl {
  direction: rtl;
}

.splide__track--ttb > .splide__list {
  display: block;
}

.splide__arrow {
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  background: #ccc;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  height: 2em;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  opacity: 0.7;
  padding: 0;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 2em;
  z-index: 1;
}

.splide__arrow svg {
  fill: #000;
  height: 1.2em;
  width: 1.2em;
}

.splide__arrow:hover:not(:disabled) {
  opacity: 0.9;
}

.splide__arrow:disabled {
  opacity: 0.3;
}

.splide__arrow:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__arrow--prev {
  left: 1em;
}

.splide__arrow--prev svg {
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
}

.splide__arrow--next {
  right: 1em;
}

.splide.is-focus-in .splide__arrow:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__pagination {
  bottom: 0.5em;
  left: 0;
  padding: 0 1em;
  position: absolute;
  right: 0;
  z-index: 1;
}

.splide__pagination__page {
  background: #ccc;
  border: 0;
  border-radius: 50%;
  display: inline-block;
  height: 8px;
  margin: 3px;
  opacity: 0.7;
  padding: 0;
  position: relative;
  -webkit-transition: -webkit-transform 0.2s linear;
  transition: -webkit-transform 0.2s linear;
  transition: transform 0.2s linear;
  transition: transform 0.2s linear, -webkit-transform 0.2s linear;
  width: 8px;
}

.splide__pagination__page.is-active {
  background: #fff;
  -webkit-transform: scale(1.4);
          transform: scale(1.4);
  z-index: 1;
}

.splide__pagination__page:hover {
  cursor: pointer;
  opacity: 0.9;
}

.splide__pagination__page:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide.is-focus-in .splide__pagination__page:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__progress__bar {
  background: #ccc;
  height: 3px;
}

.splide__slide {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.splide__slide:focus {
  outline: 0;
}

@supports (outline-offset: -3px) {
  .splide__slide:focus-visible {
    outline: 3px solid #0bf;
    outline-offset: -3px;
  }
}
@media screen and (-ms-high-contrast: none) {
  .splide__slide:focus-visible {
    border: 3px solid #0bf;
  }
}
@supports (outline-offset: -3px) {
  .splide.is-focus-in .splide__slide:focus {
    outline: 3px solid #0bf;
    outline-offset: -3px;
  }
}
@media screen and (-ms-high-contrast: none) {
  .splide.is-focus-in .splide__slide:focus {
    border: 3px solid #0bf;
  }
  .splide.is-focus-in .splide__track > .splide__list > .splide__slide:focus {
    border-color: #0bf;
  }
}
.splide__toggle {
  cursor: pointer;
}

.splide__toggle:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide.is-focus-in .splide__toggle:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__track--nav > .splide__list > .splide__slide {
  border: 3px solid transparent;
  cursor: pointer;
}

.splide__track--nav > .splide__list > .splide__slide.is-active {
  border: 3px solid #000;
}

.splide__arrows--rtl .splide__arrow--prev {
  left: auto;
  right: 1em;
}

.splide__arrows--rtl .splide__arrow--prev svg {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
}

.splide__arrows--rtl .splide__arrow--next {
  left: 1em;
  right: auto;
}

.splide__arrows--rtl .splide__arrow--next svg {
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
}

.splide__arrows--ttb .splide__arrow {
  left: 50%;
  -webkit-transform: translate(-50%);
          transform: translate(-50%);
}

.splide__arrows--ttb .splide__arrow--prev {
  top: 1em;
}

.splide__arrows--ttb .splide__arrow--prev svg {
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}

.splide__arrows--ttb .splide__arrow--next {
  bottom: 1em;
  top: auto;
}

.splide__arrows--ttb .splide__arrow--next svg {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.splide__pagination--ttb {
  bottom: 0;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-direction: column;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
  left: auto;
  padding: 1em 0;
  right: 0.5em;
  top: 0;
}