/* ---------- Mobile / burger menu (below 900px) ---------- */
.header__nav-menu .menu-main-menu-container > ul {
  height: auto !important;
  justify-content: flex-start !important;
}
.menu-main-menu-container .menu-item-has-children {
  flex-direction: column;
  align-items: center;
}
.header__nav-menu .menu-main-menu-container ul.sub-menu {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: auto !important;
  margin: 0 0 10px;
  padding: 0;
}
.menu-main-menu-container .sub-menu .menu-item a {
  height: auto !important;
  line-height: 1.4 !important;
  font-size: 1.5rem !important;
  padding: 8px 20px !important;
  opacity: .8;
}
.menu-main-menu-container .sub-menu .current_page_item::after { display: none; }

/* Search inside the burger panel */
@media (max-width: 899px) {
  .nest-search {
    display: flex !important;
    width: calc(100% - 60px);
    margin: 10px 30px 20px !important;
  }
  .header .nest-search input#nest-search-input,
  .header .nest-search input#nest-search-input:focus {
    width: 100% !important;
  }
  .nest-search-results { min-width: 0 !important; width: 100%; }
}

/* ---------- Desktop (900px and up) ---------- */
@media (min-width: 900px) {
  /* Let dropdowns and search results hang below the header,
     but keep clipping sideways for the CSF yellow bar */
  .header { overflow: visible !important; overflow-x: clip !important; }

  .menu-main-menu-container .menu-item-has-children { position: relative; }

  /* Small arrow on parent items */
  .menu-main-menu-container .menu-item-has-children > a { padding-right: 32px !important; }
  .menu-main-menu-container .menu-item-has-children > a::after {
    content: "";
    position: absolute;
    right: 16px;
    top: 50%;
    width: 6px;
    height: 6px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: translateY(-75%) rotate(45deg);
  }

  .header__nav-menu .menu-main-menu-container ul.sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 220px;
    margin: 0;
    padding: 6px 0;
    flex-direction: column;
    align-items: stretch;
    background: #2f3537;
    border-top: 3px solid #00993b;
    box-shadow: 0 10px 30px rgba(0,0,0,.35);
    z-index: 100000;
    opacity: 0;
    visibility: hidden;
    transform: translateY(6px);
    transition: opacity .2s ease, transform .2s ease, visibility .2s;
  }
  .menu-main-menu-container .menu-item-has-children:hover > .sub-menu,
  .menu-main-menu-container .menu-item-has-children:focus-within > .sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }
  .menu-main-menu-container .sub-menu li { display: block; width: 100%; }
  .menu-main-menu-container .sub-menu .menu-item a {
    text-align: left;
    font-size: 1.4rem !important;
    padding: 12px 20px !important;
    opacity: 1;
  }
}

/* Burger menu: search box first, above the menu items */
@media (max-width: 899px) {
  .nest-search {
    order: -1;
    margin: 20px 30px 0 !important;
  }
  .header__nav-menu .menu-main-menu-container {
    margin-top: 10px;
  }
}

/* Burger menu: stack from the top, keep CSF block pinned to the bottom */
@media (max-width: 899px) {
  .header__nav-menu {
    justify-content: flex-start !important;
  }
  .header__nav-menu .menu-main-menu-container {
    margin: 20px 0 !important;
  }
  .header__nav-menu .header__csf-link {
    margin-top: auto;
  }
}
