:root{
  --bq-bg:#fff;
  --bq-text:#162033;
  --bq-muted:#6b7588;
  --bq-line:#e6eaf0;
  --bq-accent:#315efb;
  --bq-accent-soft:#f1f5ff;
  --bq-footer:#111827;
  --bq-footer-muted:#aeb8c8;
  --bq-max:1240px;
  --bq-drawer-top:68px;
}

/* Keep Bosa's native chrome out of the way while this plugin is active. */
.bitqs-custom-chrome-active #masthead:not(#bitqs-site-header),
.bitqs-custom-chrome-active header.site-header:not(.bitqs-shell-header),
.bitqs-custom-chrome-active .site-header:not(.bitqs-shell-header),
.bitqs-custom-chrome-active #colophon:not(#bitqs-site-footer),
.bitqs-custom-chrome-active footer.site-footer:not(.bitqs-shell-footer),
.bitqs-custom-chrome-active .site-footer:not(.bitqs-shell-footer){display:none!important;}

.bitqs-shell-header,
.bitqs-shell-header *,
.bitqs-shell-footer,
.bitqs-shell-footer *{box-sizing:border-box;}

html.bitqs-mobile-menu-open,
body.bitqs-mobile-menu-open{overflow:hidden!important;overscroll-behavior:none;}

.bitqs-shell-header{
  position:sticky;
  top:0;
  z-index:99990;
  width:100%;
  margin:0!important;
  background:rgba(255,255,255,.98);
  border-bottom:1px solid rgba(230,234,240,.95);
  box-shadow:0 1px 0 rgba(16,24,40,.02);
  -webkit-backdrop-filter:saturate(160%) blur(14px);
  backdrop-filter:saturate(160%) blur(14px);
  transition:box-shadow .18s ease,background-color .18s ease;
}
.bitqs-shell-header.is-scrolled{box-shadow:0 8px 26px rgba(15,23,42,.07);}
.admin-bar .bitqs-shell-header{top:32px;}

.bitqs-shell-header__inner{
  width:min(calc(100% - 40px),var(--bq-max));
  min-height:72px;
  margin:0 auto;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:28px;
}

.bitqs-shell-brand{
  display:inline-flex!important;
  align-items:center;
  gap:11px;
  min-width:0;
  margin:0!important;
  padding:0!important;
  color:var(--bq-text)!important;
  text-decoration:none!important;
  white-space:nowrap;
}
.bitqs-shell-brand__mark{
  width:38px;
  height:38px;
  border-radius:10px;
  display:grid;
  place-items:center;
  flex:0 0 38px;
  background:var(--bq-text);
  color:#fff;
  font-size:12px;
  font-weight:800;
  line-height:1;
  letter-spacing:.04em;
}
.bitqs-shell-brand__copy{display:flex;min-width:0;flex-direction:column;line-height:1.05;}
.bitqs-shell-brand__name{font-size:19px;font-weight:800;letter-spacing:-.025em;}
.bitqs-shell-brand__tag{margin-top:5px;color:var(--bq-muted);font-size:10px;font-weight:700;letter-spacing:.065em;text-transform:uppercase;}

/* Desktop navigation */
.bitqs-shell-nav{justify-self:end;min-width:0;}
.bitqs-shell-nav ul{list-style:none!important;margin:0!important;padding:0!important;}
.bitqs-shell-menu{display:flex!important;align-items:center;justify-content:flex-end;gap:3px;}
.bitqs-shell-menu li{list-style:none!important;}
.bitqs-shell-menu>li{position:relative;margin:0!important;padding:0!important;}
.bitqs-shell-menu>li>a{
  min-height:42px;
  display:flex!important;
  align-items:center;
  gap:7px;
  margin:0!important;
  padding:0 11px!important;
  border:0!important;
  border-radius:9px;
  background:transparent!important;
  color:#313b4d!important;
  text-decoration:none!important;
  font-size:14px!important;
  font-weight:650!important;
  line-height:1.1!important;
  white-space:nowrap;
  box-shadow:none!important;
  transition:background-color .16s ease,color .16s ease;
}
.bitqs-shell-menu>li.menu-item-has-children>a::after{
  content:"";
  width:6px;
  height:6px;
  margin-top:-3px;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:rotate(45deg);
  opacity:.72;
}
.bitqs-shell-menu>li>a:hover,
.bitqs-shell-menu>.current-menu-item>a,
.bitqs-shell-menu>.current-menu-ancestor>a,
.bitqs-shell-menu>.current_page_item>a{background:var(--bq-accent-soft)!important;color:var(--bq-accent)!important;}

