/* Divi/ETmodules icon font restore */
@font-face {
  font-family: 'ETmodules';
  src: url('../fonts/modules.woff2') format('woff2'),
       url('../fonts/modules.woff') format('woff'),
       url('../fonts/modules.ttf') format('truetype'),
       url('../fonts/modules.eot');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

/* Ensure Divi icon placeholders use ETmodules */
.et-pb-icon,
.et_pb_button:before,
.et_pb_button:after,
.et-social-icon a:before,
.et_icon:before,
[data-icon]:before,
[data-icon]:after {
  font-family: 'ETmodules' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Keep icons from inheriting unintended letter-spacing */
.et-pb-icon { letter-spacing: 0 !important; }

/* Sticky header shrink behavior (approximate Divi runtime) */
@media (min-width: 981px) {
  #top-header > .container {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    padding-left: 48px !important;
    padding-right: 10px !important;
  }
  #top-header #et-info {
    margin-left: 24px !important;
    padding-left: 0 !important;
    float: none !important;
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
  }
  #main-header > .container.et_menu_container {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    position: relative !important;
    display: flex !important;
    justify-content: center !important;
    padding-left: 48px !important;
    padding-right: 20px !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
  }
  #main-header .et_menu_container {
    min-height: 68px !important;
  }
  #main-header .logo_container {
    position: absolute !important;
    left: 48px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 3 !important;
    pointer-events: none !important;
    display: flex !important;
    align-items: center !important;
    min-height: 68px !important;
    height: auto !important;
    padding: 4px 0 !important;
    overflow: visible !important;
  }
  #main-header .logo_container a,
  #main-header .logo_container #logo {
    pointer-events: auto !important;
  }
  #main-header #et-top-navigation {
    flex: 0 0 auto !important;
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    pointer-events: auto !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  #main-header #top-menu-nav {
    margin: 0 auto !important;
    pointer-events: auto !important;
  }
  #main-header #top-menu {
    display: flex !important;
    justify-content: center !important;
    width: max-content !important;
    margin: 0 auto !important;
  }
  #main-header #logo {
    margin-left: 0 !important;
    max-height: 56px !important;
    width: auto !important;
    height: auto !important;
    display: block !important;
  }
  #top-menu li a {
    font-size: 18px !important;
    line-height: 1.2 !important;
    padding-top: 18px !important;
    padding-bottom: 18px !important;
  }
  #main-header.et-fixed-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    background: #ffffff;
    box-shadow: 0 2px 10px rgba(0,0,0,0.06);
    transition: all .2s ease;
  }
  /* Reduce top nav vertical padding when fixed */
  #main-header.et-fixed-header #et-top-navigation {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    transition: padding .2s ease;
  }
  /* Shrink logo height smoothly */
  #main-header #logo { transition: max-height .2s ease, height .2s ease; }
  /* Use JS-provided CSS var for fixed logo height, fallback to 32px */
  #main-header.et-fixed-header #logo {
    max-height: 48px !important;
    height: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  /* Ensure logo container matches fixed height and stays vertically centered */
  #main-header.et-fixed-header .logo_container {
    min-height: 62px !important;
    height: auto !important;
    display: flex !important;
    align-items: center !important;
    padding: 4px 0 !important;
    overflow: visible !important;
  }
}

/* Import theme color overrides (Scheme A) */
@import url('theme-overrides.css');

/* Header logo position tweak: move slightly left */
/* Desktop/tablet: nudge logo left without affecting menu layout */
@media (min-width: 981px) {
  #main-header .logo_container #logo {
    margin-left: 0 !important;
  }
  #top-header #et-info {
    margin-left: 0 !important;
  }
}
/* Mobile: keep default alignment to avoid overflow */
@media (max-width: 980px) {
  #top-header > .container {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    padding-left: 10px !important;
    padding-right: 8px !important;
  }
  #top-header #et-info {
    margin-left: 8px !important;
    padding-left: 0 !important;
    float: none !important;
  }
  #main-header > .container.et_menu_container {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
  }
  #main-header .logo_container {
    min-height: 66px !important;
    padding: 4px 0 !important;
  }
  #main-header .logo_container #logo {
    margin-left: 0 !important;
    max-height: 58px !important;
  }
  #top-header #et-info {
    margin-left: 0 !important;
  }
}

