/* Secure-VPN English mobile header */

@media (max-width:900px){

  .topbar{
    width:100%!important;
    height:64px!important;
    min-height:64px!important;

    display:grid!important;
    grid-template-columns:minmax(0,1fr) 44px 52px!important;
    grid-template-rows:64px!important;

    column-gap:5px!important;
    align-items:center!important;

    position:sticky!important;
    top:0!important;
    overflow:visible!important;
  }

  .topbar > .brand{
    grid-column:1!important;
    grid-row:1!important;

    width:auto!important;
    max-width:100%!important;
    min-width:0!important;
    height:64px!important;

    margin:0!important;
    padding:0 4px 0 12px!important;

    display:flex!important;
    align-items:center!important;
    gap:8px!important;

    border-right:0!important;
    overflow:hidden!important;
  }

  .topbar > .brand .brand-mark-wrap{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;

    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    max-width:34px!important;
    flex:0 0 34px!important;

    overflow:hidden!important;
  }

  .topbar > .brand .brand-mark{
    display:block!important;
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    max-width:34px!important;
    object-fit:contain!important;
  }

  .topbar > .brand > span:last-child{
    min-width:0!important;
    overflow:hidden!important;
  }

  .topbar > .brand b{
    display:block!important;
    font-size:18px!important;
    line-height:1.05!important;

    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  .topbar > .brand small{
    display:none!important;
  }

  /* status never affects mobile alignment */
  .topbar > .worker-health{
    display:none!important;
  }

  /* hamburger */
  .topbar > .mobile-menu-btn{
    display:flex!important;

    position:static!important;
    grid-column:2!important;
    grid-row:1!important;

    justify-self:center!important;
    align-self:center!important;

    width:40px!important;
    height:40px!important;
    margin:0!important;
    padding:0!important;

    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;

    border:1px solid #29445f!important;
    border-radius:9px!important;
    background:#0c1b2d!important;

    cursor:pointer!important;
    z-index:1002!important;
  }

  .topbar > .mobile-menu-btn span{
    display:block!important;
    width:18px!important;
    height:2px!important;
    border-radius:99px!important;
    background:#eaf6ff!important;
    transition:.2s ease!important;
  }

  /* DE selector fixed in third grid column */
  .topbar > .lang-switch{
    position:static!important;

    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;

    grid-column:3!important;
    grid-row:1!important;

    justify-self:center!important;
    align-self:center!important;

    display:grid!important;
    place-items:center!important;

    width:44px!important;
    height:36px!important;
    margin:0!important;
    padding:0!important;

    border:1px solid #35516d!important;
    border-radius:999px!important;
    background:#0a1929!important;

    color:#dcebf6!important;
    font-size:12px!important;
    font-weight:700!important;

    z-index:1002!important;
  }

  /* menu closed */
  .topbar > .nav{
    display:none!important;

    position:absolute!important;
    top:64px!important;
    left:0!important;
    right:0!important;

    width:100%!important;
    max-height:calc(100vh - 64px)!important;

    overflow-y:auto!important;

    padding:8px!important;

    background:#071522!important;
    border-top:1px solid #1c354e!important;
    border-bottom:1px solid #1c354e!important;

    box-shadow:0 18px 35px rgba(0,0,0,.4)!important;

    z-index:1000!important;
  }

  /* menu open */
  .topbar.menu-open > .nav{
    display:grid!important;
    grid-template-columns:1fr!important;
  }

  .topbar > .nav a{
    width:100%!important;
    min-height:46px!important;

    padding:0 14px!important;

    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;

    white-space:nowrap!important;

    font-size:14px!important;

    border:0!important;
    border-bottom:1px solid rgba(255,255,255,.07)!important;
  }

  .topbar > .nav a:last-child{
    border-bottom:0!important;
  }

  .topbar.menu-open > .mobile-menu-btn span:nth-child(1){
    transform:translateY(7px) rotate(45deg)!important;
  }

  .topbar.menu-open > .mobile-menu-btn span:nth-child(2){
    opacity:0!important;
  }

  .topbar.menu-open > .mobile-menu-btn span:nth-child(3){
    transform:translateY(-7px) rotate(-45deg)!important;
  }
}


/* ===== EN DESKTOP HEADER FINAL ===== */

/* Prevent 15px left/right movement between pages with/without scrollbar */
html{
  scrollbar-gutter:stable;
}

@media (min-width:1281px){

  .topbar{
    width:100%!important;
    height:72px!important;
    min-height:72px!important;

    display:grid!important;
    grid-template-columns:280px minmax(0,1fr) 205px 54px!important;
    grid-template-rows:72px!important;

    align-items:stretch!important;
    overflow:hidden!important;
  }

  .topbar > .brand{
    grid-column:1!important;
    grid-row:1!important;

    width:auto!important;
    min-width:0!important;
    height:72px!important;

    margin:0!important;
    padding:0 16px!important;

    display:flex!important;
    align-items:center!important;
    gap:10px!important;

    border-right:1px solid #183049!important;
    overflow:hidden!important;
  }

  .topbar > .brand .brand-mark-wrap{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    max-width:42px!important;
    flex:0 0 42px!important;

    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
  }

  .topbar > .brand .brand-mark{
    width:42px!important;
    height:42px!important;
    max-width:42px!important;
    object-fit:contain!important;
  }

  .topbar > .brand > span:last-child{
    min-width:0!important;
  }

  .topbar > .brand b{
    display:block!important;
    font-size:20px!important;
    line-height:1.1!important;
    white-space:nowrap!important;
  }

  .topbar > .brand small{
    display:block!important;
    margin-top:2px!important;
    font-size:12px!important;
    white-space:nowrap!important;
  }

  .topbar > .mobile-menu-btn{
    display:none!important;
  }

  .topbar > .nav{
    position:static!important;

    grid-column:2!important;
    grid-row:1!important;

    min-width:0!important;
    width:100%!important;
    height:72px!important;

    display:flex!important;
    align-items:stretch!important;
    justify-content:center!important;

    gap:0!important;
    overflow:hidden!important;
  }

  .topbar > .nav a{
    flex:0 1 auto!important;

    min-width:0!important;
    height:72px!important;

    padding:0 clamp(7px,.8vw,15px)!important;

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

    font-size:13px!important;
    line-height:1!important;
    white-space:nowrap!important;

    border-bottom:3px solid transparent!important;
  }

  .topbar > .nav a.active,
  .topbar > .nav a:hover{
    border-bottom-color:#2588ff!important;
  }

  .topbar > .worker-health{
    position:static!important;

    grid-column:3!important;
    grid-row:1!important;

    width:auto!important;
    min-width:0!important;
    height:72px!important;

    margin:0!important;
    padding:0 10px!important;

    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;

    overflow:hidden!important;
    white-space:nowrap!important;
  }

  .topbar > .worker-health span{
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:12px!important;
  }

  .topbar > .worker-health small{
    display:none!important;
  }

  .topbar > .lang-switch{
    position:static!important;

    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;

    grid-column:4!important;
    grid-row:1!important;

    justify-self:center!important;
    align-self:center!important;

    display:grid!important;
    place-items:center!important;

    width:42px!important;
    height:36px!important;

    margin:0!important;
    padding:0!important;

    border:1px solid #35516d!important;
    border-radius:999px!important;

    background:#0a1929!important;
    color:#dcebf6!important;

    font-size:12px!important;
    font-weight:700!important;

    z-index:40!important;
  }
}


/* Medium desktop / small laptop:
   keep menu stable, hide status to preserve space */
@media (min-width:901px) and (max-width:1280px){

  .topbar{
    width:100%!important;
    height:68px!important;

    display:grid!important;
    grid-template-columns:245px minmax(0,1fr) 52px!important;
    grid-template-rows:68px!important;

    align-items:stretch!important;
    overflow:hidden!important;
  }

  .topbar > .brand{
    grid-column:1!important;
    height:68px!important;
    min-width:0!important;
    padding:0 12px!important;
    overflow:hidden!important;
  }

  .topbar > .mobile-menu-btn{
    display:none!important;
  }

  .topbar > .worker-health{
    display:none!important;
  }

  .topbar > .nav{
    grid-column:2!important;
    height:68px!important;

    display:flex!important;
    align-items:stretch!important;
    justify-content:center!important;

    min-width:0!important;
    overflow:hidden!important;
  }

  .topbar > .nav a{
    height:68px!important;
    padding:0 7px!important;

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

    font-size:12px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }

  .topbar > .lang-switch{
    position:static!important;

    grid-column:3!important;
    justify-self:center!important;
    align-self:center!important;

    display:grid!important;
    place-items:center!important;

    width:42px!important;
    height:34px!important;

    margin:0!important;
    padding:0!important;

    border:1px solid #35516d!important;
    border-radius:999px!important;
    background:#0a1929!important;
  }
}
