/* =========================================================
   Header
   用意：
   全站頂部導覽列
========================================================= */

.top-header {

  background: #000;

  color: #fff;

  /* =======================================================
     Header 上下留白
  ======================================================== */
  padding: 18px 0;

}

/* =========================================================
   Header Inner
   用意：
   1. 控制最大寬度
   2. 水平置中
   3. 左 Logo / 右 Menu
========================================================= */

.header-inner {

  max-width: 1400px;

  margin: 0 auto;

  padding: 0 24px;

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 24px;

  position: relative;

}

/* =========================================================
   Logo Area
========================================================= */

.logo-wrap {

  display: flex;

  align-items: center;

  gap: 14px;

  text-decoration: none;

  color: #fff;

}

/* =========================================================
   Logo Image
========================================================= */

.logo-wrap img {

  height: 72px;

}

/* =========================================================
   Logo Text
========================================================= */

.logo-text {

  line-height: 1.1;

}

/* =========================================================
   Main Title
========================================================= */

.logo-title {

  font-size: 30px;

  font-weight: 700;

}

/* =========================================================
   Subtitle
========================================================= */

.logo-sub {

  font-size: 15px;

  opacity: 0.8;

}

/* =========================================================
   Desktop Navigation
========================================================= */

.top-nav {

  display: flex;

  align-items: center;

  gap: 48px;

}

/* =========================================================
   Navigation Link
========================================================= */

.top-nav a {

  color: #fff;

  text-decoration: none;

  font-size: 20px;

  font-weight: 600;

  transition: 0.25s;

  position: relative;

}

/* =========================================================
   Hover Color
========================================================= */

.top-nav a:hover {

  color: #ff7b00;

}

/* =========================================================
   Hover Underline
========================================================= */

.top-nav a::after {

  content: "";

  position: absolute;

  left: 0;

  bottom: -6px;

  width: 0;

  height: 2px;

  background: #ff7b00;

  transition: 0.25s;

}

.top-nav a:hover::after {

  width: 100%;

}

/* =========================================================
   Mobile Menu Button
   用意：
   桌機版隱藏
========================================================= */

.mobile-menu-btn {

  display: none;

  background: transparent;

  border: none;

  outline: none;

  box-shadow: none;

  color: #fff;

  font-size: 30px;

  cursor: pointer;

  padding: 0;

}

/* =========================================================
   去除點擊黃框
========================================================= */

.mobile-menu-btn:focus,
.mobile-menu-btn:active,
.mobile-menu-btn:focus-visible {

  outline: none;

  border: none;

  box-shadow: none;

}

/* =========================================================
   Tablet
========================================================= */

@media (max-width: 992px) {

  .top-nav {

    gap: 24px;

  }

  .top-nav a {

    font-size: 18px;

  }

}

/* =========================================================
   Mobile
   用意：
   1. 漢堡 Menu
   2. 下拉選單
   3. 不撐高 Header
========================================================= */

@media (max-width: 768px) {

  .top-header {

    padding: 14px 0;

  }

  /* =======================================================
     手機版 Header 維持左右排列
  ======================================================== */

  .header-inner {

    padding: 0 20px;

    flex-direction: row;

    align-items: center;

    justify-content: space-between;

  }

  /* =======================================================
     手機 Logo
  ======================================================== */

  .logo-wrap {

    gap: 10px;

  }

  .logo-wrap img {

    height: 54px;

  }

  .logo-title {

    font-size: 22px;

  }

  .logo-sub {

    font-size: 13px;

  }

  /* =======================================================
     顯示漢堡按鈕
  ======================================================== */

  .mobile-menu-btn {

    display: block;

    flex-shrink: 0;

  }

  /* =======================================================
     手機版 Menu
     預設隱藏
  ======================================================== */

  .top-nav {

    display: none;

    position: absolute;

    top: calc(100% + 14px);

    left: 20px;

    right: 20px;

    flex-direction: column;

    align-items: stretch;

    gap: 0;

    background: #111;

    border: 1px solid rgba(255, 255, 255, 0.12);

    z-index: 999;

  }

  /* =======================================================
     展開 Menu
  ======================================================== */

  .top-nav.active {

    display: flex;

  }

  /* =======================================================
     手機版 Menu Link
  ======================================================== */

  .top-nav a {

    width: 100%;

    padding: 16px 18px;

    border-top: 1px solid rgba(255, 255, 255, 0.08);

    font-size: 18px;

  }

  .top-nav a:first-child {

    border-top: none;

  }

  /* =======================================================
     手機版不要 Hover 底線
  ======================================================== */

  .top-nav a::after {

    display: none;

  }

}

/* =========================================================
   Small Mobile
========================================================= */

@media (max-width: 420px) {

  .header-inner {

    padding: 0 16px;

  }

  .logo-wrap img {

    height: 48px;

  }

  .logo-title {

    font-size: 20px;

  }

  .logo-sub {

    font-size: 12px;

  }

  .mobile-menu-btn {

    font-size: 28px;

  }

  .top-nav {

    left: 16px;

    right: 16px;

  }

}