@font-face {
  font-family: "TaipeiRegular";
  src: url("../fonts/TaipeiSansTCBeta-Regular.woff2") format("truetype");
}

@font-face {
  font-family: "TaipeiBold";
  src: url("../fonts/TaipeiSansTCBeta-Bold.woff2") format("truetype");
}

@font-face {
  font-family: "TaipeiLight";
  src: url("../fonts/TaipeiSansTCBeta-Light.woff2") format("truetype");
}

@font-face {
  font-family: "DINRegular";
  src: url("../fonts/DIN-Regular.otf") format("truetype");
}

body {
  color: #212529;
  font-family:
    "TaipeiRegular",
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Roboto,
    "Helvetica Neue",
    Arial,
    "Noto Sans",
    sans-serif;
}

.font-taipei {
  font-family:
    "TaipeiRegular",
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Roboto,
    "Helvetica Neue",
    Arial,
    "Noto Sans",
    sans-serif;
}

.font-din {
  font-family:
    "DINRegular",
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Roboto,
    "Helvetica Neue",
    Arial,
    "Noto Sans",
    sans-serif;
}

main {
  margin-top: 86px;
  margin-bottom: 26px;
}

#navbar-logo {
  border-top-right-radius: 5rem;
  border-bottom-right-radius: 5rem;
  max-height: 45px;
}

header nav {
  background-color: rgb(240, 240, 240);
  box-shadow: 0rem 0.3rem 0.3rem rgb(225, 225, 225); /* 更深的陰影 */
}

header .navbar-light .navbar-nav .nav-link {
  color: #595759;
  font-weight: bold;
}

header .navbar-light .navbar-nav .nav-link.active {
  color: #f6be00;
  border-color: transparent;
  font-weight: bold;
}

.nav-divider {
  width: 1px;
  height: 20px;
  background-color: #ccc;
  margin: 0 1rem;
  display: inline-block;
  align-self: center;
}

header .navbar-light .navbar-nav .nav-link.nav-home {
  border: 2px solid #f6be00;
  color: #f6be00;
  border-radius: 50%;
}
header .navbar-light .navbar-nav .nav-link.nav-home:hover {
  background-color: #f6be00;
  border: 2px solid #f6be00;
  color: #000;
  border-radius: 50%;
}

/* 讓內容區塊「向上」移動的關鍵 CSS */
/*.content-shift {
  transform: translateY(-15%);
}*/

/* 1. 定義背景和高度 */
.hero-section {
  /*background-image: url("../imgs/home.jpg");*/ /* 請確認圖片路徑是否正確 */
  position: relative;
  min-height: 90vh;

  /* === 關鍵調整：寬度滿版，垂直重複 === */
  background-size: 100% auto; /* 寬度 100%，高度自動按比例縮放 */
  background-repeat: repeat-y; /* 只在 Y 軸（垂直）重複 */
  background-position: center top; /* 從頂部中央開始平鋪 */
  /* ========================================= */

  /* 增加遮罩效果 */
  box-shadow: inset 0 0 0 1000px rgba(0, 0, 0, 0.1);
}

/* 2. 定義標題顏色和大小 */
.main-title {
  font-size: 3.5rem; /* 大字體 */
  color: #92b842; /* 圖片中的綠色文字 */
  font-weight: 700 !important;
  line-height: 1.2;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
}

/* 3. 定義卡片顏色 */
.bg-yellow {
  background-color: #ffe87c !important; /* 圖片中的亮黃色 */
  border: none;
  border-radius: 15px;
}

/* 讓按鈕在小螢幕時垂直堆疊 */
@media (max-width: 576px) {
  .content-shift {
    /* 使用 translateY 向上移動。百分比是相對於元素自身的高度。 */
    /* 這裡設定向上移動 15% 的元素高度 */
    transform: translateY(-5%);
  }
  /* 針對 d-flex flex-wrap gap-2 的父元素 */
  .card-body .d-flex,
  .card-body .d-flex.flex-wrap {
    /* 在極小的螢幕上強制垂直堆疊 */
    flex-direction: column;
  }

  /* 確保每個按鈕佔滿寬度 */
  .sub-button {
    width: 100%;
    margin-bottom: 5px; /* 增加垂直間距 */
  }
}

