:root{--bcmn-h:72px;--bcmn-navy:#0B2341;--bcmn-dark:#07182E;--bcmn-text:#1B2430;--bcmn-muted:#9299A2}
#bcmn-mobile-header,#bcmn-mobile-footer{display:none}
@media(max-width:767px){
html,body{overflow-x:hidden!important}body.bcmn-menu-open{overflow:hidden!important}body.bcmn-enabled:not(.home){padding-top:var(--bcmn-h)!important}
.elementor-location-header,.hfe-site-header,.site-header.elementor,.elementor-location-footer,.hfe-site-footer{display:none!important}
#bcmn-mobile-header{display:block;position:fixed;top:0;left:0;right:0;width:100%;height:var(--bcmn-h);z-index:2147483000;background:rgba(11,35,65,.72);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
body:not(.home) #bcmn-mobile-header,#bcmn-mobile-header.bcmn-scrolled{background:rgba(11,35,65,.97);box-shadow:0 4px 18px rgba(0,0,0,.12)}
.bcmn-topbar{height:var(--bcmn-h);width:100%;box-sizing:border-box;padding:0 22px;display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:16px}.bcmn-logo{display:flex;align-items:center;min-width:0;max-width:68%;color:#fff;text-decoration:none}.bcmn-logo img,.bcmn-logo .custom-logo{display:block;width:auto;max-width:100%;max-height:42px;object-fit:contain}.bcmn-site-title{font-weight:700;color:#fff;font-size:20px;white-space:nowrap}
.bcmn-toggle{border:0;background:transparent;color:#fff;display:flex;align-items:center;gap:13px;padding:0;margin:0;cursor:pointer;min-width:max-content}.bcmn-menu-word{font-size:17px;letter-spacing:.08em}.bcmn-burger{width:28px;height:22px;display:flex;flex-direction:column;justify-content:space-between}.bcmn-burger i{display:block;height:2px;width:28px;background:#fff}.bcmn-close{display:none;width:28px;height:28px;position:relative}.bcmn-close:before,.bcmn-close:after{content:"";position:absolute;left:13px;top:1px;width:2px;height:27px;background:#fff}.bcmn-close:before{transform:rotate(45deg)}.bcmn-close:after{transform:rotate(-45deg)}body.bcmn-menu-open .bcmn-burger{display:none}body.bcmn-menu-open .bcmn-close{display:block}
#bcmn-overlay{display:none;position:fixed;top:var(--bcmn-h);left:0;width:100vw;max-width:100vw;height:calc(100dvh - var(--bcmn-h));box-sizing:border-box;background:#fff;overflow:hidden;z-index:2147482999}body.admin-bar #bcmn-overlay{top:calc(46px + var(--bcmn-h));height:calc(100dvh - 46px - var(--bcmn-h))}body.bcmn-menu-open #bcmn-overlay{display:block}
.bcmn-overlay-inner{width:100%;max-width:100%;height:100%;box-sizing:border-box;padding:62px 46px 26px;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.bcmn-nav{width:100%}.bcmn-group{width:100%}.bcmn-parent{width:100%;box-sizing:border-box;border:0;background:transparent;padding:18px 0;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:16px;color:var(--bcmn-text);cursor:pointer}.bcmn-parent-left{min-width:0;display:flex;flex-direction:row;align-items:center;gap:22px}.bcmn-parent-icon{width:34px;height:34px;flex:0 0 34px;color:var(--bcmn-text)}.bcmn-parent-icon svg{display:block;width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.bcmn-parent-title{text-align:left;font-size:26px;line-height:1.15;font-weight:400}.bcmn-chevron{flex:0 0 13px;width:13px;height:13px;border-right:3px solid var(--bcmn-text);border-bottom:3px solid var(--bcmn-text);transform:rotate(45deg) translateY(-3px);transition:transform .2s ease;margin-right:5px}.bcmn-parent[aria-expanded="true"] .bcmn-chevron{transform:rotate(225deg) translate(-2px,-2px)}
.bcmn-submenu{display:none;padding:0 0 12px 56px;width:100%;box-sizing:border-box}.bcmn-group.bcmn-open .bcmn-submenu{display:block}.bcmn-submenu a{display:block;width:100%;box-sizing:border-box;padding:8px 0;color:var(--bcmn-navy);text-decoration:none;font-size:16px;line-height:1.35}
.bcmn-menu-bottom{margin-top:auto;padding-top:32px;display:flex;flex-direction:column;align-items:center;gap:20px}.bcmn-phone{width:min(100%,360px);min-height:58px;box-sizing:border-box;border:1px solid #A8AFB7;border-radius:20px;color:var(--bcmn-text);text-decoration:none;display:flex;align-items:center;justify-content:center;gap:10px;font-size:18px}.bcmn-phone span{color:#2478A7;font-size:27px}.bcmn-socials,.bcmn-footer-socials{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:26px}.bcmn-socials a,.bcmn-footer-socials a{display:block;width:25px;height:25px;color:var(--bcmn-muted)}.bcmn-socials svg,.bcmn-footer-socials svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#bcmn-mobile-footer{display:block;width:100%;box-sizing:border-box;background:#151719;color:#fff;padding:74px 28px 72px;text-align:center;overflow:hidden}.bcmn-footer-section{max-width:560px;margin:0 auto 76px}.bcmn-footer-section:last-child{margin-bottom:0}.bcmn-footer h2{margin:0 0 42px;font-size:37px;line-height:1;letter-spacing:.06em;color:#fff;font-weight:700}.bcmn-footer p{margin:0 0 18px;font-size:17px;line-height:1.45;color:#fff}.bcmn-footer a{color:inherit;text-decoration:none}.bcmn-footer .bcmn-muted{color:#858B93!important}.bcmn-footer-socials{margin-bottom:35px}.bcmn-footer-socials a{color:#fff;width:28px;height:28px}.bcmn-footer-logo{display:block;margin:0 auto 30px;max-width:300px}.bcmn-footer-logo img,.bcmn-footer-logo .custom-logo{max-width:100%;max-height:54px;width:auto;height:auto}.bcmn-legal{display:flex;flex-wrap:wrap;justify-content:center;gap:7px 12px;color:#858B93}.bcmn-legal a{color:#858B93;font-size:14px}.bcmn-newsletter{border-top:1px solid rgba(255,255,255,.09);padding-top:64px}
}
@media(max-width:420px){:root{--bcmn-h:68px}.bcmn-topbar{padding:0 18px}.bcmn-logo{max-width:64%}.bcmn-logo img,.bcmn-logo .custom-logo{max-height:38px}.bcmn-overlay-inner{padding:48px 32px 24px}.bcmn-parent-left{gap:18px}.bcmn-parent-title{font-size:23px}.bcmn-parent-icon,.bcmn-parent-icon svg{width:31px;height:31px}.bcmn-submenu{padding-left:49px}}


/* =========================================================
   v1.1 Brand-color hard reset
   Prevent theme/Elementor accent colors from bleeding into
   the dedicated Butterfly mobile navigation.
   ========================================================= */
@media (max-width:767px){

  #bcmn-mobile-header button,
  #bcmn-mobile-header button:hover,
  #bcmn-mobile-header button:focus,
  #bcmn-mobile-header button:focus-visible,
  #bcmn-mobile-header button:active,
  #bcmn-mobile-header .bcmn-parent,
  #bcmn-mobile-header .bcmn-parent:hover,
  #bcmn-mobile-header .bcmn-parent:focus,
  #bcmn-mobile-header .bcmn-parent:focus-visible,
  #bcmn-mobile-header .bcmn-parent:active,
  #bcmn-mobile-header .bcmn-group.bcmn-open .bcmn-parent{
    background:transparent !important;
    background-color:transparent !important;
    color:var(--bcmn-text) !important;
    border-color:transparent !important;
    box-shadow:none !important;
    outline:none !important;
    text-shadow:none !important;
  }

  #bcmn-mobile-header .bcmn-parent-title,
  #bcmn-mobile-header .bcmn-parent-icon,
  #bcmn-mobile-header .bcmn-chevron{
    color:var(--bcmn-text) !important;
  }

  #bcmn-mobile-header .bcmn-group.bcmn-open .bcmn-parent-title,
  #bcmn-mobile-header .bcmn-group.bcmn-open .bcmn-parent-icon,
  #bcmn-mobile-header .bcmn-group.bcmn-open .bcmn-chevron{
    color:var(--bcmn-navy) !important;
  }

  #bcmn-mobile-header .bcmn-parent:hover{
    background:#F5F7FA !important;
  }

  #bcmn-mobile-header .bcmn-group.bcmn-open .bcmn-parent{
    background:#F5F7FA !important;
  }

  #bcmn-mobile-header .bcmn-submenu a,
  #bcmn-mobile-header .bcmn-submenu a:visited,
  #bcmn-mobile-header .bcmn-submenu a:hover,
  #bcmn-mobile-header .bcmn-submenu a:focus,
  #bcmn-mobile-header .bcmn-submenu a:active{
    color:var(--bcmn-navy) !important;
    background:transparent !important;
    box-shadow:none !important;
    outline:none !important;
  }

  #bcmn-mobile-header .bcmn-phone,
  #bcmn-mobile-header .bcmn-phone:visited,
  #bcmn-mobile-header .bcmn-phone:hover,
  #bcmn-mobile-header .bcmn-phone:focus,
  #bcmn-mobile-header .bcmn-phone:active{
    color:var(--bcmn-text) !important;
    background:#fff !important;
    border-color:#A8AFB7 !important;
    box-shadow:none !important;
    outline:none !important;
  }

  #bcmn-mobile-header .bcmn-phone-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:26px;
    height:26px;
    color:#2478A7 !important;
  }

  #bcmn-mobile-header .bcmn-phone-icon svg{
    width:26px;
    height:26px;
    display:block;
    fill:none !important;
    stroke:currentColor !important;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  #bcmn-mobile-header .bcmn-socials a,
  #bcmn-mobile-header .bcmn-socials a:visited,
  #bcmn-mobile-header .bcmn-socials a:hover,
  #bcmn-mobile-header .bcmn-socials a:focus{
    color:var(--bcmn-muted) !important;
    background:transparent !important;
  }
}