/* ── Global: flush hero against fixed header — hide the seam line ── */
/* Override the Divi JS padding-top that creates a gap below the nav */
#page-container-inner,
#et-main-area {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
/* Ensure hero section_0 has no extra top margin */
#main-content .et_pb_section:first-child {
  margin-top: 0 !important;
}
/* The fixed header already has a solid white background so it sits
   cleanly above the dark hero regardless of z-index */

/* Service subpages: remove Divi 1px hairline under nav; keep scroll shadow on .et-fixed-header */
body.page-id-35 #main-header:not(.et-fixed-header),
body.page-id-76 #main-header:not(.et-fixed-header),
body.page-id-68 #main-header:not(.et-fixed-header),
body.page-id-45 #main-header:not(.et-fixed-header),
body.page-id-74 #main-header:not(.et-fixed-header),
body.page-id-52 #main-header:not(.et-fixed-header) {
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  -moz-box-shadow: none !important;
}
body.page-id-35 #et-main-area,
body.page-id-76 #et-main-area,
body.page-id-68 #et-main-area,
body.page-id-45 #et-main-area,
body.page-id-74 #et-main-area,
body.page-id-52 #et-main-area {
  margin-top: -1px !important;
  position: relative;
  z-index: 1;
}

/* 內容區：WhatsApp 按鈕下方自動插入的「微信聯絡」（企業微信獲客鏈接） */
#main-content .et_pb_button_module_wrapper.hc-wa-wx-stack,
#main-content .et_pb_button_wrapper.hc-wa-wx-stack {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  justify-content: center !important;
  gap: 10px !important;
  /* 子頁面：上限 420px 讓雙鍵比例協調，不會橫跨整個欄位 */
  width: min(100%, 420px) !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
/* 左對齊欄位：鈕組靠左排列 */
#main-content .et_pb_button_alignment_left .et_pb_button_module_wrapper.hc-wa-wx-stack,
#main-content .et_pb_button_alignment_left .et_pb_button_wrapper.hc-wa-wx-stack {
  margin-left: 0 !important;
  margin-right: auto !important;
}
/* 置中欄位：鈕組水平置中 */
#main-content .et_pb_button_alignment_center .et_pb_button_module_wrapper.hc-wa-wx-stack,
#main-content .et_pb_button_alignment_center .et_pb_button_wrapper.hc-wa-wx-stack {
  margin-left: auto !important;
  margin-right: auto !important;
}
/* 右對齊欄位：鈕組靠右 */
#main-content .et_pb_button_alignment_right .et_pb_button_module_wrapper.hc-wa-wx-stack,
#main-content .et_pb_button_alignment_right .et_pb_button_wrapper.hc-wa-wx-stack {
  margin-left: auto !important;
  margin-right: 0 !important;
}

/* 僅圖片連 wa.me 的 Divi 圖片模組：圖下方插入文字雙鍵列 */
#main-content .et_pb_image.hc-wa-wx-image-module {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 12px !important;
}
#main-content .hc-image-wa-wx-row.hc-wa-wx-stack {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  justify-content: center !important;
  gap: 10px !important;
  width: min(100%, 420px) !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}
