/* CamExpert 17.5.1 — one mobile navigation system.
 * The header's three main links and the Help disclosure (including its children)
 * share exactly the same glass card geometry. Desktop navigation is unchanged.
 */
@media (max-width: 650px) {
  html body.ce-site .ce-header #ce-primary-nav.ce-nav-open {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 9px !important;
    box-sizing: border-box !important;
    padding: 14px !important;
    width: auto !important;
    max-width: none !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    background: rgba(237, 249, 242, .97) !important;
    border: 1px solid #d6e8dc !important;
    border-radius: 18px !important;
    box-shadow: 0 14px 35px rgba(15, 62, 40, .17) !important;
  }
  html body.ce-site .ce-header #ce-primary-nav.ce-nav-open > :is(.ce-mega, .ce-mobile-links),
  html body.ce-site .ce-header #ce-primary-nav.ce-nav-open > .ce-mobile-links > .ce-mobile-help-disclosure {
    display: block !important;
    flex: 0 0 auto !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  html body.ce-site .ce-header #ce-primary-nav.ce-nav-open > .ce-mobile-links {
    display: flex !important;
    flex-direction: column !important;
    gap: 9px !important;
    background: transparent !important;
  }
  /* Native WordPress nav menus, when populated, use the same geometry. */
  html body.ce-site .ce-header #ce-primary-nav.ce-nav-open > .ce-mobile-links > ul,
  html body.ce-site .ce-header #ce-primary-nav.ce-nav-open > .ce-mobile-links > .menu {
    display: grid !important;
    grid-template-columns: minmax(0,1fr);
    gap: 9px !important;
    box-sizing: border-box !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    list-style: none !important;
  }
  html body.ce-site .ce-header #ce-primary-nav.ce-nav-open .ce-mobile-links li {
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
  }
  html body.ce-site .ce-header #ce-primary-nav.ce-nav-open .ce-mobile-links li::marker {content: '' !important;}

  /* Same size, corners, line-height and icon baseline for EVERY mobile menu card. */
  html body.ce-site .ce-header #ce-primary-nav.ce-nav-open > .ce-mega > summary,
  html body.ce-site .ce-header #ce-primary-nav.ce-nav-open > a,
  html body.ce-site .ce-header #ce-primary-nav.ce-nav-open > .ce-mobile-links > .ce-mobile-help-disclosure > summary,
  html body.ce-site .ce-header #ce-primary-nav.ce-nav-open > .ce-mobile-links > .ce-mobile-help-disclosure .ce-mobile-help-content a,
  html body.ce-site .ce-header #ce-primary-nav.ce-nav-open > .ce-mobile-links > .menu li > a {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 58px !important;
    margin: 0 !important;
    padding: 13px 16px !important;
    border: 1px solid rgba(255,255,255,.95) !important;
    border-bottom: 2px solid #b4d5c1 !important;
    border-radius: 15px !important;
    background: linear-gradient(145deg,#fafffc 0%,#e6f3eb 100%) !important;
    box-shadow: inset 0 1px 0 #fff,0 3px 0 -1px #bad6c4,0 5px 12px rgba(26,76,51,.065) !important;
    color: #203e31 !important;
    font-size: 15px !important;
    font-weight: 650 !important;
    line-height: 1.35 !important;
    letter-spacing: normal !important;
    text-align: left !important;
    text-decoration: none !important;
    white-space: normal !important;
    transform: none !important;
    cursor: pointer;
    overflow-wrap: break-word;
  }
  html body.ce-site .ce-header #ce-primary-nav.ce-nav-open > .ce-mega > summary:focus-visible,
  html body.ce-site .ce-header #ce-primary-nav.ce-nav-open > a:focus-visible,
  html body.ce-site .ce-header #ce-primary-nav.ce-nav-open .ce-mobile-help-disclosure :is(summary,a):focus-visible {
    outline: 3px solid #099e74 !important;
    outline-offset: 2px;
  }
  html body.ce-site .ce-header #ce-primary-nav.ce-nav-open > .ce-mobile-links > .ce-mobile-help-disclosure > summary {
    list-style: none !important;
  }
  html body.ce-site .ce-header #ce-primary-nav.ce-nav-open > .ce-mobile-links > .ce-mobile-help-disclosure > summary::-webkit-details-marker {display: none !important;}
  html body.ce-site .ce-header #ce-primary-nav.ce-nav-open > .ce-mobile-links > .ce-mobile-help-disclosure > summary::marker {content: '' !important;}
  html body.ce-site .ce-header #ce-primary-nav.ce-nav-open > .ce-mobile-links > .ce-mobile-help-disclosure > summary::after {display: none !important;content:none !important;}
  html body.ce-site .ce-header #ce-primary-nav.ce-nav-open > .ce-mobile-links .ce-mobile-help-disclosure .ce-mobile-help-chevron {
    display: block;
    width: 9px;
    height: 9px;
    flex: 0 0 9px;
    margin-left: auto !important;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
  }

  /* Help children no longer get the default inset and half-width from nav styling. */
  html body.ce-site .ce-header #ce-primary-nav.ce-nav-open > .ce-mobile-links .ce-mobile-help-disclosure .ce-mobile-help-content {
    display: grid;
    grid-template-columns: minmax(0,1fr);
    gap: 9px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 9px 0 0 !important;
  }
  html body.ce-site .ce-header #ce-primary-nav.ce-nav-open > .ce-mobile-links .ce-mobile-help-disclosure:not([open]) > .ce-mobile-help-content {
    display: none !important;
  }
  html body.ce-site .ce-header #ce-primary-nav.ce-nav-open > .ce-mobile-links .ce-mobile-help-content :is(ul,ul.sub-menu) {
    display: grid !important;
    grid-template-columns: minmax(0,1fr);
    gap: 9px !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    list-style: none !important;
  }
  html body.ce-site .ce-header #ce-primary-nav.ce-nav-open .ce-mobile-help-content :is(li,a)::before {
    content: none !important;
    display: none !important;
  }
  html body.ce-site .ce-header #ce-primary-nav.ce-nav-open :is(.ce-mega,.ce-mobile-links) .ce-menu-icon,
  html body.ce-site .ce-header #ce-primary-nav.ce-nav-open > a .ce-menu-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 23px !important;
    width: 23px !important;
    height: 23px !important;
    min-width: 23px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #009f72 !important;
    line-height: 1 !important;
  }
  html body.ce-site .ce-header #ce-primary-nav.ce-nav-open .ce-menu-icon svg {
    display: block !important;
    flex: none !important;
    width: 23px !important;
    height: 23px !important;
    stroke: currentColor;
    stroke-width: 1.75;
    vertical-align: middle;
    transform: none !important;
  }
  html body.ce-site .ce-header #ce-primary-nav.ce-nav-open .ce-mobile-help-content :is(.ce-menu-label, a > span:last-child) {
    min-width: 0 !important;
    flex: 1 1 auto;
  }
}
/* Narrow phones: preserve a single-row card whenever there is sufficient room. */
@media (max-width: 389px) {
  html body.ce-site .ce-header #ce-primary-nav.ce-nav-open > .ce-mega > summary,
  html body.ce-site .ce-header #ce-primary-nav.ce-nav-open > a,
  html body.ce-site .ce-header #ce-primary-nav.ce-nav-open > .ce-mobile-links > .ce-mobile-help-disclosure > summary,
  html body.ce-site .ce-header #ce-primary-nav.ce-nav-open > .ce-mobile-links > .ce-mobile-help-disclosure .ce-mobile-help-content a,
  html body.ce-site .ce-header #ce-primary-nav.ce-nav-open > .ce-mobile-links > .menu li > a {
    font-size: 14px !important;
    padding-inline: 12px !important;
    gap: 10px !important;
  }
}
