.elementor-kit-6{--e-global-color-primary:#E2050C;--e-global-color-secondary:#14171A;--e-global-color-text:#4A5257;--e-global-color-accent:#D40005;--e-global-color-wit:#FFFFFF;--e-global-color-papier:#F5F5F2;--e-global-color-hairln:#E4E5E1;--e-global-color-grijs:#6B7378;--e-global-color-ink2:#1B1F23;--e-global-color-ink3:#2A3034;--e-global-color-roodlicht:#FF0006;--e-global-color-baksteen:#8A342C;--e-global-color-wappgrn:#25D366;--e-global-color-papwarm:#FAF7F6;--e-global-color-lblgrs:#5F656A;--e-global-color-lblgrd:#8A9095;--e-global-color-txtdnk:#C9CDD1;--e-global-color-mcrldk:#9DA2A6;--e-global-color-schdnk:#2E3336;--e-global-color-rdtnt10:rgba(255, 0, 6, 0.1);--e-global-color-rdrnd22:rgba(255, 0, 6, 0.22);--e-global-color-ghstvul:rgba(255, 255, 255, 0.06);--e-global-color-vlkdn08:rgba(255, 255, 255, 0.08);--e-global-color-hrldn16:rgba(255, 255, 255, 0.16);--e-global-color-hrldn35:rgba(255, 255, 255, 0.35);--e-global-color-hdrslr:rgba(255, 255, 255, 0.94);--e-global-color-scrm94:rgba(14, 16, 18, 0.94);--e-global-color-scrm93:rgba(14, 16, 18, 0.93);--e-global-color-scrm62:rgba(14, 16, 18, 0.62);--e-global-color-scrm12:rgba(14, 16, 18, 0.12);--e-global-color-schdw28:rgba(20, 23, 26, 0.28);--e-global-color-txtdnhl:#E7E9EA;--e-global-color-hrldn14:rgba(255, 255, 255, 0.14);--e-global-color-hrldn22:rgba(255, 255, 255, 0.22);--e-global-color-stsgrn:#5DBB7E;--e-global-color-wahdr:#075E54;--e-global-color-chatbg:#ECE5DD;--e-global-color-chatgrn:#DCF8C6;--e-global-typography-primary-font-family:"Sofia Sans Condensed";--e-global-typography-primary-font-size:clamp(2.125rem, 1.3875rem + 1.95vw, 3.125rem);--e-global-typography-primary-font-weight:800;--e-global-typography-primary-line-height:1.03em;--e-global-typography-primary-letter-spacing:-0.025em;--e-global-typography-secondary-font-family:"Sofia Sans Condensed";--e-global-typography-secondary-font-size:clamp(1.75rem, 1.341rem + 1.301vw, 2.5rem);--e-global-typography-secondary-font-weight:800;--e-global-typography-secondary-line-height:1.05em;--e-global-typography-secondary-letter-spacing:-0.025em;--e-global-typography-text-font-family:"Sofia Sans Condensed";--e-global-typography-text-font-size:clamp(1.125rem, 0.87rem + 0.54vw, 1.25rem);--e-global-typography-text-font-weight:700;--e-global-typography-text-line-height:1.2em;--e-global-typography-text-letter-spacing:-0.01em;--e-global-typography-accent-font-family:"Sofia Sans Condensed";--e-global-typography-accent-font-size:0.875rem;--e-global-typography-accent-font-weight:700;--e-global-typography-accent-letter-spacing:-0.01em;--e-global-typography-bodytxt-font-family:"Sofia Sans";--e-global-typography-bodytxt-font-size:0.9375rem;--e-global-typography-bodytxt-font-weight:400;--e-global-typography-bodytxt-line-height:1.6em;--e-global-typography-bodytxt-word-spacing:0px;--e-global-typography-leadpar-font-family:"Sofia Sans";--e-global-typography-leadpar-font-size:clamp(1rem, 0.87rem + 0.27vw, 1.0625rem);--e-global-typography-leadpar-font-weight:400;--e-global-typography-leadpar-line-height:1.65em;--e-global-typography-btnfont-font-family:"Sofia Sans";--e-global-typography-btnfont-font-size:1rem;--e-global-typography-btnfont-font-weight:600;--e-global-typography-btnfont-line-height:1em;--e-global-typography-btnfont-letter-spacing:-0.08px;--e-global-typography-btnfont-word-spacing:0px;--e-global-typography-sbmtfnt-font-family:"Sofia Sans";--e-global-typography-sbmtfnt-font-size:1.0625rem;--e-global-typography-sbmtfnt-font-weight:600;--e-global-typography-sbmtfnt-line-height:1em;--e-global-typography-sbmtfnt-letter-spacing:-0.17px;--e-global-typography-sbmtfnt-word-spacing:0px;--e-global-typography-eyebrow-font-family:"Sofia Sans";--e-global-typography-eyebrow-font-size:0.75rem;--e-global-typography-eyebrow-font-weight:400;--e-global-typography-eyebrow-text-transform:uppercase;--e-global-typography-eyebrow-letter-spacing:1.2px;--e-global-typography-mcreyeb-font-family:"Sofia Sans";--e-global-typography-mcreyeb-font-size:0.6875rem;--e-global-typography-mcreyeb-font-weight:400;--e-global-typography-mcreyeb-text-transform:uppercase;--e-global-typography-mcreyeb-line-height:1.35em;--e-global-typography-mcreyeb-letter-spacing:0.88px;--e-global-typography-navlbl-font-family:"Sofia Sans";--e-global-typography-navlbl-font-size:1rem;--e-global-typography-navlbl-font-weight:500;--e-global-typography-navlbl-letter-spacing:-0.16px;--e-global-typography-crdttl-font-family:"Sofia Sans Condensed";--e-global-typography-crdttl-font-size:1.375rem;--e-global-typography-crdttl-font-weight:700;--e-global-typography-crdttl-line-height:1.15em;--e-global-typography-crdttl-letter-spacing:-0.44px;--e-global-typography-phtttl-font-family:"Sofia Sans Condensed";--e-global-typography-phtttl-font-size:clamp(1.375rem, 1rem + 0.8vw, 1.625rem);--e-global-typography-phtttl-font-weight:700;--e-global-typography-phtttl-line-height:1.1em;--e-global-typography-phtttl-letter-spacing:-0.03em;--e-global-typography-frmhdg-font-family:"Sofia Sans Condensed";--e-global-typography-frmhdg-font-size:clamp(1.5625rem, 1.31rem + 0.54vw, 1.6875rem);--e-global-typography-frmhdg-font-weight:700;--e-global-typography-frmhdg-line-height:1.1em;--e-global-typography-frmhdg-letter-spacing:-0.025em;--e-global-typography-rvwnam-font-family:"Sofia Sans Condensed";--e-global-typography-rvwnam-font-size:1rem;--e-global-typography-rvwnam-font-weight:700;--e-global-typography-rvwnam-letter-spacing:-0.24px;--e-global-typography-qtetxt-font-family:"Sofia Sans";--e-global-typography-qtetxt-font-size:0.96875rem;--e-global-typography-qtetxt-font-weight:400;--e-global-typography-qtetxt-line-height:1.62em;--e-global-typography-smlprt-font-family:"Sofia Sans";--e-global-typography-smlprt-font-size:0.84375rem;--e-global-typography-smlprt-font-weight:400;--e-global-typography-smlprt-line-height:1.5em;--e-global-typography-metatxt-font-family:"Sofia Sans";--e-global-typography-metatxt-font-size:0.8125rem;--e-global-typography-metatxt-font-weight:400;--e-global-typography-metatxt-line-height:1.5em;--e-global-typography-inlnlnk-font-family:"Sofia Sans";--e-global-typography-inlnlnk-font-size:0.9375rem;--e-global-typography-inlnlnk-font-weight:600;--e-global-typography-statval-font-family:"Sofia Sans";--e-global-typography-statval-font-size:1rem;--e-global-typography-statval-font-weight:700;--e-global-typography-statval-line-height:1.2em;--e-global-typography-statval-letter-spacing:-0.16px;--e-global-typography-stpttl-font-family:"Sofia Sans Condensed";--e-global-typography-stpttl-font-size:clamp(1.125rem, 1.05rem + 0.16vw, 1.1875rem);--e-global-typography-stpttl-font-weight:700;--e-global-typography-stpttl-text-transform:none;--e-global-typography-stpttl-font-style:normal;--e-global-typography-stpttl-text-decoration:none;--e-global-typography-stpttl-line-height:1.25em;--e-global-typography-stpttl-letter-spacing:-0.38px;--e-global-typography-stpttl-word-spacing:0px;--e-global-typography-ctahdg-font-family:"Sofia Sans Condensed";--e-global-typography-ctahdg-font-size:clamp(1.875rem, 1.1375rem + 1.951vw, 2.875rem);--e-global-typography-ctahdg-font-weight:700;--e-global-typography-ctahdg-text-transform:none;--e-global-typography-ctahdg-font-style:normal;--e-global-typography-ctahdg-text-decoration:none;--e-global-typography-ctahdg-line-height:1.04em;--e-global-typography-ctahdg-letter-spacing:-0.03em;--e-global-typography-ctahdg-word-spacing:0px;--e-global-typography-pilllnk-font-family:"Sofia Sans";--e-global-typography-pilllnk-font-size:0.875rem;--e-global-typography-pilllnk-font-weight:600;--e-global-typography-pilllnk-text-transform:none;--e-global-typography-pilllnk-font-style:normal;--e-global-typography-pilllnk-text-decoration:none;--e-global-typography-pilllnk-line-height:1em;--e-global-typography-pilllnk-letter-spacing:0px;--e-global-typography-pilllnk-word-spacing:0px;--e-global-typography-frmfld-font-family:"Sofia Sans";--e-global-typography-frmfld-font-size:1rem;--e-global-typography-frmfld-font-weight:400;--e-global-typography-frmfld-text-transform:none;--e-global-typography-frmfld-font-style:normal;--e-global-typography-frmfld-text-decoration:none;--e-global-typography-frmfld-line-height:1.4em;--e-global-typography-frmfld-letter-spacing:0px;--e-global-typography-frmfld-word-spacing:0px;--e-global-typography-chklbl-font-family:"Sofia Sans";--e-global-typography-chklbl-font-size:0.84375rem;--e-global-typography-chklbl-font-weight:500;--e-global-typography-chklbl-text-transform:none;--e-global-typography-chklbl-font-style:normal;--e-global-typography-chklbl-text-decoration:none;--e-global-typography-chklbl-line-height:1.5em;--e-global-typography-chklbl-letter-spacing:0px;--e-global-typography-chklbl-word-spacing:0px;--e-global-typography-crdlbl-font-family:"Sofia Sans";--e-global-typography-crdlbl-font-size:0.75rem;--e-global-typography-crdlbl-font-weight:500;--e-global-typography-crdlbl-text-transform:none;--e-global-typography-crdlbl-font-style:normal;--e-global-typography-crdlbl-text-decoration:none;--e-global-typography-crdlbl-line-height:1.4em;--e-global-typography-crdlbl-letter-spacing:0px;--e-global-typography-usplst-font-family:"Sofia Sans";--e-global-typography-usplst-font-size:1rem;--e-global-typography-usplst-font-weight:400;--e-global-typography-usplst-text-transform:none;--e-global-typography-usplst-font-style:normal;--e-global-typography-usplst-text-decoration:none;--e-global-typography-usplst-line-height:1.4em;--e-global-typography-usplst-letter-spacing:0px;--e-global-typography-fntnte-font-family:"Sofia Sans";--e-global-typography-fntnte-font-size:0.875rem;--e-global-typography-fntnte-font-weight:400;--e-global-typography-fntnte-text-transform:none;--e-global-typography-fntnte-font-style:normal;--e-global-typography-fntnte-text-decoration:none;--e-global-typography-fntnte-line-height:1.5em;--e-global-typography-fntnte-letter-spacing:0px;--e-global-typography-ebwbold-font-family:"Sofia Sans";--e-global-typography-ebwbold-font-size:0.75rem;--e-global-typography-ebwbold-font-weight:600;--e-global-typography-ebwbold-text-transform:uppercase;--e-global-typography-ebwbold-font-style:normal;--e-global-typography-ebwbold-text-decoration:none;--e-global-typography-ebwbold-line-height:1.35em;--e-global-typography-ebwbold-letter-spacing:1.2px;--e-global-typography-ebwbold-word-spacing:0px;--e-global-typography-herold-font-family:"Sofia Sans";--e-global-typography-herold-font-size:clamp(1.0625rem, 0.875rem + 0.39vw, 1.125rem);--e-global-typography-herold-font-weight:400;--e-global-typography-herold-line-height:1.6em;--e-global-typography-chplbl-font-family:"Sofia Sans";--e-global-typography-chplbl-font-size:0.75rem;--e-global-typography-chplbl-font-weight:600;--e-global-typography-chplbl-text-transform:uppercase;--e-global-typography-chplbl-font-style:normal;--e-global-typography-chplbl-text-decoration:none;--e-global-typography-chplbl-line-height:1.35em;--e-global-typography-chplbl-letter-spacing:0.72px;--e-global-typography-chplbl-word-spacing:0px;--e-global-typography-faqq-font-family:"Sofia Sans Condensed";--e-global-typography-faqq-font-size:clamp(1.03125rem, 0.75rem + 0.586vw, 1.125rem);--e-global-typography-faqq-font-weight:700;--e-global-typography-faqq-text-transform:none;--e-global-typography-faqq-font-style:normal;--e-global-typography-faqq-text-decoration:none;--e-global-typography-faqq-line-height:1.3em;--e-global-typography-faqq-letter-spacing:-0.27px;--e-global-typography-faqq-word-spacing:0px;--e-global-typography-crdeyeb-font-family:"Sofia Sans";--e-global-typography-crdeyeb-font-size:0.75rem;--e-global-typography-crdeyeb-font-weight:600;--e-global-typography-crdeyeb-text-transform:uppercase;--e-global-typography-crdeyeb-font-style:normal;--e-global-typography-crdeyeb-text-decoration:none;--e-global-typography-crdeyeb-line-height:1.4em;--e-global-typography-crdeyeb-letter-spacing:0.96px;--e-global-typography-crdeyeb-word-spacing:0px;--e-global-typography-bcklnk-font-family:"Sofia Sans";--e-global-typography-bcklnk-font-size:0.875rem;--e-global-typography-bcklnk-font-weight:500;--e-global-typography-bcklnk-line-height:1.4em;--e-global-typography-bcklnk-letter-spacing:0px;--e-global-typography-vidlbl-font-family:"Sofia Sans";--e-global-typography-vidlbl-font-size:0.78125rem;--e-global-typography-vidlbl-font-weight:600;--e-global-typography-vidlbl-text-transform:none;--e-global-typography-vidlbl-font-style:normal;--e-global-typography-vidlbl-text-decoration:none;--e-global-typography-vidlbl-line-height:1.4em;--e-global-typography-vidlbl-letter-spacing:0px;--e-global-typography-chklst-font-family:"Sofia Sans";--e-global-typography-chklst-font-size:15px;--e-global-typography-chklst-font-weight:500;--e-global-typography-chklst-text-transform:none;--e-global-typography-chklst-font-style:normal;--e-global-typography-chklst-text-decoration:none;--e-global-typography-chklst-line-height:1.4em;--e-global-typography-chklst-letter-spacing:0px;--e-global-typography-loch3-font-family:"Sofia Sans Condensed";--e-global-typography-loch3-font-size:1.25rem;--e-global-typography-loch3-font-weight:700;--e-global-typography-loch3-text-transform:none;--e-global-typography-loch3-font-style:normal;--e-global-typography-loch3-text-decoration:none;--e-global-typography-loch3-line-height:1.2em;--e-global-typography-loch3-letter-spacing:-0.4px;--e-global-typography-ctcval-font-family:"Sofia Sans";--e-global-typography-ctcval-font-size:1.0625rem;--e-global-typography-ctcval-font-weight:700;--e-global-typography-ctcval-text-transform:none;--e-global-typography-ctcval-font-style:normal;--e-global-typography-ctcval-text-decoration:none;--e-global-typography-ctcval-line-height:1.4em;--e-global-typography-ctcval-letter-spacing:-0.255px;--e-global-typography-smlval-font-family:"Sofia Sans";--e-global-typography-smlval-font-size:0.9375rem;--e-global-typography-smlval-font-weight:700;--e-global-typography-smlval-text-transform:none;--e-global-typography-smlval-font-style:normal;--e-global-typography-smlval-text-decoration:none;--e-global-typography-smlval-line-height:1.4em;--e-global-typography-smlval-letter-spacing:-0.225px;--e-global-typography-prsetxt-font-family:"Sofia Sans";--e-global-typography-prsetxt-font-size:1rem;--e-global-typography-prsetxt-font-weight:400;--e-global-typography-prsetxt-text-transform:none;--e-global-typography-prsetxt-font-style:normal;--e-global-typography-prsetxt-text-decoration:none;--e-global-typography-prsetxt-line-height:1.7em;--e-global-typography-prsetxt-letter-spacing:0px;--e-global-typography-h2sml-font-family:"Sofia Sans Condensed";--e-global-typography-h2sml-font-size:2rem;--e-global-typography-h2sml-font-weight:700;--e-global-typography-h2sml-text-transform:none;--e-global-typography-h2sml-font-style:normal;--e-global-typography-h2sml-text-decoration:none;--e-global-typography-h2sml-line-height:1.1em;--e-global-typography-h2sml-letter-spacing:-0.03em;--e-global-typography-h2med-font-family:"Sofia Sans Condensed";--e-global-typography-h2med-font-size:2.25rem;--e-global-typography-h2med-font-weight:700;--e-global-typography-h2med-text-transform:none;--e-global-typography-h2med-font-style:normal;--e-global-typography-h2med-text-decoration:none;--e-global-typography-h2med-line-height:1.1em;--e-global-typography-h2med-letter-spacing:-0.03em;--e-global-typography-plclbl-font-family:"Sofia Sans";--e-global-typography-plclbl-font-size:1.0625rem;--e-global-typography-plclbl-font-weight:600;--e-global-typography-plclbl-text-transform:none;--e-global-typography-plclbl-font-style:normal;--e-global-typography-plclbl-text-decoration:none;--e-global-typography-plclbl-line-height:1.3em;--e-global-typography-plclbl-letter-spacing:0px;--e-global-typography-plclbl-word-spacing:0px;--e-global-typography-bigfig-font-family:"Sofia Sans Condensed";--e-global-typography-bigfig-font-size:clamp(3rem, 2rem + 3vw, 4.5rem);--e-global-typography-bigfig-font-weight:700;--e-global-typography-bigfig-line-height:1em;--e-global-typography-bigfig-letter-spacing:-0.015em;color:var( --e-global-color-text );font-family:var( --e-global-typography-bodytxt-font-family ), Sans-serif;font-size:var( --e-global-typography-bodytxt-font-size );font-weight:var( --e-global-typography-bodytxt-font-weight );line-height:var( --e-global-typography-bodytxt-line-height );word-spacing:var( --e-global-typography-bodytxt-word-spacing );}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{background-color:var( --e-global-color-primary );font-family:var( --e-global-typography-btnfont-font-family ), Sans-serif;font-size:var( --e-global-typography-btnfont-font-size );font-weight:var( --e-global-typography-btnfont-font-weight );line-height:var( --e-global-typography-btnfont-line-height );letter-spacing:var( --e-global-typography-btnfont-letter-spacing );word-spacing:var( --e-global-typography-btnfont-word-spacing );color:var( --e-global-color-wit );border-style:none;border-radius:5px 5px 5px 5px;padding:16px 26px 16px 26px;}.elementor-kit-6 button:hover,.elementor-kit-6 button:focus,.elementor-kit-6 input[type="button"]:hover,.elementor-kit-6 input[type="button"]:focus,.elementor-kit-6 input[type="submit"]:hover,.elementor-kit-6 input[type="submit"]:focus,.elementor-kit-6 .elementor-button:hover,.elementor-kit-6 .elementor-button:focus{background-color:var( --e-global-color-accent );color:var( --e-global-color-wit );border-radius:5px 5px 5px 5px;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 a{color:var( --e-global-color-secondary );}.elementor-kit-6 a:hover{color:var( --e-global-color-primary );}.elementor-kit-6 h1{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-6 h2{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-kit-6 h3{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-kit-6 h4{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1440px;}.e-con{--container-max-width:1440px;--container-default-padding-top:clamp(3rem, -2.2rem + 11vw, 5rem);--container-default-padding-right:clamp(1.25rem, -2.48rem + 7.78vw, 2.5rem);--container-default-padding-bottom:clamp(3rem, -2.2rem + 11vw, 5rem);--container-default-padding-left:clamp(1.25rem, -2.48rem + 7.78vw, 2.5rem);}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-6{--e-global-typography-h2med-font-size:2rem;font-size:var( --e-global-typography-bodytxt-font-size );line-height:var( --e-global-typography-bodytxt-line-height );word-spacing:var( --e-global-typography-bodytxt-word-spacing );}.elementor-kit-6 h1{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-6 h2{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-kit-6 h3{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-kit-6 h4{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-size:var( --e-global-typography-btnfont-font-size );line-height:var( --e-global-typography-btnfont-line-height );letter-spacing:var( --e-global-typography-btnfont-letter-spacing );word-spacing:var( --e-global-typography-btnfont-word-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-6{--e-global-typography-mcreyeb-font-size:0.625rem;--e-global-typography-mcreyeb-letter-spacing:0.5px;--e-global-typography-h2sml-font-size:1.625rem;--e-global-typography-h2med-font-size:1.75rem;font-size:var( --e-global-typography-bodytxt-font-size );line-height:var( --e-global-typography-bodytxt-line-height );word-spacing:var( --e-global-typography-bodytxt-word-spacing );}.elementor-kit-6 h1{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-6 h2{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-kit-6 h3{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-kit-6 h4{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-size:var( --e-global-typography-btnfont-font-size );line-height:var( --e-global-typography-btnfont-line-height );letter-spacing:var( --e-global-typography-btnfont-letter-spacing );word-spacing:var( --e-global-typography-btnfont-word-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* Start of Elementor Helper Classes */
.pt-0 {
  --padding-block-start: 0 !important;
}
.pb-0 {
  --padding-block-end: 0 !important;
}
.py-0 {
  --padding-block-start: 0 !important;
  --padding-block-end: 0 !important;
}
.pt-min {
  --padding-block-start: 50px !important;
}
.pb-min {
  --padding-block-end: 50px !important;
}
.py-min {
  --padding-block-start: 50px !important;
  --padding-block-end: 50px !important;
}
/* End Elementor Helper Classes */

/* Start of Elementor Custom Container Padding */
.hero-section {
  --padding-block-start: clamp(8.625rem, 7.339rem + 6.43vw, 13.125rem);
}
/* End Elementor Default Section Padding */

/* Start of Normalise Text Editor Widget Spacing */
.elementor-widget-text-editor ol,
.elementor-widget-text-editor ul {
  margin-bottom: 1em;
}
.elementor-widget-text-editor ol:last-child,
.elementor-widget-text-editor ul:last-child,
.elementor-widget-text-editor p:last-child {
  margin-bottom: 0;
}
/* End Normalise Text Editor Widget Spacing */

/**
 * Custom Link Text Decoration Styles
 */
.elementor-widget-text-editor a, .elementor-icon-box-description a {
  text-decoration: underline ;
  text-underline-offset: 3px;
}

.elementor-widget-text-editor strong, .elementor-icon-box-description strong, .elementor-icon-list-text strong {
    font-weight: 500;
}
/* End Custom Link Text Decoration Styles */

/*Start Custom Image Styles*/
.elementor-widget-image img,
.elementor-posts .elementor-post__thumbnail,
.elementor-image-gallery img {
    border-radius: 8px;
}
/*End Custom Image Styles*/

/*Start Of Form Styles*/
.elementor-button[type="submit"] {
    margin-top: 10px;
}
/*End Of Form Styles*/

/* Start of Fit Content Container */
.fit-content {
  width: auto !important;
  height: auto !important;
  flex: 0 0 auto !important;
  align-self: flex-start !important;
}

.fit-content-center {
  width: auto !important;
  height: auto !important;
  flex: 0 0 auto !important;
  align-self: center !important;
}
/* End of Fit Content Container */

/*Start of Icon Box Styles*/
.mt-neg .elementor-icon-box-title {
  margin-top: -4px;
}

.mt-0 .elementor-icon-box-title {
  margin-top: 0;
}

@media (max-width: 767px) {
  .mt-0-mob .elementor-icon-box-title {
    margin-top: 0;
  }
}
/*End of Icon Box Styles*/

/* Start of make image widget fill container height */
.image-fill,
.image-fill .elementor-widget-container,
.image-fill .elementor-image,
.image-fill .elementor-image a {
  height: 100%;
}

.image-fill img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}
/* End of make image widget fill container height */

