figure.knab-caption {
    --knab-caption-font-size: 13px;
}
figure.knab-caption > figcaption.wp-element-caption {
    font-size: var(--knab-caption-font-size);
    font-style: italic;
    text-align: center;
    line-height: 1.6;
    overflow-wrap: anywhere;
}

/* Only Bank-managed article media; leave navigation, cards and other posts alone. */
.knab-published-article .entry-content :is(figure, img, table),
.knab-published-article .post-thumb img,
figure.knab-no-shadow,
figure.knab-no-shadow :is(img, table) {
    box-shadow: none !important;
}
/* Scoped to imported Elementor image widgets, not other site content. */
.knab-elementor-image .widget-image-caption {
    font-size: 13px !important;
    font-style: italic !important;
    text-align: center !important;
}
.knab-elementor-image img, .knab-elementor-image figure {
    box-shadow: none !important;
}
/* Legacy class name shared by Pages/Posts article widgets, never breadcrumbs or navigation. */
.elementor-widget-text-editor.knab-elementor-page-article {
    --knab-article-link-color: #ffff00;
}
.elementor-widget-text-editor.knab-elementor-page-article a[href],
.elementor-widget-text-editor.knab-elementor-page-article a[href] * {
    color: var(--knab-article-link-color) !important;
    text-decoration-line: underline !important;
}

/* Explicit article hierarchy overrides small destination theme/Elementor defaults. */
:is(.knab-elementor-heading, .knab-elementor-page-article) {
    --knab-h1-size: 36px;
    --knab-h2-size: 30px;
    --knab-h3-size: 24px;
    --knab-heading-leading: 1.6;
}
:is(.knab-elementor-heading, .knab-elementor-page-article) h1 { font-size: var(--knab-h1-size) !important; }
:is(.knab-elementor-heading, .knab-elementor-page-article) h2 { font-size: var(--knab-h2-size) !important; }
:is(.knab-elementor-heading, .knab-elementor-page-article) h3 { font-size: var(--knab-h3-size) !important; }
:is(.knab-elementor-heading, .knab-elementor-page-article) :is(h1, h2, h3) {
    line-height: var(--knab-heading-leading) !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
}
:is(.knab-elementor-heading, .knab-elementor-page-article) :is(h1, h2, h3) * {
    font-size: inherit !important;
    line-height: inherit !important;
}
.knab-elementor-page-article :is(h1, h2, h3) {
    margin-block: 1em 0.5em !important;
}
.knab-elementor-heading :is(h1, h2, h3),
.knab-elementor-page-article .elementor-widget-container > :is(h1, h2, h3):first-child {
    margin-block: 0 0.5em !important;
}
@media (max-width: 1024px) {
    :is(.knab-elementor-heading, .knab-elementor-page-article) {
        --knab-h1-size: 32px;
        --knab-h2-size: 28px;
        --knab-h3-size: 22px;
    }
}
@media (max-width: 767px) {
    :is(.knab-elementor-heading, .knab-elementor-page-article) {
        --knab-h1-size: 28px;
        --knab-h2-size: 24px;
        --knab-h3-size: 20px;
        --knab-heading-leading: 1.65;
    }
}

/* Keep comparison columns readable; overflow stays inside the table on small screens. */
.knab-elementor-page-article {
    --knab-table-border: color-mix(in srgb, currentColor 55%, transparent);
    --knab-table-heading-bg: color-mix(in srgb, currentColor 8%, transparent);
    --knab-table-cell-padding: 12px;
    min-width: 0;
}
.knab-elementor-page-article table {
    display: block;
    width: 100% !important;
    max-width: 100%;
    overflow-x: auto;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    margin-block: 24px !important;
    line-height: 1.8 !important;
    -webkit-overflow-scrolling: touch;
}
.knab-elementor-page-article :is(th, td) {
    min-width: 140px;
    border: 1px solid var(--knab-table-border) !important;
    padding: var(--knab-table-cell-padding) !important;
    vertical-align: top !important;
    text-align: start;
    white-space: normal !important;
    overflow-wrap: anywhere;
    line-height: inherit !important;
}
.knab-elementor-page-article th {
    background: var(--knab-table-heading-bg) !important;
    font-weight: 700;
}
.knab-elementor-page-article table:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

/* Dark article surfaces: a plain, wrapping trail rather than a filled badge. */
.knab-elementor-breadcrumbs {
    --knab-breadcrumb-text: #f5f5f5;
    --knab-breadcrumb-link: #ffd36a;
    --knab-breadcrumb-separator: #cdb9ad;
}
.knab-elementor-breadcrumbs,
.knab-elementor-breadcrumbs :is(.elementor-widget-container, .eael-breadcrumbs, .eael-breadcrumbs__content, .eael-breadcrumbs__prefix) {
    background: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    min-width: 0;
    max-width: 100%;
}
.knab-elementor-breadcrumbs .eael-breadcrumbs__content {
    display: block;
    font-size: 14px !important;
    line-height: 1.7 !important;
    color: var(--knab-breadcrumb-text) !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
}
.knab-elementor-breadcrumbs .eael-current { color: var(--knab-breadcrumb-text) !important; }
.knab-elementor-breadcrumbs a[href] { color: var(--knab-breadcrumb-link) !important; }
.knab-elementor-breadcrumbs a[href]:is(:hover, :focus-visible) {
    color: var(--knab-breadcrumb-text) !important;
    text-decoration: underline;
}
.knab-elementor-breadcrumbs a[href]:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.knab-elementor-breadcrumbs .eael-breadcrumb-separator { color: var(--knab-breadcrumb-separator) !important; }
.knab-elementor-breadcrumbs svg { width: 1em; height: 1em; fill: currentColor; vertical-align: middle; }
