/* ==========================================================
   專題頁：牙齒正畸中心（zt_zj）
   規範：所有樣式類名以 zt_zj_ 開頭
   ========================================================== */
.zt_zj {
  --zt_zj_green: #548a5b;        /* 主綠色：選項卡 / 姓名條 / 下劃線 / 強調 */
  --zt_zj_gray: #e6e6e6;         /* 未選中選項卡底色 */
  --zt_zj_text: #333;            /* 正文顏色 */
  --zt_zj_title: #222;           /* 標題顏色 */
  background: #f5f5f5;
  color: var(--zt_zj_text);
  overflow: hidden; /* 裁切醫生輪播出血部分，避免窄屏出現橫向滾動條 */
}

/* 內容包裹層：整體背景色 */
.zt_zj_wrap {
  width: 100%;
  background: #f2f2f2;
  padding-bottom: 60px;
}

/* ==================== 中心簡介 ==================== */
.zt_zj_intro {
  max-width: 1200px;
  margin: 0 auto;
  padding: 78px 20px 54px;
  text-align: center;
}

/* PC端不需要左右邊距 */
@media (min-width: 901px) {
  .zt_zj_intro {
    padding-left: 0;
    padding-right: 0;
  }
}

.zt_zj_intro_title {
  margin: 0;
  font-size: 40px;
  font-weight: 700;
  color: var(--zt_zj_title);
  letter-spacing: 3px;
  line-height: 1.3;
}

.zt_zj_intro_line {
  display: block;
  width: 64px;
  height: 4px;
  margin: 24px auto 0;
  background: var(--zt_zj_green);
}

.zt_zj_intro_text {
  margin: 36px auto 0;
  text-align: left;
}

.zt_zj_intro_text p {
  margin: 0;
  font-size: 26px;
  line-height: 2.1;
  color: var(--zt_zj_text);
}

.zt_zj_intro_more {
  color: var(--zt_zj_green);
  font-weight: 700;
  text-decoration: none;
}

.zt_zj_intro_more:hover {
  text-decoration: underline;
}

/* ==================== 選項卡 ==================== */
.zt_zj_tabs {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

/* PC端不需要左側 padding */
@media (min-width: 901px) {
  .zt_zj_tabs {
    padding-left: 0;
  }
}

.zt_zj_tabs_nav {
  display: flex;
  gap: 2px;
}

.zt_zj_tab {
  flex: 1;
  height: 80px;
  border: none;
  background: var(--zt_zj_gray);
  color: var(--zt_zj_text);
  font-size: 32px;
  letter-spacing: 2px;
  cursor: pointer;
  transition: background-color .25s, color .25s;
}

.zt_zj_tab:hover {
  color: var(--zt_zj_green);
}

.zt_zj_tab.is-active {
  background: var(--zt_zj_green);
  color: #fff;
  font-weight: 700;
}

/* ==================== 面板 ==================== */
.zt_zj_panel {
  background: #fff;
  padding: 44px 40px 50px;
}

/* ---- 面板1：榮譽資質 ---- */
.zt_zj_honor {
  display: flex;
  align-items: center;
  gap: 50px;
}

.zt_zj_honor_pic {
  flex: 0 0 45%;
  width: 45%;
  height: auto;
  border-radius: 0;
}

.zt_zj_honor_list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.zt_zj_honor_list li {
  position: relative;
  padding-left: 26px;
  font-size: 20px;
  line-height: 1.6;
  color: var(--zt_zj_text);
}

.zt_zj_honor_list li + li {
  margin-top: 30px;
}

.zt_zj_honor_list li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: .6em;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--zt_zj_green);
}

/* ---- 面板4：熱點問題 ---- */
.zt_zj_hot {
  display: flex;
  align-items: center;
  gap: 50px;
}

.zt_zj_hot_pic {
  flex: 0 0 40%;
  width: 40%;
  height: auto;
  border-radius: 0;
}

