/* CCFS – vormgeving die niet in theme.json past. Alle maten en kleuren volgen theme.json. */
:root{--ccfs-soft:var(--wp--preset--color--soft);--ccfs-ink:var(--wp--preset--color--ink);--ccfs-muted:var(--wp--preset--color--muted);--ccfs-line:var(--wp--preset--color--line);--ccfs-pad:var(--wp--style--root--padding-left,clamp(20px,4vw,56px))}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.wp-site-blocks{padding-top:0;padding-bottom:0}
.wp-site-blocks>*{margin-block-start:0}
:where(.wp-site-blocks) :focus-visible{outline:2px solid #5e8ad0;outline-offset:3px}
a:hover{text-decoration:none}

/* ---------- kop ---------- */
.ccfs-site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.82);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(0,0,0,.07)}
.admin-bar .ccfs-site-header{top:32px}
.ccfs-header__row{min-height:clamp(58px,5vw,68px);gap:16px}
.ccfs-logo{margin:0}
.ccfs-logo img{height:clamp(22px,1.9vw,27px)!important;width:auto!important;display:block}
.ccfs-header__right{gap:clamp(16px,2.6vw,38px)}
.ccfs-nav{font-size:15px;font-weight:500;gap:clamp(18px,2.6vw,38px)}
.ccfs-nav .wp-block-navigation-item__content{opacity:.72;padding:12px 0}
.ccfs-nav .wp-block-navigation-item__content:hover,.ccfs-nav .current-menu-item>.wp-block-navigation-item__content{opacity:1}
.ccfs-nav .wp-block-navigation__responsive-container.is-menu-open{padding:20px var(--ccfs-pad)}
.ccfs-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{padding-top:56px;align-items:stretch}
.ccfs-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{width:100%;border-bottom:1px solid var(--ccfs-line)}
.ccfs-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{opacity:1;font-size:30px;font-weight:600;letter-spacing:-.035em;padding:12px 0}
/* taalkeuze */
.ccfs-lang{display:flex;align-items:center;gap:7px;font-size:15px;font-weight:500}
.ccfs-lang span[aria-hidden]{opacity:.35}
.ccfs-lang a{display:inline-flex;align-items:center;min-height:48px;color:var(--ccfs-muted)}
.ccfs-lang a:hover{color:var(--ccfs-ink)}
.trp-language-switcher-container.trp-floater-ls-names,.trp-floater-ls-names{display:none!important}

