:root { 
	--swiper-pagination-bullet-size: 12px;
	--swiper-pagination-bottom: 30px;
	--swiper-pagination-color: #fff;
}

.wp-block-gallery.is-style-carousel .swiper-slide.wp-block-image { 
  	display: block;
}

.wp-block-columns.is-style-carousel {
	overflow: visible;
} 

.wp-block-columns.max-slides-1 {
	overflow: hidden;
}

.wp-block-column.swiper-slide {
	box-sizing: border-box;
}

.swiper-slide > img {
	position: relative;
	top: 50%;
	transform: translateY(-50%);
}

.wp-block-gallery.is-style-carousel .wp-block-image { 
  	flex: none !important;
}

.wp-block-gallery.is-style-carousel .swiper-slide.blocks-gallery-item { 
  	flex: none !important;
}
/* Zorg dat we de pijlen goed kunnen positioneren */
.is-style-carousel .swiper { position: relative; }

/* Ronde, transparante knoppen met witte ring */
.is-style-carousel .swiper-button-prev,
.is-style-carousel .swiper-button-next {
	--arrow-size: 36px;         /* pas maat aan */
	--arrow-color: #fff;        /* pijl + ring kleur */
	--ring-thickness: 2.5px;      /* dikte van de ring */
	width: var(--arrow-size);
	height: var(--arrow-size);
	border-radius: 999px;
	background: rgba(0,0,0,0.25);
	border: var(--ring-thickness) solid var(--arrow-color);
	box-shadow: 0 2px 10px rgba(0,0,0,.25);
	display: flex; align-items: center; justify-content: center;
	top: 50%;
	opacity: 0.75; transition: opacity .2s, transform .2s;
	z-index: 5; /* boven slides */
}

/* Plaatsing links/rechts */
.is-style-carousel .swiper-button-prev { left: min(5%, 30px); right: auto; }
.is-style-carousel .swiper-button-next { right: min(5%, 30px); left: auto; }

