/* Off-canvas menu cleanup */
.offcanvas-menu .offcanvas-inner ul,
.offcanvas-menu .offcanvas-inner li {
  list-style: none;
  margin: 0;
  padding: 0;
}

.offcanvas-menu .offcanvas-inner li > a {
  display: block;
  padding: 10px 18px;
  text-decoration: none;
}

/* indent submenu items */
.offcanvas-menu .offcanvas-inner li ul li > a {
  padding-left: 28px;
  opacity: .95;
}

/* caret indicator for parents */
.offcanvas-menu .offcanvas-inner li.sp-has-child > a {
  position: relative;
  padding-right: 34px; /* room for caret */
}

.offcanvas-menu .offcanvas-inner li.sp-has-child > a .oc-caret {
  content: "";
  position: absolute;
  right: 14px;
  top: 50%;
  width: 8px;
  height: 8px;
  margin-top: -4px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(-45deg);
  transition: transform .2s ease;
  opacity: .7;
}

/* rotate when open */
.offcanvas-menu .offcanvas-inner li.oc-open > a .oc-caret {
  transform: rotate(45deg);
  opacity: 1;
}

/* subtle bullets removed */
.offcanvas-menu .offcanvas-inner li::marker { content: none; }
/* ---------- Mobile header fixes (Helix3) ---------- */
@media (max-width: 991px) {

  /* Keep top bar visible (so don't hide #sp-top1/#sp-top2) */
  #sp-top1, #sp-top2, #sp-top-bar {
    display: block !important;
  }

  /* Make header container positioning context */
  #sp-header .container,
  #sp-header .container-fluid {
    position: relative;
    min-height: 64px; /* space for logo + toggle */
  }

  /* Logo scaling */
  #sp-header .logo,
  #sp-header .logo a,
  #sp-header .logo img {
    display: block;
    max-height: 48px;
  }
  #sp-header .logo img {
    height: auto;
    max-height: 48px;   /* adjust to taste */
    width: auto;
  }

  /* Hamburger toggle to the right */
  #offcanvas-toggler,
  .offcanvas-toggler,
  .sp-megamenu-toggler {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 24px;        /* bigger touch target */
    line-height: 1;
    padding: 8px 10px;
    z-index: 1001;
  }

  /* Hide the full desktop menu on mobile (offcanvas only) */
  section#sp-section-1 {
    text-align: center;
}

  /* Tighten header padding */
  #sp-header {
    padding-top: 6px;
    padding-bottom: 6px;
    text-align: center;
  }
}

/* Ensure off-canvas overlay covers header when open */
.offcanvas-menu {
  z-index: 1100;
}