.zt_zj_hot_list {
  flex: 1;
  margin: 0;
  padding: 0;
  list-style: none;
}

.zt_zj_hot_list li {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 56px;
  background: #e8ede9;
  color: #222;
  font-size: 20px;
  font-weight: 700;
}

.zt_zj_hot_list li a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: inherit;
  text-decoration: none;
}

.zt_zj_hot_list li + li {
  margin-top: 20px;
}

/* ---- 面板3：箍牙牙醫（Swiper 滾動） ---- */
.zt_zj_doctor_link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.zt_zj_doctor {
  width: 100%; /* PC端卡片撐滿輪播欄寬（一屏5個，欄寬約216） */
  text-align: center;
}

.zt_zj_doctor_pic {
  display: block;
  width: 100%;  /* PC端圖片寬度100%，高度310 */
  height: 310px;
  object-fit: cover;
  object-position: top center;
  border-radius: 0; /* 覆蓋全局樣式，頭像不需要圓角 */
}

.zt_zj_doctor_name {
  margin: 0;
  padding: 9px 0;
  background: var(--zt_zj_green);
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 1px;
}

.zt_zj_doctor_desc {
  margin: 13px 0 0;
  font-size: 16px;
  line-height: 1.65;
  color: var(--zt_zj_text);
}

.zt_zj_doctor_sort {
  display: block;
  font-size: 16px;
  line-height: 1.65;
  color: var(--zt_zj_text);
}

/* ---- 面板2：正畸檢查 ---- */
.zt_zj_check {
  display: flex;
  align-items: center;
  gap: 50px;
}

.zt_zj_check_pic {
  flex: 0 0 40%;
  width: 40%;
  height: auto;
  border-radius: 0;
}

.zt_zj_check_text {
  margin: 0;
  font-size: 28px;
  line-height: 1.95;
  color: #000000;
}

