/*

Copyright (c) 2009, Shawphy(shawphy.com). All rights reserved.
http://shawphy.com/2009/03/my-own-reset-css.html
Based on YUI http://developer.yahoo.com/yui/reset/
and Eric Meyer http://meyerweb.com/eric/tools/css/reset/index.html
Licensed under the BSD License:
http://creativecommons.org/licenses/BSD/
version: 1.1 | 20090303

*/

/*
Copyright (c) 2009, Shawphy(shawphy.com). All rights reserved.
http://shawphy.com/2009/03/my-own-reset-css.html
Based on YUI http://developer.yahoo.com/yui/reset/
and Eric Meyer http://meyerweb.com/eric/tools/css/reset/index.html
Licensed under the BSD License:
http://creativecommons.org/licenses/BSD/
*/

* {
	font-size:14px;
}

header, menu, nav, section, footer, body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, button, textarea, p, blockquote, th, td {
	margin: 0;
	padding: 0;
}

fieldset, img {
	border: 0;
}

/* remember to define focus styles! */

:focus {
	outline: 0;
}

/*address, caption, cite, code, dfn, em, strong, th, var, optgroup {
	font-style: normal;
	font-weight: normal;
}*/

abbr, acronym {
	border: 0;
	font-variant: normal;
}

input, button, textarea, select, optgroup, option {
	font-family: inherit;
	font-size: inherit;
	font-style: inherit;
	font-weight: inherit;
}

code, kbd, samp, tt {
	font-size: 100%;
}

/*@branch For IE6-Win, IE7-Win */

input, button, textarea, select {
	*font-size: 100%;
}

body {
	line-height: 1.5;
}

ol, ul {
	list-style: none;
}

/* tables still need 'cellspacing="0"' in the markup */

table {
	border-collapse: collapse;
	border-spacing: 0;
}

caption, th {
	text-align: left;
}

sup, sub {
    /* font-size: 100%; */
    vertical-align: baseline;
    vertical-align: super;
    font-size: smaller;
}

/* remember to highlight anchors and inserts somehow! */

:link, :visited, ins {
	text-decoration: none;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none;
}

/*20120626 lala add*/

* tr td {
	overflow:hidden;
	word-break: break-all;
}

/*20150203 Justin add*/

img {
	margin:0;
    vertical-align: middle;
    image-rendering:-moz-crisp-edges;

/* Firefox        */
    image-rendering:-o-crisp-edges;

/* Opera          */
    image-rendering:-webkit-optimize-contrast;

/* Safari         */
    image-rendering:optimize-contrast;

/* CSS3 Proposed  */
    -ms-interpolation-mode:nearest-neighbor;
}

/*20170731 Justin add*/

strong {
	font-weight:bolder;
	font-size: inherit;
}

/*20220217 Justin add*/

input[type="button"], input[type="submit"] {
    cursor: pointer;
    transition: .5s;
}

input[type="button"]:hover, input[type="submit"]:hover {
    filter: brightness(1.2);
}

:root {
  --primary-color: #3A3A39;
  --secondary-color: #1E88A8;
  --bg-color: #f7f9fc;
  --text-color: #333333;
  --divider-color: #eaeaea;
  --white: #ffffff;
}

@charset "utf-8";

/* CSS Document */

*, body, h1, h2, h3, h4, h5, h6, a, p, select {
	font-family: "微軟正黑體", "Microsoft JhengHei", sans-serif, Arial, Helvetica;
}

/*文字反選顏色*/

::selection, ::-moz-selection {
	background: #e78d09;
	color: #ffffff;
}

/*a:focus {
	background-color: #F7AD00 !important;
}*/

a {
	transition: .5s;
}

/*
-----行動版隱藏-----
*/

html {
	height: 100%;
	margin: 0;
}

body {
	margin: 0;
	min-height: 100%;
	background: #fff;
}

/*清除格式*/

section::after, header::after {
	content: "";
	display: block;
	clear: both;
}

/*
-----WebStart-----
*/

#wrap {
	display: block;
	position: relative;
}

#PageBG {
	object-fit: cover;
	height: 100%;
	width: 100%;

	position: absolute;
	top: 0;
	left: 0;
}

/*
-----頁首(WUC_header.php)-----
*/

header {
    display: block;
    position: fixed;
    z-index: 99;
    padding: 10px 15px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    width: 100%;
    box-sizing: border-box;
    font-size: 0;
    background: var(--white);
    top: 0;
    transition: .5s;
}

/*
-----Menu-----
*/

#Logo {
    display: inline-block;
    vertical-align: middle;
    width: 151px;
    padding: 0;
}

#Logo img {
    display: block;
    height: 80px;
    width: auto;
}

nav {
    display: inline-block;
    vertical-align: middle;
    width: calc(100% - 151px);
}

nav ul {
    font-size: 0;
    display: block;
    width: 100%;
    text-align: right;
}

nav li {
    display: inline-block;
    vertical-align: middle;
    text-align: left;
    margin-left: 2%;
	position: relative;
}

nav li a { color: var(--primary-color); font-weight: bold; }

nav li.active a { color: var(--secondary-color); }

nav li a:hover { color: var(--secondary-color); }

nav li a div {
    font-size: 1.2rem;
    line-height: 20px;
}

/*
-----BODY-----
*/

article.page { padding-top: 0; }

/*
-----FOOTER-----
*/

footer {
	background: #2187a7;
}

/*回頂端*/

#Gotop {
    display: block;
    position: fixed;
    right: -40px;
    bottom: -70px;
    z-index: 10;
    transform: rotate(-90deg);
    transition: .5s;
    text-shadow: 0 0 5px #000;
}

#Gotop.active {
    bottom: 130px;
}

#Gotop a {
    border-bottom: 1px solid #fff;
    padding-right: 40px;
    display: block;
    color: #fff;
    position: relative;
}

#Gotop a::after {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    height: 25px;
    width: 1px;
    background: #fff;
    bottom: 0;
    transform-origin: center bottom;
    transform: rotate(-45deg);
}

/*尋找院所按鈕*/

#LocateLink {
    display: block;
    position: fixed;
    right: 0;
    bottom: 0;
    z-index: 20;
}

#LocateLink a {
    display: block;
    padding: 0 20px;
    font-size: 0;
    color: #fff;
    text-align: center;
    position: relative;
}

#LocateLink a > div:first-child {
    display: inline-block;
    vertical-align: bottom;
    margin-right: 5px;
}

#LocateLink img {
    display: block;
    width: auto;
    height: 45px;
}

#LocateLink a > div:last-child {
    display: inline-block;
    font-size: 1.2rem;
    padding-bottom: 2px;
	color: #fff;
}

#LocateLink a::after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 70%;
    bottom: 0;
    right: 0;
    z-index: -1;
    transform-origin: bottom;
    transform: skewX(-20deg);
	background: #3da093;
}

/*
-----共用寬度-----
*/

.siteWidth {
    width: 95%;
    max-width: 1200px;
    margin: 0 auto;
}

/*
-----最新消息圖片設定-----
*/

.articleImg,

/*----------背景----------*/

/*----------內頁標題----------*/article.page > h1 {
    padding-top: 40px;
    display: block;
    margin-bottom: 40px;
    color: #3da093;
    text-shadow: 0 0 5px #fff;
}

article.page h1 span {
    display: block;
}

article.page h1 span:first-child {
    font-size: 2rem;
    line-height: 2rem;
}

article.page h1 span:last-child {
    font-size: 2rem;
    line-height: 2rem;
}

/*
-----上下頁按鈕-----
*/

.PageCtrlLBtn {
    display: block;
    float: left;
    width: 20%;
    text-align: right;
}

.PageCtrlRBtn {
    float: right;
    display: block;
    width: 20%;
    text-align: left;
}

.PageCtrlLBtn a > div::before, .PageCtrlRBtn a > div::after {
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 0;
    height: 0;
    border-style: solid;
}

.PageCtrlLBtn a > div::before {
    border-width: 12.5px 25px 12.5px 0;
    border-color: transparent #0a3977 transparent transparent;
}

.PageCtrlRBtn a > div::after {
    border-width: 12.5px 0 12.5px 25px;
    border-color: transparent transparent transparent #0a3977;
}

.PageCtrlLBtn a > div::after, .PageCtrlRBtn a > div::before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: calc(100% - 25px);
    background: #0a3977;
    height: 1px;
}

/*
-----搜尋表單-----
*/

#kw {
    border: 1px solid #fff;
    background: rgba(255, 255, 255, 1);
    padding: 10px;

/* border-radius: 50px; */
    width: 300px;
    font-size: 1.5rem;

/* text-align: center; */
    margin-right: 10px;
    vertical-align: middle;
}

select {
    height: 50px;
    width: 110px;
    font-size: 1.5rem;
    vertical-align: middle;
    background: url(../images/icon_arrow.svg) right 10px center no-repeat, rgba(255, 255, 255, 1);
    background-size: 15px;
    border: 1px solid #fff;
    color: #707070;
    padding: 0 15px;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    margin-right: 10px;
}

/*
-----編輯器設定-----
*/

.FormContent span {
	font-size: inherit;
	font-weight: inherit;
}

.FormContent strong {
	font-size: inherit;
	font-weight: bolder;
}

.FormContent img {
    display: block;
    width: auto;
	max-width: 100%;
    height: auto !important;
}

.FormContent p, .FormContent li {
    font-size: 1.2rem;
	text-align: justify;
}

.FormContent ul, .FormContent ol {
    margin-left: 20px;
    list-style: disc;
}

/*文字區*/

.TitleTxt {
    margin-bottom: 50px;
}

.TitleTxt img {
    display: block;
    width: 100%;
    height: auto;
}

.SecTitle {
    font-size: 1.8rem;
    color: #008D70;
    letter-spacing: 0.25rem;
    margin-top: 0.5vw;
}

/*
-----最新消息:內容頁-----
*/

.Content {
    font-size: 1.2rem;
    word-wrap:break-word;
}

.Content p {
    font-size: 1em;
    margin-bottom: 1em;
}

.Content h2 {
    font-size: 1.4em;
    color: #1c346c;
}

.Content h3 {
    font-size: 1.2em;
    color: #1c346c;
}

.Content img {display: block;width: auto;max-width: 100%; margin: 0 auto;}

/*置頂影音*/

#VideoTop {
    margin-top: -60px !important;
    position: relative;
    z-index: 5;
}

#VideoTop > a {
    display: block;
    position: relative;
    padding-top: 56.25%;
    background-size: cover !important;
    background-position: center !important;
}

.videoTopShareBtn {
    display: block;
    position: absolute;
    bottom: 20px;
    right: 20px;
    font-size: 0;
    text-align: center;
    width: 80px;
}

.videoTopShareBtn a {
    display: inline-block;
    vertical-align: middle;
}

.videoTopShareBtn a:first-child {
    margin-right: 15px;
}

/*常見問題列表*/

.active

.active

/*常見問題搜尋結果*/

/*----------院所地圖----------*/

/*院所搜尋*/

/* ── 產品簡介 (product_info.php) ── */
#productInfo_A {
    padding: 180px 0 60px;
    background: linear-gradient(to bottom, #FAFCFD 0%, #EFF6F8 100%);
    text-align: center;
}

.ApplicatorOuter {
    position: relative;
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
    padding: 100px 0;
    display: flex;
    align-items: center;
}

.ApplicatorContainer {
    position: relative;
    width: 65%;
    max-width: 1100px;
    margin: 0;
    container-type: inline-size;
}

.ApplicatorImg {
    width: 100%;
    height: auto;
    display: block;
    margin: 0;
    filter: drop-shadow(0 20px 50px rgba(11,25,33,0.15));
}

/* 質感定位點 */

.TargetDot {
    position: absolute;
    width: 18px;
    height: 18px;
    background: #2187a7;
    border: 3px solid #fff;
    border-radius: 50%;
    z-index: 100;
    box-shadow: 0 4px 10px rgba(60,160,147,0.4);
    transform: translate(-50%, -50%);
}

.TargetDot::after {
    content: '';
    position: absolute;
    top: -6px; left: -6px;
    width: 24px; height: 24px;
    border-radius: 50%;
    border: 2px solid #2187a7;
    animation: pulseRed 2s infinite;
}

@keyframes pulseRed {
    0% { transform: scale(1); opacity: 1; }

100% { transform: scale(1.6); opacity: 0; }
}

/* 確實的拉線設計 (實線，綠色，層級比圓點小) */

.LineH, .LineV {
    position: absolute;
    background: #2187a7;
    z-index: 40;
}

/* 左右特色說明區塊基礎設定 */

.ApplicatorFeature {
    position: absolute;
    text-align: left;
    background: rgba(255, 255, 255, 0.95);
    padding: 25px 30px;
    border-radius: 20px;
    box-shadow: 0 15px 40px rgba(11,25,33,0.08);
    width: calc(320 / 910 * 100cqw);
    min-width: 300px;
    z-index: 50;
    backdrop-filter: blur(5px);
    cursor: default;
}

/* Dot1 專屬設定 (2.45GHz超微波科技) */

#Dot1 .FeatureRight {
    top: calc(-300 / 910 * 100cqw);
    left: calc(100 / 910 * 100cqw);
    transform: none;
}

#Dot1 .LineV {
    width: 2px;
    height: calc(218 / 910 * 100cqw);

/* 從圓心往上畫到轉折點 */
    bottom: 50%;

/* 往上生長 */
    left: 50%;
}

#Dot1 .LineH {
    height: 2px;
    width: calc(120 / 910 * 100cqw);
    top: calc(-212 / 910 * 100cqw);

/* 轉折點：離 dot 上方 150px，對應 box (高250) 靠近中下的位置 */
    left: 50%;
}

/* Dot2 專屬設定 (低溫冷卻調控) */

#Dot2 .FeatureRight {
    top: 0px;
    left: calc(300 / 910 * 100cqw);
    transform: none;
}

#Dot2 .LineV {
    width: 2px;
    height: calc(99 / 910 * 100cqw);

/* 從圓心往下畫到轉折點 */
    top: 50%;
    left: 50%;
}

#Dot2 .LineH {
    height: 2px;
    width: calc(430 / 910 * 100cqw);
    top: calc(108 / 910 * 100cqw);

/* 轉折點：距 box 頂部 (60px) 約 40px 的位置 */
    left: 50%;
}

.ApplicatorFeature h3 {
    font-size: 1.6rem;
    color: #1A313A;
    font-weight: 900;
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 2px solid #E0EDEF;
    position: relative;
}

.ApplicatorFeature h3::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 40%;
    height: 2px;
    background: linear-gradient(90deg, #2187a7 0%, transparent 100%);
}

.ApplicatorFeature h3::before {
    content: '';
    display: inline-block;
    width: 8px;
    height: 22px;
    background: #2187a7;
    margin-right: 12px;
    border-radius: 4px;
    vertical-align: -2px;
}

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

.ApplicatorFeature li {
    font-size: 1.05rem;
    color: #44545E;
    line-height: 1.6;
    margin-bottom: 15px;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.ApplicatorFeature li:last-child {
    margin-bottom: 0;
}

.checkIcon {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    margin-top: 2px;
}

/*
-----雙欄特點對比-----
*/

#productInfo_B {
    padding: 80px 0;
    background: #fff;
}

.InfoBlock {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    background: #F2F7F9;
    border-radius: 24px;
    padding: 60px;
    margin-bottom: 60px;
    box-shadow: 0 10px 40px rgba(11,25,33,0.04);
}

.InfoBlock.reverse {
    flex-direction: row-reverse;
    background: #E9F3F6;
}