/* Start of hide recapcha */
.grecaptcha-badge {
  visibility: hidden !important;
}
/* End of hide recapcha */

/* Start of Jongsma interactive states */
.elementor-button {
    transition: background-color 200ms ease, border-color 200ms ease, color 200ms ease;
}

/* Wout: text links lose the underline on hover and turn red instead. */
a:hover:not(.elementor-item):not(.elementor-sub-item):not(.elementor-button) {
    text-decoration: none;
    color: var( --e-global-color-primary );
}

a.elementor-button:hover,
.elementor-button:hover {
    text-decoration: none;
}

a:focus-visible,
button:focus-visible,
.elementor-button:focus-visible {
    outline: 2px solid var(--e-global-color-primary);
    outline-offset: 3px;
}

input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 2px solid var(--e-global-color-secondary);
    outline-offset: -2px;
}

@media (prefers-reduced-motion: reduce) {
    .elementor-button {
        transition: none;
    }
}
/* End of Jongsma interactive states */

/* Start of Jongsma sticky header */
/* The theme-builder header wrapper is only as tall as the header itself, which leaves
   position:sticky almost no range. display:contents removes that box so the sticky
   header resolves against <body>, while the utility bar above it still scrolls away. */
.elementor-location-header {
    display: contents;
}
/* End of Jongsma sticky header */

/* Start of Jongsma stacked label pairs */
/* Elementor renders .elementor-heading-title as display:inline, so a heading widget's
   wrapper inherits the body line-height instead of the heading's own. That inflates
   stacked label pairs such as the trust strip. */
.jg-stack .elementor-heading-title {
    display: block;
}
/* End of Jongsma stacked label pairs */

/* Start of Jongsma text wrapping */
/* The reference balances every heading and uses pretty for body copy. Reproducing it here
   keeps line breaks identical without hard-coding a <br> in any heading. */
.elementor-widget-heading .elementor-heading-title,
.elementor-widget-icon-box .elementor-icon-box-title {
    text-wrap: balance;
}

.elementor-widget-text-editor p,
.elementor-widget-icon-box .elementor-icon-box-description {
    text-wrap: pretty;
}
/* End of Jongsma text wrapping */

/* Start of Jongsma button variants */
/* The RED button is the main button and lives in Site Settings > Buttons - it is not
   repeated here. These two variants are the only other button treatments on the site.
   Add the class to the widget (Advanced > CSS Classes) and leave the widget's own colour
   fields empty, otherwise the per-element CSS out-specifies these rules. */

/* Black pill - service cards, audience cards */
.btn-black .elementor-button {
    background-color: var( --e-global-color-secondary );
    color: var( --e-global-color-wit );
    border-radius: 5px;
    padding: 9px 14px;
}

.btn-black .elementor-button:hover,
.btn-black .elementor-button:focus {
    background-color: var( --e-global-color-primary );
    color: var( --e-global-color-wit );
}

/* Outlined button on dark grounds - contact band */
.btn-outline .elementor-button {
    background-color: var( --e-global-color-ghstvul );
    color: var( --e-global-color-wit );
    border: 1px solid var( --e-global-color-hrldn32 );
    border-radius: 5px;
    padding: 16px 22px;
    min-height: 50px;
}

.btn-outline .elementor-button:hover,
.btn-outline .elementor-button:focus {
    background-color: var( --e-global-color-vlkdn12 );
    color: var( --e-global-color-wit );
    border-color: var( --e-global-color-hrldnhv );
}
/* End of Jongsma button variants */

/* Start of Jongsma inline rule link */
/* Text link that carries a red rule instead of an underline. !important is needed because
   the site-wide a:hover underline above carries four classes worth of specificity. */
.link-underline a {
    text-decoration: none;
    border-bottom: 1px solid var( --e-global-color-primary );
    padding-bottom: 2px;
    transition: color 180ms ease, border-bottom-color 180ms ease;
}

/* Elementor's heading colour rule also targets the anchor (.elementor-heading-title a),
   which carries four classes. The variant must out-specify it or the hover colour is ignored. */
.elementor-widget-heading.link-underline .elementor-heading-title a:hover,
.elementor-widget-heading.link-underline .elementor-heading-title a:focus,
.link-underline a:hover,
.link-underline a:focus {
    text-decoration: none !important;
    color: var( --e-global-color-primary );
    border-bottom-color: var( --e-global-color-primary );
}
/* End of Jongsma inline rule link */

/* Start of Jongsma inline rule link on dark */
/* Same treatment as .link-underline but for dark grounds: the rule is a white tint instead of
   red, and the widget keeps its own text colour. Override the tint per widget by setting
   --jg-rule-color on the link; it defaults to the 20% hairline the reference uses. */
.link-underline-dark a {
    text-decoration: none;
    border-bottom: 1px solid var( --jg-rule-color, var( --e-global-color-hrldn20 ) );
    padding-bottom: 1px;
    transition: color 180ms ease, border-bottom-color 180ms ease;
}

/* Elementor's own heading and text-editor colour rules carry enough classes to beat a plain
   variant .elementor-kit-6, so the hover states are written one class heavier. */
