/* WhyTaiwan v9.4k — shared responsive header + mobile hamburger menu */

/* Desktop: preserve the existing one-row header exactly. */
@media (min-width:901px){
  .topbar .nav,
  .topbar .head,
  .top .nav{
    width:min(calc(100% - 56px),1240px)!important;
    height:82px!important;
    min-height:82px!important;
    margin-inline:auto!important;
    padding:0!important;
  }
  .topbar .nav>a:first-child,
  .topbar .head>a:first-child,
  .top .nav>a:first-child{
    display:flex!important;
    align-items:center!important;
    flex:0 0 auto!important;
  }
  .topbar .brand,
  .topbar .head>a:first-child img,
  .top .brand{
    width:220px!important;
    max-width:none!important;
    height:auto!important;
    display:block!important;
  }
  .wt-mobile-menu-toggle{display:none!important}
}

/* Shared Share Your Story nav-link normalization. */
#share-story-nav{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  height:48px!important;
  min-height:48px!important;
  padding-top:0!important;
  padding-bottom:0!important;
  line-height:1.1!important;
  white-space:nowrap!important;
  text-decoration:none!important;
  flex:0 0 auto!important;
}

/* Mobile / small tablet: conventional logo + hamburger header.
   Existing nav links, CTA and language control become one dropdown panel. */
@media (max-width:900px){
  .topbar .nav,
  .topbar .head{
    position:relative!important;
    width:min(calc(100% - 28px),1240px)!important;
    height:72px!important;
    min-height:72px!important;
    margin-inline:auto!important;
    padding:8px 0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:14px!important;
    flex-wrap:nowrap!important;
  }

  .topbar .nav>a:first-child,
  .topbar .head>a:first-child{
    display:flex!important;
    align-items:center!important;
    flex:0 1 auto!important;
    min-width:0!important;
    margin:0!important;
  }

  .topbar .brand,
  .topbar .head>a:first-child img{
    width:min(205px,calc(100vw - 106px))!important;
    max-width:100%!important;
    height:auto!important;
    display:block!important;
  }

  .wt-mobile-menu-toggle{
    appearance:none!important;
    -webkit-appearance:none!important;
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    flex:0 0 46px!important;
    margin-left:auto!important;
    padding:0!important;
    border:1px solid #d9e5eb!important;
    border-radius:12px!important;
    background:#f8fafb!important;
    color:#173454!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    box-shadow:none!important;
    cursor:pointer!important;
    position:relative!important;
    z-index:502!important;
  }
  .wt-mobile-menu-toggle:hover,
  .wt-mobile-menu-toggle:focus-visible{
    background:#eef8f8!important;
    border-color:#bcdfe0!important;
    outline:none!important;
  }
  .wt-mobile-menu-toggle:focus-visible{box-shadow:0 0 0 3px rgba(10,171,176,.16)!important}
  .wt-mobile-menu-toggle span{
    display:block!important;
    width:20px!important;
    height:2px!important;
    border-radius:999px!important;
    background:currentColor!important;
    transition:transform .18s ease,opacity .18s ease!important;
    transform-origin:center!important;
  }
  .topbar.wt-mobile-menu-open .wt-mobile-menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)!important}
  .topbar.wt-mobile-menu-open .wt-mobile-menu-toggle span:nth-child(2){opacity:0!important}
  .topbar.wt-mobile-menu-open .wt-mobile-menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)!important}

  /* Only hide the legacy navigation after the shared menu script has initialized,
     so navigation remains usable if JavaScript ever fails. */
  .topbar.wt-mobile-menu-ready .nav-actions,
  .topbar.wt-mobile-menu-ready .head-actions{
    display:none!important;
    position:absolute!important;
    top:calc(100% + 1px)!important;
    left:0!important;
    right:0!important;
    z-index:501!important;
    margin:0!important;
    padding:10px!important;
    border:1px solid #dce6ec!important;
    border-radius:0 0 18px 18px!important;
    background:rgba(255,255,255,.985)!important;
    box-shadow:0 20px 44px rgba(7,27,59,.14)!important;
    backdrop-filter:blur(14px)!important;
    -webkit-backdrop-filter:blur(14px)!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:4px!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
  }
  .topbar.wt-mobile-menu-open .nav-actions,
  .topbar.wt-mobile-menu-open .head-actions{display:flex!important}

  .topbar.wt-mobile-menu-ready .nav-actions > a:not(.share-story-nav),
  .topbar.wt-mobile-menu-ready .head-actions > a:not(.share-story-nav),
  .topbar.wt-mobile-menu-ready #follow-nav{
    width:100%!important;
    min-width:0!important;
    min-height:46px!important;
    height:auto!important;
    margin:0!important;
    padding:11px 14px!important;
    border:0!important;
    border-radius:10px!important;
    background:transparent!important;
    color:#173454!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    font-size:15px!important;
    font-weight:800!important;
    line-height:1.2!important;
    white-space:normal!important;
    text-align:left!important;
    text-decoration:none!important;
    box-shadow:none!important;
  }
  .topbar.wt-mobile-menu-ready .nav-actions > a:not(.share-story-nav):hover,
  .topbar.wt-mobile-menu-ready .head-actions > a:not(.share-story-nav):hover,
  .topbar.wt-mobile-menu-ready #follow-nav:hover{
    background:#f0f8f8!important;
    color:#078f95!important;
  }
  .topbar.wt-mobile-menu-ready .nav-actions > a.active,
  .topbar.wt-mobile-menu-ready .head-actions > a.active,
  .topbar.wt-mobile-menu-ready .nav-actions > a[aria-current="page"],
  .topbar.wt-mobile-menu-ready .head-actions > a[aria-current="page"]{
    background:#eef9f9!important;
    color:#078f95!important;
  }

  /* Keep the mobile menu order identical on every page, regardless of the
     source HTML order used by older templates. */
  .topbar.wt-mobile-menu-ready #language-control{
    order:1!important;
    width:100%!important;
    margin:0 0 4px!important;
    padding:0 0 8px!important;
    border-top:0!important;
    border-bottom:1px solid #e5edf1!important;
  }
  .topbar.wt-mobile-menu-ready #why-link{order:2!important}
  .topbar.wt-mobile-menu-ready #nav-help-link,
  .topbar.wt-mobile-menu-ready #nav-ask-link{order:3!important}
  .topbar.wt-mobile-menu-ready #follow-nav{order:4!important}
  .topbar.wt-mobile-menu-ready #map-link{order:5!important}

  .topbar.wt-mobile-menu-ready #share-story-nav{
    order:6!important;
    width:100%!important;
    min-width:0!important;
    height:48px!important;
    min-height:48px!important;
    margin:7px 0 2px!important;
    padding:0 18px!important;
    border-radius:12px!important;
    font-size:14px!important;
    line-height:1.15!important;
    white-space:normal!important;
    text-align:center!important;
  }
  .topbar.wt-mobile-menu-ready .wt-lang-trigger{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:44px!important;
    padding:0 13px!important;
    gap:8px!important;
    justify-content:flex-start!important;
    border:1px solid #dde7ed!important;
    border-radius:10px!important;
    background:#f7fafb!important;
    color:#5d7186!important;
    box-shadow:none!important;
  }
  .topbar.wt-mobile-menu-ready .wt-lang-chevron{margin-left:auto!important}
  .wt-lang-menu{
    left:12px!important;
    right:12px!important;
    bottom:12px!important;
    max-height:min(72vh,620px)!important;
    border-radius:20px!important;
  }
}

