/**
 * 院所（clinic）單頁樣式。
 *
 * 只在 is_singular('clinic') 載入（Frontend\Assets）。變數沿用主題 home-premium.css
 * 的 :root（--brand / --deep / --soft / --sans / --display / --chic-page-max …），
 * 本檔不自己定義色票，也不寫死寬度。
 *
 * ⚠ 這一頁的 post_content 是 WPBakery 短碼（sql/031），CPT 單頁**沒有**
 * `.wpb-content-wrapper` 那一層 —— 主題 content-premium.css 針對該層寫的
 * `.wpb_content_element { margin-bottom: 20px }` 等規則在這裡不會生效，
 * 所以下方「內容區塊」段自己補一份。
 *
 * ⚠ [vc_custom_heading] 的 class 與 .vc_custom_heading 同在一個元素上，
 * 不可寫成後代選擇器（見 skill 鐵則二之 3）。
 */

/* ===================================================================
 * 主視覺
 *
 * 刻意不做左右等分：文字欄比照片欄寬一截（1.15 : .85），避免樣板式對稱。
 * =================================================================== */
/* 主題 content-premium.css 給所有 .site-main 套了限寬與左右留白
   （`body:not(.home).chic-inner .site-main`，權重 0-3-1）。本頁的主視覺與 CTA 要滿版，
   限寬改由各區塊自己負責，所以這裡用 0-3-2 的選擇器歸零 —— 不依賴樣式表載入順序。 */
body.chic-inner main.site-main.chic-clinic {
  max-width: none;
  padding: 0;
}

body.chic-inner .chic-clinic__hero {
  position: relative;
  padding: clamp(36px, 5vw, 72px) 0 clamp(52px, 6vw, 96px);
  background:
    radial-gradient(70% 90% at 88% 8%, rgba(216, 185, 170, .3), transparent 58%),
    radial-gradient(60% 80% at 4% 100%, rgba(111, 42, 40, .08), transparent 60%),
    linear-gradient(118deg, var(--warm), var(--paper) 62%);
  border-bottom: 1px solid var(--line);
  overflow: hidden;
}

body.chic-inner .chic-clinic__hero-inner {
  position: relative;
  z-index: 1;
  max-width: var(--chic-page-max);
  margin: 0 auto;
  padding-inline: var(--chic-gutter);
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
  gap: clamp(26px, 4vw, 62px);
  align-items: center;
}

body.chic-inner .chic-clinic__kicker {
  margin: 14px 0 10px;
  font-family: var(--display);
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--rose-ink);
}
body.chic-inner .chic-clinic__kicker span {
  margin: 0 .5em;
  color: var(--clay);
}

body.chic-inner .chic-clinic__title {
  margin: 0;
  font-family: var(--soft);
  font-weight: 400;
  font-size: clamp(32px, 4.4vw, 58px);
  line-height: 1.28;
  letter-spacing: .02em;
  color: var(--ink);
}

body.chic-inner .chic-clinic__intro {
  margin: 16px 0 0;
  max-width: 34em;
  color: var(--muted);
  font-size: 15.5px;
  line-height: 2;
}

body.chic-inner .chic-clinic__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: clamp(22px, 3vw, 32px) 0 0;
}

/* 照片：細框往右下偏移一點，做出實體印刷的層次，不用陰影堆疊 */
body.chic-inner .chic-clinic__cover {
  position: relative;
  margin: 0;
}
body.chic-inner .chic-clinic__cover::after {
  content: "";
  position: absolute;
  inset: 16px -16px -16px 16px;
  border: 1px solid var(--clay);
  border-radius: 18px;
  z-index: 0;
  pointer-events: none;
}
body.chic-inner .chic-clinic__cover img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 18px;
  box-shadow: 0 24px 60px rgba(32, 24, 22, .14);
}

/* ===================================================================
 * 按鈕
 * =================================================================== */
