/*
Theme Name: MOBILITI Atelier 3.4.7 — The Journey
Theme URI: https://example.org
Author: MOBILITI
Description: Luxe, modulair blok-gebaseerd WordPress thema voor het landelijke MOBILITI merk. Alle secties, afbeeldingen, teksten en knoppen via de Site Editor aanpasbaar.
Version: 3.4.8
Requires at least: 6.5
Requires PHP: 7.4
Text Domain: mobiliti-atelier
*/
:root{--m-gold:#b99a67;--m-green:#102820;--m-cream:#f4f0e8}body{overflow-x:hidden}a{text-underline-offset:5px}a:hover{opacity:.85}.wp-site-blocks{overflow:hidden}.wp-block-navigation a{text-decoration:none}.wp-block-button__link{transition:transform .2s,background .2s}.wp-block-button__link:hover{transform:translateY(-2px)}.mobiliti-eyebrow{letter-spacing:.23em;text-transform:uppercase;font-size:.72rem;font-weight:600}.mobiliti-hero{min-height:680px}.mobiliti-hero .wp-block-cover__inner-container{max-width:1180px}.mobiliti-hero h1{max-width:850px}.mobiliti-card{border:1px solid rgba(185,154,103,.25);height:100%}.mobiliti-card img{width:100%;object-fit:cover}.mobiliti-rule{border-top:1px solid rgba(185,154,103,.35)}.mobiliti-quiet{opacity:.75}.mobiliti-location-card{border-bottom:1px solid #d7cfc0;padding-bottom:24px}.wp-block-post-title a{text-decoration:none}@media(max-width:781px){.mobiliti-hero{min-height:560px}.mobiliti-hero h1{font-size:clamp(2.8rem,12vw,4.5rem)!important}.mobiliti-hide-mobile{display:none!important}}

/* MOBILITI 2.1: interaction, mobile, accessibility */
:root{--m-radius:2px}html{scroll-behavior:smooth}body{line-height:1.65} :focus-visible{outline:3px solid var(--m-gold);outline-offset:4px}
.wp-block-navigation__responsive-container.is-menu-open{background:#102820;color:#f4f0e8;padding:2rem}.wp-block-navigation__responsive-container.is-menu-open a{color:#f4f0e8}
.wp-block-button__link{border-radius:2px;letter-spacing:.07em;text-transform:uppercase;font-size:.79rem;font-weight:650;padding:1.1rem 1.65rem}
.wp-block-post-featured-image img,.wp-block-image img{height:auto}.mobiliti-hero{position:relative}.mobiliti-hero:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,transparent,#b99a67,transparent);pointer-events:none}
.mobiliti-location-search{max-width:1160px;margin:0 auto 2.5rem;padding:0 1rem}.mobiliti-location-search label{display:block;font-weight:650;margin-bottom:.6rem}.mobiliti-location-search input{width:100%;max-width:650px;padding:1rem 1.2rem;border:1px solid #a7a294;background:#fff;color:#17231e;font-size:1rem;border-radius:2px}.mobiliti-location-empty{display:none;padding:1rem;color:#17231e}
.mobiliti-details{background:#f4f0e8;padding:1.8rem 2rem;border-left:3px solid #b99a67;margin:2rem auto;max-width:760px}.mobiliti-details dl{display:grid;grid-template-columns:minmax(100px,160px) 1fr;gap:.75rem 1rem;margin:0}.mobiliti-details dt{font-weight:700}.mobiliti-details dd{margin:0;overflow-wrap:anywhere}
.mobiliti-appointment{max-width:820px;margin:2rem auto;padding:2.3rem;background:#f4f0e8;color:#17231e}.mobiliti-appointment h2{font-family:Georgia,serif;font-size:clamp(1.9rem,4vw,2.8rem);margin:0 0 .8rem}.mobiliti-appointment .intro{margin-bottom:1.6rem}.mobiliti-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.mobiliti-appointment label{display:block;font-size:.9rem;font-weight:650;margin-bottom:.3rem}.mobiliti-appointment input,.mobiliti-appointment select,.mobiliti-appointment textarea{width:100%;box-sizing:border-box;padding:.8rem;border:1px solid #9a9e95;background:white;color:#17231e;font:inherit;border-radius:2px}.mobiliti-appointment textarea{min-height:110px}.mobiliti-appointment button{border:0;background:#102820;color:#f4f0e8;padding:1rem 1.5rem;cursor:pointer;letter-spacing:.08em}.mobiliti-appointment button:hover{background:#24473a}.mobiliti-appointment .full{grid-column:1/-1}.mobiliti-appointment .consent{display:flex;align-items:flex-start;gap:.65rem;font-size:.85rem}.mobiliti-appointment .consent input{width:auto;margin-top:.4rem}.mobiliti-form-note{font-size:.82rem;color:#48564c}.mobiliti-notice{border-left:4px solid #b99a67;padding:1rem;background:#fff;margin-bottom:1.5rem}
@media(max-width:781px){.wp-block-group[style*="padding:110px"],.wp-block-group[style*="padding:105px"]{padding:65px 6%!important}.mobiliti-hero .wp-block-columns{gap:2rem}.mobiliti-hero .wp-block-image img{max-width:180px}.mobiliti-form-grid{grid-template-columns:1fr}.mobiliti-appointment{padding:1.25rem}.mobiliti-details dl{grid-template-columns:1fr}.mobiliti-details dt{margin-top:.3rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.wp-block-button__link{transition:none}}

/* Atelier 2.2 — consistent editorial components */
.mobiliti-section{padding:clamp(4rem,8vw,8rem) 6%}.mobiliti-section .wp-block-columns{gap:clamp(2rem,5vw,5rem)}.mobiliti-kicker{letter-spacing:.23em;text-transform:uppercase;font-size:.76rem;font-weight:700}.mobiliti-panel{border:1px solid rgba(185,154,103,.4);padding:clamp(1.5rem,3vw,3rem)}.mobiliti-number{font:normal 3rem Georgia,serif;color:#b99a67}.mobiliti-quote{font:italic clamp(1.6rem,3vw,3rem)/1.3 Georgia,serif}.mobiliti-section img{max-width:100%}.mobiliti-breadcrumb{font-size:.8rem;letter-spacing:.09em}.wp-block-query-pagination{margin-top:2rem}.wp-block-post-template.is-layout-grid{gap:2rem}.mobiliti-location-card{padding:1.2rem;background:#fff;border:1px solid #d9d0c0}.mobiliti-location-card .wp-block-post-title{margin-top:1rem}.mobiliti-location-card img{width:100%;object-fit:cover}.mobiliti-hero img.wp-block-cover__image-background{object-position:center}.mobiliti-editor-note{border-left:3px solid #b99a67;padding:1rem;background:#f4f0e8}.mobiliti-footer-links a{color:inherit}.wp-block-navigation-item__content:focus-visible{outline-offset:6px}@media(max-width:781px){.mobiliti-section{padding:4rem 6%}.mobiliti-hero{min-height:550px!important}.wp-block-cover__inner-container{padding:1rem}.mobiliti-location-card{padding:.75rem}}

/* Atelier 3.0: The Journey — homepage only */
body.home{background:#10110f;color:#f1ece4}body.home .wp-site-blocks{overflow:clip}body.home header.wp-block-template-part{position:relative;z-index:30}body.home header.wp-block-template-part>.wp-block-group{background:#10110f!important;border-bottom:1px solid rgba(185,154,103,.2)}
.mj-canvas{position:relative;isolation:isolate;background:#10110f;color:#f1ece4;overflow:hidden}.mj-canvas *{box-sizing:border-box}.mj-canvas .wp-block-group,.mj-canvas .wp-block-columns{box-sizing:border-box}.mj-canvas .wp-block-image{margin:0}.mj-canvas img{display:block;width:100%;height:auto}.mj-canvas h1,.mj-canvas h2,.mj-canvas h3{font-family:Georgia,'Times New Roman',serif;line-height:1.06;font-weight:400;letter-spacing:-.045em;color:#f1ece4}.mj-canvas h1{font-size:clamp(3.5rem,8.4vw,9.4rem);max-width:1000px;margin:.2em auto}.mj-canvas h2{font-size:clamp(2.9rem,5.6vw,6.5rem);margin:.24em 0}.mj-canvas p{color:#c9c0b2;line-height:1.8}.mj-kicker{font:600 .7rem/1.5 system-ui,sans-serif!important;letter-spacing:.3em;text-transform:uppercase;color:#d9af85!important}.mj-hero{position:relative;min-height:min(850px,95svh);display:flex;align-items:center;justify-content:center;text-align:center;padding:6rem 6% 8rem;background:radial-gradient(ellipse at 50% 35%,#2a2720 0%,#171714 43%,#10110f 75%)}.mj-hero-inner{position:relative;z-index:2;max-width:1050px}.mj-emblem{max-width:clamp(115px,17vw,205px);margin:0 auto 2rem!important;filter:drop-shadow(0 0 30px rgba(185,154,103,.17));transform:rotate(var(--mj-compass-turn,0deg));transition:transform .25s linear}.mj-hero .mj-intro{max-width:560px;margin:1.4rem auto 2.2rem;font-size:clamp(1rem,1.5vw,1.25rem)}.mj-scrollcue{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);color:#d9af85;font-size:.65rem;letter-spacing:.3em;text-transform:uppercase}.mj-scrollcue:after{content:'↓';display:block;font-size:1.5rem;margin-top:.6rem}.mj-stage{position:relative;z-index:2;min-height:640px;padding:clamp(6rem,13vw,13rem) max(6%,calc((100vw - 1350px)/2));display:flex;align-items:center}.mj-stage .wp-block-columns{width:100%;align-items:center!important;gap:clamp(3rem,7vw,8rem)}.mj-stage .wp-block-column{min-width:0}.mj-stage .mj-photo{position:relative}.mj-stage .mj-photo img{height:clamp(350px,47vw,640px);object-fit:cover;filter:saturate(.72) contrast(1.06)}.mj-stage .mj-photo:after{content:'';position:absolute;inset:0;border:1px solid rgba(217,175,133,.26);pointer-events:none}.mj-stage .mj-copy{max-width:540px}.mj-stage .mj-copy p:not(.mj-kicker){max-width:490px}.mj-stage .wp-block-buttons{margin-top:2rem}.mj-canvas .wp-block-button__link{background:transparent;color:#f1ece4;border:1px solid #b99a67;padding:1rem 1.5rem;font-size:.72rem;letter-spacing:.16em}.mj-canvas .wp-block-button__link:hover{background:#b99a67;color:#10110f;opacity:1}.mj-stage--discovery{padding-top:11rem}.mj-stage--experience{padding-top:7rem;padding-bottom:9rem}.mj-stage--experience .mj-photo img{height:clamp(340px,42vw,560px)}.mj-stage--craft{padding-top:9rem;padding-bottom:11rem}.mj-quote{position:relative;z-index:2;text-align:center;padding:8rem 6%;background:#1b221c}.mj-quote h2{max-width:960px;margin:0 auto;font-size:clamp(2.5rem,5vw,5.6rem)}.mj-destination{position:relative;z-index:2;padding:clamp(7rem,12vw,12rem) 6%;text-align:center;background:radial-gradient(ellipse at center,#253027 0%,#141b16 60%,#10110f 100%)}.mj-destination .mj-emblem{max-width:105px}.mj-destination h2{max-width:850px;margin:1rem auto}.mj-destination p:not(.mj-kicker){max-width:560px;margin:1.4rem auto 2rem}.mj-destination .wp-block-buttons{justify-content:center}.mj-end-form{position:relative;z-index:2;background:#f4f0e8;padding:5rem 6%;color:#17231e}.mj-end-form .mobiliti-appointment{margin:0 auto}.mj-end-form .mobiliti-appointment h2{color:#17231e}.mj-route{position:absolute;z-index:1;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.mj-route path{fill:none;stroke:#b99a67;stroke-width:1.4;vector-effect:non-scaling-stroke;opacity:.67;stroke-dasharray:1;stroke-dashoffset:1}.mj-route .mj-route-soft{opacity:.23;stroke-width:5}.mj-reveal{opacity:1;transform:none}.mj-enhanced .mj-reveal{opacity:0;transform:translateY(32px);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.7,.2,1)}.mj-enhanced .mj-reveal.mj-visible{opacity:1;transform:none}.mj-stage--experience{background:linear-gradient(120deg,#10110f,#1a1b17 70%,#10110f)}.mj-stage--craft{background:#111510}.mj-stage--discovery{background:#10110f}.mj-journey-progress{position:fixed;z-index:60;left:0;top:0;width:0;height:2px;background:#d9af85;pointer-events:none}.mj-canvas .mj-photo figcaption{font-size:.75rem;color:#a69b8d}.mj-canvas .wp-block-button{margin:0}.mj-canvas a:focus-visible{outline:2px solid #e6d0b3;outline-offset:4px}
@media(min-width:1000px){.mj-stage--discovery .mj-photo{transform:translateY(4rem)}.mj-stage--craft .mj-photo{transform:translateY(-3rem)}}
@media(max-width:781px){.mj-hero{min-height:760px;min-height:85svh;padding:5rem 7% 6rem}.mj-hero h1{font-size:clamp(3.2rem,13vw,5.5rem)}.mj-stage{min-height:0;padding:6rem 7%!important}.mj-stage .wp-block-columns{gap:2.5rem;flex-direction:column}.mj-stage .wp-block-column{width:100%!important;flex-basis:auto!important}.mj-stage .mj-photo img{height:420px}.mj-stage--craft .wp-block-columns{flex-direction:column-reverse}.mj-quote{padding:6rem 7%}.mj-route{opacity:.55}.mj-destination{padding:7rem 7%}.mj-end-form{padding:3rem 5%}}
@media(max-width:480px){.mj-stage .mj-photo img{height:330px}.mj-hero .mj-emblem{max-width:140px}.mj-canvas h2{font-size:clamp(2.6rem,12vw,4rem)}}
@media(prefers-reduced-motion:reduce){.mj-enhanced .mj-reveal{opacity:1;transform:none;transition:none}.mj-emblem{transition:none}.mj-route path{stroke-dasharray:none;stroke-dashoffset:0}}

/* Atelier 3.1 — één doorlopend canvas, goud als leidraad */
body.home,body.home .wp-site-blocks,body.home main,body.home .mj-canvas{background:#10110f!important}
body.home .mj-canvas .mj-hero,body.home .mj-canvas .mj-stage,body.home .mj-canvas .mj-stage--discovery,body.home .mj-canvas .mj-stage--experience,body.home .mj-canvas .mj-stage--craft,body.home .mj-canvas .mj-quote,body.home .mj-canvas .mj-destination{background:transparent!important;background-image:none!important;box-shadow:none!important;border:0!important}
body.home .mj-canvas .mj-stage,body.home .mj-canvas .mj-quote,body.home .mj-canvas .mj-destination{margin-block:0!important}
body.home .mj-canvas .mj-hero{background:radial-gradient(ellipse at 50% 15%,rgba(185,154,103,.085),transparent 55%)!important}
body.home .mj-canvas .mj-destination{background:radial-gradient(ellipse at 50% 55%,rgba(185,154,103,.075),transparent 60%)!important}
body.home .mj-route{z-index:1;opacity:1!important;filter:drop-shadow(0 0 6px rgba(226,180,113,.55));}
body.home .mj-route path{stroke:#E7BC81!important;stroke-width:3.5!important;opacity:1!important;stroke-linecap:round;vector-effect:non-scaling-stroke}
body.home .mj-route .mj-route-soft{stroke:#D9A96D!important;stroke-width:10!important;opacity:.22!important;filter:blur(5px)}
body.home .mj-route .mj-route-active{stroke:#FFE0AA!important;stroke-width:4.5!important;filter:drop-shadow(0 0 8px rgba(255,213,149,.9))}
body.home .mj-route .mj-route-marker{fill:#FFE3B3;stroke:#B88A50;stroke-width:2;filter:drop-shadow(0 0 10px #F6CA8C)}
body.home .mj-emblem img{filter:drop-shadow(0 0 12px rgba(218,170,106,.24))}
body.home .mj-end-form{display:none!important}
body.home footer.wp-block-template-part>.wp-block-group{background:#10110f!important;border-top:0!important}
@media(max-width:781px){body.home .mj-route path{stroke-width:3!important}body.home .mj-route .mj-route-soft{stroke-width:8!important}}
@media(prefers-reduced-motion:reduce){body.home .mj-route .mj-route-active{display:none}body.home .mj-route .mj-route-soft{opacity:.15!important}}

/* ATELIER 3.2: uninterrupted dark journey canvas, including site-editor block spacing */
body.home,body.home .wp-site-blocks,body.home main,body.home .entry-content,body.home .mj-canvas,body.home .mj-canvas > .wp-block-group{background-color:#10110f!important;color:#f1ece4}
body.home .wp-site-blocks > * + *,body.home .mj-canvas > * + *,body.home .mj-canvas .wp-block-group + .wp-block-group{margin-block-start:0!important}
body.home .mj-canvas .mj-hero,body.home .mj-canvas .mj-stage,body.home .mj-canvas .mj-quote,body.home .mj-canvas .mj-destination{background:#10110f!important;background-image:none!important;border:0!important;box-shadow:none!important}
body.home .mj-canvas .mj-hero{background:radial-gradient(ellipse at 50% 25%,rgba(204,158,100,.10),transparent 62%),#10110f!important}
body.home .mj-canvas .mj-destination{background:radial-gradient(ellipse at 50% 55%,rgba(204,158,100,.08),transparent 65%),#10110f!important}
body.home .mj-route{display:block!important;visibility:visible!important;z-index:1!important;opacity:1!important;filter:drop-shadow(0 0 9px rgba(235,177,103,.55))}
body.home .mj-route .mj-route-base{stroke:#c9945e!important;stroke-width:3.5!important;opacity:.42!important;stroke-dasharray:none!important;stroke-dashoffset:0!important}
body.home .mj-route .mj-route-active{stroke:#ffdfa6!important;stroke-width:5!important;opacity:1!important;stroke-linecap:round;filter:drop-shadow(0 0 8px rgba(255,207,136,.95))}
body.home .mj-route .mj-route-marker{fill:#fff2d8!important;stroke:#e1a75f!important;stroke-width:3!important;filter:drop-shadow(0 0 12px #f6bd73)}
body.home .mj-canvas .mj-emblem img{filter:brightness(0) saturate(100%) invert(83%) sepia(24%) saturate(643%) hue-rotate(337deg) brightness(99%) contrast(91%) drop-shadow(0 0 14px rgba(225,181,118,.25))!important}
body.home .mj-end-form,body.home .mj-canvas .mj-end-form,body.home .mj-canvas .mobiliti-appointment{display:none!important}
body.home footer.wp-block-template-part,body.home footer.wp-block-template-part>.wp-block-group{background:#10110f!important;border:0!important;margin-top:0!important}
@media(max-width:781px){body.home .mj-route .mj-route-active{stroke-width:4!important}body.home .mj-route .mj-route-base{stroke-width:2.5!important}}
@media(prefers-reduced-motion:reduce){body.home .mj-route .mj-route-active{display:none!important}body.home .mj-route .mj-route-base{opacity:.75!important}}

/* Atelier 3.4: dynamic sections and full-height scroll-following route */
.mj-canvas{position:relative;isolation:isolate;overflow:hidden;background:#10110f!important}
.mj-canvas>.mj-route{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3!important;overflow:visible}
.mj-canvas>.mj-route .mj-route-base{opacity:.14!important}
.mj-canvas>.mj-route .mj-route-active{stroke-width:6!important;filter:drop-shadow(0 0 12px rgba(255,203,130,.95))!important}
.mj-canvas>.mj-route .mj-route-marker{filter:drop-shadow(0 0 17px #ffe1ad)!important}
.mj-stage,.mj-hero,.mj-quote,.mj-destination{position:relative;z-index:2}
.mj-stage img{object-fit:cover}
.mj-stage--discovery,.mj-stage--experience,.mj-stage--craft,.mj-quote{background:transparent!important}
.mj-canvas .mj-destination{background:transparent!important}
.mj-admin-preview{color:#b98b63}

/* 3.4.1: persistent route, independently visible even before JS initializes */
.mj-canvas > svg.mj-route{display:block!important;visibility:visible!important;position:absolute!important;top:0!important;left:0!important;width:100%!important;height:100%!important;z-index:5!important;opacity:1!important;pointer-events:none!important}
.mj-canvas > svg.mj-route path.mj-route-base{stroke:#d3a26b!important;stroke-width:3.6!important;opacity:.72!important;stroke-dasharray:none!important;stroke-dashoffset:0!important;fill:none!important}
.mj-canvas > svg.mj-route path.mj-route-soft{stroke:#d5a46e!important;stroke-width:13!important;opacity:.2!important;stroke-dasharray:none!important;stroke-dashoffset:0!important;fill:none!important}
.mj-canvas > svg.mj-route path.mj-route-active{stroke:#ffe3af!important;stroke-width:5.5!important;opacity:1!important;fill:none!important;stroke-linecap:round!important;filter:drop-shadow(0 0 9px #efbd80)}
.mj-canvas > svg.mj-route circle.mj-route-marker{fill:#fff1d4!important;opacity:1;filter:drop-shadow(0 0 15px #ffcb81)}

/* 3.4.2: route behind photos, destination button is the final stop. */
body.home .mj-canvas > svg.mj-route{z-index:4!important}
body.home .mj-canvas .mj-stage{z-index:auto!important}
body.home .mj-canvas .mj-stage .mj-photo,
body.home .mj-canvas .mj-stage .mj-photo img{position:relative;z-index:7!important}
body.home .mj-canvas .mj-stage .mj-photo{isolation:isolate;background:#10110f}
body.home .mj-canvas .mj-stage .mj-photo img{display:block}
body.home .mj-canvas .mj-stage .mj-copy{position:relative;z-index:6}
body.home .mj-canvas .mj-destination{z-index:6!important;pointer-events:none}
body.home .mj-canvas .mj-destination .wp-block-buttons,
body.home .mj-canvas .mj-destination .wp-block-button,
body.home .mj-canvas .mj-destination .wp-block-button__link{position:relative;z-index:8!important;pointer-events:auto}
body.home .mj-canvas .mj-destination .wp-block-button__link{background:#10110f}

/* 3.4.3: route is clipped around all visible copy, while photography covers it. */
body.home .mj-canvas > svg.mj-route{z-index:4!important}
body.home .mj-canvas .mj-hero,body.home .mj-canvas .mj-stage,body.home .mj-canvas .mj-quote,body.home .mj-canvas .mj-destination{background:transparent!important;background-image:none!important}
body.home .mj-canvas .mj-stage .mj-photo{z-index:8!important;position:relative!important;isolation:isolate!important;background:#10110f!important}
body.home .mj-canvas .mj-stage .mj-photo img{z-index:9!important;position:relative!important}
body.home .mj-canvas .mj-hero .wp-block-button__link,body.home .mj-canvas .mj-destination .wp-block-button__link{position:relative;z-index:10!important}

/* 3.4.4: restore the flowing behind-photo route; preserve the exact button endpoints and text mask. */

/* 3.4.5: seamless cubic route and removed standalone quote panel. */

/* 3.4.6: photographic original compass, no monochrome SVG filter */
body.home .mj-canvas .mj-emblem img{filter:drop-shadow(0 0 14px rgba(225,181,118,.17))!important;object-fit:contain;}

/* 3.4.7: original supplied JPEG, no tracing or transparency conversion. */
body.home .mj-canvas .mj-emblem img{mix-blend-mode:screen;filter:none!important;object-fit:contain;}

/* 3.4.8: original metallic compass with transparent background */
.mj-emblem img { background: transparent !important; }