@media (max-width:390px){
  .topbar .nav,.topbar .head{width:calc(100% - 20px)!important}
  .topbar .brand,.topbar .head>a:first-child img{width:min(190px,calc(100vw - 98px))!important}
}

/* Keep the simplified follow-confirmed header as-is. It does not use the full nav. */
@media (max-width:680px){
  .top .nav{
    width:min(calc(100% - 28px),1240px)!important;
    height:auto!important;
    min-height:0!important;
    margin-inline:auto!important;
    padding:10px 0 11px!important;
  }
  .top .nav>a:first-child{display:flex!important;align-items:center!important;flex:0 0 auto!important}
  .top .brand{
    width:min(205px,calc(100vw - 140px))!important;
    max-width:100%!important;
    height:auto!important;
    display:block!important;
  }
}
@media (max-width:390px){
  .top .nav{width:calc(100% - 20px)!important}
  .top .brand{width:min(190px,calc(100vw - 132px))!important}
}

@media (prefers-reduced-motion:reduce){
  .wt-mobile-menu-toggle span{transition:none!important}
}

/* Ensure the current page is visually clear inside the mobile menu. */
@media (max-width:900px){
  .topbar.wt-mobile-menu-ready #why-link.active,
  .topbar.wt-mobile-menu-ready #why-link[aria-current="page"],
  .topbar.wt-mobile-menu-ready #nav-help-link.active,
  .topbar.wt-mobile-menu-ready #nav-help-link[aria-current="page"],
  .topbar.wt-mobile-menu-ready #nav-ask-link.active,
  .topbar.wt-mobile-menu-ready #nav-ask-link[aria-current="page"],
  .topbar.wt-mobile-menu-ready #map-link.active,
  .topbar.wt-mobile-menu-ready #map-link[aria-current="page"]{
    background:#eef9f9!important;
    color:#078f95!important;
  }
}