body.chic-inner .chic-clinic__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 46px;
  padding: 0 22px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  color: var(--deep);
  font-size: 14.5px;
  font-weight: 600;
  letter-spacing: .02em;
  text-decoration: none;
  transition: transform .5s cubic-bezier(.16, 1, .3, 1), background-color .3s ease, color .3s ease, border-color .3s ease;
}
body.chic-inner .chic-clinic__btn:hover,
body.chic-inner .chic-clinic__btn:focus-visible {
  transform: translateY(-2px);
  border-color: var(--rose);
  color: var(--rose-ink);
}
body.chic-inner .chic-clinic__btn--primary {
  background: var(--brand);
  border-color: var(--brand);
  color: #fff;
}
body.chic-inner .chic-clinic__btn--primary:hover,
body.chic-inner .chic-clinic__btn--primary:focus-visible {
  background: var(--brand-deep);
  border-color: var(--brand-deep);
  color: #fff;
}
body.chic-inner .chic-clinic__btn--light {
  background: var(--on-dark);
  border-color: var(--on-dark);
  color: var(--brand-deep);
}
body.chic-inner .chic-clinic__btn--light:hover,
body.chic-inner .chic-clinic__btn--light:focus-visible {
  background: #fff;
  border-color: #fff;
  color: var(--brand-deep);
}
body.chic-inner .chic-clinic__btn--ghost {
  background: transparent;
  border-color: rgba(246, 231, 226, .5);
  color: var(--on-dark);
}
body.chic-inner .chic-clinic__btn--ghost:hover,
body.chic-inner .chic-clinic__btn--ghost:focus-visible {
  background: rgba(246, 231, 226, .12);
  border-color: var(--on-dark);
  color: #fff;
}

/* ===================================================================
 * 資訊列：一張卡片、內部以細線分欄（不用三個獨立方塊，避免樣板感）
 * 往上疊在主視覺的底緣上，接住主視覺的重量。
 * =================================================================== */
body.chic-inner .chic-clinic__facts {
  max-width: var(--chic-page-max);
  margin: clamp(-72px, -6vw, -44px) auto 0;
  padding-inline: var(--chic-gutter);
  position: relative;
  z-index: 2;
}
body.chic-inner .chic-clinic__facts-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) minmax(0, 1fr);
  margin: 0;
  background: #fff;
  border: 1px solid rgba(231, 221, 210, .9);
  border-radius: 20px;
  box-shadow: 0 22px 60px rgba(32, 24, 22, .09);
  overflow: hidden;
}
body.chic-inner .chic-clinic__fact {
  padding: clamp(22px, 2.4vw, 30px) clamp(20px, 2.2vw, 30px);
  border-left: 1px solid rgba(231, 221, 210, .9);
}
body.chic-inner .chic-clinic__fact:first-child {
  border-left: 0;
}
body.chic-inner .chic-clinic__fact dt {
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 0 0 10px;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .12em;
  color: var(--rose-ink);
}
body.chic-inner .chic-clinic__fact dd {
  margin: 0;
  color: #4a4039;
  font-size: 15px;
  line-height: 1.8;
}
body.chic-inner .chic-clinic__fact dd a {
  color: #4a4039;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: color .3s ease, border-color .3s ease;
}
body.chic-inner .chic-clinic__fact dd a:hover {
  color: var(--rose-ink);
  border-bottom-color: var(--clay);
}
body.chic-inner .chic-clinic__fact-note,
body.chic-inner .chic-clinic__fact-en {
  display: block;
  margin-top: 5px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.7;
}
body.chic-inner .chic-clinic__fact-en {
  font-family: var(--display);
  font-size: 12.5px;
  letter-spacing: .01em;
}
body.chic-inner .chic-clinic__tel {
  font-family: var(--display);
  font-size: clamp(21px, 2.2vw, 26px);
  font-weight: 700;
  color: var(--deep) !important;
  letter-spacing: .01em;
}
body.chic-inner .chic-clinic__hours {
  list-style: none;
  margin: 0;
  padding: 0;
}
body.chic-inner .chic-clinic__hours li {
  margin: 0 0 3px;
}