.zt_zj_check_btn {
  display: inline-block;
  margin-top: 30px;
  padding: 13px 36px;
  background: linear-gradient(135deg, #ffa02e 0%, #f5760a 100%);
  border-radius: 999px;
  color: #fff;
  font-size: 19px;
  font-weight: 700;
  letter-spacing: 1px;
  text-decoration: none;
  transition: opacity .25s;
}

/* PC端面板高度統一 612（以榮譽資質面板為準，避免切換時頁面跳動）
   注意：必須放在各面板基礎樣式之後，否則同權重下會被基礎樣式覆蓋 */
@media (min-width: 901px) {
  /* .zt_zj_panel {
    min-height: 612px;
  } */

  /* 檢查圖為豎圖，限高確保面板內容不超過612 */
  .zt_zj_check_pic {
    flex: 0 0 auto;
    width: auto;
    height: 518px;
  }

  /* 熱點問題圖撐滿面板內容高度（612-44-50=518） */
  .zt_zj_hot {
    gap: 40px;
  }

  .zt_zj_hot_pic {
    flex: 0 0 auto;
    width: 55%;
    height: 518px;
    object-fit: cover;
  }
}

/* ==================== 響應式 ==================== */
@media (max-width: 900px) {
  .zt_zj_intro {
    padding: 50px 16px 36px;
  }

  .zt_zj_intro_title {
    font-size: 30px;
  }

  .zt_zj_intro_text p {
    font-size: 17px;
  }

  .zt_zj_tab {
    height: 50px;
    font-size: 17px;
  }

  .zt_zj_panel {
    padding: 30px 24px 36px;
  }

  .zt_zj_doctor {
    width: auto;
  }

  .zt_zj_doctor_pic {
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 5;
  }

  .zt_zj_check {
    flex-direction: column;
    gap: 26px;
  }

  .zt_zj_check_pic {
    flex: none;
    width: 70%;
    max-width: 360px;
  }

  .zt_zj_check_text {
    font-size: 17px;
  }

  .zt_zj_check_btn {
    margin-top: 20px;
    padding: 11px 30px;
    font-size: 16px;
  }

  .zt_zj_honor {
    flex-direction: column;
    gap: 26px;
  }

  .zt_zj_honor_pic {
    flex: none;
    width: 80%;
    max-width: 420px;
  }

  .zt_zj_honor_list li {
    font-size: 16px;
  }

  .zt_zj_honor_list li + li {
    margin-top: 16px;
  }

  .zt_zj_hot {
    flex-direction: column;
    gap: 26px;
  }

  .zt_zj_hot_pic {
    flex: none;
    width: 70%;
    max-width: 360px;
  }

  .zt_zj_hot_list {
    width: 100%;
  }

  .zt_zj_hot_list li {
    height: 48px;
    font-size: 17px;
  }

  .zt_zj_hot_list li + li {
    margin-top: 12px;
  }

  .zt_zj_jishu {
    padding: 48px 14px 56px;
  }

  .zt_zj_jishu_title {
    font-size: 30px;
  }

  .zt_zj_jishu_list {
    margin-top: 30px;
  }

  /* 提權寫法：此塊位於基礎樣式之前，單類選擇器的 gap 會被後面的基礎樣式覆蓋 */
  .zt_zj_jishu_list .zt_zj_jishu_card {
    flex-direction: column;
    align-items: center;
    gap: 0;
    padding: 30px 20px;
  }

  /* 用後代選擇器提權：此塊位於基礎樣式之前，同權重會被後面的基礎樣式覆蓋 */
  .zt_zj_jishu_card .zt_zj_jishu_pic {
    flex: none;
    width: 100%;
    height: 240px;
    min-height: 0;
    margin-bottom: 20px;
  }

  .zt_zj_jishu_body {
    width: 100%;
  }

  .zt_zj_jishu_item_title {
    font-size: 21px;
  }
}

@media (max-width: 600px) {
  .zt_zj_intro_title {
    font-size: 25px;
    letter-spacing: 2px;
  }

  .zt_zj_intro_text p {
    font-size: 16px;
    line-height: 1.9;
  }

  .zt_zj_check_text {
    font-size: 16px;
    line-height: 1.9;
  }

  .zt_zj_tabs {
    padding: 0 12px;
  }

  .zt_zj_tabs_nav {
    flex-wrap: wrap;
  }

  .zt_zj_tab {
    flex: 1 1 46%;
    height: 44px;
    font-size: 15px;
    letter-spacing: 1px;
  }

  .zt_zj_panel {
    padding: 24px 14px 30px;
  }

  .zt_zj_doctor_name {
    font-size: 15px;
  }

  .zt_zj_doctor_desc,
  .zt_zj_doctor_sort {
    font-size: 13px;
  }
}

/* ==================== 5大主流箍牙技術 ==================== */
.zt_zj_jishu {
  width: 100%;
  background: #fff;
  padding: 64px 20px 74px;
}

.zt_zj_jishu_title {
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
  font-size: 40px;
  font-weight: 700;
  letter-spacing: 3px;
  line-height: 1.3;
  color: var(--zt_zj_title);
}

.zt_zj_jishu_line {
  display: block;
  width: 64px;
  height: 4px;
  margin: 24px auto 0;
  background: var(--zt_zj_green);
}

.zt_zj_jishu_list {
  max-width: 1200px;
  margin: 36px auto 0;
}

.zt_zj_jishu_card {
  position: relative;
  display: flex;
  align-items: center;
  gap: 44px;
  padding: 30px;
  background: #f7f7f7;
  /* border: 1px solid #ececec; */
  /* border-radius: 0; */
  /* box-shadow: 0 4px 18px rgba(0, 0, 0, .06); */
}

.zt_zj_jishu_card + .zt_zj_jishu_card {
  margin-top: 30px;
}

/* 角標：HOT! / 推薦 */
.zt_zj_jishu_badge {
  position: absolute;
  top: 0;
  right: 0;
}

.zt_zj_jishu_badge img {
  display: block;
  height: 32px;
  width: auto;
}

.zt_zj_jishu_pic {
  flex: 0 0 26%;
  width: 26%;
  align-self: stretch;
  min-height: 230px;
  height: auto;
  object-fit: cover;
  /* border-radius: 8px; */
}

.zt_zj_jishu_body {
  flex: 1;
  min-width: 0;
}

.zt_zj_jishu_item + .zt_zj_jishu_item {
  margin-top: 26px;
  padding-top: 26px;
  border-top: 1px dashed #e3e3e3;
}

.zt_zj_jishu_item_title {
  margin: 0;
  font-size: 28px;
  font-weight: 700;
  color: var(--zt_zj_green);
}

.zt_zj_jishu_item_desc {
  margin: 12px 0 0;
  font-size: 19px;
  line-height: 1.9;
  color: #555;
}

.zt_zj_jishu_more {
  color: var(--zt_zj_green);
  font-weight: 700;
  text-decoration: none;
}

.zt_zj_jishu_more:hover {
  text-decoration: underline;
}

.zt_zj_jishu_btn {
  display: inline-block;
  margin-top: 18px;
  padding: 12px 46px;
  background: linear-gradient(90deg, #ffa02e, #f5760a);
  border-radius: 999px;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 2px;
  text-decoration: none;
  box-shadow: 0 4px 10px rgba(245, 118, 10, .3);
}

.zt_zj_jishu_btn::before {
  content: "» ";
  font-weight: 900;
}

/* ---- 5大主流箍牙技術：移動端 ---- */
@media (max-width: 600px) {
  .zt_zj_jishu {
    padding: 40px 12px 50px;
  }

  .zt_zj_jishu_title {
    font-size: 25px;
    letter-spacing: 2px;
  }

  .zt_zj_jishu_line {
    margin-top: 18px;
  }

  .zt_zj_jishu_list {
    margin-top: 26px;
  }

  .zt_zj_jishu_card {
    flex-direction: column;
    align-items: center;
    gap: 0;
    padding: 24px 16px 28px;
  }

  .zt_zj_jishu_card .zt_zj_jishu_pic {
    flex: none;
    width: 100%;
    height: 180px;
    min-height: 0;
    margin-bottom: 16px;
  }

  .zt_zj_jishu_body {
    width: 100%;
  }

  .zt_zj_jishu_item_title {
    font-size: 21px;
  }

  .zt_zj_jishu_item_desc {
    font-size: 16px;
  }
}

/* ==================== 獨家案例 ==================== */
.zt_zj_djal {
  background: #f2f2f2;
  padding: 64px 20px 74px;
}

.zt_zj_djal_title {
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
  font-size: 40px;
  font-weight: 700;
  letter-spacing: 3px;
  line-height: 1.3;
  color: var(--zt_zj_title);
}

.zt_zj_djal_line {
  display: block;
  width: 64px;
  height: 4px;
  margin: 24px auto 0;
  background: var(--zt_zj_green);
}

.zt_zj_djal_list {
  max-width: 1200px;
  margin: 36px auto 0;
}

.zt_zj_djal_swiper {
  padding-bottom: 0; /* 分頁圓點已移除，不再預留底部空間 */
}

/* 覆蓋 Swiper 默認的 height:100%，配合 autoHeight 讓每個案例卡片高度由自身內容決定 */
.zt_zj_djal_swiper .swiper-slide {
  height: auto;
}

.zt_zj_djal_card {
  display: flex;
  align-items: center;
  gap: 44px;
  padding: 32px 40px;
  background: #ffffff;
  border: 1px solid #ececec;
  border-radius: 10px;
  box-shadow: 0 4px 18px rgba(0, 0, 0, .06);
}

.zt_zj_djal_pic {
  flex: 0 0 46%;
  width: 46%;
  height: auto;
  border-radius: 8px;
}

.zt_zj_djal_body {
  flex: 1;
  min-width: 0;
  font-size: 18px;
  line-height: 1.9;
  color: #333;
}

.zt_zj_djal_body p {
  margin: 0;
}

.zt_zj_djal_body p + p {
  margin-top: 16px;
}

.zt_zj_djal_meta {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 4px 20px;
}

.zt_zj_djal_label {
  color: var(--zt_zj_green);
  font-weight: 700;
}

/* ---- 獨家案例：移動端 ---- */
@media (max-width: 900px) {
  .zt_zj_djal {
    padding: 48px 14px 56px;
  }

  .zt_zj_djal_title {
    font-size: 30px;
  }

  .zt_zj_djal_list {
    margin-top: 30px;
  }

  .zt_zj_djal_card {
    flex-direction: column;
    align-items: stretch;
    gap: 24px;
    padding: 24px 18px 28px;
  }

  .zt_zj_djal_pic {
    flex: none;
    width: 100%;
  }

  .zt_zj_djal_body {
    font-size: 16px;
  }
}

@media (max-width: 600px) {
  .zt_zj_djal {
    padding: 40px 12px 50px;
  }

  .zt_zj_djal_title {
    font-size: 25px;
    letter-spacing: 2px;
  }

  .zt_zj_djal_line {
    margin-top: 18px;
  }

  .zt_zj_djal_list {
    margin-top: 26px;
  }

  .zt_zj_djal_body p + p {
    margin-top: 12px;
  }
}

/* ==================== 箍牙適應症 ==================== */
.zt_zj_syz {
  background: #fff;
  padding: 64px 20px 74px;
}

.zt_zj_syz_title {
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
  font-size: 40px;
  font-weight: 700;
  letter-spacing: 3px;
  line-height: 1.3;
  color: var(--zt_zj_title);
}

.zt_zj_syz_line {
  display: block;
  width: 64px;
  height: 4px;
  margin: 24px auto 0;
  background: var(--zt_zj_green);
}

.zt_zj_syz_text {
  max-width: 1200px;
  margin: 34px auto 0;
  font-size: 20px;
  line-height: 1.9;
  color: #333;
}

.zt_zj_syz_list {
  max-width: 1200px;
  margin: 40px auto 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px 40px;
}

.zt_zj_syz_list li {
  height: 88px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--zt_zj_green);
  border-radius: 8px;
  color: #fff;
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 2px;
  text-align: center;
  white-space: nowrap;
}

.zt_zj_syz_list li a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: #fff;
  text-decoration: none;
}

