/* ========================================
   導航列響應式修復
   Navbar Responsive Fix
   
   解決 1280x800 等中等解析度下的導航跑版問題
   ======================================== */

/* ===== 1280x800 解析度特殊處理 ===== */
@media (min-width: 992px) and (max-width: 1399px) {
  
  /* 縮小導航連結間距 */
  .navbar-expand-lg .navbar-nav .nav-link {
    margin-right: 12px !important;
    margin-left: 12px !important;
    font-size: 0.9rem !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
  
  /* 縮小品牌 Logo */
  .navbar-brand img {
    height: 45px !important;
    margin-right: -25px !important;
  }
  
  .navbar-brand {
    font-size: 1.6rem !important;
    margin-right: 15px !important;
  }
  
  /* 調整容器間距 */
  .navbar .container {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
}

/* ===== 1200-1366px 常見解析度優化 ===== */
@media (min-width: 1200px) and (max-width: 1366px) {
  
  .navbar-expand-lg .navbar-nav .nav-link {
    margin-right: 15px !important;
    margin-left: 15px !important;
    font-size: 0.95rem !important;
  }
  
  .navbar-brand img {
    height: 50px !important;
  }
  
  .navbar-brand {
    font-size: 1.7rem !important;
  }
}

/* ===== 1024-1199px 平板橫向和小桌機 ===== */
@media (min-width: 1024px) and (max-width: 1199px) {
  
  .navbar-expand-lg .navbar-nav .nav-link {
    margin-right: 10px !important;
    margin-left: 10px !important;
    font-size: 0.85rem !important;
    padding-left: 6px !important;
    padding-right: 6px !important;
  }
  
  .navbar-brand img {
    height: 40px !important;
    margin-right: -20px !important;
  }
  
  .navbar-brand {
    font-size: 1.5rem !important;
    margin-right: 10px !important;
  }
  
  /* 調整導航容器 */
  .navbar .container {
    max-width: 100% !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
}

/* ===== 992-1023px Bootstrap lg 斷點邊緣 ===== */
@media (min-width: 992px) and (max-width: 1023px) {
  
  .navbar-expand-lg .navbar-nav .nav-link {
    margin-right: 8px !important;
    margin-left: 8px !important;
    font-size: 0.8rem !important;
    padding-left: 4px !important;
    padding-right: 4px !important;
  }
  
  .navbar-brand img {
    height: 35px !important;
    margin-right: -15px !important;
  }
  
  .navbar-brand {
    font-size: 1.4rem !important;
    margin-right: 8px !important;
  }
  
  /* 容器最大寬度限制 */
  .navbar .container {
    max-width: 100% !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
}

/* ===== 超寬螢幕優化 (1920px+) ===== */
@media (min-width: 1920px) {
  
  .navbar-expand-lg .navbar-nav .nav-link {
    margin-right: 25px !important;
    margin-left: 25px !important;
    font-size: 1.1rem !important;
  }
  
  .navbar-brand img {
    height: 65px !important;
  }
  
  .navbar-brand {
    font-size: 2rem !important;
  }
}

/* ===== 通用導航優化 ===== */
@media (min-width: 992px) {
  
  /* 確保導航不會換行 */
  .navbar-nav {
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
  }
  
  /* 導航連結文字省略 */
  .navbar-nav .nav-link {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    max-width: 150px !important;
    transition: all 0.3s ease !important;
  }
  
  /* 懸停時顯示完整文字 */
  .navbar-nav .nav-link:hover {
    max-width: 200px !important;
    background-color: rgba(212, 165, 116, 0.1) !important;
    border-radius: 4px !important;
  }
  
  /* 品牌文字優化 */
  .navbar-brand span {
    display: inline-block !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
}

/* ===== 導航列黏性狀態優化 ===== */
.is-sticky .navbar {
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1) !important;
}

@media (min-width: 992px) and (max-width: 1399px) {
  .is-sticky .navbar-brand img {
    height: 40px !important;
  }
  
  .is-sticky .navbar-brand {
    font-size: 1.5rem !important;
  }
  
  .is-sticky .navbar-expand-lg .navbar-nav .nav-link {
    font-size: 0.85rem !important;
    margin-right: 10px !important;
    margin-left: 10px !important;
  }
}

/* ===== 高 DPI 螢幕優化 ===== */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  .navbar-brand img {
    image-rendering: -webkit-optimize-contrast !important;
    image-rendering: crisp-edges !important;
  }
}

/* ===== 除錯輔助 (開發時使用) ===== */
/* 
.navbar {
  border: 2px solid red !important;
}

.navbar-nav {
  border: 1px solid blue !important;
}

.nav-link {
  border: 1px solid green !important;
}
*/

/* ===== 可訪問性增強 ===== */
@media (min-width: 992px) {
  
  /* 焦點指示器 */
  .navbar-nav .nav-link:focus {
    outline: 2px solid var(--primary-500) !important;
    outline-offset: 2px !important;
    background-color: rgba(212, 165, 116, 0.1) !important;
    border-radius: 4px !important;
  }
  
  /* 活動狀態增強 */
  .navbar-nav .nav-link.active {
    position: relative !important;
  }
  
  .navbar-nav .nav-link.active::after {
    content: '' !important;
    position: absolute !important;
    bottom: -5px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 80% !important;
    height: 2px !important;
    background-color: var(--primary-500) !important;
    border-radius: 1px !important;
  }
}

/* ===== 動畫偏好設定支援 ===== */
@media (prefers-reduced-motion: reduce) {
  .navbar-nav .nav-link,
  .navbar-brand img {
    transition: none !important;
  }
}

/* ===== 高對比度模式支援 ===== */
@media (prefers-contrast: high) {
  .navbar-nav .nav-link:hover,
  .navbar-nav .nav-link:focus {
    background-color: rgba(0, 0, 0, 0.1) !important;
    border: 1px solid currentColor !important;
  }
}
