/* ADS Metaplast - eigen frontend-laag: cookie-consent, formulier-feedback.
   Bewust met 'ads-' prefix zodat niets botst met Astra/Elementor. */

.ads-hidden{display:none !important}

/* ---------- Cookie consent ---------- */
.ads-cookie{
  position:fixed; left:16px; right:16px; bottom:16px; z-index:99999;
  max-width:520px; margin:0 auto;
  background:#121212; color:#f3f3f3;
  border-radius:14px; padding:20px 22px;
  box-shadow:0 10px 40px rgba(0,0,0,.35);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:14px; line-height:1.55;
  animation:ads-cookie-in .35s ease;
}
@keyframes ads-cookie-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.ads-cookie h4{margin:0 0 6px;font-size:16px;color:#fff}
.ads-cookie p{margin:0 0 14px;color:#c9cbcf}
.ads-cookie a{color:#ff7a6e}
.ads-cookie-actions{display:flex;flex-wrap:wrap;gap:10px}
.ads-btn{
  font:inherit;font-weight:600;cursor:pointer;border:0;border-radius:9px;
  padding:11px 18px;transition:background .15s,opacity .15s;
}
.ads-btn-primary{background:#fa3829;color:#fff}
.ads-btn-primary:hover{background:#d92c1e}
.ads-btn-ghost{background:transparent;color:#f3f3f3;border:1px solid #3d3d3d}
.ads-btn-ghost:hover{background:#242424}
@media(max-width:480px){
  .ads-cookie{left:10px;right:10px;bottom:10px;padding:18px}
  .ads-cookie-actions{flex-direction:column-reverse}
  .ads-btn{width:100%}
}

/* ---------- Formulier-feedback ---------- */
.ads-hp-wrap{position:absolute !important;left:-9999px !important;top:-9999px !important;
  width:1px;height:1px;overflow:hidden}
.ads-form-msg{
  border-radius:10px;padding:14px 16px;margin:14px 0 0;font-size:15px;line-height:1.5;
  font-family:inherit;
}
.ads-form-msg.ads-ok{background:#e7f6ec;color:#1e7a34;border:1px solid #b7e4c7}
.ads-form-msg.ads-err{background:#fdecea;color:#b42318;border:1px solid #f5c6c0}
.ads-form-success{
  background:#e7f6ec;color:#1e6b30;border:1px solid #b7e4c7;border-radius:12px;
  padding:26px 24px;text-align:center;font-family:inherit;
}
.ads-form-success h3{margin:0 0 8px;font-size:20px;color:#166534}
.ads-form-success p{margin:0;font-size:15px}
button.ads-submitting{opacity:.65;cursor:default}

/* ---------- Overflow-veiligheid ---------- */
html{overflow-x:clip}
@media(max-width:767px){
  /* Elementor form: negatieve marge veroorzaakt horizontale overflow op mobiel */
  .elementor-form-fields-wrapper{margin-left:0 !important;margin-right:0 !important}
}

/* ---------- Mobiel menu (fallback voor kapotte Elementor/off-canvas JS) ---------- */
.ads-burger{display:none}
@media(max-width:1024px){
  .ads-hide-mobile{display:none !important}
  body.ads-has-burger .elementor-menu-toggle{display:none !important}
  .ads-burger{
    display:flex;position:fixed;top:14px;right:14px;z-index:100000;
    width:48px;height:48px;align-items:center;justify-content:center;
    background:#121212;border-radius:11px;cursor:pointer;border:0;
    box-shadow:0 2px 10px rgba(0,0,0,.25)
  }
  .ads-burger span,.ads-burger span::before,.ads-burger span::after{
    content:"";display:block;position:absolute;width:23px;height:2.5px;background:#fff;border-radius:2px;transition:.25s
  }
  .ads-burger span::before{top:-7px}
  .ads-burger span::after{top:7px}
  .ads-burger span{position:relative}
  .ads-burger.open span{background:transparent}
  .ads-burger.open span::before{top:0;transform:rotate(45deg)}
  .ads-burger.open span::after{top:0;transform:rotate(-45deg)}
}
.ads-mnav{
  position:fixed;top:0;right:0;width:min(86vw,360px);max-width:100vw;height:100vh;height:100dvh;
  background:#fff;z-index:99999;box-shadow:-10px 0 40px rgba(0,0,0,.22);
  overflow-y:auto;padding:80px 0 40px;transform:translateX(100%);transition:transform .28s ease;
  -webkit-overflow-scrolling:touch
}
.ads-mnav.open{transform:translateX(0)}
.ads-mnav a{display:block;padding:13px 26px;color:#121212;text-decoration:none;font-size:16px;font-weight:700;
  border-bottom:1px solid #f0f1f2}
.ads-mnav a:hover,.ads-mnav a:focus{background:#fdecea;color:#fa3829}
.ads-mnav .ads-mnav-sub{background:#fafbfc}
.ads-mnav .ads-mnav-sub a{padding:11px 26px 11px 40px;font-weight:500;font-size:14.5px;color:#555;border-bottom:1px solid #f2f3f4}
.ads-mnav-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:99998;opacity:0;visibility:hidden;transition:.28s}
.ads-mnav-overlay.open{opacity:1;visibility:visible}

/* ---------- Desktop dropdown-menu (Elementor hover-JS ontbreekt in de mirror) ---------- */
@media(min-width:1025px){
  .elementor-location-header .elementor-nav-menu--main li.menu-item-has-children{position:relative}
  .elementor-location-header .elementor-nav-menu--main li.menu-item-has-children > ul.sub-menu{
    position:absolute; top:100%; left:0; z-index:9999;
    min-width:240px; margin:0; padding:8px 0; list-style:none;
    background:#fff; border-radius:12px; box-shadow:0 16px 38px rgba(0,0,0,.16);
    border:1px solid #eef0f2;
  }
  .elementor-location-header .elementor-nav-menu--main li.menu-item-has-children:hover > ul.sub-menu{
    display:block !important;
  }
  .elementor-location-header .elementor-nav-menu--main ul.sub-menu li{margin:0;list-style:none}
  .elementor-location-header .elementor-nav-menu--main ul.sub-menu a{
    display:block;padding:10px 22px;white-space:nowrap;font-size:15px;font-weight:500;
    color:#121212;text-decoration:none
  }
  .elementor-location-header .elementor-nav-menu--main ul.sub-menu a:hover{background:#fdecea;color:#fa3829}
}
