/* Bold Mega Menu — Mobile (SVG hamburger, scoped, no morph) v2.8 */

/* ---------------- Vars ---------------- */
:root{
  --bmm-mobile-breakpoint: 1024px;
  --bmm-mobile-bg: #00205B;
  --bmm-mobile-text: #ffffff;
  --bmm-mobile-accent: #FFB81C;
  --bmm-mobile-overlay: rgba(0,0,0,0.45);
  --bmm-mobile-z: 10050;
  --bmm-mobile-radius: 12px;

  /* header height fallback; JS will set this to your live header height */
  --bmm-header-offset: 64px;
}

/* Hide desktop mega on mobile */
@media (max-width: 1024px){
  nav.main-navigation{ display:none !important; }
}

/* ---------------- Toggle ---------------- */
[data-bmm-toggle]{ display:none; }

@media (max-width: 1024px){
  /* hard reset & scoped so Elementor/global button rules can’t win */
  [data-bmm-root] [data-bmm-toggle]{
    all:unset;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:12px;
    min-width:44px; min-height:44px;
    cursor:pointer;
    border-radius:10px;
    background:transparent;
    color: var(--bmm-toggle-color, var(--bmm-mobile-accent)); /* sets currentColor */
    position:relative;
    z-index: calc(var(--bmm-mobile-z) + 2);
    transition:opacity .15s ease;
  }
  [data-bmm-root] [data-bmm-toggle]:hover{ opacity:.85; }
  [data-bmm-root] [data-bmm-toggle]:focus-visible{
    outline:2px solid var(--bmm-mobile-accent);
    outline-offset:2px;
    border-radius:10px;
  }
  /* optional: flip color on dark headers by adding .bmm-invert to the root */
  [data-bmm-root].bmm-invert { --bmm-toggle-color: #fff; }

  /* SVG icon sizing */
  [data-bmm-root] [data-bmm-toggle] .bmm-icon{
    display:block; width:24px; height:18px;
  }
  /* ensure the SVG uses currentColor everywhere */
  [data-bmm-root] [data-bmm-toggle] .bmm-icon path,
  [data-bmm-root] [data-bmm-toggle] .bmm-icon rect{
    fill: currentColor !important; stroke: none !important;
  }

  /* force-visible safeguard in hostile CSS environments */
  [data-bmm-root] [data-bmm-toggle]{ display:inline-flex !important; }
}

/* ---------------- Overlay + Panel ---------------- */
.bmm-mobile-overlay{ display:none; }

@media (max-width: 1024px){
  [data-bmm-root] .bmm-mobile-overlay{
    position:fixed; inset:0;
    background:var(--bmm-mobile-overlay);
    z-index:var(--bmm-mobile-z);
    display:none;
  }
  [data-bmm-root] .bmm-mobile-overlay.is-open{ display:block; }

  /* ALWAYS full viewport height under the header */
  [data-bmm-root] #bmm-mobile-panel{
    position:fixed;
    top: var(--bmm-header-offset);
    left:0; right:0;
    height: calc(100svh - var(--bmm-header-offset));
    background:var(--bmm-mobile-bg);
    color:var(--bmm-mobile-text);
    z-index: calc(var(--bmm-mobile-z) + 1);
    opacity:0; pointer-events:none;
    transition: opacity .2s ease;
    border-top-left-radius:var(--bmm-mobile-radius);
    border-top-right-radius:var(--bmm-mobile-radius);
    box-shadow:0 -10px 30px rgba(0,0,0,.2);
    display:flex; flex-direction:column; overflow:hidden;
  }
  [data-bmm-root] #bmm-mobile-panel.is-open{
    opacity:1; pointer-events:auto;
  }

  [data-bmm-root] .bmm-mobile-head{
    display:flex; align-items:center; justify-content:flex-end;
    gap:12px; padding:10px 12px;
    border-bottom:1px solid rgba(255,255,255,.12);
  }
  [data-bmm-root] .bmm-mobile-close{
    all:unset; color:var(--bmm-mobile-text);
    font-size:28px; line-height:1; padding:6px 8px; cursor:pointer; border-radius:8px;
  }
  [data-bmm-root] .bmm-mobile-close:focus-visible{
    outline:2px solid var(--bmm-mobile-accent); outline-offset:2px;
  }

  /* scroll area fills remaining height */
  [data-bmm-root] .bmm-mobile-scroll{
    flex: 1 1 auto;
    min-height: 0;
    overflow:auto; -webkit-overflow-scrolling:touch;
    padding:8px 12px 28px;
  }

  /* ---------------- List & Items ---------------- */
  [data-bmm-root] .bmm-mobile-menu{
    list-style:none; margin:0; padding:0; display:grid; gap:10px;
  }
  [data-bmm-root] .bmm-mobile-item{
    border:1px solid rgba(255,255,255,.12);
    border-radius:var(--bmm-mobile-radius);
    overflow:hidden; background:rgba(255,255,255,.04);
  }
  [data-bmm-root] .bmm-mobile-item > details{ background:transparent; }
  [data-bmm-root] .bmm-mobile-item > details[open]{ background:rgba(255,255,255,.06); }

  [data-bmm-root] .bmm-mobile-summary{
    display:flex; align-items:center; justify-content:space-between;
    gap:12px; cursor:pointer; user-select:none;
    color:#fff; text-decoration:none;
  }
  [data-bmm-root] .bmm-mobile-summary .bmm-mobile-label{
    font:600 16px/1.3 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  }
  [data-bmm-root] .bmm-mobile-summary .bmm-caret{
    margin-left:auto; transition:transform .2s ease;
  }
  [data-bmm-root] .bmm-mobile-item > details[open] .bmm-caret{ transform:rotate(180deg); }

  /* Links inside dropdown bodies */
  [data-bmm-root] .bmm-mobile-panel-links{
    display:grid; gap:8px; padding:8px 14px 14px;
  }
  [data-bmm-root] .bmm-mobile-panel-links a{
    display:block; color:#fff; text-decoration:underline;
    font:500 15px/1.35 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  }
  [data-bmm-root] .bmm-mobile-panel-links a:hover{
    color:var(--bmm-mobile-accent);
  }

  /* Simple link rows (no accordion) — match accordion chrome, white + underlined */
  [data-bmm-root] .bmm-mobile-item > a.bmm-mobile-summary{
    display:block;
    color:#fff; text-decoration:underline;
    padding:14px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:var(--bmm-mobile-radius);
    background:rgba(255,255,255,.04);
  }
  [data-bmm-root] .bmm-mobile-item > a.bmm-mobile-summary:hover{
    color:var(--bmm-mobile-accent);
    background:rgba(255,255,255,.06);
    border-color:rgba(255,255,255,.18);
  }

  /* CTA list (from scraped .mega-cta-block) */
  [data-bmm-root] .bmm-mobile-cta-list{
    display:grid; gap:10px; padding:6px 14px 14px;
  }
  [data-bmm-root] .bmm-mobile-cta{
    display:grid; grid-template-columns:56px 1fr; gap:10px; align-items:center;
    text-decoration:none; color:#fff;
    padding:8px; border:1px solid rgba(255,255,255,.12);
    border-radius:10px; background:rgba(255,255,255,.04);
  }
  [data-bmm-root] .bmm-mobile-cta:hover{
    background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.18);
  }
  [data-bmm-root] .bmm-mobile-cta-thumb{
    width:56px; height:56px; object-fit:cover; border-radius:8px; display:block;
  }
  [data-bmm-root] .bmm-mobile-cta-title{ font-weight:700; line-height:1.25; }
  [data-bmm-root] .bmm-mobile-cta-caption{ opacity:.85; font-size:13px; margin-top:2px; }
}

/* ---------------- Utilities/Safety ---------------- */
@media (max-width: 1024px){
  .bmm-lock{ overflow:hidden !important; touch-action:none !important; }
}
.mega-menu .mega-dropdown{ outline:none !important; }

/* scope root gets a stacking context so the toggle isn’t covered */
[data-bmm-root]{ position:relative; z-index:1000; }


li.bmm-mobile-item {
	padding: 20px;
}