/* ==========================================================================
   Corombelle — stijlen op basis van het Figma-ontwerp "Site web 2026"
   Geladen op de front-end én in de blokeditor.
   ========================================================================== */

:root {
	--cr-bordeaux: var(--wp--preset--color--bordeaux, #6a0203);
	--cr-orange: var(--wp--preset--color--orange, #fc4c3d);
	--cr-text: var(--wp--preset--color--text, #1d1c24);
	--cr-light: var(--wp--preset--color--light-greige, #f0f0eb);
	--cr-greige: var(--wp--preset--color--greige, #bfbbae);
	--cr-muted: var(--wp--preset--color--muted, #6f6c65);
	--cr-gutter: clamp(16px, 5.7vw, 82px);
	/* Binnenmarge die op brede schermen meeschuift met de container van 1276px */
	--cr-edge: max(var(--cr-gutter), calc((100vw - var(--cr-scrollbar, 0px) - 1276px) / 2));
	--cr-icons: url("../icons/");
	--cr-arrow: url("../icons/arrow-corner.svg");
	--cr-phone: url("../icons/phone.svg");
	--cr-mobile: url("../icons/mobile.svg");
}

/* --------------------------------------------------------------------------
   Basis
   -------------------------------------------------------------------------- */

html {
	scroll-behavior: smooth;
	scroll-padding-top: 110px;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
}

body {
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

.wp-site-blocks {
	position: relative;
}

.wp-site-blocks > * {
	margin-block-start: 0;
}

.cr-landing > * {
	margin-block-start: 0 !important;
}

p.has-large-font-size,
.has-large-font-size p,
.cr-lead {
	font-size: 18px;
	line-height: 26px;
}

strong,
b {
	font-weight: 700;
}

.wp-block-image img {
	display: block;
}

.cr-mobile-only {
	display: none !important;
}

/* Kleine titels (eyebrow) */
.cr-eyebrow,
.cr-eyebrow a {
	color: var(--cr-greige);
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 1.8px;
	line-height: 18px;
	text-decoration: none;
	text-transform: uppercase;
}

/* --------------------------------------------------------------------------
   Knoppen
   -------------------------------------------------------------------------- */

.wp-block-buttons {
	gap: 12px;
}

.wp-block-button__link {
	align-items: center;
	display: inline-flex;
	gap: 10px;
	min-height: 43px;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
	white-space: nowrap;
}

.wp-block-button[class*="-arrow"] .wp-block-button__link::after,
.wp-block-button.is-style-phone .wp-block-button__link::after,
.wp-block-button.is-style-outline-phone .wp-block-button__link::after,
.wp-block-button.is-style-outline-mobile .wp-block-button__link::after,
.wp-block-button.is-style-link .wp-block-button__link::after {
	background-color: currentColor;
	content: "";
	display: inline-block;
	flex: none;
	height: 12px;
	-webkit-mask: var(--cr-arrow) center / contain no-repeat;
	mask: var(--cr-arrow) center / contain no-repeat;
	width: 12px;
}

.wp-block-button.is-style-bordeaux-arrow .wp-block-button__link {
	background-color: var(--cr-bordeaux);
}

.wp-block-button.is-style-phone .wp-block-button__link::after,
.wp-block-button.is-style-outline-phone .wp-block-button__link::after {
	height: 13px;
	-webkit-mask-image: var(--cr-phone);
	mask-image: var(--cr-phone);
	transform: rotate(-90deg);
	width: 13px;
}

.wp-block-button.is-style-outline-phone .wp-block-button__link,
.wp-block-button.is-style-outline-mobile .wp-block-button__link {
	background: transparent;
	border: 2px solid var(--cr-orange);
	color: var(--cr-orange);
	padding: 10px 18px;
}

.wp-block-button.is-style-outline-mobile .wp-block-button__link::after {
	height: 15px;
	-webkit-mask-image: var(--cr-mobile);
	mask-image: var(--cr-mobile);
	width: 10px;
}

.wp-block-button.is-style-outline-phone .wp-block-button__link:hover,
.wp-block-button.is-style-outline-mobile .wp-block-button__link:hover {
	background: var(--cr-orange);
	color: #fff;
}

.wp-block-button.is-style-link .wp-block-button__link {
	background: transparent;
	color: var(--cr-orange);
	font-size: 16px;
	font-weight: 600;
	gap: 12px;
	line-height: 20px;
	min-height: 0;
	padding: 0;
	text-decoration: underline;
	text-transform: none;
}

.wp-block-button.is-style-link .wp-block-button__link:hover,
.wp-block-button.is-style-link .wp-block-button__link:focus {
	background: transparent;
	color: var(--cr-orange);
	text-decoration: none;
}

.wp-block-button.is-style-bordeaux-arrow .wp-block-button__link:hover,
.wp-block-button.is-style-bordeaux-arrow .wp-block-button__link:focus {
	background-color: var(--cr-text);
}

/* Gelinkte tekst met pijl in paragrafen (bv. "Plus d’info") */
.cr-arrowlink a,
a.cr-arrowlink {
	align-items: center;
	color: var(--cr-orange);
	display: inline-flex;
	font-weight: 600;
	gap: 12px;
}

.cr-arrowlink a::after,
a.cr-arrowlink::after {
	background-color: currentColor;
	content: "";
	height: 12px;
	-webkit-mask: var(--cr-arrow) center / contain no-repeat;
	mask: var(--cr-arrow) center / contain no-repeat;
	width: 12px;
}

/* --------------------------------------------------------------------------
   Lijst met pijlen en lijnen (2 kolommen)
   -------------------------------------------------------------------------- */

ul.is-style-arrows {
	column-gap: 20px;
	columns: 2;
	list-style: none;
	margin: 0;
	padding: 0;
}

ul.is-style-arrows li {
	border-bottom: 1px solid var(--cr-greige);
	break-inside: avoid;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.27;
	margin: 0 0 24px;
	padding: 0 0 12px 28px;
	position: relative;
}

ul.is-style-arrows li::before {
	background: url("../icons/arrow-list.svg") center / contain no-repeat;
	content: "";
	height: 15px;
	left: 0;
	position: absolute;
	top: 3px;
	width: 12px;
}

.cr-dark ul.is-style-arrows li {
	border-color: var(--cr-orange);
	color: #fff;
}

/* --------------------------------------------------------------------------
   Header
   -------------------------------------------------------------------------- */

.wp-site-blocks > header.wp-block-template-part {
	left: 0;
	position: relative;
	right: 0;
	top: 0;
	z-index: 100;
}

body.cr-has-hero .wp-site-blocks > header.wp-block-template-part {
	position: absolute;
}

body:not(.cr-has-hero) .cr-header {
	background: var(--cr-text);
}

.cr-header {
	color: #fff;
}

.cr-topbar {
	align-items: center;
	border-bottom: 1px solid rgba(255, 255, 255, .9);
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	height: 43px;
	padding: 0 var(--cr-edge);
}

.cr-topbar > * {
	margin: 0 !important;
}

.cr-topbar__tagline {
	color: var(--cr-greige);
	font-size: 15px;
	font-weight: 500;
	grid-column: 2;
	text-align: center;
}

.cr-subnav {
	font-size: 14px;
	gap: 20px !important;
	grid-column: 3;
	justify-self: end;
}

.cr-subnav .wp-block-navigation-item__content,
.cr-mainnav .wp-block-navigation-item__content {
	color: #fff;
	text-decoration: none;
}

.cr-subnav .wp-block-navigation-item__content:hover,
.cr-mainnav .wp-block-navigation-item__content:hover {
	color: var(--cr-orange);
}

.cr-mainbar {
	align-items: center;
	display: flex;
	gap: 30px;
	padding: 9px var(--cr-edge) 0;
	position: relative;
}

.cr-mainbar > * {
	margin: 0 !important;
}

.cr-mainbar::after {
	border-bottom: 1px solid #fff;
	bottom: 4px;
	content: "";
	left: calc(var(--cr-edge) + 216px);
	position: absolute;
	right: 0;
}

.cr-logo {
	flex: none;
	width: 204px;
}

.cr-logo img {
	height: auto;
	width: 204px;
}

.cr-mainnav {
	font-size: 15px;
	font-weight: 500;
	margin-left: auto !important;
	margin-top: -8px !important;
	text-transform: uppercase;
}

.cr-mainnav .wp-block-navigation__container {
	gap: 30px;
}

.cr-header__cta {
	flex-wrap: nowrap;
	margin-top: -8px !important;
}

/* Sticky header bij scrollen */
.cr-header.is-stuck {
	animation: cr-slide-down .3s ease;
	background: rgba(29, 28, 36, .8) !important;
	backdrop-filter: blur(6px);
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
}

body.admin-bar .cr-header.is-stuck {
	top: 32px;
}

.cr-header.is-stuck .cr-topbar {
	display: none;
}

.cr-header.is-stuck .cr-mainbar {
	padding-bottom: 0;
	padding-top: 0;
}

.cr-header.is-stuck .cr-mainbar::after {
	display: none;
}

.cr-header.is-stuck .cr-mainnav,
.cr-header.is-stuck .cr-header__cta {
	margin-top: 0 !important;
}

@keyframes cr-slide-down {
	from { transform: translateY(-100%); }
	to { transform: none; }
}

/* Mobiel menu (overlay van het navigatieblok) */
.cr-mainnav .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--cr-bordeaux) !important;
	color: #fff !important;
	padding: 32px var(--cr-gutter);
}

.cr-mainnav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	gap: 22px;
}

.cr-mainnav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-size: 20px;
}

.cr-mainnav .wp-block-navigation__responsive-container-open,
.cr-mainnav .wp-block-navigation__responsive-container-close {
	color: #fff;
}

.cr-mainnav .wp-block-navigation__responsive-container-open svg {
	height: 32px;
	width: 32px;
}

/* Zwevende knoppen rechts */
.cr-floating {
	display: flex;
	flex-direction: column;
	gap: 8px;
	position: fixed;
	right: 0;
	top: 534px;
	z-index: 90;
}

.cr-floating__btn {
	display: block;
	height: 49px;
	transition: transform .2s ease;
	width: 62px;
}

.cr-floating__btn:hover {
	transform: translateX(-6px);
}

.cr-floating__btn--phone {
	background: url("../icons/float-1.svg") center / contain no-repeat;
}

.cr-floating__btn--mail {
	background: url("../icons/float-2.svg") center / contain no-repeat;
}

/* --------------------------------------------------------------------------
   Secties — algemeen
   -------------------------------------------------------------------------- */

.cr-section {
	position: relative;
}

.cr-dark {
	background-color: var(--cr-bordeaux);
	color: #fff;
}

.cr-light {
	background-color: var(--cr-light);
}

.cr-intro-text {
	max-width: 844px;
}

.cr-intro-text > * {
	margin-block: 0;
}

.cr-intro-text > * + * {
	margin-top: 28px;
}

/* --------------------------------------------------------------------------
   Hero
   -------------------------------------------------------------------------- */

.cr-hero {
	background-color: var(--cr-text);
	background-position: center;
	background-size: cover;
	color: #fff;
	min-height: 778px;
	padding-top: 288px;
	position: relative;
	z-index: 2;
}

.cr-hero::before {
	background: linear-gradient(90deg, rgba(29, 28, 36, .45), rgba(29, 28, 36, .2));
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.cr-hero > * {
	position: relative;
}

.cr-hero.is-layout-constrained > * {
	margin-left: max(0px, calc((100% - 1276px) / 2)) !important;
	margin-right: auto !important;
}

.cr-hero .cr-eyebrow {
	margin-bottom: 16px;
}

.cr-hero h1 {
	color: #fff;
	margin: 0;
	max-width: 628px;
}

.cr-hero__text {
	font-size: 18px;
	line-height: 26px;
	margin-top: 30px;
	max-width: 520px;
}

.cr-hero .wp-block-buttons {
	margin-top: 24px;
}

.cr-hero__columns {
	gap: 40px;
	justify-content: space-between;
	margin-bottom: 0 !important;
	margin-top: 0 !important;
}

.cr-hero__columns > .wp-block-column:first-child > * {
	margin-block: 0;
}

.cr-hero__columns > .wp-block-column:first-child > .cr-hero__text {
	margin-top: 30px;
}

.cr-hero__columns > .wp-block-column:first-child > .wp-block-buttons {
	margin-top: 24px;
}

.cr-hero__columns > .wp-block-column:last-child {
	display: flex;
	justify-content: flex-end;
}

.cr-hero-card {
	background: var(--cr-orange);
	border: 2px solid #fff;
	color: #fff;
	margin: 220px 108px -60px 0 !important;
	padding: 40px 36px;
	width: 412px;
}

.cr-hero-card > * {
	margin-block: 0;
}

.cr-hero-card h2,
.cr-hero-card h3 {
	font-size: 20px;
	font-weight: 500;
	margin-bottom: 12px;
}

.cr-hero-card p {
	line-height: normal;
}

.cr-hero-card ol {
	font-weight: 600;
	line-height: normal;
	margin: 20px 0 0;
	padding-left: 24px;
}

.cr-hero-card .wp-block-buttons {
	margin-top: 28px;
}

/* Kleine hero (detailpagina) */
.cr-hero--small {
	min-height: 650px;
	padding-top: 241px;
}

/* --------------------------------------------------------------------------
   Broodkruimel
   -------------------------------------------------------------------------- */

.cr-breadcrumb {
	background: var(--cr-light);
	font-size: 14px;
	line-height: 22px;
	padding-bottom: 16px;
	padding-top: 16px;
}

.cr-breadcrumb .cr-breadcrumb__items {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.cr-breadcrumb .cr-breadcrumb__items > * {
	margin: 0;
}

.cr-breadcrumb p + p::before {
	background: url("../icons/breadcrumb.svg") center / contain no-repeat;
	content: "";
	display: inline-block;
	height: 6px;
	margin-right: 8px;
	vertical-align: middle;
	width: 6px;
}

.cr-breadcrumb a {
	color: var(--cr-text);
	text-decoration: none;
}

.cr-breadcrumb a:hover {
	color: var(--cr-orange);
}

.cr-breadcrumb p:last-child {
	color: var(--cr-orange);
}

/* --------------------------------------------------------------------------
   Home — intro met diensten
   -------------------------------------------------------------------------- */

.cr-services-intro {
	padding-bottom: 80px;
	padding-top: 112px;
}

.cr-services-intro > .wp-block-columns {
	gap: 40px;
}

.cr-services-intro__lead > * {
	margin-block: 0;
}

.cr-services-intro__lead > * + * {
	margin-top: 28px;
}

.cr-service-grid {
	display: grid;
	gap: 44px 0;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cr-service-grid > * {
	margin: 0 !important;
}

.cr-service-card {
	padding: 0 36px;
}

.cr-service-card > * {
	margin-block: 0;
}

.cr-service-card > * + * {
	margin-top: 12px;
}

.cr-service-card .cr-icon img {
	height: 30px;
	object-fit: contain;
	object-position: left center;
	width: auto;
}

.cr-service-card h3 {
	color: var(--cr-bordeaux);
	font-size: 20px;
	font-weight: 500;
}

.cr-service-card .wp-block-buttons {
	margin-top: 12px;
}

/* --------------------------------------------------------------------------
   Afbeelding + tekst (greige sectie)
   -------------------------------------------------------------------------- */

.cr-split {
	padding-bottom: 100px;
}

.cr-split__row {
	align-items: stretch;
	gap: 0;
	margin: 0 calc(var(--cr-gutter) * -1) 0 calc(var(--cr-gutter) * -1) !important;
	max-width: none !important;
}

/* Beeld en tekst altijd 50/50 over de volle breedte */
.cr-split__row > .wp-block-column {
	box-sizing: border-box;
	flex-basis: 50% !important;
	flex-grow: 0 !important;
}

.cr-light-split > .wp-block-column {
	box-sizing: border-box;
}

.cr-split__image {
	height: 100%;
	margin: 0 !important;
}

.cr-split__image img {
	height: 100%;
	min-height: 440px;
	object-fit: cover;
	width: 100%;
}

.cr-split__copy {
	align-self: center;
	padding: 64px var(--cr-edge) 64px 72px;
}

.cr-split__copy > * {
	max-width: 640px;
}

.cr-split__copy > * {
	margin-block: 0;
}

.cr-split__copy > * + * {
	margin-top: 28px;
}

.cr-split .cr-intro-text {
	margin-top: 70px;
}

.cr-split .is-style-arrows {
	margin-top: 36px;
}

/* --------------------------------------------------------------------------
   Expertise 40 ans + 3 kolommen
   -------------------------------------------------------------------------- */

.cr-expertise {
	padding-top: 100px;
}

.cr-expertise__intro {
	max-width: 844px;
}

.cr-expertise__intro > * {
	margin-block: 0;
}

.cr-expertise__intro > * + * {
	margin-top: 28px;
}

.cr-expertise__intro p {
	max-width: 736px;
}

.cr-usps {
	border-bottom: 1px solid var(--cr-greige);
	border-top: 1px solid var(--cr-greige);
	gap: 0 !important;
	margin-left: calc(var(--cr-gutter) * -1) !important;
	margin-right: calc(var(--cr-gutter) * -1) !important;
	margin-top: 0 !important;
	padding: 35px var(--cr-edge) 38px;
}

.cr-expertise__intro + .cr-usps {
	margin-top: 0 !important;
}

.cr-expertise .wp-block-buttons {
	margin-top: 28px;
}

.cr-usps > .wp-block-column {
	padding-left: 24px;
	padding-right: 20px;
	padding-top: 22px;
	position: relative;
}

.cr-usps > .wp-block-column::before {
	background: url("../icons/toit.svg") left top / contain no-repeat;
	content: "";
	height: 41px;
	left: 0;
	position: absolute;
	top: 0;
	width: 48px;
}

/* Smallere tekstblokken links uitlijnen op de container i.p.v. centreren */
.is-layout-constrained > .cr-intro-text,
.is-layout-constrained > .cr-expertise__intro,
.is-layout-constrained > .cr-projects__intro,
.is-layout-constrained > .cr-interventions__intro,
.is-layout-constrained > .cr-services3__title,
.cr-services3.is-layout-constrained > h2 {
	margin-left: max(0px, calc((100% - 1276px) / 2)) !important;
	margin-right: auto !important;
}

.cr-usps > .wp-block-column > * {
	margin-block: 0;
}

.cr-usps h3 {
	color: var(--cr-bordeaux);
	font-size: 17px;
	font-weight: 600;
	margin-bottom: 12px;
	position: relative;
}

/* De knop "Faisons connaissance" zit tegen de lijn aan */
.cr-expertise__intro .wp-block-buttons {
	margin-bottom: 0;
	margin-top: 36px;
}

/* --------------------------------------------------------------------------
   Offerteblok (greige kader met afbeelding)
   -------------------------------------------------------------------------- */

.cr-quotebox-wrap {
	background: linear-gradient(to bottom, #fff 0, #fff 203px, var(--cr-bordeaux) 203px);
	padding-top: 80px;
}

.cr-quotebox {
	background: var(--cr-light);
	gap: 0 !important;
	margin-bottom: 0 !important;
	margin-top: 0 !important;
}

.cr-quotebox > .wp-block-column:first-child {
	padding: 75px 64px 64px;
}

.cr-quotebox > .wp-block-column:first-child > * {
	margin-block: 0;
}

.cr-quotebox > .wp-block-column:first-child > * + * {
	margin-top: 20px;
}

.cr-quotebox .wp-block-buttons {
	margin-top: 28px !important;
}

.cr-quotebox h2,
.cr-quotebox h3 {
	font-size: var(--wp--preset--font-size--xx-large);
}

.cr-quotebox .wp-block-image {
	height: 100%;
	margin: 0;
}

.cr-quotebox .wp-block-image img {
	height: 100%;
	min-height: 300px;
	object-fit: cover;
	width: 100%;
}

/* --------------------------------------------------------------------------
   Realisaties (bordeaux)
   -------------------------------------------------------------------------- */

.cr-projects {
	overflow: hidden;
	padding-bottom: 68px;
	padding-top: 60px;
}

.cr-projects__intro {
	max-width: 628px;
}

.cr-projects__intro > * {
	margin-block: 0;
}

.cr-projects__intro > * + * {
	margin-top: 28px;
}

.cr-projects h2 {
	color: #fff;
}

.cr-gallery-row {
	display: flex !important;
	flex-wrap: nowrap !important;
	gap: 20px !important;
	margin-top: 30px !important;
	width: calc(480px * 3 + 40px);
}

.cr-gallery-row > figure.wp-block-image {
	flex: 0 0 480px !important;
	margin: 0 !important;
	width: 480px !important;
}

.cr-gallery-row > figure.wp-block-image img {
	aspect-ratio: 4 / 3;
	border: 2px solid var(--cr-orange);
	height: 360px !important;
	object-fit: cover;
	width: 100% !important;
}

.cr-gallery-row--offset {
	margin-left: -204px !important;
}

.cr-projects__cta {
	margin-top: 60px !important;
}

.cr-projects__cta > * {
	margin-block: 0;
}

.cr-quote {
	color: var(--cr-orange);
	font-size: var(--wp--preset--font-size--huge);
	font-weight: 300;
	line-height: 1.27;
}

.cr-projects__cta .wp-block-buttons {
	margin-top: 36px;
}

.cr-projects__cta--right {
	text-align: right;
}

.cr-projects__cta--right .wp-block-buttons {
	justify-content: flex-end;
}

/* Afbeelding met loupe bij hover */
.wp-block-image.is-style-zoom {
	overflow: hidden;
	position: relative;
}

.wp-block-image.is-style-zoom::after {
	background: rgba(29, 28, 36, .4) url("../icons/zoom.svg") center / 40px no-repeat;
	content: "";
	inset: 2px;
	opacity: 0;
	pointer-events: none;
	position: absolute;
	transition: opacity .25s ease;
}

.wp-block-image.is-style-zoom:hover::after {
	opacity: 1;
}

.wp-block-image.is-style-zoom figcaption {
	bottom: 24px;
	color: #fff;
	left: 16px;
	margin: 0;
	opacity: 0;
	pointer-events: none;
	position: absolute;
	right: 16px;
	text-align: center;
	transition: opacity .25s ease;
	z-index: 1;
}

.wp-block-image.is-style-zoom:hover figcaption {
	opacity: 1;
}

/* --------------------------------------------------------------------------
   Reviews
   -------------------------------------------------------------------------- */

.cr-reviews {
	padding-bottom: 0;
	padding-top: 100px;
}

.cr-reviews > * {
	margin-block: 0;
}

.cr-reviews .wp-block-buttons {
	margin-top: 28px;
}

.cr-reviews__slot {
	border-bottom: 2px solid var(--cr-light);
	border-top: 2px solid var(--cr-light);
	margin-left: calc(var(--cr-gutter) * -1) !important;
	margin-right: calc(var(--cr-gutter) * -1) !important;
	margin-top: 22px !important;
	max-width: none !important;
	padding: 30px var(--cr-edge);
}

.cr-reviews__placeholder {
	border: 2px dashed var(--cr-greige);
	color: var(--cr-muted);
	font-size: 14px;
	padding: 60px 20px;
	text-align: center;
}

/* --------------------------------------------------------------------------
   Blog
   -------------------------------------------------------------------------- */

.cr-blog {
	padding-bottom: 100px;
	padding-top: 90px;
}

.cr-blog__head {
	align-items: center;
	justify-content: space-between;
}

.cr-blog__head > * {
	margin: 0 !important;
}

.cr-blog__query {
	margin-top: 40px !important;
}

.cr-cards {
	display: grid !important;
	gap: 40px 20px !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	list-style: none;
	margin: 0;
	padding: 0;
}

.cr-card {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.cr-card > * {
	margin: 0 !important;
}

.cr-card .wp-block-post-featured-image {
	aspect-ratio: 412 / 250;
	border: 2px solid var(--cr-light);
	overflow: hidden;
}

.cr-card .wp-block-post-featured-image img {
	height: 100%;
	object-fit: cover;
	transition: transform .4s ease;
	width: 100%;
}

.cr-card:hover .wp-block-post-featured-image img {
	transform: scale(1.04);
}

.cr-card__body {
	background: var(--cr-light);
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 24px;
}

.cr-card__body > * {
	margin: 0 !important;
}

.cr-card__title {
	color: var(--cr-bordeaux);
	font-size: 20px;
	font-weight: 500;
	line-height: 1.27;
}

.cr-card__title a {
	color: inherit;
	text-decoration: none;
}

.cr-card__title a:hover {
	text-decoration: underline;
}

.cr-card__terms {
	color: var(--cr-greige);
	font-size: 14px;
	font-weight: 500;
	margin-top: 8px !important;
	text-transform: uppercase;
}

.cr-card__terms a {
	color: inherit;
	margin-right: 16px;
}

.cr-card__terms .wp-block-post-terms__separator {
	display: none;
}

.cr-card__more {
	align-items: center;
	color: var(--cr-orange);
	display: inline-flex;
	font-weight: 600;
	gap: 12px;
	margin-top: auto !important;
	padding-top: 30px;
	text-decoration: underline;
}

.cr-card__more::after {
	background-color: currentColor;
	content: "";
	height: 12px;
	-webkit-mask: var(--cr-arrow) center / contain no-repeat;
	mask: var(--cr-arrow) center / contain no-repeat;
	width: 12px;
}

.cr-card__more:hover {
	text-decoration: none;
}

.cr-pagination {
	margin-top: 48px !important;
}

.cr-pagination a,
.cr-pagination .current {
	padding: 6px 10px;
}

.cr-pagination .current {
	background: var(--cr-orange);
	color: #fff;
}

/* --------------------------------------------------------------------------
   Kaart Wallonië
   -------------------------------------------------------------------------- */

.cr-region {
	padding-bottom: 60px;
	padding-top: 60px;
}

.cr-region > .wp-block-columns {
	align-items: center;
	gap: 40px;
}

.cr-region .wp-block-image img {
	height: auto;
	max-width: 518px;
	width: 100%;
}

.cr-region__copy {
	padding-left: 88px;
}

.cr-region__copy > * {
	margin-block: 0;
}

.cr-region__copy > * + * {
	margin-top: 28px;
}

/* --------------------------------------------------------------------------
   FAQ
   -------------------------------------------------------------------------- */

.cr-faq {
	padding-bottom: 100px;
	padding-top: 100px;
}

.cr-faq > .wp-block-columns {
	gap: 128px;
}

.cr-faq__intro > * {
	margin-block: 0;
}

.cr-faq__intro > * + * {
	margin-top: 18px;
}

.cr-faq__intro .wp-block-buttons {
	align-items: center;
	gap: 32px;
}

.cr-faq__list > * {
	margin: 0 !important;
}

.cr-faq .wp-block-details {
	border-bottom: 1px solid var(--cr-greige);
	padding: 16px 0;
}

.cr-faq .wp-block-details:first-child {
	padding-top: 0;
}

.cr-faq .wp-block-details summary {
	cursor: pointer;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.27;
	list-style: none;
	padding-right: 40px;
	position: relative;
}

.cr-faq .wp-block-details summary::-webkit-details-marker {
	display: none;
}

.cr-faq .wp-block-details summary::after {
	background-color: var(--cr-text);
	content: "";
	height: 12px;
	-webkit-mask: var(--cr-arrow) center / contain no-repeat;
	mask: var(--cr-arrow) center / contain no-repeat;
	position: absolute;
	right: 6px;
	top: 2px;
	transform: rotate(135deg);
	transition: transform .2s ease;
	width: 12px;
}

.cr-faq .wp-block-details[open] summary {
	color: var(--cr-bordeaux);
}

.cr-faq .wp-block-details[open] summary::after {
	background-color: var(--cr-bordeaux);
	top: 6px;
	transform: rotate(-45deg);
}

.cr-faq .wp-block-details > :not(summary) {
	margin-bottom: 0;
	margin-top: 12px;
}

/* --------------------------------------------------------------------------
   Contact / offerteformulier
   -------------------------------------------------------------------------- */

.cr-contact {
	margin-bottom: -108px !important;
	padding-top: 0;
	position: relative;
	z-index: 3;
}

.cr-contact__box {
	background: var(--cr-light);
	gap: 0 !important;
	margin-bottom: 0 !important;
	margin-top: 0 !important;
}

.cr-contact__box > .wp-block-column:first-child {
	padding: 75px 64px 64px;
}

.cr-contact__box > .wp-block-column:first-child > * {
	margin-block: 0;
}

.cr-contact__box > .wp-block-column:first-child > * + * {
	margin-top: 20px;
}

.cr-contact__box h2 {
	font-size: var(--wp--preset--font-size--xx-large);
}

.cr-contact__box .wp-block-image {
	height: 100%;
	margin: 0;
}

.cr-contact__box .wp-block-image img {
	height: 100%;
	min-height: 320px;
	object-fit: cover;
	width: 100%;
}

/* Gravity Forms in de huisstijl */
.cr-contact .gform_wrapper {
	margin-top: 28px !important;
}

.cr-contact .gform_fields {
	display: grid;
	gap: 20px 18.6px;
	grid-template-columns: 1fr 1fr;
}

.cr-contact .gfield {
	grid-column: span 2;
	margin: 0;
	min-width: 0;
}

.cr-contact .gfield--width-half {
	grid-column: span 1;
}

.cr-contact .gfield_label,
.cr-contact .gfield_label_before_complex {
	display: block;
	font-size: 16px;
	font-weight: 400;
	line-height: 22px;
	margin-bottom: 8px;
}

.cr-contact .gfield_required {
	color: inherit;
	margin-left: 2px;
}

.cr-contact .gform_required_legend {
	display: none;
}

.cr-contact fieldset {
	border: 0;
	margin: 0;
	min-width: 0;
	padding: 0;
}

.cr-contact input[type="text"],
.cr-contact input[type="email"],
.cr-contact input[type="tel"],
.cr-contact select,
.cr-contact textarea {
	appearance: none;
	background: #fff;
	border: 1px solid var(--cr-greige);
	border-radius: 0;
	box-sizing: border-box;
	color: var(--cr-text);
	font-family: inherit;
	font-size: 14px;
	line-height: 22px;
	padding: 8px 16px;
	width: 100%;
}

.cr-contact textarea {
	border-radius: 3px;
	height: 100px;
	padding: 12px 16px;
	resize: vertical;
}

.cr-contact select {
	background: #fff url("../icons/chevron.svg") right 16px center / 12px 6px no-repeat;
	padding-right: 40px;
}

.cr-contact ::placeholder {
	color: var(--cr-greige);
	opacity: 1;
}

.cr-contact input:focus,
.cr-contact select:focus,
.cr-contact textarea:focus {
	border-color: var(--cr-orange);
	outline: none;
}

.cr-contact .gfield--type-consent .gfield_label {
	display: none;
}

.cr-contact .ginput_container_consent {
	align-items: center;
	display: flex;
	gap: 10px;
}

.cr-contact .ginput_container_consent input[type="checkbox"] {
	accent-color: var(--cr-orange);
	height: 20px;
	margin: 0;
	width: 20px;
}

.cr-contact .ginput_container_consent label {
	font-size: 16px;
	line-height: 22px;
}

.cr-contact .gform_footer {
	margin-top: 28px;
	padding: 0;
}

.cr-contact .gform_button {
	background: var(--cr-orange);
	border: 0;
	color: #fff;
	cursor: pointer;
	font-family: inherit;
	font-size: 15px;
	font-weight: 700;
	line-height: 19px;
	padding: 12px 20px;
	text-transform: uppercase;
}

.cr-contact .gform_button:hover {
	background: var(--cr-text);
}

.cr-contact .gfield_validation_message,
.cr-contact .validation_message {
	color: var(--cr-orange);
	font-size: 14px;
	margin-top: 4px;
}

.cr-contact .gform_validation_errors {
	border: 1px solid var(--cr-orange);
	margin-bottom: 20px;
	padding: 12px 16px;
}

.cr-contact .gform_validation_errors h2 {
	color: var(--cr-orange);
	font-size: 16px;
	margin: 0;
}

.cr-contact .gform_confirmation_message {
	font-size: 18px;
	line-height: 26px;
	margin-top: 28px;
}

.cr-contact .gform_hidden,
.cr-contact .gform_validation_container,
.cr-contact .gfield--type-honeypot {
	display: none !important;
}

.cr-contact .hidden_label .gfield_label {
	display: none;
}

.cr-contact .screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	height: 1px;
	overflow: hidden;
	position: absolute !important;
	width: 1px;
}

/* --------------------------------------------------------------------------
   Footer
   -------------------------------------------------------------------------- */

.wp-site-blocks > footer.wp-block-template-part {
	margin-top: 0;
}

.cr-footer > * {
	margin-block: 0 !important;
}

.cr-footer__main {
	background: var(--cr-bordeaux);
	color: #fff;
	padding-bottom: 50px;
	padding-top: 148px;
}

.cr-footer__grid {
	column-gap: 0;
	display: grid;
	grid-template-columns: 217px 215px 324px 324px 1fr;
	row-gap: 38px;
}

.cr-footer__grid > * {
	margin: 0 !important;
}

.cr-footer__logo {
	align-self: end;
	grid-column: 1;
	grid-row: 1;
}

.cr-footer__logo img {
	height: auto;
	width: 196px;
}

.cr-footer__quote {
	align-self: end;
	border-bottom: 2px solid var(--cr-orange);
	color: var(--cr-orange);
	font-size: var(--wp--preset--font-size--xx-large);
	font-weight: 300;
	grid-column: 2 / -1;
	grid-row: 1;
	line-height: 1.27;
	padding-bottom: 20px;
	text-align: right;
}

.cr-footer__menu > *,
.cr-footer__hours > *,
.cr-footer__contact > * {
	margin: 0;
}

.cr-footer__menu {
	display: flex;
	flex-direction: column;
	gap: 12px;
	grid-column: 2;
}

.cr-footer__menu a,
.cr-footer__title {
	color: #fff;
	font-weight: 500;
	text-decoration: none;
	text-transform: uppercase;
}

.cr-footer__menu a:hover {
	color: var(--cr-orange);
}

.cr-footer__hours {
	grid-column: 3;
}

.cr-footer__contact {
	grid-column: 4;
}

.cr-footer__hours > * + *,
.cr-footer__contact > * + * {
	margin-top: 12px;
}

.cr-footer__title {
	margin-bottom: 4px !important;
}

.cr-footer__contact a {
	color: #fff;
}

.cr-footer__cta {
	align-items: flex-start;
	grid-column: 5;
	justify-self: end;
}

.cr-footer__bottom {
	background: var(--cr-light);
	color: var(--cr-bordeaux);
	font-size: 14px;
	line-height: 22px;
	padding-bottom: 13px;
	padding-top: 13px;
}

.cr-footer__bottom-inner {
	align-items: center;
	display: grid;
	gap: 12px;
	grid-template-columns: 1fr auto 1fr;
}

.cr-footer__bottom-inner > * {
	margin: 0 !important;
}

.cr-footer__bottom-inner > :last-child {
	text-align: right;
}

.cr-footer__bottom a {
	color: inherit;
}

/* --------------------------------------------------------------------------
   Detailpagina
   -------------------------------------------------------------------------- */

.cr-detail-intro {
	padding-bottom: 60px;
	padding-top: 80px;
	z-index: 3;
}

.cr-detail-intro > .wp-block-columns {
	align-items: flex-start;
	gap: 40px;
	justify-content: space-between;
}

.cr-detail-intro__copy > * {
	margin-block: 0;
}

.cr-detail-intro__copy > * + * {
	margin-top: 28px;
}

.cr-steps-card {
	background: var(--cr-orange);
	border: 2px solid #fff;
	color: #fff;
	margin-top: -174px !important;
	padding: 40px 36px;
	position: relative;
}

.cr-steps-card > * {
	margin-block: 0;
}

.cr-steps-card h2 {
	border-bottom: 1px solid #fff;
	font-size: 20px;
	font-weight: 500;
	margin-bottom: 12px;
	padding-bottom: 12px;
}

.cr-steps-card ol {
	counter-reset: cr-step;
	list-style: none;
	margin: 0;
	padding: 0;
}

.cr-steps-card ol li {
	border-bottom: 1px solid #fff;
	counter-increment: cr-step;
	padding: 0 0 12px;
}

.cr-steps-card ol li + li {
	margin-top: 12px;
}

.cr-steps-card ol li strong:first-child {
	display: block;
	margin-bottom: 8px;
	padding-left: 12px;
}

.cr-steps-card ol li strong:first-child::before {
	content: counter(cr-step) ". ";
}

.cr-steps-card ol li strong:first-child + br {
	display: none;
}

.cr-steps-card .wp-block-buttons {
	margin-top: 28px;
}

/* Marquee met toepassingen */
.cr-marquee {
	border-bottom: 1px solid var(--cr-greige);
	border-top: 1px solid var(--cr-greige);
	overflow: hidden;
	padding: 34px 0 !important;
	position: relative;
	z-index: 1;
}

.cr-marquee__track {
	animation: cr-marquee 40s linear infinite;
	display: flex !important;
	flex-wrap: nowrap !important;
	gap: 36px !important;
	padding-left: var(--cr-edge);
	width: max-content;
}

.cr-marquee:hover .cr-marquee__track {
	animation-play-state: paused;
}

.cr-marquee__track > p {
	align-items: center;
	display: inline-flex;
	font-size: 30px;
	font-weight: 300;
	gap: 36px;
	line-height: 1.27;
	margin: 0 !important;
	white-space: nowrap;
}

.cr-marquee__track > p::after {
	background: url("../icons/arrow-marquee.svg") center / contain no-repeat;
	content: "";
	height: 13px;
	width: 13px;
}

@keyframes cr-marquee {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
	.cr-marquee__track {
		animation: none;
	}
}

/* Waarom — bordeaux met afbeelding rechtsboven */
.cr-why {
	margin-top: 80px !important;
	padding-bottom: 80px;
	padding-top: 102px;
}

.cr-why > .wp-block-columns {
	gap: 40px;
	margin-bottom: 0 !important;
	margin-top: 0 !important;
}

.cr-why__copy > * {
	margin-block: 0;
}

.cr-why__copy > * + * {
	margin-top: 28px;
}

.cr-why__copy h2 {
	color: #fff;
}

.cr-why__image {
	margin: -182px calc(var(--cr-edge) * -1) 0 0 !important;
}

.cr-why__image img {
	aspect-ratio: 600 / 411;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.cr-why__subtitle {
	color: var(--cr-orange);
	font-size: var(--wp--preset--font-size--xx-large);
	line-height: 1.27;
	margin-bottom: 36px !important;
	margin-top: 60px !important;
}

.cr-why .is-style-arrows {
	column-gap: 20px;
	margin-top: 0 !important;
}

/* Analyse (greige) + kaart charpente en W */
.cr-analysis {
	padding-bottom: 90px;
	padding-top: 100px;
}

.cr-analysis .is-style-arrows {
	margin-top: 36px !important;
}

.cr-feature-card {
	background: #fff;
	gap: 0 !important;
	margin-top: 64px !important;
}

.cr-feature-card > .wp-block-column:first-child {
	flex-basis: 412px !important;
	flex-grow: 0 !important;
}

.cr-feature-card .wp-block-image {
	height: 100%;
	margin: 0;
}

.cr-feature-card .wp-block-image img {
	height: 100%;
	min-height: 260px;
	object-fit: cover;
	width: 100%;
}

.cr-feature-card > .wp-block-column:last-child {
	padding: 62px 64px 64px;
}

.cr-feature-card > .wp-block-column:last-child > * {
	margin-block: 0;
}

.cr-feature-card > .wp-block-column:last-child > * + * {
	margin-top: 20px;
}

.cr-feature-card .wp-block-buttons {
	margin-top: 28px !important;
}

.cr-feature-card h3 {
	font-size: var(--wp--preset--font-size--xx-large);
}

/* Interventies met iconen */
.cr-interventions {
	padding-bottom: 100px;
	padding-top: 100px;
}

.cr-interventions__intro {
	max-width: 700px;
}

.cr-interventions__intro > * {
	margin-block: 0;
}

.cr-interventions__intro > * + * {
	margin-top: 28px;
}

.cr-interventions__list {
	gap: 44px !important;
	margin-top: 36px !important;
}

.cr-interventions__list > .wp-block-column > * {
	margin: 0 !important;
}

.cr-iconrow {
	align-items: center;
	border-top: 1px solid var(--cr-greige);
	display: flex;
	gap: 16px;
	padding: 18px 8px;
}

.cr-iconrow:last-child {
	border-bottom: 1px solid var(--cr-greige);
}

.cr-iconrow > * {
	margin: 0 !important;
}

.cr-iconrow .cr-icon {
	flex: 0 0 42px;
	width: 42px;
}

.cr-iconrow .cr-icon img {
	height: 31px;
	object-fit: contain;
	width: 42px;
}

.cr-iconrow p {
	color: var(--cr-bordeaux);
	font-size: 17px;
	font-weight: 600;
	line-height: 1.27;
}

/* Licht: afbeelding links, tekst rechts */
.cr-light-split {
	gap: 0 !important;
	margin-bottom: 0 !important;
	margin-top: 0 !important;
}

.cr-light-split > .wp-block-column:first-child {
	flex-basis: 50% !important;
}

.cr-light-split .wp-block-image {
	height: 100%;
	margin: 0;
}

.cr-light-split .wp-block-image img {
	aspect-ratio: 720 / 520;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.cr-light-split > .wp-block-column:last-child {
	align-self: center;
	padding: 64px var(--cr-edge) 64px 72px;
}

.cr-light-split > .wp-block-column:last-child > * {
	margin-block: 0;
}

.cr-light-split > .wp-block-column:last-child > * + * {
	margin-top: 20px;
}

.cr-light-split h2 {
	max-width: 560px;
}

.cr-light-split p {
	max-width: 540px;
}

/* Soorten openingen */
.cr-openings {
	padding-bottom: 100px;
	padding-top: 64px;
}

.cr-openings__title {
	font-size: 20px;
	font-weight: 500;
}

.cr-openings__cards {
	gap: 20px !important;
	margin-top: 24px !important;
}

.cr-opening-card {
	border: 2px solid var(--cr-greige);
	padding: 24px;
}

.cr-opening-card > * {
	margin-block: 0;
}

.cr-opening-card > * + * {
	margin-top: 12px;
}

.cr-opening-card .cr-kicker {
	color: var(--cr-orange);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 1.5px;
	text-transform: uppercase;
}

.cr-opening-card h3 {
	color: var(--cr-bordeaux);
	font-size: 20px;
	font-weight: 500;
}

.cr-opening-card p:last-child {
	color: var(--cr-muted);
	font-size: 14px;
}

.cr-opening-card {
	transition: border-color .4s cubic-bezier(.16, 1, .3, 1);
}

.cr-opening-card:hover,
.cr-opening-card:focus-within {
	border-color: var(--cr-orange);
}

.cr-window {
	background: var(--cr-light);
	height: 180px;
	overflow: hidden;
	perspective: 620px;
	perspective-origin: 50% 42%;
	position: relative;
}

.cr-window__lath {
	background: var(--cr-greige);
	height: 1px;
	left: 0;
	position: absolute;
	right: 0;
}

.cr-window__lath:nth-child(1) { top: 41px; }
.cr-window__lath:nth-child(2) { top: 100px; }
.cr-window__lath:nth-child(3) { top: 160px; }

/* Het donkere gat achter het vantail, zichtbaar wanneer het venster opengaat */
.cr-window__hole,
.cr-window__sash {
	height: 119px;
	left: 24%;
	position: absolute;
	top: 50px;
	width: 52%;
}

.cr-window__hole {
	background: var(--cr-text);
}

.cr-window__sash {
	background: #fff;
	border: 2px solid var(--cr-text);
	box-sizing: border-box;
	transition: transform .95s cubic-bezier(.45, .05, .2, 1);
	will-change: transform;
}

.cr-window__sash::before {
	background: var(--cr-greige);
	content: "";
	height: 2px;
	left: 14%;
	position: absolute;
	right: 14%;
	top: 12%;
}

.cr-window__axis {
	background: var(--cr-orange);
	position: absolute;
	z-index: 3;
}

.cr-window--rotation .cr-window__axis {
	height: 2px;
	left: 24%;
	margin-top: -1px;
	top: calc(50px + 59.5px);
	width: 52%;
}

.cr-window--projection .cr-window__axis {
	height: 2px;
	left: 24%;
	margin-top: -1px;
	top: 50px;
	width: 52%;
}

.cr-window--laterale .cr-window__axis {
	height: 119px;
	left: 24%;
	margin-left: -1px;
	top: 50px;
	width: 2px;
}

.cr-window--rotation .cr-window__sash { transform-origin: 50% 50%; }
.cr-window--projection .cr-window__sash { transform-origin: 50% 0; }
.cr-window--laterale .cr-window__sash { transform-origin: 0 50%; }

.cr-opening-card:hover .cr-window--rotation .cr-window__sash,
.cr-opening-card:focus-within .cr-window--rotation .cr-window__sash,
.cr-opening-card.is-open .cr-window--rotation .cr-window__sash {
	transform: rotateX(58deg);
}

.cr-opening-card:hover .cr-window--projection .cr-window__sash,
.cr-opening-card:focus-within .cr-window--projection .cr-window__sash,
.cr-opening-card.is-open .cr-window--projection .cr-window__sash {
	transform: rotateX(-38deg);
}

.cr-opening-card:hover .cr-window--laterale .cr-window__sash,
.cr-opening-card:focus-within .cr-window--laterale .cr-window__sash,
.cr-opening-card.is-open .cr-window--laterale .cr-window__sash {
	transform: rotateY(-62deg);
}

/* Diensten met iconen (greige, 3 kolommen) */
.cr-services3 {
	padding-bottom: 80px;
	padding-top: 100px;
}

.cr-services3 > h2 {
	max-width: 844px;
}

.cr-services3 .cr-service-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 64px !important;
}

.cr-services3 .cr-service-card {
	padding: 0 36px 0 24px;
}

/* --------------------------------------------------------------------------
   Standaardpagina's en blogartikels
   -------------------------------------------------------------------------- */

.cr-pagehead {
	background: var(--cr-light);
	padding-bottom: 60px;
	padding-top: 80px;
}

.cr-pagehead > * {
	margin-block: 0;
}

.cr-pagehead > * + * {
	margin-top: 16px;
}

.cr-pagehead__title {
	font-size: var(--wp--preset--font-size--hero);
	font-weight: 700;
	text-transform: uppercase;
}

.cr-single .cr-pagehead__title {
	font-size: var(--wp--preset--font-size--huge);
	font-weight: 400;
	text-transform: none;
}

.cr-pagehead .cr-eyebrow a {
	color: var(--cr-orange);
	margin-right: 12px;
}

.cr-pagehead__date {
	color: var(--cr-muted);
	font-size: 14px;
}

.cr-single__body,
.cr-page__content {
	padding-bottom: 80px;
	padding-top: 60px;
}

.cr-single__image {
	margin-bottom: 40px;
}

.cr-single__content h2,
.cr-page__content h2 {
	font-size: var(--wp--preset--font-size--xx-large);
	margin-top: 48px;
}

.cr-single__content h3,
.cr-page__content h3 {
	font-size: 20px;
	font-weight: 500;
	margin-top: 36px;
}

.cr-single__content p,
.cr-single__content li,
.cr-page__content p,
.cr-page__content li {
	font-size: 17px;
	line-height: 28px;
}

.cr-single__content a,
.cr-page__content a {
	color: var(--cr-bordeaux);
}

.cr-single__tags {
	font-size: 14px;
	margin-top: 48px;
	text-transform: uppercase;
}

.cr-single__tags a {
	color: var(--cr-muted);
	margin-right: 12px;
}

.cr-single__tags .wp-block-post-terms__separator {
	display: none;
}

.cr-blog--related {
	padding-top: 100px;
}

.cr-cta {
	padding-bottom: 80px;
	padding-top: 80px;
}

.cr-cta > * {
	margin-block: 0;
}

.cr-cta .wp-block-buttons {
	margin-top: 36px;
}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */

@media (max-width: 1280px) {
	.cr-footer__grid {
		grid-template-columns: 200px repeat(3, minmax(0, 1fr)) auto;
	}

	.cr-footer__menu,
	.cr-footer__hours,
	.cr-footer__contact {
		padding-left: 20px;
	}

	.cr-hero-card {
		margin-right: 0 !important;
	}

	.cr-split__copy {
		padding-left: 48px;
	}

	.cr-region__copy {
		padding-left: 0;
	}

	.cr-faq > .wp-block-columns {
		gap: 60px;
	}
}

@media (max-width: 1100px) {
	.cr-mainnav .wp-block-navigation__container {
		gap: 20px;
	}

	.cr-header__cta .is-style-bordeaux-arrow {
		display: none;
	}

	.cr-service-grid,
	.cr-services3 .cr-service-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.cr-service-card {
		padding: 0 24px 0 0;
	}

	.cr-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.cr-footer__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.cr-footer__logo {
		grid-column: 1;
	}

	.cr-footer__quote {
		grid-column: 2 / -1;
	}

	.cr-footer__menu,
	.cr-footer__hours,
	.cr-footer__contact,
	.cr-footer__cta {
		grid-column: auto;
		padding-left: 0;
	}

	.cr-footer__cta {
		justify-self: start;
	}
}

@media (max-width: 960px) {
	.cr-topbar {
		display: none;
	}

	.cr-mainbar {
		padding-bottom: 12px;
		padding-top: 12px;
	}

	.cr-mainbar::after {
		bottom: 0;
		left: 0;
	}

	.cr-logo,
	.cr-logo img {
		width: 150px;
	}

	.cr-mainnav,
	.cr-header__cta {
		margin-top: 0 !important;
	}

	.cr-mainnav {
		order: 3;
	}

	.cr-header__cta {
		margin-left: auto !important;
	}

	.cr-mobile-only {
		display: list-item !important;
	}

	.cr-mainnav .wp-block-navigation__responsive-container:not(.is-menu-open) .cr-mobile-only {
		display: none !important;
	}

	.cr-hero {
		min-height: 0;
		padding-bottom: 60px;
		padding-top: 180px;
	}

	.cr-hero--small {
		padding-bottom: 80px;
	}

	.cr-hero-card {
		margin: 40px 0 0 !important;
		width: 100%;
	}

	.cr-hero__columns > .wp-block-column:last-child {
		justify-content: flex-start;
	}

	.cr-floating {
		top: auto;
		bottom: 16px;
	}

	.cr-split__row,
	.cr-why__image {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.cr-split__row {
		margin-left: calc(var(--cr-gutter) * -1) !important;
		margin-right: calc(var(--cr-gutter) * -1) !important;
	}

	.cr-split__copy {
		padding: 48px var(--cr-gutter) 0;
	}

	.cr-usps {
		gap: 48px !important;
	}

	.cr-steps-card {
		margin-top: 0 !important;
	}

	.cr-why {
		margin-top: 0 !important;
		padding-top: 64px;
	}

	.cr-why__image {
		margin: 0 !important;
	}

	.cr-light-split > .wp-block-column:last-child {
		padding: 48px var(--cr-gutter);
	}

	.cr-feature-card > .wp-block-column:first-child {
		flex-basis: 100% !important;
	}
}

@media (max-width: 781px) {
	ul.is-style-arrows {
		columns: 1;
	}

	ul.is-style-arrows li {
		font-size: 18px;
		margin-bottom: 18px;
	}

	.cr-services-intro {
		padding-top: 64px;
	}

	.cr-service-grid,
	.cr-services3 .cr-service-grid {
		gap: 36px;
		grid-template-columns: 1fr;
	}

	.cr-service-card,
	.cr-services3 .cr-service-card {
		padding: 0;
	}

	.cr-expertise,
	.cr-reviews,
	.cr-faq,
	.cr-interventions,
	.cr-analysis,
	.cr-services3 {
		padding-top: 64px;
	}

	.cr-faq,
	.cr-interventions,
	.cr-openings,
	.cr-blog {
		padding-bottom: 64px;
	}

	.cr-blog {
		padding-top: 64px;
	}

	.cr-usps > .wp-block-column {
		padding-top: 12px;
	}

	.cr-quotebox-wrap {
		background: linear-gradient(to bottom, #fff 0, #fff 40%, var(--cr-bordeaux) 40%);
		padding-top: 48px;
	}

	.cr-quotebox > .wp-block-column:first-child,
	.cr-contact__box > .wp-block-column:first-child,
	.cr-feature-card > .wp-block-column:last-child {
		padding: 40px 24px;
	}

	.cr-gallery-row {
		width: calc(280px * 3 + 40px);
	}

	.cr-gallery-row > figure.wp-block-image {
		flex-basis: 280px !important;
		width: 280px !important;
	}

	.cr-gallery-row > figure.wp-block-image img {
		height: 210px !important;
	}

	.cr-gallery-row--offset {
		margin-left: -120px !important;
	}

	.cr-projects__cta--right {
		text-align: left;
	}

	.cr-projects__cta--right .wp-block-buttons {
		justify-content: flex-start;
	}

	.cr-blog__head {
		align-items: flex-start;
		flex-direction: column;
		gap: 20px;
	}

	.cr-cards {
		grid-template-columns: 1fr !important;
	}

	.cr-region__copy {
		padding-left: 0;
	}

	.cr-faq > .wp-block-columns {
		gap: 40px;
	}

	.cr-contact .gform_fields {
		grid-template-columns: 1fr;
	}

	.cr-contact .gfield--width-half {
		grid-column: span 2;
	}

	.cr-footer__main {
		padding-top: 150px;
	}

	.cr-footer__grid {
		grid-template-columns: 1fr;
		row-gap: 28px;
	}

	.cr-footer__logo,
	.cr-footer__quote {
		grid-column: 1;
		grid-row: auto;
	}

	.cr-footer__quote {
		text-align: left;
	}

	.cr-footer__bottom-inner {
		grid-template-columns: 1fr;
		text-align: center;
	}

	.cr-footer__bottom-inner > :last-child {
		text-align: center;
	}

	.cr-marquee__track > p {
		font-size: 22px;
		gap: 24px;
	}

	.cr-marquee__track {
		gap: 24px !important;
	}

}

@media (max-width: 600px) {
	.cr-header__cta .wp-block-button__link {
		font-size: 0;
		gap: 0;
		padding: 12px 14px;
	}

	.cr-header__cta .is-style-phone .wp-block-button__link::after {
		height: 16px;
		width: 16px;
	}

	.cr-hero .wp-block-buttons {
		flex-direction: column;
		align-items: flex-start;
	}

	.cr-floating {
		display: none;
	}
}

/* --------------------------------------------------------------------------
   Editor: secties die in de front-end over elkaar liggen, netjes tonen
   -------------------------------------------------------------------------- */

.editor-styles-wrapper .cr-hero {
	padding-top: 120px;
}

.editor-styles-wrapper .cr-hero-card,
.editor-styles-wrapper .cr-steps-card {
	margin-top: 0 !important;
}

.editor-styles-wrapper .cr-contact {
	margin-bottom: 0 !important;
}

.editor-styles-wrapper .cr-marquee__track {
	animation: none;
	flex-wrap: wrap !important;
	width: auto;
}

.editor-styles-wrapper .cr-gallery-row {
	width: auto;
}

/* Realisaties detailpagina: 3 kolommen */
.cr-project-grid {
	gap: 20px !important;
	margin-top: 40px !important;
}

.cr-project-grid .wp-block-image {
	margin: 0;
}

.cr-project-grid .wp-block-image img {
	aspect-ratio: 412 / 309;
	border: 2px solid var(--cr-orange);
	height: auto;
	object-fit: cover;
	width: 100%;
}

.cr-why > .wp-block-columns {
	gap: 130px;
}

@media (max-width: 960px) {
	.cr-why > .wp-block-columns {
		gap: 40px;
	}
}

/* Mobiel menu links uitlijnen */
.cr-mainnav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.cr-mainnav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	align-items: flex-start !important;
}

/* --------------------------------------------------------------------------
   Dropdown "Services" in de hoofdnavigatie
   -------------------------------------------------------------------------- */

.cr-mainnav .cr-dropdown > .wp-block-navigation-item__content {
	padding-right: 4px;
}

.cr-mainnav .cr-dropdown > .wp-block-navigation__submenu-icon {
	color: #fff;
	height: 10px;
	margin-left: 4px;
	transition: transform .2s ease;
	width: 10px;
}

.cr-mainnav .cr-dropdown:hover > .wp-block-navigation__submenu-icon,
.cr-mainnav .cr-dropdown:focus-within > .wp-block-navigation__submenu-icon {
	transform: rotate(180deg);
}

.cr-mainnav .cr-dropdown > .wp-block-navigation__submenu-container {
	background: #fff !important;
	border: 0 !important;
	border-top: 3px solid var(--cr-orange) !important;
	box-shadow: 0 18px 40px rgba(29, 28, 36, .18);
	color: var(--cr-text) !important;
	left: -24px !important;
	min-width: 320px !important;
	padding: 10px 0 !important;
	text-transform: none;
	top: calc(100% + 22px) !important;
}

/* Onzichtbare brug zodat het menu open blijft tussen link en paneel */
.cr-mainnav .cr-dropdown > .wp-block-navigation__submenu-container::before {
	content: "";
	height: 25px;
	left: 0;
	position: absolute;
	right: 0;
	top: -25px;
}

.cr-mainnav .cr-dropdown .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	align-items: center;
	color: var(--cr-bordeaux) !important;
	display: flex !important;
	font-size: 16px;
	font-weight: 500;
	gap: 14px;
	padding: 12px 24px !important;
	transition: background-color .15s ease, color .15s ease;
}

.cr-mainnav .cr-dropdown .wp-block-navigation__submenu-container .wp-block-navigation-item__content::before {
	background-color: var(--cr-orange);
	content: "";
	flex: none;
	height: 10px;
	-webkit-mask: var(--cr-arrow) center / contain no-repeat;
	mask: var(--cr-arrow) center / contain no-repeat;
	width: 10px;
}

.cr-mainnav .cr-dropdown .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.cr-mainnav .cr-dropdown .wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content,
.cr-mainnav .cr-dropdown .wp-block-navigation__submenu-container .wp-block-navigation-item__content[aria-current="page"] {
	background: var(--cr-light);
	color: var(--cr-orange) !important;
}

.cr-mainnav .cr-dropdown .wp-block-navigation__submenu-container .wp-block-navigation-item + .wp-block-navigation-item {
	border-top: 1px solid var(--cr-light);
}

/* Dropdown in het mobiele menu */
.cr-mainnav .wp-block-navigation__responsive-container.is-menu-open .cr-dropdown > .wp-block-navigation__submenu-container {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none;
	min-width: 0 !important;
	padding: 12px 0 0 16px !important;
}

.cr-mainnav .wp-block-navigation__responsive-container.is-menu-open .cr-dropdown .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	color: #fff !important;
	font-size: 17px;
	padding: 6px 0 !important;
}

.cr-mainnav .wp-block-navigation__responsive-container.is-menu-open .cr-dropdown .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
	background: transparent;
	color: var(--cr-orange) !important;
}

.cr-mainnav .wp-block-navigation__responsive-container.is-menu-open .cr-dropdown .wp-block-navigation__submenu-container .wp-block-navigation-item + .wp-block-navigation-item {
	border: 0;
}

/* --------------------------------------------------------------------------
   Extra's voor dienstpagina's, Réalisations en Contact
   -------------------------------------------------------------------------- */

.cr-analysis__after {
	margin-top: 12px !important;
	max-width: 844px;
}

.is-layout-constrained > .cr-analysis__after {
	margin-left: max(0px, calc((100% - 1276px) / 2)) !important;
	margin-right: auto !important;
}

.cr-analysis__after > * {
	margin-block: 0;
}

.cr-analysis__after > * + * {
	margin-top: 28px;
}

/* Foto i.p.v. stappenkaart in de intro (zelfde positie) */
.cr-intro-photo {
	margin: -174px 0 0 !important;
	position: relative;
}

.cr-intro-photo img {
	aspect-ratio: 518 / 440;
	border: 2px solid #fff;
	height: auto;
	object-fit: cover;
	width: 100%;
}

/* Contactkaart (oranje) */
.cr-contact-card p {
	line-height: 24px;
}

.cr-contact-card a {
	color: #fff;
}

.cr-contact-card > p + p {
	border-top: 1px solid rgba(255, 255, 255, .7);
	margin-top: 16px;
	padding-top: 16px;
}

.cr-contact-card .wp-block-button.is-style-phone .wp-block-button__link {
	background: #fff;
	color: var(--cr-orange);
}

.cr-contact-card .wp-block-button.is-style-phone .wp-block-button__link:hover {
	background: var(--cr-text);
	color: #fff;
}

/* Galerij Réalisations */
.cr-gallery-section {
	padding-bottom: 100px;
	padding-top: 90px;
}

.cr-gallery-section .cr-gallery {
	gap: 20px !important;
	margin-top: 48px !important;
}

.cr-gallery.wp-block-gallery.has-nested-images figure.wp-block-image {
	border: 2px solid var(--cr-orange);
	overflow: hidden;
}

.cr-gallery.wp-block-gallery.has-nested-images figure.wp-block-image img {
	aspect-ratio: 4 / 3;
	object-fit: cover;
	transition: transform .4s ease;
}

.cr-gallery.wp-block-gallery.has-nested-images figure.wp-block-image:hover img {
	transform: scale(1.04);
}

/* CTA met titel + tekst */
.cr-cta--split h2 {
	color: #fff;
}

.cr-cta--split p {
	margin-top: 20px;
	max-width: 760px;
}

.cr-cta--split.is-layout-constrained > * {
	margin-left: max(0px, calc((100% - 1276px) / 2)) !important;
	margin-right: auto !important;
}

/* Formulier: uploadzone */
.cr-contact .gfield--type-fileupload .gform_drop_area {
	align-items: center;
	background: #fff;
	border: 1px dashed var(--cr-greige);
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
	padding: 20px 16px;
	text-align: center;
}

.cr-contact .gform_drop_instructions {
	font-size: 14px;
}

.cr-contact .gform_button_select_files {
	background: var(--cr-bordeaux);
	border: 0;
	color: #fff;
	cursor: pointer;
	font-family: inherit;
	font-size: 14px;
	font-weight: 700;
	padding: 8px 16px;
	text-transform: uppercase;
}

.cr-contact .gform_button_select_files:hover {
	background: var(--cr-text);
}

.cr-contact .gfield_description {
	color: var(--cr-muted);
	font-size: 13px;
	line-height: 18px;
	margin-top: 6px;
}

.cr-contact .ginput_preview {
	font-size: 14px;
	margin-top: 6px;
}

@media (max-width: 960px) {
	.cr-intro-photo {
		margin-top: 0 !important;
	}
}

@media (max-width: 781px) {
	.cr-gallery-section {
		padding-bottom: 64px;
		padding-top: 64px;
	}
}

.cr-mainnav .wp-block-navigation-item.is-current > .wp-block-navigation-item__content {
	color: var(--cr-orange);
}

.cr-mainnav .cr-dropdown .wp-block-navigation__submenu-container .is-current > .wp-block-navigation-item__content {
	background: var(--cr-light);
	color: var(--cr-orange) !important;
}

.cr-mainnav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item,
.cr-mainnav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	align-items: flex-start !important;
	text-align: left;
}

.cr-mainnav .wp-block-navigation__responsive-container.is-menu-open .cr-dropdown .wp-block-navigation__submenu-container .is-current > .wp-block-navigation-item__content {
	background: transparent;
	color: var(--cr-orange) !important;
}

/* Accordeons: vloeiend openen en sluiten (zie main.js) */
.wp-block-details.is-animating {
	overflow: hidden;
}

.cr-faq .wp-block-details summary {
	transition: color .3s ease;
}

.cr-faq .wp-block-details summary:hover {
	color: var(--cr-orange);
}

.wp-block-details.is-animating {
	box-sizing: border-box;
}

.cr-faq .wp-block-details.is-closing summary {
	color: var(--cr-text);
}

.cr-faq .wp-block-details.is-closing summary::after {
	background-color: var(--cr-text);
	top: 2px;
	transform: rotate(135deg);
}

/* --------------------------------------------------------------------------
   Nos services / Qui sommes nous / FAQ
   -------------------------------------------------------------------------- */

.cr-services-lead {
	padding-bottom: 64px;
	padding-top: 100px;
}

.cr-service-row-section + .cr-service-row-section {
	margin-top: 0;
}

.cr-service-row .wp-block-image img {
	aspect-ratio: 720 / 560;
}

.cr-service-row .is-style-arrows {
	columns: 1;
	margin-top: 24px !important;
}

.cr-service-row .is-style-arrows li {
	font-size: 18px;
	margin-bottom: 14px;
	padding-bottom: 10px;
}

.cr-service-row .wp-block-buttons {
	margin-top: 28px !important;
}

/* Afbeelding rechts: tekstkolom krijgt de binnenmarge links */
.cr-service-row--reverse > .wp-block-column:first-child {
	align-self: center;
	padding: 64px 72px 64px var(--cr-edge);
}

.cr-service-row--reverse > .wp-block-column:first-child > * {
	margin-block: 0;
}

.cr-service-row--reverse > .wp-block-column:first-child > * + * {
	margin-top: 20px;
}

.cr-service-row--reverse > .wp-block-column:last-child {
	align-self: stretch;
	flex-basis: 50% !important;
	padding: 0 !important;
}

.cr-analysis--dark h2 {
	color: #fff;
}

.cr-faq + .cr-faq {
	border-top: 1px solid var(--cr-greige);
}

@media (max-width: 781px) {
	.cr-service-row--reverse {
		flex-direction: column-reverse;
	}

	.cr-service-row--reverse > .wp-block-column:first-child {
		padding: 40px var(--cr-gutter);
	}

	.cr-services-lead {
		padding-top: 64px;
	}
}

/* --------------------------------------------------------------------------
   Mobiel menu (overlay)
   -------------------------------------------------------------------------- */

.cr-mainnav .wp-block-navigation__responsive-container.is-menu-open {
	--navigation-layout-justification-setting: flex-start;
	--navigation-layout-justify: flex-start;
	padding: 0 !important;
}

.cr-mainnav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {
	min-height: 100%;
	padding: 24px var(--cr-gutter) 120px;
	position: relative;
}

.cr-mainnav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
	right: var(--cr-gutter);
	top: 34px;
}

.cr-mainnav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close svg {
	height: 30px;
	width: 30px;
}

.cr-menu-logo {
	display: none;
}

.is-menu-open .cr-menu-logo {
	display: block;
	width: 150px;
}

.is-menu-open .cr-menu-logo img {
	display: block;
	height: auto;
	width: 100%;
}

.cr-mainnav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	align-items: flex-start !important;
	border-top: 1px solid rgba(255, 255, 255, .35);
	margin-top: 24px;
	padding-top: 32px !important;
}

.cr-mainnav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	align-items: flex-start !important;
	gap: 20px !important;
	width: 100%;
}

.cr-mainnav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-size: 20px !important;
	padding: 0 !important;
}

.cr-mainnav .wp-block-navigation__responsive-container.is-menu-open .cr-dropdown > .wp-block-navigation__submenu-container {
	padding: 14px 0 4px 2px !important;
}

/* Contact als knop in het mobiele menu */
.cr-mainnav .wp-block-navigation__responsive-container.is-menu-open .cr-nav-cta {
	margin-top: 12px;
}

.cr-mainnav .wp-block-navigation__responsive-container.is-menu-open .cr-nav-cta > .wp-block-navigation-item__content {
	align-items: center;
	border: 2px solid #fff;
	display: inline-flex !important;
	font-size: 15px !important;
	font-weight: 700;
	gap: 10px;
	padding: 12px 20px !important;
}

.cr-mainnav .wp-block-navigation__responsive-container.is-menu-open .cr-nav-cta > .wp-block-navigation-item__content::after {
	background-color: currentColor;
	content: "";
	height: 12px;
	-webkit-mask: var(--cr-arrow) center / contain no-repeat;
	mask: var(--cr-arrow) center / contain no-repeat;
	width: 12px;
}

.cr-mainnav .wp-block-navigation__responsive-container.is-menu-open .cr-nav-cta > .wp-block-navigation-item__content:hover {
	background: #fff;
	color: var(--cr-bordeaux) !important;
}

/* Vaste belknop onderaan het mobiele menu */
.cr-menu-call {
	display: none;
}

.is-menu-open .cr-menu-call {
	align-items: center;
	background: var(--cr-orange);
	bottom: 0;
	color: #fff !important;
	display: flex;
	gap: 12px;
	justify-content: center;
	left: 0;
	padding: 18px var(--cr-gutter) calc(18px + env(safe-area-inset-bottom, 0px));
	position: fixed;
	right: 0;
	text-decoration: none;
	text-transform: uppercase;
	z-index: 5;
}

.is-menu-open .cr-menu-call span {
	font-size: 14px;
	font-weight: 500;
	letter-spacing: .5px;
}

.is-menu-open .cr-menu-call strong {
	align-items: center;
	display: inline-flex;
	font-size: 18px;
	gap: 10px;
}

.is-menu-open .cr-menu-call strong::after {
	background-color: currentColor;
	content: "";
	height: 16px;
	-webkit-mask: var(--cr-phone) center / contain no-repeat;
	mask: var(--cr-phone) center / contain no-repeat;
	transform: rotate(-90deg);
	width: 16px;
}

.is-menu-open .cr-menu-call:active {
	background: var(--cr-text);
}

/* Telefoonknop dicht bij de hamburger op mobiel */
@media (max-width: 960px) {
	.cr-mainbar {
		gap: 10px;
	}

	.cr-mainnav {
		margin-left: 0 !important;
	}

	.cr-header__cta {
		margin-left: auto !important;
	}
}

/* --------------------------------------------------------------------------
   Interactieve kaart
   -------------------------------------------------------------------------- */

.cr-map {
	max-width: 518px;
	position: relative;
}

.cr-map__svg {
	display: block;
	height: auto;
	overflow: visible;
	width: 100%;
}

.cr-map__static {
	pointer-events: none;
}

.cr-map__area {
	cursor: pointer;
	transition: fill .3s ease;
}

.cr-map__area.is-active {
	fill: #e23c2e;
}

.cr-pin {
	cursor: pointer;
	outline: none;
	transform-box: fill-box;
	transform-origin: 50% 100%;
	transition: transform .4s cubic-bezier(.16, 1, .3, 1);
}

.cr-pin__bubble {
	transition: fill .3s ease;
}

.cr-pin__house {
	transition: stroke .3s ease;
}

.cr-pin.is-active,
.cr-pin:focus-visible {
	transform: translateY(-6px) scale(1.12);
}

.cr-pin.is-active .cr-pin__bubble,
.cr-pin:focus-visible .cr-pin__bubble {
	fill: var(--cr-bordeaux);
}

.cr-pin.is-active .cr-pin__house,
.cr-pin:focus-visible .cr-pin__house {
	stroke: #fff;
}

.cr-map.has-active .cr-pin:not(.is-active) {
	opacity: .55;
}

.cr-map .cr-pin {
	transition: transform .4s cubic-bezier(.16, 1, .3, 1), opacity .3s ease;
}

/* Pins vallen op de kaart */
.cr-map.is-waiting .cr-pin {
	opacity: 0;
	transform: translateY(-24px);
}

.cr-map.is-dropping .cr-pin {
	animation: cr-pin-drop .7s cubic-bezier(.34, 1.56, .64, 1) both;
	animation-delay: calc(var(--i) * 120ms + 150ms);
}

@keyframes cr-pin-drop {
	from { opacity: 0; transform: translateY(-24px); }
	to { opacity: 1; transform: none; }
}

.cr-map__tip {
	background: #fff;
	border-top: 3px solid var(--cr-orange);
	box-shadow: 0 12px 30px rgba(29, 28, 36, .18);
	color: var(--cr-text);
	font-size: 14px;
	line-height: 20px;
	opacity: 0;
	padding: 10px 14px;
	pointer-events: none;
	position: absolute;
	transform: translate(-50%, calc(-100% - 6px));
	transition: opacity .2s ease, transform .3s cubic-bezier(.16, 1, .3, 1);
	white-space: nowrap;
	z-index: 2;
}

.cr-map__tip.is-visible {
	opacity: 1;
	transform: translate(-50%, calc(-100% - 14px));
}

.cr-map__tip::after {
	border: 7px solid transparent;
	border-top-color: #fff;
	content: "";
	left: 50%;
	margin-left: -7px;
	position: absolute;
	top: 100%;
}

.cr-map__tip strong {
	color: var(--cr-bordeaux);
	display: block;
	font-weight: 600;
}

.cr-map__tip span {
	color: var(--cr-muted);
	font-size: 13px;
}

.cr-map__zones-title {
	color: var(--cr-muted);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 1.5px;
	margin: 0 0 8px;
	text-transform: uppercase;
}

.cr-map__list {
	column-gap: 28px;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.cr-map__list li {
	border-bottom: 1px solid var(--cr-greige);
}

.cr-map__chip {
	align-items: center;
	background: none;
	border: 0;
	color: var(--cr-text);
	cursor: pointer;
	display: flex;
	font-family: inherit;
	font-size: 17px;
	font-weight: 500;
	gap: 14px;
	padding: 12px 0;
	text-align: left;
	transition: color .25s ease, padding-left .35s cubic-bezier(.16, 1, .3, 1);
	width: 100%;
}

.cr-map__chip::before {
	background: url("../icons/arrow-list.svg") center / contain no-repeat;
	content: "";
	flex: none;
	height: 15px;
	transition: transform .35s cubic-bezier(.16, 1, .3, 1);
	width: 12px;
}

.cr-map__chip:hover,
.cr-map__chip:focus-visible,
.cr-map__chip.is-active {
	color: var(--cr-bordeaux);
	padding-left: 6px;
}

.cr-map__chip:hover::before,
.cr-map__chip.is-active::before {
	transform: translate(2px, -2px);
}

.cr-region__copy > .cr-map__zones {
	margin-top: 28px;
}

@media (max-width: 781px) {
	.cr-map__list {
		column-gap: 20px;
	}

	.cr-map__chip {
		font-size: 16px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.cr-map.is-dropping .cr-pin {
		animation: none;
	}
}

/* --------------------------------------------------------------------------
   Google reviews (plugin Google Rating Badge) in de huisstijl
   -------------------------------------------------------------------------- */

.cr-reviews .grb-carousel-wrapper {
	--grb-accent-color: var(--cr-orange) !important;
	--grb-card-bg: var(--cr-light) !important;
	--grb-page-bg: #fff !important;
	--grb-star-color: #ffd230 !important;
	--grb-text-color: var(--cr-text) !important;
	font-family: inherit;
	padding: 0;
}

.cr-reviews .grb-carousel-header {
	margin-bottom: 32px;
}

.cr-reviews .grb-carousel-stats {
	gap: 16px;
}

.cr-reviews .grb-carousel-stats .grb-logo {
	height: 36px;
	width: 36px;
}

.cr-reviews .grb-carousel-rating-number {
	color: var(--cr-bordeaux);
	font-size: 36px;
	font-weight: 500;
	line-height: 1;
}

.cr-reviews .grb-carousel-stats-count {
	color: var(--cr-muted);
	font-size: 14px;
}

.cr-reviews .grb-carousel-stats-count strong {
	color: var(--cr-text);
}

/* Knop "avis" in dezelfde stijl als de andere knoppen */
.cr-reviews .grb-cta-button {
	background: var(--cr-orange);
	border-radius: 0;
	font-size: 15px;
	font-weight: 700;
	gap: 10px;
	line-height: 19px;
	min-height: 43px;
	padding: 12px 20px;
	text-transform: uppercase;
	transition: background-color .2s ease;
}

.cr-reviews .grb-cta-button::after {
	background-color: currentColor;
	content: "";
	height: 12px;
	-webkit-mask: var(--cr-arrow) center / contain no-repeat;
	mask: var(--cr-arrow) center / contain no-repeat;
	width: 12px;
}

.cr-reviews .grb-cta-button:hover {
	background: var(--cr-bordeaux);
	filter: none;
	transform: none;
}

/* Kaarten */
.cr-reviews .grb-review-card {
	border-radius: 0;
	box-sizing: border-box;
	border-top: 3px solid var(--cr-greige);
	box-shadow: none;
	gap: 12px;
	padding: 24px;
	transition: border-color .4s cubic-bezier(.16, 1, .3, 1), transform .4s cubic-bezier(.16, 1, .3, 1);
}

.cr-reviews .grb-review-card:hover {
	border-top-color: var(--cr-orange);
	box-shadow: none;
	transform: translateY(-4px);
}

.cr-reviews .grb-review-avatar,
.cr-reviews .grb-avatar-initials {
	height: 46px;
	width: 46px;
}

.cr-reviews .grb-avatar-initials {
	background: var(--cr-bordeaux) !important;
	font-weight: 500;
}

.cr-reviews .grb-review-author {
	color: var(--cr-text);
	font-size: 16px;
	font-weight: 600;
}

.cr-reviews .grb-review-date {
	color: var(--cr-muted);
	font-size: 14px;
	margin-top: 2px;
}

.cr-reviews .grb-review-text {
	font-size: 14px;
	line-height: 22px;
}

.cr-reviews .grb-read-more,
.cr-reviews .grb-read-less {
	color: var(--cr-orange);
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	text-decoration: underline;
}

.cr-reviews .grb-read-more:hover,
.cr-reviews .grb-read-less:hover {
	text-decoration: none;
}

.cr-reviews .grb-review-source {
	border-top-color: var(--cr-greige);
	color: var(--cr-muted);
}

/* Pijlen */
.cr-reviews .grb-carousel-arrow {
	background: #fff;
	border: 2px solid var(--cr-bordeaux);
	border-radius: 0;
	height: 43px;
	transition: background-color .25s ease, border-color .25s ease;
	width: 43px;
}

.cr-reviews .grb-carousel-arrow svg {
	color: var(--cr-bordeaux);
	height: 20px;
	width: 20px;
}

.cr-reviews .grb-carousel-arrow:hover {
	background: var(--cr-orange);
	border-color: var(--cr-orange);
}

.cr-reviews .grb-carousel-arrow:hover svg {
	color: #fff;
}

.cr-reviews .grb-carousel-dot {
	border-radius: 0;
}

.cr-reviews .grb-carousel-dot.active {
	background: var(--cr-orange);
}

@media (max-width: 781px) {
	.cr-reviews .grb-carousel-header {
		align-items: flex-start;
		flex-direction: column;
	}

	.cr-reviews .grb-carousel-arrow {
		height: 36px;
		width: 36px;
	}
}

/* Beeld-tekstblokken op mobiel onder elkaar, beeld op volle breedte */
@media (max-width: 781px) {
	.cr-split__row > .wp-block-column,
	.cr-light-split > .wp-block-column {
		flex-basis: 100% !important;
	}

	.cr-split__image img {
		min-height: 260px;
	}
}

/* --------------------------------------------------------------------------
   Tablet (tot 960px): hamburgermenu en kolommen onder elkaar
   -------------------------------------------------------------------------- */

@media (max-width: 960px) {
	/* Header: altijd hamburger + compacte belknop, ook tussen 600 en 960px */
	.cr-mainnav .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex !important;
	}

	.cr-mainnav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none !important;
	}

	.cr-header__cta .wp-block-button__link {
		font-size: 0;
		gap: 0;
		padding: 12px 14px;
	}

	.cr-header__cta .is-style-phone .wp-block-button__link::after {
		height: 16px;
		width: 16px;
	}

	/* Twee- en driekoloms blokken onder elkaar zodat niets samengedrukt wordt */
	.wp-block-columns.cr-hero__columns,
	.cr-services-intro > .wp-block-columns,
	.cr-detail-intro > .wp-block-columns,
	.cr-why > .wp-block-columns,
	.wp-block-columns.cr-feature-card,
	.wp-block-columns.cr-quotebox,
	.wp-block-columns.cr-contact__box,
	.cr-faq > .wp-block-columns,
	.cr-region > .wp-block-columns,
	.wp-block-columns.cr-usps,
	.wp-block-columns.cr-openings__cards,
	.wp-block-columns.cr-split__row,
	.wp-block-columns.cr-light-split {
		flex-wrap: wrap !important;
	}

	.wp-block-columns.cr-hero__columns > .wp-block-column,
	.cr-services-intro > .wp-block-columns > .wp-block-column,
	.cr-detail-intro > .wp-block-columns > .wp-block-column,
	.cr-why > .wp-block-columns > .wp-block-column,
	.wp-block-columns.cr-feature-card > .wp-block-column,
	.wp-block-columns.cr-quotebox > .wp-block-column,
	.wp-block-columns.cr-contact__box > .wp-block-column,
	.cr-faq > .wp-block-columns > .wp-block-column,
	.cr-region > .wp-block-columns > .wp-block-column,
	.wp-block-columns.cr-usps > .wp-block-column,
	.wp-block-columns.cr-openings__cards > .wp-block-column,
	.wp-block-columns.cr-split__row > .wp-block-column,
	.wp-block-columns.cr-light-split > .wp-block-column {
		flex-basis: 100% !important;
		flex-grow: 1 !important;
		max-width: 100%;
	}

	/* Hero */
	.cr-hero__columns > .wp-block-column:first-child > * {
		max-width: 628px;
	}

	.cr-hero-card {
		max-width: 520px;
	}

	/* Intro met kaart (detailpagina's, contact, qui sommes nous) */
	.cr-detail-intro > .wp-block-columns {
		gap: 40px;
	}

	.cr-steps-card,
	.cr-intro-photo {
		max-width: 620px;
	}

	/* Afbeeldingen in gestapelde blokken niet te hoog */
	.cr-quotebox .wp-block-image img,
	.cr-contact__box .wp-block-image img {
		max-height: 380px;
		min-height: 0;
	}

	.cr-feature-card .wp-block-image img {
		max-height: 340px;
	}

	.cr-split__image img,
	.cr-light-split .wp-block-image img {
		aspect-ratio: 16 / 9;
		max-height: 460px;
		min-height: 0;
	}

	.cr-split__copy,
	.cr-light-split > .wp-block-column:last-child,
	.cr-service-row--reverse > .wp-block-column:first-child {
		padding: 48px var(--cr-gutter) !important;
	}

	.cr-service-row--reverse {
		flex-direction: column-reverse;
	}

	/* Waarom-sectie: afbeelding niet meer over de rand */
	.cr-why > .wp-block-columns {
		gap: 40px;
	}

	/* FAQ en kaart */
	.cr-faq > .wp-block-columns {
		gap: 40px;
	}

	.cr-region > .wp-block-columns {
		gap: 48px;
	}

	.cr-region .cr-map {
		margin: 0 auto;
	}

	/* Drie kaarten (openingen) onder elkaar, diagram iets compacter */
	.cr-openings__cards {
		gap: 20px !important;
	}

	/* Diagram links, tekst rechts */
	.cr-opening-card {
		align-content: start;
		column-gap: 28px;
		display: grid;
		grid-template-columns: minmax(220px, 300px) 1fr;
	}

	.cr-opening-card > .cr-window {
		grid-column: 1;
		grid-row: 1 / span 3;
		margin: 0 !important;
	}

	.cr-opening-card > :not(.cr-window) {
		grid-column: 2;
	}

	.cr-opening-card > .cr-kicker {
		margin-top: 0 !important;
	}

	/* Voordelen (40 ans): onder elkaar met ruimte voor het dakicoon */
	.wp-block-columns.cr-usps {
		gap: 36px !important;
	}

	/* Dienstenraster op tablet in twee kolommen */
	.cr-service-grid,
	.cr-services3 .cr-service-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.cr-service-grid,
	.cr-services3 .cr-service-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 600px) {
	.cr-opening-card {
		display: block;
	}

	.cr-opening-card > * + * {
		margin-top: 12px !important;
	}
}

/* --------------------------------------------------------------------------
   Focus: geen kader bij klikken met muis of vinger.
   Wie met het toetsenbord navigeert (Tab) krijgt wel een subtiele oranje rand,
   zodat de site toegankelijk blijft.
   -------------------------------------------------------------------------- */

.wp-site-blocks *:focus:not(:focus-visible),
.wp-block-navigation__responsive-container *:focus:not(:focus-visible),
.wp-element-button:focus:not(:focus-visible),
summary:focus:not(:focus-visible),
.cr-map__svg *:focus:not(:focus-visible) {
	outline: none !important;
}

.wp-site-blocks *:focus-visible,
.wp-block-navigation__responsive-container *:focus-visible {
	outline: 2px solid var(--cr-orange) !important;
	outline-offset: 3px;
}

.wp-block-details summary:focus-visible {
	outline-offset: 4px;
}

/* --------------------------------------------------------------------------
   Mini-navigatie met ankers (FAQ)
   -------------------------------------------------------------------------- */

.cr-anchor-nav {
	background: #fff;
	border-bottom: 1px solid var(--cr-greige);
	padding-bottom: 14px;
	padding-top: 14px;
	position: sticky;
	top: var(--cr-header-h, 0px);
	transition: box-shadow .3s ease;
	z-index: 20;
}

.cr-anchor-nav.is-pinned {
	box-shadow: 0 8px 20px rgba(29, 28, 36, .08);
}

.cr-anchor-nav__inner {
	align-items: center;
	gap: 16px;
}

.cr-anchor-nav__inner > * {
	margin: 0 !important;
}

.cr-anchor-nav__label {
	color: var(--cr-muted);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 1.5px;
	text-transform: uppercase;
}

.cr-anchor-nav__list {
	gap: 8px;
}

.cr-anchor-nav__list .wp-block-button__link {
	background: transparent;
	border: 1px solid var(--cr-greige);
	color: var(--cr-text);
	font-size: 14px;
	font-weight: 500;
	min-height: 0;
	padding: 8px 14px;
	text-transform: none;
}

.cr-anchor-nav__list .wp-block-button__link:hover,
.cr-anchor-nav__list .wp-block-button__link.is-active {
	background: var(--cr-orange);
	border-color: var(--cr-orange);
	color: #fff;
}

@media (max-width: 781px) {
	.cr-anchor-nav__label {
		display: none;
	}

	/* Op mobiel horizontaal scrollen in plaats van meerdere regels */
	.cr-anchor-nav__list {
		flex-wrap: nowrap !important;
		margin-right: calc(var(--cr-gutter) * -1) !important;
		overflow-x: auto;
		padding-right: var(--cr-gutter);
		scrollbar-width: none;
	}

	.cr-anchor-nav__list::-webkit-scrollbar {
		display: none;
	}

	.cr-anchor-nav__list .wp-block-button {
		flex: none;
	}
}

/* --------------------------------------------------------------------------
   Blogoverzicht: altijd volledige rijen.
   Het nieuwste bericht (of de twee nieuwste) wordt breder getoond wanneer
   het aantal berichten niet deelbaar is door het aantal kolommen.
   -------------------------------------------------------------------------- */

.cr-blog--archive .cr-cards {
	grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
}

.cr-blog--archive .cr-cards > li {
	grid-column: span 2;
}

/* Aantal = 3n+2: de eerste twee berichten elk een halve rij */
.cr-blog--archive .cr-cards > li:first-child:nth-last-child(3n+2),
.cr-blog--archive .cr-cards > li:first-child:nth-last-child(3n+2) + li {
	grid-column: span 3;
}

/* Aantal = 3n+1: het nieuwste bericht over de volle breedte, beeld naast tekst */
.cr-blog--archive .cr-cards > li:first-child:nth-last-child(3n+1) {
	grid-column: 1 / -1;
}

/* Breed bericht: beeld naast tekst (desktop: aantal 3n+1, tablet: oneven aantal) */
@media (min-width: 1101px) {
	.cr-blog--archive .cr-cards > li:first-child:nth-last-child(3n+1) .cr-card {
		flex-direction: row;
	}

	.cr-blog--archive .cr-cards > li:first-child:nth-last-child(3n+1) .wp-block-post-featured-image {
		aspect-ratio: auto !important;
		flex: 0 0 58%;
		min-height: 380px;
	}

	.cr-blog--archive .cr-cards > li:first-child:nth-last-child(3n+1) .cr-card__body {
		justify-content: center;
		padding: 48px;
	}

	.cr-blog--archive .cr-cards > li:first-child:nth-last-child(3n+1) .cr-card__title {
		font-size: var(--wp--preset--font-size--xx-large);
	}
}

@media (min-width: 782px) and (max-width: 1100px) {
	.cr-blog--archive .cr-cards > li:first-child:nth-last-child(2n+1) .cr-card {
		flex-direction: row;
	}

	.cr-blog--archive .cr-cards > li:first-child:nth-last-child(2n+1) .wp-block-post-featured-image {
		aspect-ratio: auto !important;
		flex: 0 0 58%;
		min-height: 380px;
	}

	.cr-blog--archive .cr-cards > li:first-child:nth-last-child(2n+1) .cr-card__body {
		justify-content: center;
		padding: 48px;
	}

	.cr-blog--archive .cr-cards > li:first-child:nth-last-child(2n+1) .cr-card__title {
		font-size: var(--wp--preset--font-size--xx-large);
	}
}

@media (max-width: 1100px) {
	.cr-blog--archive .cr-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.cr-blog--archive .cr-cards > li,
	.cr-blog--archive .cr-cards > li:first-child:nth-last-child(3n+2),
	.cr-blog--archive .cr-cards > li:first-child:nth-last-child(3n+2) + li,
	.cr-blog--archive .cr-cards > li:first-child:nth-last-child(3n+1) {
		grid-column: span 1;
	}

	/* Oneven aantal op tablet: nieuwste bericht over de volle breedte */
	.cr-blog--archive .cr-cards > li:first-child:nth-last-child(2n+1) {
		grid-column: 1 / -1;
	}
}

@media (max-width: 781px) {
	.cr-blog--archive .cr-cards {
		grid-template-columns: 1fr !important;
	}

	.cr-blog--archive .cr-cards > li:first-child:nth-last-child(2n+1) {
		grid-column: auto;
	}

}

/* Blogoverzicht: minder witruimte tussen broodkruimel en kaarten */
.cr-blog--archive {
	padding-top: 64px;
}

.cr-blog--archive .cr-blog__query {
	margin-top: 0 !important;
}

.cr-hero--blog .wp-block-query-title {
	color: #fff;
	margin: 0;
	max-width: 628px;
}

/* Lichte foto: iets donkerdere overloop voor leesbaarheid */
.cr-hero--blog::before {
	background: linear-gradient(90deg, rgba(29, 28, 36, .72), rgba(29, 28, 36, .35));
}

/* Bloghero: lager dan de standaard kleine hero, broodkruimel er direct onder */
.cr-hero--blog {
	min-height: 0;
	padding-bottom: 90px;
	padding-top: 225px;
}

.cr-archive > .cr-hero + .cr-breadcrumb {
	margin-block-start: 0 !important;
}

@media (max-width: 960px) {
	.cr-hero--blog {
		padding-bottom: 60px;
		padding-top: 170px;
	}
}

/* --------------------------------------------------------------------------
   Juridische pagina's met iubenda-embed (cookie- en privacybeleid)
   -------------------------------------------------------------------------- */

.cr-page__content > #iub-pp-container {
	max-width: var(--wp--style--global--content-size, 1276px) !important;
}