.FaceImg {
    flex: 0 0 35%;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
}

.FaceTypeTxt {
    display: block;
    position: relative;
    height: 46px;
    width: 100%;
    max-width: 273px;
    margin-bottom: 20px;
}

.FaceTypeTxt > div {
    display: block;
    position: absolute;
    background: linear-gradient(135deg, #2187a7 0%, #2A7A6F 100%);
    color: #fff;
    text-align: center;
    font-size: 1.1rem;
    font-weight: 700;
    border-radius: 100px;
    padding: 10px 0;
    width: 100%;
    top: 0;
    left: 0;
    box-shadow: 0 5px 15px rgba(60,160,147,0.3);
}

.FaceTypeImg, .FaceTypeImg_2 {
    display: block;
    width: 100%;
    max-width: 273px;
}

.FaceTypeImg img, .FaceTypeImg_2 img {
    display: block;
    width: 100%;
    height: auto;
    transition: .5s;
    filter: drop-shadow(0 15px 30px rgba(11,25,33,0.15));
}

.FaceTypeImg {
    background: url("../images/info/productInfo_B_2.png") center no-repeat;
    background-size: cover;
}

.young, .FaceTypeImg img {
    animation-name: faceFade;
    animation-duration: 5s;
    animation-iteration-count: infinite;
}

@keyframes faceFade {
    0% { opacity: 0; }

25% { opacity: 1; }

50% { opacity: 1; }

75% { opacity: 0; }

100% { opacity: 0; }
}

.InfoBlockTxt {
    flex: 0 0 55%;
    padding: 0 40px;
}

.InfoBlockTxt h2 {
    font-size: clamp(2rem, 4vw, 2.6rem);
    color: #1A313A;
    font-weight: 700;
    margin-bottom: 24px;
    position: relative;
    padding-bottom: 15px;
}

.InfoBlockTxt h2::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 60px;
    height: 4px;
    background: #2187a7;
    border-radius: 2px;
}

.FaceInfo p {
    font-size: 1.1rem;
    color: #44545E;
    line-height: 1.8;
    margin-bottom: 16px;
}

/*
-----能量區塊-----
*/

#productInfo_C {
    padding: 100px 0;
    background: #FAFCFD;
}

.InfoEnergyBlock {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 60px;
}

.InfoEnergyTxt {
    flex: 1;
}

.InfoEnergyTxt h2 {
    font-size: clamp(2.2rem, 5vw, 3rem);
    color: #1A313A;
    font-weight: 800;
    margin-bottom: 10px;
}

.InfoEnergyTxt h2 .highlight {
    background: linear-gradient(135deg, #2187a7 50%, #20657b 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: 1.2em;
}

.InfoEnergyTxt h3 {
    font-size: 1.5rem;
    color: #2187a7;
    margin-bottom: 30px;
}

.HandCtrlInfo p {
    font-size: 1.1rem;
    color: #44545E;
    line-height: 1.8;
    margin-bottom: 16px;
}

.InfoEnergyImg {
    flex: 1;
    display: flex;
    justify-content: center;
}

.InfoEnergyImg > img {
    /* 如果還有其他地方用到這個結構，限制只影響直接子元素 */
    max-width: 100%;
    height: auto;
    animation: floatUpDown 6s ease-in-out infinite;
    filter: drop-shadow(0 20px 40px rgba(11,25,33,0.15));
}

@keyframes floatUpDown {
    0% { transform: translateY(0); }

50% { transform: translateY(-15px); }

100% { transform: translateY(0); }
}

/*
-----能量區塊圓形特寫設計-----
*/

.EnergyCircleWrap {
    position: relative;
    width: 100%;
    max-width: 500px;

/* 控制圓形最大直徑 */
    margin: 0 auto;
}

.EnergyCircleMask {
    width: calc(100% - 24px);
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    overflow: hidden;
    position: relative;
    border: 12px solid #fff;
    box-shadow: 0 20px 50px rgba(11,25,33,0.15);
    background: #E9F3F6;
}

.EnergyApplicatorImg {
    width: 130%;

/* 依使用者指定 */
    max-width: none;
    position: absolute;
    top: 38%;
    left: 10%;
    transform: translate(-50%, -50%);
}

.EnergyConnectingLine {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    z-index: 40;
    pointer-events: none;
}

.EnergyFeature {
    position: absolute;
    top: 0;
    left: 40%;
    width: 70%;
    background: rgba(255,255,255,0.95);
    padding: 20px 25px;
    border-radius: 20px;
    box-shadow: 0 15px 40px rgba(11,25,33,0.08);
    z-index: 50;
    backdrop-filter: blur(5px);
    border-left: 4px solid #2187a7;
}

.EnergyFeature h3 {
    font-size: 1.5rem;
    color: #1A313A;
    font-weight: 800;
    line-height: 1.5;
    margin: 0;
}

.EnergyFeature h3 {
    font-size: 1.6rem;
    color: #1A313A;
    font-weight: 800;
    line-height: 1.6;
    margin: 0;
}

/*
-----80/20 動畫區塊-----
*/

#productInfo_E {
    padding: 80px 0 120px;
    background: #ffffff;
}

.InfoRuleBlock {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 60px;
}

/* 熱能分配比例圖 面板設計 */

.RuleAniPanel {
    width: calc(90% - 80px);
    max-width: 1400px;

/* 放大區塊 */
    margin: 0 auto 80px;
    background: #F8FBFB;
    border-radius: 30px;
    padding: 60px 40px;
    box-shadow: inset 0 0 0 1px rgba(60,160,147,0.1);
}

.RuleAniPanelTitle {
    text-align: center;
    font-size: 2.4rem;
    font-weight: 800;
    color: #1A313A;
    margin-bottom: 50px;
}

.RuleAniCards {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 30px;
}

.RuleAniCard {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: flex-end;
    background: #fff;
    border-radius: 20px;
    padding: 30px 20px 30px 30px;
    box-shadow: 0 15px 35px rgba(11, 25, 33, 0.05);
    position: relative;
}

.RuleAniText {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    position: absolute;
    bottom: 10%;
    z-index: 1;
    width: 48%;
}

.RuleAniName {
    font-size: 2.2rem;
    font-weight: 900;
    color: #2187a7;
    letter-spacing: 2px;
}

/* 這裡用固定高度去強制撐開三層的間距，確保連線可以對應右邊圖片的皮膚/脂肪/肌肉層 */

.RuleAniLayer {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
    position: relative;
    white-space: nowrap;
}

.RuleAniLayer:last-child {
    margin-bottom: 0;
}

.LayerName {
    font-size: 1.2rem;
    font-weight: 700;
    color: #44545E;
    width: auto;
    margin-right: 10px;
}

.LayerVal {
    font-size: 1.2rem;
    font-weight: 800;
    color: #1A313A;
    width: 36px;
    text-align: right;
}

/* 實線連線設計 ------● */

.LayerLine {
    height: 1px;
    border-top: 2px solid rgba(60, 160, 147, 0.6);
    margin-left: 10px;
    position: relative;
    width: calc(100% - 155px);
}

.LayerLine::after {
    content: '';
    position: absolute;
    right: -6px;
    top: -5px;
    width: 10px;
    height: 10px;
    background: #2187a7;
    border-radius: 50%;
    box-shadow: 0 0 10px rgba(60,160,147,0.8);
}

.RuleAniImg {
    display: block;
    width: 60%;
    margin-left: auto;
    position: relative;
    z-index: 0;
}

.RuleAniImg img {
    max-width: 100%;
    height: auto;
    filter: drop-shadow(0 10px 20px rgba(11,25,33,0.1));
}

.RuleCircles {
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 40px;
    width: 90%;
    max-width: 1200px;
}

.RuleCard {
    flex: 1;
    background: #ffffff;
    border-radius: 24px;
    padding: 50px 30px;
    text-align: center;
    border-bottom: 4px solid transparent;
    box-shadow: 0 15px 40px rgba(11,25,33,0.06);
    transition: all 0.5s cubic-bezier(0.2, 0.8, 0.2, 1);
    position: relative;
    animation: floatCard 6s ease-in-out infinite;
}

.RuleCard:nth-child(2) { animation-delay: 2s; }

.RuleCard:nth-child(3) { animation-delay: 4s; }

.RuleCard:hover {
    transform: translateY(-20px) scale(1.02) !important;
    box-shadow: 0 25px 50px rgba(11,25,33,0.12);
    border-bottom: 4px solid #2187a7;
}

.RuleCardIcon {
    width: 70px;
    height: 70px;
    margin: 0 auto 25px;
    background: #F2F7F9;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all 0.4s ease;
}

.RuleCard:hover .RuleCardIcon {
    background: #2187a7;
}

.RuleCardIcon svg {
    width: 35px;
    height: 35px;
    transition: all 0.4s ease;
}

.RuleCard:hover .RuleCardIcon svg * {
    stroke: #ffffff;
}

.RuleCardTitle {
    font-size: 2.2rem;
    font-weight: 800;
    color: #1A313A;
    margin-bottom: 15px;
}

.RuleCardSub {
    font-size: 1.15rem;
    color: #8BA4B0;
    font-weight: 600;
}

@keyframes floatCard {
    0% { transform: translateY(0); }

50% { transform: translateY(-10px); }

100% { transform: translateY(0); }
}

/*
-----裝置支援-----
*/

.dev_m { display: none !important; }

/*
-----區塊6：Before & After 案例輪播-----
*/

#ProductsSlider {
    width: 100%;
    background: #FAFCFD;
    padding: 100px 0 120px;
    border-top: 1px solid #EBEFF2;
}

.SliderTitleWrap {
    text-align: center;
    margin-bottom: 60px;
}

.SliderTitle {
    font-size: 2.4rem;
    font-weight: 800;
    color: #1A313A;
    margin-bottom: 10px;
}

.SliderSubTitle {
    font-size: 1.2rem;
    color: #2187a7;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
}

.SliderContainer {
    width: 70%;
    max-width: 1020px;
    margin: 0 auto;
    position: relative;
    border-radius: 20px;
    box-shadow: 0 20px 60px rgba(11,25,33,0.1);
    background: #fff;
    padding: 15px;
}

#ProductsSlider img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 12px;
}

/* Slick 客製化樣式 */

#ProductsSlider .slick-list {
    border-radius: 12px;
    overflow: hidden;
}

#ProductsSlider .slick-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 60px;
    height: 60px;
    background: #ffffff;
    border-radius: 50%;
    border: none;
    box-shadow: 0 10px 30px rgba(11,25,33,0.15);
    z-index: 10;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #1A313A;
    transition: all 0.3s ease;
}

#ProductsSlider .slick-arrow:hover {
    background: #2187a7;
    color: #ffffff;
    transform: translateY(-50%) scale(1.1);
    box-shadow: 0 15px 40px rgba(60,160,147,0.3);
}

#ProductsSlider .slick-arrow svg {
    width: 24px;
    height: 24px;
}

#ProductsSlider .slick-prev { left: -30px; }

#ProductsSlider .slick-next { right: -30px; }

#ProductsSlider .slick-dots {
    position: absolute;
    bottom: -50px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 12px;
    list-style: none;
    padding: 0;
    margin: 0;
}

#ProductsSlider .slick-dots li button {
    font-size: 0;
    width: 12px;
    height: 12px;
    border-radius: 50px;
    background: #D1DCE0;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
    padding: 0;
}

#ProductsSlider .slick-dots li.slick-active button {
    width: 35px;
    background: #2187a7;
}

/*
-----官方認證流程-----
*/

#CertificationContent {
	padding: 5rem;
	margin-bottom: 5rem;
	width: calc(95% - 10rem);
}

.CerImg img {
    display: block;
    margin: 0 auto;
    max-width: 100%;
    height: auto;
}

#CerStep1 .CerImg {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: nowrap;
	margin-bottom: 2rem;
}

#CerStep2

#CerStep2 .CerImg {
    flex: 1;
    margin-right: 2rem;
}

#CerStep2

#CerStep3

#CerStep3 .CerImg {
    width: 30%;
    margin: 1rem auto 0;
}

/*
-----認證頁面(僅有手機版)-----
*/

#CerPage {
    background: #EEEEEE;
}


#CerPage .warp {
    display: block;
    position: relative;
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    box-shadow: 0 -1rem 1rem 0 #cfc8c8;
}

.CerHeader {
    display: block;
    position: relative;
    background: #3CA093;
}

.CerHeader #Logo {
    display: block;
    margin: 0 auto;
    padding: 0.15% 0;
	width: 20%;
}

.CerHeader #Logo img {
    display: block;
    margin: 0 auto;
    width: 100%;
    height: auto;
}

#CerPage article {
    margin: 0 auto;
}

.CerTypeBk {
    display: block;
    padding: 5%;
    background: #fff;
}


.Certification {
    display: block;
    box-shadow: 0 0 1em 0 #c8c8c8;
    background: url(../images/cer/CerBg.png) top center no-repeat;
    background-size: 100% auto;
    padding: 30% 0 5%;
}

.Certification .ClinicName {
    font-size: 2.5rem;
    text-align: center;
    color: #F0D985;
}

.ClinicTxt {
    width: 85%;
    margin: 0 auto 10%;
    text-align: center;
    border-top: 1px solid #909090;
    color: #909090;
    font-size: 2rem;
}

.ClinicInfo {
    font-size: 1.2rem;
    color: #656565;
    width: 85%;
    margin: 0 auto;
    text-align: justify;
}

.CerPageNote {
    padding: 5%;
}


.CerPageNoteTitle {
    text-align: center;
    color: #fff;
    background: #3CA093;
    font-size: 1.4rem;
    font-weight: bold;
    width: 90%;
    margin: 0 auto;
    border-radius: 2rem;
    margin-bottom: 5%;
}

.CerPageNoteContent ul {
    display: block;
    list-style: disc;
    font-size: 1.2rem;
    padding-left: 1.5rem;
    text-align: justify;
}

.CerPageNoteContent ul li {
    font-size: inherit;
    margin-bottom: 2%;
}

.CerPageNoteContent ul li:last-child {
    margin-bottom: 0;
}

.CerPageNoteContent {
    padding-bottom: 5rem;
}

.CerFixedBtn {
    display: block;
    position: fixed;
    bottom: 0;
    width: 100%;
    max-width: 800px;
    background: #3da093;
    text-align: center;
    padding: 1rem 0;
}

.CerFixedBtn a {
    color: #fff;
    font-size: 1.2rem;
    font-weight: bold;
}

.CerFixedBtn a span {
    display: inline-block;
    margin-left: 0.5rem;
    width: 10%;
    vertical-align: middle;
}

.CerFixedBtn a span img {
    display: block;
    width: 100%;
    height: auto;
}

.NoCer {
    display: block;
    background: #fff;
    padding: 10% 0;
}

.NoCerTitle {
    text-align: center;
    font-size: 2.5rem;
    color: #909090;
    font-weight: bold;
    margin-bottom: 8%;
}

.NoCerTxt {
    text-align: center;
    font-size: 1.2rem;
    color: #9A9A9A;
    margin-bottom: 10%;
}

.NoCerInfo {
    width: 80%;
    margin: 0 auto;
    border: 1px solid #C99142;
    color: #C99142;
    padding: 2% 3%;
    border-radius: 1rem;
}

.NoCerInfoTitle {
    text-align: center;
    font-size: 1.4rem;
    font-weight: bold;
    margin-bottom: 1%;
}

.NoCerInfoContent {
    font-size: 1.2rem;
}

/*
-----寬-----
*/

