/*
 * 品牌改版覆蓋層(載入順序:retens.css → 本檔)。
 * 原則:保留原站品牌語言(金棕色系、細線、米白柔光、中英雙語寬字距標題),
 * 只修正排版、對比度、交互狀態與少數區塊佈局;不改 DOM、不動原站 CSS 檔。
 * 由 src/app/(site)/layout.tsx 以 <link> 在 retens.css 之後載入;移除該 <link> 即可回到原站視覺。
 */

/* ---------- 1. 設計變量 ---------- */
:root {
  --gold-50: #faf7f2; /* 輸入框、淺底 */
  --gold-100: #f4ede3; /* 米白區塊底 */
  --gold-300: #ddcdb8; /* 細線、分隔 */
  --gold-500: #bea689; /* 品牌主色:大面積、線條、大號標題 */
  --gold-700: #8a6a45; /* 金色小字(白底對比約 5:1) */
  --brown-900: #693d20; /* 標題、強調 */
  --brown-950: #4a2c18; /* 金底上的小字(對比約 5:1) */
  --ink: #3b3029; /* 正文:暖深灰,不用純黑 */
  --ink-soft: #6b5d52;
  --danger: #a3402f; /* 錯誤提示:偏暖的磚紅,與棕色系協調 */
  --shadow-sm: 0 4px 14px -6px rgba(105, 61, 32, 0.22);
  --shadow-md: 0 14px 36px -14px rgba(105, 61, 32, 0.28);
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  --dur: 0.25s;
}

/* ---------- 2. 字體與基礎排版 ---------- */
/* 原站強制 arial + 微軟正黑體;改為自託管的 Noto Sans HK 可變字體(各系統顯示一致),正黑體作後備 */
:root {
  --font-sans: 'Noto Sans HK Variable', 'Noto Sans HK', 'Microsoft JhengHei', '微軟正黑體', 'PingFang HK', sans-serif;
}
html,
body {
  font-family: var(--font-sans) !important;
}
/* 原站僅頁腳地址 / 電話兩處單獨指定了 "Noto Sans HK" */
.foot_body-dizi > span,
.foot_body-dizi > spam {
  font-family: var(--font-sans);
}
body {
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}
input,
button,
select,
textarea {
  font-family: inherit;
}
h1,
h2,
h3 {
  text-wrap: balance;
}
p {
  text-wrap: pretty;
}
::selection {
  background: rgba(190, 166, 137, 0.35);
  color: var(--brown-900);
}
@media (prefers-reduced-motion: no-preference) {
  html {
    scroll-behavior: smooth;
  }
}

/* ---------- 3. 顏色收斂 ---------- */
/* 原站模板殘留的藍色懸停 / 黃色按下,改回品牌色 */
html body div a:hover,
html body div li a:hover {
  color: var(--brown-900);
}
a:active {
  color: inherit;
}

/* 金色正文小字 → 深金(大號標題仍用 --gold-500) */
.list_yixue-body-ul > ul > li .list_dianbo-gongxiao-p2-p-body1 a,
.list_yixue-body-ul > ul > li.active .list_dianbo-gongxiao-p2-p-body,
.list_yixue-body-ul > ul > li .list_yixue-body-ul-li-div > p,
.list_yixue-wuyou .list_yixue-wuyou-body > ul > li .list_yixue-wuyou-ul-span > span,
.list_yixue-zhuanjia .list_yixue-zhuanjia-body > ul > li,
.list_yixue-zhuanjia .list_yixue-zhuanjia-body > ul > li > p,
.about_one-body > p,
.list_banner.top_70 > .list_ldrzss-body > p,
.list_tuoyou-body > p,
.bingbingzhen_banner-body > p,
.list_yuejizhi-banner-body > p,
.tetens_news-liuyan > form > span,
.shijian {
  color: var(--gold-700);
}