/* RWD 調整 */
@media (max-width: 768px) {
  .main-title {
    font-size: 2.5rem; /* 小螢幕字體縮小 */
  }

  .hero-section {
    padding-top: 50px;
    padding-bottom: 50px;

    /* 關鍵調整：在小螢幕時，將最小高度降低，讓內容更容易適應 */
    min-height: 710px;
  }
}

.bg-og {
  background-color: #f6be00;
}

.bg-g {
  background-color: rgb(38, 208, 124);
}

.bg-lg {
  background-color: rgb(212, 245, 229);
}

.bg-y50 {
  background-color: rgba(246, 190, 0, 0.2);
}

.text-og {
  color: rgb(245, 188, 0);
}

.text-g {
  color: rgb(38, 208, 124) !important;
}

.text-sub {
  color: #555555;
}

.border-og {
  border-color: rgb(245, 188, 0) !important;
}

.border-g {
  border-color: rgb(38, 208, 124) !important;
}

.sub-button {
  background-color: white;
  color: black;
  text-align: center;
  transition: all 0.3s ease;
  border-radius: 50rem;
}

.sub-button.sub-button-wh {
  height: 100%; /* ✅ 高度撐滿父容器 */
  min-height: 60px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.sub-button:hover,
.sub-button:active,
.sub-button:focus {
  background-color: #26d07c;
  color: white;
  border-color: #26d07c;
}

.search-button {
  font-weight: bold;
  background-color: white;
  border: 2px solid #26d07c;
  color: #26d07c;
  text-align: center;
  transition: all 0.3s ease;
  border-radius: 50rem;
}

.search-button:hover,
.search-button:active,
.search-button:focus {
  background-color: #26d07c;
  color: white;
  border-color: #26d07c;
}

.btn-og {
  background-color: white;
  color: #f67d00;
  text-align: center;
  transition: all 0.3s ease;
  border: 2px solid #f67d00;
  border-radius: 50rem;
  padding: 0.4rem;
  cursor: pointer;
}

.btn-og.active {
  background-color: #f67d00;
  color: white;
  border-color: #f67d00;
}

.btn-og:hover {
  background-color: #f67d00;
  color: white;
  border-color: #f67d00;
}

.fs-xxs {
  font-size: 0.5rem;
}

.line-og {
  height: 5px;
  width: 90%; /* 最終寬度 */
  background-color: rgb(245, 188, 0);
  margin: 0 auto;
  transform: scaleX(0.2); /* 初始縮小 */
  transform-origin: center; /* 從中間展開 */
  transition: transform 0.4s ease;
}

.card:hover .line-og {
  transform: scaleX(1); /* 滑入時恢復原大小 */
}

/* 移除 select 預設邊框 */
.form-select.custom-style {
  font-weight: bold;
  box-shadow: none;
  font-family: "TaipeiRegular";
}

/* 點擊 / 聚焦時加上黃框 */
.form-select.custom-style:focus {
  border: 2px solid rgb(246, 190, 0);
  box-shadow: none; /* 移除藍色 focus 陰影 */
}

.rounded-bottom-50 {
  border-radius: 0 0 1.5rem 1.5rem;
}

.card-hot,
.card-extract {
  transition: box-shadow 0.3s ease;
}

.card-hot:hover {
  box-shadow: 0.3rem 0.3rem 0.3rem rgba(38, 208, 124, 0.8); /* 更深的陰影 */
  transition: box-shadow 0.3s ease;
}

.card-extract:hover {
  box-shadow: 0.3rem 0.3rem 0.3rem rgba(245, 188, 0, 0.8); /* 更深的陰影 */
  transition: box-shadow 0.3s ease;
}

.card-description div {
  position: relative;
  display: inline-block;
  padding: 0.5rem 1rem;
  transition: all 0.3s ease;
}

/* 左半圓 */
.card-hot .card-description div::before,
.card-hot .card-description div::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 15px;
  height: 20px;
  background-color: rgb(38, 208, 124); /* 可自訂顏色 */
  border-radius: 50%;
  transform: translateY(-50%) scaleX(0);
  transition: transform 0.3s ease;
  z-index: 2;
}

