*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ctaf-text);font-family:var(--ctaf-font);font-size:var(--ctaf-body-size);line-height:var(--ctaf-line-height);background:#fff}a{color:inherit}.ctaf-skip-link{position:absolute;left:-999px;top:auto}.ctaf-skip-link:focus{left:16px;top:16px;z-index:10000;background:#fff;padding:10px 14px;border:1px solid var(--ctaf-border)}.ctaf-container{width:min(1440px,calc(100% - 48px));margin:0 auto}.ctaf-container-wide{width:min(1440px,calc(100% - 48px));margin:0 auto}.ctaf-site-main{min-height:52vh}.ctaf-section{padding:64px 0}.ctaf-content-card{background:#fff;border:1px solid var(--ctaf-border);border-radius:var(--ctaf-card-radius);box-shadow:var(--ctaf-card-shadow);padding:var(--ctaf-card-padding)}.ctaf-entry-content img{max-width:100%;height:auto}.ctaf-entry-content h1{font-size:var(--ctaf-h1)}.ctaf-entry-content h2{font-size:var(--ctaf-h2)}.ctaf-entry-content h3{font-size:var(--ctaf-h3)}

/* Header｜透明浮動版，支援 WP 選單 */
.ctaf-header{width:100%;background:var(--ctaf-header-bg);border-bottom:1px solid var(--ctaf-border);font-family:var(--ctaf-font);position:sticky;top:0;z-index:9999;transition:all .28s ease}.ctaf-header *{box-sizing:border-box}.ctaf-header-inner{width:100%;max-width:none;margin:0 auto;height:var(--ctaf-header-height);display:flex;align-items:center;justify-content:space-between;padding:0 var(--ctaf-header-padding-x);transition:all .28s ease}.ctaf-header.is-scrolled{top:12px;width:calc(100% - 32px);margin:0 16px;border:1px solid rgba(219,229,239,.78);border-radius:14px;background:rgba(255,255,255,.78);box-shadow:0 14px 34px rgba(18,40,63,.12);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.ctaf-header.is-scrolled .ctaf-header-inner{height:var(--ctaf-header-scroll-height);padding:0 min(42px,var(--ctaf-header-padding-x))}.ctaf-logo{display:flex;align-items:center;text-decoration:none;flex-shrink:0;height:var(--ctaf-header-height);overflow:hidden;transition:all .28s ease}.ctaf-logo img,.ctaf-logo .custom-logo{height:var(--ctaf-logo-height);width:auto;max-width:410px;display:block;object-fit:contain;object-position:left center;transition:all .28s ease}.ctaf-header.is-scrolled .ctaf-logo{height:var(--ctaf-header-scroll-height)}.ctaf-header.is-scrolled .ctaf-logo img,.ctaf-header.is-scrolled .ctaf-logo .custom-logo{height:var(--ctaf-logo-scroll-height);max-width:380px}.ctaf-logo-fallback{font-size:20px;font-weight:900;color:#12395c;white-space:nowrap}.ctaf-nav-wrap{display:flex;align-items:center;justify-content:flex-end;gap:20px;flex:1}.ctaf-primary-nav{display:flex;align-items:center;justify-content:flex-end}.ctaf-nav{display:flex;align-items:center;justify-content:flex-end;list-style:none;gap:0;padding:0;margin:0}.ctaf-nav>li{position:relative}.ctaf-nav>li>a{height:var(--ctaf-header-height);display:flex;align-items:center;padding:0 20px;color:#1f2937;font-size:var(--ctaf-menu-size);font-weight:650;letter-spacing:.04em;text-decoration:none;white-space:nowrap;transition:all .22s ease}.ctaf-header.is-scrolled .ctaf-nav>li>a{height:var(--ctaf-header-scroll-height)}.ctaf-nav>li:hover>a,.ctaf-nav>li.current-menu-item>a,.ctaf-nav>li.current-menu-ancestor>a{color:var(--ctaf-primary);background:rgba(239,247,255,.72)}.ctaf-nav>li.menu-item-has-children>a::after,.ctaf-nav>li.has-dropdown>a::after{content:"⌄";margin-left:8px;font-size:13px;color:#6b7280;transform:translateY(-1px)}.ctaf-dropdown,.ctaf-nav .sub-menu{position:absolute;top:var(--ctaf-header-height);left:0;min-width:200px;background:rgba(255,255,255,.96);border-top:3px solid #0ea5e9;box-shadow:0 16px 34px rgba(15,23,42,.14);list-style:none;padding:6px 0;margin:0;opacity:0;visibility:hidden;transform:translateY(10px);transition:all .22s ease;border-radius:0 0 12px 12px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:9999}.ctaf-header.is-scrolled .ctaf-dropdown,.ctaf-header.is-scrolled .ctaf-nav .sub-menu{top:var(--ctaf-header-scroll-height)}.ctaf-nav>li:hover>.ctaf-dropdown,.ctaf-nav>li:hover>.sub-menu,.ctaf-nav>li:focus-within>.ctaf-dropdown,.ctaf-nav>li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translateY(0)}.ctaf-dropdown li a,.ctaf-nav .sub-menu li a{min-height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;color:#374151;font-size:15px;font-weight:500;text-decoration:none;border-bottom:1px solid #eef2f7;white-space:nowrap;transition:all .2s ease}.ctaf-dropdown li:last-child a,.ctaf-nav .sub-menu li:last-child a{border-bottom:none}.ctaf-dropdown li a:hover,.ctaf-nav .sub-menu li a:hover{color:var(--ctaf-primary);background:#f8fbff;padding-left:22px}.ctaf-lang-switch{display:inline-flex;align-items:center;gap:10px;height:38px;padding:0 14px;border:1px solid rgba(203,213,225,.9);border-radius:999px;background:rgba(255,255,255,.76);color:#1e3a5f;flex-shrink:0;box-shadow:0 8px 18px rgba(18,40,63,.04);transition:all .22s ease}.ctaf-lang-switch:hover{border-color:#9ccbea;background:#fff;box-shadow:0 10px 22px rgba(18,40,63,.08)}.ctaf-lang-icon{width:17px;height:17px;color:var(--ctaf-primary);flex-shrink:0}.ctaf-lang-switch a,.ctaf-lang-switch span{display:inline-flex;align-items:center;color:#42526a;font-size:14px;font-weight:750;line-height:1;text-decoration:none;letter-spacing:.02em;transition:all .2s ease}.ctaf-lang-switch a.is-current{color:var(--ctaf-primary)}.ctaf-lang-switch a:hover{color:var(--ctaf-primary)}.ctaf-lang-divider{width:1px;height:14px;background:#cbd5e1;display:block}.ctaf-menu-toggle{display:none;width:44px;height:44px;border:1px solid #dbe3ee;background:rgba(255,255,255,.9);border-radius:10px;cursor:pointer;position:relative;padding:0;flex-shrink:0}.ctaf-menu-toggle span{display:block;width:22px;height:2px;background:#12395c;margin:5px auto;transition:.2s ease}.ctaf-header.is-open .ctaf-menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}.ctaf-header.is-open .ctaf-menu-toggle span:nth-child(2){opacity:0}.ctaf-header.is-open .ctaf-menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.ctaf-header-widget-area{display:flex;align-items:center;gap:10px}

/* Footer｜藍底白字版 */
.ctaf-footer{width:100%;font-family:var(--ctaf-font);color:#fff;background:#fff}.ctaf-footer *{box-sizing:border-box}.ctaf-footer a{text-decoration:none!important}.ctaf-footer-main{width:100%;max-width:none;margin:0 auto;padding:68px 64px 54px;display:grid;grid-template-columns:1.45fr 1fr 1fr 1.2fr;gap:52px;position:relative;overflow:hidden;background:var(--ctaf-footer-bg)}.ctaf-footer-main::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,28,68,.18) 0%,rgba(4,28,68,.08) 52%,rgba(4,28,68,.2) 100%);pointer-events:none}.ctaf-footer-main>div{position:relative;z-index:1}.ctaf-footer-logo{display:inline-block;cursor:pointer}.ctaf-footer-logo img,.ctaf-footer-logo .custom-logo{max-width:380px;width:100%;height:auto;display:block;object-fit:contain;background:rgba(255,255,255,.92);border-radius:12px;padding:8px 14px}.ctaf-footer-desc{margin-top:22px;max-width:520px;font-size:15px;line-height:2;color:rgba(255,255,255,.84)}.ctaf-footer-title{position:relative;font-size:17px;font-weight:900;color:#fff;margin-bottom:20px;letter-spacing:.04em}.ctaf-footer-title::after{content:"";display:block;width:34px;height:3px;margin-top:9px;border-radius:99px;background:var(--ctaf-accent)}.ctaf-footer-links{list-style:none;padding:0;margin:0}.ctaf-footer-links li{margin-bottom:11px}.ctaf-footer-links a{color:rgba(255,255,255,.84);text-decoration:none!important;font-size:15px;line-height:1.7;transition:color .2s ease,padding-left .2s ease;cursor:pointer}.ctaf-footer-links a:hover{color:#fff;padding-left:5px}.ctaf-footer-contact{font-size:15px;line-height:2;color:rgba(255,255,255,.84)}.ctaf-footer-contact strong{display:block;color:#fff;margin-bottom:6px;font-size:16px;font-weight:900}.ctaf-footer-contact a{color:rgba(255,255,255,.84)}.ctaf-footer-widgets{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;background:#08264c;color:#fff;padding:34px 64px}.ctaf-footer-bottom{border-top:1px solid #e8edf3;background:#f8fbff;color:#374151}.ctaf-footer-bottom-inner{width:100%;max-width:none;margin:0 auto;padding:18px 64px;display:flex;justify-content:center;align-items:center;gap:18px;font-size:13px;color:#374151;text-align:center}.ctaf-footer-policy{display:flex;gap:18px;flex-wrap:wrap;flex-shrink:0}.ctaf-footer-policy a{color:#374151;text-decoration:none!important;cursor:pointer}.ctaf-footer-policy a:hover{color:var(--ctaf-primary)}

/* Generic content */
.ctaf-page-hero{min-height:var(--ctaf-page-banner-height);display:flex;align-items:center;position:relative;overflow:hidden;color:#fff;background:#12395c}.home .ctaf-page-hero{min-height:var(--ctaf-home-banner-height)}.ctaf-page-hero::before{content:"";position:absolute;inset:0;background:rgba(5,38,92,var(--ctaf-banner-overlay));z-index:1}.ctaf-page-hero-inner{position:relative;z-index:2;width:min(1440px,calc(100% - 48px));margin:0 auto}.ctaf-page-hero h1{font-size:var(--ctaf-h1);line-height:1.2;margin:0}.ctaf-page-hero p{font-size:18px;opacity:.86}.ctaf-list-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.ctaf-list-card{background:#fff;border:1px solid var(--ctaf-border);border-radius:var(--ctaf-card-radius);box-shadow:var(--ctaf-card-shadow);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.ctaf-list-card:hover{transform:translateY(-4px)}.ctaf-list-card-image{position:relative;padding-top:var(--ctaf-card-ratio);background:#eef2f7;overflow:hidden}.ctaf-list-card-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ctaf-list-card-body{padding:var(--ctaf-card-padding)}.ctaf-list-card h2,.ctaf-list-card h3{font-size:var(--ctaf-card-title-size);line-height:1.45;margin:0 0 10px}.ctaf-list-card p{font-size:var(--ctaf-card-text-size);color:var(--ctaf-muted)}.ctaf-button,.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;min-height:var(--ctaf-button-height);padding:0 20px;border-radius:var(--ctaf-button-radius);background:var(--ctaf-primary);color:#fff;text-decoration:none;font-weight:800;border:1px solid var(--ctaf-primary)}.ctaf-button:hover,.wp-block-button__link:hover{background:#064b88;color:#fff}.ctaf-empty-state{text-align:center;padding:48px 24px;border:1px dashed var(--ctaf-border);border-radius:var(--ctaf-card-radius);background:var(--ctaf-soft);color:var(--ctaf-muted)}

@media(max-width:1240px){.ctaf-header-inner{padding:0 40px}.ctaf-nav>li>a{padding:0 14px;font-size:15px}.ctaf-logo img,.ctaf-logo .custom-logo{height:62px;max-width:340px}.ctaf-header.is-scrolled .ctaf-header-inner{padding:0 32px}}
@media(max-width:1020px){.ctaf-footer-main{grid-template-columns:1fr 1fr;padding:54px 36px 42px;gap:36px}.ctaf-footer-bottom-inner{padding:18px 36px}.ctaf-footer-widgets{grid-template-columns:1fr 1fr;padding:30px 36px}}
@media(max-width:980px){.ctaf-header{top:0}.ctaf-header.is-scrolled{top:8px;width:calc(100% - 20px);margin:0 10px;border-radius:12px}.ctaf-header-inner{height:72px;padding:0 22px}.ctaf-header.is-scrolled .ctaf-header-inner{height:68px;padding:0 18px}.ctaf-logo{height:72px}.ctaf-logo img,.ctaf-logo .custom-logo{height:56px;max-width:290px}.ctaf-header.is-scrolled .ctaf-logo img,.ctaf-header.is-scrolled .ctaf-logo .custom-logo{height:52px;max-width:270px}.ctaf-menu-toggle{display:block}.ctaf-nav-wrap{position:absolute;top:72px;left:0;right:0;width:100%;background:var(--ctaf-mobile-drawer-bg);border-top:1px solid #e8edf3;box-shadow:0 14px 28px rgba(15,23,42,.10);display:none;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;z-index:9998;border-radius:0 0 12px 12px;overflow:hidden;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.ctaf-header.is-scrolled .ctaf-nav-wrap{top:68px}.ctaf-header.is-open .ctaf-nav-wrap{display:flex}.ctaf-primary-nav{width:100%;display:block}.ctaf-nav{width:100%;flex-direction:column;align-items:stretch;justify-content:flex-start}.ctaf-nav>li{width:100%}.ctaf-nav>li>a,.ctaf-header.is-scrolled .ctaf-nav>li>a{height:54px;justify-content:space-between;padding:0 24px;border-bottom:1px solid #eef2f7;font-size:15px}.ctaf-dropdown,.ctaf-nav .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border-top:none;display:none;background:#f8fbff;border-radius:0;padding:0}.ctaf-nav>li:hover>.ctaf-dropdown,.ctaf-nav>li:hover>.sub-menu{display:none}.ctaf-nav>li.is-sub-open>.ctaf-dropdown,.ctaf-nav>li.is-sub-open>.sub-menu,.ctaf-nav>li.is-sub-open:hover>.ctaf-dropdown,.ctaf-nav>li.is-sub-open:hover>.sub-menu{display:block}.ctaf-dropdown li a,.ctaf-nav .sub-menu li a{min-height:46px;padding-left:38px;padding-right:24px;font-size:14px}.ctaf-lang-switch{margin:16px 24px 20px;align-self:flex-start}.ctaf-header-widget-area{padding:0 24px 18px}.ctaf-list-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.ctaf-container,.ctaf-page-hero-inner{width:calc(100% - 36px)}.ctaf-page-hero,.home .ctaf-page-hero{min-height:var(--ctaf-mobile-banner-height)}.ctaf-footer-main{grid-template-columns:1fr;padding:42px 20px 34px;gap:30px;background-position:center bottom}.ctaf-footer-logo img,.ctaf-footer-logo .custom-logo{max-width:300px}.ctaf-footer-desc{font-size:14px;line-height:1.9}.ctaf-footer-bottom-inner{padding:16px 20px;justify-content:center;align-items:center;text-align:center;flex-direction:row}.ctaf-footer-widgets{grid-template-columns:1fr;padding:28px 20px}.ctaf-list-grid{grid-template-columns:1fr}}
@media(max-width:520px){.ctaf-header-inner{padding:0 14px}.ctaf-logo img,.ctaf-logo .custom-logo{height:auto;max-width:220px}.ctaf-header.is-scrolled .ctaf-logo img,.ctaf-header.is-scrolled .ctaf-logo .custom-logo{height:auto;max-width:210px}}


/* CTAF fixed header mode｜固定置頂時不縮小、不浮動、不玻璃化 */
.ctaf-header:not(.has-float-scroll){
  top:0;
  width:100%;
  margin:0;
  border-left:0;
  border-right:0;
  border-radius:0;
  background:var(--ctaf-header-bg);
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  transition:none;
}
.ctaf-header:not(.has-float-scroll).is-scrolled{
  top:0;
  width:100%;
  margin:0;
  border-left:0;
  border-right:0;
  border-radius:0;
  background:var(--ctaf-header-bg);
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.ctaf-header:not(.has-float-scroll).is-scrolled .ctaf-header-inner{
  height:var(--ctaf-header-height);
  padding:0 var(--ctaf-header-padding-x);
}
.ctaf-header:not(.has-float-scroll).is-scrolled .ctaf-logo{
  height:var(--ctaf-header-height);
}
.ctaf-header:not(.has-float-scroll).is-scrolled .ctaf-logo img,
.ctaf-header:not(.has-float-scroll).is-scrolled .ctaf-logo .custom-logo{
  height:var(--ctaf-logo-height);
  max-width:410px;
}
.ctaf-header:not(.has-float-scroll).is-scrolled .ctaf-nav>li>a{
  height:var(--ctaf-header-height);
}
.ctaf-header:not(.has-float-scroll).is-scrolled .ctaf-dropdown,
.ctaf-header:not(.has-float-scroll).is-scrolled .ctaf-nav .sub-menu{
  top:var(--ctaf-header-height);
}

/* Footer bottom｜版權與政策連結集中置中 */
.ctaf-footer-bottom-inner{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  gap:8px;
}
.ctaf-footer-policy{
  justify-content:center;
  align-items:center;
}
@media(max-width:640px){
  .ctaf-footer-bottom-inner{
    align-items:center;
    text-align:center;
  }
}


/* Footer bottom｜單行置中，內容由 CTAF Manager Footer 底部 HTML 控制 */
.ctaf-footer-bottom-inner{
  display:flex;
  flex-direction:row;
  justify-content:center;
  align-items:center;
  text-align:center;
  gap:0;
}
.ctaf-footer-bottom-html{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  width:100%;
  line-height:1.8;
  color:#374151;
}
.ctaf-footer-bottom-html a{
  color:#374151;
  text-decoration:none!important;
  cursor:pointer;
}
.ctaf-footer-bottom-html a:hover{
  color:var(--ctaf-primary);
}
@media(max-width:640px){
  .ctaf-footer-bottom-inner{
    flex-direction:row;
    align-items:center;
    text-align:center;
  }
  .ctaf-footer-bottom-html{
    justify-content:center;
  }
}

/* Header LOGO fit controls｜0.3.5 */
.ctaf-logo,
.ctaf-logo .custom-logo-link{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  height:var(--ctaf-header-height);
  max-width:var(--ctaf-logo-max-width);
  min-width:0;
  overflow:hidden;
  line-height:0;
  flex-shrink:1;
}
.ctaf-logo .custom-logo-link{
  text-decoration:none!important;
}
.ctaf-logo img,
.ctaf-logo .custom-logo,
.ctaf-logo .custom-logo-link img{
  display:block;
  width:auto!important;
  height:auto!important;
  max-height:var(--ctaf-logo-height)!important;
  max-width:var(--ctaf-logo-max-width)!important;
  object-fit:contain;
  object-position:left center;
}
.ctaf-header.is-scrolled .ctaf-logo,
.ctaf-header.is-scrolled .ctaf-logo .custom-logo-link{
  height:var(--ctaf-header-scroll-height);
}
.ctaf-header.is-scrolled .ctaf-logo img,
.ctaf-header.is-scrolled .ctaf-logo .custom-logo,
.ctaf-header.is-scrolled .ctaf-logo .custom-logo-link img{
  max-height:var(--ctaf-logo-scroll-height)!important;
  max-width:var(--ctaf-logo-max-width)!important;
}
.ctaf-footer-logo .custom-logo-link{
  display:inline-flex;
  align-items:center;
  max-width:380px;
  line-height:0;
}
.ctaf-footer-logo img,
.ctaf-footer-logo .custom-logo,
.ctaf-footer-logo .custom-logo-link img{
  display:block;
  width:auto!important;
  height:auto!important;
  max-width:380px!important;
  max-height:112px!important;
  object-fit:contain;
}
@media(max-width:980px){
  .ctaf-logo,
  .ctaf-logo .custom-logo-link{
    height:72px;
    max-width:var(--ctaf-logo-mobile-max-width);
  }
  .ctaf-header.is-scrolled .ctaf-logo,
  .ctaf-header.is-scrolled .ctaf-logo .custom-logo-link{
    height:68px;
  }
  .ctaf-logo img,
  .ctaf-logo .custom-logo,
  .ctaf-logo .custom-logo-link img,
  .ctaf-header.is-scrolled .ctaf-logo img,
  .ctaf-header.is-scrolled .ctaf-logo .custom-logo,
  .ctaf-header.is-scrolled .ctaf-logo .custom-logo-link img{
    max-height:var(--ctaf-logo-mobile-height)!important;
    max-width:var(--ctaf-logo-mobile-max-width)!important;
  }
}
@media(max-width:520px){
  .ctaf-logo,
  .ctaf-logo .custom-logo-link{
    max-width:min(var(--ctaf-logo-mobile-max-width), 64vw);
  }
  .ctaf-logo img,
  .ctaf-logo .custom-logo,
  .ctaf-logo .custom-logo-link img{
    max-width:min(var(--ctaf-logo-mobile-max-width), 64vw)!important;
  }
}

/* CTAF 0.3.9｜Header alignment, separate logos, drawer menu, third-level menu fix */
.ctaf-header-inner,
.ctaf-header.is-scrolled .ctaf-header-inner,
.ctaf-header:not(.has-float-scroll).is-scrolled .ctaf-header-inner{
  width:min(var(--ctaf-header-container-width), calc(100% - var(--ctaf-header-side-gap) - var(--ctaf-header-side-gap)));
  max-width:var(--ctaf-header-container-width);
  padding:0;
}
.ctaf-mobile-drawer-head,
.ctaf-mobile-drawer-foot,
.ctaf-mobile-menu-backdrop{
  display:none;
}
.ctaf-logo,
.ctaf-logo .custom-logo-link{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  height:var(--ctaf-header-height);
  max-width:var(--ctaf-logo-max-width);
  min-width:0;
  overflow:hidden;
  line-height:0;
  text-decoration:none!important;
  flex-shrink:1;
}
.ctaf-logo img,
.ctaf-logo .custom-logo,
.ctaf-logo .custom-logo-link img{
  display:block;
  width:auto!important;
  height:auto!important;
  max-height:var(--ctaf-logo-height)!important;
  max-width:var(--ctaf-logo-max-width)!important;
  object-fit:contain;
  object-position:left center;
}
.ctaf-header.is-scrolled .ctaf-logo,
.ctaf-header.is-scrolled .ctaf-logo .custom-logo-link{
  height:var(--ctaf-header-scroll-height);
}
.ctaf-header.is-scrolled .ctaf-logo img,
.ctaf-header.is-scrolled .ctaf-logo .custom-logo,
.ctaf-header.is-scrolled .ctaf-logo .custom-logo-link img{
  max-height:var(--ctaf-logo-scroll-height)!important;
  max-width:var(--ctaf-logo-max-width)!important;
}
.ctaf-footer-logo{
  display:inline-flex;
  align-items:center;
  max-width:var(--ctaf-footer-logo-width);
  line-height:0;
}
.ctaf-footer-logo img,
.ctaf-footer-logo .custom-logo,
.ctaf-footer-logo .custom-logo-link img{
  display:block;
  width:auto!important;
  height:auto!important;
  max-width:var(--ctaf-footer-logo-width)!important;
  max-height:112px!important;
  object-fit:contain;
}
@media(min-width:981px){
  .ctaf-nav li{
    position:relative;
  }
  .ctaf-nav .sub-menu .sub-menu,
  .ctaf-header.is-scrolled .ctaf-nav .sub-menu .sub-menu,
  .ctaf-header:not(.has-float-scroll).is-scrolled .ctaf-nav .sub-menu .sub-menu{
    top:-6px;
    left:100%;
    border-top:0;
    border-left:3px solid #0ea5e9;
    border-radius:12px;
    transform:translateX(10px);
  }
  .ctaf-nav .sub-menu li:hover > .sub-menu,
  .ctaf-nav .sub-menu li:focus-within > .sub-menu{
    opacity:1;
    visibility:visible;
    transform:translateX(0);
  }
  .ctaf-nav .sub-menu li.menu-item-has-children > a::after,
  .ctaf-nav .sub-menu li.has-dropdown > a::after{
    content:"›";
    margin-left:18px;
    color:#94a3b8;
    font-size:18px;
    line-height:1;
  }
}
@media(max-width:1240px){
  .ctaf-header-inner,
  .ctaf-header.is-scrolled .ctaf-header-inner,
  .ctaf-header:not(.has-float-scroll).is-scrolled .ctaf-header-inner{
    width:calc(100% - 48px);
    padding:0;
  }
}
@media(max-width:980px){
  body.ctaf-menu-lock{
    overflow:hidden;
  }
  .ctaf-header{
    z-index:10000;
  }
  .ctaf-header-inner,
  .ctaf-header.is-scrolled .ctaf-header-inner,
  .ctaf-header:not(.has-float-scroll).is-scrolled .ctaf-header-inner{
    width:calc(100% - 44px);
    padding:0;
  }
  .ctaf-logo,
  .ctaf-logo .custom-logo-link{
    height:72px;
    max-width:var(--ctaf-logo-mobile-max-width);
  }
  .ctaf-header.is-scrolled .ctaf-logo,
  .ctaf-header.is-scrolled .ctaf-logo .custom-logo-link{
    height:68px;
  }
  .ctaf-logo img,
  .ctaf-logo .custom-logo,
  .ctaf-logo .custom-logo-link img,
  .ctaf-header.is-scrolled .ctaf-logo img,
  .ctaf-header.is-scrolled .ctaf-logo .custom-logo,
  .ctaf-header.is-scrolled .ctaf-logo .custom-logo-link img{
    max-height:var(--ctaf-logo-mobile-height)!important;
    max-width:var(--ctaf-logo-mobile-max-width)!important;
  }
  .ctaf-menu-toggle{
    display:block;
    z-index:10002;
  }
  .ctaf-mobile-menu-backdrop{
    display:block;
    position:fixed;
    inset:0;
    background:rgba(15,23,42,.34);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .24s ease, visibility .24s ease;
    z-index:9997;
  }
  .ctaf-header.is-open .ctaf-mobile-menu-backdrop{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }
  .ctaf-nav-wrap,
  .ctaf-header.is-scrolled .ctaf-nav-wrap{
    position:fixed;
    top:12px;
    left:12px;
    right:auto;
    bottom:12px;
    width:min(340px, calc(100vw - 64px));
    height:auto;
    max-height:min(720px, calc(100dvh - 24px));
    display:flex;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    gap:0;
    background:var(--ctaf-mobile-drawer-bg);
    border:1px solid rgba(219,229,239,.95);
    border-radius:18px;
    box-shadow:0 26px 70px rgba(15,23,42,.24);
    overflow:hidden;
    transform:translateX(calc(-100% - 24px));
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:transform .28s cubic-bezier(.16,1,.3,1), opacity .22s ease, visibility .22s ease;
    z-index:10001;
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
  }
  .ctaf-header.is-open .ctaf-nav-wrap,
  .ctaf-header.is-scrolled.is-open .ctaf-nav-wrap{
    transform:translateX(0);
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }
  .ctaf-mobile-drawer-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:58px;
    padding:0 18px 0 22px;
    border-bottom:1px solid #eef2f7;
    color:#0b3768;
    font-size:16px;
    font-weight:900;
    letter-spacing:.04em;
    flex-shrink:0;
  }
  .ctaf-mobile-drawer-close{
    width:38px;
    height:38px;
    border:1px solid #dbe3ee;
    border-radius:999px;
    background:#fff;
    color:#12395c;
    font-size:26px;
    line-height:1;
    cursor:pointer;
  }
  .ctaf-primary-nav{
    width:100%;
    display:block;
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
  }
  .ctaf-nav{
    width:100%;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
  }
  .ctaf-nav>li>a,
  .ctaf-header.is-scrolled .ctaf-nav>li>a,
  .ctaf-header:not(.has-float-scroll).is-scrolled .ctaf-nav>li>a{
    height:52px;
    justify-content:space-between;
    padding:0 22px;
    border-bottom:1px solid #eef2f7;
    font-size:15px;
    background:#fff;
  }
  .ctaf-dropdown,
  .ctaf-nav .sub-menu{
    position:static;
    top:auto;
    left:auto;
    opacity:1;
    visibility:visible;
    transform:none;
    box-shadow:none;
    border-top:none;
    display:none;
    background:#f8fbff;
    border-radius:0;
    padding:0;
  }
  .ctaf-nav>li:hover>.ctaf-dropdown,
  .ctaf-nav>li:hover>.sub-menu,
  .ctaf-nav li:hover > .sub-menu,
  .ctaf-nav li:hover > .ctaf-dropdown{
    display:none;
  }
  .ctaf-nav li.is-sub-open > .sub-menu,
  .ctaf-nav li.is-sub-open > .ctaf-dropdown,
  .ctaf-nav li.is-sub-open:hover > .sub-menu,
  .ctaf-nav li.is-sub-open:hover > .ctaf-dropdown{
    display:block;
  }
  .ctaf-nav li.menu-item-has-children > a::after,
  .ctaf-nav li.has-dropdown > a::after{
    content:"⌄";
    margin-left:8px;
    color:#94a3b8;
    font-size:13px;
  }
  .ctaf-dropdown li a,
  .ctaf-nav .sub-menu li a{
    min-height:46px;
    padding-left:42px;
    padding-right:22px;
    font-size:14px;
  }
  .ctaf-nav .sub-menu .sub-menu{
    background:#eef6ff;
  }
  .ctaf-nav .sub-menu .sub-menu li a{
    padding-left:58px;
    font-size:13px;
  }
  .ctaf-lang-switch{
    margin:14px 22px 10px;
    align-self:flex-start;
    flex-shrink:0;
  }
  .ctaf-header-widget-area{
    padding:0 22px 14px;
    flex-shrink:0;
  }
  .ctaf-mobile-drawer-foot{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    flex-wrap:wrap;
    margin-top:auto;
    padding:14px 18px 16px;
    border-top:1px solid #eef2f7;
    background:#fbfdff;
    flex-shrink:0;
  }
  .ctaf-mobile-drawer-foot a{
    color:#64748b;
    font-size:12px;
    text-decoration:none;
  }
  .ctaf-mobile-drawer-foot a:hover{
    color:var(--ctaf-primary);
  }
}
@media(max-width:520px){
  .ctaf-header-inner,
  .ctaf-header.is-scrolled .ctaf-header-inner,
  .ctaf-header:not(.has-float-scroll).is-scrolled .ctaf-header-inner{
    width:calc(100% - 28px);
    padding:0;
  }
  .ctaf-logo,
  .ctaf-logo .custom-logo-link{
    max-width:min(var(--ctaf-logo-mobile-max-width), 64vw);
  }
  .ctaf-logo img,
  .ctaf-logo .custom-logo,
  .ctaf-logo .custom-logo-link img{
    max-width:min(var(--ctaf-logo-mobile-max-width), 64vw)!important;
  }
  .ctaf-nav-wrap,
  .ctaf-header.is-scrolled .ctaf-nav-wrap{
    width:min(312px, calc(100vw - 52px));
  }
}


/* Page title｜無分頁 Banner 版本 */
.ctaf-page-head{
  padding:46px 0 10px;
  background:#fff;
  color:var(--ctaf-text);
}
.ctaf-page-head h1{
  margin:0;
  color:var(--ctaf-primary);
  font-size:var(--ctaf-h1);
  line-height:1.2;
  letter-spacing:.03em;
  font-weight:900;
}
.ctaf-page-head p{
  max-width:760px;
  margin:12px 0 0;
  color:var(--ctaf-muted);
  font-size:17px;
  line-height:1.8;
}
@media(max-width:640px){
  .ctaf-page-head{
    padding:34px 0 4px;
  }
  .ctaf-page-head h1{
    font-size:32px;
  }
}


/* CTAF 0.3.12｜Header controls audit fix
   Make Customizer Header font, opacity and shadow controls apply consistently. */
.ctaf-nav > li > a,
.ctaf-header.is-scrolled .ctaf-nav > li > a,
.ctaf-header:not(.has-float-scroll).is-scrolled .ctaf-nav > li > a{
  font-size:var(--ctaf-menu-size)!important;
}
.ctaf-dropdown li a,
.ctaf-nav .sub-menu li a{
  font-size:clamp(13px, calc(var(--ctaf-menu-size) - 1px), 20px)!important;
}
.ctaf-lang-switch a,
.ctaf-lang-switch span{
  font-size:clamp(13px, calc(var(--ctaf-menu-size) - 2px), 18px)!important;
}
.ctaf-header{
  background:var(--ctaf-header-bg-effective)!important;
  box-shadow:var(--ctaf-header-shadow)!important;
}
.ctaf-header.is-scrolled{
  background:var(--ctaf-header-scroll-bg-effective)!important;
  box-shadow:var(--ctaf-header-scroll-shadow)!important;
}
.ctaf-header:not(.has-float-scroll).is-scrolled{
  background:var(--ctaf-header-bg-effective)!important;
  box-shadow:var(--ctaf-header-shadow)!important;
}
@media(max-width:980px){
  .ctaf-nav > li > a,
  .ctaf-header.is-scrolled .ctaf-nav > li > a,
  .ctaf-header:not(.has-float-scroll).is-scrolled .ctaf-nav > li > a{
    font-size:var(--ctaf-menu-size)!important;
  }
}

/* CTAF 0.3.13｜Global reveal motion system
   使用方式：模組或模板加上 .ctaf-reveal 與方向 class，例如 .ctaf-reveal-up。
   若 Customizer 開啟「自動套用」，JS 會自動套用在常用內容區塊。 */
.ctaf-reveal{
  will-change:opacity,transform;
}
body.ctaf-motion-ready .ctaf-reveal{
  opacity:0;
  transform:translate3d(0,var(--ctaf-motion-distance),0);
  transition:
    opacity var(--ctaf-motion-duration) var(--ctaf-motion-ease),
    transform var(--ctaf-motion-duration) var(--ctaf-motion-ease);
  transition-delay:var(--ctaf-reveal-delay,0ms);
}
body.ctaf-motion-ready .ctaf-reveal.ctaf-reveal-fade{transform:none;}
body.ctaf-motion-ready .ctaf-reveal.ctaf-reveal-up{transform:translate3d(0,var(--ctaf-motion-distance),0);}
body.ctaf-motion-ready .ctaf-reveal.ctaf-reveal-left{transform:translate3d(calc(var(--ctaf-motion-distance) * -1),0,0);}
body.ctaf-motion-ready .ctaf-reveal.ctaf-reveal-right{transform:translate3d(var(--ctaf-motion-distance),0,0);}
body.ctaf-motion-ready .ctaf-reveal.ctaf-reveal-zoom{transform:scale(.96);}
body.ctaf-motion-ready .ctaf-reveal.is-visible{
  opacity:1;
  transform:none;
}
body.ctaf-motion-disabled .ctaf-reveal,
body.ctaf-motion-reduced .ctaf-reveal{
  opacity:1!important;
  transform:none!important;
  transition:none!important;
}
@media(max-width:767px){
  body.ctaf-motion-mobile-disabled .ctaf-reveal{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
}
@media(prefers-reduced-motion:reduce){
  body.ctaf-motion-ready .ctaf-reveal{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
}

/* CTAF 0.3.16｜Inner page sidebar + breadcrumb template
   使用主題既有色彩變數，不讓編輯器控制外層版型。 */
.ctaf-breadcrumb{
  padding:18px 0 0;
  background:#fff;
  color:var(--ctaf-muted);
  font-size:13px;
}
.ctaf-breadcrumb ol{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  list-style:none;
  padding:0;
  margin:0;
}
.ctaf-breadcrumb li{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-width:0;
}
.ctaf-breadcrumb li + li::before{
  content:"›";
  color:var(--ctaf-muted);
  opacity:.7;
}
.ctaf-breadcrumb a{
  color:var(--ctaf-muted);
  text-decoration:none!important;
  font-weight:700;
}
.ctaf-breadcrumb a:hover{
  color:var(--ctaf-primary);
}
.ctaf-breadcrumb span{
  color:var(--ctaf-text);
  font-weight:800;
}
.ctaf-section-with-sidebar{
  padding-top:28px;
}
.ctaf-page-layout{
  display:grid;
  grid-template-columns:280px minmax(0,1fr);
  gap:36px;
  align-items:start;
}
.ctaf-section-sidebar{
  display:block;
}
.ctaf-section-sidebar-card{
  border:1px solid var(--ctaf-border);
  background:#fff;
  box-shadow:0 14px 30px rgba(18,40,63,.06);
  overflow:hidden;
}
.ctaf-section-sidebar-title{
  min-height:54px;
  display:flex;
  align-items:center;
  padding:0 20px;
  background:var(--ctaf-primary);
  color:#fff;
  font-size:17px;
  line-height:1.35;
  font-weight:900;
  letter-spacing:.04em;
  border-left:5px solid var(--ctaf-accent);
}
.ctaf-section-sidebar-menu,
.ctaf-section-sidebar-menu ul{
  list-style:none;
  padding:0;
  margin:0;
}
.ctaf-section-sidebar-menu a{
  position:relative;
  display:flex;
  align-items:center;
  min-height:48px;
  padding:12px 18px 12px 24px;
  border-bottom:1px solid var(--ctaf-border);
  background:#fff;
  color:var(--ctaf-text);
  font-size:15px;
  line-height:1.55;
  font-weight:750;
  text-decoration:none!important;
  transition:background .18s ease,color .18s ease,padding-left .18s ease;
}
.ctaf-section-sidebar-menu a::before{
  content:"+";
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:16px;
  margin-right:8px;
  color:var(--ctaf-primary);
  font-weight:900;
  flex:0 0 16px;
}
.ctaf-section-sidebar-menu > li > a{
  background:var(--ctaf-primary);
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.22);
}
.ctaf-section-sidebar-menu > li > a::before{
  color:#fff;
}
.ctaf-section-sidebar-menu ul a{
  background:#fff;
  color:var(--ctaf-text);
  padding-left:28px;
  font-size:14px;
  font-weight:700;
}
.ctaf-section-sidebar-menu ul ul a{
  background:var(--ctaf-soft);
  padding-left:44px;
  color:var(--ctaf-muted);
  font-size:13px;
}
.ctaf-section-sidebar-menu a:hover{
  background:var(--ctaf-soft);
  color:var(--ctaf-primary);
  padding-left:30px;
}
.ctaf-section-sidebar-menu > li > a:hover{
  background:var(--ctaf-primary);
  color:#fff;
  filter:brightness(.96);
}
.ctaf-section-sidebar-menu .current-menu-item > a,
.ctaf-section-sidebar-menu .current_page_item > a{
  background:var(--ctaf-soft);
  color:var(--ctaf-primary);
  border-left:5px solid var(--ctaf-accent);
  padding-left:19px;
  font-weight:900;
}
.ctaf-section-sidebar-menu > .current-menu-item > a,
.ctaf-section-sidebar-menu > .current_page_item > a{
  background:var(--ctaf-primary);
  color:#fff;
  border-left:5px solid var(--ctaf-accent);
}
.ctaf-section-sidebar-empty{
  padding:18px;
  color:var(--ctaf-muted);
  font-size:14px;
  background:var(--ctaf-soft);
}
.ctaf-content-panel{
  min-width:0;
  background:#fff;
  border:1px solid var(--ctaf-border);
  border-radius:var(--ctaf-card-radius);
  box-shadow:0 16px 38px rgba(18,40,63,.06);
  padding:clamp(28px,4vw,52px);
}
.ctaf-page-layout .ctaf-entry-content > :first-child{
  margin-top:0;
}
.ctaf-page-layout .ctaf-entry-content h2{
  margin:0 0 22px;
  padding-bottom:14px;
  border-bottom:2px solid var(--ctaf-border);
  color:var(--ctaf-primary);
  font-size:clamp(26px,3vw,36px);
  line-height:1.3;
  font-weight:950;
  letter-spacing:.03em;
}
.ctaf-page-layout .ctaf-entry-content h3{
  margin:34px 0 12px;
  color:var(--ctaf-text);
  font-size:clamp(20px,2vw,24px);
  line-height:1.45;
  font-weight:900;
}
.ctaf-page-layout .ctaf-entry-content p,
.ctaf-page-layout .ctaf-entry-content li{
  color:var(--ctaf-text);
  font-size:16px;
  line-height:2;
}
.ctaf-page-layout .ctaf-entry-content img{
  display:block;
  max-width:100%;
  height:auto;
  margin:24px auto;
  border-radius:10px;
}
.ctaf-page-layout .ctaf-entry-content figure{
  margin:28px 0;
}
.ctaf-page-layout .ctaf-entry-content figcaption{
  margin-top:10px;
  color:var(--ctaf-muted);
  font-size:13px;
  text-align:center;
}
@media(max-width:980px){
  .ctaf-page-layout{
    display:block;
  }
  .ctaf-section-sidebar{
    display:none;
  }
  .ctaf-section-with-sidebar{
    padding-top:18px;
  }
  .ctaf-content-panel{
    padding:26px 20px;
    box-shadow:0 10px 24px rgba(18,40,63,.05);
  }
}
@media(max-width:640px){
  .ctaf-breadcrumb{
    padding-top:14px;
    font-size:12px;
  }
  .ctaf-breadcrumb ol{
    gap:6px;
  }
  .ctaf-page-layout .ctaf-entry-content p,
  .ctaf-page-layout .ctaf-entry-content li{
    font-size:15px;
    line-height:1.9;
  }
}

/* CTAF 0.3.17｜Responsive typography + image RWD safety */
.ctaf-page-head h1{font-size:var(--ctaf-h1);}
.ctaf-page-head p{font-size:var(--ctaf-body-size);}
.ctaf-entry-content h1{font-size:var(--ctaf-h1);}
.ctaf-entry-content h2{font-size:var(--ctaf-h2);}
.ctaf-entry-content h3{font-size:var(--ctaf-h3);}
.ctaf-entry-content p,
.ctaf-entry-content li{font-size:var(--ctaf-body-size);}
.ctaf-page-layout .ctaf-entry-content h1{font-size:var(--ctaf-h1);}
.ctaf-page-layout .ctaf-entry-content h2{font-size:var(--ctaf-h2);}
.ctaf-page-layout .ctaf-entry-content h3{font-size:var(--ctaf-h3);}
.ctaf-page-layout .ctaf-entry-content p,
.ctaf-page-layout .ctaf-entry-content li{font-size:var(--ctaf-body-size);}
.ctaf-entry-content img,
.ctaf-content-panel img,
.ctaf-list-card img,
.ctaf-footer img,
.ctaf-logo img,
.wp-block-image img,
.wp-block-media-text__media img,
figure img{max-width:100%;height:auto;}
.ctaf-entry-content iframe,
.ctaf-entry-content video,
.ctaf-content-panel iframe,
.ctaf-content-panel video{max-width:100%;}
.ctaf-entry-content table,
.ctaf-content-panel table{max-width:100%;}
@media(max-width:720px){
  .ctaf-v3-hero{background-size:var(--ctaf-home-banner-mobile-size);background-position:var(--ctaf-home-banner-mobile-position);}
  .ctaf-footer-main{background-position:center center,var(--ctaf-footer-mobile-bg-position)!important;background-size:cover,var(--ctaf-footer-mobile-bg-size)!important;}
  .ctaf-page-head h1{font-size:var(--ctaf-h1);}
}


/* CTAF 0.3.19｜Sidebar content width and share tools */
body.page-template-page-sidebar .ctaf-breadcrumb .ctaf-container,
.ctaf-section-with-sidebar > .ctaf-container{
  width:min(1440px,calc(100% - 48px));
}

/* CTAF 0.3.18｜Sidebar page refinement
   麵包屑下方直接進入左右欄；標題 / 日期 / 分享工具由主題輸出，編輯器只負責內文。 */
.ctaf-section-with-sidebar{
  padding-top:12px;
  padding-bottom:72px;
}
.ctaf-breadcrumb{
  padding:14px 0 0;
  background:#fff;
}
.ctaf-page-layout{
  grid-template-columns:280px minmax(0,1fr);
  gap:36px;
}
.ctaf-section-sidebar-card{
  border:0;
  background:var(--ctaf-sidebar-bg);
  box-shadow:none;
  overflow:hidden;
}
.ctaf-section-sidebar-title{
  min-height:54px;
  padding:0 20px;
  background:var(--ctaf-sidebar-header-bg);
  color:var(--ctaf-sidebar-header-text);
  border-left:0;
}
.ctaf-section-sidebar-title::before{
  content:"−";
  display:inline-flex;
  width:18px;
  margin-right:10px;
  color:currentColor;
  font-weight:900;
}
.ctaf-section-sidebar-menu a{
  background:var(--ctaf-sidebar-bg);
  color:var(--ctaf-sidebar-link-text);
  border-bottom:1px solid rgba(7,93,168,.10);
}
.ctaf-section-sidebar-menu a::before{
  color:var(--ctaf-sidebar-active-text);
}
.ctaf-section-sidebar-menu > li > a{
  background:var(--ctaf-sidebar-header-bg);
  color:var(--ctaf-sidebar-header-text);
  border-bottom:1px solid rgba(255,255,255,.22);
}
.ctaf-section-sidebar-menu ul a,
.ctaf-section-sidebar-menu ul ul a{
  background:var(--ctaf-sidebar-bg);
  color:var(--ctaf-sidebar-link-text);
}
.ctaf-section-sidebar-menu a:hover{
  background:var(--ctaf-sidebar-active-bg);
  color:var(--ctaf-sidebar-active-text);
}
.ctaf-section-sidebar-menu > li > a:hover{
  background:var(--ctaf-sidebar-header-bg);
  color:var(--ctaf-sidebar-header-text);
}
.ctaf-section-sidebar-menu .current-menu-item > a,
.ctaf-section-sidebar-menu .current_page_item > a{
  background:var(--ctaf-sidebar-active-bg);
  color:var(--ctaf-sidebar-active-text);
  border-left:4px solid var(--ctaf-accent);
}
.ctaf-section-sidebar-menu > .current-menu-item > a,
.ctaf-section-sidebar-menu > .current_page_item > a{
  background:var(--ctaf-sidebar-header-bg);
  color:var(--ctaf-sidebar-header-text);
  border-left:4px solid var(--ctaf-accent);
}
.ctaf-content-panel{
  border:0;
  border-radius:0;
  box-shadow:none;
  padding:18px 0 0;
}
.ctaf-content-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
}
.ctaf-content-heading{
  min-width:0;
}
.ctaf-content-title{
  margin:0;
  color:var(--ctaf-primary);
  font-size:var(--ctaf-h2);
  line-height:1.28;
  font-weight:950;
  letter-spacing:.03em;
}
.ctaf-content-meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  margin-top:10px;
  color:var(--ctaf-muted);
  font-size:13px;
  font-weight:700;
  line-height:1.6;
}
.ctaf-content-share{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex:0 0 auto;
  padding-top:2px;
}
.ctaf-content-share a,
.ctaf-content-share button{
  width:34px;
  height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:1px solid #a9b2bd;
  background:#fff;
  color:#66717f;
  font-size:11px;
  line-height:1;
  font-weight:900;
  text-decoration:none!important;
  cursor:pointer;
  font-family:var(--ctaf-font);
  transition:all .18s ease;
}
.ctaf-content-share svg{
  width:18px;
  height:18px;
  display:block;
}
.ctaf-content-share .ctaf-share-copy.is-copied{
  border-color:var(--ctaf-primary);
  background:var(--ctaf-primary);
  color:#fff;
}
.ctaf-content-share a:hover,
.ctaf-content-share button:hover{
  border-color:var(--ctaf-primary);
  color:var(--ctaf-primary);
  box-shadow:0 8px 18px rgba(18,40,63,.10);
}
.ctaf-content-divider{
  width:100%;
  height:1px;
  margin:16px 0 28px;
  background:linear-gradient(90deg,var(--ctaf-border),rgba(232,237,243,0));
  border-bottom:1px dotted rgba(7,93,168,.35);
}
.ctaf-editable-content > :first-child{
  margin-top:0;
}
.ctaf-page-layout .ctaf-editable-content h2{
  margin:30px 0 16px;
  padding-bottom:0;
  border-bottom:0;
  color:var(--ctaf-text);
  font-size:var(--ctaf-h3);
}
@media(max-width:980px){
  .ctaf-section-with-sidebar{padding-top:18px;}
  .ctaf-content-panel{
    border:1px solid var(--ctaf-border);
    border-radius:var(--ctaf-card-radius);
    box-shadow:0 10px 24px rgba(18,40,63,.05);
    padding:26px 20px;
  }
  .ctaf-content-header{
    display:block;
  }
  .ctaf-content-share{
    justify-content:flex-start;
    margin-top:16px;
  }
  .ctaf-content-title{font-size:var(--ctaf-h2-mobile);}
}
@media(max-width:640px){
  .ctaf-content-meta{
    display:block;
  }
  .ctaf-content-meta span{
    display:block;
    margin-top:4px;
  }
}

/* CTAF 0.3.21｜Print only content for Sidebar Page */
@media print{
  @page{margin:14mm;}

  body.page-template-page-sidebar,
  body.page-template-page-sidebar *{
    background:transparent!important;
    box-shadow:none!important;
    text-shadow:none!important;
  }

  body.page-template-page-sidebar *{
    visibility:hidden!important;
  }

  body.page-template-page-sidebar .ctaf-content-panel,
  body.page-template-page-sidebar .ctaf-content-panel *{
    visibility:visible!important;
  }

  body.page-template-page-sidebar #wpadminbar,
  body.page-template-page-sidebar .ctaf-header,
  body.page-template-page-sidebar .ctaf-footer,
  body.page-template-page-sidebar .ctaf-breadcrumb,
  body.page-template-page-sidebar .ctaf-section-sidebar,
  body.page-template-page-sidebar .ctaf-content-share,
  body.page-template-page-sidebar .ctaf-mobile-menu-backdrop,
  body.page-template-page-sidebar .ctaf-skip-link{
    display:none!important;
  }

  body.page-template-page-sidebar .ctaf-site-main,
  body.page-template-page-sidebar .ctaf-section,
  body.page-template-page-sidebar .ctaf-section-with-sidebar,
  body.page-template-page-sidebar .ctaf-container,
  body.page-template-page-sidebar .ctaf-page-layout,
  body.page-template-page-sidebar .ctaf-content-panel{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    position:static!important;
  }

  body.page-template-page-sidebar .ctaf-content-header{
    display:block!important;
    margin:0 0 10mm!important;
    padding:0!important;
  }

  body.page-template-page-sidebar .ctaf-content-title{
    color:#000!important;
    font-size:20pt!important;
    line-height:1.35!important;
    margin:0 0 4mm!important;
  }

  body.page-template-page-sidebar .ctaf-content-meta{
    color:#444!important;
    font-size:10pt!important;
    display:block!important;
    margin:0!important;
  }

  body.page-template-page-sidebar .ctaf-content-meta span{
    display:inline-block!important;
    margin:0 4mm 1.5mm 0!important;
  }

  body.page-template-page-sidebar .ctaf-content-divider{
    display:block!important;
    visibility:visible!important;
    height:1px!important;
    margin:0 0 8mm!important;
    background:#bbb!important;
    border:0!important;
  }

  body.page-template-page-sidebar .ctaf-entry-content,
  body.page-template-page-sidebar .ctaf-editable-content{
    color:#000!important;
    font-size:11pt!important;
    line-height:1.75!important;
  }

  body.page-template-page-sidebar .ctaf-entry-content a{
    color:#000!important;
    text-decoration:underline!important;
  }

  body.page-template-page-sidebar .ctaf-entry-content img,
  body.page-template-page-sidebar .ctaf-editable-content img{
    max-width:100%!important;
    height:auto!important;
    page-break-inside:avoid!important;
    break-inside:avoid!important;
  }

  body.page-template-page-sidebar .ctaf-entry-content table,
  body.page-template-page-sidebar .ctaf-editable-content table,
  body.page-template-page-sidebar .ctaf-entry-content figure,
  body.page-template-page-sidebar .ctaf-editable-content figure{
    page-break-inside:avoid!important;
    break-inside:avoid!important;
  }
}

/* CTAF 0.3.26｜Sidebar Page motion safety
   側邊欄與右側整個內容外框不套 reveal；只讓編輯器內容元件自行淡入，避免長內容頁整塊被動畫遮住。 */
body.page-template-page-sidebar .ctaf-section-sidebar-card.ctaf-reveal,
body.page-template-page-sidebar .ctaf-content-panel.ctaf-reveal{
  opacity:1!important;
  transform:none!important;
  transition:none!important;
}

/* CTAF Sidebar accordion: supports third-level navigation without changing menu data. */
.ctaf-section-sidebar-card.ctaf-sidebar-accordion-ready .ctaf-section-sidebar-menu li{
  position:relative;
}
.ctaf-section-sidebar-card.ctaf-sidebar-accordion-ready .ctaf-section-sidebar-menu li > ul{
  display:none;
}
.ctaf-section-sidebar-card.ctaf-sidebar-accordion-ready .ctaf-section-sidebar-menu li.is-open > ul{
  display:block;
}
.ctaf-section-sidebar-card.ctaf-sidebar-accordion-ready .ctaf-section-sidebar-menu a::before{
  content:none!important;
  display:none!important;
}
.ctaf-section-sidebar-card.ctaf-sidebar-accordion-ready .ctaf-section-sidebar-menu li > a{
  padding-left:52px;
}
.ctaf-section-sidebar-card.ctaf-sidebar-accordion-ready .ctaf-section-sidebar-menu li > a:hover{
  padding-left:52px;
}
.ctaf-section-sidebar-card.ctaf-sidebar-accordion-ready .ctaf-section-sidebar-menu ul li > a,
.ctaf-section-sidebar-card.ctaf-sidebar-accordion-ready .ctaf-section-sidebar-menu ul li > a:hover{
  padding-left:72px;
}
.ctaf-section-sidebar-card.ctaf-sidebar-accordion-ready .ctaf-section-sidebar-menu ul ul li > a,
.ctaf-section-sidebar-card.ctaf-sidebar-accordion-ready .ctaf-section-sidebar-menu ul ul li > a:hover{
  padding-left:90px;
}
.ctaf-section-sidebar-card.ctaf-sidebar-accordion-ready .ctaf-section-sidebar-menu .current-menu-item > a,
.ctaf-section-sidebar-card.ctaf-sidebar-accordion-ready .ctaf-section-sidebar-menu .current_page_item > a{
  padding-left:48px;
}
.ctaf-section-sidebar-card.ctaf-sidebar-accordion-ready .ctaf-section-sidebar-menu ul .current-menu-item > a,
.ctaf-section-sidebar-card.ctaf-sidebar-accordion-ready .ctaf-section-sidebar-menu ul .current_page_item > a{
  padding-left:68px;
}
.ctaf-section-sidebar-card.ctaf-sidebar-accordion-ready .ctaf-section-sidebar-menu ul ul .current-menu-item > a,
.ctaf-section-sidebar-card.ctaf-sidebar-accordion-ready .ctaf-section-sidebar-menu ul ul .current_page_item > a{
  padding-left:86px;
}
.ctaf-sidebar-sub-toggle{
  position:absolute;
  z-index:3;
  top:0;
  left:15px;
  width:28px;
  height:48px;
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  margin:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--ctaf-sidebar-active-text);
  font:inherit;
  font-size:16px;
  line-height:1;
  font-weight:900;
  cursor:pointer;
  box-shadow:none;
}
.ctaf-section-sidebar-menu > li > .ctaf-sidebar-sub-toggle{
  color:var(--ctaf-sidebar-header-text);
}
.ctaf-section-sidebar-menu ul .ctaf-sidebar-sub-toggle{
  left:35px;
  color:var(--ctaf-sidebar-active-text);
}
.ctaf-section-sidebar-menu ul ul .ctaf-sidebar-sub-toggle{
  left:53px;
}
.ctaf-sidebar-sub-toggle span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
}
.ctaf-sidebar-has-children.is-open > .ctaf-sidebar-sub-toggle span{
  font-size:0;
}
.ctaf-sidebar-has-children.is-open > .ctaf-sidebar-sub-toggle span::before{
  content:"−";
  font-size:16px;
  line-height:1;
}
.ctaf-section-sidebar-card.ctaf-sidebar-accordion-ready .ctaf-section-sidebar-menu li.is-open > a{
  background:var(--ctaf-sidebar-active-bg);
  color:var(--ctaf-sidebar-active-text);
}
.ctaf-section-sidebar-card.ctaf-sidebar-accordion-ready .ctaf-section-sidebar-menu > li.is-open > a{
  background:var(--ctaf-sidebar-header-bg);
  color:var(--ctaf-sidebar-header-text);
}
.ctaf-sidebar-sub-toggle:focus-visible{
  outline:2px solid var(--ctaf-accent);
  outline-offset:-2px;
}


/* CTAF 0.3.31｜Sidebar menu tree renderer safety. */
.ctaf-section-sidebar-menu--tree .ctaf-section-sidebar-submenu{
  width:100%;
}
.ctaf-section-sidebar-card.ctaf-sidebar-accordion-ready .ctaf-section-sidebar-menu--tree li.is-open > .ctaf-section-sidebar-submenu{
  display:block;
}
.ctaf-section-sidebar-card.ctaf-sidebar-accordion-ready .ctaf-section-sidebar-menu--tree li:not(.is-open) > .ctaf-section-sidebar-submenu{
  display:none;
}

/* CTAF 0.3.33｜Back to top + article template + refined motion controls */
.ctaf-back-to-top{
  position:fixed;
  right:24px;
  bottom:24px;
  width:46px;
  height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(7,93,168,.26);
  border-radius:999px;
  background:var(--ctaf-primary);
  color:#fff;
  font-size:22px;
  line-height:1;
  font-weight:900;
  cursor:pointer;
  z-index:9997;
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  box-shadow:0 12px 26px rgba(18,40,63,.18);
  transition:opacity .22s ease,transform .22s ease,visibility .22s ease,background .18s ease,box-shadow .18s ease;
}
.ctaf-back-to-top.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.ctaf-back-to-top:hover{
  background:#064b88;
  box-shadow:0 16px 34px rgba(18,40,63,.22);
}
.ctaf-back-to-top span{
  display:block;
  transform:translateY(-1px);
}

.ctaf-article-section{
  padding:46px 0 72px;
  background:#fff;
}
.ctaf-article-wrap{
  width:min(980px,calc(100% - 48px));
  margin:0 auto;
}
.ctaf-article-panel{
  background:#fff;
  border:0;
  border-radius:0;
  box-shadow:none;
  padding:18px 0 0;
}
.ctaf-article-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
}
.ctaf-article-title{
  margin:0;
  color:var(--ctaf-primary);
  font-size:var(--ctaf-h2);
  line-height:1.28;
  font-weight:950;
  letter-spacing:.03em;
}
.ctaf-article-meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  margin-top:10px;
  color:var(--ctaf-muted);
  font-size:13px;
  font-weight:700;
  line-height:1.6;
}
.ctaf-article-actions{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:8px;
  padding-top:2px;
}
.ctaf-article-back{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 13px;
  border-radius:6px;
  border:1px solid #a9b2bd;
  color:#52606f;
  background:#fff;
  text-decoration:none!important;
  font-size:13px;
  font-weight:850;
  transition:all .18s ease;
}
.ctaf-article-back:hover{
  border-color:var(--ctaf-primary);
  color:var(--ctaf-primary);
  box-shadow:0 8px 18px rgba(18,40,63,.10);
}
.ctaf-article-divider{
  width:100%;
  height:1px;
  margin:16px 0 28px;
  background:linear-gradient(90deg,var(--ctaf-border),rgba(232,237,243,0));
  border-bottom:1px dotted rgba(7,93,168,.35);
}
.ctaf-article-content{
  font-size:var(--ctaf-body-size);
  line-height:var(--ctaf-line-height);
}
.ctaf-article-content > :first-child{
  margin-top:0;
}
.ctaf-article-content h2{
  margin:30px 0 16px;
  color:var(--ctaf-text);
  font-size:var(--ctaf-h3);
  line-height:1.35;
}
.ctaf-article-content h3{
  margin:24px 0 12px;
  color:var(--ctaf-text);
  font-size:calc(var(--ctaf-h3) - 2px);
  line-height:1.35;
}
.ctaf-article-footer{
  margin-top:34px;
  padding-top:18px;
  border-top:1px solid var(--ctaf-border);
}
.ctaf-article-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}
.ctaf-article-tag{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border:1px solid var(--ctaf-border);
  border-radius:999px;
  background:var(--ctaf-soft);
  color:var(--ctaf-muted);
  font-size:12px;
  font-weight:800;
}
body.ctaf-template-article .ctaf-entry-content > *,
body.ctaf-template-article .ctaf-article-content > *{
  animation:none;
}

@media(max-width:980px){
  .ctaf-article-section{padding:28px 0 54px;}
  .ctaf-article-wrap{width:calc(100% - 36px);}
  .ctaf-article-panel{
    border:1px solid var(--ctaf-border);
    border-radius:var(--ctaf-card-radius);
    box-shadow:0 10px 24px rgba(18,40,63,.05);
    padding:26px 20px;
  }
  .ctaf-article-header{display:block;}
  .ctaf-article-actions{justify-content:flex-start;margin-top:16px;}
  .ctaf-article-title{font-size:var(--ctaf-h2-mobile);}
}
@media(max-width:640px){
  .ctaf-back-to-top{right:18px;bottom:18px;width:42px;height:42px;font-size:20px;}
  .ctaf-article-meta{display:block;}
  .ctaf-article-meta span{display:block;margin-top:4px;}
}