/* 首頁 hero：雙鍵列寬由 JS 對齊價格橫幅；樣式覆蓋 home.css / logo-fix 大鈕 */
body.home #main-content .hc-hero-price-cta-wrap .hc-wa-wx-stack,
body.page-id-6 #main-content .hc-hero-price-cta-wrap .hc-wa-wx-stack {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  gap: 8px !important;
  box-sizing: border-box !important;
}
body.home #main-content .hc-hero-price-cta-wrap .hc-wa-wx-stack > a.et_pb_button,
body.page-id-6 #main-content .hc-hero-price-cta-wrap .hc-wa-wx-stack > a.et_pb_button {
  flex: 1 1 0% !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: 48px !important;
  padding: 12px 14px !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.03em !important;
}
body.home #main-content .hc-hero-price-cta-wrap .hc-wa-wx-stack > a.et_pb_custom_button_icon.et_pb_button:before,
body.home #main-content .hc-hero-price-cta-wrap .hc-wa-wx-stack > a.et_pb_custom_button_icon.et_pb_button:after,
body.page-id-6 #main-content .hc-hero-price-cta-wrap .hc-wa-wx-stack > a.et_pb_custom_button_icon.et_pb_button:before,
body.page-id-6 #main-content .hc-hero-price-cta-wrap .hc-wa-wx-stack > a.et_pb_custom_button_icon.et_pb_button:after {
  display: none !important;
  content: none !important;
  width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  visibility: hidden !important;
}
#main-content .hc-wa-wx-stack > a.et_pb_button {
  flex: 1 1 0% !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  text-align: center !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
  min-height: 48px !important;
  padding: 12px 16px !important;
  border-radius: 12px !important;
  border: none !important;
  font-family: "Noto Sans TC", "Open Sans", "PingFang TC", Arial, sans-serif !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  font-style: normal !important;
  letter-spacing: 0.04em !important;
  text-transform: none !important;
  line-height: 1.2 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  transition:
    background 0.2s ease,
    box-shadow 0.2s ease,
    transform 0.15s ease !important;
}
/* 雙鍵並排時隱藏 Divi 加在 wa.me 上的圖示偽元素，避免多一條線、字看起來變大 */
#main-content .hc-wa-wx-stack > a.et_pb_button.et_pb_custom_button_icon:before,
#main-content .hc-wa-wx-stack > a.et_pb_button.et_pb_custom_button_icon:after {
  display: none !important;
  content: none !important;
  width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  visibility: hidden !important;
}
#main-content .hc-wa-wx-stack > a.et_pb_button:hover {
  transform: translateY(-1px) scale(1.01) !important;
}
#main-content .hc-wa-wx-stack > a.et_pb_button:active {
  transform: scale(0.985) !important;
}
/* WhatsApp 按鈕漸層 */
#main-content .hc-wa-wx-stack > a.et_pb_button[href*="wa.me"] {
  background: linear-gradient(170deg, #30d97a 0%, #20c060 55%, #18a850 100%) !important;
  background-image: linear-gradient(170deg, #30d97a 0%, #20c060 55%, #18a850 100%) !important;
  border-top: 1px solid rgba(255,255,255,0.28) !important;
  box-shadow:
    0 2px 0 rgba(255, 255, 255, 0.18) inset,
    0 -1px 0 rgba(0, 0, 0, 0.12) inset,
    0 4px 16px rgba(37, 211, 102, 0.42),
    0 2px 4px rgba(0, 0, 0, 0.12) !important;
}
#main-content .hc-wa-wx-stack > a.et_pb_button[href*="wa.me"]:hover {
  background: linear-gradient(170deg, #38e085 0%, #28ce6c 55%, #1eb858 100%) !important;
  background-image: linear-gradient(170deg, #38e085 0%, #28ce6c 55%, #1eb858 100%) !important;
  box-shadow:
    0 2px 0 rgba(255, 255, 255, 0.22) inset,
    0 -1px 0 rgba(0, 0, 0, 0.12) inset,
    0 8px 24px rgba(37, 211, 102, 0.52),
    0 2px 6px rgba(0, 0, 0, 0.14) !important;
}
/* 微信按鈕漸層 */
#main-content .hc-wa-wx-stack > a.hc-btn-wechat-consult.et_pb_button {
  background: linear-gradient(170deg, #10cc66 0%, #07b155 55%, #059444 100%) !important;
  background-image: linear-gradient(170deg, #10cc66 0%, #07b155 55%, #059444 100%) !important;
  background-color: #07C160 !important;
  border-top: 1px solid rgba(255,255,255,0.24) !important;
  box-shadow:
    0 2px 0 rgba(255, 255, 255, 0.16) inset,
    0 -1px 0 rgba(0, 0, 0, 0.14) inset,
    0 4px 16px rgba(7, 193, 96, 0.40),
    0 2px 4px rgba(0, 0, 0, 0.12) !important;
}
#main-content .hc-wa-wx-stack > a.hc-btn-wechat-consult.et_pb_button:hover {
  background: linear-gradient(170deg, #16d96c 0%, #09be5d 55%, #079d4a 100%) !important;
  background-image: linear-gradient(170deg, #16d96c 0%, #09be5d 55%, #079d4a 100%) !important;
  box-shadow:
    0 2px 0 rgba(255, 255, 255, 0.20) inset,
    0 -1px 0 rgba(0, 0, 0, 0.14) inset,
    0 8px 24px rgba(7, 193, 96, 0.50),
    0 2px 6px rgba(0, 0, 0, 0.14) !important;
}
/* 行動版「置中 wa.me = min(100%,360px)」優先級較高，雙鈕橫排時需收回固定寬度 */
#main-content .et_pb_button_alignment_center .hc-wa-wx-stack > a.et_pb_button[href*="wa.me"] {
  width: auto !important;
  max-width: none !important;
}
#main-content .hc-wa-wx-stack > a.et_pb_button[href*="wa.me"] {
  align-self: stretch !important;
}
#main-content a.hc-btn-wechat-consult.et_pb_button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  min-height: 48px !important;
  padding: 14px 22px !important;
  border-radius: 14px !important;
  border: none !important;
  background-color: #07C160 !important;
  color: #ffffff !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  box-shadow:
    0 4px 14px rgba(7, 193, 96, 0.32),
    0 1px 2px rgba(0, 0, 0, 0.06) !important;
}
#main-content a.hc-btn-wechat-consult.et_pb_button:hover {
  background-color: #06ad56 !important;
  color: #ffffff !important;
  box-shadow: 0 6px 18px rgba(7, 193, 96, 0.36) !important;
}