/* 左半圓 */
.card-extract .card-description div::before,
.card-extract .card-description div::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 15px;
  height: 20px;
  background-color: rgb(245, 188, 0); /* 可自訂顏色 */
  border-radius: 50%;
  transform: translateY(-50%) scaleX(0);
  transition: transform 0.3s ease;
  z-index: 2;
}

/* 左側半圓 */
.card-hot .card-description div::before,
.card-extract .card-description div::before {
  left: -15px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

/* 右側半圓 */
.card-hot .card-description div::after,
.card-extract .card-description div::after {
  right: -15px;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

/* Hover 時展開半圓 */
.card-hot:hover .card-description div::before,
.card-hot:hover .card-description div::after,
.card-extract:hover .card-description div::before,
.card-extract:hover .card-description div::after {
  transform: translateY(-50%) scaleX(1);
}

/* 調整 pagination 整體樣式 */
.pagination-g .page-item {
  margin: 0 5px; /* 分頁間距 */
}

.pagination-g .page-link {
  border: 1px solid #000;
  border-radius: 50% !important; /* 圓形按鈕 */
  color: #000;
  background-color: #fff;
  width: 40px;
  height: 40px;
  line-height: 38px;
  text-align: center;
  padding: 0;
  transition: all 0.3s ease;
}

/* hover 效果（可選） */
.pagination-g .page-link:hover {
  background-color: #f0f0f0;
  color: #000;
}

/* active 狀態 */
.pagination-g .page-item.active .page-link {
  background-color: rgb(38, 208, 124);
  border-color: rgb(38, 208, 124);
  color: #fff;
}

.card-article {
  border: 2px solid transparent;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
}

.card-article:hover {
  box-shadow: 0 0 10px rgba(245, 188, 0, 0.5);
}

.arrow-tag {
  color: rgb(245, 188, 0);
  border: 2px solid rgb(245, 188, 0);
  border-left: 0;
  position: relative;
  min-width: 80px;
  width: 80px;
  height: 32px;
  padding: 2px;
  text-align: center;
}

.arrow-tag:before {
  border-color: transparent rgb(245, 188, 0) transparent transparent;
  border-style: solid;
  border-width: 16px;
  left: -32px;
  top: -2px;
  content: "";
  position: absolute;
  height: 32px;
  width: 0px;
  z-index: 2;
}

.arrow-tag:after {
  border-color: transparent #fff transparent transparent;
  border-style: solid;
  border-width: 14px;
  left: -27px;
  top: 0px;
  content: "";
  position: absolute;
  height: 0px;
  width: 0px;
  z-index: 3;
}

.extract-article-data:hover {
  background-color: #fef5d9;
}

.extract-article-data:hover .arrow-tag {
  background-color: #f6be00;
  color: #fff;
}

.extract-article-data:hover .arrow-tag:after {
  border-color: transparent rgb(245, 188, 0) transparent transparent;
}

#uploadForm input.form-control,
#uploadForm select.form-select,
#mForm input.form-control,
#mForm select.form-select {
  background-color: #fcecb3;
}

#uploadForm input.form-control:focus,
#uploadForm select.form-select:focus,
#mForm input.form-control:focus,
#mForm select.form-select:focus {
  background-color: #fff;
}

.tox .tox-statusbar {
  background-color: #fcecb3 !important;
}

.tox-tinymce {
  border: 2px solid #f6be00 !important;
}

#uploadForm button.btn-outline-og {
  background-color: transparent;
  color: #26d07c;
  border: 2px solid #26d07c;
  font-weight: bold;
  border-radius: 2rem;
}