@keyframes SkinCircleB_m {0% {
        top: 15vw;
    	left: 5%;
		transform: scale(.9);
    }

25% {
        top: 16vw;
    	left: 3%;
		transform: scale(1);
    }

50% {
        top: 17vw;
    	left: 5%;
		transform: scale(.9);
    }

75% {
        top: 16vw;
    	left: 7%;
		transform: scale(1);
    }

100% {
		top: 15vw;
    	left: 5%;
		transform: scale(.9);
	}
}

@keyframes SkinCircleC_m {0% {
        top: 28vw;
    	left: 55%;
		transform: scale(1);
    }

25% {
        top: 27vw;
    	left: 58%;
		transform: scale(0.9);
    }

50% {
        top: 26vw;
    	left: 55%;
		transform: scale(1);
    }

75% {
        top: 27vw;
    	left: 52%;
		transform: scale(1.05);
    }

100% {
		top: 28vw;
    	left: 55%;
		transform: scale(1);
	}
}

/* 手指頭擺動的動畫 */

@keyframes sway {0% {
    /* 動畫開始時：在原點，不旋轉 */
    transform: translateX(0) rotate(0);
  }

25% {
    /* 動畫進行到 25% 時：向左移動 15px，並向左傾斜 8 度 */
    transform: translateX(-15px) rotate(-8deg);
  }

75% {
    /* 動畫進行到 75% 時：向右移動 15px，並向右傾斜 8 度 */
    transform: translateX(15px) rotate(8deg);
  }

100% {
    /* 動畫結束時：回到原點，不旋轉 */
    transform: translateX(0) rotate(0);
  }
}

@keyframes SkinCircleB_m2 {0% {
        top: 30vw;
    	left: 2%;
		transform: scale(.9);
    }

25% {
        top: 31vw;
    	left: 0%;
		transform: scale(1);
    }

50% {
        top: 32vw;
    	left: 2%;
		transform: scale(.9);
    }

75% {
        top: 31vw;
    	left: 4%;
		transform: scale(1);
    }

100% {
		top: 30vw;
    	left: 2%;
		transform: scale(.9);
	}
}

@keyframes SkinCircleC_m2 {0% {
        top: 58vw;
    	left: 45%;
		transform: scale(1);
    }

25% {
        top: 57vw;
    	left: 48%;
		transform: scale(0.9);
    }

50% {
        top: 56vw;
    	left: 45%;
		transform: scale(1);
    }

75% {
        top: 57vw;
    	left: 42%;
		transform: scale(1.05);
    }

100% {
		top: 58vw;
    	left: 45%;
		transform: scale(1);
	}
}

/* Global Page Reset & Typography */

body {
    background: var(--bg-color);
    color: var(--text-color);
    font-family: "Inter", "微軟正黑體", "Microsoft JhengHei", sans-serif;
    line-height: 1.6;
}

h1.siteWidth, .page h1.siteWidth {
    text-align: center;
    font-size: 2.5rem;
    font-weight: bold;
    color: var(--primary-color);
    margin: 80px auto 40px;
    padding-bottom: 15px;
    position: relative;
}

h1.siteWidth::after, .page h1.siteWidth::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 4px;
    background: var(--secondary-color);
    border-radius: 2px;
}

h1.siteWidth span {
    display: block;
}

h1.siteWidth span:last-child {
    font-size: 1rem;
    font-weight: 400;
    color: #888;
    margin-top: 5px;
    text-transform: uppercase;
    letter-spacing: 2px;
}

/* Article Detail */

.ArticleTitle {
    font-size: 2rem;
    color: var(--primary-color);
    font-weight: bold;
    margin-bottom: 15px;
    text-align: center;
 text-align: left; }

.ArticleDate {
    text-align: center;
    color: var(--secondary-color);
    font-weight: bold;
    margin-bottom: 40px;
}

/* FAQs */

.active

/* Location */

/* Video */

/* Search Bar */

/* Certification Info */

/* Media Queries overriding the messy ones */
@media (max-width: 768px) {h1.siteWidth, .page h1.siteWidth {
        font-size: 2rem;
        margin: 40px auto 20px;
    }
}

/*
-----Base Layout-----
*/

#SiteHeader {
    position: fixed;
    top: 0; left: 0; right: 0;
    z-index: 1003;
    height: 70px;
    transition: background 0.5s ease, box-shadow 0.5s ease, height 0.3s ease;
    background: rgba(255, 255, 255, 0.97);
    box-shadow: 0 1px 0 rgba(0,0,0,0.06);
}

#SiteHeader.scrolled {
    background: linear-gradient(135deg, rgba(18,80,99,0.96) 0%, rgba(30,136,168,0.96) 100%);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    box-shadow: 0 4px 20px rgba(0,0,0,0.18);
}

#SiteHeader.scrolled .HeaderLogo .LogoImg {
    filter: brightness(0) invert(1);
}

/* Scrolled state text colors */

#SiteHeader.scrolled .NavMenu ul li a {
    color: rgba(255,255,255,0.88);
}

#SiteHeader.scrolled .NavMenu ul li a[data-en]::after {
    color: rgba(255,255,255,0.45);
}

#SiteHeader.scrolled .NavMenu ul li a::before {
    background: #F0D985;
}

#SiteHeader.scrolled .NavMenu ul li.active a,
#SiteHeader.scrolled .NavMenu ul li a:hover {
    color: #F0D985;
}

#SiteHeader.scrolled .NavMenu ul li.active a[data-en]::after,
#SiteHeader.scrolled .NavMenu ul li a:hover[data-en]::after {
    color: rgba(240,217,133,0.7);
}

#SiteHeader.scrolled .Hamburger span {
    background: #fff;
}

/* Scrolled state – deep teal gradient */

.HeaderInner {
    max-width: 1280px;
    height: 100%;
    margin: 0 auto;
    padding: 0 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
}

/*
-----Logo-----
*/

.HeaderLogo .LogoImg {
    display: block;
    height: 40px;
    width: auto;
    transition: filter 0.5s ease;
}

/*
-----Desktop Nav-----
*/

.NavMenu { margin-left: auto; }

.NavMenu ul {
    display: flex;
    align-items: center;
    gap: 36px;
    justify-content: flex-end;
    list-style: none;
    margin: 0; padding: 0;
}

.NavMenu ul li {
    position: relative;
}

.NavMenu ul li a {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    padding: 6px 0;
    position: relative;
}

/* Chinese label */

.NavMenu ul li a::before {
    content: attr(data-text, "");
}

/* Main Chinese text */

.NavMenu ul li a {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--primary-color);
    letter-spacing: 0.5px;
    transition: color 0.3s ease;
    line-height: 1;
}

/* English subtitle via data-en attribute */

.NavMenu ul li a[data-en]::after {
    content: attr(data-en);
    font-size: 0.65rem;
    font-weight: 400;
    color: #aaa;
    letter-spacing: 1px;
    margin-top: 3px;
    text-transform: uppercase;
    transition: color 0.3s ease;
}

/* Animated underline */

.NavMenu ul li a::before {
    content: '';
    position: absolute;
    bottom: 0; left: 50%;
    transform: translateX(-50%);
    width: 0; height: 2px;
    background: var(--secondary-color);
    transition: width 0.35s ease;
    border-radius: 2px;
}

.NavMenu ul li a:hover::before, .NavMenu ul li.active a::before {
    width: 100%;
}

/* Active / Hover color */

.NavMenu ul li.active a, .NavMenu ul li a:hover {
    color: var(--secondary-color);
}

.NavMenu ul li.active a[data-en]::after, .NavMenu ul li a:hover[data-en]::after {
    color: var(--secondary-color);
}

/*
-----Dropdown Submenu-----
*/

.NavMenu .SubMenu {
    display: none;
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 8px 30px rgba(0,0,0,0.12);
    padding: 12px 0 10px;
    min-width: 180px;
    z-index: 10;
    flex-direction: column;
}

.NavMenu .SubMenu li {
    display: block;
}

.NavMenu .SubMenu li a {
    font-size: 0.88rem;
    font-weight: 400;
    color: var(--primary-color) !important;
    padding: 10px 12px;
    white-space: nowrap;
    margin: 0 8px;
    border-radius: 6px;
    display: block;
    transition: background 0.2s, color 0.2s;
}

.NavMenu .SubMenu li a:hover {
    background: rgba(30,136,168,0.08);
    color: var(--secondary-color) !important;
}

.NavMenu .SubMenu li a::before, .NavMenu .SubMenu li a::after {
    display: none !important;
}

/*
-----Hamburger Button-----
*/

.Hamburger {
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
    gap: 5px;
    background: none; border: none;
    cursor: pointer;
    padding: 4px;
    width: 36px; height: 36px;
}

.Hamburger span {
    display: block;
    height: 2px;
    background: var(--primary-color);
    border-radius: 2px;
    transition: all 0.35s ease;
}

.Hamburger span:nth-child(1) { width: 50%; }

.Hamburger span:nth-child(2) { width: 80%; }

.Hamburger span:nth-child(3) { width: 100%; }

/*
-----Mobile Overlay-----
*/

.MobileOverlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.4);
    z-index: 1000;
    opacity: 0;
    transition: opacity 0.35s ease;
}

/* Ensure SiteHeader is always full width */

#SiteHeader { width: 100% !important; box-sizing: border-box !important; }

/*
-----Mobile Nav Close Button-----
*/

.NavClose {
    display: none;

/* hidden on desktop */
    position: absolute;
    top: 20px;
    right: 20px;
    background: none;
    border: none;
    color: var(--primary-color);
    cursor: pointer;
    padding: 6px;
    border-radius: 50%;
    transition: background 0.2s;
    line-height: 0;
    z-index: 2;
}

.NavClose:hover {
    background: rgba(0,0,0,0.06);
}

/* 2. Footer Optimization */

footer {
    background: #0e1e24;
    position: relative;
}

footer::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--secondary-color), #1E88A8, var(--secondary-color));
}

.FooterInner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 70px 40px 0;
}

/* Top 3-column row */

.FooterTop {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 30px;
    width: 80%;
    margin: 0 auto;
}

/* Brand column */

.FooterLogo {
    display: block;
    height: 52px;
    width: auto;
    margin-bottom: 14px;

}

/* Brand Social */

.FooterTagline {
    font-size: 0.8rem;
    color: rgba(255,255,255,0.4);
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 20px;
}

.FooterSocialRight {
    display: flex;
    gap: 12px;
    align-items: center;
}

.FooterSocialRight a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,0.15);
    color: rgba(255,255,255,0.6);
    transition: all 0.3s ease;
}

.FooterSocialRight a:hover {
    border-color: var(--secondary-color);
    background: var(--secondary-color);
    color: #fff;
    transform: translateY(-3px);
}

.FooterSocialRight svg {
    width: 18px;
    height: 18px;
    fill: currentColor;
}

/* Divider */

.FooterDivider {
    width: 80%;
    margin: 0 auto;
    height: 1px;
    background: rgba(255,255,255,0.08);
}

/* Disclaimer */

.FooterDisclaimer {
    padding: 40px 0;
    width: 80%;
    margin: 0 auto;
}

.FooterDisclaimerTitle {
    font-size: 1.2rem;
    font-weight: bold;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: rgba(255,255,255,0.4);
    margin-bottom: 18px;
    text-align: center;
}

.FooterDisclaimerCols {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    font-size: 0.9rem;
    color: rgba(255,255,255,0.3);
    line-height: 1.8;
}

/* Copyright bar */

.FooterCopyright {
    border-top: 1px solid rgba(255,255,255,0.06);
    padding: 22px 40px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.82rem;
    color: rgba(255,255,255,0.3);
}

.FooterPowered {
    font-size: 0.78rem;
    letter-spacing: 1px;
    color: rgba(255,255,255,0.2);
}

/* Reset old styles */

#Gotop, #LocateLink {
    transform: none !important;
    background: none !important;
}

#LocateLink a::after, #Gotop a::after {
    display: none !important;
}

/* Capsule Container */

.FloatingWidget {
    position: fixed;
    right: 25px;
    bottom: 25px;
    z-index: 500;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.CapsuleBtn {
    display: flex;
    align-items: center;
    background: var(--secondary-color);
    height: 50px;
    border-radius: 25px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.15);
    overflow: hidden;
    width: 50px;
    transition: width 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.3s ease, background 0.3s ease, max-height 0.4s ease, opacity 0.4s ease, margin 0.4s ease, transform 0.4s ease;
    cursor: pointer;
    text-decoration: none;
    justify-content: flex-end;

/* Keep icon on the right */
    border: 1px solid transparent;
}

/* Base style for GotopBtn (hidden state) */

.GotopBtn {
    max-height: 0;
    opacity: 0;
    margin-top: 0;
    transform: translateY(20px);
    pointer-events: none;
}

/* Active style for GotopBtn */

.GotopBtn.active {
    max-height: 50px;
    opacity: 1;
    margin-top: 15px;

/* Add the gap here when active */
    transform: translateY(0);
    pointer-events: auto;
}

.CapsuleBtn:hover {
    width: 120px;

/* Expanded width adjusted */
    background: #ffffff;
    box-shadow: 0 8px 25px rgba(0,0,0,0.2);
}

.CapsuleBtn .icon {
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 50%;
    z-index: 2;
}

.CapsuleBtn svg {
    width: 22px;
    height: 22px;
    fill: #ffffff;
    transition: fill 0.3s ease;
}

.CapsuleBtn:hover svg {
    fill: var(--secondary-color);
}

.CapsuleBtn .text {
    white-space: nowrap;
    font-size: 1.05rem;

/* Increased font size */
    font-weight: bold;
    color: #333333;
    opacity: 0;
    padding-left: 0;

/* Reduced left space */
    margin-right: -10px;

/* Pull closer to icon */
    transition: opacity 0.3s ease;
    transition-delay: 0s;
    width: 75px;

/* Fixed width to prevent jumping and cutoff */
    text-align: right;
}

.CapsuleBtn:hover .text {
    opacity: 1;
    transition-delay: 0.1s;
}

/* Hide original buttons */

#Gotop, #LocateLink { display: none !important; }

/* ============================================================
   Global: Page Hero & Intro (Premium Minimalist Redesign)
   ============================================================ */

.PageHero {
    padding: 130px 40px 100px;
    background: #0B1921;

/* Deep sophisticated dark slate */
    text-align: center;
    position: relative;
}

.PageHeroInner {
    max-width: 800px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

.PageHeroEn {
    font-size: 0.9rem;
    letter-spacing: 6px;
    text-transform: uppercase;
    color: #6BB3C8;

/* Elegant teal accent */
    margin-bottom: 16px;
    display: block;
    font-weight: 500;
}

.PageHeroTitle {
    font-size: clamp(2rem, 5vw, 3.2rem);
    font-weight: 300;

/* Minimalist elegant thin weight */
    color: #ffffff;
    letter-spacing: 4px;
    margin: 0;
    line-height: 1.2;
}

/* Page Intro - Floating Glassmorphism Card */

.PageIntro {
    max-width: 1080px;
    margin: -60px auto 50px;

/* Overlap Hero beautifully */
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    border-radius: 16px;
    padding: 40px 50px;
    text-align: center;
    box-shadow: 0 20px 40px rgba(0,0,0,0.06);
    position: relative;
    z-index: 5;
    border: 1px solid rgba(255,255,255,0.8);
}

.PageIntro p {
    font-size: 1.05rem;
    color: #555;
    line-height: 1.8;
    margin: 0 0 12px;
}

.PageIntro p:last-child { margin-bottom: 0; }

.PageIntroHighlight {
    font-size: 1.1rem !important;
    font-weight: 600;
    color: #125063 !important;
    display: inline-block;
    padding: 6px 16px;
    background: #f0f7f9;
    border-radius: 30px;
    margin-top: 8px !important;
}

/* ============================================================
   Location Page Layout
   ============================================================ */

.LocationWrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px 40px 100px;
}

