/* Forced Compact Menu v4.3.1 */
/* Scope & resets */
.fcm-root { isolation: isolate; }
.fcm-root, .fcm-root * { box-sizing: border-box; }
.fcm-root ul, .fcm-root li { margin:0!important; padding:0!important; list-style:none!important; }
.fcm-root li::before, .fcm-root li::after { content:none!important; }
.fcm-root a { text-decoration:none!important; color:inherit!important; }

/* Top level */
.fcm-root.fcm-nav { position:relative!important; z-index:500!important; }
.fcm-root.fcm-nav > ul.fcm-menu { display:flex!important; gap:28px!important; align-items:center!important; }
.fcm-root.fcm-nav > ul.fcm-menu > li.fcm-item { position:relative!important; }
.fcm-root a.fcm-link { display:inline-block!important; padding:14px 10px!important; line-height:1.2!important; }
.fcm-root a.fcm-link:hover { background:rgba(0,0,0,.05)!important; border-radius:4px!important; }
.fcm-root.fcm-nav > ul.fcm-menu > li.fcm-item.has-children > a.fcm-link::after {
  content:"▾"; position:absolute; right:-10px; top:50%; transform:translateY(-50%); font-size:11px; opacity:.75;
}

/* Hidden by default */
.fcm-root .fcm-sub { display:none!important; visibility:hidden!important; opacity:0!important; pointer-events:none!important; }

/* L2 dropdown (no gaps; 1px upward overlap) */
.fcm-root.fcm-nav > ul.fcm-menu > li.fcm-item > ul.fcm-sub.level-2{
  position:absolute!important; left:0; top:calc(100% - 1px);
  min-width:240px!important; background:#fff!important;
  border:1px solid rgba(0,0,0,.08)!important; border-radius:8px!important;
  box-shadow:0 10px 28px rgba(0,0,0,.10)!important;
  padding:0!important; margin:0!important; z-index:1100!important;
}
.fcm-root.fcm-nav > ul.fcm-menu > li.fcm-item.has-children::after{content:"";position:absolute;left:0;right:0;top:100%;height:8px}

/* L2 rows & anchors */
.fcm-root .fcm-sub.level-2 > li.fcm-item{position:relative!important;display:block!important;margin:0!important;padding:0!important;border:0!important;line-height:0!important;min-height:0!important;background:transparent!important}
.fcm-root .fcm-sub.level-2 > li.fcm-item + li.fcm-item{border-top:0!important}
.fcm-root .fcm-sub.level-2 > li.fcm-item > a.fcm-link{
  display:block!important;margin:0!important;padding:12px 20px!important;padding-right:46px!important;
  white-space:nowrap!important;position:relative!important;line-height:1.25!important;border:0!important;box-shadow:none!important;background:none!important
}
/* neutralize any theme pseudos (no !important here so we can re-add ours) */
.fcm-root .fcm-sub.level-2 > li.fcm-item > a.fcm-link::before,
.fcm-root .fcm-sub.level-2 > li.fcm-item > a.fcm-link::after{content:none}

/* Desktop: show a bold “+” for L2 items that have L3 (with hover bridge) */
@media(hover:hover){
  .fcm-root .fcm-sub.level-2 > li.fcm-item.has-children > a.fcm-link::before{
    content:""!important; position:absolute!important; right:-14px!important; top:0!important; width:14px!important; height:100%!important;
  }
  .fcm-root .fcm-sub.level-2 > li.fcm-item.has-children > a.fcm-link::after{
    content:"+"!important; position:absolute!important; right:18px!important; top:50%!important; transform:translateY(-50%)!important;
    font-size:14px!important; font-weight:700!important; opacity:.75!important; pointer-events:none!important;
  }
}

/* clamp */
.fcm-root .fcm-sub.level-2 > li.fcm-item:first-child > a.fcm-link{padding-top:12px!important}
.fcm-root .fcm-sub.level-2 > li.fcm-item:last-child  > a.fcm-link{padding-bottom:12px!important}

/* L3 fly-out */
.fcm-root .fcm-sub.level-2 > li.fcm-item > ul.fcm-sub.level-3{
  position:absolute!important; left:calc(100% - 1px)!important; top:0!important; margin:0!important; min-width:220px!important;
  background:#fff!important; border:1px solid rgba(0,0,0,.08)!important; border-radius:8px!important;
  box-shadow:0 10px 28px rgba(0,0,0,.10)!important; padding:8px 0!important; z-index:1110!important
}

/* Desktop hover reveal */
@media(hover:hover){
  .fcm-root.fcm-nav > ul.fcm-menu > li.fcm-item:hover > ul.fcm-sub.level-2,
  .fcm-root.fcm-nav > ul.fcm-menu > li.fcm-item:focus-within > ul.fcm-sub.level-2{display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
  .fcm-root .fcm-sub.level-2 > li.fcm-item:hover > ul.fcm-sub.level-3,
  .fcm-root .fcm-sub.level-2 > li.fcm-item:focus-within > ul.fcm-sub.level-3{display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
}

/* Desktop click-to-open fallback */
.fcm-root .fcm-item.open > .fcm-sub{display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}

/* Mobile */
@media(max-width:960px){
  .fcm-root.fcm-nav > ul.fcm-menu{flex-direction:column!important;gap:0!important}
  .fcm-root.fcm-nav > ul.fcm-menu > li.fcm-item{border-bottom:1px solid rgba(0,0,0,.06)!important}
  .fcm-root a.fcm-link{padding:14px 12px!important}

  .fcm-root .fcm-item.has-children.depth-0 > .fcm-toggle{display:inline-block!important;width:36px;height:36px;margin-left:8px;background:transparent!important;border:0!important;cursor:pointer!important;vertical-align:middle!important}
  .fcm-root .fcm-item.has-children.depth-0 > .fcm-toggle::before{content:"+";font-weight:700;font-size:18px}
  .fcm-root .fcm-item.depth-0[aria-expanded="true"] > .fcm-toggle::before{content:"–"}

  .fcm-root .fcm-sub{position:static!important;margin:0!important;border:0!important;box-shadow:none!important;border-radius:0!important;padding:0 0 6px 12px!important}
  .fcm-root .fcm-item.depth-0[aria-expanded="true"] > .fcm-sub{display:block!important;visibility:visible!important;opacity:1!important}

  /* Hide L3 and indicators on mobile */
  .fcm-root .fcm-sub.level-3{display:none!important}
  .fcm-root .fcm-sub.level-2 > li.fcm-item.has-children > a.fcm-link::before,
  .fcm-root .fcm-sub.level-2 > li.fcm-item.has-children > a.fcm-link::after{content:none!important}
}
