/* Scope the shared header so legacy Elementor styles and page content stay separate. */
#vfn-preview-header{position:relative;display:block;width:100%;max-width:none;margin:0;padding:0;z-index:1000;background:#fff;border:0;box-shadow:0 5px 18px rgb(0 0 0 / 6%);font-family:-apple-system,BlinkMacSystemFont,"PingFang TC","Noto Sans TC","Microsoft JhengHei",sans-serif;font-size:16px;line-height:1.75;letter-spacing:0;color:#55595f}
#vfn-preview-header *{box-sizing:border-box;letter-spacing:0}
#vfn-preview-header a{color:inherit;text-decoration:none}
#vfn-preview-header a:focus-visible,#vfn-preview-header summary:focus-visible{outline:3px solid #d78325;outline-offset:4px}
#vfn-preview-header .header-inner{display:flex;align-items:center;justify-content:space-between;width:min(1400px,calc(100% - 96px));max-width:none;min-height:100px;margin:0 auto;padding:0;gap:40px}
#vfn-preview-header .brand{display:block;width:310px;flex-shrink:0}
#vfn-preview-header .brand img{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:768/166;object-fit:contain}
#vfn-preview-header .desktop-nav{display:flex;gap:34px;align-self:stretch;align-items:stretch}
#vfn-preview-header .desktop-nav>a,#vfn-preview-header .desktop-nav>.nav-group>summary{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:650;padding:24px 0;min-height:100px;white-space:nowrap}
#vfn-preview-header .nav-group{position:relative;margin:0;border:0}
#vfn-preview-header summary{list-style:none;cursor:pointer}
#vfn-preview-header summary::-webkit-details-marker{display:none}
#vfn-preview-header .nav-group>summary i{font-size:11px;transition:transform .15s}
#vfn-preview-header .nav-group[open]>summary,#vfn-preview-header a:hover,#vfn-preview-header a[aria-current=page]{color:#ad5600}
#vfn-preview-header .nav-group[open]>summary i{transform:rotate(180deg)}
#vfn-preview-header .desktop-nav .nav-submenu{position:absolute;top:100%;left:0;min-width:200px;border-top:4px solid #ed8815;background:#f5f5f5;box-shadow:0 8px 16px rgb(0 0 0 / 12%);padding:8px 0}
#vfn-preview-header .desktop-nav .nav-group:nth-child(2) .nav-submenu{min-width:220px}
#vfn-preview-header .desktop-nav .nav-submenu>a{display:block;font-size:15px;font-weight:400;padding:13px 22px;min-height:48px;white-space:nowrap}
#vfn-preview-header .nav-submenu>a:hover{background:#ebebeb}
#vfn-preview-header .mobile-menu{display:none}
#vfn-preview-header .menu-close-icon{display:none!important}
#vfn-preview-header .mobile-menu[open]>summary .menu-open-icon{display:none}
#vfn-preview-header .mobile-menu[open]>summary .menu-close-icon{display:block!important;color:#ed8815}
@media(min-width:1101px) and (max-width:1300px){
  #vfn-preview-header .header-inner{gap:24px}
  #vfn-preview-header .brand{width:250px}
  #vfn-preview-header .desktop-nav{gap:24px}
  #vfn-preview-header .desktop-nav>a,#vfn-preview-header .desktop-nav>.nav-group>summary{font-size:18px}
}
@media(max-width:1100px){
  #vfn-preview-header .desktop-nav{display:none}
  #vfn-preview-header .header-inner{width:calc(100% - 40px);min-height:80px;gap:16px}
  #vfn-preview-header .brand{width:240px;max-width:calc(100% - 64px)}
  #vfn-preview-header .mobile-menu{display:block}
  #vfn-preview-header .mobile-menu>summary{display:flex;align-items:center;justify-content:center;width:44px;height:44px;font-size:26px;color:#111}
  #vfn-preview-header .mobile-menu nav{position:absolute;top:100%;left:0;width:100%;max-height:calc(100svh - 80px);overflow:auto;background:#f5f5f5;border:0;border-top:3px solid #ed8815;padding:10px 20px;box-shadow:0 8px 16px rgb(0 0 0 / 12%)}
  #vfn-preview-header .mobile-menu .nav-group{border-bottom:1px solid #dedede}
  #vfn-preview-header .mobile-menu .nav-group>summary{display:flex;align-items:center;justify-content:space-between;width:100%;height:auto;min-height:54px;padding:12px 6px;font-size:16px;font-weight:600;color:#343638}
  #vfn-preview-header .mobile-menu .nav-group>summary i{font-size:12px}
  #vfn-preview-header .mobile-menu nav>a{display:flex;min-height:54px;padding:12px 6px;border-bottom:1px solid #dedede;font-size:16px;align-items:center;font-weight:600}
  #vfn-preview-header .mobile-menu nav>a:last-child{color:#ad5600;border:0}
  #vfn-preview-header .mobile-menu .nav-submenu{padding:0 12px 10px}
  #vfn-preview-header .mobile-menu .nav-submenu>a{display:block;min-height:48px;padding:12px 10px;font-size:15px}
  #vfn-preview-header .mobile-menu a[aria-current=page]{color:#ad5600;font-weight:650;background:#ececec}
}
@media(max-width:767px){#vfn-preview-header .brand{width:205px}}

/* Shared contact dock for both Astro pages and retained legacy pages. */
.floating-contacts{position:fixed;right:max(14px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));z-index:1200;display:grid;justify-items:center;gap:7px;margin:0;padding:8px;background:rgb(24 27 29 / 94%);border:1px solid rgb(255 255 255 / 16%);border-radius:20px;box-shadow:0 14px 36px rgb(0 0 0 / 24%);backdrop-filter:blur(12px);font-family:-apple-system,BlinkMacSystemFont,"PingFang TC","Noto Sans TC","Microsoft JhengHei",sans-serif;line-height:1}
.floating-contacts *{box-sizing:border-box}
.contact-dock-label{display:block;padding:4px 0 2px;color:#fff;font-size:10px;font-weight:700;letter-spacing:.18em;text-indent:.18em}
.floating-contacts>a{--contact-color:#ed8815;position:relative;display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0;padding:0;color:#fff!important;background:var(--contact-color);border:1px solid rgb(255 255 255 / 24%);border-radius:14px;box-shadow:inset 0 1px 0 rgb(255 255 255 / 22%),0 4px 10px rgb(0 0 0 / 18%);font-size:23px;text-decoration:none!important;transition:transform .16s ease,filter .16s ease,box-shadow .16s ease}
.floating-contacts>a[data-platform="line"]{--contact-color:#06c755}
.floating-contacts>a[data-platform="wechat"]{--contact-color:#07c160}
.floating-contacts>a[data-platform="whatsapp"]{--contact-color:#25d366}
.floating-contacts>a[data-platform="telegram"]{--contact-color:#229ed9}
.floating-contacts>a:hover,.floating-contacts>a:focus-visible{filter:saturate(1.08) brightness(1.04);transform:translateX(-4px);box-shadow:inset 0 1px 0 rgb(255 255 255 / 28%),0 7px 16px rgb(0 0 0 / 24%)}
.floating-contacts>a:focus-visible{outline:3px solid #fff;outline-offset:3px}
.contact-tooltip{position:absolute;right:calc(100% + 12px);top:50%;padding:7px 10px;color:#fff;background:#181b1d;border:1px solid rgb(255 255 255 / 16%);border-radius:8px;box-shadow:0 7px 18px rgb(0 0 0 / 20%);font-size:12px;font-weight:650;line-height:1;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;transform:translate(5px,-50%);transition:opacity .15s ease,transform .15s ease,visibility .15s}
.floating-contacts>a:hover .contact-tooltip,.floating-contacts>a:focus-visible .contact-tooltip{opacity:1;visibility:visible;transform:translate(0,-50%)}
@media(max-width:767px){
  .floating-contacts{right:max(8px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));gap:6px;padding:6px;border-radius:17px}
  .contact-dock-label{display:none}
  .floating-contacts>a{width:40px;height:40px;border-radius:12px;font-size:21px}
}
@media(prefers-reduced-motion:reduce){.floating-contacts>a,.contact-tooltip{transition:none}}