/*
-----Search Bar-----
*/

.LocationSearchBar { margin-bottom: 40px; display: flex; justify-content: center; }

.LocationSearchForm {
    display: flex;
    align-items: stretch;
    background: #fff;
    border-radius: 50px;
    box-shadow: 0 8px 24px rgba(18,80,99,0.06);
    overflow: hidden;
    border: 1px solid #E5EBEF;
    width: 100%;
    max-width: 750px;
    transition: box-shadow 0.3s, border-color 0.3s;
}

.LocationSearchForm:focus-within {
    box-shadow: 0 12px 32px rgba(18,80,99,0.12);
    border-color: #CBE0E8;
}

.LocationSearchForm select {
    border: none; outline: none; background: transparent;
    font-size: 1.05rem; color: #444;
    padding: 16px 20px 16px 28px;
    border-right: 1px solid #E5EBEF;
    cursor: pointer;
    font-weight: 500;
}

.LocationSearchForm input[type="text"] {
    border: none; outline: none; background: transparent;
    font-size: 1.05rem; color: #333;
    padding: 16px 24px;
    flex: 1; min-width: 0;
}

.LocationSearchForm input[type="text"]::placeholder { color: #A0B2BA; font-weight: 300; }

.LocationSearchForm button {
    display: flex; align-items: center; gap: 8px;
    background: #125063; color: #fff;
    border: none; padding: 0 36px;
    font-size: 1.05rem; font-weight: 600;
    cursor: pointer; transition: all 0.3s;
}

.LocationSearchForm button:hover { background: #0E3E4D; }

/*
-----Area Nav Pills-----
*/

.LocationAreaNav { margin-bottom: 60px; display: flex; justify-content: center; }

.LocationAreaNav ul {
    display: flex; flex-wrap: wrap; justify-content: center; gap: 12px;
    list-style: none; padding: 0; margin: 0;
}

.LocationAreaNav ul li a {
    display: inline-flex; align-items: center;
    padding: 10px 26px;
    border-radius: 50px;
    border: 1px solid #D1DCE2;
    font-size: 1.05rem;
    color: #5C7582;
    text-decoration: none;
    background: #fff;
    font-weight: 500;
    transition: all 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.LocationAreaNav ul li a:hover, .LocationAreaNav ul li.active a {
    background: #125063; color: #fff; border-color: #125063;
    transform: translateY(-2px); box-shadow: 0 6px 16px rgba(18,80,99,0.15);
}

.LocationAreaNav ul li.active a {
    cursor: default;
}

/*
-----Search Result Count-----
*/

.LocationSearchResult { margin-bottom: 40px; }

.SearchResultCount {
    font-size: 1.05rem; color: #555; margin-bottom: 30px;
    padding: 18px 24px; background: #fff;
    border-radius: 12px; border: 1px solid #E5EBEF;
    border-left: 6px solid #125063;
    box-shadow: 0 4px 12px rgba(0,0,0,0.02);
    text-align: center;
}

.SearchResultCount span, .SearchResultCount strong { color: #125063; font-size: 1.3rem; font-weight: 700; }

/*
-----Collapsible Sections-----
*/

.AreaSection { margin-bottom: 70px; }

/* Area Title Button */

.AreaTitle {
    display: flex; align-items: center; width: 100%;
    background: none; border: none; padding: 0 0 16px;
    margin-bottom: 30px;
    cursor: pointer; text-align: left;
    border-bottom: 1px solid #D5E1E6;
    transition: opacity 0.2s;
}

.AreaTitle:hover { opacity: 0.8; }

.AreaTitle span {
    font-size: 2rem; font-weight: 700;

/* Minimalist elegant thin font */
    color: #125063; letter-spacing: 2px;
}

.CollapseIcon {
    flex-shrink: 0; margin-left: auto;
    color: #8BA4B0; transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.AreaTitle[aria-expanded='false'] .CollapseIcon, .CityLabel[aria-expanded='false'] .CollapseIcon {
    transform: rotate(-90deg);
}

.AreaBody, .CityBody {
    overflow: hidden;
    transition: max-height 0.5s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s ease;
}

.AreaTitle[aria-expanded='false'] + .AreaBody, .CityLabel[aria-expanded='false'] + .CityBody {
    max-height: 0 !important;
    opacity: 0;
}

/*
-----City Group-----
*/

.CityGroup { margin-bottom: 40px; }

.CityLabel {
    display: flex; align-items: center; width: 100%;
    background: transparent; border: none;
    padding: 10px 16px;
    font-size: 1.5rem; font-weight: 600;

/* Slightly bolder for hierarchy */
    color: #2D4A56; letter-spacing: 1px;
    margin-bottom: 20px; cursor: pointer; text-align: left;
    border-radius: 12px;
    transition: background 0.25s ease, color 0.25s ease;
}

.CityLabel:hover {
    background: #F0F6F8;

/* Subtle highlight block */
    color: #125063;
}

/* Give the icon a subtle circle background to look like a toggle button */

.CityLabel .CollapseIcon {
    width: 32px; height: 32px;
    padding: 6px;
    background: #EBEFF2;
    border-radius: 50%;
    color: #667A85;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), background 0.2s, color 0.2s;
}

.CityLabel:hover .CollapseIcon {
    background: #D5E1E6;
    color: #125063;
}

/*
-----Clinic Cards Grid-----
*/

.ClinicGrid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 24px; list-style: none; padding: 0; margin: 0;
}

.ClinicCard {
    background: #ffffff;
    border: 1px solid #EBEFF2;
    border-radius: 16px;
    padding: 32px 28px 24px;
    display: flex; flex-direction: column;
    transition: all 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
    box-shadow: 0 4px 16px rgba(0,0,0,0.02);
}

.ClinicCard:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 40px rgba(18,80,99,0.08);
    border-color: #CBE0E8;
}

.ClinicName {
    font-size: 1.25rem; font-weight: 600;
    color: #1A313A; margin-bottom: 18px; line-height: 1.4;
}

.ClinicAddr, .ClinicPhone {
    display: flex; align-items: flex-start; gap: 12px;
    font-size: 1.05rem; color: #667A85; margin-bottom: 12px; line-height: 1.6;
}

.ClinicAddr svg, .ClinicPhone svg {
    color: #9AB4C2; margin-top: 4px;
}

.ClinicActions {
    margin-top: 24px; padding-top: 24px;
    border-top: 1px dashed #E5EBEF;
    display: flex; gap: 12px; flex-wrap: wrap;
}

.ClinicBtn {
    flex: 1;

/* Stretch buttons evenly */
    display: inline-flex; align-items: center; justify-content: center; gap: 6px;
    padding: 12px 0; border-radius: 8px;
    font-size: 1rem; font-weight: 500;
    text-decoration: none; transition: all 0.25s ease;
}

/* Primary Button (Phone) */

.ClinicBtn:first-child {
    background: #F0F6F8; color: #125063; border: 1px solid transparent;
}

.ClinicBtn:first-child:hover { background: #125063; color: #fff; }

/* Secondary Buttons (Map & Website) */

.ClinicBtn:not(:first-child) {
    background: transparent; color: #5C7582; border: 1px solid #D1DCE2;
}

.ClinicBtn:not(:first-child):hover {
    background: #F0F6F8; color: #125063; border-color: #CBE0E8;
}

/* ============================================================
   FAQ Page Layout (Premium Minimalist)
   ============================================================ */

.FAQListWrap {
    margin: 0 auto;
}

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

.FAQItem {
    background: #ffffff;
    border: 1px solid #EBEFF2;
    border-radius: 16px;
    margin-bottom: 20px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.02);
    transition: all 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
    overflow: hidden;
}

.FAQItem:hover {
    box-shadow: 0 12px 32px rgba(18,80,99,0.06);
    border-color: #CBE0E8;
}

/*
-----FAQ Title (Button)-----
*/

.FAQTitle {
    display: flex;
    align-items: center;
    width: 100%;
    background: transparent;
    border: none;
    padding: 24px 30px;
    cursor: pointer;
    text-align: left;
    transition: background 0.3s ease;
}

.FAQTitle:hover {
    background: #FAFCFD;
}

.QMark {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: #125063;
    color: #fff;
    font-size: 1.1rem;
    font-weight: 700;
    border-radius: 50%;
    margin-right: 20px;
    flex-shrink: 0;
    transition: all 0.3s ease;
}

.QText {
    font-size: 1.15rem;
    font-weight: 600;
    color: #1A313A;
    line-height: 1.5;
    flex: 1;
    transition: color 0.3s;
}

.FAQTitle .CollapseIcon {
    flex-shrink: 0;
    margin-left: 20px;
    color: #8BA4B0;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), color 0.2s;
    background: #EBEFF2;
    border-radius: 50%;
    padding: 4px;
    width: 32px;
    height: 32px;
}

.FAQTitle[aria-expanded='false'] .CollapseIcon {
    transform: rotate(90deg);
}

.FAQTitle[aria-expanded='true'] .CollapseIcon {
    transform: rotate(0deg);

/* Point DOWN when open */
    background: #125063;
    color: #fff;
}

/*
-----FAQ Body & Content-----
*/

.FAQBody {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.FAQContent {
    padding: 30px 30px 30px 86px;

/* 86px aligns text with QText (30 + 36 + 20) */
    font-size: 1.05rem;
    color: #5C7582;
    line-height: 1.85;
}

.FAQContent p {
    margin-bottom: 16px;
}

.FAQContent p:last-child {
    margin-bottom: 0;
}

/* Ensure any links or strong tags in FAQ content look good */

.FAQContent a {
    color: #125063;
    text-decoration: underline;
    text-underline-offset: 4px;
}

.FAQContent strong {
    color: #2D4A56;
}

/*
-----Hot News (Slick Slider)-----
*/

#articleTop {
    margin-top: -60px; margin-bottom: 50px; position: relative; z-index: 5;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 12px 36px rgba(0,0,0,0.08);
}

.articleSlick {
    width: 100%;
}

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

.HotArticleLink {
    display: block;
    position: relative;
    width: 100%;
    aspect-ratio: 16/9; max-height: 600px; height: auto;
    overflow: hidden;
}

.HotArticleImg {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transition: transform 0.8s ease;
}

.HotArticleLink:hover .HotArticleImg {
    transform: scale(1.05);
}

.HotArticleOverlay {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    padding: 120px 40px 40px;
    background: linear-gradient(to top, rgba(11,25,33,0.85) 0%, rgba(11,25,33,0) 100%);
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.HotArticleType {
    display: inline-block;
    align-self: flex-start;
    padding: 6px 16px;
    background: var(--secondary-color);
    color: #fff;
    font-size: 0.95rem;
    font-weight: 600;
    border-radius: 30px;
    margin-bottom: 16px;
    letter-spacing: 1px;
}

.HotArticleTitle {
    font-size: clamp(1.8rem, 4vw, 2.4rem);
    font-weight: 700;
    line-height: 1.3;
    text-shadow: 0 4px 12px rgba(0,0,0,0.3);
}

/* Slick Customization */

.slick-dots {
    bottom: 20px !important;
}

.slick-dots li button:before {
    font-size: 14px !important;
    color: #fff !important;
    opacity: 0.5 !important;
    text-shadow: 0 2px 4px rgba(0,0,0,0.5);
}

.slick-dots li.slick-active button:before {
    opacity: 1 !important;
    color: var(--secondary-color) !important;
}

/*
-----Article Grid-----
*/

.ArticleGridWrap {
    margin-bottom: 60px;
}

.ArticleGrid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 30px;
    list-style: none;
    padding: 0; margin: 0;
}

.ArticleCard a {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: #ffffff;
    border: 1px solid #EBEFF2;
    border-radius: 16px;
    overflow: hidden;
    text-decoration: none;
    transition: all 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
    box-shadow: 0 4px 16px rgba(0,0,0,0.02);
}

.ArticleCard a:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 40px rgba(18,80,99,0.08);
    border-color: #CBE0E8;
}

.ArticleImg {
    width: 100%;
    aspect-ratio: 16/10;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-bottom: 1px solid #f0f3f5;
}

.ArticleBody {
    padding: 24px 28px 28px;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.ArticleMeta {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    font-size: 0.95rem;
    font-weight: 500;
    color: #8BA4B0;
    margin-bottom: 16px;
}

.ArticleMeta span:first-child {
    background: #F0F6F8;
    color: var(--secondary-color);
    padding: 4px 12px;
    border-radius: 4px;
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.5px;
}

.ArticleDate { margin: 0 !important; }

.ArticleTitle {
    font-size: 1.35rem;
    font-weight: 600;
    color: #1A313A;
    line-height: 1.5;
    margin: 0 0 24px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
 text-align: left; }

.ArticleRead {
    margin-top: auto;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    width: 100%;
    gap: 6px;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--secondary-color);
    transition: color 0.2s;
}

.ArticleCard a:hover .ArticleRead {
    color: #0E3E4D;
}

.ArticleRead svg {
    transition: transform 0.2s;
}

.ArticleCard a:hover .ArticleRead svg {
    transform: translateX(4px);
}

/*
-----Load More Button-----
*/

.LoadMoreWrap {
    text-align: center;
    margin-bottom: 40px;
}

.LoadMoreBtn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 40px;
    background: transparent;
    color: var(--secondary-color);
    border: 2px solid var(--secondary-color);
    border-radius: 50px;
    font-size: 1.05rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    min-width: 200px;
}

.LoadMoreBtn:hover {
    background: var(--secondary-color);
    color: #fff;
    box-shadow: 0 8px 24px rgba(18,80,99,0.15);
}

.LoadMoreBtn:disabled {
    background: #f0f3f5;
    border-color: #d4dde2;
    color: #aaa;
    cursor: not-allowed;
    box-shadow: none;
}

/*
-----1. Content Container-----
*/

.ArticlePageWrapper {
    background: #FAFCFD;
}

.ArticleDetailWrap {
    padding: 80px 20px 100px;

/* Space from header and footer */
    min-height: calc(100vh - 200px);
}

.ArticleDetailContainer {
    position: relative;
    z-index: 5;
    background: #ffffff;
    border-radius: 24px;
    padding: 60px 80px;
    box-shadow: 0 20px 60px rgba(18,80,99,0.08);
    max-width: 1000px;
    margin: 0 auto;
}

/*
-----Cover Image (Uncropped)-----
*/

.ArticleDetailHeroImage {
    max-width: 800px;
    margin: 0 auto 40px;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 8px 30px rgba(0,0,0,0.06);
}

.ArticleDetailHeroImage img {
    display: block;
    width: 100%;
    height: auto;
}

.ArticleDetailHeader {
    text-align: center;
    margin-bottom: 50px;
    padding-bottom: 40px;
    border-bottom: 1px solid #EBEFF2;
}

.ArticleDetailMeta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin-bottom: 24px;
}

.ArticleDetailCategory {
    background: #F0F6F8;
    color: var(--secondary-color);
    padding: 6px 16px;
    border-radius: 6px;
    font-size: 0.95rem;
    font-weight: 600;
    letter-spacing: 0.5px;
}

.ArticleDetailDate {
    color: #8BA4B0;
    font-size: 1rem;
    font-weight: 500;
}

