/* Table of Content
==================================================
	#Font-Face
	#Site Styles
	#Media Queries */

/* #Font-Face
================================================== */
@import url('../fonts/lato/stylesheet.css');
@import url('https://fonts.googleapis.com/css2?family=Merriweather:ital,opsz,wght@0,18..144,300..900;1,18..144,300..900&display=swap');

/* #Site Styles
================================================== */
:root {
	--font-family-base: 'Lato', sans-serif;
	--font-family-heading: 'Merriweather', sans-serif;
	--gutter-base: 20px;
	--width-base: 1230px;
	--width-lg: 930px;
	--width-xl: 1880px;
	--font-size-base: 16.2px;
	--lineheight-base: 1.55;
	--color-text: #36372e;
	--color-primary: #fff3cc;
	--color-secondary: #b0af65;
	--color-rose: #c6b1b4;
	--color-darkrose: #af858d;
	--color-vanila: #f3eade;
	--color-darkvanila: #fff3cc;
	--color-sand: #e1d8cb;
	--color-burnt: #290b08;
	--color-cream: #fffaed;
	--color-black: #000;
	--color-white: #fff;
	--color-green: #898838;
	--color-cgreen: #8c994d;
	--color-gimblet: #b0af65;
	--color-desert: #e1d8cb;
	--color-soft-blue: #c0c8df;
	--color-off-white: #fffdfb;
	--color-near-black: #010103;
	--font-family-icon: 'icomoon';
	--heading-lineheight: 1.1;
	--font-size-h1: 31.5px;
	--font-size-h2: 28.8px;
	--font-size-h3: 22.5px;
	--font-size-h4: 21.6px;
	--font-size-h5: 18px;
	--font-size-h6: 16.2px;
	--w-100: 100%;
	--h-100: 100%;
	--input-height: 60px;
	--textarea-height: 120px;
	--base-duration: 0.25s ease-in-out;
}

