/* ========== Base ========== */
.vi-mm{
  background:var(--vi-mm-bg,#fff);
  color:var(--vi-mm-tx,#111);
  font-size:16px;
  line-height:1.25;
  position:relative;
  z-index:10000;
}

/* Prevent header wrappers from clipping panels */
header,.site-header,.et-l--header{overflow:visible;}
.et-l--header .vi-mm{width:100%;}

/* ========== Inline bar layout ========== */
.vi-mm.vi-layout-inline{
  display:flex;
  align-items:center;
}

/* Logo */
.vi-mm .vi-mm-logo img{display:block;height:auto;}
.vi-mm.vi-logo-left  .vi-mm-logo:empty{display:none;}

/* Menu wrapper fills remaining space next to logo */
.vi-mm .vi-mm-menu-wrapper{
  display:flex;
  flex:1 1 auto;
  min-width:0;
}

/* Justify options */
.vi-mm.vi-layout-inline.vi-justify-start   .vi-mm-menu-wrapper{justify-content:flex-start;}
.vi-mm.vi-layout-inline.vi-justify-center  .vi-mm-menu-wrapper{justify-content:center;}
.vi-mm.vi-layout-inline.vi-justify-end     .vi-mm-menu-wrapper{justify-content:flex-end;}
.vi-mm.vi-layout-inline.vi-justify-between .vi-mm-menu-wrapper{justify-content:space-between;}

/* Menu list */
.vi-mm .vi-menu{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  align-items:center;
  gap:24px;
}

/* Items + links */
.vi-mm .menu-item{position:relative;}
.vi-mm .vi-menu-link{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:var(--vi-mm-link-fs,16px);
  padding:var(--vi-mm-link-pv,14px) var(--vi-mm-link-ph,10px);
  text-decoration:none;
  color:var(--vi-mm-tx,#111)!important;
  line-height:1.25;
}
.vi-mm .vi-menu-link:hover{opacity:.85;}
.vi-mm .vi-menu-arrow{display:none!important}

/* Label + media alignment */
.vi-mm .vi-mm-label{display:flex; align-items:center; gap:8px;}
.vi-mm .vi-mm-label.vi-mm-label--reverse{flex-direction:row-reverse}
.vi-mm .vi-mm-label.vi-mm-label--stack{flex-direction:column; align-items:flex-start; gap:6px}
.vi-mm .vi-mm-ico{display:inline-flex; align-items:center; justify-content:center; width:var(--vi-mm-media-size,20px); height:var(--vi-mm-media-size,20px); line-height:1;}
.vi-mm .vi-mm-ico svg{width:100%;height:100%;display:block}
.vi-mm .vi-mm-img{width:var(--vi-mm-media-size,20px);height:auto;display:block}
.vi-mm .vi-menu-text{font-size:inherit; line-height:1.25}

/* ========== Mega panel ========== */
.vi-mm .vi-dmm-panel{
  position:absolute;
  top:100%; left:0;
  display:none;
  background:#fff; color:#111;
  border-radius:var(--vi-mm-radius,8px);
  box-shadow:var(--vi-mm-shadow,0 8px 24px rgba(0,0,0,.15)) !important;
  padding:0;               /* no outer gap */
  min-width:520px;
  max-width:960px;
  overflow:hidden;         /* clips to rounded corners */
  z-index:9999;
}

/* Alignment helpers */
.vi-mm .vi-dmm-panel.align-center{left:50%;transform:translateX(-50%);}
.vi-mm .vi-dmm-panel.align-right{right:0;left:auto;}

/* Inner wrapper: ONLY place that adds breathing room. Adjust with --vi-mm-panel-pad */
.vi-mm .vi-dmm-panel-inner{
  padding:var(--vi-mm-panel-pad, 10px 16px);
  background:transparent!important;
}

/* Normalize Divi padding/margins inside panel so layout spacing is predictable */
.vi-mm .vi-dmm-panel-inner .et_pb_section,
.vi-mm .vi-dmm-panel-inner .et_pb_row,
.vi-mm .vi-dmm-panel-inner .et_pb_module{
  margin-top:0!important;
  margin-bottom:10px!important;
}
.vi-mm .vi-dmm-panel-inner .et_pb_section{padding:0!important;}
.vi-mm .vi-dmm-panel-inner .et_pb_row{padding:0!important;}
/* ✂️ Removed a duplicate padding override that zeroed the panel padding by mistake */
/* .vi-mm .vi-dmm-panel-inner:not(.panelrow){padding:0!important;} */
.vi-mm .vi-dmm-panel-inner > *:last-child,
.vi-mm .vi-dmm-panel-inner .et_pb_section:last-child,
/*.vi-mm .vi-dmm-panel-inner .et_pb_row:last-child,*/
.vi-mm .vi-dmm-panel-inner:not(.panelrow):last-child,
.vi-mm .vi-dmm-panel-inner .et_pb_module:last-child{
  margin-bottom:0!important;
  padding-bottom:0!important;
}

/* Fallback submenu grid (when no layout provided) */
.vi-mm .vi-dmm-panel .sub-menu{
  list-style:none;margin:0;padding:var(--vi-mm-panel-pad,10px 16px);
  display:grid;
  grid-template-columns:repeat(2,minmax(160px,1fr));
  gap:10px 18px;
}
.vi-mm .vi-dmm-panel .sub-menu .vi-menu-link{padding:6px 4px;color:#111!important}

/* Open behaviors */
.vi-mm:not(.is-mobile) .menu-item-has-vi-mega:hover > .vi-dmm-panel[data-behavior="hover"]{display:block;}
/* Keyboard access parity with hover */
.vi-mm:not(.is-mobile) .menu-item-has-vi-mega:focus-within > .vi-dmm-panel[data-behavior="hover"]{display:block;}
.vi-mm .menu-item.is-open > .vi-dmm-panel{display:block;}

/* ========== Mobile ========== */
.vi-mm.is-mobile .vi-menu{flex-direction:column; align-items:stretch; gap:0;}
.vi-mm.is-mobile .menu-item{border-top:1px solid rgba(0,0,0,.08);}
.vi-mm.is-mobile .vi-menu-link{padding:12px 6px;}
.vi-mm.is-mobile .vi-dmm-panel{
  position:static;
  margin:0 0 8px 0;
  box-shadow:none;
  border-radius:8px;
  display:none;
}
.vi-mm.is-mobile .menu-item.is-open > .vi-dmm-panel{display:block;}

/* Header stacking */
.et-l--header,
.et-l--header .et_pb_section,
.et-l--header .et_pb_row,
.et-l--header .et_pb_module { position: relative; z-index: 100000; overflow: visible; }
.et-fixed-header { z-index: 100001; }
.vi-mm { position: relative; z-index: 100010; }
.vi-mm .vi-dmm-panel { z-index: 100020; }

/* Prevent hero/sections clipping the panel */
.et_pb_fullwidth_header, .et_pb_slider, .et_pb_section { overflow: visible; }


/* --- Mobile drawer behavior --- */
.vi-mm .vi-mm-burger{display:none}
.vi-mm.is-mobile .vi-mm-burger{
  display:inline-flex; align-items:center; gap:10px;
  background:transparent; color:#fff; border:1px solid rgba(255,255,255,.35);
  border-radius:10px; padding:10px 12px; line-height:1; cursor:pointer;
}
.vi-mm.is-mobile .vi-mm-burger:hover{background:rgba(255,255,255,.08)}
.vi-mm.is-mobile .vi-mm-burger:focus{outline:2px solid rgba(255,255,255,.6); outline-offset:2px}

/* simple three-bar icon */
.vi-mm.is-mobile .vi-mm-burger .vi-mm-burger-bars{
  width:20px; height:2px; background:#fff; position:relative; display:inline-block;
}
.vi-mm.is-mobile .vi-mm-burger .vi-mm-burger-bars::before,
.vi-mm.is-mobile .vi-mm-burger .vi-mm-burger-bars::after{
  content:""; position:absolute; left:0; width:20px; height:2px; background:#fff;
}
.vi-mm.is-mobile .vi-mm-burger .vi-mm-burger-bars::before{ top:-6px; }
.vi-mm.is-mobile .vi-mm-burger .vi-mm-burger-bars::after { top: 6px; }
.vi-mm.is-mobile .vi-mm-burger .vi-mm-burger-text{ font-weight:700; letter-spacing:.2px }

/* collapse menu wrapper; open when .nav-open is set by JS */
.vi-mm.is-mobile .vi-mm-menu-wrapper{ display:none; width:100% }
.vi-mm.is-mobile.nav-open .vi-mm-menu-wrapper{ display:block }

/* vertical stack for the list */
.vi-mm.is-mobile .vi-menu{
  display:flex; flex-direction:column; gap:10px; padding:10px 0;
}

/* full-width links for finger-friendly taps */
.vi-mm.is-mobile .vi-menu-link{
  display:flex; align-items:center; width:100%;
  padding:12px 8px; border-bottom:1px solid rgba(255,255,255,.12);
}
.vi-mm.is-mobile .vi-menu > .menu-item:last-child .vi-menu-link{ border-bottom:0 }

/* keep logo sane in mobile */
.vi-mm.is-mobile .vi-mm-logo{ margin:8px 0 }