/* No hover gap: submenu touches the parent hit-area. */
.bitqs-shell-menu .sub-menu{
  position:absolute;
  top:calc(100% - 2px);
  left:0;
  z-index:99999;
  width:248px;
  margin:0!important;
  padding:10px 8px 8px!important;
  border:1px solid var(--bq-line);
  border-radius:12px;
  background:#fff;
  box-shadow:0 18px 45px rgba(15,23,42,.14);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(6px);
  transform-origin:top left;
  transition:opacity .14s ease,transform .14s ease,visibility .14s ease;
}
.bitqs-shell-menu li:hover>.sub-menu,
.bitqs-shell-menu li:focus-within>.sub-menu,
.bitqs-shell-menu li.bitqs-desktop-open>.sub-menu{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:none;
}
.bitqs-shell-menu .sub-menu li{position:relative;margin:0!important;padding:0!important;}
.bitqs-shell-menu .sub-menu a{
  min-height:40px;
  display:flex!important;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:0!important;
  padding:9px 11px!important;
  border:0!important;
  border-radius:8px;
  background:transparent!important;
  color:#344054!important;
  text-decoration:none!important;
  font-size:13px!important;
  font-weight:600!important;
  line-height:1.35!important;
  box-shadow:none!important;
  white-space:normal;
}
.bitqs-shell-menu .sub-menu li.menu-item-has-children>a::after{
  content:"";
  width:6px;
  height:6px;
  flex:0 0 6px;
  border-top:1.5px solid currentColor;
  border-right:1.5px solid currentColor;
  transform:rotate(45deg);
  opacity:.65;
}
.bitqs-shell-menu .sub-menu a:hover,
.bitqs-shell-menu .sub-menu .current-menu-item>a,
.bitqs-shell-menu .sub-menu .current-menu-ancestor>a{background:#f5f7fb!important;color:var(--bq-accent)!important;}
.bitqs-shell-menu .sub-menu .sub-menu{top:-9px;left:calc(100% - 3px);padding-top:8px!important;}
.bitqs-shell-menu>li.bitqs-submenu-edge-right>.sub-menu{left:auto;right:0;transform-origin:top right;}
.bitqs-shell-menu .sub-menu li.bitqs-submenu-open-left>.sub-menu{left:auto;right:calc(100% - 3px);}

.bitqs-shell-actions{display:flex;align-items:center;justify-content:flex-end;gap:4px;}
.bitqs-shell-search-toggle,
.bitqs-shell-menu-toggle{
  appearance:none!important;
  -webkit-appearance:none!important;
  flex:0 0 auto;
  margin:0!important;
  border:0!important;
  outline:0;
  box-shadow:none!important;
  background:transparent!important;
  color:var(--bq-text)!important;
  cursor:pointer;
}
.bitqs-shell-search-toggle{
  width:42px;
  height:42px;
  padding:10px!important;
  border-radius:9px!important;
}
.bitqs-shell-search-toggle:hover,
.bitqs-shell-search-toggle:focus-visible{background:#f5f7fa!important;}
.bitqs-shell-search-toggle:focus-visible,
.bitqs-shell-menu-toggle:focus-visible,
.bitqs-shell-submenu-toggle:focus-visible{outline:2px solid var(--bq-accent)!important;outline-offset:2px;}
.bitqs-shell-search-toggle svg{width:20px;height:20px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;}
.bitqs-shell-menu-toggle{
  display:none;
  width:42px;
  height:42px;
  padding:9px!important;
  border-radius:9px!important;
}
.bitqs-shell-menu-toggle:hover{background:#f5f7fa!important;}
.bitqs-shell-menu-toggle span{display:block;width:22px;height:2px;margin:4px auto;background:currentColor;border-radius:2px;transition:transform .2s ease,opacity .16s ease;}
.bitqs-shell-menu-toggle.is-open span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.bitqs-shell-menu-toggle.is-open span:nth-child(2){opacity:0;}
.bitqs-shell-menu-toggle.is-open span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}

.bitqs-shell-search[hidden]{display:none!important;}
.bitqs-shell-search{position:relative;z-index:99991;border-top:1px solid var(--bq-line);background:#fff;box-shadow:0 14px 26px rgba(15,23,42,.07);}
.bitqs-shell-search__inner{width:min(calc(100% - 40px),var(--bq-max));margin:0 auto;padding:14px 0 18px;}
.bitqs-shell-search form{display:flex!important;gap:8px;margin:0!important;padding:0!important;}
.bitqs-shell-search input[type="search"]{width:100%!important;height:46px!important;margin:0!important;padding:0 15px!important;border:1px solid #d9dee8!important;border-radius:9px!important;background:#fff!important;color:var(--bq-text)!important;font-size:14px!important;box-shadow:none!important;}
.bitqs-shell-search input[type="search"]:focus{border-color:#9eb2ff!important;outline:2px solid rgba(49,94,251,.12)!important;outline-offset:0;}
.bitqs-shell-search input[type="submit"],
.bitqs-shell-search button[type="submit"]{height:46px!important;margin:0!important;padding:0 18px!important;border:0!important;border-radius:9px!important;background:var(--bq-text)!important;color:#fff!important;font-weight:700!important;white-space:nowrap;}

.bitqs-shell-submenu-toggle{display:none;}
.bitqs-shell-backdrop{display:none;}

/* Footer retained from v1.2 */
.bitqs-shell-footer{width:100%;margin-top:0;background:var(--bq-footer);color:#e8edf5;}
.bitqs-shell-footer__main{padding:62px 0 48px;}
.bitqs-shell-footer__grid{width:min(calc(100% - 40px),var(--bq-max));margin:0 auto;display:grid;grid-template-columns:minmax(280px,1.5fr) 1fr 1fr;gap:70px;}
.bitqs-shell-footer__brand{display:inline-flex;align-items:center;gap:12px;color:#fff!important;text-decoration:none!important;font-size:19px;font-weight:800;}
.bitqs-shell-footer__brand .bitqs-shell-brand__mark{background:#fff;color:#111827;}
.bitqs-shell-footer__about p{max-width:520px;margin:20px 0 0!important;color:var(--bq-footer-muted)!important;font-size:14px!important;line-height:1.75!important;}
.bitqs-shell-footer__column h2{margin:0 0 18px!important;color:#fff!important;font-size:13px!important;font-weight:800!important;letter-spacing:.07em!important;text-transform:uppercase!important;}
.bitqs-shell-footer-menu{list-style:none!important;margin:0!important;padding:0!important;}
.bitqs-shell-footer-menu li{margin:0 0 9px!important;padding:0!important;}
.bitqs-shell-footer-menu a{color:#c7d0dd!important;text-decoration:none!important;font-size:14px!important;line-height:1.45!important;}
.bitqs-shell-footer-menu a:hover{color:#fff!important;}
.bitqs-shell-footer__bottom{border-top:1px solid rgba(255,255,255,.1);}
.bitqs-shell-footer__bottom-inner{width:min(calc(100% - 40px),var(--bq-max));min-height:66px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px;color:#8995a8;font-size:12px;line-height:1.5;}

@media(max-width:1120px) and (min-width:1025px){
  .bitqs-shell-header__inner{gap:16px;}
  .bitqs-shell-brand__tag{display:none;}
  .bitqs-shell-menu>li>a{padding:0 8px!important;font-size:13px!important;}
}

/* Tablet + mobile: true off-canvas navigation. */
@media(max-width:1024px){
  .admin-bar .bitqs-shell-header{top:32px;}
  .bitqs-shell-header__inner{
    width:min(calc(100% - 30px),var(--bq-max));
    min-height:66px;
    grid-template-columns:minmax(0,1fr) auto;
    gap:12px;
  }
  .bitqs-shell-brand{max-width:calc(100vw - 132px);}
  .bitqs-shell-brand__name{font-size:18px;overflow:hidden;text-overflow:ellipsis;}
  .bitqs-shell-brand__tag{display:none;}
  .bitqs-shell-brand__mark{width:34px;height:34px;flex-basis:34px;border-radius:9px;}
  .bitqs-shell-menu-toggle{display:block;}

  .bitqs-shell-backdrop{
    display:block;
    position:fixed;
    inset:var(--bq-drawer-top) 0 0 0;
    z-index:2147483000!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:rgba(15,23,42,.36)!important;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .22s ease,visibility .22s ease;
    -webkit-backdrop-filter:blur(2px);
    backdrop-filter:blur(2px);
  }
  .bitqs-shell-backdrop.is-open{opacity:1!important;visibility:visible!important;pointer-events:auto!important;}

  .bitqs-shell-nav{
    display:block!important;
    position:fixed;
    top:var(--bq-drawer-top);
    right:0;
    bottom:0;
    left:auto;
    z-index:2147483001!important;
    width:min(88vw,390px);
    min-width:280px;
    height:calc(100vh - var(--bq-drawer-top));
    height:calc(100dvh - var(--bq-drawer-top));
    max-height:calc(100vh - var(--bq-drawer-top));
    max-height:calc(100dvh - var(--bq-drawer-top));
    margin:0!important;
    padding:0!important;
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    background:#fff;
    border-left:1px solid var(--bq-line);
    box-shadow:-20px 0 42px rgba(15,23,42,.14);
    transform:translate3d(102%,0,0);
    visibility:hidden;
    pointer-events:none;
    transition:transform .24s cubic-bezier(.2,.75,.25,1),visibility .24s ease;
  }
  .bitqs-shell-nav.is-open{transform:translate3d(0,0,0)!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;}

  body > .bitqs-shell-nav.bitqs-shell-nav--portal{
    display:block!important;
    float:none!important;
    clear:none!important;
    opacity:1;
    clip:auto!important;
    clip-path:none!important;
    filter:none!important;
    isolation:isolate;
  }
  body > .bitqs-shell-backdrop.bitqs-shell-backdrop--portal{
    display:block!important;
    float:none!important;
    clip:auto!important;
    clip-path:none!important;
    filter:none!important;
  }

  .bitqs-shell-menu{
    display:block!important;
    width:100%;
    margin:0!important;
    padding:14px 18px 28px!important;
  }
  .bitqs-shell-menu>li{position:relative;border-bottom:1px solid #edf0f4;}
  .bitqs-shell-menu>li:last-child{border-bottom:0;}
  .bitqs-shell-menu>li>a{
    min-height:52px;
    padding:0 48px 0 4px!important;
    border-radius:0;
    background:transparent!important;
    font-size:15px!important;
    line-height:1.3!important;
  }
  .bitqs-shell-menu>li.menu-item-has-children>a::after,
  .bitqs-shell-menu .sub-menu li.menu-item-has-children>a::after{display:none;}
  .bitqs-shell-menu>li>a:hover,
  .bitqs-shell-menu>.current-menu-item>a,
  .bitqs-shell-menu>.current-menu-ancestor>a,
  .bitqs-shell-menu>.current_page_item>a{background:transparent!important;color:var(--bq-accent)!important;}

  .bitqs-shell-menu .sub-menu,
  .bitqs-shell-menu .sub-menu .sub-menu,
  .bitqs-shell-menu>li.bitqs-submenu-edge-right>.sub-menu,
  .bitqs-shell-menu .sub-menu li.bitqs-submenu-open-left>.sub-menu{
    display:block;
    position:static;
    width:auto;
    margin:0!important;
    padding:0 0 0 14px!important;
    border:0!important;
    border-left:1px solid #e2e7ef!important;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    opacity:1;
    visibility:visible;
    max-height:0;
    overflow:hidden;
    pointer-events:none;
    transform:none;
    transition:max-height .24s ease,padding-bottom .2s ease;
  }
  .bitqs-shell-menu li.bitqs-submenu-open>.sub-menu{max-height:1200px;padding-bottom:8px!important;pointer-events:auto;}
  .bitqs-shell-menu .sub-menu a{
    min-height:44px;
    padding:7px 44px 7px 11px!important;
    border-radius:7px;
    font-size:13.5px!important;
    line-height:1.35!important;
  }
  .bitqs-shell-menu .sub-menu a:hover{background:#f7f9fc!important;}

  .bitqs-shell-submenu-toggle{
    display:grid;
    place-items:center;
    position:absolute;
    top:7px;
    right:0;
    z-index:2;
    width:38px;
    height:38px;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:9px!important;
    background:#f5f7fa!important;
    color:#526071!important;
    box-shadow:none!important;
    cursor:pointer;
  }
  .bitqs-shell-submenu-toggle svg{width:16px;height:16px;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease;}
  .bitqs-submenu-open>.bitqs-shell-submenu-toggle svg{transform:rotate(180deg);}
  .bitqs-shell-menu .sub-menu .bitqs-shell-submenu-toggle{top:3px;right:2px;width:36px;height:36px;background:#fafbfc!important;}

  .bitqs-shell-search{position:absolute;top:100%;left:0;right:0;z-index:99995;}
  .bitqs-shell-search__inner{width:calc(100% - 30px);padding:12px 0 14px;}
}

@media(max-width:782px){
  .admin-bar .bitqs-shell-header{top:46px;}
}

@media(max-width:600px){
  /* WP admin bar stops being fixed below 600px. */
  .admin-bar .bitqs-shell-header{top:0;}
}

@media(max-width:560px){
  .bitqs-shell-header__inner{width:calc(100% - 22px);min-height:62px;}
  .bitqs-shell-brand{max-width:calc(100vw - 118px);gap:9px;}
  .bitqs-shell-brand__mark{width:32px;height:32px;flex-basis:32px;border-radius:8px;font-size:11px;}
  .bitqs-shell-brand__name{font-size:17px;}
  .bitqs-shell-search-toggle{width:38px;height:38px;padding:9px!important;}
  .bitqs-shell-menu-toggle{width:38px;height:38px;padding:8px!important;}
  .bitqs-shell-menu-toggle span{width:21px;}
  .bitqs-shell-nav{width:min(92vw,370px);min-width:0;}
  .bitqs-shell-menu{padding:10px 15px 24px!important;}
  .bitqs-shell-search__inner{width:calc(100% - 22px);}
  .bitqs-shell-search form{gap:6px;}
  .bitqs-shell-search input[type="submit"],
  .bitqs-shell-search button[type="submit"]{padding:0 14px!important;}
  .bitqs-shell-footer__main{padding:46px 0 34px;}
  .bitqs-shell-footer__grid{width:calc(100% - 32px);grid-template-columns:1fr;gap:30px;}
  .bitqs-shell-footer__about{grid-column:auto;}
  .bitqs-shell-footer__bottom-inner{width:calc(100% - 32px);padding:16px 0;min-height:0;display:block;}
  .bitqs-shell-footer__bottom-inner span{display:block;}
  .bitqs-shell-footer__bottom-inner span+span{margin-top:6px;}
}

@media(prefers-reduced-motion:reduce){
  .bitqs-shell-header,
  .bitqs-shell-nav,
  .bitqs-shell-backdrop,
  .bitqs-shell-menu .sub-menu,
  .bitqs-shell-menu-toggle span,
  .bitqs-shell-submenu-toggle svg{transition:none!important;scroll-behavior:auto!important;}
}