/* Vervang Swiper’s icon font door onze SVG-pijl */
.is-style-carousel .swiper-button-prev::after,
.is-style-carousel .swiper-button-next::after {
	content: "";
	width: 52%; height: 52%;             /* verhouding pijl t.o.v. knop */
	display: block;
	background: var(--arrow-color);
	/* SVG als mask, zodat de kleur via background werkt */
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
		  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Vorige = zelfde pijl, maar 180° gedraaid */
.is-style-carousel .swiper-button-prev::after { transform: rotate(180deg); }
.is-style-carousel .swiper-button-prev:hover, .is-style-carousel .swiper-button-next:hover {
	opacity: 1;
}
.is-style-carousel .swiper-button-disabled {
  	display: none;
}

/* Zorg dat Swiper’s eigen icon-font niet doorheen piept */
.is-style-carousel .swiper-button-prev::after,
.is-style-carousel .swiper-button-next::after {
  	font-family: initial !important;
}

.wp-block-columns.is-style-carousel .swiper-button-prev,
.wp-block-columns.is-style-carousel .swiper-button-next {
	top: 45%;
	transform: translateY(-50%);
}

.wp-block-gallery.is-style-carousel.logos figure.wp-block-image img {
	max-width: 200px !important;
	max-height: 90px;
	margin: auto;
} 

.wp-block-gallery.is-style-carousel.logos .swiper-wrapper,
.wp-block-gallery.is-style-carousel.max-slides-3 .swiper-wrapper {
	cursor: grab;
}

@media screen and (min-width: 782px) {
	
	.wp-block-gallery.is-style-carousel:not([class*="max-slides"]),
	.wp-block-columns.is-style-carousel:not([class*="max-slides"])  {
		position: relative;
		width: 120vw;
		left: calc(-10vw - var(--wp--preset--spacing--50));
	}
	
	.wp-block-gallery.is-style-carousel:not([class*="max-slides"]) .swiper-button-prev,
	.wp-block-columns.is-style-carousel:not([class*="max-slides"]) .swiper-button-prev {
		margin-left: 10vw;
	}
	
	.wp-block-gallery.is-style-carousel:not([class*="max-slides"]) .swiper-button-next,
	.wp-block-columns.is-style-carousel:not([class*="max-slides"]) .swiper-button-next {
		margin-right: 10vw;
	}
	
	.wp-block-gallery.is-style-carousel.max-slides-3 {
		position: relative;
		width: 150vw;
		left: calc(-25vw - var(--wp--preset--spacing--50));
	}
	
	.wp-block-gallery.is-style-carousel.max-slides-3 .swiper-button-prev {
		margin-left: 25vw;
	}
	
	.wp-block-gallery.is-style-carousel.max-slides-3 .swiper-button-next {
		margin-right: 25vw;
	}
	
	.wp-block-gallery.is-style-carousel .swiper-slide.wp-block-image > img {
		width: calc(100% - var(--wp--preset--spacing--60));
		height: 100%;
		margin: 0 auto;
		object-fit: contain;
		display: block;
	}
}


/* BLOCK EDITOR */
.block-editor-block-list__block.is-style-carousel {
	display: block;
	white-space: nowrap;
	overflow: auto;
	max-width: 100vw;
	left: 0 !important;
}

.block-editor-block-list__block.max-slides-1 {
	max-width: 860px;
}

.block-editor-block-list__block.is-style-carousel > div,
.block-editor-block-list__block.is-style-carousel > figure {
	display: inline-block !important;
	margin: 0 15px !important;
}


.block-editor-block-list__block.is-style-carousel:not(.max-slides-1) > div,
.block-editor-block-list__block.is-style-carousel:not(.max-slides-1) > figure {
	width: calc(20% - 30px) !important;
}

.block-editor-block-list__block.is-style-carousel.max-slides-3 > div,
.block-editor-block-list__block.is-style-carousel.max-slides-3 > figure {
	width: calc(33.3333% - 30px) !important;
}
/* Zorg voor positionering */
.wp-block-cover.auto-rotate { position: relative; }

/* verberg originele bg/afbeelding als rotator actief is */
.wp-block-cover.auto-rotate.auto-rotate--active {
  background-image: none !important;
}
.wp-block-cover.auto-rotate.auto-rotate--active > .wp-block-cover__image-background {
  display: none !important;
}

/* verberg de bron-afbeeldingen (galerij / losse images) in preview */
.wp-block-cover.auto-rotate figure.wp-block-gallery,
.wp-block-cover.auto-rotate .wp-block-image {
  display: none !important;
}

/* crossfade-lagen */
.wp-block-cover.auto-rotate .ar-layer {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 0;
  transition: opacity 600ms ease;
  z-index: 0;
  pointer-events: none;
}
.wp-block-cover.auto-rotate .ar-layer.is-visible { opacity: 1; }

/* content erboven */
.wp-block-cover.auto-rotate .wp-block-cover__inner-container {
  position: relative;
  z-index: 1;
}

.wp-block-cover.auto-rotate .wp-block-cover__background {
	z-index: -1;
}
:root{
  --ahh-height: auto;               /* wordt door JS gezet */
  --ahh-offset: 0px;                /* WP admin bar -> JS zet dit ook */
  --ahh-transition: 400ms ease;     /* animatie duur */
  --ahh-shadow: 0 6px 16px rgba(0,0,0,.08);
  --ahh-bg: var(--header-bg, #fff);
}

html {
	scroll-behavior: smooth;
}

input,
select {
	font-family: var(--wp--preset--font-family--sora);
	color: var(--wp--preset--color--accent-2);
}

*:focus {
	outline: 0;
}

h1.has-x-large-font-size {
	font-size: clamp(30px, 2.1rem + ((1vw - 3.2px) * 3), 90px) !important;
}

h3,
summary {
	font-size: clamp(16px, calc(1rem + ((1vw - 3.2px) * 0.8333)), 24px);  !important;
}

strong, b {
	font-weight: 700;
}

a[rel="tag"] {
	pointer-events: none;
	text-decoration: none;
}

.wp-block-navigation__responsive-container .wp-block-navigation-item a {
	border-bottom: 2px solid #fff;
}
.wp-block-navigation__responsive-container .wp-block-navigation-item a.current {
	border-bottom: 2px solid;
}

.wp-block-navigation__responsive-container.is-menu-open {
	position: fixed;
	width: 100%;
	height: 100vh;
	z-index: 1000;
	top: 0;
	left: 0;
	bottom: 0;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	font-size: 26px !important;
	font-weight: 600;
}

.wp-block-navigation__responsive-container-close {
	right: 5vw;
    top: 44px;
}

.wp-block-navigation__responsive-container-open {
	position: fixed;
    right: 5vw;
    top: 44px;
}

body.has-auto-hide-header:not(.no-header-padding){
  	padding-top: var(--ahh-height);
}

[data-auto-hide-header]{
	position: fixed;
	inset-inline: 0;
	top: var(--ahh-offset);
	z-index: 999;
	background: var(--ahh-bg);
	//box-shadow: var(--ahh-shadow);
	transform: translateY(0);
	transition: transform var(--ahh-transition);
	will-change: transform;
}

[data-auto-hide-header].is-hidden{
  	transform: translateY(calc(-100% - 8px)); 
}

[data-auto-hide-header]:hover,
[data-auto-hide-header]:focus-within{
  	transform: translateY(0);
}

@media (prefers-reduced-motion: reduce){
  	[data-auto-hide-header]{ transition: none; }
}

.wp-site-blocks {
	width: 100vw;
	overflow-x: hidden;
}

.wp-block-separator {
	height: 0.5px;
	border-top: 0.5px solid;
}

#contact {
	background-size: auto 120% !important;
    background-position: -10% 50% !important;
}

#diensten .flip-box-block,
.flip-box-block:has([style*="aspect-ratio: 1 / 1"]) {
	aspect-ratio: 1 / 1;
}

#diensten .flip-box-block img {
	width: 100%;
}

#team .flip-box-block,
.flip-box-block:has([style*="aspect-ratio: 3 / 4"]) {
	aspect-ratio: 2 / 3;
}