.elementor-widget.link-underline-dark .elementor-heading-title a:hover,
.elementor-widget.link-underline-dark .elementor-heading-title a:focus,
.elementor-widget.elementor-widget-text-editor.link-underline-dark a:hover,
.elementor-widget.elementor-widget-text-editor.link-underline-dark a:focus,
.link-underline-dark a:hover,
.link-underline-dark a:focus {
    text-decoration: none !important;
    color: var( --e-global-color-primary );
    border-bottom-color: var( --e-global-color-primary );
}
/* End of Jongsma inline rule link on dark */

/* Start of Jongsma inline text link */
/* Plain inline link with no rule of its own - it keeps the site's default underline
   affordance and simply turns red on hover. The underline follows currentColor, so it
   turns red too. Used for the footer credit link. */
.elementor-widget.link-red-hover .elementor-heading-title a:hover,
.elementor-widget.link-red-hover .elementor-heading-title a:focus,
.elementor-widget.link-red-hover a:hover,
.elementor-widget.link-red-hover a:focus,
.link-red-hover a:hover,
.link-red-hover a:focus {
    color: var( --e-global-color-primary );
}
/* End of Jongsma inline text link */

/* Start of Jongsma service card — whole-card hover for the Diensten cards (home carousel + Diensten grid) */
/* Stroke hover removed 23-09-2026 on Wout's request: the hairline stays; photo zoom and red button remain. */
.elementor .e-con.svc-card > .e-con:first-child {
    transition: transform 700ms cubic-bezier(0.2, 0.7, 0.2, 1);
}
.elementor .e-con.svc-card:hover > .e-con:first-child {
    transform: scale(1.045);
}
.elementor .e-con.svc-card .elementor-button {
    transition: background-color 200ms ease;
}
.elementor .e-con.svc-card:hover .elementor-button {
    background-color: var( --e-global-color-primary );
}
@media (prefers-reduced-motion: reduce) {
    .elementor .e-con.svc-card > .e-con:first-child {
        transition: none;
    }
}
/* End of Jongsma service card */

/* Start of Jongsma project single — tick list in the ACF story text, and empty photo/step slots stay hidden until an editor fills them */
.jg-ticklist ul {
    list-style: none;
    padding: 0;
    margin: 28px 0 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.jg-ticklist li {
    position: relative;
    padding-left: 36px;
    min-height: 24px;
    font-size: var( --e-global-typography-qtetxt-font-size );
    line-height: 24px;
    color: var( --e-global-color-secondary );
}
.jg-ticklist li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background-color: var( --e-global-color-rdtnt10 );
    border: 1px solid var( --e-global-color-rdrnd22 );
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 24 24' fill='none' stroke='%2314171A' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center center;
    box-sizing: border-box;
}
.proj-fotokaart:not(:has(.elementor-widget-heading)),
.proj-stap:not(:has(h3)) {
    display: none;
}
.proj-fotos:not(:has(.proj-fotokaart .elementor-widget-heading)),
.proj-stappen:not(:has(.proj-stap h3)),
.proj-opdracht:not(:has(.jg-ticklist p)) {
    display: none;
}
/* End of Jongsma project single */

/* Start of Jongsma filter chips — the kit's global button:hover/focus styles outrank the Taxonomy Filter's own rule and reshape the chips (radius 999 -> 5). Keep the widget radius in every state. */
.elementor-widget-taxonomy-filter .e-filter-item:hover,
.elementor-widget-taxonomy-filter .e-filter-item:focus,
.elementor-widget-taxonomy-filter .e-filter-item:active,
.elementor-widget-taxonomy-filter .e-filter-item[aria-pressed="true"] {
    border-radius: var( --e-filter-item-border-radius );
    box-shadow: none;
}
/* End of Jongsma filter chips */

/* Start of Jongsma video cards — YouTube thumbnail cards on Over Jongsma: the photo layer zooms on hover (reference .card:hover .zoom img scale 1.04) */
.elementor .e-con.jg-video .jg-video-photo {
    transition: transform 700ms cubic-bezier(0.2, 0.7, 0.2, 1);
}
.elementor .e-con.jg-video:hover .jg-video-photo {
    transform: scale(1.04);
}
@media (prefers-reduced-motion: reduce) {
    .elementor .e-con.jg-video .jg-video-photo {
        transition: none;
    }
}
/* End of Jongsma video cards */

/* Start of Jongsma inline rule link - icon-list variant */
/* .link-underline on an Icon List (text + arrow, e.g. "Bekijk meer projecten" on Over Jongsma): the anchor is the
   flex box holding icon and text, so the shared rule would run under the arrow too. Move the red rule to the
   text span; colours (ink at rest, red on hover for text and icon) come from the widget's own global links. */
.elementor-widget-icon-list.link-underline .elementor-icon-list-item > a {
    border-bottom: none;
    padding-bottom: 0;
}

.elementor-widget-icon-list.link-underline .elementor-icon-list-text {
    border-bottom: 1px solid var( --e-global-color-primary );
    padding-bottom: 2px;
    transition: color 180ms ease, border-bottom-color 180ms ease;
}

.elementor-widget-icon-list.link-underline .elementor-icon-list-icon i {
    transition: color 180ms ease;
}
/* End of Jongsma inline rule link - icon-list variant */


/* Start of Jongsma chip icon */
/* Icon widget inside a square chip container (Contactgegevens rows on Contact): the widget's
   .elementor-icon-wrapper keeps the body line box (24px + baseline), so an 18px glyph sits 4px above
   the chip's centre. Make the wrapper a flex box with no line box. */
.elementor-widget-icon.jg-chip-icon .elementor-icon-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.elementor-widget-icon.jg-chip-icon .elementor-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}
/* End of Jongsma chip icon */


/* Start of Jongsma root template spacing */
/* Section templates (272, 275, 269, 289) sit as Template widgets at the document root so they keep
   their Site Settings padding - but Elementor gives every widget that is not the last child a 20px
   margin-bottom, which opened a 20px gap under each of those sections (a white strip under the ink
   Werkwijze band on Home, 20px too much above the FAQ on Contact). The reference has no gap. */
.elementor > .elementor-widget-template.elementor-widget {
    margin-bottom: 0;
    margin-block-end: 0;
}
/* End of Jongsma root template spacing */


/* Start of Jongsma prose links */
/* Long-form copy on the service pages: inline links are ink, 600, with the red rule instead of an underline
   (reference a { color:#14171A; font-weight:600; border-bottom:1px solid #FF0006; padding-bottom:1px }), red on hover
   per Wout's text-link rule. Also the h3 rhythm inside the same text block (reference margin 32px 0 12px). */
.elementor-widget-text-editor.jg-prose a {
    color: var( --e-global-color-secondary );
    font-weight: 600;
    text-decoration: none;
    border-bottom: 1px solid var( --e-global-color-primary );
    padding-bottom: 1px;
    transition: color 180ms ease;
}

.elementor-widget-text-editor.jg-prose a:hover,
.elementor-widget-text-editor.jg-prose a:focus {
    color: var( --e-global-color-primary );
    text-decoration: none;
}

.elementor-widget-text-editor.jg-prose h3 {
    margin: 32px 0 12px;
}
/* End of Jongsma prose links */


/* Start of Jongsma callout */
/* Emphasised paragraph with a 2px red rule on the left (reference border-left:2px solid #FF0006; padding-left:22px).n   On the widget itself: Elementor's optimized DOM renders no .elementor-widget-container wrapper. */
.elementor-widget-text-editor.jg-callout {
    border-left: 2px solid var( --e-global-color-primary );
    padding-left: 22px;
}
/* End of Jongsma callout */

/* Jongsma eyebrow clamp */
/* The project-card eyebrow (loop item 353, heading e6f7a8b) lists every project_dienst term. A project tagged with
   several services would wrap to 2-3 lines and push the title down on that card only; keep it on one line with an
   ellipsis. header_size is span, so display:block is needed for text-overflow to apply. */
.elementor-widget-heading.jg-clamp1 .elementor-heading-title {
    display: block;
    max-width: 100%;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
/* End of Jongsma eyebrow clamp */


/* Jongsma place link */
/* Location chips in the 'Ook in de omgeving van ...' band. They ARE black pills, so they carry .btn-black
   for colour and red hover; this class only adds the layout the chip needs. Built as Button widgets because
   a container's static Link setting does NOT render an anchor in this Elementor build (only a dynamic-tag
   link does). The button's only child is .elementor-button-content-wrapper, so space-between on the button
   itself does nothing - the wrapper has to be stretched as well, or label and arrow bunch up on the left. */
.elementor-widget-button.jg-place .elementor-button {
    display: flex;
    width: 100%;
    min-height: 64px;
    align-items: center;
    transition: background-color .25s ease, color .25s ease;
}
.elementor-widget-button.jg-place .elementor-button-content-wrapper {
    width: 100%;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.elementor-widget-button.jg-place .elementor-button-icon {
    color: var( --e-global-color-txtdnk );
    flex: 0 0 auto;
    transition: color .25s ease;
}
.elementor-widget-button.jg-place .elementor-button:hover .elementor-button-icon,
.elementor-widget-button.jg-place .elementor-button:focus .elementor-button-icon {
    color: var( --e-global-color-wit );
}
@media (max-width: 767px) {
    .elementor-widget-button.jg-place .elementor-button { min-height: 56px; }
}
/* End of Jongsma place link */

/* Jongsma stat row */
/* The three-up facts under 'Vrijwilligerswerk in Oeganda': a rule above the row and a vertical rule
   between the cells. The reference gives cells 1 and 2 no left padding, so their neighbour's label sits
   hard against the divider while only the last cell has clearance - corrected here to 24px on both
   sides of every rule, with the first and last cell still flush to the column edges.
   On phones the row stacks, so the vertical rules become horizontal ones, as the reference also does. */
.e-con.jg-statrow {
    border-top: 1px solid var( --e-global-color-hairln );
}
.e-con.jg-statrow > .e-con {
    padding: 18px 24px;
    border-right: 1px solid var( --e-global-color-hairln );
}
.e-con.jg-statrow > .e-con:first-child {
    padding-left: 0;
}
.e-con.jg-statrow > .e-con:last-child {
    padding-right: 0;
    border-right: 0;
}
@media (max-width: 767px) {
    .e-con.jg-statrow > .e-con {
        padding: 16px 0;
        border-right: 0;
        border-bottom: 1px solid var( --e-global-color-hairln );
    }
    .e-con.jg-statrow > .e-con:last-child {
        border-bottom: 0;
    }
}
/* End of Jongsma stat row */


/* Jongsma dienstkaarten carousel */
/* Pijlen onder de track, gelijk aan de carousel op de homepage (sectie 272).
   Staat hier en niet in de widget, omdat Elementor de per-widget Custom CSS
   van een via de Template-widget ingevoegde sectie niet meecompileert.
   !important is nodig: Elementors eigen widget-CSS (.elementor-widget-n-carousel
   .elementor-swiper-button.elementor-swiper-button-prev) heeft hogere specificiteit. */
.svc-carousel{padding-bottom:68px}
.svc-carousel .elementor-swiper-button{position:absolute!important;top:auto!important;bottom:0!important;left:auto!important;right:auto!important;margin:0!important;transform:none!important;width:auto!important;height:auto!important}
.svc-carousel .elementor-swiper-button-prev{right:60px!important}
.svc-carousel .elementor-swiper-button-next{right:0!important}
.svc-carousel .elementor-swiper-button.swiper-button-disabled{opacity:.35;cursor:default;pointer-events:none}
@media (max-width:767px){.svc-carousel .e-n-carousel.swiper{padding-right:121px}}


/* Jongsma formuliervelden 50px */
/* Elementors presets geven 47px (md) of 59px (lg); 50px is afgesproken.
   min-height i.p.v. height zodat de textarea gewoon kan meegroeien. */
.elementor-field-textual.elementor-size-md{min-height:50px}
textarea.elementor-field-textual.elementor-size-md{min-height:120px}

/* Jongsma header verbergen bij scrollen omlaag */
/* Elementor heeft hier geen instelling voor; de klasse wordt gezet door het
   Custom Code-snippet 'Header verbergen bij scrollen omlaag'.
   -200% omdat de header op top:44px plakt, dus 100% van de eigen hoogte is niet genoeg. */
.jg-hdr-auto{transition:transform .28s ease}
.jg-hdr-auto.jg-hdr-hidden{transform:translateY(-200%)}
@media (prefers-reduced-motion:reduce){.jg-hdr-auto{transition:none}}


/* Jongsma taplocaties */
/* Alleen de knoppen en de contactlinks; de footernavigatie blijft 24px.
   WCAG 2.2 AA vraagt 24x24 px, niet 44 -- die 44 komt uit AAA en de Apple HIG.
   De 23 footerlinks op 44px zetten zou de footer op mobiel ruim 370px langer maken
   voor een verbetering die de norm niet vraagt. */
.btn-black .elementor-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
footer a[href^="tel:"],footer a[href^="mailto:"]{min-height:44px;display:inline-flex;align-items:center}


/* Footer Facebook row: icon plus the label 'Volg ons op Facebook' (Reymar, 23-09-2026; replaces Wout's icon-only choice of 18-09). */
/* ============================================================
   Actiebalk onderin op tablet en mobiel (mockup Thom, 21-09-2026).
   Drie knoppen: bellen (Asfalt Zwart) - WhatsApp, alleen icoon (WhatsApp Groen) - Prijs aanvragen (Jongsma Rood).
   De inhoud staat in de footer-template (61) als laatste container met klasse .jg-balk; alle opmaak staat hier.
   Staat bij laden onder het scherm en schuift pas omhoog (.jg-aan) zodra de bezoeker 20% van de pagina
   heeft gescrold, dezelfde drempel als de balk op wijdekkendaken.nl; verdwijnt weer zodra een formulier in
   beeld is, zodat hij nooit een verzendknop afdekt. Snippet "Actiebalk: tonen na 20% scrollen, verbergen bij
   formulier". Op desktop (>= 1025px) bestaat hij niet.
   ============================================================ */
@media (max-width: 1024px) {
    body { padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px)); }

    .e-con.jg-balk {
        --position: fixed; position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
        --flex-direction: row; --flex-wrap: nowrap; --align-items: stretch; --justify-content: flex-start;
        --widgets-spacing: 8px 8px; --widgets-spacing-row: 8px; --widgets-spacing-column: 8px; --gap: 8px; gap: 8px;
        --padding-block-start: 10px; --padding-block-end: calc(10px + env(safe-area-inset-bottom, 0px));
        --padding-inline-start: max(12px, calc((100% - 430px) / 2)); --padding-inline-end: max(12px, calc((100% - 430px) / 2));
        --width: 100%; --min-height: 0; width: 100%; max-width: none; margin: 0;
        box-sizing: border-box; height: calc(64px + env(safe-area-inset-bottom, 0px));
        background-color: var( --e-global-color-wit );
        border-top: 1px solid var( --e-global-color-hairln );
        transition: transform .3s ease;                  /* zelfde timing als wijdekkendaken.nl */
    }
    .e-con.jg-balk { transform: translateY(110%); }          /* standaard: onder het scherm */
    .e-con.jg-balk.jg-aan { transform: none; }               /* na 20% scrollen, geen formulier in beeld */

    /* verhouding van de drie knoppen: 1.2 : vast 54px : 1.1, precies als in de mockup */
    .e-con.jg-balk > .elementor-widget-button { --container-widget-width: auto; --flex-grow: 1; --flex-shrink: 1; --flex-basis: 0%; flex: 1 1 0; width: auto; min-width: 0; margin: 0; }
    .e-con.jg-balk > .jg-balk-bel { --flex-grow: 1.2; flex-grow: 1.2; }
    .e-con.jg-balk > .jg-balk-wa  { --flex-grow: 0; --flex-shrink: 0; --flex-basis: 54px; flex: 0 0 54px; }
    .e-con.jg-balk > .jg-balk-off { --flex-grow: 1.1; flex-grow: 1.1; }

    .e-con.jg-balk .elementor-widget-container, .e-con.jg-balk .elementor-button-wrapper { height: 100%; }
    .e-con.jg-balk .elementor-button {
        display: flex; align-items: center; justify-content: center; gap: 6px;
        width: 100%; height: 100%; min-height: 44px; padding: 0 8px; border: 0; border-radius: 5px;
        font-size: 13.5px; font-weight: 700; line-height: 1; letter-spacing: 0; text-decoration: none; white-space: nowrap;
        color: var( --e-global-color-wit ); fill: var( --e-global-color-wit );
    }
    .e-con.jg-balk .elementor-button:hover, .e-con.jg-balk .elementor-button:focus-visible { color: var( --e-global-color-wit ); }
    .e-con.jg-balk .elementor-button-content-wrapper { display: flex; align-items: center; justify-content: center; gap: 6px; }
    .e-con.jg-balk .elementor-button-icon { display: flex; line-height: 0; font-size: 15px; }
    .e-con.jg-balk .elementor-button-icon svg { width: 15px; height: 15px; fill: currentColor; }
    .e-con.jg-balk .jg-balk-wa .elementor-button-icon { font-size: 17px; }
    .e-con.jg-balk .jg-balk-wa .elementor-button-icon svg { width: 17px; height: 17px; }

    .e-con.jg-balk .jg-balk-bel .elementor-button { background-color: var( --e-global-color-secondary ); }
    .e-con.jg-balk .jg-balk-wa  .elementor-button { background-color: var( --e-global-color-wappgrn ); }
    .e-con.jg-balk .jg-balk-off .elementor-button { background-color: var( --e-global-color-primary ); }
    .e-con.jg-balk .jg-balk-off .elementor-button:hover, .e-con.jg-balk .jg-balk-off .elementor-button:focus-visible { background-color: var( --e-global-color-accent ); }

    /* WhatsApp: alleen het icoon zichtbaar; de tekst blijft in de HTML als toegankelijke naam van de link */
    .e-con.jg-balk .jg-balk-wa .elementor-button-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0; }
}
@media (prefers-reduced-motion: reduce) { .e-con.jg-balk { transition: none; } }

