/**
Theme Name: Blok56
Author: Blok56
Author URI: https://blok56.nl
Description: Casa Mila 2026
Version: 1.0.4
Text Domain: blok56
Template: astra
*/

/**
 * Owl Carousel v2.2.0
 * Copyright 2013-2016 David Deutsch
 * Licensed under MIT
 */
.owl-carousel,.owl-carousel .owl-item{-webkit-tap-highlight-color:transparent;position:relative}.owl-carousel{display:none;width:100%;z-index:1}.owl-carousel .owl-stage{position:relative;-ms-touch-action:pan-Y}.owl-carousel .owl-stage:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.owl-carousel .owl-stage-outer{position:relative;overflow:hidden;-webkit-transform:translate3d(0,0,0)}.owl-carousel .owl-item,.owl-carousel .owl-wrapper{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0)}.owl-carousel .owl-item{min-height:1px;float:left;-webkit-backface-visibility:hidden;-webkit-touch-callout:none}.owl-carousel .owl-item img{display:block;width:100%}.owl-carousel .owl-dots.disabled,.owl-carousel .owl-nav.disabled{display:none}.no-js .owl-carousel,.owl-carousel.owl-loaded{display:block}.owl-carousel .owl-dot,.owl-carousel .owl-nav .owl-next,.owl-carousel .owl-nav .owl-prev{cursor:pointer;cursor:hand;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-loading{opacity:0;display:block}.owl-carousel.owl-hidden{opacity:0}.owl-carousel.owl-refresh .owl-item{visibility:hidden}.owl-carousel.owl-drag .owl-item{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-grab{cursor:move;cursor:grab}.owl-carousel.owl-rtl{direction:rtl}.owl-carousel.owl-rtl .owl-item{float:right}.owl-carousel .animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.owl-carousel .owl-animated-in{z-index:0}.owl-carousel .owl-animated-out{z-index:1}.owl-carousel .fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.owl-height{transition:height .5s ease-in-out}.owl-carousel .owl-item .owl-lazy{opacity:0;transition:opacity .4s ease}.owl-carousel .owl-item img.owl-lazy{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.owl-carousel .owl-video-wrapper{position:relative;height:100%;background:#000}.owl-carousel .owl-video-play-icon{position:absolute;height:80px;width:80px;left:50%;top:50%;margin-left:-40px;margin-top:-40px;cursor:pointer;z-index:1;-webkit-backface-visibility:hidden;transition:-webkit-transform .1s ease;transition:transform .1s ease}.owl-carousel .owl-video-play-icon:hover{-webkit-transform:scale(1.3,1.3);-ms-transform:scale(1.3,1.3);transform:scale(1.3,1.3)}.owl-carousel .owl-video-playing .owl-video-play-icon,.owl-carousel .owl-video-playing .owl-video-tn{display:none}.owl-carousel .owl-video-tn{opacity:0;height:100%;background-position:center center;background-repeat:no-repeat;background-size:contain;transition:opacity .4s ease}.owl-carousel .owl-video-frame{position:relative;z-index:1;height:100%;width:100%}
.owl-theme .owl-dots,.owl-theme .owl-nav{text-align:center;-webkit-tap-highlight-color:transparent}.owl-theme .owl-nav{margin-top:10px}.owl-theme .owl-nav [class*=owl-]{color:#FFF;font-size:14px;margin:5px;padding:4px 7px;background:#D6D6D6;display:inline-block;cursor:pointer;border-radius:3px}.owl-theme .owl-nav [class*=owl-]:hover{background:#869791;color:#FFF;text-decoration:none}.owl-theme .owl-nav .disabled{opacity:.5;cursor:default}.owl-theme .owl-nav.disabled+.owl-dots{margin-top:10px}.owl-theme .owl-dots .owl-dot{display:inline-block;zoom:1}.owl-theme .owl-dots .owl-dot span{width:10px;height:10px;margin:5px 7px;background:#D6D6D6;display:block;-webkit-backface-visibility:visible;transition:opacity .2s ease;border-radius:30px}.owl-theme .owl-dots .owl-dot.active span,.owl-theme .owl-dots .owl-dot:hover span{background:#869791}

/* =========================================================
   BLOK56 — GENERIEK
   ========================================================= */

.error404 .page-content,
.error404 div#content { display: none; }

::selection { color: #fff !important; }

ul { margin: 0 20px; }

.img-fluid { max-width: 100%; height: auto; }
.text-white { color: #f4f4f4 !important; }
.clearfix { clear: both; }

header .custom-logo-link img { margin-top: -20px; }

.ahfb-svg-iconset svg { width: 25px; height: 25px; color: #fff; }

/* Animate box */
.animate-box { opacity: 0; }

/* Selectie */
::selection { color: #fff !important; }

/* Achtergronden */
.ast-footer-copyright {
	color: #ffffff;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-size: 13px;
}

.page-id-1132 .site-above-footer-wrap[data-section="section-above-footer-builder"] {
	display: none;
}

/* =========================================================
   OVERLAY EFFECT
   ========================================================= */
[data-overlay-dark],
[data-overlay-darkgray],
[data-overlay-light] { position: relative; }

[data-overlay-dark] .container,
[data-overlay-darkgray] .container,
[data-overlay-light] .container { position: relative; z-index: 2; }

[data-overlay-dark]:before,
[data-overlay-darkgray]:before,
[data-overlay-light]:before {
	content: '';
	position: absolute;
	width: 100%; height: 100%;
	top: 0; left: 0; z-index: 1;
}
[data-overlay-dark]:before { background: #000; }
[data-overlay-darkgray]:before { background: #272727; }
[data-overlay-light]:before { background: #fff; }

[data-overlay-dark] h1,[data-overlay-dark] h2,[data-overlay-dark] h3,
[data-overlay-dark] h4,[data-overlay-dark] h5,[data-overlay-dark] h6,
[data-overlay-dark] span { color: #fff; }
[data-overlay-darkgray] h1,[data-overlay-darkgray] h2,[data-overlay-darkgray] h3,
[data-overlay-darkgray] h4,[data-overlay-darkgray] h5,[data-overlay-darkgray] h6,
[data-overlay-darkgray] span { color: #fff; }
[data-overlay-light] h1,[data-overlay-light] h2,[data-overlay-light] h3,
[data-overlay-light] h4,[data-overlay-light] h5,[data-overlay-light] h6,
[data-overlay-light] span { color: #999; }

[data-overlay-dark="0"]:before,[data-overlay-darkgray="0"]:before,[data-overlay-light="0"]:before { opacity: 0; }
[data-overlay-dark="1"]:before,[data-overlay-darkgray="1"]:before,[data-overlay-light="1"]:before { opacity: 0.1; }
[data-overlay-dark="2"]:before,[data-overlay-darkgray="2"]:before,[data-overlay-light="2"]:before { opacity: 0.2; }
[data-overlay-dark="3"]:before,[data-overlay-darkgray="3"]:before,[data-overlay-light="3"]:before { opacity: 0.3; }
[data-overlay-dark="4"]:before,[data-overlay-darkgray="4"]:before,[data-overlay-light="4"]:before { opacity: 0.4; }
[data-overlay-dark="5"]:before,[data-overlay-darkgray="5"]:before,[data-overlay-light="5"]:before { opacity: 0.5; }
[data-overlay-dark="6"]:before,[data-overlay-darkgray="6"]:before,[data-overlay-light="6"]:before { opacity: 0.6; }
[data-overlay-dark="7"]:before,[data-overlay-darkgray="7"]:before,[data-overlay-light="7"]:before { opacity: 0.7; }
[data-overlay-dark="8"]:before,[data-overlay-darkgray="8"]:before,[data-overlay-light="8"]:before { opacity: 0.8; }
[data-overlay-dark="9"]:before,[data-overlay-darkgray="9"]:before,[data-overlay-light="9"]:before { opacity: 0.9; }
[data-overlay-dark="10"]:before,[data-overlay-darkgray="10"]:before,[data-overlay-light="10"]:before { opacity: 1; }

/* =========================================================
   CONTENT LINES
   ========================================================= */
.site-content-wrapper { position: relative; }
.content-lines-wrapper { position: absolute; left: 0; width: 100%; height: 100%; overflow: hidden; }
.content-lines-inner {
	position: absolute;
	width: 1140px; left: 50%; margin-left: -570px;
	top: 0; height: 100%;
	border-left: 1px solid #323232;
	border-right: 1px solid #323232;
	border-bottom: 1px solid #323232;
}
.content-lines {
	position: absolute;
	left: 33.666666%; right: 33.666666%;
	height: 100%;
	border-left: 1px solid #323232;
	border-right: 1px solid #323232;
}

/* =========================================================
   BLOK56 CAPPUCCINO TOKENS + HULPKLASSEN
   ========================================================= */
:root {
	--cappuccino-1: #f5efe6;
	--cappuccino-2: #e6d7c3;
	--cappuccino-3: #c8b6a6;
	--cappuccino-4: #8b6f5a;
	--cappuccino-dark: #272727;
}
.bg-cappuccino-1 { background-color: var(--cappuccino-1); }
.bg-cappuccino-2 { background-color: var(--cappuccino-2); }
.bg-cappuccino-3 { background-color: var(--cappuccino-3); }
.bg-cappuccino-4 { background-color: var(--cappuccino-4); }
.bg-cappuccino-dark { background-color: var(--cappuccino-dark); color: #f5efe6; }
.bg-white { background-color: #fff; }

.ast-row { flex-wrap: wrap; display: flex; }
.align-items-center { align-items: center !important; }

.hero-subtitle {
	display: inline-block;
	text-transform: uppercase;
	color: var(--cappuccino-4);
	font-weight: 300;
	font-size: 15px;
	line-height: 20px;
	letter-spacing: 4px;
}
.hero-intro { font-size: 1.15rem; color: var(--cappuccino-text); }

.portret { position: relative; display: block; line-height: 0; }
.portret img { display: block; width: 100%; height: auto; }
@media (max-width: 921px) {
	.portret { width: 80%; margin: 0 auto 30px; }
}

.slogan-box { background: var(--cappuccino-1); padding: 35px; height: 100%; border-left: 4px solid var(--cappuccino-4); }
.slogan-main { font-size: 1.1rem; margin-bottom: 15px; }
.slogan-sub { color: var(--cappuccino-text); }
.dienst-item { background: #fff; padding: 30px; height: 100%; border-bottom: 3px solid var(--cappuccino-3); }
.focus-item { padding: 25px; background: var(--cappuccino-1); height: 100%; text-align: center; }

.section-contact h2,.section-contact p,.section-contact a { color: #f5efe6; }
a.contact, .contact, a.telefoon, .telefoon {
	display: inline-block;
	text-transform: uppercase;
	color: var(--cappuccino-1);
	font-weight: 300;
	font-size: 16px;
	line-height: 24px;
	letter-spacing: 2px;
}

/* =========================================================
   BLOK56 GENERIEKE BUTTON ROW (voor blok56.nl)
   ========================================================= */
.button-row {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
}
.button-row a { text-decoration: none; }

/* =========================================================
   ABOUT
   ========================================================= */
.over { padding-bottom: 30px; padding-top: 30px; }
.over .about-img img { transition: 0.5s all; }
.over .about-img img:hover { transform: scale(0.95); }
.over .about-img { position: relative; }
.over .about-img .img { padding: 0 15px 30px 30px; position: relative; }
.over .about-img .img:before {
	content: '';
	position: absolute;
	top: 30px; left: 0; right: 45px; bottom: 0;
	border: 1px solid #323232;
}
.over .about-img .img img { position: relative; z-index: 2; background: #272727; }
.about-img-2 { position: relative; }
.about-img .about-img-2 {
	width: 50% !important;
	position: absolute;
	bottom: 0; right: 45px; z-index: 3;
	padding: 20px 15px;
	color: #fff;
	text-transform: uppercase;
	font-weight: 300;
	letter-spacing: 5px;
	font-size: 13px;
	line-height: 1.5em;
	text-align: center;
}
.about-buro { background: #323232; }

/* =========================================================
   PROJECTS 2
   ========================================================= */
.project2 { position: relative; }
.projects2-items .col-md-6:nth-child(2) { margin-top: 75px; }
.projects2-filter { position: relative; width: 100%; padding-bottom: 30px; padding-left: 0; }
.projects2-filter li { margin-right: 15px; display: inline-block; font-size: 15px; line-height: 1.75em; cursor: pointer; color: #999; }
.projects2-filter li:last-child { margin-right: 0; }
.projects2-filter li.active { color: #c5a47e; border-bottom: 1px solid; transition: 700ms cubic-bezier(0.17, 0.67, 0, 1.01); }
.projects2-filter li:hover { color: #c5a47e; }
.projects2-wrap { padding-bottom: 90px; padding-right: 0; padding-left: 90px; position: relative; }
.projects2-wrap h3 { font-size: 24px; line-height: 1.75em; color: #fff; text-transform: uppercase; letter-spacing: 3px; }
.projects2-wrap p { font-size: 12px; margin-bottom: 5px; color: #c5a47e; text-transform: uppercase; letter-spacing: 3px; }
.projects2-con { position: absolute; left: 40px; top: 20px; padding: 30px; background: #333; }
.project2-link {
	color: #fff; font-size: 16px; font-weight: 400;
	position: relative; padding-right: 40px; padding-left: 80px;
	line-height: 1.75em; display: inline-block;
	transition: all 0.3s ease-in-out;
}
.project2-link:before {
	content: '';
	display: inline-block;
	width: 80px; height: 1px;
	background: #c5a47e;
	position: absolute; left: 0; bottom: 15px;
	transition: all 0.3s ease-in-out;
}
.project2-link i { position: absolute; right: 0; top: 0; width: 30px; height: 30px; line-height: 30px; font-size: 14px; transition: all 0.3s ease-in-out; }
.project2-link:hover i,.project2-link:hover { padding-left: 5px; color: #fff; }

@media (max-width: 1024px) {
	.projects2-wrap { padding-left: 20px; }
	.projects2-wrap h3 { font-size: 22px; }
	.projects2-con { top: 40px; }
}
@media all and (max-width: 767px) {
	.projects2-items .col-md-6:nth-child(2) { margin-top: 0; }
}
@media all and (max-width: 575px) {
	.projects2-filter li { margin-right: 10px; font-size: 16px; }
	.projects2-items .single-item { padding-bottom: 30px; }
	.projects2-wrap { padding: 0; }
	.projects2-con { left: 0; top: 0; padding: 10px 20px 20px 15px; }
	.projects2-wrap h3 { font-size: 15px; }
	.projects2-wrap p { font-size: 10px; margin-bottom: 0; }
}

/* =========================================================
   OWL THEME CUSTOM
   ========================================================= */
.owl-theme .owl-nav.disabled + .owl-dots {
	margin-top: 0; line-height: .7; display: block;
}
.owl-theme .owl-dots .owl-dot span {
	width: 8px; height: 8px; margin: 0 3px;
	border-radius: 50%;
	background: transparent;
	border: 1px solid rgba(255,255,255,.2);
}
.owl-theme .owl-dots .owl-dot.active span,
.owl-theme .owl-dots .owl-dot:hover span {
	background: transparent;
	border: 1px solid #b19777;
}

/* =========================================================
   PROJECTS
   ========================================================= */
.projects .item { position: relative; overflow: hidden; margin-bottom: 30px; }
.projects .item:hover img {
	-webkit-transform: scale(1.09);
	transform: scale(1.09);
	-webkit-filter: brightness(70%);
	transition: all 1s ease;
}
.projects .item:hover .con { bottom: 0; }
.projects .item img { transition: all .5s; }
.projects .item .con {
	padding: 30px 15px;
	position: absolute; bottom: -58px; left: 0;
	width: 100%;
	transition: all .3s;
	text-align: center; z-index: 20;
	background: linear-gradient(to bottom, transparent 0, rgba(0,0,0,.01) 2%, rgba(0,0,0,.85) 90%);
}
.projects .item .con h6,.projects .item .con h6 a {
	color: #b19777; font-size: 13px; font-weight: 400;
	margin: 0 0 10px; letter-spacing: 5px; text-transform: uppercase;
}
.projects .item .con h5,.projects .item .con h5 a {
	color: #fff; font-size: 20px; font-weight: 300;
	margin: 0 0 10px; letter-spacing: 5px; text-transform: uppercase;
}
.projects .item .con p,.projects .item .con i { color: #fff; font-size: 20px; }
.projects .item .con i:hover { color: #b19777; }
.projects .item .con .butn-light { margin-left: 0; border-radius: 30px; border-color: #999; padding: 11px 30px; }
.projects .item .con .butn-light:hover { border-color: #b19777; }
.projects .item .line {
	text-align: center; height: 1px; width: 60px;
	background-color: rgba(255,255,255,.2);
	transition: all .3s ease-in-out;
	margin: 0 auto 30px;
}
.projects .item:hover .line { width: 100%; transition-duration: .8s; }

.projects-prev-next { padding: 40px 0; border-top: 1px solid #323232; }
.projects-prev-next a { display: inline-block; font-size: 16px; color: #999; line-height: 1em; }
.projects-prev-next a i { font-size: 20px; }
.projects-prev-next a:hover { color: #b19777; }
.projects-prev-next .projects-prev-next-left a i { margin-right: 5px; font-size: 12px; }
.projects-prev-next .projects-prev-next-right a i { font-size: 12px; margin-left: 5px; }
@media (max-width: 576px) {
	.projects-prev-next { text-align: center; }
	.projects-prev-next-left { margin-bottom: 10px; }
}

/* =========================================================
   GALLERY
   ========================================================= */
.gallery-item { position: relative; padding-top: 20px; }
.gallery-box { overflow: hidden; position: relative; }
.gallery-box .gallery-img { position: relative; overflow: hidden; }
.gallery-box .gallery-img:after {
	content: " "; display: block;
	width: 100%; height: 100%;
	position: absolute; top: 0; left: 0;
	transition: all 0.27s cubic-bezier(0.3,0.1,0.58,1);
}
.gallery-box .gallery-img > img { transition: all 0.3s cubic-bezier(0.3,0.1,0.58,1); }
.gallery-box .gallery-detail {
	opacity: 0; color: #fff;
	width: 100%; padding: 20px;
	box-sizing: border-box;
	position: absolute; left: 0; overflow: hidden;
	transition: all 0.27s cubic-bezier(0.3,0.1,0.58,1);
}
.gallery-box .gallery-detail h4 { font-size: 18px; }
.gallery-box .gallery-detail p { color: rgba(0,0,0,.4); font-size: 14px; }
.gallery-box .gallery-detail i { color: #272727; padding: 8px; }
.gallery-box:hover .gallery-detail { top: 50%; transform: translate(0,-50%); opacity: 1; }
.gallery-box:hover .gallery-img:after { background: rgba(0,0,0,.4); }
.gallery-box:hover .gallery-img > img { transform: scale(1.05); }

.mfp-figure button,
button.mfp-close,
button.mfp-arrow { border: 0 solid transparent; background: transparent; }

/* =========================================================
   OVERIGE BLOK56 STIJLEN
   ========================================================= */
.aanbod .item .numb {
	font-size: 40px; font-weight: 600;
	position: absolute; bottom: 0; right: 30px;
	color: transparent;
	-webkit-text-stroke: 1px rgba(255,255,255,.1);
	line-height: 1em;
}
.widget_search .search-form .search-field {
	background: transparent;
	border-width: 1px; border-color: #797979; border-radius: 0;
}
h4.mb-2 { color: #f5f5f5; }
.blok56 { padding: 20px; font-size: 13px; color: #bbbbbb; }
.blok56logo img { width: 20px; height: 20px; transition: 0.6s ease; }
.blok56logo img:hover { cursor: crosshair; }
.blok56 td, th { padding: 0; text-align: left; border-width: 0 1px 1px 0; line-height: 1; }
table, td, th { border: none; }
img.blok56 { position: absolute; top: 0; left: 0; width: 80px; height: 80px; }
img.handtekening { max-width: 200px; }

.sidenav {
	height: 60%; width: 0;
	position: fixed; z-index: 9999;
	bottom: 0; right: 0;
	background-color: #323232;
	overflow: hidden;
	transition: 0.5s;
	padding-top: 60px;
	box-shadow: -5px 15px 20px 0 rgba(0,0,0,.4);
}
@media screen and (max-width: 550px) { .sidenav { height: 80%; } }
.sidenav a { padding: 8px 8px 8px 32px; text-decoration: none; font-size: 13px; color: #c1c1c1; display: block; transition: 0.3s; }
.sidenav a:hover { color: #f1f1f1; }
.sidenav .closebtn { position: absolute; top: 0; right: 25px; font-size: 36px; margin-left: 50px; }
@media screen and (max-height: 450px) { .sidenav { padding-top: 15px; } .sidenav a { font-size: 18px; } }

.ast-scroll-to-top-right { right: 30px; bottom: 80px; }

ul.social li { text-transform: uppercase; font-weight: 300; letter-spacing: 2px; font-size: 13px; line-height: 1.5em; color: #999; list-style: none; }

/* =========================================================
   LEFT PANEL
   ========================================================= */
.left-panel { background: #f5efe6; position: absolute; width: 40px; height: 100%; left: 0; top: 0; z-index: 1; overflow: hidden; }
@media (max-width: 767.98px) { .left-panel { display: none; } }

/* =========================================================
   MENU BUTTON FOCUS FIX
   ========================================================= */
button#menu-toggle-close,
button#menu-toggle-close:is(:focus,:focus-visible,:active,:hover),
button#menu-toggle-close svg.ast-mobile-svg.ast-menu-svg,
svg.ast-mobile-svg.ast-menu-svg,
button.menu-toggle.main-header-menu-toggle.ast-mobile-menu-trigger-minimal,
button.menu-toggle.main-header-menu-toggle.ast-mobile-menu-trigger-minimal:is(:focus,:focus-visible,:active,:hover) {
	outline: none !important;
	box-shadow: none !important;
	border: none !important;
}
button#menu-toggle-close::-moz-focus-inner,
button.menu-toggle.main-header-menu-toggle.ast-mobile-menu-trigger-minimal::-moz-focus-inner {
	border: 0 !important;
}
@media (min-width: 921px) {
	.ast-mobile-popup-drawer .main-header-bar-navigation { display: none !important; }
}

/* =========================================================
   SERVICES
   ========================================================= */
section.services { position: relative; }
@media (min-width: 1200px) {
	section.services:before {
		content: ""; position: absolute;
		left: 0; top: 0;
		background: #67a4bc12 no-repeat 100% 100% / cover;
		width: 100%; height: 100%; z-index: -1;
	}
}
.service::after { content: ''; height: 512px; width: 512px; left: -100px; top: -70px; z-index: 10; position: absolute; opacity: 0.02; overflow: hidden; }
ul.services { background: #263a47; margin: 0 20px; }
ul.services li { list-style: none; color: #fff; text-transform: uppercase; letter-spacing: 2px; font-size: 13px; }
.ast-col-lg-3.ast-col-lg-offset-1.service.mt-3 { margin-left: 5%; }

/* =========================================================
   BLOCKQUOTE (blok56.nl)
   ========================================================= */
blockquote {
	position: relative;
	color: #402f26;
	background: #e6d7c3;
	text-transform: uppercase;
	font-weight: 300;
	margin: 2em 0;
	letter-spacing: 1px;
	text-align: center;
	padding: 5.8em 2em;
	overflow: hidden;
	font-size: 1.2em;
}
blockquote::before {
	content: "";
	position: absolute;
	inset: 0;
	background-size: 120%;
	opacity: 0.03;
	transform: scale(1.2);
}
blockquote p { margin-bottom: 0 !important; }

/* =========================================================
   MOUSE SCROLL INDICATOR (blok56.nl)
   ========================================================= */
.mouse {
	position: absolute;
	bottom: 80px; z-index: 95;
	left: 50%;
	transform: translateX(-50%);
	display: block;
}
.mouse .mouse-icon {
	display: block;
	width: 26px; height: 50px;
	border: 1px solid #f5efe6;
	border-radius: 15px;
	cursor: pointer;
	position: relative;
	text-align: center;
	transition: .3s all ease-in-out;
}
.mouse .mouse-wheel {
	height: 6px; margin: 2px auto 0;
	display: block; width: 6px;
	background-color: #f5efe6;
	border-radius: 50%;
	animation: 1.6s ease infinite wheel-up-down;
}
@keyframes wheel-up-down {
	0% { margin-top: 2px; opacity: 0; }
	30% { opacity: 1; }
	100% { margin-top: 20px; opacity: 0; }
}

/* =========================================================
   ACCORDION / FAQ
   ========================================================= */
ul.accordion-box.clearfix { margin: 10px 0; padding: 0; width: 100%; max-width: 100%; list-style: none; }
.accordion-box { position: relative; width: 100%; max-width: 100%; }
.accordion-box .block { position: relative; background: #fff; border-radius: 0; overflow: hidden; margin-bottom: 15px; width: 100%; max-width: 100%; display: block; box-sizing: border-box; }
.accordion-box .block:last-child { margin-bottom: 0; }
.accordion-box .block .acc-btn { position: relative; display: block; width: 100%; max-width: 100%; box-sizing: border-box; line-height: 27px; font-weight: 400; cursor: pointer; padding: 20px 55px 20px 20px; transition: all 500ms ease; text-transform: uppercase; }
.accordion-box .block .acc-btn .count { color: #aa8453; padding-right: 3px; }
.accordion-box .block .acc-btn:before { position: absolute; right: 20px; top: 50%; transform: translateY(-50%); height: 30px; width: 20px; font-size: 14px; font-weight: normal; color: #aa8453; line-height: 30px; text-align: center; content: "\e61a"; font-family: "Themify"; transition: all 500ms ease; }
.accordion-box .block .acc-btn.active { background-color: #fff; color: #aa8453; }
.accordion-box .block .acc-btn.active:before { content: "\e622"; }
.accordion-box .block .acc-content { position: relative; display: none; width: 100%; max-width: 100%; box-sizing: border-box; }
.accordion-box .block .acc-content.current { display: block; }
.accordion-box .block .content { position: relative; padding: 0 20px 30px; background-color: #fff; color: #111; width: 100%; max-width: 100%; box-sizing: border-box; }
.accordion-box .block .content .text { display: block; position: relative; top: 0; padding-right: 0; width: 100%; max-width: 100%; box-sizing: border-box; }
.faq .acc-btn { padding: 14px 60px 14px 30px !important; text-transform: uppercase; font-weight: 500 !important; letter-spacing: 0 !important; font-size: 0.9em; }
.faq .accordion-box .block .acc-btn:before { right: 20px; top: 50%; transform: translateY(-50%); }
.faq .accordion-box .block .content { padding: 0 30px 30px; }

@media (max-width: 767px) {
	ul.accordion-box.clearfix { margin: 30px 0 0; width: 100% !important; max-width: 100% !important; columns: 1 !important; }
	ul.accordion-box.clearfix > li,
	ul.accordion-box.clearfix > li.accordion.block.box-shadow { display: block !important; width: 100% !important; max-width: 100% !important; float: none !important; clear: both !important; margin: 0 !important; box-sizing: border-box; }
	.accordion-box, .accordion-box .block, .accordion-box .block .acc-btn,
	.accordion-box .block .acc-content, .accordion-box .block .content,
	.accordion-box .block .content .text { width: 100% !important; max-width: 100% !important; box-sizing: border-box; }
	.accordion-box .block .acc-content { display: none; }
	.accordion-box .block .acc-content.current { display: block; }
	.accordion-box .block .acc-btn { padding: 14px 42px 14px 14px; line-height: 1.35; }
	.accordion-box .block .acc-btn:before { position: absolute !important; right: 14px !important; top: 50% !important; transform: translateY(-50%) !important; width: 16px; height: 16px; line-height: 16px; text-align: center; display: block; }
	.accordion-box .block .content { padding: 0 14px 18px; }
	.faq .acc-btn { padding: 10px 42px 10px 10px !important; font-size: 0.9em; }
	.faq .accordion-box .block .acc-btn:before { right: 10px; }
	.faq .accordion-box .block .content { padding: 0 10px 14px; }
	.usp .accordion-box .block .acc-btn { padding: 10px 35px 8px 0 !important; }
	#diensten .ast-col-lg-7, #diensten .ast-col-lg-offset-1 { width: 100% !important; max-width: 100% !important; margin-left: 0 !important; padding: 0 20px !important; float: none !important; }
}

/* =========================================================
   PROJECTS CAROUSEL (Owl)
   ========================================================= */
.projects-carousel,
.projects-carousel.owl-carousel { position: relative; width: 100%; max-width: 100%; overflow: hidden; }
.projects-carousel .owl-stage-outer { position: relative; width: 100%; max-width: 100%; overflow: hidden; }
.projects-carousel .owl-item { min-width: 0; }
.projects-carousel .item { width: 100%; max-width: 100%; }
.projects-carousel .project-slide,
.projects-carousel .gallery-box,
.projects-carousel .position-re,
.projects-carousel .o-hidden { width: 100%; max-width: 100%; overflow: hidden; }
.projects-carousel img,
.projects-carousel .project-slide__img,
.projects-carousel .gallery-img { display: block; width: 100%; max-width: 100%; height: auto !important; border-radius: 0; }
.ast-row > [class*="ast-col"],
.ast-col-lg-4,
.ast-col-md-6,
.ast-col-sm-12 { min-width: 0; }
.entry-content .projects-carousel img,
.ast-container .projects-carousel img,
.site .projects-carousel img { display: block; width: 100% !important; max-width: 100% !important; height: auto !important; }
.projects-carousel .owl-dots { margin-top: 20px; text-align: center; line-height: 1; }
.projects-carousel .owl-dots .owl-dot { display: inline-block; }
.projects-carousel .owl-dots .owl-dot span { display: block; width: 34px; height: 4px; margin: 40px 5px; border-radius: 999px; background: rgba(0,0,0,.18); transition: all 0.3s ease; }
.projects-carousel .owl-dots .owl-dot.active span,
.projects-carousel .owl-dots .owl-dot:hover span { width: 46px; background: #000; }

@media (max-width: 921px) {
	.projects-carousel,
	.projects-carousel.owl-carousel,
	.projects-carousel .owl-stage-outer { max-width: 100%; overflow: hidden; }
	.projects-carousel img,
	.projects-carousel .project-slide__img,
	.projects-carousel .gallery-img { width: 100% !important; height: auto !important; }
	.projecten-slider-col .projects-carousel { width: 80% !important; margin: 0 auto !important; }
	.projecten-slider-col .projects-carousel .owl-stage-outer { width: 100% !important; }
}

/* =========================================================
   SECTION AANPAK
   ========================================================= */
@media (max-width: 544px) {
	.section-aanpak { text-align: center; }
	.section-aanpak .ast-row { display: block; }
	.section-aanpak [class*="ast-col"] { width: 100%; max-width: 100%; margin: 0; }
	.section-aanpak .portret { width: 80%; margin: 0 auto 30px; }
	.section-aanpak .portret img { width: 100%; height: auto; display: block; }
	.section-aanpak .animate-box { text-align: center; }
	.section-aanpak .handtekening { display: block; margin: 20px auto 0; }
	.section-aanpak h2 { text-align: center; }
}

/* =========================================================
   COOKIE NOTICE
   ========================================================= */
#cookie-notice {
	z-index: 99 !important;
	width: 480px;
	min-width: auto !important;
	right: 30px !important;
	left: auto !important;
	bottom: 60px;
	background: var(--ast-global-color-4) !important;
	border-radius: 0 !important;
}
#cookie-notice .cookie-notice-container {
	background: var(--ast-global-color-4) !important;
	box-shadow: 0 0 10px 4px rgba(0,0,0,.051);
	border-radius: 0 !important;
	padding: 20px;
	text-align: left;
}
#cookie-notice .cookie-notice-container #cn-notice-text {
	display: inline-block;
	margin: 8px 10px 16px 0;
	color: var(--ast-global-color-8) !important;
	font-family: 'Didact Gothic', sans-serif;
	font-size: 15px;
	line-height: 1.5;
}
#cookie-notice .cookie-notice-container .cn-close-icon { display: none; }
#cookie-notice .cn-button:not(.cn-button-custom) {
	font-family: 'Didact Gothic', sans-serif;
	font-weight: 400; font-size: 13px; letter-spacing: .25px;
	line-height: 1; margin: 0 10px 0 0;
	text-align: center; text-transform: none;
	display: inline-block; cursor: pointer;
	touch-action: manipulation; white-space: nowrap;
	outline: 0; box-shadow: none; text-shadow: none;
	border: none; border-radius: 0; text-decoration: none;
	padding: 8.5px 10px; color: inherit;
	transition: all 0.3s ease-in-out;
}
#cookie-notice .cookie-notice-container .cn-button { background: transparent; color: var(--ast-global-color-8) !important; }
#cookie-notice .cookie-notice-container #cn-accept-cookie { border: 1px solid var(--ast-global-color-8) !important; padding: 10px 20px; }
#cookie-notice .cookie-notice-container #cn-accept-cookie:hover,
#cookie-notice .cookie-notice-container #cn-accept-cookie:focus { background: var(--ast-global-color-8) !important; color: var(--ast-global-color-4) !important; }
#cookie-notice .cookie-notice-container #cn-more-info,
#cookie-notice .cookie-notice-container #cn-refuse-cookie {
	position: relative; display: inline-block;
	margin: 0 0 0 20px; padding: 10px 0;
	border: none; background: transparent !important;
	text-decoration: none !important;
	color: var(--ast-global-color-8) !important;
}
#cookie-notice .cookie-notice-container #cn-more-info::after,
#cookie-notice .cookie-notice-container #cn-refuse-cookie::after {
	content: ""; position: absolute;
	left: 0; bottom: 0; width: 100%; height: 2px;
	background: var(--ast-global-color-8) !important;
	transition: opacity 0.3s ease-in-out;
}
#cookie-notice .cookie-notice-container #cn-more-info:hover,
#cookie-notice .cookie-notice-container #cn-more-info:focus,
#cookie-notice .cookie-notice-container #cn-refuse-cookie:hover,
#cookie-notice .cookie-notice-container #cn-refuse-cookie:focus { opacity: 0.6; }
#cookie-notice .cookie-notice-container #cn-more-info:hover::after,
#cookie-notice .cookie-notice-container #cn-refuse-cookie:hover::after { opacity: 0.6; }

.cn-revoke-cookie,
.cn-revoke-cookie:focus {
	position: relative; display: inline-block;
	margin-top: 30px !important; padding: 18px 30px !important;
	background: var(--ast-global-color-4) !important;
	color: #272727 !important;
	border: 1px solid transparent !important; border-radius: 0 !important;
	outline: 0; box-shadow: none; line-height: 1;
	text-transform: uppercase; letter-spacing: 1.5px;
	font-size: 1rem; font-weight: 500 !important;
	text-decoration: none !important;
	transition: background 0.3s ease-in-out, color 0.3s ease-in-out, border-color 0.3s ease-in-out;
}
.cn-revoke-cookie:hover { color: #272727 !important; }
.cookie-revoke-container-hidden { display: none !important; }

.cn-revoke-cookie-floating,
.cn-revoke-cookie-floating:link,
.cn-revoke-cookie-floating:visited,
.cn-revoke-cookie-floating:hover,
.cn-revoke-cookie-floating:focus,
.cn-revoke-cookie-floating:active {
	position: fixed !important; right: 30px !important; bottom: 20px !important;
	width: 32px !important; height: 32px !important;
	min-width: 32px !important; max-width: 32px !important;
	min-height: 32px !important; max-height: 32px !important;
	padding: 0 !important; margin: 0 !important;
	display: block !important;
	background-color: transparent !important;
	background-image: url("/wp-content/themes/blok56/img/cookie-icon-zwart.png") !important;
	background-repeat: no-repeat !important;
	background-position: center center !important;
	background-size: 26px 26px !important;
	border: 0 !important; border-radius: 0 !important;
	box-shadow: none !important; outline: none !important;
	text-decoration: none !important; text-transform: none !important;
	letter-spacing: 0 !important; font-size: 0 !important;
	line-height: 0 !important; text-indent: -9999px !important;
	color: transparent !important; overflow: visible !important;
	appearance: none !important; -webkit-appearance: none !important;
	-webkit-tap-highlight-color: transparent;
	z-index: 99999 !important; transform: none !important;
}
.cn-revoke-cookie-floating::after {
	content: "Cookie-instellingen";
	position: absolute; top: 50%; right: calc(100% + 12px);
	transform: translateY(-50%) translateX(6px);
	background: #272727; color: #fff;
	font-size: 11px; line-height: 1.2;
	padding: 7px 10px; border-radius: 3px;
	white-space: nowrap; text-indent: 0;
	pointer-events: none; opacity: 0; visibility: hidden;
	transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
	z-index: 100000;
}
.cn-revoke-cookie-floating::before {
	content: "";
	position: absolute; top: 50%; right: calc(100% + 2px);
	transform: translateY(-50%) translateX(6px);
	border: 5px solid transparent;
	border-color: transparent transparent transparent #272727;
	pointer-events: none; opacity: 0; visibility: hidden;
	transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
	z-index: 100000;
}
.cn-revoke-cookie-floating:hover::after,
.cn-revoke-cookie-floating:focus::after,
.cn-revoke-cookie-floating:hover::before,
.cn-revoke-cookie-floating:focus::before { opacity: 1; visibility: visible; transform: translateY(-50%) translateX(0); }

.cn-revoke-cookie-floating.is-dark-bg,
.cn-revoke-cookie-floating.is-dark-bg:link,
.cn-revoke-cookie-floating.is-dark-bg:visited,
.cn-revoke-cookie-floating.is-dark-bg:hover,
.cn-revoke-cookie-floating.is-dark-bg:focus,
.cn-revoke-cookie-floating.is-dark-bg:active {
	background-image: url("/wp-content/themes/blok56/img/cookie-icon-wit.png") !important;
}

@media screen and (max-width: 768px) {
	.cn-revoke-cookie-floating,
	.cn-revoke-cookie-floating:link,
	.cn-revoke-cookie-floating:visited,
	.cn-revoke-cookie-floating:hover,
	.cn-revoke-cookie-floating:focus,
	.cn-revoke-cookie-floating:active {
		right: 12px !important; bottom: 12px !important;
		width: 26px !important; height: 26px !important;
		min-width: 26px !important; max-width: 26px !important;
		min-height: 26px !important; max-height: 26px !important;
		background-size: 20px 20px !important;
	}
	.cn-revoke-cookie-floating::after,
	.cn-revoke-cookie-floating::before { display: none !important; content: none !important; }
}
@media screen and (max-width: 544px) {
	.cn-revoke-cookie-floating,
	.cn-revoke-cookie,
	.cookie-revoke-container { display: none !important; }
	div#cookie-notice { display: none !important; }
}
@media screen and (max-width: 420px) {
	#cookie-notice { width: auto; right: 0 !important; left: 0 !important; bottom: 0; }
	.ast-product-navigation-wrapper { margin: 30px 0; }
}

/* =========================================================
   CASA MILA — STYLESHEET
   ========================================================= */

/* =========================================================
   DESIGN TOKENS
   ========================================================= */
:root {
	--cm-bg:          #f7f2ec;
	--cm-soft:        #ede5d8;
	--cm-white:       #fdfaf6;
	--cm-dark:        #1e1a16;
	--cm-text:        #6b5e54;
	--cm-accent:      #9b6147;
	--cm-accent-dark: #7d4d38;
	--cm-olive:       #5d6a52;
	--cm-border:      rgba(30,26,22,.10);
	--cm-serif:       'Cormorant Garamond', Georgia, serif;
	--cm-sans:        'Montserrat', system-ui, sans-serif;
}

/* =========================================================
   BASIS
   ========================================================= */
.home #primary { margin: 0; }

/* =========================================================
   HEADER / NAVIGATIE
   ========================================================= */
@media (min-width: 1700px) {
	#masthead .ast-container,
	.site-header-focus-item + .ast-breadcrumbs-wrapper,
	.video-hero .ast-container {
		max-width: 100%;
		padding-left: 150px !important;
		padding-right: 150px !important;
	}
}

/* =========================================================
   BUTTONS
   ========================================================= */
.button-primary,
.button-secondary,
.button-secondary-light {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 14px 30px;
	border-radius: 3px;
	border-width: 1px !important;
	box-sizing: border-box;
	font-family: var(--cm-sans);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: .16em;
	line-height: 1;
	text-transform: uppercase;
	text-decoration: none;
	transform: none !important;
	transition: background .22s ease, border-color .22s ease, color .22s ease, box-shadow .22s ease !important;
}
.button-primary {
	background: var(--cm-accent);
	border: 1px solid var(--cm-accent);
	color: #fff;
}
.button-primary:hover {
	background: var(--cm-accent-dark) !important;
	border-color: var(--cm-accent-dark) !important;
	color: #fff !important;
}
.button-secondary,
.button-secondary-light {
	background: transparent;
	border: 1px solid rgba(30,26,22,.20);
	color: var(--cm-dark);
}
.button-secondary:hover,
.button-secondary-light:hover {
	background: var(--cm-olive) !important;
	border-color: var(--cm-olive) !important;
	color: #fff !important;
}
.video-hero .button-primary { background: var(--cm-accent); border-color: var(--cm-accent); color: #fff; }
.video-hero .button-primary:hover { background: var(--cm-accent-dark) !important; border-color: var(--cm-accent-dark) !important; }
.video-hero .button-secondary,
.video-hero .button-secondary-light { background: rgba(253,250,246,.08); border: 1px solid rgba(253,250,246,.80); color: #fdfaf6; backdrop-filter: blur(4px); }
.video-hero .button-secondary:hover,
.video-hero .button-secondary-light:hover { background: var(--cm-olive) !important; border-color: var(--cm-olive) !important; color: #fff !important; }

/* =========================================================
   VIDEO HERO
   ========================================================= */
header.video-hero {
	position: relative;
	width: 100%;
	height: 100vh;
	min-height: 600px;
	overflow: hidden;
	display: flex;
	align-items: center;
}
@supports (height: 100svh) {
	header.video-hero { height: 100svh; }
}
.video-fullscreen-wrap { position: absolute; inset: 0; }
.video-fullscreen-video { position: absolute; inset: 0; }
.video-fullscreen-video video {
	position: absolute; inset: 0;
	width: 100%; height: 100%;
	object-fit: cover;
	object-position: center center;
	display: block;
}
.video-fullscreen-video[data-overlay-dark]::after {
	content: '';
	position: absolute; inset: 0;
	background: rgba(20,15,10,.30);
}
.v-middle {
	position: absolute; inset: 0;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding-bottom: 0 !important;
	z-index: 2;
}
.v-middle .ast-container {
	display: flex !important;
	align-items: center !important;
	height: 100% !important;
	width: 100% !important;
	margin-top: -100px !important;
}
.v-middle .ast-row {
	width: 100% !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
}
.v-middle .ast-col-lg-7 {
	float: none !important;
	margin: 0 auto !important;
	text-align: center !important;
}
header.video-hero .hero-subtitle {
	display: block;
	margin-bottom: 18px;
	font-family: var(--cm-sans);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: .30em;
	text-transform: uppercase;
	color: rgba(255,255,255,.78) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	text-align: center !important;
}
header.video-hero span.h1 {
	display: block;
	margin-bottom: 14px;
	font-family: var(--cm-serif);
	font-size: clamp(64px, 10vw, 130px);
	font-weight: 300;
	line-height: .90;
	letter-spacing: .10em;
	text-transform: uppercase;
	color: rgba(255,255,255,.78) !important;
}
header.video-hero h1 {
	font-family: var(--cm-serif);
	font-size: clamp(26px, 2.8vw, 30px);
	font-weight: 500;
	line-height: 1.5;
	color: rgba(255,255,255,.78) !important;
	text-transform: none;
	letter-spacing: .025em;
	margin: 0 auto !important;
	text-align: center !important;
}
header.video-hero .button-row {
	display: flex;
	gap: 14px;
	margin-top: 36px;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center !important;
}
header.video-hero .caption.overlay {
	position: absolute;
	bottom: 32px; left: 0; right: 0;
	z-index: 3;
}

/* Muis scroll-indicator */
.mouse { display: inline-flex; justify-content: center; }
.mouse-icon {
	display: block;
	width: 24px; height: 38px;
	border: 1px solid rgba(253,250,246,.45);
	border-radius: 12px;
	position: relative;
}
.mouse-wheel {
	display: block;
	width: 3px; height: 7px;
	background: rgba(253,250,246,.65);
	border-radius: 2px;
	position: absolute;
	top: 6px; left: 50%;
	transform: translateX(-50%);
	animation: mousewheel 1.6s ease infinite;
}
@keyframes mousewheel {
	0%   { opacity: 1; transform: translateX(-50%) translateY(0); }
	80%  { opacity: 0; transform: translateX(-50%) translateY(12px); }
	100% { opacity: 0; transform: translateX(-50%) translateY(12px); }
}

/* Hero subtitel — hogere specificiteit nodig om Astra 10px te overrulen */
header.video-hero .v-middle .hero-subtitle,
header.video-hero .ast-col-lg-7 .hero-subtitle {
	font-size: 10px !important;
	letter-spacing: .28em !important;
	color: rgba(255,255,255,.78) !important;
	opacity: 1 !important;
}

/* =========================================================
   HOMEPAGE BASIS
   ========================================================= */
.casa-home {
	background: var(--cm-bg);
	color: var(--cm-dark);
	overflow: hidden;
	position: relative;
}
.casa-home h1,
.casa-home h2,
.casa-home h1 *,
.casa-home h2 * {
	font-family: var(--cm-serif) !important;
	font-weight: 300 !important;
	color: var(--cm-dark);
	margin: 0;
	font-size: clamp(28px, 2vw, 42px);
	line-height: 1.08;
	text-transform: none !important;
}
.casa-home h3 {
	font-family: var(--cm-sans);
	font-weight: 500;
	color: var(--cm-dark);
	margin: 0;
	font-size: 11px;
	line-height: 1.4;
	letter-spacing: .12em;
	text-transform: uppercase;
}
.casa-home p {
	font-family: var(--cm-sans);
	font-weight: 300;
	color: var(--cm-text);
	line-height: 1.85;
	font-size: 17px !important;
	max-width: 760px;
	margin: 18px 0 0;
}
.casa-home .hero-subtitle {
	display: block;
	font-family: var(--cm-sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .28em;
	text-transform: uppercase;
	color: var(--cm-accent);
	margin-bottom: 16px;
}
.casa-home .button-row {
	display: flex;
	gap: 14px;
	margin-top: 34px;
	align-items: center;
	flex-wrap: wrap;
}

/* =========================================================
   INTRO
   ========================================================= */
.casa-intro {
	padding: 130px 0 !important;
	background: #ffffff !important;
	position: relative;
}
.casa-intro__grid {
	display: grid;
	grid-template-columns: 1.3fr .55fr;
	gap: 80px;
	align-items: center;
}
.casa-intro h1 {
	font-size: clamp(36px, 3.8vw, 72px) !important;
	line-height: 1.08 !important;
	margin-bottom: 20px !important;
}
.casa-intro p {
	line-height: 1.9 !important;
	color: #6b5e54 !important;
	margin-top: 20px !important;
}
.casa-intro blockquote {
	all: unset !important;
	display: block !important;
	font-family: var(--cm-serif) !important;
	font-style: italic !important;
	font-weight: 300 !important;
	font-size: clamp(18px, 1.6vw, 24px) !important;
	line-height: 1.55 !important;
	color: var(--cm-dark) !important;
	padding-left: 22px !important;
	border-left: 1px solid var(--cm-accent) !important;
	margin: 0 !important;
}
.casa-intro blockquote::before,
.casa-intro blockquote::after { display: none !important; content: none !important; }
.casa-intro::after {
	content: "";
	position: absolute;
	right: -160px; top: 80px;
	width: 520px; height: 520px;
	border-radius: 50%;
	border: 1px solid rgba(176,114,82,.045);
	background: none;
	pointer-events: none;
	z-index: 0;
}
.casa-intro > * { position: relative; z-index: 1; }

/* =========================================================
   HET HUIS
   ========================================================= */
.casa-house { background: var(--cm-white); position: relative; }
.casa-house__row {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	align-items: stretch !important;
	background: var(--cm-bg) !important;
}
.casa-house__image {
	overflow: hidden !important;
	border-radius: 0 !important;
	line-height: 0 !important;
}
.casa-house__image img {
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 4 / 3 !important;
	object-fit: cover !important;
	display: block !important;
	border-radius: 0 !important;
	transition: transform .7s ease;
}
.casa-house__image:hover img { transform: scale(1.04); }
.casa-house__content {
	padding: 80px !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
	min-height: auto !important;
}
.casa-house__content h2 {
	font-size: clamp(30px, 3.2vw, 56px) !important;
	max-width: 680px !important;
	line-height: 1.1 !important;
	margin-bottom: 22px !important;
}
.casa-house__content p { max-width: 620px !important; }
.casa-house__content p + p { margin-top: 14px; }
.casa-house__row--reverse .casa-house__image { order: 2 !important; }
.casa-house__row--reverse .casa-house__content {
	order: 1 !important;
	text-align: right !important;
	padding: 60px 72px 60px 80px !important;
}
.casa-house__row--reverse .casa-house__content h2 {
	font-size: clamp(28px, 3.2vw, 56px) !important;
	max-width: 580px !important;
	text-align: right !important;
	margin-left: auto !important;
	margin-right: 0 !important;
}
.casa-house__row--reverse .casa-house__content p { margin-left: auto !important; margin-right: 0 !important; }
.casa-house__row--reverse .casa-house__content .hero-subtitle { display: block !important; text-align: right !important; }

/* =========================================================
   LIGGING
   ========================================================= */
.casa-location {
	padding: 110px 0 0 !important;
	background: #ffffff !important;
	position: relative;
}
.casa-location__content {
	max-width: 770px !important;
	margin: 0 auto;
	text-align: center;
	padding: 0 20px 64px !important;
}
.casa-location__content::before {
	content: "";
	display: block;
	width: 1px; height: 70px;
	background: var(--cm-accent);
	opacity: .35;
	margin: 0 auto 34px;
}
.casa-location__content h2 {
	font-size: clamp(32px, 2.8vw, 52px) !important;
	max-width: 480px !important;
	line-height: 1.1 !important;
	margin-bottom: 22px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	text-align: center !important;
}
.casa-location__content p {
	max-width: 780px !important;
	margin: 18px auto 0 !important;
	line-height: 1.9 !important;
}
.casa-location__image { margin: 0 !important; padding: 0 !important; position: relative; }
.casa-location__image img {
	width: 100%; display: block;
	border-radius: 0 !important;
	aspect-ratio: 16 / 7 !important;
	object-fit: cover;
	object-position: center 40%;
}
@media (min-width: 922px) {
	.casa-location__image { height: 70vh !important; min-height: 520px !important; max-height: 760px !important; overflow: hidden !important; }
	.casa-location__image img { position: absolute !important; left: 0 !important; top: -20% !important; height: 140% !important; max-width: none !important; aspect-ratio: auto !important; transform: translate3d(0, var(--cm-parallax-y, 0px), 0) !important; will-change: transform !important; }
}
@media (max-width: 921px) {
	.casa-location__image { height: auto !important; overflow: hidden !important; }
	.casa-location__image img { position: static !important; width: 100% !important; height: auto !important; aspect-ratio: 16 / 7 !important; transform: none !important; }
}

/* =========================================================
   ONTDEK CALPE — cards
   ========================================================= */
.casa-cards {
	padding: 130px 0 !important;
	background: var(--cm-white);
	position: relative;
}
.casa-cards .hero-subtitle,
.casa-cards h2 { text-align: center; }
.casa-cards h2 { font-size: clamp(32px, 3.4vw, 66px) !important; line-height: 1.06 !important; margin-bottom: 60px !important; }
.casa-cards__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.casa-cards article { background: var(--cm-bg); border-radius: 18px !important; overflow: hidden; transition: transform .3s ease; }
.casa-cards article:hover { transform: translateY(-6px); }
.casa-cards article img { width: 100%; aspect-ratio: 4 / 3 !important; object-fit: cover; display: block; }
.casa-cards article h3 { padding: 24px 24px 10px !important; font-size: 11px !important; letter-spacing: .12em !important; }
.casa-cards article p { padding: 0 24px 28px !important; font-size: 16px !important; line-height: 1.8 !important; color: #6b5e54 !important; max-width: none; margin: 0; }
.casa-cards::after {
	content: "";
	position: absolute; left: -180px; top: 120px;
	width: 520px; height: 520px;
	border-radius: 50%;
	border: 1px solid rgba(176,114,82,.045);
	background: none; pointer-events: none; z-index: 0;
}
.casa-cards > * { position: relative; z-index: 1; }

/* =========================================================
   VOORZIENINGEN
   ========================================================= */
.casa-features {
	padding: 110px 0 !important;
	background: var(--cm-soft);
	position: relative;
}
.casa-features h2 { font-size: clamp(28px, 2.8vw, 54px) !important; line-height: 1.1 !important; margin-bottom: 48px !important; max-width: 500px; }
.casa-features__grid {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 0 !important;
	border-top: 1px solid rgba(30,26,22,.09) !important;
	border-left: 1px solid rgba(30,26,22,.09) !important;
}
.casa-features__grid > div {
	display: grid !important;
	grid-template-columns: 48px 1fr !important;
	grid-template-rows: auto auto !important;
	column-gap: 20px !important;
	padding: 28px 28px 28px 24px !important;
	border-right: 1px solid rgba(30,26,22,.09) !important;
	border-bottom: 1px solid rgba(30,26,22,.09) !important;
	background: transparent !important;
	align-items: start !important;
}
.casa-features__grid > div:hover { background: rgba(176,114,82,.05) !important; }
.casa-features__grid > div > div { display: contents !important; }
.casa-features__grid .feat-icon {
	grid-column: 1 !important; grid-row: 1 / 3 !important;
	width: 44px !important; height: 44px !important; min-width: 44px !important;
	border-radius: 50% !important;
	background: rgba(176,114,82,.12) !important;
	display: flex !important; align-items: center !important; justify-content: center !important; align-self: center !important;
}
.casa-features__grid .feat-icon svg { width: 22px !important; height: 22px !important; stroke: currentColor !important; color: var(--cm-accent) !important; }
.casa-features__grid h3 {
	grid-column: 2 !important; grid-row: 1 !important;
	font-family: var(--cm-sans) !important;
	font-size: 11px !important; font-weight: 500 !important;
	letter-spacing: .10em !important; text-transform: uppercase !important;
	color: var(--cm-dark) !important;
	margin: 0 0 5px !important; white-space: nowrap !important; align-self: end !important;
}
.casa-features__grid p {
	grid-column: 2 !important; grid-row: 2 !important;
	font-size: 16px !important; font-weight: 300 !important;
	line-height: 1.6 !important; margin: 0 !important;
	color: var(--cm-text) !important; max-width: none !important; align-self: start !important;
}

/* =========================================================
   GALERIJ
   ========================================================= */
.casa-gallery { padding: 120px 0 !important; background: var(--cm-bg); position: relative; }
.casa-gallery h2 { font-size: clamp(32px, 3.4vw, 66px) !important; line-height: 1.06 !important; margin-bottom: 48px !important; }
.casa-gallery__header { display: flex; justify-content: space-between; align-items: center; gap: 40px; margin-bottom: 55px; }
.casa-gallery__header h2 { margin: 0; }
.gallery-switch { display: flex; align-items: center; gap: 14px; position: relative; top: -10px; white-space: nowrap; }
.gallery-label { font-size: 11px; text-transform: uppercase; letter-spacing: .14em; color: var(--cm-text); opacity: .45; transition: .3s; user-select: none; }
.gallery-label.active { color: var(--cm-olive) !important; opacity: 1; }
.switch { position: relative; width: 58px; height: 30px; flex-shrink: 0; }
.switch input { display: none; }
.slider { position: absolute; inset: 0; background: #d9c8b7; border-radius: 999px; cursor: pointer; transition: .35s; }
.slider::before { content: ""; position: absolute; width: 22px; height: 22px; left: 4px; top: 4px; border-radius: 50%; background: #fff; box-shadow: 0 4px 12px rgba(0,0,0,.15); transition: .35s; }
.switch input:checked + .slider { background: var(--cm-olive) !important; }
.switch input:checked + .slider::before { transform: translateX(28px); }
.casa-gallery__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.cm-gallery-item { position: relative; display: block; overflow: hidden; border-radius: 18px; background: #f5f2ed; cursor: pointer; transition: transform .35s ease, box-shadow .35s ease; }
.cm-gallery-item img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .65s cubic-bezier(.22,.61,.36,1), filter .45s ease; }
.cm-gallery-item::before { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(20,18,15,.18), rgba(20,18,15,0) 45%); opacity: 0; transition: opacity .35s ease; z-index: 2; }
.cm-gallery-item::after {
	content: "⌕";
	position: absolute; left: 50%; top: 50%;
	width: 82px; height: 82px;
	margin-left: -41px; margin-top: -41px;
	border-radius: 50%;
	background: rgba(255,252,247,.96);
	color: var(--cm-dark); font-size: 34px; font-weight: 300;
	display: flex; align-items: center; justify-content: center;
	box-shadow: 0 18px 45px rgba(0,0,0,.18), 0 4px 10px rgba(0,0,0,.08);
	opacity: 0; transform: translateY(10px) scale(.88);
	transition: opacity .35s ease, transform .4s cubic-bezier(.22,.61,.36,1);
	z-index: 3;
}
.cm-gallery-item:hover { transform: translateY(-4px); box-shadow: 0 24px 60px rgba(0,0,0,.12); }
.cm-gallery-item:hover img { transform: scale(1.05); filter: brightness(1.04) contrast(1.02) saturate(1.04); }
.cm-gallery-item:hover::before { opacity: 1; }
.cm-gallery-item:hover::after { opacity: 1; transform: translateY(0) scale(1); }
.casa-gallery::after { content: ""; position: absolute; right: -180px; top: 140px; width: 520px; height: 520px; border-radius: 50%; border: 1px solid rgba(176,114,82,.045); background: none; pointer-events: none; z-index: 0; }
.casa-gallery > * { position: relative; z-index: 1; }
@media (hover: none) {
	.cm-gallery-item:hover { transform: none; box-shadow: none; }
	.cm-gallery-item:hover img { transform: none; filter: none; }
	.cm-gallery-item::before, .cm-gallery-item::after { display: none; }
}

/* =========================================================
   CTA
   ========================================================= */
.casa-cta { padding: 120px 0 !important; background: var(--cm-dark); }
.casa-cta .ast-container {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	text-align: center !important;
	max-width: 900px !important;
	gap: 0 !important;
	margin-left: auto !important;
	margin-right: auto !important;
	position: relative !important;
	z-index: 1 !important;
}
.casa-cta h2 { color: var(--cm-white) !important; margin-bottom: 18px !important; font-size: clamp(32px, 3.4vw, 66px) !important; line-height: 1.06 !important; }
.casa-cta p { color: #ffffff !important; font-size: 17px !important; line-height: 1.8 !important; max-width: 500px !important; margin: 0 auto 36px !important; }
.casa-cta .button-primary { margin: 0 auto !important; }
.casa-cta .ast-container,
.casa-cta .ast-container > div { text-align: center !important; align-items: center !important; }

/* =========================================================
   TABLET (max 921px)
   ========================================================= */
@media (max-width: 921px) {
	.casa-home .ast-container { max-width: 92%; }
	.casa-intro__grid { grid-template-columns: 1fr !important; gap: 40px !important; }
	.casa-house__row, .casa-house__row--reverse { grid-template-columns: 1fr !important; }
	.casa-house__row--reverse .casa-house__image { order: 0 !important; }
	.casa-house__row--reverse .casa-house__content { order: 1 !important; text-align: left !important; }
	.casa-house__row--reverse .casa-house__content p { margin-left: 0 !important; }
	.casa-house__row--reverse .casa-house__content .hero-subtitle { text-align: left !important; }
	.casa-house__content { padding: 44px 32px !important; }
	.casa-cards__grid,
	.casa-features__grid,
	.casa-gallery__grid { grid-template-columns: repeat(2, 1fr) !important; }
	.casa-cta .ast-container { grid-template-columns: 1fr !important; gap: 28px !important; }
	.casa-gallery__header { flex-direction: column; align-items: flex-start; gap: 22px; }
	.gallery-switch { margin-bottom: 0; top: 0; }
	.casa-features__grid > div:last-child { border-bottom: none !important; }
}

/* =========================================================
   MOBIEL (max 768px)
   ========================================================= */
@media (max-width: 768px) {
	.casa-intro { padding: 50px 0 !important; }
	.casa-intro__grid { display: flex !important; flex-direction: column !important; gap: 28px !important; }

	.casa-location { padding-top: 48px !important; }
	.casa-location__content { padding: 0 24px 36px !important; max-width: none !important; }
	.casa-location__content h2 { font-size: clamp(26px, 7vw, 38px) !important; }

	.casa-house__row, .casa-house__row--reverse { flex-direction: column !important; }
	.casa-house__image,
	.casa-house__row--reverse .casa-house__image { width: 100% !important; min-height: 260px !important; }
	.casa-house__content,
	.casa-house__row--reverse .casa-house__content { width: 100% !important; text-align: left !important; padding: 36px 24px !important; max-width: none !important; }
	.casa-house__row--reverse .casa-house__content h2,
	.casa-house__row--reverse .casa-house__content p { text-align: left !important; margin-left: 0 !important; margin-right: 0 !important; }
	.casa-house__content h2 { max-width: none !important; }

	.casa-cards  { padding: 50px 0 !important; }
	.casa-features { padding: 50px 0 !important; }
	.casa-gallery  { padding: 50px 0 !important; }
	.casa-cards__grid { grid-template-columns: 1fr !important; }
	.casa-features__grid { grid-template-columns: 1fr !important; border-left: none !important; }
	.casa-features__grid > div { border-right: none !important; border-left: none !important; padding: 18px 16px !important; }
	.casa-features__grid > div:nth-child(even) { border-left: none !important; }
	.casa-gallery__grid { grid-template-columns: 1fr 1fr !important; }

	.casa-cta { padding: 70px 24px !important; }
	.casa-home .button-row { flex-direction: column !important; gap: 10px !important; }
	.casa-home .button-primary,
	.casa-home .button-secondary { width: 100% !important; justify-content: center !important; }

	/* Hero mobiel */
	header.video-hero span.h1 { font-size: clamp(40px, 13vw, 60px) !important; letter-spacing: .06em !important; }
	header.video-hero .v-middle h1,
	header.video-hero .ast-col-lg-7 h1 { font-size: 25px !important; line-height: 1.4 !important; }
	header.video-hero .button-row { margin-top: 24px !important; gap: 10px !important; }
	.v-middle .ast-container { margin-top: -60px !important; padding-left: 24px !important; padding-right: 24px !important; }
	header.video-hero .caption.overlay { position: absolute !important; bottom: 24px !important; left: 0 !important; right: 0 !important; text-align: center !important; z-index: 10 !important; display: flex !important; justify-content: center !important; }
	header.video-hero .caption.overlay .ast-container { display: flex !important; justify-content: center !important; }

	/* Blockquote mobiel */
	.casa-intro blockquote,
	.casa-intro blockquote p { font-size: 22px !important; line-height: 1.5 !important; }
}

/* =========================================================
   MOBIEL KLEIN (max 544px)
   ========================================================= */
@media (max-width: 544px) {
	.casa-home h1,
	.casa-home h2 { font-size: 32px !important; }
	div#cookie-notice { display: none; }
}