#iub-pp-container #iub-legalDoc {
	border-top: 0;
	color: var(--wp--preset--color--text, #1d1c24);
	font-family: inherit;
	font-size: 17px;
	line-height: 1.6;
}

#iub-pp-container #iub-legalDoc .container {
	max-width: none;
	padding: 0;
}

/* De paginatitel staat al in de kop van de site: titel van iubenda verbergen. */
#iub-pp-container #iub-legalDoc .main-header {
	padding: 0 0 40px;
	text-align: left;
}

#iub-pp-container #iub-legalDoc .main-header h1 {
	display: none;
}

#iub-pp-container #iub-legalDoc .main-header p {
	font-size: 20px;
	line-height: 1.5;
	margin: 0 0 12px;
	max-width: 844px;
}

#iub-pp-container #iub-legalDoc .main-header .main-header__meta {
	color: var(--wp--preset--color--muted, #6f6c65);
	font-size: 15px;
}

#iub-pp-container #iub-legalDoc h2,
#iub-pp-container #iub-legalDoc h3,
#iub-pp-container #iub-legalDoc h4 {
	color: var(--wp--preset--color--bordeaux, #6a0203);
	font-family: inherit;
	letter-spacing: 0;
	text-transform: none;
}

#iub-pp-container #iub-legalDoc a {
	color: var(--wp--preset--color--bordeaux, #6a0203);
}