/* ===================================================================
 * 內容區塊（WPBakery）
 * =================================================================== */
body.chic-inner .chic-clinic__content {
  max-width: var(--chic-page-max);
  margin: 0 auto;
  padding: clamp(44px, 6vw, 84px) var(--chic-gutter) 0;
}
/* CPT 單頁沒有 .wpb-content-wrapper，主題那份 20px 的還原規則選不到，這裡自己補。 */
body.chic-inner .chic-clinic__content .wpb_content_element {
  margin-bottom: 20px;
}
/* 主題把 .wpb_text_column 夾在閱讀寬 1080（給長文用的）。院所頁的內容區塊實際上是
   門診表、環境相簿、資訊卡格線與公告清單 —— 夾在 1080 會讓它們的右緣比上方資訊卡
   短一截，看起來像沒對齊。這一頁放寬回容器寬。 */
body.chic-inner .chic-clinic__content .wpb_text_column {
  max-width: none;
}
body.chic-inner .chic-clinic__content .vc_row {
  margin-bottom: clamp(30px, 4.4vw, 58px);
}
body.chic-inner .chic-clinic__content .vc_row:last-child {
  margin-bottom: 0;
}
/* 區塊標題已由主題的 h2.vc_custom_heading 統一處理；這裡只收第一個標題的上緣。 */
body.chic-inner .chic-clinic__content .vc_row:first-child h2.vc_custom_heading {
  margin-top: 0;
}
/* 並排按鈕列：欄之間的距離由 js_composer 的 15px 內距負責，這裡只收上緣。 */
body.chic-inner .chic-clinic__content .chic-clinic__btnrow {
  margin-top: 4px;
}

/* ===================================================================
 * 交通與停車 ＋ 地圖
 *
 * 與主視覺相反的不對稱（文字 .85 : 地圖 1.15），讓兩個區塊不會看起來像同一格。
 * =================================================================== */
body.chic-inner .chic-clinic__access {
  max-width: var(--chic-page-max);
  margin: 0 auto;
  padding: clamp(44px, 6vw, 84px) var(--chic-gutter) 0;
}
body.chic-inner .chic-clinic__access-inner {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  gap: clamp(24px, 3.4vw, 52px);
  align-items: start;
}
/* 與主題的 h2.vc_custom_heading 逐項對齊：同一頁裡兩種來源的標題必須長得一樣。
   選擇器刻意多帶一層 .chic-clinic__access，權重高於主題那條，不依賴載入順序。 */
body.chic-inner .chic-clinic__access .chic-clinic__h {
  position: relative;
  margin: 0 0 clamp(18px, 2.4vw, 26px);
  padding-left: 16px;
  font-family: var(--soft);
  font-weight: 400;
  font-size: clamp(25px, 3.2vw, 36px);
  line-height: 1.32;
  letter-spacing: .02em;
  color: var(--ink);
}
body.chic-inner .chic-clinic__access .chic-clinic__h::before {
  content: "";
  position: absolute;
  left: 0;
  top: .12em;
  bottom: .12em;
  width: 4px;
  border-radius: 4px;
  background: linear-gradient(180deg, var(--rose), var(--clay));
}
body.chic-inner .chic-clinic__way + .chic-clinic__way {
  margin-top: clamp(20px, 2.6vw, 30px);
}
body.chic-inner .chic-clinic__way h3 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 10px;
  padding: 0;
  font-family: var(--sans);
  font-size: 13.5px;
  font-weight: 800;
  letter-spacing: .08em;
  color: var(--brand);
}
body.chic-inner .chic-clinic__way ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
body.chic-inner .chic-clinic__way li {
  position: relative;
  margin: 0 0 .6em;
  padding-left: 16px;
  color: #4a4039;
  font-size: 14.5px;
  line-height: 1.85;
}
body.chic-inner .chic-clinic__way li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .72em;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--clay);
}
body.chic-inner .chic-clinic__way li:last-child {
  margin-bottom: 0;
}
body.chic-inner .chic-clinic__way a {
  color: var(--rose-ink);
  font-weight: 600;
  overflow-wrap: anywhere;
}

