.bsc-wrap{position:relative;display:inline-block;--bsc-left:0px;--bsc-top:0px;--bsc-width:300px;}
.bsc-trigger{display:inline-flex;align-items:center;gap:10px;cursor:pointer;background:transparent;border:0;padding:0;margin:0;line-height:1;}
.bsc-trigger-icon{display:inline-flex;align-items:center;justify-content:center;}
.bsc-trigger-caret{display:inline-flex;align-items:center;justify-content:center;}
.bsc-trigger-caret svg{width:12px;height:12px;fill:currentColor;display:block;transition:transform .2s ease;}
.bsc-wrap.is-open .bsc-trigger-caret svg{transform:rotate(180deg);}

.bsc-panel{
  position:fixed;
  top:var(--bsc-top);
  left:var(--bsc-left);
  width:var(--bsc-width);
  z-index:9999;
  display:none;
}
.bsc-wrap.is-open .bsc-panel{display:block;}

.bsc-panel-inner{background:#fff;}
.bsc-title{font-weight:600;margin-bottom:10px;}

.bsc-list, .bsc-sub{list-style:none;margin:0;padding:0;}
.bsc-item{position:relative;}
.bsc-link{
  display:block;
  text-decoration:none;
  white-space:nowrap;
  line-height:1.3;
}
.bsc-row{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.bsc-subtoggle{background:transparent;border:0;padding:0;margin:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;}

.bsc-sub{display:none;padding-left:18px;}
.bsc-item.is-open > .bsc-sub{display:block;}

/* keep it usable inside editor */
.elementor-editor-active .bsc-panel{
  position:absolute;
  top:100%;
  left:calc(var(--bsc-left) - var(--bsc-wrap-left));
  width:var(--bsc-width);
}

/* Mobile / off-canvas menus (<=1200px): fixed positioning can break inside transformed panels.
   Use absolute positioning so the dropdown opens under the trigger within its parent container. */
@media (max-width: 1200px){
  .bsc-panel{
    position:absolute;
    top:100%;
    /* Respect the parent container width (boxed) and align to it inside the widget wrapper */
    left:calc(var(--bsc-left) - var(--bsc-wrap-left));
    width:var(--bsc-width);
  }
}


/* --- Push-down dropdown (accordion) instead of overlay --- */
.bsc-wrap{ position: relative; }
.bsc-trigger{ position: relative; z-index: 1; }

/* Panel lives in document flow and expands downward */
.bsc-panel{
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  width: 100% !important;              /* respect parent container width */
  max-width: 100% !important;
  margin-top: 8px;
  overflow: hidden;
  max-height: 0;
  visibility: hidden;
  opacity: 0;
  transform: none !important;
  transition: max-height .25s ease, opacity .2s ease, visibility .2s ease;
}

/* Open state: push content down */
.bsc-wrap.is-open .bsc-panel{
  max-height: 2000px;                  /* large enough for nested lists */
  visibility: visible;
  opacity: 1;
}

/* Prevent word cutting; keep items on one line */
.bsc-panel a{
  white-space: nowrap;
}

/* Ensure dropdown container doesn't clip */
.bsc-wrap, .bsc-panel{
  box-sizing: border-box;
}



/* --- Fix: remove focus/active background on submenu arrows --- */
.bsc-link:focus,
.bsc-link:focus-visible,
.bsc-link:active{
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
}

.bsc-arrow,
.bsc-arrow:focus,
.bsc-arrow:active{
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
}


/* --- Submenu toggle focus reset --- */
.bsc-subtoggle,
.bsc-subtoggle:focus,
.bsc-subtoggle:focus-visible,
.bsc-subtoggle:active{
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
}

.bsc-subtoggle-icon{
  display:inline-block;
  transition: transform .2s ease;
  line-height: 1;
}

.bsc-item.is-open > .bsc-row .bsc-subtoggle-icon{
  transform: rotate(180deg);
}
