/*
Theme Name: 大田財稅官網
Author: 大田財稅記帳士事務所
Description: 大田財稅記帳士事務所的 WordPress 區塊主題。
Version: 4.11.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: datian-accounting
*/
:root { color-scheme: light; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; }
a { text-underline-offset: .2em; }
.wp-site-blocks { overflow-x: clip; }
.blank-page { background:#fbfaf6; color:#1f4d3f; padding:28px 20px 70px; min-height:70vh; }
.blank-shell { max-width:1080px; margin:auto; }
.blank-back { margin:0 0 20px; }
.blank-back a { color:#4d5a53; font-size:.9rem; font-weight:650; text-decoration:none; }
.blank-heading { margin:0 0 28px; }
.blank-eyebrow { color:#9a5f1f; font-size:.82rem; font-weight:750; letter-spacing:.08em; }
.blank-heading h1 { margin:6px 0 9px; color:#1f4d3f; font:750 clamp(2rem,4vw,3rem)/1.3 'Noto Serif TC',serif; }
.blank-heading > p:last-child { margin:0; font-size:1rem; line-height:1.8; }
.blank-layout { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); align-items:start; gap:18px; }
.blank-panel { min-width:0; padding:clamp(22px,3vw,32px); border:1px solid #e2ded3; border-radius:16px; background:#fff; box-shadow:0 10px 28px rgba(30,42,38,.045); }
.blank-panel h2,.blank-note h2 { margin:0 0 20px; color:#1f4d3f; font:750 1.35rem/1.4 'Noto Serif TC',serif; }
.blank-period label { display:block; margin-bottom:8px; font-weight:700; font-size:.94rem; }
.blank-period select { width:100%; min-height:48px; padding:10px 12px; border:1px solid #d6d1c4; border-radius:9px; background:#fff; color:#1f4d3f; font:inherit; font-size:1rem; }
.blank-period select:focus-visible,.blank-primary:focus-visible { outline:3px solid #9a5f1f; outline-offset:3px; }
.blank-small { color:#6d6b69; font-size:.87rem; line-height:1.7; }
.blank-deadline { margin:22px 0 12px; padding:21px; border-radius:12px; background:#1f4d3f; color:#fff; }
.blank-deadline span { display:block; color:#e3b984; font-size:.86rem; }
.blank-deadline strong { display:block; margin:5px 0; font-size:clamp(1.35rem,2.5vw,1.8rem); }
.blank-deadline p { margin:0; color:#eef3ef; font-size:.88rem; }
.blank-status { margin:10px 0; padding:10px 13px; border-radius:8px; background:#eef6f3; color:#245b48; line-height:1.65; font-size:.9rem; }
.blank-status.is-late { background:#fff2e8; color:#8b452d; }
.blank-rule { margin:16px 0; padding:12px 14px; border-left:3px solid #9a5f1f; background:#fbfaf6; line-height:1.75; font-size:.9rem; }
.blank-primary { display:block; padding:14px 17px; border-radius:9px; background:#1f4d3f; color:#fff; text-align:center; font-weight:750; text-decoration:none; }
.blank-primary:hover { color:#fff; background:#2c6652; }
.blank-period > .blank-small:last-child { margin-bottom:0; }
.blank-steps ol { margin:0; padding:0; list-style:none; counter-reset:blank-step; }
.blank-steps li { position:relative; padding:0 0 23px 51px; border-left:1px solid #e2ded3; margin-left:15px; counter-increment:blank-step; }
.blank-steps li:last-child { padding-bottom:0; border-left-color:transparent; }
.blank-steps li::before { content:counter(blank-step); position:absolute; left:-16px; top:0; width:32px; height:32px; display:grid; place-items:center; border-radius:50%; background:#1f4d3f; color:#fff; font-weight:700; }
.blank-steps li strong { display:block; margin:0 0 5px; color:#1f4d3f; font-size:1rem; }
.blank-steps li span { display:block; line-height:1.8; font-size:.94rem; }
.blank-note { margin-top:20px; padding:24px 28px; border:1px solid #e2ded3; border-radius:14px; background:#fff; }
.blank-note h2 { margin-bottom:10px; }
.blank-note p { margin:8px 0 0; line-height:1.85; font-size:.94rem; }
.blank-note a { color:#4d5a53; }
.blank-illustrated { margin:34px 0 0; }
.blank-illustrated > h2 { margin:0 0 8px; color:#1f4d3f; font:750 1.65rem/1.4 'Noto Serif TC',serif; }
.blank-illustrated > p { margin:0 0 20px; line-height:1.8; font-size:.95rem; }
.blank-illustrated-step { margin:0 0 18px; padding:clamp(18px,3vw,28px); border:1px solid #e2ded3; border-radius:16px; background:#fff; }
.blank-illustrated-copy { display:flex; align-items:flex-start; gap:15px; margin:0 0 14px; }
.blank-illustrated-copy > span { display:grid; flex:none; place-items:center; width:39px; height:39px; border-radius:50%; background:#1f4d3f; color:#fff; font-size:.95rem; font-weight:750; }
.blank-illustrated-copy h3 { margin:1px 0 5px; color:#1f4d3f; font-size:1.22rem; }
.blank-illustrated-copy p { margin:0; line-height:1.8; font-size:.95rem; }
.blank-visual { margin:0; overflow:hidden; border:1px solid #d6e2db; border-radius:10px; background:#eef3ef; }
.blank-visual a { display:block; }
.blank-visual a:focus-visible { outline:3px solid #9a5f1f; outline-offset:-3px; }
.blank-visual img { display:block; width:100%; height:auto; max-width:none; }
.blank-visual.is-compact img { width:auto; max-width:100%; height:auto; margin:12px auto; }
.blank-visual figcaption { padding:10px 14px; border-top:1px solid #d6e2db; background:#fff; color:#2c6652; font-size:.89rem; line-height:1.65; }
@media (max-width:760px) { .blank-page { padding:20px 14px 45px; } .blank-layout { grid-template-columns:1fr; } .blank-panel { padding:22px; } .blank-note { padding:22px; } }
.site-header { border-bottom: 1px solid #e2ded3; background: #fbfaf6; position: relative; z-index: 2; }
.header-inner { min-height: 78px; gap: 12px 18px; justify-content:flex-start !important; }
.site-brand { gap: 12px; align-items: center; min-width:0; }
.brand-mark { width:52px; height:52px; flex:0 0 52px; margin:0; overflow:hidden; text-indent:-9999px; background-image: url('assets/images/datian-logo.png'); background-repeat:no-repeat; background-position:center; background-size:contain; }
.site-header .brand-names { display:none !important; }
.site-header .wp-block-site-title { max-width:min(100%,38rem); min-width:0; margin:0 !important; color:#1f4d3f; font-family:'Noto Serif TC',serif; font-size:1.12rem !important; font-weight:700; line-height:1.45; letter-spacing:.035em; overflow-wrap:anywhere; }
.site-header .wp-block-site-title a { color:inherit; text-decoration:none; }
.site-header .wp-block-navigation { flex-basis:100%; gap: clamp(9px,1.5vw,24px); font-size: .91rem; }
.site-header .wp-block-navigation a { text-decoration: none; white-space: nowrap; }
.site-header .wp-block-navigation a:hover { color: #9a5f1f; }
.hero { background:linear-gradient(90deg,rgba(14,28,39,.77) 0%,rgba(14,28,39,.64) 49%,rgba(14,28,39,.25) 100%),url('assets/images/building-exterior.webp') center 42%/cover no-repeat; position:relative; isolation:isolate; min-height:615px; padding:clamp(80px,9vw,130px) 24px 28px !important; }
.hero::before,.hero::after { display:none; }
.hero-copy { margin-left:auto !important; margin-right:auto !important; max-width:1180px; }
.hero-copy > * { max-width:730px; }
.hero-pill { display:none; }
.hero h1 { margin-top:24px; color:#fff; font-family:'Noto Serif TC',serif; font-size:clamp(2.45rem,4.15vw,4.05rem); line-height:1.35; letter-spacing:.045em; }
.hero h1 span { color:#fff; }
.hero h1 .emphasis-word { color:#e3b984; text-decoration-line:underline; text-decoration-color:#e3b984; text-decoration-thickness:.10em; text-underline-offset:.16em; text-decoration-skip-ink:none; }
.hero-description { font-size:1.1rem; line-height:1.95; color:#fff; }
.hero .wp-block-buttons { margin-top:28px; }
.hero .wp-block-button__link, .contact-section .wp-block-button__link { background:#4d5a53; color:#ffffff; border-radius:999px; padding:12px 28px; box-shadow:0 9px 20px rgba(30,42,38,.14); }
.hero .is-style-outline .wp-block-button__link { border-color:#e3b984; color:#1f4d3f; background:#e3b984; box-shadow:none; }
.hero .is-style-outline .wp-block-button__link:hover { border-color:#e2ded3; color:#1f4d3f; background:#e2ded3; }
.hero-bottom { margin-top:75px; font-size:.88rem; color:#fff; letter-spacing:.1em; }
.hero-bottom p { border-top:1px solid rgba(255,255,255,.45); padding-top:15px; }
.section-pad { padding:clamp(70px,8vw,110px) 24px !important; scroll-margin-top:85px; }
.section-center > .wp-block-group > .eyebrow, .section-center > .wp-block-group > h2, .section-center > .wp-block-group > .section-lead { text-align:center; margin-left:auto; margin-right:auto; }
.eyebrow { letter-spacing:.27em; font-size:.78rem; font-weight:700; color:#9a5f1f; }
.section-pad h2 { font-family:'Noto Serif TC',serif; color:#1f4d3f; font-size:clamp(1.9rem,3vw,2.5rem); letter-spacing:.06em; margin-top:9px; }
.section-lead { max-width:720px; color:#2c6652; }
.four-grid, .three-grid, .two-grid { display:grid; gap:18px; margin-top:40px; }
/* WordPress constrained layout adds top margins to later child blocks; grid gap handles spacing here. */
:is(.four-grid,.three-grid,.two-grid,.contact-layout) > .wp-block-group { margin:0 !important; max-width:none !important; width:100%; min-width:0; }
.four-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.three-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.two-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.card { background:#fbfaf6; border:1px solid #e2ded3; border-radius:16px; padding:27px 25px !important; box-shadow:0 10px 28px rgba(30,42,38,.035); }
.card h3 { font-family:'Noto Serif TC',serif; font-size:1.24rem; color:#1f4d3f; margin-top:0; }
.card p { color:#5d6266; font-size:.95rem; }
.card .card-action { color:#9a5f1f; font-weight:700; margin-top:20px; }
.card .card-action a { color:inherit; text-decoration:none; }
.card .card-action a:hover, .card .card-action a:focus-visible { text-decoration:underline; }
.service-card { min-height:205px; border-top:3px solid #9a5f1f; }
.quote-card { min-height:195px; }
#pricing .wp-block-buttons { justify-content:center; margin-top:34px; }
#pricing .wp-block-button__link { border-radius:999px; background:#4d5a53; color:white; padding:12px 28px; }
.trust-strip { padding:35px 24px !important; }
.trust-strip .three-grid { margin-top:0; }
.trust-item { text-align:center; color:white; border-right:1px solid rgba(255,255,255,.25); }
.trust-item:last-child { border-right:0; }
.trust-item h2 { font-size:2.15rem; color:#e3b984; margin:0; }
.trust-item p { margin:0; }
.about-section > .wp-block-group { max-width:900px; }
.about-note { border-left:3px solid #9a5f1f; padding:14px 24px; background:#fbfaf6; }
.about-section .wp-block-button__link { background:#4d5a53; color:white; border-radius:999px; }
.resource-card { min-height:190px; }
.faq-row { border-top:1px solid #e2ded3; padding:20px 0; }
.faq-row:last-child { border-bottom:1px solid #e2ded3; }
.faq-row h3 { font-size:1.1rem; margin-bottom:5px; }
.faq-row p { margin-top:0; }
.contact-section { background:#f1eee6 !important; color:#1f4d3f; }
.contact-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.95fr); gap:clamp(36px,6vw,88px); align-items:start; }
.contact-intro { padding-top:14px; }
.contact-section h2 { color:#2c6652; }
.contact-section .eyebrow { color:#9a5f1f; }
.contact-intro .section-lead { color:#4d5a53; line-height:1.9; }
.contact-intro .wp-block-buttons { margin-top:25px; }
.contact-points { border-top:1px solid #e3b984; padding:22px 0 0; margin-top:32px; list-style:none; }
.contact-points li { display:flex; align-items:center; gap:12px; margin:12px 0; }
.contact-points li::before { content:'✓'; display:grid; place-items:center; width:27px; height:27px; flex:none; border-radius:50%; background:#e2ded3; color:#9a5f1f; }
.contact-card { background:#fff; border:1px solid #e2ded3; border-radius:18px; padding:clamp(24px,3vw,36px) !important; box-shadow:0 15px 35px rgba(30,42,38,.07); }
.contact-detail { display:grid; grid-template-columns:82px minmax(0,1fr); gap:12px; margin:0 0 18px; line-height:1.65; }
.contact-detail strong { color:#9a5f1f; letter-spacing:.13em; }
.contact-detail a { color:#1f4d3f; text-decoration:underline; overflow-wrap:anywhere; }
.contact-icon { display:inline-block; width:1.1em; color:#9a5f1f; font-size:1.05em; letter-spacing:0; }
.contact-map { position:relative; height:225px; margin-top:20px; border-radius:12px; overflow:hidden; background:#e2ded3; }
.contact-map iframe { display:block; width:100%; height:100%; border:0; }
.contact-map-link { display:inline-block; margin-top:12px; color:#2c6652; font-size:.91rem; font-weight:700; }
.contact-card .footer-social { margin-top:18px; }
.contact-card .footer-social .wp-social-link { background:#4d5a53; }
.site-footer { color:#fff; }
.footer-inner { padding:28px 0; align-items:flex-start; gap:28px; }
.footer-contact { max-width:420px; }
.footer-address { margin:0 0 12px; font-size:.9rem; }
.footer-social { display:flex; gap:10px; margin:0; }
.footer-social .wp-social-link { display:grid; place-items:center; width:36px; height:36px; border-radius:50%; background:#9a5f1f; color:#fff; text-decoration:none; font-weight:700; }
.footer-social .wp-social-link a:hover { transform:translateY(-2px); }
.site-footer a { color:#fff; }
.wp-block-button__link { transition:transform .2s,box-shadow .2s; }
.wp-block-button__link:hover { transform:translateY(-2px); }
.inner-page { min-height:48vh; padding-top:65px !important; padding-bottom:105px !important; }
@media(max-width:1050px) { .four-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .site-header .wp-block-navigation { font-size:.82rem; } }
@media(max-width:800px) { .site-header .wp-block-site-title { max-width:100%; font-size:.96rem !important; } }
@media(max-width:700px) { .header-inner { min-height:66px; } .brand-mark { width:42px; height:42px; flex-basis:42px; } .brand-primary { font-size:.9rem; } .brand-secondary { font-size:.62rem; letter-spacing:.04em; } .hero { min-height:570px; padding-top:70px !important; background-image:linear-gradient(rgba(14,28,39,.69),rgba(14,28,39,.69)),url('assets/images/building-exterior.webp'); background-position:center,40% center; } .hero-bottom { margin-top:45px; } .two-grid,.three-grid,.four-grid,.contact-layout { grid-template-columns:1fr; } .contact-layout { gap:28px; } .trust-strip .three-grid { gap:0; } .trust-item { border-right:0; border-bottom:1px solid rgba(255,255,255,.2); padding:14px 0; } .trust-item:last-child { border-bottom:0; } .section-pad { padding:66px 20px !important; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .wp-block-button__link { transition:none; } }

/* 工商登記專頁 */
.setup-page { margin:0; }
.setup-page .setup-container { max-width:1180px; margin-inline:auto; }
.setup-hero,.setup-section { padding:clamp(68px,7vw,105px) 24px !important; }
.setup-hero { background:linear-gradient(120deg,#fbfaf6,#e2ded3); }
.setup-kicker,.setup-section .eyebrow { color:#9a5f1f; font-size:.78rem; letter-spacing:.18em; font-weight:700; }
.setup-hero h1 { color:#1f4d3f; font:700 clamp(2.25rem,4vw,3.85rem)/1.35 'Noto Serif TC',serif; max-width:800px; margin:18px 0; }
.setup-hero-lead { color:#4d5a53; max-width:730px; font-size:1.11rem; line-height:1.95; }
.setup-actions { display:flex; align-items:center; gap:25px; flex-wrap:wrap; margin-top:32px; }
.setup-button { display:inline-block; padding:12px 27px; background:#4d5a53; color:#fff !important; text-decoration:none; border-radius:999px; font-weight:700; }
.setup-quiet-link { color:#4d5a53; text-decoration:underline; font-weight:700; }
.setup-section h2 { color:#1f4d3f; font:700 clamp(1.9rem,3vw,2.6rem)/1.4 'Noto Serif TC',serif; margin:10px 0 18px; }
.setup-lead { color:#4d5a53; max-width:760px; margin-bottom:30px; }
.setup-soft { background:#f1eee6; }
.setup-four,.setup-three { display:grid; gap:19px; margin-top:30px; }
.setup-four { grid-template-columns:repeat(4,minmax(0,1fr)); }
.setup-three { grid-template-columns:repeat(3,minmax(0,1fr)); }
:is(.setup-four,.setup-three) > .wp-block-group { margin:0 !important; width:100%; max-width:none !important; min-width:0; }
.setup-card { background:#fbfaf6; border:1px solid #e2ded3; border-radius:17px; padding:28px !important; box-shadow:0 10px 28px rgba(30,42,38,.04); }
.setup-card h3 { color:#1f4d3f; font-size:1.17rem; margin:0 0 12px; }
.setup-card p { color:#4d5a53; margin:0; font-size:.94rem; line-height:1.8; }
.setup-accordion { border:1px solid #e2ded3; border-radius:15px; margin:13px 0; overflow:hidden; background:#fbfaf6; }
.setup-accordion summary { display:flex; justify-content:space-between; align-items:center; cursor:pointer; padding:18px 22px; font-weight:700; color:#1f4d3f; list-style:none; }
.setup-accordion summary::-webkit-details-marker { display:none; }
.setup-accordion summary span { color:#9a5f1f; font-size:1.3rem; }
.setup-accordion[open] summary span { transform:rotate(45deg); }
.setup-accordion ol { padding:8px 22px 22px; margin:0; list-style:none; border-top:1px solid #e2ded3; }
.setup-accordion li { display:flex; gap:13px; padding:11px 0; border-bottom:1px solid #f1eee6; }
.setup-accordion li:last-child { border:0; }
.setup-number { display:grid; place-items:center; flex:none; width:25px; height:25px; border-radius:50%; background:#e2ded3; color:#4d5a53; font-weight:700; font-size:.75rem; }
.setup-end { background:#1f4d3f; text-align:center; }
.setup-end .setup-container { max-width:790px; }
.setup-end h2,.setup-end .setup-lead { color:#fff; margin-inline:auto; }
.setup-end .setup-actions { justify-content:center; }
.setup-small { color:#e2ded3; font-size:.82rem; margin-top:24px; }
@media(max-width:900px) { .setup-four { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:700px) { .setup-three,.setup-four { grid-template-columns:1fr; } .setup-hero,.setup-section { padding:62px 20px !important; } .setup-card { padding:23px !important; } }

/* 記帳報稅獨立頁面，延續首頁暖咖色 */
.book-page { margin:0; }
.book-page .book-container { max-width:1180px; margin-inline:auto; }
.book-hero,.book-section { padding:clamp(68px,7vw,105px) 24px !important; }
.book-hero { background:linear-gradient(120deg,#fbfaf6,#f1eee6 58%,#e2ded3); }
.book-kicker,.book-section .eyebrow { color:#9a5f1f; font-weight:700; font-size:.78rem; letter-spacing:.18em; }
.book-hero h1 { max-width:850px; color:#1f4d3f; font:700 clamp(2.3rem,4vw,3.7rem)/1.35 'Noto Serif TC',serif; margin:18px 0; }
.book-lead { max-width:800px; color:#4d5a53; line-height:1.95; font-size:1.08rem; }
.book-actions { display:flex; flex-wrap:wrap; align-items:center; gap:18px; margin-top:32px; }
.book-button { display:inline-block; background:#4d5a53; color:#fff !important; text-decoration:none; border-radius:999px; padding:13px 26px; font-weight:700; }
.book-link { color:#4d5a53; font-weight:700; }
.book-section h2 { color:#1f4d3f; font:700 clamp(1.9rem,3vw,2.6rem)/1.4 'Noto Serif TC',serif; margin:8px 0 20px; }
.book-soft { background:#f1eee6; }
.book-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:38px; }
.book-grid > .wp-block-group { margin:0 !important; min-width:0; max-width:none !important; width:100%; }
.book-card { background:#fffdfa; border:1px solid #e2ded3; border-radius:18px; padding:32px !important; box-shadow:0 12px 30px rgba(30,42,38,.05); }
.book-card h3 { margin:0 0 10px; font-size:1.28rem; color:#1f4d3f; }
.book-card p { color:#4d5a53; }
.book-price { color:#4d5a53 !important; font:700 clamp(2rem,3vw,2.6rem)/1.3 'Noto Serif TC',serif; margin:0 0 12px; }
.book-price span { font-size:1rem; font-weight:400; }
.book-note { color:#4d5a53; font-size:.92rem; line-height:1.85; }
.book-list { padding-left:1.35em; line-height:2.05; color:#1f4d3f; }
.book-list li { margin-bottom:10px; padding-left:4px; }
.book-service { max-width:850px; }
.book-highlight { background:#fbfaf6; border-left:4px solid #9a5f1f; padding:20px 25px; }
.book-end { background:#1f4d3f; text-align:center; }
.book-end .book-container { max-width:780px; }
.book-end h2,.book-end .book-lead { color:#fff; margin-inline:auto; }
.book-end .book-actions { justify-content:center; }
.book-end .eyebrow { color:#e3b984; }
@media(max-width:720px) { .book-grid { grid-template-columns:1fr; } .book-hero,.book-section { padding:66px 20px !important; } .book-card { padding:24px !important; } }

/* 財稅知識文章列表與單篇文章 */
.knowledge-page { background:#fbfaf6; }
.knowledge-container { max-width:1180px; margin-inline:auto !important; }
.knowledge-hero { padding:92px 24px 78px; background:linear-gradient(135deg,#f1eee6 0%,#e2ded3 100%); border-bottom:1px solid #e2ded3; }
.knowledge-kicker { margin:0 0 12px; color:#9a5f1f; font-size:.78rem; font-weight:800; letter-spacing:.18em; }
.knowledge-hero h1 { margin:0; color:#1f4d3f; font-family:'Noto Serif TC',serif; font-size:clamp(2.5rem,6vw,4.8rem); font-weight:500; }
.knowledge-lead { max-width:690px; margin:20px 0 0; color:#4d5a53; font-size:1.08rem; }
.knowledge-section { padding:78px 24px 96px; }
.knowledge-grid { gap:28px !important; }
.knowledge-card { overflow:hidden; padding:0 0 28px; background:#fff; border:1px solid #e2ded3; border-radius:4px; box-shadow:0 14px 34px rgba(30,42,38,.07); }
.knowledge-image { margin:0 0 22px !important; overflow:hidden; background:#e2ded3; }
.knowledge-image img { width:100%; transition:transform .35s ease; }
.knowledge-card:hover .knowledge-image img { transform:scale(1.025); }
.knowledge-date,.knowledge-title,.knowledge-excerpt { margin-left:24px !important; margin-right:24px !important; }
.knowledge-date { margin-bottom:8px !important; color:#5d6862; font-size:.74rem; font-weight:700; letter-spacing:.1em; }
.knowledge-title { margin-top:0 !important; margin-bottom:12px !important; font-family:'Noto Serif TC',serif; font-size:1.3rem; line-height:1.45; }
.knowledge-title a,.knowledge-excerpt a { text-decoration:none; }
.knowledge-excerpt { color:#4d5a53; font-size:.92rem; }
.knowledge-excerpt .wp-block-post-excerpt__more-link { display:inline-block; margin-top:14px; color:#4d5a53; font-weight:800; }
.knowledge-pagination { margin-top:52px; gap:14px; }
.knowledge-pagination a { text-decoration:none; }
.knowledge-empty { padding:44px; background:#f1eee6; text-align:center; }
.article-single { max-width:1000px !important; width:100%; margin-inline:auto !important; padding:84px 24px 96px; }
.article-header { width:100%; max-width:none !important; margin-bottom:34px; }
.article-header > * { width:100%; max-width:none !important; margin-left:0 !important; margin-right:0 !important; }
.article-category { color:#9a5f1f; font-size:.8rem; font-weight:800; letter-spacing:.08em; }
.article-category a { text-decoration:none; }
.article-title { margin:12px 0 14px; font-family:'Noto Serif TC',serif; font-size:clamp(2.1rem,5vw,3.6rem); font-weight:500; line-height:1.3; }
.article-date { color:#5d6862; font-size:.82rem; }
.article-featured { width:100%; max-width:none !important; margin:0 0 44px !important; overflow:hidden; border-radius:4px; }
.article-content { width:100%; max-width:none !important; color:#1f4d3f; font-size:1.08rem; line-height:2.05; letter-spacing:.055em; }
.article-content > * { max-width:none !important; width:100%; margin-left:0 !important; margin-right:0 !important; }
.article-content p { margin-top:0; margin-bottom:1.35em; }
.article-content h2 { margin-top:2.2em; color:#9a5f1f; }
.article-content h3 { margin-top:1.8em; color:#9a5f1f; }
.article-content img { border-radius:4px; }
.article-divider { width:100%; max-width:none !important; margin:62px 0 28px !important; }
.article-back { width:100%; max-width:none !important; margin-left:0 !important; margin-right:0 !important; }
.article-back a { color:#4d5a53; font-weight:800; text-decoration:none; }
@media(max-width:900px) { .knowledge-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; } }
@media(max-width:620px) { .knowledge-hero { padding:68px 20px 56px; } .knowledge-section { padding:56px 20px 72px; } .knowledge-grid { grid-template-columns:1fr !important; } .article-single { padding:58px 20px 72px; } .article-content { font-size:1rem; line-height:1.9; letter-spacing:.025em; } }

/* 實用工具列表 */
.tools-page { background:#fbfaf6; }
.tools-container { max-width:1080px !important; margin-inline:auto !important; }
.tools-hero { padding:90px 24px 72px !important; background:linear-gradient(135deg,#fbfaf6 0%,#e2ded3 100%); border-bottom:1px solid #e2ded3; }
.tools-hero h1 { margin:10px 0 18px; color:#1f4d3f; font-family:'Noto Serif TC',serif; font-size:clamp(2.55rem,5vw,4.4rem); line-height:1.2; }
.tools-lead { max-width:680px; color:#4d5a53; font-size:1.08rem; line-height:1.9; }
.tools-section { min-height:460px; padding:70px 24px 92px !important; }
.tools-grid { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin:0 !important; }
.tool-card { max-width:none; padding:34px !important; background:#fff; border:1px solid #e2ded3; border-top:4px solid #9a5f1f; border-radius:16px; box-shadow:0 16px 38px rgba(30,42,38,.08); }
.tool-card-tag { margin:0 0 10px !important; color:#9a5f1f; font-size:.76rem; font-weight:800; letter-spacing:.12em; }
.tool-card h2 { margin:0 0 14px; color:#1f4d3f; font-size:1.55rem; }
.tool-card p { color:#5f6469; line-height:1.8; }
.tool-card .tool-data-date { margin-top:20px; color:#4d5a53; font-size:.8rem; font-weight:700; }
.tool-card-button { margin-top:22px; }
.tool-card-button .wp-block-button__link { padding:12px 24px; border-radius:999px; background:#1f4d3f; color:#fff; }

/* 跨年度費用分攤計算機 */
.allocation-page { --allocation-navy:#1f4d3f; --allocation-gold:#9a5f1f; --allocation-ink:#1f4d3f; --allocation-muted:#4d5a53; --allocation-line:#e2ded3; margin:0; background:#f1eee6; color:var(--allocation-ink); }
.allocation-shell { width:min(1180px,calc(100% - 44px)); margin:0 auto; padding:28px 0 85px; }
.allocation-back { margin:0 0 29px; font-size:.78rem; }
.allocation-back a { color:#4d5a53; font-weight:750; text-decoration:none; }
.allocation-title-row { display:flex; justify-content:space-between; align-items:flex-end; gap:32px; padding:12px 0 31px; border-bottom:1px solid #e2ded3; }
.allocation-kicker { margin:0 0 9px; color:var(--allocation-gold); font-size:.7rem; font-weight:850; letter-spacing:.22em; }
.allocation-title-row h1 { margin:0; color:var(--allocation-navy); font-family:'Noto Serif TC',serif; font-size:clamp(2.15rem,4vw,3.65rem); line-height:1.17; }
.allocation-title-row > div > p:last-child { max-width:760px; margin:14px 0 0; color:var(--allocation-muted); font-size:.9rem; line-height:1.8; }
.allocation-badge { flex:none; margin-bottom:6px; padding:8px 14px; border:1px solid #d6d1c4; border-radius:999px; background:#f1eee6; color:#1f4d3f; font-size:.72rem; font-weight:800; }
.allocation-main-grid { display:grid; grid-template-columns:minmax(350px,.8fr) minmax(0,1.2fr); gap:22px; align-items:stretch; margin-top:27px; }
.allocation-form-card,.allocation-result-card { min-width:0; padding:28px; border:1px solid var(--allocation-line); border-radius:17px; background:#fff; box-shadow:0 10px 24px rgba(30,42,38,.055); }
.allocation-card-heading { margin-bottom:22px; padding-bottom:17px; border-bottom:1px solid #e2ded3; }
.allocation-card-heading h2 { margin:0; color:#1f4d3f; font:700 1.22rem/1.35 'Noto Serif TC',serif; }
.allocation-card-heading p { margin:7px 0 0; color:var(--allocation-muted); font-size:.74rem; }
.allocation-field { display:block; margin:0 0 18px; }
.allocation-field > span,.allocation-mode-switch legend { display:block; margin-bottom:7px; color:#1f4d3f; font-size:.78rem; font-weight:800; }
.allocation-field input,.allocation-field select { width:100%; min-height:48px; padding:0 13px; border:1px solid #d6d1c4; border-radius:10px; background:#fff; color:#1f4d3f; font:inherit; }
.allocation-field input:focus,.allocation-field select:focus { outline:3px solid rgba(16,47,78,.10); border-color:#2c6652; }
.allocation-mode-switch { display:grid; grid-template-columns:1fr 1fr; gap:0; margin:0 0 18px; padding:0; border:0; }
.allocation-mode-switch legend { grid-column:1/-1; }
.allocation-mode-switch label { cursor:pointer; }
.allocation-mode-switch input { position:absolute; opacity:0; pointer-events:none; }
.allocation-mode-switch span { display:flex; min-height:73px; flex-direction:column; justify-content:center; padding:11px 13px; border:1px solid var(--allocation-navy); color:var(--allocation-navy); }
.allocation-mode-switch label:first-of-type span { border-radius:9px 0 0 9px; }
.allocation-mode-switch label:last-of-type span { margin-left:-1px; border-radius:0 9px 9px 0; }
.allocation-mode-switch strong { font-size:.78rem; }
.allocation-mode-switch small { margin-top:4px; color:#5d6862; font-size:.64rem; line-height:1.45; }
.allocation-mode-switch input:checked + span { position:relative; z-index:1; background:var(--allocation-navy); color:#fff; }
.allocation-mode-switch input:checked + span small { color:#eef3ef; }
.allocation-check { display:flex; align-items:flex-start; gap:11px; margin:0 0 18px; padding:14px; border:1px solid #e2ded3; border-radius:10px; background:#fbfaf6; cursor:pointer; }
.allocation-check input { width:18px; height:18px; margin-top:2px; accent-color:var(--allocation-navy); }
.allocation-check span,.allocation-check strong,.allocation-check small { display:block; }
.allocation-check strong { color:#1f4d3f; font-size:.77rem; }
.allocation-check small { margin-top:3px; color:var(--allocation-muted); font-size:.65rem; line-height:1.45; }
.allocation-date-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.allocation-quick-section { margin:3px 0 18px; padding-top:17px; border-top:1px solid #e2ded3; }
.allocation-quick-section > p { margin:0 0 10px; color:#4d5a53; font-size:.72rem; font-weight:750; }
.allocation-quick-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.allocation-quick-grid button,.allocation-clear { min-height:40px; border:1px solid #d6d1c4; border-radius:9px; background:#fff; color:#1f4d3f; font-family:inherit; font-size:.72rem; font-weight:700; cursor:pointer; }
.allocation-primary { width:100%; min-height:52px; border:0; border-radius:10px; background:var(--allocation-navy); color:#fff; font-family:inherit; font-size:.87rem; font-weight:800; letter-spacing:.12em; cursor:pointer; box-shadow:0 8px 19px rgba(16,47,78,.15); }
.allocation-clear { width:100%; margin-top:9px; border-color:#d6d1c4; color:#9a5f1f; }
.allocation-error { margin:12px 0 0; padding:10px 12px; border-radius:8px; background:#fdf0ef; color:#8b3934; font-size:.72rem; }
.allocation-empty { display:grid; min-height:320px; place-content:center; padding:25px; border:1px dashed #e2ded3; border-radius:12px; text-align:center; }
.allocation-empty p { margin:0 0 6px; color:#1f4d3f; font-size:.85rem; font-weight:800; }
.allocation-empty small { color:var(--allocation-muted); font-size:.7rem; }
.allocation-summary-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.allocation-summary-grid > div { padding:15px 12px; border:1px solid #e2ded3; border-top:3px solid var(--allocation-gold); border-radius:10px; background:#fbfaf6; text-align:center; }
.allocation-summary-grid > div:nth-child(2) { border-top-color:#2a8d72; }
.allocation-summary-grid > div:nth-child(3) { border-top-color:#9a5f1f; }
.allocation-summary-grid span,.allocation-summary-grid strong { display:block; }
.allocation-summary-grid span { color:var(--allocation-muted); font-size:.68rem; }
.allocation-summary-grid strong { margin-top:5px; color:var(--allocation-navy); font:700 1.05rem/1.3 'Noto Serif TC',serif; }
.allocation-table-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:15px; margin:23px 0 12px; }
.allocation-table-heading h3 { margin:0; color:#1f4d3f; font-size:.9rem; }
.allocation-table-heading p { margin:4px 0 0; color:var(--allocation-muted); font-size:.65rem; }
.allocation-actions { display:flex; gap:7px; }
.allocation-actions button { min-height:38px; padding:0 12px; border:1px solid #d6d1c4; border-radius:8px; background:#fff; color:var(--allocation-navy); font-family:inherit; font-size:.67rem; font-weight:800; cursor:pointer; }
.allocation-actions button:first-child { border-color:var(--allocation-navy); background:var(--allocation-navy); color:#fff; }
.allocation-table-wrap { overflow-x:auto; border:1px solid #e2ded3; border-radius:11px; }
.allocation-table-wrap table { width:100%; min-width:640px; border-collapse:collapse; font-size:.7rem; }
.allocation-table-wrap th,.allocation-table-wrap td { padding:12px 10px; border-bottom:1px solid #e2ded3; text-align:left; vertical-align:middle; }
.allocation-table-wrap thead th { background:#f1eee6; color:#4d5a53; white-space:nowrap; }
.allocation-table-wrap tbody tr:last-child td { border-bottom:1px solid #e2ded3; }
.allocation-table-wrap td:nth-child(n+3),.allocation-table-wrap th:nth-child(n+3) { text-align:right; white-space:nowrap; }
.allocation-table-wrap td strong { color:#2a806a; }
.allocation-table-wrap td small { display:block; margin-top:3px; color:#5d6862; font-size:.59rem; white-space:nowrap; }
.allocation-table-wrap tfoot th { background:#fbfaf6; color:#1f4d3f; }
.allocation-result-note { margin:14px 0 0; padding:11px 13px; border-left:3px solid #2a8d72; border-radius:4px 8px 8px 4px; background:#f2f7f3; color:#53665e; font-size:.68rem; }
.allocation-help { margin-top:22px; padding:27px; border:1px solid var(--allocation-line); border-radius:17px; background:#fff; }
.allocation-help > h2 { margin:0 0 18px; color:#1f4d3f; font:700 1.1rem/1.4 'Noto Serif TC',serif; }
.allocation-help-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.allocation-help article { padding:18px; border-radius:10px; background:#fbfaf6; }
.allocation-help h3 { margin:0 0 7px; color:#9a5f1f; font-size:.79rem; }
.allocation-help article p { margin:0; color:#4d5a53; font-size:.7rem; line-height:1.75; }
.allocation-disclaimer { margin:18px 0 0; color:#5d6862; font-size:.67rem; }

@media(max-width:900px) {
  .tools-grid { grid-template-columns:1fr; }
  .allocation-main-grid { grid-template-columns:1fr; }
  .allocation-help-grid { grid-template-columns:1fr; }
}
@media(max-width:560px) {
  .allocation-shell { width:min(100% - 22px,1180px); padding-top:20px; }
  .allocation-title-row { display:block; }
  .allocation-badge { display:inline-block; margin-top:14px; }
  .allocation-title-row h1 { font-size:2rem; }
  .allocation-form-card,.allocation-result-card,.allocation-help { padding:20px; }
  .allocation-mode-switch,.allocation-date-grid,.allocation-summary-grid { grid-template-columns:1fr; gap:8px; }
  .allocation-mode-switch label:first-of-type span,.allocation-mode-switch label:last-of-type span { margin:0; border-radius:9px; }
  .allocation-table-heading { display:block; }
  .allocation-actions { margin-top:10px; }
  .allocation-actions button { flex:1; }
}

/* 境外電商扣繳計算機 */
.cbec-page {
  --cbec-navy:#1f4d3f;
  --cbec-navy-2:#1f4d3f;
  --cbec-gold:#9a5f1f;
  --cbec-ink:#1f4d3f;
  --cbec-muted:#4d5a53;
  --cbec-line:#e2ded3;
  --cbec-paper:#fffdfa;
  --cbec-soft:#f1eee6;
  --cbec-danger:#9a3f3b;
  --cbec-danger-soft:#fbfaf6;
  --cbec-ok:#176b4d;
  color:var(--cbec-ink);
  background:#f1eee6;
}
.cbec-shell { width:min(1090px,calc(100% - 38px)); margin:auto; padding:28px 0 82px; }
.cbec-back { margin:0 0 25px; font-size:.82rem; }
.cbec-back a { color:#4d5a53; font-weight:750; text-decoration:none; }
.cbec-back a:hover { color:var(--cbec-navy); }

.cbec-title-row { display:flex; justify-content:space-between; gap:30px; align-items:flex-start; padding:0 0 31px; }
.cbec-title-row > div { max-width:780px; }
.cbec-tool-kicker { margin:0 0 13px; color:var(--cbec-gold); font-size:.69rem; font-weight:850; letter-spacing:.21em; }
.cbec-title-row h1 { margin:0; color:var(--cbec-navy); font-family:'Noto Serif TC',serif; font-size:clamp(2.2rem,4.3vw,3.35rem); font-weight:700; line-height:1.18; letter-spacing:.015em; }
.cbec-lead { margin:13px 0 0; color:var(--cbec-muted); font-size:.94rem; line-height:1.75; }
.cbec-version { flex:0 0 auto; margin:5px 0 0; padding:7px 12px; border-radius:999px; background:var(--cbec-navy); color:#fff; font-size:.72rem; font-weight:800; white-space:nowrap; }
.cbec-version span { color:#c8873a; }

.cbec-helper-bar { margin:0 0 38px; overflow:hidden; border:1px solid var(--cbec-line); border-radius:16px; background:rgba(255,253,250,.9); box-shadow:0 5px 16px rgba(30,42,38,.04); }
.cbec-helper-bar summary { display:flex; justify-content:space-between; align-items:center; gap:22px; min-height:70px; padding:0 28px; cursor:pointer; list-style:none; }
.cbec-helper-bar summary::-webkit-details-marker { display:none; }
.cbec-helper-bar summary strong { color:#1f4d3f; font-family:'Noto Serif TC',serif; font-size:.98rem; }
.cbec-helper-bar summary span { color:#4d5a53; font-size:.78rem; font-weight:800; }
.cbec-helper-content { padding:0 28px 21px; border-top:1px solid #e2ded3; }
.cbec-helper-content p { margin:18px 0 0; color:var(--cbec-muted); font-size:.84rem; line-height:1.8; }

.cbec-main-grid { display:grid; grid-template-columns:minmax(0,58fr) minmax(360px,42fr); gap:22px; align-items:stretch; }
.cbec-form-card,.cbec-result-card-shell { border:1px solid var(--cbec-line); border-radius:17px; background:var(--cbec-paper); box-shadow:0 10px 24px rgba(30,42,38,.055); }
.cbec-form-card { padding:28px 29px 30px; }
.cbec-result-card-shell { position:sticky; top:18px; padding:28px; }
.cbec-card-heading { margin-bottom:22px; }
.cbec-card-heading h2 { margin:0; color:#1f4d3f; font-family:'Noto Serif TC',serif; font-size:1.25rem; line-height:1.3; }
.cbec-card-heading p { margin:7px 0 0; color:var(--cbec-muted); font-size:.75rem; line-height:1.55; }

.cbec-rule-alert { margin:0 0 22px; padding:14px 16px; border:1px solid #e2ded3; border-left:5px solid var(--cbec-danger); border-radius:10px; background:var(--cbec-danger-soft); }
.cbec-rule-alert strong { color:#8e3431; font-size:.82rem; }
.cbec-rule-alert p { margin:5px 0 0; color:#78504d; font-size:.75rem; line-height:1.65; }

.cbec-mode-switch { display:grid; grid-template-columns:1fr 1fr; gap:0; margin:0 0 23px; padding:0; border:0; }
.cbec-mode-switch legend { margin:0 0 9px; color:#1f4d3f; font-size:.82rem; font-weight:800; }
.cbec-mode-switch label { position:relative; display:block; cursor:pointer; }
.cbec-mode-switch input { position:absolute; opacity:0; pointer-events:none; }
.cbec-mode-switch span { display:flex; min-height:57px; flex-direction:column; align-items:center; justify-content:center; padding:8px 10px; border:1px solid var(--cbec-navy); color:var(--cbec-navy); font-size:.81rem; line-height:1.35; text-align:center; }
.cbec-mode-switch label:first-of-type span { border-radius:10px 0 0 10px; }
.cbec-mode-switch label:last-of-type span { margin-left:-1px; border-radius:0 10px 10px 0; }
.cbec-mode-switch input:checked + span { position:relative; z-index:1; background:var(--cbec-navy); color:#fff; }
.cbec-mode-switch strong { font-size:.9rem; }
.cbec-mode-switch small { display:block; margin-top:2px; color:inherit; font-size:.68rem; opacity:.76; }

.cbec-field { display:flex; flex-direction:column; gap:7px; margin:0 0 18px; }
.cbec-field > span:first-child { color:#1f4d3f; font-size:.82rem; font-weight:800; }
.cbec-field small,.cbec-search-note,.cbec-page .help { color:var(--cbec-muted); font-size:.7rem; line-height:1.55; }
.cbec-page input,.cbec-page select { width:100%; height:47px; padding:0 13px; border:1px solid #d6d1c4; border-radius:9px; outline:none; background:#fff; color:var(--cbec-ink); font:inherit; font-size:.88rem; transition:border-color .15s,box-shadow .15s; }
.cbec-page input:focus,.cbec-page select:focus { border-color:#5b8a77; box-shadow:0 0 0 3px rgba(30,42,38,.08); }
.cbec-page input::placeholder { color:#c8873a; }
.cbec-primary,.cbec-page .secondary,.cbec-page .ghost { min-height:46px; padding:11px 16px; border:0; border-radius:9px; font:inherit; font-weight:850; cursor:pointer; }
.cbec-primary { width:100%; margin-top:3px; background:var(--cbec-navy); color:#fff; letter-spacing:.16em; box-shadow:0 7px 16px rgba(30,42,38,.16); }
.cbec-primary:hover { background:var(--cbec-navy-2); }
.cbec-page .secondary { background:var(--cbec-navy); color:#fff; }
.cbec-page .ghost { border:1px solid #d6d1c4; background:#fff; color:var(--cbec-navy); }

.cbec-result-card { min-height:315px; }
.cbec-result-empty { display:flex; min-height:315px; flex-direction:column; align-items:center; justify-content:center; padding:35px 28px; border:1px dashed #e2ded3; border-radius:12px; color:var(--cbec-muted); text-align:center; }
.cbec-result-empty::before { content:'—'; display:block; margin-bottom:13px; color:#c8873a; font-family:Georgia,serif; font-size:2.2rem; line-height:1; }
.cbec-result-empty p { margin:0 0 6px; color:#1f4d3f; font-size:.88rem; font-weight:800; }
.cbec-result-empty small { max-width:260px; font-size:.72rem; line-height:1.65; }
.cbec-result-footnote { margin-top:21px; padding-top:17px; border-top:1px solid #e2ded3; }
.cbec-result-footnote strong { color:#1f4d3f; font-size:.8rem; }
.cbec-result-footnote p { margin:5px 0 0; color:var(--cbec-muted); font-size:.7rem; line-height:1.65; }
.cbec-page .hidden { display:none; }
.cbec-page .result-head { display:block; padding-bottom:15px; border-bottom:1px solid #e2ded3; }
.cbec-page .result-head h2 { margin:8px 0 3px; color:var(--cbec-navy); font-size:1.08rem; line-height:1.45; }
.cbec-page .status { display:inline-flex; padding:5px 8px; border-radius:999px; font-size:.65rem; font-weight:850; }
.cbec-page .status.ok { background:#e8f4ee; color:var(--cbec-ok); }
.cbec-page .status.warn { background:#f1eee6; color:#9a5f1f; }
.cbec-page .status.danger { background:#f1eee6; color:#963d38; }
.cbec-page .caseid { display:block; margin-top:8px; color:var(--cbec-muted); font-size:.66rem; font-variant-numeric:tabular-nums; }
.cbec-page .metrics { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin:17px 0; }
.cbec-page .metric { min-height:79px; padding:12px; border:1px solid #e2ded3; border-radius:10px; background:#fbfaf6; }
.cbec-page .metric:first-child { border-color:#c8873a; background:#f1eee6; }
.cbec-page .metric span { display:block; color:var(--cbec-muted); font-size:.67rem; }
.cbec-page .metric strong { display:block; margin-top:6px; color:var(--cbec-navy); font-family:'Noto Serif TC',serif; font-size:1.05rem; line-height:1.25; }
.cbec-page .metric:last-child:nth-child(odd) { grid-column:1 / -1; }
.cbec-page .result-table { display:grid; grid-template-columns:minmax(112px,.8fr) 1.2fr; overflow:hidden; border:1px solid #e2ded3; border-radius:10px; }
.cbec-page .result-table div { padding:9px 10px; border-bottom:1px solid #e2ded3; font-size:.72rem; line-height:1.45; }
.cbec-page .result-table div:nth-last-child(-n+2) { border-bottom:0; }
.cbec-page .result-table .k { background:#f1eee6; color:var(--cbec-muted); }
.cbec-page .result-table .v { background:#fff; color:#1f4d3f; font-weight:750; }
.cbec-page .alert { margin:14px 0 0; padding:11px 12px; border-radius:9px; font-size:.71rem; line-height:1.6; }
.cbec-page .alert.info { background:#eef3ef; color:#1f4d3f; }
.cbec-page .alert.warn { background:#f1eee6; color:#1f4d3f; }
.cbec-page .alert.danger { background:#fdf0ef; color:#873b3b; }
.cbec-page .vat-box { margin-top:14px; padding:12px; border-left:3px solid var(--cbec-gold); border-radius:4px 9px 9px 4px; background:#f1eee6; }
.cbec-page .vat-box strong { display:block; margin-bottom:4px; color:#1f4d3f; font-size:.76rem; }
.cbec-page .vat-box p { margin:0; color:#4d5a53; font-size:.69rem; line-height:1.6; }
.cbec-page .actions { display:flex; gap:8px; margin-top:14px; }
.cbec-page .actions button { flex:1; min-width:0; min-height:42px; font-size:.73rem; }

.cbec-use-note { margin-top:23px; padding:20px 23px; border:1px solid #e2ded3; border-radius:14px; background:#f1eee6; }
.cbec-use-note h2 { margin:0 0 7px; color:#1f4d3f; font-size:.92rem; }
.cbec-use-note p { margin:0; color:#4d5a53; font-size:.76rem; line-height:1.7; }
.cbec-links-section { margin-top:31px; }
.cbec-links-section > h2 { margin:0 0 14px; color:#1f4d3f; font-family:'Noto Serif TC',serif; font-size:1.12rem; }
.cbec-link-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.cbec-link-grid a { position:relative; display:flex; min-height:86px; flex-direction:column; justify-content:center; padding:15px 42px 15px 17px; border:1px solid var(--cbec-line); border-radius:12px; background:var(--cbec-paper); color:var(--cbec-navy); text-decoration:none; }
.cbec-link-grid a:hover { border-color:#c8873a; background:#fff; }
.cbec-link-grid strong { font-size:.82rem; }
.cbec-link-grid span { margin-top:4px; color:var(--cbec-muted); font-size:.69rem; }
.cbec-link-grid b { position:absolute; right:16px; color:var(--cbec-gold); font-size:1rem; }

@media(max-width:820px) {
  .cbec-shell { width:min(100% - 22px,1090px); padding:22px 0 65px; }
  .cbec-title-row { display:block; padding-bottom:23px; }
  .cbec-version { display:inline-block; margin-top:15px; }
  .cbec-helper-bar { margin-bottom:22px; }
  .cbec-helper-bar summary { min-height:61px; padding:0 18px; }
  .cbec-helper-content { padding:0 18px 18px; }
  .cbec-main-grid { grid-template-columns:1fr; }
  .cbec-form-card,.cbec-result-card-shell { padding:20px; }
  .cbec-result-card-shell { position:static; }
  .cbec-link-grid { grid-template-columns:1fr; }
}
@media(max-width:520px) {
  .cbec-title-row h1 { font-size:2.03rem; }
  .cbec-lead { font-size:.86rem; }
  .cbec-helper-bar summary span { font-size:.7rem; }
  .cbec-mode-switch { grid-template-columns:1fr; gap:8px; }
  .cbec-mode-switch label:first-of-type span,.cbec-mode-switch label:last-of-type span { margin:0; border:1px solid var(--cbec-navy); border-radius:9px; }
  .cbec-page .metrics { grid-template-columns:1fr 1fr; }
  .cbec-page .result-table { grid-template-columns:1fr; }
  .cbec-page .result-table div { border-bottom:0; }
  .cbec-page .result-table .k { padding-bottom:4px; }
  .cbec-page .result-table .v { padding-top:4px; border-bottom:1px solid #e2ded3; }
  .cbec-page .result-table div:last-child { border-bottom:0; }
  .cbec-page .actions { flex-direction:column; }
}

/* 電子發票平台授權教學 */
.einvoice-guide-page {
  --einvoice-navy:#1f4d3f;
  --einvoice-navy-2:#1f4d3f;
  --einvoice-blue:#2c6652;
  --einvoice-gold:#9a5f1f;
  --einvoice-ink:#1f4d3f;
  --einvoice-muted:#2c6652;
  min-height:70vh;
  padding:34px 20px 60px;
  background:#eef3ef;
  color:var(--einvoice-ink);
}
.einvoice-guide-shell { width:min(1040px,100%); margin:0 auto; }
.einvoice-guide-actions { display:flex; align-items:center; justify-content:space-between; gap:18px; margin:0 0 18px; }
.einvoice-guide-back { color:#4d5a53; font-size:.82rem; font-weight:750; text-decoration:none; }
.einvoice-platform-link,.einvoice-button-link { display:inline-flex; align-items:center; justify-content:center; padding:10px 18px; border-radius:8px; background:var(--einvoice-navy); color:#fff; font-size:.88rem; font-weight:750; text-decoration:none; transition:background .2s,transform .2s; }
.einvoice-platform-link:hover,.einvoice-button-link:hover { background:var(--einvoice-navy-2); color:#fff; transform:translateY(-1px); }
.einvoice-article-card { padding:44px 54px 54px; border:1px solid #eef3ef; border-radius:5px; background:#fff; box-shadow:0 10px 30px rgba(29,48,74,.06); }
.einvoice-category { margin-bottom:12px; color:var(--einvoice-blue); font-size:.76rem; font-weight:750; letter-spacing:.08em; }
.einvoice-article-card h1 { margin:0 0 12px; color:#1f4d3f; font-size:clamp(2rem,4vw,2.45rem); font-weight:800; line-height:1.35; }
.einvoice-meta { margin:0 0 28px; color:var(--einvoice-muted); font-size:.82rem; }
.einvoice-lead { margin:0; padding:5px 0 5px 18px; border-left:4px solid var(--einvoice-gold); color:#1f4d3f; font-size:1.05rem; line-height:1.9; }
.einvoice-guide-section { margin-top:34px; padding-top:10px; }
.einvoice-guide-section h2 { margin:0 0 16px; padding-bottom:9px; border-bottom:2px solid #eef3ef; color:var(--einvoice-navy); font-size:1.5rem; line-height:1.4; }
.einvoice-guide-section ol { padding-left:1.5em; }
.einvoice-guide-section li { margin:.45em 0; }
.einvoice-tax-id { color:#b02c2c; font-size:1.08em; letter-spacing:.04em; }
.einvoice-notice,.einvoice-success-box { margin:18px 0; padding:16px 18px; border-radius:8px; }
.einvoice-notice { border:1px solid #d6d1c4; background:#f1eee6; }
.einvoice-success-box { border:1px solid #cde5d2; background:#eff8f1; }
.einvoice-success-box p { margin:.4em 0 0; }
.einvoice-muted { color:var(--einvoice-muted); }
.einvoice-shot-card { position:relative; overflow:hidden; margin:20px 0 30px; border:1px solid #d6e2db; border-radius:6px; background:#fff; box-shadow:0 4px 16px rgba(28,47,70,.08); cursor:zoom-in; }
.einvoice-shot-card:focus-visible { outline:4px solid rgba(36,93,153,.28); outline-offset:3px; }
.einvoice-shot-card img { display:block; width:100%; max-width:none; height:auto; margin:0; background:#eef3ef; }
.einvoice-shot-card figcaption { padding:11px 14px; border-top:1px solid #eef3ef; background:#eef3ef; color:#2c6652; font-size:.82rem; cursor:default; }
.einvoice-disclaimer { margin:42px 0 0; padding-top:20px; border-top:1px solid #eef3ef; color:var(--einvoice-muted); font-size:.78rem; }
body.einvoice-lightbox-open { overflow:hidden; }
.einvoice-lightbox { position:fixed; inset:0; z-index:9999; display:none; overflow:auto; padding:34px 20px; background:rgba(7,16,28,.92); }
.einvoice-lightbox.open { display:block; }
.einvoice-lightbox-stage { width:min(1300px,100%); margin:auto; }
.einvoice-lightbox-title { margin:0 45px 12px 0; color:#fff; font-size:1rem; font-weight:750; }
.einvoice-lightbox-image-wrap { position:relative; background:#fff; box-shadow:0 20px 60px rgba(0,0,0,.45); }
.einvoice-lightbox-image-wrap .einvoice-shot-card { margin:0; border:0; border-radius:0; box-shadow:none; cursor:default; }
.einvoice-lightbox-close { position:fixed; top:12px; right:18px; padding:0; border:0; background:transparent; color:#fff; font-size:44px; line-height:1; cursor:pointer; }

@media(max-width:760px) {
  .einvoice-guide-page { padding:18px 10px 40px; }
  .einvoice-guide-actions { align-items:flex-start; }
  .einvoice-platform-link { padding:9px 12px; font-size:.76rem; }
  .einvoice-article-card { padding:28px 18px 35px; }
  .einvoice-article-card h1 { font-size:1.7rem; }
  .einvoice-lead { font-size:1rem; }
  .einvoice-guide-section h2 { font-size:1.34rem; }
  .einvoice-shot-card { margin-right:-8px; margin-left:-8px; border-radius:3px; }
}

/* B2B 電子發票開立教學 */
.b2b-guide-page { --b2b-navy:#1f4d3f; --b2b-blue:#2c6652; --b2b-gold:#9a5f1f; --b2b-ink:#1f4d3f; --b2b-muted:#6f6a64; --b2b-line:#e2ded3; min-height:70vh; padding:28px 20px 72px; background:#f1eee6; color:var(--b2b-ink); }
.b2b-guide-shell { width:min(1120px,100%); margin:0 auto; }
.b2b-guide-actions { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0 0 18px; }
.b2b-guide-actions a { color:#4d5a53; font-size:.8rem; font-weight:800; text-decoration:none; }
.b2b-guide-actions .b2b-guide-platform,.b2b-guide-button { display:inline-flex; align-items:center; justify-content:center; padding:11px 18px; border:1px solid var(--b2b-navy); border-radius:999px; background:var(--b2b-navy); color:#fff; font-size:.8rem; font-weight:800; text-decoration:none; }
.b2b-guide-button.is-outline { background:#fff; color:var(--b2b-navy); }
.b2b-guide-hero { padding:clamp(34px,5vw,62px); border-radius:20px; background:linear-gradient(128deg,#1f4d3f 0%,#1f4d3f 63%,#2c6652 100%); color:#fff; box-shadow:0 18px 46px rgba(16,47,78,.16); }
.b2b-guide-kicker { margin:0 0 10px; color:#c8873a; font-size:.72rem; font-weight:850; letter-spacing:.18em; }
.b2b-guide-hero h1 { margin:0; color:#fff; font:800 clamp(2.05rem,4.4vw,3.75rem)/1.22 'Noto Serif TC',serif; letter-spacing:.035em; }
.b2b-guide-hero > p:not(.b2b-guide-kicker) { max-width:790px; margin:17px 0 0; color:#eef3ef; font-size:1.02rem; line-height:1.85; }
.b2b-guide-starts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:28px; }
.b2b-guide-starts button { min-height:50px; padding:9px 12px; border:1px solid rgba(255,255,255,.42); border-radius:10px; background:rgba(255,255,255,.08); color:#fff; font-family:inherit; font-size:.75rem; font-weight:750; cursor:pointer; }
.b2b-guide-starts button:hover,.b2b-guide-starts button:focus-visible { background:#fff; color:var(--b2b-navy); }
.b2b-guide-progress { position:sticky; top:12px; z-index:8; margin:20px 0; padding:20px 24px; border:1px solid var(--b2b-line); border-radius:15px; background:rgba(255,255,255,.96); box-shadow:0 11px 30px rgba(30,43,56,.10); backdrop-filter:blur(8px); }
.b2b-guide-progress-head { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.b2b-guide-progress-head p,.b2b-guide-progress-head strong { display:block; margin:0; }
.b2b-guide-progress-head p { color:var(--b2b-gold); font-size:.66rem; font-weight:850; letter-spacing:.12em; }
.b2b-guide-progress-head strong { margin-top:3px; color:var(--b2b-navy); font-size:.88rem; }
.b2b-guide-progress-head button { padding:6px 10px; border:1px solid #e2ded3; border-radius:7px; background:#fff; color:#5d6862; font-family:inherit; font-size:.66rem; cursor:pointer; }
.b2b-guide-progress-bar { height:5px; overflow:hidden; margin:13px 0 14px; border-radius:99px; background:#e2ded3; }
.b2b-guide-progress-bar span { display:block; width:0; height:100%; border-radius:99px; background:linear-gradient(90deg,var(--b2b-gold),#c8873a); transition:width .25s ease; }
.b2b-guide-progress ol { display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); gap:6px; margin:0; padding:0; list-style:none; }
.b2b-guide-progress a { display:block; overflow:hidden; color:#5f625f; font-size:.64rem; font-weight:750; text-align:center; text-decoration:none; text-overflow:ellipsis; white-space:nowrap; }
.b2b-guide-article { padding:clamp(26px,4vw,52px); border:1px solid #e2ded3; border-radius:18px; background:#fff; box-shadow:0 12px 34px rgba(43,49,55,.055); }
.b2b-guide-section { scroll-margin-top:170px; padding:44px 0; border-bottom:1px solid #e2ded3; }
.b2b-guide-section:first-child { padding-top:8px; }
.b2b-guide-section-title { display:flex; align-items:center; gap:16px; margin-bottom:20px; }
.b2b-guide-section-title > span { display:grid; width:48px; height:48px; flex:none; place-items:center; border-radius:50%; background:#eef3ef; color:var(--b2b-blue); font:800 1rem/1 Georgia,serif; }
.b2b-guide-section-title p,.b2b-guide-section-title h2 { margin:0; }
.b2b-guide-section-title p { color:var(--b2b-gold); font-size:.68rem; font-weight:850; letter-spacing:.14em; }
.b2b-guide-section-title h2 { margin-top:3px; color:var(--b2b-navy); font:800 clamp(1.45rem,2.7vw,2rem)/1.35 'Noto Serif TC',serif; }
.b2b-guide-section > p { color:#53514e; line-height:1.9; }
.b2b-guide-notice,.b2b-guide-warning,.b2b-guide-success { margin:18px 0; padding:16px 18px; border-radius:10px; line-height:1.75; }
.b2b-guide-notice { border:1px solid #e2ded3; background:#fbfaf6; }
.b2b-guide-warning { border-left:4px solid #9a5f1f; background:#fbfaf6; color:#4d5a53; }
.b2b-guide-success { border:1px solid #bdddcf; background:#eff8f4; color:#305f4d; }
.b2b-guide-success p { margin:.35em 0 0; }
.b2b-guide-flow { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:10px; margin:22px 0; padding:18px; border:1px solid #e2ded3; border-radius:11px; background:#fbfaf6; }
.b2b-guide-flow span { padding:8px 12px; border-radius:8px; background:#fff; color:var(--b2b-navy); font-size:.76rem; font-weight:800; box-shadow:0 3px 10px rgba(20,40,60,.06); }
.b2b-guide-flow b { color:var(--b2b-gold); }
.b2b-guide-shot-grid { display:grid; grid-template-columns:1fr; gap:24px; margin-top:24px; }
.b2b-guide-shot-grid.is-two { grid-template-columns:1fr; }
.b2b-guide-shot { display:flex; min-width:0; flex-direction:column; overflow:hidden; margin:0; border:1px solid #d6e2db; border-radius:11px; background:#fff; box-shadow:0 8px 22px rgba(24,47,69,.08); cursor:zoom-in; }
.b2b-guide-shot:focus-visible { outline:4px solid rgba(30,88,136,.25); outline-offset:3px; }
.b2b-guide-shot img { display:block; width:100%; height:auto; object-fit:contain; background:#fff; }
.b2b-guide-shot figcaption { flex:1; padding:13px 14px; border-top:1px solid #d6e2db; color:#2c6652; font-size:.74rem; line-height:1.65; }
.b2b-guide-shot figcaption b { display:inline-grid; width:24px; height:24px; margin-right:5px; place-items:center; border-radius:50%; background:var(--b2b-navy); color:#fff; font-size:.68rem; }
.b2b-guide-complete { display:flex; align-items:center; gap:10px; margin-top:23px; padding:14px 16px; border:1px solid #e2ded3; border-radius:10px; background:#fbfaf6; color:#1f4d3f; font-size:.82rem; font-weight:800; cursor:pointer; }
.b2b-guide-complete input { width:20px; height:20px; flex:none; accent-color:#2d8067; }
.b2b-guide-help { display:flex; align-items:center; justify-content:space-between; gap:28px; margin-top:42px; padding:28px; border-radius:14px; background:#1f4d3f; color:#fff; }
.b2b-guide-help p,.b2b-guide-help h2 { margin:0; }
.b2b-guide-help > div > p:first-child { color:#c8873a; font-size:.69rem; font-weight:850; letter-spacing:.15em; }
.b2b-guide-help h2 { margin:6px 0 8px; color:#fff; font-size:1.35rem; }
.b2b-guide-help > div > p:last-child { color:#eef3ef; font-size:.8rem; }
.b2b-guide-help a { flex:none; padding:11px 18px; border-radius:999px; background:#fff; color:var(--b2b-navy); font-size:.78rem; font-weight:850; text-decoration:none; }
.b2b-guide-disclaimer { margin:26px 0 0; color:#7b756e; font-size:.7rem; line-height:1.7; }
body.b2b-guide-lightbox-open { overflow:hidden; }
.b2b-guide-lightbox { position:fixed; inset:0; z-index:9999; display:none; overflow:auto; padding:34px 20px; background:rgba(5,15,25,.94); }
.b2b-guide-lightbox.is-open { display:block; }
.b2b-guide-lightbox-stage { width:min(1400px,100%); margin:auto; }
.b2b-guide-lightbox-stage > p { margin:0 52px 12px 0; color:#fff; font-weight:750; }
.b2b-guide-lightbox-stage [data-guide-lightbox-image] { background:#fff; box-shadow:0 20px 60px rgba(0,0,0,.5); }
.b2b-guide-lightbox-stage img { display:block; width:100%; height:auto; }
.b2b-guide-lightbox-close { position:fixed; top:10px; right:18px; border:0; background:transparent; color:#fff; font-size:44px; line-height:1; cursor:pointer; }

@media (max-width: 782px) {
  .b2b-guide-page { padding:14px 9px 45px; }
  .b2b-guide-actions { align-items:flex-start; }
  .b2b-guide-actions .b2b-guide-platform { padding:8px 11px; font-size:.68rem; }
  .b2b-guide-hero { padding:28px 20px; border-radius:12px; }
  .b2b-guide-starts { grid-template-columns:1fr 1fr; }
  .b2b-guide-progress { position:relative; top:auto; padding:17px 15px; }
  .b2b-guide-progress ol { grid-template-columns:repeat(4,1fr); gap:10px 5px; }
  .b2b-guide-article { padding:22px 16px; border-radius:12px; }
  .b2b-guide-section { scroll-margin-top:20px; padding:36px 0; }
  .b2b-guide-shot-grid,.b2b-guide-shot-grid.is-two { grid-template-columns:1fr; }
  .b2b-guide-shot img { height:auto; max-height:none; }
  .b2b-guide-help { align-items:flex-start; flex-direction:column; }
}
@media print {
  .site-header,.site-footer,.cbec-back,.cbec-helper-bar,.cbec-form-card,.cbec-links-section,.cbec-use-note,.cbec-result-footnote,.cbec-page .actions,.allocation-back,.allocation-form-card,.allocation-help,.allocation-actions,.einvoice-guide-actions,.einvoice-lightbox,.b2b-guide-actions,.b2b-guide-progress,.b2b-guide-lightbox { display:none !important; }
  .cbec-page { background:#fff; }
  .cbec-shell { width:100%; max-width:none; padding:0; }
  .cbec-title-row { padding:0 0 18px; }
  .cbec-main-grid { display:block; }
  .cbec-result-card-shell { border:0; box-shadow:none; padding:0; }
  .cbec-result-card-shell > .cbec-card-heading { display:none; }
  .allocation-page { background:#fff; }
  .allocation-shell { width:100%; max-width:none; padding:0; }
  .allocation-title-row { padding:0 0 18px; }
  .allocation-main-grid { display:block; }
  .allocation-result-card { border:0; box-shadow:none; padding:0; }
  .einvoice-guide-page { padding:0; background:#fff; }
  .einvoice-article-card { padding:0; border:0; box-shadow:none; }
  .b2b-guide-page { padding:0; background:#fff; }
  .b2b-guide-hero { color:#000; background:#fff; box-shadow:none; }
  .b2b-guide-hero h1,.b2b-guide-hero > p:not(.b2b-guide-kicker) { color:#000; }
  .b2b-guide-article { padding:0; border:0; box-shadow:none; }
}

/* Labor fee calculator */
.labor-page [hidden] { display:none !important; }
.labor-page { background:#fbfaf6; color:#1f4d3f; min-height:75vh; padding:26px 20px 80px; }
.labor-shell { width:min(100%,1120px); margin:auto; }
.labor-back { margin:0 0 20px; font-size:.88rem; }
.labor-back a { color:#2c6652; }
.labor-header { padding:0 0 25px; border-bottom:1px solid #e2ded3; margin-bottom:26px; }
.labor-eyebrow { margin:0 0 7px; font-size:.7rem; font-weight:800; letter-spacing:.13em; color:#9a5f1f; }
.labor-header h1 { margin:0; font-family:'Noto Serif TC',serif; font-size:clamp(2rem,4vw,2.8rem); color:#1f4d3f; }
.labor-header > p:last-child { max-width:850px; margin:10px 0 0; color:#2c6652; font-size:.96rem; }
.labor-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; align-items:start; }
.labor-card { background:#fff; border:1px solid #e2ded3; border-radius:16px; padding:27px; box-shadow:0 8px 26px #253b4a0a; }
.labor-card h2,.labor-explain h2 { margin:0; font-size:1.22rem; color:#1f4d3f; }
.labor-intro { font-size:.78rem; color:#2c6652; margin:5px 0 20px; }
.labor-mode { display:grid; grid-template-columns:1fr 1fr; border:0; padding:0; margin:0 0 18px; gap:8px; }
.labor-mode legend { font-size:.8rem; font-weight:700; margin-bottom:7px; }
.labor-mode label { display:flex; align-items:center; gap:8px; border:1px solid #d6d1c4; border-radius:9px; padding:10px 12px; font-size:.8rem; cursor:pointer; }
.labor-mode label:has(input:checked) { border-color:#1f4d3f; background:#eef3ef; }
.labor-mode input,.labor-check input { accent-color:#1f4d3f; }
.labor-field { display:grid; gap:7px; margin:15px 0; }
.labor-field span { font-size:.83rem; font-weight:750; }
.labor-field input,.labor-field select { width:100%; min-height:45px; padding:9px 12px; border:1px solid #d6d1c4; border-radius:8px; background:#fff; color:#1f4d3f; font:inherit; font-size:.91rem; }
.labor-field input:focus,.labor-field select:focus { outline:2px solid #5b8a77; outline-offset:1px; }
.labor-context { background:#eef3ef; border-left:3px solid #2c6652; margin:2px 0 13px; padding:10px 12px; color:#2c6652; font-size:.76rem; line-height:1.6; }
.labor-check { display:flex; gap:9px; align-items:flex-start; padding:12px; border:1px solid #e2ded3; border-radius:9px; font-size:.76rem; line-height:1.6; cursor:pointer; }
.labor-check input { margin-top:5px; flex:none; }
.labor-document-fields { border:1px solid #e2ded3; border-radius:9px; margin-top:15px; padding:9px 12px; }
.labor-document-fields summary { cursor:pointer; font-size:.8rem; font-weight:700; }
.labor-document-fields > p { font-size:.72rem; color:#2c6652; margin:2px 0 5px; }
.labor-document-grid { display:grid; grid-template-columns:1fr 1fr; column-gap:12px; }
.labor-document-grid .labor-field { margin:8px 0; }
.labor-submit,#labor-print,#labor-word { border:0; border-radius:8px; background:#1f4d3f; color:#fff; min-height:45px; padding:9px 22px; font:inherit; font-weight:700; cursor:pointer; }
.labor-submit { width:100%; margin-top:18px; }
.labor-submit:hover,#labor-print:hover,#labor-word:hover { background:#2c6652; }
.labor-error { color:#9d2626; margin:10px 0 0; font-size:.8rem; }
.labor-result-card { min-height:365px; }
.labor-empty { color:#2c6652; background:#eef3ef; border-radius:9px; padding:30px 20px; margin-top:18px; font-size:.86rem; }
.labor-result-type { font-size:.82rem; color:#2c6652; margin:12px 0; }
.labor-metrics { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.labor-metrics div { background:#fbfaf6; border:1px solid #e2ded3; border-radius:9px; padding:13px; }
.labor-metrics span { display:block; color:#2c6652; font-size:.72rem; }
.labor-metrics strong { display:block; color:#1f4d3f; font-size:1.25rem; font-variant-numeric:tabular-nums; }
.labor-metrics .labor-net { grid-column:1 / -1; background:#eef3ef; border-color:#5b8a77; }
.labor-metrics .labor-net strong { font-size:1.55rem; }
.labor-gap,.labor-result-note { color:#2c6652; font-size:.77rem; line-height:1.6; }
#labor-actions { margin-top:18px; display:flex; flex-wrap:wrap; gap:8px; }
#labor-word { background:#f1eee6; color:#1f4d3f; border:1px solid #c8873a; }
.labor-explain { background:#fff; border:1px solid #e2ded3; border-radius:15px; padding:25px; margin-top:22px; font-size:.83rem; line-height:1.75; }
.labor-explain-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.labor-explain h3 { font-size:.91rem; margin:14px 0 4px; }
.labor-explain p { margin:5px 0 10px; }
.labor-source a { color:#2c6652; }
#labor-print-sheet { display:none; }
@media(max-width:750px) { .labor-page { padding:20px 14px 55px; } .labor-grid,.labor-explain-grid,.labor-document-grid { grid-template-columns:1fr; } .labor-card { padding:20px; } }
@media(max-width:430px) { .labor-mode { grid-template-columns:1fr; } .labor-metrics strong { font-size:1.05rem; } }
@page { size:A4; margin:0; }
.labor-print-page { box-sizing:border-box; }
@media print {
  body:has(.labor-page) { margin:0 !important; background:#fff; }
  body:has(.labor-page) .wp-site-blocks { overflow:visible; }
  body:has(.labor-page) .wp-site-blocks > :not(.labor-page) { display:none !important; }
  .labor-page { display:block !important; padding:0 !important; margin:0 !important; background:white !important; color:#111 !important; }
  .labor-shell { max-width:none !important; width:100% !important; margin:0 !important; }
  .labor-back,.labor-header,.labor-grid,.labor-explain,.site-header,.site-footer { display:none !important; }
  #labor-print-sheet { display:block !important; font-family:'Noto Sans TC','Microsoft JhengHei',sans-serif; color:#111; }
  .labor-print-page { width:210mm; height:297mm; padding:17mm 15mm 15mm; page-break-after:always; break-after:page; overflow:hidden; font-size:9pt; line-height:1.45; }
  .labor-print-page:last-child { page-break-after:auto; break-after:auto; }
  .labor-print-page h2 { text-align:center; font-family:'Noto Serif TC','Microsoft JhengHei',serif; color:#111; font-size:15pt; letter-spacing:.18em; border-bottom:1px solid #111; padding:0 0 5mm; margin:0 0 6mm; }
  .labor-print-options { font-size:9pt; margin:0 0 3mm; }
  .labor-print-small { font-size:8pt; margin:0 0 5mm; }
  .labor-print-table { width:100%; border-collapse:collapse; table-layout:fixed; font-size:8.5pt; color:#111; margin:0 0 6mm; }
  .labor-print-table td,.labor-print-table th { border:1px solid #111; padding:3mm 2mm; vertical-align:middle; word-break:break-word; }
  .labor-print-table th { font-weight:700; text-align:center; }
  #labor-print-page-1 .labor-print-table th:nth-child(1),#labor-print-page-1 .labor-print-table th:nth-child(3) { width:18%; }
  #labor-print-page-1 .labor-print-table td:nth-child(2),#labor-print-page-1 .labor-print-table td:nth-child(4) { width:32%; }
  .labor-print-table .labor-print-band th { letter-spacing:.2em; background:#f4f4f4; padding:2mm; }
  .labor-print-table .labor-print-sign td { height:15mm; }
  .labor-print-emphasis { font-weight:800; font-size:10pt; }
  .labor-print-declare { margin:7mm 0 4mm; }
  .labor-print-signature { margin:5mm 0; }
  .labor-print-foot { color:#333; font-size:7pt; margin-top:9mm; }
  .labor-rules-table th:nth-child(1) { width:10%; }
  .labor-rules-table th:nth-child(2) { width:20%; }
  .labor-rules-table th:nth-child(3) { width:33%; }
  .labor-rules-table td { padding:4mm 2mm; line-height:1.5; }
  .labor-print-page h3 { font-size:10pt; margin:9mm 0 2mm; border-bottom:1px solid #111; padding-bottom:2mm; }
  #labor-print-page-2 > p:not(.labor-print-small) { margin:5mm 0; }
}

/* =========================================================
   v4.1 A 森林墨綠：墨綠 #1F4D3F＋米白 #F6F4EE＋琥珀橘 #C8873A
   標題思源宋體、內文思源黑體；首頁、頁首、頁尾重做，內頁沿用並換色
   ========================================================= */
:root {
  --a-green:#1f4d3f; --a-green-2:#2c6652; --a-ink:#1e2a26; --a-text:#2b3530; --a-muted:#4d5a53;
  --a-sand:#f6f4ee; --a-sand-2:#ece8dd; --a-line:#e2ded3; --a-amber:#c8873a; --a-amber-text:#9a5f1f;
  --a-serif:'Noto Serif TC','PMingLiU',serif; --a-sans:'Noto Sans TC',-apple-system,BlinkMacSystemFont,'PingFang TC','Microsoft JhengHei',sans-serif;
}
body { background:var(--a-sand); color:var(--a-text); font-family:var(--a-sans); -webkit-font-smoothing:antialiased; }
.wp-site-blocks > * { margin-block-start:0 !important; }

/* 頁首 */
header.wp-block-template-part { position:sticky; top:0; z-index:100; }
.admin-bar header.wp-block-template-part { top:32px; }
@media (max-width:782px){ .admin-bar header.wp-block-template-part { top:0; } }
.site-header { background:rgba(246,244,238,.96) !important; backdrop-filter:saturate(1.2) blur(8px); border-bottom:1px solid var(--a-line) !important; padding:0 24px !important; }
.header-inner { min-height:78px !important; gap:20px !important; justify-content:space-between !important; }
.site-brand { gap:12px !important; align-items:center; }
.brand-mark { display:none !important; }
.brand-seal { margin:0 !important; flex:0 0 42px; }
.brand-seal a { display:grid; place-items:center; width:42px; height:42px; border-radius:9px; background:var(--a-green); color:var(--a-sand) !important; font-family:var(--a-serif); font-weight:900; font-size:23px; text-decoration:none; line-height:1; }
.brand-text { display:flex; flex-direction:column; gap:0; }
.brand-text > * { margin:0 !important; }
.site-header .wp-block-site-title { font-family:var(--a-serif) !important; font-size:1.2rem !important; font-weight:700 !important; letter-spacing:.06em; color:var(--a-ink) !important; line-height:1.3 !important; white-space:nowrap; }
.brand-en { font-size:.68rem; letter-spacing:.22em; color:#6b746e; line-height:1.4; }
.header-nav-wrap { gap:26px !important; align-items:center; }
.site-header .wp-block-navigation { flex-basis:auto !important; gap:clamp(14px,1.8vw,30px) !important; font-size:.95rem !important; font-weight:500 !important; color:var(--a-text); }
.site-header .wp-block-navigation a { text-decoration:none; padding:4px 0; border-bottom:2px solid transparent; }
.site-header .wp-block-navigation a:hover { color:var(--a-green) !important; border-bottom-color:var(--a-amber); }
.header-cta { margin:0 !important; }
.header-cta .wp-block-button__link { background:var(--a-green) !important; color:var(--a-sand) !important; border-radius:999px !important; padding:11px 22px !important; font-size:.94rem; white-space:nowrap; }
.header-cta .wp-block-button__link:hover { background:var(--a-green-2) !important; }
.wp-block-navigation__responsive-container.is-menu-open { background:var(--a-sand) !important; padding:28px 24px !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap:18px !important; font-size:1.1rem; }

/* 首頁共用 */
.home-main { margin:0 !important; }
.home-main > * { margin:0 !important; }
.a-wrap { max-width:1200px; margin:0 auto !important; padding:0 24px; box-sizing:border-box; width:100%; }
.a-wrap > * { margin-top:0; }
.home-main h1, .home-main h2, .home-main h3 { font-family:var(--a-serif); color:var(--a-ink); }
.a-section { padding:clamp(80px,9vw,112px) 0 !important; }
.a-sand { background:var(--a-sand-2) !important; }
.a-eyebrow { margin:0 0 6px !important; font-size:.8rem; letter-spacing:.24em; font-weight:700; color:var(--a-amber-text); }
.a-section h2 { margin:0 !important; font-size:clamp(1.9rem,3.2vw,2.5rem); font-weight:700; line-height:1.4; }
.a-head { margin-bottom:48px !important; }
.a-head-row { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; flex-wrap:wrap; }
.a-head-row > * { margin:0 !important; }
.a-head-note { max-width:440px; color:var(--a-muted); margin:0 !important; }
.a-head-note a { color:var(--a-green); font-weight:700; white-space:nowrap; }
.a-head-center { text-align:center; }
.a-head-center .a-head-note { margin:10px auto 0 !important; max-width:620px; }
.a-split { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:clamp(36px,6vw,72px); align-items:center; }
.a-split > * { margin:0 !important; min-width:0; }
.a-grid4 { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; }
.a-grid3 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.a-grid4 > *, .a-grid3 > * { margin:0 !important; min-width:0; }

/* 按鈕 */
.home-main .wp-block-button__link { border-radius:999px !important; padding:15px 30px !important; font-weight:700; font-size:1rem; transition:background .2s, transform .2s; }
.home-main .wp-block-button:not(.is-style-outline) .wp-block-button__link { background:var(--a-green) !important; color:var(--a-sand) !important; }
.home-main .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { background:var(--a-green-2) !important; transform:translateY(-2px); }
.home-main .is-style-outline .wp-block-button__link { background:transparent !important; border:1.5px solid var(--a-green) !important; color:var(--a-green) !important; }
.home-main .is-style-outline .wp-block-button__link:hover { background:var(--a-green) !important; color:var(--a-sand) !important; }
.a-buttons { gap:14px; margin-top:10px !important; }

/* Hero */
.a-hero { padding:clamp(56px,7vw,92px) 0 clamp(72px,8vw,100px) !important; background:var(--a-sand); }
.a-hero-copy > * { margin:0 0 22px !important; }
.a-kicker { font-size:.88rem; letter-spacing:.24em; color:var(--a-amber-text); font-weight:700; }
.a-hero h1 { font-size:clamp(2.4rem,4.6vw,3.8rem) !important; font-weight:900 !important; line-height:1.3 !important; letter-spacing:.03em; }
.a-lead { font-size:1.12rem; color:var(--a-muted); max-width:520px; line-height:1.9; }
.a-hero-photo { position:relative; margin:0; }
.a-hero-photo img { display:block; width:100%; height:clamp(380px,40vw,520px); object-fit:cover; border-radius:240px 240px 16px 16px; }
.a-badge { position:absolute; left:-32px; bottom:40px; display:flex; gap:16px; align-items:center; background:#fff; border-radius:16px; padding:18px 24px; box-shadow:0 18px 40px rgba(30,42,38,.14); }
.a-badge strong { font-family:var(--a-serif); font-size:2.8rem; line-height:1; color:var(--a-green); }
.a-badge span { font-size:.88rem; line-height:1.55; color:var(--a-muted); }

/* 數據帶 */
.a-stats { background:var(--a-green) !important; color:var(--a-sand); padding:42px 0 !important; }
.a-stat { display:flex; flex-direction:column; margin:0 !important; }
.a-stat strong { font-family:var(--a-serif); font-size:1.6rem; font-weight:700; }
.a-stat span { color:#bfd0c7; font-size:.9rem; }

/* 卡片 */
.a-card { background:#fff; border:1px solid var(--a-line); border-radius:18px; padding:32px 28px !important; display:flex; flex-direction:column; transition:transform .25s, box-shadow .25s; }
.a-card:hover { transform:translateY(-4px); box-shadow:0 16px 36px rgba(30,42,38,.08); }
.a-card > * { margin:0 0 12px !important; }
.a-card h3 { font-size:1.35rem; font-weight:700; }
.a-card p { color:var(--a-muted); font-size:.96rem; line-height:1.8; }
.a-num { font-family:var(--a-serif); color:var(--a-amber-text) !important; font-weight:700; font-size:.95rem !important; }
.a-more { margin:auto 0 0 !important; padding-top:8px; }
.a-more a { color:var(--a-green); font-weight:700; text-decoration:none; }
.a-more a:hover { text-decoration:underline; }

/* 關於＋流程 */
.a-about-copy > * { margin:0 0 18px !important; }
.a-about-copy p { color:var(--a-muted); font-size:1.05rem; line-height:1.95; }
.a-about-copy h2 { font-size:clamp(2rem,3.4vw,2.75rem) !important; }
.a-steps > * { margin:0 0 14px !important; }
.a-steps-title { font-family:var(--a-serif); font-weight:700; color:var(--a-ink); font-size:1.15rem; }
.a-step { display:flex; gap:20px; align-items:flex-start; background:var(--a-sand); border-radius:16px; padding:22px 26px; }
.a-step b { font-family:var(--a-serif); font-size:1.75rem; line-height:1.2; color:var(--a-amber-text); }
.a-step span { color:var(--a-muted); font-size:.95rem; line-height:1.7; }
.a-step strong { display:block; color:var(--a-ink); font-size:1.08rem; margin-bottom:2px; }

/* 收費 */
.a-price { background:#fff; border:1px solid var(--a-line); border-radius:18px; padding:36px 32px !important; display:flex; flex-direction:column; }
.a-price > * { margin:0 0 10px !important; }
.a-price h3 { font-family:var(--a-sans) !important; font-size:1.1rem; font-weight:700; }
.a-amount { font-family:var(--a-serif); font-size:clamp(2rem,3vw,2.5rem); font-weight:900; color:var(--a-green); line-height:1.3; }
.a-amount span { font-size:1rem; font-weight:500; margin-left:4px; }
.a-price p:last-child { color:var(--a-muted); font-size:.94rem; line-height:1.8; }
.a-price.is-featured { background:var(--a-green); border-color:var(--a-green); }
.a-price.is-featured h3, .a-price.is-featured .a-amount { color:var(--a-sand); }
.a-price.is-featured p:last-child { color:#cfe0d7; }
.a-tag { align-self:flex-start; background:var(--a-amber); color:#fff; font-size:.8rem; font-weight:700; padding:3px 12px; border-radius:999px; }
.a-center-link { text-align:center; margin:34px 0 0 !important; }
.a-center-link a { color:var(--a-green); font-weight:700; margin:0 10px; }

/* FAQ */
.a-faq { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); gap:56px; align-items:start; }
.a-faq > * { margin:0 !important; }
.a-faq-head > * { margin:0 0 12px !important; }
.a-faq-head p { color:var(--a-muted); }
.a-faq-list details { background:#fff; border:1px solid var(--a-line); border-radius:14px; margin:0 0 12px; overflow:hidden; }
.a-faq-list summary { cursor:pointer; list-style:none; display:flex; justify-content:space-between; gap:16px; padding:18px 22px; font-weight:700; color:var(--a-ink); }
.a-faq-list summary::-webkit-details-marker { display:none; }
.a-faq-list summary::after { content:'＋'; color:var(--a-amber-text); flex:none; }
.a-faq-list details[open] summary::after { content:'－'; }
.a-faq-list details p { margin:0; padding:0 22px 20px; color:var(--a-muted); line-height:1.85; }

/* 聯絡 */
.a-contact { background:var(--a-ink) !important; color:var(--a-sand); padding:clamp(80px,9vw,104px) 0 !important; }
.a-contact h2 { color:var(--a-sand) !important; font-size:clamp(2rem,3.4vw,2.6rem); margin:0 !important; }
.a-contact-copy > * { margin:0 0 18px !important; }
.a-contact-copy p { color:#bfd0c7; }
.a-contact .a-eyebrow { color:var(--a-amber); }
.a-contact .is-accent .wp-block-button__link { background:var(--a-amber) !important; color:var(--a-ink) !important; }
.a-contact .is-accent .wp-block-button__link:hover { background:#d99a4f !important; }
.a-contact .is-style-outline .wp-block-button__link { border-color:var(--a-sand) !important; color:var(--a-sand) !important; }
.a-contact .is-style-outline .wp-block-button__link:hover { background:var(--a-sand) !important; color:var(--a-ink) !important; }
.a-contact-line { font-size:.95rem; line-height:2; }
.a-contact-line a { color:#dce6e0; text-decoration:none; border-bottom:1px solid rgba(220,230,224,.4); }
.a-contact-map > * { margin:0 !important; }
.a-contact .contact-map { height:320px; border-radius:16px; overflow:hidden; background:#2f3c37; }
.a-contact .contact-map iframe { display:block; width:100%; height:100%; border:0; }
.a-contact .contact-map-link { margin-top:12px !important; }
.a-contact .contact-map-link a { color:var(--a-amber); font-weight:700; font-size:.92rem; }

/* 頁尾 */
.site-footer { background:#18221f !important; color:#dce6e0 !important; padding:0 24px !important; }
.footer-inner { display:grid !important; grid-template-columns:1.4fr 1fr 1.3fr; gap:40px !important; padding:60px 0 36px !important; }
.footer-inner > * { margin:0 !important; }
.footer-logo { margin:0 0 14px !important; }
.footer-logo strong { display:block; font-family:var(--a-serif); font-size:1.25rem; letter-spacing:.08em; color:var(--a-sand); }
.footer-logo span { display:block; margin-top:2px; font-size:.7rem; letter-spacing:.22em; color:var(--a-amber); }
.footer-tagline { color:#9fb0a7; font-size:.9rem; line-height:1.9; margin:0 0 18px !important; }
.footer-heading { margin:0 0 14px !important; color:var(--a-amber); font-weight:700; letter-spacing:.12em; font-size:.92rem; }
.footer-links ul { list-style:none; margin:0; padding:0; }
.footer-links li { margin:0 0 9px; }
.footer-links a, .footer-address a { color:#dce6e0 !important; text-decoration:none; font-size:.92rem; }
.footer-links a:hover, .footer-address a:hover { color:var(--a-amber) !important; }
.footer-address { margin:0 0 10px !important; color:#8fa197; font-size:.92rem; }
.footer-social { display:flex; gap:10px; margin:0; }
.footer-social .wp-social-link { background:rgba(255,255,255,.08) !important; color:#fff !important; border-radius:50%; }
.footer-social .wp-social-link:hover { background:var(--a-green-2) !important; }
.footer-copy { margin:0 auto !important; padding:18px 0 !important; border-top:1px solid #2c3833; color:#7f8f87; font-size:.8rem; text-align:center; }

/* 浮動 LINE */
.float-line { position:fixed; right:20px; bottom:22px; z-index:90; display:flex; flex-direction:column; align-items:center; justify-content:center; width:62px; height:62px; border-radius:50%; background:#06c755; color:#fff !important; font-size:.72rem; font-weight:700; text-decoration:none; line-height:1.15; box-shadow:0 10px 24px rgba(6,199,85,.35); transition:transform .2s; }
.float-line span { font-size:.82rem; font-weight:900; }
.float-line:hover { transform:translateY(-3px); }
@media print { .float-line { display:none !important; } header.wp-block-template-part { position:static; } }

/* 內頁統一（工商登記、記帳報稅、知識、工具） */
.setup-hero, .book-hero, .knowledge-hero, .tools-hero { background:var(--a-sand-2) !important; border-bottom:0 !important; }
.setup-hero h1, .book-hero h1, .knowledge-hero h1, .tools-hero h1 { color:var(--a-ink) !important; font-family:var(--a-serif) !important; font-weight:900 !important; }
.setup-button, .book-button, .tool-card-button .wp-block-button__link { background:var(--a-green) !important; color:var(--a-sand) !important; }
.setup-soft, .book-soft { background:var(--a-sand-2) !important; }
.setup-section, .book-section:not(.book-soft):not(.book-end), .tools-page, .knowledge-page { background:var(--a-sand) !important; }
.setup-card, .book-card, .tool-card, .knowledge-card { background:#fff !important; border-color:var(--a-line) !important; border-radius:18px !important; }
.tool-card { border-top:4px solid var(--a-amber) !important; }
.setup-end, .book-end { background:var(--a-green) !important; }
.setup-end h2, .book-end h2, .setup-end .setup-lead, .book-end .book-lead { color:var(--a-sand) !important; }
.setup-end .setup-button, .book-end .book-button { background:var(--a-amber) !important; color:var(--a-ink) !important; }
.book-page > .wp-block-group, .setup-page > .wp-block-group { max-width:none !important; width:100%; margin:0 !important; }
.book-page .book-container, .setup-page .setup-container { max-width:1200px !important; width:100%; margin-left:auto !important; margin-right:auto !important; }
:is(.book-container,.setup-container) > * { max-width:none; margin-left:0 !important; margin-right:0 !important; }
:is(.book-container,.setup-container) > :is(p,h1,h2):not(.setup-actions):not(.book-actions) { max-width:820px !important; }
.book-end .book-container, .setup-end .setup-container { max-width:820px !important; text-align:center; }
.book-end .book-container > *, .setup-end .setup-container > * { margin-left:auto !important; margin-right:auto !important; }
.book-service, .book-container > .book-highlight { margin-left:0 !important; }
.labor-page, .allocation-page, .blank-page { background:var(--a-sand) !important; }

/* RWD */
@media (max-width:1180px) { .header-cta { display:none !important; } .site-header .wp-block-navigation { font-size:.9rem !important; } }
@media (max-width:960px) {
  .a-split, .a-faq { grid-template-columns:1fr; }
  .a-grid4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .a-grid3 { grid-template-columns:1fr; max-width:560px; margin-inline:auto !important; }
  .a-hero-photo { max-width:560px; }
  .a-badge { left:16px; }
  .footer-inner { grid-template-columns:1fr 1fr; }
  .footer-brand { grid-column:1/-1; }
}
@media (max-width:600px) {
  .header-inner { min-height:64px !important; }
  .site-header .wp-block-site-title { font-size:1rem !important; }
  .brand-en { display:none; }
  .a-wrap { padding:0 20px; }
  .a-hero h1 { font-size:2.2rem !important; }
  .a-hero-photo img { height:340px; border-radius:170px 170px 14px 14px; }
  .a-badge { padding:14px 18px; bottom:20px; } .a-badge strong { font-size:2.2rem; }
  .a-grid4 { grid-template-columns:1fr 1fr; gap:14px; }
  .a-stats .a-grid4 { gap:20px 14px; }
  .a-section .a-grid4 { grid-template-columns:1fr; }
  .a-card, .a-price { padding:26px 22px !important; }
  .home-main .a-buttons .wp-block-button { flex:1 1 100%; }
  .home-main .a-buttons .wp-block-button__link { display:block; text-align:center; }
  .footer-inner { grid-template-columns:1fr; gap:28px !important; }
  .float-line { width:54px; height:54px; right:14px; bottom:16px; }
}
/* A 細修 */
.a-wrap { max-width:1248px; }
.home-main p.a-eyebrow { margin:0 0 6px !important; font-size:.8rem !important; letter-spacing:.24em !important; font-weight:700 !important; color:var(--a-amber-text) !important; line-height:1.6 !important; }
.home-main .a-contact p.a-eyebrow { color:var(--a-amber) !important; }
.a-about-copy h2, .a-faq-head h2, .a-contact h2 { margin:0 0 18px !important; }
.home-main .a-contact .is-accent .wp-block-button__link { background:var(--a-amber) !important; color:var(--a-ink) !important; }
.home-main .a-contact .is-accent .wp-block-button__link:hover { background:#d99a4f !important; }
/* 長標題（含「|」）拆兩行 */
.site-header .wp-block-site-title .site-title-main { display:block; }
.site-header .wp-block-site-title .site-title-sub { display:block; font-family:var(--a-sans); font-size:.72rem; font-weight:500; letter-spacing:.16em; color:#6b746e; margin-top:1px; }
.brand-text:has(.site-title-sub) .brand-en { display:none; }
@media (max-width:600px){ .site-header .wp-block-site-title .site-title-sub { font-size:.66rem; letter-spacing:.08em; } }

/* =========================================================
   v4.2 內頁精修：與首頁同一套版型語言
   ========================================================= */
/* 容器：與頁首同寬（1200）並靠左對齊 */
.setup-page .setup-container, .book-page .book-container, .knowledge-container, .tools-container { max-width:1200px !important; width:100%; margin-left:auto !important; margin-right:auto !important; box-sizing:border-box; }
.knowledge-container > *, .tools-container > * { max-width:none !important; margin-left:0 !important; margin-right:0 !important; }
.knowledge-hero, .tools-hero, .knowledge-section, .tools-section { padding-left:24px !important; padding-right:24px !important; }
.knowledge-page > *, .tools-page > * { margin-block-start:0 !important; }

/* 內頁 Hero：米色底＋右側圓拱照片（工商登記、記帳報稅） */
.setup-hero, .book-hero, .knowledge-hero, .tools-hero { position:relative; overflow:hidden; background:var(--a-sand-2) !important; padding-top:clamp(64px,7vw,96px) !important; padding-bottom:clamp(64px,7vw,96px) !important; }
.setup-hero, .book-hero { min-height:440px; display:flex; align-items:center; }
.setup-hero::after, .book-hero::after { content:''; position:absolute; right:max(24px, calc((100% - 1200px) / 2)); bottom:0; width:clamp(280px,26vw,380px); height:calc(100% - 56px); background:url('assets/images/building-exterior.webp') center 40%/cover no-repeat; border-radius:200px 200px 0 0; }
.setup-hero .setup-container > *, .book-hero .book-container > * { max-width:min(640px, 58%) !important; }
.setup-kicker, .book-kicker, .knowledge-kicker, .tools-hero .eyebrow { font-size:.8rem !important; letter-spacing:.22em !important; font-weight:700 !important; color:var(--a-amber-text) !important; margin:0 0 14px !important; }
.setup-hero h1, .book-hero h1, .knowledge-hero h1, .tools-hero h1 { font-size:clamp(2.2rem,4vw,3.4rem) !important; line-height:1.3 !important; letter-spacing:.03em !important; margin:0 0 18px !important; }
.setup-hero-lead, .book-hero .book-lead, .knowledge-lead, .tools-lead { color:var(--a-muted) !important; font-size:1.08rem !important; line-height:1.95 !important; margin:0 !important; }
.setup-actions, .book-actions { display:flex !important; flex-wrap:wrap; align-items:center; gap:14px 22px !important; margin-top:30px !important; }
.setup-button, .book-button { display:inline-block; padding:14px 28px !important; border-radius:999px !important; font-weight:700; text-decoration:none !important; transition:background .2s, transform .2s; }
.setup-button:hover, .book-button:hover { background:var(--a-green-2) !important; transform:translateY(-2px); }
.setup-quiet-link, .book-link { color:var(--a-green) !important; font-weight:700; text-decoration:none !important; border-bottom:1.5px solid rgba(31,77,63,.35); padding-bottom:2px; }
.setup-quiet-link:hover, .book-link:hover { border-bottom-color:var(--a-green); }

/* 區塊節奏：米白／淺米交替，標題統一宋體墨色 */
.setup-section, .book-section { padding-top:clamp(72px,8vw,100px) !important; padding-bottom:clamp(72px,8vw,100px) !important; background:var(--a-sand) !important; }
.setup-section.setup-soft, .book-section.book-soft { background:var(--a-sand-2) !important; }
.book-hero + .book-section.book-soft, .setup-hero + .setup-section.setup-soft { background:var(--a-sand) !important; }
.setup-section .eyebrow, .book-section .eyebrow { font-size:.8rem !important; letter-spacing:.24em !important; font-weight:700 !important; color:var(--a-amber-text) !important; margin:0 0 6px !important; }
.setup-section h2, .book-section h2 { font-family:var(--a-serif) !important; color:var(--a-ink) !important; font-size:clamp(1.9rem,3.2vw,2.5rem) !important; font-weight:700 !important; line-height:1.4 !important; margin:0 0 14px !important; }
.setup-lead, .book-section:not(.book-hero):not(.book-end) .book-lead { color:var(--a-muted) !important; font-size:1.02rem; line-height:1.9; margin:0 0 8px !important; }
.setup-four, .setup-three, .book-grid { margin-top:36px !important; gap:22px !important; }

/* 卡片：與首頁同款（白底、圓角、編號） */
.setup-four, .setup-three { counter-reset:dtcard; }
.setup-card, .book-card { background:#fff !important; border:1px solid var(--a-line) !important; border-radius:18px !important; padding:30px 28px !important; box-shadow:none !important; transition:transform .25s, box-shadow .25s; }
.setup-card:hover, .book-card:hover { transform:translateY(-4px); box-shadow:0 16px 36px rgba(30,42,38,.08) !important; }
.setup-card::before { counter-increment:dtcard; content:counter(dtcard, decimal-leading-zero); display:block; margin-bottom:12px; font-family:var(--a-serif); font-weight:700; font-size:.95rem; color:var(--a-amber-text); }
.setup-card h3, .book-card h3 { font-family:var(--a-serif) !important; color:var(--a-ink) !important; font-size:1.3rem !important; font-weight:700 !important; margin:0 0 10px !important; }
.setup-card p, .book-card p { color:var(--a-muted) !important; font-size:.96rem !important; line-height:1.85 !important; }

/* 收費卡 */
.book-card { display:flex; flex-direction:column; }
.book-card > * { margin-top:0 !important; }
.book-price { font-family:var(--a-serif) !important; color:var(--a-green) !important; font-weight:900 !important; font-size:clamp(2rem,3vw,2.5rem) !important; line-height:1.3 !important; margin:4px 0 12px !important; }
.book-price span { font-size:1rem !important; font-weight:500 !important; color:var(--a-muted); }
.book-grid > .book-card:first-child { background:var(--a-green) !important; border-color:var(--a-green) !important; }
.book-grid > .book-card:first-child h3, .book-grid > .book-card:first-child .book-price { color:var(--a-sand) !important; }
.book-grid > .book-card:first-child .book-note { color:#cfe0d7 !important; }
.book-note { color:var(--a-muted) !important; font-size:.94rem !important; line-height:1.85 !important; }
.book-card .book-link { margin-top:auto; align-self:flex-start; }

/* 記帳服務內容：清單改成勾選卡片 */
.book-service { max-width:none !important; margin:0 !important; text-align:left !important; }
.book-service > * { margin-left:0 !important; margin-right:0 !important; max-width:none !important; }
.book-list { list-style:none !important; counter-reset:none; padding:0 !important; margin:28px 0 0 !important; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.book-list li { position:relative; margin:0 !important; padding:18px 22px 18px 58px !important; background:#fff; border:1px solid var(--a-line); border-radius:14px; color:var(--a-ink); font-weight:500; line-height:1.7; }
.book-list li::before { content:'✓'; position:absolute; left:20px; top:50%; transform:translateY(-50%); width:26px; height:26px; display:grid; place-items:center; border-radius:50%; background:var(--a-green); color:#fff; font-size:.8rem; font-weight:700; }
.book-highlight { margin-top:18px !important; background:#fff !important; border:1px dashed var(--a-amber) !important; border-left:1px dashed var(--a-amber) !important; border-radius:14px; padding:16px 22px !important; color:var(--a-ink); }

/* 手風琴（應備資料、流程、常見問題） */
.setup-accordion { background:#fff !important; border:1px solid var(--a-line) !important; border-radius:14px !important; margin:0 0 12px !important; }
.setup-accordion summary { padding:18px 22px !important; color:var(--a-ink) !important; font-weight:700; }
.setup-accordion summary span { color:var(--a-amber-text) !important; transition:transform .2s; }
.setup-accordion ol { border-top:1px solid var(--a-line) !important; padding:10px 22px 20px !important; }
.setup-accordion li { border-bottom:1px solid #efebe2 !important; color:var(--a-text); line-height:1.75; }
.setup-number { background:var(--a-green) !important; color:#fff !important; }
.setup-docs .setup-container > details:first-of-type, .setup-section details.setup-accordion:first-of-type { margin-top:28px !important; }

/* 結尾 CTA */
.setup-end, .book-end { padding-top:clamp(80px,9vw,104px) !important; padding-bottom:clamp(80px,9vw,104px) !important; }
.setup-end .eyebrow, .book-end .eyebrow { color:var(--a-amber) !important; }
.setup-end h2, .book-end h2 { color:var(--a-sand) !important; }
.setup-end .setup-lead, .book-end .book-lead { color:#cfe0d7 !important; }
.setup-small { color:#a9bfb3 !important; }

/* 財稅知識：文章卡片 */
.knowledge-section { background:var(--a-sand) !important; padding-top:72px !important; padding-bottom:96px !important; }
.knowledge-grid { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:24px !important; }
.knowledge-card { display:flex; flex-direction:column; height:100%; border:1px solid var(--a-line) !important; border-radius:18px !important; box-shadow:none !important; padding-bottom:26px !important; transition:transform .25s, box-shadow .25s; }
.knowledge-card:hover { transform:translateY(-4px); box-shadow:0 16px 36px rgba(30,42,38,.08) !important; }
.knowledge-card > * { max-width:none !important; }
.knowledge-image { border-radius:18px 18px 0 0; }
.knowledge-date { margin-top:24px !important; color:var(--a-amber-text) !important; }
.knowledge-title { font-family:var(--a-serif) !important; font-weight:700 !important; font-size:1.25rem !important; }
.knowledge-title a { color:var(--a-ink) !important; }
.knowledge-excerpt { color:var(--a-muted) !important; line-height:1.85; }
.knowledge-excerpt .wp-block-post-excerpt__more-link { color:var(--a-green) !important; }
.knowledge-empty { background:#fff !important; border:1px dashed var(--a-line); border-radius:18px; color:var(--a-muted); }

/* 單篇文章 */
.article-single { max-width:820px !important; padding-top:72px !important; }
.article-category, .article-category a { color:var(--a-amber-text) !important; letter-spacing:.14em !important; }
.article-title { font-family:var(--a-serif) !important; font-weight:700 !important; color:var(--a-ink) !important; font-size:clamp(2rem,4.2vw,3rem) !important; letter-spacing:.02em; }
.article-date { color:#7c867f !important; }
.article-content { color:var(--a-text) !important; font-size:1.06rem !important; letter-spacing:.03em !important; }
.article-content h2, .article-content h3 { font-family:var(--a-serif); color:var(--a-ink) !important; }
.article-content h2 { padding-left:14px; border-left:4px solid var(--a-amber); }
.article-content a { color:var(--a-green); }
.article-content blockquote { margin:1.6em 0; padding:16px 22px; background:var(--a-sand-2); border-radius:12px; border-left:0; }
.article-divider { border-color:var(--a-line) !important; }
.article-back a { color:var(--a-green) !important; }

/* 實用工具列表 */
.tools-section { background:var(--a-sand) !important; padding-top:64px !important; padding-bottom:96px !important; }
.tools-grid { gap:22px !important; }
.tool-card { padding:32px !important; border:1px solid var(--a-line) !important; border-top:4px solid var(--a-amber) !important; border-radius:18px !important; box-shadow:none !important; display:flex; flex-direction:column; transition:transform .25s, box-shadow .25s; }
.tool-card:hover { transform:translateY(-4px); box-shadow:0 16px 36px rgba(30,42,38,.08) !important; }
.tool-card-tag { color:var(--a-amber-text) !important; }
.tool-card h2 { font-family:var(--a-serif) !important; color:var(--a-ink) !important; font-weight:700 !important; }
.tool-card p { color:var(--a-muted) !important; }
.tool-card .tool-data-date { color:var(--a-green) !important; }
.tool-card .wp-block-buttons { margin-top:auto !important; padding-top:8px; }
.tool-card-button .wp-block-button__link { padding:12px 26px !important; }
.tool-card-button .wp-block-button__link:hover { background:var(--a-green-2) !important; }

/* 工具頁標題字體與返回連結 */
.allocation-title-row h1, .labor-page h1, .blank-heading h1, .cbec-page h1 { font-family:var(--a-serif) !important; }

/* RWD */
@media (max-width:900px) {
  .setup-hero::after, .book-hero::after { display:none; }
  .setup-hero .setup-container > *, .book-hero .book-container > * { max-width:none !important; }
  .setup-hero, .book-hero { min-height:0; }
  .knowledge-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width:640px) {
  .setup-hero, .book-hero, .knowledge-hero, .tools-hero { padding:52px 20px 48px !important; }
  .setup-section, .book-section { padding:60px 20px !important; }
  .knowledge-grid, .book-list { grid-template-columns:1fr !important; }
  .setup-card, .book-card, .tool-card { padding:24px 22px !important; }
  .setup-actions, .book-actions { gap:12px !important; }
  .setup-button, .book-button { flex:1 1 100%; text-align:center; }
}
.setup-section.setup-end, .book-section.book-end { background:var(--a-green) !important; }
.book-card p.book-price { font-size:clamp(2rem,3vw,2.5rem) !important; line-height:1.3 !important; }
.book-grid > .book-card:first-child p.book-note { color:#cfe0d7 !important; }
.book-card, .book-card > * { text-align:left !important; }
.book-card * { text-align:left !important; }
.book-card p.book-price { color:var(--a-green) !important; }
.book-grid > .book-card:first-child p.book-price { color:var(--a-sand) !important; }
.book-grid > .book-card:last-child p.book-price { font-size:clamp(1.5rem,2.2vw,1.85rem) !important; }
@media (max-width:640px){ .setup-kicker, .book-kicker { letter-spacing:.12em !important; } }
.book-card > *, .setup-card > *, .tool-card > * { max-width:none !important; margin-left:0 !important; margin-right:0 !important; }
/* 教學頁：內文改回墨色、底色統一 */
.einvoice-guide-page { --einvoice-ink:#2b3530; --einvoice-muted:#4d5a53; background:var(--a-sand) !important; }
.b2b-guide-page { --b2b-ink:#2b3530; --b2b-muted:#4d5a53; background:var(--a-sand) !important; }
.einvoice-guide-page h1, .b2b-guide-page h1, .einvoice-guide-section h2, .blank-illustrated > h2 { font-family:var(--a-serif) !important; }
.cbec-page { background:var(--a-sand) !important; }
/* 首頁細節 */
.a-stats .a-stat { padding-left:24px; border-left:1px solid rgba(246,244,238,.18); }
.a-stats .a-stat:first-child { padding-left:0; border-left:0; }
.a-hero-copy .a-buttons + * { margin-top:0 !important; }
.a-card h3 { line-height:1.4; }
@media (max-width:600px){ .a-stats .a-stat { padding-left:0; border-left:0; } }
/* 修正手機選單：backdrop-filter 會把全螢幕選單限制在頁首內 */
.site-header { backdrop-filter:none !important; -webkit-backdrop-filter:none !important; background:var(--a-sand) !important; }
.wp-block-navigation__responsive-container.is-menu-open { position:fixed !important; inset:0 !important; height:100vh; overflow-y:auto; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a { font-size:1.15rem; padding:6px 0; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top:56px !important; align-items:flex-start !important; }

/* v4.3 Hero「懂你的」強調：沿用舊版風格（金色字＋底線），改用琥珀色系 */
.a-hero h1 .emphasis-word { color:var(--a-amber); text-decoration-line:underline; text-decoration-color:var(--a-amber); text-decoration-thickness:.09em; text-underline-offset:.18em; text-decoration-skip-ink:none; }

/* =========================================================
   v4.3 工具頁、教學頁統一精修
   ========================================================= */
/* 外框：與頁首對齊 1200 寬 */
.cbec-shell, .allocation-shell, .labor-shell, .blank-shell { width:min(1200px, calc(100% - 48px)) !important; max-width:none !important; margin:0 auto !important; }
.cbec-page, .allocation-page, .labor-page, .blank-page, .einvoice-guide-page, .b2b-guide-page { background:var(--a-sand) !important; color:var(--a-text) !important; padding-left:0 !important; padding-right:0 !important; }
@media (max-width:760px){ .cbec-shell, .allocation-shell, .labor-shell, .blank-shell { width:calc(100% - 32px) !important; } }

/* 返回連結 */
.cbec-back a, .allocation-back a, .labor-back a, .blank-back a, .einvoice-guide-back, .b2b-guide-back { color:var(--a-green) !important; font-weight:700 !important; font-size:.9rem !important; text-decoration:none !important; }
.cbec-back a:hover, .allocation-back a:hover, .labor-back a:hover, .blank-back a:hover { text-decoration:underline !important; }

/* 頁首標題區 */
.cbec-tool-kicker, .allocation-kicker, .labor-eyebrow, .blank-eyebrow { color:var(--a-amber-text) !important; font-size:.8rem !important; letter-spacing:.22em !important; font-weight:700 !important; }
.cbec-title-row h1, .allocation-title-row h1, .labor-header h1, .blank-heading h1, .einvoice-guide-page h1, .b2b-guide-page h1 { font-family:var(--a-serif) !important; font-weight:700 !important; color:var(--a-ink) !important; letter-spacing:.03em; }
.b2b-guide-page h1, .b2b-guide-hero h1 { color:#fff !important; }
.cbec-lead, .allocation-title-row > div > p:last-child, .labor-header p, .blank-heading > p:last-child { color:var(--a-muted) !important; }

/* 卡片 */
.cbec-form-card, .cbec-result-card-shell, .cbec-helper-bar, .cbec-link-grid a, .allocation-form-card, .allocation-result-card, .labor-card, .blank-panel, .blank-note, .blank-illustrated-step { background:#fff !important; border:1px solid var(--a-line) !important; border-radius:18px !important; box-shadow:none !important; }
.cbec-card-heading h2, .allocation-card-heading h2, .labor-card h2, .blank-panel h2, .blank-note h2 { font-family:var(--a-serif) !important; color:var(--a-ink) !important; font-weight:700 !important; }

/* 表單欄位 */
.cbec-page input:not([type=radio]):not([type=checkbox]), .cbec-page select,
.allocation-page input:not([type=radio]):not([type=checkbox]), .allocation-page select,
.labor-page input:not([type=radio]):not([type=checkbox]), .labor-page select, .labor-page textarea,
.blank-page select { border:1px solid #d6d1c4 !important; border-radius:10px !important; background:#fff !important; color:var(--a-text) !important; }
.cbec-page input::placeholder, .allocation-page input::placeholder, .labor-page input::placeholder, .labor-page textarea::placeholder { color:#98a19b !important; }
.cbec-page input:focus, .cbec-page select:focus, .allocation-page input:focus, .allocation-page select:focus, .labor-page input:focus, .labor-page select:focus, .labor-page textarea:focus, .blank-page select:focus { outline:3px solid rgba(31,77,63,.15) !important; border-color:var(--a-green) !important; }
.cbec-page label, .labor-page label { color:var(--a-text); }
.labor-page input[type=radio], .labor-page input[type=checkbox], .cbec-page input[type=checkbox], .allocation-page input[type=checkbox] { accent-color:var(--a-green); }

/* 主要按鈕 */
.cbec-primary, .labor-page button[type=submit], .allocation-page button[type=submit], .blank-primary { background:var(--a-green) !important; color:#fff !important; border-radius:999px !important; font-weight:700 !important; transition:background .2s, transform .2s; }
.cbec-primary:hover, .labor-page button[type=submit]:hover, .allocation-page button[type=submit]:hover, .blank-primary:hover { background:var(--a-green-2) !important; transform:translateY(-1px); }

/* 教學頁 */
.einvoice-guide-shell, .b2b-guide-shell { width:min(1080px, calc(100% - 32px)) !important; }

/* v4.3 一般頁面（隱私權政策等）、404 */
.basic-page { margin:0 !important; }
.basic-page > * { margin:0 !important; }
.basic-wrap { max-width:1200px; margin:0 auto !important; padding:0 24px; box-sizing:border-box; }
.basic-wrap > * { margin-top:0; }
.basic-hero { background:var(--a-sand-2) !important; padding:clamp(56px,6vw,84px) 0 !important; }
.basic-kicker { font-size:.8rem; letter-spacing:.22em; font-weight:700; color:var(--a-amber-text); margin:0 0 12px !important; }
.basic-title { font-family:var(--a-serif) !important; font-weight:700 !important; color:var(--a-ink) !important; font-size:clamp(2rem,4vw,3rem) !important; line-height:1.3; margin:0 !important; }
.basic-lead { color:var(--a-muted); font-size:1.06rem; line-height:1.9; margin:16px 0 0 !important; max-width:640px; }
.basic-body { background:var(--a-sand) !important; padding:clamp(48px,6vw,72px) 0 clamp(72px,8vw,100px) !important; }
.basic-sheet { max-width:880px; }
.basic-content { background:#fff; border:1px solid var(--a-line); border-radius:18px; padding:clamp(28px,4vw,52px) !important; color:var(--a-text); font-size:1.04rem; line-height:2; }
.basic-content > * { max-width:none !important; margin-left:0 !important; margin-right:0 !important; }
.basic-content h2, .basic-content h3 { font-family:var(--a-serif); color:var(--a-ink); margin-top:1.8em; }
.basic-content h2 { padding-left:14px; border-left:4px solid var(--a-amber); font-size:1.5rem; }
.basic-content > :first-child { margin-top:0 !important; }
.basic-content a { color:var(--a-green); }
.notfound-hero { padding:clamp(80px,10vw,140px) 0 !important; }
.notfound-links { display:flex; flex-wrap:wrap; gap:12px; margin:28px 0 0 !important; }
.notfound-links a { display:inline-block; padding:12px 22px; border-radius:999px; border:1.5px solid var(--a-green); color:var(--a-green); font-weight:700; text-decoration:none; }
.notfound-links a:hover, .notfound-links a.nf-primary { background:var(--a-green); color:var(--a-sand); }
.basic-wrap { max-width:1248px; }
.basic-sheet { max-width:1248px; }
.basic-content { max-width:880px; }
.labor-page .labor-eyebrow, .labor-header .labor-eyebrow { color:var(--a-amber-text) !important; }

/* =========================================================
   v4.4 分頁內容元件：比較表、檢核卡、申報行事曆、合作步驟、FAQ、官方連結、工具 CTA
   ========================================================= */
.setup-container > .wp-block-html, .book-container > .wp-block-html { max-width:none !important; }
.dt-footnote { margin:16px 0 0 !important; color:#7a847e; font-size:.86rem; line-height:1.8; }
.dt-footnote a { color:var(--a-green); font-weight:700; }

/* 比較表 */
.dt-compare-wrap { margin-top:36px; overflow-x:auto; border:1px solid var(--a-line); border-radius:18px; background:#fff; }
.dt-compare { width:100%; min-width:720px; border-collapse:collapse; font-size:.95rem; line-height:1.75; }
.dt-compare th, .dt-compare td { padding:16px 20px; text-align:left; vertical-align:top; border-bottom:1px solid #efebe2; }
.dt-compare thead th { background:var(--a-green); color:var(--a-sand); font-weight:700; font-size:.95rem; }
.dt-compare thead th:first-child { border-radius:17px 0 0 0; } .dt-compare thead th:last-child { border-radius:0 17px 0 0; }
.dt-compare tbody th { width:15%; color:var(--a-ink); font-weight:700; background:#faf8f3; white-space:nowrap; }
.dt-compare td { color:var(--a-muted); }
.dt-compare tbody tr:last-child th, .dt-compare tbody tr:last-child td { border-bottom:0; }

/* 檢核卡 */
.dt-checks { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; margin-top:32px; }
.dt-check { background:#fff; border:1px solid var(--a-line); border-radius:18px; padding:28px 24px; }
.dt-check b { display:block; font-family:var(--a-serif); color:var(--a-amber-text); font-size:.95rem; margin-bottom:10px; }
.dt-check h3 { margin:0 0 8px; font-family:var(--a-serif); color:var(--a-ink); font-size:1.2rem; }
.dt-check p { margin:0; color:var(--a-muted); font-size:.94rem; line-height:1.85; }

/* FAQ（問答） */
.dt-faq { margin-top:28px; }
.dt-faq .setup-accordion { overflow:hidden; }
.dt-answer { border-top:1px solid var(--a-line); padding:16px 22px 20px; }
.dt-answer p { margin:0; color:var(--a-muted); line-height:1.9; }
.dt-answer a { color:var(--a-green); font-weight:700; }
.setup-accordion[open] summary span, .dt-faq details[open] summary span { transform:rotate(45deg); }

/* 申報行事曆 */
.dt-calendar { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:32px; }
.dt-cal { background:#fff; border:1px solid var(--a-line); border-radius:18px; padding:24px 24px 22px; position:relative; }
.dt-cal-when { display:inline-block; font-size:.82rem; font-weight:700; letter-spacing:.04em; color:var(--a-green); background:#e8efe9; padding:4px 12px; border-radius:999px; margin-bottom:12px; }
.dt-cal.is-every .dt-cal-when { color:#fff; background:var(--a-amber); }
.dt-cal h3 { margin:0 0 6px; font-family:var(--a-serif); color:var(--a-ink); font-size:1.15rem; }
.dt-cal p { margin:0; color:var(--a-muted); font-size:.93rem; line-height:1.8; }

/* 合作步驟＋準備資料 */
.dt-two { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:28px; margin-top:32px; align-items:start; }
.dt-steps { display:flex; flex-direction:column; gap:14px; }
.dt-step { display:flex; gap:18px; background:#fff; border:1px solid var(--a-line); border-radius:16px; padding:22px 24px; }
.dt-step b { flex:none; width:40px; height:40px; display:grid; place-items:center; border-radius:50%; background:var(--a-green); color:var(--a-sand); font-family:var(--a-serif); font-size:1.1rem; }
.dt-step h3 { margin:2px 0 4px; font-family:var(--a-serif); color:var(--a-ink); font-size:1.12rem; }
.dt-step p { margin:0; color:var(--a-muted); font-size:.94rem; line-height:1.8; }
.dt-prep { background:var(--a-green); color:var(--a-sand); border-radius:18px; padding:28px 28px 24px; }
.dt-prep h3 { margin:0 0 14px; font-family:var(--a-serif); font-size:1.2rem; color:var(--a-sand); }
.dt-prep ul { margin:0; padding:0; list-style:none; }
.dt-prep li { position:relative; padding:9px 0 9px 28px; border-bottom:1px solid rgba(246,244,238,.14); color:#dfe9e3; font-size:.95rem; }
.dt-prep li::before { content:'✓'; position:absolute; left:0; top:9px; color:var(--a-amber); font-weight:700; }
.dt-prep-note { margin:16px 0 0; color:#f0d2a8; font-size:.9rem; }

/* 官方連結 */
.knowledge-links { background:var(--a-sand-2) !important; padding:72px 24px 88px !important; }
.knowledge-links h2 { font-family:var(--a-serif) !important; color:var(--a-ink) !important; font-size:clamp(1.8rem,3vw,2.3rem) !important; margin:0 0 10px !important; }
.knowledge-links .knowledge-lead { margin:0 !important; }
.dt-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:28px; }
.dt-links a { display:flex; flex-direction:column; gap:4px; padding:20px 44px 20px 22px; background:#fff; border:1px solid var(--a-line); border-radius:16px; text-decoration:none; position:relative; transition:transform .2s, border-color .2s; }
.dt-links a::after { content:'↗'; position:absolute; right:20px; top:20px; color:var(--a-amber-text); font-weight:700; }
.dt-links a:hover { transform:translateY(-3px); border-color:var(--a-green); }
.dt-links b { color:var(--a-ink); font-size:1rem; }
.dt-links span { color:var(--a-muted); font-size:.88rem; }

/* 工具頁底部諮詢 */
.tools-cta { background:var(--a-sand) !important; padding:0 24px 96px !important; }
.dt-tools-cta { display:flex; justify-content:space-between; align-items:center; gap:28px; flex-wrap:wrap; background:var(--a-green); color:var(--a-sand); border-radius:24px; padding:44px 48px; }
.dt-tools-cta-kicker { margin:0 0 6px; color:var(--a-amber); font-size:.8rem; letter-spacing:.22em; font-weight:700; }
.dt-tools-cta h2 { margin:0 0 8px; font-family:var(--a-serif); color:var(--a-sand); font-size:clamp(1.6rem,2.6vw,2rem); }
.dt-tools-cta p { margin:0; color:#cfe0d7; max-width:620px; }
.dt-btn-amber { display:inline-block; background:var(--a-amber); color:var(--a-ink) !important; text-decoration:none; font-weight:700; padding:15px 30px; border-radius:999px; white-space:nowrap; }
.dt-btn-amber:hover { background:#d99a4f; }
.tools-section { padding-bottom:56px !important; }

@media (max-width:960px) {
  .dt-checks, .dt-calendar { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dt-two { grid-template-columns:1fr; }
  .dt-links { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:600px) {
  .dt-checks, .dt-calendar, .dt-links { grid-template-columns:1fr; }
  .dt-tools-cta { padding:32px 24px; }
  .dt-btn-amber { width:100%; text-align:center; }
  .knowledge-links { padding:56px 20px 64px !important; }
}

/* v4.5 */
.a-price p.a-sub { margin:-4px 0 4px !important; color:var(--a-amber-text) !important; font-size:.86rem !important; font-weight:700; }
.a-price.is-featured p.a-sub { color:var(--a-amber) !important; }
.a-faq-head a { color:var(--a-green); font-weight:700; }
.knowledge-hero .wp-block-query-title { font-family:var(--a-serif) !important; font-weight:700 !important; color:var(--a-ink) !important; font-size:clamp(2.2rem,4vw,3.4rem) !important; margin:0 0 18px !important; }
.knowledge-search { margin-top:20px !important; max-width:560px; }
.knowledge-search .wp-block-search__input { border:1px solid #d6d1c4 !important; border-radius:999px 0 0 999px !important; padding:12px 18px !important; background:#fff; }
.knowledge-search .wp-block-search__button { background:var(--a-green) !important; color:#fff !important; border-radius:0 999px 999px 0 !important; padding:12px 22px !important; margin-left:0 !important; }
.knowledge-pagination a, .knowledge-pagination span { color:var(--a-green); font-weight:700; }
.knowledge-pagination .current { background:var(--a-green); color:#fff; border-radius:999px; padding:2px 10px; }
.article-cta { display:flex; justify-content:space-between; align-items:center; gap:22px; flex-wrap:wrap; margin:56px 0 0; padding:28px 32px; background:var(--a-green); border-radius:20px; }
.article-cta p { margin:0; }
.article-cta-kicker { color:var(--a-amber); font-weight:700; letter-spacing:.08em; font-size:.9rem; }
.article-cta-title { color:var(--a-sand); font-family:var(--a-serif); font-size:1.2rem; font-weight:700; margin-top:4px !important; }
.article-back a + a { margin-left:8px; }
.site-header p.wp-block-site-title { margin:0 !important; }
@media (max-width:600px){ .article-cta { padding:24px 22px; } }

/* v4.6 收費四欄：價格不換行 */
#pricing .a-grid4 .a-amount { font-size: clamp(1.9rem, 2.3vw, 2.4rem); white-space: nowrap; }
#pricing .a-grid4 .a-amount span { white-space: nowrap; }

/* v4.6.1 收費四欄：中等寬度改兩欄，避免價格擠出卡片 */
@media (min-width: 601px) and (max-width: 1180px) {
  #pricing .a-grid4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* v4.6.1 內頁 Hero：文字區讓出右側圓拱照片的寬度，避免照片蓋住說明文字 */
@media (min-width: 901px) {
  .setup-hero .setup-container, .book-hero .book-container {
    box-sizing: border-box;
    padding-right: calc(clamp(280px, 26vw, 380px) + 48px) !important;
  }
  .setup-hero .setup-container > *, .book-hero .book-container > * { max-width: none !important; }
}

/* v4.7 導覽列：目前所在頁面標示 */
.site-header .wp-block-navigation .current-menu-item > a,
.site-header .wp-block-navigation .wp-block-navigation-submenu:has(.current-menu-item) > a,
body.single-post .site-header .wp-block-navigation a[href$="/tax-knowledge/"],
body.parent-pageid-76 .site-header .wp-block-navigation a[href$="/tools/"] {
  color: var(--a-green) !important;
  border-bottom: 2px solid var(--a-amber) !important;
}

/* v4.7 導覽列：桌機版「服務項目」下拉選單 */
.site-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container {
  background: #fff !important;
  border: 1px solid rgba(31, 74, 61, .12) !important;
  border-radius: 12px;
  box-shadow: 0 12px 32px rgba(31, 74, 61, .12);
  padding: 8px 0 !important;
  min-width: 180px !important;
}
.site-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container a {
  display: block;
  padding: 10px 18px !important;
  border-bottom: 0 !important;
}
.site-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container a:hover,
.site-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .current-menu-item > a {
  background: var(--a-sand);
  border-bottom: 0 !important;
}

/* v4.7 導覽列：手機選單直接列出服務，略為縮排 */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
  padding: 8px 0 0 16px !important;
  gap: 12px !important;
}

/* v4.7 導覽列項目變少，「LINE 預約諮詢」按鈕在 961px 以上就顯示 */
@media (min-width: 961px) {
  .header-cta { display: block !important; }
}

/* v4.7 手機選單靠左對齊，服務子項目縮排在「服務項目」下方 */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
  align-items: flex-start !important;
  justify-content: flex-start !important;
  text-align: left !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
  width: 100%;
  border-left: 2px solid rgba(31, 74, 61, .15);
  margin-top: 4px;
}

/* v4.9 實用工具頁：Hero 插圖、工具圖示與分類配色（稅務＝綠、會計＝藍、電子發票＝金） */
.tools-hero { background-image: radial-gradient(rgba(31, 77, 63, .07) 1.2px, transparent 1.2px) !important; background-size: 22px 22px !important; background-color: var(--a-sand-2) !important; }
@media (min-width: 901px) {
  .tools-hero::after { content: ''; position: absolute; right: max(24px, calc((100% - 1200px) / 2)); bottom: 0; width: clamp(260px, 26vw, 340px); height: calc(100% - 40px); background: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%20360%20260'%3E%3Crect%20x%3D'150'%20y%3D'22'%20width%3D'176'%20height%3D'214'%20rx%3D'18'%20fill%3D'%23fff'%20stroke%3D'%23e3ddd0'%2F%3E%3Crect%20x%3D'176'%20y%3D'52'%20width%3D'96'%20height%3D'10'%20rx%3D'5'%20fill%3D'%23e08f22'%2F%3E%3Crect%20x%3D'176'%20y%3D'80'%20width%3D'124'%20height%3D'8'%20rx%3D'4'%20fill%3D'%23efebe2'%2F%3E%3Crect%20x%3D'176'%20y%3D'100'%20width%3D'110'%20height%3D'8'%20rx%3D'4'%20fill%3D'%23efebe2'%2F%3E%3Crect%20x%3D'176'%20y%3D'120'%20width%3D'124'%20height%3D'8'%20rx%3D'4'%20fill%3D'%23efebe2'%2F%3E%3Crect%20x%3D'176'%20y%3D'196'%20width%3D'60'%20height%3D'10'%20rx%3D'5'%20fill%3D'%231d7fa6'%20opacity%3D'.35'%2F%3E%3Crect%20x%3D'40'%20y%3D'70'%20width%3D'150'%20height%3D'180'%20rx%3D'20'%20fill%3D'%231f4d3f'%2F%3E%3Crect%20x%3D'58'%20y%3D'88'%20width%3D'114'%20height%3D'42'%20rx%3D'10'%20fill%3D'%231f7a57'%2F%3E%3Crect%20x%3D'118'%20y%3D'104'%20width%3D'42'%20height%3D'10'%20rx%3D'5'%20fill%3D'%23fff'%2F%3E%3Cg%20fill%3D'%23fff'%20opacity%3D'.92'%3E%3Ccircle%20cx%3D'76'%20cy%3D'154'%20r%3D'10'%2F%3E%3Ccircle%20cx%3D'115'%20cy%3D'154'%20r%3D'10'%2F%3E%3Ccircle%20cx%3D'154'%20cy%3D'154'%20r%3D'10'%2F%3E%3Ccircle%20cx%3D'76'%20cy%3D'190'%20r%3D'10'%2F%3E%3Ccircle%20cx%3D'115'%20cy%3D'190'%20r%3D'10'%2F%3E%3Ccircle%20cx%3D'76'%20cy%3D'226'%20r%3D'10'%20opacity%3D'.6'%2F%3E%3Ccircle%20cx%3D'115'%20cy%3D'226'%20r%3D'10'%20opacity%3D'.6'%2F%3E%3C%2Fg%3E%3Crect%20x%3D'144'%20y%3D'180'%20width%3D'20'%20height%3D'56'%20rx%3D'10'%20fill%3D'%23e08f22'%2F%3E%3Ccircle%20cx%3D'318'%20cy%3D'40'%20r%3D'30'%20fill%3D'%231d7fa6'%2F%3E%3Ctext%20x%3D'318'%20y%3D'47'%20text-anchor%3D'middle'%20font-family%3D'Georgia%2Cserif'%20font-size%3D'20'%20font-weight%3D'700'%20fill%3D'%23fff'%3E%25%3C%2Ftext%3E%3C%2Fsvg%3E") right bottom / contain no-repeat; pointer-events: none; }
  .tools-hero .tools-container { box-sizing: border-box; padding-right: calc(clamp(260px, 26vw, 340px) + 48px) !important; }
}
.tool-card { position: relative; background: #fff !important; transition: transform .2s ease, box-shadow .2s ease; }
.tool-card:hover { transform: translateY(-4px); box-shadow: 0 16px 36px rgba(30, 42, 38, .1); }
.tool-card::before { content: ''; display: block; width: 52px; height: 52px; margin-bottom: 18px; border-radius: 14px; background: var(--tool-icon) center / 26px no-repeat, var(--tool-tint); }
.tool-card .tool-card-tag, .tool-card .tool-data-date { color: var(--tool-text) !important; }
.tool-card .tool-card-button .wp-block-button__link { background: var(--tool-bg) !important; border-color: var(--tool-bg) !important; color: #fff !important; }
.tool-card .tool-card-button .wp-block-button__link::after { content: ' →'; }
.tool-card .tool-card-button .wp-block-button__link:hover { filter: brightness(1.08); }
.tools-grid > .tool-card:nth-child(1) { --tool-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%231f7a57'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20x%3D'5'%20y%3D'3'%20width%3D'14'%20height%3D'18'%20rx%3D'2'%2F%3E%3Crect%20x%3D'8'%20y%3D'6'%20width%3D'8'%20height%3D'4'%20rx%3D'1'%2F%3E%3Cpath%20d%3D'M8.5%2014h.01M12%2014h.01M15.5%2014h.01M8.5%2017.5h.01M12%2017.5h.01M15.5%2017.5h.01'%2F%3E%3C%2Fsvg%3E"); --tool-bg: #1f7a57; --tool-tint: #e6f4ec; --tool-text: #17633f; border-top-color: #1f7a57 !important; }
.tools-grid > .tool-card:nth-child(2) { --tool-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%231d7fa6'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20x%3D'3'%20y%3D'5'%20width%3D'18'%20height%3D'16'%20rx%3D'2'%2F%3E%3Cpath%20d%3D'M3%2010h18M8%203v4M16%203v4M12%2013v5'%2F%3E%3C%2Fsvg%3E"); --tool-bg: #1d7fa6; --tool-tint: #e3f2f9; --tool-text: #16698a; border-top-color: #1d7fa6 !important; }
.tools-grid > .tool-card:nth-child(3) { --tool-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23e08f22'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M12%203l7%203v5c0%204.5-3%208.2-7%2010-4-1.8-7-5.5-7-10V6z'%2F%3E%3Cpath%20d%3D'M9%2012l2%202%204-4'%2F%3E%3C%2Fsvg%3E"); --tool-bg: #e08f22; --tool-tint: #fdf0dc; --tool-text: #b06a0e; border-top-color: #e08f22 !important; }
.tools-grid > .tool-card:nth-child(4) { --tool-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23e08f22'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M6%203h9l4%204v14H6z'%2F%3E%3Cpath%20d%3D'M15%203v4h4M9%2012h6M9%2016h6'%2F%3E%3C%2Fsvg%3E"); --tool-bg: #e08f22; --tool-tint: #fdf0dc; --tool-text: #b06a0e; border-top-color: #e08f22 !important; }
.tools-grid > .tool-card:nth-child(5) { --tool-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23e08f22'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M12%2016V4M7%209l5-5%205%205'%2F%3E%3Cpath%20d%3D'M4%2016v3a2%202%200%20002%202h12a2%202%200%20002-2v-3'%2F%3E%3C%2Fsvg%3E"); --tool-bg: #e08f22; --tool-tint: #fdf0dc; --tool-text: #b06a0e; border-top-color: #e08f22 !important; }
.tools-grid > .tool-card:nth-child(6) { --tool-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%231f7a57'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Ccircle%20cx%3D'9'%20cy%3D'8'%20r%3D'3.5'%2F%3E%3Cpath%20d%3D'M3%2020c0-3.3%202.7-6%206-6s6%202.7%206%206'%2F%3E%3Ccircle%20cx%3D'17.5'%20cy%3D'15.5'%20r%3D'3.5'%2F%3E%3Cpath%20d%3D'M17.5%2014v3'%2F%3E%3C%2Fsvg%3E"); --tool-bg: #1f7a57; --tool-tint: #e6f4ec; --tool-text: #17633f; border-top-color: #1f7a57 !important; }

/* v4.10 財稅知識頁：Hero 點狀底紋與插圖 */
.knowledge-hero { background-image: radial-gradient(rgba(31, 77, 63, .07) 1.2px, transparent 1.2px) !important; background-size: 22px 22px !important; background-color: var(--a-sand-2) !important; }
@media (min-width: 901px) {
  .knowledge-hero::after { content: ''; position: absolute; right: max(24px, calc((100% - 1200px) / 2)); bottom: 0; width: clamp(260px, 26vw, 340px); height: calc(100% - 40px); background: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%20360%20260'%3E%3Crect%20x%3D'178'%20y%3D'18'%20width%3D'150'%20height%3D'190'%20rx%3D'16'%20fill%3D'%23fff'%20stroke%3D'%23e3ddd0'%20transform%3D'rotate(6%20253%20113)'%2F%3E%3Crect%20x%3D'70'%20y%3D'40'%20width%3D'170'%20height%3D'206'%20rx%3D'18'%20fill%3D'%23fff'%20stroke%3D'%23e3ddd0'%2F%3E%3Crect%20x%3D'70'%20y%3D'40'%20width%3D'170'%20height%3D'70'%20rx%3D'18'%20fill%3D'%231f7a57'%2F%3E%3Crect%20x%3D'70'%20y%3D'92'%20width%3D'170'%20height%3D'18'%20fill%3D'%231f7a57'%2F%3E%3Crect%20x%3D'92'%20y%3D'62'%20width%3D'70'%20height%3D'10'%20rx%3D'5'%20fill%3D'%23fff'%2F%3E%3Crect%20x%3D'92'%20y%3D'80'%20width%3D'110'%20height%3D'8'%20rx%3D'4'%20fill%3D'%23fff'%20opacity%3D'.6'%2F%3E%3Crect%20x%3D'92'%20y%3D'130'%20width%3D'126'%20height%3D'8'%20rx%3D'4'%20fill%3D'%23efebe2'%2F%3E%3Crect%20x%3D'92'%20y%3D'150'%20width%3D'110'%20height%3D'8'%20rx%3D'4'%20fill%3D'%23efebe2'%2F%3E%3Crect%20x%3D'92'%20y%3D'170'%20width%3D'120'%20height%3D'8'%20rx%3D'4'%20fill%3D'%23efebe2'%2F%3E%3Crect%20x%3D'92'%20y%3D'204'%20width%3D'54'%20height%3D'18'%20rx%3D'9'%20fill%3D'%23fdf0dc'%2F%3E%3Crect%20x%3D'100'%20y%3D'210'%20width%3D'38'%20height%3D'6'%20rx%3D'3'%20fill%3D'%23e08f22'%2F%3E%3Ccircle%20cx%3D'262'%20cy%3D'176'%20r%3D'34'%20fill%3D'none'%20stroke%3D'%231d7fa6'%20stroke-width%3D'12'%2F%3E%3Cpath%20d%3D'M286%20200l34%2034'%20stroke%3D'%231d7fa6'%20stroke-width%3D'14'%20stroke-linecap%3D'round'%2F%3E%3Ccircle%20cx%3D'300'%20cy%3D'42'%20r%3D'26'%20fill%3D'%23e08f22'%2F%3E%3Cpath%20d%3D'M300%2030v24M290%2042h20'%20stroke%3D'%23fff'%20stroke-width%3D'5'%20stroke-linecap%3D'round'%2F%3E%3C%2Fsvg%3E") right bottom / contain no-repeat; pointer-events: none; }
  .knowledge-hero > * { box-sizing: border-box; padding-right: calc(clamp(260px, 26vw, 340px) + 48px) !important; }
}

/* v4.11 記帳報稅收費：卡片數為奇數時，最後一張橫跨兩欄 */
@media (min-width: 721px) {
  .book-grid > .book-card:last-child:nth-child(odd) { grid-column: 1 / -1; }
}