.ArticleDetailTitle {
    font-size: clamp(2rem, 4vw, 2.8rem);
    font-weight: 700;
    color: #1A313A;
    line-height: 1.4;
    margin: 0;
}

/*
-----4. WYSIWYG Editor Reset (FormContent)-----
*/

.ArticleDetailContentWrap {
    max-width: 800px;
    margin: 0 auto;
}

.FormContent {
    color: #44545E;
    font-size: 1.15rem;
    line-height: 1.85;
    word-break: break-word !important;
    white-space: normal !important;
}

/* 強制防呆：覆寫從 Word 貼上的垃圾行內樣式 */

.FormContent * {
    white-space: normal !important;

/* 解決 white-space: pre 造成的破版 */
    max-width: 100% !important;

/* 解決寫死的固定寬度 */
    font-family: inherit !important;
}

.FormContent p, .FormContent span, .FormContent font {
    line-height: 1.85 !important;
}

/* Typography */

.FormContent p { margin-bottom: 1.5em; }

.FormContent p:last-child { margin-bottom: 0; }

.FormContent h1, .FormContent h2, .FormContent h3, .FormContent h4, .FormContent h5, .FormContent h6 {
    color: #1A313A;
    font-weight: 700;
    line-height: 1.4;
    margin-top: 2em;
    margin-bottom: 1em;
}

