/* Header, fly-out, footer en builder-basis: maatvoering gemeten op marcneerhof.nl (Elementor-versie). */

/* ---------- Basis ---------- */
/* Elementor-kit van de bron: tekst en koppen schalen mee met de schermbreedte. */
:root{--mn-kit-body:clamp(1rem,.3167rem + 1.0667vw,1.25rem);--mn-kit-lh:calc(var(--mn-kit-body) * 1.5);--mn-kit-h1:clamp(2.875rem,.825rem + 3.2vw,3.625rem);--mn-kit-h2:clamp(1.625rem,.9rem + 1.15vw,2rem);--mn-kit-h3:clamp(1.5625rem,.8467rem + 1.1173vw,2.1875rem);--mn-kit-h4:clamp(1.5625rem,.7907rem + 1.2048vw,1.875rem);}
@media(max-width:1024px){:root{--mn-kit-h2:26px;}}
@media(max-width:767px){:root{--mn-kit-body:16px;--mn-kit-lh:20.8px;--mn-kit-h1:28px;--mn-kit-h2:22px;--mn-kit-h3:28px;--mn-kit-h4:24px;}}

body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}

/* ---------- Header ---------- */
.mn-header{position:fixed;top:0;left:0;width:100%;z-index:9999;background-color:#06090f;padding:0 40px;transition:background-color .25s ease;}
body:not(.mn-scrolled):has(.mn-vhero) .mn-header,body:not(.mn-scrolled):has(.mn-dv-hero) .mn-header{background-color:transparent;}
.mn-header-binnen{max-width:1301px;margin:0 auto;padding:20px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;}
.mn-logo{display:inline-block;line-height:0;}
.mn-logo img{width:150px;height:auto;display:inline-block;}
.mn-nav>ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;}
.mn-nav>ul>li{position:relative;display:flex;}
.mn-nav a{display:flex;align-items:center;color:#fff;text-decoration:none;font-family:Inter,sans-serif;font-size:13px;font-weight:400;line-height:20px;letter-spacing:.8px;text-transform:uppercase;margin:0 13.99px;transition:color .2s ease;}
.mn-nav>ul>li:first-child>a{margin-left:0;}
.mn-nav>ul>li:last-child>a{margin-right:0;}
.mn-nav a:hover,.mn-nav .current-menu-item>a{color:#b88c48;}
.mn-nav .menu-item-has-children>a::after{content:"";display:inline-block;width:0;height:0;margin-left:10px;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;}
.mn-nav .sub-menu{list-style:none;margin:0;padding:0;position:absolute;top:100%;left:14px;min-width:230px;background:#1f242c;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;z-index:10;padding-top:0;}
.mn-nav>ul>li:hover>.sub-menu,.mn-nav>ul>li:focus-within>.sub-menu{opacity:1;visibility:visible;}
.mn-nav>ul>li.menu-item-has-children::before{content:"";position:absolute;left:0;right:0;top:100%;height:26px;}
.mn-nav>ul>li.menu-item-has-children>.sub-menu{top:calc(100% + 26px);}
.mn-nav .sub-menu a{margin:0;padding:13px 20px;color:#f5f3ef;font-size:13px;font-weight:600;text-transform:none;letter-spacing:normal;white-space:nowrap;}
.mn-nav .sub-menu a:hover{color:#b88c48;}

/* ---------- Hamburger en fly-out ---------- */
#mn-mtoggle{display:none;}
#mn-drawer-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);opacity:0;visibility:hidden;transition:.3s ease;z-index:100000;}
body.mn-drawer-open #mn-drawer-backdrop{opacity:1;visibility:visible;}
#mn-drawer{position:fixed;top:0;right:0;height:100%;width:84%;max-width:350px;background:#0b1018;transform:translateX(100%);transition:transform .38s cubic-bezier(.4,0,.2,1);z-index:100001;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 28px;}
body.mn-drawer-open #mn-drawer{transform:translateX(0);}
#mn-drawer ul{list-style:none;margin:0;padding:0;width:100%;text-align:center;}
#mn-drawer li a{display:block;color:#fff;font-family:Inter,sans-serif;font-size:18px;font-weight:500;line-height:1;padding:13px 0;text-decoration:none;transition:color .2s ease;text-transform:uppercase;letter-spacing:1.5px;}
#mn-drawer li a:hover{color:#b88c48;}
#mn-drawer .mn-drawer-parent{display:flex;align-items:center;justify-content:center;gap:8px;color:#fff;font-family:Inter,sans-serif;font-size:18px;font-weight:500;line-height:1;padding:13px 0;text-transform:uppercase;letter-spacing:1.5px;cursor:pointer;}
#mn-drawer .mn-drawer-caret{width:8px;height:8px;border-right:2px solid #b88c48;border-bottom:2px solid #b88c48;transform:rotate(45deg);transition:transform .25s ease;margin-top:-3px;}
#mn-drawer li.mn-drawer-sub-open .mn-drawer-caret{transform:rotate(-135deg);margin-top:3px;}
#mn-drawer .mn-drawer-sub{max-height:0;overflow:hidden;transition:max-height .3s ease;}
#mn-drawer li.mn-drawer-sub-open .mn-drawer-sub{max-height:160px;}
#mn-drawer .mn-drawer-sub li a{font-size:14px;font-weight:400;text-transform:none;letter-spacing:0;padding:9px 0;opacity:.8;}

@media(max-width:1024px){
  .mn-nav{display:none;}
  #mn-mtoggle{display:flex;position:fixed;top:9px;right:18px;z-index:100002;width:44px;height:44px;padding:15px;align-items:center;justify-content:center;background:none;border:0;border-radius:7px;cursor:pointer;}
  #mn-mtoggle i{display:block;width:27px;height:2px;background:#fff;position:relative;transition:.3s ease;}
  #mn-mtoggle i::before,#mn-mtoggle i::after{content:"";position:absolute;left:0;width:27px;height:2px;background:#fff;transition:.3s ease;}
  #mn-mtoggle i::before{top:-8px;}
  #mn-mtoggle i::after{top:8px;}
  body.mn-drawer-open #mn-mtoggle i{background:transparent;}
  body.mn-drawer-open #mn-mtoggle i::before{top:0;transform:rotate(45deg);}
  body.mn-drawer-open #mn-mtoggle i::after{top:0;transform:rotate(-45deg);}
}
@media(max-width:767px){
  .mn-header{padding:0 24px;}
  .mn-header-binnen{max-width:767px;padding:15px 0;gap:15px;}
}

/* ---------- Footer ---------- */
.mn-footer{background:#161b24;padding:0 40px;margin:0;}
.mn-footer-binnen{max-width:1301px;margin:0 auto;padding:80px 0 25px;display:flex;flex-direction:column;gap:55px;}
.mn-footer-rij{display:flex;justify-content:space-between;gap:4px;}
.mn-footer-kol{display:flex;flex-direction:column;}
.mn-footer-logo{width:20%;gap:11px;}
.mn-footer-logo a{display:inline-block;line-height:0;}
.mn-footer-logo img{width:240px;max-width:100%;height:auto;}
.mn-footer-menu{width:12%;gap:18px;}
.mn-footer-trainingen{width:16%;gap:28px 18px;}
.mn-footer-contact{width:20%;gap:18px;}
.mn-footer h5{margin:0;color:#fff;font-family:"Playfair Display",serif;font-size:24px;font-weight:600;line-height:28.8px;}
.mn-footer ul{list-style:none;margin:0;padding:0;}
.mn-footer li{margin:0 0 9px;}
.mn-footer li:last-child{margin-bottom:0;}
.mn-footer li a{display:flex;align-items:center;color:#c9ccd2;font-family:"Source Sans 3",sans-serif;font-size:16px;line-height:20px;text-decoration:none;transition:color .2s ease;}
.mn-footer li a:hover{color:#b88c48;}
.mn-footer-contact p{margin:0 0 14.4px;color:#aeb4be;font-family:Inter,sans-serif;font-size:16px;line-height:var(--mn-kit-lh);}
.mn-footer-contact p a{color:#c9ccd2;text-decoration:none;}
.mn-footer-socials{display:flex;gap:19px;line-height:0;}
.mn-footer-socials a{display:inline-flex;width:18px;height:18px;color:#c9ccd2;transition:color .2s ease;}
.mn-footer-socials a:hover{color:#b88c48;}
.mn-footer-socials svg{width:18px;height:18px;fill:currentColor;}
.mn-footer-onder{max-width:1073px;margin:0 auto;padding:25px 0 0;width:100%;}
.mn-footer-onder p{margin:0 0 14.4px;text-align:center;color:#aeb4be;font-family:Inter,sans-serif;font-size:14px;line-height:var(--mn-kit-lh);}
.mn-footer-onder a{color:#c9ccd2;text-decoration:none;}
@media(max-width:1024px){
  .mn-footer-rij{flex-wrap:wrap;gap:30px 20px;}
  .mn-footer-kol{width:auto;}
}
@media(max-width:767px){
  .mn-footer{padding:0 24px;}
  .mn-footer-binnen{max-width:767px;padding:40px 0 20px;gap:30px;}
  .mn-footer-rij{flex-direction:column;gap:30px;}
  .mn-footer-kol{width:100%;gap:15px;}
  .mn-footer-logo img{width:147px;}
  .mn-footer-contact p{line-height:27.2px;}
  .mn-footer-onder{padding-top:20px;}
  .mn-footer-onder p{text-align:left;line-height:20.8px;}
}

/* ---------- Melange Builder: responsieve basis ---------- */
@media(max-width:767px){
  .mb-el--grid{grid-template-columns:1fr !important;}
  .mn-grid-mobiel-2{grid-template-columns:repeat(2,1fr) !important;}
}

/* IP-melding van Melange Formulieren verborgen op verzoek van Jacy (17-9), zoals op productie. */
.melange-formulier-ip{display:none!important;}
.mn-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