#iub-pp-container #iub-legalDoc a:hover {
	color: var(--wp--preset--color--orange, #fc4c3d);
}

#iub-pp-container #iub-legalDoc p,
#iub-pp-container #iub-legalDoc li,
#iub-pp-container #iub-legalDoc td,
#iub-pp-container #iub-legalDoc th {
	color: inherit;
	font-family: inherit;
}

/* --------------------------------------------------------------------------
   Blogartikel (single): hero met uitgelichte foto, twee kolommen, inhoudstafel
   -------------------------------------------------------------------------- */

/* Hero: de uitgelichte afbeelding van het artikel */
.cr-hero--post {
	align-items: flex-end;
	min-height: 600px !important;
	padding: 230px var(--cr-gutter) 72px !important;
}

.cr-hero--post::before {
	display: none;
}

.cr-hero--post .wp-block-cover__background {
	background: linear-gradient(90deg, rgba(29, 28, 36, .82) 0%, rgba(29, 28, 36, .55) 55%, rgba(29, 28, 36, .25) 100%) !important;
	opacity: 1 !important;
}

.cr-hero--post .wp-block-cover__inner-container {
	color: #fff;
	margin: 0 auto;
	max-width: var(--wp--style--global--content-size, 1276px);
	width: 100%;
}

.cr-hero--post .wp-block-cover__inner-container > * {
	margin-left: 0 !important;
	max-width: 860px;
}