/* ---------- 4. 頁頭與導航 ---------- */
.head_diao.on {
  background: rgba(255, 255, 255, 0.9);
  -webkit-backdrop-filter: saturate(1.4) blur(12px);
  backdrop-filter: saturate(1.4) blur(12px);
  box-shadow: 0 8px 24px -14px rgba(105, 61, 32, 0.35);
}
.head_diao.show,
.head_diao.head_back {
  box-shadow: 0 8px 24px -14px rgba(105, 61, 32, 0.35);
}
@media only screen and (min-width: 1101px) {
  .head_nav > ul li > a {
    transition: color var(--dur) var(--ease), background-color var(--dur) var(--ease);
  }
  /* 首項(月肌制)外框按鈕:懸停時填色 */
  .head_nav > ul li:nth-child(1) a {
    border-width: 1px;
    border-radius: 2px;
  }
  /* 當前所在欄目 */
  .head_nav > ul li.active > a {
    color: var(--brown-900);
    position: relative;
  }
  .head_nav > ul li.active > a::before {
    content: '';
    position: absolute;
    left: 15px;
    right: 15px;
    bottom: -6px;
    height: 1px;
    background: var(--gold-500);
  }
  .head_nav > ul li:nth-child(1).active > a::before {
    display: none;
  }
  /* 二級菜單:淡入 + 輕微下移,而非瞬間出現 */
  .head_nav > ul li .nav_li-non {
    border-radius: 4px;
    border-top: 2px solid var(--gold-500);
    box-shadow: var(--shadow-md);
  }
  .head_nav > ul li:hover .nav_li-non,
  .head_nav > ul li:focus-within .nav_li-non {
    display: block;
    margin-top: 18px;
    animation: brand-drop 0.22s var(--ease) both;
  }
  .head_nav > ul li .nav_li-non a {
    padding: 4px 6px;
    transition: color var(--dur) var(--ease), background-color var(--dur) var(--ease), transform var(--dur) var(--ease);
  }
  .head_nav > ul li .nav_li-non a:hover,
  .head_nav > ul li.active .nav_li-non a:hover {
    color: var(--brown-900);
    background: var(--gold-50);
    transform: translateX(3px);
  }
  .head_nav > ul li .nav_li-non a[aria-current='page'] {
    color: var(--brown-900);
  }
}
@keyframes brand-drop {
  from {
    opacity: 0;
    transform: translateY(-6px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
/* 移動端菜單:當前頁 */
.head_nav > ul > li > a[aria-current='page'],
.head_nav .nav_li-non > a[aria-current='page'] {
  color: var(--brown-900);
  font-weight: 500;
}

/* ---------- 5. 交互狀態:焦點 / 按鈕 / 表單 ---------- */
/* 原站對 input/button 全局 outline:0;鍵盤操作時恢復可見焦點框 */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[role='button']:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid var(--gold-700);
  outline-offset: 3px;
}

/* 跳到主要內容(僅鍵盤聚焦時可見) */
.skip-link {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 1000;
  padding: 10px 18px;
  background: var(--brown-900);
  color: #fff !important;
  font-size: 14px;
  border-radius: 2px;
  transform: translateY(-160%);
  transition: transform var(--dur) var(--ease);
}
.skip-link:focus {
  transform: none;
}
#main:focus {
  outline: 0;
}

/* 主要按鈕:表單提交 */
.tetens_news-liuyan > form .submit,
.contact_form > form .submit,
.inde_form-foot .submit {
  cursor: pointer;
  border-radius: 2px;
  letter-spacing: 0.2em;
  transition: background-color var(--dur) var(--ease), color var(--dur) var(--ease), transform 0.12s var(--ease),
    box-shadow var(--dur) var(--ease);
}
.tetens_news-liuyan > form .submit:hover,
.contact_form > form .submit:hover,
.inde_form-foot .submit:hover {
  background: var(--brown-900);
  color: #fff;
  box-shadow: var(--shadow-sm);
}
.tetens_news-liuyan > form .submit:active,
.contact_form > form .submit:active,
.inde_form-foot .submit:active {
  transform: scale(0.98);
}
.submit.is-loading {
  opacity: 0.6;
  pointer-events: none;
}

/* 輸入框 */
.tetens_news-liuyan > form .input,
.contact_form > form .input {
  box-sizing: border-box;
  background: var(--gold-50);
  border: 1px solid transparent;
  border-radius: 2px;
  color: var(--ink);
  transition: border-color var(--dur) var(--ease), background-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.tetens_news-liuyan > form .input::placeholder,
.contact_form > form .input::placeholder {
  color: #9a8a7c;
}
.tetens_news-liuyan > form .input:hover,
.contact_form > form .input:hover {
  border-color: var(--gold-300);
}
.tetens_news-liuyan > form .input:focus,
.contact_form > form .input:focus {
  background: #fff;
  border-color: var(--gold-500);
  box-shadow: 0 0 0 3px rgba(190, 166, 137, 0.2);
  outline: 0;
}
.tetens_news-liuyan > form .input[aria-invalid='true'],
.contact_form > form .input[aria-invalid='true'] {
  border-color: var(--danger);
  background: #fff;
}
/* 內聯錯誤提示(取代原站 alert 彈窗) */
.form-error {
  color: var(--danger);
  font-size: 13px;
  line-height: 1.5;
  margin: -6px 0 14px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.form-error::before {
  content: '';
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: currentColor;
  flex: none;
}

/* 條款 / 私隱彈層:原站收起時只設 opacity:0,內容仍會溢出並可被讀屏 / Tab 訪問 */
.retens_form-tan-tiaokuan:not(.on),
.retens_form-tan-zhengce:not(.on) {
  visibility: hidden;
  overflow: hidden;
}

/* 手風琴標題:可點擊提示 */
.list_on {
  cursor: pointer;
}
.list_on > em {
  transition: transform var(--dur) var(--ease);
}

/* 懸浮按鈕(WhatsApp / 返回頂部):陰影改為棕色調,懸停輕微上浮 */
.retens_kf > a > p,
.retens_kf > a > span {
  box-shadow: 0 8px 20px -6px rgba(105, 61, 32, 0.45);
  transition: transform var(--dur) var(--ease), background-color var(--dur) var(--ease);
}
.retens_kf > a:hover > p,
.retens_kf > a:hover > span {
  transform: translateY(-2px);
  background-color: var(--gold-700);
}
#backTop {
  cursor: pointer;
  transition: transform var(--dur) var(--ease);
}
#backTop:hover {
  transform: translateY(-2px);
}

/* 輪播覆蓋鏈接:懸停時圖片微放大 */
.index_huangpai .swiper-slide {
  overflow: hidden;
}
.index_huangpai .swiper-slide > img {
  transition: transform 0.6s var(--ease);
}
.index_huangpai .swiper-slide:hover > img {
  transform: scale(1.03);
}

/* 沒有目的地的鏈接(原站 href="#" 或無 href 的療程名):不再偽裝成可點擊 */
.list_yixue-body-ul a[href='#'],
.list_dianbo-gongxiao-p2-p-body1 a:not([href]) {
  pointer-events: none;
  cursor: default;
  opacity: 0.6;
}

/* ---------- 6. 區塊佈局 ---------- */

/* 6.1 「為什麼選擇我們」:5 行豎排 → 寬屏 2 + 3 不對稱網格,細金線分隔,不用卡片陰影 */
@media only screen and (min-width: 768px) {
  .index_zheng.list_zheng .w1300 {
    height: auto;
    width: auto;
    max-width: 1120px;
    padding: 120px 48px 150px;
    box-sizing: border-box;
  }
  .index_zheng.list_zheng .w1300 > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .index_zheng.list_zheng .index_zheng-body-list {
    position: relative;
    top: auto;
  }
  .index_zheng-body-title {
    margin-bottom: 72px;
    font-weight: 500;
    letter-spacing: 0.3em;
  }
  .index_zheng-body-list > ul {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 56px 44px;
  }
  .index_zheng-body-list > ul li {
    grid-column: span 2;
    flex-direction: column;
    margin: 0;
    padding-top: 28px;
    border-top: 1px solid rgba(105, 61, 32, 0.16);
  }
  .index_zheng-body-list > ul li:nth-child(-n + 2) {
    grid-column: span 3;
  }
  .index_zheng-body-list > ul li .index_zheng-body-ul-img {
    width: 64px;
    margin: 0 0 22px;
  }
  .index_zheng-body-list > ul li .index_zheng-body-ul-title {
    width: auto;
  }
  .index_zheng-body-list > ul li .index_zheng-body-ul-title p {
    font-size: 17pt;
    font-weight: 500;
    letter-spacing: 0.15em;
    margin-bottom: 12px;
  }
  .index_zheng-body-list > ul li .index_zheng-body-ul-title span {
    display: block;
    font-size: 11.5pt;
    line-height: 1.85;
    font-weight: 300;
    color: var(--ink-soft);
    max-width: 30em;
  }
}

/* 6.1b 療程列表「致美無憂肌療」+「如何判斷醫學美容邊間好」:原站把內容絕對定位在背景圖上,
   下一區塊再用 margin-top:-800px 疊上去,字體或寬度一變就互相重疊(新站改版前已出現)。
   改為內容按文檔流排列;背景圖鋪滿本區塊、底部漸隱到白色,與下一區塊自然銜接 */
@media only screen and (min-width: 768px) {
  .list_yixue-wuyou {
    overflow: hidden;
    padding-bottom: 24px;
  }
  .list_yixue-wuyou > img {
    position: absolute;
    inset: 0;
    height: 100%;
    object-fit: cover;
    -webkit-mask-image: linear-gradient(to bottom, transparent, #000 14%, #000 55%, transparent);
    mask-image: linear-gradient(to bottom, transparent, #000 14%, #000 55%, transparent);
  }
  .list_yixue-wuyou-body {
    position: relative;
  }
  .list_yixue-wuyou .list_yixue-wuyou-body > ul {
    margin-top: 24px;
  }
  .list_yixue-zhuanjia {
    margin-top: 0;
  }
}

/* 6.2 療程總覽:3 列小字目錄 → 疏朗的 3 列網格,細金線標題,鏈接帶懸停位移 */
@media only screen and (min-width: 1101px) {
  .list_yixue-body-ul {
    width: auto;
    max-width: 1120px;
    margin-top: 56px;
    padding: 0 40px;
    box-sizing: border-box;
  }
  .list_yixue-body-ul > ul {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 64px 56px;
  }
  .list_yixue-body-ul > ul > li {
    width: auto;
    margin: 0;
  }
  .list_yixue-body-ul > ul > li .list_yixue-body-ul-li-div .list_yixue-body-ul-li-div-a {
    border-bottom: 1px solid var(--gold-300);
    padding-bottom: 14px;
  }
  .list_yixue-body-ul > ul > li .list_yixue-body-ul-li-div .list_yixue-body-ul-li-div-a > a {
    font-size: 17pt;
    font-weight: 500;
    letter-spacing: 0.3em;
    border-bottom: 0;
    padding-bottom: 0;
  }
  .list_yixue-body-ul > ul > li .list_yixue-body-ul-li-div > p {
    font-size: 12pt;
    margin-top: 16px;
    border-top: 0;
    padding-top: 0;
    transition: color var(--dur) var(--ease);
  }
  .list_yixue-body-ul > ul > li .list_yixue-body-ul-li-div > p:hover {
    color: var(--brown-900);
  }
  .list_yixue-body-ul > ul > li .list_yixue-body-ul-li-div > span {
    color: var(--ink-soft);
    font-size: 11pt;
    margin-top: 10px;
  }
  .list_yixue-body-ul > ul > li .list_dianbo-gongxiao-p2-p-body1 {
    margin-top: 12px;
  }
  .list_yixue-body-ul > ul > li .list_dianbo-gongxiao-p2-p-body1 > li {
    list-style: none;
    border-bottom: 1px solid #efe8de;
    padding: 0;
  }
  .list_yixue-body-ul > ul > li .list_dianbo-gongxiao-p2-p-body1 a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 0;
    font-size: 11.5pt;
    transition: color var(--dur) var(--ease), transform var(--dur) var(--ease);
  }
  .list_yixue-body-ul > ul > li .list_dianbo-gongxiao-p2-p-body1 a::before {
    content: '';
    width: 10px;
    height: 1px;
    background: var(--gold-500);
    flex: none;
    transition: width var(--dur) var(--ease);
  }
  .list_yixue-body-ul > ul > li .list_dianbo-gongxiao-p2-p-body1 a[href]:not([href='#']):hover {
    color: var(--brown-900);
    transform: translateX(4px);
  }
  .list_yixue-body-ul > ul > li .list_dianbo-gongxiao-p2-p-body1 a[href]:not([href='#']):hover::before {
    width: 18px;
  }
}

/* 6.3 文章列表:統一左圖右文 → 首篇大圖 + 其餘兩列錯落 */
.tetens_news-body .tetens_news-body-left > ul > li > a {
  transition: color var(--dur) var(--ease);
}
.tetens_news-body .tetens_news-body-left > ul > li > a:hover {
  color: var(--brown-900);
}
.tetens_news-list-img {
  overflow: hidden;
  border-radius: 2px;
}
.tetens_news-list-img img {
  transition: transform 0.6s var(--ease);
}
.tetens_news-body-left > ul > li:hover .tetens_news-list-img img {
  transform: scale(1.03);
}
/* 「CONTINUE READING」框線按鈕 → 輕量文字鏈接(句首大寫) */
.tetens_news-body .tetens_news-body-left > ul > li .tetens_news-list .tetens_news-list-describe > a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: auto;
  border: 0;
  margin: 16px 0 0;
  padding: 0 0 4px;
  font-size: 0.9em;
  letter-spacing: 0.04em;
  text-transform: lowercase;
  color: var(--gold-700);
  border-bottom: 1px solid var(--gold-300);
  transition: color var(--dur) var(--ease), border-color var(--dur) var(--ease), gap var(--dur) var(--ease);
}
.tetens_news-body .tetens_news-body-left > ul > li .tetens_news-list .tetens_news-list-describe > a::first-letter {
  text-transform: uppercase;
}
.tetens_news-body .tetens_news-body-left > ul > li .tetens_news-list .tetens_news-list-describe > a:hover {
  color: var(--brown-900);
  border-color: var(--brown-900);
  gap: 12px;
}
.tetens_news-body .tetens_news-body-left > ul > li .tetens_news-guishu {
  border-top: 0;
  border-bottom: 1px solid #efe8de;
  font-size: 0.9em;
  color: var(--ink-soft);
}
@media only screen and (min-width: 1024px) {
  .tetens_news-body .tetens_news-body-left > ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 56px 44px;
  }
  /* 每篇:圖在上 → 標題 → 日期 → 摘要 → 分類(用 grid 區域重排,不改 DOM) */
  .tetens_news-body .tetens_news-body-left > ul > li {
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: 'img' 'title' 'date' 'desc' 'cat';
    grid-template-rows: auto auto auto 1fr auto;
  }
  .tetens_news-body .tetens_news-body-left > ul > li > hr {
    display: none;
  }
  .tetens_news-body .tetens_news-body-left > ul > li .tetens_news-list {
    display: contents;
  }
  .tetens_news-body .tetens_news-body-left > ul > li .tetens_news-list .tetens_news-list-img {
    grid-area: img;
    width: 100%;
    margin: 0;
    aspect-ratio: 16 / 10;
  }
  .tetens_news-body .tetens_news-body-left > ul > li .tetens_news-list .tetens_news-list-img a {
    display: block;
    height: 100%;
  }
  .tetens_news-body .tetens_news-body-left > ul > li .tetens_news-list .tetens_news-list-img img {
    height: 100%;
    object-fit: cover;
  }
  .tetens_news-body .tetens_news-body-left > ul > li > a {
    grid-area: title;
    text-align: left;
    font-size: 1.3em;
    line-height: 1.5;
    font-weight: 500;
    letter-spacing: 0.02em;
    color: var(--brown-900);
    margin-top: 18px;
  }
  .tetens_news-body .tetens_news-body-left > ul > li .list_riqi {
    grid-area: date;
    text-align: left;
    margin-top: 8px;
  }
  .tetens_news-body .tetens_news-body-left > ul > li .list_riqi > span {
    color: var(--ink-soft);
  }
  .tetens_news-body .tetens_news-body-left > ul > li .tetens_news-list .tetens_news-list-describe {
    grid-area: desc;
    width: auto;
    margin-top: 12px;
  }
  .tetens_news-body .tetens_news-body-left > ul > li .tetens_news-list .tetens_news-list-describe > p {
    font-size: 15px;
    line-height: 1.8;
    color: var(--ink-soft);
  }
  .tetens_news-body .tetens_news-body-left > ul > li .tetens_news-guishu {
    grid-area: cat;
    margin-top: 16px;
  }
  /* 首篇:橫跨兩列,左大圖右文字 */
  .tetens_news-body .tetens_news-body-left > ul > li:first-child {
    grid-column: 1 / -1;
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
    grid-template-areas: 'img title' 'img date' 'img desc' 'img cat';
    grid-template-rows: auto auto 1fr auto;
    column-gap: 44px;
    padding-bottom: 56px;
    border-bottom: 1px solid var(--gold-300);
  }
  .tetens_news-body .tetens_news-body-left > ul > li:first-child > a {
    font-size: 1.7em;
    margin-top: 0;
  }
  .tetens_news-body .tetens_news-body-left > ul > li:first-child .tetens_news-list-img {
    aspect-ratio: 4 / 3;
  }
}
.tetens_news-jinqi > ul > li a {
  color: var(--ink);
  transition: color var(--dur) var(--ease);
}
.tetens_news-jinqi > ul > li a:hover {
  color: var(--brown-900);
}