/* 桌面：加寬雙鍵列、加大水平 padding；雙鍵 flex 1 1 0% 等寬 */
@media (min-width: 981px) {
  #main-content .et_pb_button_module_wrapper.hc-wa-wx-stack,
  #main-content .et_pb_button_wrapper.hc-wa-wx-stack,
  #main-content .hc-image-wa-wx-row.hc-wa-wx-stack {
    width: min(100%, 560px) !important;
    gap: 12px !important;
  }
  #main-content .hc-wa-wx-stack > a.et_pb_button {
    padding: 14px 22px !important;
    flex: 1 1 0% !important;
    min-width: 0 !important;
    font-size: 16px !important;
    letter-spacing: 0.025em !important;
  }
  body.home #main-content .hc-hero-price-cta-wrap .hc-wa-wx-stack,
  body.page-id-6 #main-content .hc-hero-price-cta-wrap .hc-wa-wx-stack {
    gap: 12px !important;
  }
  body.home #main-content .hc-hero-price-cta-wrap .hc-wa-wx-stack > a.et_pb_button,
  body.page-id-6 #main-content .hc-hero-price-cta-wrap .hc-wa-wx-stack > a.et_pb_button {
    padding: 14px 22px !important;
    flex: 1 1 0% !important;
    min-width: 0 !important;
  }
}

/* 內容區 wa.me 按鈕：全斷點強制白字 + 品牌綠底（覆蓋頁面級淺綠字/淺綠底與 Divi icon 偽元素） */
#main-content a.et_pb_button[href*="wa.me"],
#main-content a.et_pb_button[href*="wa.me"]:hover,
#main-content a.et_pb_button[href*="wa.me"]:focus,
#main-content a.et_pb_button[href*="wa.me"]:active {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background-color: #25d366 !important;
  background-image: none !important;
}
#main-content a.et_pb_button[href*="wa.me"].et_pb_custom_button_icon:before,
#main-content a.et_pb_button[href*="wa.me"].et_pb_custom_button_icon:after {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
#main-content a.et_pb_button[href*="wa.me"]:hover {
  background-color: #20bd5a !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Chaty: hide Phone channel (tel FAB) — static config no longer includes it; WP DB may still. */