.cr-hero--post .cr-eyebrow {
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .08em;
	margin-bottom: 18px;
	text-transform: uppercase;
}

.cr-hero--post .cr-eyebrow a {
	color: var(--cr-orange);
	margin-right: 14px;
	text-decoration: none;
}

.cr-hero--post .cr-eyebrow .wp-block-post-terms__separator {
	display: none;
}

.cr-hero--post .cr-hero--post__title {
	color: #fff;
	font-size: clamp(30px, 4.2vw, 52px);
	font-weight: 700;
	line-height: 1.12;
	margin: 0;
	text-wrap: balance;
}

.cr-post-meta {
	align-items: center;
	color: rgba(255, 255, 255, .85);
	font-size: 15px;
	gap: 8px 22px !important;
	margin-top: 26px !important;
}

.cr-post-meta > *,
.cr-post-meta p {
	margin: 0 !important;
}

.cr-post-meta > * + *::before {
	background: var(--cr-orange);
	border-radius: 50%;
	content: "";
	display: inline-block;
	height: 5px;
	margin-right: 22px;
	vertical-align: middle;
	width: 5px;
}

.cr-post-meta .wp-block-shortcode,
.cr-post-meta .cr-post-meta__read {
	display: inline;
}

/* Twee kolommen: tekst + meeschuivende zijbalk */
.cr-single__layout {
	padding-bottom: 90px;
	padding-top: 70px;
}

