*/    全站背景 & 字色
═══════════════════════════ */
  :root { --bg: #ffffff; }
  body { background: #ffffff !important; }

  /*══════════════════════════
     社群 Icon 列（頁尾）
 ══════════════════════════ */
  .footer-social { display: flex; gap: 20px; margin-bottom: 14px; flex-wrap: wrap; }
  .footer-social-icon {
    display: flex; align-items: center; justify-content: center;
    width: 20px; height: 20px; border-radius: 50%;
    text-decoration: none; transition: transform .2s, opacity .2s; flex-shrink: 0;
  }
  .footer-social-icon:hover { transform: translateY(-3px); opacity: .85; }
  .footer-social-icon svg   { width: 15px; height: 15px; fill: #fff; }
  .icon-fb     { background: #1877F2; }
  .icon-ig     { background: radial-gradient(circle at 40% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%,
  #285AEB 90%); }
  .icon-line   { background: #06C755; }
  .icon-wechat { background: #06C755; position: relative; cursor: pointer; }
  
  /* ═══════════════════════════
     WeChat 浮層
     ══════════════════════ */
  .wechat-popup {
    display: none; position: fixed; inset: 0; z-index: 9999;
    background: rgba(0,0,0,.5); align-items: center; justify-content: center;
  }
  .wechat-popup.show { display: flex; }
  .wechat-popup-inner {
    background: #fff; border-radius: 16px; padding: 2rem 2.5rem;
    text-align: center; box-shadow: 0 8px 32px rgba(0,0,0,.2);
  }
  .wechat-popup-inner p      { margin: .5rem 0; font-size: .95rem; color: #333; }
  .wechat-popup-inner strong { font-size: 1.3rem; color: #07C160; letter-spacing: 2px; }
  .wechat-popup-close {
    margin-top: 1.2rem; display: inline-block; padding: .5rem 1.5rem;
    background: #07C160; color: #fff; border-radius: 8px;
    cursor: pointer; font-size: .9rem; border: none;
  }

  /* ═════════════════════════════
     LINE 客服按鈕（頁尾）
     ═════════════════════════ */
  .footer-line-btn {
    display: inline-flex; align-items: center; gap: 8px;
    background: #06C755; color: #fff !important;
    padding: 10px 20px; border-radius: 6px;
    font-size: 14px; font-weight: 600;
    text-decoration: none !important; margin-bottom: 12px; transition: background .2s;
  }
  .footer-line-btn:hover { background: #05a748; }

  /* ═══════════════════════════════════════════════
     分館 Banner 淺藍色塊
     ═══════════════════════════════════════════════ */
  .page-id-5327 .hero-banner,
  .page-id-5328 .hero-banner,
  .page-id-5329 .hero-banner,   
  .page-id-5687 .hero-banner { background: #8ab0c4 !important; height: 400px; }

  .page-id-5327 .hero-banner img,
  .page-id-5328 .hero-banner img,
  .page-id-5329 .hero-banner img,
  .page-id-5687 .hero-banner img { display: none !important; }

  /* ═══════════════════════════════════════════════
     分館 Hero 社群 Icon
     ═══════════════════════════════════════════════ */
  .hero-social { gap: 18px !important; }
  .hero-social-btn {
    width: 36px !important; height: 36px !important; border-radius: 14px !important;
    display: inline-flex !important; align-items: center !important;
    justify-content: center !important; transition: transform .2s, opacity .2s !important;
  }
  .hero-social-btn:hover { transform: translateY(-3px) scale(1.05) !important; opacity: .9 !important; }
  .hero-social-btn svg   { width: 22px !important; height: 22px !important; fill: #fff !important; }
  .hero-social-btn[aria-label="Facebook"] {
    background: linear-gradient(145deg, #42a8fb 0%, #1877F2 60%, #0d60d8 100%) !important;
  }
  .hero-social-btn[aria-label="Instagram"] {
    background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%)
  !important;
  }
  .hero-social-btn[aria-label="LINE"] { background: #06C755 !important; }
  
  /* ═══════════════════════════════════════════════
     首頁 Slider 高度
     ═══════════════════════════════════════════════ */
  .hp-hero         { height: 60vh !important; max-height: 60vh !important; overflow: hidden !important; }
  .hp-slider       { height: 100% !important; overflow: hidden !important; }
  .hp-slider-track { height: 100% !important; }
  .hp-slide        { height: 100% !important; aspect-ratio: unset !important; background: #ffffff; }
  .hp-slide img {
    width: 200vh !important; height: 100% !important;
    object-fit: contain !important; object-position: center center !important;
  }
  
  /* ══════════════════════════
     導覽列
    ═════════════════════════ */
  nav         { height: 60px !important; background: #edf6ff !important; }
  .logo img   { height: 30px !important; }
  .mobile-nav { top: 64px !important; max-height: calc(100vh - 64px) !important; background: #edf6ff !important; }

  .nav-item > .nav-link { font-size: 1rem !important; color: #111 !important; }
  
  @media (min-width: 901px) and (max-width: 1240px) {
    .nav-item > .nav-link { font-size: .80rem !important; padding: .5rem .5rem !important; letter-spacing: 0 !important;
   }
    .nav-cta { padding: .5rem .85rem !important; margin-left: .4rem !important; font-size: .82rem !important; }
  }
  @media (max-width: 900px) {
    nav         { height: 54px !important; }
    .mobile-nav { top: 54px !important; max-height: calc(100vh - 54px) !important; }
  }
  
  /* ════════════════════════════
     Mega Menu / 下拉選單
  ═══════════════════════════ */
  .dropdown      { padding-top: calc(0.5rem + 8px) !important; }
  .dropdown-wide { padding-top: calc(0.6rem + 6px) !important; }
  .drop-col      { text-align: left !important; }
  .drop-col > ul { align-items: flex-start !important; }

  .drop-col.drop-col-flat { max-width: 100% !important; padding: 0 1.2rem !important; }
  .drop-col-flat > ul { display: block !important; column-count: 3 !important; column-gap: 2rem !important; }
  .drop-col-flat > ul > li {
    break-before: column; page-break-before: column;
    font-size: .83rem; font-weight: 700; color: var(--dark);
    padding: .5rem 0 .3rem; border-bottom: 1px solid var(--light-accent);
    margin-bottom: .35rem; list-style: none; text-align: left !important;
  }
  .drop-col-flat > ul > li:first-child { break-before: auto !important; page-break-before: auto !important; }
  .drop-col-flat > ul > li > a {
    color: var(--dark) !important; font-weight: 700 !important;
    pointer-events: none !important; cursor: default !important; text-align: left !important;
  }
  .drop-col-flat > ul > ul {
    list-style: none !important; break-before: avoid !important;
    margin: 0 0 .3rem !important; padding: 0 !important;
  }
  .drop-col-flat > ul > ul > li > a {
    font-size: .83rem !important; color: #6b7a8d !important;
    padding: .28rem 0 !important; display: block !important; white-space: nowrap !important;
  }
  .drop-col-flat > ul > ul > li > a:hover { color: var(--dark) !important; }

  /* ═════════════════════════
     Banner 
═══════════════════════ */
  .hero-banner { margin-top: 64px !important; height: 200px !important; }
  @media (max-width: 900px) {
    .hero-banner { height: 180px !important; }
  }

 /*══════════════════════════════
     首頁區塊間距
═════════════════════════════ */
  .hp-section      { padding: 2rem 2rem !important; background: #ffffff !important; }
  .hp-section-head { margin-bottom: 1.8rem !important; }
  @media (max-width: 900px) {
    .hp-section { padding: 2rem 1.5rem !important; }
  }
  .hp-team-section .hp-about-img { max-width: 800px; margin: 1rem auto 0; }
  
  /* ══════════════════════════
     診所位置區塊
════════════════════════ */
  .hp-locations-section .hp-section-head h3 { color: # #355e89 !important; }
  .hp-locations-grid {
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 1rem !important; max-width: 1060px !important;
  }
  .hp-loc-card   { padding: 1.2rem 1rem !important; }
  .hp-loc-icon    { font-size: 1.4rem !important; margin-bottom: .5rem !important; }
  .hp-loc-card h3 { font-size: .9rem !important; letter-spacing: 1.5px !important; margin-bottom: .4rem !important; }
  .hp-loc-addr    { font-size: .72rem !important; margin-bottom: .5rem !important; }
  .hp-loc-hours p { font-size: .68rem !important; }
  @media (max-width: 900px) {
    .hp-locations-grid { grid-template-columns: repeat(2, 1fr) !important; }
  }
  
  /* ══════════════════════════
     醫師卡片
 ══════════════════════════ */
  .doctors-grid {
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 1.2rem !important; max-width: 1000px !important;
  }
  img.doctor-photo {
    height: 300px !important; width: 100% !important; aspect-ratio: auto !important;
    object-fit: cover !important; object-position: top center !important;
  }
  .doctor-info      { padding: .9rem .8rem 1rem !important; gap: .25rem !important; }
  .doctor-name      { font-size: .85rem !important; letter-spacing: 1.5px !important; }
  .doctor-title     { font-size: .68rem !important; margin-bottom: .25rem !important; }
  .doctor-tags .tag { font-size: .6rem !important; padding: 2px 6px !important; }
  @media (max-width: 900px) {
    .doctors-grid    { grid-template-columns: repeat(3, 1fr) !important; }
    img.doctor-photo { height: 220px !important; }
  }
  @media (max-width: 600px) {   
    .doctors-grid { grid-template-columns: repeat(2, 1fr) !important; }
  }
.hp-loc-card,
  .hp-loc-card h3,
  .hp-loc-card p,
  .hp-loc-card a { color: #111 !important; }
  ⏺ .hp-loc-card {
    border-radius: 12px !important;
		.hp-loc-card {
    border: 1px solid #d0e4f0 !important;
  }
    box-shadow: 0 4px 16px rgba(0,0,0,.10) !important;
    transition: box-shadow .2s, transform .2s !important;
  }
  .hp-loc-card:hover {
    box-shadow: 0 8px 28px rgba(0,0,0,.16) !important;
    transform: translateY(-4px) !important;
  }

  /* ════════════════════════════
     WPForms 表單
══════════════════════════════ */
  .wpforms-field { margin-bottom: .1rem !important; }
  .wpforms-field-label {
    display: block !important; font-size: .9rem !important;
    color: var(--primary) !important; letter-spacing: 1px !important; margin-bottom: 5px !important;
  }
  .wpforms-field input[type="text"],
  .wpforms-field input[type="email"],
  .wpforms-field input[type="tel"],
  .wpforms-field select,
  .wpforms-field textarea {
    display: block !important; width: 100% !important;
    border: 1px solid var(--light-accent) !important; border-radius: 10px !important;
    padding: .6rem 1rem !important; font-size: 1rem !important;
    font-family: var(--font-ui) !important; background: #fff !important;
    color: var(--dark) !important; outline: none !important;
    height: auto !important; transition: border-color .2s !important;
  }
  .wpforms-field input:focus,   
  .wpforms-field select:focus,
  .wpforms-field textarea:focus { border-color: var(--primary) !important; }

  .wpforms-one-half               { width: 100% !important; float: left !important; }
  .wpforms-one-half.wpforms-first { margin-right: 10% !important; }
  .wpforms-field-container::after { content: '' !important; display: table !important; clear: both !important; }
  .wpforms-field.wpforms-field-text { width: 100% !important; float: left !important; }

  .wpforms-list-inline .wpforms-field-label-inline { display: inline !important; margin-left: 3px !important; }
  .wpforms-list-inline ul {
    list-style: none !important; display: flex !important;
    flex-wrap: wrap !important; gap: .25rem !important; padding: 0 !important;
  }
  .wpforms-list-inline ul li                  { display: flex !important; align-items: center !important; gap: 2px
  !important; }
  .wpforms-list-inline input[type="checkbox"] { display: inline-block !important; }
  .wpforms-list-inline ul li label,
  .wpforms-list-inline .wpforms-field-label-inline { font-size: .85rem !important; }
  
  .wpforms-submit-container { text-align: center !important; margin-top: 1.5rem !important; }
  .wpforms-submit {   
    background: #2563eb !important; color: #fff !important;
    font-family: var(--font-ui) !important; font-size: .9rem !important;
    letter-spacing: 2px !important; padding: .8rem 3rem !important;
    border: none !important; border-radius: 30px !important;
    cursor: pointer !important; transition: background .2s !important;
  }
  .wpforms-submit:hover { background: var(--dark) !important; }

  /* ═════════════════════════
     立即預約區塊
 ═══════════════════════ */
  .contact-section {
    padding-top: 2rem !important; padding-left: 8% !important;
    padding-right: 8% !important; background: #ffffff !important;
  }
  .contact-inner                { max-width: 720px !important; margin: 0 auto !important; }
  .contact-inner h3             { text-align: center !important; margin-bottom: .6rem !important; }
  .contact-inner .section-label { text-align: center !important; }
  .contact-inner .sub           { text-align: center !important; }
  
  /* ══════════════════════════
     頁尾版面
  ══════════════════════════ */
  footer {
    background: #355e89 !important;
    padding: 3rem 5rem 0.5rem;
  }
  footer, footer * { color: #fff !important; }
  .footer-main  { display: flex; gap: 4rem; align-items: flex-start; }
  .footer-brand {
    display: flex; flex-direction: column; align-items: flex-start;
    min-width: 180px; flex-shrink: 0; padding-left: 1rem;
  }
  footer .footer-brand img {
    width: 110px !important; margin-bottom: 1.4rem;
    filter: brightness(0) invert(1);
  }
  .footer-email {
    color: rgb(255 255 255 / .8) !important;
    font-size: 14px; text-decoration: none; margin-top: .5rem; display: block;
  }
  .footer-email:hover { color: #fff !important; }
  .footer-nav     { display: flex; flex: 1; gap: 2rem; flex-wrap: wrap; justify-content: flex-end; }
  .footer-col     { display: flex; flex-direction: column; min-width: 110px; }
  .footer-divider { border: none; border-top: 1px solid rgb(255 255 255 / .3); margin: 1.5rem 0 0.8rem; }
  footer > p      { font-size: 11px; color: #fff !important; text-align: center; }
  
  @media (max-width: 900px) {
    footer        { padding: 2.5rem 1.5rem 1rem; }
    .footer-main  { flex-direction: column; gap: 3rem; }
    .footer-brand { padding-left: 0; }
  }
 /* ════════════════════════════
     特定頁面 Hero
════════════════════════ */
  .page-id-5799 .hero                    { max-width: 100%; padding: 0; display: block; }
  .page-id-5799 .hero > div:first-child  { display: none; }
  .page-id-5799 .hero-photo              { border-radius: 0; aspect-ratio: auto; width: 100%; }
  .page-id-5799 .hero-photo img          { width: 100%; height: auto; display: block; }
  .page-id-5799 hr.divider               { display: none; }
 .hp-loc-card { background: #edf6ff !important; }
 .hp-divider { border-top: 2px solid #355e89; margin-top: 12px; }