/* =============================================================================
   Aradel Single News — aradel-single-news.css  v1.2
   Covers: [aradel_single_news] shortcode wrapper + all ACF post blocks

   v1.1 fixes:
   - All padding rules use !important to defeat Bricks Builder overrides
   - font-family set explicitly on every element (Nunito Sans site-wide)
   - Featured image: display:block !important prevents Bricks flex collapse
   - Quote: Nunito Sans forced; bar-colour via inline style; default text = Brand Blue
   - Left-wrap: image caption (figcaption) positioned under the image column
   - Tables: .ar-post-table-outer wrapper centres + controls padding
   ============================================================================= */


/* =============================================================================
   BRICKS SECTION NEUTRALISER
   The shortcode lives inside a Bricks Section (brxe-section).
   We strip all of Bricks' own spacing/layout from that Section so our
   shortcode owns 100% of its own padding and max-width.
   This targets the Section that directly contains .ar-single-news.
   ============================================================================= */

/* Strip all padding/margin from the Bricks Section wrapping our shortcode */
.brxe-section:has(> .brxe-shortcode > .ar-single-news),
.brxe-section:has(> .ar-single-news) {
    padding: 0 !important;
    margin: 0 !important;
}

/* The inner Bricks container div that Bricks injects inside every Section */
.brxe-section:has(> .brxe-shortcode > .ar-single-news) > .brxe-container,
.brxe-section:has(> .brxe-shortcode > .ar-single-news) > [class*="brx"],
.brxe-section:has(> .ar-single-news) > .brxe-container,
.brxe-section:has(> .ar-single-news) > [class*="brx"] {
    padding: 0 !important;
    margin: 0 !important;
    max-width: none !important;
    width: 100% !important;
}

/* The Bricks Shortcode element wrapper itself */
.brxe-shortcode:has(> .ar-single-news) {
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: none !important;
    align-items: flex-start !important;
    display: block !important;
}

/* Fallback: any direct ancestor of .ar-single-news that is a Bricks element */
[class*="brxe-"]:has(> .ar-single-news) {
    padding: 0 !important;
    margin: 0 !important;
    max-width: none !important;
    width: 100% !important;
    align-items: flex-start !important;
}


/* =============================================================================
   ROOT WRAPPER
   ============================================================================= */