.cr-single__columns {
	align-items: stretch !important;
	gap: 80px !important;
	margin: 0 !important;
}

.cr-single__main {
	min-width: 0;
}

.cr-single__sticky {
	display: flex;
	flex-direction: column;
	gap: 28px;
	position: sticky;
	top: calc(var(--cr-header-h, 100px) + 28px);
}

.cr-single__sticky > * {
	margin: 0 !important;
}

/* Inhoudstafel */
.cr-toc {
	background: var(--cr-light);
	border-top: 4px solid var(--cr-bordeaux);
	padding: 26px 28px 22px;
}

.cr-toc__title {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .1em;
	margin: 0 0 14px;
	text-transform: uppercase;
}

.cr-toc__list {
	counter-reset: crtoc;
	list-style: none;
	margin: 0;
	padding: 0;
}

.cr-toc__list li {
	counter-increment: crtoc;
	margin: 0;
}

.cr-toc__list a {
	border-left: 2px solid transparent;
	color: var(--cr-text);
	display: flex;
	font-size: 15px;
	gap: 10px;
	line-height: 1.35;
	margin-left: -12px;
	padding: 7px 0 7px 10px;
	text-decoration: none;
	transition: color .2s, border-color .2s;
}

.cr-toc__list a::before {
	color: var(--cr-orange);
	content: counter(crtoc, decimal-leading-zero);
	flex: none;
	font-size: 13px;
	font-weight: 700;
	padding-top: 1px;
}