.chaty .Phone-channel-link,
.chaty .Phone-channel,
[id^="chaty-widget"] .Phone-channel-link,
[id^="chaty-widget"] .Phone-channel {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Chaty WhatsApp: fix icon visibility.
   1. The Chaty plugin CSS uses .channel-icon-Whatsapp (lowercase a) — our channel was "WhatsApp"
      (uppercase A) causing a CSS class mismatch → empty circle.
   2. Force correct background color and provide the WhatsApp SVG logo inline for static pages
      that don't load the WordPress Chaty plugin CSS. */
.chaty .channel-icon-Whatsapp .chaty-svg,
.chaty .channel-icon-WhatsApp .chaty-svg,
[id^="chaty-widget"] .channel-icon-Whatsapp .chaty-svg,
[id^="chaty-widget"] .channel-icon-WhatsApp .chaty-svg {
  background-color: #25d366 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath fill='%23fff' d='M16 2.7C8.7 2.7 2.7 8.7 2.7 16c0 2.3.6 4.5 1.7 6.4L2.7 29.3l7.2-1.6c1.8.9 3.8 1.4 5.9 1.4C22.8 29.1 29 23 29 16S22.8 2.7 16 2.7zm6.6 18.4c-.3.8-1.4 1.4-2.3 1.6-.6.1-1.4.2-4-.9-3.3-1.3-5.5-4.7-5.6-4.9-.1-.2-1.3-1.8-1.3-3.4 0-1.6.8-2.4 1.1-2.7.3-.3.6-.4.8-.4h.5c.2 0 .5-.1.7.6.3.6.9 2.3 1 2.5.1.2.1.4 0 .6-.1.2-.2.4-.3.6-.2.2-.3.4-.5.5-.2.2-.3.4-.1.7.2.3.9 1.4 1.8 2.3 1.3 1.1 2.3 1.5 2.6 1.6.3.2.5.1.7-.1.2-.2.8-1 1-1.3.2-.3.4-.3.7-.2.3.1 2 .9 2.3 1.1.3.2.6.3.6.4.1.2.1.9-.2 1.7z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: 60% 60% !important;
}
.chaty .channel-icon-Whatsapp .color-element,
.chaty .channel-icon-WhatsApp .color-element,
[id^="chaty-widget"] .channel-icon-Whatsapp .color-element,
[id^="chaty-widget"] .channel-icon-WhatsApp .color-element {
  fill: #ffffff !important;
  color: #ffffff !important;
}

/* When Chaty uses a light icon_color, the plugin paints a full-bleed circle in the inner SVG that
   sits on top of .chaty-svg’s background — white-on-white hides the glyph. Hide the inner SVG so the
   green + data-URI logo on .chaty-svg (above) is visible. */
.chaty .channel-icon-Whatsapp .chaty-svg svg,
.chaty .channel-icon-WhatsApp .chaty-svg svg,
[id^="chaty-widget"] .channel-icon-Whatsapp .chaty-svg svg,
[id^="chaty-widget"] .channel-icon-WhatsApp .chaty-svg svg {
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Mobile: Chaty FAB — do NOT pad #main-content globally (breaks full-width layout on every page). */
@media (max-width: 767px) {
  /* Homepage blue hero panel — must stay hidden (loads after home.css so display:flex cannot win). */
  body.home #main-content .hc-hero-service-panel,
  body.page-id-6 #main-content .hc-hero-service-panel {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
  #page-container {
    overflow-x: hidden !important;
  }
  .chaty,
  [id^="chaty-widget"] {
    right: max(6px, env(safe-area-inset-right, 0px)) !important;
    left: auto !important;
    max-width: calc(100vw - 12px) !important;
  }
  .chaty .chaty-channels,
  [id^="chaty-widget"] .chaty-channels {
    gap: 8px !important;
  }
  /* Chaty stacks channel rows here; `order` on inner .chaty-icon has no effect. */
  .chaty .chaty-channel-list,
  [id^="chaty-widget"] .chaty-channel-list {
    display: flex !important;
    flex-direction: column !important;
  }
  /* FAB order: WeChat → WhatsApp (top → bottom). */
  .chaty .chaty-channel-list > .WeChat-channel-link,
  .chaty .chaty-channel-list > .WeChat-channel,
  [id^="chaty-widget"] .chaty-channel-list > .WeChat-channel-link,
  [id^="chaty-widget"] .chaty-channel-list > .WeChat-channel {
    order: 1 !important;
  }
  .chaty .chaty-channel-list > .Whatsapp-channel-link,
  .chaty .chaty-channel-list > .Whatsapp-channel,
  [id^="chaty-widget"] .chaty-channel-list > .Whatsapp-channel-link,
  [id^="chaty-widget"] .chaty-channel-list > .Whatsapp-channel {
    order: 2 !important;
  }
  .chaty .chaty-channel-icon,
  [id^="chaty-widget"] .chaty-channel-icon {
    max-width: 52px !important;
    max-height: 52px !important;
  }

  /* Wide consultant banner PNG — scale to viewport (was clipped on narrow screens) */
  #main-content img[title="離婚及家事顧問"] {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
    box-sizing: border-box !important;
    object-fit: contain !important;
  }
  #main-content .et_pb_module.et_pb_image:has(img[title="離婚及家事顧問"]) {
    width: 100% !important;
    max-width: 100% !important;
  }
  #main-content .et_pb_module.et_pb_image:has(img[title="離婚及家事顧問"]) .et_pb_image_wrap {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
  }
  #main-content .et_pb_row:has(img[title="離婚及家事顧問"]),
  #main-content .et_pb_row_inner:has(img[title="離婚及家事顧問"]) {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  #main-content .et_pb_row:has(img[title="離婚及家事顧問"]) {
    display: flex !important;
    flex-direction: column !important;
  }
  #main-content .et_pb_row:has(img[title="離婚及家事顧問"]) > .et_pb_column {
    width: 100% !important;
    max-width: 100% !important;
  }
  #main-content .et_pb_row_inner:has(img[title="離婚及家事顧問"]) {
    display: flex !important;
    flex-direction: column !important;
  }
  #main-content .et_pb_row_inner:has(img[title="離婚及家事顧問"]) > .et_pb_column_inner {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* WhatsApp / wa.me 諮詢按鈕：實心圓角、易點按（覆蓋 Divi light 外框樣式） */
  #main-content a.et_pb_button[href*="wa.me"] {
    -webkit-appearance: none !important;
    appearance: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    min-height: 48px !important;
    padding: 14px 22px !important;
    border-radius: 14px !important;
    border: none !important;
    background: #25d366 !important;
    background-image: none !important;
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    text-decoration: none !important;
    line-height: 1.25 !important;
    box-shadow:
      0 4px 14px rgba(37, 211, 102, 0.38),
      0 1px 2px rgba(0, 0, 0, 0.06) !important;
    -webkit-tap-highlight-color: transparent !important;
    transition: background 0.2s ease, transform 0.12s ease, box-shadow 0.2s ease !important;
  }
  #main-content a.et_pb_button[href*="wa.me"]:hover {
    background: #20bd5a !important;
    color: #ffffff !important;
    box-shadow: 0 6px 18px rgba(37, 211, 102, 0.42) !important;
  }
  #main-content a.et_pb_button[href*="wa.me"]:active {
    transform: scale(0.98) !important;
    background: #1bae54 !important;
  }
  /* 雙鍵列 wrapper 已有 .hc-wa-wx-stack：勿給 wa.me 單鍵「整欄寬」，否則會擠沒並排的微信鈕 */
  #main-content .et_pb_button_alignment_center .et_pb_button_module_wrapper:not(.hc-wa-wx-stack) a.et_pb_button[href*="wa.me"],
  #main-content .et_pb_button_alignment_center .et_pb_button_wrapper:not(.hc-wa-wx-stack) a.et_pb_button[href*="wa.me"] {
    width: min(100%, 360px) !important;
    max-width: 100% !important;
  }
  #main-content .et_pb_button_alignment_left a.et_pb_button[href*="wa.me"] {
    align-self: flex-start !important;
  }
}

