/* MOBILE_NAV_V4_START */

/* Kill older CSS-only overlays that were blurring the drawer itself. */
@media (max-width: 900px) {
  .mobile-menu[open]::before,
  .mobile-menu::before {
    content: none !important;
    display: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  html.hcv-v4-open,
  body.hcv-v4-open {
    overflow: hidden !important;
    overscroll-behavior: none !important;
  }

  body.hcv-v4-open {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
  }

  body.hcv-v4-open .site-header,
  body.hcv-v4-open header.site-header {
    position: relative !important;
    z-index: 30020 !important;
  }

  body.hcv-v4-open .mobile-menu > summary {
    position: relative !important;
    z-index: 30030 !important;
  }

  body.hcv-v4-open .mobile-menu > summary::after {
    content: "×" !important;
    font-family: Arial, sans-serif !important;
    font-size: 42px !important;
    line-height: .8 !important;
    color: #ffffff !important;
  }

  .hcv-v4-backdrop {
    position: fixed !important;
    z-index: 30000 !important;
    inset: 0 !important;
    background: rgba(0, 8, 15, .72) !important;
    /* IMPORTANT: no blur here */
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    touch-action: none !important;
  }

  .mobile-panel.hcv-v4-drawer {
    position: fixed !important;
    z-index: 30010 !important;

    top: var(--hcv-mobile-top, 72px) !important;
    bottom: 0 !important;
    left: auto !important;
    right: 0 !important;

    width: min(90vw, 400px) !important;
    max-width: 100vw !important;
    height: auto !important;
    max-height: none !important;

    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 16px 16px calc(28px + env(safe-area-inset-bottom, 0px)) !important;

    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;

    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
    touch-action: pan-y !important;

    transform: none !important;
    translate: none !important;
    filter: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;

    background: #061b2b !important;
    color: #f2f9fd !important;

    border: 1px solid #24506a !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
    border-radius: 18px 0 0 0 !important;

    box-shadow: -18px 20px 50px rgba(0,0,0,.55) !important;
  }

  .mobile-panel.hcv-v4-drawer *,
  .mobile-panel.hcv-v4-drawer a,
  .mobile-panel.hcv-v4-drawer summary {
    filter: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    opacity: 1 !important;
  }

  .mobile-panel.hcv-v4-drawer > a,
  .mobile-panel.hcv-v4-drawer .mobile-submenu > summary {
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 55px !important;
    margin: 0 !important;
    padding: 14px 12px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;

    background: #061b2b !important;
    color: #f0f8fd !important;

    border: 0 !important;
    border-bottom: 1px solid rgba(131,190,222,.18) !important;
    border-radius: 0 !important;

    font-family: Arial, sans-serif !important;
    font-size: 18px !important;
    line-height: 1.3 !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;

    text-align: left !important;
    text-decoration: none !important;
    text-shadow: none !important;

    white-space: normal !important;
    overflow-wrap: anywhere !important;

    -webkit-tap-highlight-color: rgba(54,161,219,.18) !important;
  }

  .mobile-panel.hcv-v4-drawer > a:active,
  .mobile-panel.hcv-v4-drawer .mobile-submenu > summary:active,
  .mobile-panel.hcv-v4-drawer .mobile-submenu > div > a:active {
    background: #0b2940 !important;
  }

  .mobile-panel.hcv-v4-drawer .mobile-submenu {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #061b2b !important;
  }

  .mobile-panel.hcv-v4-drawer .mobile-submenu > summary {
    list-style: none !important;
    cursor: pointer !important;
  }

  .mobile-panel.hcv-v4-drawer .mobile-submenu > summary::-webkit-details-marker {
    display: none !important;
  }

  .mobile-panel.hcv-v4-drawer .mobile-submenu > summary::after {
    content: "⌄" !important;
    margin-left: auto !important;
    color: #74c9f5 !important;
    font-size: 23px !important;
    line-height: 1 !important;
  }

  .mobile-panel.hcv-v4-drawer .mobile-submenu[open] > summary::after {
    transform: rotate(180deg) !important;
  }

  .mobile-panel.hcv-v4-drawer .mobile-submenu > div {
    box-sizing: border-box !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 4px 0 7px 14px !important;

    background: #041725 !important;
    border: 0 !important;
  }

  .mobile-panel.hcv-v4-drawer .mobile-submenu > div > a {
    box-sizing: border-box !important;
    min-height: 48px !important;
    padding: 12px 12px !important;

    display: flex !important;
    align-items: center !important;

    color: #cde9f8 !important;
    background: #041725 !important;

    font-family: Arial, sans-serif !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;

    text-decoration: none !important;
    text-shadow: none !important;

    border: 0 !important;
    border-bottom: 1px solid rgba(131,190,222,.12) !important;

    white-space: normal !important;
  }

  .mobile-panel.hcv-v4-drawer .mobile-submenu > div > a:last-child {
    border-bottom: 0 !important;
  }
}

/* On actual phones use the whole width below the header.
   This is much easier to use than a narrow desktop-style drawer. */
@media (max-width: 600px) {
  .mobile-panel.hcv-v4-drawer {
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;

    border-left: 0 !important;
    border-right: 0 !important;
    border-radius: 0 !important;

    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

/* MOBILE_NAV_V4_END */


/* MOBILE NAV V4.1 — language selector inside drawer */
@media (max-width: 900px) {
  .hcv-v4-langbar {
    position: sticky;
    top: -16px;
    z-index: 5;

    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;

    margin: -16px -16px 10px;
    padding: 14px 16px;

    background: #061b2b;
    border-bottom: 1px solid rgba(131,190,222,.22);
  }

  .hcv-v4-langbar a {
    min-height: 46px !important;
    display: grid !important;
    place-items: center !important;

    border: 1px solid rgba(113,190,233,.34) !important;
    border-radius: 9px !important;
    background: #0a263b !important;

    color: #d8efff !important;
    font-family: Arial,sans-serif !important;
    font-size: 16px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    text-decoration: none !important;
  }

  .hcv-v4-langbar a.active,
  .hcv-v4-langbar a[aria-current="true"] {
    color: #fff !important;
    background: #103b59 !important;
    border-color: #42bdf6 !important;
    box-shadow: 0 0 0 1px rgba(66,189,246,.12), 0 6px 18px rgba(0,0,0,.28);
  }

  .hcv-v4-langbar-label {
    grid-column: 1 / -1;
    margin-bottom: -2px;
    color: #7fb5d2;
    font-size: 11px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
  }
}

@media (max-width: 600px) {
  .hcv-v4-langbar {
    top: -16px;
    margin-left: -20px;
    margin-right: -20px;
    padding-left: 20px;
    padding-right: 20px;
  }
}