.cr-toc__list a:hover,
.cr-toc__list a.is-active {
	border-left-color: var(--cr-orange);
	color: var(--cr-bordeaux);
}

.cr-toc__list a.is-active {
	font-weight: 600;
}

/* Offertekader in de zijbalk */
.cr-aside-cta {
	background: var(--cr-bordeaux);
	color: #fff;
	padding: 30px 28px;
}

.cr-aside-cta > * {
	margin-block: 0;
}

.cr-aside-cta h3 {
	color: #fff;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.2;
}

.cr-aside-cta p {
	font-size: 15px;
	line-height: 1.5;
	margin-top: 12px;
	opacity: .9;
}

.cr-aside-cta .wp-block-buttons {
	flex-direction: column;
	gap: 10px;
	margin-top: 22px;
}

.cr-aside-cta .wp-block-button,
.cr-aside-cta .wp-block-button__link {
	text-align: center;
	width: 100%;
}

/* Typografie van de tekst */
.cr-single__content > * {
	margin-block: 0 22px;
}

.cr-single__content > p:first-child {
	color: var(--cr-text);
	font-size: 20px;
	line-height: 32px;
	margin-bottom: 30px;
}

.cr-single__content h2 {
	font-size: clamp(24px, 2.4vw, 30px);
	font-weight: 700;
	line-height: 1.25;
	margin-top: 56px;
	padding-top: 22px;
	position: relative;
	scroll-margin-top: calc(var(--cr-header-h, 100px) + 24px);
}