/* svc-card: hele kaart klikbaar (klik wordt in de actiebalk-snippet doorgegeven aan de knop) */
.svc-card { cursor: pointer; }

/* Start of Jongsma video cards - native Video widget */
/* Same zoom as the photo cards, applied to the Video widget's thumbnail overlay; the wrapper clips it so the label below stays put. */
.elementor .e-con.jg-video .elementor-wrapper {
    overflow: hidden;
}
.elementor .e-con.jg-video .elementor-custom-embed-image-overlay {
    transition: transform 700ms cubic-bezier(0.2, 0.7, 0.2, 1);
}
.elementor .e-con.jg-video:hover .elementor-custom-embed-image-overlay {
    transform: scale(1.04);
}
.elementor .e-con.jg-video .elementor-custom-embed-play i,
.elementor .e-con.jg-video .elementor-custom-embed-play svg {
    transition: transform .25s ease;
}
.elementor .e-con.jg-video:hover .elementor-custom-embed-play i,
.elementor .e-con.jg-video:hover .elementor-custom-embed-play svg {
    transform: scale(1.08);
}
@media (prefers-reduced-motion: reduce) {
    .elementor .e-con.jg-video .elementor-custom-embed-image-overlay,
    .elementor .e-con.jg-video .elementor-custom-embed-play i,
.elementor .e-con.jg-video .elementor-custom-embed-play svg {
        transition: none;
    }
}
/* End of Jongsma video cards - native Video widget */

/* Start of Jongsma outline button */
/* Secondary action next to a red button (dakwijzer: "Lees over ..."). Class .jx-btn-lijn comes from the widget markup.
   Hover fills with Asfalt Zwart so the red button beside it stays the only red action.
   Scoped as .elementor a.jx-btn.jx-btn-lijn so it outranks the kit's a:hover:not(...) rule that turns links red. */
.elementor a.jx-btn.jx-btn-lijn {
    background-color: var( --e-global-color-trnsprnt );
    color: var( --e-global-color-secondary );
    border: 1.5px solid var( --e-global-color-secondary );
}
.elementor a.jx-btn.jx-btn-lijn:hover,
.elementor a.jx-btn.jx-btn-lijn:focus-visible {
    background-color: var( --e-global-color-secondary );
    color: var( --e-global-color-wit );
    border-color: var( --e-global-color-secondary );
}
/* End of Jongsma outline button */

/* Start of Dakscan address field focus */
/* One clear state instead of two stacked rings: red border plus a soft red glow. The sitewide focus outline is
   switched off only for this field; the border and glow keep focus visible for keyboard users. */
.elementor .jds input#jds-in:focus,
.elementor .jds input#jds-in:focus-visible {
    outline: none !important;
    border-color: var( --e-global-color-primary );
    box-shadow: 0 0 0 4px var( --e-global-color-rdtnt14 ), 0 10px 30px -18px var( --e-global-color-schdw28 );
}
/* End of Dakscan address field focus */

/* Start of Jongsma heading accent */
/* The promise part of a headline: <span class="jg-accent"> inside a Heading widget.
   Red as a surface, not as ink: one Jongsma-red badge with white text, the way red brands use red (logo, buttons).
   Red text at headline size vibrates and an underline reads as a link. inline-block keeps the badge one rectangle
   when it wraps, instead of two ragged blocks. */
.elementor-widget-heading .elementor-heading-title .jg-accent {
    display: inline-block;
    max-width: 100%;
    background-color: var( --e-global-color-primary );
    color: var( --e-global-color-wit );
    padding: 0.02em 0.26em 0.06em;
    border-radius: 0.12em;
    text-decoration: none;
    vertical-align: baseline;
}

/* Phones: the promise becomes its own line, one badge hugging its words (max-content), so a headline never shows a
   wide red block with a ragged right edge. Desktop keeps the inline rectangle inside the sentence. */
@media (max-width: 767px) {
    .elementor-widget-heading .elementor-heading-title .jg-accent {
        display: block;
        width: max-content;
        max-width: 100%;
        margin-top: 0.14em;
    }
}
/* End of Jongsma heading accent */

/* Start of Jongsma WhatsApp button */
/* Button widget with class btn-wa: WhatsApp green instead of the red primary. */
.elementor-widget-button.btn-wa .elementor-button {
    background-color: var( --e-global-color-wappgrn );
    color: var( --e-global-color-wit );
}
.elementor-widget-button.btn-wa .elementor-button:hover,
.elementor-widget-button.btn-wa .elementor-button:focus {
    background-color: var( --e-global-color-wagrnhv );
    color: var( --e-global-color-wit );
}
/* End of Jongsma WhatsApp button */

/* Start of Jongsma service menu row */
/* Whole row is a link (container with HTML tag a). Title turns red and the chevron nudges on hover. */
.elementor .e-con.jg-menurow {
    text-decoration: none;
    transition: background-color .2s;
}
.elementor .e-con.jg-menurow:hover .elementor-widget-heading:first-child .elementor-heading-title {
    color: var( --e-global-color-primary );
}
.elementor .e-con.jg-menurow .elementor-widget-icon {
    transition: transform .2s;
}
.elementor .e-con.jg-menurow:hover .elementor-widget-icon {
    transform: translateX(3px);
}
/* End of Jongsma service menu row */


/* Start of Jongsma loop carousel */
/* The projects Loop Carousel on Home shares .svc-carousel (arrows under the track, see the dienstkaarten block).
   Its swiper element is .elementor-loop-container, not .e-n-carousel, so the phone peek needs its own .elementor-kit-6. */
.elementor-widget-loop-carousel.svc-carousel > .elementor-widget-container {
    position: relative;
}
@media (max-width: 767px) {
    .svc-carousel .swiper.elementor-loop-container {
        padding-right: 121px;
    }
}
/* End of Jongsma loop carousel */

/* Start of Jongsma fotomuur */
/* Edge-to-edge band of own work under the hero, like the strip on wijdekkendaken.nl. Pure CSS, no JavaScript:
   the track holds two identical photo groups (the second aria-hidden) and shifts by -50% in a 60 s loop, so the
   join is seamless. The section drops the kit gutter to run edge to edge; the caption row carries its own.
   Pauses on hover and stays still for prefers-reduced-motion. */
.elementor .e-con.jg-muur {
    overflow: hidden;
    padding-inline: 0;
}
.elementor .e-con.jg-muur-track {
    animation: jg-muur-loop 60s linear infinite;
    will-change: transform;
}
.elementor .e-con.jg-muur:hover .e-con.jg-muur-track {
    animation-play-state: paused;
}
@keyframes jg-muur-loop {
    to { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
    .elementor .e-con.jg-muur-track {
        animation: none;
    }
}
/* End of Jongsma fotomuur */

/* Start of Jongsma dienstrij */
/* Service menu rows on Diensten: the row carries .svc-card (red button on hover, row click handed to the button)
   plus .jg-dienstrij. The card class zooms its first child, which here is the photo FRAME; move the zoom to the
   image inside the frame so the frame clips it and the row's hairline stays put. */
.elementor .e-con.svc-card.jg-dienstrij > .e-con:first-child,
.elementor .e-con.svc-card.jg-dienstrij:hover > .e-con:first-child {
    transform: none;
    transition: none;
}
.elementor .e-con.jg-dienstrij > .e-con:first-child > .e-con {
    transition: transform 700ms cubic-bezier(0.2, 0.7, 0.2, 1);
}
.elementor .e-con.jg-dienstrij:hover > .e-con:first-child > .e-con {
    transform: scale(1.045);
}
.elementor .e-con.jg-dienstrij .elementor-widget-heading h3 a {
    transition: color 180ms ease;
}
.elementor .e-con.jg-dienstrij:hover .elementor-widget-heading h3 a {
    color: var( --e-global-color-primary );
}
/* anchor targets: land just under the top edge; the header hides on the way down */
.elementor .e-con.jg-dienstrij[id],
.elementor .e-con[id="menu"], .elementor .e-con[id="ook"], .elementor .e-con[id="prijs"], .elementor .e-con[id="dakwijzer"] {
    scroll-margin-top: 24px;
}
@media (prefers-reduced-motion: reduce) {
    .elementor .e-con.jg-dienstrij > .e-con:first-child > .e-con { transition: none; }
}
/* End of Jongsma dienstrij */

/* Start of Jongsma hero problem chips */
/* "Waar gaat het om?" chips in the Diensten hero: .btn-outline colours, one size smaller than the contact-band button.
   They sit over the photo on the right half of the hero, so the fill is a step stronger than the ghost tint and the
   glass blur behind them (same device as the SBS6 chip) keeps the label readable on any part of the picture. */
.elementor .e-con.jg-kies .btn-outline .elementor-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1.2;
    padding: 9px 14px;
    min-height: 40px;
    font-size: 0.875rem;
    background-color: var( --e-global-color-vlkdn12 );
    border-color: var( --e-global-color-hrldn40 );
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
}
.elementor .e-con.jg-kies .btn-outline .elementor-button:hover,
.elementor .e-con.jg-kies .btn-outline .elementor-button:focus {
    background-color: var( --e-global-color-vlkdn18 );
    border-color: var( --e-global-color-hrldnhv );
}
/* End of Jongsma hero problem chips */

/* Start of Jongsma embed blocks */
/* Interactive blocks lifted from the .jp service-page embed (dak-anatomie, levensduurmeter) sit inside a normal
   Elementor container on the native service pages. The container carries the gutter, the vertical rhythm and the
   background, so the embed's own section padding, max-width and grey ground are switched off here. */
.elementor .e-con.jg-embed .jp section {
    padding: 0;
    background: transparent;
}
.elementor .e-con.jg-embed .jp .wrap {
    max-width: none;
    padding: 0;
}
/* The seven-step rail is a fixed 7-column grid in the embed; between the phone layout (2 columns) and 1024 px it
   overflowed the container by ~66 px. Let the columns fit the width instead. */
@media (max-width: 1024px) {
    .elementor .e-con.jg-embed .jp .rail {
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    }
}
/* End of Jongsma embed blocks */






/* jg-native-basis */