.ar-single-news {
    width: 100% !important;
    max-width: 1440px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    font-family: "Nunito Sans", system-ui, -apple-system, sans-serif !important;
    color: var(--ads-text, #000);
    box-sizing: border-box;
}

.ar-single-news *,
.ar-single-news *::before,
.ar-single-news *::after {
    box-sizing: border-box;
}


/* =============================================================================
   BREADCRUMBS
   ============================================================================= */

.ar-single-news__breadcrumbs {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap;
    gap: 6px 8px;
    margin-bottom: 24px;
    font-family: "Nunito Sans", sans-serif;
    font-size: 13px;
    font-weight: 500;
    line-height: 18px;
}
.ar-single-news__breadcrumb-link {
    color: var(--ads-muted, #474747);
    text-decoration: none;
    transition: color 160ms ease;
    white-space: nowrap;
}
.ar-single-news__breadcrumb-link:hover {
    color: var(--ads-brand-red, #C1000F);
    text-decoration: none;
}
.ar-single-news__breadcrumb-link--current {
    color: var(--ads-muted, #474747);
    cursor: default;
}

a.ar-single-news__breadcrumb-link--current {
    cursor: pointer;
    transition: color 160ms ease;
}

a.ar-single-news__breadcrumb-link--current:hover {
    color: var(--ads-brand-red, #C1000F);
}
.ar-single-news__breadcrumb-sep {
    color: rgba(0,0,0,0.3);
    font-size: 14px;
    line-height: 1;
    user-select: none;
    flex-shrink: 0;
}
.ar-single-news__breadcrumb-current {
    color: var(--ads-brand-blue, #01303A);
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 420px;
}


/* =============================================================================
   PART A - HERO
   Image + all content share identical left/right padding.
   hero-inner has NO extra inset - title aligns to same edge as featured image.
   ============================================================================= */

.ar-single-news__hero {
    max-width: 1440px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 112px !important;
    padding-right: 112px !important;
    padding-bottom: 64px !important;
    padding-top: 48px !important;
    box-sizing: border-box !important;
}

.ar-single-news__hero-img-wrap {
    width: 100% !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    margin-bottom: 40px !important;
    aspect-ratio: 16 / 7;
    display: block !important;
    line-height: 0;
}

.ar-single-news__hero-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    border-radius: 20px !important;
}

.ar-single-news__meta-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 24px !important;
    margin-bottom: 24px !important;
    flex-wrap: wrap !important;
}

.ar-single-news__meta-left {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
}

.ar-single-news__date {
    font-family: "Nunito Sans", system-ui, sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 20px !important;
    color: var(--ads-muted, #474747) !important;
}

.ar-single-news__pill {
    display: inline-flex !important;
    align-items: center !important;
    padding: 4px 14px !important;
    border-radius: 999px !important;
    border: 1px solid var(--ads-brand-blue, #01303A) !important;
    font-family: "Nunito Sans", system-ui, sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 16px !important;
    letter-spacing: 0.96px !important;
    text-transform: uppercase !important;
    color: var(--ads-brand-blue, #01303A) !important;
    white-space: nowrap !important;
    text-decoration: none !important;
    transition: background 0.18s ease, color 0.18s ease !important;
}

a.ar-single-news__pill:hover {
    background: var(--ads-brand-blue, #01303A) !important;
    color: #fff !important;
}

.ar-single-news__meta-right {
    flex-shrink: 0 !important;
}

.ar-single-news__title {
    font-family: "Nunito Sans", system-ui, sans-serif !important;
    font-size: 56px !important;
    line-height: 64px !important;
    font-weight: 400 !important;
    letter-spacing: 0.022px !important;
    color: var(--ads-brand-blue, #01303A) !important;
    margin: 0 0 20px !important;
    max-width: none !important;
}

.ar-single-news__pdf-row {
    display: flex !important;
    justify-content: flex-end !important;
    margin-top: -8px !important;
    margin-bottom: 8px !important;
}


/* =============================================================================
   PART B — CONTENT BODY
   ============================================================================= */

.ar-single-news__body {
    background: #FBFBFB !important;
    padding-top: 72px !important;
    padding-bottom: 72px !important;
}

.ar-single-news__body-inner {
    max-width: 1440px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 112px !important;
    padding-right: 112px !important;
    box-sizing: border-box !important;
}

.ar-single-news__content {
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    font-family: "Nunito Sans", system-ui, sans-serif !important;
    font-size: 18px !important;
    line-height: 27px !important;
    color: var(--ads-text, #000) !important;
}

.ar-single-news__content a {
    color: var(--ads-brand-red, #C1000F) !important;
    text-decoration: underline !important;
}

.ar-single-news__content a:hover {
    text-decoration: none !important;
}

.ar-single-news__content .ar-post-block + .ar-post-block {
    margin-top: 40px !important;
}

.ar-single-news__content p {
    margin: 0 0 24px !important;
}

.ar-single-news__content p:last-child {
    margin-bottom: 0 !important;
}


/* =============================================================================
   PART C — FOOTER: SHARE + TAGS
   ============================================================================= */

.ar-single-news__footer {
    background: #FBFBFB !important;
    border-top: 1px solid rgba(0,0,0,0.08) !important;
    padding-top: 40px !important;
    padding-bottom: 72px !important;
}

.ar-single-news__footer-inner {
    max-width: 1440px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 112px !important;
    padding-right: 112px !important;
    box-sizing: border-box !important;
}

.ar-single-news__share-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 24px !important;
    flex-wrap: wrap !important;
}

.ar-single-news__share {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

.ar-single-news__share-label {
    font-family: "Nunito Sans", system-ui, sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 0.96px !important;
    text-transform: uppercase !important;
    color: var(--ads-muted, #474747) !important;
    margin-right: 4px !important;
}

.ar-single-news__share-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(0,0,0,0.15) !important;
    color: var(--ads-brand-blue, #01303A) !important;
    transition: background 180ms ease, border-color 180ms ease, color 180ms ease !important;
    text-decoration: none !important;
    flex-shrink: 0 !important;
}

.ar-single-news__share-btn:hover {
    background: var(--ads-brand-blue, #01303A) !important;
    border-color: var(--ads-brand-blue, #01303A) !important;
    color: #fff !important;
}

/* Stroke-style icons — fill: none, stroke: currentColor */
.ar-single-news__share-btn svg {
    width: 18px !important;
    height: 18px !important;
    display: block !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.5 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

.ar-single-news__tags {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
}

.ar-single-news__tag-pill {
    display: inline-flex !important;
    align-items: center !important;
    padding: 6px 16px !important;
    border-radius: 999px !important;
    background: rgba(1,48,58,0.06) !important;
    font-family: "Nunito Sans", system-ui, sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 18px !important;
    color: var(--ads-brand-blue, #01303A) !important;
    white-space: nowrap !important;
    text-decoration: none !important;
    transition: background 0.18s ease, color 0.18s ease !important;
}

a.ar-single-news__tag-pill:hover {
    background: var(--ads-brand-blue, #01303A) !important;
    color: #fff !important;
}


/* =============================================================================
   PART D — RELATED SLIDER
   ============================================================================= */

.ar-single-news__related {
    padding-top: 80px !important;
}

/* Slider header inside single news: stack on mobile to prevent button overflow */
@media (max-width: 640px) {
    .ar-single-news__related .ar-news-slider-header {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 12px !important;
    }
}


/* =============================================================================
   ACF BLOCK — POST HEADING
   ============================================================================= */

.ar-post-block--post_heading {
    margin-bottom: 8px;
}

.ar-post-heading {
    font-family: "Nunito Sans", system-ui, sans-serif !important;
    font-size: 48px !important;
    line-height: 64px !important;
    font-weight: 400 !important;
    letter-spacing: 0.014px !important;
    font-style: normal !important;
    color: inherit;
    margin: 0 !important;
}


/* =============================================================================
   ACF BLOCK — POST PARAGRAPH
   ============================================================================= */

.ar-post-paragraph {
    font-family: "Nunito Sans", system-ui, sans-serif !important;
    font-size: 18px !important;
    line-height: 27px !important;
    color: inherit;
}

.ar-post-paragraph p       { margin: 0 0 20px !important; }
.ar-post-paragraph p:last-child { margin-bottom: 0 !important; }
.ar-post-paragraph strong  { font-weight: 700 !important; }
.ar-post-paragraph em      { font-style: italic !important; }

.ar-post-paragraph a {
    color: var(--ads-brand-red, #C1000F) !important;
    text-decoration: underline !important;
}

.ar-post-paragraph a:hover { text-decoration: none !important; }


/* =============================================================================
   ACF BLOCK — POST SUB-HEADING
   ============================================================================= */

.ar-post-block--post_sub_heading { margin-bottom: 4px; }

.ar-post-sub-heading {
    font-family: "Nunito Sans", system-ui, sans-serif !important;
    font-size: 24px !important;
    line-height: 32px !important;
    font-weight: 600 !important;
    letter-spacing: -0.001px !important;
    font-style: normal !important;
    color: inherit;
    margin: 0 !important;
}


/* =============================================================================
   ACF BLOCK — POST IMAGE SINGLE
   ============================================================================= */

.ar-post-img-single {
    margin: 0 !important;
    width: 100% !important;
}

.ar-post-img-single img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    border-radius: 20px !important;
    object-fit: cover !important;
}

.ar-post-img-caption {
    display: block !important;
    margin-top: 12px !important;
    font-family: "Nunito Sans", system-ui, sans-serif !important;
    font-size: 14px !important;
    line-height: 20px !important;
    color: var(--ads-muted, #474747) !important;
    font-style: italic !important;
    text-align: center !important;
}


/* =============================================================================
   ACF BLOCK — POST IMAGE 2-COLUMN
   ============================================================================= */

.ar-post-img-grid-2col {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 20px !important;
}

.ar-post-img-grid-2col__item { margin: 0 !important; }

.ar-post-img-grid-2col__item img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    border-radius: 20px !important;
    object-fit: cover !important;
    aspect-ratio: 4 / 3;
}

.ar-post-img-placeholder {
    width: 100%;
    aspect-ratio: 4 / 3;
    border-radius: 20px;
    background: rgba(0,0,0,0.06);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "Nunito Sans", system-ui, sans-serif;
    font-size: 14px;
    color: var(--ads-muted, #474747);
}


/* =============================================================================
   ACF BLOCK — POST IMAGE LEFT WRAP
   ============================================================================= */

.ar-post-img-left-wrap {
    display: grid !important;
    grid-template-columns: 360px 1fr !important;
    gap: 40px !important;
    align-items: start !important;
}

.ar-post-img-left-wrap__img { margin: 0 !important; }

.ar-post-img-left-wrap__img img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    border-radius: 20px !important;
    object-fit: cover !important;
}

/* Caption sits under the image, left-aligned */
.ar-post-img-left-wrap__img .ar-post-img-caption {
    text-align: left !important;
}

.ar-post-img-left-wrap__text {
    font-family: "Nunito Sans", system-ui, sans-serif !important;
    font-size: 18px !important;
    line-height: 27px !important;
    color: inherit;
}

.ar-post-img-left-wrap__text p        { margin: 0 0 20px !important; }
.ar-post-img-left-wrap__text p:last-child { margin-bottom: 0 !important; }


/* =============================================================================
   ACF BLOCK — POST VIDEO FRAME
   ============================================================================= */

.ar-post-video {
    width: 100% !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    background: #000;
}

.ar-post-video__embed {
    position: relative !important;
    width: 100% !important;
    padding-bottom: 56.25% !important;
    border-radius: 20px !important;
    overflow: hidden !important;
}

.ar-post-video__embed iframe,
.ar-post-video__embed video {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    border: none !important;
    display: block !important;
}

.ar-post-video__player {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    border-radius: 20px !important;
}


/* =============================================================================
   ACF BLOCK — POST QUOTE
   bar-left-color applied via inline style (ACF field)
   Default text colour is Brand Blue; overridden by inline style when ACF field set
   ============================================================================= */

.ar-post-quote {
    margin: 0 !important;
    padding-left: 24px !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
    border-left-width: 4px !important;
    border-left-style: solid !important;
    border-top: none !important;
    border-right: none !important;
    border-bottom: none !important;
}

.ar-post-quote__text {
    font-family: "Nunito Sans", system-ui, sans-serif !important;
    font-size: 22px !important;
    line-height: 34px !important;
    font-style: italic !important;
    font-weight: 400 !important;
    color: var(--ads-brand-blue, #01303A);
    margin: 0 !important;
}

.ar-post-quote__cite {
    display: block !important;
    margin-top: 14px !important;
    font-family: "Nunito Sans", system-ui, sans-serif !important;
    font-size: 14px !important;
    line-height: 20px !important;
    font-style: normal !important;
    font-weight: 600 !important;
    color: var(--ads-muted, #474747) !important;
}

.ar-post-quote__cite::before { content: '— '; }


/* =============================================================================
   ACF BLOCK — POST DATA TABLES
   ============================================================================= */

.ar-post-table-outer {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.ar-post-table-wrap {
    width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    border: 1px solid rgba(0,0,0,0.08) !important;
    border-radius: 20px !important;
}

.ar-post-table {
    width: 100% !important;
    min-width: 480px !important;
    border-collapse: collapse !important;
    font-family: "Nunito Sans", system-ui, sans-serif !important;
    font-size: 16px !important;
    line-height: 24px !important;
}

/* Standard — grey header */
.ar-post-table--standard thead tr { background: rgba(1,48,58,0.07) !important; }

.ar-post-table--standard thead th {
    font-family: "Nunito Sans", system-ui, sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    color: var(--ads-brand-blue, #01303A) !important;
    padding: 14px 20px !important;
    text-align: left !important;
    border-bottom: 2px solid rgba(1,48,58,0.12) !important;
    white-space: nowrap !important;
}

/* Plain — no header background */
.ar-post-table--plain thead th {
    font-family: "Nunito Sans", system-ui, sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    color: var(--ads-muted, #474747) !important;
    padding: 14px 20px !important;
    text-align: left !important;
    border-bottom: 1px solid rgba(0,0,0,0.12) !important;
    white-space: nowrap !important;
    background: transparent !important;
}

.ar-post-table tbody tr {
    background: #fff !important;
    border-bottom: 1px solid rgba(0,0,0,0.06) !important;
}

.ar-post-table tbody tr:last-child { border-bottom: none !important; }

.ar-post-table tbody td {
    padding: 14px 20px !important;
    font-family: "Nunito Sans", system-ui, sans-serif !important;
    color: var(--ads-text, #000) !important;
    vertical-align: top !important;
}


/* =============================================================================
   EMPTY PLACEHOLDER
   ============================================================================= */

.ar-post-block--empty {
    padding: 20px;
    border-radius: 8px;
    background: rgba(0,0,0,0.04);
    font-family: "Nunito Sans", system-ui, sans-serif;
    font-size: 14px;
    color: var(--ads-muted, #474747);
    font-style: italic;
}


/* =============================================================================
   TABLET — ≤1024px
   ============================================================================= */

@media (max-width: 1024px) {

    .ar-single-news__hero {
        padding-left: 64px !important;
        padding-right: 64px !important;
        padding-bottom: 48px !important;
    }

    .ar-single-news__body-inner,
    .ar-single-news__footer-inner {
        padding-left: 64px !important;
        padding-right: 64px !important;
    }

    .ar-single-news__title {
        font-size: 44px !important;
        line-height: 52px !important;
    }

    .ar-post-heading {
        font-size: 38px !important;
        line-height: 52px !important;
    }

    .ar-post-img-left-wrap {
        grid-template-columns: 280px 1fr !important;
        gap: 28px !important;
    }
}


/* =============================================================================
   MOBILE — ≤768px
   ============================================================================= */

@media (max-width: 768px) {

    .ar-single-news__hero {
        padding-left: 24px !important;
        padding-right: 24px !important;
        padding-bottom: 40px !important;
    }

    .ar-single-news__body {
        padding-top: 48px !important;
        padding-bottom: 48px !important;
    }

    .ar-single-news__body-inner,
    .ar-single-news__footer-inner {
        padding-left: 24px !important;
        padding-right: 24px !important;
    }

    .ar-single-news__footer {
        padding-bottom: 48px !important;
    }

    .ar-single-news__hero-img-wrap {
        aspect-ratio: 4 / 3 !important;
        margin-bottom: 28px !important;
    }

    .ar-single-news__meta-row {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 16px !important;
    }

    .ar-single-news__title {
        font-size: 24px !important;
        line-height: 32px !important;
        margin-bottom: 20px !important;
    }

    .ar-single-news__content,
    .ar-single-news__content p,
    .ar-post-paragraph,
    .ar-post-paragraph p {
        font-size: 16px !important;
        line-height: 26px !important;
    }

    /* Breadcrumb title truncation shorter on mobile */
    .ar-single-news__breadcrumb-current {
        max-width: 180px;
    }

    .ar-post-heading {
        font-size: 28px !important;
        line-height: 38px !important;
    }

    .ar-post-sub-heading {
        font-size: 20px !important;
        line-height: 28px !important;
    }

    .ar-single-news__pdf-row {
        justify-content: flex-start !important;
    }

    .ar-single-news__share-row {
        flex-direction: column !important;
        align-items: flex-start !important;
    }

    .ar-post-img-grid-2col {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    .ar-post-img-grid-2col__item img {
        aspect-ratio: 16 / 9 !important;
    }

    .ar-post-img-left-wrap {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }

    .ar-post-img-left-wrap__img img {
        aspect-ratio: 16 / 9 !important;
    }

    .ar-post-img-left-wrap__img .ar-post-img-caption {
        text-align: center !important;
    }

    .ar-post-quote__text {
        font-size: 18px !important;
        line-height: 28px !important;
    }
}


/* =============================================================================
   AR-NEWS-PROSE — Editorial Content Layer
   Scoped to .ar-news-prose — wraps post_content on ar_news single pages.
   Handles pasted/editorial HTML: paragraphs, headings, images, figures,
   captions, blockquotes, lists, tables, code, links.
   Visually aligned with the existing ACF post block modules above.
   ============================================================================= */

.ar-news-prose {
    font-family: "Nunito Sans", system-ui, -apple-system, sans-serif;
    font-size: 18px;
    line-height: 30px;
    color: #1a1a1a;
}

/* ── Paragraphs ── */
.ar-news-prose p {
    font-family: "Nunito Sans", system-ui, sans-serif;
    font-size: 18px;
    line-height: 30px;
    color: #1a1a1a;
    margin-top: 0;
    margin-bottom: 24px;
}

.ar-news-prose p:last-child {
    margin-bottom: 0;
}

/* ── Headings — match .ar-post-heading / .ar-post-sub-heading ── */
.ar-news-prose h2 {
    font-family: "Nunito Sans", system-ui, sans-serif;
    font-size: 32px;
    font-weight: 700;
    line-height: 42px;
    color: #01303A;
    margin-top: 48px;
    margin-bottom: 16px;
}

.ar-news-prose h3 {
    font-family: "Nunito Sans", system-ui, sans-serif;
    font-size: 22px;
    font-weight: 700;
    line-height: 32px;
    color: #01303A;
    margin-top: 36px;
    margin-bottom: 12px;
}

.ar-news-prose h4 {
    font-family: "Nunito Sans", system-ui, sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 28px;
    color: #01303A;
    margin-top: 28px;
    margin-bottom: 10px;
}

/* First heading in prose needs no top gap */
.ar-news-prose > h2:first-child,
.ar-news-prose > h3:first-child,
.ar-news-prose > h4:first-child {
    margin-top: 0;
}

/* ── Links ── */
.ar-news-prose a {
    color: #C1000F;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color 0.15s ease;
}

.ar-news-prose a:hover {
    color: #01303A;
}

/* ── Lists ── */
.ar-news-prose ul,
.ar-news-prose ol {
    font-family: "Nunito Sans", system-ui, sans-serif;
    font-size: 18px;
    line-height: 30px;
    color: #1a1a1a;
    margin-top: 0;
    margin-bottom: 24px;
    padding-left: 28px;
}

.ar-news-prose li {
    margin-bottom: 8px;
}

.ar-news-prose li:last-child {
    margin-bottom: 0;
}

/* ── Images ── */
.ar-news-prose img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 20px;
    margin-top: 0;
    margin-bottom: 8px;
    object-fit: cover;
}

/* ── Figures + Captions — match .ar-post-img-single / .ar-post-img-caption ── */
.ar-news-prose figure {
    margin: 0 0 32px;
}

.ar-news-prose figure img {
    margin-bottom: 0;
}

.ar-news-prose figcaption {
    font-family: "Nunito Sans", system-ui, sans-serif;
    font-size: 13px;
    font-weight: 500;
    line-height: 18px;
    color: #474747;
    font-style: italic;
    margin-top: 10px;
    padding-left: 4px;
}

/* ── Blockquote — match .ar-post-quote ── */
.ar-news-prose blockquote {
    border-left: 4px solid #C1000F;
    margin: 40px 0;
    padding: 4px 0 4px 28px;
    background: transparent;
}

.ar-news-prose blockquote p {
    font-family: "Nunito Sans", system-ui, sans-serif;
    font-size: 22px;
    font-weight: 600;
    line-height: 34px;
    font-style: italic;
    color: #01303A;
    margin-bottom: 12px;
}

.ar-news-prose blockquote cite {
    display: block;
    font-family: "Nunito Sans", system-ui, sans-serif;
    font-size: 14px;
    font-weight: 700;
    font-style: normal;
    color: #474747;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

/* ── Code + Pre — intentional, not browser default ── */
.ar-news-prose pre {
    background: #F0F3F4;
    border-radius: 12px;
    padding: 20px 24px;
    overflow-x: auto;
    margin-bottom: 24px;
    font-size: 14px;
    line-height: 22px;
}

.ar-news-prose code {
    font-family: "SF Mono", "Fira Code", "Consolas", monospace;
    font-size: 14px;
    background: #F0F3F4;
    border-radius: 4px;
    padding: 2px 6px;
    color: #01303A;
}

.ar-news-prose pre code {
    background: transparent;
    padding: 0;
    border-radius: 0;
    color: inherit;
}

/* ── Horizontal Rule ── */
.ar-news-prose hr {
    border: none;
    border-top: 1px solid #E8E8E8;
    margin: 40px 0;
}

/* ── Responsive Table Wrapper (injected by PHP content filter) ── */
.ar-table-wrap {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-bottom: 32px;
    border-radius: 12px;
    /* Subtle scroll affordance on mobile */
    scrollbar-width: thin;
    scrollbar-color: #ddd transparent;
}

.ar-table-wrap::-webkit-scrollbar {
    height: 4px;
}
.ar-table-wrap::-webkit-scrollbar-track {
    background: transparent;
}
.ar-table-wrap::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 4px;
}

/* ── Tables — match .ar-post-table--standard:
   F0F3F4 header background, alternating body rows ── */
.ar-news-prose table,
.ar-table-wrap table {
    width: 100%;
    min-width: 480px; /* prevents collapse; wrapper handles overflow */
    border-collapse: collapse;
    font-family: "Nunito Sans", system-ui, sans-serif;
    font-size: 15px;
    line-height: 22px;
    color: #1a1a1a;
}

.ar-news-prose table thead th,
.ar-table-wrap table thead th {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #01303A;
    background: #F0F3F4;
    padding: 12px 16px;
    text-align: left;
    border-bottom: 2px solid #d0d8da;
    white-space: nowrap;
}

.ar-news-prose table thead th:first-child,
.ar-table-wrap table thead th:first-child {
    border-radius: 8px 0 0 0;
}
.ar-news-prose table thead th:last-child,
.ar-table-wrap table thead th:last-child {
    border-radius: 0 8px 0 0;
}

.ar-news-prose table tbody td,
.ar-table-wrap table tbody td {
    padding: 12px 16px;
    border-bottom: 1px solid #E8E8E8;
    vertical-align: top;
    color: #1a1a1a;
}

/* Alternating row tint — every even row gets the same F0F3F4 as the header */
.ar-news-prose table tbody tr:nth-child(even) td,
.ar-table-wrap table tbody tr:nth-child(even) td {
    background: #F7F8F9;
}

.ar-news-prose table tbody tr:last-child td,
.ar-table-wrap table tbody tr:last-child td {
    border-bottom: none;
}

/* ── Responsive prose adjustments ── */
@media (max-width: 1024px) {
    .ar-news-prose p,
    .ar-news-prose ul,
    .ar-news-prose ol {
        font-size: 17px;
        line-height: 28px;
    }

    .ar-news-prose h2 {
        font-size: 28px;
        line-height: 38px;
        margin-top: 40px;
    }

    .ar-news-prose h3 {
        font-size: 20px;
        line-height: 30px;
    }

    .ar-news-prose blockquote p {
        font-size: 20px;
        line-height: 30px;
    }
}

@media (max-width: 640px) {
    .ar-news-prose p,
    .ar-news-prose ul,
    .ar-news-prose ol {
        font-size: 16px;
        line-height: 26px;
    }

    .ar-news-prose h2 {
        font-size: 22px;
        line-height: 30px;
        margin-top: 32px;
    }

    .ar-news-prose h3 {
        font-size: 18px;
        line-height: 26px;
    }

    .ar-news-prose blockquote {
        padding-left: 20px;
        margin: 28px 0;
    }

    .ar-news-prose blockquote p {
        font-size: 18px;
        line-height: 28px;
    }

    .ar-news-prose img {
        border-radius: 12px;
    }
}
