.clean-hero{position:relative;overflow:hidden}
.clean-hero:after{content:"";position:absolute;width:340px;height:340px;right:8%;top:-180px;border:1px solid #ffffff28;border-radius:50%;box-shadow:0 0 0 35px #ffffff0a,0 0 0 70px #ffffff08;pointer-events:none}
.clean-hero .wrap{position:relative;z-index:1}
.clean-hero-link{display:inline-flex;align-items:center;gap:8px;margin-top:22px;padding:10px 15px;border:1px solid #ffffff70;border-radius:8px;background:#ffffff10;color:#fff;font-size:13px;font-weight:800}
.clean-hero-link:hover{background:#ffffff20}
.clean-page{padding:36px 0 64px;background:#f5f7fa}
.clean-intro{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(210px,.6fr);gap:28px;align-items:center;padding:30px;border:1px solid #e4eaf1;border-radius:18px;background:#fff;box-shadow:0 10px 28px #18304b0c}
.clean-eyebrow{display:inline-block;color:#a7357c;font-size:11px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.clean-intro h2,.clean-section-heading h2,.clean-volunteer h2,.clean-background h2{margin:6px 0 9px;color:#203e65;font-size:clamp(23px,3vw,30px);line-height:1.2;letter-spacing:-.5px}
.clean-intro-copy p,.clean-section-heading p,.clean-volunteer p,.clean-background p{margin:0 0 12px;color:#5f7084;font-size:14px;line-height:1.7}
.clean-source-link{display:inline-block;margin-top:4px;color:#315b91;font-size:12px;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.clean-project-figure{margin:0;padding:10px;border:1px solid #e7ebf1;border-radius:15px;background:#fafbfd;text-align:center}
.clean-project-figure img{display:block;width:min(100%,250px);aspect-ratio:1;margin:auto;border-radius:10px;object-fit:cover}
.clean-project-figure figcaption{padding:9px 4px 2px;color:#77869a;font-size:11px;line-height:1.4}
.clean-how{padding:42px 0 6px}
.clean-section-heading{max-width:760px;margin-bottom:18px}
.clean-section-heading h2{margin-bottom:5px}
.clean-section-heading p{margin-bottom:0}
.clean-how-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.clean-how-grid article{min-height:175px;padding:20px;border:1px solid #e4eaf1;border-radius:14px;background:#fff;box-shadow:0 7px 20px #18304b08}
.clean-step{display:grid;place-items:center;width:34px;height:34px;margin-bottom:12px;border-radius:11px;background:#f7eaf2;color:#a7357c;font-size:11px;font-weight:900}
.clean-how-grid h3{margin:0 0 6px;color:#203e65;font-size:16px;line-height:1.3}
.clean-how-grid p{margin:0;color:#63748a;font-size:13px;line-height:1.6}
.clean-dates{margin-top:42px;padding:28px;border:1px solid #dfe7f1;border-radius:18px;background:#fff;box-shadow:0 10px 28px #18304b0c;scroll-margin-top:20px}
.clean-dates .clean-section-heading{margin-bottom:17px}
.clean-dates .clean-section-heading strong{color:#203e65}
.clean-date-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.clean-date-grid article{display:grid;gap:3px;padding:14px;border:1px solid #eadce7;border-radius:12px;background:#fcf7fa}
.clean-date-grid article span{color:#a7357c;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}
.clean-date-grid article strong{color:#203e65;font-size:14px;line-height:1.3}
.clean-date-grid article small{color:#68788c;font-size:12px}
.clean-location-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}
.clean-location-button{display:flex;align-items:center;gap:10px;width:100%;padding:12px;border:1px solid #e3e9f0;border-radius:11px;background:#f8fafc;color:#203e65;font:inherit;text-align:left;cursor:pointer;transition:border-color .18s,background-color .18s,transform .18s}
.clean-location-button:hover,.clean-location-button:focus-visible,.clean-location-button[aria-expanded="true"]{border-color:#b93a83;background:#fff}
.clean-location-button:focus-visible{outline:3px solid #b93a832e;outline-offset:2px}
.clean-pin{display:grid;place-items:center;flex:none;width:35px;height:35px;border-radius:10px;background:#eaf0f8;color:#315b91;font-size:21px;font-weight:700}
.clean-location-button>span:nth-child(2){display:grid;gap:1px;min-width:0}
.clean-location-grid small{color:#7b8798;font-size:10px}.clean-location-grid strong{color:#203e65;font-size:13px}.clean-location-grid b{margin-left:auto;color:#315b91;font-size:17px;line-height:1;transition:transform .2s ease}.clean-location-button[aria-expanded="true"] b{transform:rotate(180deg)}
.clean-map-panel{display:grid;grid-template-rows:0fr;margin-top:0;opacity:0;overflow:hidden;transition:grid-template-rows .34s ease,margin-top .34s ease,opacity .25s ease}
.clean-map-panel.is-open{grid-template-rows:1fr;margin-top:13px;opacity:1}
.clean-map-panel-inner{min-height:0;overflow:hidden;border:1px solid #e0e7ef;border-radius:14px;background:#fff;box-shadow:0 8px 24px #18304b0b}
.clean-map-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 15px;color:#203e65}
.clean-map-heading strong{font-size:13px;line-height:1.35}
.clean-map-close{display:inline-flex;align-items:center;gap:7px;flex:none;padding:6px 10px;border:1px solid #dce4ed;border-radius:8px;background:#f8fafc;color:#40536b;font:inherit;font-size:11px;font-weight:750;cursor:pointer}
.clean-map-close:hover{border-color:#b93a83;color:#8b2e69}
.clean-map-frame{height:360px;width:100%;overflow:hidden;border:1px solid #d7e0eb;border-radius:13px;background:#e8eef4}
#clean-location-map{width:100%;height:100%;z-index:0}
#clean-location-map.leaflet-container{font-family:Inter,system-ui,sans-serif}
#clean-location-map .leaflet-control-attribution{font-size:10px!important}
.clean-schedule-note{margin:13px 0 0;color:#78869a;font-size:11px;line-height:1.5}
.clean-volunteer{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:28px;padding:28px 30px;border-radius:17px;background:linear-gradient(112deg,#203e65,#315b91);box-shadow:0 12px 30px #203e6522}
.clean-volunteer h2{color:#fff;margin:5px 0 6px}.clean-volunteer .clean-eyebrow{color:#f2c5df}.clean-volunteer p{max-width:760px;margin:0;color:#e1e9f4}
.clean-join-button{flex:none;white-space:nowrap}
.clean-background{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(250px,.8fr);align-items:center;gap:24px;margin-top:28px;padding:25px 27px;border:1px solid #e4eaf1;border-radius:16px;background:#fff}
.clean-background h2{font-size:22px}.clean-background p{font-size:13px;margin:0 0 8px}
.clean-video{min-width:0;overflow:hidden;border:1px solid #e4eaf1;border-radius:12px;background:#f8fafc;box-shadow:0 7px 18px #18304b0a}
.clean-video iframe{display:block;width:100%;aspect-ratio:16/9;border:0;background:#e9edf2}
.clean-video p{margin:0;padding:9px 12px;color:#738196;font-size:10px;line-height:1.45}
.bulky-info-link{display:inline-flex;align-items:center;gap:6px;margin-top:7px;color:#315b91;font-size:12px;font-weight:800;text-decoration:underline;text-underline-offset:3px}
@media(max-width:800px){.clean-intro{grid-template-columns:minmax(0,1.2fr) minmax(170px,.7fr);gap:18px;padding:23px}.clean-project-figure img{width:min(100%,190px)}.clean-date-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.clean-volunteer{align-items:flex-start;flex-direction:column}.clean-background{grid-template-columns:1fr}}
@media(max-width:620px){.clean-page{padding:22px 0 48px}.clean-intro{grid-template-columns:1fr;gap:14px;padding:19px}.clean-project-figure{display:flex;align-items:center;gap:12px;text-align:left}.clean-project-figure img{width:88px;flex:none}.clean-project-figure figcaption{padding:0}.clean-how{padding-top:30px}.clean-how-grid{grid-template-columns:1fr;gap:9px}.clean-how-grid article{min-height:0;padding:16px}.clean-dates{margin-top:30px;padding:19px}.clean-date-grid{gap:8px}.clean-date-grid article{padding:11px}.clean-date-grid article strong{font-size:12px}.clean-date-grid article small{font-size:11px}.clean-location-grid{grid-template-columns:1fr;gap:8px}.clean-map-frame{height:320px}.clean-volunteer{gap:15px;margin-top:19px;padding:21px}.clean-volunteer h2{font-size:23px}.clean-join-button{width:100%}.clean-background{gap:15px;margin-top:19px;padding:19px}}
@media(max-width:370px){.clean-date-grid{grid-template-columns:1fr}.clean-date-grid article{grid-template-columns:1fr auto;align-items:center}.clean-date-grid article span{grid-column:1/-1}.clean-date-grid article small{grid-column:2;grid-row:2}}
/* Deelnemen op deze pagina opent hetzelfde adoptieformulier als op de homepage. */
.clean-adoption-dialog{width:min(660px,calc(100% - 36px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;padding:0;border:0;border-radius:20px;background:transparent;color:#203e65;overflow:visible}
.clean-adoption-dialog::backdrop{background:#14243dcc;backdrop-filter:blur(3px)}
.clean-adoption-card{position:relative;max-height:calc(100dvh - 32px);overflow:hidden;padding:22px 26px;border:1px solid #e5eaf0;border-radius:20px;background:#fff;box-shadow:0 24px 70px #10253c40;font-family:Inter,ui-sans-serif,system-ui,sans-serif}
.clean-adoption-close{position:absolute;top:12px;right:14px;width:38px;height:38px;border:0;border-radius:50%;background:#f1f4f8;color:#40536b;font-size:25px;line-height:1;cursor:pointer}
.clean-adoption-card h2{margin:6px 42px 5px 0;color:#203e65;font-size:24px;line-height:1.2}
.clean-adoption-intro{margin:0 0 12px;color:#63748a;font-size:13px;line-height:1.45}
.clean-adoption-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 12px}
.clean-adoption-form>label:nth-of-type(5){grid-column:1/-1}
.clean-adoption-form label{display:grid;gap:4px;color:#31465e;font-size:12px;font-weight:750}
.clean-adoption-form label span{display:inline;color:#728196;font-weight:500}
.clean-adoption-form input,.clean-adoption-form select,.clean-adoption-form textarea{width:100%;min-height:39px;border:1px solid #d5deea;border-radius:10px;padding:8px 10px;background:#fff;color:#203e65;font-family:inherit;font-size:13px;font-weight:500;line-height:1.45;outline:none}
.clean-adoption-form textarea{min-height:58px;resize:vertical}
.clean-adoption-form input:focus,.clean-adoption-form select:focus,.clean-adoption-form textarea:focus{border-color:#8d4b83;box-shadow:0 0 0 3px #b93a8318}
.clean-adoption-honey{position:absolute!important;top:0!important;left:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.clean-adoption-actions,.clean-adoption-status,.clean-adoption-privacy{grid-column:1/-1}
.clean-adoption-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:3px}
.clean-adoption-cancel,.clean-adoption-submit{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border:0;border-radius:9px;padding:9px 13px;font-family:inherit;font-size:13px;font-weight:750;line-height:1.2;cursor:pointer}
.clean-adoption-cancel{background:#f1f4f8;color:#40536b}.clean-adoption-submit{background:#b93a83;color:#fff}.clean-adoption-submit:hover{background:#9e2e70}.clean-adoption-submit:disabled{opacity:.65;cursor:wait}
.clean-adoption-status{min-height:1.4em;margin:0;color:#315b91;font-size:13px;line-height:1.5}
.clean-adoption-privacy{margin:0;color:#758398;font-size:10px;line-height:1.5}.clean-adoption-privacy a{color:#315b91;font-weight:700;text-decoration:underline;text-underline-offset:2px}
@media(max-width:600px){.clean-adoption-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px);margin:auto;overscroll-behavior:contain}.clean-adoption-card{max-height:calc(100dvh - 20px);overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:none;-ms-overflow-style:none;padding:24px 20px 22px}.clean-adoption-card::-webkit-scrollbar{display:none;width:0;height:0}.clean-adoption-form{grid-template-columns:1fr;gap:9px}.clean-adoption-form>label:nth-of-type(5){grid-column:auto}.clean-adoption-actions{flex-direction:column-reverse}.clean-adoption-actions button{width:100%}}
/* Hero- en CTA-knoppen volgen de paarse primaire knopstijl van Overvecht.Online. */
.clean-hero{position:relative;overflow:hidden}
.clean-hero a.clean-hero-link,.clean-page .clean-join-button{border-color:#b93a83!important;background:#b93a83!important;color:#fff!important}
.clean-hero a.clean-hero-link:hover,.clean-hero a.clean-hero-link:focus-visible,.clean-page .clean-join-button:hover,.clean-page .clean-join-button:focus-visible{border-color:#9f2d70!important;background:#9f2d70!important;color:#fff!important}
.clean-volunteer h2{color:#fff!important}
.clean-volunteer p{color:#e1e9f4!important}
.clean-page .clean-join-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;max-width:100%;padding:10px 15px;border:1px solid #b93a83;border-radius:9px;background:#b93a83;color:#fff;font-family:inherit;font-size:14px;font-weight:800;line-height:1.25;text-align:center;text-decoration:none;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,transform .18s ease;flex:none;white-space:nowrap}
.clean-page .clean-join-button:hover{transform:translateY(-1px)}
.clean-page .clean-join-button:focus-visible{outline:3px solid #b93a8333;outline-offset:2px}
@media(max-width:800px){.clean-join-button{align-self:stretch}}
@media(max-width:620px){.clean-hero-link{margin-top:18px}.clean-join-button{width:100%;align-self:auto}}

/* Foto-carrousel en vergrote lightbox voor de inzameldagen. */
.clean-gallery{margin:34px 0 0;padding:26px;border:1px solid #dfe7f1;border-radius:18px;background:#fff;box-shadow:0 10px 28px #18304b0c}
.clean-gallery-heading{margin-bottom:17px}
.clean-gallery-heading h2{margin:6px 0 6px;color:#203e65;font-size:clamp(23px,3vw,30px);line-height:1.2;letter-spacing:-.5px}
.clean-gallery-heading p{max-width:760px;margin:0;color:#5f7084;font-size:14px;line-height:1.65}
.clean-gallery-window{overflow:hidden;border:1px solid #d7e0eb;border-radius:14px;background:#f0f3f7}
.clean-gallery-track{display:flex;align-items:stretch;transition:transform .38s cubic-bezier(.2,.75,.25,1);will-change:transform}
.clean-gallery-slide{flex:0 0 100%;min-width:0;margin:0}
.clean-gallery-image{position:relative;display:block;width:100%;height:clamp(300px,42vw,480px);padding:10px;border:0;background:#f0f3f7;cursor:zoom-in}
.clean-gallery-image img{display:block;width:100%;height:100%;object-fit:contain}
.clean-gallery-image>span{position:absolute;right:20px;bottom:20px;display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid #ffffff85;border-radius:9px;background:#203e65dc;color:#fff;font-size:12px;font-weight:800;opacity:0;transform:translateY(4px);transition:opacity .2s,transform .2s}
.clean-gallery-image:hover>span,.clean-gallery-image:focus-visible>span{opacity:1;transform:translateY(0)}
.clean-gallery-image:focus-visible{outline:3px solid #b93a83;outline-offset:-3px}
.clean-gallery-slide figcaption{padding:0 16px 12px;background:#f0f3f7;color:#65758a;font-size:12px;line-height:1.45}
.clean-gallery-controls{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:13px}
.clean-gallery-arrow{display:inline-flex;align-items:center;gap:7px;padding:9px 13px;border:1px solid #dce4ed;border-radius:9px;background:#f8fafc;color:#294e7e;font:inherit;font-size:12px;font-weight:800;cursor:pointer;transition:background-color .18s,border-color .18s,color .18s}
.clean-gallery-arrow:hover,.clean-gallery-arrow:focus-visible{border-color:#b93a83;background:#f9edf4;color:#8b2e69}
.clean-gallery-arrow:focus-visible,.clean-gallery-lightbox button:focus-visible{outline:3px solid #b93a8344;outline-offset:2px}
.clean-gallery-count{min-width:48px;color:#65758a;font-size:12px;font-weight:800;text-align:center;font-variant-numeric:tabular-nums}
.clean-gallery-lightbox{position:fixed;width:min(1100px,calc(100vw - 32px));max-width:none;height:min(88dvh,900px);max-height:none;margin:auto;padding:28px 68px 44px;overflow:hidden;border:1px solid #dce4ed;border-radius:20px;background:#fff;color:#203e65;box-shadow:0 24px 80px #10233e55}
.clean-gallery-lightbox::backdrop{background:#10233eb8;backdrop-filter:blur(4px)}
.clean-gallery-lightbox figure{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:100%;height:100%;margin:0}
.clean-gallery-lightbox figure img{display:block;max-width:100%;max-height:calc(88dvh - 120px);object-fit:contain}
.clean-gallery-lightbox figure figcaption{color:#65758a;font-size:13px;line-height:1.5;text-align:center}
.clean-gallery-lightbox-close,.clean-gallery-lightbox-arrow{position:absolute;z-index:2;display:grid;place-items:center;width:42px;height:42px;border:1px solid #dce4ed;border-radius:50%;background:#fff;color:#294e7e;font:inherit;font-size:24px;font-weight:700;cursor:pointer;box-shadow:0 4px 14px #18304b16}
.clean-gallery-lightbox-close{top:14px;right:14px;font-size:26px}
.clean-gallery-lightbox-arrow{top:50%;transform:translateY(-50%)}
.clean-gallery-lightbox-arrow.is-prev{left:14px}
.clean-gallery-lightbox-arrow.is-next{right:14px}
.clean-gallery-lightbox-count{position:absolute;bottom:13px;left:50%;transform:translateX(-50%);color:#7a8798;font-size:12px;font-weight:800;font-variant-numeric:tabular-nums}
@media(max-width:620px){.clean-gallery{margin-top:22px;padding:17px}.clean-gallery-heading p{font-size:13px}.clean-gallery-image{height:min(68dvh,440px);min-height:290px;padding:8px}.clean-gallery-image>span{right:15px;bottom:16px;opacity:1;transform:none}.clean-gallery-controls{gap:12px}.clean-gallery-arrow{padding:9px 11px}.clean-gallery-lightbox{width:calc(100vw - 14px);height:calc(100dvh - 14px);padding:44px 40px 42px;border-radius:14px}.clean-gallery-lightbox figure img{max-height:calc(100dvh - 150px)}.clean-gallery-lightbox-close,.clean-gallery-lightbox-arrow{width:38px;height:38px}.clean-gallery-lightbox-close{top:9px;right:9px}.clean-gallery-lightbox-arrow.is-prev{left:7px}.clean-gallery-lightbox-arrow.is-next{right:7px}}
@media(prefers-reduced-motion:reduce){.clean-gallery-track,.clean-gallery-image>span{transition:none}}

/* Compacte fototegels: vier naast elkaar op desktop, twee op mobiel. */
.clean-gallery-track{gap:12px}
.clean-gallery-slide{flex:0 0 calc((100% - 36px)/4)}
.clean-gallery-image{height:clamp(170px,22vw,250px);padding:0;overflow:hidden;border-radius:11px}
.clean-gallery-image img{object-fit:cover;transition:transform .3s ease}
.clean-gallery-image:hover img{transform:scale(1.035)}
.clean-gallery-image>span{right:10px;bottom:10px;padding:7px 9px;font-size:11px}
.clean-gallery-slide figcaption{display:none}
.clean-gallery-lightbox figure{gap:0}
.clean-gallery-lightbox figure img{max-height:calc(88dvh - 90px)}
@media(max-width:620px){.clean-gallery-track{gap:10px}.clean-gallery-slide{flex-basis:calc((100% - 10px)/2)}.clean-gallery-image{height:clamp(140px,38vw,220px);padding:0}.clean-gallery-image>span{right:8px;bottom:8px;font-size:10px}}