.zt_zj_syz_btn {
  display: block;
  width: max-content;
  margin: 48px auto 0;
  padding: 15px 62px;
  background: linear-gradient(90deg, #ffa02e, #f5760a);
  border-radius: 999px;
  color: #fff;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 2px;
  text-decoration: none;
  box-shadow: 0 4px 10px rgba(245, 118, 10, .3);
}

/* ---- 箍牙適應症：移動端 ---- */
@media (max-width: 900px) {
  .zt_zj_syz {
    padding: 48px 14px 56px;
  }

  .zt_zj_syz_title {
    font-size: 30px;
  }

  .zt_zj_syz_text {
    margin-top: 26px;
    font-size: 16px;
  }

  .zt_zj_syz_list {
    margin-top: 28px;
    gap: 16px 20px;
  }

  .zt_zj_syz_list li {
    height: 64px;
    font-size: 18px;
    white-space: nowrap;
  }

  .zt_zj_syz_btn {
    margin-top: 32px;
    padding: 12px 48px;
    font-size: 19px;
  }
}

@media (max-width: 600px) {
  .zt_zj_syz {
    padding: 40px 12px 50px;
  }

  .zt_zj_syz_title {
    font-size: 25px;
    letter-spacing: 2px;
  }

  .zt_zj_syz_line {
    margin-top: 18px;
  }

  .zt_zj_syz_list {
    gap: 12px 14px;
  }

  .zt_zj_syz_list li {
    height: 56px;
    font-size: 14px;
    letter-spacing: 0;
    white-space: nowrap;
  }
}

/* ==================== 分齡矯治 ==================== */
.zt_zj_fljz {
  background: #f7f7f7;
  padding: 64px 20px 74px;
}

.zt_zj_fljz_title {
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
  font-size: 40px;
  font-weight: 700;
  letter-spacing: 3px;
  line-height: 1.3;
  color: var(--zt_zj_title);
}

.zt_zj_fljz_line {
  display: block;
  width: 64px;
  height: 4px;
  margin: 24px auto 0;
  background: var(--zt_zj_green);
}

.zt_zj_fljz_list {
  max-width: 1200px;
  margin: 36px auto 0;
}

.zt_zj_fljz_card {
  display: flex;
  align-items: center;
  gap: 60px;
  padding: 44px 56px;
  background: #fff;
  box-shadow: 0 4px 18px rgba(0, 0, 0, .05);
}

.zt_zj_fljz_card + .zt_zj_fljz_card {
  position: relative;
  margin-top: 62px;
}

/* 卡片之間的虛線分隔 */
.zt_zj_fljz_card + .zt_zj_fljz_card::before {
  content: "";
  position: absolute;
  top: -31px;
  left: 0;
  right: 0;
  border-top: 2px dashed #d9d9d9;
}

/* 圖在左的變體 */
.zt_zj_fljz_card_rev {
  flex-direction: row-reverse;
}

.zt_zj_fljz_body {
  flex: 1;
  min-width: 0;
}

.zt_zj_fljz_name {
  margin: 0;
  font-size: 30px;
  font-weight: 700;
  letter-spacing: 1px;
  color: var(--zt_zj_green);
}

.zt_zj_fljz_desc {
  margin: 18px 0 0;
  font-size: 19px;
  line-height: 1.9;
  color: #333;
}

.zt_zj_fljz_btn {
  display: inline-block;
  margin-top: 26px;
  padding: 13px 46px;
  background: linear-gradient(90deg, #ffa02e, #f5760a);
  border-radius: 999px;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 2px;
  text-decoration: none;
  box-shadow: 0 4px 10px rgba(245, 118, 10, .3);
}

.zt_zj_fljz_btn::before {
  content: "» ";
  font-weight: 900;
}

.zt_zj_fljz_pic {
  flex: 0 0 260px;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  object-fit: cover;
}

/* ---- 分齡矯治：移動端 ---- */
@media (max-width: 900px) {
  .zt_zj_fljz {
    padding: 48px 14px 56px;
  }

  .zt_zj_fljz_title {
    font-size: 30px;
  }

  .zt_zj_fljz_list {
    margin-top: 30px;
  }

  .zt_zj_fljz_card {
    gap: 36px;
    padding: 32px 36px;
  }

  .zt_zj_fljz_card + .zt_zj_fljz_card {
    margin-top: 48px;
  }

  .zt_zj_fljz_card + .zt_zj_fljz_card::before {
    top: -25px;
  }

  .zt_zj_fljz_name {
    font-size: 24px;
  }

  .zt_zj_fljz_desc {
    font-size: 16px;
  }

  .zt_zj_fljz_btn {
    padding: 11px 38px;
    font-size: 18px;
  }

  .zt_zj_fljz_pic {
    flex: 0 0 200px;
    width: 200px;
    height: 200px;
  }
}

@media (max-width: 600px) {
  .zt_zj_fljz {
    padding: 40px 12px 50px;
  }

  .zt_zj_fljz_title {
    font-size: 25px;
    letter-spacing: 2px;
  }

  .zt_zj_fljz_line {
    margin-top: 18px;
  }

  .zt_zj_fljz_list {
    margin-top: 26px;
  }

  .zt_zj_fljz_card,
  .zt_zj_fljz_card_rev {
    flex-direction: column;
    align-items: flex-start;
    gap: 22px;
    padding: 26px 18px 30px;
  }

  .zt_zj_fljz_card + .zt_zj_fljz_card {
    margin-top: 40px;
  }

  .zt_zj_fljz_pic {
    order: -1;
    flex: none;
    width: 180px;
    height: 180px;
    align-self: center;
  }
}

/* ==================== 正畸醫師團 ==================== */
.zt_zj_doctors {
  background: #ffffff;
  padding: 64px 20px 74px;
  text-align: center;
}

.zt_zj_doctors_title {
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
  font-size: 40px;
  font-weight: 700;
  letter-spacing: 3px;
  line-height: 1.3;
  color: var(--zt_zj_title);
}

.zt_zj_doctors_line {
  display: block;
  width: 64px;
  height: 4px;
  margin: 24px auto 0;
  background: var(--zt_zj_green);
}

.zt_zj_doctors_sub {
  max-width: 1200px;
  margin: 22px auto 0;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 2px;
  color: #555;
}

.zt_zj_doctors_pic {
  display: block;
  width: 100%;
  max-width: 1200px;
  margin: 30px auto 0;
  height: auto;
}

.zt_zj_doctors_text {
  max-width: 1200px;
  margin: 0 auto;
  padding: 30px 24px;
  background: #f2f2f2;
  font-size: 26px;
  line-height: 2;
  color: #222;
  text-align: left;
}

.zt_zj_doctors_btn {
  display: block;
  width: max-content;
  margin: 44px auto 0;
  padding: 17px 64px;
  background: linear-gradient(90deg, #ffa02e, #f5760a);
  border-radius: 999px;
  color: #fff;
  font-size: 26px;
  font-weight: 700;
  letter-spacing: 3px;
  text-decoration: none;
  box-shadow: 0 4px 12px rgba(245, 118, 10, .3);
}

/* ---- 正畸醫師團：移動端 ---- */
@media (max-width: 900px) {
  .zt_zj_doctors {
    padding: 48px 14px 56px;
  }

  .zt_zj_doctors_title {
    font-size: 30px;
  }

  .zt_zj_doctors_sub {
    margin-top: 18px;
    font-size: 17px;
  }

  .zt_zj_doctors_pic {
    margin-top: 22px;
  }

  .zt_zj_doctors_text {
    font-size: 16px;
  }

  .zt_zj_doctors_btn {
    margin-top: 32px;
    padding: 13px 46px;
    font-size: 19px;
    letter-spacing: 2px;
  }
}

@media (max-width: 600px) {
  .zt_zj_doctors {
    padding: 40px 12px 50px;
  }

  .zt_zj_doctors_title {
    font-size: 25px;
    letter-spacing: 2px;
  }

  .zt_zj_doctors_line {
    margin-top: 18px;
  }

  .zt_zj_doctors_sub {
    font-size: 15px;
  }

  .zt_zj_doctors_btn {
    padding: 12px 26px;
    font-size: 17px;
    letter-spacing: 1px;
  }

  .zt_zj_syz_btn {
    padding: 12px 32px;
    font-size: 18px;
    letter-spacing: 1px;
  }
}

/* ==================== 更多箍牙疑問 ==================== */
.zt_zj_yiwen {
  background: #f2f2f2;
  padding: 64px 20px 74px;
}

.zt_zj_yiwen_title {
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
  font-size: 40px;
  font-weight: 700;
  letter-spacing: 3px;
  line-height: 1.3;
  color: var(--zt_zj_title);
}

.zt_zj_yiwen_line {
  display: block;
  width: 64px;
  height: 4px;
  margin: 24px auto 0;
  background: var(--zt_zj_green);
}

.zt_zj_yiwen_list {
  max-width: 1200px;
  margin: 44px auto 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 26px 40px;
}

.zt_zj_yiwen_list li {
  background: var(--zt_zj_green);
  border-radius: 8px;
}

.zt_zj_yiwen_list li a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 96px;
  padding: 10px 24px;
  color: #fff;
  font-size: 30px;
  font-weight: 700;
  letter-spacing: 2px;
  text-align: center;
  text-decoration: none;
}

.zt_zj_yiwen_btn {
  display: block;
  width: max-content;
  margin: 52px auto 0;
  padding: 17px 56px;
  background: linear-gradient(90deg, #ffa02e, #f5760a);
  border-radius: 999px;
  color: #fff;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 2px;
  text-decoration: none;
  box-shadow: 0 4px 12px rgba(245, 118, 10, .3);
}

/* ---- 更多箍牙疑問：移動端 ---- */
@media (max-width: 900px) {
  .zt_zj_yiwen {
    padding: 48px 14px 56px;
  }

  .zt_zj_yiwen_title {
    font-size: 30px;
  }

  .zt_zj_yiwen_list {
    margin-top: 30px;
    gap: 16px 20px;
  }

  .zt_zj_yiwen_list li a {
    min-height: 64px;
    font-size: 19px;
  }

  .zt_zj_yiwen_btn {
    margin-top: 34px;
    padding: 13px 44px;
    font-size: 16px;
  }
}

@media (max-width: 600px) {
  .zt_zj_yiwen {
    padding: 40px 12px 50px;
  }

  .zt_zj_yiwen_title {
    font-size: 25px;
    letter-spacing: 2px;
  }

  .zt_zj_yiwen_line {
    margin-top: 18px;
  }

  .zt_zj_yiwen_list {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .zt_zj_yiwen_list li a {
    min-height: 56px;
    font-size: 17px;
    letter-spacing: 1px;
  }
}

/* ==================== WhatsApp 按鈕統一動效（光影掃過 + 懸停上浮） ==================== */
.zt_zj_check_btn,
.zt_zj_jishu_btn,
.zt_zj_syz_btn,
.zt_zj_fljz_btn,
.zt_zj_doctors_btn,
.zt_zj_yiwen_btn,
.zt_zj_djal_btn {
  position: relative;
  overflow: hidden;
  transition: transform .3s ease, box-shadow .3s ease;
}

/* 案例板塊輪播下方按鈕（樣式與適應症按鈕一致） */
.zt_zj_djal_btn {
  display: block;
  width: fit-content;
  margin: 28px auto 0;
  padding: 16px 52px;
  background: linear-gradient(90deg, #ffa02e, #f5760a);
  border-radius: 999px;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 2px;
  text-decoration: none;
}

/* 光影掃過 */
.zt_zj_check_btn::after,
.zt_zj_jishu_btn::after,
.zt_zj_syz_btn::after,
.zt_zj_fljz_btn::after,
.zt_zj_doctors_btn::after,
.zt_zj_yiwen_btn::after,
.zt_zj_djal_btn::after {
  content: "";
  position: absolute;
  top: 0;
  left: -80%;
  width: 50%;
  height: 100%;
  background: linear-gradient(105deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .45) 50%, rgba(255, 255, 255, 0) 100%);
  transform: skewX(-20deg);
  animation: zt_zj_shine 2.4s ease-in-out infinite;
  pointer-events: none;
}

@keyframes zt_zj_shine {
  0% {
    left: -80%;
  }

  55%,
  100% {
    left: 130%;
  }
}

/* 懸停：向上浮動 + 文字白色 */
.zt_zj_check_btn:hover,
.zt_zj_jishu_btn:hover,
.zt_zj_syz_btn:hover,
.zt_zj_fljz_btn:hover,
.zt_zj_doctors_btn:hover,
.zt_zj_yiwen_btn:hover,
.zt_zj_djal_btn:hover {
  color: #fff;
  transform: translateY(-4px);
  box-shadow: 0 8px 18px rgba(245, 118, 10, .35);
}

/* 移動端按鈕縮小，避免撐滿整行 */
@media (max-width: 600px) {
  .zt_zj_djal_btn {
    margin-top: 20px;
    padding: 12px 34px;
    font-size: 16px;
    letter-spacing: 1px;
  }
}