#testimonials .has-background {
	overflow: hidden;
	background-position: right -300px top 30% !important;
    background-size: auto 600px !important;
}

#faq details > summary {
  cursor: pointer;
  position: relative;
  padding-right: 3rem; 
  list-style: none; 
}

#faq details > summary::-webkit-details-marker { display: none; }
#faq details > summary::marker { content: ""; }

#faq details > summary::after {
  --size: 32px;
  --accent: #142962;     
  content: "+";
  position: absolute;
  right: 0; top: 50%;
  transform: translateY(-50%);
  width: var(--size); height: var(--size);
  border: 2px solid var(--accent);
  border-radius: 50%;
  display: grid; place-items: center;
  color: var(--accent);
  font-weight: 400;
  font-size: 24px;
  line-height: 1;
  background: transparent;
  transition: transform .2s ease, opacity .2s ease;
}

#faq details[open] > summary::after {
  content: "–"; 
}

#faq details > summary:hover::after,
#faq details > summary:focus-visible::after {
  opacity: 1;
  transform: translateY(-50%) scale(1.03);
}


/* FILTERS */

.wpc-filter-category label {
	border-radius: 25px !important;
	border-color: var(--wp--preset--color--accent-2) !important
}
.wpc-filter-category span.wpc-filter-label-wrapper {
	transition: 0.3s ease;
	border-radius: 25px !important;
	padding-top: var(--wp--preset--spacing--20) !important;
    padding-right: var(--wp--preset--spacing--60) !important;
    padding-bottom: var(--wp--preset--spacing--20) !important;
    padding-left: var(--wp--preset--spacing--60) !important;
	font-size: var(--wp--preset--font-size--small) !important;
}

.wpc-filter-category span.wpc-filter-label-wrapper a {
	color: var(--wp--preset--color--accent-2) !important;
}

.wpc-filter-category label:hover span.wpc-filter-label-wrapper {
	background-color: unset !important;
}

.wpc-filters-main-wrap input.wpc-label-input:checked+label:hover span.wpc-filter-label-wrapper {
	background-color: var(--wp--preset--color--accent-2) !important;
}

.wpc-filters-main-wrap input.wpc-label-input:checked+label span.wpc-filter-label-wrapper a {
	color: #fff !important;
}

.wpc-filters-section,
.wpc-filters-date-range-wrapper {
	display: flex;
	gap: 10px;
 	justify-content: center;
}

.wpc-filters-section {
	margin: 0 !important;
}

.wpc-filters-date-range-column {
	display: flex;
}

.wpc-filter-title {
	margin: 0;
	height: 2.7em;
	color: var(--wp--preset--color--accent-2) !important;
	font-size: var(--wp--preset--font-size--small) !important;
}
.wpc-filters-date-range-wrapper label {
	font-size: var(--wp--preset--font-size--small) !important;
	line-height: 2.7em !important;
	margin-right: 10px;
	color: var(--wp--preset--color--accent-2);
}

.wpc-filters-date-range-wrapper input {
	min-width: 100px !important;
	border-radius: 25px !important;
	border-color: var(--wp--preset--color--accent-2) !important;
	height: 2.7em !important;
	line-height: 2.7em !important;
	text-align: center !important;
	font-size: var(--wp--preset--font-size--small) !important;
}

.wpc-filters-labels li.wpc-term-count-0:not(.wpc-has-not-empty-children) label {
	opacity: 0.4 !important;
	pointer-events: none;
}

.wpc-filters-ul-list {
	margin: 0 !important;
	padding-top: 0 !important;
}

.wpc-edit-filter-set {
	display: none;
}

.ui-datepicker.wpc-filter-datepicker.ui-widget-content {
	border-radius: 16px;
	margin-top: 10px;
}

#ui-datepicker-div .ui-state-default, #ui-datepicker-div .ui-widget-header .ui-state-default, #ui-datepicker-div.ui-widget-content .ui-state-default {
	text-align: center;
	border-radius: 20px;
}

@media screen and (min-width: 960px) {
	#header nav {
		position: absolute;
		top: 50px;
		left: 0;
		right: 0;
		pointer-events: none;
	}
	#header nav ul li:nth-child(-n + 4) {
		position: relative;
		left: -135px;
		pointer-events: all;
	}
	#header nav ul li:nth-child(n + 4) {
		position: relative;
		right: -145px;
		pointer-events: all;
	}
}

@media screen and (max-width: 782px) {
	#header {
		padding: 35px 0 !important;
	}
	#header img {
		max-width: 170px !important;
	}
	#header nav {
		margin: 0 !important;
	}
	
	#testimonials .has-background {	
		background-position: right -450px top -200% !important;
	}
	
	#contact {
		background-position: 240px 50% !important;
	}
	
	#copyright .wp-block-column p {
		text-align: center;
	}
	
	/* FILTERS */
	
	.wpc-filters-section,
	.wpc-filters-date-range-wrapper {
		display: inline-block;
	}
	.wpc-filters-date-range-wrapper label {
		display:none;
	}
}

/* BLOCK EDITOR */

.block-editor-block-list__block.wp-block-post-title {
	text-align: center !important;
}