.cr-single__content h2::before {
	background: var(--cr-orange);
	content: "";
	height: 4px;
	left: 0;
	position: absolute;
	top: 0;
	width: 44px;
}

.cr-single__content h3 {
	color: var(--cr-bordeaux);
	font-size: 21px;
	font-weight: 600;
	line-height: 1.3;
	margin-top: 36px;
	scroll-margin-top: calc(var(--cr-header-h, 100px) + 24px);
}

.cr-single__content h2 + *,
.cr-single__content h3 + * {
	margin-top: 14px;
}

.cr-single__content strong {
	color: var(--cr-text);
	font-weight: 600;
}

.cr-single__content a {
	color: var(--cr-bordeaux);
	text-decoration: underline;
	text-decoration-color: var(--cr-orange);
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
	transition: color .2s;
}

.cr-single__content a:hover {
	color: var(--cr-orange);
}

/* Lijsten met de pijltjes van de site */
.cr-single__content > ul {
	list-style: none;
	padding-left: 0;
}

.cr-single__content > ul > li {
	margin-bottom: 10px;
	padding-left: 28px;
	position: relative;
}

.cr-single__content > ul > li::before {
	background: url("../icons/arrow-list.svg") center / contain no-repeat;
	content: "";
	height: 14px;
	left: 2px;
	position: absolute;
	top: 7px;
	width: 11px;
}

