/* Existing mobile header controls keep ownership of the drawer and sticky state. */
body #mobile-menu .onebio-fix-submenu[hidden] { display: none !important; }

@media (max-width: 1120px) {
  body #mobile-menu nav a:not(.onebio-mobile-submenu-link) {
    font-size: 20px !important;
    line-height: 1.25 !important;
    letter-spacing: -.02em !important;
    grid-template-columns: 30px minmax(0, 1fr);
    min-height: 48px;
    padding-block: 11px !important;
  }
  body #mobile-menu nav a.onebio-mobile-submenu-link {
    font-size: 15px !important;
    line-height: 1.45 !important;
    letter-spacing: 0 !important;
    grid-template-columns: 30px minmax(0, 1fr);
    min-height: 44px;
    padding-block: 10px !important;
  }
  body #mobile-menu nav a > strong { font: inherit !important; }
  body #mobile-menu .onebio-fix-nav-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 44px;
    align-items: stretch;
    min-width: 0;
    border-bottom: 1px solid rgba(255,255,255,.1);
  }
  body #mobile-menu .onebio-fix-nav-row > a { border-bottom: 0 !important; }
  body #mobile-menu .onebio-fix-submenu-toggle {
    display: grid;
    place-items: center;
    width: 44px;
    min-width: 44px;
    min-height: 44px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 4px;
    background: transparent;
    color: inherit;
    cursor: pointer;
    touch-action: manipulation;
  }
  body #mobile-menu .onebio-fix-submenu-toggle:hover { color: var(--color-green, #86b81d); }
  body #mobile-menu .onebio-fix-submenu-toggle:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: -4px;
  }
  body #mobile-menu .onebio-fix-submenu-chevron {
    display: block;
    width: 8px;
    height: 8px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: translateY(-2px) rotate(45deg);
    transition: transform .18s ease;
  }
  body #mobile-menu .onebio-fix-submenu-toggle[aria-expanded="true"] .onebio-fix-submenu-chevron {
    transform: translateY(2px) rotate(225deg);
  }
  body #mobile-menu .onebio-fix-submenu { display: grid; min-width: 0; padding: 0 0 8px; }
  body #mobile-menu .onebio-fix-submenu a { color: inherit; }
}

@media (max-width: 767px) {
  /* The site's Additional CSS applies 100px padding to commerce BODY. That
     shifts Elementor's absolute announcement below its viewport-fixed header.
     Reserve space on MAIN instead, leaving both header origins at page top. */
  body.onebio-site-fixes:is(.onebio-commerce-page, .woocommerce-page, .woocommerce-cart, .woocommerce-checkout, .woocommerce-account):not(.onebio-global-editor) {
    --onebio-fix-chrome-height: calc(var(--announcement-height, 32px) + var(--header-height, 70px));
    padding-top: 0 !important;
  }
  body.onebio-site-fixes:is(.onebio-commerce-page, .woocommerce-page, .woocommerce-cart, .woocommerce-checkout, .woocommerce-account):not(.onebio-global-editor) .onebio-commerce-main {
    padding-top: calc(var(--onebio-fix-chrome-height) + 24px) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body #mobile-menu .onebio-fix-submenu-chevron { transition: none; }
}