/* 分頁 */
.pagination {
  display: flex;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
}
.pagination > li > a {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 6px;
  box-sizing: border-box;
  border: 1px solid var(--gold-300);
  border-radius: 2px;
  color: var(--brown-900);
  font-variant-numeric: tabular-nums;
  transition: background-color var(--dur) var(--ease), color var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.pagination > li > a[href]:hover {
  background: var(--gold-100);
  border-color: var(--gold-500);
}
.pagination > li.active > a {
  background: var(--brown-900);
  border-color: var(--brown-900);
  color: #fff;
}

/* 6.4 文章正文:閱讀體驗 */
.retens_body-left-content p,
.retens_body-left-content > ul > li,
.retens_body-left-content > ol > li {
  color: var(--ink);
  font-size: 16px;
  line-height: 1.9;
}
.retens_body-left-content p {
  margin-bottom: 0.9em;
}
/* 原站正文鏈接為瀏覽器默認藍 + 虛線,改品牌色 */
.retens_body-left-content p a {
  color: var(--gold-700);
  border-bottom: 1px solid rgba(138, 106, 69, 0.4);
  transition: color var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.retens_body-left-content p a:hover {
  color: var(--brown-900);
  border-bottom-color: var(--brown-900);
}
/* 中文沒有真斜體(只會被機械傾斜),小標題改為正體 */
.retens_body-left-content h2 {
  font-style: normal;
  font-weight: 500;
  color: var(--brown-900);
  background: var(--gold-50);
  border-left-color: var(--gold-500);
  line-height: 1.5;
  padding: 18px 1.25em 16px 1.25em;
  margin-top: 1.6em;
}
.retens_body-left-content h3 {
  color: var(--gold-700);
  font-weight: 500;
  line-height: 1.6;
}
.retens_body-left-content table {
  font-variant-numeric: tabular-nums;
}

/* 常見問答 */
.list_wenda > ul li {
  border-top-color: #efe8de;
}
.list_wenda > ul li .list_on span {
  transition: color var(--dur) var(--ease);
  line-height: 1.6;
}
.list_wenda > ul li .list_on:hover span {
  color: var(--gold-700);
}
.list_wenda > ul li .list_dianbo-gongxiao-p2-p-body {
  color: var(--ink-soft);
  line-height: 1.9;
}

/* 6.4b 首頁品牌理念標題:字樣圖(維動·美研® + 裝飾線)+ 真實文字的主/副標題。
   位置與字號用容器寬度單位(cqw)等比縮放,與字樣圖 1930×712 的原始比例一一對應 */
.index_ye-body-img {
  position: relative;
  container-type: inline-size;
}
.ye-title {
  position: absolute;
  inset: 0;
  pointer-events: none;
  color: #926138;
}
.ye-title__main,
.ye-title__sub {
  position: absolute;
  left: 0;
  right: 0;
  margin: 0;
  text-align: center;
  white-space: nowrap;
  transform: translateY(-50%);
  line-height: 1;
}
.ye-title__main {
  top: 66.2%;
  font-size: 7.2cqw;
  font-weight: 600;
  letter-spacing: 0.46em;
  padding-left: 0.46em; /* 抵消最後一字後多出的字距,保持視覺居中 */
}
.ye-title__sub {
  top: 92.8%;
  font-size: 4cqw;
  font-weight: 400;
  letter-spacing: 0.72em;
  padding-left: 0.72em;
}

/* 6.5 常見問答(寬屏):左側問題列表,右側答案面板。
   答案仍是各自 <li> 內的原 DOM,只是展開時絕對定位到右欄;SiteScripts 在寬屏載入時默認展開第一題 */
@media only screen and (min-width: 1024px) {
  .list_wenda {
    max-width: 1040px;
    margin-left: auto;
    margin-right: auto;
    padding: 0 40px;
    box-sizing: border-box;
  }
  .list_wenda-title {
    text-align: left;
    font-size: 22pt;
    font-weight: 500;
    letter-spacing: 0.2em;
    margin-bottom: 36px;
  }
  .list_wenda > ul {
    position: relative;
    width: auto;
    margin: 0;
    padding-right: 52%;
    min-height: 340px;
  }
  .list_wenda > ul li {
    padding: 0;
  }
  .list_wenda > ul li .list_on {
    padding: 18px 12px 18px 0;
    transition: padding var(--dur) var(--ease);
  }
  .list_wenda > ul li .list_on span {
    font-size: 14pt;
  }
  .list_wenda > ul li .list_on.on {
    padding-left: 14px;
    box-shadow: inset 3px 0 0 var(--gold-500);
  }
  .list_wenda > ul li .list_on.on span {
    color: var(--gold-700);
  }
  /* 箭頭由「向下展開」改為「向右指向答案」 */
  .list_wenda > ul li .list_on em {
    transform: rotate(90deg);
  }
  .list_wenda > ul li .list_on.on > em {
    transform: rotate(90deg);
    display: block;
  }
  .list_wenda > ul li .list_dianbo-gongxiao-p2-p-body.on {
    position: absolute;
    top: 0;
    right: 0;
    width: 44%;
    padding: 6px 0 6px 44px;
    border-left: 1px solid var(--gold-300);
    font-size: 16px;
    animation: brand-fade 0.35s var(--ease) both;
  }
  .list_wenda > ul li .list_dianbo-gongxiao-p2-p-body.on p {
    font-size: 16px;
    line-height: 1.95;
    color: var(--ink-soft);
  }
}
@keyframes brand-fade {
  from {
    opacity: 0;
    transform: translateX(8px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

/* 6.6 首頁品牌理念(寬屏):原為一張 900px 寬的長圖上疊文字,改為兩欄 ——
   第一行:標題圖;第二行:文字(左)+ 六維度輪播(右);第三行:五大美態拼貼(左)+ 文字(右) */
@media only screen and (min-width: 1024px) {
  .index_ye {
    width: 100%;
    max-width: none;
    margin: 40px 0 0;
    overflow: hidden;
  }
  .index_ye > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
    -webkit-mask-image: linear-gradient(to bottom, transparent, #000 10%, #000 90%, transparent);
    mask-image: linear-gradient(to bottom, transparent, #000 10%, #000 90%, transparent);
  }
  .index_ye > .w1300 {
    position: relative;
    z-index: 1;
    width: auto;
    max-width: 1120px;
    margin: 0 auto;
    padding: 0 40px;
    box-sizing: border-box;
  }
  .index_ye .index_ye-body {
    position: relative;
    width: auto;
    margin: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: 88px;
    row-gap: 80px;
    align-items: center;
    padding: 72px 0 120px;
  }
  .index_ye .index_ye-body-img {
    grid-column: 1 / -1;
    grid-row: 1;
    width: min(780px, 100%);
    margin: 0 auto;
  }
  .index_ye .index_ye-body-img + .index_ye-body-p {
    grid-column: 1;
    grid-row: 2;
  }
  .index_ye .index_ye-wrapper {
    grid-column: 2;
    grid-row: 2;
  }
  .index_ye .index_ye-body-img-dierneirong {
    grid-column: 1;
    grid-row: 3;
  }
  .index_ye .index_ye-wrapper + .index_ye-body-p {
    grid-column: 2;
    grid-row: 3;
  }

  /* 文字塊:左對齊,右側放「6 維度 / 5 美態」數字圖 */
  .index_ye .index_ye-body-p {
    position: relative;
    width: auto;
    margin: 0;
    padding-right: 132px;
    text-align: left;
  }
  .index_ye .index_ye-body-p p {
    font-size: 17px;
    line-height: 2;
    font-weight: 300;
    color: var(--ink-soft);
  }
  .index_ye .index_ye-body-p p:empty {
    display: none;
  }
  .index_ye .index_ye-body-p p:has(> img) {
    position: absolute;
    top: 0;
    right: 0;
    width: 96px;
  }
  .index_ye .index_ye-body-p p > img {
    width: 100%;
  }
  .index_ye .index_ye-body-img + .index_ye-body-p p:first-child {
    font-size: 13px;
    letter-spacing: 0.32em;
    color: var(--gold-700);
    text-transform: uppercase;
  }
  .index_ye .index_ye-body-img + .index_ye-body-p p:nth-child(2) {
    font-size: 22px;
    font-weight: 500;
    letter-spacing: 0.06em;
    line-height: 1.5;
    color: var(--brown-900);
    margin-bottom: 14px;
  }
  .index_ye .index_ye-wrapper + .index_ye-body-p p:nth-child(2) {
    font-size: 24px;
    font-weight: 500;
    letter-spacing: 0.08em;
    color: var(--brown-900);
  }

  /* 輪播:取消原站 lb/style.css 加在每張圖上的 0.85 / 1.15 縮放,圖寬跟隨欄寬 */
  .index_ye .index_ye-wrapper .swiper-container {
    margin: 0;
  }
  .index_ye .swiper-slide,
  .index_ye .swiper-slide-active {
    transform: none !important;
  }
  .index_ye .swiper-slide img {
    width: 100%;
    margin: 0;
    border-radius: 0;
  }
  .index_ye .swiper-wrapper {
    padding-bottom: 8px;
  }
  .index_ye .swiper-pagination {
    margin-bottom: 0;
    margin-top: 12px;
  }
  .index_ye .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    margin: 0 5px;
    transition: background-color var(--dur) var(--ease);
  }
  .index_ye .swiper-pagination-bullet.swiper-pagination-bullet-active {
    width: 10px;
    height: 10px;
    border-width: 1px;
  }
}

/* 6.7 首頁療程輪播:3 張居中縮放 → 橫向拖動卡片(露出下一張暗示可滑動),下方細進度條 */
.index_huangpai .w1300,
.index_huangpai-body {
  width: auto;
  max-width: none;
}
.index_huangpai .index_ye-body-h {
  width: auto;
  max-width: 1120px;
  margin: 0 auto 28px;
  padding: 0 24px;
  box-sizing: border-box;
}
.index_huangpai .index_ye-body-h > h2 {
  margin-top: 0;
  text-align: left;
  font-size: clamp(18px, 2.4vw, 28px);
  font-weight: 500;
  letter-spacing: 0.18em;
  line-height: 1.6;
  color: var(--brown-900);
}
.index_huangpai .swiper-container {
  max-width: 1120px;
  margin: 0 auto;
  overflow: hidden;
  padding: 12px 0 44px;
  cursor: grab;
}
.index_huangpai .swiper-container:active {
  cursor: grabbing;
}
.index_huangpai .swiper-slide,
.index_huangpai .swiper-slide-active {
  width: min(68vw, 264px);
  transform: none !important;
  box-shadow: none;
  overflow: visible;
}
.index_huangpai .swiper-slide > img {
  border-radius: 3px;
  box-shadow: var(--shadow-sm);
  transition: transform 0.5s var(--ease), box-shadow 0.5s var(--ease);
  -webkit-user-drag: none;
}
.index_huangpai .swiper-slide:hover > img {
  transform: translateY(-6px);
  box-shadow: var(--shadow-md);
}
.index_huangpai .swiper-slide .tc-name {
  margin: 14px 2px 0;
  font-size: 15px;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: var(--brown-900);
  transition: color var(--dur) var(--ease);
}
.index_huangpai .swiper-slide:hover .tc-name {
  color: var(--gold-700);
}
.index_huangpai .layer-mask {
  height: 100%;
}
/* lb/style.css 在頁面主體裡才載入,選擇器需更具體才能蓋過它對滾動條位置的設定 */
.index_huangpai .swiper-container-horizontal > .huangpai-scrollbar {
  left: 24px;
  width: calc(100% - 48px);
  bottom: 10px;
  height: 2px;
  background: var(--gold-300);
  border-radius: 0;
}
.index_huangpai .huangpai-scrollbar .swiper-scrollbar-drag {
  background: var(--brown-900);
  border-radius: 0;
}

/* ---------- 7. 頁腳:保留金棕底,小字改深棕以提高對比 ---------- */
.foot .foot_body-logo-p p,
.foot .foot_body-dizi > span,
.foot .foot_body-dizi > spam,
.foot .foot_weixin span {
  color: var(--brown-950);
  font-weight: 400;
}
.foot .copyright,
.foot .copyright > span > a {
  color: rgba(74, 44, 24, 0.85);
}
.foot .foot_weixin > ul li > a {
  transition: background-color var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.foot .foot_weixin > ul li > a:hover {
  background: #fff;
  transform: translateY(-2px);
}
.foot .foot_weixin > ul li > a:hover > span {
  color: var(--brown-900);
}

/* ---------- 8. 入場動效(僅 JS 可用且用戶未要求減少動態時啟用) ---------- */
@media (prefers-reduced-motion: no-preference) {
  .js-reveal [data-reveal] {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity 0.7s var(--ease), transform 0.7s var(--ease);
    transition-delay: calc(var(--i, 0) * 70ms);
  }
  .js-reveal [data-reveal].is-in {
    opacity: 1;
    transform: none;
  }
}

/* ---------- 9. 療程頁圖上文字:對比度、版面、字重統一 ---------- */
/* 9.1 文字顏色:原站在白 / 淺色圖上用的淺金(#bea689 對比 2.3:1)、#a28057(3.6:1)及各療程頁的粉、青、藍、紫、灰色小字,
   對比度都低於 WCAG AA。金色系統一為 --gold-text(約 6.6:1);其餘色系保持原色相、加深到 ≥4.5:1。
   下面選擇器由 retens.css 中對應的 color 聲明逐條導出(只改 color,不動字號 / 位置),未列出的顏色不變。 */
:root {
  --gold-text: #7a5c38; /* 白 / 淺色底上的金色字:對比約 6.6:1,疊在淺色漸變圖上仍 ≥4.5:1 */
}
@media only screen and (max-width: 10000px) and (min-width: 768px) {
.list_dianbo-gongxiao .list_dianbo-gongxiao-p,
.list_dianbo-gongxiao .list_dianbo-gongxiao-p>p,
.list_dianbo-gongxiao.dd_3 .list_dianbo-gongxiao-p2,
.list_dianbo-gongxiao.dd_4 .list_dianbo-gongxiao-p2,
.list_dianbo-gongxiao.dd_5 .list_dianbo-gongxiao-p2,
.list_dianbo-gongxiao.dd_6 .list_dianbo-gongxiao-p2,
.list_dianbo-gongxiao.dd_6 .list_dianbo-gongxiao-p3,
.list_dianbo-gongxiao.dd_7 .list_dianbo-gongxiao-h>h2,
.list_dianbo-gongxiao.dd_7 .list_dianbo-gongxiao-p2,
.list_ldrzss-gongxiao-p,
.list_ldrzss-div.dd_2 .list_ldrzss-gongxiao-p2 p,
.list_ldrzss-div.dd_3 .list_dianbo-gongxiao-p2 .list_dianbo-gongxiao-p2-p em,
.list_ldrzss-div.dd_3 .list_dianbo-gongxiao-p2 .list_dianbo-gongxiao-p2-p a p,
.list_ldrzss-zhengshu .swiper-slide>p,
.list_ldrzss-zhengshu .swiper-slide-p>p,
.list_ldrzss-div.dd_6 .list-paddingleft-2>li>p,
.list_banner.top_70>.list_ldrzss-body>p,
.list_lunkuotila-body-p>p,
.list_lunkuotila-body-p2>p,
.list_lunkuotila-body-p3>p,
.list_lunkuotila-body.dd_2 .list_lunkuotila-body-p,
.list_lunkuotila-body.dd_2 .list_lunkuotila-body-p2,
.list_pmjg-body-body-h>h2,
.list_pmjg-body-p>p,
.list_pmjg-body-p3>p,
.list_pmjg-body-h>h2,
.list_pmjg-body .list_dianbo-gongxiao-p2-p em,
.list_pmjg-body .list_dianbo-gongxiao-p2-p a p,
.list_pmjg-body .list_pmjg-body-h.pmjg_top6 .list_pmjg-body-pp,
.list_pmjg-body .list_pmjg-body-h.pmjg_top8>p,
.list_pmjg-body .list_pmjg-body-h.pmjg_top8>h2,
.list_pmjg-body .list_pmjg-body-p2>p,
.list_pmjg-body-p3.pmjg_top10 .list_pmjg-body-p3-f1 p,
.list_pmjg-body-h.pmjg_top7>h3,
.list_pmjg-body-h.pmjg_top11 p,
.list_pmjg-body-p3.pmjg_top13 div,
.list_pmjg-body-p3 .list-paddingleft-2>li p,
.chuantong>p,
.gaoxiao>h3,
.gaoxiao-p>p,
.gaoxiao-p-p,
.gaoxiao_body,
.chengyin-p,
.chengyin_ul.ul_2>h2,
.chengyin_ul .swiper-slide p,
.chengyin_ul .swiper-slide .swiper-slide-p,
.zhuyi-p>h3,
.zhuyi-p>.p1,
.list_pmjg-body.wzmx_4 .list_pmjg-body-p2>h2,
.list_pmjg-body.wzmx_5 .list_pmjg-body-h h2,
.list_wzmx>p,
.list_wzmx-img>p,
.wzmx_6>h2,
.list_tuoyou-body>p,
.list_tuoyou-title>h2,
.list_tuoyou-p,
.list_tuoyou-img>p,
.list_tuoyou-neirong,
.list_tuoyou-img-w>h2,
.list_tuoyou-img-w p,
.denglizi_body p,
.denglizi_pc7 .denglizi_body p,
.list_ldrzss .list_dianbo-gongxiao-p2 .list_on,
.denglizi_body-tab .denglizi_body-tab-div .list_on,
.denglizi_body-tab .denglizi_body-tab-div .list_on>span,
.denglizi_body-div-img-div>span,
.list_wzjdst-title-h>h2,
.list_wzjdst-p p,
.list_wzjdst-lunbo .swiper-slide p,
.list_wzjdst-lunbo .swiper-slide span,
.list_mbbshl-title-h>h2,
.bingbingzhen_banner-body>h2,
.bingbingzhen_banner-body>p,
.list_bingbingzhen-body-fudong>ul li span,
.list_bingbingzhen-p .yse p,
.list_yuejizhi-banner-body>p,
.list_yuejizhi-banner-body-foot>p,
.list_yuejizhi-body-body-list .list_yuejizhi-body-body-list-on>a em,
.list_yuejizhi-body-body-list .list_yuejizhi-body-body-list-on>a span,
.list_yuejizhi-body-body-list .list_yuejizhi-body-body-list-on .list_dianbo-gongxiao-p2-p-body.on,
.list_yuejizhi-body-dierneirong,
.list_yuejizhi-body-list-on>a>em,
.list_yuejizhi-body-list-on>a>span,
.list_yuejizhi-body-list-on>a>span>span,
.list_yuejizhi-body-list-on .list_dianbo-gongxiao-p2-p-body,
.list_yuejizhi-body-div>p,
.list_yuejizhi-body-absolute-pp>p,
.list_yuejizhi-body.y8_1 .list_yuejizhi-body-title-h>h2,
.list_yuejizhi-body.y8_1 .list_yuejizhi-body-title-p>p,
.list_yuejizhi-form-absolute .list_yuejizhi-form-absolute-foot>p,
.list_yuejizhi-form-absolute .list_yuejizhi-form-absolute-foot>span,
.list_yuejizhi-body-absolute .swiper-slide>p,
.list_yuejizhi-body-title-h>h2,
.list_yuejizhi-body-title-h>h3,
.list_yuejizhi-body-title-h>h4,
.list_yuejizhi-body-body p,
.list_yuejizhi-body-body>h3,
.list_yuejizhi-body-title-h-p p,
.list_yuejizhi-body-body-ul3>ul li>span,
.list_shaonuzhen-p p,
.list_shaonuzhen .list_shaonuzhen-p2 em,
.list_shaonuzhen .list_dianbo-gongxiao-p2-p-body {
  color: var(--gold-text);
}
.list_ldrzss-div.dd_5 .list_ldrzss-gongxiao-p-div-div.pp_1 p,
.list_yuejizhi-body .list_yuejizhi-body-title-p>p {
  color: #737373;
}
.list_banner.wzmx_top .list_ldrzss-body>p>em,
.list_banner.wzmx_top .list_ldrzss-body>p {
  color: #be4f4f;
}
.denglizi_body.denglizi_body-title-li>p {
  color: #c64854;
}
.tianchong>.p1,
.tianchong>.p2 {
  color: #935ea6;
}
.denglizi_pc7 .denglizi_body-title-ul2>ul>li p,
.denglizi_body-title-ul2>ul>li p {
  color: #c6485e;
}
.denglizi_body-title-ss.denglizi_body p {
  color: #95619c;
}
.list_wzjdst-title-h>span,
.list_wzjdst-title-h.yuanli>h2,
.list_wzjdst-yuanli-div p,
.list_wzjdst-list-div-title p,
.list_wzjdst-list-div-title span {
  color: #4c7a82;
}
.list_bingbingzhen-body-fudong>ul li p {
  color: #54779e;
}
.list_bingbingzhen-p p {
  color: #587696;
}
.list_yuejizhi-body.y7_1 .list_yuejizhi-body-title-h>h2,
.list_yuejizhi-body.y7_1 .list_yuejizhi-body-title-p>p,
.list_yuejizhi-body.y7_1 .list_yuejizhi-body-absolute-pp>p,
.list_yuejizhi-body-list-on-body.y7_1 .list_yuejizhi-body-list-on>a>em,
.list_yuejizhi-body-list-on-body.y7_1 .list_yuejizhi-body-list-on>a>span,
.list_yuejizhi-body-list-on-body.y7_1 .list_yuejizhi-body-list-on>a>span>span,
.list_yuejizhi-body-list-on-body.y7_1 .list_yuejizhi-body-list-on .list_dianbo-gongxiao-p2-p-body {
  color: #5d7697;
}
.list_shaonuzhen-ul-border>ul li p {
  color: #d14051;
}
}
@media only screen and (max-width: 767px) and (min-width: 200px) {
.list_yuejizhi-banner-absolute .list_yuejizhi-banner-body-foot p,
.list_dianbo-gongxiao .list_dianbo-gongxiao-p,
.list_dianbo-gongxiao .list_dianbo-gongxiao-p>p,
.list_dianbo-gongxiao.dd_3 .list_dianbo-gongxiao-p2,
.list_dianbo-gongxiao.dd_4 .list_dianbo-gongxiao-p2,
.list_dianbo-gongxiao.dd_5 .list_dianbo-gongxiao-p2,
.list_dianbo-gongxiao.dd_6 .list_dianbo-gongxiao-p2,
.list_dianbo-gongxiao.dd_6 .list_dianbo-gongxiao-p3,
.list_dianbo-gongxiao.dd_7 .list_dianbo-gongxiao-h>h2,
.list_dianbo-gongxiao.dd_7 .list_dianbo-gongxiao-p2,
.list_ldrzss-gongxiao-p,
.list_ldrzss .list_dianbo-gongxiao-p2 .list_on,
.list_ldrzss-div.dd_2 .list_ldrzss-gongxiao-p2 p,
.list_ldrzss-div.dd_3 .list_dianbo-gongxiao-p2 .list_on,
.list_ldrzss-div.dd_3 .list_dianbo-gongxiao-p2 .list_dianbo-gongxiao-p2-p em,
.list_ldrzss-div.dd_3 .list_dianbo-gongxiao-p2 .list_dianbo-gongxiao-p2-p a p,
.list_ldrzss-zhengshu .swiper-slide>p,
.list_ldrzss-zhengshu .swiper-slide-p>p,
.list_ldrzss-div.dd_6 .list-paddingleft-2>li>p,
.list_ldrzss-div.dd_6 .list_ldrzss-gongxiao-p-body,
.list_ldrzss-div.dd_6 .list_ldrzss-gongxiao-p-body p,
.list_banner.top_70>.list_ldrzss-body>p,
.list_lunkuotila-body.dd_2.list_lunkuotila-jishu .list_lunkuotila-body-h p,
.list_lunkuotila-body-div-p p,
.list_lunkuotila-body-p>p,
.list_lunkuotila-body-p-r>p,
.list_lunkuotila-body-p2>p,
.list_lunkuotila-body-p3>p,
.list_lunkuotila-body.dd_2 .list_lunkuotila-body-p,
.list_lunkuotila-body.dd_2 .list_lunkuotila-body-p2,
.list_pmjg-body-body-h>h2,
.list_pmjg-body-p>p,
.list_pmjg-body-p3>p,
.list_pmjg-body-h>h2,
.list_pmjg-body-h>h3,
.list_pmjg-body .list_dianbo-gongxiao-p2-p em,
.list_pmjg-body .list_dianbo-gongxiao-p2-p a p,
.list_pmjg-body .list_pmjg-body-h.pmjg_top6 .list_pmjg-body-pp,
.list_pmjg-body .list_pmjg-body-h.pmjg_top8>p,
.list_pmjg-body .list_pmjg-body-h.pmjg_top8>h2,
.list_pmjg-body .list_pmjg-body-p2>p,
.list_pmjg-body-p3.pmjg_top10 .list_pmjg-body-p3-f1 p,
.list_pmjg-body-h.pmjg_top7>h3,
.list_pmjg-body-h.pmjg_top11 p,
.list_pmjg-body-p3.pmjg_top13 div,
.list-paddingleft-2>li p,
.chuantong>p,
.gaoxiao>h3,
.gaoxiao-p>p,
.gaoxiao-p-p,
.gaoxiao_body,
.chengyin-p,
.chengyin_ul.ul_2>h2,
.chengyin_ul .swiper-slide p,
.chengyin_ul .swiper-slide .swiper-slide-p,
.zhuyi-p>h3,
.zhuyi-p>.p1,
.list_banner.wzmx_top .list_ldrzss-body>p>em,
.list_pmjg-body.dd_4 .list_pmjg-body-h.top310 p,
.list_pmjg-body.wzmx_4 .list_pmjg-body-p2>h2,
.list_pmjg-body.wzmx_5 .list_pmjg-body-h h2,
.list_wzmx>p,
.list_wzmx-img>p,
.wzmx_6>h2,
.list_tuoyou-body>p,
.list_tuoyou-title>h2,
.list_tuoyou-p,
.list_tuoyou-img>p,
.list_tuoyou-neirong,
.list_tuoyou-img-w>h2,
.list_tuoyou-img-w p,
.denglizi_body p,
.denglizi_body-tab .denglizi_body-tab-div .list_on,
.denglizi_body-tab .denglizi_body-tab-div .list_on>span,
.denglizi_body-div-img-div>span,
.list_wzjdst-title-h>h2,
.list_wzjdst-p p,
.list_wzjdst-lunbo .swiper-slide p,
.list_wzjdst-lunbo .swiper-slide span,
.list_mbbshl-title-h>h2,
.list_bingbingzhen-p .list_bingbingzhen-title-img-body-p>p,
.bingbingzhen_banner-body>h2,
.bingbingzhen_banner-body>p,
.list_bingbingzhen-body-fudong>ul li span,
.list_bingbingzhen-p .yse p,
.list_yuejizhi-body-absolute .swiper-slide>p,
.list_yuejizhi-body-body-list .list_yuejizhi-body-body-list-on>a em,
.list_yuejizhi-body-body-list .list_yuejizhi-body-body-list-on>a span,
.list_yuejizhi-body-body-list .list_yuejizhi-body-body-list-on .list_dianbo-gongxiao-p2-p-body.on,
.list_yuejizhi-body-dierneirong,
.list_yuejizhi-body-list-on>a>em,
.list_yuejizhi-body-list-on>a>span,
.list_yuejizhi-body-list-on>a>span>span,
.list_yuejizhi-body-list-on .list_dianbo-gongxiao-p2-p-body,
.list_yuejizhi-body-div>p,
.list_yuejizhi-body-absolute-pp>p,
.list_yuejizhi-body.y8_1 .list_yuejizhi-body-title-h>h2,
.list_yuejizhi-body.y8_1 .list_yuejizhi-body-title-p>p,
.list_yuejizhi-form-absolute .list_yuejizhi-form-absolute-foot>p,
.list_yuejizhi-form-absolute .list_yuejizhi-form-absolute-foot>span,
.list_yuejizhi-body-title-h>h4,
.list_yuejizhi-body-body p,
.list_yuejizhi-body-body>h3,
.list_yuejizhi-body-title-h-p p,
.list_yuejizhi-body-body-ul3>ul li>span,
.list_wzmx-body-absolute h2,
.list_shaonuzhen .list_shaonuzhen-p2 em,
.list_shaonuzhen .list_dianbo-gongxiao-p2-p-body {
  color: var(--gold-text);
}
.list_ldrzss-div.dd_5 .list_ldrzss-gongxiao-p-div-div.pp_1 p,
.list_yuejizhi-body .list_yuejizhi-body-title-p>p {
  color: #737373;
}
.list_banner.wzmx_top .list_ldrzss-body>p {
  color: #be4f4f;
}
.list_pmjg-body-h.top310>p {
  color: #747474;
}
.denglizi_body.denglizi_body-title-li>p {
  color: #c64854;
}
.tianchong>.p1,
.tianchong>.p2 {
  color: #935ea6;
}
.denglizi_body-title-ul2>ul>li p {
  color: #c6485e;
}
.denglizi_body-title-ss.denglizi_body p {
  color: #95619c;
}
.list_wzjdst-title-h>span,
.list_wzjdst-title-h.yuanli>h2,
.list_wzjdst-yuanli-div p,
.list_wzjdst-list-div-title p,
.list_wzjdst-list-div-title span {
  color: #4c7a82;
}
.list_wzjdst-title-h>.list_bingbingzhen-rl>p,
.list_bingbingzhen-body-fudong>ul li p {
  color: #54779e;
}
.list_bingbingzhen-p p {
  color: #587696;
}
.list_yuejizhi-body.y7_1 .list_yuejizhi-body-title-h>h2,
.list_yuejizhi-body.y7_1 .list_yuejizhi-body-title-p>p,
.list_yuejizhi-body.y7_1 .list_yuejizhi-body-absolute-pp>p,
.list_yuejizhi-body-list-on-body.y7_1 .list_yuejizhi-body-list-on>a>em,
.list_yuejizhi-body-list-on-body.y7_1 .list_yuejizhi-body-list-on>a>span,
.list_yuejizhi-body-list-on-body.y7_1 .list_yuejizhi-body-list-on>a>span>span,
.list_yuejizhi-body-list-on-body.y7_1 .list_yuejizhi-body-list-on .list_dianbo-gongxiao-p2-p-body {
  color: #5d7697;
}
.list_shaonuzhen-ul-border>ul li p {
  color: #d14051;
}
}

/* 9.2 版面修正 */
/* 少女針頁(Ellansé):.top420 只在移動端定義了 top:420px,寬屏為 auto,
   於是標題及說明文字落在圖片底部,與下方展開面板「30% PCL / 70% CMC」的文字互相重疊。
   移動端 420px 約為圖片高度(寬 375 × 2.864)的 39%;寬屏容器固定 900px 寬 → 1008px */
@media only screen and (min-width: 768px) {
  .list_shaonuzhen-div > .list_shaonuzhen-title-h.top420 {
    top: 1008px;
  }
}
/* 平板(768–899px):.list_shaonuzhen 固定 900px 寬,右側被裁掉約 130px(Juvéderm 標誌、「VYCROSS 交聯連結技術」等)。
   版面是按 900px 設計(文字用 px 絕對定位在圖上),直接改成 100% 寬會令文字與圖片錯位,
   故整塊等比縮放到視口寬度(以 32px 為一檔,內容最多比視口窄 3.5%,居中) */
@media only screen and (min-width: 768px) and (max-width: 799px) {
  .list_shaonuzhen {
    zoom: 0.853;
  }
}
@media only screen and (min-width: 800px) and (max-width: 831px) {
  .list_shaonuzhen {
    zoom: 0.888;
  }
}
@media only screen and (min-width: 832px) and (max-width: 863px) {
  .list_shaonuzhen {
    zoom: 0.924;
  }
}
@media only screen and (min-width: 864px) and (max-width: 895px) {
  .list_shaonuzhen {
    zoom: 0.96;
  }
}
@media only screen and (min-width: 896px) and (max-width: 899px) {
  .list_shaonuzhen {
    zoom: 0.995;
  }
}
/* 超聲刀頁橫幅:說明文字塊(高約 503px)貼橫幅底部排列,主標「提拉界領航者全面升級」固定在 top:247px。
   橫幅高度隨寬度縮小(1440px 時 955px、1100px 時 729px、768px 時 509px),寬度 <1200px 時兩者互相疊壓。
   <1200px 時橫幅保底 800px 高,背景圖按高度鋪滿(左右居中裁切),文字塊頂部落在標題下方約 34px */
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .list_banner.top_70 {
    min-height: 800px;
  }
  .list_banner.top_70 > img.pc {
    height: 800px;
    object-fit: cover;
    object-position: center top;
  }
}
/* 等離子頁:換用 Noto Sans HK 後 line-height:normal 由約 1.16 變 1.45,英文小標與中文主標佔高變大,
   與下方絕對定位的副標題相碰。恢復原站行高 */
.list_ldrzss-gongxiao-h > h2,
.list_ldrzss-gongxiao-h > h3 {
  line-height: 1.16;
}

/* 等離子頁氣泡內的「P l a P a s s / 離 子 傳 送」:字間用空格撐開,窄容器內 WebKit 會逐詞折成 4 行並壓到下方副標題。
   Chromium / Firefox 本來就是兩行,鎖定不折行即可 */
.denglizi_body.tianchong > p {
  white-space: nowrap;
}

/* 9.3 字重:同一頁內圖上大標題(h2)字重 300 / 400 / 500 / 600 混用,統一為 500,與全站標題一致 */
.list_shaonuzhen-div .list_shaonuzhen-title-h > h2,
.list_shaonuzhen-div .h2-font-weight-300 > h2 {
  font-weight: 500;
}

/* 9.4 折行:圖上居中的短句換行時避免只剩一兩個字落單(如「…飽滿蘋 / 果肌」) */
.list_shaonuzhen-p p,
.list_shaonuzhen-list_on-p p,
.list_ldrzss-gongxiao-p p,
.list_pmjg-body-p p,
.list_pmjg-body-h p,
.list_wzjdst-p p,
.list_lunkuotila-body-p p,
.list_lunkuotila-body-p2 p {
  text-wrap: balance;
}

/* 9.4b 冷凍溶脂頁:說明文字起首幾行疊在儀器底座 / 輪子上(原站同樣如此),加柔和白色光暈托底,不改位置 */
.list_ldrzss-div:has(> .list_dianbo-gongxiao-img) > .list_ldrzss-gongxiao-p {
  text-shadow: 0 0 5px rgba(255, 255, 255, 0.95), 0 0 2px #fff, 0 0 10px rgba(255, 255, 255, 0.8);
}

/* 9.5 淺色漸變底上的白字(玫瑰線雕頁底部一段說明文字,圖片向下漸隱為白色):加柔和暗色投影保證可讀 */
.list_pmjg-body-h.foot_139 > p,
.list_pmjg-body-h.wzmx_jixian > p {
  text-shadow: 0 1px 6px rgba(40, 22, 18, 0.55);
}

/* 9.6 手機版圖上文字在寬屏手機 / 小平板(400–767px)錯位:
   手機版(≤767px)把文字用 px 絕對定位在隨寬度等比放大的圖上(按 375px 寬設計),視口越寬圖越大、文字位置卻不動,
   於是標題 / 說明跑到別的圖塊上(如 HArmonyCa 735px 寬時「療效立即可見」壓在用家見證前後對比圖上)。
   把這些海報式區塊等比放大到視口寬度(zoom ≈ 視口寬 / 375,以 12px 為一檔取中值,偏差 <1.6%),版面就與 375px 時完全一致。
   只作用於療程頁的海報容器;摘要 / 事實表 / 表單 / 頁腳不受影響。<400px 不變。
   (瀏覽器暫不支持 zoom: calc(100vw / 375px) 這類帶單位相除,故分檔) */
@media only screen and (min-width: 400px) and (max-width: 767px) {
  main .list_banner,
  main .list_shaonuzhen,
  main .list_lunkuotila,
  main .list_mbbshl,
  main .list_dianbo,
  main .list_pmjg,
  main .list_wzjdst,
  main .list_ldrzss,
  main .meishenzhen,
  main .list_bingbingzhen-body,
  main .index_zheng.list_zheng {
    zoom: var(--pz, 1);
  }
}
@media only screen and (min-width: 400px) and (max-width: 411px) {
  main {
    --pz: 1.083;
  }
}
@media only screen and (min-width: 412px) and (max-width: 423px) {
  main {
    --pz: 1.115;
  }
}
@media only screen and (min-width: 424px) and (max-width: 435px) {
  main {
    --pz: 1.147;
  }
}
@media only screen and (min-width: 436px) and (max-width: 447px) {
  main {
    --pz: 1.179;
  }
}
@media only screen and (min-width: 448px) and (max-width: 459px) {
  main {
    --pz: 1.211;
  }
}
@media only screen and (min-width: 460px) and (max-width: 471px) {
  main {
    --pz: 1.243;
  }
}
@media only screen and (min-width: 472px) and (max-width: 483px) {
  main {
    --pz: 1.275;
  }
}
@media only screen and (min-width: 484px) and (max-width: 495px) {
  main {
    --pz: 1.307;
  }
}
@media only screen and (min-width: 496px) and (max-width: 507px) {
  main {
    --pz: 1.339;
  }
}
@media only screen and (min-width: 508px) and (max-width: 519px) {
  main {
    --pz: 1.371;
  }
}
@media only screen and (min-width: 520px) and (max-width: 531px) {
  main {
    --pz: 1.403;
  }
}
@media only screen and (min-width: 532px) and (max-width: 543px) {
  main {
    --pz: 1.435;
  }
}
@media only screen and (min-width: 544px) and (max-width: 555px) {
  main {
    --pz: 1.467;
  }
}
@media only screen and (min-width: 556px) and (max-width: 567px) {
  main {
    --pz: 1.499;
  }
}
@media only screen and (min-width: 568px) and (max-width: 579px) {
  main {
    --pz: 1.531;
  }
}
@media only screen and (min-width: 580px) and (max-width: 591px) {
  main {
    --pz: 1.563;
  }
}
@media only screen and (min-width: 592px) and (max-width: 603px) {
  main {
    --pz: 1.595;
  }
}
@media only screen and (min-width: 604px) and (max-width: 615px) {
  main {
    --pz: 1.627;
  }
}
@media only screen and (min-width: 616px) and (max-width: 627px) {
  main {
    --pz: 1.659;
  }
}
@media only screen and (min-width: 628px) and (max-width: 639px) {
  main {
    --pz: 1.691;
  }
}
@media only screen and (min-width: 640px) and (max-width: 651px) {
  main {
    --pz: 1.723;
  }
}
@media only screen and (min-width: 652px) and (max-width: 663px) {
  main {
    --pz: 1.755;
  }
}
@media only screen and (min-width: 664px) and (max-width: 675px) {
  main {
    --pz: 1.787;
  }
}
@media only screen and (min-width: 676px) and (max-width: 687px) {
  main {
    --pz: 1.819;
  }
}
@media only screen and (min-width: 688px) and (max-width: 699px) {
  main {
    --pz: 1.851;
  }
}
@media only screen and (min-width: 700px) and (max-width: 711px) {
  main {
    --pz: 1.883;
  }
}
@media only screen and (min-width: 712px) and (max-width: 723px) {
  main {
    --pz: 1.915;
  }
}
@media only screen and (min-width: 724px) and (max-width: 735px) {
  main {
    --pz: 1.947;
  }
}
@media only screen and (min-width: 736px) and (max-width: 747px) {
  main {
    --pz: 1.979;
  }
}
@media only screen and (min-width: 748px) and (max-width: 759px) {
  main {
    --pz: 2.011;
  }
}
@media only screen and (min-width: 760px) and (max-width: 767px) {
  main {
    --pz: 2.037;
  }
}

/* ---------- 10. 提示對話框(取代瀏覽器原生 alert;腳本在 SiteScripts.tsx 的 openDialog) ---------- */
html.rt-dialog-lock {
  overflow: hidden;
}
.rt-dialog {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(59, 48, 41, 0.45);
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
  opacity: 0;
  transition: opacity 0.22s var(--ease);
}
.rt-dialog.is-open {
  opacity: 1;
}
.rt-dialog__panel {
  box-sizing: border-box;
  width: min(420px, 100%);
  padding: 40px 32px 30px;
  text-align: center;
  background: #fff;
  border-top: 3px solid var(--gold-500);
  border-radius: 4px;
  box-shadow: 0 30px 70px -22px rgba(74, 44, 24, 0.45);
  transform: translateY(14px) scale(0.98);
  transition: transform 0.4s var(--ease);
}
.rt-dialog.is-open .rt-dialog__panel {
  transform: none;
}
.rt-dialog__icon {
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  margin: 0 auto 20px;
  border-radius: 50%;
  background: var(--gold-100);
  color: var(--gold-700);
}
.rt-dialog.is-error .rt-dialog__icon {
  background: #f8e9e5;
  color: var(--danger);
}
.rt-dialog.is-error .rt-dialog__panel {
  border-top-color: var(--danger);
}
.rt-dialog__tick {
  stroke-dasharray: 36;
  stroke-dashoffset: 36;
}
.rt-dialog.is-open .rt-dialog__tick {
  animation: rt-tick 0.45s 0.18s var(--ease) forwards;
}
@keyframes rt-tick {
  to {
    stroke-dashoffset: 0;
  }
}
.rt-dialog__title {
  margin: 0 0 10px;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.2em;
  color: var(--brown-900);
}
.rt-dialog__msg {
  margin: 0 0 28px;
  font-size: 15px;
  line-height: 1.8;
  color: var(--ink-soft);
}
.rt-dialog__btn {
  min-width: 140px;
  height: 44px;
  padding: 0 28px;
  border: 0;
  border-radius: 2px;
  background: var(--gold-500);
  color: var(--brown-950);
  font-size: 15px;
  letter-spacing: 0.2em;
  cursor: pointer;
  transition: background-color var(--dur) var(--ease), color var(--dur) var(--ease), box-shadow var(--dur) var(--ease),
    transform 0.12s var(--ease);
}
.rt-dialog__btn:hover {
  background: var(--brown-900);
  color: #fff;
  box-shadow: var(--shadow-sm);
}
.rt-dialog__btn:active {
  transform: scale(0.98);
}
.rt-dialog__btn:focus-visible {
  outline: 2px solid var(--brown-900);
  outline-offset: 3px;
}
@media (max-width: 480px) {
  .rt-dialog__panel {
    padding: 32px 22px 24px;
  }
  .rt-dialog__btn {
    width: 100%;
  }
}
@media (prefers-reduced-motion: reduce) {
  .rt-dialog,
  .rt-dialog__panel {
    transition: none;
  }
  .rt-dialog__tick {
    stroke-dashoffset: 0;
    animation: none !important;
  }
}