.FormContent h2 { font-size: 1.8rem; border-bottom: 2px solid #F0F6F8; padding-bottom: 12px; }

.FormContent h3 { font-size: 1.5rem; color: var(--secondary-color); }

.FormContent a {
    color: var(--secondary-color);
    text-decoration: underline;
    text-underline-offset: 4px;
    transition: color 0.2s;
}

.FormContent a:hover { color: #0E3E4D; }

/* Lists */

.FormContent ul, .FormContent ol {
    margin-bottom: 1.5em;
    padding-left: 24px;
}

.FormContent li { margin-bottom: 8px; }

/* Media Protection (CRITICAL) */

.FormContent img, .FormContent video, .FormContent iframe {
    max-width: 100% !important;
    height: auto !important;
    border-radius: 12px;
    margin: 24px 0;
    display: block;
    box-shadow: 0 4px 20px rgba(0,0,0,0.06);
}

/* Tables Protection */

.FormContent table {
    width: 100% !important;
    border-collapse: collapse;
    margin: 24px 0;
    display: block;
    overflow-x: auto;
    white-space: nowrap;
}

.FormContent th, .FormContent td {
    padding: 12px 16px;
    border: 1px solid #EBEFF2;
}

.FormContent th { background: #F0F6F8; font-weight: 600; color: #1A313A; }

/*
-----5. Share Buttons-----
*/

.ArticleShare {
    margin-top: 60px;
    padding-top: 30px;
    border-top: 1px solid #EBEFF2;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
}

.ShareLabel {
    font-weight: 600;
    color: #8BA4B0;
}

.ShareBtn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #F0F6F8;
    color: #8BA4B0;
    transition: all 0.3s ease;
}

.ShareBtn:hover { transform: translateY(-3px); color: #fff; }

.ShareBtn.FBBtn:hover { background: #1877F2; box-shadow: 0 4px 12px rgba(24,119,242,0.3); }

.ShareBtn.LineBtn:hover { background: #06C755; box-shadow: 0 4px 12px rgba(6,199,85,0.3); }

/*
-----6. Previous / Next Navigation-----
*/

.ArticleDetailNavigation {
    margin-top: 60px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.NavCard {
    background: #FAFCFD;
    border: 1px solid #EBEFF2;
    border-radius: 16px;
    padding: 24px;
    transition: all 0.3s ease;
}

.NavCard.EmptyNav { background: transparent; border: none; }

.NavCard:not(.EmptyNav):hover {
    background: #fff;
    border-color: #CBE0E8;
    box-shadow: 0 8px 24px rgba(18,80,99,0.06);
    transform: translateY(-2px);
}

.NavLabel {
    font-size: 0.9rem;
    font-weight: 600;
    color: #8BA4B0;
    margin-bottom: 8px;
}

.NavNext { text-align: right; }

.NavLink a {
    font-size: 1.15rem;
    font-weight: 600;
    color: #1A313A;
    text-decoration: none;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: color 0.2s;
}

.NavCard:hover .NavLink a { color: var(--secondary-color); }

/*
-----7. Back Button-----
*/

.BacktoArticleList {
    text-align: center;
    margin-top: 60px;
}

/*
-----Hot Video (Hero Card)-----
*/

.HotVideoCardWrap {
    margin-bottom: 50px;
}

.HotVideoCard {
    display: block;
    position: relative;
    width: 100%;
    aspect-ratio: 16/9;
    min-height: 300px;

    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 12px 36px rgba(0,0,0,0.08);
    text-decoration: none;
}

.HotVideoImg {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transition: transform 0.8s ease;
}

.HotVideoCard:hover .HotVideoImg {
    transform: scale(1.05);
}

.HotVideoOverlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(11,25,33,0.85) 0%, rgba(11,25,33,0) 100%);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 40px 60px;
}

.HotVideoContent {
    position: relative;
    z-index: 2;
    padding-right: 80px;
}

.HotVideoLabel {
    display: inline-block;
    padding: 6px 16px;
    background: #F0F6F8;

/* YouTube red vibe, or brand color */
    color: var(--secondary-color);
    font-size: 0.95rem;
    font-weight: 600;
    border-radius: 30px;
    margin-bottom: 16px;
    letter-spacing: 1px;
}

.HotVideoTitle {
    font-size: clamp(1.8rem, 4vw, 2.4rem);
    font-weight: 700;
    line-height: 1.3;
    color: #fff;
    margin: 0;
    text-shadow: 0 4px 12px rgba(0,0,0,0.3);
}

.PlayIconWrap {
    position: absolute;
    bottom: 40px;
    right: 60px;
    width: 80px;
    height: 80px;
    background: rgba(255,255,255,0.2);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255,255,255,0.4);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.HotVideoCard:hover .PlayIconWrap {
    background: #E53935;
    border-color: #E53935;
    transform: scale(1.1);
    box-shadow: 0 10px 30px rgba(229,57,53,0.4);
}

/*
-----Video Grid-----
*/

.VideoGrid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 30px;
    list-style: none;
    padding: 0; margin: 0;
}

.VideoCard {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: #ffffff;
    border: 1px solid #EBEFF2;
    border-radius: 16px;
    overflow: hidden;
    transition: all 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
    box-shadow: 0 4px 16px rgba(0,0,0,0.02);
}

.VideoCard:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 40px rgba(18,80,99,0.08);
    border-color: #CBE0E8;
}

.VideoThumbWrap {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 16/9;
    overflow: hidden;
    background: #000;
}

.VideoImg {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    transition: transform 0.5s ease;
    opacity: 0.85;
}

.VideoThumbWrap:hover .VideoImg {
    transform: scale(1.05);
    opacity: 1;
}

.VideoPlayIcon {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: 64px; height: 64px;
    background: rgba(0,0,0,0.5);
    backdrop-filter: blur(4px);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    border: 1px solid rgba(255,255,255,0.3);
}

.VideoThumbWrap:hover .VideoPlayIcon {
    background: #E53935;
    border-color: #E53935;
    transform: translate(-50%, -50%) scale(1.1);
    box-shadow: 0 8px 24px rgba(229,57,53,0.4);
}

.VideoBody {
    padding: 24px 28px;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.VideoTitle {
    font-size: 1.25rem;
    font-weight: 700;
    color: #1A313A;
    line-height: 1.4;
    margin-bottom: 12px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.VideoDesc {
    font-size: 0.95rem;
    color: #8BA4B0;
    line-height: 1.6;
    margin-bottom: 20px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: break-all;
}

.VideoShare {
    margin-top: auto;
    padding-top: 20px;
    border-top: 1px solid #EBEFF2;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
}

.VideoShare .ShareBtn {
    width: 36px;
    height: 36px;
}

.ShareText {
    color: #8BA4B0;
    font-size: 0.9rem;
    font-weight: 600;
}

/* ============================================================
   Certification Info Page
   ============================================================ */

.CerPageWrap {
    padding-bottom: 100px;
}

/*
-----Typography-----
*/

.CerTitle {
    font-size: clamp(2rem, 4vw, 2.6rem);
    font-weight: 700;
    color: #1A313A;
    text-align: center;
    margin-top: 80px;
    margin-bottom: 16px;
    line-height: 1.3;
}

.CerSecTitle {
    font-size: 1.15rem;
    color: #8BA4B0;
    text-align: center;
    margin-bottom: 60px;
    line-height: 1.6;
}

/*
-----Certification Steps-----
*/

#CertificationContent {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.CerStepCard {
    display: flex;
    background: #ffffff;
    border-radius: 24px;
    border: 1px solid #EBEFF2;
    overflow: hidden;
    box-shadow: 0 10px 40px rgba(18,80,99,0.04);

/*  align-items: stretch; Make children stretch to equal height */
    align-items: center;
}

.CerStepCard.reverse {
    flex-direction: row-reverse;
}

.CerImg {
    flex: 1;
    background: #FAFCFD;
    padding: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.CerImgInner {
    display: flex;
    gap: 20px;
    justify-content: center;
    flex-wrap: wrap;
}

.CerImgInner img {
    max-width: 100%;
    height: auto;
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.06);
    object-fit: contain;
}

#CerStep3 .CerImgInner img {
    width: 300px;
}

.CerTextWrap {
    flex: 1;
    padding: 60px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.CerStepBadge {
    display: inline-block;
    align-self: flex-start;
    padding: 6px 16px;
    background: #F0F6F8;
    color: var(--secondary-color);
    font-size: 0.95rem;
    font-weight: 700;
    border-radius: 30px;
    margin-bottom: 20px;
    letter-spacing: 1px;
}

.CerStepTitle {
    font-size: 1.8rem;
    font-weight: 700;
    color: #1A313A;
    margin-bottom: 24px;
    line-height: 1.4;
}

.CerTxt {
    font-size: 1.15rem;
    color: #44545E;
    line-height: 1.85;
}

.CerTxt span {
    color: #2187a7;
    font-weight: bold;
    font-size: inherit;
}

/*
-----Why Certify (Reasons)-----
*/

.CerNote {
    margin-top: 100px;
    padding-top: 80px;
    padding-bottom: 80px;
    border-top: 1px solid #EBEFF2;
    background: #FAFCFD;
}

.CerNoteContent {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 20px 50px;
    text-align: center;
}

.CerNoteIntro {
    font-size: 1.2rem;
    font-weight: 700;
    color: #2187a7;
    margin-bottom: 40px;
    text-align: center;
    display: inline-block;
    background: rgba(33, 135, 167, 0.08);
    padding: 14px 40px;
    border-radius: 50px;
    letter-spacing: 1px;
}

.CerRuleCirclesOverride {
    max-width: 1400px;

/* 放寬版面 */
    margin: 0 auto;
    gap: 20px;
}

.CerRuleCirclesOverride .RuleCard {
    padding: 40px 15px;

/* 稍微減少左右 padding 以容納文字 */
    animation: none;
}

.CerRuleCirclesOverride .CerRuleTitle {
    font-size: 1.05rem;

/* 再次縮小，確保單行排版 */
    line-height: 1.5;
    margin-bottom: 0;
}

/*
-----Dos & Donts Layout-----
*/

.DosDontsWrap {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 15px;
    margin: 40px auto;
    max-width: 1100px;
    padding: 0 20px;
}

.DosCard {
    flex: 1;
    display: flex;
    max-width: 48%;
    background: transparent;
}

.DosTab {
    width: 65px;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 25px 0;
    color: #ffffff;
    flex-shrink: 0;
    border-radius: 20px 0 0 20px;
    margin-right: -15px;

/* Slide under right content */
    padding-right: 15px;
    position: relative;
    z-index: 1;
    margin-top: 25px;

/* Creates the shorter tab effect */
    margin-bottom: 25px;
}

.DoTabGreen { background: #008D70; }

.DoTabRed { background: #D32F2F; }

.DosTabIcon {
    margin-bottom: 20px;
}

.DosTabTextWrap {
    flex: 1;
    position: relative;
    width: 100%;
}

.DosTabText {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    white-space: nowrap;
    font-size: 1.8rem;
    font-weight: 700;
    letter-spacing: 5px;
    writing-mode: vertical-rl;
}

.DosContent {
    flex: 1;
    padding: 40px 30px;
    display: flex;
    flex-direction: column;
    gap: 30px;
    background: #ffffff;
    border-radius: 20px;

/* Top-left and bottom-left are now rounded */
    box-shadow: -10px 10px 20px rgb(11 25 33 / 60%);

/* Drop shadow leftwards to overlap */
    position: relative;
    z-index: 2;
}

.DosItem {
    display: flex;
    align-items: flex-start;
    gap: 20px;
}

.DosItemIcon {
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    margin-top: 2px;
}

.DoIconGreen { background: #008D70; }

.DoIconRed { background: #D32F2F; }

.DosItemText {
    flex: 1;
}

.DosItemTitle {
    font-size: 1.2rem;
    font-weight: 700;
    color: #1A313A;

/* Site deep blue */
    margin-bottom: 8px;
}

.DosItemTitle.RedTitle {
    color: #B22222;
}

.DosItemDesc {
    font-size: 1.05rem;
    color: #8BA4B0;

/* Grey */
    line-height: 1.6;
}

.VsBadge {
    font-size: 2.2rem;
    font-weight: 900;
    font-style: italic;
    color: #DDE5E9;
    padding: 0 5px;
    flex-shrink: 0;
}

/*
-----1. KV Slider-----
*/

#KV { width: 100%; overflow: hidden; }

.KVSlider .slick-list, .KVSlider .slick-track { height: 100%; }

.KVSlideItem {
    width: 100%;
    min-height: 100vh;
    position: relative;
    display: flex !important;
    align-items: stretch;

/* children can fill full height */
    justify-content: center;
    overflow: hidden;
}

.KVSlider .slick-dots { bottom: 30px; z-index: 20; }

.KVSlider .slick-dots li button:before { color: #fff; opacity: 0.5; font-size: 12px; }

.KVSlider .slick-dots li.slick-active button:before { color: #fff; opacity: 1; }

/*
-----Slide 1 – New Redesign (Left SVG, Right Model)-----
*/

.KVSlide1 {
    background: url('../images/index_KV_Bg.jpg') no-repeat left bottom;
    background-size: cover;
    position: relative;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

/* Gradient Mask at bottom */

.KV_Mask {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100vw;

/* ensure full viewport width */
    height: 40%;
    background: url('../images/index_kv_mask.svg') no-repeat bottom center;
    background-size: cover;
    z-index: 15;

/* Covers model but below text */
    pointer-events: none;
}

.KVSlide1Inner {
    /* position: relative; z-index: 3; removed to allow z-index interleaving with KV_Mask */
    display: flex;
    flex-direction: row;
    align-items: stretch;
    justify-content: center;
    width: 100%;
    max-width: 1200px;
    height: 100%;
    margin: 0 auto;
    padding-top: 80px;

/* clear header */
    padding-bottom: 0;
}

/*
-----Left Column: SVGs-----
*/

.KVInfoLeft {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding-left: 5%;
    gap: 0;
    position: relative;
    z-index: 30;
}

.KVInfoCenterGrp {
    display: flex;
    flex-direction: column;
    align-items: center;
    align-self: flex-start;
}

.KVInfoLeft img {
    display: block;
    max-width: 100%;
    width: auto;
    opacity: 0;
    transform: translateX(-30px);
}

/* Making the SVGs much larger for more impact */

.KVInfoLeft .kv_txt_01 { height: 100px; margin-bottom: 20px; }

.KVInfoLeft .kv_txt_02 { height: 200px; margin-bottom: 25px; }

/* Main title, largest */

.KVInfoLeft .kv_txt_03 { height: 50px; }

/*
-----Right Column: Model Image-----
*/

.KVImgRight {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: flex-end;

/* anchor to bottom */
    position: relative;
}

.KVImgRight img {
    height: 90vh;
    max-height: 900px;
    width: auto;
    object-fit: contain;
    object-position: bottom center;
    display: block;
    opacity: 0;
    transform: translateY(50px);
    margin-bottom: 0;
    position: relative;
    z-index: 10;
}

/*
-----Animations when slide is active-----
*/

.slick-active .KVInfoLeft .kv_txt_01 { animation: slideRightFadeIn 0.8s ease 0.3s forwards; }

.slick-active .KVInfoCenterGrp .kv_txt_02 { animation: slideRightFadeIn 0.8s ease 0.5s forwards; }

.slick-active .KVInfoCenterGrp .kv_txt_03 { animation: slideRightFadeIn 0.8s ease 0.7s forwards; }

.slick-active .KVImgRight img { animation: slideUpFadeIn 1s cubic-bezier(0.2, 0.8, 0.2, 1) 0.4s forwards; }

@keyframes slideRightFadeIn {
    0% { opacity: 0; transform: translateX(-30px); }

100% { opacity: 1; transform: translateX(0); }
}

@keyframes slideUpFadeIn {
    0% { opacity: 0; transform: translateY(50px); }

100% { opacity: 1; transform: translateY(0); }
}

/*
-----Slide 2 – animated dark bg, phone LEFT / cards+text RIGHT-----
*/

.KVSlideCer {
    justify-content: center;
    align-items: center;
}

.KVSlideCerBg {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, #0f2027 0%, #1a3a44 50%, #2c5364 100%);
    z-index: 0;
}



@keyframes cerBgShift {0% { transform: translateX(0) translateY(0); }

100% { transform: translateX(40px) translateY(-30px); }
}

@keyframes cerBgShift2 {0% { transform: translateX(0) translateY(0); }

100% { transform: translateX(-50px) translateY(40px); }
}

.KVSlideCerContent {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-around;
    width: 80%;
    max-width: 1200px;
    padding-top: 80px;
}

/* Left column: phone */

.KVSlideCerImages {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cerImgPhone {
    height: 72vh;
    max-height: 640px;
    width: auto;
    border-radius: 32px;
    box-shadow: 0 24px 80px rgba(0,0,0,0.6), 0 0 0 6px rgba(255,255,255,0.07);
    display: block;
    transition: transform 0.5s ease;

/* subtle floating animation */
    animation: phoneFloat 4s ease-in-out infinite;
}

@keyframes phoneFloat {0%, 100% { transform: translateY(0); }

50% { transform: translateY(-12px); }
}

.KVSlideCerImages:hover .cerImgPhone { animation-play-state: paused; transform: translateY(-16px) scale(1.02); }

/* Right column: badge → cards → title → CTA */

.KVSlideCerText {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 60px;
    max-width: 660px;
}

.KVSlideCerBadge {
    display: inline-block;
    padding: 8px 22px;
    background: rgba(0,132,161,0.2);
    border: 1px solid rgba(0,132,161,0.5);
    border-radius: 30px;
    color: #7FDDD4;
    font-size: 0.9rem;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.cerCard1Group {
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: center;
}

.cerImg1, .cerImg2 {
    width: 380px;
    max-width: 45%;
    border-radius: 12px;
    box-shadow: none;
    filter: drop-shadow(0 6px 16px rgba(0,0,0,0.45));
    transition: transform 0.4s ease;
}

.cerImg1 { transform: rotate(-2deg); }

.cerImg2 { transform: rotate(2deg); }

.cerImg1:hover { transform: rotate(-4deg) translateY(-4px); }

.cerImg2:hover { transform: rotate(4deg) translateY(-4px); }

.KVSlideCerTitle {
    color: #F0D985;

/* warm gold as requested */
    font-size: clamp(1.8rem, 2.8vw, 2.8rem);
    font-weight: 700;
    line-height: 1.35;
    text-shadow: 0 2px 16px rgba(0,0,0,0.3);
    letter-spacing: 1px;
    margin: 0;
    white-space: nowrap;
}

/* CerTitleBreak inherits all from parent – just controls display */

.CerTitleBreak {
    font-size: inherit;

/* inherit from .KVSlideCerTitle */
    font-weight: inherit;
    color: inherit;
    letter-spacing: inherit;
    white-space: nowrap;

/* stay on same line on desktop */
    display: inline;
}

.LocationCtaBtn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 16px 40px;
    font-size: 1.15rem;
    font-weight: 700;
    color: #fff;
    background: linear-gradient(135deg, #0084A1 0%, #2A7A6F 100%);
    border-radius: 50px;
    text-decoration: none;
    border: none;
    animation: kvGlow 2.5s ease-in-out infinite alternate;
    transition: transform 0.3s ease;
}

.LocationCtaBtn:hover { color: #fff; transform: translateY(-3px); }

@keyframes kvGlow {from { box-shadow: 0 8px 24px rgba(0,132,161,0.35); }

to { box-shadow: 0 14px 44px rgba(0,132,161,0.75), 0 0 30px rgba(0,132,161,0.3); }
}

/*
-----2. WebInfo Slogan-----
*/

#WebInfo {
    padding: 120px 0;
    text-align: center;
}

.WebInfoLogo {
    margin-bottom: 40px;
}

.WebInfoLogo img {
    height: 60px;
    width: auto;
}

.SecTitle {
    font-size: 2.2rem;
    color: #1A313A;
    font-weight: 700;
    margin-bottom: 30px;
    letter-spacing: 1px;
}

.WebInfoContent {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: flex-start;
    gap: 60px;
    max-width: 1000px;
    margin: 0 auto;
}

.WebInfoCol {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.WebInfoColImg {
    height: 140px;

/* 設定固定高度讓兩側圖片對齊 */
    width: auto;
    object-fit: contain;
    margin-bottom: 24px;
}

.WebInfoColTitle {
    font-size: 1.6rem;
    color: #0084A1;

/* 深藍綠色 Brand green/blue */
    font-weight: 700;
    margin-bottom: 16px;
    letter-spacing: 1px;
}

.WebInfoContent p {
    font-size: 1.15rem;
    color: #8BA4B0;
    line-height: 1.8;
    margin: 0;
}

/*
-----4. News & Video Sections-----
*/

#indexNews, #indexVideo {
    padding: 100px 0;
}

#indexVideo {
    background: #FAFCFD;
}

.SectionHeader {
    text-align: center;
    margin-bottom: 60px;
}

.SectionTitle {
    font-size: 2.4rem;
    font-weight: 700;
    color: #1A313A;
    margin: 0 0 10px 0;
}

.SectionSubtitle {
    font-size: 1.1rem;
    color: #0084A1;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.LoadMoreWrap {
    text-align: center;
    margin-top: 60px;
}

.LoadMoreBtn {
    display: inline-block;
    padding: 14px 40px;
    background: #fff;
    color: #1A313A;
    font-weight: 600;
    font-size: 1.1rem;
    border: 1px solid #EBEFF2;
    border-radius: 30px;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(0,0,0,0.03);
}

.LoadMoreBtn:hover {
    background: #1A313A;
    color: #fff;
    border-color: #1A313A;
    transform: translateY(-2px);
    box-shadow: 0 10px 25px rgba(26,49,58,0.2);
}

/*
-----5. Marquee-----
*/

#indexImageShow {
    padding: 80px 0;
    background: #ffffff;
    border-top: 1px solid #EBEFF2;
}

.MarqueeImgTitle {
    text-align: center;
    font-size: 2rem;
    font-weight: 700;
    color: #1A313A;
    margin-bottom: 50px;
}

.marqList { background: transparent !important; }

.marqList img { width: 30vw; height: auto; display: inline-block; }

/*
-----6. Location CTA-----
*/

#indexLocation {
    padding: 60px 0 100px 0;
    background: #FAFCFD;
}

.LocationCtaFloatBtn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: #1A313A;
    color: #fff;
    font-size: 1.4rem;
    font-weight: 700;
    padding: 20px 60px;
    border-radius: 50px;
    text-decoration: none;
    transition: all 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
    box-shadow: 0 15px 40px rgba(26,49,58,0.3);
}

.LocationCtaFloatBtn:hover {
    background: #0084A1;
    transform: translateY(-5px);
    box-shadow: 0 20px 50px rgba(0,132,161,0.4);
    color: #fff;
}

/*
-----3. Product Split Screen (Fancybox Layout)-----
*/

#IndexProductsSplit {
    display: flex;
    width: 100%;
    min-height: 700px;
    position: relative;
    overflow: visible;
    background: #EFF6F8;
    align-items: stretch;
}

/* Each half is an anchor link */

.ProductHalf {
    flex: 1;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    cursor: pointer;
    text-decoration: none;
    overflow: hidden;
}

.ProductHalf#ProductOnda  { background: #F2F7F9; }

.ProductHalf#ProductOndaPro { background: #E9F3F6; border-left: 1px solid #D9E8EE; }

/*
-----ProductInner: text column-----
*/

.ProductInner {
    position: relative;
    z-index: 10;
    width: 100%;
    max-width: 460px;
    padding: 50px 36px 30px;
    color: #1A313A;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
    flex-shrink: 0;
}

/*
-----Top: Title image + section subtitle-----
*/

.ProductTop {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    margin-bottom: 0;
    text-align: center;
}

.ProductTitleImg {
    max-width: 350px;
    height: auto;
    display: block;
    margin-bottom: 20px;
}

.ProductSectionTitle {
    font-size: 2rem;
    font-weight: 600;
    letter-spacing: 0.5px;
    margin: 0;
    line-height: 1.4;
    text-align: center;
}

#ProductOnda .ProductSectionTitle { color: #0084A1; }

#ProductOndaPro .ProductSectionTitle { color: #1a83a1; }

/*
-----Device image-----
*/

.ProductDeviceWrap {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    flex: 1;
    position: relative;
    z-index: 6;
    pointer-events: none;
    padding-bottom: 20px;
}

.ProductDeviceImg {
    display: block;
    max-width: 100%;
    width: auto;
    height: auto;
    max-height: 500px;
    object-fit: contain;
    object-position: bottom center;
    filter: drop-shadow(0 10px 30px rgba(11,25,33,0.12));
    transition: transform 0.55s ease, filter 0.55s ease;
    transform-origin: bottom center;
}

.ProductHalf:hover .ProductDeviceImg {
    transform: scale(1.05);
    filter: drop-shadow(0 15px 40px rgba(11,25,33,0.2));
}

/*
-----Fancybox Modal Styles for Products-----
*/

.ProductModal {
    background: #EFF6F8;
    padding: 20px;
    border-radius: 20px;
    max-width: 90% !important;
    width: 100% !important;
    overflow: visible;
}

.ProductModalLayout {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 5%;
}

.ProductModalInner {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
}

.ProductModalBody {
    width: 70%;
}

.ProductModalContent {
    background: #fff;
    padding: 30px;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    text-align: left;
    color: #44545E;
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* Product Modal Top (for Title Image) */

.ProductModalTop {
    text-align: center;
    margin-bottom: 0;
    width: 100%;
}

.ProductModalTop .ProductTitleImg {
    max-width: 300px;
    width: 100%;
    display: inline-block;
}

/* Product Article Title styling */

.ProductModalArticleTitle {
    font-size: 1.8rem;
    font-weight: 700;
    color: #2A7A6F;
    margin: 0 0 20px !important;
    padding-bottom: 15px;
    border-bottom: 2px solid #E0EDEF;
    text-align: left;
}

.ProductModalScrollWrap {
    overflow-y: auto;
    padding-right: 15px;
    max-height: 25vw;

/* Custom Scrollbar */
    scrollbar-width: thin;
    scrollbar-color: #0084A1 #E0EDEF;
}

.ProductModalScrollWrap::-webkit-scrollbar { width: 6px; }

.ProductModalScrollWrap::-webkit-scrollbar-track { background: #E0EDEF; border-radius: 4px; }

.ProductModalScrollWrap::-webkit-scrollbar-thumb { background: #0084A1; border-radius: 4px; }

.ProductModalContent p { margin-bottom: 12px; line-height: 1.7; font-size: 0.95rem; }

.ProductModalContent strong { color: #1A313A; font-weight: 700; }

.ProductModalAction {
    margin-top: 0;
    padding-top: 20px;
    text-align: left;
    border-top: none;
    display: flex;
    justify-content: center;
}

.ProductModalAction .ProductReadMoreBtn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 28px;
    font-size: 0.95rem;
    font-weight: 700;
    color: #fff !important;
    background: linear-gradient(135deg, #0084A1 0%, #2A7A6F 100%);
    border-radius: 50px;
    text-decoration: none;
    letter-spacing: 1px;
    box-shadow: 0 4px 18px rgba(0,132,161,0.3);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.ProductModalAction .ProductReadMoreBtn:hover { transform: translateY(-2px); box-shadow: 0 8px 28px rgba(0,132,161,0.5); }

.ProductModalDevice img {
    width: 100%;
    height: auto;
    max-height: 60vh;
    object-fit: contain;
    filter: drop-shadow(0 15px 30px rgba(11,25,33,0.15));
}

/* Hamburger Active (X) state */

.Hamburger.is-active span:nth-child(1) {
    width: 100%;
    transform: translateY(7px) rotate(45deg);
}

.Hamburger.is-active span:nth-child(2) {
    opacity: 0;
    transform: scaleX(0);
}

.Hamburger.is-active span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

/* Mobile Overlay */

.MobileOverlay.is-open {
    display: block;
    opacity: 1;
}

/* FAQ Active States */

.FAQItem.is-active {
    border-color: #125063;
    box-shadow: 0 16px 40px rgba(18,80,99,0.1);
}

.FAQItem.is-active .FAQTitle {
    background: #F0F6F8;
    border-bottom: 1px solid #E5EBEF;
}

.FAQItem.is-active .QMark {
    background: #6BB3C8;
    box-shadow: 0 4px 12px rgba(107,179,200,0.3);
}

.FAQItem.is-active .QText {
    color: #125063;
}

.FAQItem.is-active .FAQBody {
    max-height: 2000px;
}

/* 強制覆蓋 slick-theme2.css 的點點位置 */

#ProductsSlider .slick-dots {
    bottom: -50px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: auto !important;
    right: auto !important;
}

/*
-----認證歷程紀錄 (Timeline)-----
*/

.AuditHistory {
    margin-top: 0;
    background: #ffffff;
    border-radius: 20px;
    padding: 30px 30px 50px 30px;
    box-shadow: 0 10px 30px rgba(11,25,33,0.05);
}

/*
-----新版年度稽核紀錄 (Audit Calendar)-----
*/

.AuditCalendar {
    margin-top: 30px;
    background: #FAFCFD;
    border-radius: 20px;
    padding: 30px;
    box-shadow: inset 0 2px 10px rgba(0,0,0,0.02);
}

.YearSwitcher {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin-bottom: 30px;
}

.YearBtn {
    background: #ffffff;
    border: 1px solid #EBEFF2;
    border-radius: 50%;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #2187a7;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 10px rgba(0,0,0,0.03);
}

.YearBtn:hover {
    background: #2187a7;
    color: #ffffff;
    border-color: #2187a7;
    transform: translateY(-2px);
}

.CurrentYear {
    font-size: 2rem;
    font-weight: 800;
    color: #1A313A;
    letter-spacing: 2px;
}

.MonthGrid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 20px;
}

.MonthItem {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.MonthLabel {
    font-size: 1.05rem;
    font-weight: 700;
    color: #8BA4B0;
}

.MonthCircle {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #EBEFF2;

/* Default gray for none */
    transition: all 0.4s ease;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
}

.MonthCircle.status-pass {
    background: #008D70;
}

.MonthCircle.status-fail {
    background: #E63946;
}

.MonthCircle.status-maintenance {
    background: #F4A261;
}

/* ============================================================
   Applicator Modals (product_info.php)
   ============================================================ */

.RuleAniCard[data-modal-target] {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.RuleAniCard[data-modal-target]:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(33, 135, 167, 0.15);
}

.RuleAniMoreBtn {
    width: 110px;
    margin-bottom: 80px;
    font-size: 0.95rem;
    font-weight: 600;
    color: #ffffff;
    background: #2187a7;
    padding: 10px 24px;
    border-radius: 30px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 6px;
    transition: opacity 0.3s ease, background 0.3s ease, transform 0.3s ease;
}

.RuleAniCard:hover .RuleAniMoreBtn {
    background: #1A708C;
    transform: translateY(-2px);
    opacity: 1;
}

.IconInfoCircle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.AppModalOverlay {
    position: fixed;
    top: 0;
    left: 0;
    width: calc(100vw - 40px);
    height: 100vh;
    background: rgba(11, 25, 33, 0.8);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    padding: 20px;
}

.AppModalOverlay.active {
    opacity: 1;
    visibility: visible;
}

.AppModal {
    position: relative;
    background: #ffffff;
    width: 100%;
    max-width: 900px;
    border-radius: 24px;
    box-shadow: 0 20px 50px rgba(0,0,0,0.2);
    display: none;
    flex-direction: row;
    overflow: hidden;
    transform: translateY(20px);
    transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
    max-height: 90vh;
}

.AppModal.active {
    display: flex;
    transform: translateY(0);
}

.AppModalClose {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 40px;
    height: 40px;
    background: #F2F7F9;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #1A313A;
    cursor: pointer;
    z-index: 10;
    transition: all 0.3s ease;
}

.AppModalClose:hover {
    background: #2187a7;
    color: #ffffff;
    transform: rotate(90deg);
}

.AppModalLeft {
    width: 40%;
    background: #FAFCFD;
    padding: 50px 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-right: 1px solid #EBEFF2;
}

.AppModalImgWrap {
    width: 100%;
    max-width: 250px;
    margin-bottom: 30px;
    position: relative;
}

.AppModalImgWrap::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 120%;
    height: 120%;
    background: radial-gradient(circle, rgba(33,135,167,0.1) 0%, rgba(33,135,167,0) 70%);
    z-index: 0;
}

.AppModalImgWrap img {
    position: relative;
    z-index: 1;
    width: 100%;
    height: auto;
    filter: drop-shadow(0 10px 20px rgba(0,0,0,0.1));
}

.AppModalTags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
}

.AppPill {
    background: #2187a7;
    border: 1px solid #2187a7;
    color: #ffffff;
    padding: 6px 14px;
    border-radius: 30px;
    font-size: 0.9rem;
    font-weight: 600;
}

.AppModalRight {
    width: 60%;
    padding: 50px 40px;
    position: relative;
    overflow-y: auto;
}

.AppModalBadge {
    display: inline-block;
    margin-bottom: 15px;
    background: linear-gradient(135deg, #3CA093 0%, #2187a7 100%);
    color: #ffffff;
    padding: 8px 16px;
    border-radius: 8px;
    font-weight: 800;
    font-size: 1.1rem;
    box-shadow: 0 5px 15px rgba(33,135,167,0.3);
}

.AppModalHeader {
    margin-bottom: 25px;
}

.AppModalTitle {
    font-size: 1.8rem;
    font-weight: 800;
    color: #1A313A;
    margin-bottom: 10px;
    line-height: 1.3;
}

.HighlightName {
    color: #2187a7;
    font-weight: 900;
    font-size: inherit;
}

.AppModalSubTitle {
    font-size: 1.15rem;
}

.AppModalSubTitle .SubBold {
    font-weight: 800;
    color: #2187a7;
    font-size: inherit;
}

.AppModalSubTitle .SubGray {
    font-weight: 600;
    color: #44545E;
    font-size: inherit;
}

.AppModalDesc {
    font-size: 1.05rem;
    color: #44545E;
    line-height: 1.7;
    margin-bottom: 25px;
}

.AppModalApplies {
    background: #F8FBFB;
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 25px;
}

.AppModalApplies h4 {
    font-size: 1.1rem;
    color: #1A313A;
    font-weight: 700;
    margin-bottom: 12px;
}

.AppModalApplies ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-auto-flow: column;
}

.AppModalApplies li {
    font-size: 1rem;
    color: #44545E;
    display: flex;
    align-items: center;
    gap: 8px;
}

.AppModalImg2 img {
    width: 100%;
    height: auto;
    border-radius: 12px;
}

/*
-----rwd設計(由大至小的解析度排列)-----
*/

@media only screen and (max-width: 1400px) {
.EnergyFeature {
    left: 20%;
}
}

@media only screen and (max-width: 1264px) {
	/*
 來自：寬
*/

.product_B_Width {
    width: 97.5%;
}

.FaceTxt {
    padding: 5% 8% !important;;
    width: calc(79% - 273px) !important;;
}
}

@media (max-width: 1200px) {
	/*
 來自：常見問題
*/
.ApplicatorOuter {
    padding-bottom: 160px;
}

.ApplicatorContainer { width: 50%; }

#Dot1 .FeatureRight { left: 80px; }

#Dot1 .RightLine { width: 80px; }

#Dot2 .FeatureRight { left: 120px; }

#Dot2 .RightLine { width: 120px; }

/*
 來自：Responsive
*/

.KVSlide1Inner, .KVSlideCerContent { width: 90%; gap: 40px; }

.KVSlide1 .KVImg img { height: 70vh; }

.cerImgPhone { width: 140px; height: auto; max-width: 45%; }

.cerImg1, .cerImg2 { width: 220px; max-width: 48%; height: auto; }

.KVSlideCerTitle { white-space: normal; }

.RuleAniCards { flex-direction: column; }

.RuleAniCard { max-width: 600px; margin: 0 auto; width: calc(100% - 50px); }
}

@media only screen and (max-width: 1111px) {
	/*
 來自：寬
*/

.PD_Title {
    margin-left: 0;
}

.PD_Txt_Top, .PD_Txt_Btn {
    margin: 0 auto !important;
    width: 90%;
    max-width: 500px;
	text-align: justify;
}
}

@media (max-width: 992px) {
	/*
 來自：常見問題
*/

.ApplicatorOuter { padding: 80vw 0px 72vw; }

.ApplicatorContainer { width: 90%; }

.LineH { display: none; }

#Dot1 .FeatureRight, #Dot2 .FeatureRight { top: auto; left: auto; width: 80vw; box-sizing: border-box; min-width: auto; }

#Dot1 .LineV {
    height: 60vw;
}

#Dot1 .FeatureRight {
    top: -93vw;
    left: -72.5vw;
}

#Dot2 .LineV {
    height: 20vw;
}

#Dot2 .FeatureRight {
    top: 20vw;
    left: -56.5vw;
}

/*
 來自：能量區塊圓形特寫設計
*/

.EnergyFeature {
    top: -10%;
    left: 0;
    width: calc(100% - 50px);
}
.EnergyFeature h3 {
    font-size: 1.2rem;
}

.EnergyCircleWrap {
    max-width: none;
}

/*
 來自：裝置支援
*/

.InfoBlock, .InfoBlock.reverse {
        flex-direction: column;
        padding: 40px 20px;
    }

.InfoBlockImg, .FaceImg { margin-bottom: 40px; width: 100%; }

.InfoBlockTxt { padding: 0; }

.InfoBlockTxt h2 { text-align: center; }

.InfoBlockTxt h2::after { left: 50%; transform: translateX(-50%); }

section#productInfo_C {
    padding: 50px 20px;
    width: calc(100% - 40px);
    margin: 0 auto;
}

.InfoEnergyBlock {
        flex-direction: column;
    }

.RuleCircles {
        flex-direction: column;
        align-items: center;
        gap: 30px;
    }

/*
 來自：Why Certify (Reasons)
*/

.CerRuleCirclesOverride {
        flex-direction: column;
    }

/*
 來自：Mobile Responsive
*/

.CerStepCard, .CerStepCard.reverse { flex-direction: column; }

.CerImg, .CerTextWrap { padding: 40px; }

.DosDontsWrap { flex-direction: column; gap: 30px; }

.DosCard { flex-direction: column; width: 100%; max-width: none; }

.DosTab {
        width: calc(100% - 60px);
        flex-direction: row;
        border-radius: 20px 20px 0 0;
        padding: 15px 30px 25px 30px;
        margin: 0 0 -15px 0;

/* Slide under content below */
        justify-content: flex-start;
        align-items: center;
        gap: 15px;
    }

.DosTabIcon { margin-bottom: 0; }

.DosTabTextWrap { position: static; flex: auto; }

.DosTabText {
        position: static;
        transform: none;
        writing-mode: horizontal-tb;
    }

.DosContent { padding: 30px 20px; }

.VsBadge { /*display: none;*/ }

/* Split Screen breaks into vertical stack */

#IndexProductsSplit {
        flex-direction: column;
        height: auto;
    }

.ProductHalf {
        flex: 1 0 auto !important;

/* Override flex */
        padding: 60px 0;
    }

.ProductHalf.expanded { flex: 1 0 auto !important; }

.ProductHalf.shrunk { flex: 1 0 auto !important; opacity: 1 !important; transform: none !important; }

.ProductHalf.shrunk .ProductOverlay { background: transparent; }

.ProductDeviceWrap {
        position: relative;
        bottom: 0;
        right: 0 !important; left: 0 !important;
        opacity: 1 !important;
        margin-top: 40px;
        transform: none !important;
    }

.ProductHalf#ProductOnda .ProductDeviceWrap,
    .ProductHalf#ProductOndaPro .ProductDeviceWrap {
        text-align: center;
    }

.ProductInner { width: 100%; }

.ProductGlobalBtnWrap { position: relative; bottom: 0; margin-top: -30px; margin-bottom: 50px; }

.RuleCircles {
        flex-direction: column;
        align-items: center;
        gap: 30px;
    }

.RuleCard { width: 90%; }

#ProductsSlider .slick-arrow {
        display: none !important;
    }

.SliderContainer { width: 95%; padding: 10px; }

/*
 來自：新版年度稽核紀錄 (Audit Calendar)
*/

.MonthGrid {
        grid-template-columns: repeat(4, 1fr);
        gap: 15px;
    }
}

@media (max-width: 900px) {
	/*
 來自：Mobile Nav Close Button
*/

.NavMenu.is-open {
    transform: translateX(0);
}

.NavClose {
        display: flex;
        align-items: center;
        justify-content: center;
    }

#SiteHeader.scrolled .NavMenu ul li a {
        color: var(--primary-color) !important;
    }

#SiteHeader.scrolled .NavMenu ul li a[data-en]::after {
        color: #bbb !important;
    }