/* ### general ### */
* { margin: 0; padding: 0; box-sizing: border-box; -webkit-font-smoothing: antialiased; }
html,
body { font-family: var(--font-family-base), sans-serif; font-size: var(--font-size-base); font-weight: 500; line-height: var(--lineheight-base); color: var(--color-text); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; scroll-behavior: smooth; }
body { background: var(--color-off-white); }
body.filter-open { overflow: hidden; }
body.in-view .sticky-block { display: none; }
body.in-view .filters-btn { display: block; }
input,
select,
textarea { padding: 10px 20px; width: var(--w-100); height: var(--input-height); font-family: var(--font-family-base), sans-serif; font-size: var(--font-size-base); font-weight: 500; color: var(--color-text); border: 1px solid var(--color-vanila); background-color: var(--color-off-white); }
select { background: #fff url('../images/select-arrow.png') center right 10px no-repeat; appearance: none; }
textarea { height: var(--textarea-height); resize: none; }
input::placeholder,
textarea::placeholder { color: var(--color-text); }
label { font-size: var(--font-size-base); }
input[type='checkbox'] { padding: 0; display: flex; align-items: center; justify-content: center; width: 24px; height: 24px; border: solid 1px var(--color-soft-blue); background-color: var(--color-white); -webkit-appearance: none; }
input[type='checkbox']:before { font-size: 10.8px; content: '\e905'; color: var(--color-white); font-family: var(--font-family-icon), sans-serif; background-color: var(--color-burnt); display: none; align-items: center; justify-content: center; width: var(--w-100); height: var(--h-100); }
input[type='checkbox']:checked:before { display: flex; }
img { display: block; max-width: var(--w-100); border: 0; height: auto; }
p { margin-bottom: 20px; }
a { display: inline-block; }
ul,
li { list-style: none; }
:focus { outline: none; }
h1,
h2,
h3,
h4,
h5,
h6 { margin-bottom: 20px; font-family: var(--font-family-heading), sans-serif; font-weight: 700; line-height: var(--heading-lineheight); color: var(--color-text); }
h1 { font-size: var(--font-size-h1); }
h2 { font-size: var(--font-size-h2); }
h3 { font-size: var(--font-size-h3); }
h4 { font-size: var(--font-size-h4); }
h5 { font-size: var(--font-size-h5); }
h6 { font-size: var(--font-size-h6); }

.anchor-point { scroll-margin-top: calc(var(--header-h, 100px) + 20px); }


/* ### global classes ### */
.clear { visibility: hidden; clear: both; height: 0; line-height: 0; }
.center,
.centered,
.centered-xl { padding-right: var(--gutter-base); padding-left: var(--gutter-base); }
button { font-size: var(--font-size-base); }
.button { padding: 10px 20px; display: inline-flex; align-items: center; justify-content: center; height: 60px; font-family: var(--font-family-heading), sans-serif; font-size: var(--font-size-base); text-align: center; font-weight: 700; text-decoration: none; color: var(--color-cream); border: 0; background-color: var(--color-secondary); transition: var(--base-duration); cursor: pointer; }
.button:focus,
.button:hover { color: var(--color-cream); background-color: var(--color-green); }
.button-primary { color: var(--color-cream); background-color: var(--color-rose); }
.button-primary:focus,
.button-primary:hover { color: var(--color-cream); background-color: var(--color-darkrose); }
.button-secondary { color: var(--color-burnt); background-color: var(--color-vanila); }
.button-secondary:focus,
.button-secondary:hover { color: var(--color-burnt); background-color: var(--color-darkvanila); }
.button-outline { color: var(--color-cream); border: 2px solid var(--color-cream); background-color: transparent; }
.button-outline:focus,
.button-outline:hover { color: var(--color-burnt); border: 2px solid var(--color-cream); background-color: var(--color-cream); }
.button-big { min-width: 260px; }
.btn-link { text-decoration: underline; color: var(--color-near-black); }
.btn-link:focus,
.btn-link:hover { text-decoration: none; }

/* ### select2 ### */
.select2-dropdown { box-shadow: 0 0 20px rgba(0,0,0, .20); border: 0; }
.select2-results__option { padding: 13px 16px; }
.select2-container--default .select2-selection--single { border: 0; background: #fff url('../images/select-arrow.png') center right 16px no-repeat; appearance: none; }
.select2-container .select2-selection--single .select2-selection__rendered { padding: 0; }
.select2-search--dropdown { display: none; }
.select2-container--default .select2-selection--single .select2-selection__arrow { display: none; }
.select2-container--default .select2-results>.select2-results__options { max-height: unset; }
.select2-container--default .select2-results__option--selected { background-color: var(--color-cream); }
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable { background-color: var(--color-secondary) }

/* ### wrapper ### */
#wrapper { padding-top: 61px; position: relative; display: block; width: var(--w-100); min-height: var(--h-100); overflow-y: clip; }

/* ### header ### */
.header { position: fixed; top: 0; z-index: 9; width: var(--w-100); transition: var(--base-duration); }
.header-top { display: none; flex-wrap: wrap; align-items: center; justify-content: flex-end; font-size: 12.6px; background-color: var(--color-primary); }
.header-top p { margin-bottom: 0; display: none; }
.header-top a { padding: 10px 0 9px 20px; color: var(--color-burnt); border-left: 1px solid rgba(41, 11, 8, 0.1); }
.header-top a:focus,
.header-top a:hover { text-decoration: none; }
.header-holder { padding-top: 20px; padding-bottom: 20px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; background-color: var(--color-cream); }
.header-logo { width: 220px; }
.header-logo img { width: 100%; }
.header-holder .button { display: none; }
.header.active { transform: translateY(0) !important; }

/* ### header-menu ### */
.header-menu { display: none; }
.header-menu ul { display: flex; flex-wrap: wrap; justify-content: center; }
.header-menu li { margin-right: 25px; padding-top: 25px; padding-bottom: 24px; position: relative; }
.header-menu li:last-of-type { margin-right: 0; }
.header-menu li a { display: inline-flex; align-items: center; font-weight: 700; text-decoration: none; color: var(--color-burnt); transition: var(--base-duration);  white-space: nowrap; }
.header-menu li a i { margin-top: 3px; margin-left: 6px; font-size: 6.3px; }
.header-menu li a:focus,
.header-menu li a:hover,
.header-menu li:hover > a { color: var(--color-secondary); }
.header-menu li ul { padding: 10px 0; position: absolute; top: 100%; left: 0; display: block; opacity: 0; visibility: hidden; background-color: var(--color-cream); transition: var(--base-duration); box-shadow: 0 2px 5px rgb(0, 0, 0, 0.16); }
.header-menu li:hover ul { opacity: 1; visibility: visible; }
.header-menu li:hover li ul { opacity: 0; visibility: hidden; }
.header-menu li li { margin-right: 0; margin-bottom: 2px; padding: 0 15px; position: relative; }
.header-menu li li:last-of-type { margin-bottom: 0; }
.header-menu li li:hover ul { opacity: 1; visibility: visible; }
.header-menu li li ul { position: absolute; top: 0; left: 100%; }
.header-menu li li a { display: block; }
.header-menu li li a:focus,
.header-menu li li a:hover { color: var(--color-secondary); }
.header-menu li li:hover a { color: var(--color-secondary); }
.header-menu li li:hover li a { color: var(--color-text); }
.header-menu li li li a:focus,
.header-menu li li li a:hover { color: var(--color-secondary); }

/* ### Mobile Menu ### */
.mobile-menu { position: absolute; top: 7px; right: 0; transition: var(--base-duration); }
.mobile-menu .hamburger { position: absolute; top: 5px; right: 20px; display: flex; align-items: center; color: var(--color-primary); transition: all 0.3s ease-in-out; cursor: pointer; }
.mobile-menu label { margin-bottom: 0; }
.m-menu__checkbox { display: none !important; }
.m-menu__toggle { margin-left: -8px; padding-top: 5px; cursor: pointer; }
.m-menu { position: fixed; top: 0; right: -768px; z-index: 2; opacity: 0; visibility: hidden; width: calc(100vw - 30px); max-width: 768px; height: 100vh; background-color: var(--color-cream); -o-transform: translate3d(-450px, 0, 0); transform: translate3d(768px, 0, 0); transition: transform 0.35s; overflow: hidden; }
.m-menu__overlay { position: absolute; top: 0; bottom: 0; z-index: 1; display: none; width: var(--w-100); background-color: rgba(103, 103, 103, 0.5); }
.m-menu__header { padding: 0 16px; display: flex; align-items: center; height: 61px; border-bottom: 1px solid var(--color-burnt); }
.m-menu__header span { width: var(--w-100); text-align: center; color: var(--color-white); }
.m-menu .m-menu { transform: translate3d(768px, 0, 0); }
.m-menu .header-submenu { padding: 5px 0; border-bottom: 1px solid var(--color-burnt); }
.m-menu ul { height: 100%; overflow-y: auto; }
.m-menu ul li { margin-right: 0 !important; position: relative; display: block !important; }
.m-menu ul li ul { display: block !important; }
.m-menu ul li a { font-weight: 700; }
.m-menu ul li a:focus,
.m-menu ul li a:hover { text-decoration: none !important; color: var(--color-secondary); }
.m-menu ul li a,
nav .m-menu ul li label { padding: 0 15px; position: relative; display: block; line-height: 47px; text-align: left; text-decoration: none; color: var(--color-burnt); border-bottom: 1px solid var(--color-burnt); cursor: pointer; }
nav .m-menu ul li label { border-bottom: 0; }
.m-menu .btn-last { padding: 15px 10px; border-bottom: 0; }
.m-menu .button { display: flex; align-items: center; justify-content: center; color: var(--color-white); border: 0; background-color: var(--color-secondary); }
.m-menu .button:focus,
.m-menu .button:hover { background-color: var(--color-darkvanila); }
.m-menu .button.button-arrow:after { height: 42px; }
.m-menu ul li label.a-label__chevron { padding: 0 25px; position: absolute; top: 0; right: 0; display: inline-block; height: 48px; border-left: solid 1px var(--color-burnt); }
.m-menu ul li label.a-label__chevron:after { padding: 5px; position: absolute; top: 19px; right: 20px; display: inline-block; width: 0; height: 0; border-color: var(--color-burnt); border-style: solid; border-width: 1px 1px 0 0; transform: rotate(45deg); content: ''; }
.m-menu ul li .-invisible { border-bottom: 0; }
.m-menu .m-menu label.m-menu__toggle { margin: 0 !important; padding: 0 0 0 10px; display: flex; border-bottom: 0; }
.m-menu__checkbox:checked ~ .m-menu__overlay { display: block; }
.m-menu__checkbox:checked ~ .m-menu { right: 0; opacity: 1; visibility: visible; transform: translate3d(0, 0, 0); }

/* ### hero ### */
.hero { padding-top: 50px; padding-bottom: 20px; position: relative; overflow-x: clip; z-index: 2; }
.hero h1 { margin-bottom: 15px; font-weight: 600; color: var(--color-white); }
.hero-text { margin-bottom: 20px; position: relative; z-index: 1; display: flex; flex-direction: column; }
.hero-text .content { width: var(--w-100); color: var(--color-white); }
.hero-row { margin-top: 40px; display: flex; }
.hero-review { font-size: 9px; }
.hero-client-title,
.hero-review-title { font-family: var(--font-family-heading), sans-serif; font-weight: 300; line-height: 1; color: var(--color-white); }
.hero-review-wrap { display: flex; align-items: center; }
.hero-review-icon { margin-right: 7px; }
.hero-stars { position: relative; display: inline-flex; white-space: nowrap; }
.hero-stars-on { position: absolute; top: 0; left: 0; overflow: hidden; }
.hero-stars-off,
.hero-stars-on { display: flex; white-space: nowrap; }
.hero-star { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; margin-right: 2px; width: 13px; height: 13px; font-size: 7.2px; color: var(--color-white); background-color: var(--color-sand); }
.hero-stars-on .hero-star { background-color: var(--color-secondary); }
.hero-review .btn-link { color: var(--color-white); }
.hero-clients { display: flex; align-items: center; font-size: 9px; margin-right: 5px; padding-right: 5px; border-right: 1px solid rgba(54, 55, 46, 0.06); color: var(--color-white); }
.hero-clients p { margin-bottom: 0; }
.hero-clients ul { margin-right: 10px; display: flex; }
.hero-clients li { margin-left: -22px; }
.hero-clients li img { border: 1px solid var(--color-white); border-radius: 50%; width: 30px; }
.hero-clients li:first-of-type { margin-left: 0; }
.hero-image { position: absolute; top: 0; right: 0; width: var(--w-100); height: var(--h-100); overflow: hidden; }
.hero-image img { width: var(--w-100); height: var(--h-100); object-fit: cover; }

/* ### card-retreats ### */
.card-retreats { padding: 10px 20px 20px; max-width: 1024px; border: 1px solid var(--color-sand); border-radius: 10px; background-color: var(--color-white); text-align: left; margin-top: auto; }
.card-retreats-item { padding: 10px 0 10px 44px; position: relative; line-height: 1.35; border-bottom: 1px solid var(--color-sand); }
.card-retreats-info { position: relative; }
.card-retreats-info label { position: absolute; top: 2px; left: 0; display: block; font-family: var(--font-family-heading), sans-serif; font-weight: 700; letter-spacing: 0.4px; color: var(--color-burnt); pointer-events: none; font-size: 14.4px; }
.card-retreats-info .select2 { padding: 0; height: 60px; line-height: 60px; color: var(--color-burnt); border: 0; cursor: pointer;
background: url('../images/select-arrow.png') top 8px right 6px no-repeat; appearance: none; width: 100% !important; }
.card-retreats-info .select2-container--default .select2-selection--single { background: none; }
.card-retreats-info .select2-container .select2-selection--single .select2-selection__rendered { line-height: 80px; }
.card-retreats-info input { padding: 23px 0 0; border: 0; }
.card-retreats-item i.icon-angle-down { position: absolute; top: 10px; right: 0; font-size: 5.4px; }
.card-retreats-item i.icon-notification { position: absolute; top: 19px; left: 8px; font-size: 21.6px; }
.card-retreats .button { width: var(--w-100); }

/* ### usp ### */
.usp { padding-top: 12px; padding-bottom: 11px; background-color: var(--color-rose); }
.usp-holder { display: none; }
.usp-item { display: flex; align-items: center; justify-content: center; color: var(--color-white); }
.usp-item p { margin-bottom: 0; }
.usp-item i { margin-right: 10px; font-size: 24.3px; }

/* ### copy ### */
.popular { margin-bottom: 50px; padding-top: 50px; overflow: hidden; }
.popular .swiper { overflow: visible; }
.popular-button { margin-top: 30px; text-align: center; }

/* ### intro ### */
.intro { margin-bottom: 25px; }
.intro p:last-of-type { margin-bottom: 0; }

/* ### card-popular ### */
.card-popular { padding: 10px; display: block; width: var(--w-100); text-decoration: none; color: var(--color-text); border: 1px solid var(--color-sand); border-radius: 20px; height: 100%; background-color: var(--color-white); }
.card-popular-image { position: relative; border-radius: 20px; overflow: hidden; }
.card-popular-image img { width: var(--w-100); height: 257px; object-fit:cover; }
.card-popular-tag { padding: 4px 17px; position: absolute; top: 10px; right: 10px; display: inline-flex; align-items: center; justify-content: center; background-color: rgba(255, 250, 237, 0.9); border-radius: 55px; }
.card-popular-bottom-tag { position: absolute; bottom: 10px; left: 0; width: var(--w-100); text-align: center; }
.card-popular-tag.green { position: unset; inset: auto; color: var(--color-burnt); background-color: var(--color-primary);
font-family: var(--font-family-heading), sans-serif; font-weight: 700; border-radius: 0; }
.card-popular-text { padding: 21px 10px 10px; height: calc(100% - 257px); display: flex; flex-direction: column; }
.card-popular-title { margin-bottom: 23px; font-family: var(--font-family-heading), sans-serif; font-weight: 900; }
.card-popular-text ul { margin-bottom: 8px; }
.card-popular-text li { margin-bottom: 12px; padding-left: 23px; position: relative; line-height: 1.1; }
.card-popular-text li:last-of-type { margin-bottom: 0; }
.card-popular-text li:before { position: absolute; top: 5px; left: 0; font-family: var(--font-family-icon), sans-serif; font-size: 9.9px; color: var(--color-cgreen); content: '\e905'; }
.card-popular-price { margin-bottom: 24px; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; font-family: var(--font-family-heading), sans-serif; font-weight: 700; margin-top: auto;  border-top: 1px solid rgba(225, 216, 203, 0.6); padding-top: 26px; }
.card-popular-price strong { margin: 0 5px; font-size: 21.6px; font-weight: 900; }
.card-popular-text .button { width: var(--w-100); font-weight: 900; }
.card-popular:focus .button,
.card-popular:hover .button { color: var(--color-burnt); background-color: var(--color-darkvanila); }

.js-popular-slider .swiper-wrapper{ height: auto!important; }
.js-popular-slider .swiper-slide{ height: auto!important; }



/* ### image-text ### */
.image-text { padding-top: 40px; padding-bottom: 40px; background-color: var(--color-primary); }
.image-text-left { margin-bottom: 30px; }
.image-text-left h2 { margin-bottom: 25px; }
.image-text-right img { width: var(--w-100); }
.image-text.inner { padding-bottom: 0; background-color: var(--color-cream); }
.image-text.inner .image-text-right { margin: 0 -20px; width: calc(100% + 40px); }
.image-text.reverse { flex-direction: row-reverse; justify-content: space-between; background-color: var(--color-cream); }
.image-text.reverse .image-text-right img { margin-left: unset; }
.image-text ul, .image-text ol{ padding-left: 16px; margin-bottom: 28px; }
.image-text ul li{ list-style: disc; }
.image-text ol li{ list-style: decimal; }


/* ### heart ### */
.heart { padding-top: 50px; padding-bottom: 50px; text-align: center; background-color: var(--color-secondary); }
.heart h2 { margin-bottom: 25px; color: var(--color-cream); }
.heart-icon { margin-bottom: 26px; }
.heart-icon img { margin: 0 auto; max-width: 88px; height: auto; }
.heart-item { margin-bottom: 30px; line-height: 1.4; color: var(--color-cream); }
.heart-text strong { margin-bottom: 2px; display: block; font-size: 20.7px; line-height: var(--heading-lineheight);
font-family: var(--font-family-heading), sans-serif; }
.heart-text p:last-of-type { margin-bottom: 0; }
.heart-item:last-of-type { margin-bottom: 0; }

/* ### review ### */
.review { padding-top: 50px; padding-bottom: 50px; background-color: var(--color-primary); }
.review h2 { margin-bottom: 30px; text-align: center; }
.review-holder { margin-bottom: 30px; display: grid; grid-template-columns: repeat(1, 1fr); gap: 30px; }
.review-button { text-align: center; }

/* ### card-video ### */
.card-video { position: relative; display: block; width: var(--w-100); }
.card-video img { width: var(--w-100); }
.card-video-icon { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.card-video-icon img { width: auto; height: auto; }
.card-video.show-desktop { display: none; }

/* ### card-review ### */
.card-review { padding: 20px; border: solid 1px rgba(225, 216, 203, 0.6); border-radius: 20px; text-align: center;  }
.card-review h6 { margin-bottom: 34px; padding-top: 3px; font-family: var(--font-family-base), sans-serif; letter-spacing: normal; }
.card-review-rating { margin-bottom: 22px; display: flex; justify-content: center; }
.card-review-rating i { margin-right: 1px; display: block; font-size: 21.6px; }
.card-review p { margin-bottom: 22px; }
.card-review p a { color: var(--color-text); }
.card-review p a:focus,
.card-review p a:hover { text-decoration: none; }
.card-review-client { display: flex; align-items: center; justify-content: center; }
.card-review-client img { flex: 0 0 auto; width: 40px; height: 40px; border: 1px solid var(--color-text); border-radius: 50%; }
.card-review-client strong { margin-left: 10px; display: block; font-family: var(--font-family-heading), sans-serif; }
.card-review-photos { margin-top: 20px; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.card-review-photos a { display: block; width: 70px; height: 70px; border-radius: 10px; overflow: hidden; }
.card-review-photos img { width: var(--w-100); height: var(--h-100); object-fit: cover; transition: var(--base-duration); }
.card-review-photos a:focus img,
.card-review-photos a:hover img { transform: scale(1.05); }

/* ### theme ### */
.theme { padding-top: 50px; padding-bottom: 50px; background-color: var(--color-cream); }


/* ### card-theme ### */
.card-theme { position: relative; display: block; width: var(--w-100); color: var(--color-cream); overflow: hidden; }
.card-theme img { width: var(--w-100); transition: var(--base-duration); }
.card-theme-text { padding: 0 80px 30px 20px; position: absolute; bottom: 0; left: 0; z-index: 1; width: var(--w-100); font-family: var(--font-family-heading),sans-serif; font-weight: 700; line-height: var(--heading-lineheight); }
.card-theme-text i { position: absolute; top: -8px; right: 20px; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; font-size: 12.6px; border-radius: 50px; background-color: var(--color-secondary); }
.card-theme:focus img,
.card-theme:hover img { transform: scale(1.05); }

/* ### subscribe ### */
.subscribe { padding-top: 50px; padding-bottom: 50px; background-color: var(--color-primary); }
.subscribe-field { margin-bottom: 16px; }
.subscribe-field .button { padding: 10px; width: var(--w-100); }
.subscribe-check { margin-top: 12px; }
.subscribe-check label { padding-left: 31px; position: relative; display: block; font-size: 12.6px; }
.subscribe-check input[type='checkbox'] { position: absolute; top: 50%; left: 0; border: 1px solid var(--color-soft-blue); background-color: transparent; transform: translateY(-50%); }
.subscribe-check input[type='checkbox']:checked:before { background-color: var(--color-soft-blue); }
.subscribe-check label a { color: var(--color-text); }
.subscribe-check label a:focus,
.subscribe-check label a:hover { text-decoration: none; }
.subscribe-image { display: none; }
.subscribe-image img { width: var(--w-100); }

/* ### notification ### */
.notification { margin-bottom: 40px; position: relative;  }
.notification .card-retreats { margin: 0  0 0 -20px; width: calc(100% + 40px); border-radius: 0; }

/* ### filters ### */
.filters { margin-bottom: 50px; }
.filters-left { padding: 50px 20px 20px; position: fixed; top: 0; left: 0; z-index: 10; opacity: 0; visibility: hidden; width: var(--w-100); height: 100vh; background-color: var(--color-off-white); transition: var(--base-duration); overflow-y: auto; }
.filters-left.is-active { opacity: 1; visibility: visible; }
.filters-left .js-close-filter { position: absolute; top: 10px; right: 20px; display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; font-size: 10.8px; color: var(--color-white); border: 0; border-radius: 6px; background-color: var(--color-secondary); cursor: pointer; }
.filters-toggle { margin-bottom: 20px; border: 1px solid rgba(225, 216, 203, 0.6); border-radius: 20px; }
.filters-toggle-title { padding: 14px 40px 14px 20px; position: relative; font-family: var(--font-family-heading), sans-serif; font-weight: 900; cursor: pointer; }
.filters-toggle-title:after { position: absolute; top: 50%; right: 20px; font-family: var(--font-family-icon), sans-serif; font-size: 6.3px; transform: translateY(-50%); transition: var(--base-duration); content: '\e900'; }
.filters-toggle-title.is-active:after { transform: translateY(-50%) rotate(-180deg); }
.filters-toggle-title.filters-check { padding-left: 20px; }
.filters-toggle-title.filters-check:after { display: none; }
.filters-toggle-title.filters-check input[type='checkbox'] { right: 20px; left: auto; border-radius: 0; }
.filters-toggle-title.filters-check input[type='checkbox']:checked:before { border-radius: 0; }
.filters-wrap { max-height: 0; overflow: hidden; transition: max-height 0.4s ease; }
.filters-item { margin-bottom: 4px; padding: 0 20px; }
.filters-group { margin-bottom: 18px; }
.filters-group:last-of-type { margin-bottom: 0; }
.filters-group-title { margin-bottom: 8px; padding: 0 20px; font-family: var(--font-family-heading), sans-serif; font-weight: 900; }
.filters-group .filters-more { margin: 8px 24px 0; }
.filters-item.is-leeg,
.filters-radio.is-leeg,
.filters-group.is-leeg,
.filters-toggle.is-leeg,
.filters-more.is-leeg { display: none; }
.filters-item.hidden { display: none; }
.filters-check { padding-left: 30px; position: relative; display: block; }
.filters-check input[type='checkbox'] { position: absolute; top: 50%; left: 0; width: 20px; height: 20px; border: 1px solid var(--color-soft-blue); border-radius: 6px; cursor: pointer; transform: translateY(-50%); }
.filters-check input[type='checkbox']:checked:before { position: absolute; top: -1px; left: -1px; display: flex; align-items: center; justify-content: center; width: 19px; height: 19px; font-family: var(--font-family-icon), sans-serif; font-size: 9px; color: var(--color-white); border: 1px solid var(--color-burnt); border-radius: 6px; background-color: var(--color-burnt); content: '\e905'; }
.filters-more { margin: 0 24px 24px; display: inline-flex; align-items: center; font-family: var(--font-family-base), sans-serif; font-weight: 900; color: var(--color-burnt); border: 0; background-color: transparent; transition: var(--base-duration); cursor: pointer; }
.filters-more i { margin-right: 15px; display: inline-block; font-size: 6.3px; transition: var(--base-duration); }
.filters-more:focus,
.filters-more:hover { color: var(--color-secondary); }
.filters-more.is-expanded i { transform: rotate(180deg); }
.filters-row { padding: 0 20px 20px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px 15px; }
.filters-radio { padding: 10px; position: relative; display: flex; align-items: center; height: 60px; border: 1px solid var(--color-soft-blue); }
.filters-radio input[type='checkbox'] { position: absolute; top: 0; left: 0; opacity: 0; width: var(--w-100); height: var(--h-100); cursor: pointer; }
.filters-radio i { margin-right: 10px; position: relative; z-index: 1; cursor: pointer; }
.filters-radio strong { position: relative; z-index: 1; display: block; font-size: 12.6px; cursor: pointer; }
.filters-radio:has(input[type='checkbox']:checked) { color: var(--color-white); border: 1px solid var(--color-burnt); background-color: var(--color-burnt); }
.filters-radio:has(input[type='checkbox']:checked) img { filter: brightness(0) invert(1); }
.filters-tag { display: flex; flex-wrap: wrap; }
.filters-tag button { margin-right: 10px; margin-bottom: 10px; padding: 5px 17px 6px; display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-family-base), sans-serif; font-weight: 500; line-height: var(--heading-lineheight); color: var(--color-burnt); border: 2px solid var(--color-burnt); border-radius: 30px; background-color: var(--color-white); cursor: pointer; }
.filters-tag span:last-of-type { margin-right: 0; }
.filters-right h6 { margin-bottom: 14px; font-weight: 500; }
.filters-right .card-filter { margin-bottom: 20px; }
.filters-view-more { margin-top: 30px; text-align: center; }
.filters-view-more .button { color: var(--color-white); }

/* ### card-filter ### */
.card-filter { padding: 19px; display: block; width: var(--w-100); text-decoration: none; color: var(--color-text); border: 1px solid var(--color-sand); border-radius: 20px; }
.card-filter-image { position: relative; border-radius: 20px; overflow: hidden; }
.card-filter-image img { width: var(--w-100); }
.card-filter-tag { padding: 4px 17px; position: absolute; top: 10px; right: 10px; display: inline-flex; align-items: center; justify-content: center; background-color: rgba(255, 250, 237, 0.9); }
.card-filter-text { padding: 21px 10px 0; }
.card-filter-title { margin-bottom: 18px; font-family: var(--font-family-heading), sans-serif; font-weight: 900; }
.card-filter-text ul { margin-bottom: 19px; padding-bottom: 22px; border-bottom: 1px solid rgba(225, 216, 203, 0.6); }
.card-filter-text li { margin-bottom: 12px; padding-left: 23px; position: relative; line-height: 1.1; }
.card-filter-text li:last-of-type { margin-bottom: 0; }
.card-filter-text li:before { position: absolute; top: 5px; left: 0; font-family: var(--font-family-icon), sans-serif; font-size: 9.9px; color: var(--color-cgreen); content: '\e905'; }
.card-filter-price { margin-bottom: 20px; display: flex; align-items: center; justify-content: center; font-family: var(--font-family-heading), sans-serif; font-weight: 700; }
.card-filter-price strong { margin: 0 5px; font-size: 21.6px; font-weight: 900; }
.card-filter-text .button { width: var(--w-100); font-weight: 900; }
.card-filter:focus .button,
.card-filter:hover .button { color: var(--color-burnt); background-color: var(--color-darkvanila); }

/* ### testimonial ### */
.testimonial { padding-top: 50px; padding-bottom: 50px; position: relative; text-align: center; background-color: var(--color-secondary); }
.testimonial-holder { position: relative; z-index: 1; }
.testimonial h2 { margin-bottom: 25px; color: var(--color-cream); }
.testimonial-text { color: var(--color-cream); }
.testimonial-star { margin-bottom: 20px; display: flex; justify-content: center; }
.testimonial-star i { margin-right: 1px; display: block; font-size: 21.6px; }
.testimonial-title { display: block; font-weight: 700; }
.testimonial-client { display: flex; align-items: center; justify-content: center; font-family: var(--font-family-heading), sans-serif; }
.testimonial-client img { flex: 0 0 auto; width: 40px; height: 40px; border: 1px solid var(--color-text); border-radius: 50%; }
.testimonial-client strong { margin-left: 10px; display: block; }
.testimonial-bg { position: absolute; top: 0; left: 0; opacity: 0.1; width: var(--w-100); height: var(--h-100); }
.testimonial-bg img { width: var(--w-100); height: var(--h-100); object-fit: cover; }
.testimonial-nav { margin-bottom: 30px; display: flex; align-items: center; justify-content: center; }
.testimonial .swiper { margin: 0 auto 30px; max-width: 816px; }
.testimonial .swiper-button-prev,
.testimonial .swiper-button-next { margin-top: 0; position: unset; inset: auto; z-index: 1; width: auto; height: auto; font-size: 21.6px; color: var(--color-cream); background-color: transparent; }
.testimonial .swiper-button-prev { margin-right: 20px; }
.testimonial .swiper-button-next { margin-left: 20px; }
.testimonial .swiper-button-prev:focus,
.testimonial .swiper-button-prev:hover,
.testimonial .swiper-button-next:focus,
.testimonial .swiper-button-next:hover { background-color: transparent; }

/* ### trip ### */
.trip { padding-top: 50px; padding-bottom: 50px; background-color: var(--color-cream); }
.trip-handle { margin-bottom: 28px; position: sticky; top: 60px; display: none; border-bottom: 1px solid var(--color-text); background-color: var(--color-cream); }
.trip-handle button { padding-bottom: 14px; position: relative; font-family: var(--font-family-base), sans-serif; font-weight: 700; color: var(--color-text); border: 0; background-color: transparent; transition: var(--base-duration); cursor: pointer; }
.trip-handle button:after { position: absolute; bottom: 0; left: 0; width: 0; height: 4px; background-color: var(--color-text); transition: var(--base-duration); content: ''; }
.trip-handle button.is-active:after,
.trip-handle button:focus:after,
.trip-handle button:hover:after { width: var(--w-100); }
.trip .select2 { padding: 0; font-weight: 700; font-family: var(--font-family-heading), sans-serif; margin-bottom: 20px !important; position: sticky; top: 60px; width: 100% !important; background-color: var(--color-cream); color: var(--color-text); border: 0; }
.trip .select2-container .select2-selection--single { height: 60px; background-color: var(--color-cream); color: var(--color-text); }
.trip .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 60px; }
.trip-content { display: none; }
.trip-content.is-active { display: block; }
.trip-text h2 { margin-bottom: 25px; }
.trip-text p { margin-bottom: 25px; }
.trip-text h3 { margin-bottom: 8px; font-size: var(--font-size-h5); }
.trip-text h4 { margin-bottom: 8px; font-size: var(--font-size-h6); }
.trip-image { margin-bottom: 25px; }
.trip-image img { width: var(--w-100); }
.trip-text img { width: 100%;}
.trip-text figure{ max-width: 100%!important; }
.trip-contents ol, .trip-contents ul{ padding-left: 16px; margin-bottom: 28px; }
.trip-contents ol li{ list-style: decimal; }
.trip-contents ul li{ list-style: disc; }


/* ### grow ### */
.grow { padding-bottom: 40px; padding-top: 40px; }
.grow-holder { padding: 25px 20px; background-color: var(--color-cream); }
.grow-text { margin-bottom: 40px; color: var(--color-burnt); }
.grow h2 { margin-bottom: 20px; color: var(--color-burnt); }
.grow p { margin-bottom: 20px; }
.grow p:nth-child(3) { margin-bottom: 0; }
.grow ul { margin-bottom: 20px; }
.grow p a,
.grow li a { color: var(--color-burnt); }
.grow p a:focus,
.grow p a:hover,
.grow li a:focus,
.grow li a:hover { text-decoration: none; }
.grow-image img { width: var(--w-100); }

/* ### thank-you ### */
.thank-you { padding-bottom: 40px; padding-top: 40px; text-align: center; }
.thank-you-holder { margin: 0 auto; max-width: 608px; }
.thank-you-text { margin: 0 auto 32px; max-width: 450px; }
.thank-you-text p { margin-bottom: 28px; }
.thank-you-image img { width: var(--w-100); }

/* ### seeker ### */
.seeker { margin-bottom: 50px; padding-top: 40px; }
.seeker-column { margin-bottom: 16px; }
.seeker-button { margin-top: 7px; text-align: center; }
.seeker-button .button { color: var(--color-white); }

/* ### card-seeker ### */
.card-seeker { position: relative; display: block; width: var(--w-100); height: 280px; text-decoration: none; overflow: hidden; }
.card-seeker img { width: var(--w-100); height: var(--h-100); object-fit: cover; transition: var(--base-duration); }
.card-seeker-tag { padding: 4px 10px; position: absolute; top: 10px; right: 10px; z-index: 1; display: inline-flex; align-items: center; justify-content: center; color: var(--color-text); background-color: rgba(255, 250, 237, 0.9); }
.card-seeker-text { padding: 50px 20px 20px 20px; position: absolute; bottom: 0; left: 0; width: var(--w-100); line-height: 1.25; color: var(--color-white); z-index: 1; }
.card-seeker-text:after { content:''; position: absolute; top: 0; left: 0; width: var(--w-100); height: var(--h-100); opacity: 0; visibility: hidden; background: linear-gradient(to top, rgba(0,0,0,0.9) 40%,rgba(0,0,0,0) 100%); z-index: -1; transition: var(--base-duration); }
.card-seeker-title { margin-bottom: 5px; font-family: var(--font-family-heading), sans-serif; font-weight: 900; }
.card-seeker-text p { text-overflow: ellipsis; }
.card-seeker-text p:last-of-type { margin-bottom: 0; }
.card-seeker-info { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.card-seeker:focus img,
.card-seeker:hover img { transform: scale(1.03); }
.card-seeker:hover .card-seeker-text:after { opacity: 1; visibility: visible; }

/* ### card-quiz ### */
.card-quiz { padding: 25px 20px; color: var(--color-white); background-color: var(--color-secondary); }
.card-quiz h2 { margin-bottom: 20px; color: inherit; }
.card-quiz p { margin-bottom: 20px; }
.card-quiz .button { color: var(--color-white); }

/* ### review-block ### */
.review-block { padding-bottom: 40px; padding-top: 40px; }
.review-block-holder { display: grid; grid-template-columns: repeat(1, 1fr); gap: 30px; }
.review-block .card-video { height: 100%; }
.review-block-button { margin-top: 30px; text-align: center; }
.review-block-button .button { color: var(--color-white); }

.review-block-column { padding: 20px; border: 1px solid var(--color-sand); border-radius: 20px; }
/* De kolom heeft al een kader en padding. Zonder deze regel krijgt een
   tekstreview er een tweede omheen, want .card-review brengt zijn eigen rand
   mee voor het gebruik in de sliders elders op de site. */
.review-block-column .card-review { padding: 0; border: 0; border-radius: 0; }


/* ### banner ### */
.banner { padding-top: 70px; padding-bottom: 10px; position: relative; min-height: 410px; }
.banner h1 { margin-bottom: 30px; font-weight: 400; color: var(--color-cream); }
.banner-wrap { position: relative; z-index: 1; display: flex; flex-direction: column; width: var(--w-100); min-height: 310px; text-align: center; }
.banner-intro { margin: 0 auto; width: var(--w-100); font-family: var(--font-family-base), sans-serif;
font-weight: 600; color: var(--color-cream); }
.banner-bg-image { position: absolute; top: 0; left: 0; width: var(--w-100); height: var(--h-100); }
.banner-bg-image img { width: var(--w-100); height: var(--h-100); object-fit: cover; }
.banner .breadcrumb { margin-top: auto; position: absolute; z-index: 200; bottom: 10px; width: 100%; left:0; }
.banner .breadcrumb.centered { bottom: 0px;}
.banner .card-retreats { margin-bottom: 20px; }
.banner.inner { padding-top: 70px; min-height: 350px; }
.banner.inner .banner-wrap { min-height: 260px; }
.banner.inner .banner-intro { font-weight: 600; color: var(--color-cream); }
/* De kleine banner heeft geen kaartje of breadcrumb en dus ook de ruimte van
   .banner niet nodig. Eigen padding, anders telt de 70px van .banner mee
   bovenop de min-height. */
/* Blogbanner: kop met breadcrumb, verder geen kaartje.
   De breadcrumb staat hier in de flow en niet absoluut onderin. Bij deze lagere
   banner zou hij anders over de tekst heen vallen; nu schuift hij mee. */
.banner.is-blog { padding-top: 40px; padding-bottom: 24px; }
.banner.is-blog,
.banner.is-blog .banner-wrap { min-height: 160px; }
.banner.is-blog h1 { margin-bottom: 14px; }
.banner.is-blog .breadcrumb { position: static; margin-top: 18px; bottom: auto; }

.banner.is-alt { padding-top: 40px; padding-bottom: 20px; }
.banner.is-alt,
.banner.is-alt .banner-wrap { min-height: 140px; }
.banner.is-alt h1 { margin-bottom: 14px; }

/* ### breadcrumb ### */
.breadcrumb ul { display: flex; flex-wrap: wrap; justify-content: center; width: var(--w-100); }
.breadcrumb li { position: relative; font-size: 10.8px; font-weight: 400; color: var(--color-cream); }
.breadcrumb li a { text-decoration: underline; color: var(--color-cream); }
.breadcrumb li a:focus,
.breadcrumb li a:hover { text-decoration: none; }
.breadcrumb li:not(:last-child):after { margin: 0 10px; display: inline-block; vertical-align: baseline; content: '|'; }
.breadcrumb.is-black { margin-bottom: 21px; }
.breadcrumb.is-black ul { justify-content: unset; }
.breadcrumb.is-black li,
.breadcrumb.is-black li a { font-family: var(--font-family-base), sans-serif; color: var(--color-text); }
.breadcrumb.is-black li:not(:last-child):after { margin: 0 9px; }

/* ### breadcrumb — Rank Math (nav.rank-math-breadcrumb > p) ### */
.breadcrumb .rank-math-breadcrumb { margin: 0; }
.breadcrumb .rank-math-breadcrumb p { margin: 0; display: flex; flex-wrap: wrap; align-items: baseline; justify-content: center; width: var(--w-100); font-size: 10.8px; font-weight: 400; color: var(--color-cream); }
.breadcrumb .rank-math-breadcrumb a,
.breadcrumb .rank-math-breadcrumb .last { font-size: 10.8px; font-weight: 400; color: var(--color-cream); }
.breadcrumb .rank-math-breadcrumb a { text-decoration: underline; }
.breadcrumb .rank-math-breadcrumb a:focus,
.breadcrumb .rank-math-breadcrumb a:hover { text-decoration: none; }
.breadcrumb .rank-math-breadcrumb .separator { margin: 0 10px; color: var(--color-cream); }
.breadcrumb.is-black .rank-math-breadcrumb p { justify-content: unset; }
.heading-block .breadcrumb.is-black .rank-math-breadcrumb p { justify-content: center; }
.breadcrumb.is-black .rank-math-breadcrumb a,
.breadcrumb.is-black .rank-math-breadcrumb .last { font-family: var(--font-family-base), sans-serif; color: var(--color-text); }
.breadcrumb.is-black .rank-math-breadcrumb .separator { margin: 0 9px; color: var(--color-text); }
/* Optioneel: forceer hetzelfde scheidingsteken als het ontwerp ('|').
   Of stel '|' in onder Rank Math -> Algemene instellingen -> Breadcrumbs -> Scheidingsteken. */
/*
.breadcrumb .rank-math-breadcrumb .separator { font-size: 0; }
.breadcrumb .rank-math-breadcrumb .separator::before { content: '|'; font-size: 10.8px; }
*/

/* ### description ### */
.description { padding-top: 20px; padding-bottom: 20px; margin-bottom: 0; line-height: 1.55; }
.description h2 { margin-bottom: 23px; font-size: 22.5px; }
.description h3 { margin-bottom: 14px; font-size: 19.8px; }
.description h4 { font-size: var(--font-size-base); }
.description-intro p { margin-bottom: 44px; }
.description-intro p a { color: var(--color-secondary); }
.description-intro p a:hover { text-decoration: none; }
.description-intro a { color: var(--color-secondary); }
.description-intro a:hover { text-decoration: none; }
.description-intro em {font-style: italic; }
.description-intro ul, .description-intro ol  { margin-bottom: 41px; padding-left: 16px; }
.description-intro ul li { margin-bottom: 8px; list-style: disc; }
.description-intro ol li { margin-bottom: 8px; list-style: decimal; }
.description-intro li a { color: var(--color-secondary); }
.description-intro li a:focus,
.description-intro li a:hover { text-decoration: none; }
.linklijst{ list-style: none!important; padding-left: 0px!important; }
.linklijst li{ list-style: none!important; padding-left: 0px!important; }
.description-info { margin-bottom: 30px; text-align: center; }
.description-info p:last-of-type { margin-bottom: 0; }
.description-large { margin-bottom: 24px; font-family: var(--font-family-heading), sans-serif; font-size: 27px; font-weight: 700; line-height: 1.2; }
.description-column,
.description-column-3,
.description-column-4 { margin-bottom: 38px; }
.description-column.last { margin-bottom: 32px; }
.description .card-quote { margin-bottom: 60px; margin-left: -20px; margin-right: -20px; }

/* ### card-photo ### */
.card-photo { display: block; text-align: center; text-decoration: none; }
.card-photo span { padding: 0 15px; display: block; font-size: 16.2px; font-style: italic; color: var(--color-text); }
.card-photo-item { width: var(--w-100); height: var(--h-100); overflow: hidden; }
.card-photo img { width: var(--w-100); height: var(--h-100); object-fit: cover; transition: var(--base-duration); }
.card-photo:hover img { transform: scale(1.02); }

/* ### card-quote ### */
.card-quote { position: relative; }
.card-quote-photo { position: relative; width: var(--w-100); height: 310px; }
.card-quote-photo img { width: var(--w-100); height: var(--h-100); object-fit: cover; }
.card-quote-title { padding: 30px; position: absolute; top: 0; left: 0; display: flex; align-items: center; justify-content: center; width: var(--w-100); height: var(--h-100); font-family: var(--font-family-heading), sans-serif; font-size: 30.6px; font-weight: 700; line-height: 1.2; text-align: center; color: var(--color-white); }
.card-quote-author { padding: 0 10px; position: relative; width: var(--w-100); text-align: center; }
.card-quote-user { width: 110px; height: 110px; border: solid 4px var(--color-white); border-radius: 100%; overflow: hidden; margin: -50px auto 10px; }
.card-quote-user img { width: var(--w-100); height: var(--h-100); object-fit: cover; }

/* ### card-table ### */
.card-table { overflow-x: auto; }
.card-table table { width: 767px; }
.card-table tr th { padding: 0 20px; }
.card-table tr td { padding: 10px 20px; min-width: 192px; }
.card-table tr:nth-child(even) { background-color: var(--color-vanila); }

/* ### quiz ### */
.quiz { margin-bottom: 10px; }
.quiz h2 { color: var(--color-white); }
.quiz-block { padding: 30px; display: flex; flex-wrap: wrap; background-color: var(--color-rose); }
.quiz-intro { order: 2; line-height: 1.55; color: var(--color-white); }
.quiz-photo { margin-bottom: 30px; order: 1; width: var(--w-100); }
.quiz-photo img { width: var(--w-100); height: var(--h-100); object-fit: cover; }

/* ### photo-slider ### */
.photo-slider { margin-bottom: 6px; padding-top: 30px; }
.photo-slider-items { display: block; height: var(--h-100); }
.photo-slider-items img { width: var(--w-100); height: var(--h-100); object-fit: cover; aspect-ratio: 1/0.8; }
.photo-slider-all { padding: 11px 10px; position: absolute; right: 12px; bottom: 10px; z-index: 1; display: flex; align-items: center; font-family: var(--font-size-base), sans-serif; font-weight: 700; text-decoration: none; color: var(--color-burnt); border: 0; border-radius: 55px; background-color: var(--color-vanila); transition: var(--base-duration); cursor: pointer; }
.photo-slider-all img { margin-right: 10px; width: 20px; }
.photo-slider-all:hover { background-color: var(--color-primary); }
.photo-slider .swiper { margin-right: -20px; margin-left: -20px; }
.photo-slider .swiper-slide { height: auto; }


.photo-slider .swiper-slide img{ height: 360px; width: 100%; object-fit:cover; }


/* ### support ### */
.support { margin-bottom: 80px; display: flex; flex-wrap: wrap; }
.support h2 { margin-bottom: 15px;}
.support-left { margin-bottom: 70px; width: var(--w-100); border-bottom: solid 1px rgba(225, 216, 203, 0.6); }
.support-left ul, .support-left ol{ padding-left: 16px; margin-bottom: 28px; }
.support-left ul li{list-style: disc;}
.support-left ol li{list-style: decimal;}

.support-subtitle { margin-bottom: 14px; font-weight: 700; color: var(--color-burnt); }
.support-tag { margin-bottom: 20px; display: flex; flex-wrap: wrap; column-gap: 16px; row-gap: 16px; }
.support-name { padding: 2px 14px 3px; font-weight: 500; color: var(--color-text); border-radius: 35px; background-color: var(--color-cream); }
.support-nav-tab { margin-bottom: 30px; position: sticky; top: 52px; z-index: 2; display: none; flex-wrap: wrap; justify-content: space-between; column-gap: 10px; border-top: solid 2px rgba(225, 216, 203, 0.6); border-bottom: solid 2px rgba(225, 216, 203, 0.6); background-color: var(--color-off-white); }
.support-nav-tab button { padding: 19px 0; position: relative; font-family: var(--font-family-base), sans-serif; font-weight: 700; color: var(--color-text); border: 0; background-color: transparent; cursor: pointer; }
.support-nav-tab button:after { position: absolute; bottom: 0; left: 0; width: 0; height: 4px; background-color: var(--color-sand); transition: var(--base-duration); content: ''; }
.support-nav-tab button.is-active:after,
.support-nav-tab button:focus:after,
.support-nav-tab button:hover:after { width: var(--w-100); }
.support-right { width: var(--w-100); }
.support-content { margin-bottom: 25px; }
.support-content h2{ margin-bottom: 20px; font-family: var(--font-family-heading), sans-serif; font-weight: 700; line-height: var(--heading-lineheight); color: var(--color-text); font-size: var(--font-size-h3); }
.support-select { margin: 0 -20px 30px; padding: 18px 20px; position: sticky; top: 60px; z-index: 3; display: block; width: calc(100% + 40px); font-family: var(--font-family-heading), sans-serif; font-weight: 700; color: var(--color-text); border: 0; border-bottom: 1px solid rgba(225, 216, 203, 0.6); border-radius: 0; background-color: var(--color-off-white); }
.support-teaser { margin-bottom: 0; }
/* Zodra de volledige tekst is uitgeklapt is de teaser overbodig; hij toont de
   eerste alinea, die daaronder opnieuw begint. */
.is-uitgeklapt .support-teaser { display: none; }
.view-more-tab-content { margin-top: 20px; margin-bottom: 20px; display: inline-block; font-size: var(--font-size-base); font-family: var(--font-family-base) sans-serif; color: var(--color-text); border: 0; background-color: transparent; text-decoration: underline; }
.tab-content-mobile { display: none; }
.tab-content-mobile.is-active { display: block; }


.support-sticky {
  position: sticky;
  top: 85px;
  left: 0;
}


/* ### expect ### */
.expect h5 { margin-bottom: 15px; font-size: 19.8px; }
.expect-column,
.expect-column-3 { margin-bottom: 30px; padding-top: 12px; display: grid; align-items: flex-start; grid-template-columns: repeat(1, 1fr); column-gap: 16px; row-gap: 16px; }
.expect-photo { font-style: italic; text-align: center; }
.expect-photo img { margin-bottom: 3px; width: var(--w-100); aspect-ratio: 1/0.8; object-fit: cover; height: 340px; }
.expect-review { margin-bottom: 18px; }

/* ### card-package ### */
.card-package { padding: 20px 22px; display: flex; flex-direction: column; border: solid 1px rgba(225, 216, 203, 0.6); border-radius: 20px; }
.card-package em,
.card-package strong { margin-bottom: 10px; display: block; font-family: var(--font-family-heading), sans-serif; }
.card-package em { font-style: normal; font-weight: 400; }
.card-package ul { margin-bottom: 12px; padding-left: 0px!important; }
.card-package li { margin-bottom: 4px; padding-left: 23px; position: relative; list-style: none!important; }
.card-package li:before { position: absolute; top: 6px; left: 0; font-family: var(--font-family-icon), sans-serif; font-size: 9.9px; color: var(--color-cgreen); content: '\e905'; }
.card-package-price { margin-bottom: 16px; padding-top: 11px; font-weight: 400; border-top: solid 1px rgba(225, 216, 203, 0.6); }
.card-package-person { font-family: var(--font-family-heading), sans-serif; font-weight: 700; margin-bottom: 8px; text-align: center; }
.card-package-person:last-child { margin-bottom: 20px; }
.card-package-person small { font-size: 12.6px; }
.card-package-btn { margin-top: auto; display: flex; justify-content: center; }
.card-package-plus { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; text-decoration: none; color: var(--color-text); border: 0; border-radius: 55px; background-color: var(--color-vanila); cursor: pointer; font-size: 21.6px; transition: var(--base-duration); }
.card-package-plus:focus,
.card-package-plus:hover { background-color: var(--color-darkvanila); }

/* ### pakket dat nu niet te boeken is  ### */
/* De expert die aan dit pakket hangt is binnen het hele boekingsvenster niet
   beschikbaar. Het blok blijft staan — volgende maand kan het weer — maar mag
   terugtreden. */
.card-package.is-vol { opacity: 0.62; }
.card-package.is-vol .card-package-plus { pointer-events: none; opacity: 0.5; }
.card-package-vol { margin: -8px 0 16px; padding: 7px 12px; font-size: 12.6px; text-align: center; color: var(--color-text); border-radius: 12px; background-color: var(--color-vanila); }

/* ### facilities  ### */
.facilities h3 { font-weight: 400; }
.facilities h5 { margin-bottom: 15px; font-size: 19.8px; font-weight: 400; }
.facilities p { margin-bottom: 32px; }
.facilities-wrap { margin-bottom: 54px; display: flex; flex-wrap: wrap; }
.facilities-intro { width: var(--w-100); }
.facilities-map { position: relative; width: var(--w-100); }
.facilities-map img { width: var(--w-100); }
.facilities-plus { position: absolute; top: 50%; left: 50%; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; text-decoration: none; border-radius: 50px; background-color: var(--color-vanila); transform: translate(-50%, -50%); transition: var(--base-duration); }
.facilities-plus:focus,
.facilities-plus:hover { background-color: var(--color-cream); }
.facilities-store { margin-bottom: 8px; display: flex; flex-wrap: wrap; column-gap: 15px; row-gap: 15px; }
.facilities-store-icon { padding: 5px; display: flex; flex: auto; align-items: center; justify-content: center; max-width: 88px; max-height: 88px; border: solid 1px var(--color-vanila); }
.facilities p:last-of-type { margin-bottom: 11px; }

/* ### card-accordion ### */
.card-accordion { border-bottom: solid 1px var(--color-burnt); }
.card-accordion-title { padding: 26px 20px 26px 0px; position: relative; width: var(--w-100); font-family: var(--font-family-heading), sans-serif;
text-align: left; border: none; border-radius: 8px; background-color: transparent; cursor: pointer; font-weight: 700;  color: #000000;}
.card-accordion-title:after { position: absolute; top: 25px; right: 9px; color: var(--color-burnt); transition: var(--base-duration); content: '+'; }
.card-accordion-title.active:after { content: '-'; }
.card-accordion-text { max-height: 0; transition: max-height 0.4s ease; overflow: hidden; }
.card-accordion-text ul , .card-accordion-text ol { margin-bottom: 20px; padding-left: 16px; }
.card-accordion-text ul li{ list-style: disc; }
.card-accordion-text ol li { list-style: decimal; }
.card-accordion-space { padding: 0 19px 19px 0; }
.card-accordion-space *:last-child { margin-bottom: 0; }

/* ### faqs ### */
.faqs { margin-bottom: 50px; padding-top: 50px; padding-bottom: 50px; background-color: var(--color-cream); }

/* ### connect ### */
.connect { margin-bottom: 50px; padding-top: 50px; padding-bottom: 50px; display: flex; flex-wrap: wrap; justify-content: space-between; column-gap: 10px; background-color: var(--color-cream); }
.connect h2 { color: var(--color-burnt); }
.connect-intro { margin-bottom: 40px; padding-bottom: 40px; width: var(--w-100); font-weight: 500; line-height: 1.4; color: var(--color-burnt); border-bottom: solid 1px var(--color-burnt); }
.connect-intro p { margin-bottom: 26px; }
.connect-info { display: flex; flex-wrap: wrap; color: var(--color-burnt); column-gap: 75px; row-gap: 25px; }
.connect-call strong { display: block; }
.connect-call a { text-decoration: none; color: var(--color-burnt); }
.connect-call a:focus,
.connect-call a:hover { text-decoration: underline; }
.connect-right { width: var(--w-100); }

/* ### card-form ### */
.card-form label { font-weight: 700; }
.card-form-wrap { display: grid; grid-column-gap: 16px; grid-template-columns: repeat(1, 1fr); align-items: center; }
.card-form-group { margin-bottom: 26px; }
.card-form-check { padding-left: 31px; position: relative; font-family: var(--font-family-base), sans-serif; font-size: 13.5px; font-weight: 500; cursor: pointer; }
.card-form-check a { color: var(--color-burnt); }
.card-form-check a:hover { text-decoration: none; }
.card-form input[type='checkbox'] { position: absolute; top: -3px; left: 0; }
.card-form button { width: var(--w-100); }

/* ### heading-block ### */
.heading-block { padding-top: 40px; padding-bottom: 10px; text-align: center; }
.heading-block h1 { margin-bottom: 30px; font-weight: 600; }
.heading-block-text { margin-bottom: 50px; font-size: 21.6px; }
.heading-block .breadcrumb { margin-bottom: 0; }
.heading-block .breadcrumb.is-black ul { justify-content: center; }

/* ### attention ### */
.attention { padding-top: 40px; padding-bottom: 40px; text-align: center; }
.attention h3 { margin-bottom: 30px; }
.attention p { margin-bottom: 30px; }
.attention p:last-of-type { margin-bottom: 0; }

/* ### values ### */
.values { padding-top: 70px; padding-bottom: 50px; background-color: var(--color-secondary); }
.values .intro { margin-bottom: 65px; padding: 0; color: var(--color-cream); }
.values .intro h2 { color: var(--color-cream); }
.values .intro-left { max-width: 350px; }
.values .intro-right { max-width: 710px; }
.values-wrap { display: grid; grid-row-gap: 30px; grid-column-gap: 30px; grid-template-columns: repeat(1, 1fr); }
.values-info { padding-top: 24px; position: relative; color: var(--color-cream); }
.values-info strong { margin-bottom: 18px; display: block; font-family: var(--font-family-heading), sans-serif; font-weight: 900; }
.values-info:before { position: absolute; top: 0; left: 0; width: calc(100% - 110px); height: 4px; background-color: var(--color-cream); content: ''; }
.values-info p:last-of-type { margin-bottom: 0; }

/* ### card-book ### */
.card-book { margin-bottom: 20px; padding: 20px; border: solid 1px rgba(225, 216, 203, 0.6); border-radius: 20px; background-color: var(--color-cream); }
.card-book-photo { margin: -70px auto 0; text-align: center; }
.card-book-photo img { height: 110px; width: 110px; object-fit: cover; aspect-ratio: 1; border-radius: 50%; margin: 0 auto 20px; }
.card-book-name { font-size: 16.2px; font-family: var(--font-family-heading), sans-serif; font-weight: 700; text-transform: uppercase; color: var(--color-rose); }
.card-book-label { font-size: 16.2px; color: var(--color-rose); }
.card-book-lead { font-size: 22.5px; font-family: var(--font-family-heading), sans-serif; font-weight: 700; text-align: center; margin-bottom: 20px; }
.card-book-form { display: grid; grid-template-columns: repeat(1, 1fr); column-gap: 16px; }
.card-book-group { margin-bottom: 15px; position: relative; background-color: var(--color-white); border: 1px solid var(--color-vanila); }
.card-book-group .calendar-wrap { padding: 10px 5px 10px 40px; font-family: var(--font-family-heading), sans-serif; color: var(--color-text); height: 48px; line-height: 1.7; white-space: nowrap; }
.card-book-group .picker-panel { left: 0; }
.card-book-group i { position: absolute; top: 50%; left: 10px; font-size: 19.8px; transform: translateY(-50%); pointer-events: none; }

/* Geen enkel pakket boekbaar: de kaart wordt vervangen door een uitleg met een
   contactknop, in plaats van dat er een lege plek overblijft. */
.card-book--leeg { text-align: center; }
.card-book--leeg .card-book-note { margin-bottom: 18px; font-size: 13.5px; }
.card-book--leeg .button { width: var(--w-100); }

/* Datumkiezer in de boekingssidebar compacter dan de grote filter-picker, en
   zonder voettekst: bij één datum sluit hij direct na de keuze. */
.card-book .picker-panel { left: 0; right: auto; min-width: 0; width: 340px; max-width: calc(100vw - 40px); }
.card-book .calendar-area { padding: 12px 12px 4px; }
.card-book .desktop-nav { margin-bottom: 6px; }
.card-book .nav-btn { width: 28px; height: 28px; }
.card-book .desktop-month-slot { padding: 0; }
.card-book .day { font-size: 0.7rem; }
.card-book .picker-footer { display: none; }
.card-book p { margin-bottom: 12px; font-size: 12.6px; text-align: center; }
.card-book .select2 { margin-bottom: 10px; width: var(--w-100) !important; padding-left: 40px; border: solid 1px var(--color-vanila); background-color: #ffffff; }
.card-book .date-field .field-value { font-size: 14.4px; }
.card-book .select2-container .select2-selection--single { font-size: 14.4px; height: 48px; }
.card-book .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 48px; }
.card-book-person,
.card-book-type { position: relative; }
.card-book-type img,
.card-book-person img { position: absolute; top: 19px; left: 10px; width: 23px; }
.card-book-extra { position: relative; }
.card-book-extra .select2 { padding-left: 15px; }
.card-book-checkout { margin-bottom: 14px; font-size: 12.6px; text-align: center; color: var(--color-burnt); }
.card-book-deposit { margin-bottom: 16px; font-size: 12.6px; text-align: center; color: var(--color-text); }
.card-book-deposit small { display: block; color: var(--color-burnt); }
.card-book-note { margin-top: 10px; font-size: 11.7px !important; color: var(--color-burnt); }
/* Half doorzichtig maakte de knop onleesbaar in plaats van alleen inactief.
   Op 0.75 blijft zichtbaar dat hij nog niet klikbaar is, maar kun je wel lezen
   wat er straks gaat gebeuren. */
.card-book .button[disabled] { opacity: 0.75; cursor: not-allowed; }
.card-book-price { margin-bottom: 20px; width: var(--w-100); font-family: var(--font-family-heading), sans-serif; font-size: 19.8px; font-weight: 900; line-height: normal; text-align: center; color: var(--color-text); }
.card-book-price strong { font-weight: 700; }
.card-book-price small { font-weight: 700; }
.card-book-price-sum { display: block; }
.card-book-price-meta { display: block; margin-top: 4px; }
.card-book-price-meta small { font-size: 13.5px; font-weight: 400; line-height: 1.35; }
.card-book-facility { margin-bottom: 20px; display: flex; justify-content: space-between; column-gap: 5px; }
.card-book-icon { padding: 5px; position: relative; display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border: solid 1px var(--color-vanila); cursor: pointer; }
.card-book-icon img { width: var(--w-100); }
.card-book .button { margin-bottom: 10px; width: var(--w-100); height: 48px; }
.card-book-icon span { padding: 3px 8px;
	position: absolute;
	bottom: calc(100% + 6px);
	left: 50%;
	opacity: 0;
	visibility: hidden;
	width: max-content;
	font-size: 11.7px;
	color: var(--color-white);
	border-radius: 6px;
	background-color: var(--color-black);
	transform: translateX(-50%);
	transition: var(--base-duration); }
.card-book-icon span:after { position: absolute; bottom: -5px; left: 50%; width: 0; height: 0; border-color: var(--color-black) transparent transparent transparent; border-style: solid; border-width: 6px 6px 0; transform: translateX(-50%); content: ''; }
.card-book-icon:focus span,
.card-book-icon:hover span { opacity: 1; visibility: visible; }

/* Boekkaart een tint donkerder. De kaart, de boekknop en de vraagknop lagen zo
   dicht bij elkaar dat de lichtste wegviel tegen de achtergrond. Alleen binnen
   .card-book, want --color-cream en --color-vanila worden op de hele site
   gebruikt. */
.card-book { --kaart-creme: #f8f1e0; --knop-vanille: #e9ded0; --knop-vanille-hover: #f5e6bd; --knop-roze: #b8a0a4; --knop-roze-hover: #9e737c; }
.card-book { background-color: var(--kaart-creme); }
/* Donkere letters op de boekknop. Crème op dit gedempte roze levert te weinig
   contrast; de knop is het belangrijkste element van de kaart en moet als
   eerste gelezen worden. */
.card-book .button-primary { color: var(--color-burnt); background-color: var(--knop-roze); }
.card-book .button-primary:focus,
.card-book .button-primary:hover { color: var(--color-burnt); background-color: var(--knop-roze-hover); }
/* De vraagknop krijgt een rand. Alleen een donkerder vlak helpt hier niet: een
   lichte knop op een lichte kaart heeft geen contour en leest daardoor niet als
   knop, hoe donker de letters ook zijn. De tekst was al bijna zwart. */
.card-book .button-secondary { background-color: var(--knop-vanille); border: 1px solid var(--knop-roze); }
.card-book .button-secondary:focus,
.card-book .button-secondary:hover { background-color: var(--knop-vanille-hover); border-color: var(--knop-roze-hover); }

/* ### card-offer ### */
.card-offer { padding: 23px 29px; border: solid 1px rgba(225, 216, 203, 0.6); border-radius: 20px; background-color: var(--color-white); }
.card-offer ul { margin-bottom: 13px; }
.card-offer li { margin-bottom: 4px; padding-left: 23px; position: relative; }
.card-offer li:before { position: absolute; top: 6px; left: 0; font-family: var(--font-family-icon), sans-serif; font-size: 9.9px; color: var(--color-cgreen); content: '\e905'; }
.card-offer-text { margin-bottom: 19px; padding: 10px 16px 8px; font-weight: 500; line-height: 1.1; text-align: center; color: var(--color-text); border: solid 1px rgba(225, 216, 203, 0.6); border-radius: 20px; background-color: rgba(243, 234, 222, 0.6); }
.card-offer-text p { margin-bottom: 0; }
.card-offer-payment { margin-bottom: 7px; display: flex; flex-wrap: wrap; justify-content: center; column-gap: 12px; }
.card-offer-icon { display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border: solid 1px var(--color-vanila); }

/* ### author ### */
.author { margin-bottom: 50px; line-height: 1.5; }
.author h3 { font-weight: 900; }
.author-items { padding-top: 4px; text-align: center; }
.author-photo { border-radius: 50%; overflow: hidden;  width: 296px; height: 296px; margin: 50px auto 0 auto; }
.author-photo img { width: 296px; height: 296px; object-fit: cover; aspect-ratio: 1; }
.author p { margin-bottom: 30px; }
.author-name { font-family: var(--font-family-heading), sans-serif; font-weight: 700; text-transform: uppercase; color: var(--color-rose); }
.author-lead { margin-bottom: 8px; color: var(--color-rose); }

/* ### pagination ### */
.pagination { margin-bottom: 50px; }
.pagination-wrap { padding-top: 5px; padding-bottom: 5px; display: flex; justify-content: space-between; width: 100%; column-gap: 20px; border-top: solid 1px rgba(54, 55, 46, 0.1); row-gap: 20px; }
.pagination-prev,
.pagination-next { font-family: var(--font-family-heading), sans-serif; font-weight: 700; text-decoration: none; color: var(--color-near-black); transition: var(--base-duration); text-align: start; }
.pagination-next { text-align: end; }
.pagination-prev:focus,
.pagination-prev:hover,
.pagination-next:focus,
.pagination-next:hover { text-decoration: underline; color: var(--color-secondary); }

/* ### inspire ### */
.inspire { padding-top: 50px; padding-bottom: 50px; }
.inspire-text { margin-bottom: 40px; }
.inspire-images { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; align-items: flex-end; }
.inspire-image img { width: var(--w-100); }
.inspire-text p { margin-bottom: 28px; }

/* ### cta ### */
.cta { padding-top: 50px; padding-bottom: 50px; text-align: center; background-color: var(--color-primary); }
.cta h2 { margin-bottom: 0; line-height: 1.3; color: var(--color-burnt); }

/* ### team ### */
.team { padding-top: 75px; padding-bottom: 83px; }
.team h3 { margin-bottom: 17px; letter-spacing: 1px; }
.team-intro { margin-bottom: 32px; font-weight: 500; text-align: center; }
.team-wrap { display: grid; grid-row-gap: 30px; grid-column-gap: 15px; grid-template-columns: repeat(1, 1fr); }

/* ### card-team ### */
.card-team { display: flex; flex-direction: column; }
.card-team-photo { margin-bottom: 15px; width: var(--w-100); }
.card-team-photo img { width: var(--w-100); }
.card-team-name { font-family: var(--font-family-heading), sans-serif; font-weight: 700; text-align: center; color: var(--color-rose); }
.card-team-label { margin-bottom: 28px; display: block; line-height: normal; text-align: center; color: var(--color-rose); }
.card-team p { margin-bottom: 29px; }
.card-team-bottom { margin-top: auto; display: flex; justify-content: center; }

/* ### people ### */
.people { padding-top: 50px; padding-bottom: 50px; background-color: var(--color-vanila); }
.people-intro { margin-bottom: 33px; text-align: center; }
.people-intro p:last-of-type { margin-bottom: 0; }
.people-wrap { position: relative; }
.people .swiper-button-prev,
.people .swiper-button-next { top: 46%; left: -10px; color: var(--color-white); background-color: var(--color-gimblet); }
.people .swiper-button-next { right: -10px; left: unset; }

/* ### card-people ### */
.card-people { display: block; text-align: center; text-decoration: none; color: var(--color-text); }
.card-people-photo { width: var(--w-100); margin-bottom: 15px; display: flex; justify-content: center; align-items: center; }
.card-people-photo img { width: var(--w-100); border-radius: 50%; width: 240px; height: 240px; object-fit:cover; }
.card-people-name { font-family: var(--font-family-heading), sans-serif; font-weight: 700; }

/* ### concept ### */
.concept { padding-top: 50px; padding-bottom: 50px; display: flex; flex-wrap: wrap; justify-content: space-between; column-gap: 20px; background-color: var(--color-cream); text-align: center; }
.concept h2 { margin-bottom: 35px; }
.concept-intro { margin-bottom: 10px; width: var(--w-100); }
.concept-intro p { margin-bottom: 28px; }
.concept-right { display: grid; grid-row-gap: 32px; grid-column-gap: 20px; grid-template-columns: repeat(1, 1fr); width: var(--w-100); margin-bottom: 20px; }
.concept-intro .button { display: none; }
.concept-bottom { width: var(--w-100); display: flex; justify-content: center; }

/* ### card-concept ### */
.card-concept { text-align: center; }
.card-concept-image { margin: 0 auto 17px; width: 70px; }
.card-concept-image img { width: var(--w-100); }
.card-concept-lead { margin-bottom: 19px; font-family: var(--font-family-heading), sans-serif; font-weight: 700; }

/* ### action ### */
.action { padding-top: 50px; padding-bottom: 50px; text-align: center; color: var(--color-cream); background-color: rgba(176, 175, 101, 0.95); overflow: hidden; }
.action h2 { color: inherit; }
.action-button .button { margin-bottom: 10px; width: var(--w-100); }
.action-button .button:last-of-type { margin-bottom: 0; }
.action-image { position: absolute; top: 0; left: -6px; display: none; pointer-events: none; }
.action-image img { width: var(--w-100); height: var(--h-100); object-fit: cover; }
.action-image.right { right: -8px; left: auto; }

/* ### package-popup ### */
.package-popup { max-width: 750px; width: var(--w-100); border-radius: 15px; }
.package-popup p:last-of-type { margin-bottom: 0; }
.f-button.is-close-button { background-color: var(--color-secondary); }
.f-button.is-close-button:focus,
.f-button.is-close-button:hover { background-color: var(--color-green); }

/* ### swiper arrow ### */
.swiper-button-prev,
.swiper-button-next { left: 20px; z-index: 2; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; font-size: 11.7px; color: var(--color-text); border: 0; border-radius: 75px; background-color: var(--color-vanila); transition: var(--base-duration); }
.swiper-button-prev { transform: rotate(-180deg); }
.swiper-button-next { right: 21px; left: unset; }
.swiper-button-prev:focus,
.swiper-button-prev:hover,
.swiper-button-next:focus,
.swiper-button-next:hover { color: var(--color-white); background-color: var(--color-burnt); }
.swiper-button-prev:after,
.swiper-button-next:after { display: none; }

/* ### sticky-block ### */
.sticky-block { padding-top: 10px; padding-bottom: 10px; position: fixed; bottom: 0; left: 0; z-index: 15; width: var(--w-100); background-color: var(--color-cream); }
.sticky-block .button { width: var(--w-100); }

/* ### filters-btn ### */
.filters { padding-top: 40px; }
.filters-btn { display: none; padding: 10px 20px; position: fixed; bottom: 0; z-index: 2; width: var(--w-100); background-color: var(--color-off-white); }

/* fancybox */
.fancybox__container { background-color: rgba(198, 177, 180, .50); }
.filters-btn .button { width: var(--w-100); }


/* ### footer ### */
.footer { padding-top: 50px; background-color: var(--color-cream); }
.footer.is-alt { padding-bottom: 88px; }
.footer-holder { padding-bottom: 40px; }
.footer-accordion { margin-bottom: 10px; color: var(--color-near-black); }
.footer-title { padding: 10px 0; position: relative; }
.footer-title h2{font-family: var(--font-family-heading), sans-serif; font-weight: 700; line-height: var(--heading-lineheight); padding: 0; margin: 0; font-size: 21.6px; }
.footer-title:after { position: absolute; top: 50%; right: 0; font-family: var(--font-family-icon), sans-serif; font-size: 7.2px; transform: translateY(-50%); transition: var(--base-duration); content: '\e900'; }
.footer-title.active:after { transform: translateY(-50%) rotate(-180deg); }
.footer-column li > a { text-decoration: none; color: var(--color-near-black); transition: var(--base-duration); }
.footer-column li > a:focus,
.footer-column li > a:hover { text-decoration: underline; }
.footer .phone-space { padding: 0 10px 10px; }
.footer .hidden-menu { max-height: 0; overflow: hidden; transition: max-height 0.3s ease; }
.footer-column.hide-mobile { display: none; }

/* ### copyright ### */
.copyright { padding-top: 15px; padding-bottom: 15px; background-color: var(--color-primary); }
.copyright ul { margin-bottom: 10px; text-align: center; }
.copyright li { color: var(--color-burnt); margin-bottom: 5px; }
.copyright li:last-of-type:after { display: none; }
.copyright li > a { text-decoration: none; color: var(--color-burnt); }
.copyright li > a:focus,
.copyright li > a:hover { text-decoration: underline; }
.copyright-icon { margin-bottom: 10px; display: flex; align-items: center; justify-content: center; }
.copyright-icon img { margin-right: 3px; }
.copyright-icon img:last-of-type { margin-right: 0; }
.copyright-social { display: flex; align-items: center; justify-content: center; }
.copyright-social span { margin-right: 10px; display: block; }
.copyright-social a { margin-right: 10px; display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; text-decoration: none; color: var(--color-cream); border-radius: 50px; background-color: var(--color-burnt); transition: var(--base-duration); }
.copyright-social a:last-of-type { margin-right: 0; }
.copyright-social a:focus,
.copyright-social a:hover { color: var(--color-white); background-color: var(--color-secondary); }


.gform_required_legend{ display: none; }

/* #Media Queries
================================================== */

@media only screen and (max-width: 767px) {
	body.is-hidden { overflow: hidden; }
}
@media only screen and (min-width: 768px) {
	:root {
		--font-size-h1: 36px;
		--font-size-h2: 36px;
	}
	.select2-dropdown.filter-select2-dropdown { width: max-content !important; }
	.select2-dropdown.filter-select2-dropdown .select2-results__option { padding: 13px 50px 13px 16px; }
	#wrapper { padding-top: 91px; }
	.header-top { display: flex; }
	.header-holder { padding-top: 15px; padding-bottom: 15px; }
	.header.sticky { transform: translateY(-40px); }
	.mobile-menu { top: 50%; }
	.hero { padding-top: 55px; padding-bottom: 70px; min-height: 650px; }
	.hero h1 { margin-bottom: 25px; }
	.hero-text { min-height: 550px; margin-bottom: 0; }
	.hero-text .content { margin-bottom: 27px; max-width: 520px; }
	.hero-row { margin-top: 78px; }
	.hero-client-title,
	.hero-review-title { font-size: 28.8px; }
	.hero-review { font-size: 12.6px; }
	.hero-clients { font-size: 12.6px; margin-right: 26px; padding-right: 20px; }
	.hero-clients li img { width: 40px; }
	.card-retreats { padding: 10px; display: flex; flex-wrap: wrap; align-items: center; }
	.card-retreats-item { width: 33%; border-right: 1px solid var(--color-sand); border-bottom: 0; }
	.card-retreats-item:last-of-type { border-right: 0; }
	.usp { padding-top: 17px; padding-bottom: 16px; }
	.popular { margin-bottom: 80px; padding-top: 67px; }
	.popular-button { margin-top: 40px; }
	.intro { margin-bottom: 34px; }
	.inspire { padding-top: 80px; padding-bottom: 80px; }
	.card-quote-info { flex: 1; }
	.quiz h2 { margin-bottom: 40px; }
	.quiz-intro { flex: 1; order: 1; }
	.quiz-intro p { margin-bottom: 30px; }
	.quiz-photo { margin-bottom: 0; margin-left: 20px; order: 2; width: 49.2%; }
	.author { margin-bottom: 70px; }
	.banner { z-index: unset; }
	.banner.inner .banner-intro p { display: block; }
	.banner .card-retreats { display: none; }
	.notification { display: block; }
	.image-text { display: flex; flex-wrap: wrap; }
	.image-text-left { margin-bottom: 0; padding-right: 30px; width: 50%; }
	.image-text-right { width: 50%; }
	.image-text-right img { margin-left: auto; height: var(--h-100); object-fit: cover; }
	.image-text.inner { padding-top: 60px; padding-bottom: 60px; position: relative; }
	.image-text.inner .image-text-right { margin: 0; position: absolute; top: 0; right: 0; width: 50%; height: 100%; }
	.image-text.inner .image-text-right img { width: var(--w-100); }
	.image-text.inner.reverse .image-text-right { right: auto; left: 0; }
	.heart { padding-top: 63px; padding-bottom: 75px; }
	.heart h2 { margin-bottom: 42px; }
	.heart-holder { display: flex; flex-wrap: wrap; justify-content: center; gap: 30px; }
	.heart-item { margin-bottom: 0; width: calc(50% - 15px); }
	.review { padding-top: 65px; padding-bottom: 80px; }
	.review h2 { margin-bottom: 62px; }
	.review-holder { margin-bottom: 35px; grid-template-columns: repeat(3, 1fr); }
	.review-button { margin-top: 60px; }
	.card-video.show-desktop { display: block; }
	.card-video.show-phone { display: none; }
	.card-video img { height: 100%; object-fit: cover; }
	.theme { padding-top: 75px; padding-bottom: 75px; }
	.theme .intro { margin-bottom: 64px; }
	.theme .swiper-wrapper { display: grid; gap: 15px; grid-template-columns: repeat(2, 1fr); }
	.card-theme-text { font-size: 21.6px; }
	.card-theme-text i { top: -6px; right: 30px; }
	.subscribe { padding-top: 80px; padding-bottom: 80px; display: flex; justify-content: center; }
	.subscribe-text { margin-bottom: 0; padding-right: 30px; width: 50%; }
	.subscribe-image { width: 50%; display: block; }
	.subscribe-image img { height: 100%; object-fit: cover; }
	.view-more-tab-content { display: none; }
	.expect-review { padding: 25px; border: solid 1px rgba(225, 216, 203, 0.6); border-radius: 20px; }
	.support h2 { display: block; }
	.support-left { margin-bottom: 90px; padding-bottom: 70px; }
	.support-nav-tab { display: flex; }
	.support-select,
	.support-teaser { display: none; }
	.support-content { display: none; }
	.support-content.is-active { display: block; }
	.tab-content-mobile { display: block!important; height: auto!important; }
	.photo-slider { padding-top: 0; }
	.photo-slider h2 { display: none; }
	.photo-slider .swiper { margin-right: 0; margin-left: 0; }
	.card-table table { width: var(--w-100); }
	.expect-column { grid-template-columns: repeat(2, 1fr); }
	.expect-column-3 { grid-template-columns: repeat(2, 1fr); }
	.card-book-photo { margin: -91px auto 22px; }
	.card-book-photo img { width: 140px; height: 140px; }
	.card-book-form { grid-template-columns: repeat(1, 1fr); }
	.tour-tab-list { display: none; }
	
	.concept-right { grid-template-columns: repeat(2, 1fr); }
	.action { padding-top: 65px; padding-bottom: 65px; }
	.action h2 { margin-bottom: 21px; }
	.action p { margin-bottom: 32px; }
	.action-text { margin: 0 auto; max-width: 674px; }
	.action-button { display: flex; justify-content: center; }
	.action-button .button { margin-right: 15px; margin-bottom: 0; width: auto; min-width: 260px; }
	.action-button .button:last-of-type { margin-right: 0; }
	.filters { padding-top: 0; }
	.filters-view-more { margin-top: 40px; }
	.card-filter { display: flex; }
	.card-filter-row { display: flex; align-items: center; justify-content: space-between; }
	.card-filter-image { padding-right: 2px; width: 36%; }
	.card-filter-image img { height: 100%; object-fit: cover; }
	.card-filter-text { padding: 15px 0 10px 18px; width: 64%; }
	.card-filter-price { margin-bottom: 0; }
	.card-filter-text .button { width: auto; }
	.testimonial { padding-top: 66px; padding-bottom: 80px; }
	.testimonial h2 { margin-bottom: 40px; }
	.testimonial .swiper { margin-bottom: 41px; }
	.trip { padding-top: 76px; padding-bottom: 47px; }
	.trip-handle { display: flex; flex-wrap: wrap; justify-content: flex-start; gap:20px; }
	.trip .select2 { display: none; }
	.trip-text h2 { margin-bottom: 37px; }
	.trip-text p { margin-bottom: 30px; }
	.trip-image { margin-bottom: 33px; }
	.grow-holder { padding: 80px; }
	.grow h2 { margin-bottom: 38px; }
	.grow p { margin-bottom: 28px; }
	.grow ul { margin-bottom: 28px; }
	.values-wrap { grid-template-columns: repeat(2, 1fr); }
	.thank-you { margin-bottom: 80px; }
	.card-form-wrap { grid-template-columns: repeat(2, 1fr); }
	.notification { margin: -15px 0 39px; width: var(--w-100); }
	.notification .card-retreats { margin: 0 auto; width: auto; border-radius: 10px; }
	.image-text.reverse .image-text-left { padding-right: 0; width: 45.5%; }
	.seeker { margin-bottom: 80px; }
	.seeker-column { margin-bottom: 32px; }
	.card-seeker-text { padding: 50px 30px 20px; }
	.card-quiz { padding: 34px 30px 40px; }
	.card-quiz h2 { margin-bottom: 24px; }
	.card-quiz p { margin-bottom: 23px; }
	.review-block-holder { grid-template-columns: repeat(2, 1fr); gap: 40px 30px; }
	.review-block-button { margin-top: 40px; }
	.team-wrap { grid-template-columns: repeat(2, 1fr); }
	.author-items { display: flex; flex-wrap: wrap; text-align: start; align-items: flex-start; }
	.author-photo { margin-right: 20px; }
	.author-intro { flex: 1; padding-top: 30px; }
	.card-form button { float: right; width: auto; }
	.card-review { padding: 0; border: 0; border-radius: 0; text-align: start; }
	.card-review-client,
	.card-review-rating { justify-content: start; }
	.card-review-photos { justify-content: start; }
	.sticky-block { display: none; }
	.card-popular { padding: 19px; }
	.footer { padding-top: 71px; }
	.footer.is-alt { padding-bottom: 0; }
	.footer-holder { padding-bottom: 52px; }
	.copyright ul { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; text-align: unset; }
	.copyright li { margin-bottom: 0; }
	.copyright li:after { margin: 0 10px; display: inline-block; width: 1px; height: 17px; vertical-align: middle; background-color: var(--color-burnt); content: ''; }
	.footer-column.hide-mobile { display: block; }
	.footer-hide-desktop { display: none; }
	
	.quiz-block.reverse .quiz-intro { order: 2; }
	.quiz-block.reverse .quiz-photo { order: 1; margin-left: 0; margin-right: 20px;}
	.photo-slider .swiper-slide img{ height: 560px; width: 100%; object-fit:cover; }
	
	.banner .breadcrumb { bottom: 20px;}
	.banner .breadcrumb.centered { bottom: 0px;}
}

@media only screen and (min-width: 1025px) {
	:root {
		--font-size-h1: 45px;
	}
	.center,
	.centered { padding-right: 120px; padding-left: 120px; }
	.header-top { justify-content: space-between; }
	.header-top p { display: block; }
	.mobile-menu .hamburger { right: 120px; }
	.hero,
	.hero-text { min-height: auto; }
	.hero { z-index: unset; }
	.hero h1 { color: var(--color-burnt); }
	.hero-text .content { max-width: 420px; color: var(--color-burnt); }
	.hero-clients,
	.hero-review .btn-link,
	.hero-client-title,
	.hero-review-title { color: var(--color-burnt); }
	.hero-image { margin-right: 0; margin-bottom: 0; top: unset; bottom: 0; right: -160px; width: 650px; height: 650px; pointer-events: none; overflow: hidden; border-radius: 100%; }
	.card-retreats { flex-wrap: unset; justify-content: space-between; }
	.card-retreats .button { width: auto; }
	.card-retreats-item { width: 26%; padding: 10px 15px 10px 40px; }
	.card-retreats-item i.icon-notification { left: 5px; }
	.banner { padding-top: 144px; min-height: 480px; }
	.banner-intro { font-size: 21.6px; }
	.banner.inner { padding-top: 75px; min-height: 440px; }
	.banner.inner .banner-intro { line-height: 1.4; }
	.banner.inner .banner-wrap { min-height: 286px; }
	.banner.is-blog { padding-top: 100px; padding-bottom: 30px; }
	.banner.is-blog,
	.banner.is-blog .banner-wrap { min-height: 200px; }

	.banner.is-alt,
	.banner.is-alt .banner-wrap { min-height: 180px; }
	.banner.is-alt { padding-top: 100px; padding-bottom: 30px; }
	.description h2 { font-size: 27px; }
	.description-large { font-size: 36px; }
	.description-info { margin-bottom: 53px; }
	.description-column .swiper-wrapper,
	.description-column-3 .swiper-wrapper,
	.description-column-4 .swiper-wrapper { display: grid; column-gap: 16px; row-gap: 16px; grid-template-columns: repeat(2, 1fr); }
	.description-column-3 .swiper-wrapper { grid-template-columns: repeat(3, 1fr); }
	.description-column-4 .swiper-wrapper { grid-template-columns: repeat(4, 1fr); }
	.card-quote-photo { height: 380px; }
	.card-quote-author { margin-top: -40px; padding: 0 56px; display: flex; flex-wrap: wrap; align-items: flex-end; text-align: unset; }
	.card-quote-user { margin-top: 0; margin-right: 79px; width: 200px; height: 200px; }
	.card-quote-title { padding: 50px 10%; font-size: 36px; }
	.pagination { margin-bottom: 70px; }
	.card-book-facility { column-gap: 12px; }
	.popular { overflow: unset; }
	.popular .swiper { overflow: hidden; margin-left: 2px; }
	.photo-slider .swiper { margin-right: 59px; margin-left: 59px; }
	.expect-review { padding: 22px 30px; }
	.expect-photo img { aspect-ratio: unset; }
	.image-text-left h2 { margin-bottom: 35px; }
	.image-text-left p { margin-bottom: 30px; }
	.image-text.inner { padding-top: 80px; padding-bottom: 80px; }
	.image-text.reverse { padding-top: 80px; padding-bottom: 80px; }
	.notification { margin: -51px 0 39px; }
	.facilities-intro { padding-top: 17px; flex: 1; }
	.facilities-map { margin-left: 25px; width: 46.6%; }
	.faqs,
	.connect { padding-top: 40px; padding-bottom: 40px; }
	.connect { padding-bottom: 40px; }
	.connect h2 { margin-bottom: 37px; }
	.connect-intro { margin-bottom: 0; padding-bottom: 0; border-bottom: 0; width: 46%; }
	.connect-right { width: 49.3%; }
	.card-form-wrap { grid-template-columns: repeat(1, 1fr); }
	.heading-block { padding-top: 44px; }
	.heading-block-text { margin-bottom: 44px; }
	.attention p { padding: 0 7%; }
	.values { padding-bottom: 80px; }
	.photo-slider-items img { aspect-ratio: unset; }
	.values-wrap { grid-template-columns: repeat(3, 1fr); }
	.seeker-holder { margin: 0 -8px; display: flex; flex-wrap: wrap; }
	.seeker-column { padding: 0 8px; width: 58.5%; }
	.seeker-column.w-40 { width: 41.5%; }
	.concept { padding-top: 75px; padding-bottom: 75px; }
	.people { padding-top: 70px; padding-bottom: 98px; }
	.people .swiper-button-prev,
	.people .swiper-button-next { left: -60px; }
	.people .swiper-button-next { right: -60px; left: unset; }
	.cta { padding-top: 70px; padding-bottom: 66px; }
	.cta h2 { letter-spacing: 1.5px; }
	.card-form button { width: var(--w-100); }
	.author-photo { }
	.card-theme-text { padding: 0 80px 31px 31px; }
	.card-retreats-info select { font-size: 13.5px; }
	.banner .breadcrumb { bottom: 60px;}
}

@media only screen and (min-width: 1200px) {
	.card-book { padding: 20px 29px; }
	.expect-column-3 { grid-template-columns: repeat(3, 1fr); }
	:root {
		--font-size-h1: 60px;
	}
	body.in-view .filters-btn { display: none; }
	#wrapper { padding-top: 118px; }
	.center { padding-right: calc((100% - var(--width-lg)) / 2); padding-left: calc((100% - var(--width-lg)) / 2); }
	.mobile-menu { display: none; }
	.header-holder { padding-top: 0; padding-bottom: 0; }
	.header-holder .button { display: inline-flex; min-height: 50px; }
	.header-menu { display: flex; flex-wrap: wrap; }
	.hero-text .content { max-width: 600px; }
	.hero-text .content p { margin-bottom: 0; padding-right: 5%; }
	.hero-image img { height: 560px; }
	.hero-image { bottom: -90px; right: -110px; }
	.card-retreats { flex-wrap: wrap; }
	.card-retreats-info label { font-size: 16.2px; }
	.card-retreats-item { padding-left: 64px; width: 25%; }
	.card-retreats-item i.icon-notification { left: 20px; font-size: 26.1px; }
	.card-retreats .button { margin-left: 0; width: 25%; }
	.usp-holder { display: flex; flex-wrap: wrap; justify-content: space-between; }
	.usp-item { justify-content: inherit; }
	.usp .swiper { display: none; }
	.intro { display: flex; flex-wrap: wrap; justify-content: space-between; }
	.intro h2 { margin-bottom: 0; }
	.intro-left { max-width: 370px; }
	.intro-right { max-width: 610px; line-height: 1.45; }
	.image-text { align-items: center; }
	.image-text-right img { width: auto; }
	.image-text.inner { padding-top: 125px; padding-bottom: 130px; }
	.image-text.inner .image-text-right { padding-left: 41px; }
	.image-text.inner.reverse .image-text-right { padding-left: 0; padding-right: 41px; }
	.theme .swiper-wrapper { grid-template-columns: repeat(3, 1fr); }
	.quiz-block { padding: 80px; }
	.banner { min-height: 640px; }
	.banner-wrap { min-height: 486px; }
	.heart-item { width: calc(25% - 22.5px); }
	.subscribe { align-items: center; }
	.subscribe-text { width: 59%; }
	.subscribe-text h2 { margin-bottom: 34px; }
	.subscribe-text p { margin-bottom: 32px; }
	.subscribe-image { width: 41%; }
	.subscribe-form { display: grid; grid-template-columns: repeat(2, 1fr); gap: 15px; }
	.subscribe-field { margin-bottom: 0; }
	.filters { margin-bottom: 80px; display: flex; flex-wrap: wrap; }
	.filters-left { padding: 0 5px 0 0; position: unset; top: auto; left: auto; z-index: 0; opacity: 1; visibility: visible; width: 33%; height: auto; background-color: transparent; transition: unset; overflow-y: unset; }
	.filters-left .js-close-filter { display: none; }
	.filters-right { padding-left: 11px; width: 67%; }
	.team-wrap { padding: 0 58px; }
	.grow-holder { display: flex; flex-wrap: wrap; }
	.grow-text { margin-bottom: 0; padding-right: 40px; width: 50%; }
	.grow-image { padding-left: 7px; width: 50%; }
	.grow-image img { height: 100%; object-fit: cover; }
	.support-left { margin-bottom: 0; flex: 1; }
	.support-right { margin-top: 76px; margin-left: 16px; width: 32.33%; }
	.support-nav-tab { top: 78px; }
	.card-book-form { grid-template-columns: repeat(1, 1fr); }
	.card-form-wrap { grid-template-columns: repeat(2, 1fr); }
	.card-form button { width: auto; }
	.testimonial-nav { margin-bottom: 0; }
	.testimonial .swiper-button-prev,
	.testimonial .swiper-button-next { margin-top: -28px; position: absolute; top: 50%; font-size: 36px; }
	.testimonial .swiper-button-prev { margin-right: 0; left: 0; }
	.testimonial .swiper-button-next { margin-left: 0; right: 0; }
	.trip-handle { top: 77px; }
	.concept { align-items: center; text-align: start; }
	.concept-intro { width: 45%; margin-bottom: 50px; }
	.concept-intro .button { display: inline-flex; }
	.concept-right { width: 49%; margin-bottom: 0; }
	.concept-bottom { display: none; }
	.inspire { display: flex; flex-wrap: wrap; }
	.inspire-text { margin-bottom: 0; padding-left: 36px; order: 2; width: 50%; }
	.inspire-text .content { max-width: 556px; }
	.inspire-images { order: 1; width: 50%; }
	.inspire-image img { width: auto; }
	.pagination-prev,
	.pagination-next { font-size: 21.6px; }
	.action { padding-bottom: 80px; position: relative; }
	.action-text { position: relative; z-index: 1; }
	.action-image { left: -185px; bottom: 0; width: 432px; display: block; }
	.action-image.right { right: -185px; }
	.card-retreats-info input,
	.card-retreats-info select,
	.description .card-quote { margin-left: 0; margin-right: 0; }
	.footer-holder { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
	.footer-accordion { margin-bottom: 0; padding: 0; border: 0; }
	.footer-accordion + .footer-accordion .footer-title { margin-bottom: 23px; }
	.footer-column ul { margin-bottom: 28px; }
	.footer-title { margin-bottom: 37px; padding: 0; }
	.footer-title:after { display: none; }
	.footer .hidden-menu { max-height: inherit; overflow: inherit; transition: unset; }
	.footer .phone-space { padding: 0; }
	.footer.gapping { margin-bottom: 0; }
	.copyright { padding-top: 24px; padding-bottom: 24px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; }
	.copyright-nav { display: flex; flex-wrap: wrap; align-items: center; }
	.copyright ul { margin-bottom: 0; }
	.copyright li:after { margin: 0 15px; }
	.copyright-icon { margin-bottom: 0; margin-left: 10px; }
}

@media only screen and (min-width: 1470px) {
	#wrapper { padding-top: 121px; }
	.centered { padding-right: calc((100% - var(--width-base)) / 2); padding-left: calc((100% - var(--width-base)) / 2); }
	.header-menu li { margin-right: 40px; }
	.header-holder .button { min-width: 220px; min-height: 60px; }
	.hero-image { margin-left: 190px; top: 20px; bottom: unset; right: unset; left: 50%; width: 960px; height: 960px; }
	.hero-image img { height: 709px; }
	.hero-text .content { max-width: 720px; }
	.hero-text .content p { font-size: 21.6px; padding-right: 0; }
	.intro { padding: 0 15px; }
	.faqs .intro { padding: 0px; }
	.image-text-left { padding-right: 50px; }
	.review-holder { gap: 75px; }
	.subscribe-text { padding-right: 72px; }
	.subscribe-form { grid-template-columns: repeat(3, 1fr); }
	.card-book-form { grid-template-columns: repeat(1, 1fr); }
	.trip-handle { top: 80px; }
	.expect-column-3 { margin-bottom: 0; }
	.support-nav-tab { padding-left: 20px; }
	.review-block-holder { gap: 40px 72px; }
	.pagination-prev,
	.pagination-next { font-size: 27px; }
	.footer-title { font-size: 21.6px; }
}

@media only screen and (min-width: 1600px) {
	.action-image { left: -6px; }
	.action-image.right { right: -8px; }
	.pagination-prev,
	.pagination-next { font-size: 28.8px; }
}

@media only screen and (min-width: 1920px) {
	.centered-xl { padding-right: calc((100% - var(--width-xl)) / 2); padding-left: calc((100% - var(--width-xl)) / 2); }
}


/* =========================================================
 * Gravity Forms — "Download E-book" (subscribe-blok)
 * GF rendert eigen HTML; deze regels brengen die naar de
 * .subscribe-form look uit het design. Plak onderaan css/style.css.
 * ========================================================= */

.subscribe .gform_wrapper { margin: 0; }

/* Labels + "(Vereist)" verbergen — design gebruikt placeholders */
.subscribe .gform_wrapper .gfield_label,
.subscribe .gform_wrapper .gfield_required { display: none; }

/* Velden gestapeld (mobiel) */
.subscribe .gform_wrapper .gfield { margin-bottom: 16px; }
.subscribe .gform_wrapper .ginput_container { margin: 0; }
.subscribe .gform_wrapper .gform_footer,
.subscribe .gform_wrapper .gform-footer { margin: 16px 0 0; padding: 0; }

/* Inputs = design-input, vast op 60px (GF maakt ze anders hoger) */
.subscribe .gform_wrapper input[type="text"],
.subscribe .gform_wrapper input[type="email"] {
	box-sizing: border-box;
	padding: 10px 20px;
	width: var(--w-100);
	height: var(--input-height) !important;
	min-height: var(--input-height) !important;
	font-size: var(--font-size-base);
	color: var(--color-text);
	border: 1px solid var(--color-vanila);
	border-radius: 0;
	box-shadow: none;
	background-color: var(--color-off-white);
}
.subscribe .gform_wrapper input::placeholder { color: var(--color-text); opacity: 1; }

/* Submit-knop = .button.button-primary, vult de cel volledig (breedte + hoogte) */
.subscribe .gform_wrapper .gform_footer button,
.subscribe .gform_wrapper .gform_footer input[type="submit"],
.subscribe .gform_wrapper button.gform_button,
.subscribe .gform_wrapper input.gform_button {
	box-sizing: border-box;
	padding: 10px;
	width: var(--w-100);
	height: var(--input-height);
	min-height: var(--input-height);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--font-family-heading), sans-serif!important;
	font-size: var(--font-size-base)!important;
	font-weight: 700;
	text-align: center;
	color: var(--color-cream) !important;
	border: 0;
	border-radius: 0;
	background-color: var(--color-rose) !important;
	transition: var(--base-duration);
	cursor: pointer;
}
.subscribe .gform_wrapper .gform_footer button:hover,
.subscribe .gform_wrapper .gform_footer button:focus,
.subscribe .gform_wrapper .gform_button:hover,
.subscribe .gform_wrapper .gform_button:focus {
	background-color: var(--color-darkrose) !important;
}

/* Consent = .subscribe-check (checkbox terug op static, anders schiet 'ie naar boven) */
.subscribe .gform_wrapper .gfield--type-consent .ginput_container_consent {
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 10px;
}
.subscribe .gform_wrapper .gfield--type-consent input[type="checkbox"] {
	position: static;
	flex: 0 0 auto;
	width: 24px;
	height: 24px;
	margin: 1px 0 0;
	border: 1px solid var(--color-soft-blue);
	border-radius: 0;
	background-color: var(--color-white);
	transform: none;
	-webkit-appearance: none;
	appearance: none;
}
.subscribe .gform_wrapper .gfield--type-consent .gfield_consent_label,
.subscribe .gform_wrapper .gfield--type-consent label {
	margin: 0;
	padding-left: 0;
	font-size: 12.6px;
	font-weight: 500;
}
.subscribe .gform_wrapper .gfield--type-consent label a { color: var(--color-text); }
.subscribe .gform_wrapper .gfield--type-consent label a:hover,
.subscribe .gform_wrapper .gfield--type-consent label a:focus { text-decoration: none; }

/* Desktop: Naam | E-mail | knop op één rij (gelijke hoogte), consent eronder */
@media (min-width: 768px) {
	.subscribe .gform_wrapper form {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 15px;
		align-items: stretch;
	}
	.subscribe .gform_wrapper .gform_body,
	.subscribe .gform_wrapper .gform_fields { display: contents; }

	.subscribe .gform_wrapper .gfield { margin-bottom: 0; }
	.subscribe .gform_wrapper .gfield--type-text  { grid-column: 1; grid-row: 1; }
	.subscribe .gform_wrapper .gfield--type-email { grid-column: 2; grid-row: 1; }
	.subscribe .gform_wrapper .gform_footer,
	.subscribe .gform_wrapper .gform-footer { grid-column: 3; grid-row: 1; display: flex; margin: 0; padding: 0; }
	.subscribe .gform_wrapper .gform_footer button,
	.subscribe .gform_wrapper .gform_footer input[type="submit"] { height: var(--w-100); }
	.subscribe .gform_wrapper .gfield--type-consent { grid-column: 1 / -1; grid-row: 2; margin-top: 12px; }
}


/* ============================================================
   grow — reverse variant (afbeelding links, tekst rechts)
   ============================================================ */
@media only screen and (min-width: 1200px) {
	.grow-holder.reverse { flex-direction: row-reverse; }
	.grow-holder.reverse .grow-text { padding-right: 0; padding-left: 40px; }
	.grow-holder.reverse .grow-image { padding-left: 0; padding-right: 7px; }
}


/* =========================================================
 * Gravity Forms — Contact-blok (.connect)
 * GF rendert eigen HTML; deze regels brengen die naar de
 * .card-form look uit het design (2 kolommen, knop = primary big).
 * ========================================================= */

.connect .gform_wrapper { margin: 0; }
.connect .gform_wrapper form { margin: 0; }

/* Labels = design (bold, 18px) */
.connect .gform_wrapper .gfield_label { margin-bottom: 8px; font-family: var(--font-family-base), sans-serif; font-size: var(--font-size-base); font-weight: 700; color: var(--color-burnt); }
.connect .gform_wrapper .gfield_required { color: var(--color-burnt); }

/* Veld-spacing + 2-koloms grid-gaps (GF zet kolommen zelf via layoutGridColumnSpan) */
.connect .gform_wrapper .gform_fields { grid-row-gap: 26px; grid-column-gap: 16px; }
.connect .gform_wrapper .ginput_container { width: var(--w-100); max-width: var(--w-100); }

/* Inputs / textarea = design-input — volledige kolombreedte (GF 'size' negeren) */
.connect .gform_wrapper input[type="text"],
.connect .gform_wrapper input[type="email"],
.connect .gform_wrapper input[type="tel"],
.connect .gform_wrapper textarea {
	box-sizing: border-box;
	padding: 10px 20px;
	width: var(--w-100) !important;
	max-width: var(--w-100) !important;
	font-size: var(--font-size-base);
	color: var(--color-text);
	border: 1px solid var(--color-vanila);
	border-radius: 0;
	box-shadow: none;
	background-color: var(--color-off-white);
}
.connect .gform_wrapper input[type="text"],
.connect .gform_wrapper input[type="email"],
.connect .gform_wrapper input[type="tel"] { height: var(--input-height) !important; min-height: var(--input-height) !important; }
.connect .gform_wrapper textarea { height: 150px !important; resize: none; }
.connect .gform_wrapper input::placeholder,
.connect .gform_wrapper textarea::placeholder { color: var(--color-text); opacity: 1; }

/* Consent = .card-form-check look */
.connect .gform_wrapper .gfield--type-consent .ginput_container_consent { display: flex; align-items: flex-start; gap: 10px; }
.connect .gform_wrapper .gfield--type-consent input[type="checkbox"] {
	position: static;
	flex: 0 0 auto;
	width: 24px;
	height: 24px;
	margin: 1px 0 0;
	border: 1px solid var(--color-soft-blue);
	border-radius: 0;
	background-color: var(--color-white);
	transform: none;
	-webkit-appearance: none;
	appearance: none;
}
.connect .gform_wrapper .gfield--type-consent .gfield_consent_label,
.connect .gform_wrapper .gfield--type-consent label { margin: 0; padding-left: 0; font-size: 13.5px; font-weight: 500; color: var(--color-burnt); }
.connect .gform_wrapper .gfield--type-consent label a { color: var(--color-burnt); }
.connect .gform_wrapper .gfield--type-consent label a:hover,
.connect .gform_wrapper .gfield--type-consent label a:focus { text-decoration: none; }

/* Submit — GF zet de knop in .gfield--type-submit met class .gform-button (streepje!) */
.connect .gform_wrapper .gfield--type-submit { display: flex; align-items: center; }
.connect .gform_wrapper .gfield--type-submit input[type="submit"],
.connect .gform_wrapper input.gform-button,
.connect .gform_wrapper .gform-button {
	box-sizing: border-box;
	padding: 10px 20px !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: var(--w-100) !important;
	min-width: 260px;
	height: var(--input-height) !important;
	min-height: var(--input-height) !important;
	line-height: 1;
	font-family: var(--font-family-heading), sans-serif;
	font-size: var(--font-size-base) !important;
	font-weight: 700 !important;
	text-align: center;
	color: var(--color-cream) !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: var(--color-rose) !important;
	background-color: var(--color-rose) !important;
	transition: var(--base-duration);
	cursor: pointer;
	/* GF orbital knopkleur (CSS-variabelen) overschrijven */
	--gf-ctrl-btn-bg-color-primary: var(--color-rose);
	--gf-ctrl-btn-bg-color-hover-primary: var(--color-darkrose);
	--gf-ctrl-btn-color-primary: var(--color-cream);
}
.connect .gform_wrapper .gfield--type-submit input[type="submit"]:hover,
.connect .gform_wrapper .gfield--type-submit input[type="submit"]:focus,
.connect .gform_wrapper input.gform-button:hover,
.connect .gform_wrapper input.gform-button:focus,
.connect .gform_wrapper .gform-button:hover,
.connect .gform_wrapper .gform-button:focus {
	background: var(--color-darkrose) !important;
	background-color: var(--color-darkrose) !important;
}

/* Footer bevat alleen verborgen velden — geen marge nodig */
.connect .gform_wrapper .gform_footer,
.connect .gform_wrapper .gform-footer { margin: 0; padding: 0; }

/* Maximale override — forceer roze knop ongeacht GF-thema/versie */
body .connect .gform_wrapper .gfield--type-submit input[type="submit"],
body .connect .gform_wrapper input.gform-button,
body .connect .gform_wrapper .gform-button,
body .connect .gform-theme--framework .gfield--type-submit input[type="submit"] {
	background: var(--color-rose) !important;
	background-color: var(--color-rose) !important;
	color: var(--color-cream) !important;
}

/* Consent-checkbox forceren op 24x24 (anders GF-streepje) */
body .connect .gform_wrapper .gfield--type-consent input[type="checkbox"] {
	flex: 0 0 auto !important;
	width: 24px !important;
	height: 24px !important;
	min-width: 24px !important;
}


/* ============================================================
   filter-hero (banner inner) — filter tonen op desktop
   (algemene regel .banner .card-retreats { display:none } @768
   verbergt 'm anders binnen een banner)
   ============================================================ */
@media only screen and (min-width: 768px) {
	.banner.inner .card-retreats { display: flex; }
}


/* ============================================================
   seeker — kaarten in dezelfde rij altijd even hoog
   (.card-seeker is van zichzelf 280px, .card-quiz groeit mee;
   kolommen rekken via flex naar de hoogste in de rij)
   ============================================================ */
@media only screen and (min-width: 1025px) {
	.seeker-column { display: flex; }
	.seeker-column > .card-seeker { width: var(--w-100); height: auto; min-height: 280px; }
	.seeker-column > .card-quiz { width: var(--w-100); }
}


/* ============================================================
   tabs-blok — dropdown alleen op mobiel; op desktop de knoppen
   (.trip .select2 ving alleen de select2-container; ook de kale
   <select> en de container expliciet verbergen vanaf 768px)
   ============================================================ */
@media only screen and (min-width: 768px) {
	.trip .js-select2,
	.trip .custom-select,
	.trip .select2-container { display: none; }
}


/* ### boekingspagina (/boeken/) ### */
.boeking { padding-top: 40px; padding-bottom: 80px; }
.boeking-titel { margin-bottom: 30px; }
.boeking-layout { display: grid; gap: 30px; }
.boeking-samenvatting { border: solid 1px rgba(225, 216, 203, 0.6); border-radius: 20px; overflow: hidden; background-color: var(--color-off-white); align-self: start; }
.boeking-image img { width: var(--w-100); height: 200px; object-fit: cover; display: block; }
.boeking-samenvatting-inner { padding: 25px; }
.boeking-samenvatting-inner h2 { margin-bottom: 4px; font-size: var(--font-size-h5); }
.boeking-plaats { margin-bottom: 20px; color: var(--color-burnt); }
.boeking-regels,
.boeking-bedragen { padding-left: 0; margin-bottom: 20px; }
.boeking-regels li,
.boeking-bedragen li { padding: 10px 0; display: flex; align-items: baseline; justify-content: space-between; gap: 15px; list-style: none; border-bottom: solid 1px rgba(225, 216, 203, 0.6); }
.boeking-regels span,
.boeking-bedragen span { color: var(--color-burnt); }
.boeking-regels strong,
.boeking-bedragen strong { font-family: var(--font-family-heading), sans-serif; text-align: right; }
.boeking-bedragen { padding-top: 5px; }
.boeking-totaal { border-bottom: 0; }
.boeking-totaal strong { font-size: 18px; }
.boeking-aanbetaling { border-top: solid 1px rgba(225, 216, 203, 0.6); border-bottom: 0; }
.boeking-aanbetaling strong { font-size: 18px; color: var(--color-secondary); }
.boeking-note { margin-bottom: 15px; font-size: 12.6px; color: var(--color-burnt); }
.boeking-terug { text-decoration: underline; text-underline-offset: 3px; color: var(--color-text); }
.boeking-terug:hover { color: var(--color-secondary); }
.boeking-formulier .gform_wrapper { margin: 0; }
.boeking-formulier .gform_wrapper form { margin: 0; }

/* Labels en velden: zelfde opzet als het contactformulier (.connect). */
.boeking-formulier .gfield_label { margin-bottom: 8px; font-family: var(--font-family-base), sans-serif; font-size: var(--font-size-base); font-weight: 700; color: var(--color-burnt); }
.boeking-formulier .gfield_required { color: var(--color-burnt); }
.boeking-formulier .gform_fields { grid-row-gap: 22px; grid-column-gap: 16px; }
.boeking-formulier .ginput_container { width: var(--w-100); max-width: var(--w-100); }
.boeking-formulier .gsection { margin: 10px 0 0; padding-bottom: 8px; border-bottom: solid 1px var(--color-vanila); }
.boeking-formulier .gsection_title { font-family: var(--font-family-heading), sans-serif; font-size: var(--font-size-h5); color: var(--color-text); }
.boeking-formulier .gfield_description { margin-top: 6px; font-size: 12.6px; color: var(--color-burnt); }

.boeking-formulier input[type="text"],
.boeking-formulier input[type="email"],
.boeking-formulier input[type="tel"],
.boeking-formulier input[type="number"],
.boeking-formulier textarea {
	box-sizing: border-box;
	padding: 10px 20px;
	width: var(--w-100) !important;
	max-width: var(--w-100) !important;
	font-size: var(--font-size-base);
	color: var(--color-text);
	border: 1px solid var(--color-vanila);
	border-radius: 0;
	box-shadow: none;
	background-color: var(--color-white);
}
.boeking-formulier input[type="text"],
.boeking-formulier input[type="email"],
.boeking-formulier input[type="tel"],
.boeking-formulier input[type="number"] { height: var(--input-height) !important; min-height: var(--input-height) !important; }
.boeking-formulier textarea { height: 80px !important; min-height: 80px!important; resize: vertical; }
.boeking-formulier input::placeholder,
.boeking-formulier textarea::placeholder { color: var(--color-burnt); opacity: 1; }

/* Akkoord-vinkje en de werkgever-keuze */
.boeking-formulier .gfield--type-consent .ginput_container_consent,
.boeking-formulier .gfield--type-checkbox .gchoice { display: flex; align-items: flex-start; gap: 10px; }
.boeking-formulier .gfield--type-consent input[type="checkbox"],
.boeking-formulier .gfield--type-checkbox input[type="checkbox"] {
	position: static;
	flex: 0 0 auto;
	width: 24px;
	height: 24px;
	margin: 1px 0 0;
	border: 1px solid var(--color-vanila);
	border-radius: 0;
	background-color: var(--color-white);
	transform: none;
	-webkit-appearance: none;
	appearance: none;
}
.boeking-formulier .gfield--type-consent label,
.boeking-formulier .gfield--type-checkbox .gchoice label { margin: 0; padding-left: 0; font-size: 13.5px; font-weight: 500; color: var(--color-burnt); }

/* Totaalregel van de aanbetaling */
.boeking-formulier .gfield--type-total .ginput_container_total { font-family: var(--font-family-heading), sans-serif; font-size: 19.8px; font-weight: 700; color: var(--color-text); }

/* Verzendknop — GF zet die in .gfield--type-submit met class .gform-button */
/* GF kleurt de knop met zijn eigen --gf-color-primary (blauw). Die hier
   omzetten scheelt een reeks losse overrides. */
.boeking-formulier .gform_wrapper {
	--gf-color-primary: var(--color-rose);
	--gf-color-primary-rgb: 198, 177, 180;
	--gf-color-primary-contrast: var(--color-cream);
	--gf-color-primary-darker: var(--color-darkrose);
	--gf-ctrl-btn-bg-color-primary: var(--color-rose);
	--gf-ctrl-btn-bg-color-hover-primary: var(--color-darkrose);
	--gf-ctrl-btn-border-color-primary: var(--color-rose);
	--gf-ctrl-btn-color-primary: var(--color-cream);
}

/* De knop staat in de footer als input.gform_button (underscore in de klassieke
   markup, met streepje in het orbital-thema) — beide afvangen. */
.boeking-formulier .gfield--type-submit { display: flex; align-items: center; }
.boeking-formulier .gfield--type-submit input[type="submit"],
/* Alleen knoppen die in de voettekst van het formulier of in een submit-veld
   staan. Eerder stond hier ook .gform-button los, en dat is de generieke
   knopklasse van Gravity Forms — daar valt het kalendericoon van een datumveld
   ook onder. Dat kreeg zo de kleur van de verzendknop en, na de volle breedte,
   een balk over het halve scherm. Uitzonderen op klassenaam bleek onbetrouwbaar
   omdat die per versie verschilt; de plek in het formulier is dat wel. */
.boeking-formulier .gform_footer input[type="submit"],
.boeking-formulier .gform_footer button,
.boeking-formulier .gform_footer input.gform_button,
.boeking-formulier .gform_footer .gform_button,
.boeking-formulier .gform_footer input.gform-button,
.boeking-formulier .gform_footer .gform-button,
.boeking-formulier .gfield--type-submit input[type="submit"],
.boeking-formulier .gfield--type-submit button {
	box-sizing: border-box;
	padding: 10px 20px !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	/* Volle breedte tot 320px: breder werd hij een balk over het hele formulier.
	   min-width blijft staan voor het geval de container ooit smaller wordt dan
	   de tekst; op een telefoon vult hij daardoor nog steeds de breedte. */
	width: var(--w-100) !important;
	max-width: 320px !important;
	min-width: 260px;
	height: var(--input-height) !important;
	min-height: var(--input-height) !important;
	line-height: 1;
	font-family: var(--font-family-heading), sans-serif;
	font-size: var(--font-size-base) !important;
	font-weight: 700 !important;
	text-align: center;
	color: var(--color-cream) !important;
	border: 0 !important;
	border-radius: 0 !important;
	background-color: var(--color-rose) !important;
	transition: var(--base-duration);
	cursor: pointer;
	--gf-ctrl-btn-bg-color-primary: var(--color-rose);
	--gf-ctrl-btn-bg-color-hover-primary: var(--color-darkrose);
	--gf-ctrl-btn-color-primary: var(--color-cream);
}
.boeking-formulier .gfield--type-submit input[type="submit"]:hover,
.boeking-formulier .gfield--type-submit input[type="submit"]:focus,
.boeking-formulier .gform_footer input[type="submit"]:hover,
.boeking-formulier .gform_footer input[type="submit"]:focus,
.boeking-formulier .gform_footer .gform_button:hover,
.boeking-formulier .gform_footer .gform_button:focus,
.boeking-formulier .gform_footer .gform-button:hover,
.boeking-formulier .gform_footer .gform-button:focus { background-color: var(--color-darkrose) !important; }
.boeking-formulier .gform_footer,
.boeking-formulier .gform-footer { margin: 20px 0 0; padding: 0; }
.boeking-melding { padding: 40px 25px; text-align: center; border: solid 1px rgba(225, 216, 203, 0.6); border-radius: 20px; background-color: var(--color-off-white); }
.boeking-melding .button { margin-top: 20px; }
@media only screen and (min-width: 768px) {
	.boeking { padding-top: 60px; }
	.boeking-layout { grid-template-columns: 360px 1fr; gap: 40px; align-items: start; }
	.boeking-samenvatting { position: sticky; top: 100px; }
}

/* ### beschikbaarheid doorgeven — footer-link + Fancybox-popup ### */
.copyright-beschikbaarheid,
.copyright li > a.copyright-beschikbaarheid { color: var(--color-burnt); text-decoration: none; cursor: pointer; }
.copyright li > a.copyright-beschikbaarheid:hover,
.copyright li > a.copyright-beschikbaarheid:focus-visible { text-decoration: underline; }

.beschikbaarheid-modal { display: none; }
.fancybox__content > .beschikbaarheid-modal-inner { box-sizing: border-box; padding: 40px; width: var(--w-100); max-width: 640px; margin: 0 auto; text-align: left; border-radius: 20px; background-color: var(--color-off-white); }
.beschikbaarheid-modal-inner .gform_title { margin-bottom: 10px; font-family: var(--font-family-heading), sans-serif; }
.beschikbaarheid-modal-inner select[multiple] { width: var(--w-100) !important; }

/* Datumvelden op volle breedte onder elkaar: de kalender van Gravity Forms is
   breder dan een halve kolom en zou er half naast hangen. */
.beschikbaarheid-modal-inner .gform_wrapper .gform_fields { column-gap: 20px; }

/* Gravity Forms kleurt tags, knop en focusrand met zijn eigen --gf-color-primary
   (standaard blauw). Die hier omzetten naar de huisstijl scheelt een reeks
   losse overrides die het toch van GF's specifiekere selectors verliezen. */
.beschikbaarheid-modal-inner .gform_wrapper {
	--gf-color-primary: var(--color-secondary);
	--gf-color-primary-rgb: 176, 175, 101;
	--gf-color-primary-contrast: var(--color-white);
	--gf-color-primary-contrast-rgb: 255, 255, 255;
	--gf-color-primary-darker: var(--color-green);
	--gf-color-primary-lighter: var(--color-sand);
	--gf-ctrl-btn-bg-color-primary: var(--color-secondary);
	--gf-ctrl-btn-bg-color-hover-primary: var(--color-green);
	--gf-ctrl-btn-border-color-primary: var(--color-secondary);
	--gf-ctrl-btn-color-primary: var(--color-white);
	--gf-local-color: var(--color-secondary);
}




/* Compacter. Het formulier paste niet meer op één scherm, waardoor je moest
   scrollen voor de verzendknop. De hoogte kwam uit drie dingen: de rijafstand
   van Gravity Forms, de --input-height van 60px uit het thema, en 40px padding
   rondom de popup. Alleen hier aangepast; buiten deze modal blijft alles zoals
   het was. */
.fancybox__content > .beschikbaarheid-modal-inner { padding: 28px; }
.beschikbaarheid-modal-inner .gform_title { font-size: 25.2px; margin-bottom: 16px; }
.beschikbaarheid-modal-inner .gform_wrapper .gform_fields { row-gap: 14px; }
.beschikbaarheid-modal-inner .gform_wrapper .gfield_label { margin-bottom: 4px; }
.beschikbaarheid-modal-inner .gform_wrapper .gfield_description { padding-top: 3px; font-size: 11.7px; }
.beschikbaarheid-modal-inner input[type='text'],
.beschikbaarheid-modal-inner input[type='email'],
.beschikbaarheid-modal-inner input[type='tel'],
.beschikbaarheid-modal-inner .chosen-container-multi .chosen-choices { min-height: 46px; height: 46px; padding-top: 0; padding-bottom: 0; }
.beschikbaarheid-modal-inner textarea { height: 80px; min-height: 80px; }
.beschikbaarheid-modal-inner .gform_footer { margin-top: 18px; padding-top: 0; }

/* Velden naast elkaar zet je in de formuliereditor (veldbreedte op de helft).
   Hier alleen zorgen dat een half veld ook echt de halve kolom vult — de
   datumvelden van Gravity Forms krijgen anders hun eigen vaste breedte — en
   dat de kalender die eronder uitklapt niet wordt afgeknipt. */
.beschikbaarheid-modal-inner .gform_wrapper .gfield input[type='text'],
.beschikbaarheid-modal-inner .gform_wrapper .gfield input[type='email'] { width: var(--w-100); }
.beschikbaarheid-modal-inner .gform_wrapper .gfield--type-date { position: relative; }
.beschikbaarheid-modal-inner .gform_wrapper .ui-datepicker { z-index: 10; }

/* Meerkeuze (Chosen) en de verzendknop: !important omdat GF ze met een
   specifiekere selector zet dan hier haalbaar is zonder de hele keten na te bouwen. */
.beschikbaarheid-modal-inner .chosen-container { width: var(--w-100) !important; }
.beschikbaarheid-modal-inner .chosen-container-multi .chosen-choices { padding: 6px; border: solid 1px var(--color-vanila); border-radius: 0; background-image: none; background-color: var(--color-white); box-shadow: none; }
.beschikbaarheid-modal-inner .chosen-container-multi .chosen-choices li.search-choice { margin: 4px; padding: 5px 26px 5px 12px; font-size: 13.5px; line-height: normal; color: var(--color-white) !important; border: 0 !important; border-radius: 35px !important; background-image: none !important; background-color: var(--color-secondary) !important; box-shadow: none !important; }
.beschikbaarheid-modal-inner .chosen-container-multi .chosen-choices li.search-choice .search-choice-close { top: 9px; right: 9px; filter: brightness(0) invert(1); }
.beschikbaarheid-modal-inner .chosen-container-active .chosen-choices { border-color: var(--color-secondary) !important; box-shadow: none !important; }
.beschikbaarheid-modal-inner .chosen-container .chosen-results li.highlighted { background-image: none !important; background-color: var(--color-secondary) !important; }
.beschikbaarheid-modal-inner .chosen-container .chosen-results li.result-selected { color: var(--color-secondary); }
.beschikbaarheid-modal-inner .gform_button { color: var(--color-white) !important; border: 0 !important; background-color: var(--color-secondary) !important; }
.beschikbaarheid-modal-inner .gform_button:focus,
.beschikbaarheid-modal-inner .gform_button:hover { background-color: var(--color-green) !important; }
.beschikbaarheid-modal-inner .gfield input:focus,
.beschikbaarheid-modal-inner .gfield textarea:focus,
.beschikbaarheid-modal-inner .gfield select:focus { border-color: var(--color-secondary) !important; outline: none; box-shadow: none !important; }

@media only screen and (max-width: 767px) {
	.fancybox__content > .beschikbaarheid-modal-inner { padding: 30px 22px; }
}


/* ### jQuery UI datepicker (Gravity Forms) — huisstijlkleuren ### */
/* ── Checkout: compacte header en footer op /boeken/ en /restbetaling/ ──
   Zo min mogelijk uitgangen tijdens het afrekenen: geen menu, geen slogan,
   geen beheerderslink en geen uitgebreide footer. */
/* De header blijft sticky, maar zonder de sprong van main.js: die
   translateY(-40px) schuift bij de gewone header de slogan-balk weg. Die balk
   is hier niet, dus daarmee zou de halve header uit beeld lopen.
   Hoogte: 20px + 20px padding + 21px logo + 1px rand = 62px, en dat is precies
   wat #wrapper moet compenseren. */
.is-checkout .header-checkout.sticky { transform: none; }
.is-checkout #wrapper { padding-top: 62px; }

.header-checkout { padding: 20px 0; border-bottom: solid 1px var(--color-vanila); background-color: var(--color-cream); }
.header-checkout-holder { display: flex; align-items: center; justify-content: space-between; column-gap: 20px; }
.header-checkout .header-logo { flex: none; line-height: 0; }
/* Vaste hoogte in plaats van breedte: zo ligt de balkhoogte vast, ongeacht
   welk logo er in de Customizer hangt. */
.header-checkout .header-logo img { width: auto; height: 21px; }
.header-checkout-hulp { font-size: 14.4px; font-weight: 700; color: var(--color-burnt); text-decoration: none; }
.header-checkout-hulp:hover,
.header-checkout-hulp:focus-visible { color: var(--color-text); text-decoration: underline; }

.footer-checkout { padding: 24px 0; border-top: solid 1px var(--color-vanila); background-color: var(--color-cream); }
.footer-checkout-holder { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; column-gap: 20px; row-gap: 8px; font-size: 12.6px; color: var(--color-burnt); }
.footer-checkout-holder ul { margin: 0; padding: 0; display: flex; flex-wrap: wrap; column-gap: 18px; row-gap: 4px; list-style: none; }
.footer-checkout-holder li { margin: 0; }
.footer-checkout-holder a { color: var(--color-burnt); text-decoration: none; }
.footer-checkout-holder a:hover,
.footer-checkout-holder a:focus-visible { color: var(--color-text); text-decoration: underline; }

/* ── Vertrouwensregel onder de verzendknop ── */
.boeking-vertrouwen { margin: 18px 0 0; padding: 0; display: flex; flex-wrap: wrap; column-gap: 10px; row-gap: 4px; list-style: none; font-size: 12.6px; color: var(--color-burnt); }
.boeking-vertrouwen li { margin: 0; display: flex; align-items: center; }
.boeking-vertrouwen li + li::before { content: '\00b7'; margin-right: 10px; }

@media only screen and (max-width: 767px) {
	/* 14px + 14px + 16px + 1px = 45px */
	.header-checkout { padding: 14px 0; }
	.header-checkout .header-logo img { height: 16px; }
	.header-checkout-hulp { font-size: 12.6px; text-align: right; }
	.is-checkout #wrapper { padding-top: 45px; }
}

/* ── Datumveld: kalenderknop binnen het invoerveld ──
   De knop staat als los element ná de input, en die eist hierboven de volle
   breedte op; zonder deze regels wordt hij eruit geduwd. */
.boeking-formulier .ginput_container_date { position: relative; }
.boeking-formulier .ginput_container_date input[type="text"] { padding-right: 46px; }
.boeking-formulier .ui-datepicker-trigger {
	position: absolute;
	top: 50%;
	right: 1px;
	transform: translateY(-50%);
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 42px;
	height: calc(var(--input-height) - 2px);
	margin: 0;
	padding: 0;
	border: 0;
	background: none !important;
	box-shadow: none;
	opacity: 0.6;
	cursor: pointer;
}
.boeking-formulier .ui-datepicker-trigger:hover { opacity: 1; }
.boeking-formulier .ui-datepicker-trigger img,
.boeking-formulier .ui-datepicker-trigger svg { width: 20px; height: 20px; }

/* ── Tekstgrootte ──
   Gravity Forms zet zijn eigen maten met een selector die het wint van de
   regels hierboven; vandaar !important en niet nog een variabele. */
.boeking-formulier .gform_wrapper .gfield_label { font-size: 15.3px !important; line-height: 1.4; }
.boeking-formulier .gform_wrapper input[type="text"],
.boeking-formulier .gform_wrapper input[type="email"],
.boeking-formulier .gform_wrapper input[type="tel"],
.boeking-formulier .gform_wrapper input[type="number"],
.boeking-formulier .gform_wrapper select,
.boeking-formulier .gform_wrapper textarea { font-size: 16.2px !important; }
.boeking-formulier .gform_wrapper .gform-field-label--type-sub { font-size: 13.5px !important; }
.boeking-formulier .gform_wrapper .gfield_description { font-size: 13.5px !important; }
.boeking-formulier .gform_wrapper .gchoice label,
.boeking-formulier .gform_wrapper .gfield--type-consent label { font-size: 15.3px !important; }

/* ── Telefoonveld: landkiezer even hoog als de input ──
   De hoogteregel hierboven raakt alleen de input zelf, dus de kiezer ernaast
   bleef korter. */
.boeking-formulier .gfield--type-phone .ginput_container_phone { display: flex; align-items: stretch; gap: 8px; }
.boeking-formulier .gfield--type-phone select,
.boeking-formulier .gfield--type-phone button,
.boeking-formulier .gfield--type-phone .iti__selected-country {
	box-sizing: border-box;
	height: var(--input-height) !important;
	min-height: var(--input-height) !important;
	border: 1px solid var(--color-vanila);
	background-color: var(--color-white);
}
.boeking-formulier .gfield--type-phone input[type="tel"] { flex: 1 1 auto; width: auto !important; max-width: none !important; min-width: 0; }

/* ── Intro als quote ── */
.boeking-formulier .ttt-boeking-intro,
.boeking .ttt-boeking-intro {
	margin: 0 0 10px;
	padding: 0 0 0 18px;
	border-left: 3px solid var(--color-vanila);
	font-family: var(--font-family-heading), sans-serif;
	font-size: 17.1px;
	line-height: 1.5;
	color: var(--color-burnt);
}
.boeking-formulier .ttt-boeking-intro p { margin: 0; }

#ui-datepicker-div { padding: 10px; border: solid 1px var(--color-vanila); border-radius: 12px; background-color: var(--color-off-white); box-shadow: 0 8px 24px rgba(54, 55, 46, 0.12); z-index: 1100 !important; }
#ui-datepicker-div .ui-datepicker-header { border: 0; background: none; }
#ui-datepicker-div .ui-datepicker-title select { margin: 0 3px; padding: 4px 6px; border: solid 1px var(--color-vanila); border-radius: 6px; background-color: var(--color-white); }
#ui-datepicker-div th { font-weight: 700; color: var(--color-burnt); }
#ui-datepicker-div td a,
#ui-datepicker-div td span { padding: 6px; text-align: center; border: 0; border-radius: 6px; background: none; color: var(--color-text); }
#ui-datepicker-div td a:hover { background-color: var(--color-vanila); }
#ui-datepicker-div td .ui-state-active,
#ui-datepicker-div td a.ui-state-active { color: var(--color-white) !important; background-color: var(--color-secondary) !important; }
#ui-datepicker-div td .ui-state-highlight { background-color: var(--color-sand) !important; }


/* ============================================================
   review-modal — inhoud van de Fancybox "Lees meer"-popup
   ============================================================ */
.review-modal { display: none; }
.fancybox__content > .review-modal { padding: 0; }
.review-modal-inner { box-sizing: border-box; width: 100%; max-width: 640px; margin: 0 auto; padding: 40px; text-align: left; background-color: var(--color-cream); border-radius: 20px; }
.review-modal-inner .card-review-rating { margin-bottom: 18px; justify-content: flex-start; }
.review-modal-title { margin-bottom: 18px; }
.review-modal-text { margin-bottom: 24px; }
.review-modal-text p { margin-bottom: 16px; }
.review-modal-text p:last-child { margin-bottom: 0; }
.review-modal-inner .card-review-client { justify-content: flex-start; }
.review-modal-photos { margin-top: 24px; display: flex; flex-wrap: wrap; gap: 10px; }
.review-modal-photos a { display: block; width: 90px; height: 90px; border-radius: 10px; overflow: hidden; }
.review-modal-photos img { width: var(--w-100); height: var(--h-100); object-fit: cover; transition: var(--base-duration); }
.review-modal-photos a:focus img,
.review-modal-photos a:hover img { transform: scale(1.05); }
@media only screen and (max-width: 767px) {
	.review-modal-inner { padding: 30px 22px; }
}
/* Boekingspagina: regels die met de werkgever-route mee verschijnen. */
.boeking-bedragen li[hidden],
.boeking-note[hidden] { display: none; }
.boeking-aanbetaling[data-rol="werkgever"] strong { font-size: 18px; color: var(--color-burnt); }