body.chic-inner .chic-clinic__map {
  position: relative;
  aspect-ratio: 16 / 11;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(231, 221, 210, .9);
  box-shadow: 0 18px 50px rgba(32, 24, 22, .09);
}
body.chic-inner .chic-clinic__map iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* ===================================================================
 * 預約 CTA（深色帶）
 * =================================================================== */
body.chic-inner .chic-clinic__cta {
  margin-top: clamp(48px, 6.5vw, 96px);
  padding: clamp(46px, 6vw, 88px) var(--chic-gutter);
  background: var(--dark-surface);
  color: var(--on-dark);
}
body.chic-inner .chic-clinic__cta-inner {
  max-width: var(--chic-reading);
  margin: 0 auto;
}
body.chic-inner .chic-clinic__cta-kicker {
  margin: 0 0 12px;
  font-family: var(--display);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .26em;
  color: var(--on-dark-soft);
}
body.chic-inner .chic-clinic__cta-title {
  margin: 0;
  max-width: 20em;
  font-family: var(--soft);
  font-weight: 400;
  font-size: clamp(24px, 3vw, 38px);
  line-height: 1.4;
  letter-spacing: .02em;
  color: #fff;
}
body.chic-inner .chic-clinic__cta-text {
  margin: 14px 0 0;
  max-width: 38em;
  color: var(--on-dark-soft);
  font-size: 15px;
  line-height: 2;
}
body.chic-inner .chic-clinic__cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: clamp(22px, 3vw, 32px) 0 0;
}
body.chic-inner .chic-clinic__social {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 26px;
  margin: clamp(26px, 3.4vw, 38px) 0 0;
  padding: clamp(20px, 2.6vw, 28px) 0 0;
  border-top: 1px solid rgba(246, 231, 226, .22);
  list-style: none;
}
body.chic-inner .chic-clinic__social a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--on-dark-soft);
  font-size: 13.5px;
  letter-spacing: .02em;
  text-decoration: none;
  transition: color .3s ease;
}
body.chic-inner .chic-clinic__social a:hover,
body.chic-inner .chic-clinic__social a:focus-visible {
  color: #fff;
}

/* ===================================================================
 * 響應式
 * =================================================================== */
@media (max-width: 1024px) {
  body.chic-inner .chic-clinic__facts-inner {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
  body.chic-inner .chic-clinic__fact:nth-child(3) {
    grid-column: 1 / -1;
    border-left: 0;
    border-top: 1px solid rgba(231, 221, 210, .9);
  }
  body.chic-inner .chic-clinic__access-inner {
    grid-template-columns: minmax(0, 1fr);
  }
  body.chic-inner .chic-clinic__map {
    aspect-ratio: 16 / 9;
  }
}

@media (max-width: 860px) {
  body.chic-inner .chic-clinic__hero-inner {
    grid-template-columns: minmax(0, 1fr);
  }
  body.chic-inner .chic-clinic__cover {
    order: -1;
  }
  body.chic-inner .chic-clinic__cover::after {
    inset: 10px -10px -10px 10px;
  }
  body.chic-inner .chic-clinic__facts-inner {
    grid-template-columns: minmax(0, 1fr);
  }
  body.chic-inner .chic-clinic__fact {
    border-left: 0;
    border-top: 1px solid rgba(231, 221, 210, .9);
  }
  body.chic-inner .chic-clinic__fact:first-child {
    border-top: 0;
  }
  body.chic-inner .chic-clinic__fact:nth-child(3) {
    grid-column: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.chic-inner .chic-clinic__btn {
    transition: none;
  }
  body.chic-inner .chic-clinic__btn:hover {
    transform: none;
  }
}