#uploadForm button.btn-outline-og:hover {
  background-color: #f67d00;
  color: #fcecb3;
  border: 2px solid #f67d00;
  font-weight: bold;
  border-radius: 2rem;
}

#selectFilesBtn {
  background-color: transparent;
  color: #f6be00;
  border: 2px solid #f6be00;
  border-radius: 0 2rem 2rem 0;
  font-weight: bold;
}

#uploadForm label,
#mForm label {
  font-weight: bold;
  color: #000;
}

#uploadForm .form-check-input:checked {
  background-color: #f67d00;
}

.m-article-link {
  color: #000;
  font-weight: bold;
  text-decoration: none;
}

.m-article-link:hover {
  color: #f6be03;
  text-decoration: underline;
}

#m-nav {
  height: 50px;
  margin-bottom: 30px;
  position: relative;
}

#m-nav .nav-link {
  background-color: #fff;
  color: #000;
  border: 1px solid #f6be00; /* 淡灰色邊框 */
  margin-right: 0.5rem;
  border-radius: 0 5rem 5rem 0;
  padding-left: 25px;
  padding-right: 30px;
}

#m-nav .nav-link i {
  background-color: #f6be00;
  color: #fff;
  border-radius: 5rem;
  width: 30px;
  padding: 15px 0;
  margin-right: 0.75rem;
}

#m-nav .nav-link.active {
  background-color: #f6be00 !important;
  color: #fff !important;
}

#m-nav .nav-link.active i {
  background-color: #fff !important;
  color: #f6be00 !important;
}

#m-nav .nav-item:first-of-type {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3;
}
#m-nav .nav-item:nth-of-type(2) {
  position: absolute;
  top: 0;
  left: 145px;
  z-index: 2;
}
#m-nav .nav-item:last-of-type {
  position: absolute;
  top: 0;
  left: 290px;
  z-index: 1;
}

.floating-btn {
  position: fixed;
  top: 125px;
  right: 10%;
  transform: translateY(-50%);
  z-index: 1050;
  border-radius: 0 0 40px 40px;
  background-color: #92b842;
  color: white;
  padding: 0.75rem 1.2rem;
  font-weight: bold;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  transition: all 0.3s ease;
  text-decoration: none;
  font-size: 1.2rem;
  display: flex;
  flex-direction: column; /* 圖案在上 */
  align-items: center;
  gap: 0.25rem;
  text-align: center;
}

.floating-btn .floating-btn-icon {
  width: 40px;
  height: 40px;
  border-radius: 5rem;
  background-color: #f6be00;
  border: 2px solid #f7f8f8;
  display: flex;
  align-items: center;
  justify-content: center;
  transition:
    background-color 0.3s ease,
    border 0.3s ease;
}

.floating-btn .floating-btn-icon i {
  color: white;
  font-size: 1rem;
  transition:
    color 0.3s ease,
    transform 0.3s ease;
}

.floating-btn:hover {
  background-color: #f6be00;
  color: #000;
  text-decoration: none;
}

.floating-btn:hover .floating-btn-icon {
  background-color: #f7f8f8;
  border: 2px solid #f7f8f8;
}

.floating-btn:hover .floating-btn-icon i {
  color: #26d07c;
  transform: rotate(45deg);
}

/* 手機時縮小按鈕 */
@media (max-width: 576px) {
  .floating-btn {
    font-size: 1rem;
    padding: 0.75rem 1rem;
  }
}

.favorite-btn {
  color: #f6be00;
  border: 2px solid #f6be00;
  border-radius: 5rem;
  padding: 3px;
  cursor: pointer;
  width: 40px;
  height: 40px;
  text-align: center;
}

.favorite-btn:hover {
  color: #fff;
  background-color: #f6be00;
  border: 2px solid #f6be00;
}

.favorite-btn.active {
  color: #fff;
  background-color: #f6be00;
  border: 2px solid #f6be00;
}

.cust-breadcrumb li a,
.cust-breadcrumb li,
.cust-breadcrumb li.active {
  color: #000;
  font-family: "TaipeiRegular";
  text-decoration: none;
}
