/* This stylesheet is loaded only by the public charity/medical article template. */
.jc-reading-page { --jc-reading-ink:#303a3b; --jc-reading-muted:#707570; --jc-reading-gold:#92713a; --jc-reading-line:#e5e1d8; --jc-reading-paper:#f8f6f1; }
.jc-article-main { color:var(--jc-reading-ink); font-family:"Noto Sans TC",sans-serif; font-weight:400; background:#fff; }
.jc-article-main *, .jc-article-main *::before, .jc-article-main *::after { box-sizing:border-box; }
.jc-reading-container { width:calc(100% - 80px); max-width:1160px; margin-inline:auto; }
.jc-article-hero { padding:30px 0 54px; background:var(--jc-reading-paper); border-bottom:1px solid var(--jc-reading-line); }
.jc-reading-breadcrumb { display:flex; align-items:center; flex-wrap:wrap; gap:10px; font-size:12px; line-height:1.5; letter-spacing:.03em; color:var(--jc-reading-muted); margin-bottom:36px; }
.jc-reading-breadcrumb a { display:inline-flex; align-items:center; min-height:32px; color:inherit; text-decoration:none; }
.jc-reading-breadcrumb a:hover { color:var(--jc-reading-gold); }
.jc-reading-breadcrumb > span[aria-hidden] { color:#b8b2a6; }
.jc-reading-breadcrumb [aria-current] { color:var(--jc-reading-ink); }
.jc-article-intro { display:grid; grid-template-columns:1.05fr 1fr; align-items:center; gap:52px; }
.jc-article-intro-text { min-width:0; }
.jc-article-category { display:inline-flex; align-items:center; min-height:44px; padding:8px 0; border:0; border-radius:0; background:transparent; color:#806134; font-size:13px; font-weight:500; letter-spacing:.06em; text-decoration:none; text-underline-offset:5px; margin-bottom:10px; }
.jc-article-category:hover { background:transparent; color:#69491e; text-decoration:underline; }
.jc-article-main h1 { color:#2d3736; font-size:clamp(27px,2.3vw,36px); font-weight:650; line-height:1.5; letter-spacing:.025em; margin:0; overflow-wrap:anywhere; }
.jc-article-meta { display:flex; align-items:center; flex-wrap:wrap; gap:10px; color:var(--jc-reading-muted); font-size:13px; letter-spacing:.03em; margin-top:20px; }
.jc-meta-dot { width:3px; height:3px; border-radius:50%; background:#a49d90; }
.jc-article-summary { font-size:15px; line-height:1.95; letter-spacing:.035em; color:#61685f; margin:22px 0 0; }
.jc-article-cover { margin:0; min-width:0; border:1px solid #e1ddd5; border-radius:16px; overflow:hidden; background:#f1efea; }
.jc-article-cover img { display:block; width:100%; height:auto; max-width:100%; object-fit:contain; }
.jc-no-cover { display:block; max-width:860px; }
.jc-reading-layout { display:grid; grid-template-columns:228px minmax(0,1fr); gap:64px; align-items:start; padding-block:56px 88px; }
.jc-reading-aside { align-self:stretch; min-width:0; }
.jc-reading-toc { position:sticky; top:106px; background:#fff; border:1px solid var(--jc-reading-line); border-radius:12px; padding:0 18px; }
.jc-reading-toc summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:19px 0; font-size:15px; color:#4d514a; font-weight:600; cursor:pointer; list-style:none; }
.jc-reading-toc summary::-webkit-details-marker { display:none; }
.jc-reading-toc summary svg { width:16px; height:16px; flex-shrink:0; fill:none; stroke:currentColor; stroke-width:1.5; transition:transform .2s; }
.jc-reading-toc[open] summary svg { transform:rotate(180deg); }
.jc-reading-toc nav { border-top:1px solid var(--jc-reading-line); padding-block:8px 14px; max-height:calc(100vh - 196px); overflow:auto; }
.jc-reading-toc ol { list-style:none; margin:0; padding:0; }
.jc-reading-toc li { margin:0; padding:0; }
.jc-reading-toc a { display:flex; align-items:flex-start; gap:10px; padding:10px 0; min-height:44px; color:#767870; font-size:12px; font-weight:400; line-height:1.85; letter-spacing:.01em; text-decoration:none; border-bottom:1px solid #f0eee9; }
.jc-reading-toc li:last-child a { border-bottom:0; }
.jc-reading-toc a:hover, .jc-reading-toc a[aria-current] { color:#7d5b26; }
.jc-reading-toc a[aria-current] { font-weight:600; }
.jc-toc-number { color:#aa936c; font-size:11px; min-width:18px; padding-top:1px; font-variant-numeric:tabular-nums; }
.jc-reading-article { min-width:0; }
.jc-without-toc { display:block; max-width:860px; }
.jc-article-body { font-size:18px; line-height:1.95; font-weight:400; letter-spacing:.025em; overflow-wrap:anywhere; word-break:normal; }
.jc-article-body :where(p,div,span,font,li,a,strong,b,em,i,u) { font-family:inherit!important; font-size:inherit!important; line-height:inherit!important; letter-spacing:inherit!important; }
.jc-article-body :where(p,div) { margin-block:0 1.2em; }
.jc-article-body :where(p,div):last-child { margin-bottom:0; }
.jc-article-body > :first-child { margin-top:0!important; }
.jc-article-body :where(h2,h3,h4,h5,h6) { color:#333d39; font-family:inherit; font-weight:650; line-height:1.55; letter-spacing:.025em; text-align:left; scroll-margin-top:112px; }
.jc-article-body h2 { font-size:26px; margin:2.4em 0 1em; padding:0 0 .7em; border-bottom:1px solid var(--jc-reading-line); position:relative; }
.jc-article-body h2::after { content:""; display:block; width:42px; height:2px; position:absolute; bottom:-1px; left:0; background:#b39762; }
.jc-article-body h3 { font-size:21px; margin:1.8em 0 .7em; }
.jc-article-body h4, .jc-article-body h5, .jc-article-body h6 { font-size:19px; margin:1.5em 0 .6em; }
.jc-article-body :where(h2,h3,h4,h5,h6) * { font-size:inherit!important; font-family:inherit!important; line-height:inherit!important; }
.jc-article-body strong, .jc-article-body b { font-weight:650; }
.jc-article-body [style*="margin-left"] { margin-left:0!important; }
.jc-article-body [style*="#ffff00"], .jc-article-body [style*="rgb(255, 255, 0)"] { background-color:#f0e7d5!important; color:#58492e; padding:1px 4px; border-radius:3px; box-decoration-break:clone; -webkit-box-decoration-break:clone; }
.jc-article-body a { color:#85632d; text-decoration:underline; text-decoration-color:#cdb991; text-underline-offset:4px; }
.jc-article-body a:hover { color:#5f4218; text-decoration-color:currentColor; }
.jc-article-body img { display:block; float:none!important; width:auto!important; max-width:100%!important; height:auto!important; margin:30px auto!important; border-radius:12px; object-fit:contain; }
.jc-article-body figure { margin:30px 0; max-width:100%; }
.jc-article-body figcaption { font-size:13px; color:var(--jc-reading-muted); text-align:center; margin-top:12px; line-height:1.6; }
.jc-article-body blockquote { padding:20px 24px; border-left:3px solid #b39a6b; background:#f8f5ee; margin:28px 0; color:#5d604f; border-radius:0 8px 8px 0; }
.jc-article-body ul, .jc-article-body ol { margin:20px 0; padding-left:1.5em; }
.jc-article-body ul { list-style:disc; }
.jc-article-body ol { list-style:decimal; }
.jc-article-body li { margin:8px 0; padding-left:.2em; }
.jc-article-body li::marker { color:#a88a53; }
.jc-article-body .jc-faq-question { font-size:20px; padding-top:26px; border-top:1px solid #ece8df; margin-top:28px; color:#76592e; }
.jc-article-body .jc-article-table { overflow:auto; max-width:100%; margin:28px 0; border:1px solid var(--jc-reading-line); border-radius:8px; }
.jc-article-table table { width:100%; border-collapse:collapse; font-size:15px; line-height:1.7; }
.jc-article-table td, .jc-article-table th { border:1px solid var(--jc-reading-line); padding:12px 16px; }
.jc-article-table th { background:#f4efe4; text-align:left; font-weight:600; }
.jc-article-body iframe, .jc-article-body video { display:block; max-width:100%; margin:28px auto; }
.jc-article-body iframe[src*="youtube"], .jc-article-body iframe[src*="vimeo"] { width:100%; height:auto; aspect-ratio:16 / 9; }
.jc-article-body hr { border:0; border-top:1px solid var(--jc-reading-line); margin:36px 0; }
.jc-article-bottom { display:flex; justify-content:space-between; gap:16px; margin-top:56px; border-top:1px solid var(--jc-reading-line); padding-top:28px; }
.jc-article-bottom a { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:10px 0; color:#7e6842; font-size:13px; line-height:1.6; text-decoration:none; }
.jc-article-bottom svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.5; flex-shrink:0; }
.jc-article-bottom .jc-article-back { padding:10px 0; border:0; border-radius:0; text-underline-offset:5px; }
.jc-article-bottom .jc-article-back:hover { background:transparent; text-decoration:underline; }
.jc-article-main :focus-visible { outline:3px solid #b59761; outline-offset:4px; border-radius:3px; }
#jc-article-top { scroll-margin-top:80px; }
@media (max-width:1199px) { .jc-reading-container { width:calc(100% - 64px); } .jc-article-intro { gap:32px; } .jc-reading-layout { grid-template-columns:208px minmax(0,1fr); gap:40px; } .jc-article-main h1 { font-size:30px; } .jc-article-summary { font-size:14px; } }
@media (max-width:991px) { .jc-article-intro { grid-template-columns:1fr; gap:28px; } .jc-article-intro-text { max-width:780px; } .jc-article-cover { max-width:780px; } .jc-article-main h1 { font-size:32px; } .jc-article-summary { font-size:16px; } .jc-reading-layout { display:flex; flex-direction:column; gap:32px; padding-block:32px 64px; } .jc-reading-aside { width:100%; } .jc-reading-toc { position:static; padding-inline:20px; } .jc-reading-toc nav { max-height:none; } .jc-reading-toc a { font-size:14px; } .jc-reading-article { width:100%; } .jc-reading-breadcrumb { margin-bottom:24px; } }
@media (max-width:575px) { .jc-reading-container { width:calc(100% - 40px); } .jc-article-hero { padding:20px 0 30px; } .jc-reading-breadcrumb { font-size:11px; gap:8px; margin-bottom:22px; } .jc-article-category { margin-bottom:4px; } .jc-article-main h1 { font-size:26px; line-height:1.55; letter-spacing:0; } .jc-article-meta { margin-top:16px; font-size:12px; } .jc-article-summary { font-size:15px; line-height:1.9; margin-top:18px; } .jc-article-cover { border-radius:10px; } .jc-reading-layout { padding-top:24px; gap:28px; } .jc-article-body { font-size:17px; line-height:1.95; letter-spacing:.02em; } .jc-article-body h2 { font-size:22px; margin-top:2em; } .jc-article-body h3, .jc-article-body .jc-faq-question { font-size:19px; } .jc-article-body h4, .jc-article-body h5, .jc-article-body h6 { font-size:18px; } .jc-article-body img { margin:24px auto!important; border-radius:8px; } .jc-article-body blockquote { padding:16px; } .jc-article-bottom { flex-wrap:wrap; margin-top:40px; gap:8px; } .jc-article-bottom a { font-size:12px; } }
@media (prefers-reduced-motion:reduce) { .jc-article-main *, .jc-article-main *::before, .jc-article-main *::after { scroll-behavior:auto!important; transition:none!important; } }

/* The global site CSS styles every header/nav; reset only these article-specific elements. */
.jc-article-main .jc-article-intro { position:static; background:transparent; box-shadow:none; width:auto; height:auto; }
.jc-article-main .jc-reading-breadcrumb { justify-content:flex-start; }
.jc-article-body .jc-reading-heading u { text-decoration:none; }
.jc-reading-toc a { color:#686e66; }
.jc-toc-number { color:#856b43; }

.jc-reading-toc a { font-size:13px; line-height:1.75; }

.jc-reading-contact:empty { display:none; }
@media (max-width:767px) {
    .jc-reading-contact { margin-top:20px; }
    .jc-reading-page #jc-reading-contact .social-box { position:static; display:flex; gap:8px; width:100%; height:auto; margin:0; padding:0; }
    .jc-reading-page #jc-reading-contact .social-box a { position:static; display:flex; flex:1; flex-direction:column-reverse; align-items:center; justify-content:center; gap:5px; width:auto; height:auto; min-width:0; min-height:70px; margin:0; padding:10px 4px; border:1px solid #e0d8c7; border-radius:8px; background:#fff; color:#796239; transform:none; transition:background .2s; }
    .jc-reading-page #jc-reading-contact .social-box a:hover { background:#f3ecdf; }
    .jc-reading-page #jc-reading-contact .social-box a p { display:block; position:static; transform:none; width:auto; height:auto; margin:0; padding:0; font-size:11px; line-height:1.4; color:inherit; }
    .jc-reading-page #jc-reading-contact .social-box .icon { position:static; width:26px; height:26px; padding:2px; background:transparent; border-radius:0; }
    .jc-reading-page #jc-reading-contact .social-box .icon svg { width:22px; height:22px; }
    .jc-reading-page #jc-reading-contact .social-box .icon svg path { fill:#a18855; }
}

@media (max-width:575px) { .jc-reading-contact { padding-right:68px; } }

.jc-article-body img { width:100%!important; max-width:min(100%, var(--jc-image-width, 100%))!important; aspect-ratio:var(--jc-image-ratio, auto); }

/* Explicit choices made in the visual image editor override legacy automatic sizing. */
.jc-article-body img[data-jc-image-mode="full"] { width:100%!important; max-width:100%!important; }
.jc-article-body img[data-jc-image-mode="half"] { width:50%!important; max-width:100%!important; }
.jc-article-body img[data-jc-image-mode="custom"] { width:var(--jc-display-width, 600px)!important; max-width:100%!important; }
