.elementor-kit-4{--e-global-color-primary:#0AA5DD;--e-global-color-secondary:#652D90;--e-global-color-text:#666666;--e-global-color-accent:#0BA5DE;--e-global-color-heading:#333333;--e-global-color-surface:#F7F7F7;--e-global-color-white:#FFFFFF;--e-global-color-navy:#0D3A5E;--e-global-color-lightblue:#2EA3F2;--e-global-color-textblue:#0077A8;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:500;--e-global-typography-primary-text-transform:uppercase;--e-global-typography-primary-line-height:1.2em;--e-global-typography-secondary-font-family:"Bitter";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.7em;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-size:15px;--e-global-typography-accent-font-weight:700;--e-global-typography-eyebrow-font-family:"Roboto";--e-global-typography-eyebrow-font-size:13px;--e-global-typography-eyebrow-font-weight:700;--e-global-typography-eyebrow-text-transform:uppercase;--e-global-typography-eyebrow-letter-spacing:1px;background-color:#FFFFFF;color:var( --e-global-color-text );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 );}.elementor-kit-4 button,.elementor-kit-4 input[type="button"],.elementor-kit-4 input[type="submit"],.elementor-kit-4 .elementor-button{background-color:var( --e-global-color-primary );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 );color:var( --e-global-color-white );border-radius:4px 4px 4px 4px;padding:14px 26px 14px 26px;}.elementor-kit-4 button:hover,.elementor-kit-4 button:focus,.elementor-kit-4 input[type="button"]:hover,.elementor-kit-4 input[type="button"]:focus,.elementor-kit-4 input[type="submit"]:hover,.elementor-kit-4 input[type="submit"]:focus,.elementor-kit-4 .elementor-button:hover,.elementor-kit-4 .elementor-button:focus{background-color:var( --e-global-color-secondary );color:var( --e-global-color-white );}.elementor-kit-4 e-page-transition{background-color:#FFBC7D;}.elementor-kit-4 a{color:var( --e-global-color-textblue );}.elementor-kit-4 a:hover{color:var( --e-global-color-secondary );}.elementor-kit-4 h1{color:var( --e-global-color-heading );font-family:"Roboto", Sans-serif;font-size:36px;font-weight:500;text-transform:uppercase;line-height:1.25em;}.elementor-kit-4 h2{color:var( --e-global-color-heading );font-family:"Roboto", Sans-serif;font-size:28px;font-weight:500;text-transform:uppercase;line-height:1.25em;}.elementor-kit-4 h3{color:var( --e-global-color-heading );font-family:"Roboto", Sans-serif;font-size:21px;font-weight:500;text-transform:uppercase;line-height:1.25em;}.elementor-kit-4 h4{color:var( --e-global-color-heading );font-family:"Roboto", Sans-serif;font-size:18px;font-weight:500;text-transform:uppercase;line-height:1.25em;}.elementor-kit-4 label{color:var( --e-global-color-heading );}.elementor-kit-4 input:not([type="button"]):not([type="submit"]),.elementor-kit-4 textarea,.elementor-kit-4 .elementor-field-textual{color:var( --e-global-color-heading );background-color:#FFFFFF;border-radius:6px 6px 6px 6px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}.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-4{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-4 h1{font-size:30px;}.elementor-kit-4 h2{font-size:26px;}.elementor-kit-4 h3{font-size:20px;}.elementor-kit-4 h4{font-size:18px;}.elementor-kit-4 button,.elementor-kit-4 input[type="button"],.elementor-kit-4 input[type="submit"],.elementor-kit-4 .elementor-button{font-size:var( --e-global-typography-accent-font-size );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-4{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-4 h1{font-size:26px;}.elementor-kit-4 h2{font-size:23px;}.elementor-kit-4 h3{font-size:19px;}.elementor-kit-4 h4{font-size:17px;}.elementor-kit-4 button,.elementor-kit-4 input[type="button"],.elementor-kit-4 input[type="submit"],.elementor-kit-4 .elementor-button{font-size:var( --e-global-typography-accent-font-size );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* Casa Fiscaal: toegankelijkheid (WCAG 2.2 AA). Zichtbare focus voor toetsenbordgebruikers. */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible, .elementor-button:focus-visible { outline: 3px solid #652D90 !important; outline-offset: 2px !important; }
.cf-on-dark a:focus-visible, .cf-on-dark .elementor-button:focus-visible, .cf-on-dark [tabindex]:focus-visible { outline-color: #FFFFFF !important; }
.skip-link:focus { position: fixed; top: 8px; left: 8px; z-index: 100000; background: #FFFFFF; color: #0AA5DD; padding: 12px 18px; border-radius: 4px; clip: auto; width: auto; height: auto; }
/* Ankers niet onder de sticky header laten vallen */
[id] { scroll-margin-top: 120px; }
/* Links herkenbaar: onderstreept */
.cf-u { text-decoration: underline; text-underline-offset: 3px; }
.cf-hb a:hover .cf-u, .cf-hb a:focus-visible .cf-u { text-decoration-thickness: 2px; }
.cf-on-dark .elementor-widget-text-editor a, .elementor-widget-theme-post-content a, .cf-legal a { text-decoration: underline; text-underline-offset: 3px; }
/* Optionele secties verbergen als ze leeg zijn */
.cf-hide-empty:not(:has(img, .e-loop-item, .cf-faq__item)) { display: none; }
/* Veelgestelde vragen [cf_faq] */
.cf-faq__title { font-family: "Roboto", sans-serif; font-weight: 500; text-transform: uppercase; color: #333333; font-size: 28px; line-height: 1.25; margin: 0 0 16px; }
@media (max-width: 767px) { .cf-faq__title { font-size: 23px; } }
.cf-faq__cols { display: grid; grid-template-columns: 1fr 1fr; gap: 0 32px; }
@media (max-width: 767px) { .cf-faq__cols { grid-template-columns: 1fr; } }
.cf-faq__item { border-bottom: 1px solid #DDDDDD; padding: 14px 0; }
.cf-faq__item summary { cursor: pointer; font-weight: 500; color: #333333; }
.cf-faq__answer { padding-top: 10px; }
.cf-faq__answer p:last-child { margin-bottom: 0; }
/* Gerelateerde links [cf_related] */
.cf-related__title { font-family: "Roboto", sans-serif; font-weight: 500; text-transform: uppercase; color: #333333; font-size: 18px; margin: 0 0 12px; }
.cf-related ul { list-style: none; margin: 0; padding: 0; }
.cf-related li { padding: 8px 0; border-bottom: 1px solid #E2E2E2; }
.cf-related li:last-child { border-bottom: 0; }
.cf-related a { font-weight: 500; text-decoration: none; }
.cf-related a::before { content: "›"; margin-right: 8px; color: #652D90; }
@media (min-width: 768px) { .cf-aside { position: sticky; top: 140px; } }
/* Lopende tekst (dienst, blog, privacy) */
.elementor-widget-theme-post-content h2, .cf-legal h2 { font-size: 24px; margin: 32px 0 12px; }
.elementor-widget-theme-post-content h3, .cf-legal h3 { font-size: 19px; margin: 24px 0 8px; }
.elementor-widget-theme-post-content ul, .cf-legal ul { margin: 0 0 1em; padding-left: 1.2em; }
.elementor-widget-theme-post-content li, .cf-legal li { margin: 4px 0; }
/* Kaarten */
.cf-card .elementor-widget-image { width: 100%; align-self: stretch; }
.cf-card .elementor-widget-image a { display: block; }
.cf-card .elementor-widget-image img { width: 100%; }
.e-loop-item, .e-loop-item > .cf-card { height: 100%; }
.cf-card > .e-con:last-child { flex-grow: 1; }
.cf-card .elementor-widget-button { margin-top: auto; }
.cf-tile { text-decoration: none; transition: transform .2s ease; }
.cf-tile:hover { transform: translateY(-3px); }
@media (prefers-reduced-motion: reduce) { .cf-tile, .cf-tile:hover { transition: none; transform: none; } }
.cf-stars { color: #0AA5DD; letter-spacing: 2px; }
/* Header zoals huidige site: blauwe streep onder de menubalk en een blauw pijltje onder de actieve pagina (desktop) */
.cf-mainbar { border-bottom: 3px solid var(--e-global-color-primary) !important; }
@media (min-width: 1025px) {
  .cf-mainbar .elementor-widget-nav-menu { align-self: stretch; }
  .cf-mainbar .elementor-widget-nav-menu > .elementor-widget-container,
  .cf-mainbar .elementor-nav-menu--main,
  .cf-mainbar .elementor-nav-menu--main > .elementor-nav-menu,
  .cf-mainbar .elementor-nav-menu--main > .elementor-nav-menu > li { height: 100%; }
  .cf-mainbar .elementor-nav-menu--main > .elementor-nav-menu > li > a { height: 100%; display: flex; align-items: center; position: relative; }
  .cf-mainbar .elementor-nav-menu--main > .elementor-nav-menu > li > a.elementor-item-active::before,
  .cf-mainbar .elementor-nav-menu--main > .elementor-nav-menu > li.current-menu-ancestor > a::before {
    content: ""; position: absolute; left: 50%; bottom: -10px; transform: translateX(-50%);
    width: 0; height: 0; border-left: 10px solid transparent; border-right: 10px solid transparent;
    border-bottom: 10px solid var(--e-global-color-primary); pointer-events: none;
  }
  .cf-mainbar .elementor-nav-menu--main > .elementor-nav-menu > li.current-menu-ancestor > a { color: var(--e-global-color-primary); }
}
/* Subfooter op mobiel gecentreerd */
@media (max-width: 767px) {
  .cf-bottombar, .cf-bottombar .elementor-heading-title { text-align: center; }
  .cf-bottombar .elementor-nav-menu--main .elementor-nav-menu { justify-content: center; }
  .cf-bottombar .elementor-social-icons-wrapper { justify-content: center; }
  .cf-footer .elementor-widget-image { text-align: left; }
}
/* Reviews als kolommen (masonry): lange review rekt de rij niet op */
.cf-reviews.e-con { display: block !important; column-count: 3; column-gap: 24px; }
.cf-reviews > .e-con { width: 100% !important; break-inside: avoid; margin-bottom: 24px; display: flex; }
@media (max-width: 1024px) { .cf-reviews.e-con { column-count: 2; } }
@media (max-width: 767px) { .cf-reviews.e-con { column-count: 1; } }
/* Critique: externe links herkenbaar (woningaanbod opent in nieuw tabblad) */
.cf-mainbar .elementor-nav-menu a[target="_blank"]::after, .cf-footer a[href*="woningaanbod."]::after { content: " ↗"; font-size: .85em; }
/* Critique: klikvlakken minimaal 24px */
.cf-hb a, .cf-footer .elementor-widget-text-editor a, .cf-legal a, .elementor-widget-text-editor p a { display: inline-block; min-height: 24px; line-height: 24px; }
.cf-topbar .elementor-icon-list-item > a { min-height: 28px; }
/* Critique: prettige regellengte in lopende tekst */
.elementor-widget-theme-post-content, .cf-legal { max-width: 760px; }
/* Dropdown menu: desktop */
@media (min-width: 1025px) {
  .cf-mainbar .elementor-nav-menu--main > ul > li.menu-item-has-children { position: relative; }
  .cf-mainbar .elementor-nav-menu--main > ul > li.menu-item-has-children::after { content: ""; position: absolute; left: 0; right: 0; top: 100%; height: 16px; border: 0 !important; background: transparent !important; align-self: auto; } /* onzichtbare hover-brug; Elementor gebruikt li::after ook als (zwarte) menuscheiding */
  .cf-mainbar .elementor-nav-menu--main .sub-menu {
    margin-top: 13px !important; min-width: 300px !important; max-width: 320px; padding: 6px 0 !important;
    background: #FFFFFF !important; border-top: 3px solid var(--e-global-color-primary); border-radius: 0 0 6px 6px;
    box-shadow: 0 16px 36px rgba(13, 58, 94, .16), 0 2px 6px rgba(13, 58, 94, .06);
  }
  .cf-mainbar .elementor-nav-menu--main .sub-menu li + li { border-top: 1px solid #EEF1F3; }
  .cf-mainbar .elementor-nav-menu--main .sub-menu a.elementor-sub-item {
    white-space: normal !important; font-family: "Roboto", sans-serif; font-size: 15px; font-weight: 500; line-height: 1.35;
    color: #333333 !important; background: transparent !important; padding: 11px 22px !important; border-left: 0 !important;
    transition: background-color .15s ease, color .15s ease, box-shadow .15s ease;
  }
  .cf-mainbar .elementor-nav-menu--main .sub-menu a.elementor-sub-item:hover,
  .cf-mainbar .elementor-nav-menu--main .sub-menu a.elementor-sub-item:focus-visible {
    background: #F2FAFD !important; color: #0077A8 !important; box-shadow: inset 3px 0 0 var(--e-global-color-primary);
  }
  .cf-mainbar .elementor-nav-menu--main .sub-menu a.elementor-sub-item.elementor-item-active {
    background: #F2FAFD !important; color: #0077A8 !important; font-weight: 700; box-shadow: inset 3px 0 0 var(--e-global-color-primary);
  }
  .cf-mainbar .elementor-nav-menu--main .sub-menu li.cf-menu-all a.elementor-sub-item { font-weight: 700; color: #652D90 !important; }
  .cf-mainbar .elementor-nav-menu--main .sub-arrow i, .cf-mainbar .elementor-nav-menu--main .sub-arrow svg { transition: transform .2s ease; }
  .cf-mainbar .elementor-nav-menu--main .has-submenu.highlighted .sub-arrow i,
  .cf-mainbar .elementor-nav-menu--main .has-submenu.highlighted .sub-arrow svg { transform: rotate(180deg); }
}
/* Dropdown menu: tablet en mobiel (burger) */
@media (max-width: 1024px) {
  .cf-mainbar nav.elementor-nav-menu--dropdown {
    border-top: 1px solid #EEF1F3; box-shadow: 0 18px 30px rgba(13, 58, 94, .14);
    max-height: calc(100vh - 140px); overflow-y: auto; -webkit-overflow-scrolling: touch;
  }
  .cf-mainbar nav.elementor-nav-menu--dropdown li { border-bottom: 1px solid #EEF1F3; }
  .cf-mainbar nav.elementor-nav-menu--dropdown li:last-child { border-bottom: 0; }
  .cf-mainbar nav.elementor-nav-menu--dropdown a.elementor-item {
    font-family: "Bitter", serif; font-size: 16px; font-weight: 600; line-height: 1.3; min-height: 52px;
    padding: 14px 20px !important; color: #652D90 !important; background: #FFFFFF !important; border-left: 4px solid transparent !important;
  }
  .cf-mainbar nav.elementor-nav-menu--dropdown a.elementor-item.elementor-item-active,
  .cf-mainbar nav.elementor-nav-menu--dropdown li.current-menu-ancestor > a.elementor-item {
    color: #0077A8 !important; background: #F2FAFD !important; border-left-color: var(--e-global-color-primary) !important;
  }
  .cf-mainbar nav.elementor-nav-menu--dropdown a.elementor-item:hover { color: #0077A8 !important; background: #F2FAFD !important; }
  .cf-mainbar nav.elementor-nav-menu--dropdown .sub-menu { background: #F7F7F7 !important; border-top: 1px solid #EEF1F3; }
  .cf-mainbar nav.elementor-nav-menu--dropdown .sub-menu li { border-bottom-color: #E8ECEF; }
  .cf-mainbar nav.elementor-nav-menu--dropdown a.elementor-sub-item {
    font-family: "Roboto", sans-serif; font-size: 15px; font-weight: 400; line-height: 1.35; white-space: normal !important; min-height: 46px;
    padding: 12px 20px 12px 36px !important; color: #333333 !important; background: transparent !important; border-left: 0 !important;
  }
  .cf-mainbar nav.elementor-nav-menu--dropdown a.elementor-sub-item.elementor-item-active { color: #0077A8 !important; font-weight: 700; }
  .cf-mainbar nav.elementor-nav-menu--dropdown li.cf-menu-all a.elementor-sub-item { font-weight: 700; color: #652D90 !important; }
  .cf-mainbar nav.elementor-nav-menu--dropdown .sub-arrow {
    width: 44px; height: 44px; margin: -12px -12px -12px auto; display: inline-flex; align-items: center; justify-content: center; border-radius: 6px;
  }
  .cf-mainbar nav.elementor-nav-menu--dropdown .sub-arrow i, .cf-mainbar nav.elementor-nav-menu--dropdown .sub-arrow svg { transition: transform .2s ease; }
  .cf-mainbar nav.elementor-nav-menu--dropdown .has-submenu.highlighted .sub-arrow i,
  .cf-mainbar nav.elementor-nav-menu--dropdown .has-submenu.highlighted .sub-arrow svg { transform: rotate(180deg); }
  .cf-mainbar .elementor-menu-toggle { border-radius: 6px; }
}
@media (prefers-reduced-motion: reduce) {
  .cf-mainbar .sub-menu a, .cf-mainbar .sub-arrow i, .cf-mainbar .sub-arrow svg { transition: none !important; }
}
/* Footer netter */
.cf-footer .elementor-heading-title { margin-bottom: 4px; }
.cf-foot-about p { max-width: 34ch; margin: 0; }
.cf-foot-group { opacity: .9; }
.cf-foot-group p { margin: 0; }
.cf-footer .elementor-icon-list-text { font-size: 15px; }
@media (max-width: 1024px) { .cf-foot-about p { max-width: none; } }/* End custom CSS */