/* BEGIN SHARED EDITORIAL CSS: synchronized from the plugin. */
.eko-ed-visual{--eko-blue:#174b91;--eko-pale:#f0f5fc;--eko-line:#c5d5e9;margin:1.8em 0;padding:1.25em;color:inherit;background:var(--eko-pale);border-inline-start:4px solid var(--eko-blue);border-radius:3px;max-width:100%;box-sizing:border-box;overflow-wrap:anywhere;font:inherit}
.eko-ed-visual figcaption{margin:0 0 1em;font-size:1.15em;color:var(--eko-blue);text-align:start}
.eko-ed-visual p{margin:.45em 0 0;line-height:1.6}.eko-ed-visual .eko-ed-visual-note,.eko-ed-visual .eko-ed-visual-sources{font-size:.9em;margin-top:1em}.eko-ed-visual a{color:var(--eko-blue);text-decoration:underline;text-underline-offset:2px}.eko-ed-example{margin-bottom:1em!important}
.eko-ed-visual-items{margin:0!important;padding-inline-start:1.3em}.eko-ed-visual-items>li{padding:.4em 0}.eko-ed-key_figures .eko-ed-visual-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr));gap:1em;list-style:none;padding:0}.eko-ed-number{display:block;font-weight:700;font-size:1.65em;color:var(--eko-blue);line-height:1.25;margin-bottom:.2em;font-variant-numeric:tabular-nums}
.eko-ed-timeline .eko-ed-visual-items{border-inline-start:2px solid var(--eko-line);list-style:none;padding-inline-start:1.2em}.eko-ed-timeline li{position:relative}.eko-ed-timeline li:before{content:"";position:absolute;inset-inline-start:-1.6em;top:.9em;width:.6em;height:.6em;border-radius:50%;background:var(--eko-blue)}
.eko-ed-chart-rows{display:grid;gap:.85em}.eko-ed-chart-label{display:flex;justify-content:space-between;gap:.7em;flex-wrap:wrap}.eko-ed-chart-label strong,.eko-ed-share,.eko-ed-total{font-variant-numeric:tabular-nums}.eko-ed-track{margin-top:.35em;background:var(--eko-line);height:.8em;border-radius:2px;overflow:hidden}.eko-ed-fill{display:block;height:100%;background:var(--eko-blue)}.eko-ed-stack{display:flex;height:1.4em;margin-bottom:1em;overflow:hidden}.eko-ed-segment{display:block;height:100%;background:var(--eko-blue)}.eko-ed-shade-1{opacity:.8}.eko-ed-shade-2{opacity:.6}.eko-ed-shade-3{opacity:.4}.eko-ed-share{font-size:.9em}
.eko-ed-table-scroll{max-width:100%;overflow-x:auto;margin:1.3em 0;-webkit-overflow-scrolling:touch}.eko-ed-visual .eko-ed-table-scroll{margin:0}.eko-ed-visual table,.eko-ed-table{border-collapse:collapse;width:100%;margin:0;color:inherit;font:inherit}.eko-ed-visual th,.eko-ed-visual td,.eko-ed-table th,.eko-ed-table td{padding:.7em .8em;text-align:start;border:1px solid var(--eko-line,#c5d5e9);vertical-align:top}.eko-ed-visual thead th,.eko-ed-table thead th{background:var(--eko-blue,#174b91);color:#fff}.eko-ed-table caption{font-weight:700;text-align:start;margin-bottom:.7em}.eko-ed-table tbody tr:nth-child(even){background:var(--eko-pale,#f0f5fc)}
.eko-ed-visual details{border-bottom:1px solid var(--eko-line);padding:.8em 0}.eko-ed-visual summary{cursor:pointer;font-weight:700}.eko-ed-visual summary:focus-visible{outline:2px solid currentColor;outline-offset:3px}
@media(max-width:480px){.eko-ed-visual{padding:1em}.eko-ed-visual th,.eko-ed-visual td,.eko-ed-table th,.eko-ed-table td{padding:.5em}.eko-ed-chart-label{display:block}.eko-ed-chart-label strong{display:block}.eko-ed-number{font-size:1.4em}}
@media(prefers-color-scheme:dark){.eko-ed-visual{--eko-blue:#a5c9ff;--eko-pale:#182639;--eko-line:#3e536e;color:#eef4ff}.eko-ed-visual thead th{color:#14243b}}
@media print{.eko-ed-visual{break-inside:avoid;color:#111;background:#fff}.eko-ed-visual details:not([open])>p{display:block}.eko-ed-track,.eko-ed-fill,.eko-ed-stack,.eko-ed-segment{print-color-adjust:exact;-webkit-print-color-adjust:exact}}

/* Presentation contract v1: semantic editorial sections and native callouts. */
.ekonomia-editorial-section,.eko-ed-callout,.eko-ed-quote{box-sizing:border-box;max-width:100%;margin:1.8em 0;padding:1.1em 1.25em;border-radius:8px;overflow-wrap:anywhere;text-align:start;font:inherit;line-height:1.65;color:#182c40}
.ekonomia-editorial-section>:first-child,.eko-ed-callout>:first-child,.eko-ed-quote>:first-child{margin-top:0}.ekonomia-editorial-section>:last-child,.eko-ed-callout>:last-child,.eko-ed-quote>:last-child{margin-bottom:0}
.ekonomia-editorial-section p,.eko-ed-callout p,.eko-ed-quote p{text-align:start;line-height:1.65}
.ekonomia-community{background:#fff6e8;border-inline-start:4px solid #b56b18}.ekonomia-sources{background:#eef5f1;border:1px solid #cadbd1;font-size:.9375rem;color:#31463b}.ekonomia-debates{background:#f3f5fc;border-inline-start:4px solid #4a5b91}
.eko-ed-callout{--eko-blue:#174b91;background:#faf7ef;border:1px solid #d8d7cb;border-inline-start:4px solid var(--eko-blue)}.eko-ed-idea{background:#f0f5fc}.eko-ed-callout-label{font-weight:700;color:var(--eko-blue);margin:0 0 .6em;font-size:1.05em}
.eko-ed-quote,.entry-content blockquote{color:#182c40;background:#f1f5fa;border-inline-start:4px solid #174b91;font-style:normal}.eko-ed-quote cite,.entry-content blockquote cite{display:block;margin-top:.8em;font-size:.9em;font-style:normal;color:#40526d}
.eko-ed-visual .eko-ed-visual-items>li{display:list-item;list-style:inherit;font:inherit;line-height:1.6;margin:0;padding:.4em 0;background:none}.eko-ed-visual .eko-ed-visual-items>li::before{content:none}.eko-ed-visual ol.eko-ed-visual-items{list-style:decimal}.eko-ed-visual ul.eko-ed-visual-items{list-style:disc}.eko-ed-key_figures ul.eko-ed-visual-items,.eko-ed-timeline ol.eko-ed-visual-items{list-style:none}
.eko-ed-timeline .eko-ed-visual-items>li::before{content:"";position:absolute;inset-inline-start:-1.6em;top:.9em;width:.6em;height:.6em;border-radius:50%;background:var(--eko-blue)}
@media(max-width:480px){.ekonomia-editorial-section,.eko-ed-callout,.eko-ed-quote{padding:1em}}

/* Presentation contract v2: deterministic diagrams, no client-side renderer. */
.eko-ed-flow-list{display:flex;align-items:stretch;gap:1.6rem;list-style:none;margin:1em 0;padding:0}
.eko-ed-flow-list>li{position:relative;display:flex;flex:1 1 0;min-width:0;margin:0;padding:0;list-style:none}
.eko-ed-flow-node{box-sizing:border-box;width:100%;padding:.85em;background:#fff;border:1px solid var(--eko-line,#c5d5e9);border-radius:6px;overflow-wrap:anywhere;line-height:1.5}
.eko-ed-flow-node p{font-size:.9375em;margin:.5em 0 0;text-align:start}
.eko-ed-flow-arrow{position:absolute;inset-inline-end:-1.45rem;top:50%;transform:translateY(-50%);width:1.3rem;text-align:center;color:var(--eko-blue,#174b91);font-size:1.4rem;line-height:1}
.eko-ed-decision-root{max-width:32em;margin:1em auto 0}
.eko-ed-decision-branches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1em;list-style:none;margin:0;padding:0}
.eko-ed-decision-branches>li{list-style:none;min-width:0;margin:0;padding:0}
.eko-ed-visual ol.eko-ed-flow-list>li{display:flex;margin:0;padding:0;background:none;clear:none;list-style:none;font:inherit}
.eko-ed-visual .eko-ed-flow-list>li::before,.eko-ed-visual .eko-ed-decision-branches>li::before{content:none;display:none}
.eko-ed-visual ul.eko-ed-decision-branches{margin:0;padding:0;line-height:inherit}
.eko-ed-visual ul.eko-ed-decision-branches>li{margin:0;padding:0;background:none;list-style:none;font:inherit}
.eko-ed-branch-arrow{display:block;text-align:center;color:var(--eko-blue,#174b91);font-size:1.6em;line-height:1.3}
.eko-ed-branch-label{font-weight:700;text-align:center!important;color:var(--eko-blue,#174b91);margin:.2em 0 .5em}
@media(max-width:760px){.eko-ed-flow-list{flex-direction:column;gap:1.6rem}.eko-ed-flow-list>li{flex:none}.eko-ed-flow-arrow{inset-inline-end:calc(50% - .65rem);top:auto;bottom:-1.45rem;transform:rotate(90deg)}}
@media(max-width:400px){.eko-ed-decision-branches{grid-template-columns:1fr}.eko-ed-visual ul.eko-ed-decision-branches{margin-inline-start:.5em;padding-inline-start:1em;border-inline-start:2px solid var(--eko-line,#c5d5e9)}.eko-ed-decision-branches>li{position:relative}.eko-ed-branch-arrow{position:absolute;inset-inline-start:-1.6rem;top:0;transform:rotate(-90deg);font-size:1.25rem}}
/* A compact closing FAQ shared by the theme and the plugin's fallback presentation. */
.ekonomia-editorial-section.ekonomia-faq { margin: 1.5rem 0; padding: 1rem 1.15rem; border: 1px solid #c9d8ef; border-radius: 12px; background: #f6f8fc; color: #233b60; text-align: left; }
.ekonomia-faq h2 { margin: 0 0 0.65rem; padding: 0; font-size: 1.15rem; line-height: 1.4; }
.ekonomia-faq > h2::before { content: none; }
.ekonomia-faq .eko-ed-faq-item { margin: 0.65rem 0; padding: 0 0.75rem; border: 0; border-inline-start: 3px solid #4076a0; border-radius: 6px; background: #fff; }
.ekonomia-faq .eko-ed-faq-item + .eko-ed-faq-item { border-top: 0; }
.ekonomia-faq .eko-ed-faq-item summary { padding: 0.7rem 0; color: #204f7d; font-size: 1rem; font-weight: 700; line-height: 1.5; cursor: pointer; }
.ekonomia-faq .eko-ed-faq-item summary:focus-visible { outline: 2px solid #4267b2; outline-offset: 2px; }
.ekonomia-faq .eko-ed-faq-item p { margin: 0 0 0.8rem; padding: 0; color: #233b60; font-size: 1rem; line-height: 1.65; }


/* Question provenance: text labels accompany the two colours. */
.ekonomia-faq .eko-ed-faq-origin { display: inline-block; padding: 0.15rem 0.45rem; border-radius: 4px; background: #e9f1fa; color: #204f7d; font-size: 0.75rem; font-weight: 600; line-height: 1.5; vertical-align: middle; }
.ekonomia-faq .eko-ed-faq-question { display: block; margin-top: 0.3rem; }
.ekonomia-faq .eko-ed-faq-item[data-eko-origin="discussion"] { border-inline-start-color: #ac742b; }
.ekonomia-faq [data-eko-origin="discussion"] .eko-ed-faq-origin { background: #fbefd8; color: #754c18; }
.ekonomia-faq .eko-ed-faq-item .eko-ed-faq-reference { font-size: 0.875rem; line-height: 1.6; color: #46566b; text-align: start; }
.ekonomia-faq .eko-ed-faq-reference a { overflow-wrap: anywhere; }
/* END SHARED EDITORIAL CSS */
/* Editorial discussions and references: shared desktop / mobile styles. */
:is(.entry, .editor-styles-wrapper) .ekonomia-editorial-section {
    box-sizing: border-box;
    margin: 1.8em 0;
    padding: 1.1em 1.25em;
    border-radius: 8px;
    text-align: left;
    overflow-wrap: anywhere;
}
:is(.entry, .editor-styles-wrapper) .ekonomia-editorial-section > :first-child { margin-top: 0; }
:is(.entry, .editor-styles-wrapper) .ekonomia-editorial-section > :last-child { margin-bottom: 0; }
:is(.entry, .editor-styles-wrapper) .ekonomia-editorial-section p { text-align: left; }
:is(.entry, .editor-styles-wrapper) .ekonomia-community {
    background: #fff6e8;
    border-left: 4px solid #b56b18;
}
:is(.entry, .editor-styles-wrapper) .ekonomia-community > h2,
:is(.entry, .editor-styles-wrapper) .ekonomia-community > h3,
:is(.entry, .editor-styles-wrapper) .ekonomia-community > h4 { color: #6b4315; }
:is(.entry, .editor-styles-wrapper) .ekonomia-community > h2 { font-size: 1.35em; }
:is(.entry, .editor-styles-wrapper) .ekonomia-community > h3 { font-size: 1.1em; }
:is(.entry, .editor-styles-wrapper) .ekonomia-sources {
    background: #eef5f1;
    border: 1px solid #cadbd1;
    color: #31463b;
    font-size: max(0.85em, 0.9375rem);
    line-height: 1.6;
}
:is(.entry, .editor-styles-wrapper) .ekonomia-sources > h2,
:is(.entry, .editor-styles-wrapper) .ekonomia-sources > h3,
:is(.entry, .editor-styles-wrapper) .ekonomia-sources > h4 {
    color: #294d3c;
    font-size: 1.15em;
    margin-bottom: 0.75em;
}
:is(.entry, .editor-styles-wrapper) .ekonomia-sources p { line-height: 1.6; }
:is(.entry, .editor-styles-wrapper) .ekonomia-sources a { color: #285342; border-color: #285342; }
:is(.entry, .editor-styles-wrapper) .ekonomia-sources ul,
:is(.entry, .editor-styles-wrapper) .ekonomia-sources ol {
    margin: 0;
    padding-left: 1.25em;
    line-height: 1.6;
}
:is(.entry, .editor-styles-wrapper) .ekonomia-sources ul { list-style: disc; }
:is(.entry, .editor-styles-wrapper) .ekonomia-sources ol { list-style: decimal; }
:is(.entry, .editor-styles-wrapper) .ekonomia-sources li {
    display: list-item;
    list-style: inherit;
    margin: 0.5em 0;
    padding: 0;
    background: none;
    font-size: inherit;
}
:is(.entry, .editor-styles-wrapper) .ekonomia-sources li::before { content: none; }
@media only screen and (max-width: 480px) {
    :is(.entry, .editor-styles-wrapper) .ekonomia-editorial-section { padding: 1em; }
}


/* Theme-owned brand and icon layer. Icons are decorative; the labels remain text. */
:is(.entry,.editor-styles-wrapper) .eko-ed-visual{--eko-blue:#204f7d;--eko-pale:#f7f4ec;--eko-line:#cad5df;float:none;width:auto;color:#182c40}
:is(.entry,.editor-styles-wrapper) .eko-ed-visual thead th{color:#fff}
:is(.entry,.editor-styles-wrapper) .eko-ed-callout{--eko-blue:#204f7d;color:#182c40}
:is([data-ekonomia-content],.editor-styles-wrapper) blockquote{box-sizing:border-box;max-width:100%;margin:1.8em 0;padding:1.1em 1.25em;background:#f1f5fa;border:0;border-inline-start:4px solid #204f7d;border-radius:8px;font-style:normal;line-height:1.65;overflow-wrap:anywhere;text-align:start}
:is([data-ekonomia-content],.editor-styles-wrapper) blockquote cite{display:block;margin-top:.8em;font-size:.9em;font-style:normal;color:#40526d}
:is(.entry,.editor-styles-wrapper) .ekonomia-debates{background:#f3f5fc;border-inline-start:4px solid #4a5b91}
.ekonomia-editorial-section>h2,.ekonomia-editorial-section>h3,.eko-ed-callout-label,.eko-ed-visual>figcaption{position:relative;padding-inline-start:2.1rem;min-height:1.5rem}
.ekonomia-editorial-section>h2::before,.ekonomia-editorial-section>h3::before,.eko-ed-callout-label::before,.eko-ed-visual>figcaption::before,:is([data-ekonomia-content],.editor-styles-wrapper) blockquote::before{content:"";display:inline-block;width:1.5rem;height:1.5rem;position:absolute;inset-inline-start:0;top:.12em;background:currentColor;-webkit-mask:var(--eko-icon) center/contain no-repeat;mask:var(--eko-icon) center/contain no-repeat}
.ekonomia-community>h2,.ekonomia-community>h3{--eko-icon:url('icons/conversa.svg')}.ekonomia-sources>h2,.ekonomia-sources>h3{--eko-icon:url('icons/fontes.svg')}.ekonomia-debates>h2,.ekonomia-debates>h3{--eko-icon:url('icons/debate.svg')}
.eko-ed-callout-label,.eko-ed-visual>figcaption{--eko-icon:url('icons/conceito.svg')}.eko-ed-idea .eko-ed-callout-label,.eko-ed-takeaway>figcaption{--eko-icon:url('icons/ideia.svg')}
:is([data-ekonomia-content],.editor-styles-wrapper) blockquote{position:relative;padding-inline-start:3.4rem;--eko-icon:url('icons/citacao.svg')}
:is([data-ekonomia-content],.editor-styles-wrapper) blockquote::before{inset-inline-start:1.1rem;top:1.15em;color:#204f7d}
/* Only section titles receive an icon, never the questions nested within them. */
.ekonomia-editorial-section>h3:not(:first-child){padding-inline-start:0;min-height:0}.ekonomia-editorial-section>h3:not(:first-child)::before{content:none}
@media print{.ekonomia-editorial-section,.eko-ed-callout,.eko-ed-quote{break-inside:avoid;box-shadow:none}}

:is([data-ekonomia-content],.editor-styles-wrapper) blockquote,:is([data-ekonomia-content],.editor-styles-wrapper) blockquote p{color:#203b56}
:is(.entry,.editor-styles-wrapper) .ekonomia-debates>h2{font-size:1.35em}
:is(.entry,.editor-styles-wrapper) .ekonomia-debates>h3{font-size:1.1em}

/* Theme spacing and reading layout. Keep the shared plugin fallback above intact. */
:is(.entry, .editor-styles-wrapper) :is(.eko-ed-visual, .ekonomia-editorial-section, .eko-ed-callout, .eko-ed-quote) {
    padding: clamp(1rem, 3vw, 1.5rem);
    border-radius: 12px;
    text-align: start;
}
/* Preserve the icon gutter when the shared .eko-ed-quote padding also applies. */
:is([data-ekonomia-content], .editor-styles-wrapper) blockquote,
:is([data-ekonomia-content], .editor-styles-wrapper) blockquote.eko-ed-quote {
    border-radius: 12px;
    padding-inline-start: 3.4rem;
}
:is(.entry, .editor-styles-wrapper) :is(.eko-ed-visual, .ekonomia-editorial-section, .eko-ed-callout, .eko-ed-quote) p {
    text-align: start;
}

/* Native markers sit inside the panel, with room for both marker and text. */
:is(.entry, .editor-styles-wrapper) :is(.eko-ed-visual, .ekonomia-editorial-section, .eko-ed-callout) :is(ul, ol):not(.eko-ed-flow-list, .eko-ed-decision-branches) {
    margin: 1rem 0;
    padding-inline-start: 1.5rem;
    list-style-position: outside;
}
:is(.entry, .editor-styles-wrapper) :is(.eko-ed-visual, .ekonomia-editorial-section, .eko-ed-callout) ul:not(.eko-ed-decision-branches) { list-style-type: disc; }
:is(.entry, .editor-styles-wrapper) :is(.eko-ed-visual, .ekonomia-editorial-section, .eko-ed-callout) ol:not(.eko-ed-flow-list) { list-style-type: decimal; }
:is(.entry, .editor-styles-wrapper) :is(.eko-ed-visual, .ekonomia-editorial-section, .eko-ed-callout) :is(ul, ol):not(.eko-ed-flow-list, .eko-ed-decision-branches) > li {
    display: list-item;
    margin: 0;
    padding: 0.4rem 0 0.4rem 0.25rem;
    list-style: inherit;
    background: none;
    font: inherit;
    line-height: 1.6;
}
:is(.entry, .editor-styles-wrapper) :is(.eko-ed-visual, .ekonomia-editorial-section, .eko-ed-callout) :is(ul, ol):not(.eko-ed-flow-list, .eko-ed-decision-branches) > li::before { content: none; }
:is(.entry, .editor-styles-wrapper) :is(.eko-ed-visual, .ekonomia-editorial-section, .eko-ed-callout) li > p { margin: 0.4em 0 0; }
:is(.entry, .editor-styles-wrapper) .eko-ed-key_figures ul.eko-ed-visual-items { grid-template-columns: minmax(0, 1fr); padding: 0; list-style: none; }
:is(.entry, .editor-styles-wrapper) .eko-ed-timeline ol.eko-ed-visual-items { padding-inline-start: 1.5rem; list-style: none; }
:is(.entry, .editor-styles-wrapper) .eko-ed-timeline ol.eko-ed-visual-items > li::before {
    content: "";
    position: absolute;
    inset-inline-start: -1.85rem;
    top: 0.95rem;
    width: 0.6rem;
    height: 0.6rem;
    border-radius: 50%;
    background: var(--eko-blue);
}

/* Steps use the full reading width on every screen, never narrow columns. */
:is(.entry, .editor-styles-wrapper) .eko-ed-flow-list {
    display: flex;
    flex-direction: column;
    gap: 2.25rem;
    margin: 1rem 0;
    padding: 0;
    list-style: none;
}
:is(.entry, .editor-styles-wrapper) .eko-ed-flow-list > li {
    display: flex;
    flex: none;
    min-width: 0;
    margin: 0;
    padding: 0;
    clear: none;
    list-style: none;
    background: none;
}
:is(.entry, .editor-styles-wrapper) .eko-ed-flow-node {
    padding: 1rem 1.1rem;
    border-radius: 10px;
    text-align: start;
    overflow-wrap: break-word;
    word-break: normal;
    hyphens: none;
}
/* CSS strokes make the arrows thicker without depending on a font glyph. */
:is(.entry, .editor-styles-wrapper) .eko-ed-flow-arrow {
    inset-inline-start: calc(50% - 0.5rem);
    inset-inline-end: auto;
    top: auto;
    bottom: -1.8rem;
    width: 1rem;
    height: 1.35rem;
    transform: none;
    font-size: 0;
    color: var(--eko-blue, #204f7d);
}
.eko-ed-flow-arrow::before, .eko-ed-branch-arrow::before {
    content: "";
    position: absolute;
    width: 3px;
    height: 1.1rem;
    top: 0;
    left: calc(50% - 1.5px);
    border-radius: 2px;
    background: currentColor;
}
.eko-ed-flow-arrow::after, .eko-ed-branch-arrow::after {
    content: "";
    position: absolute;
    width: 0.55rem;
    height: 0.55rem;
    left: calc(50% - 0.35rem);
    bottom: 0.15rem;
    border-right: 3px solid currentColor;
    border-bottom: 3px solid currentColor;
    transform: rotate(45deg);
}
:is(.entry, .editor-styles-wrapper) .eko-ed-decision-root { max-width: none; margin: 1rem 0 0; }
:is(.entry, .editor-styles-wrapper) ul.eko-ed-decision-branches {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1.1rem;
    margin: 0.8rem 0 0 0.45rem;
    padding: 0 0 0 1.1rem;
    border-inline-start: 2px solid var(--eko-line, #cad5df);
    list-style: none;
}
:is(.entry, .editor-styles-wrapper) .eko-ed-decision-branches > li { position: relative; margin: 0; padding: 0; list-style: none; background: none; }
:is(.entry, .editor-styles-wrapper) .eko-ed-branch-arrow {
    position: absolute;
    inset-inline-start: -1.7rem;
    top: 0.1rem;
    width: 1rem;
    height: 1.35rem;
    transform: rotate(-90deg);
    font-size: 0;
    color: var(--eko-blue, #204f7d);
}
:is(.entry, .editor-styles-wrapper) .eko-ed-decision-branches .eko-ed-branch-label { text-align: start !important; margin: 0 0 0.5rem; }

/* References stay readable, while giving priority to the explanation. */
:is(.entry, .editor-styles-wrapper) .ekonomia-sources,
:is(.entry, .editor-styles-wrapper) .eko-ed-visual .eko-ed-visual-sources,
:is(.entry, .editor-styles-wrapper) .eko-ed-reference,
:is([data-ekonomia-content], .editor-styles-wrapper) blockquote cite {
    font-size: 0.875rem;
    line-height: 1.6;
    text-align: start;
    overflow-wrap: anywhere;
}
:is(.entry, .editor-styles-wrapper) .ekonomia-sources a,
:is(.entry, .editor-styles-wrapper) .eko-ed-visual-sources a,
:is(.entry, .editor-styles-wrapper) .eko-ed-reference a { border-bottom-width: 1px; }
/* Older and editor-rendered blocks may not yet have the reference class. */
:is(.entry, .editor-styles-wrapper) :is(.eko-ed-callout, .ekonomia-community, .ekonomia-debates) p:has(> a[href^="#eko-source-"]),
:is(.entry, .editor-styles-wrapper) .ekonomia-community > h3 + p:has(> a) { font-size: 0.875rem; line-height: 1.6; text-align: start; }


/* Keep editorial tables inside the reading column, including older themes. */
:is(.entry, .editor-styles-wrapper) :is(figure.eko-ed-visual, figure.wp-block-table) {
    display: block;
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
}

:is(.entry, .editor-styles-wrapper) :is(.eko-ed-table-scroll, figure.wp-block-table) {
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
}

/* The important override also protects sites still running the fixed-width CSS. */
:is(.entry, .editor-styles-wrapper) :is(.eko-ed-table-scroll, figure.wp-block-table) > table {
    box-sizing: border-box;
    width: 100% !important;
    max-width: none;
    margin: 0;
    padding: 0;
    table-layout: auto;
}

/* Natural word widths trigger local scrolling instead of letter-by-letter text. */
:is(.entry, .editor-styles-wrapper) :is(.eko-ed-table-scroll, .eko-ed-visual, .eko-ed-table, .wp-block-table) :is(th, td) {
    overflow-wrap: normal;
    word-break: normal;
    white-space: normal;
    hyphens: manual;
}

/* Keep the shared FAQ compact within the theme's panel and icon rules. */
:is(.entry, .editor-styles-wrapper) .ekonomia-editorial-section.ekonomia-faq { margin: 1.5rem 0; padding: 1rem 1.15rem; }
.ekonomia-editorial-section.ekonomia-faq > h2 { padding-inline-start: 0; }
.ekonomia-editorial-section.ekonomia-faq > h2::before { content: none; }