/* ---------- knoppen ---------- */
.wp-block-button__link{display:inline-flex;align-items:center;gap:10px;min-height:50px;box-sizing:border-box}
.wp-block-button__link::after{content:"";width:16px;height:16px;flex:0 0 auto;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12h17'/%3E%3Cpath d='M14 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12h17'/%3E%3Cpath d='M14 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .3s ease}
.wp-block-button__link:hover::after{transform:translateX(4px)}
.is-style-glass .wp-block-button__link::after,.ccfs-band .wp-block-button__link[href^="tel"]::after{display:none}
.is-style-white .wp-block-button__link{background:#fff;color:var(--ccfs-ink)}
.is-style-white .wp-block-button__link:hover{background:#ededf0;color:var(--ccfs-ink)}
.is-style-glass .wp-block-button__link{background:rgba(255,255,255,.16);color:#fff}
.is-style-glass .wp-block-button__link:hover{background:rgba(255,255,255,.26);color:#fff}

/* ---------- algemeen ---------- */
.ccfs-eyebrow{margin:0 0 8px;font-size:14.5px;font-weight:600;letter-spacing:-.005em;color:var(--ccfs-muted)}
.ccfs-head{margin-bottom:clamp(22px,3vw,42px);gap:4px 32px}
.ccfs-head h2{margin:0}
.ccfs-more{margin:0}
.ccfs-more a{display:inline-flex;align-items:center;gap:8px;min-height:48px;font-size:16px;font-weight:500}
.ccfs-more a::after{content:"→";transition:transform .3s ease}
.ccfs-more a:hover::after{transform:translateX(4px)}
.ccfs-narrow{max-width:16ch;text-wrap:balance}
.ccfs-section{padding-top:clamp(56px,7.4vw,120px);padding-bottom:clamp(56px,7.4vw,120px)}
.ccfs-section--soft{overflow:hidden}
.ccfs-page-top{padding-top:clamp(36px,5vw,80px);padding-bottom:clamp(48px,6.4vw,104px)}
.ccfs-page-top h1{margin:0 0 clamp(18px,2.2vw,30px)}
.ccfs-lead{max-width:34ch!important;margin:0 0 clamp(28px,3.6vw,56px)!important;font-size:clamp(19px,1.7vw,23px);line-height:1.4;font-weight:500;letter-spacing:-.02em;color:var(--ccfs-muted)}

/* ---------- homepage: grote foto ---------- */
.ccfs-hero{position:relative;height:max(540px,min(calc(100vh - 68px),60vw));overflow:hidden;background:#111214;color:#fff;margin-block-start:0!important}
.ccfs-hero__slides{position:absolute;inset:0;margin:0!important}
.ccfs-hero__slides::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.40) 0%,rgba(0,0,0,.12) 32%,rgba(0,0,0,0) 48%),linear-gradient(0deg,rgba(0,0,0,.50) 0%,rgba(0,0,0,.10) 30%,rgba(0,0,0,0) 48%)}
.ccfs-hero__slide{position:absolute!important;inset:0;margin:0!important;opacity:0;animation:ccfs-show 21s linear infinite}
.ccfs-hero__slide img{width:100%;height:100%;object-fit:cover;display:block}
.ccfs-hero__slide:nth-child(1){opacity:1;animation-delay:-1.26s}
.ccfs-hero__slide:nth-child(2){animation-delay:5.74s}
.ccfs-hero__slide:nth-child(3){animation-delay:12.74s}
.ccfs-hero__slide:nth-child(1) img{object-position:70% 76%}
.ccfs-hero__slide:nth-child(2) img{object-position:60% 70%}
.ccfs-hero__slide:nth-child(3) img{object-position:30% 60%}
.ccfs-hero__slide figcaption{position:absolute;right:var(--ccfs-pad);bottom:clamp(26px,3vw,48px);z-index:3;margin:0;font-size:15px;font-weight:500;color:#fff;text-shadow:0 1px 14px rgba(0,0,0,.45)}
.ccfs-hero__slide figcaption a{color:#fff;display:inline-flex;align-items:center;gap:10px;min-height:48px}
.ccfs-hero__slide figcaption a::after{content:"→"}
@keyframes ccfs-show{0%{opacity:0;visibility:visible;z-index:2}6%{opacity:1}39.33%{opacity:1}45.33%{opacity:0}46%{visibility:hidden;z-index:1}100%{opacity:0;visibility:hidden;z-index:1}}
.ccfs-hero__top{position:absolute;left:0;right:0;top:clamp(40px,5.4vw,88px);z-index:4;pointer-events:none}
.ccfs-hero__title{margin:0;color:#fff;font-size:clamp(38px,6vw,96px);max-width:13ch;text-wrap:balance;text-shadow:0 1px 26px rgba(0,0,0,.18)}
.ccfs-hero__bottom{position:absolute;left:0;right:0;bottom:0;z-index:4;padding-bottom:clamp(26px,3vw,48px);pointer-events:none}
.ccfs-hero__bottom a{pointer-events:auto}
.ccfs-hero__sub{margin:0;font-size:clamp(18px,1.5vw,21px);line-height:1.4;font-weight:500;letter-spacing:-.015em;color:#fff;text-shadow:0 1px 16px rgba(0,0,0,.3)}
.ccfs-hero__buttons{margin-top:clamp(18px,2vw,28px)}
@media (prefers-reduced-motion:reduce){.ccfs-hero__slide{animation:none}.ccfs-hero__slide:not(:first-child){display:none}}

/* ---------- werkwijze ---------- */
.ccfs-steps{gap:clamp(12px,1.5vw,22px)!important}
.ccfs-step{padding:clamp(24px,2.6vw,36px);background:var(--ccfs-soft);border-radius:22px}
.ccfs-step__n{margin:0;font-size:14.5px;font-weight:600;color:var(--ccfs-muted)}
.ccfs-step h3{margin:clamp(28px,4.4vw,68px) 0 0}
.ccfs-step p:last-child{margin:10px 0 0;max-width:34ch;font-size:16.5px;line-height:1.55;color:var(--ccfs-muted)}

/* ---------- contactband en voet ---------- */
.ccfs-band-wrap{padding:12px 12px 0;margin-block-start:0!important}
.ccfs-band{border-radius:24px;padding:clamp(52px,7.4vw,112px) var(--ccfs-pad) clamp(28px,3vw,40px)}
.ccfs-band .ccfs-eyebrow{color:#a1a1a6}
.ccfs-band__title{margin:10px 0 0;color:#fff;font-size:clamp(34px,5vw,68px)}
.ccfs-band__sub{margin:16px auto 0!important;max-width:30ch;font-size:clamp(17px,1.5vw,20px);line-height:1.5;color:#d2d2d7}
.ccfs-band__buttons{margin-top:clamp(24px,2.6vw,36px)}
.ccfs-band__line{margin:clamp(40px,5.6vw,84px) 0 0!important;padding-top:10px;border-top:1px solid rgba(255,255,255,.14);display:flex;flex-wrap:wrap;justify-content:center;gap:0 clamp(20px,3.4vw,52px);font-size:15px;max-width:none!important}
.ccfs-band__line a{display:inline-flex;align-items:center;min-height:48px;color:#a1a1a6}
.ccfs-band__line a:hover{color:#fff}
.ccfs-foot{padding-top:18px;padding-bottom:24px;font-size:13.5px;color:var(--ccfs-muted)}
.ccfs-foot p{margin:0;color:var(--ccfs-muted);font-size:13.5px}
.ccfs-foot .ccfs-logo img{height:18px!important}
.ccfs-foot__links{display:flex;gap:0 24px}
.ccfs-foot a{display:inline-flex;align-items:center;min-height:48px;color:var(--ccfs-muted)}

/* ---------- contactpagina ---------- */
.ccfs-tiles{gap:clamp(12px,1.5vw,22px)!important}
.ccfs-tile{display:flex;flex-direction:column;justify-content:space-between;gap:clamp(28px,4vw,64px);padding:clamp(22px,2.4vw,32px);background:var(--ccfs-soft);border-radius:22px;margin:0!important}
.ccfs-tile>*{margin:0!important}
.ccfs-tile__label{font-size:14.5px;font-weight:600;color:var(--ccfs-muted)}
.ccfs-tile__value{font-size:clamp(21px,2vw,28px);font-weight:600;letter-spacing:-.03em;line-height:1.15;overflow-wrap:anywhere}
.ccfs-tile__value a{color:var(--ccfs-ink)}
.ccfs-tile__hint{font-size:15px;color:var(--ccfs-muted)}

/* ---------- autopagina ---------- */
.ccfs-car__head{padding-top:clamp(14px,2vw,30px);padding-bottom:clamp(18px,2.2vw,30px)}
.ccfs-back{margin:0}
.ccfs-back a{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:15px;font-weight:500;color:var(--ccfs-muted)}
.ccfs-back a::before{content:"←"}
.ccfs-car__title{margin:4px 0 10px;font-size:clamp(32px,4.6vw,64px);text-wrap:balance}
.ccfs-car__main{display:flex;flex-wrap:wrap;align-items:flex-start;gap:clamp(30px,4vw,72px);padding-top:clamp(26px,3.6vw,56px);padding-bottom:clamp(56px,7.4vw,120px)}
.ccfs-car__text{flex:1.7 1 520px;min-width:0}
.ccfs-car__over{margin:0 0 clamp(16px,1.8vw,24px);font-size:clamp(28px,3vw,42px)}
.ccfs-car__main>.ccfs-aside{flex:1 1 320px;min-width:0;box-sizing:border-box;margin:0!important}
.ccfs-car .ccfs-photos{margin-bottom:clamp(56px,7.4vw,120px)}
.ccfs-car .ccfs-section--soft{margin-top:0}

@media (max-width:781px){
	.admin-bar .ccfs-site-header{top:0}
	.ccfs-header__right .ccfs-lang{order:-1}
	.ccfs-hero{height:auto;background:none;color:var(--ccfs-ink);display:flex;flex-direction:column}
	.ccfs-hero__slides{position:relative;inset:auto;height:104vw;order:0}
	.ccfs-hero__slides::after{background:linear-gradient(180deg,rgba(0,0,0,.5) 0%,rgba(0,0,0,.16) 30%,rgba(0,0,0,0) 46%)}
	.ccfs-hero__slide:nth-child(1) img{object-position:57% 70%}
	.ccfs-hero__slide:nth-child(2) img{object-position:53% 70%}
	.ccfs-hero__slide:nth-child(3) img{object-position:52% 60%}
	.ccfs-hero__slide figcaption{right:auto;left:var(--ccfs-pad);bottom:auto;top:calc(104vw + 6px);color:var(--ccfs-ink);text-shadow:none}
	.ccfs-hero__slide figcaption a{color:var(--ccfs-ink)}
	.ccfs-hero__top{top:22px}
	.ccfs-hero__title{font-size:34px!important;max-width:none;letter-spacing:-.03em}
	.ccfs-hero__bottom{position:static;padding-top:62px;padding-bottom:0}
	.ccfs-hero__sub{color:var(--ccfs-muted);text-shadow:none}
	.ccfs-hero__buttons .wp-block-button{width:100%}
	.ccfs-hero__buttons .wp-block-button__link{width:100%;justify-content:center;background:var(--ccfs-ink);color:#fff}
	.ccfs-steps{flex-direction:column}
	.ccfs-band-wrap{padding:10px 10px 0}
	.ccfs-band{border-radius:22px}
	.ccfs-car__title{font-size:32px;letter-spacing:-.03em}
	.ccfs-car .ccfs-aside{order:-1}
	h1,h2{letter-spacing:-.03em}
}