/* ---- native Elementor-opbouw (jg_native.py) */
.elementor .e-con.nb-c{--position:static;--flex-wrap-mobile:nowrap;--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;--gap:0px;--row-gap:0px;--column-gap:0px;--width:auto;--container-max-width:none;min-width:0}
.elementor .elementor-element{--kit-widget-spacing:0px}
.elementor .elementor-widget-shortcode.nb-component,.elementor .nb-component>.elementor-widget-container,.elementor .nb-component .elementor-shortcode{display:contents}
.elementor .elementor-heading-title{line-height:inherit}
:where(.elementor) .elementor-widget-heading .elementor-heading-title{color:inherit}
.elementor .elementor-widget-image img{display:block;max-width:100%}
.elementor .nb-knop .elementor-button{background:none;padding:0;border-radius:0;font:inherit;line-height:inherit;color:inherit}
:where(.elementor .elementor-widget-button.nb-knop){display:inline-flex}
.elementor .nb-knop .elementor-button-content-wrapper,.elementor .nb-linkknop .elementor-button-content-wrapper{gap:8px;align-items:center}
.elementor .nb-knop .elementor-button-icon,.elementor .nb-linkknop .elementor-button-icon{margin:0;display:inline-flex}
.elementor .nb-linkknop .elementor-button{background:none;padding:0;border-radius:0;color:inherit;font:inherit;line-height:inherit;min-height:0;box-shadow:none}
.elementor .elementor-widget-icon-list .elementor-icon-list-icon{display:inline-flex;align-items:center}
.elementor .elementor-widget-icon-list .elementor-icon-list-text{color:inherit;padding:0}
.elementor .elementor-icon-list-icon svg.ico,.elementor .elementor-button-icon svg.ico,.elementor .elementor-icon svg.ico{fill:none}
.elementor .nb-component{width:100%}
/* vragen: elke vraag is een Schakelaar-widget in de opmaak van .qa details */
.elementor .nb-faq .elementor-toggle{border:0}
.elementor .nb-faq .elementor-toggle-item{border:0;border-bottom:1px solid var(--line);margin:0}
.elementor .nb-faq .elementor-tab-title{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;border:0;cursor:pointer;font:inherit;font-weight:700;color:var(--ink)}
.elementor .nb-faq .elementor-toggle-title{order:1;flex:1;font:inherit;color:inherit;text-decoration:none}
.elementor .nb-faq .elementor-tab-title .elementor-toggle-icon{order:2;float:none;flex:none;position:relative;width:30px;height:30px;margin:0;border-radius:50%;border:1px solid var(--line);transition:background .2s,border-color .2s}
.elementor .nb-faq .elementor-toggle-icon>span{display:none!important}
.elementor .nb-faq .elementor-toggle-icon::before,.elementor .nb-faq .elementor-toggle-icon::after{content:"";position:absolute;left:50%;top:50%;width:11px;height:2px;background:var(--ink);transform:translate(-50%,-50%);transition:transform .25s var(--ease)}
.elementor .nb-faq .elementor-toggle-icon::after{transform:translate(-50%,-50%) rotate(90deg)}
.elementor .nb-faq .elementor-tab-title.elementor-active .elementor-toggle-icon{background:var(--ink);border-color:var(--ink)}
.elementor .nb-faq .elementor-tab-title.elementor-active .elementor-toggle-icon::before,.elementor .nb-faq .elementor-tab-title.elementor-active .elementor-toggle-icon::after{background:#fff}
.elementor .nb-faq .elementor-tab-title.elementor-active .elementor-toggle-icon::after{transform:translate(-50%,-50%) rotate(0)}
.elementor .nb-faq .elementor-tab-content{padding:0 50px 22px 0;font-size:var(--fs-sm);max-width:68ch;border:0;color:var(--text)}
.elementor .qa>.elementor-widget-toggle:first-child .elementor-toggle-item{border-top:0}
/* een los inline element (link-kaart, label) was in de html een raster- of flexitem en gedroeg zich als blok */
:where(.elementor-widget-text-editor) :where(a,span,b,small,strong,em,i,label).nb-t0{display:block}
/* een beeld dat als enige in een vak staat, vult dat vak zoals in de html */
.elementor .e-con.nb-c>.elementor-widget-image:only-child{flex:1 1 auto;height:100%}
.elementor .e-con.nb-c>.elementor-widget-image{height:100%}
/* een absoluut geplaatst tekstblok (label op een foto) rekent vanaf het vak eromheen, niet vanaf de widget */
.elementor .elementor-widget-text-editor.elementor-widget{position:static}
/* wat een snippet aan elementen levert, krimpt mee met het vak zoals in de html (filterrij, galerij) */
.elementor .e-con.nb-c>:not(.elementor-element),.elementor .nb-component .elementor-shortcode>*{min-width:0;max-width:100%}
.elementor .e-con{min-width:0}
/* verborgen tot een script het opent (hidden-kenmerk, door de plugin teruggezet) */
.jg-hidden{display:none!important}
.elementor .e-con:not(.nb-c)>.e-con.nb-c{--width:100%;width:100%}
/* onderregel van het formulier: de regel stond op de p, nu een Pictogramlijst */
.elementor .f-foot .elementor-icon-list-item{display:flex;gap:8px;align-items:center;font-size:var(--fs-xs);color:var(--text)}
.elementor .f-foot .elementor-icon-list-text{font-size:inherit;color:inherit}
.elementor .f-foot .elementor-icon-list-icon svg{width:16px;height:16px;color:var(--muted);stroke-width:2.2}
/* blogkaarten (Berichten-widget) op pagina's en in de blog */
.jg-kaarten .elementor-post__card{border-radius:16px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:none;transition:transform .25s,box-shadow .25s}
.jg-kaarten .elementor-post__card:hover{transform:translateY(-4px);box-shadow:0 24px 44px -28px rgba(20,23,26,.45)}
.jg-kaarten .elementor-post__thumbnail{padding-bottom:62%!important}
.jg-kaarten .elementor-post__badge{background:var(--ink)!important;color:#fff;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:6px 12px;margin:14px!important}
.jg-kaarten .elementor-post__text{padding:22px 24px 6px!important}
.jg-kaarten .elementor-post__title,.jg-kaarten .elementor-post__title a{font-family:var(--fk)!important;font-weight:800;color:var(--ink);font-size:1.35rem;line-height:1.18;text-decoration:none}
.jg-kaarten .elementor-post__excerpt p{font-size:15px;line-height:1.55;color:var(--text);margin-top:8px}
.jg-kaarten .elementor-post__read-more,.elementor .jg-kaarten a.elementor-post__read-more{color:var(--rood)!important;font-weight:700;font-size:14px;text-transform:none;letter-spacing:0}
.jg-kaarten .elementor-post__meta-data{display:none}
.jg-kaarten .elementor-pagination{margin-top:40px;font-weight:700}
.jg-kaarten .elementor-pagination .page-numbers{display:inline-flex;min-width:42px;height:42px;align-items:center;justify-content:center;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--ink);text-decoration:none;margin:0 3px}
.jg-kaarten .elementor-pagination .page-numbers.current{background:var(--ink);color:#fff;border-color:var(--ink)}
.jg-kaarten{--ink:var(--e-global-color-secondary,#14171A);--line:var(--e-global-color-hairln,#E4E5E1);--text:var(--e-global-color-text,#4A5257);--rood:var(--e-global-color-primary,#E2050C);--fk:var(--e-global-typography-primary-font-family,"Sofia Sans Condensed"),"Sofia Sans",system-ui,sans-serif}
.jg-artikelen .jg-alle .elementor-button{background:none;padding:0;color:var(--ink);font-weight:700;text-decoration:underline;text-decoration-color:var(--rood);text-underline-offset:4px}
/* lokaal blok op de plaatspagina's */
.elementor .jg-lok{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media(max-width:1024px){.elementor .jg-lok{grid-template-columns:1fr}}
.elementor .jg-lok-k{background:#fff;border:1px solid #E4E5E1;border-radius:14px;padding:26px 26px 24px;display:flex;flex-direction:column;gap:8px}
.elementor .jg-lok-k h3{font-size:1.25rem;color:#14171A;margin:0 0 4px}
.elementor .jg-lok-k p{margin:0 0 8px;font-size:15.5px;line-height:1.6}
.elementor .jg-lok-kernen ul{list-style:none;padding:0;margin:4px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.elementor .jg-lok-kernen li{font-size:14px;font-weight:600;color:#14171A;background:#F5F5F2;border:1px solid #E4E5E1;border-radius:999px;padding:6px 12px}
/* header: bij smallere desktops wijkt Home (het logo linkt al naar home), zodat het menu naast de telefoon past */
@media (min-width:1025px) and (max-width:1360px){.jh .jh-nav a[data-jh="home"]{display:none}}
/* het SBS6-label van de header hoort bij de oude pagina's; hier staat SBS6 al in de cijferband */
.elementor .hl .jx-sbs6-lbl{display:none}

/* /jg-native-basis */
/* jg-verfijning */
/* Blogkaarten: foto direct boven de tekst, rustige ritmiek, uittreksel netjes afgekapt op 3 regels */
.elementor-kit-6 .jg-kaarten .elementor-post__card .elementor-post__thumbnail__link{margin-bottom:0!important}
.elementor-kit-6 .jg-kaarten .elementor-post__card .elementor-post__text{margin-top:0!important;padding:22px 24px 4px!important}
.elementor-kit-6 .jg-kaarten .elementor-post__card .elementor-post__title{margin:0 0 10px!important;letter-spacing:-.005em!important;word-spacing:.04em}
.elementor-kit-6 .jg-kaarten .elementor-post__card .elementor-post__title a{letter-spacing:inherit!important}
.elementor-kit-6 .jg-kaarten .elementor-post__card .elementor-post__excerpt{margin:0 0 16px!important}
.elementor-kit-6 .jg-kaarten .elementor-post__card .elementor-post__excerpt p{margin:0!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.elementor-kit-6 .jg-kaarten .elementor-post__card .elementor-post__read-more{margin-bottom:22px!important;display:inline-block}
.elementor-kit-6 .jg-kaarten .elementor-post__card{display:flex;flex-direction:column;height:100%}
.elementor-kit-6 .jg-kaarten .elementor-post__card .elementor-post__text{flex:1;display:flex;flex-direction:column}
.elementor-kit-6 .jg-kaarten .elementor-post__card .elementor-post__read-more{margin-top:auto}
/* Header zakelijk: twee menu-items meer (Voor wie, Kennisbank). Home valt weg zodra de ruimte krap wordt; het logo linkt al naar home. */
@media (min-width:1025px){body.jg-zakelijk .jh .jh-nav a[data-jh="home"]{display:none}}
@media (min-width:1025px){body.jg-zakelijk .jh .jh-tel-t{display:none!important}}
@media (min-width:1025px) and (max-width:1280px){.jh .jh-nav .jh-link,.jh .jh-nav button.jh-link{padding-left:8px;padding-right:8px;font-size:15px}}
@media (min-width:1025px) and (max-width:1180px){body.jg-zakelijk .jh .jh-cta{padding-left:16px!important;padding-right:16px!important}}
@media (min-width:1025px) and (max-width:1130px){body.jg-zakelijk .jh .jh-nav .jh-link,body.jg-zakelijk .jh .jh-nav button.jh-link{padding-left:6px;padding-right:6px;font-size:14.5px}body.jg-zakelijk .jh .jh-cta{font-size:15px!important;padding-left:14px!important;padding-right:14px!important}body.jg-zakelijk .jh .jh-acties{gap:10px}}
/* De knop Diensten krijgt dezelfde maat als de andere menu-items */
.jh .jh-nav .jh-mega-btn{font-size:inherit}
.elementor-kit-6 .jh .jh-nav button.jh-mega-btn.jh-link{font-size:16px!important}
@media (min-width:1025px) and (max-width:1280px){.elementor-kit-6 .jh .jh-nav button.jh-mega-btn.jh-link{font-size:15px!important}}
@media (min-width:1025px) and (max-width:1130px){.elementor-kit-6.jg-zakelijk .jh .jh-nav button.jh-mega-btn.jh-link{font-size:14.5px!important}}
/* Slotblok naast het formulier: kop met een rustige tekst eronder */
.elementor-kit-6 .jzs.wrap:has(>.fcard-slot) .elementor-widget-heading+.elementor-widget-text-editor{max-width:44ch;margin-top:16px!important}
.elementor-kit-6 .jg-eind-l .jg-eind-tekst{max-width:44ch;margin-top:16px!important}
/* Pre-footer: altijd zichtbaar, ook op pagina's zonder het onthulscript (blog) */
.elementor-kit-6 .jg-prefooter-slot .e-con.rv,.elementor-kit-6 .jg-prefooter-slot .rv{opacity:1!important;transform:none!important}
/* /jg-verfijning */
/* jg-blogrij */
/* Blog: foto en tekst om en om, 50/50 */
.jg-rij{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);max-width:100%;gap:clamp(24px,3vw,44px);align-items:center;margin:clamp(40px,5vw,64px) 0}
.jg-rij--rechts .jg-rij-foto{order:2}
.jg-rij-foto{margin:0;border-radius:16px;overflow:hidden;aspect-ratio:1/1;background:var(--e-global-color-papier,#F5F5F2)}
.jg-rij-foto img{width:100%;height:100%;object-fit:cover;display:block}
.jg-rij-tekst>h2:first-child{margin-top:0!important}
.jg-rij-tekst>:last-child{margin-bottom:0}
@media (max-width:767px){.jg-rij{grid-template-columns:minmax(0,1fr);gap:20px}.jg-rij .jg-rij-foto{order:2;aspect-ratio:4/3}}

/* Leesbare regellengte voor gewone tekst in een artikel; de fotorijen gebruiken de volle kolom */
.elementor-widget-theme-post-content :is(p,ul,ol,h2,h3,h4,blockquote):not(.jg-rij *){max-width:74ch}

.jg-rij>*{min-width:0}.jg-rij-tekst h2,.jg-rij-tekst h3{overflow-wrap:anywhere;hyphens:auto}
.elementor-widget-theme-post-content :is(table){display:block;max-width:100%;overflow-x:auto}
/* /jg-blogrij */

/* SBS6 in de cijferbalk: logo en tekst samen in het midden (27-09-2026) */
.e-con.hs-sbs{flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:12px!important}
.hs-sbs .elementor-widget{margin:0!important;width:auto!important}
.hs-sbs .elementor-widget-text-editor p,.hs-sbs .elementor-widget-text-editor span{margin:0!important;line-height:1.2!important}
.hs-sbs img{display:block}
.e-con.hs-sbs>.elementor-widget,.e-con.hs-sbs .elementor-widget{align-self:center!important;line-height:0}
.hs-sbs .elementor-widget-text-editor{line-height:1.2!important}
/* hs-sbs .elementor-widget{align-self */
/* hs-sbs beeldhoogte */
.e-con.hs-sbs .elementor-widget-image{height:auto!important;min-height:0!important;aspect-ratio:auto!important;flex:0 0 auto!important}
/* fixronde 27-09-2026 */
/* stap 1 overal felrood (gelijk aan de afsluiter), de rest antraciet */
.tl .on .tn,.tl .tn.on,.tl>li:first-child .tn{background:#E2050C!important}
/* genummerde opsommingen (geen stappen): antraciet, zoals de overige nummers */
.mw-r>li>span{background:#14171A!important}
/* FAQ staat altijd boven de lichte afsluiter: altijd wit, zodat ze niet in elkaar overlopen */
.e-con.s.faq,.e-con.faq.bg-paper{background:#fff!important}
/* zakelijk: 'twee vestigingen' na 'Recente projecten' (beide lichtgrijs) op wit */
.e-con.s.bg-paper.over{background:#fff!important}
/* knoppen: icoon en tekst op één regel */
.elementor-widget-button .elementor-button-content-wrapper{display:flex!important;align-items:center;justify-content:center;gap:8px}
/* regiotegels: sterker verloop zodat witte tekst ook op lichte luchtfoto's leesbaar is */
.e-con.rg2-tegel::after{background:linear-gradient(180deg,rgba(20,23,26,0) 25%,rgba(20,23,26,.55) 58%,rgba(20,23,26,.94))!important}
.rg2-tegel .rg2-tt{text-shadow:0 1px 8px rgba(0,0,0,.45)}
/* blogkaarten: nette afkap op drie regels met puntjes */
.elementor-post__excerpt p{display:-webkit-box!important;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
/* artikel: inhoudsopgave schuift mee, tabel over de volle tekstbreedte */
@media (min-width:1025px){.e-con.jg-zij{align-self:stretch!important}.jg-zij .jg-toc{position:sticky;top:110px}}
@media (min-width:768px){.jg-inhoud table{display:table!important;width:100%!important;max-width:730px;table-layout:auto}}
@media (max-width:767px){.jg-inhoud table{display:block!important;max-width:100%!important;overflow-x:auto}}
.jg-toc .elementor-toc__list-wrapper{padding-left:1.4em}
.jg-toc .elementor-toc__list-item{padding-left:.2em}
/* dienstenlijst: pijl verticaal in het midden, op mobiel elke rij even hoog met gevulde foto */
.dcard .bd .arr{align-self:center!important}
@media (max-width:767px){.e-con.dcard{min-height:96px}.dcard .im,.dcard .im .elementor-widget-image,.dcard .im img{height:100%!important}.dcard .im img{object-fit:cover!important}}
/* paginering: uitgeschakelde vorige/volgende weg, op mobiel compacter zodat alles op één regel past */
.elementor-pagination span.page-numbers.prev,.elementor-pagination span.page-numbers.next{display:none!important}
@media (max-width:767px){.elementor-pagination .page-numbers{min-width:38px!important;padding-left:8px!important;padding-right:8px!important;margin:0 2px!important}}
/* kaartfoto's in postlijsten vullen altijd het kader, ook bij staande of smalle foto's */
.elementor-post__thumbnail{position:relative;overflow:hidden}
.elementor-post__thumbnail img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;transform:none!important}
/* fixronde 28-09-2026 */
/* hero: WhatsApp-link verticaal in het midden naast de knop */
.hbtns>.elementor-widget{align-self:center!important}
.hbtns .nb-linkknop .elementor-button{display:inline-flex!important;align-items:center}
/* cijferband onder de hero: elk cijfer in het midden van zijn kolom, zoals Bekend van SBS6 */
.hstats>.e-con{align-items:center!important;text-align:center}
.hstats>.e-con>.elementor-widget,.hstats>.e-con>.elementor-widget *{text-align:center!important;align-self:center!important}
.hstats>.e-con:not(.hs-sbs){padding-right:0!important}
/* cijferband als sitebreed sjabloon (1242): basisopmaak hier, zodat hij niet van de pagina-CSS afhangt */
.elementor-widget-template.hstats-slot{width:100%;max-width:100%}
.e-con.hstats{display:grid!important;grid-template-columns:repeat(4,1fr);margin-top:clamp(18px,2.2vw,30px);border-top:1px solid rgba(255,255,255,.16)}
.hstats>.e-con{display:flex;flex-direction:column;gap:3px}
.hstats>.e-con+.e-con{border-left:1px solid rgba(255,255,255,.12)}
.hstats b{font-family:"Sofia Sans Condensed","Sofia Sans",sans-serif!important;font-size:clamp(1.625rem,1.1rem + 1.1vw,2.125rem);font-weight:800;color:#fff;letter-spacing:-.03em;line-height:1}
.hstats span{font-size:var(--fs-xs,13px);color:#C9CFD2;line-height:1.35}
.hstats .hs-sbs span{font-size:var(--fs-sm,15px);font-weight:700;color:#fff}
.hstats .hs-sbs img{width:40px;height:40px;border-radius:9px}
@media(max-width:767px){.e-con.hstats{grid-template-columns:1fr 1fr;margin-top:22px}.hstats>.e-con+.e-con{border-left:0}.hstats>.e-con:nth-child(even){border-left:1px solid rgba(255,255,255,.12)}.hstats>.e-con:nth-child(n+3){border-top:1px solid rgba(255,255,255,.12)}}
/* 50/50 overal waar twee blokken naast elkaar staan, met dezelfde tussenruimte (72px) */
@media(min-width:1025px){
 .e-con.hero-grid{grid-template-columns:1fr 1fr!important;column-gap:72px!important}
 .e-con.hero-grid>.fcard-slot{width:100%!important;max-width:none!important;justify-self:stretch!important}
 .e-con.werk-grid{grid-template-columns:1fr 1fr!important;column-gap:72px!important}
 .e-con.faq .e-con.wrap:has(>.side){display:grid!important;grid-template-columns:1fr 1fr!important;column-gap:72px!important}
 .e-con.faq .e-con.wrap:has(>.side)>*{width:auto!important;max-width:none!important;min-width:0}
 .jg-prefooter-slot .e-con:has(>.e-con>.elementor-widget-template){display:grid!important;grid-template-columns:1fr 1fr!important;column-gap:72px!important;align-items:center!important}
 .jg-prefooter-slot .e-con:has(>.e-con>.elementor-widget-template)>.e-con{width:auto!important;max-width:none!important;min-width:0}
 .e-con.alt-r{column-gap:72px!important}
}
/* Dakscan: resultaat 50/50 */
@media(min-width:1025px){.jds-res:not([hidden]){display:grid!important;grid-template-columns:1fr 1fr!important;column-gap:36px!important}}
/* sliderpijlen weg als alles al in beeld staat */
.snav:has(.sbtn[disabled]+.sbtn[disabled]){display:none}
/* cijferband: gelijke binnenruimte links en rechts, zodat alles in het midden van het vak staat */
.hstats>.e-con{padding:16px 16px 0!important}
@media(max-width:767px){.hstats>.e-con{padding:14px 10px!important}}
/* sliderpijlen: pijl precies in het midden van het rondje (knopopmaak van het thema gaf 26px zijpadding) */
.snav .sbtn{padding:0!important;display:grid!important;place-items:center!important;line-height:0!important}
.snav .sbtn .ico{margin:0!important;display:block}
/* projectkaart: plaats met locatie-icoon onder de titel */
.sbd .splek{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:13px;font-weight:500;color:#6B7378}
.sbd .splek .spin{width:14px;height:14px;flex:none;color:#8A9398}
/* Voor wie we werken (4 fotokaarten): donkerder vlak zodat de tekst rustig leest */
.dgrid.d4 .e-con.dcard::after{background:linear-gradient(180deg,rgba(20,23,26,.2) 0%,rgba(20,23,26,.62) 45%,rgba(20,23,26,.95) 100%)!important}
/* keuzekaarten zonder foto (kooiladders, valbeveiliging): binnenruimte terug, de fotoversie zet die op 0 */
.e-con.kz-k:not(:has(.kz-bd)){padding:26px 26px 28px!important}

/* blogblok 'Meer weten over ...?': kop op één regel (28-09-2026) */
.jg-artikelen-w .s-head h2{max-width:none!important}
/* FAQ-zijkant: kaartje 'Uw vraag persoonlijk beantwoord', zelfde vorm als in het formulier (28-09-2026) */
.e-con.faq-bel{display:flex!important;flex-direction:row!important;align-items:center!important;gap:12px!important;margin:18px 0 18px!important;padding:10px 14px 10px 10px!important;border-radius:12px;background:var(--paper);max-width:420px;width:auto!important}
.faq-bel>.elementor-widget{margin:0!important;width:auto!important}
.faq-bel .fav{display:flex;flex:0 0 auto}
.faq-bel .fav img{width:44px;height:44px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px #fff}
.faq-bel p{margin:0!important;line-height:1.3}
.faq-bel b{display:block;font-size:var(--fs-sm);color:var(--ink)}
.faq-bel span{display:block;font-size:var(--fs-xs);color:var(--muted);margin-top:1px}
/* blogkop: zelfde container als de kaarten eronder, tekst blijft smal (28-09-2026) */
.jg-blog .jg-bh-in.jg-wrap{max-width:1440px!important;margin-left:auto!important;margin-right:auto!important}
.jg-blog .jg-bh-in.jg-wrap>*{max-width:900px}
/* regiokaartjes even hoog (28-09-2026) */
.regios>.elementor-widget{align-self:stretch!important}
.regios>.elementor-widget>.elementor-widget-container,.regios>.elementor-widget .regio{height:100%}
.regios .regio{box-sizing:border-box}
/* plaatspaginas: kaarten en tekstkolommen in dezelfde stijl als de dienstpaginas (28-09-2026) */
.elementor .kz{display:grid!important;grid-template-columns:repeat(3,1fr);gap:16px!important}
.elementor .kz>*{min-width:0}
.elementor .kz-k{background:#fff;border:1px solid var(--line);border-radius:14px;padding:0!important;overflow:hidden;display:flex!important;flex-direction:column!important}
.elementor .kz-im{margin:0!important;aspect-ratio:16/10;overflow:hidden;width:100%!important}
.elementor .kz-im img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s var(--ease)}
.elementor .kz-k:hover .kz-im img{transform:scale(1.03)}
.elementor .kz-bd{padding:24px 26px 28px!important;display:flex!important;flex-direction:column!important;flex:1}
.elementor .kz-l{display:inline-block;font-size:12px;font-weight:700;color:var(--muted);background:var(--paper);border-radius:5px;padding:4px 9px}
.elementor .kz-k h3{margin-top:16px;font-size:1.375rem}
.elementor .kz-k p{margin-top:8px;font-size:var(--fs-sm)}
.elementor .kz-k ul{list-style:none;padding:16px 0 0;margin:16px 0 0;border-top:1px solid var(--line);display:grid;gap:8px}
.elementor .kz-k li{font-size:var(--fs-sm);font-weight:600;color:var(--ink);display:flex;gap:8px}
.elementor .kz-k li::before{content:"";width:6px;height:6px;margin-top:8px;border-radius:50%;background:rgb(var(--baksteen));flex:none}
.elementor .kz-bd>.kz-lnk{margin-top:auto!important;padding-top:18px}
.elementor .tx2{display:grid!important;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,64px)!important;margin-top:clamp(28px,3vw,40px)}
.elementor .tx2>*{min-width:0}
.elementor .tx2 p{margin:0;font-size:var(--fs-lg,17px);line-height:1.65;color:var(--text)}
@media (max-width:1024px){.elementor .kz,.elementor .tx2{grid-template-columns:1fr}}
.elementor .kz-im{aspect-ratio:auto!important}
.elementor .kz-im img{aspect-ratio:16/10;height:auto!important}
.elementor .tx2 p{font-size:1.0625rem!important;line-height:1.7!important}
.elementor .bg-paper .kz-k{background:#fff}
/* bouwjaarsectie rustiger: kleiner getal, kaart met rand, lichte grafiek (28-09-2026) */
.elementor .stad .getal{display:flex!important;flex-direction:row!important;align-items:center!important;gap:18px!important;margin-top:28px!important;padding:18px 0!important;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.elementor .stad .getal b{font-size:clamp(2.25rem,1.8rem + 1.2vw,3rem)!important;line-height:1!important;letter-spacing:-.03em}
.elementor .stad .getal span{font-size:14px!important;line-height:1.45!important;color:var(--muted);max-width:24ch;display:block}
.elementor .stad p.t{font-size:1.0625rem!important;line-height:1.7!important;max-width:56ch;margin-top:20px!important}
.elementor .stad .gk{box-shadow:none!important;border:1px solid var(--line)!important;border-radius:16px!important;padding:clamp(24px,2.4vw,34px)!important;background:#fff}
.elementor .stad .gk h3{font-size:1.25rem!important}
.elementor .stad .gk .sub{font-size:13px!important;color:var(--muted);margin-top:4px}
.elementor .stad .gbar{height:190px!important;gap:10px!important;margin-top:34px!important}
.elementor .stad .gbar i{background:#E6E8E3!important;border-radius:5px 5px 2px 2px!important}
.elementor .stad .gbar .hl i{background:var(--ink)!important}
.elementor .stad .gbar em{font-size:11px!important;font-weight:600!important;color:var(--muted)!important;font-style:normal}
.elementor .stad .gbar .hl em{color:var(--ink)!important}
.elementor .stad .gas{border-top:1px solid var(--line);padding-top:10px!important;margin-top:0!important}
.elementor .stad .gas span{font-size:11px!important;color:var(--muted)}
.elementor .stad .leg{margin-top:14px!important;gap:16px!important}
.elementor .stad .leg span{font-size:12px!important;color:var(--muted);display:inline-flex;align-items:center;gap:7px}
.elementor .stad .leg i{width:8px!important;height:8px!important;border-radius:50%!important;display:inline-block}
.elementor .stad .leg>.elementor-widget:last-child i{background:#E6E8E3!important}
.elementor .stad .bron{margin-top:18px!important;padding-top:0!important;border-top:1px solid var(--line)!important}
.elementor .stad .bron .elementor-toggle-item{border:0!important;box-shadow:none!important;background:none!important}
.elementor .stad .bron .elementor-tab-title{display:flex!important;align-items:center!important;gap:8px!important;justify-content:flex-start!important;padding:14px 0 0!important;border:0!important;background:none!important;font-size:12.5px!important;font-weight:600!important;color:var(--muted)!important}
.elementor .stad .bron .elementor-tab-title a,.elementor .stad .bron .elementor-toggle-title{font-size:12.5px!important;font-weight:600!important;color:var(--muted)!important;text-decoration:none!important;font-family:inherit!important;letter-spacing:0!important}
.elementor .stad .bron .elementor-toggle-icon{order:2;width:auto!important;height:auto!important;min-width:0!important;border:0!important;background:none!important;box-shadow:none!important;margin:0!important;position:static!important}
.elementor .stad .bron .elementor-toggle-icon svg{width:9px!important;height:9px!important;fill:var(--muted)!important}
.elementor .stad .bron .elementor-tab-title::before,.elementor .stad .bron .elementor-tab-title::after{display:none!important}
.elementor .stad .bron .elementor-tab-content{padding:10px 0 0!important;border:0!important;font-size:12.5px!important;line-height:1.55;color:var(--muted)}
/* bron-plus */
.elementor .stad .bron .elementor-toggle-icon{display:none!important}
.elementor .stad .bron .elementor-toggle-title::after{content:"+";margin-left:6px;font-weight:400}
.elementor .stad .bron .elementor-tab-title.elementor-active .elementor-toggle-title::after,.elementor .stad .bron .elementor-tab-title[aria-expanded="true"] .elementor-toggle-title::after{content:"−"}
.elementor .stad .bron .elementor-tab-title:hover .elementor-toggle-title{color:var(--ink)!important}
/* vestigingskaart plaatspaginas (28-09-2026) */
.elementor .alt-bd .vest-r{display:grid!important;grid-template-columns:44px 1fr auto;grid-template-rows:auto auto;column-gap:14px;row-gap:3px;align-items:center;margin-top:26px!important;padding:18px 20px!important;border:0!important;border-radius:14px;background:var(--paper)}
.elementor .alt-bd .vest-r::before{content:"";grid-column:1;grid-row:1/3;width:44px;height:44px;border-radius:50%;background:#fff;box-shadow:0 0 0 1px var(--line)}
.elementor .alt-bd .vest-r::after{content:"";grid-column:1;grid-row:1/3;justify-self:center;width:20px;height:20px;background:rgb(var(--baksteen));-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.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5A7 7 0 0 1 19 9.5C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%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.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5A7 7 0 0 1 19 9.5C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E") center/contain no-repeat}
.elementor .alt-bd .vest-r b{grid-column:2;grid-row:1;font-size:var(--fs-sm)!important;color:var(--ink);margin:0!important;display:block}
.elementor .alt-bd .vest-r span{grid-column:2;grid-row:2;font-size:13.5px!important;color:var(--muted);margin:0!important;display:block}
.elementor .alt-bd .vest-r a[href^="tel:"]{grid-column:3;grid-row:1;justify-self:end;display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:10px;background:#fff;border:1px solid var(--line);font-size:14px!important;font-weight:700;color:var(--ink)!important;text-decoration:none!important;margin:0!important;transition:border-color .2s}
.elementor .alt-bd .vest-r a[href^="tel:"]:hover{border-color:var(--ink)}
.elementor .alt-bd .vest-r a:not([href^="tel:"]){grid-column:3;grid-row:2;justify-self:end;font-size:13px!important;font-weight:600;color:var(--muted)!important;text-decoration:none!important;margin:4px 2px 0 0!important}
.elementor .alt-bd .vest-r a:not([href^="tel:"])::after{content:" →"}
.elementor .alt-bd .vest-r a:not([href^="tel:"]):hover{color:var(--ink)!important}
.elementor .alt-bd .buurt{margin-top:26px!important;gap:8px!important;flex-wrap:wrap}
.elementor .alt-bd .buurt::before{content:"In de buurt";flex:0 0 100%;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
.elementor .alt-bd .buurt a{display:block;padding:10px 14px!important;border-radius:10px!important;border:1px solid var(--line)!important;background:#fff;text-decoration:none!important;transition:border-color .2s,transform .2s}
.elementor .alt-bd .buurt a:hover{border-color:var(--ink)!important;transform:translateY(-1px)}
.elementor .alt-bd .buurt a b{font-size:14px!important;color:var(--ink)}
.elementor .alt-bd .buurt a span{font-size:12px!important;color:var(--muted)}
@media (max-width:767px){.elementor .alt-bd .vest-r{grid-template-columns:44px 1fr}.elementor .alt-bd .vest-r a[href^="tel:"]{grid-column:1/3;grid-row:3;justify-self:start;margin-top:12px!important}.elementor .alt-bd .vest-r a:not([href^="tel:"]){grid-column:1/3;grid-row:4;justify-self:start;margin-top:8px!important}}
/* vestigingskaart v2 */
.elementor .alt-bd .buurt::before{position:static!important;inset:auto!important;width:auto!important;height:auto!important;background:none!important;opacity:1!important;display:block!important;z-index:auto!important}
.elementor .alt-bd .vest-r{grid-template-rows:auto auto auto!important;row-gap:2px!important}
.elementor .alt-bd .vest-r::before,.elementor .alt-bd .vest-r::after{grid-row:1/4!important}
.elementor .alt-bd .vest-r a[href^="tel:"]{grid-row:1/4!important;align-self:center}
.elementor .alt-bd .vest-r a:not([href^="tel:"]){grid-column:2!important;grid-row:3!important;justify-self:start!important;margin:6px 0 0!important}
@media (max-width:767px){.elementor .alt-bd .vest-r a[href^="tel:"]{grid-column:1/3!important;grid-row:4!important;justify-self:start;margin-top:12px!important}}
/* pin midden */
.elementor .alt-bd .vest-r::before,.elementor .alt-bd .vest-r::after{align-self:center!important}
/* bouwjaarsectie v2: kerngetal in de kaart, hogere grafiek met hulplijnen (28-09-2026) */
.elementor .stad .gk .gk-getal{margin-top:22px!important;padding:16px 20px!important;border:0!important;border-radius:12px;background:var(--paper);gap:18px!important;align-items:center!important}
.elementor .stad .gk .gk-getal b{font-size:clamp(2rem,1.6rem + 1vw,2.5rem)!important;color:var(--ink)}
.elementor .stad .gk .gk-getal span{font-size:13.5px!important;line-height:1.45!important;color:var(--text)!important;max-width:34ch}
.elementor .stad .gbar{height:240px!important;margin-top:36px!important;background:repeating-linear-gradient(to top,transparent 0,transparent calc(25% - 1px),rgba(20,23,26,.07) calc(25% - 1px),rgba(20,23,26,.07) 25%)!important;border-bottom:1px solid var(--line)}
.elementor .stad .gbar i{border-radius:6px 6px 0 0!important}
.elementor .stad .gbar>div{transition:opacity .2s}
.elementor .stad .gbar:hover>div{opacity:.45}
.elementor .stad .gbar>div:hover{opacity:1}
.elementor .stad .gas{border-top:0!important;padding-top:10px!important}
.elementor .stad .gk h3{font-size:1.375rem!important}
@media (max-width:767px){.elementor .stad .gbar{height:190px!important;gap:6px!important}.elementor .stad .gbar em{font-size:10px!important}.elementor .stad .gk .gk-getal{flex-direction:column!important;align-items:flex-start!important;gap:6px!important}}
/* foto onder de tekstkolommen van Uw dak in ... (28-09-2026) */
.elementor .tx2-col{display:flex!important;flex-direction:column!important;gap:28px!important}
.elementor .tx2-col>.elementor-widget-text-editor{flex:1}
.elementor .tx2-im{margin:0!important;width:100%!important}
.elementor .tx2-im img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:14px;box-shadow:var(--shadow)}
/* lokaal blok v2: twee kolommen, iconen, rustiger (28-09-2026) */
.elementor .jg-lok{display:grid!important;grid-template-columns:1fr 1.2fr;grid-template-rows:auto 1fr;gap:16px!important;align-items:stretch}
.elementor .jg-lok>.jg-lok-k:nth-child(1){grid-column:1;grid-row:1}
.elementor .jg-lok>.jg-lok-k:nth-child(2){grid-column:2;grid-row:1/3}
.elementor .jg-lok>.jg-lok-kernen{grid-column:1;grid-row:2}
.elementor .jg-lok-k{padding:clamp(24px,2.4vw,34px)!important;border-radius:16px!important;border:1px solid var(--line)!important;background:#fff;box-shadow:none!important}
.elementor .jg-lok-k>.elementor-widget-heading{position:relative;padding-top:58px!important;margin-bottom:10px!important}
.elementor .jg-lok-k>.elementor-widget-heading::before{content:"";position:absolute;left:0;top:0;width:44px;height:44px;border-radius:50%;background:var(--paper)}
.elementor .jg-lok-k>.elementor-widget-heading::after{content:"";position:absolute;left:12px;top:12px;width:20px;height:20px;background:rgb(var(--baksteen))}
.elementor .jg-lok-k h3{font-size:1.25rem!important}
.elementor .jg-lok-k p{font-size:15px!important;line-height:1.65!important;color:var(--text)}
.elementor .jg-lok-k p+p,.elementor .jg-lok-k .elementor-widget-text-editor+.elementor-widget-text-editor{margin-top:10px}
.elementor .jg-lok>.jg-lok-k:nth-child(2) .elementor-widget-text-editor:nth-of-type(2) p{font-size:16px!important;color:var(--ink);font-weight:600}
.elementor .jg-lok-k a{display:inline-flex!important;align-items:center;gap:8px;margin-top:14px;padding:10px 16px;border-radius:10px;border:1px solid var(--line);background:#fff;font-size:14px!important;font-weight:700;color:var(--ink)!important;text-decoration:none!important;transition:border-color .2s}
.elementor .jg-lok-k a::after{content:"→"}
.elementor .jg-lok-k a:hover{border-color:var(--ink)}
.elementor .jg-lok-kernen{background:var(--paper)!important;border-color:transparent!important}
.elementor .jg-lok-kernen>.elementor-widget-heading::before{background:#fff}
.elementor .jg-lok-kernen ul{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:6px 0 0;padding:0}
.elementor .jg-lok-kernen li{background:#fff!important;border:1px solid var(--line)!important;border-radius:99px;padding:7px 13px!important;font-size:13px!important;font-weight:600;color:var(--ink)}
.elementor .jg-lok>.jg-lok-k:nth-child(1)>.elementor-widget-heading::after{-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.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11.5 12 4l9 7.5'/%3E%3Cpath d='M5.5 10v9.5h13V10'/%3E%3Cpath d='M10 19.5v-5h4v5'/%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.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11.5 12 4l9 7.5'/%3E%3Cpath d='M5.5 10v9.5h13V10'/%3E%3Cpath d='M10 19.5v-5h4v5'/%3E%3C/svg%3E") center/contain no-repeat}
.elementor .jg-lok>.jg-lok-k:nth-child(2)>.elementor-widget-heading::after{-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.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 3h7l5 5v13H7z'/%3E%3Cpath d='M14 3v5h5'/%3E%3Cpath d='M10 13h6M10 17h6'/%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.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 3h7l5 5v13H7z'/%3E%3Cpath d='M14 3v5h5'/%3E%3Cpath d='M10 13h6M10 17h6'/%3E%3C/svg%3E") center/contain no-repeat}
.elementor .jg-lok>.jg-lok-k:nth-child(3)>.elementor-widget-heading::after{-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.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5A7 7 0 0 1 19 9.5C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%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.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5A7 7 0 0 1 19 9.5C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E") center/contain no-repeat}
@media (max-width:1024px){.elementor .jg-lok{grid-template-columns:1fr;grid-template-rows:auto}.elementor .jg-lok>.jg-lok-k:nth-child(n){grid-column:1;grid-row:auto}}
/* lokaal blok v3: foto op Daken, donkere Vergunning-kaart (28-09-2026) */
.elementor .jg-lok>.jg-lok-k:nth-child(1){overflow:hidden}
.elementor .jg-lok .jg-lok-im{margin:calc(-1 * clamp(24px,2.4vw,34px)) calc(-1 * clamp(24px,2.4vw,34px)) 26px!important;width:auto!important;max-width:none!important}
.elementor .jg-lok .jg-lok-im img{display:block;width:100%;aspect-ratio:16/7;object-fit:cover}
.elementor .jg-lok>.jg-lok-k:nth-child(2){background:var(--ink)!important;border-color:var(--ink)!important;position:relative;overflow:hidden}
.elementor .jg-lok>.jg-lok-k:nth-child(2) h3{color:#fff!important}
.elementor .jg-lok>.jg-lok-k:nth-child(2) p{color:#B9C0C4!important}
.elementor .jg-lok>.jg-lok-k:nth-child(2) .elementor-widget-text-editor:nth-of-type(2) p{color:#fff!important}
.elementor .jg-lok>.jg-lok-k:nth-child(2)>.elementor-widget-heading::before{background:rgba(255,255,255,.08)!important}
.elementor .jg-lok>.jg-lok-k:nth-child(2)>.elementor-widget-heading::after{background:#fff!important}
.elementor .jg-lok>.jg-lok-k:nth-child(2) a{background:#fff!important;border-color:#fff!important;color:var(--ink)!important}
.elementor .jg-lok>.jg-lok-k:nth-child(2) a:hover{background:#F1EFEA!important}
.elementor .jg-lok>.jg-lok-k:nth-child(2) .elementor-widget-text-editor:nth-of-type(2){padding-bottom:18px;margin-bottom:6px;border-bottom:1px solid rgba(255,255,255,.12)}
/* lokaal blok v4 */
.elementor .jg-lok>.jg-lok-k:nth-child(2){display:flex!important;flex-direction:column!important;background:var(--ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 120' fill='none' stroke='white' stroke-opacity='.07' stroke-width='6' stroke-linejoin='round'%3E%3Cpath d='M6 112 100 14l94 98'/%3E%3Cpath d='M146 62V26h20v56'/%3E%3C/svg%3E") no-repeat right -30px bottom -50px/360px auto!important}
.elementor .jg-lok>.jg-lok-k:nth-child(2)>.elementor-widget-text-editor:last-child{margin-top:auto!important;padding-top:22px}
/* lokaal blok v6: rij 1 Daken (foto links) + Omgeving, rij 2 Vergunning breed in twee kolommen (28-09-2026) */
@media (min-width:1025px){
.elementor .jg-lok{grid-template-columns:1.5fr 1fr!important;grid-template-rows:auto auto!important}
.elementor .jg-lok>.jg-lok-k:nth-child(1){grid-column:1!important;grid-row:1!important;display:grid!important;grid-template-columns:42% 1fr;grid-template-rows:1fr auto auto 1fr;column-gap:clamp(24px,2.6vw,40px);min-height:300px}
.elementor .jg-lok>.jg-lok-k:nth-child(1)>.jg-lok-im{grid-column:1;grid-row:1/5;position:relative;margin:calc(-1 * clamp(24px,2.4vw,34px)) 0 calc(-1 * clamp(24px,2.4vw,34px)) calc(-1 * clamp(24px,2.4vw,34px))!important;min-height:0}
.elementor .jg-lok>.jg-lok-k:nth-child(1)>.jg-lok-im img{position:absolute;inset:0;width:100%;height:100%!important;aspect-ratio:auto!important;object-fit:cover}
.elementor .jg-lok>.jg-lok-k:nth-child(1)>.elementor-widget-heading{grid-column:2;grid-row:2;padding-top:0!important}
.elementor .jg-lok>.jg-lok-k:nth-child(1)>.elementor-widget-heading::before,.elementor .jg-lok>.jg-lok-k:nth-child(1)>.elementor-widget-heading::after{display:none!important}
.elementor .jg-lok>.jg-lok-k:nth-child(1)>.elementor-widget-text-editor{grid-column:2;grid-row:3}
.elementor .jg-lok>.jg-lok-kernen{grid-column:2!important;grid-row:1!important}
.elementor .jg-lok>.jg-lok-k:nth-child(2){grid-column:1/3!important;grid-row:2!important;display:block!important;column-count:2;column-gap:clamp(32px,4vw,64px);background-position:right -30px bottom -60px!important}
.elementor .jg-lok>.jg-lok-k:nth-child(2)>.elementor-widget-heading,.elementor .jg-lok>.jg-lok-k:nth-child(2)>.elementor-widget-text-editor:nth-of-type(2){column-span:all}
.elementor .jg-lok>.jg-lok-k:nth-child(2)>.elementor-widget-text-editor:nth-of-type(2){margin-bottom:22px!important;max-width:760px}
.elementor .jg-lok>.jg-lok-k:nth-child(2)>.elementor-widget{break-inside:avoid}
.elementor .jg-lok>.jg-lok-k:nth-child(2)>.elementor-widget-text-editor:last-child{margin-top:0!important;padding-top:8px}
}
/* lokaal blok v6b: foto vult de linkerkant */
@media (min-width:1025px){
.elementor .jg-lok>.jg-lok-k:nth-child(1){position:relative!important}
.elementor .jg-lok>.jg-lok-k:nth-child(1)>.jg-lok-im{position:absolute!important;left:0;top:0;bottom:0;width:42%!important;margin:0!important;grid-row:auto!important;grid-column:auto!important}
}
/* vestigingen contact v2: foto, regiolabel, belknop (28-09-2026) */
.elementor .vst{background:var(--paper)!important}
.elementor .vst-grid{gap:20px!important}
.elementor .vst-kaart{position:relative!important;background:#fff!important;border:1px solid var(--line)!important;border-radius:16px!important;overflow:hidden;box-shadow:none!important}
.elementor .vst-foto{position:relative!important;margin:-28px -28px 24px!important;padding:0!important;width:auto!important;max-width:none!important}
.elementor .vst-foto img{display:block;width:100%;aspect-ratio:16/7;object-fit:cover}
.elementor .vst-foto::after{content:"";position:absolute;inset:auto 0 0 0;height:60px;background:linear-gradient(transparent,rgba(0,0,0,.45));pointer-events:none;z-index:1}
.elementor .vst-credit{position:absolute!important;left:14px;bottom:8px;margin:0!important;padding:0!important;z-index:2;width:auto!important}
.elementor .vst-credit,.elementor .vst-credit a{color:rgba(255,255,255,.9)!important;font-size:11px!important;line-height:1.3!important}
.elementor .vst-kaart>.elementor-widget-heading::before{display:block;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-family:inherit}
.elementor .vst-grid>.vst-kaart:nth-child(1)>.elementor-widget-heading::before{content:"Noord-Holland"}
.elementor .vst-grid>.vst-kaart:nth-child(2)>.elementor-widget-heading::before{content:"Groningen en Drenthe"}
.elementor .vst-kaart h3,.elementor .vst-kaart h2{font-size:1.5rem!important}
.elementor .vst-t p{font-size:15px!important;line-height:1.6!important;color:var(--text);margin-top:8px!important}
.elementor .vst-t b{display:block;margin-top:22px}
.elementor .vst-t b a{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:10px;background:var(--ink);color:#fff!important;font-size:16px!important;font-weight:700;text-decoration:none!important;letter-spacing:.01em;transition:background .2s}
.elementor .vst-t b a::before{content:"";width:17px;height:17px;background:#fff;-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='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2'/%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='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2'/%3E%3C/svg%3E") center/contain no-repeat}
.elementor .vst-t b a:hover{background:#2A2F33}
.elementor .vst-route{position:absolute!important;right:28px;bottom:28px;padding:0!important;width:auto!important;margin:0!important}
.elementor .vst-route p{margin:0!important}
.elementor .vst-route .tlink{display:inline-flex;align-items:center;gap:8px;padding:11px 16px;border-radius:10px;border:1px solid var(--line);font-size:14px!important;font-weight:700;color:var(--ink)!important;text-decoration:none!important;background:#fff;transition:border-color .2s}
.elementor .vst-route .tlink::after{content:"→";border:0!important}
.elementor .vst-route .tlink:hover{border-color:var(--ink)}
.elementor .vst-tijd{margin-top:22px!important}
.elementor .vst-tijd p{display:inline-flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:99px;padding:9px 18px 9px 14px;font-size:14px!important;color:var(--text)}
.elementor .vst-tijd p::before{content:"";width:16px;height:16px;flex:none;background:var(--ink);-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='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%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='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E") center/contain no-repeat}
@media (max-width:600px){.elementor .vst-route{position:static!important;margin-top:12px!important}}
/* vst-tijd in kop */
.elementor .vst-kop .vst-tijd{margin-top:14px!important}

/* vst-tijd nowrap */
@media (min-width:768px){.elementor .vst-tijd p{white-space:nowrap}}
/* offertesectie v2: document als stapel papier, zandkleurige kop, totaalregel (28-09-2026) */
.elementor .of .doc{position:relative;border:1px solid var(--line)!important;box-shadow:12px 12px 0 -1px #fff,12px 12px 0 0 var(--line),0 40px 70px -40px rgba(20,23,26,.35)!important;overflow:visible!important}
.elementor .of .doc .doc-kop{margin:-28px -30px 8px!important;padding:20px 30px!important;background:var(--paper);border-radius:14px 14px 0 0;border-bottom:1px solid var(--line)!important;position:relative}
.elementor .of .doc-r li{padding:8px 0!important;align-items:center}
.elementor .of .doc-r .rn{display:inline-grid;place-items:center;width:26px;height:22px;border-radius:6px;background:var(--paper);font-size:11px!important;font-weight:700;color:var(--muted)}
.elementor .of .doc-r .rt b{font-weight:600}
.elementor .of .doc-r .rb{display:flex!important;align-items:center;gap:6px;width:auto!important;height:auto!important;background:none!important}
.elementor .of .doc-r .rb::before{content:"€";font-size:12px;font-weight:700;color:var(--muted)}
.elementor .of .doc-r .rb::after{content:"";display:block;width:56px;height:8px;border-radius:4px;background:linear-gradient(90deg,#ECEDE9,#F3F3F0)}
.elementor .of .doc-r::after{content:"Totaal: vaste prijs vooraf";display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding:14px 16px;border-radius:10px;background:var(--ink);color:#fff;font-size:14px;font-weight:700;background-image:linear-gradient(90deg,transparent calc(100% - 110px),rgba(255,255,255,.18) calc(100% - 110px),rgba(255,255,255,.18) calc(100% - 30px),transparent calc(100% - 30px));background-size:100% 8px;background-repeat:no-repeat;background-position:0 50%}
.elementor .of .doc-voet{margin-top:16px!important;gap:8px!important;flex-wrap:wrap}
.elementor .of .doc-voet .elementor-icon-list-item{background:var(--paper);border-radius:99px;padding:6px 12px!important}
.elementor .of p.of-na{display:flex;gap:12px;align-items:flex-start;margin-top:22px!important;padding:16px 18px;border-radius:12px;background:var(--paper);font-size:14.5px!important;line-height:1.6!important;color:var(--text)}
.elementor .of p.of-na::before{content:"";flex:none;width:20px;height:20px;margin-top:1px;background:rgb(var(--baksteen));-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.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 5 6v5c0 4.5 3 8.3 7 10 4-1.7 7-5.5 7-10V6z'/%3E%3Cpath d='m9 12 2 2 4-4'/%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.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 5 6v5c0 4.5 3 8.3 7 10 4-1.7 7-5.5 7-10V6z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E") center/contain no-repeat}
.elementor .of ul.pf li{background:#fff;transition:border-color .2s}
.elementor .of ul.pf li:hover{border-color:var(--ink)!important}
/* offerte kop mobiel */
@media (max-width:1023px){.elementor .of .doc .doc-kop{margin:-20px -20px 8px!important;padding:16px 20px!important}}
/* sectiekoppen volle breedte, tekst eronder (28-09-2026) */
.elementor .s-head{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;gap:14px!important}
.elementor .s-head>*{width:100%!important;max-width:100%!important}
.elementor .s-head h2,.elementor .s-head .elementor-heading-title{max-width:none!important}
.elementor .s-head .s-side,.elementor .s-head>.vst-lead{text-align:left!important;margin:0!important;padding:0!important;align-self:flex-start!important}
.elementor .s-head .s-side,.elementor .s-head .s-side>*{max-width:none!important}
.elementor .s-head .s-side p,.elementor .s-head>.vst-lead p{max-width:68ch!important;text-align:left!important}
.elementor .s-head .s-side>*{justify-content:flex-start!important;text-align:left!important}
.elementor .s-head>.vst-tijd{width:auto!important}
/* s-head met pijlen: pijlen rechts naast de kop */
.elementor .s-head:has(.snav){flex-direction:row!important;flex-wrap:nowrap!important;align-items:flex-end!important;justify-content:space-between!important;gap:24px!important}
.elementor .s-head:has(.snav)>*:first-child{flex:1 1 auto;width:auto!important}
.elementor .s-head:has(.snav)>*:not(:first-child){flex:0 0 auto;width:auto!important}
.elementor .s-head:has(.snav) p{max-width:68ch}
/* topbar telefoon (28-09-2026) */
.elementor .jh-top .jh-wrap{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important}
.elementor .jh-top-telw{width:auto!important;margin:0!important;display:block!important}
.elementor .jh-top-tel{display:inline-flex;align-items:center;gap:7px;color:#fff!important;font-size:12.5px;font-weight:700;text-decoration:none!important;letter-spacing:.01em;opacity:.92}
.elementor .jh-top-tel::before{content:"";width:13px;height:13px;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='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2'/%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='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2'/%3E%3C/svg%3E") center/contain no-repeat}
.elementor .jh-top-tel:hover{opacity:1}



/* header telefoontegels (28-09-2026) */
.jh-tels{display:flex;gap:10px;align-items:stretch}
.jh-tel2{display:flex;align-items:center;gap:11px;padding:7px 16px 7px 7px;border:1px solid #E4E5E1;border-radius:12px;background:#fff;text-decoration:none!important;transition:border-color .2s;white-space:nowrap}
.jh-tel2:hover{border-color:#14171A}
.jh-tel2 .ic{width:36px;height:36px;flex:none;border-radius:50%;background:#F5F5F2;display:grid;place-items:center;color:#14171A}
.jh-tel2 .t{display:block;line-height:1.2}
.jh-tel2 small{display:block;font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#6B7378;margin-bottom:2px}
.jh-tel2 b{display:block;font-size:15.5px;font-weight:800;color:#14171A;letter-spacing:.005em}
/* header tegels responsive */
.jh-nav .jh-link{white-space:nowrap}
@media (max-width:1439px){.jh-tel2 small{display:none}.jh-tel2{padding:6px 14px 6px 6px;gap:9px}.jh-tel2 .ic{width:30px;height:30px}.jh-tels{gap:8px}}
@media (max-width:1279px){.jh-tel2 .ic{display:none}.jh-tel2{padding:9px 12px}.jh-tel2 b{font-size:14.5px}}
@media (max-width:1024px){.jh-tels{display:none!important}}
/* header tegels vast */
.jh .jh-tel2{border:1px solid rgba(20,23,26,.1)!important;background:#fff!important;border-radius:12px!important}
.jh .jh-tel2:hover{border-color:#14171A!important}
.jh .jh-tel2 .ic{background:#F5F5F2!important;border-radius:50%!important;color:#14171A!important}
/* videoblok Over Jongsma v2 (28-09-2026) */
.elementor-368 .vid{aspect-ratio:16/9!important;height:auto!important;border-radius:16px!important;overflow:hidden;box-shadow:0 34px 64px -34px rgba(20,23,26,.5)}
.elementor .vid-more{width:100%}
.elementor .vk-rij{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:16px}
.elementor .vk{display:flex!important;flex-direction:column;padding:0!important;border:1px solid var(--line)!important;border-radius:12px;background:#fff!important;overflow:hidden;cursor:pointer;text-align:left;text-decoration:none!important;font-weight:400!important;transition:border-color .2s,box-shadow .2s}
.elementor .vk:hover{border-color:#C9CDC6!important}
.elementor .vk.on{border-color:var(--ink)!important;box-shadow:0 0 0 1px var(--ink)}
.elementor .vk-im{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:#111}
.elementor .vk-im img{display:block;position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;transition:transform .6s var(--ease)}
.elementor .vk:hover .vk-im img{transform:scale(1.05)}
.elementor .vk-im::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.45),rgba(0,0,0,0) 55%);pointer-events:none}
.elementor .vk-pb{position:absolute;left:10px;bottom:10px;z-index:2;width:32px;height:32px;border-radius:50%;background:#fff;display:grid;place-items:center;transition:transform .25s}
.elementor .vk:hover .vk-pb{transform:scale(1.1)}
.elementor .vk-pb svg{width:12px;height:12px;margin-left:2px;fill:#14171A}
.elementor .vk-duur{position:absolute;right:8px;bottom:10px;z-index:2;background:rgba(0,0,0,.72);color:#fff;font-size:11px;font-weight:700;padding:3px 7px;border-radius:5px;letter-spacing:.02em}
.elementor .vk-nu{position:absolute;left:8px;top:8px;z-index:2;display:none;background:#fff;color:#14171A;font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;padding:4px 8px;border-radius:5px}
.elementor .vk.on .vk-nu{display:block}
.elementor .vk-t{display:block;padding:11px 13px 13px}
.elementor .vk-t b{display:block;font-size:14px;color:var(--ink);line-height:1.3}
.elementor .vk-t small{display:block;font-size:12px;color:var(--muted);margin-top:3px}
@media (max-width:767px){.elementor .vk-rij{gap:8px}.elementor .vk-t{padding:8px 9px 10px}.elementor .vk-t b{font-size:12px}.elementor .vk-t small,.elementor .vk-duur{display:none}.elementor .vk-pb{width:26px;height:26px;left:7px;bottom:7px}}
/* jx-sbs6-lbl niet uitrekken in flex-kolommen (05-10-2026) */
.jx-sbs6-lbl{width:fit-content!important;max-width:100%}
/* footer e-mailtegel: adres past niet op één regel (05-10-2026) */
.jf-tegel .jf-tegel-n.jf-mail{font-size:15px;line-height:1.25;overflow-wrap:anywhere}
/* vst-tijd label: pil zo breed als de tekst (05-10-2026) */
.elementor .vst-tijd,.elementor .s-head > .vst-tijd{width:max-content!important;max-width:100%}
.elementor .vst-tijd p{max-width:none!important}
/* footer vestigingen kaartjes (05-10-2026) */
.elementor .jf-kolv .jf-v{margin:0 0 10px!important;padding:14px 16px 12px;border:1px solid var(--jf-ln);border-radius:12px;background:rgba(255,255,255,.035);transition:border-color .2s,background-color .2s}
.elementor .jf-kolv .jf-v:hover{border-color:rgba(255,255,255,.22);background:rgba(255,255,255,.055)}
.elementor .jf-kolv .jf-v-naam{font-size:17px;line-height:1.15;margin:0 0 4px}
.elementor .jf-kolv .jf-v-adres{display:flex;align-items:flex-start;gap:7px;margin:0 0 12px;font-size:13px;line-height:1.45;color:var(--jf-tx)}
.elementor .jf-kolv .jf-v-adres::before{content:"";flex:0 0 13px;height:13px;margin-top:3px;background:var(--jf-mu);-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='2' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5A7 7 0 0 1 19 9.5C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.4'/%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='2' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5A7 7 0 0 1 19 9.5C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.4'/%3E%3C/svg%3E") center/contain no-repeat}
.elementor .jf-kolv .jf-v-rij{justify-content:space-between;gap:8px;padding-top:10px;border-top:1px solid var(--jf-ln)}
.elementor .jf-kolv .jf-v-rij a:first-child{display:inline-flex;align-items:center;gap:8px;font-size:14.5px;letter-spacing:.01em;font-variant-numeric:tabular-nums}
.elementor .jf-kolv .jf-v-rij a:first-child::before{content:"";width:14px;height:14px;background:var(--jf-rood,#E2050C);-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='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2'/%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='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2'/%3E%3C/svg%3E") center/contain no-repeat}
.elementor .jf-kolv .jf-v-rij a:first-child:hover{color:#fff}
.elementor .jf-kolv .jf-v-rij a+a{display:inline-flex;align-items:center;gap:5px;padding:5px 10px 5px 11px;border-radius:99px;background:rgba(255,255,255,.08);color:var(--jf-tk);font-size:12.5px;font-weight:600;text-decoration:none;transition:background-color .2s}
.elementor .jf-kolv .jf-v-rij a+a::after{content:"";width:11px;height:11px;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='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7M9 7h8v8'/%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='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7M9 7h8v8'/%3E%3C/svg%3E") center/contain no-repeat}
.elementor .jf-kolv .jf-v-rij a+a:hover{background:rgba(255,255,255,.16)}
.elementor .jf-kolv .jf-tijd{margin-top:16px}
/* /footer vestigingen */
/* footer strook 3 kolommen: telefoontegels weg, nummers staan bij de vestigingen (05-10-2026) */
@media(min-width:1181px){.elementor .jf-strook{grid-template-columns:1.4fr 1fr 1fr}}/* End custom CSS */