:root{
  --rose-deep:#93233E;
  --rose-hover:#D02533;
  --rose-mid:#E2727F;
  --rose-light:#FBDDE1;
  --cream:#F5F5F5;
  --ink:#313035;
  --gold:#C9A15A;
  --banner-red:#93233E;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{overflow-x:hidden;width:100%;-webkit-tap-highlight-color:transparent;}
body{
  font-family:'Noto Sans TC',sans-serif;
  color:var(--ink);
  background:var(--cream);
  line-height:1.8;
  font-size:18px;
  letter-spacing:0.05em;
}
h1,h2,h3{font-family:'Noto Sans TC',sans-serif;}

.site-topbar{
  position:fixed;
  top:0;left:0;right:0;
  z-index:40;
}
header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:clamp(10px, 1.5vw, 20px) max(6%, calc((100% - 1200px) / 2));
  background:#fff;
  box-shadow:0 1px 8px rgba(181,71,107,0.08);
}
.logo{
  font-family:'Noto Sans TC',sans-serif;
  font-size:22px;
  font-weight:700;
  color:var(--rose-deep);
  letter-spacing:2px;
}
.logo span{color:var(--gold);font-size:14px;display:block;font-weight:400;letter-spacing:1px;}
.logo-img{
  height:auto;
  width:clamp(180px, 15vw, 220px);
  object-fit:contain;
  display:block;
}
.desktop-nav{display:flex;align-items:center;gap:24px;}
.desktop-nav > ul{display:flex;gap:34px;list-style:none;font-size:16px;}
.desktop-nav a{text-decoration:none;color:var(--ink);transition:color .2s;}
.desktop-nav a:hover{color:var(--rose-hover);}
.nav-search{display:flex;align-items:center;}
.nav-search-toggle{
  width:36px;height:36px;border-radius:50%;border:none;background:transparent;color:var(--ink);
  display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .2s,color .2s;
}
.nav-search-toggle:hover{background:#f4e9ec;color:var(--rose-deep);}
.nav-search-toggle svg{width:20px;height:20px;}
.nav-search-form{width:0;overflow:hidden;transition:width .3s ease,margin-left .3s ease;margin-left:0;}
.nav-search.open .nav-search-form{width:180px;margin-left:6px;}
.nav-search-input{
  width:100%;height:36px;border:1px solid #e5d8db;border-radius:9999px;padding:0 16px;box-sizing:border-box;
  font-size:14px;font-family:'Noto Sans TC',sans-serif;outline:none;
}
.nav-search-input:focus{border-color:var(--rose-deep);}

/* 頂部紅色橫幅（醫美專區） */
.line-promo-banner{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  background:var(--banner-red);
  color:#fff;
  text-align:center;
  padding:clamp(6px, 0.8vw, 10px) 6%;
  font-size:clamp(13px, 1vw, 16px);
  letter-spacing:1px;
  text-decoration:none;
}
@media(max-width:860px){
  .line-promo-banner{padding:8.5px 6%;font-size:14px;}
}
.line-promo-banner svg{width:16px;height:16px;flex-shrink:0;}
.line-promo-banner:hover{background:var(--rose-hover);}

/* 手機版下拉選單開啟前，body 預留空間的預設值（JS 會再校正成精確高度） */
body{padding-top:74px;}
body.has-banner{padding-top:112px;}

/* 漢堡選單按鈕(紅色方形,預設隱藏,手機版才出現) */
.hamburger-btn{
  display:none;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:5px;
  width:40px;
  height:40px;
  background:var(--rose-deep);
  border:none;
  border-radius:8px;
  cursor:pointer;
  padding:0;
}
.hamburger-btn span{
  display:block;
  width:18px;
  height:2px;
  background:#fff;
  border-radius:2px;
  transition:transform .25s, opacity .25s;
}
.hamburger-btn.active span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger-btn.active span:nth-child(2){opacity:0;}
.hamburger-btn.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* 手機版下拉選單面板：fixed定位，跟著頂部欄目前的位置出現（top由JS計算設定） */
.mobile-nav{
  display:none;
  position:fixed;
  left:0;right:0;
  top:74px; /* 預設值，JS會依實際header高度覆蓋 */
  max-height:0;
  overflow:hidden;
  background:#fff;
  box-shadow:0 14px 34px rgba(181,71,107,0.22);
  transition:max-height .3s ease;
  z-index:35;
}
.mobile-nav.open{max-height:calc(100vh - 80px);overflow-y:auto;}
.mobile-nav-search{display:flex;align-items:center;padding:16px 6% 0;}
.mobile-search-toggle{
  width:36px;height:36px;border-radius:50%;border:none;background:#f4e9ec;color:var(--rose-deep);
  display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;
}
.mobile-search-toggle svg{width:18px;height:18px;}
.mobile-search-form{width:0;overflow:hidden;transition:width .3s ease,margin-left .3s ease;margin-left:0;}
.mobile-nav-search.open .mobile-search-form{width:calc(100% - 46px);margin-left:10px;}
.mobile-search-input{
  width:100%;height:36px;border:1px solid #e5d8db;border-radius:9999px;padding:0 16px;box-sizing:border-box;
  font-size:14px;font-family:'Noto Sans TC',sans-serif;outline:none;
}
.mobile-search-input:focus{border-color:var(--rose-deep);}
.mobile-nav ul{list-style:none;padding:10px 6% 0;}
.mobile-nav > ul > li{border-bottom:1px solid #f4e9ec;}
.mobile-nav a{
  display:block;
  padding:14px 4px;
  color:var(--ink);
  text-decoration:none;
  font-size:16px;
}
.mobile-sub-toggle{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  padding:14px 4px;
  background:none;
  border:none;
  color:var(--ink);
  font-size:16px;
  font-family:'Noto Sans TC',sans-serif;
  cursor:pointer;
  text-align:left;
}
.mobile-sub-arrow{
  width:8px;height:8px;
  border-right:1.5px solid var(--ink);
  border-bottom:1.5px solid var(--ink);
  transform:rotate(45deg);
  transition:transform .2s;
  flex-shrink:0;
}
.mobile-sub-toggle.active .mobile-sub-arrow{
  transform:rotate(225deg);
  margin-top:6px;
}
.mobile-submenu{
  max-height:0;
  overflow:hidden;
  padding-left:16px !important;
  transition:max-height .25s ease;
}
.mobile-submenu.open{
  max-height:260px;overflow-y:scroll;-webkit-overflow-scrolling:touch;
  scrollbar-width:thin;scrollbar-color:var(--rose-deep) #f0e3e6;
}
.mobile-submenu.open::-webkit-scrollbar{width:5px;}
.mobile-submenu.open::-webkit-scrollbar-track{background:#f0e3e6;}
.mobile-submenu.open::-webkit-scrollbar-thumb{background:var(--rose-deep);border-radius:3px;}
.mobile-nav a.mobile-booking-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:150px;
  height:45px;
  margin:23px auto 40px;
  background:var(--rose-deep);
  color:#fff !important;
  border-radius:9999px;
  text-decoration:none;
  font-size:16px;
  box-sizing:border-box;
}
.mobile-nav a.mobile-booking-btn svg{width:18px;height:18px;color:#fff;}
.mobile-submenu li a{
  padding:10px 4px;
  font-size:14px;
  color:#666666;
}
.mobile-submenu li a:active,
.mobile-submenu li a:hover{color:var(--rose-hover);}

.has-dropdown{position:relative;}
.dropdown-toggle{display:flex;align-items:center;gap:5px;cursor:pointer;text-decoration:none;color:inherit;}
.dropdown-toggle::after{
  content:"";
  width:6px;height:6px;
  border-right:1.5px solid var(--ink);
  border-bottom:1.5px solid var(--ink);
  transform:rotate(45deg);
  transition:transform .2s, border-color .2s;
  margin-top:-3px;
}
.has-dropdown:hover .dropdown-toggle::after{transform:rotate(225deg);border-color:var(--rose-hover);}
.dropdown-menu{
  position:absolute;
  top:100%;left:50%;
  transform:translateX(-50%) translateY(8px);
  background:#fff;
  min-width:180px;
  border-radius:12px;
  box-shadow:0 10px 30px rgba(181,71,107,0.15);
  padding:10px;
  list-style:none;
  display:flex;
  flex-direction:column;
  opacity:0;
  visibility:hidden;
  transition:opacity .2s, transform .2s, visibility .2s;
  z-index:20;
}
.has-dropdown:hover .dropdown-menu,
.has-dropdown:focus-within .dropdown-menu{
  opacity:1;visibility:visible;
  transform:translateX(-50%) translateY(0);
}
.dropdown-menu li a{display:block;padding:10px 14px;border-radius:8px;font-size:14px;color:var(--ink);white-space:nowrap;}
.dropdown-menu li a:hover{background:#ECF3FD;}

.site-footer{background:#DDDCDE;color:var(--ink);}
.footer-inner{max-width:1200px;margin:0 auto;padding:35px 0 20px;box-sizing:border-box;}
.footer-top{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:20px;margin-bottom:20px;}
.footer-social{display:flex;gap:14px;margin-top:10px;}
.footer-social a{
  width:45px;height:45px;border-radius:50%;background:#6b6a6c;color:#fff;
  display:flex;align-items:center;justify-content:center;transition:background .2s;flex-shrink:0;
}
.footer-social a:hover{background:var(--rose-deep);}
.footer-social svg{width:27px;height:27px;}
.footer-social a[aria-label="Instagram"] svg{width:27px;height:27px;}
.footer-social-img{width:27px;height:27px;object-fit:contain;filter:brightness(0) invert(1);}
.footer-social a[aria-label="LINE"] .footer-social-img{width:25px;height:25px;}

.footer-cols{display:flex;flex-wrap:wrap;gap:60px;align-items:flex-start;margin-left:110px;margin-bottom:20px;}
.footer-brand-col{display:flex;flex-direction:column;align-items:center;gap:53px;flex:0 0 auto;}
.footer-logo-img{width:290px;height:50px;object-fit:contain;display:block;}
.footer-logo-text{font-size:22px;color:var(--rose-deep);}
.footer-service-btn{
  width:150px;height:45px;box-sizing:border-box;background:var(--rose-deep);color:#fff;border-radius:9999px;
  display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:18px;font-weight:500;
  transition:background .2s;
}
.footer-service-btn:hover{background:var(--rose-hover);}
.footer-branches-wrap{
  margin-left:auto;margin-right:130px;display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:24px 60px;padding-bottom:30px;
}
.footer-branch-name{font-size:18px;font-weight:700;color:var(--ink);text-decoration:none;display:block;margin-bottom:6px;}
.footer-branch-name:hover{color:var(--rose-deep);}
.footer-branch-line{
  display:flex;align-items:flex-start;gap:6px;font-size:16px;color:#5c5a5c !important;font-weight:400 !important;
  text-decoration:none;margin-top:3px;line-height:1.3;
}
.footer-branch-line svg{margin-top:2px;}
.footer-branch-line svg{width:14px;height:14px;color:#8a8888;flex-shrink:0;}
.footer-branch-line:hover{color:var(--rose-deep) !important;}
.footer-branch-line:hover svg{color:var(--rose-deep);}

.footer-disclaimer-inner{padding-top:20px;border-top:1px solid rgba(0,0,0,0.08);}
.footer-disclaimer-inner p{font-size:13px;line-height:1.4;color:#6b6a6c;margin:2px 0;}
.footer-copyright-bar{background:var(--rose-deep);padding:12px 6%;display:flex;align-items:center;justify-content:center;min-height:20px;box-sizing:border-box;}
.footer-copyright{text-align:center;font-size:13px;color:#fff;opacity:.9;margin:0;line-height:1.5;}

@media(max-width:960px){
  .footer-cols{gap:30px;}
  .footer-col, .footer-branch{min-width:45%;}
}
.footer-social-mobile{display:none;}
@media(max-width:640px){
  .footer-inner{display:flex;flex-direction:column;}
  .footer-top{display:none;}
  .footer-cols{flex-direction:column;align-items:center;margin-left:0;gap:20px;order:1;}
  .footer-brand-col{align-items:center;gap:20px;}
  .footer-social-mobile{display:flex;justify-content:center;order:3;margin-top:20px;}
  .footer-service-btn{order:2;}
  .footer-branches-wrap{
    margin-left:0;margin-right:0;grid-template-columns:1fr;gap:28px;width:100%;max-width:320px;
    padding-bottom:0;text-align:center;margin-top:16px;
  }
  .footer-branch{text-align:center;}
  .footer-branch-line{justify-content:center;}
  .footer-disclaimer-inner{padding-left:6%;padding-right:6%;order:2;margin-top:24px;}
  .footer-disclaimer-inner p{text-align:center;}
}
/* 衛教內容頁專用 */
.page-banner{
  padding:64px 6% 50px;
  text-align:center;
  background:radial-gradient(circle at 75% 20%, var(--rose-light) 0%, var(--cream) 65%);
}
.page-banner .eyebrow{color:var(--gold);font-size:13px;letter-spacing:4px;display:block;margin-bottom:12px;}
.page-banner h1{font-size:32px;color:var(--rose-deep);}

/* 診療項目：分類共用照片橫幅（比例跟首頁輪播圖一致） */
.derm-banner{
  position:relative;
  width:100%;
  height:34vw;
  min-height:320px;
  max-height:580px;
  background-size:cover;
  background-position:center;
  background-color:var(--rose-light);
  display:flex;
  align-items:flex-end;
}
.derm-banner::before{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(0deg, rgba(39,72,99,0.2) 0%, rgba(39,72,99,0.1) 55%, rgba(39,72,99,0) 100%);
}
.derm-banner-overlay{
  position:relative;
  z-index:1;
  width:100%;
  max-width:1200px;
  margin:0 auto;
  padding:0 6% 34px;
  color:#fff;
  box-sizing:border-box;
}
@media(min-width:1261px){
  .derm-banner-overlay{padding-left:20px;}
}
.derm-banner-eyebrow{
  display:block;
  font-size:16px;
  letter-spacing:2px;
  opacity:.9;
  margin-bottom:8px;
}
.derm-banner-overlay h1{
  font-size:40px !important;
  color:#fff;
  text-shadow:0 4px 12px rgba(39,72,99,0.2);
}
@media(max-width:860px){
  .derm-banner{
    height:110vw;
    max-height:620px;
  }
  .derm-banner-eyebrow{font-size:19px;}
  .derm-banner-overlay h1{font-size:36px !important;}
}

.derm-breadcrumb{
  max-width:1200px;
  margin:0 auto;
  background:#fff;
  padding:22px 6% 0;
  font-size:14px;
  color:#8a7578;
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
  row-gap:4px;
  box-sizing:border-box;
}
.derm-breadcrumb a, .derm-breadcrumb span{white-space:nowrap;}
@media(min-width:1261px){
  .derm-breadcrumb{padding-left:20px;}
}
.derm-breadcrumb a{color:#8a7578;text-decoration:none;}
.derm-breadcrumb a:hover{color:var(--rose-hover);}
.derm-breadcrumb .current{color:var(--rose-deep);}

.derm-page-heading{
  text-align:center;
  color:var(--ink);
  font-size:22px;
  margin:30px 0 10px;
}
.derm-page-subtitle{
  text-align:center;
  color:var(--rose-deep);
  font-size:14px;
  margin-bottom:36px;
}

.article{max-width:1200px;margin:0 auto;padding:60px 6% 130px;box-sizing:border-box;background:#fff;overflow-x:hidden;}
.article a:not(.loc-book-btn):not(.team-detail-back-btn), .article a:visited:not(.loc-book-btn):not(.team-detail-back-btn){color:var(--rose-deep);text-decoration:none;}
.article a:hover:not(.loc-book-btn):not(.team-detail-back-btn){text-decoration:underline;}
.article img{max-width:100%;height:auto;display:block;}
.article .article-rwd-img{display:block;max-width:100%;}
.article .article-rwd-img img{display:block;max-width:100%;height:auto;}
.article table{max-width:100%;}
.article h2{font-size:32px;color:var(--rose-deep);margin:34px 0 14px;}
.article h3{font-size:23px;color:var(--rose-deep);margin:28px 0 12px;}
.article p{color:#666;margin-bottom:16px;font-size:18px;}
.article ul{margin:0 0 16px 20px;color:#666;font-size:18px;}
.article ul li{margin-bottom:8px;}

.back-link{
  display:inline-block;
  margin-bottom:20px;
  font-size:14px;
  color:var(--rose-deep);
  text-decoration:none;
}
.back-link:hover{text-decoration:underline;}

/* ===== 全站標準按鈕規格：150x45px、完全圓角、文字18px
   （之後新增的一般按鈕，沒有特別註明設計的都比照這個規格） ===== */
.btn-pill{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  width:150px;height:45px;border-radius:9999px;font-size:18px;
  text-decoration:none;color:#fff;background:var(--rose-deep);transition:background .2s;
  box-sizing:border-box;white-space:nowrap;
}
.btn-pill:hover{background:var(--rose-hover);}
.btn-pill svg{width:16px;height:16px;flex-shrink:0;}
.btn-pill.btn-pill-dark{background:var(--ink);}
.btn-pill.btn-pill-dark:hover{background:#1f1c1d;}

/* ===== 醫療團隊頁面 ===== */
.team-section{max-width:1200px;margin:0 auto;padding:36px 115px 130px;background:#fff;}
.team-filters{display:flex;gap:30px;margin-bottom:70px;flex-wrap:wrap;justify-content:center;}
.team-filter{
  width:150px;height:45px;border-radius:9999px;border:none;background:#DDDCDE;color:#313035;
  font-size:18px;font-weight:500;cursor:pointer;font-family:'Noto Sans TC',sans-serif;transition:background .2s,color .2s;
  box-sizing:border-box;
}
.team-filter.active{background:var(--rose-deep);color:#fff;}
.team-filter-dropdown{position:relative;}
.team-filter-toggle{
  width:150px;height:45px;border-radius:9999px;border:none;background:#DDDCDE;color:#313035;
  font-size:18px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;
  font-family:'Noto Sans TC',sans-serif;transition:background .2s,color .2s;box-sizing:border-box;
}
.team-filter-toggle.active{background:var(--rose-deep);color:#fff;}
.team-filter-toggle .arrow{
  width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-3px;
}
.team-filter-menu{
  display:none;position:absolute;top:110%;left:0;background:#fff;border-radius:12px;
  box-shadow:0 10px 30px rgba(0,0,0,0.12);padding:8px;min-width:150px;z-index:10;
}
.team-filter-menu.open{display:block;}
.team-branch-option{
  display:block;width:100%;text-align:left;padding:10px 14px;border:none;background:none;border-radius:8px;
  font-size:14px;color:var(--ink);cursor:pointer;font-family:'Noto Sans TC',sans-serif;
}
.team-branch-option:hover{background:var(--rose-light);}

.team-grid{display:grid;grid-template-columns:repeat(auto-fill, 292px);row-gap:64px;justify-content:space-between;}
.team-card{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 4px 16px rgba(0,0,0,0.06);width:292px;display:flex;flex-direction:column;position:relative;}
.team-photo{
  width:292px;height:325px;flex-shrink:0;overflow:hidden;
  background:linear-gradient(135deg,#e4e4e4,#f4f4f4) center/cover no-repeat;
  background-size:100%;transition:background-size .5s ease;cursor:pointer;
}
.team-card:hover .team-photo{background-size:115%;}
.team-info{padding:14px 16px 4px;display:flex;align-items:baseline;gap:8px;transition:background .2s;}
.team-name{font-size:23px;font-weight:700;color:var(--ink);}
.team-role{font-size:18px;color:#666666;}
.team-info-row{
  display:flex;align-items:center;gap:10px;padding:8px 16px 16px;transition:background .2s;
}
.team-branch-label{
  font-size:15px;color:#4A7DBD;font-weight:500;
}
.team-more-btn{
  display:flex;align-items:center;justify-content:center;gap:6px;width:150px;height:45px;border-radius:9999px;
  background:#DDDCDE;color:#313035;font-size:18px;font-weight:500;text-decoration:none;transition:background .2s,color .2s;white-space:nowrap;
  margin-left:auto;
}
.team-more-btn svg{width:14px;height:14px;}
.btn-arrow-icon{width:14px;height:14px;display:inline-block;transition:filter .2s;filter:brightness(0);}
.team-card:hover .team-info,
.team-card:hover .team-info-row{background:#ECF3FD;}
.team-card:hover .team-more-btn,
.team-more-btn:hover{background:var(--rose-deep) !important;color:#fff !important;}
.team-card:hover .btn-arrow-icon,
.team-more-btn:hover .btn-arrow-icon{filter:brightness(0) invert(1);}
.contact-intro-btn:hover .btn-arrow-icon{filter:brightness(0) invert(1);}

@media(max-width:860px){
  .team-section{padding-left:6%;padding-right:6%;}
  .team-grid{grid-template-columns:repeat(2,1fr);column-gap:16px;row-gap:28px;}
  .team-card{width:100%;height:auto;}
  .team-photo{width:100%;height:190px;}
  .team-info{padding:12px 14px 4px;justify-content:center;}
  .team-name{font-size:19px;}
  .team-role{font-size:13px;}
  .team-branch-label{
    position:absolute;top:8px;left:8px;z-index:2;
    width:52px;height:25px;box-sizing:border-box;background:#A9C5E0;color:#fff;border-radius:9999px;
    display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:400;
  }
  .team-info-row{padding:8px 10px 16px;justify-content:center;}
  .team-more-btn{margin-left:0;}
  .team-more-btn{width:auto;height:auto;padding:7px 16px;font-size:18px;font-weight:500;background:#DDDCDE;color:#313035;white-space:nowrap;}
}

/* ===== 醫師詳細頁 ===== */
.team-detail-row1{display:grid;grid-template-columns:360px minmax(0,613px);gap:50px;margin-bottom:44px;align-items:stretch;}
.team-detail-photo{
  width:100%;height:100%;min-height:470px;border-radius:8px;
  background:linear-gradient(135deg,#e4e4e4,#f4f4f4) center/cover no-repeat;
}
.team-detail-info{display:flex;flex-direction:column;}
.team-detail-title{
  width:52px;height:25px;box-sizing:border-box;background:#A9C5E0;color:#fff;border-radius:9999px;
  display:flex;align-items:center;justify-content:center;font-size:13px;
}
.team-detail-graybox-main h2{font-size:32px;color:#1a1a1a;font-weight:700;margin:0;}
.team-detail-graybox-main h2 small{font-size:23px;color:#1a1a1a;font-weight:700;}
.team-detail-divider{border-top:1px solid #eee;}

.team-detail-graybox{
  background:#F5F5F5;border-radius:10px;padding:30px;box-sizing:border-box;
  min-height:470px;flex:1;
}
.team-detail-row1 .team-detail-graybox{display:flex;flex-direction:column;justify-content:center;gap:18px;}
.team-detail-graybox .team-detail-section:not(:first-child){margin-top:30px;}
.team-detail-graybox-main{justify-content:flex-start !important;position:relative;}
.team-detail-headline{
  position:absolute;top:30px;right:0;background:var(--ink);color:#fff;font-size:15px;font-weight:700;
  padding:6px 16px;border-radius:0;
}
.team-detail-graybox-main .team-detail-list{margin-top:-6px;}
.team-detail-section:not(:first-child){margin-top:0;}
.team-detail-section h3{
  font-size:23px;color:var(--ink);font-weight:700;display:flex;align-items:center;gap:8px;margin-bottom:16px;
}
.team-detail-graybox > h3{
  font-size:23px;color:var(--ink);font-weight:700;display:flex;align-items:center;gap:8px;margin-bottom:16px;
}
.title-cross-icon{width:25px;height:25px;flex-shrink:0;color:var(--rose-deep);}
.team-detail-list p{font-size:18px;color:#666;line-height:1.9;margin-bottom:4px;}

.team-detail-row2{display:grid;grid-template-columns:360px minmax(0,613px);gap:50px;margin-bottom:24px;align-items:stretch;}
.team-detail-row3{margin:45px 0 24px;}
.team-detail-cert{
  background:#DDDCDE;border-radius:0;box-sizing:border-box;padding:30px 0;
}
.team-detail-cert h3{padding-left:30px;padding-right:30px;justify-content:center;}
.team-detail-cert-carousel-wrap{display:grid;grid-template-columns:1fr 1fr;row-gap:20px;margin-top:16px;}
.team-detail-cert-carousel{
  grid-column:1 / 3;overflow:hidden;max-width:969px;width:100%;height:250px;margin-left:auto;margin-right:auto;cursor:grab;
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 4%, #000 96%, transparent 100%);
  mask-image:linear-gradient(90deg, transparent 0%, #000 4%, #000 96%, transparent 100%);
}
.team-detail-cert-carousel.cert-static{
  cursor:default;display:flex;justify-content:center;
  -webkit-mask-image:none;mask-image:none;
}
.cert-carousel-arrow{
  display:none !important;
}
.team-detail-cert-track{display:flex;gap:16px;width:max-content;height:250px;will-change:transform;}
.team-detail-cert-track.cert-static{width:100%;justify-content:center;}
.team-detail-cert-photo{
  height:250px;width:auto;max-width:none;flex-shrink:0;border-radius:6px;display:block;object-fit:contain;
}
.team-detail-service-row{display:flex;flex-direction:column;gap:4px;}
.team-detail-service-branch{font-size:18px;font-weight:700;color:var(--ink);}
.team-detail-hours p{font-size:15px;color:#666;line-height:1.9;margin:5px 0;}

.team-detail-actions{display:flex;justify-content:center;align-items:center;gap:30px;margin-top:60px;}
.team-detail-actions .loc-book-btn{margin-top:0;}
.team-detail-back-btn{
  width:150px;height:45px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;
  background:#DDDCDE;color:#313035;border-radius:9999px;text-decoration:none;font-size:18px;font-weight:500;
  transition:background .2s,color .2s;
}
.team-detail-back-btn:hover{background:var(--rose-deep);color:#fff;}
@media(max-width:960px){
  .team-detail-row1, .team-detail-row2{grid-template-columns:1fr;}
  .team-detail-photo{min-height:340px;height:340px;}
  .team-detail-graybox{min-height:0;}
}
@media(max-width:640px){
  .team-detail-graybox-main h2{font-size:24px;}
}
/* ===== 預約掛號頁面 ===== */
.booking-section{max-width:1200px;margin:0 auto;padding:36px 6% 130px;background:#fff;}

/* ===== 服務項目及掛號須知 ===== */
.notice-content{max-width:640px;margin:0 auto;}
.notice-section-title{
  color:var(--rose-deep);font-size:19px;margin:34px 0 16px;padding-bottom:8px;border-bottom:2px solid var(--rose-light);
}
.notice-block h4{font-size:18px;color:var(--ink);margin:18px 0 8px;}
.notice-block p{font-size:18px;color:#666;line-height:1.8;}
.notice-list{margin:0 0 10px 20px;}
.notice-list li{font-size:18px;color:#666;line-height:1.9;margin-bottom:4px;}
.notice-back-btn{
  display:flex;align-items:center;justify-content:center;width:150px;height:45px;margin:44px auto 10px;
  background:var(--ink);color:#fff;border-radius:9999px;text-decoration:none;font-size:18px;
}
.notice-back-btn:hover{background:#1f1c1d;}

/* ===== LINE 好友招募區塊 ===== */
.line-promo{
  max-width:1000px;
  margin:0 auto;
  padding:50px 6%;
  text-align:center;
}
.line-promo .promo-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family:'Noto Sans TC',sans-serif;
  color:var(--rose-deep);
  font-weight:700;
  font-size:16px;
  margin-bottom:14px;
}
.line-promo h2{
  color:#2fae4e;
  font-size:22px;
  margin-bottom:30px;
}
.line-promo-content{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:40px;
  flex-wrap:wrap;
}
.line-promo-links{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
  max-width:280px;
}
.line-promo-links a{
  display:flex;
  align-items:center;
  gap:8px;
  padding:14px 12px;
  background:var(--cream);
  border-radius:10px;
  text-decoration:none;
  color:var(--ink);
  font-size:13px;
  transition:background .2s;
}
.line-promo-links a:hover{background:var(--rose-light);}
.line-promo-links svg{flex-shrink:0;width:18px;height:18px;color:var(--rose-deep);}

.line-promo-qr{
  /* 這裡放「手拿手機顯示QR code」的圖片，圖片路徑見下方說明 */
  max-width:220px;
}
.line-promo-qr img{
  width:100%;
  height:auto;
  border-radius:16px;
  display:block;
}

.line-promo-cta{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:30px;
  padding:14px 44px;
  background:#06C755;
  color:#fff;
  border-radius:30px;
  text-decoration:none;
  font-size:16px;
  font-weight:500;
}
.line-promo-cta:hover{background:#05a648;}

@media(max-width:640px){
  .line-promo-content{flex-direction:column;gap:24px;}
}

/* ===== 底部 / 側邊 固定浮動按鈕列(全站) ===== */
.floating-bar{
  position:fixed;
  z-index:30;
  -webkit-transform:translateZ(0);
  transform:translateZ(0);
  will-change:transform;
}
.floating-bar ul{
  list-style:none;
  display:flex;
}
.floating-bar a{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  text-decoration:none;
  color:var(--ink);
  font-size:12px;
}
.floating-bar svg{width:20px;height:20px;color:var(--rose-deep);}

/* 手機版：固定在畫面最下方，橫向三顆 */
@media(max-width:860px){
  header{padding-top:15px;padding-bottom:15px;}
  .floating-bar{
    left:0;right:0;bottom:0;
    background:#fff;
    box-shadow:0 -2px 18px rgba(0,0,0,0.16);
    padding:11px 0 max(18px, env(safe-area-inset-bottom));
  }
  .floating-bar ul{width:100%;justify-content:space-around;}
  .floating-bar li{flex:1;position:relative;}
  .floating-bar li + li::before{
    content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:1px;height:60%;background:#eee;
  }
  .floating-bar a{padding:4px 0;font-size:15px;transform:translateY(4px);}
  .floating-bar svg{width:24px;height:24px;}
}

/* 電腦版：固定在畫面右側，直向三顆 */
@media(min-width:861px){
  .floating-bar{
    right:clamp(20px, 5vw, 98px);
    top:50%;
    transform:translateY(-50%);
    background:#fff;
    border-radius:18px;
    box-shadow:0 6px 24px rgba(181,71,107,0.15);
    padding:clamp(16px, 2vw, 26px) clamp(12px, 1.5vw, 20px);
  }
  .floating-bar ul{flex-direction:column;gap:clamp(20px, 3vw, 34px);}
  .floating-bar a{font-size:clamp(12px, 1vw, 14px);gap:8px;}
  .floating-bar svg{width:clamp(20px, 2vw, 26px);height:clamp(20px, 2vw, 26px);}
  .floating-bar a:hover svg, .floating-bar a:hover{color:var(--rose-hover);}
}

@media(max-width:950px){
  .desktop-nav{display:none;}
  .hamburger-btn{display:flex;}
  .mobile-nav{display:block;}
}
@media(max-width:860px){
  .page-banner h1{font-size:27px;}
  body{padding-bottom:77px;}
}

/* ===== 診療項目 / 藥品專區 總覽頁（共用） ===== */
.derm-list-wrap{
  max-width:1200px;margin:0 auto;background:#fff;
  padding:36px 6% 130px;box-sizing:border-box;
  display:flex;gap:40px;align-items:flex-start;overflow-x:hidden;
}
.derm-list-main{flex:1;min-width:0;}
@media(min-width:1261px){
  .derm-list-wrap{padding-left:20px;padding-right:25px;gap:80px;}
  .derm-list-main{flex:0 0 720px;width:720px;}
  .derm-sidebar{flex:0 0 355px;width:355px;}
}

.derm-filter-bar{display:flex;gap:12px;margin-bottom:28px;flex-wrap:wrap;}
.derm-filter-btn{
  width:130px;height:40px;box-sizing:border-box;border-radius:24px;border:none;background:#DDDCDE;color:#313035;
  font-size:18px;font-weight:500;cursor:pointer;font-family:'Noto Sans TC',sans-serif;text-decoration:none;text-align:center;
  display:flex;align-items:center;justify-content:center;
  transition:background .2s,color .2s;
}
.derm-filter-btn:hover{background:#ECF3FD;}
.derm-filter-btn.active{background:var(--rose-deep);color:#fff;}
@media(min-width:1261px){
  .derm-filter-bar{flex-wrap:nowrap;justify-content:space-between;}
  .derm-filter-btn{flex:0 0 auto;}
}

.derm-article-card{
  display:flex;gap:24px;background:#F5F5F5;border-radius:12px;overflow:hidden;padding:16px;
  margin-bottom:16px;text-decoration:none;color:inherit;transition:background .2s;
  box-sizing:border-box;
}
.derm-article-card:hover{background:#ECF3FD;}
.derm-article-thumb{
  flex:0 0 225px;max-width:225px;border-radius:8px;background:linear-gradient(135deg,#e4e4e4,#f0f0f0) center/cover no-repeat;
  align-self:stretch;box-sizing:border-box;
}
@media(min-width:1261px){
  .derm-article-card{min-height:200px;}
  .derm-article-thumb{height:auto;}
}
@media(max-width:1260px){
  .derm-article-thumb{height:140px;}
}
.derm-article-body{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;}
.derm-article-tag{color:var(--rose-deep);font-size:15px;margin-bottom:8px;}
.derm-article-title{
  font-size:23px;color:var(--ink);line-height:1.6;font-weight:500;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.derm-article-desc{
  font-size:18px;color:#777777;line-height:1.6;margin-top:6px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}

.derm-pagination{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:40px;}
.derm-page-btn{
  width:40px;height:40px;border-radius:50%;border:none;background:transparent;color:#313035;
  cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:500;text-decoration:none;
  transition:background .2s,color .2s;
}
.derm-page-btn.active{background:var(--rose-deep);color:#fff;}
.derm-page-btn:hover:not(.active){background:#ECF3FD;}
.derm-page-arrow{background:#E4E4E4;color:#313035;}
.derm-page-arrow:hover{background:var(--rose-deep);color:#fff;}
.derm-page-arrow[aria-disabled="true"]{opacity:.4;pointer-events:none;}

.derm-sidebar{flex:0 0 340px;max-width:100%;}
.derm-sidebar-title{display:flex;align-items:center;gap:8px;font-size:23px;font-weight:700;color:var(--ink);margin-bottom:18px;}
.derm-sidebar-title .title-cross-icon{width:25px;height:25px;color:var(--rose-deep);}
.derm-hot-item{padding:14px 0;border-bottom:1px solid #eee;text-decoration:none;display:block;color:inherit;}
.derm-hot-item:last-child{border-bottom:none;}
.derm-hot-tag{color:#B8B7B9;font-size:15px;margin-bottom:6px;display:block;}
.derm-hot-title{
  font-size:15px;color:#666;line-height:1.6;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.derm-sidebar-block{margin-bottom:36px;}

.derm-ad-carousel{position:relative;width:100%;max-width:340px;aspect-ratio:340/470;border-radius:10px;overflow:hidden;background:#f0e3e6;}
.derm-ad-slide{position:absolute;inset:0;opacity:0;transition:opacity .5s;pointer-events:none;}
.derm-ad-slide.active{opacity:1;pointer-events:auto;}
.derm-ad-slide img{width:100%;height:100%;object-fit:cover;display:block;}
.derm-ad-empty{
  display:flex;align-items:center;justify-content:center;color:#b9a3a7;font-size:13px;text-align:center;padding:20px;
  box-sizing:border-box;width:100%;max-width:340px;aspect-ratio:340/470;border-radius:10px;background:#f0e3e6;
}
.derm-ad-dots{position:absolute;left:0;right:0;bottom:12px;display:flex;justify-content:center;gap:6px;z-index:2;}
.derm-ad-dot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,0.6);cursor:pointer;}
.derm-ad-dot.active{background:#fff;}

.derm-fb-empty{
  font-size:13px;color:#8a7578;background:#F5F5F5;border-radius:10px;padding:16px;line-height:1.6;
}

@media(max-width:960px){
  .derm-list-wrap{flex-direction:column;}
  .derm-sidebar{flex:1 1 auto;width:100%;}
  .derm-sidebar-block:has(.derm-hot-item),
  .derm-sidebar-block:has(.fb-page){display:none;}
}
@media(max-width:640px){
  .derm-list-wrap{padding-left:6%;padding-right:6%;max-width:100%;box-sizing:border-box;}
  .derm-list-main{width:100%;max-width:100%;box-sizing:border-box;}
  .derm-article-card{flex-direction:column;width:100%;max-width:100%;box-sizing:border-box;}
  .derm-article-thumb{flex:0 0 auto;width:100%;max-width:100%;height:180px;box-sizing:border-box;}
  .derm-filter-bar{
    display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%;max-width:100%;box-sizing:border-box;
  }
  .derm-filter-btn{
    width:100%;max-width:100%;min-width:0;padding:0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
    box-sizing:border-box;
  }
}

/* ===== 聯絡我們 分店詳細頁 ===== */
.loc-info-section{
  max-width:1200px;margin:0 auto;background:#fff;
  padding:50px 6% 60px;box-sizing:border-box;
  display:flex;gap:40px;align-items:stretch;flex-wrap:wrap;
}
.loc-info-card{flex:1 1 380px;min-width:0;}
.loc-info-card .eyebrow{color:var(--rose-deep);font-size:15px;letter-spacing:2px;display:block;margin-bottom:8px;}
.loc-title-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.loc-title-row h2{font-size:32px;color:var(--ink);font-weight:700;}
.loc-social-icons{display:flex;gap:8px;}
.loc-social-icons a{
  width:44px;height:44px;border-radius:50%;background:#B8B7B9;color:#fff;
  display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s;
  flex-shrink:0;
}
.loc-social-icons a svg{width:30px;height:30px;}
.loc-social-icons a[aria-label="Instagram"] svg{width:25px;height:25px;}
.loc-social-img{width:27px;height:27px;object-fit:contain;filter:brightness(0) invert(1);}
.loc-social-icons a:hover{background:var(--rose-deep);color:#fff;}
.loc-social-icons a:hover .loc-social-img{filter:brightness(0) invert(1);}
.loc-divider{border-top:1px solid #eee;margin:18px 0;}
.loc-row{
  display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #f4e9ec;font-size:18px;color:#666;flex-wrap:wrap;
}
.loc-row svg{width:18px;height:18px;color:var(--rose-deep);flex-shrink:0;}
.loc-info-card .loc-row svg{margin-top:2px;}
.loc-info-card .loc-row-hours svg{margin-top:10px;}
@media(max-width:640px){
  .loc-info-card .loc-row svg{margin-top:10px;}
  .loc-info-card .loc-row-hours svg{margin-top:10px;}
  .contact-row-info .loc-row svg{margin-top:7px;}
}
.loc-row-label{color:#313035;font-size:18px;flex:0 0 auto;min-width:110px;}
.loc-row a{color:#666;text-decoration:underline;text-underline-offset:3px;}
.loc-row a:hover{color:var(--rose-hover);}
@media(max-width:640px){
  .loc-row{flex-wrap:nowrap;align-items:flex-start;gap:8px;}
  .loc-row-label{display:none;}
}
.loc-row span.loc-row-value{color:#666;text-decoration:underline;text-underline-offset:3px;}
.loc-row span.loc-row-value:hover{color:var(--rose-hover);}
.loc-row-hours{align-items:flex-start;}
.loc-hours-list{display:flex;flex-direction:column;gap:2px;font-size:14px;color:#3A2E30;}
.loc-go-link{margin-left:auto;color:var(--rose-deep) !important;font-size:14px;font-weight:700;text-decoration:underline !important;}
.loc-book-btn{
  margin-top:24px;width:150px;height:45px;display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:var(--rose-deep);color:#fff;border-radius:24px;text-decoration:none;font-size:18px;font-weight:500;transition:background .2s;
  box-sizing:border-box;
}
.loc-book-btn svg{width:16px;height:16px;}
.loc-book-btn:hover{background:var(--rose-hover);}
.loc-book-btn-center{display:flex;margin:60px auto 0;}

.loc-map-box{
  flex:1 1 380px;width:100%;max-width:814px;min-height:450px;border-radius:14px;overflow:hidden;background:#eee;
  margin-top:28px;align-self:stretch;
}
.loc-map-box iframe{width:100%;height:100%;border:0;display:block;}
.loc-book-btn-wrap{max-width:1200px;margin:0 auto;padding:1px 6% 100px;box-sizing:border-box;text-align:center;background:#fff;}


.line-cta-section.location-cta{max-width:1200px;margin:0 auto;padding:0;height:200px;display:flex;align-items:center;overflow:hidden;}
.line-cta-section.location-cta .line-cta-inner{width:100%;max-width:1100px;margin:0 auto;padding:0 6%;box-sizing:border-box;}
.line-cta-section.location-cta .line-cta-text h2{font-size:27px;}

.loc-team-section{max-width:1200px;margin:0 auto;background:#fff;padding:100px 6% 130px;box-sizing:border-box;}
.loc-team-section .loc-book-btn-center{margin-top:80px;}
.loc-team-section .section-title-left .eyebrow{color:var(--rose-deep);font-size:15px;letter-spacing:2px;display:block;margin-bottom:6px;}
.loc-team-section .section-title-left h2{font-size:27px;color:var(--ink);font-weight:700;}
.loc-team-divider{border-top:1px solid #eee;margin:20px 0 30px;}
.loc-team-grid{margin-bottom:10px;}

@media(max-width:640px){
  .loc-title-row{flex-direction:column;align-items:flex-start;}
  .loc-row-label{min-width:auto;flex:0 0 100%;}
  .loc-go-link{margin-left:0;}
  .line-cta-section.location-cta{height:auto;padding:30px 0;}
}

/* ===== LINE 加好友橫幅（共用：首頁／分店詳細頁） ===== */
.line-cta-section{
  background:linear-gradient(120deg, var(--rose-deep) 0%, #7a1c33 100%);
  padding:56px 24.74%;
}
.line-cta-inner{
  max-width:970px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;
}
.line-cta-text h2{font-size:32px;color:#fff;font-weight:700;display:flex;align-items:center;flex-wrap:wrap;gap:6px;}
.line-cta-text .sparkle{width:20px;height:20px;color:#F3D98A;flex-shrink:0;}
.line-cta-text p{font-size:18px;color:rgba(255,255,255,0.85);margin-top:10px;}
.line-cta-btn{
  width:150px;height:45px;flex-shrink:0;background:#fff;border-radius:9999px;
  display:flex;align-items:center;justify-content:center;gap:6px;text-decoration:none;
  font-size:18px;font-weight:500;color:var(--ink);transition:transform .2s;
}
.line-cta-btn:hover{transform:translateY(-2px);}
.line-cta-btn .line-badge-img{
  filter:invert(48%) sepia(90%) saturate(1000%) hue-rotate(93deg) brightness(95%) contrast(105%);
}
.line-badge{
  width:32px;height:20px;background:#06C755;color:#fff;border-radius:5px;
  display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:500;letter-spacing:.5px;
}
.line-badge-img{width:24px;height:24px;object-fit:contain;vertical-align:middle;margin-right:2px;}
@media(max-width:860px){
  .line-cta-inner{flex-direction:column;align-items:center;text-align:center;}
  .line-cta-section{padding-left:6%;padding-right:6%;}
  .line-cta-text h2{font-size:23px;justify-content:center;}
  .loc-book-btn-wrap{padding-top:1px;}
  .loc-book-btn-center{margin-top:30px;}
}

/* ===== 通用置左標題(英文小標+大標+分隔線) ===== */
.section-title-left .eyebrow{color:var(--rose-deep);font-size:15px;letter-spacing:2px;display:block;margin-bottom:6px;}
.section-title-left h2{font-size:27px;color:var(--ink);font-weight:700;}

/* ===== 預約掛號頁 ===== */
.booking-promo-banner{
  position:relative;
  width:966px;max-width:100%;height:290px;border-radius:16px;overflow:hidden;
  background-size:cover;background-position:center;background-color:#e9dde0;
  display:block;margin:0 auto 60px;
  border:none;outline:none;
}
.booking-promo-banner::before{
  content:none;
}
.booking-promo-left{
  position:absolute;z-index:1;inset:0;
  width:55%;padding:36px 40px 36px 70px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;
}
.booking-promo-left h2{font-size:32px;color:var(--ink);font-weight:700;margin-bottom:12px;line-height:1.3;text-shadow:0 0 8px #fff,0 0 16px #fff,0 0 24px rgba(255,255,255,0.8);}
.booking-promo-left p{font-size:18px;color:#3a2e30;line-height:1.7;margin-bottom:20px;text-shadow:0 0 6px #fff,0 0 12px #fff,0 0 18px rgba(255,255,255,0.8);}
.booking-promo-cta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:15px;}
.booking-promo-cta span{font-size:14px;color:#666666;}
.booking-promo-btn{
  display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:9999px;background:#EDEBEC;
  color:#313035;font-size:18px;font-weight:500;text-decoration:none;transition:background .2s,color .2s;
}
.booking-online-btn{
  display:inline-flex;align-items:center;gap:8px;height:45px;padding:0 22px;border-radius:9999px;background:#DDDCDE;
  color:#313035;font-size:18px;font-weight:500;text-decoration:none;transition:background .2s,color .2s;box-sizing:border-box;
}
.booking-online-btn:hover{background:var(--rose-deep);color:#fff;}
.booking-online-btn .line-badge-img{
  filter:invert(48%) sepia(90%) saturate(1000%) hue-rotate(93deg) brightness(95%) contrast(105%);
  transition:filter .2s;
}
.booking-online-btn:hover .line-badge-img{filter:brightness(0) invert(1);}
.booking-promo-btn svg{width:16px;height:16px;}
.booking-online-cta-bar{
  max-width:1200px;margin:70px auto 0;
  padding:0;box-sizing:border-box;
  display:flex;justify-content:center;
}
@media(max-width:640px){
  .booking-online-cta-bar{margin-top:50px;}
}
.booking-promo-btn:hover{background:var(--rose-deep);color:#fff;}

.booking-divider{border-top:1px solid #eee;margin:18px 0 36px;}

.booking-location-grid{display:grid;grid-template-columns:repeat(2,473px);column-gap:24px;row-gap:39px;justify-content:center;margin-bottom:20px;}
.modal-header-break-inline{display:none;}
.booking-location-card{
  width:473px;height:280px;display:flex;background:#F5F5F5;border-radius:5px;overflow:hidden;
  text-decoration:none;color:inherit;transition:background .2s;
}
.booking-location-card:hover{background:#ECF3FD;}
.booking-location-photo{
  width:210px;height:280px;flex-shrink:0;background:linear-gradient(135deg,#e4e4e4,#f0f0f0) center/cover no-repeat;
}
.booking-location-info{flex:1;min-width:0;padding:28px 24px;box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-start;}
.booking-location-tag{
  width:52px;height:25px;flex-shrink:0;background:#A9C5E0;color:#fff;border-radius:9999px;
  display:flex;align-items:center;justify-content:center;font-size:13px;margin-bottom:14px;
}
.booking-location-info h3{font-size:23px;color:var(--ink);font-weight:700;margin-bottom:8px;}
.booking-location-info h3.is-two-line{line-height:1.25;}
.booking-location-info p{font-size:18px;color:#666;line-height:1.6;margin-bottom:20px;}
.booking-phone-btn{
  margin-top:auto;margin-left:0;align-self:flex-start;width:200px;height:45px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:8px;
  border-radius:9999px;background:var(--rose-deep);color:#fff;font-size:18px;font-weight:500;text-decoration:none;transition:background .2s,color .2s;
  border:none;cursor:pointer;font-family:'Noto Sans TC',sans-serif;
}
.booking-phone-btn svg{width:20px;height:20px;}
.booking-phone-btn:hover{background:#D02533;}
.booking-phone-btn:hover{background:var(--rose-deep);color:#fff;}

.booking-instructions-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;}
.booking-instructions-grid img{max-width:100%;height:auto;display:block;}
.booking-instructions-label{color:var(--rose-deep);font-size:20px;font-weight:700;margin-bottom:4px;}

@media(max-width:960px){
  .booking-location-grid{grid-template-columns:1fr;justify-items:center;gap:34px;}
  .modal-header-break-inline{display:block;}
  .booking-instructions-grid{grid-template-columns:1fr;gap:30px;}
}
@media(max-width:640px){
  .booking-promo-banner{height:auto;min-height:310px;}
  .booking-promo-left{position:absolute;inset:0;width:100%;padding:51px 26px 26px;box-sizing:border-box;}
  .booking-promo-left p{font-size:15px;line-height:1.6;}
  .booking-location-card{width:100%;max-width:473px;flex-direction:column;height:auto;}
  .booking-location-photo{width:100%;height:240px;}
  .booking-location-info{padding:20px;}
  .booking-phone-btn{width:calc(100% - 80px);margin-left:auto;margin-right:auto;display:flex;}
}

/* ===== 聯絡我們 總覽頁 ===== */
.contact-list-section{max-width:1200px;margin:0 auto;background:#fff;padding:50px 6% 130px;box-sizing:border-box;}
.contact-row{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:44px 0;flex-wrap:wrap;}
.contact-row-info{flex:1 1 380px;min-width:0;}
.contact-row-info .eyebrow{color:var(--rose-deep);font-size:15px;letter-spacing:2px;display:block;margin-bottom:8px;}
.contact-row-info h2{font-size:32px;color:var(--ink);font-weight:700;margin-bottom:18px;}
.contact-name-mobile{display:none;}
@media(max-width:960px){
  h2:has(.contact-name-mobile) .contact-name-full{display:none;}
  .contact-name-mobile{display:inline;}
}
.contact-row-info .loc-row{border-bottom:none;padding:6px 0;}
.contact-intro-btn{
  display:inline-flex;align-items:center;justify-content:center;width:150px;height:45px;margin-top:20px;
  background:#DDDCDE;color:#313035;border-radius:9999px;text-decoration:none;font-size:18px;font-weight:500;
  transition:background .2s,color .2s;
}
.contact-intro-btn:hover{background:var(--rose-deep);color:#fff;}
.contact-row-photo{
  width:464px;height:280px;flex-shrink:0;border-radius:14px;
  background:linear-gradient(135deg,#e4e4e4,#f0f0f0) center/cover no-repeat;
}
.contact-divider{border-top:1px solid #eee;}

@media(max-width:960px){
  .contact-row{flex-direction:column-reverse;padding-top:16px;padding-bottom:8px;}
  .contact-row-photo{width:100%;max-width:464px;height:260px;}
  .contact-row-info{width:100%;}
  .contact-intro-btn{display:flex;width:150px;margin-left:auto;margin-right:auto;}
  .contact-row[data-store="蘆洲"] .contact-intro-btn,
  .contact-row[data-store="新莊"] .contact-intro-btn{margin-bottom:-35px;}
}

/* ===== 關於皮醫師 ===== */
.about-breadcrumb{max-width:100% !important;width:100%;padding-left:min(24.2vw, 465px) !important;}
.about-banner-overlay{max-width:100% !important;padding-left:min(24.2vw, 465px) !important;}
@media(max-width:860px){
  .about-breadcrumb{padding-left:6% !important;}
  .about-banner-overlay{padding-left:6% !important;}
}
.section-title-center{text-align:center;margin-bottom:36px;}
.section-title-center .eyebrow{color:var(--rose-deep);font-size:15px;letter-spacing:2px;display:block;margin-bottom:6px;}
.section-title-center h2{font-size:27px;color:var(--ink);font-weight:700;}

.about-intro-section{width:100%;background:#fff;padding:70px 0 80px;box-sizing:border-box;}
.about-intro-row{
  max-width:1920px;margin:0 auto;box-sizing:border-box;
  padding-left:min(24.2vw, 465px);padding-right:min(16.3vw, 313px);
  display:flex;align-items:flex-start;justify-content:flex-start;gap:min(4.5vw, 86px);flex-wrap:wrap;
}
.about-intro-text{flex:0 0 min(31.8vw, 610px);max-width:min(31.8vw, 610px);min-width:0;}
.about-intro-text img, .about-cert-text img{max-width:100%;height:auto;display:block;}
.about-intro-text .eyebrow{color:var(--rose-deep);font-size:15px;letter-spacing:2px;display:block;margin-bottom:8px;}
.about-intro-text h2{font-size:32px;color:var(--ink);font-weight:700;margin-bottom:24px;}
.about-intro-text h3{font-size:20px;color:var(--rose-deep);font-weight:700;margin:30px 0 14px;}
.about-copy p{font-size:18px;color:#666;line-height:1.9;margin-bottom:14px;}
.about-badge{
  flex:0 0 min(22.4vw, 430px);width:min(22.4vw, 430px);aspect-ratio:430/600;background:center/contain no-repeat;
}

.about-cert-section{background:linear-gradient(120deg, var(--rose-deep) 0%, #7a1c33 100%);padding:80px 0;}
.about-cert-row{
  max-width:1920px;margin:0 auto;box-sizing:border-box;
  padding-left:min(16.3vw, 313px);padding-right:min(24.2vw, 465px);
  display:flex;align-items:center;justify-content:flex-start;gap:min(4.5vw, 86px);flex-wrap:wrap;
}
.about-cert-photo{
  flex:0 0 min(22.4vw, 430px);width:min(22.4vw, 430px);aspect-ratio:430/540;border-radius:10px;
  background:linear-gradient(135deg,#e4e4e4,#f0f0f0) center/cover no-repeat;
}
.about-cert-text{flex:0 0 min(31.8vw, 610px);max-width:min(31.8vw, 610px);min-width:0;color:#fff;}
.about-cert-text .eyebrow{color:#F3D98A;font-size:15px;letter-spacing:2px;display:block;margin-bottom:8px;}
.about-cert-text h2{font-size:28px;font-weight:700;margin-bottom:20px;line-height:1.5;}
.about-cert-text h3{font-size:18px;font-weight:700;margin-bottom:14px;}
.about-cert-text .about-copy p{color:rgba(255,255,255,0.9);}

.about-store-section{width:100%;background:#fff;padding:80px 6% 80px;box-sizing:border-box;}
@media(max-width:640px){
  .about-store-section{display:none;}
}
.about-store-grid{display:flex;gap:24px;flex-wrap:wrap;justify-content:center;align-items:center;}
.about-store-item{display:flex;flex-direction:column;align-items:center;gap:14px;}
.about-store-item:nth-child(even){margin-top:60px;}
.about-store-photo{
  width:220px;height:315px;border-radius:5px;background:linear-gradient(135deg,#e4e4e4,#f0f0f0) center/cover no-repeat;
}
.about-store-label{
  width:201px;height:40px;box-sizing:border-box;background:#ECF3FD;color:#4A7DBD;border-radius:9999px;
  display:flex;align-items:center;justify-content:center;font-size:15px;text-align:center;padding:0 10px;
  overflow:hidden;white-space:nowrap;text-overflow:ellipsis;
}

.about-feedback-section{
  background:#F5F5F5;height:590px;box-sizing:border-box;
  display:flex;flex-direction:column;align-items:center;justify-content:space-between;
  padding:80px 0 80px;
}
.about-feedback-section .section-title-center{margin-bottom:0;}
.about-feedback-carousel{overflow:hidden;padding:0 6% 32px;background:#F5F5F5;width:100%;flex:1;display:flex;align-items:center;
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 4%, #000 96%, transparent 100%);
  mask-image:linear-gradient(90deg, transparent 0%, #000 4%, #000 96%, transparent 100%);
}
.about-feedback-track{display:flex;gap:24px;width:max-content;will-change:transform;}
.about-feedback-carousel::-webkit-scrollbar{display:none;}
.feedback-card{
  position:relative;flex:0 0 auto;width:300px;height:210px;background:#fff;border-radius:14px;padding:24px 26px;
  box-sizing:border-box;box-shadow:0 4px 16px rgba(0,0,0,0.05);opacity:.5;transition:opacity .3s;
  display:flex;flex-direction:column;
}
.feedback-quote{position:absolute;top:14px;right:20px;font-size:40px;color:var(--rose-light);font-family:Georgia,serif;line-height:1;}
.feedback-stars{color:#F3B23A;font-size:16px;letter-spacing:2px;margin-bottom:12px;}
.feedback-text{
  font-size:14px;color:#5c4c4f;line-height:1.6;margin-bottom:auto;flex:1;
  display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;
}
.feedback-name{font-size:13px;color:#8a7578;margin-top:10px;}

@media(max-width:1300px){
  .about-intro-row{padding-left:6%;padding-right:6%;}
  .about-cert-row{padding-left:6%;padding-right:6%;}
  .about-intro-section{padding:55px 0 65px;}
  .about-intro-row{justify-content:center;}
  .about-intro-text{flex:1 1 100%;max-width:min(100%, 1200px);width:100%;}
  .about-badge{margin-right:0;width:280px;height:340px;flex:0 0 280px;}
  .about-cert-row{flex-direction:column;}
  .about-cert-photo{margin-bottom:15px;}
  .about-cert-text{flex:1 1 100%;max-width:min(100%, 1200px);width:100%;}
  .about-cert-photo{width:100%;max-width:380px;aspect-ratio:430/540;}
}
@media(max-width:640px){
  .about-intro-text h2{font-size:24px;}
  .about-store-photo{width:160px;height:280px;}
  .about-store-label{width:160px;}
}

/* ===== 滾動進場動畫(由JS動態加class,詳見 floating-bar.php) ===== */
.reveal-fade{transition:opacity .8s ease;}
.reveal-fade.reveal-init{opacity:0;}
.reveal-fade.revealed{opacity:1;}

.reveal-left{transition:opacity .6s ease,transform .6s ease;}
.reveal-left.reveal-init{opacity:0;transform:translateX(60px);}
.reveal-left.revealed{opacity:1;transform:translateX(0);}

.reveal-right{transition:opacity .6s ease,transform .6s ease;}
.reveal-right.reveal-init{opacity:0;transform:translateX(-60px);}
.reveal-right.revealed{opacity:1;transform:translateX(0);}

.reveal-right-once{transition:opacity .6s ease,transform .6s ease;}
.reveal-right-once.reveal-init{opacity:0;transform:translateX(-60px);}
.reveal-right-once.revealed-solo{opacity:1;transform:translateX(0);}

.reveal-left-once{transition:opacity .6s ease,transform .6s ease;}
.reveal-left-once.reveal-init{opacity:0;transform:translateX(60px);}
.reveal-left-once.revealed-solo{opacity:1;transform:translateX(0);}

.reveal-up{transition:opacity .6s ease,transform .6s ease;}
.reveal-up.reveal-init{opacity:0;transform:translateY(40px);}
.reveal-up.revealed{opacity:1;transform:translateY(0);}

.reveal-up-hover{transition:opacity .6s ease,transform .6s ease;}
.reveal-up-hover.reveal-init{opacity:0;transform:translateY(40px);}
.reveal-up-hover.revealed{opacity:1;transform:translateY(0);}

.reveal-up-child{transition:opacity .6s ease,transform .6s ease;}
.reveal-up-child.reveal-init{opacity:0;transform:translateY(40px);}
.reveal-up-child.revealed-solo{opacity:1;transform:translateY(0);}

@media(min-width:861px){
  .floating-bar.reveal-fb{transition:opacity .6s ease,transform .6s ease;}
  .floating-bar.reveal-fb.reveal-init{opacity:0;transform:translateY(-50%) translateX(60px);}
  .floating-bar.reveal-fb.revealed{opacity:1;transform:translateY(-50%) translateX(0);}
}
@media(max-width:860px){
  .floating-bar.reveal-fb{transition:opacity .6s ease,transform .6s ease;}
  .floating-bar.reveal-fb.reveal-init{opacity:0;transform:translateY(20px);}
  .floating-bar.reveal-fb.revealed{opacity:1;transform:translateY(0);}
}

/* ===== 統一按鈕hover特效:輕微上浮+柔和陰影,套用在所有150x45系列按鈕與電話按鈕 ===== */
.btn-pill:hover,
.loc-book-btn:hover,
.team-detail-back-btn:hover,
.notice-back-btn:hover,
.booking-phone-btn:hover,
.contact-intro-btn:hover,
.service-top-btn:hover,
.service-cell:hover .service-cell-btn,
.line-cta-btn:hover,
.footer-service-btn:hover,
.team-more-btn:hover {
  transform:translateY(-2px);
  box-shadow:0 8px 18px rgba(147,35,62,0.18);
}
.btn-pill,
.loc-book-btn,
.team-detail-back-btn,
.notice-back-btn,
.booking-phone-btn,
.contact-intro-btn,
.service-top-btn,
.service-cell-btn,
.footer-service-btn,
.team-more-btn {
  transition:background .2s, color .2s, transform .2s ease, box-shadow .2s ease;
}

/* ===== 證書放大檢視燈箱 ===== */
.team-detail-cert-photo.js-cert-lightbox{cursor:pointer;transition:opacity .2s;}
.team-detail-cert-photo.js-cert-lightbox:hover{opacity:.85;}
.cert-lightbox-overlay{
  display:flex;position:fixed;inset:0;background:rgba(0,0,0,0.85);z-index:300;
  align-items:center;justify-content:center;padding:30px;box-sizing:border-box;cursor:zoom-out;
  opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;
}
.cert-lightbox-overlay.open{opacity:1;visibility:visible;}
.cert-lightbox-img{max-width:90vw;max-height:90vh;border-radius:6px;box-shadow:0 10px 40px rgba(0,0,0,0.5);}
.cert-lightbox-arrow{
  position:absolute;top:50%;transform:translateY(-50%);width:50px;height:50px;border-radius:50%;border:none;
  background:rgba(255,255,255,0.15);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:background .2s;
}
.cert-lightbox-arrow:hover{background:rgba(255,255,255,0.3);}
.cert-lightbox-arrow svg{width:22px;height:22px;}
.cert-lightbox-prev{left:24px;}
.cert-lightbox-next{right:24px;}
@media(max-width:640px){
  .cert-lightbox-arrow{width:40px;height:40px;}
  .cert-lightbox-prev{left:8px;}
  .cert-lightbox-next{right:8px;}
}