#SiteHeader.scrolled .NavMenu ul li.active a {
        color: var(--secondary-color) !important;
    }

#SiteHeader.scrolled .NavMenu ul li a::before {
        display: none !important;
    }

/*
 來自：Mobile Nav
*/

.Hamburger { display: flex; }

.NavMenu {
        position: fixed;
        top: 0; right: 0;
        width: min(320px, 80vw);
        height: 100vh;
        background: #ffffff;
        z-index: 1001;
        padding: 80px 0 40px;
        transform: translateX(100%);
        transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
        overflow-y: auto;
        box-shadow: -8px 0 30px rgba(0,0,0,0.12);
    }

.NavMenu ul {
        flex-direction: column;
        align-items: flex-start;
        gap: 0;
        padding: 0 0 20px;
    }

.NavMenu ul li {
        width: 100%;
        border-bottom: 1px solid rgba(0,0,0,0.06);
    }

.NavMenu ul li a {
        box-sizing: border-box;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        font-size: 1rem;
        color: var(--primary-color);
        padding: 16px 28px;
        width: 100%;
        overflow: hidden;
    }

.NavMenu ul li a[data-en]::after {
        font-size: 0.72rem;
        color: #bbb;
        margin-top: 0;
        margin-left: 8px;
    }

.NavMenu ul li a::before {
        display: none;
    }

.NavMenu ul li.active a {
        color: var(--secondary-color);
        border-left: 3px solid var(--secondary-color);
        padding-left: 25px;
    }

/* Mobile submenu */

.NavMenu .SubMenu {
        position: static;
        transform: none;
        box-shadow: none;
        border-radius: 0;
        background: rgba(30,136,168,0.05);
        padding: 0;
        min-width: 100%;
    }

.NavMenu .SubMenu li a {
        padding: 10px 12px;
        font-size: 0.88rem;
        color: #555 !important;
        justify-content: flex-start;
    }

.NavMenu .SubMenu li a:hover {
        background: rgba(30,136,168,0.08);
    }

#SiteHeader {
        height: 60px;
    }

.HeaderInner {
        padding: 0 20px;
    }

.HeaderLogo .LogoImg {
        height: 40px;
    }

article.page {
        padding-top: 0;
    }

/*
 來自：Mobile Responsive
*/

.KVSlide1Inner {
        flex-direction: column;
        justify-content: space-between;
        align-items: center;
        padding-top: 80px;
        gap: 20px;
    }

.KVInfoLeft {
        flex: none;
        align-items: center;
        padding-left: 0;
        margin-bottom: 20px;
    }

.KVInfoLeft svg, .KVInfoLeft img { filter: brightness(0) invert(1); }

.KVInfoLeft .kv_txt_01 { height: 50px; }

.KVInfoLeft .kv_txt_02 { height: 100px; }

.KVInfoLeft .kv_txt_03 { height: 40px; }

.KVImgRight {
        flex: 1;
    }

.KVImgRight img {
        height: 55vh;
        max-height: 500px;
    }

/*
 來自：Responsive
*/

.KVSlide1 .KVImg img { height: 42vh; margin-top: 0; }

.KVSlide1 .KVInfo { justify-content: flex-start; padding-top: 20px; }

.KVSlideCerContent {
        flex-direction: column;
        padding-top: 80px;
        padding-bottom: 60px;
        gap: 30px;
        text-align: center;
    }

.KVSlideCerText { align-items: center; max-width: 100%; gap: 30px; }

.cerCard1Group { justify-content: center; }

.cerImgPhone { width: 140px; height: auto; max-width: 45%; border-radius: 12px; }

.cerImg1, .cerImg2 { width: 160px; max-width: 45%; height: auto; }

.KVSlideCerTitle { white-space: normal; font-size: clamp(3rem, 3vw, 3rem); }

#IndexProductsSplit {
        flex-direction: column;
        min-height: auto;
    }

.ProductInner { padding: 30px 20px 20px; }

.ProductHalf { min-height: 380px; }

.ProductSectionTitle { font-size: clamp(1.2rem, 5vw, 1.8rem); }

.ProductModal { padding: 20px 10px; max-width: 95vw !important; }

.ProductModalContent { flex-direction: column; }

.ProductModalDevice { order: -1; margin-bottom: 20px; }