/* Mobile header menu: card-style links, gold chevron, open = close icon */
@media (max-width: 980px) {
  #et_mobile_nav_menu .mobile_nav {
    border: none !important;
    border-radius: 0 !important;
    padding: 4px 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }
  #et_mobile_nav_menu .select_page {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }
  .mobile_menu_bar {
    padding: 8px !important;
    margin: -4px -4px -4px 0 !important;
    border-radius: 10px !important;
    transition: background 0.2s ease !important;
  }
  .mobile_menu_bar:active {
    background: rgba(31, 30, 56, 0.06) !important;
  }
  /* Divi hamburger uses ETmodules \61; closed state uses \4d */
  .mobile_nav.opened .mobile_menu_bar:before {
    content: "\4d" !important;
    color: #1f1e38 !important;
  }
  #main-header .et_mobile_menu,
  #main-header ul#mobile_menu.et_mobile_menu {
    list-style: none !important;
    padding: 12px 0 22px !important;
    margin: 6px 0 0 !important;
    background: linear-gradient(180deg, #f0f2f8 0%, #fafbfd 38%, #ffffff 100%) !important;
    border-top: 1px solid rgba(31, 30, 56, 0.09) !important;
    border-radius: 0 0 18px 18px !important;
    box-shadow: 0 16px 36px rgba(18, 17, 42, 0.08) !important;
  }
  #main-header .et_mobile_menu > li {
    padding: 0 !important;
    margin: 0 12px 10px !important;
    border: none !important;
    border-bottom: none !important;
  }
  #main-header .et_mobile_menu > li:last-child {
    margin-bottom: 4px !important;
  }
  #main-header .et_mobile_menu > li > a {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 15px 16px !important;
    border-radius: 14px !important;
    background: rgba(255, 255, 255, 0.96) !important;
    border: 1px solid rgba(31, 30, 56, 0.08) !important;
    color: #1f1e38 !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    letter-spacing: 0.03em !important;
    line-height: 1.35 !important;
    text-decoration: none !important;
    box-shadow: 0 2px 10px rgba(31, 30, 56, 0.05) !important;
    -webkit-tap-highlight-color: transparent !important;
    transition: background 0.2s ease, transform 0.12s ease, border-color 0.2s ease !important;
  }
  #main-header .et_mobile_menu > li > a::after {
    content: "" !important;
    display: block !important;
    width: 7px !important;
    height: 7px !important;
    margin-left: 12px !important;
    border-right: 2px solid #c9a227 !important;
    border-bottom: 2px solid #c9a227 !important;
    transform: rotate(-45deg) !important;
    opacity: 0.8 !important;
    flex-shrink: 0 !important;
  }
  #main-header .et_mobile_menu > li.current-menu-item > a,
  #main-header .et_mobile_menu > li.current_page_item > a {
    background: linear-gradient(
      90deg,
      rgba(245, 200, 66, 0.22) 0%,
      rgba(255, 255, 255, 0.98) 65%
    ) !important;
    border-color: rgba(245, 200, 66, 0.55) !important;
    color: #17152a !important;
    font-weight: 700 !important;
  }
  #main-header .et_mobile_menu > li > a:active {
    transform: scale(0.992) !important;
    background: #eef1f7 !important;
  }
  /* Submenus: stack simply without double chevron on parent only */
  #main-header .et_mobile_menu .menu-item-has-children > a::after {
    transform: rotate(45deg) !important;
    opacity: 0.65 !important;
  }
}
