/* Site-specific overrides */
.skip-link.screen-reader-text{position:absolute;left:-9999px;}
.skip-link.screen-reader-text:focus{left:6px;top:7px;z-index:100000;padding:8px 16px;background:#fff;color:#000;}
.rozema-form-wrap .elementor-field-group{margin-bottom:0.85rem;}
.rozema-form-wrap .elementor-field-textual{width:100%;max-width:100%;box-sizing:border-box;}
.rozema-form-wrap .elementor-field-label{display:block;margin-bottom:0.35rem;font-weight:600;}

/* Over ons form: Elementor exported dark inputs with near-identical text color + 1px line-height */
.elementor-212 .elementor-element.elementor-element-4fabc63 .elementor-field-group .elementor-field{
  color:#ffffff !important;
  line-height:1.4 !important;
  caret-color:#ffffff;
}
.elementor-212 .elementor-element.elementor-element-4fabc63 .elementor-field-group .elementor-field::placeholder{
  color:rgba(255,255,255,0.55);
}
.elementor-212 .elementor-element.elementor-element-4fabc63 .elementor-field-subgroup label{
  line-height:1.4 !important;
}

/* Home hero form also got line-height:1px from the Elementor export */
.elementor-8 .elementor-element.elementor-element-45b65bf3 .elementor-field-group .elementor-field,
.elementor-8 .elementor-element.elementor-element-45b65bf3 .elementor-field-subgroup label,
.elementor-224 .elementor-element.elementor-element-75ddc5d5 .elementor-field-group .elementor-field,
.elementor-224 .elementor-element.elementor-element-75ddc5d5 .elementor-field-subgroup label{
  line-height:1.4 !important;
}

/* Home hero: Elementor slideshow background without relying on Elementor JS */
.elementor-8 .elementor-element.elementor-element-b87a99d:not(.elementor-motion-effects-element-type-background){
  background-image:url("../media/wp-content/uploads/2021/02/shutterstock_1704669181.jpg");
  background-position:center center;
  background-repeat:no-repeat;
  background-size:cover;
}
.elementor-8 .elementor-element.elementor-element-b87a99d > .elementor-background-slideshow{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
}
/* Keep Elementor absolute overlay so the dark tint covers the hero image */
.elementor-8 .elementor-element.elementor-element-b87a99d > .elementor-background-overlay{
  position:absolute;
  inset:0;
  z-index:1;
}
.elementor-8 .elementor-element.elementor-element-b87a99d > .elementor-container{
  position:relative;
  z-index:2;
}

/* Desktop Diensten submenu (Elementor Pro / SmartMenus not initializing) */
@media (min-width: 1025px) {
  /* Elementor tablet-breakpoint mode hides the main menu by default without its JS */
  .elementor-nav-menu--dropdown-tablet .elementor-nav-menu--main {
    display: block !important;
  }
  .elementor-nav-menu--dropdown-tablet .elementor-menu-toggle {
    display: none !important;
  }
  .elementor-nav-menu--dropdown-tablet > .elementor-widget-container > nav.elementor-nav-menu--dropdown.elementor-nav-menu__container {
    display: none !important;
  }
  /* Nested submenu must override Elementor's blanket display:none on .elementor-nav-menu--dropdown */
  .elementor-nav-menu--main .menu-item-has-children > ul.sub-menu.elementor-nav-menu--dropdown {
    display: block !important;
  }
}

.elementor-nav-menu--main .menu-item-has-children{
  position:relative;
}
.elementor-nav-menu--main .menu-item-has-children > .elementor-nav-menu--dropdown.sub-menu{
  position:absolute;
  left:0;
  top:100%;
  min-width:14rem;
  margin:0;
  padding:0.35rem 0;
  list-style:none;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none;
  transform:translateY(0.35rem);
  transition:opacity 0.18s ease, visibility 0.18s ease, transform 0.18s ease;
  z-index:10000;
  background-color:#333333 !important;
  box-shadow:0 8px 24px rgba(0,0,0,0.25);
}
.elementor-nav-menu--main .menu-item-has-children:hover > .elementor-nav-menu--dropdown.sub-menu,
.elementor-nav-menu--main .menu-item-has-children:focus-within > .elementor-nav-menu--dropdown.sub-menu,
.elementor-nav-menu--main .menu-item-has-children.is-submenu-open > .elementor-nav-menu--dropdown.sub-menu{
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto;
  transform:translateY(0);
}
.elementor-nav-menu--main .menu-item-has-children > .elementor-nav-menu--dropdown.sub-menu .elementor-sub-item{
  display:block;
  padding:0.55rem 1rem;
  white-space:nowrap;
  color:#F0F0F0 !important;
  text-decoration:none;
  background:transparent !important;
}
.elementor-nav-menu--main .menu-item-has-children > .elementor-nav-menu--dropdown.sub-menu .elementor-sub-item:hover,
.elementor-nav-menu--main .menu-item-has-children > .elementor-nav-menu--dropdown.sub-menu .elementor-sub-item:focus{
  background-color:#000000 !important;
  color:#FFFFFF !important;
}
.elementor-nav-menu--main .menu-item-has-children > .elementor-item .sub-arrow{
  display:inline-block;
  margin-inline-start:0.35rem;
  font-size:0.75em;
  vertical-align:middle;
}

/* Mobile nav: nested submenu under burger panel */
.elementor-nav-menu--dropdown.elementor-nav-menu__container .menu-item-has-children > .sub-menu{
  display:none !important;
  position:static !important;
  background:transparent !important;
  box-shadow:none !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:none !important;
  padding:0;
  min-width:0;
  margin:0;
  list-style:none;
}
.elementor-nav-menu--dropdown.elementor-nav-menu__container .menu-item-has-children.is-submenu-open > .sub-menu{
  display:block !important;
}
.elementor-nav-menu--dropdown.elementor-nav-menu__container .menu-item-has-children > a .sub-arrow{
  margin-inline-start:auto;
  padding-inline-end:0;
}
/* Ensure Elementor toggle open-state works without Elementor JS */
@media (max-width:1024px){
  .elementor-nav-menu--toggle .elementor-menu-toggle.elementor-active + .elementor-nav-menu__container.elementor-nav-menu--dropdown{
    max-height:var(--menu-height, 100vh) !important;
    transform:scaleY(1) !important;
    overflow-x:hidden;
    overflow-y:auto;
  }
}

/* Footer legal links: one row (incl. Cookie-instellingen), matching production look */
.elementor-165 .elementor-element.elementor-element-2c8c7408 > .elementor-container{
  align-items:center;
}
.elementor-165 .elementor-element.elementor-element-202b55b > .elementor-widget-wrap{
  display:flex !important;
  flex-direction:row;
  flex-wrap:nowrap;
  justify-content:flex-end;
  align-items:center;
  column-gap:0;
}
.elementor-165 .elementor-element.elementor-element-202b55b > .elementor-widget-wrap > .elementor-element{
  width:auto !important;
  max-width:none;
  flex:0 0 auto;
}
.elementor-165 .elementor-element.elementor-element-202b55b .elementor-button{
  background-color:transparent !important;
  /* Slightly tighter than Elementor default so 4 links still fit on one row */
  padding:14px 12px !important;
  min-height:0 !important;
  font-family:"Rubik", Sans-serif;
  font-size:12px;
  font-weight:400;
  line-height:15px;
  letter-spacing:0.8px;
  color:#838383;
}
.elementor-165 .elementor-element.elementor-element-202b55b .elementor-button:hover,
.elementor-165 .elementor-element.elementor-element-202b55b .elementor-button:focus{
  color:#F01C20;
}
.elementor-165 .elementor-element.elementor-element-cookie-settings > .elementor-widget-container{
  margin:0;
  padding:0;
}
@media (max-width:1024px){
  .elementor-165 .elementor-element.elementor-element-202b55b > .elementor-widget-wrap{
    flex-wrap:wrap;
    justify-content:center;
  }
}

/* Waterontharder FAQ column slideshow (Elementor JS slideshow fallback) */
.elementor-928 .elementor-element.elementor-element-53cb27a > .elementor-widget-wrap,
.elementor-928 .elementor-element.elementor-element-53cb27a > .elementor-element-populated{
  background-image:url("../media/wp-content/uploads/2021/03/shutterstock_584289709.jpg");
  background-position:center center;
  background-repeat:no-repeat;
  background-size:cover;
  min-height:420px;
}
@media (max-width:1024px){
  .elementor-928 .elementor-element.elementor-element-53cb27a > .elementor-widget-wrap,
  .elementor-928 .elementor-element.elementor-element-53cb27a > .elementor-element-populated{
    min-height:280px;
  }
}