.ProductModalDevice img { max-height: 300px; }

.ProductModalContent { padding: 20px; }

/*
 來自：2. WebInfo Slogan
*/

.ProductModalLayout { flex-direction: column; }

.ProductModalBody { width: 100%; order: 2; }

.ProductModalDevice { order: 1; margin-bottom: 30px; }

.ProductModalScrollWrap { max-height: none; }
}

@media only screen and (max-width: 890px) {
	/*
 來自：寬
*/

header {
    top: 0;
	padding: 5px;
}

#Logo img {
    height: 50px;
}
}

@media only screen and (max-width: 830px) {
	/*
 來自：寬
*/

article.page {
    padding-top: 0;
}

/* Old MobileMenu / header rules removed */

nav {
    background: url("../images/menuBg.png") bottom center no-repeat, #fff;
    background-size: cover !important;
    display: block;
    position: absolute;
    top: 60px;
    right: -100vw;
    width: 100vw;

/*max-width: 320px;*/
    height: calc(100vh - 60px);
    transition: 1s;
}

nav.active {
    right: 0;
}

nav ul {
    padding: 50px 0;

/*background: rgba(0, 0, 0, .4);*/
    height: calc(100% - 100px);
}

nav li {
    display: block;
    text-align: center;
    margin: 0 auto 20px auto;
}

nav li a {
    color: #3da093;
}
}

@media only screen and (max-width: 800px) {
	/*
 來自：寬
*/

.product_B_Width > div {
    display: block !important;
    margin: 0 auto !important;
}

.product_B_Width {
    width: 100%;
}

.product_B_Width.Float_L > div {
	float: none;
}

.FaceTxt {
    width: 90% !important;;
    padding: 5% !important;;
    border-radius: 0 !important;
    margin-top: 30px !important;
}

.FaceTxt h2 {
    text-align: center;
}

#productInfo_C .siteWidth > div {
    display: block;
    width: 100%;
}

.HandCtrlTxt h2, .HandCtrlTxt h3 {
    text-align: center;
}

.HandCtrlTxt {
    margin-right: 0;
    margin-bottom: 30px;
}

.HandCtrlImg {
    max-width: 500px;
    margin: 0 auto;
}

#productInfo_C, #productInfo_D, #productInfo_E {
    margin-bottom: 50px;
}

.PD_bgline_top {
    margin-bottom: 50px;
}

.PD_Txt_Btn {
    padding-bottom: 50px;
}

.PD_Title {
    width: 90%;
    max-width: 500px;
    margin: 0 auto 30px;
    border-radius: 50px;
}

.PD_Title::after {
	display: none;
}

#productInfo_E {
    padding: 0;
}

#productInfo_E .siteWidth > div {
    display: block;
    width: 100%;
}

.SkinCircle {
    margin-top: 20px;
    padding-top: 70%;
}

.SkinCircle > div {
    width: 35%;
}

.SkinCircle > div:nth-child(2) {
    animation-name: SkinCircleB_m;
}

.SkinCircle > div:nth-child(3) {
    animation-name: SkinCircleC_m;
}
}

@media (max-width: 768px) {
	/*
 來自：裝置支援
*/

.dev_w { display: none !important; }

.dev_m { display: block !important; }

/*
 來自：Mobile Nav
*/

.FooterDisclaimer { width: 95%; }

.FooterDisclaimerCols { grid-template-columns: 1fr; }

.FooterInner {
        padding: 50px 20px 0;
    }

.FooterTop {
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
        gap: 24px !important;
        width: 90% !important;
        padding-bottom: 30px;
    }

.FooterBrand, .FooterSocialRight {
        text-align: center;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

.FooterSocialRight {
        flex-direction: row;
        justify-content: center;
    }

.FooterDivider {
        width: 90%;
    }

.FooterDisclaimer {
        width: 90%;
        padding: 30px 0;
    }

.FooterDisclaimerCols {
        grid-template-columns: 1fr;
        gap: 20px;
    }

.FooterCopyright {
        flex-direction: column;
        gap: 8px;
        text-align: center;
        padding: 18px 20px;
    }

.PageHero { padding: 110px 20px 80px; }

.PageIntro { margin: -40px 20px 30px; padding: 30px 24px; }

.LocationWrap { padding: 10px 20px 60px; }

/*
 來自：FAQ Body & Content
*/

.FAQTitle { padding: 20px; }

.QMark { width: 32px; height: 32px; font-size: 1rem; margin-right: 16px; }

.QText { font-size: 1.05rem; }

.FAQTitle .CollapseIcon { width: 28px; height: 28px; padding: 4px; margin-left: 12px; }

.FAQContent { padding: 20px 20px 24px 68px; font-size: 1rem; }

/*
 來自：Load More Button
*/

.HotArticleLink { height: auto; }

.HotArticleOverlay { padding: 80px 24px 30px; }

.HotArticleTitle { font-size: 1.6rem; }

.ArticleGrid { gap: 20px; }

.ArticleBody { padding: 20px 24px 24px; }

/*
 來自：7. Back Button
*/

.ArticleDetailContainer { padding: 40px 24px; border-radius: 16px; margin-top: 0; }

.ArticleDetailHeader { margin-bottom: 30px; padding-bottom: 30px; }

.FormContent { font-size: 1.05rem; }

.ArticleDetailNavigation { grid-template-columns: 1fr; gap: 16px; }

.NavNext { text-align: left; }

/*
 來自：Video Grid
*/

.HotVideoCard { aspect-ratio: auto; height: 360px; }

.HotVideoOverlay { padding: 40px 24px; }

.HotVideoContent { padding-right: 0; margin-bottom: 30px; }

.PlayIconWrap { bottom: 20px; right: 24px; width: 60px; height: 60px; }

.PlayIconWrap svg { width: 32px; height: 32px; }

.VideoBody { padding: 20px; }

/*
 來自：Mobile Responsive
*/

.CerTitle { margin-top: 50px; }

.CerNoteContent { padding: 30px 24px; }

.CerImgInner { flex-direction: column; }

/*
 來自：2. WebInfo Slogan
*/

.WebInfoContent {
        flex-direction: column;
        gap: 50px;
        padding: 0 20px;
    }

/*
 來自：Responsive
*/

.KVSlideCerTitle { font-size: 2rem; }

.cerImg1, .cerImg2 { display: none; }

.cerImgPhone { width: 280px; height: auto; transform: none; border-radius: 12px; }

.KVSlideCerImages:hover .cerImgPhone { transform: scale(1.05); }

.SecTitle { font-size: 1.8rem; }

.LocationCtaFloatBtn { padding: 16px 40px; font-size: 1.2rem; }

.RuleAniPanel {
    padding: 40px 20px;
    width: calc(90% - 40px);


}

.RuleAniName {
    font-size: 1.8rem;
}

.RuleAniMoreBtn {
    padding: 10px;
    margin-bottom: 10vw;
}

.RuleAniLayer {
    margin-bottom: 1vh;
}

.RuleAniCard { calc(100% - 60px) padding: 30px; }

.LayerLine { width: calc(100% - 162px); }


/*
 來自：新版年度稽核紀錄 (Audit Calendar)
*/

.AppModal {
        flex-direction: column;
    }

.AppModalLeft {
        width: calc(100% - 40px);
        padding: 40px 20px 20px;
        border-right: none;
        border-bottom: 1px solid #EBEFF2;
    }

.AppModalRight {
        width: calc(100% - 40px);
        padding: 30px 20px;
    }

.AppModalHeader {
        padding-right: 0;
    }

.AppModalApplies ul {
    grid-template-rows: 1fr 1fr;
}
}

@media only screen and (max-width: 740px) {
	/*
 來自：寬
*/

.TitleTxt {
    text-align: center;
}
}

@media only screen and (max-width: 680px) {

/*----------認證頁面----------*/

#CertificationContent {
    width: calc(95% - 10vw);
    padding: 5vw;
    margin-bottom: 8vw;
}

#CerStep1 {
    width: 100%;
    margin: 0;
    padding-bottom: 5vw;
    margin-bottom: 10vw;
}

#CerStep1 .CerImg {
    display: block;
    width: 100%;
    margin-bottom: 6vw;
}

#CerStep2 .CerImg {
    margin-right: 0;
}

#CerStep3 .CerImg {
    width: 55%;
}
}

@media only screen and (max-width: 650px) {
}

@media (max-width: 600px) {
	/*
 來自：Mobile Nav
*/

.FooterCopyright { flex-direction: column; gap: 8px; text-align: center; }

/*
 來自：Search Bar
*/

.LocationSearchForm { flex-direction: column; border-radius: 16px; }

.LocationSearchForm select { border-right: none; border-bottom: 1px solid #E5EBEF; padding: 14px 20px;         width: 100%; }

.LocationSearchForm button { padding: 16px; justify-content: center; }

/*
 來自：Clinic Cards Grid
*/

.ClinicGrid { grid-template-columns: 1fr; }

.AreaTitle span { font-size: 1.6rem; }

.CityLabel { font-size: 1.3rem; }

.ClinicBtn { flex-basis: 100%; }
}

@media (max-width: 576px) {
	/*
 來自：新版年度稽核紀錄 (Audit Calendar)
*/

.MonthGrid {
        grid-template-columns: repeat(3, 1fr);
    }

.MonthCircle {
        width: 50px;
        height: 50px;
    }
}

@media only screen and (max-width: 560px) {
	/*
 來自：寬
*/
.LayerLine {
    width: calc(100% - 140px);
}


.PageCtrlLBtn, .PageCtrlRBtn {
    width: 40%;
}
}

@media only screen and (max-width: 500px) {
	/*
 來自：寬
*/

#Gotop.active {
    bottom: 90px;
}

.marqList img { width: 50vw;}

#LocateLink {
    width: 100%;
}

#LocateLink img {
    height: 60px;
}

#LocateLink a {
    height: 40px;
}

#LocateLink a > div:first-child {
    margin-top: -25px;
}

#LocateLink a::after {
    transform: skewX(0deg);
    height: 100%;
}

/*-----產品介紹頁-----*/

.dev_m {
    display: block !important;
}

.dev_w {
    display: none !important;
}

#ProductsSlider ul li > div {
    padding: 10% 0;
}

.PD_bgline_top {
    width: 60%;
    margin-left: 40%;
}

.PD_bgline_btn {
    width: 60%;
}

/*-----影音專區-----*/

#VideoTop {
    margin-bottom: 20px;
}

.videoTopShareBtn {
    bottom: -75px;
    right: 0px;
}
}

@media only screen and (max-width: 460px) {
	/*
 來自：寬
*/

.PD_Title {
    font-size: 24px;
}



}

@media only screen and (max-width: 420px) {
	/*
 來自：寬
*/

.SkinCircle {
    padding-top: 120%;
    margin-top: 0;
}

.SkinCircle > div {
    width: 55%;
}

.SkinCircle > div:nth-child(2) {
    animation-name: SkinCircleB_m2;
}

.SkinCircle > div:nth-child(3) {
    animation-name: SkinCircleC_m2;
}
}

@media only screen and (max-width: 526px) {
    .CerTitleBreak { display: block; }
}

/* =======================================
   New KV Slide A-Lin
   ======================================= */
.KVSlideALin {
    background: url('../images/index_KV_2026-bg.jpg') repeat-x center top;
    background-size: auto 100%;
    width: 100%;
    position: relative;
    overflow: hidden;
}

.KVSlideALinInner {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    height: 100%;
    position: relative;
    padding-top: 100px;
}

.KVALinModel {
    position: absolute;
    left: -5%;
    top: 100px; /* pull down further from header */
    height: 165vh; /* +20% enlargement */
    z-index: 10;
}
.KVALinModel img {
    height: 100%;
    width: auto;
    object-fit: contain;
    object-position: top left; /* anchor to top so head is never cropped */
    opacity: 0;
}
.slick-active .KVALinModel img {
    animation: fadeInALinUp 1s ease forwards;
}

.KVALinLogo {
    position: absolute;
    top: clamp(80px, 8.5vw, 120px);
    right: clamp(20px, 3.5vw, 50px);
    z-index: 20;
    opacity: 0;
}
.slick-active .KVALinLogo { animation: fadeInALin 1s ease 0.3s forwards; }
.KVALinLogo img { height: clamp(40px, 4.2vw, 60px); }

.KVALinTitleGroup {
    position: absolute;
    top: clamp(140px, 15.5vw, 220px);
    right: clamp(20px, 3.5vw, 50px);
    z-index: 20;
    text-align: right;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    opacity: 0;
}
.slick-active .KVALinTitleGroup { animation: fadeInALin 1s ease 0.6s forwards; }
.KVALinTitleGroup .title { height: clamp(90px, 10.5vw, 150px); margin-bottom: clamp(15px, 1.8vw, 25px); display: block; }
.KVALinTitleGroup .slogan { height: clamp(24px, 2.8vw, 40px); display: block; }

.KVALinSignGroup {
    position: absolute;
    top: clamp(350px, 40vw, 500px); /* Moved down */
    right: clamp(280px, 38vw, 500px); /* Moved left (closer to A-Lin) */
    z-index: 20;
    opacity: 0;
}
.slick-active .KVALinSignGroup { animation: fadeInALin 1s ease 0.9s forwards; }
.KVALinSignGroup .nametitle {
    position: absolute;
    top: clamp(12px, 1.4vw, 20px);
    right: clamp(-50px, -3.5vw, -30px);
    height: clamp(12px, 1.4vw, 20px); /* Smaller */
    z-index: 2;
}
.KVALinSignGroup .sign { height: clamp(90px, 11.2vw, 160px); display: block; z-index: 1; position: relative; }

.KVALinProduct {
    position: absolute;
    top: clamp(340px, 37vw, 520px); /* Moved down from slogan */
    right: clamp(20px, 3.5vw, 50px);
    z-index: 15;
    opacity: 0;
}
.slick-active .KVALinProduct { animation: fadeInALin 1s ease 1.2s forwards; }
.KVALinProduct img { height: clamp(350px, 36.5vw, 520px); }

@keyframes fadeInALin { from { opacity: 0; } to { opacity: 1; } }
@keyframes fadeInALinUp { from { opacity: 0; transform: translateY(50px); } to { opacity: 1; transform: translateY(0); } }

/* Mobile */
@media (max-width: 900px) {
    .KVSlideALinInner { padding-top: 80px; }

    .KVALinLogo { top: 80px; left: 50%; transform: translateX(-50%); right: auto; }
    .KVALinLogo img { height: 45px; } /* Larger */

    .KVALinTitleGroup { top: 140px; left: 50%; transform: translateX(-50%); right: auto; text-align: center; align-items: center; width: 100%; }
    .KVALinTitleGroup .title { height: auto; width: 85%; max-width: none; margin-bottom: 15px; } /* Larger */
    .KVALinTitleGroup .slogan { height: auto; width: 65%; max-width: none; } /* Larger */

    .KVALinModel { top: 280px; bottom: auto; left: 0; transform: none; height: calc(100vh - 200px); z-index: 5; }
    .KVALinModel img { width: 100%; height: 100%; object-fit: contain; object-position: bottom left; }

    .KVALinSignGroup { top: 350px; bottom: auto; right: 20px; text-align: right; z-index: 20; }
    .KVALinSignGroup .sign { height: 90px; margin-bottom: 5px; }
    .KVALinSignGroup .nametitle { height: 16px; top: -25px; right: 0; }

    .KVALinProduct { top: calc(100vh - 65vw); bottom: auto; right: 20px; z-index: 15; }
    .KVALinProduct img { height: 450px; }
}