:root{ --dmsim-panel-width: 82vw; --dmsim-accent: currentColor; }

@media (max-width: 980px){
  .et_mobile_menu, .mobile_nav.opened .et_mobile_menu{ display:none !important; }
}

#dmsim-overlay{
  position: fixed; inset: 0;
  background: rgba(0,0,0,.4);
  opacity:0; visibility:hidden; transition: opacity .25s ease, visibility .25s ease; z-index: 1000000;
}
#dmsim-overlay.dmsim-active{ opacity:1; visibility:visible; }

#dmsim-panel{
  position: fixed; right:0; top:0; height:100%; width: var(--dmsim-panel-width); max-width: 420px;
  transform: translateX(100%); transition: transform .3s ease; z-index: 1000001; box-shadow: -6px 0 20px rgba(0,0,0,.15);
  display:flex; flex-direction:column; background:#fff; color:#111;
}
#dmsim-panel.dmsim-active{ transform: translateX(0); }

/* Close button in primary color */
#dmsim-panel .dmsim-close{
  position:absolute; top:1rem; right:1.5rem;
  width:44px; height:44px; border:0; border-radius:9999px;
  background: var(--dmsim-accent); color:#fff; cursor:pointer;
  display:flex; align-items:center; justify-content:center; font-size:28px; line-height:1;
  box-shadow: 0 2px 6px rgba(0,0,0,.15);
}

#dmsim-panel .dmsim-nav{ padding: 75px 1.25rem 1rem; overflow-y:auto; flex:1; -webkit-overflow-scrolling: touch; }
#dmsim-panel .dmsim-nav .menu{ list-style:none; margin:0; padding:0; }
#dmsim-panel .dmsim-nav .menu > li{ border-bottom: 1px solid rgba(0,0,0,.08); position:relative; }
#dmsim-panel .dmsim-nav a{ display:block; padding:.9rem .25rem; text-decoration:none; color:inherit; }
#dmsim-panel .dmsim-nav .dmsim-sub-menu{ padding-left:.75rem; border-left:2px solid currentColor; }

/* Overlay toggle on the right — large, reliable hit-area */
#dmsim-panel .dmsim-toggle{
  position:absolute; top:0; right:0; width:44px; height:100%; max-height:44px;
  z-index:3; background:transparent; 
}
#dmsim-panel .dmsim-toggle::after {
  content: '+';
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 9999px;
  background: var(--dmsim-accent);
  color: #fff;
  font-weight: 900;
  font-size: 22px;
  line-height: 1;
  box-shadow:
    0 0 0 2px #fff,             /* tydelig hvid outline */
    0 1px 3px rgba(0,0,0,.25);  /* let skygge */
  pointer-events: none;
  z-index: 4;
  transition: transform .15s ease, box-shadow .15s ease;
}
#dmsim-panel li.open > .dmsim-toggle::after {
  content: '−';
}


#dmsim-panel .dmsim-toggle:hover::after,
#dmsim-panel .dmsim-toggle:focus::after {
  transform: translateY(-50%) scale(1.1);
  box-shadow:
    0 0 0 2px #fff,
    0 2px 6px rgba(0,0,0,.35);
}




/* Hide/show submenus */
#dmsim-panel .dmsim-nav ul.sub-menu, #dmsim-panel .dmsim-nav ul.children{ display:none; }
#dmsim-panel .dmsim-nav ul.sub-menu.visible, #dmsim-panel .dmsim-nav ul.children.visible{ display:block; }

/* Leave space for the toggle bubble */
#dmsim-panel .dmsim-nav a{ padding-right:54px; }

/* Contact footer */
#dmsim-panel .dmsim-contact{ padding:.75rem 1.25rem 1rem; border-top:1px solid rgba(0,0,0,.1); display:grid; gap:.5rem; }
#dmsim-panel .dmsim-contact a{ text-decoration:none; font-weight:600; color:inherit; display:flex; align-items:center; gap:.5rem; }
#dmsim-panel .dmsim-contact .dmsim-mail-icon, #dmsim-panel .dmsim-contact .dmsim-phone-icon{ display:inline-flex; }

#dmsim-panel a:focus, #dmsim-panel button:focus{ outline: 2px solid #fff; outline-offset: 2px; box-shadow: 0 0 0 3px var(--dmsim-accent); }

/* Burger trigger in header: primary bg + white icon + same size/shape */
@media (max-width:980px){
  .mobile_menu_bar.mobile_menu_bar_toggle{
    width:44px; height:44px; border-radius:9999px;
    background: var(--dmsim-accent) !important; color:#fff !important;
    display:inline-flex; align-items:center; justify-content:center;
    box-shadow:0 2px 6px rgba(0,0,0,.15);
    position:relative; z-index:1000002;
    margin-top: -10px;
    margin-bottom: 10px;
  }
  
  .container.clearfix.et_menu_container {
  width: 90%;
}
  
  .et_header_style_left #et-top-navigation .mobile_menu_bar {
      padding-bottom:0px !important;
  }
  
  
  .mobile_menu_bar.mobile_menu_bar_toggle:before,
  .mobile_nav .mobile_menu_bar:before{ color:#fff !important; }
}
