/* Elpedro reading surfaces only; content and official widget internals stay native. */
body.ep-reading-harmonized {
    --ep-paper: #f5f7fb;
    --ep-ink: #182230;
    --ep-soft: #536176;
    --ep-line: #ccd4e0;
    --ep-accent: #2457e6;
    background: var(--ep-paper);
    color: var(--ep-ink);
}
body.ep-reading-harmonized main :is(a, summary, [tabindex="0"]):focus-visible { outline: 2px solid #2457e6; outline-offset: 5px; }
body.ep-reading-harmonized :is(.ep-breadcrumb, .afs-single .afs-breadcrumb) { display: flex; align-items: center; flex-wrap: wrap; gap: 0 12px; font-size: 11px; line-height: 1.6; padding-block: 18px 24px; }
body.ep-reading-harmonized :is(.ep-breadcrumb, .afs-breadcrumb) a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: 4px; }
body.ep-reading-harmonized .afs-breadcrumb [aria-current] { flex-basis: 100%; padding-top: 3px; font-size: 12px; overflow-wrap: anywhere; }
body.ep-reading-harmonized .ep-article-header { max-width: 980px; margin-bottom: 32px; }
body.ep-reading-harmonized .ep-article-header h1 { font-size: clamp(35px, 3.8vw, 56px); margin-block: 16px 22px !important; max-width: 960px; }
body.ep-reading-harmonized .ep-article-deck { font-size: 19px; line-height: 1.65; max-width: 760px; color: #536176; margin-bottom: 22px !important; }
body.ep-reading-harmonized .ep-article-meta { align-items: center; gap: 6px 24px; font-size: 11px; line-height: 1.6; }
body.ep-reading-harmonized .ep-article-meta a { display: inline-flex; align-items: center; min-height: 36px; text-decoration: underline; text-underline-offset: 4px; }
body.ep-reading-harmonized .ep-article-cover { margin-bottom: 38px; }
body.ep-reading-harmonized .ep-article-cover > img { max-height: 580px; }
body.ep-reading-harmonized .ep-article-cover figcaption { font-size: 12px; line-height: 1.65; max-width: 900px; }
body.ep-reading-harmonized .ep-reading-grid { grid-template-columns: 220px minmax(0, 720px); gap: 48px; }
body.ep-reading-harmonized .ep-reading-grid.ep-reading-without-toc { grid-template-columns: minmax(0, 720px); }
body.ep-reading-harmonized .ep-toc { border-top-color: #2457e6; padding-block: 8px 14px; }
body.ep-reading-harmonized .ep-toc summary { min-height: 44px; align-items: center; font-size: 11px; }
body.ep-reading-harmonized .ep-toc ol { margin-top: 10px; padding-right: 8px; }
body.ep-reading-harmonized .ep-toc li { margin-bottom: 4px; }
body.ep-reading-harmonized .ep-toc a { padding-block: 9px; font-size: 12px; line-height: 1.6; }
body.ep-reading-harmonized .ep-toc a.is-current { border-left-color: #2457e6; font-weight: 600; }
body.ep-reading-harmonized .ep-prose { font-size: 17px; line-height: 1.85; overflow-wrap: break-word; }
body.ep-reading-harmonized .ep-prose h2 { font-size: 31px; line-height: 1.22 !important; margin-block: 40px 19px !important; }
body.ep-reading-harmonized .ep-prose h3 { font-size: 23px; line-height: 1.3 !important; }
body.ep-reading-harmonized .ep-prose > h2:first-child { margin-top: 0 !important; }
body.ep-reading-harmonized .ep-prose a { color: #2457e6; text-decoration-color: currentColor; text-underline-offset: 4px; }
body.ep-reading-harmonized .ep-prose blockquote { border-color: #2457e6; font-size: 22px; }
body.ep-reading-harmonized :is(.ep-table-scroll, .wp-block-table, .afs-table-scroll) { max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-gutter: stable; }
body.ep-reading-harmonized :is(.ep-prose, .afs-editorial) table { width: 100%; border-collapse: collapse; font-size: 14px; line-height: 1.65; margin-bottom: 0; }
body.ep-reading-harmonized :is(.ep-prose, .afs-editorial) :is(th, td) { min-width: 125px; border: 1px solid #ccd4e0; padding: 13px 15px; vertical-align: top; text-align: left; }
body.ep-reading-harmonized :is(.ep-prose, .afs-editorial) th { background: #e9eef7; }
body.ep-reading-harmonized :is(.ep-prose, .afs-editorial) caption { text-align: left; font-size: 14px; font-weight: 600; padding-bottom: 12px; }
body.ep-reading-harmonized .ep-related { margin-top: 56px; padding-top: 34px; }
body.ep-reading-harmonized .ep-related .ep-section-heading h2 { font-size: 34px; }
body.ep-reading-harmonized .ep-related .ep-media-arrow { background: #2457e6; }
body.ep-reading-harmonized .ep-product-document { --afs-accent: #2457e6; --afs-dark: #182230; --afs-muted: #536176; --afs-line: #ccd4e0; --afs-soft: #e9eef7; max-width: 980px; margin-bottom: 64px; }
body.ep-reading-harmonized .afs-single-header { max-width: 880px; margin-bottom: 26px; }
body.ep-reading-harmonized .afs-single-header h1 { font-size: clamp(35px, 3.8vw, 56px); line-height: 1.12; margin-block: 14px 19px; }
body.ep-reading-harmonized .afs-single-header .ep-product-label,
body.ep-reading-harmonized .afs .afs-eyebrow { color: #2457e6; }
body.ep-reading-harmonized .afs-single-header .ep-product-byline { font-size: 12px; line-height: 1.8; }
body.ep-reading-harmonized .ep-product-byline a { text-decoration: underline; text-underline-offset: 4px; }
body.ep-reading-harmonized .ep-product-reading { min-width: 0; }
body.ep-reading-harmonized .afs .afs-summary { font-size: 19px; line-height: 1.7; max-width: 760px; }
body.ep-reading-harmonized .afs .afs-product-nav { gap: 3px 24px; padding-block: 10px; }
body.ep-reading-harmonized .afs .afs-product-nav a { color: #2457e6; }
body.ep-reading-harmonized .afs .afs-editorial { max-width: 720px; font-size: 17px; line-height: 1.85; margin-block: 30px 38px; }
body.ep-reading-harmonized .afs .afs-editorial p { margin-bottom: 1.35em; }
body.ep-reading-harmonized .afs .afs-editorial h2 { font-size: 31px; margin-block: 38px 19px; }
body.ep-reading-harmonized .afs .afs-editorial h3 { font-size: 23px; margin-block: 28px 16px; }
body.ep-reading-harmonized .afs :is(.afs-editorial, section[id$="-sources"]) a { color: #2457e6; text-underline-offset: 4px; }
body.ep-reading-harmonized .afs .afs-section { padding-block: 30px; }
body.ep-reading-harmonized .afs .afs-spec-group h3,
body.ep-reading-harmonized .afs .afs-verdict { border-color: #2457e6; }
body.ep-reading-harmonized .afs .afs-faq summary { min-height: 44px; }
body.ep-reading-harmonized .afs .afs-faq details p { max-width: 720px; }
body.ep-reading-harmonized .afs .afs-button { background: #2457e6; border-color: #2457e6; }
body.ep-reading-harmonized .ep-reading-return { border-top: 1px solid #ccd4e0; padding-top: 22px; margin-top: 25px; }
body.ep-reading-harmonized .ep-reading-return a { display: inline-flex; align-items: center; gap: 14px; min-height: 44px; font-size: 14px; color: #2457e6; text-decoration: underline; text-underline-offset: 4px; }
body.ep-reading-harmonized .ep-reading-progress:after { background: #2457e6; }
@media (max-width: 1000px) {
    body.ep-reading-harmonized .ep-reading-grid { grid-template-columns: 190px minmax(0, 1fr); gap: 32px; }
}
@media (max-width: 780px) {
    body.ep-reading-harmonized .ep-reading-grid { display: block; }
    body.ep-reading-harmonized .ep-toc-column { margin-bottom: 28px; }
    body.ep-reading-harmonized .ep-toc ol { columns: 1; max-height: 50vh; overflow-y: auto; }
    body.ep-reading-harmonized .ep-toc a { min-height: 44px; }
    body.ep-reading-harmonized .ep-article-header { margin-bottom: 26px; }
    body.ep-reading-harmonized .ep-article-header h1 { font-size: 40px; }
    body.ep-reading-harmonized .ep-article-deck { font-size: 17px; }
    body.ep-reading-harmonized .ep-article-cover { margin-bottom: 28px; }
    body.ep-reading-harmonized .ep-related { margin-top: 42px; }
}
@media (max-width: 500px) {
    body.ep-reading-harmonized :is(.ep-breadcrumb, .afs-single .afs-breadcrumb) { padding-block: 12px 19px; font-size: 10px; gap: 0 10px; }
    body.ep-reading-harmonized .ep-article-header h1,
    body.ep-reading-harmonized .afs-single-header h1 { font-size: 34px; line-height: 1.13 !important; }
    body.ep-reading-harmonized .ep-article-meta { gap: 2px 16px; font-size: 10px; }
    body.ep-reading-harmonized .ep-prose,
    body.ep-reading-harmonized .afs .afs-editorial { font-size: 16px; line-height: 1.85; }
    body.ep-reading-harmonized .ep-prose h2,
    body.ep-reading-harmonized .afs .afs-editorial h2 { font-size: 27px; margin-block: 32px 17px !important; }
    body.ep-reading-harmonized .ep-prose h3,
    body.ep-reading-harmonized .afs .afs-editorial h3 { font-size: 22px; }
    body.ep-reading-harmonized .ep-prose blockquote { font-size: 20px; padding-left: 18px; }
    body.ep-reading-harmonized .afs .afs-summary { font-size: 17px; }
    body.ep-reading-harmonized .afs .afs-specs > div { gap: 6px; padding-block: 14px; }
    body.ep-reading-harmonized .afs .afs-section { padding-block: 26px; }
    body.ep-reading-harmonized .ep-related .ep-section-heading h2 { font-size: 30px; }
}