.cr-single__content > ol {
	counter-reset: crol;
	list-style: none;
	padding-left: 0;
}

.cr-single__content > ol > li {
	counter-increment: crol;
	margin-bottom: 12px;
	padding-left: 40px;
	position: relative;
}

.cr-single__content > ol > li::before {
	align-items: center;
	background: var(--cr-light);
	border-radius: 50%;
	color: var(--cr-bordeaux);
	content: counter(crol);
	display: flex;
	font-size: 14px;
	font-weight: 700;
	height: 26px;
	justify-content: center;
	left: 0;
	position: absolute;
	top: 1px;
	width: 26px;
}

/* Afbeeldingen over de volle breedte van de tekstkolom */
.cr-single__content .wp-block-image {
	margin-block: 36px;
}

.cr-single__content .wp-block-image img {
	aspect-ratio: 16 / 9;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.cr-single__content .wp-block-image figcaption {
	color: var(--cr-muted);
	font-size: 14px;
	margin-top: 10px;
}

.cr-single__content blockquote,
.cr-single__content .wp-block-quote {
	background: var(--cr-light);
	border-left: 4px solid var(--cr-orange);
	font-size: 19px;
	line-height: 1.55;
	margin-block: 32px;
	padding: 24px 28px;
}

/* Tags als labels */
.cr-single__tags {
	border-top: 1px solid var(--cr-greige);
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 48px;
	padding-top: 28px;
}

.cr-single__tags a {
	background: var(--cr-light);
	color: var(--cr-text);
	font-size: 13px;
	letter-spacing: .04em;
	margin: 0;
	padding: 6px 12px;
	text-decoration: none;
	text-transform: uppercase;
}

.cr-single__tags a:hover {
	background: var(--cr-bordeaux);
	color: #fff;
}

/* Leesvoortgang */
.cr-progress {
	background: transparent;
	height: 3px;
	left: 0;
	pointer-events: none;
	position: fixed;
	right: 0;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 1000;
}

.cr-progress span {
	background: var(--cr-orange);
	display: block;
	height: 100%;
	transform: scaleX(0);
	transform-origin: left;
	width: 100%;
}

/* Inhoudstafel als uitklapblok op mobiel en tablet */
.cr-toc-mobile {
	background: var(--cr-light);
	border-top: 4px solid var(--cr-bordeaux);
	margin-block: 0 32px !important;
}

.cr-toc-mobile summary {
	cursor: pointer;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .08em;
	list-style: none;
	padding: 16px 20px;
	position: relative;
	text-transform: uppercase;
}

.cr-toc-mobile summary::-webkit-details-marker {
	display: none;
}

.cr-toc-mobile summary::after {
	color: var(--cr-orange);
	content: "+";
	font-size: 22px;
	position: absolute;
	right: 20px;
	top: 10px;
}

.cr-toc-mobile[open] summary::after {
	content: "\2013";
}

.cr-toc-mobile .cr-toc__list {
	padding: 0 20px 16px 32px;
}

@media (max-width: 960px) {
	.cr-hero--post {
		min-height: 460px !important;
		padding: 170px var(--cr-gutter) 48px !important;
	}

	.cr-single__layout {
		padding-top: 44px;
	}

	.cr-single__columns {
		flex-direction: column;
		gap: 48px !important;
	}

	.cr-single__columns > .wp-block-column {
		flex-basis: 100% !important;
		width: 100%;
	}

	.cr-single__sticky {
		position: static;
	}

	.cr-single__aside .cr-toc {
		display: none;
	}

	.cr-single__content > p:first-child {
		font-size: 18px;
		line-height: 29px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.cr-toc__list a {
		transition: none;
	}
}

/* Inhoudstafel binnen de tekst (mobiel): geen tekstlinkstijl */
.cr-single__content .cr-toc-mobile a {
	color: var(--cr-text);
	text-decoration: none;
}

.cr-single__content .cr-toc-mobile a:hover,
.cr-single__content .cr-toc-mobile a.is-active {
	color: var(--cr-bordeaux);
}

.cr-single__content .cr-toc-mobile li {
	margin: 0;
	padding: 0;
}

/* Blogartikel: broodkruimel direct tegen de hero */
.cr-single > .cr-hero + .cr-breadcrumb {
	margin-block-start: 0 !important;
}