/* =========================================================
   v1.2 FIXED MOBILE HEADER / DYNAMIC ADMIN BAR OFFSET
   ========================================================= */

:root{
  --bcmn-admin-offset:0px;
}

@media (max-width:767px){

  /*
   * Keep the mobile header pinned to the visible top edge.
   * The theme cannot turn this into a sticky/hide-on-scroll header.
   */
  #bcmn-mobile-header{
    position:fixed !important;
    top:var(--bcmn-admin-offset) !important;
    right:0 !important;
    bottom:auto !important;
    left:0 !important;

    width:100vw !important;
    max-width:100vw !important;

    margin:0 !important;

    transform:translate3d(0,0,0) !important;
    -webkit-transform:translate3d(0,0,0) !important;
    backface-visibility:hidden !important;
    -webkit-backface-visibility:hidden !important;

    visibility:visible !important;
    opacity:1 !important;

    z-index:2147483000 !important;
  }

  /*
   * Full-screen overlay starts immediately below the header.
   * Offset is calculated in JS only if the WP admin toolbar
   * is genuinely visible.
   */
  #bcmn-overlay{
    position:fixed !important;
    top:calc(var(--bcmn-admin-offset) + var(--bcmn-h)) !important;
    left:0 !important;
    right:auto !important;
    bottom:auto !important;

    width:100vw !important;
    max-width:100vw !important;

    height:calc(100dvh - var(--bcmn-admin-offset) - var(--bcmn-h)) !important;
    max-height:calc(100dvh - var(--bcmn-admin-offset) - var(--bcmn-h)) !important;

    transform:none !important;
    -webkit-transform:none !important;
  }

  /*
   * Prevent theme/mobile-menu scripts from applying a scroll
   * transform or animation to our dedicated header.
   */
  body #bcmn-mobile-header,
  body #bcmn-mobile-header.bcmn-scrolled{
    translate:none !important;
    animation:none !important;
  }

  /*
   * The header height should never create a mysterious extra
   * blank band on the homepage.
   */
  body.home.bcmn-enabled{
    padding-top:0 !important;
  }

  /*
   * Internal pages need exactly one header-height offset because
   * the mobile header is fixed and is not overlaying a hero.
   */
  body.bcmn-enabled:not(.home){
    padding-top:var(--bcmn-h) !important;
  }
}
