/* ── Base ────────────────────────────────────────────── */
/* Site-wide: any cropped image (object-fit: cover elsewhere) keeps its top in view rather
   than cropping evenly top+bottom — avoids cutting off people's heads in photos. Inert on
   images that aren't using object-fit: cover/contain, so safe as a single global rule. */
img {
    object-position: top;
}

/* Halves Blocksy's global top content spacing on standard pages (articles, podcast posts,
   archives, and most static pages) that render data-vertical-spacing="top:bottom". Uses
   calc() off the existing --theme-content-vertical-spacing var rather than a hardcoded value
   so it stays in sync if that global setting is ever changed. Only overrides padding-top —
   the shared var also drives padding-bottom, which is untouched. The homepage and podcast
   archive use fully custom markup with no data-vertical-spacing attribute, so they are
   unaffected by this rule. */
[data-vertical-spacing*="top"] {
    padding-top: calc(var(--theme-content-vertical-spacing) / 2);
}

.ds-container {
    margin: 0 auto;
    max-width: var(--ds-max-width);
    padding: 0 20px;
}

/* Keep the homepage hero's screen-edge inset and top separation in lockstep. */

/*
 * Legacy Astra-era CSS bundled in the dailysceptic-comms and gizmo plugins'
 * ls-style.css (both loaded before this stylesheet) unconditionally sets
 * .entry-content { padding: 0 0 10px 0 }. That plain, unscoped rule leaks
 * into Blocksy's Content Block wrapper markup — .entry-content.is-layout-constrained
 * — used by all 5 ct_content_block hook posts (banner, header newsletter
 * strip, homepage hero, premium gate overlay, donation prompt), showing as
 * a white gap below the promo banner. Real single-post content doesn't
 * carry the is-layout-constrained class, so this is safely scoped to just
 * the Content Block wrapper and won't affect article layout.
 */
.entry-content.is-layout-constrained {
    padding-bottom: 0;
}

.ds-section-label {
    color: var(--ds-red);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.14em;
    margin: 0 0 6px;
    text-transform: uppercase;
}

.ds-section-title {
    color: var(--ds-black);
    font-size: clamp(1.7rem, 2.8vw, 2.8rem);
    line-height: 1.08;
    margin: 0;
}

.ds-section-title-link,
.ds-section-title-link:hover,
.ds-section-title-link:focus,
.ds-section-title-link:active,
.ds-section-title-link:visited {
    color: inherit;
    text-decoration: none;
}

.ds-section-copy {
    color: var(--ds-grey-mid);
    font-size: 0.98rem;
    line-height: 1.6;
    margin: 0;
    max-width: 42rem;
}

.ds-section-heading {
    align-items: end;
    border-bottom: 1px solid rgba(17, 17, 17, 0.14);
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(0, 1fr) auto;
    margin-bottom: 24px;
    padding-bottom: 14px;
}

.ds-section-heading > .ds-section-copy {
    grid-column: 1 / -1;
}

.ds-view-more {
    color: var(--ds-red);
    font-size: var(--ds-font-size-xs);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-decoration: none;
    text-transform: uppercase;
}

.ds-section-footer {
    display: flex;
    justify-content: flex-end;
    margin-top: 18px;
}

.ds-button {
    background: var(--ds-red);
    border: 1px solid var(--ds-red);
    border-radius: 999px;
    color: var(--ds-white);
    display: inline-flex;
    font-size: var(--ds-font-size-sm);
    font-weight: 700;
    gap: 8px;
    justify-content: center;
    line-height: 1;
    min-height: 44px;
    padding: 13px 20px;
    text-decoration: none;
    transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.ds-button:hover,
.ds-button:focus {
    background: var(--ds-red-dark);
    border-color: var(--ds-red-dark);
    color: var(--ds-white);
    transform: translateY(-1px);
}

.ds-button--ghost {
    background: transparent;
    color: var(--ds-black);
}

.ds-button--ghost:hover,
.ds-button--ghost:focus {
    background: rgba(17, 17, 17, 0.06);
    border-color: rgba(17, 17, 17, 0.15);
    color: var(--ds-black);
}

/* ── Homepage intro ─────────────────────────────────── */

/* ── Premium strip ──────────────────────────────────── */
.ds-premium-strip {
    background: #faf6ee;
    border-bottom: 1px solid rgba(201, 168, 76, 0.35);
    border-top: 1px solid rgba(201, 168, 76, 0.35);
    padding: 14px 0;
}

.ds-premium-strip__header {
    align-items: baseline;
    display: flex;
    gap: 14px;
    margin-bottom: 12px;
}

.ds-premium-strip__header .ds-section-title {
    font-size: 1.2rem;
}

.ds-premium-strip__track {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ds-premium-strip__item {
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(201, 168, 76, 0.28);
    border-radius: 16px;
    min-width: 0;
}

.ds-premium-strip__item a {
    color: inherit;
    display: block;
    min-height: 100%;
    padding: 14px 16px;
    text-decoration: none;
}

.ds-premium-strip__item a:hover strong {
    color: var(--ds-red);
}

.ds-premium-strip__kicker {
    color: #8b6d18;
    display: block;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.12em;
    margin-bottom: 8px;
    text-transform: uppercase;
}

/* ── Homepage Trending Strip ─────────────────────────── */
.ds-trending-strip {
    background: var(--ds-black);
    color: var(--ds-white);
    padding: 0;
}

.ds-trending-strip .ds-container {
    border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.ds-ticker__inner {
    align-items: stretch;
    display: grid;
    gap: 0;
    grid-template-columns: 160px minmax(0, 1fr);
    overflow: hidden;
    padding: 24px 0 28px;
}

.ds-trending-strip__label {
    align-self: center;
    color: var(--ds-white);
    font-size: var(--ds-font-size-sm);
    font-weight: 700;
    letter-spacing: 0.08em;
    margin: 0;
    padding-left: 24px;
    text-transform: uppercase;
}

.ds-trending-strip__track {
    display: grid;
    gap: 0;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    min-width: 0;
}

.ds-trending-strip__item {
    border-left: 1px solid rgba(255, 255, 255, 0.16);
    min-width: 0;
}

.ds-trending-strip__link {
    align-items: flex-start;
    color: var(--ds-white);
    display: flex;
    gap: 28px;
    min-height: 100%;
    padding: 24px 34px;
    text-decoration: none;
}

.ds-trending-strip__link:hover .ds-trending-strip__title,
.ds-trending-strip__link:focus .ds-trending-strip__title {
    color: rgba(255, 255, 255, 0.78);
}

.ds-trending-strip__num {
    align-items: center;
    background: #f24a06;
    border-radius: 50%;
    display: inline-flex;
    flex: 0 0 62px;
    font-size: 23px;
    font-weight: 700;
    height: 62px;
    justify-content: center;
    line-height: 1;
    width: 62px;
}

.ds-trending-strip__title {
    color: inherit;
    display: -webkit-box;
    font-size: clamp(1.3rem, 1.25vw, 1.6rem);
    font-weight: 600;
    line-height: 1.42;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

/* ── Homepage Live Row ───────────────────────────────── */

/* ── Hero ────────────────────────────────────────────── */

/* Match the chronological feed’s editorial day-label scale. */

.ds-latest-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.ds-latest-item {
    border-bottom: 1px solid rgba(17, 17, 17, 0.08);
    padding: 13px 0;
}

.ds-latest-item:first-child {
    padding-top: 4px;
}

.ds-latest-item a {
    align-items: center;
    color: inherit;
    display: grid;
    gap: 12px;
    grid-template-columns: 92px 1fr;
    text-decoration: none;
}

.ds-latest-item a:hover .ds-latest-item__text strong {
    color: var(--ds-red);
}

.ds-latest-item img {
    border-radius: 14px;
    display: block;
    height: 72px;
    object-fit: cover;
    width: 92px;
}

.ds-latest-item__text {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.ds-latest-item__text strong {
    font-size: 0.98rem;
    font-weight: 700;
    line-height: 1.35;
    transition: color 0.15s ease;
}

.ds-latest-item__text small {
    color: var(--ds-grey-mid);
    font-size: var(--ds-font-size-xs);
}

/* ── Tabs ────────────────────────────────────────────── */

/* ── Card grid ───────────────────────────────────────── */
.ds-card-grid {
    display: grid;
    gap: var(--ds-gap);
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ds-card-grid--4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ds-card-grid--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ds-card-grid--archive,
.ds-card-grid--author {
    margin-top: 24px;
}

/* ── Article cards ───────────────────────────────────── */
.ds-card {
    background: var(--ds-white);
    border: 0;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    padding: 0 0 22px;
}

.ds-card__media {
    border-radius: 0;
    color: inherit;
    display: block;
    overflow: hidden;
    position: relative;
    text-decoration: none;
}

.ds-card__media img {
    display: block;
    height: 220px;
    object-fit: cover;
    transition: transform 0.3s ease;
    width: 100%;
}

.ds-card__placeholder {
    background: linear-gradient(135deg, #e6e6e6, #f7f7f7);
    display: block;
    height: 220px;
    width: 100%;
}

.ds-card:hover .ds-card__media img {
    transform: scale(1.03);
}

.ds-card__content {
    flex: 1;
    padding: 22px 24px 0;
}

.ds-card__category {
    color: var(--ds-red);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.12em;
    margin: 0 0 7px;
    text-transform: uppercase;
}

.ds-card__title {
    font-size: 1.06rem;
    line-height: 1.35;
    margin: 0 0 8px;
}

.ds-card__title a {
    color: var(--ds-black);
    text-decoration: none;
}

.ds-card__title a:hover {
    color: var(--ds-red);
}

.ds-card__excerpt {
    color: #5d5d5d;
    font-size: 0.95rem;
    line-height: 1.55;
    margin: 0 0 10px;
}

.ds-card__meta {
    color: var(--ds-grey-mid);
    font-size: var(--ds-font-size-xs);
    margin: 0;
}

/* Editorial cards sit on a white surface in light mode, but deliberately
 * blend into the page in dark mode, matching the homepage's dark treatment. */
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-card {
    background: transparent;
    border-radius: 0;
    overflow: visible;
    padding: 0;
}

html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-card__media {
    border-radius: 18px;
}

html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-card__content {
    padding: 14px 0 0;
}

html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-card__title a {
    color: var(--ds-white);
}

html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-card__title a:hover,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-card__title a:focus {
    color: var(--ds-red);
}

html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-card__excerpt {
    color: rgba(255, 255, 255, 0.72);
}

html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-card__meta {
    color: rgba(255, 255, 255, 0.58);
}

.ds-card__play {
    align-items: center;
    background: rgba(208, 2, 27, 0.9);
    border-radius: 50%;
    bottom: 14px;
    color: var(--ds-white);
    display: inline-flex;
    font-size: 18px;
    height: 42px;
    justify-content: center;
    left: 14px;
    position: absolute;
    width: 42px;
}

.ds-card--feature .ds-card__media img,
.ds-card--feature .ds-card__placeholder {
    height: 340px;
}

.ds-card--feature .ds-card__title {
    font-size: 1.4rem;
    letter-spacing: -0.02em;
}

.ds-card--compact {
    border-bottom: 1px solid rgba(17, 17, 17, 0.08);
    padding-bottom: 14px;
}

.ds-card--compact:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.ds-card--compact .ds-card__content {
    padding-top: 11px;
}

.ds-card--compact .ds-card__title {
    font-size: 1rem;
}

/* ── Category rows ───────────────────────────────────── */

/* ── Homepage daily feed ────────────────────────────── */

.ds-daily-story {
    background: var(--ds-white);
    border: 0;
    /* Was 12px — this card's own overflow:hidden is what was actually clipping its image to
       rounded corners in layouts where the image bleeds to the card edge (lead/feature-lead),
       not a separate .ds-daily-story__media radius (already zeroed elsewhere in this file). */
    border-radius: 0;
    display: flex;
    gap: 18px;
    min-width: 0;
    overflow: hidden;
    padding: 18px;
}

.ds-daily-story__content {
    flex: 1;
    min-width: 0;
}

.ds-daily-story__author {
    color: var(--ds-red);
    font-family: var(--ds-font-headings);
    /* Was 1.17rem (56% bigger than the shared --ds-font-size-xs (12px) token) — reduced 25%
       further, still overridden with a fixed value here rather than changing the token, which
       is also used by unrelated elements (e.g. the "Most Popular" sidebar meta line) sitewide. */
    font-size: 0.8775rem;
    font-style: italic;
    line-height: 1.2;
    margin: 0 0 6px;
}

.ds-daily-story__title {
    font-family: var(--ds-font-headings);
    font-size: 1.05rem;
    line-height: 1.24;
    margin: 0;
}

/* 30% bigger titles for every "day" section story except the lead item and the News
   Round-Up feature card (ds-daily-story--feature-lead), which are already sized correctly. */
.ds-daily-story:not(.ds-daily-story--lead):not(.ds-daily-story--feature-lead) .ds-daily-story__title {
    font-size: 1.365rem;
}

.ds-daily-story__title a {
    color: var(--ds-black);
    text-decoration: none;
}

.ds-daily-story__title a:hover,
.ds-daily-story__title a:focus-visible {
    color: var(--ds-red);
}

.ds-daily-story__excerpt {
    color: #5d5d5d;
    /* Shifted down by the same 0.14rem step used for the resizer tiers, each round, even
       though this value has its own independent history and was never pegged to them. */
    font-size: 1.02784rem;
    line-height: 1.5;
    margin: 10px 0 0;
}

.ds-daily-story__media {
    display: block;
    flex: 0 0 136.8px;
    order: -1;
}

.ds-daily-story__media img {
    display: block;
    height: 93.6px;
    object-fit: cover;
    object-position: top center;
    width: 100%;
}

.ds-daily-story--lead {
    align-items: flex-start;
    grid-column: span 3;
    min-height: 188px;
    padding: 0;
}

.ds-daily-story--lead .ds-daily-story__content {
    flex: 1 1 46%;
    padding: 22px 0 22px 24px;
}

.ds-daily-story--lead .ds-daily-story__title {
    font-size: clamp(1.5rem, 2.3vw, 2rem);
}

.ds-daily-story--lead .ds-daily-story__media {
    flex-basis: 43%;
    order: 0;
}

.ds-daily-story--lead .ds-daily-story__media img {
    aspect-ratio: 16 / 9;
    height: auto;
}

.ds-daily-story--support {
    display: flex;
    flex-direction: column;
    padding: 0;
}

.ds-daily-story--support .ds-daily-story__content {
    padding: 13px 22px 22px;
}

.ds-daily-story--support .ds-daily-story__media {
    margin-top: 0;
    width: 100%;
}

.ds-daily-story--support .ds-daily-story__media img {
    aspect-ratio: 16 / 9;
    min-height: 175px;
    height: auto;
    object-fit: cover;
    object-position: top center;
}

/* .ds-daily-feed__stories is a 3-column grid and the "support" tier is designed for a full
   trio side by side (see daily-feed.php, index 1-3). A day with only 1 or 2 support stories
   would otherwise leave the remaining column(s) of that row empty -- these widen the lone/last
   card to close the gap instead. Class is applied conditionally in daily-feed.php based on the
   actual count for that day, so a full trio (the common case) is untouched. */
.ds-daily-story--support-solo {
    grid-column: span 3;
}

.ds-daily-story--support-pair-last {
    grid-column: span 2;
}

.ds-daily-story--list {
    grid-column: span 3;
}

.ds-daily-story--list .ds-daily-story__media {
    border-radius: 0;
    flex-basis: 162.24px;
    overflow: hidden;
}

.ds-daily-story--list .ds-daily-story__media img {
    height: 140px;
}

.ds-daily-story--list .ds-daily-story__content {
    padding: 3px 0;
}

.ds-daily-story--feature-lead {
    flex-direction: column;
    gap: 0;
    padding: 0;
}

.ds-daily-story--feature-lead .ds-daily-story__content {
    padding: 22px;
}

.ds-daily-story--feature-lead .ds-daily-story__media {
    flex: 0 0 auto;
    order: 0;
    width: 100%;
}

.ds-daily-story--feature-lead .ds-daily-story__media img {
    height: 240px;
}

.ds-daily-story--feature-side {
    display: block;
    padding: 20px;
}

.ds-daily-story--feature-side .ds-daily-story__media {
    display: none;
}

@media (min-width: 761px) {

    .ds-daily-story--feature-lead {
        background: transparent;
        border-radius: 0;
        overflow: visible;
    }

    .ds-daily-story--feature-lead .ds-daily-story__content {
        padding: 0;
    }

    .ds-daily-story--feature-lead .ds-daily-story__title {
        font-size: clamp(2rem, 3vw, 3.2rem);
        line-height: 1.15;
    }

    .ds-daily-story--feature-lead .ds-daily-story__media {
        margin-top: 22px;
    }

    .ds-daily-story--feature-lead .ds-daily-story__media img {
        aspect-ratio: 16 / 9;
        border-radius: 0;
        height: auto;
    }

    .ds-daily-story--feature-side {
        background: transparent;
        border-radius: 0;
        padding: 0 0 26px;
    }

    .ds-daily-story--feature-side + .ds-daily-story--feature-side {
        border-top: 1px solid rgba(17, 17, 17, 0.16);
        padding-top: 26px;
    }

    .ds-daily-story--feature-side .ds-daily-story__title {
        font-size: clamp(1.35rem, 2vw, 1.9rem);
        line-height: 1.22;
    }
}


@media (min-width: 761px) {

    .ds-daily-story--feature-lead .ds-daily-story__content {
        padding: 20px 22px 22px;
    }

    .ds-daily-story--feature-lead .ds-daily-story__title {
        font-size: clamp(1.5rem, 2.3vw, 2rem);
        line-height: 1.2;
    }

    .ds-daily-story--feature-lead .ds-daily-story__media {
        margin-top: 0;
    }

    .ds-daily-story--feature-lead .ds-daily-story__media img {
        aspect-ratio: auto;
        border-radius: 0;
        height: 220px;
    }

    .ds-daily-story--feature-side,
    .ds-daily-story--feature-side + .ds-daily-story--feature-side {
        background: var(--ds-white);
        border: 0;
        border-radius: 0;
        padding: 18px;
    }

    .ds-daily-story--feature-side .ds-daily-story__title {
        font-size: 1.05rem;
        line-height: 1.24;
    }
}


/* Lead card switches to a stacked (image-on-top) layout at a wider breakpoint than the other
   daily-feed card variants below, since its side-by-side layout (image + text columns) starts
   looking mismatched — a short text column leaving empty space beside a taller image — well
   before 760px. grid-column stays untouched here (must stay "span 3" to remain full-width
   while the outer 3-column grid hasn't collapsed yet at these widths). */
@media (max-width: 1024px) {
    .ds-daily-story--lead {
        flex-direction: column;
        gap: 0;
        min-height: 0;
    }

    .ds-daily-story--lead .ds-daily-story__content {
        padding: 24px 20px 20px;
    }

    .ds-daily-story--lead .ds-daily-story__media {
        flex-basis: auto;
        width: 100%;
    }

    .ds-daily-story--lead .ds-daily-story__media img {
        aspect-ratio: 16 / 9;
        height: auto;
    }
}

/* Tablet only: the first four cards (lead + 3 support, all still full-width top-image column
   layouts at this range) otherwise run their images edge-to-edge while the list cards below
   them keep an inherited ~18px inset — matches the two rows' side margins. */
@media (min-width: 761px) and (max-width: 1024px) {
    .ds-daily-story--lead .ds-daily-story__media,
    .ds-daily-story--support .ds-daily-story__media {
        width: calc(100% - 36px);
        margin-left: 18px;
        margin-right: 18px;
        overflow: hidden;
    }

    .ds-daily-story--lead .ds-daily-story__media {
        border-radius: 0;
    }

    .ds-daily-story--support .ds-daily-story__media {
        border-radius: 0;
    }

    /* feature-side (items 9-11) otherwise inherits display:none from the unscoped base
       rule above and only gets its thumbnail back below 760px — restore the same small
       left-thumbnail row layout here so tablet matches mobile instead of showing text only. */
    .ds-daily-story--feature-side {
        align-items: flex-start;
        display: flex;
        flex-direction: row;
        gap: 18px;
    }

    .ds-daily-story--feature-side .ds-daily-story__media {
        border-radius: 0;
        display: block;
        flex: 0 0 124.8px;
        margin: 0;
        order: -1;
        overflow: hidden;
        width: auto;
    }

    .ds-daily-story--feature-side .ds-daily-story__media img {
        height: 93.6px;
    }
}

@media (max-width: 760px) {

    .ds-daily-story,
    .ds-daily-story--lead,
    .ds-daily-story--list {
        grid-column: auto;
    }

    /* Lead's image otherwise runs edge-to-edge (card padding is 0) while list's thumbnail below
       sits inset ~18px (inherited base .ds-daily-story padding, never reset for --list) — this
       matches lead's side margins to list's so the two rows don't look misaligned. Rounded
       corners on the now-inset image match list's thumbnail and desktop's edge-cropped look. */
    .ds-daily-story--lead .ds-daily-story__media {
        width: calc(100% - 36px);
        margin-left: 18px;
        margin-right: 18px;
        border-radius: 0;
        overflow: hidden;
    }

    .ds-daily-story--support {
        display: flex;
        flex-direction: row;
        gap: 11.7px;
        padding: 18px;
    }

    .ds-daily-story--support .ds-daily-story__content {
        padding: 3px 0;
    }

    .ds-daily-story--support .ds-daily-story__media {
        border-radius: 0;
        flex-basis: 124.8px;
        margin: 0;
        order: -1;
        overflow: hidden;
    }

    .ds-daily-story--support .ds-daily-story__media img {
        height: 93.6px;
    }

    .ds-daily-story--feature-lead,
    .ds-daily-story--feature-side {
        align-items: flex-start;
        display: flex;
        flex-direction: row;
        gap: 18px;
        padding: 18px;
    }

    .ds-daily-story--feature-lead .ds-daily-story__content,
    .ds-daily-story--feature-side .ds-daily-story__content {
        padding: 3px 0;
    }

    .ds-daily-story--feature-lead .ds-daily-story__media,
    .ds-daily-story--feature-side .ds-daily-story__media {
        border-radius: 0;
        display: block;
        flex: 0 0 124.8px;
        margin: 0;
        order: -1;
        overflow: hidden;
        width: auto;
    }

    .ds-daily-story--feature-lead .ds-daily-story__media img,
    .ds-daily-story--feature-side .ds-daily-story__media img {
        height: 93.6px;
    }

    /* On mobile the News Round-Up card (feature-lead) sits directly below the support/list
       stories, which are now 30% bigger (see the ds-daily-story:not() rule above) — match its
       title size here so it isn't left visually smaller than the cards right above it. Its
       larger desktop-only sizing (>=761px) is untouched. */
    .ds-daily-story--feature-lead .ds-daily-story__title {
        font-size: 1.365rem;
    }

}

/* Mobile (<=760px) daily-feed card layout is owned by the gizmo plugin's mobile-feed.css, which
   lays every card out as a full-width 16:9 image with the text above it. A stale override used to
   live here that pinned every non-lead thumbnail to a fixed 162x140 box with !important — higher
   specificity than the plugin's rule, so it won and left a cramped little square sitting in a sea
   of white beside the text. Removed so the plugin's intended full-width image actually renders.
   (Desktop/tablet thumbnail sizing is unaffected — it was never in this max-width:760 block.) */

@media (min-width: 1025px) {
    .ds-daily-story--feature-lead .ds-daily-story__media img,
    .ds-daily-story--support .ds-daily-story__media img {
        aspect-ratio: 16 / 9;
        min-height: 220px;
        height: auto;
        object-fit: cover;
        object-position: top center;
    }

    /* Adds to (not replaces) the shared .ds-daily-feed__stories grid `gap: 22px` so only the
       space below the lead card doubles (22px -> 44px total), leaving the support-to-list gap
       and every other row transition in the feed unaffected. Desktop-only per request. */
    .ds-daily-story--support {
        margin-top: 22px;
    }

    /* feature-side (items 9-11) — same restore as the tablet breakpoint above; the base
       .ds-daily-story--feature-side .ds-daily-story__media { display: none } rule otherwise
       leaves these thumbnail-less at desktop widths too. */
    .ds-daily-story--feature-side {
        align-items: flex-start;
        display: flex;
        flex-direction: row;
        gap: 18px;
    }

    .ds-daily-story--feature-side .ds-daily-story__media {
        border-radius: 0;
        display: block;
        flex: 0 0 124.8px;
        margin: 0;
        order: -1;
        overflow: hidden;
        width: auto;
    }

    .ds-daily-story--feature-side .ds-daily-story__media img {
        height: 93.6px;
    }
}



/* ── CTA bands ───────────────────────────────────────── */

.ds-cta-band__panel,
.ds-cta-band__fallback,
.ds-membership-points,
.ds-community-teaser__actions {
    background: rgba(255, 255, 255, 0.86);
    border: 1px solid rgba(17, 17, 17, 0.06);
    border-radius: 20px;
    padding: 22px;
}

.ds-membership-points {
    display: grid;
    gap: 16px;
}

.ds-membership-points__item {
    display: grid;
    gap: 4px;
}

.ds-membership-points__item strong {
    font-size: 1rem;
}

.ds-membership-points__item span {
    color: var(--ds-grey-mid);
    line-height: 1.55;
}

.ds-membership-points__actions,
.ds-community-teaser__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

/* ── Shorts ──────────────────────────────────────────── */

/* ── Authors showcase ───────────────────────────────── */

/* ── Podcasts archive ───────────────────────────────── */
.ds-podcast-archive-page {
    --ds-podcast-bg: #050505;
    --ds-podcast-surface: #111111;
    --ds-podcast-surface-alt: #181818;
    --ds-podcast-border: rgba(255, 255, 255, 0.1);
    --ds-podcast-text: #f5f5f5;
    --ds-podcast-muted: rgba(255, 255, 255, 0.7);
    --ds-podcast-soft: rgba(255, 255, 255, 0.14);
    --ds-podcast-hero-shadow: rgba(0, 0, 0, 0.8);
    background: var(--ds-podcast-bg);
    color: var(--ds-podcast-text);
    font-family: var(--ds-font-body);
}

.ds-podcast-archive-page h1,
.ds-podcast-archive-page h2,
.ds-podcast-archive-page h3,
.ds-podcast-archive-page h4 {
    font-family: var(--ds-font-headings);
}


.ds-podcast-archive {
    background: var(--ds-podcast-bg);
    color: var(--ds-podcast-text);
    padding-bottom: 56px;
}

.ds-podcast-hero {
    overflow: hidden;
    position: relative;
}

.ds-podcast-hero__viewport {
    min-height: 720px;
    position: relative;
    transition: height 0.6s ease;
}

.ds-podcast-hero__topbar {
    display: flex;
    justify-content: flex-end;
    left: 50%;
    padding-top: 112px;
    position: absolute;
    top: 0;
    transform: translateX(-50%);
    width: 100%;
    z-index: 4;
}

.ds-theme-toggle {
    align-items: center;
    background: rgba(17, 17, 17, 0.54);
    backdrop-filter: blur(18px);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 999px;
    color: #ffffff;
    cursor: pointer;
    display: inline-flex;
    gap: 10px;
    height: 48px;
    justify-content: center;
    padding: 0 12px;
}

.ds-theme-toggle__icon {
    font-size: 0.95rem;
    line-height: 1;
}

.ds-theme-toggle__track {
    align-items: center;
    background: rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    display: inline-flex;
    height: 28px;
    padding: 4px;
    width: 52px;
}

.ds-theme-toggle__thumb {
    background: #ffffff;
    border-radius: 50%;
    display: block;
    height: 20px;
    transform: translateX(24px);
    transition: transform 0.22s ease;
    width: 20px;
}

html[data-ds-theme-mode="runtime"][data-theme="light"] .ds-theme-toggle {
    background: rgba(255, 255, 255, 0.72);
    color: #111111;
}

html[data-ds-theme-mode="runtime"][data-theme="light"] .ds-theme-toggle__track {
    background: rgba(17, 17, 17, 0.12);
}

html[data-ds-theme-mode="runtime"][data-theme="light"] .ds-theme-toggle__thumb {
    background: #111111;
    transform: translateX(0);
}


.ds-podcast-hero__slide {
    inset: 0;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    transition: opacity 0.6s ease;
}

.ds-podcast-hero__slide.is-active {
    opacity: 1;
    pointer-events: auto;
    z-index: 1;
}

.ds-podcast-hero__media,
.ds-podcast-hero__placeholder {
    inset: 0;
    position: absolute;
}

.ds-podcast-hero__media::after,
.ds-podcast-hero__placeholder::after {
    background:
        linear-gradient(90deg, rgba(0, 0, 0, 0.94) 0%, rgba(0, 0, 0, 0.82) 28%, rgba(0, 0, 0, 0.46) 50%, rgba(0, 0, 0, 0.12) 68%, rgba(0, 0, 0, 0) 80%),
        linear-gradient(0deg, rgba(0, 0, 0, 0.88) 0%, rgba(0, 0, 0, 0.6) 24%, rgba(0, 0, 0, 0.22) 49%, rgba(0, 0, 0, 0) 70%);
    content: '';
    inset: 0;
    position: absolute;
}

.ds-podcast-hero__media img,
.ds-podcast-hero__placeholder {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.ds-podcast-hero__placeholder {
    background: radial-gradient(circle at top, rgba(255, 255, 255, 0.2), rgba(10, 10, 10, 0.9) 55%), linear-gradient(135deg, #111, #2a2a2a);
}

.ds-podcast-hero__content-wrap {
    inset: 0;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    transition: opacity 0.6s ease;
    z-index: 4;
}

.ds-podcast-hero__content-wrap.is-active {
    opacity: 1;
}

.ds-podcast-hero__content-wrap.is-active a,
.ds-podcast-hero__content-wrap.is-active button {
    pointer-events: auto;
}

.ds-podcast-hero__inner {
    /* padding-top/bottom only (was a full "padding: 168px 0 124px" shorthand) — this element
       also carries the .ds-container class for its 0 20px horizontal padding, but a shorthand
       here would win the cascade (declared later) and silently zero it out at every width
       except <=680px, where a later mobile .ds-container override happened to restore it. */
    align-items: end;
    display: grid;
    height: 100%;
    min-height: 720px;
    padding-top: 168px;
    padding-bottom: 124px;
}

.ds-podcast-hero__content {
    max-width: 39rem;
}

.ds-podcast-hero__eyebrow {
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.24em;
    margin: 0 0 18px;
    text-transform: uppercase;
}

.ds-podcast-hero__title {
    color: #ffffff;
    font-size: clamp(2.8rem, 6vw, 4.8rem);
    letter-spacing: -0.05em;
    line-height: 0.92;
    margin: 0 0 20px;
    text-shadow: 0 18px 38px var(--ds-podcast-hero-shadow);
}

.ds-podcast-hero__title a,
.ds-podcast-hero__title a:hover,
.ds-podcast-hero__title a:focus,
.ds-podcast-hero__title a:active {
    color: #ffffff;
}

.ds-podcast-hero__summary {
    color: rgba(255, 255, 255, 0.82);
    font-family: var(--ds-font-editor);
    font-size: 1.08rem;
    line-height: 1.7;
    margin: 0 0 22px;
    max-width: 34rem;
}

.ds-podcast-hero__meta {
    align-items: center;
    color: rgba(255, 255, 255, 0.72);
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 26px;
}

.ds-podcast-hero__meta span {
    align-items: center;
    display: inline-flex;
    gap: 8px;
}

.ds-podcast-hero__meta span + span::before {
    color: rgba(255, 255, 255, 0.4);
    content: '\2022';
    margin-right: 4px;
}

.ds-podcast-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.ds-podcast-hero__button {
    align-items: center;
    border-radius: 8px;
    display: inline-flex;
    font-size: 0.95rem;
    font-weight: 700;
    gap: 10px;
    justify-content: center;
    min-height: 48px;
    padding: 0 20px;
    text-decoration: none;
    transition: transform 0.18s ease, background 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}

.ds-podcast-hero__button:hover,
.ds-podcast-hero__button:focus {
    transform: translateY(-1px);
}

.ds-podcast-hero__button--solid {
    background: #ffffff;
    border: 1px solid #ffffff;
    color: #111111;
}

.ds-podcast-hero__button--solid:hover,
.ds-podcast-hero__button--solid:focus {
    background: var(--ds-red);
    border-color: var(--ds-red);
    color: var(--ds-white);
}

.ds-podcast-hero__button--ghost {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.18);
    color: #ffffff;
}

.ds-podcast-hero__controls {
    inset: 0;
    pointer-events: none;
    position: absolute;
    z-index: 3;
}

.ds-podcast-hero__dots {
    align-items: center;
    bottom: 34px;
    display: inline-flex;
    gap: 10px;
    left: 50%;
    pointer-events: auto;
    position: absolute;
    transform: translateX(-50%);
}

.ds-podcast-hero__dot {
    background: rgba(255, 255, 255, 0.34);
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    height: 10px;
    padding: 0;
    transition: background 0.2s ease, width 0.2s ease;
    width: 10px;
}

.ds-podcast-hero__dot.is-active {
    background: #ffffff;
    width: 28px;
}

.ds-podcast-hero__nav {
    align-items: center;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    color: #ffffff;
    cursor: pointer;
    display: inline-flex;
    font-size: 1.45rem;
    height: 52px;
    justify-content: center;
    line-height: 1;
    padding: 0;
    pointer-events: auto;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 52px;
}

.ds-podcast-hero__nav[data-ds-podcast-prev] {
    left: 26px;
}

.ds-podcast-hero__nav[data-ds-podcast-next] {
    right: 26px;
}

.ds-podcast-section {
    padding: 34px 0 0;
}

.ds-podcast-section__heading {
    align-items: end;
    display: flex;
    gap: 18px;
    justify-content: space-between;
    margin-bottom: 18px;
}

.ds-podcast-section__kicker {
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    margin: 0 0 6px;
    text-transform: uppercase;
}

.ds-podcast-section__title {
    color: #ffffff;
    font-size: clamp(1.6rem, 3vw, 2.4rem);
    margin: 0;
}

.ds-podcast-section__copy {
    color: var(--ds-podcast-muted);
    font-family: var(--ds-font-editor);
    margin: 0;
    max-width: 44rem;
}

.ds-podcast-rail {
    align-items: center;
    display: grid;
    gap: 14px;
    grid-template-columns: auto minmax(0, 1fr) auto;
}

.ds-podcast-rail__viewport {
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x;
}

.ds-podcast-rail__viewport::-webkit-scrollbar {
    display: none;
}

.ds-podcast-rail__nav {
    align-items: center;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 999px;
    color: #ffffff;
    cursor: pointer;
    display: inline-flex;
    font-size: 1.5rem;
    height: 48px;
    justify-content: center;
    line-height: 1;
    padding: 0;
    transition: opacity 0.18s ease, transform 0.18s ease;
    width: 48px;
}

.ds-podcast-rail__nav:hover,
.ds-podcast-rail__nav:focus {
    transform: scale(1.03);
}

.ds-podcast-rail__nav:disabled {
    cursor: default;
    opacity: 0.28;
}

.ds-podcast-rail.is-static .ds-podcast-rail__nav {
    opacity: 0;
    pointer-events: none;
}

.ds-podcast-rail__track {
    display: grid;
    gap: 18px;
    grid-auto-columns: minmax(260px, 1fr);
    grid-auto-flow: column;
    padding-bottom: 8px;
}

.ds-podcast-rail__track--poster {
    grid-auto-columns: minmax(220px, 1fr);
}

.ds-podcast-card {
    background: var(--ds-podcast-surface);
    border: 1px solid var(--ds-podcast-border);
    border-radius: 20px;
    color: var(--ds-podcast-text);
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
}

.ds-podcast-card__media {
    color: inherit;
    display: block;
    overflow: hidden;
    position: relative;
    text-decoration: none;
}

.ds-podcast-card__media img,
.ds-podcast-card__placeholder {
    aspect-ratio: 16 / 9;
    display: block;
    height: auto;
    object-fit: cover;
    width: 100%;
}

.ds-podcast-card__placeholder {
    background: linear-gradient(135deg, #2e2e2e, #141414);
}

.ds-podcast-card--poster .ds-podcast-card__media img,
.ds-podcast-card--poster .ds-podcast-card__placeholder {
    aspect-ratio: 3 / 4;
}

.ds-podcast-card__media::after {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 52%, rgba(0, 0, 0, 0.84) 100%);
    content: '';
    inset: 0;
    position: absolute;
}

.ds-podcast-card__play {
    align-items: center;
    background: rgba(255, 255, 255, 0.15);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    color: #ffffff;
    display: inline-flex;
    font-size: 1rem;
    height: 42px;
    justify-content: center;
    left: 16px;
    position: absolute;
    top: 16px;
    width: 42px;
    z-index: 2;
}

.ds-podcast-card__duration {
    background: rgba(10, 10, 10, 0.78);
    border-radius: 999px;
    bottom: 14px;
    color: #ffffff;
    font-size: 0.84rem;
    font-weight: 700;
    padding: 6px 10px;
    position: absolute;
    right: 14px;
    z-index: 2;
}

.ds-podcast-card__content {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 12px;
    padding: 18px;
}

.ds-podcast-card__show {
    color: var(--ds-podcast-muted);
    font-size: 0.84rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    margin: 0;
    text-transform: uppercase;
}

.ds-podcast-card__title {
    color: #ffffff;
    font-size: 1.18rem;
    line-height: 1.28;
    margin: 0;
}

.ds-podcast-card__title a {
    color: inherit;
    text-decoration: none;
}

.ds-podcast-card__title a:hover,
.ds-podcast-card__title a:focus {
    color: #ffffff;
}

.ds-podcast-card__summary {
    color: var(--ds-podcast-muted);
    font-family: var(--ds-font-editor);
    line-height: 1.65;
    margin: 0;
}

.ds-podcast-card__submeta {
    color: rgba(255, 255, 255, 0.62);
    display: flex;
    flex-wrap: wrap;
    font-size: 0.88rem;
    gap: 8px;
    margin: auto 0 0;
}

/*
 * .ds-podcast-card__submeta above has margin-top:auto, which pushes it (and this footer)
 * to the bottom of the card by consuming 100% of the flex column's leftover vertical space —
 * this was the "gap between the image/summary and the button" being too big. Giving this
 * LAST child a matching margin-bottom:auto makes the two auto-margins split that leftover
 * space evenly instead of all of it landing above the submeta row, halving the visible gap
 * above the button (the other half becomes a small margin below the footer instead, inside
 * the card's existing padding).
 */
.ds-podcast-card__footer {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: space-between;
    margin-bottom: auto;
}

.ds-podcast-card__watch {
    align-items: center;
    color: #ffffff;
    display: inline-flex;
    font-size: 0.95rem;
    font-weight: 700;
    gap: 8px;
    text-decoration: none;
    transition: color .15s ease;
}

.ds-podcast-card__watch::before {
    align-items: center;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    content: '\25B6';
    display: inline-flex;
    font-size: 0.7rem;
    height: 26px;
    transition: color .15s ease;
    justify-content: center;
    width: 26px;
}

.ds-podcast-card__footer-meta {
    color: rgba(255, 255, 255, 0.54);
    font-size: 0.85rem;
}

.ds-podcast-archive__listing {
    padding-top: 42px;
    scroll-margin-top: 110px;
}

.ds-podcast-archive__grid {
    display: grid;
    gap: 22px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 24px;
}

.ds-podcast-archive__load-more {
    display: flex;
    justify-content: center;
    margin-top: 28px;
}

.ds-podcast-archive__load-more-button {
    align-items: center;
    background: var(--ds-red);
    border: 1px solid var(--ds-red);
    border-radius: 999px;
    color: var(--ds-white);
    display: inline-flex;
    font-family: var(--ds-font-headings);
    font-size: 0.95rem;
    font-weight: 700;
    justify-content: center;
    min-width: 150px;
    padding: 13px 22px;
    text-decoration: none;
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.ds-podcast-archive__load-more-button:hover,
.ds-podcast-archive__load-more-button:focus-visible {
    color: var(--ds-white);
    opacity: 0.86;
    transform: translateY(-1px);
}

.ds-podcast-archive__load-more-button[aria-disabled="true"] {
    cursor: wait;
    opacity: 0.62;
    pointer-events: none;
}

.ds-podcast-empty {
    background: var(--ds-podcast-surface);
    border: 1px solid var(--ds-podcast-border);
    border-radius: 20px;
    color: var(--ds-podcast-muted);
    padding: 24px;
}


html[data-ds-theme-mode="runtime"][data-theme="light"] .ds-podcast-archive-page {
    --ds-podcast-bg: #f3f4f6;
    --ds-podcast-surface: #ffffff;
    --ds-podcast-surface-alt: #eef1f4;
    --ds-podcast-border: rgba(17, 17, 17, 0.08);
    --ds-podcast-text: #121212;
    --ds-podcast-muted: rgba(17, 17, 17, 0.68);
    --ds-podcast-soft: rgba(17, 17, 17, 0.08);
}


html[data-ds-theme-mode="runtime"][data-theme="light"] .ds-podcast-section__kicker,
html[data-ds-theme-mode="runtime"][data-theme="light"] .ds-podcast-section__title,
html[data-ds-theme-mode="runtime"][data-theme="light"] .ds-podcast-card__title,
html[data-ds-theme-mode="runtime"][data-theme="light"] .ds-podcast-card__watch,
html[data-ds-theme-mode="runtime"][data-theme="light"] .ds-podcast-card__footer-meta {
    color: #121212;
}

html[data-ds-theme-mode="runtime"][data-theme="light"] .ds-podcast-card__title a:hover,
html[data-ds-theme-mode="runtime"][data-theme="light"] .ds-podcast-card__title a:focus {
    color: #121212;
}

html[data-ds-theme-mode="runtime"][data-theme="light"] .ds-podcast-card__watch::before,
html[data-ds-theme-mode="runtime"][data-theme="light"] .ds-podcast-rail__nav,
html[data-ds-theme-mode="runtime"][data-theme="light"] .ds-theme-toggle {
    border-color: rgba(17, 17, 17, 0.12);
}

.ds-podcast-card__watch:hover,
.ds-podcast-card__watch:focus-visible,
html[data-ds-theme-mode="runtime"][data-theme="light"] .ds-podcast-card__watch:hover,
html[data-ds-theme-mode="runtime"][data-theme="light"] .ds-podcast-card__watch:focus-visible {
    color: var(--ds-red);
}
@media (max-width: 767px) {
    .ds-podcast-card__play {
        background: var(--ds-red);
        border-color: var(--ds-red);
        line-height: 1;
        text-indent: 1px;
    }

    .ds-podcast-card__watch::before {
        background: var(--ds-red);
        border-color: var(--ds-red);
        color: var(--ds-white);
        line-height: 1;
        text-indent: 1px;
    }

    html[data-ds-theme-mode="runtime"][data-theme="light"] .ds-podcast-card__watch::before {
        border-color: var(--ds-red);
    }
}


@media (max-width: 1140px) {
    .ds-podcast-archive__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ds-podcast-hero__inner {
        min-height: 660px;
        padding-bottom: 118px;
    }
}


@media (max-width: 1024px) {
    .ds-podcast-hero__viewport,
    .ds-podcast-hero__inner {
        min-height: 620px;
    }

    .ds-podcast-hero__topbar {
        padding-top: 92px;
    }

    .ds-podcast-section__heading {
        align-items: start;
        flex-direction: column;
    }
}




@media (max-width: 680px) {
    .ds-podcast-archive {
        padding-bottom: 42px;
    }

    .ds-podcast-rail {
        gap: 10px;
        grid-template-columns: 42px minmax(0, 1fr) 42px;
    }

    .ds-podcast-rail__nav {
        font-size: 1.25rem;
        height: 42px;
        width: 42px;
    }

    .ds-podcast-hero__topbar {
        padding-top: 88px;
    }

    .ds-theme-toggle {
        gap: 8px;
        height: 44px;
        padding: 0 11px;
    }

    .ds-podcast-hero__viewport,
    .ds-podcast-hero__inner {
        min-height: 560px;
    }

    .ds-podcast-hero__inner {
        padding-top: 142px;
        padding-bottom: 108px;
    }

    .ds-podcast-hero__title {
        font-size: 1.5rem;
    }

    .ds-podcast-hero__summary {
        font-size: 1rem;
    }

    .ds-podcast-hero__dots {
        bottom: 28px;
        gap: 10px;
    }

    .ds-podcast-hero__nav[data-ds-podcast-prev] {
        left: 14px;
    }

    .ds-podcast-hero__nav[data-ds-podcast-next] {
        right: 14px;
    }

    .ds-podcast-rail__track,
    .ds-podcast-rail__track--poster {
        gap: 14px;
        grid-auto-columns: minmax(78vw, 1fr);
    }

    .ds-podcast-archive__grid {
        grid-template-columns: 1fr;
    }
}


/* ── Single article ──────────────────────────────────── */
.ds-single {
    padding: 30px 0 46px;
}

.ds-article {
    margin: 0 auto;
    max-width: 820px;
}

.ds-article {
	background-color: transparent !important;
}

/*
 * WordPress's post_class() still adds a bare "post" class to every
 * article. Legacy ls-style.css (dailysceptic-comms/gizmo) sets
 * .post { border-radius: 5px 5px 10px 10px }; currently invisible since
 * .ds-article has no background/border of its own, but a latent trap for
 * whoever adds one later. Neutralized here rather than in the plugin CSS,
 * since .post itself may still be relied on elsewhere.
 */
.ds-article {
    border-radius: 0;
}

.ds-article-header {
    margin-bottom: 26px;
}

.ds-article-kicker-row {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 0 8px;
}

.ds-article-badge--header {
    padding: 3px 10px;
}

.ds-article-kicker {
    color: var(--ds-red);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.14em;
    margin: 0;
    text-transform: uppercase;
}

.ds-article-title {
    /* Fixed to match the legacy site's rendered desktop headline size (font-size:3em against
       its 14px body = 42px = 2.625rem at the browser-default 16px root) instead of the
       previous clamp(2.2rem, 5vw, 4.3rem) fluid range. */
    font-size: 2.625rem;
    letter-spacing: -0.05em;
    line-height: 0.97;
    margin-bottom: 12px;
}

.ds-article-standfirst {
    color: #565656;
    /* Medium-tier fallback before JS applies the real data-text-size tier (see article-actions.css). */
    font-size: 1.122rem;
    line-height: 1.7;
    margin: 0 0 16px;
}

.ds-article-header-bar {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 14px 22px;
    justify-content: space-between;
}

.ds-article-meta {
    align-items: center;
    color: #9d9d9d;
    display: flex;
    flex: 1 1 auto;
    flex-wrap: wrap;
    font-size: 0.78rem;
    gap: 10px;
    letter-spacing: 0.04em;
    margin-bottom: 0;
    min-width: 0;
    text-transform: uppercase;
}

.ds-article-meta__byline a {
    color: inherit;
    text-decoration: none;
}

.ds-article-meta__byline strong {
    color: var(--ds-red);
    font-weight: 700;
}

.ds-article-meta__date {
    letter-spacing: 0.03em;
}

.ds-article-badge {
    background: #faf6ee;
    border: 1px solid rgba(201, 168, 76, 0.35);
    border-radius: 999px;
    color: #8b6d18;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    padding: 4px 10px;
    text-transform: uppercase;
}

.ds-article-featured-image {
    margin-bottom: 28px;
}

.ds-article-featured-image img {
    border-radius: 24px;
    display: block;
    width: 100%;
}

.ds-article-content {
    /* Medium-tier fallback before JS applies the real data-text-size tier (see article-actions.css). */
    font-size: 1.122rem;
    line-height: 1.8;
}

/*
 * Blocksy's base reset zeroes margin on <figure>/<blockquote> (the underlying elements for
 * .wp-block-embed/.wp-block-quote) and only reintroduces spacing for <p> tags, so these two
 * block types otherwise sit flush against their neighbours with no gap. Also caps portrait
 * (9:16 / 1:2) video embeds — e.g. YouTube Shorts — which core's responsive-embed CSS renders
 * at height = 177.77% of width with no width cap for the default/centered case, so an
 * unconstrained one stretches to the full article column width and renders hundreds of
 * pixels tall, dominating the page especially on mobile.
 */
.ds-article-content .wp-block-quote,
.ds-article-content .wp-block-embed {
    margin-block: 1.5em;
}

/* Images inserted into article content had no explicit theme rule at all — the visible gap
   above one came entirely from the preceding paragraph's own margin-bottom, so an image had
   no equivalent space below it before the next paragraph. Matching the quote/embed treatment
   above (same margin-block value) guarantees equal spacing on both sides regardless of what
   sits above/below. */
.ds-article-content .wp-block-image {
    margin-block: 1.5em;
}

/* WordPress and Blocksy can enlarge quote variants independently. Keep standard quotes and
   pullquotes at the same size as article copy so they also follow the text-size control. */
.ds-article-content .wp-block-quote,
.ds-article-content .wp-block-pullquote,
.entry-content .wp-block-quote,
.entry-content .wp-block-pullquote,
.ds-article-content .wp-block-quote p,
.ds-article-content .wp-block-quote.is-style-large p,
.ds-article-content .wp-block-quote.is-large p,
.ds-article-content .wp-block-pullquote blockquote,
.ds-article-content .wp-block-pullquote p,
.entry-content .wp-block-quote p,
.entry-content .wp-block-quote.is-style-large p,
.entry-content .wp-block-quote.is-large p,
.entry-content .wp-block-pullquote blockquote,
.entry-content .wp-block-pullquote p {
    font-size: inherit;
}

.ds-article-content .wp-block-embed.wp-embed-aspect-9-16,
.ds-article-content .wp-block-embed.wp-embed-aspect-1-2 {
    max-width: 360px;
}

/* Podcast episodes lead with their player, followed by the episode copy. */
.ds-article--podcast .ds-article-content {
	display: flex;
	flex-direction: column;
}

.ds-article--podcast .ds-article-content .ds-podcast-shortcode {
	display: contents;
}

.ds-article--podcast .ds-article-content .ds-podcast-shortcode__media--video {
	margin-bottom: 1.75rem;
	margin-top: 0;
	order: -1;
}

.ds-article--podcast .ds-article-content > p:first-of-type {
	margin-top: 0;
}

.ds-article--podcast .ds-article-content > p:last-of-type {
	margin-bottom: 1.75rem;
}

.ds-article--podcast .ds-article-content .ds-podcast-shortcode__media--audio,
.ds-article--podcast .ds-article-content .ds-premium-podcast-player {
	margin-top: 0;
}

/*
 * Restore breathing room on mobile when the premium player is the first (or only) media
 * element in the shortcode — the zeroed margin above exists to avoid double-spacing when a
 * video precedes the audio player, but with no video it left the player sitting flush
 * against the preceding text, reading as "squashed" once stacked to one column. Leaves the
 * zero margin intact for the video+audio case (adjacent-sibling selector below re-zeroes it).
 */
@media (max-width: 680px) {
	.ds-article--podcast .ds-article-content .ds-premium-podcast-player {
		margin-top: 1.25rem;
	}

	/* More specific than the rule above, so this correctly wins back to 0 when a video
	   immediately precedes the player, regardless of source order. */
	.ds-article--podcast .ds-article-content .ds-podcast-shortcode__media--video + .ds-premium-podcast-player {
		margin-top: 0;
	}
}

.ds-article-layout__main {
    min-width: 0;
}

.ds-article-layout__comments {
    /* No padding-inline here — this sits inside <article class="ds-article--podcast">,
       which already provides matching horizontal padding (32px/24px at mobile/tablet) that
       the sibling Next/Previous buttons also inherit. Adding padding here too (as round 2
       briefly did) stacked on top of that ancestor padding and made comments narrower than
       the nav buttons. */
    min-width: 0;
}

@media (max-width: 1024px) {
    .ds-article-layout__comments {
        margin-top: 32px;
    }
}

@media (min-width: 1025px) {
    .ds-article--podcast {
        margin: 0;
        max-width: none;
        padding-inline: 48px;
    }
}

/*
 * Raised from 1025px to 1280px (2026-07-24) — right above 1025px the comments column
 * (minmax(320px, 2fr)) was being forced toward its 320px floor while the content column
 * still claimed 3fr, squashing comments at intermediate/tablet widths. Staying single-column
 * (stacked) until there's comfortably enough room for both columns avoids the squeeze.
 */
@media (min-width: 1280px) {
    .ds-article-layout--podcast {
        align-items: flex-start;
        column-gap: 48px;
        display: grid;
        grid-template-columns: minmax(0, 3fr) minmax(320px, 2fr);
        margin-top: 28px;
    }

    .ds-article-layout--podcast .ds-article-comments {
        margin: 0;
        max-width: none;
    }
}


@media (max-width: 1024px) {
    .ds-article--podcast {
        padding-inline: 32px;
    }
}


@media (max-width: 680px) {
    .ds-article--podcast {
        padding-inline: 24px;
    }
}


@media (max-width: 980px) {
    .ds-article-header-bar {
        align-items: flex-start;
        gap: 12px 18px;
    }

    .ds-article-meta {
        flex: 1 1 100%;
        width: 100%;
    }
}


@media (max-width: 760px) {
    .ds-article-header-bar {
        gap: 10px;
    }
}


.ds-article-footer {
    border-top: 1px solid rgba(17, 17, 17, 0.08);
    margin-top: 36px;
    padding-top: 28px;
}

.ds-post-navigation {
    margin-top: 36px;
}

.ds-post-navigation .post-navigation {
    column-gap: 16px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
    max-width: none;
    width: 100%;
}

.ds-post-navigation .post-navigation::after,
.ds-post-navigation .post-navigation figure,
.ds-post-navigation .post-navigation [class*="nav-item"]:empty {
    display: none;
}

.ds-post-navigation .post-navigation:has(.nav-item-prev:empty),
.ds-post-navigation .post-navigation:has(.nav-item-next:empty) {
    grid-template-columns: minmax(0, 1fr);
}

.ds-post-navigation .post-navigation [class*="nav-item"] {
    align-items: stretch;
    background: #f5f5f5;
    border-radius: 16px;
    color: var(--ds-black);
    display: flex;
    min-height: 132px;
    padding: 22px 38px;
    text-align: left;
    text-decoration: none;
    transition: background-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.ds-post-navigation .post-navigation [class*="nav-item"]:hover,
.ds-post-navigation .post-navigation [class*="nav-item"]:focus {
    background: #eeeeee;
    color: var(--ds-red);
    transform: translateY(-2px);
}

.ds-post-navigation .post-navigation .item-content {
    display: flex;
    flex: 1;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
}

.ds-post-navigation .post-navigation .item-label {
    color: rgba(17, 17, 17, 0.42);
    display: block;
    font-size: 0.95rem;
    font-weight: 700;
    margin-bottom: 18px;
    text-align: center;
    text-transform: none;
}

.ds-post-navigation .post-navigation .item-title {
    color: inherit;
    display: block !important;
    font-size: clamp(1.1rem, 1.6vw, 1.45rem);
    font-weight: 700;
    line-height: 1.28;
    margin: 0;
    word-break: normal;
}

@media (max-width: 680px) {
    .ds-post-navigation .post-navigation {
        gap: 14px;
        grid-template-columns: minmax(0, 1fr);
    }

    .ds-post-navigation .post-navigation [class*="nav-item"] {
        min-height: 0;
        padding: 20px 24px;
    }

    .ds-post-navigation .post-navigation .item-title {
        font-size: 1.08rem;
    }
}


.ds-author-box {
    /* Single column since the avatar was removed (2026-07-24) — was
       "auto minmax(0, 1fr)" with the avatar sizing the first column. */
    display: block;
}

.ds-related-posts {
    margin: 44px auto 0;
    max-width: var(--ds-max-width);
    padding: 0 20px;
}

/* ── Archive / author ────────────────────────────────── */
.ds-archive,
.ds-author {
    padding: 30px 0 46px;
}

.ds-archive-header,
.ds-author-header {
    margin-bottom: 28px;
}

.ds-archive-description {
    color: var(--ds-grey-mid);
    max-width: 42rem;
}

.ds-author-header {
    /* Single column since the avatar was removed (2026-07-24) — was
       "auto minmax(0, 1fr)" with the avatar sizing the first column. */
    display: block;
}

.ds-author-stats {
    color: var(--ds-grey-mid);
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 12px;
}

.ds-archive-lead {
    margin-bottom: 28px;
}

/* ── Landing templates ───────────────────────────────── */
.ds-landing {
    padding: 30px 0 46px;
}

.ds-landing-hero {
    align-items: end;
    display: grid;
    gap: 20px;
    grid-template-columns: minmax(0, 1.2fr) auto;
    margin-bottom: 30px;
}

.ds-landing-layout {
    display: grid;
    gap: 28px;
    grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
}

.ds-landing-main,
.ds-landing-panel {
    background: var(--ds-white);
    border: 1px solid rgba(17, 17, 17, 0.08);
    border-radius: 22px;
}

.ds-landing-main {
    padding: 28px;
}

.ds-landing-side {
    display: grid;
    gap: 18px;
}

.ds-landing-panel {
    padding: 22px;
}

/* ── Donation prompt ─────────────────────────────────── */
.ds-donation-prompt {
    background: #fff7f8;
    border: 1px solid rgba(208, 2, 27, 0.12);
    border-left: 4px solid var(--ds-red);
    border-radius: 18px;
    margin: 28px 0;
    padding: 24px;
}

/* ── Responsive ──────────────────────────────────────── */
@media (max-width: 1140px) {
    .ds-premium-strip__track,
    .ds-card-grid--4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ds-cta-band,
    .ds-community-teaser,
    .ds-landing-layout {
        grid-template-columns: 1fr;
    }
}


@media (max-width: 1024px) {
    .ds-hero__grid,
    .ds-category-grid__layout,
    .ds-homepage-intro,
    .ds-landing-hero,
    .ds-homepage-hero-row {
        grid-template-columns: 1fr;
    }

    .ds-ticker__inner {
        grid-template-columns: 1fr;
        gap: 18px;
        padding: 20px 0 24px;
    }


    .ds-trending-strip__track {
        display: flex;
        gap: 0;
        margin: 0 -24px;
        overflow-x: auto;
        padding: 0 24px 4px;
        scroll-padding-inline: 24px;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }

    .ds-trending-strip__track::-webkit-scrollbar {
        display: none;
    }

    .ds-trending-strip__item {
        border-left: 0;
        flex: 0 0 min(78vw, 420px);
        scroll-snap-align: start;
    }

    .ds-trending-strip__item + .ds-trending-strip__item {
        border-left: 1px solid rgba(255, 255, 255, 0.16);
    }

    .ds-trending-strip__link {
        padding: 20px 24px;
    }

    .ds-card-grid,
    .ds-card-grid--3,
    .ds-shorts-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}


@media (max-width: 680px) {
    .ds-container {
        padding: 0 16px;
    }

    .ds-related-posts {
        padding: 0 16px;
    }

    .ds-ticker__inner {
        gap: 14px;
        padding: 18px 0 22px;
    }

    /* The homepage sections already provide the 16px mobile gutter. */

    .ds-trending-strip__label {
        padding-left: 16px;
    }

    .ds-trending-strip__track {
        margin: 0 -16px;
        padding: 0 16px 4px;
        scroll-padding-inline: 16px;
    }

    .ds-trending-strip__item {
        flex-basis: 85vw;
    }

    .ds-trending-strip__link {
        gap: 18px;
        padding: 18px 18px 18px 20px;
    }

    .ds-trending-strip__num {
        flex-basis: 54px;
        font-size: 20px;
        height: 54px;
        width: 54px;
    }

    .ds-trending-strip__title {
        font-size: 1.15rem;
        line-height: 1.38;
    }

    .ds-card-grid,
    .ds-card-grid--3,
    .ds-card-grid--4,
    .ds-shorts-grid,
    .ds-premium-strip__track {
        grid-template-columns: 1fr;
    }

    .ds-latest-item a,
    .ds-author-box,
    .ds-author-header {
        grid-template-columns: 1fr;
    }

    .ds-cta-band,
    .ds-community-teaser,
    .ds-landing-main,
    .ds-landing-panel,
    .ds-membership-points,
    .ds-cta-band__panel,
    .ds-community-teaser__actions {
        padding: 18px;
    }
}


/* ── Comments / wpDiscuz ────────────────────────────── */
.ds-article-comments {
    --ds-comments-text: #4f4f4f;
    --ds-comments-text-strong: #1b1b1b;
    --ds-comments-accent: var(--ds-red);
    background: transparent;
    border: 0;
    margin: 44px 0 0;
    max-width: 750px;
    padding: 0;
}

.ds-article-comments-container {
    margin: 0 auto;
    max-width: 820px;
    padding-inline: 20px;
}

/*
 * .ds-article-comments-container--with-donation is nested inside .ds-article-layout--with-
 * donation (2026-07-24, moved from a plain sibling-after-</article> position) so it can be
 * reordered above the newsletter/donation aside on mobile/tablet. Below 1180px that layout
 * has no grid/flex of its own (plain block stacking), so this makes it one here specifically
 * to enable `order`; at >=1180px it re-joins the existing 2-column grid, spanning full width
 * on its own row below main+donation so desktop looks exactly as it did before.
 */
@media (max-width: 1179px) {
    .ds-article-layout--with-donation {
        display: flex;
        flex-direction: column;
    }

    .ds-article-layout--with-donation .ds-article-layout__main {
        order: 1;
    }

    .ds-article-comments-container--with-donation {
        order: 2;
    }

    .ds-article-layout--with-donation .ds-article-layout__donation {
        order: 3;
    }
}

@media (min-width: 1180px) {
    .ds-article-comments-container--with-donation {
        grid-column: 1 / -1;
    }

    .ds-article-layout--with-donation .ds-article-comments-container--with-donation {
        box-sizing: border-box;
        max-width: 1208px;
        padding-right: 376px;
    }
}


.ds-article-layout--podcast .ds-article-comments {
    --ds-comments-text: #4f4f4f;
    --ds-comments-text-strong: #1b1b1b;
    background: #fff;
    border: 1px solid rgba(17, 17, 17, 0.08);
    border-radius: 26px;
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.08);
    color: #1b1b1b;
    margin-top: 0;
    max-width: none;
    padding: 30px 34px 34px;
}

.ds-article-comments__header {
    margin-bottom: 12px;
}

/* Keep the wpDiscuz form close to the section heading without affecting
 * spacing inside the editor or comment thread. */
.ds-article-comments #wpdcom .wpd-form-head {
    margin-top: 0;
}

.ds-article-layout--podcast .ds-article-comments__header {
    margin-bottom: 10px;
}

.ds-article-comments__heading .ds-section-label {
    margin-bottom: 8px;
}

.ds-article-comments__heading .ds-section-title {
    font-size: clamp(1.75rem, 3vw, 2.6rem);
}

.ds-article-comments__count {
    color: var(--ds-comments-text);
    font-size: 1rem;
    margin: 6px 0 0;
}

.ds-theme-toggle--comments {
    flex: 0 0 auto;
}

/* Small text-resizer size (1.16rem) as the default for all comment text,
 * overriding wpDiscuz's own defaults (15px top-level / 14px replies) —
 * independent of the article text-resizer, applies uniformly to both
 * top-level comments and nested replies. */
.ds-article-comments #wpdcom .wpd-comment-text,
.ds-article-comments #wpdcom .wpd-comment.wpd-reply .wpd-comment-text {
    font-size: 1.16rem;
}

/* Keep Android Chrome from inflating only the article/comment column. The
 * typography remains user-zoomable, but comments retain the intended mobile
 * scale alongside the fixed-size site header. */
@media (max-width: 767px) {
    .ds-article-comments #wpdcom .wpd-comment-text,
    .ds-article-comments #wpdcom .wpd-comment.wpd-reply .wpd-comment-text {
        -webkit-text-size-adjust: 100%;
        font-size: 18px;
        line-height: 1.55;
        text-size-adjust: 100%;
    }
}

html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-article-comments {
    --ds-comments-text: rgba(255, 255, 255, 0.72);
    --ds-comments-text-strong: #f4f4f4;
}

.ds-article-layout--podcast .ds-article-comments #wpdcom,
.ds-article-layout--podcast .ds-article-comments #wpdcom * {
    color: inherit;
}

.ds-article-layout--podcast .ds-article-comments .wpd-form-wrap,
.ds-article-layout--podcast .ds-article-comments .wpd-thread-wrapper {
    background: transparent;
}

.ds-article-layout--podcast .ds-article-comments .wpd-form-head {
    align-items: center;
    border-bottom: 1px solid rgba(17, 17, 17, 0.12);
    margin-bottom: 12px;
    padding-bottom: 12px;
}

.ds-article-layout--podcast .ds-article-comments .wpd-sbs-toggle,
.ds-article-layout--podcast .ds-article-comments .wpd-login,
.ds-article-layout--podcast .ds-article-comments .wpd-login a,
.ds-article-layout--podcast .ds-article-comments .wpd-thread-info,
.ds-article-layout--podcast .ds-article-comments .wpd-thread-filter,
.ds-article-layout--podcast .ds-article-comments .wpd-thread-filter a,
.ds-article-layout--podcast .ds-article-comments .wpd-thread-filter select,
.ds-article-layout--podcast .ds-article-comments .wpd-thread-head,
.ds-article-layout--podcast .ds-article-comments .wpd-comment-text,
.ds-article-layout--podcast .ds-article-comments .wpd-comment-text p,
.ds-article-layout--podcast .ds-article-comments .wpd-comment-text span,
.ds-article-layout--podcast .ds-article-comments .wpd-comment-author,
.ds-article-layout--podcast .ds-article-comments .wpd-comment-author a,
.ds-article-layout--podcast .ds-article-comments .wpd-comment-date,
.ds-article-layout--podcast .ds-article-comments .wpd-comment-right,
.ds-article-layout--podcast .ds-article-comments .wpd-comment-reply,
.ds-article-layout--podcast .ds-article-comments .wpd-comment-share,
.ds-article-layout--podcast .ds-article-comments .wpd-label,
.ds-article-layout--podcast .ds-article-comments .wpd-field,
.ds-article-layout--podcast .ds-article-comments .wpd-field label,
.ds-article-layout--podcast .ds-article-comments .wc-form-footer,
.ds-article-layout--podcast .ds-article-comments .wpdiscuz_subscribe_status,
.ds-article-layout--podcast .ds-article-comments .wpdiscuz_subscribe_status a {
    color: #1b1b1b;
}

.ds-article-layout--podcast .ds-article-comments .wpd-login a,
.ds-article-layout--podcast .ds-article-comments .wpd-comment-author,
.ds-article-layout--podcast .ds-article-comments .wpd-comment-author a,
.ds-article-layout--podcast .ds-article-comments .wpd-comment-reply,
.ds-article-layout--podcast .ds-article-comments .wpd-comment-share,
.ds-article-layout--podcast .ds-article-comments .wpdiscuz_subscribe_status a {
    color: var(--ds-red);
}

.ds-article-layout--podcast .ds-article-comments .wpd-textarea-wrap,
.ds-article-layout--podcast .ds-article-comments .wc-field-textarea,
.ds-article-layout--podcast .ds-article-comments .ql-toolbar,
.ds-article-layout--podcast .ds-article-comments .ql-container,
.ds-article-layout--podcast .ds-article-comments textarea,
.ds-article-layout--podcast .ds-article-comments .wpd-form-row .wc-field-textarea textarea {
    background: #fff;
    color: #1b1b1b;
}

.ds-article-layout--podcast .ds-article-comments .wc-field-textarea,
.ds-article-layout--podcast .ds-article-comments .ql-container,
.ds-article-layout--podcast .ds-article-comments textarea,
.ds-article-layout--podcast .ds-article-comments .wpd-form-row .wc-field-textarea textarea,
.ds-article-layout--podcast .ds-article-comments .wpd-form-row .wpdiscuz-item input {
    border-color: rgba(17, 17, 17, 0.12);
    border-radius: 12px;
}

.ds-article-layout--podcast .ds-article-comments .wc-field-textarea textarea::placeholder,
.ds-article-layout--podcast .ds-article-comments textarea::placeholder {
    color: rgba(27, 27, 27, 0.45);
}

.ds-article-layout--podcast .ds-article-comments .wpd-thread-head,
.ds-article-layout--podcast .ds-article-comments .wpd-comment-wrap {
    border-color: rgba(17, 17, 17, 0.12);
}

.ds-article-layout--podcast .ds-article-comments .wpd-avatar img,
.ds-article-layout--podcast .ds-article-comments .wc-comment-ava img {
    background: #f3f4f6;
    border-radius: 50%;
}

.ds-article-layout--podcast .ds-article-comments .wpd-thread-head,
.ds-article-layout--podcast .ds-article-comments .wpd-form-wrap,
.ds-article-layout--podcast .ds-article-comments .wpd-comment-wrap {
    margin-top: 0;
}

@media (max-width: 680px) {
    .ds-article-comments {
        margin: 36px auto 0;
        max-width: 100%;
    }
}


/* ── Global Theme Toggle / Sitewide Dark Mode Overrides ───────────── */
.ds-site-theme-toggle {
    margin-top: -72px;
    pointer-events: none;
    position: relative;
    z-index: 90;
}

.ds-site-theme-toggle__inner {
    display: flex;
    justify-content: flex-end;
}

.ds-site-theme-toggle .ds-theme-toggle {
    pointer-events: auto;
}

@media (max-width: 1024px) {
    .ds-site-theme-toggle {
        margin-top: -68px;
    }
}


@media (max-width: 680px) {
    .ds-site-theme-toggle {
        margin-top: -62px;
        margin-bottom: 0;
    }
}


html[data-ds-theme-mode="runtime"][data-theme="dark"] {
    color-scheme: dark;
}

html[data-ds-theme-mode="runtime"][data-theme="dark"] body,
html[data-ds-theme-mode="runtime"][data-theme="dark"] #main-container,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .site-main {
    --theme-text-color: #eeeeee;
    --theme-link-initial-color: #ffffff;
    --theme-link-hover-color: rgba(255, 255, 255, 0.82);
    background: #111111;
    color: #eeeeee;
}

html[data-ds-theme-mode="runtime"][data-theme="dark"] .ct-header {
    --theme-text-color: #f5f5f5;
    --theme-link-initial-color: #f5f5f5;
    --theme-link-hover-color: rgba(245, 245, 245, 0.82);
    color: #f5f5f5;
}

html[data-ds-theme-mode="runtime"][data-theme="dark"] .ct-header [data-row] {
    background: #111111;
    border-color: rgba(255, 255, 255, 0.08);
    box-shadow: none;
}

html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-single,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-archive,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-author,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-landing {
    background: #111111;
    color: #eeeeee;
}

html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-section-title,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-article-title,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-authors-showcase__name,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-landing-main,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-landing-panel {
    color: #f5f5f5;
}

html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-section-copy,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-article-standfirst,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-article-content,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-author-stats,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-archive-description {
    color: rgba(255, 255, 255, 0.72);
}

html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-authors-showcase__strapline {
    color: #ffffff;
}

html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-article-footer {
    border-top-color: rgba(255, 255, 255, 0.12);
}

html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-author-box {
    background: #171717;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 24px;
    padding: 24px;
}

html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-single article,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-single section,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-single .ct-container,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-single .ct-container-full,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-single .ct-container-narrow {
    background: transparent;
}

html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-article-title a,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-related-posts a,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-author-box a {
    color: #f5f5f5;
}

html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-author-box a.ds-view-more:hover,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-author-box a.ds-view-more:focus {
    color: var(--ds-red);
}

html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-article-meta,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-article-meta a,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-article-content p,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-article-content li,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-article-content blockquote,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-article-content figcaption {
    color: rgba(255, 255, 255, 0.78);
}

html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-article-content h1,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-article-content h2,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-article-content h3,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-article-content h4,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-article-content h5,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-article-content h6,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-article-content strong,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-article-content b {
    color: #f5f5f5;
}

html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-article-content a {
    color: var(--ds-red);
}

html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-article-featured-image img {
    box-shadow: 0 22px 56px rgba(0, 0, 0, 0.32);
}

html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-donation-prompt {
    background: #171717;
    border-color: rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.78);
}

/* The nested light panel (e.g. the "We are funded by our readers..." donate CTA inside
   .ds-donation-prompt) never had a dark-mode override, so its near-white background stayed
   light while the page's global dark-mode text color went white — making the text unreadable. */
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-cta-band__panel,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-cta-band__fallback,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-membership-points,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-community-teaser__actions {
    background: rgba(23, 23, 23, 0.9);
    border-color: rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.78);
}

/* The actual "We are funded by our readers..." mid-article donate CTA is a DB-stored content
   block (ct_content_block post 301385, "Donation Prompt — Mid Article") using its own class,
   .ds-donation-prompt-block, with an INLINE style="background-color:#F5F5F5" — inline styles
   beat any class-based rule, so !important is required here to override it in dark mode. */
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-donation-prompt-block {
    background-color: #171717 !important;
    color: rgba(255, 255, 255, 0.78);
}

html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-donation-prompt-block h3 {
    color: var(--ds-white, #FFFFFF);
}


/* ── Donation Widget ────────────────────────────────── */

.ds-article-layout__donation {
    margin-top: 36px;
    min-width: 0;
}

.ds-fsu-widget {
    display: block;
    margin: 48px auto 0;
    max-width: 336px;
}

.ds-fsu-widget video {
    border-radius: var(--ds-card-radius, 24px);
    display: block;
    height: auto;
    width: 100%;
}

.ds-fsu-widget:focus-visible {
    border-radius: var(--ds-card-radius, 24px);
    outline: 3px solid var(--ds-red);
    outline-offset: 4px;
}

/* The homepage version inherits .ds-container; podcast pages need the same
 * frame because their single-post wrapper is intentionally full width. */

.ds-donation-widget {
    color: var(--ds-black);
    font-family: var(--ds-donation-font, var(--ds-font-body));
}

.ds-donation-widget button,
.ds-donation-widget input,
.ds-donation-widget label,
.ds-donation-widget p,
.ds-donation-widget span {
    font-family: inherit;
}

.ds-donation-widget__shell {
    background: #fff;
    border: 1px solid rgba(17, 17, 17, 0.08);
    border-radius: 24px;
    box-shadow: 0 14px 36px rgba(17, 17, 17, 0.12);
    overflow: hidden;
}

.ds-donation-widget__header {
    align-items: center;
    background: var(--ds-red);
    color: var(--ds-white);
    display: flex;
    justify-content: center;
    padding: 20px 32px;
}

.ds-donation-widget__title {
    color: inherit;
    font-family: inherit;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1;
    margin: 0;
}

.ds-donation-widget__body {
    padding: 32px;
}

.ds-donation-widget__tabs {
    background: #f3f4f6;
    border-radius: 16px;
    display: flex;
    padding: 6px;
}

.ds-donation-widget__tab {
    appearance: none;
    background: transparent;
    border: 0;
    border-radius: 12px;
    color: #4b5563;
    cursor: pointer;
    flex: 1;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.1;
    min-height: 52px;
    padding: 12px 16px;
    transition: background 0.18s ease, color 0.18s ease;
    white-space: nowrap;
}

.ds-donation-widget__tab:hover:not(.is-active) {
    background: #e5e7eb;
}

.ds-donation-widget__tab.is-active {
    background: var(--ds-red);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
    color: var(--ds-white);
}

.ds-donation-widget__note {
    color: #6b7280;
    font-size: 1rem;
    line-height: 1.625;
    margin: 24px auto 20px;
    max-width: 24rem;
    text-align: center;
}

.ds-donation-widget__panel {
    margin-top: 0;
}

.ds-donation-widget__options {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 40px;
}

.ds-donation-widget__option {
    align-items: center;
    appearance: none;
    background: #fff;
    border: 2px solid #f3f4f6;
    border-radius: 16px;
    color: #222;
    cursor: pointer;
    display: flex;
    gap: 16px;
    justify-content: flex-start;
    padding: 24px;
    text-align: left;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
    width: 100%;
}

.ds-donation-widget__option:hover:not(.is-selected):not([disabled]) {
    border-color: #fecaca;
}

.ds-donation-widget__option.is-selected {
    background: rgba(254, 242, 242, 0.3);
    border-color: var(--ds-red);
    box-shadow: inset 0 0 0 1px var(--ds-red);
}

.ds-donation-widget__option[disabled] {
    color: #c6c0c0;
    cursor: not-allowed;
}

.ds-donation-widget__radio {
    border: 2px solid #d1d5db;
    border-radius: 50%;
    display: inline-flex;
    flex: 0 0 24px;
    height: 24px;
    position: relative;
    width: 24px;
}

.ds-donation-widget__option.is-selected .ds-donation-widget__radio {
    border-color: var(--ds-red);
}

.ds-donation-widget__option.is-selected .ds-donation-widget__radio::after {
    background: var(--ds-red);
    border-radius: 50%;
    content: '';
    height: 12px;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 12px;
}

.ds-donation-widget__option-text {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ds-donation-widget__option-label {
    color: #1f2937;
    font-family: inherit;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.15;
}

.ds-donation-widget__option-sub {
    color: #6b7280;
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1.2;
}

.ds-donation-widget__custom-field {
    margin-top: 8px;
    margin-bottom: 20px;
}

.ds-donation-widget__custom-field label {
    color: #6f6565;
    display: block;
    font-size: 0.92rem;
    font-weight: 600;
    margin-bottom: 8px;
}

.ds-donation-widget__custom-input-wrap {
    align-items: center;
    background: #fff;
    border: 1px solid rgba(208, 2, 27, 0.24);
    border-radius: 14px;
    display: flex;
    gap: 10px;
    min-height: 54px;
    padding: 0 16px;
}

.ds-donation-widget__custom-input-wrap.is-invalid {
    border-color: var(--ds-red);
}

.ds-donation-widget__custom-input-wrap span {
    color: #6a4f4f;
    font-size: 1.15rem;
    font-weight: 700;
}

.ds-donation-widget__custom-input {
    background: transparent;
    border: 0;
    color: #222;
    flex: 1 1 auto;
    font-size: 1.1rem;
    min-width: 0;
    outline: none;
}

.ds-donation-widget__error {
    color: var(--ds-red);
    font-size: 0.92rem;
    margin: 8px 2px 0;
}

.ds-donation-widget__next,
.ds-newsletter-widget .fluentform .ff-btn-submit {
    appearance: none;
    background: var(--ds-red);
    border: 0;
    border-radius: 16px;
    box-shadow: 0 10px 15px -3px rgba(254, 202, 202, 0.5), 0 4px 6px -4px rgba(254, 202, 202, 0.5);
    color: var(--ds-white);
    cursor: pointer;
    font-family: inherit;
    font-size: 1.25rem;
    font-weight: 700;
    padding: 20px 0;
    transition: background-color 0.15s ease, transform 0.1s ease;
    width: 100%;
}

.ds-donation-widget__next:hover:not(:disabled),
.ds-newsletter-widget .fluentform .ff-btn-submit:hover:not(:disabled) {
    background: var(--ds-red-dark);
}

.ds-donation-widget__next:active:not(:disabled),
.ds-newsletter-widget .fluentform .ff-btn-submit:active:not(:disabled) {
    transform: scale(0.99);
}

.ds-donation-widget__next:disabled,
.ds-newsletter-widget .fluentform .ff-btn-submit:disabled {
    background: #d9d0d0;
    box-shadow: none;
    cursor: not-allowed;
}

.ds-donation-widget__checkout { font-family: 'Poppins', sans-serif; }
.ds-donation-widget__checkout *, .ds-donation-widget__checkout input, .ds-donation-widget__checkout button { font-family: inherit; }
.ds-donation-widget__checkout-summary { color: var(--ds-black); font-size: 1.45rem; font-weight: 500; line-height: 1.35; margin: 0 0 28px; text-align: center; }
.ds-donation-widget__checkout-summary strong { font-weight: 700; }
.ds-donation-widget__amount-field { display: none !important; }
.ds-donation-widget__back { align-items: center; appearance: none; background: #fff; border: 1px solid #d8ddea; border-radius: 999px; color: #4b5563; cursor: pointer; display: inline-flex; font: inherit; font-size: .92rem; font-weight: 600; gap: 7px; line-height: 1; margin: 0 0 20px; padding: 10px 14px 10px 11px; transition: border-color .15s ease, box-shadow .15s ease, color .15s ease; }
.ds-donation-widget__back svg { fill: currentColor; height: 16px; width: 16px; }
.ds-donation-widget__back:hover, .ds-donation-widget__back:focus-visible { border-color: var(--ds-red); box-shadow: none; color: var(--ds-red); outline: 0; }
.ds-donation-widget__form .ff-el-form-control, .ds-donation-widget__form input { border-color: #d8ddea; border-radius: 12px; box-shadow: none; color: var(--ds-black); font-family: inherit; }
.ds-donation-widget__form .ff-el-form-control:focus, .ds-donation-widget__form input:focus { border-color: var(--ds-red) !important; box-shadow: none !important; outline: 0; }
.ds-donation-widget__form .ff_stripe_card_element.StripeElement--focus { border: 1px solid var(--ds-red) !important; box-shadow: none !important; outline: 0; }
.ds-donation-widget__form .ff-btn-submit { appearance: none; background: var(--ds-red) !important; border: 0 !important; border-radius: 16px !important; box-shadow: 0 10px 15px -3px rgba(254, 202, 202, .5), 0 4px 6px -4px rgba(254, 202, 202, .5) !important; color: var(--ds-white) !important; cursor: pointer; font-family: inherit !important; font-size: 1.25rem !important; font-weight: 700 !important; padding: 20px 0 !important; transition: background-color .15s ease, transform .1s ease; width: 100%; }
.ds-donation-widget__form .ff-btn-submit:hover:not(:disabled), .ds-donation-widget__form .ff-btn-submit:focus-visible { background: var(--ds-red-dark) !important; outline: 0; }
.ds-donation-widget__secure {
    align-items: center;
    color: #6b7280;
    display: flex;
    font-size: 0.875rem;
    gap: 8px;
    justify-content: center;
    margin: 16px 0 0;
}

.ds-donation-widget__secure svg {
    fill: currentColor;
    height: 16px;
    width: 16px;
}

/*
 * Archive-page-only: the shared @media(min-width:1180px) desktop/tablet switch below is reused
 * by every "legacy page" template (About, Premium, Contact, single posts, etc.), so it's left
 * untouched for all of them — instead this duplicates the same side-by-side layout at a lower,
 * archive-only threshold (1180 * 0.8 = 944px), so on the Archive page specifically the
 * side-by-side desktop layout survives 20% further into a shrinking window before switching to
 * the stacked tablet layout.
 */
@media (min-width: 944px) and (max-width: 1179.98px) {
    .ds-archive-explorer.ds-article--with-donation-widget {
        max-width: 1208px;
    }

    .ds-archive-explorer .ds-article-layout--with-donation {
        align-items: start;
        column-gap: 40px;
        display: grid;
        grid-template-columns: minmax(0, 1fr) 336px;
        margin-top: 0;
    }

    .ds-archive-explorer .ds-article-layout--with-donation .ds-article-layout__main {
        max-width: none;
    }

    .ds-archive-explorer .ds-article-layout--with-donation .ds-article-layout__donation {
        margin-top: 0;
        width: 336px;
    }

    .ds-archive-explorer .ds-article-layout--with-donation .ds-donation-widget {
        width: 336px;
    }

    .ds-archive-explorer .ds-article-layout--with-donation .ds-donation-widget__shell {
        position: sticky;
        top: 120px;
        width: 336px;
    }

    .ds-archive-explorer.ds-article--with-donation-widget .ds-donation-widget__header {
        padding: 18px 22px;
    }

    .ds-archive-explorer.ds-article--with-donation-widget .ds-donation-widget__body {
        padding: 18px 18px 20px;
    }
}

@media (min-width: 1180px) {
    .ds-article--with-donation-widget {
        max-width: 1208px;
    }

    .ds-article-layout--with-donation {
        align-items: start;
        column-gap: 40px;
        display: grid;
        grid-template-columns: minmax(0, 1fr) 336px;
        margin-top: 0;
    }

    .ds-article-layout--with-donation .ds-article-layout__main {
        max-width: none;
    }

    .ds-article-layout--with-donation .ds-article-layout__donation {
        margin-top: 0;
        width: 336px;
    }

    .ds-article-layout--with-donation .ds-donation-widget {
        width: 336px;
    }

    .ds-article-layout--with-donation .ds-donation-widget__shell {
        position: sticky;
        top: 120px;
        width: 336px;
    }

    .ds-article--with-donation-widget .ds-donation-widget__header {
        padding: 18px 22px;
    }

    .ds-article--with-donation-widget .ds-donation-widget__body {
        padding: 18px 18px 20px;
    }

    .ds-article--with-donation-widget .ds-donation-widget__tabs {
        gap: 6px;
        padding: 5px;
    }

    .ds-article--with-donation-widget .ds-donation-widget__tab {
        font-size: 0.88rem;
        min-height: 42px;
        padding: 0 4px;
    }
}


@media (max-width: 1179px) {
    .ds-article--with-donation-widget {
        max-width: 860px;
        padding-inline: 32px;
    }
}


@media (max-width: 680px) {
    .ds-article--with-donation-widget {
        padding-inline: 20px;
    }
}



/* ── Floating Site Theme Toggle ─────────────────────────────── */
.ds-site-theme-toggle {
    bottom: max(20px, env(safe-area-inset-bottom));
    margin: 0;
    pointer-events: none;
    position: fixed;
    right: max(20px, env(safe-area-inset-right));
    z-index: 100;
}

.ds-site-theme-toggle .ct-container,
.ds-site-theme-toggle__inner {
    display: block;
    margin: 0;
    max-width: none;
    padding: 0;
    width: auto;
}

.ds-site-theme-toggle .ds-theme-toggle {
    align-items: center;
    background: rgba(12, 12, 13, 0.94);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 999px;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.26);
    color: rgba(255, 255, 255, 0.62);
    gap: 4px;
    height: 52px;
    padding: 5px;
    transform: scale(0.8);
    transform-origin: bottom right;
    pointer-events: auto;
}

.ds-site-theme-toggle .ds-theme-toggle__icon {
    align-items: center;
    border-radius: 50%;
    display: inline-flex;
    font-size: 1.2rem;
    height: 40px;
    justify-content: center;
    opacity: 0.68;
    transition: background-color 0.2s ease, color 0.2s ease, opacity 0.2s ease;
    width: 40px;
}

.ds-site-theme-toggle .ds-theme-toggle__track {
    display: none;
}

html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-site-theme-toggle .ds-theme-toggle__icon--moon,
html[data-ds-theme-mode="runtime"][data-theme="light"] .ds-site-theme-toggle .ds-theme-toggle__icon--sun {
    background: #f5f5f4;
    color: #111111;
    opacity: 1;
}

html[data-ds-theme-mode="runtime"][data-theme="light"] .ds-site-theme-toggle .ds-theme-toggle {
    background: rgba(255, 255, 255, 0.94);
    border-color: rgba(17, 17, 17, 0.14);
    box-shadow: 0 12px 30px rgba(17, 17, 17, 0.16);
    color: rgba(17, 17, 17, 0.74);
}

.ds-site-theme-toggle .ds-theme-toggle:focus-visible {
    outline: 3px solid var(--ds-red, #d0021b);
    outline-offset: 3px;
}

@media (max-width: 680px) {
    .ds-site-theme-toggle {
        bottom: max(16px, env(safe-area-inset-bottom));
        right: max(16px, env(safe-area-inset-right));
    }

    /* Was 56px/44px here -- bigger than the 52px/40px desktop size, which is backwards: a
       fixed-position button obscures more of the page on a small screen than a large one, so
       mobile should get the smaller footprint, not the larger one. Sized down (with the
       existing transform: scale(0.8) from the base rule still applying) so it covers noticeably
       less of whatever text happens to scroll underneath it. */
    .ds-site-theme-toggle .ds-theme-toggle {
        height: 44px;
    }

    .ds-site-theme-toggle .ds-theme-toggle__icon {
        height: 34px;
        width: 34px;
    }
}


@media (prefers-reduced-motion: reduce) {
    .ds-site-theme-toggle .ds-theme-toggle__icon {
        transition: none;
    }
}


/* ── Sitewide Dark-Mode Surface Coverage ───────────────────── */
html[data-ds-theme-mode="runtime"][data-theme="dark"] {
    --ds-theme-surface: #171717;
    --ds-theme-surface-raised: #202020;
    --ds-theme-border: rgba(255, 255, 255, 0.14);
    --ds-theme-muted: rgba(255, 255, 255, 0.72);
    --ds-theme-text: #f5f5f5;
}

html[data-ds-theme-mode="runtime"][data-theme="dark"] #main-container,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ct-footer,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ct-footer [data-row],
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ct-sidebar .widget,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ct-related-posts,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ct-share-box,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ct-pagination,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ct-breadcrumbs,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .entry-card {
    background-color: var(--ds-theme-surface);
    border-color: var(--ds-theme-border);
    color: var(--ds-theme-text);
}

html[data-ds-theme-mode="runtime"][data-theme="dark"] .ct-footer,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ct-footer a,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ct-sidebar .widget,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ct-sidebar .widget a,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ct-related-posts,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ct-related-posts a,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .entry-card,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .entry-card a,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .entry-content,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .entry-content p,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .entry-content li,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .entry-content figcaption {
    color: var(--ds-theme-muted);
}

html[data-ds-theme-mode="runtime"][data-theme="dark"] .entry-content h1,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .entry-content h2,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .entry-content h3,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .entry-content h4,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .entry-content h5,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .entry-content h6,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .entry-content strong,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .entry-content b,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .entry-content a {
    color: var(--ds-theme-text);
}

html[data-ds-theme-mode="runtime"][data-theme="dark"] .ct-popup-content,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ct-popup-inner article,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-donation-widget__shell {
    background: var(--ds-theme-surface);
    border-color: var(--ds-theme-border);
    color: var(--ds-theme-text);
}

html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-donation-widget__tabs,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-donation-widget__option,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-donation-widget__custom-input-wrap {
    background: var(--ds-theme-surface-raised);
    border-color: var(--ds-theme-border);
    color: var(--ds-theme-text);
}

html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-donation-widget__tab,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-donation-widget__note,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-donation-widget__option-label,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-donation-widget__option-sub,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-donation-widget__custom-field label,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-donation-widget__custom-input-wrap span,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-donation-widget__custom-input,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-donation-widget__secure {
    color: var(--ds-theme-text);
}

html[data-ds-theme-mode="runtime"][data-theme="dark"] .mepr-form,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .mepr-account-form,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .mepr-login-form,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .mepr-price-box,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .mepr-product-group,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .mepr-payment-methods-wrapper,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .mepr-account-table,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .mp_wrapper {
    background: var(--ds-theme-surface);
    border-color: var(--ds-theme-border);
    color: var(--ds-theme-text);
}

html[data-ds-theme-mode="runtime"][data-theme="dark"] .mepr-form label,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .mepr-form .mp-form-label,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .mepr-account-form,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .mepr-account-form a,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .mepr-account-table,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .mepr-account-table a {
    color: var(--ds-theme-text);
}

html[data-ds-theme-mode="runtime"][data-theme="dark"] .mepr-form input,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .mepr-form select,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .mepr-form textarea,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .mepr-account-form input,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .mepr-account-form select,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .mepr-account-form textarea,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .fluentform .ff-el-form-control,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .fluentform input,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .fluentform select,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .fluentform textarea {
    background: #111111;
    border-color: var(--ds-theme-border);
    color: var(--ds-theme-text);
}

html[data-ds-theme-mode="runtime"][data-theme="dark"] .mepr-form input::placeholder,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .mepr-account-form input::placeholder,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .fluentform input::placeholder,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .fluentform textarea::placeholder {
    color: rgba(255, 255, 255, 0.5);
}

html[data-ds-theme-mode="runtime"][data-theme="dark"] .fluentform,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .fluentform .ff-el-input--label,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .fluentform .ff-el-form-control,
html[data-ds-theme-mode="runtime"][data-theme="dark"] #wpdcom,
html[data-ds-theme-mode="runtime"][data-theme="dark"] #wpdcom a,
html[data-ds-theme-mode="runtime"][data-theme="dark"] #wpdcom .wpd-comment-text,
html[data-ds-theme-mode="runtime"][data-theme="dark"] #wpdcom .wpd-form-wrap,
html[data-ds-theme-mode="runtime"][data-theme="dark"] #wpdcom .wpd-comment-wrap {
    color: var(--ds-theme-text);
}

html[data-ds-theme-mode="runtime"][data-theme="dark"] #wpdcom .wpd-form-wrap,
html[data-ds-theme-mode="runtime"][data-theme="dark"] #wpdcom .wpd-comment-wrap,
html[data-ds-theme-mode="runtime"][data-theme="dark"] #wpdcom .wpd-comment-left,
html[data-ds-theme-mode="runtime"][data-theme="dark"] #wpdcom .wpd-comment-right {
    background: var(--ds-theme-surface);
    border-color: var(--ds-theme-border);
}

html[data-ds-theme-mode="runtime"][data-theme="dark"] #wpdcom input,
html[data-ds-theme-mode="runtime"][data-theme="dark"] #wpdcom textarea {
    background: #111111;
    border-color: var(--ds-theme-border);
    color: var(--ds-theme-text);
}

/*
 * Podcast comments used to force a hardcoded white/light card in dark mode ("deliberately
 * retain their light-mode treatment") — removed 2026-07-24 per request. Falls through to the
 * sitewide dark-mode wpDiscuz treatment above (#wpdcom etc., theme-aware CSS variables),
 * matching how regular (non-podcast) post comments already correctly handle dark mode.
 */

.ds-article-layout--podcast .ds-article-comments #wpdcom .wpd-login a,
.ds-article-layout--podcast .ds-article-comments #wpdcom .wpdiscuz_subscribe_status a {
    color: var(--ds-red);
}

html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-article--podcast .ds-premium-podcast-feed-card,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-article--podcast .ds-premium-podcast-feed-card__title,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-article--podcast .ds-premium-podcast-feed-card__copy,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-article--podcast .ds-premium-podcast-feed-card__footnote {
    background: #f7f5f2;
    border-color: rgba(17, 17, 17, 0.12);
    color: #191919;
}

html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-article--podcast .ds-premium-podcast-feed-card__icon {
    color: rgba(17, 17, 17, 0.1);
}

html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-article--podcast .ds-premium-podcast-feed-card__input {
    background: var(--ds-white);
    border-color: rgba(17, 17, 17, 0.16);
    color: #191919;
}

html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-article--podcast .ds-premium-podcast-feed-card__footnote a {
    color: var(--ds-red);
}

html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-article--podcast .ds-premium-podcast-feed-card__button {
    background: #0f0f10;
    color: var(--ds-white);
}

/* Podcast episode headlines retain the regular article hierarchy without the
 * compressed tracking that made long episode names difficult to scan. */
.ds-article--podcast .ds-article-title {
    letter-spacing: -0.025em;
    line-height: 1.04;
}

/* The archive hero remains deliberately larger than an article headline, but
 * uses the same more open rhythm for multi-line episode titles. */
.ds-podcast-hero__title {
    letter-spacing: -0.025em;
    line-height: 1.04;
}


/* Slides are absolutely positioned, so their viewport must reserve room for
 * a long headline, summary, metadata, actions, and a clear bottom margin. */
@media (min-width: 1141px) {
    .ds-podcast-hero__viewport,
    .ds-podcast-hero__inner {
        min-height: 720px;
    }

    .ds-podcast-hero__inner {
        box-sizing: border-box;
        padding-bottom: 104px;
    }
}


@media (min-width: 681px) and (max-width: 1140px) {
    .ds-podcast-hero__viewport,
    .ds-podcast-hero__inner {
        min-height: 760px;
    }

    .ds-podcast-hero__inner {
        box-sizing: border-box;
        padding-bottom: 132px;
    }
}


@media (max-width: 680px) {
    .ds-podcast-hero__viewport,
    .ds-podcast-hero__inner {
        min-height: 680px;
    }

    .ds-podcast-hero__inner {
        box-sizing: border-box;
        padding-bottom: 124px;
    }
}


/* Match the homepage hero chevrons: edge-wide hover/focus controls on desktop
 * and compact circular buttons on touch-sized screens. */
.ds-podcast-hero__nav {
    align-items: center;
    background: rgba(17, 17, 17, 0.5);
    border: 0;
    border-radius: 50%;
    color: var(--ds-white);
    cursor: pointer;
    display: flex;
    font-size: 1.75rem;
    font-weight: 700;
    height: 2.5rem;
    justify-content: center;
    line-height: 1;
    transition: background-color 0.2s ease;
    width: 2.5rem;
}

.ds-podcast-hero__nav:hover,
.ds-podcast-hero__nav:focus {
    background: rgba(17, 17, 17, 0.85);
}

@media (hover: none) and (pointer: coarse) {
    .ds-podcast-hero__nav {
        display: none;
    }
}


@media (hover: hover) and (pointer: fine) {
    .ds-podcast-hero__nav {
        background: transparent;
        border-radius: 0;
        bottom: 0;
        height: auto;
        opacity: 0;
        position: absolute;
        top: 0;
        transform: none;
        transition: opacity 0.25s ease;
        width: 27%;
        z-index: 3;
    }

    .ds-podcast-hero__nav:hover,
    .ds-podcast-hero__nav:focus {
        opacity: 1;
    }

    .ds-podcast-hero__nav[data-ds-podcast-prev] {
        background: linear-gradient(to right, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0) 55%);
        justify-content: flex-start;
        left: 0;
        padding-left: 1.25rem;
    }

    .ds-podcast-hero__nav[data-ds-podcast-next] {
        background: linear-gradient(to left, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0) 55%);
        justify-content: flex-end;
        padding-right: 1.25rem;
        right: 0;
    }

    /* Use the same edge-hover controls for horizontal podcast rails. */
    .ds-podcast-rail {
        display: block;
        position: relative;
    }

    .ds-podcast-rail::before,
    .ds-podcast-rail::after {
        bottom: 8px;
        content: '';
        opacity: 0;
        pointer-events: none;
        position: absolute;
        top: 0;
        transition: opacity 0.25s ease;
        width: 27%;
        z-index: 2;
    }

    .ds-podcast-rail::before { background: linear-gradient(to right, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0) 55%); left: 0; }
    .ds-podcast-rail::after { background: linear-gradient(to left, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0) 55%); right: 0; }
    .ds-podcast-rail:hover::before,
    .ds-podcast-rail:hover::after,
    .ds-podcast-rail:focus-within::before,
    .ds-podcast-rail:focus-within::after { opacity: 1; }

    .ds-podcast-rail__nav {
        background: transparent;
        border: 0;
        border-radius: 0;
        color: var(--ds-white);
        display: flex;
        font-size: 1.75rem;
        font-weight: 700;
        bottom: 8px;
        height: auto;
        justify-content: center;
        opacity: 0;
        padding: 0;
        position: absolute;
        top: 0;
        transform: none;
        transition: opacity 0.25s ease;
        width: var(--ds-carousel-edge-control-width, 52px);
        z-index: 3;
    }

    .ds-podcast-rail:hover .ds-podcast-rail__nav:not(:disabled),
    .ds-podcast-rail:focus-within .ds-podcast-rail__nav:not(:disabled),
    .ds-podcast-rail__nav:focus-visible { opacity: 1; }
    .ds-podcast-rail__nav:hover,
    .ds-podcast-rail__nav:focus { transform: none; }
    .ds-podcast-rail:hover .ds-podcast-rail__nav:disabled,
    .ds-podcast-rail:focus-within .ds-podcast-rail__nav:disabled { cursor: default; opacity: .32; pointer-events: auto; }
    .ds-podcast-rail__nav--prev { left: 0; }
    .ds-podcast-rail__nav--next { right: 0; }
}


/* Instagram Shorts */
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-shorts__card { border: 1px solid rgba(255, 255, 255, .16); }

/* Native replacements for the former Elementor Archive and Round-Ups pages. */
.ds-legacy-page { background: var(--ds-black); color: var(--ds-white); }
.ds-legacy-page__header { border-bottom: 3px solid var(--ds-red); margin-bottom: 2rem; padding-bottom: 1rem; }
.ds-legacy-page__header h1 { color: inherit; margin: 0; font-size: 2.625rem; }
.ds-legacy-page__header p { margin: .5rem 0 0; }
.ds-archive-explorer__topics { display: grid; gap: 1.5rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
/*
 * Rebuilt (round 4 of "the gap is still wrong") to structurally match the legacy site's
 * reference layout: name + a small round button sit in one row immediately under the image,
 * with a divider line under that — no separate description paragraph, no full-width pill
 * button floating below a variable amount of empty space. Every card is now exactly the same
 * shape (image height + one fixed-height text row + divider), so there is no longer any
 * content-length-dependent gap left to reduce — the previous bug class (image, then a
 * variably-sized block of optional content, then a button margin-top trying to compensate)
 * is gone by construction, not by tuning a number closer to zero again.
 */
.ds-archive-topic { background: var(--ds-white); border: 1px solid color-mix(in srgb, currentColor 25%, transparent); }
.ds-archive-topic__image { display: block; height: auto; width: 100%; }
.ds-archive-topic__body { padding: 1rem 1.25rem 1.25rem; }
.ds-archive-topic h2 { font-size: 1.08rem; margin: 0; text-align: center; }
.ds-archive-topic h2 a { color: inherit; text-decoration: none; transition: color 0.15s ease; }
/* This card is always white (background: var(--ds-white) above), regardless of sitewide
   light/dark mode — the old rule here unconditionally forced white TEXT too, which made the
   category name invisible (white-on-white) in both themes. Fixed to a fixed dark colour that
   actually contrasts against this card's own always-white background. */
.ds-archive-topic h2, .ds-archive-topic h2 a, .ds-archive-topic h2 a:visited { color: var(--ds-black); }
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-archive-topic h2 a,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-archive-topic h2 a:visited {
    color: var(--ds-white);
}
.ds-archive-topic h2 a:hover,
.ds-archive-topic h2 a:focus { color: var(--ds-red); }
.ds-archive-topic__divider { border-top: 1px solid color-mix(in srgb, currentColor 12%, transparent); margin-top: 1rem; }
.ds-legacy-page__pagination { margin-top: 2rem; text-align: center; }
html[data-ds-theme-mode="runtime"][data-theme="light"] .ds-legacy-page { background: var(--ds-white); color: var(--ds-black); }
@media (max-width: 700px) { .ds-archive-explorer__topics { grid-template-columns: 1fr; } }


/* Archive page: category + From/To month-year range search bar. */
.ds-archive-search { align-items: start; display: flex; flex-wrap: wrap; gap: 1rem; margin-bottom: 2rem; }
.ds-archive-search__field { display: flex; flex: 1 1 160px; flex-direction: column; gap: .4rem; }
.ds-archive-search__field--range { flex: 1 1 220px; }
.ds-archive-search__field--submit { flex: 0 0 auto; }
.ds-archive-search__label { color: var(--ds-grey-mid); display: block; font-size: .8rem; font-weight: 700; height: 1rem; line-height: 1rem; text-transform: uppercase; }
.ds-archive-search__range-row { display: flex; gap: .5rem; }
.ds-archive-search__range-row select { min-width: 0; }
.ds-archive-search select,
.ds-archive-search__submit {
	border-radius: var(--ds-forum-radius-pill, 999px);
	box-sizing: border-box;
	font: inherit;
	height: 42px;
	line-height: 1;
	padding-block: 0;
}
.ds-archive-search select {
	background: transparent;
	border: 1px solid color-mix(in srgb, currentColor 25%, transparent);
	color: inherit;
	padding-inline: 16px;
	width: 100%;
}
.ds-archive-search__submit {
	background: var(--ds-red);
	border: 1px solid var(--ds-red);
	color: var(--ds-white);
	font-weight: 700;
	padding-inline: 1.5rem;
	white-space: nowrap;
}
.ds-archive-search__submit:hover, .ds-archive-search__submit:focus { background: var(--ds-red-dark); border-color: var(--ds-red-dark); }
@media (max-width: 700px) {
	.ds-archive-search { flex-direction: column; align-items: stretch; }
	.ds-archive-search__field { flex: 0 0 auto; width: 100%; }
	.ds-archive-search__range-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ds-archive-search__field--submit .ds-archive-search__label { display: none; }
	.ds-archive-search__submit { width: 100%; }
}


/* Search results page: newest/oldest sort toggle. */
.ds-search-sort { align-items: center; display: flex; flex-wrap: wrap; gap: .75rem; margin-bottom: 1.5rem; }
.ds-search-sort__label { color: var(--ds-grey-mid); font-size: .8rem; font-weight: 700; text-transform: uppercase; }
.ds-search-sort__link {
	border: 1px solid color-mix(in srgb, currentColor 25%, transparent);
	border-radius: var(--ds-forum-radius-pill, 999px);
	color: inherit;
	font-weight: 700;
	padding: .4rem .9rem;
	text-decoration: none;
}
.ds-search-sort__link:hover, .ds-search-sort__link:focus { border-color: var(--ds-red); color: var(--ds-red); }
.ds-search-sort__link.is-active { background: var(--ds-red); border-color: var(--ds-red); color: var(--ds-white); }

/* Contact page form. */
.ds-contact-page__intro { margin: 0 0 1.75rem; }
.ds-contact-page__form .ff-el-input--label label { color: inherit; font-weight: 700; }
.ds-contact-page__form .ff-el-form-control { background: var(--ds-white); border: 1px solid rgba(17, 17, 17, .24); border-radius: 8px; box-shadow: none; color: var(--ds-black); }
.ds-contact-page__form textarea.ff-el-form-control { min-height: 180px; resize: vertical; }
.ds-contact-page__form .ff-btn-submit { background: var(--ds-red) !important; border: 1px solid var(--ds-red) !important; border-radius: 999px !important; color: var(--ds-white) !important; font-family: var(--ds-font-headings); font-weight: 700; min-width: 142px; padding: 14px 26px; text-transform: uppercase; }
.ds-contact-page__form .ff-btn-submit:hover, .ds-contact-page__form .ff-btn-submit:focus { background: var(--ds-red-dark) !important; border-color: var(--ds-red-dark) !important; }
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-contact-page__form .ff-el-form-control { background: #111111; border-color: var(--ds-theme-border); color: var(--ds-theme-text); }

/* Shared two-column treatment for native article-style pages. */
.ds-article__layout { align-items: start; display: grid; gap: clamp(28px, 4vw, 56px); grid-template-columns: minmax(0, 1fr) minmax(260px, 320px); }
.ds-article__main { min-width: 0; }
.ds-article__sidebar { min-width: 0; }
.ds-article__sidebar > * + * { margin-top: 24px; }
.ds-legacy-page__layout { margin-top: 0; }
.ds-todays-update__story + .ds-todays-update__story { border-top: 1px solid color-mix(in srgb, currentColor 25%, transparent); margin-top: 2.5rem; padding-top: 2.5rem; }
.ds-todays-update__story-title { font-size: clamp(1.65rem, 3vw, 2.25rem); line-height: 1.15; margin: 0; }
.ds-todays-update__story-title a { color: inherit; text-decoration: none; }
.ds-todays-update__story-title a:hover, .ds-todays-update__story-title a:focus { color: var(--ds-red); }
.ds-todays-update__story-byline { margin: .5rem 0 1.25rem; }
.ds-todays-update__story-byline a { color: inherit; }
.ds-todays-update__empty { margin: 0; }

/* Match the wider donate → FSU gap used on single posts (.ds-fsu-widget's own
 * 48px margin-top), which the generic sidebar `* + *` rule above would
 * otherwise collapse down to 24px/20px on Archive, News Round-Ups, and About. */
.ds-legacy-page__sidebar > .ds-fsu-widget { margin-top: 48px; }

@media (max-width: 900px) {
	.ds-article__layout { grid-template-columns: minmax(0, 1fr); }
	.ds-article__sidebar { max-width: 520px; width: 100%; }
}


@media (max-width: 700px) {
	.ds-article__sidebar > * + * { margin-top: 20px; }
}


@media (max-width: 700px) {
	.ds-legacy-page__sidebar { justify-self: stretch; margin: 28px auto 0; max-width: none; width: 100%; }
	.ds-legacy-page__sidebar > .ds-newsletter-widget,
	.ds-legacy-page__sidebar > .ds-donation-widget { width: 100%; }
}


/* Archive topic cards share the homepage card radius and clipped media treatment. */
.ds-archive-topic { border-radius: 12px; overflow: hidden; }

html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-tabs__button {
	background: #2b2b2b;
	border-color: rgba(255, 255, 255, .18);
	color: rgba(255, 255, 255, .84);
}
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-tabs__button:hover { background: #3a3a3a; color: var(--ds-white); }
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-tabs__button.is-active { background: var(--ds-red); border-color: var(--ds-red); color: var(--ds-white); }

/* Premium landing page. */
.ds-premium-landing{--ds-premium-surface:#050505;--ds-premium-surface-alt:#111;--ds-premium-text:var(--ds-white);--ds-premium-muted:rgba(255,255,255,.7);--ds-premium-border:rgba(255,255,255,.24);background:var(--ds-premium-surface);color:var(--ds-premium-text)}.ds-premium-section{background:var(--ds-premium-surface);padding:clamp(64px,9vw,144px) 0}.ds-premium-section--forum,.ds-premium-section--listen{background:var(--ds-premium-surface)}.ds-premium-section__grid{align-items:center;display:grid;gap:clamp(36px,7vw,112px);grid-template-columns:repeat(2,minmax(0,1fr))}.ds-premium-section--forum .ds-premium-section__copy,.ds-premium-section--listen .ds-premium-section__copy{order:2}.ds-premium-section--forum .ds-premium-section__media,.ds-premium-section--listen .ds-premium-section__media{order:1}.ds-premium-section__title{color:inherit;font-family:var(--ds-font-headings);font-size:clamp(2.35rem,5vw,5.4rem);line-height:.96;margin:0;max-width:10ch;text-transform:uppercase}.ds-premium-section__text{color:var(--ds-premium-muted);font-size:clamp(1rem,1.3vw,1.22rem);line-height:1.6;margin:28px 0 34px;max-width:61ch}.ds-premium-section__media{align-items:center;background:transparent;display:flex;min-height:clamp(280px,36vw,560px);overflow:hidden}.ds-premium-section__media img,.ds-premium-podcast-mosaic__tile img{height:100%;object-fit:cover;width:100%}.ds-premium-button{background:var(--ds-red);border:1px solid var(--ds-red);color:var(--ds-white);display:inline-block;font-family:var(--ds-font-headings);font-weight:700;padding:14px 26px;text-decoration:none;text-transform:uppercase;transition:.15s}.ds-premium-button:hover{background:var(--ds-red-dark);border-color:var(--ds-red-dark);color:var(--ds-white);transform:translateY(-1px)}.ds-premium-button--outline{background:transparent;border-color:var(--ds-premium-border);color:inherit}.ds-premium-button--outline:hover{background:var(--ds-white);border-color:var(--ds-white);color:var(--ds-black)}.ds-premium-button:focus-visible{outline:3px solid var(--ds-white);outline-offset:4px}.ds-premium-podcast-mosaic{display:grid;gap:clamp(10px,1.5vw,22px);grid-template-columns:repeat(2,minmax(0,1fr));padding-left:clamp(0px,2vw,26px)}.ds-premium-podcast-mosaic__tile{aspect-ratio:1;background:transparent;overflow:hidden}html[data-ds-theme-mode="runtime"][data-theme="light"] .ds-premium-landing{--ds-premium-surface:#f4f0e9;--ds-premium-surface-alt:#e7e0d5;--ds-premium-text:var(--ds-black);--ds-premium-muted:rgba(17,17,17,.72);--ds-premium-border:rgba(17,17,17,.3)}html[data-ds-theme-mode="runtime"][data-theme="light"] .ds-premium-section__media,html[data-ds-theme-mode="runtime"][data-theme="light"] .ds-premium-podcast-mosaic__tile{background:rgba(17,17,17,.08)}html[data-ds-theme-mode="runtime"][data-theme="light"] .ds-premium-button:focus-visible{outline-color:var(--ds-black)}@media(max-width:800px){.ds-premium-section{padding:68px 0}.ds-premium-section__grid{grid-template-columns:1fr}.ds-premium-section__copy,.ds-premium-section--forum .ds-premium-section__copy,.ds-premium-section--listen .ds-premium-section__copy{order:1}.ds-premium-section__media,.ds-premium-section--forum .ds-premium-section__media,.ds-premium-section--listen .ds-premium-section__media{min-height:280px;order:2}.ds-premium-podcast-mosaic{order:2;padding-left:0}}
@media(prefers-reduced-motion:reduce){.ds-premium-button{transition:none}.ds-premium-button:hover{transform:none}}


/* Premium refinements and legacy-page sidebar parity. */
.ds-premium-section { padding-block: clamp(38px, 5.4vw, 86px); }
.ds-premium-button { border-radius: 999px; min-width: 142px; text-align: center; }
/* Premium is intentionally dark in both runtime modes. */
html[data-ds-theme-mode="runtime"][data-theme="light"] .ds-premium-landing { --ds-premium-surface: #050505; --ds-premium-surface-alt: #111; --ds-premium-text: var(--ds-white); --ds-premium-muted: rgba(255,255,255,.7); --ds-premium-border: rgba(255,255,255,.24); }
html[data-ds-theme-mode="runtime"][data-theme="light"] .ds-premium-button:focus-visible { outline-color: var(--ds-white); }
@media (max-width: 800px) { .ds-premium-section { padding-block: 41px; } }


/* Premium podcast mosaic and section-spacing refinements. */
.ds-premium-podcast-mosaic__tile { border-radius: 24px; box-shadow: 0 0 20px rgba(255, 255, 255, .22); }
/* Reduce the two requested inter-section gaps by 40% without compressing the hero. */
.ds-premium-section--forum { padding-bottom: clamp(23px, 3.24vw, 52px); }
.ds-premium-section--podcasts { padding-block: clamp(23px, 3.24vw, 52px); }
.ds-premium-section--listen { padding-top: clamp(23px, 3.24vw, 52px); }
@media (max-width: 800px) {
	.ds-premium-section--forum { padding-bottom: 25px; }
	.ds-premium-section--podcasts { padding-block: 25px; }
	.ds-premium-section--listen { padding-top: 25px; }
}


/* Complete the Premium section-spacing rhythm. */
.ds-premium-section--hero { padding-top: clamp(49px, 7.02vw, 112px); padding-bottom: clamp(23px, 3.24vw, 52px); }
.ds-premium-section--forum { padding-top: clamp(23px, 3.24vw, 52px); }
@media (max-width: 800px) {
	.ds-premium-section--hero { padding-top: 53px; padding-bottom: 25px; }
	.ds-premium-section--forum { padding-top: 25px; }
}


/* ── Posts by Date ─────────────────────────────────── */
.ds-posts-by-date { color: var(--ds-black); font-family: 'Poppins', sans-serif; }
.ds-posts-by-date__header { border-bottom: 4px solid var(--ds-red); margin-bottom: 22px; padding-bottom: 8px; }
.ds-posts-by-date__header h2 { color: inherit; font-size: 18px; font-weight: 800; letter-spacing: .08em; line-height: 1.2; margin: 0; text-transform: uppercase; }
.ds-posts-by-date__shell { background: var(--ds-white); border-radius: 28px; box-shadow: 0 14px 34px rgba(17, 17, 17, .08); padding: 30px; }
.ds-posts-by-date__month { color: inherit; font-size: 20px; font-weight: 800; line-height: 1.2; margin: 2px 0 24px; text-align: center; }
.ds-posts-by-date__weekdays, .ds-posts-by-date__days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.ds-posts-by-date__weekdays { color: #5c5c5c; font-size: 14px; font-weight: 700; margin-bottom: 18px; text-align: center; }
.ds-posts-by-date__days { row-gap: 18px; }
.ds-posts-by-date__day { align-items: center; color: #5c5c5c; display: flex; font-size: 18px; font-weight: 500; justify-content: center; line-height: 1; min-height: 28px; position: relative; text-decoration: none; }
.ds-posts-by-date__day--active { color: var(--ds-red); font-weight: 800; }
.ds-posts-by-date__day--active::after { background: var(--ds-red); border-radius: 50%; bottom: -6px; content: ''; height: 4px; position: absolute; width: 4px; }
.ds-posts-by-date__day--active:hover, .ds-posts-by-date__day--active:focus-visible { color: var(--ds-red-dark); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
.ds-posts-by-date__day--active:focus-visible { outline: 2px solid var(--ds-red); outline-offset: 3px; }
.ds-posts-by-date__nav { border-top: 1px solid #ececec; display: flex; font-size: 16px; font-weight: 700; justify-content: space-between; margin-top: 34px; padding-top: 21px; }
.ds-posts-by-date__nav a { color: var(--ds-red); text-decoration: none; }
.ds-posts-by-date__nav a:hover, .ds-posts-by-date__nav a:focus-visible { color: var(--ds-red-dark); text-decoration: underline; }
.ds-article-layout__donation > .ds-posts-by-date, .ds-legacy-page__sidebar > .ds-posts-by-date { margin-top: 32px; }

html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-posts-by-date { color: var(--ds-theme-text); }
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-posts-by-date__shell { background: #1a1a1a; box-shadow: 0 14px 34px rgba(0, 0, 0, .24); }
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-posts-by-date__weekdays, html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-posts-by-date__day { color: #bdbdbd; }
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-posts-by-date__day--active { color: #ff5368; }
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-posts-by-date__nav { border-color: rgba(255, 255, 255, .14); }

@media (max-width: 420px) {
	.ds-posts-by-date__shell { border-radius: 22px; padding: 24px 18px; }
	.ds-posts-by-date__day { font-size: 16px; }
}

.ds-posts-by-date[aria-busy="true"] { opacity: .62; pointer-events: none; transition: opacity .15s ease; }

/* Stack support cards before their two-column controls become cramped. */

/* Centre the FSU tile against the calendar in the two-column support row. */

/* Homepage day-feed author links and dark-mode card treatment. */
.ds-daily-story__author a { color: inherit; text-decoration: none; }
.ds-daily-story__author a:hover,
.ds-daily-story__author a:focus-visible { text-decoration: underline; text-underline-offset: .14em; }

html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-daily-feed .ds-daily-story,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-daily-feed__feature > .ds-daily-story--feature-lead,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-daily-feed__feature-aside > .ds-daily-story--feature-side,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-daily-feed__feature-aside > .ds-daily-story--feature-side + .ds-daily-story--feature-side { background: transparent; }
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-daily-feed .ds-daily-story__title a { color: var(--ds-white); }
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-daily-feed .ds-daily-story__title a:hover,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-daily-feed .ds-daily-story__title a:focus-visible { color: var(--ds-red); }
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-daily-feed .ds-daily-story__excerpt { color: rgba(255, 255, 255, .78); }

/* Keep homepage day labels readable in dark mode. */
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-daily-feed__date h2 { color: var(--ds-white); }

/* Keep individual article and podcast headlines legible in light mode. */
html[data-ds-theme-mode="runtime"][data-theme="light"] body.single-post .ds-article-title,
html[data-ds-theme-mode="runtime"][data-theme="light"] body.single-post .ds-article-title a {
    color: var(--ds-black) !important;
}

/* Previous/next post cards follow the surrounding dark article palette. */
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-post-navigation .post-navigation [class*="nav-item"] {
    background: #1b1b1b;
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: none;
    color: #f5f5f5;
}

html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-post-navigation .post-navigation .item-label {
    color: rgba(255, 255, 255, 0.6);
}

html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-post-navigation .post-navigation [class*="nav-item"]:hover,
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-post-navigation .post-navigation [class*="nav-item"]:focus {
    background: #262626;
    color: var(--ds-red);
}

/* Article and podcast tag chips. */
.ds-article-tags { align-items: center; display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.ds-article-tags__label { color: var(--ds-black); font-size: .9rem; font-weight: 700; }
.ds-article-tags__list { display: flex; flex: 1 1 0; flex-wrap: wrap; gap: 5px; min-width: 0; }
.ds-article-tags__link { background: #f1f1f1; color: #5e5e5e; display: inline-flex; font-size: .88rem; font-weight: 600; letter-spacing: .04em; line-height: 1.25; padding: 7px 12px; text-decoration: none; transition: background-color .15s ease, color .15s ease; }
.ds-article-tags__link:hover, .ds-article-tags__link:focus-visible { background: var(--ds-red); color: var(--ds-white); outline: 0; }
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-article-tags__label { color: #f5f5f5; }
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-article-tags__link { background: #242424; color: rgba(255, 255, 255, .78); }
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-article-tags__link:hover, html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-article-tags__link:focus-visible { background: var(--ds-red); color: var(--ds-white); }
@media (max-width: 680px) { .ds-article-tags { align-items: flex-start; flex-direction: column; } .ds-article-tags__list { flex-basis: auto; } }


/* Match the mobile Podcasts hero headline rhythm to the homepage hero. */
@media (max-width: 680px) { .ds-podcast-hero__title { line-height: 1.2; } }

/*
 * .ds-homepage-support* moved back here from homepage.css (2026-07-24) — despite the
 * "ds-homepage" prefix, template-parts/support-widgets.php (which uses these classes) is
 * also rendered on the podcast archive (tag-the-sceptic.php) and podcast single posts
 * (single.php), not just the actual homepage. homepage.css only loads via is_front_page(),
 * so this section was completely unstyled on those two non-homepage contexts.
 */
.ds-homepage-support {
    margin-top: 60px;
    padding-bottom: 56px;
}
.ds-homepage-support--podcast {
    margin-left: auto;
    margin-right: auto;
    max-width: var(--ds-max-width);
    padding-left: 20px;
    padding-right: 20px;
}

.ds-homepage-support__title {
    align-items: center;
    display: grid;
    gap: 24px;
    grid-template-columns: 96px minmax(0, 40rem) 96px;
    justify-content: center;
    letter-spacing: -0.025em;
    line-height: 1.188;
    margin-bottom: 72px;
    text-align: center;
}

.ds-homepage-support__title::before,
.ds-homepage-support__title::after {
    content: '';
    height: 2px;
}

.ds-homepage-support__title::before {
    background: linear-gradient(to right, transparent, var(--ds-red));
}

.ds-homepage-support__title::after {
    background: linear-gradient(to left, transparent, var(--ds-red));
}

.ds-homepage-support__title span {
    text-wrap: balance;
}

.ds-homepage-support__title a {
    color: var(--ds-red);
    text-decoration-thickness: 2px;
    text-underline-offset: 0.14em;
}

.ds-homepage-support__title a:hover,
.ds-homepage-support__title a:focus {
    color: var(--ds-red-dark);
}

.ds-homepage-support__grid {
    display: grid;
    gap: 28px;
}

.ds-homepage-support .ds-newsletter-widget {
    margin-bottom: 0;
}

.ds-homepage-support .ds-fsu-widget {
    margin: 0 auto;
}

@media (min-width: 681px) {
    .ds-homepage-support__title {
        /* font-size intentionally not set here — .ds-homepage .ds-section-title
           (homepage.css) has higher specificity (two classes vs one) and always wins
           regardless of media query, so the real override lives in homepage.css as
           .ds-homepage .ds-homepage-support__title. Setting it here again would be dead code. */
        grid-template-columns: 64px minmax(0, 40rem) 64px;
    }

    .ds-homepage-support__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ds-homepage-support__fsu {
        grid-column: auto;
    }}


@media (max-width: 680px) {
    .ds-homepage-support--podcast {
        padding-left: 16px;
        padding-right: 16px;
    }

    .ds-homepage-support__title {
        /* font-size intentionally not set here — see the same note in the 681px block above;
           real value is .ds-homepage .ds-homepage-support__title in homepage.css. */
        gap: 16px;
        grid-template-columns: 1fr;
        line-height: 1.32;
        margin-bottom: 64px;
    }

    .ds-homepage-support__grid {
        gap: 56px;
    }

    .ds-homepage-support__title::before,
    .ds-homepage-support__title::after {
        justify-self: center;
        width: 96px;
    }}


@media (min-width: 1180px) {
    .ds-homepage-support__title {
        grid-template-columns: 96px minmax(0, 40rem) 96px;
    }

    /* Desktop-only, podcast variant ("Thank you for watching...") only — the homepage
       "reading" variant is governed by .ds-homepage .ds-homepage-support__title in
       homepage.css instead and is untouched here. Podcast pages have no .ds-homepage
       ancestor, so this section falls back to the base .ds-section-title clamp()
       (components.css) — 15% smaller at every point in that clamp. */
    .ds-homepage-support--podcast .ds-homepage-support__title {
        font-size: clamp(1.445rem, 2.38vw, 2.38rem);
    }

    .ds-homepage-support__grid {
        align-items: start;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ds-homepage-support__fsu {
        grid-column: auto;
    }}

.ds-homepage-support .ds-posts-by-date { margin: 0; }

@media (min-width: 1180px) {
	.ds-homepage-support__grid { align-items: start; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ds-homepage-support__fsu { grid-column: auto; }}

@media (max-width: 849px) {
	/* Below 850px the support widgets stack into a single column. Without a cap each one
	   stretched to the full content width (~728px at 768px), giving the newsletter/donation
	   forms an uncomfortably long line length and an oversized, empty look. Cap the column to a
	   readable form width and centre it (items still stretch to fill it); on phones narrower
	   than the cap the column shrinks to the container, so they stay full-width as expected. */
	.ds-homepage-support__grid {
		grid-template-columns: minmax(0, 34rem); /* 34rem ~= 544px comfortable form/card width */
		justify-content: center;
	}}

@media (min-width: 850px) {
	.ds-homepage-support__fsu { align-self: center; }}

@media (max-width:680px){.ds-donation-widget__shell{border-radius:20.4px;box-shadow:0 11.9px 30.6px rgba(17,17,17,.12)}.ds-donation-widget__header{padding:17px 27.2px}.ds-donation-widget__title{font-size:1.0625rem}.ds-donation-widget__body{padding:27.2px}.ds-donation-widget__tabs{border-radius:13.6px;padding:5.1px}.ds-donation-widget__tab{border-radius:10.2px;font-size:.85rem;min-height:44.2px;padding:10.2px 4px}.ds-donation-widget__note{font-size:.85rem;line-height:1.38125;margin:20.4px auto 17px}.ds-donation-widget__options{gap:13.6px;margin-bottom:34px}.ds-donation-widget__option{border-radius:13.6px;gap:13.6px;padding:20.4px}.ds-donation-widget__radio{border-width:1.7px;flex-basis:20.4px;height:20.4px;width:20.4px}.ds-donation-widget__option.is-selected .ds-donation-widget__radio::after{height:10.2px;width:10.2px}.ds-donation-widget__option-text{gap:3.4px}.ds-donation-widget__option-label{font-size:1.0625rem}.ds-donation-widget__option-sub{font-size:.690625rem}.ds-donation-widget__custom-field{margin-top:6.8px;margin-bottom:17px}.ds-donation-widget__custom-field label,.ds-donation-widget__error{font-size:.782rem}.ds-donation-widget__custom-input-wrap{border-radius:11.9px;gap:8.5px;min-height:45.9px;padding:0 13.6px}.ds-donation-widget__custom-input-wrap span{font-size:.9775rem}.ds-donation-widget__custom-input{font-size:.935rem}.ds-donation-widget__next{border-radius:13.6px;font-size:1.0625rem;padding:17px 0}.ds-donation-widget__secure{font-size:.74375rem;gap:6.8px;margin-top:13.6px}.ds-donation-widget__secure svg{height:13.6px;width:13.6px}}
@media (max-width:680px){.ds-donation-widget__checkout-summary{font-size:1.2325rem;margin-bottom:23.8px}.ds-donation-widget__back{font-size:.782rem;gap:5.95px;margin-bottom:17px;padding:8.5px 11.9px 8.5px 9.35px}.ds-donation-widget__back svg{height:13.6px;width:13.6px}.ds-donation-widget__form .ff-btn-submit{border-radius:13.6px!important;font-size:1.0625rem!important;padding:17px 0!important}}
@media (max-width:680px){.ds-fsu-widget{max-width:268.8px}}
.ds-donation-widget__form .ff-message-success{background:transparent;border:0;color:var(--ds-black);font-size:1.35rem;font-weight:700;line-height:1.45;margin:24px 0 0;padding:24px 0;text-align:center}.ds-donation-widget__form .ff-message-success p{color:inherit;margin:0;text-align:inherit}.ds-donation-widget__success-title,.ds-donation-widget__success-copy{display:block}.ds-donation-widget__success-title{font-size:1.65rem;line-height:1.2;margin-bottom:12px}.ds-donation-widget__success-copy{font-size:1.35rem;line-height:1.45}html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-donation-widget__form .ff-message-success{color:var(--ds-white)}@media (max-width:680px){.ds-donation-widget__form .ff-message-success{font-size:1.1475rem;margin-top:20.4px;padding:20.4px 0}.ds-donation-widget__success-title{font-size:1.4025rem;margin-bottom:10.2px}.ds-donation-widget__success-copy{font-size:1.1475rem}}
html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-donation-widget__checkout-summary{color:var(--ds-white)}html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-donation-widget__success-title::after{align-items:center;border:9px solid #59d993;border-radius:50%;color:#59d993;content:"✓";display:flex;font-family:Arial,sans-serif;font-size:58px;font-weight:700;height:96px;justify-content:center;line-height:1;margin:28px auto;width:96px}@media (max-width:680px){html[data-ds-theme-mode="runtime"][data-theme="dark"] .ds-donation-widget__success-title::after{border-width:7px;font-size:47px;height:78px;margin:23px auto;width:78px}}
@media (max-width:680px){.ds-podcast-hero__eyebrow,.ds-podcast-hero__summary{display:none}}
@media (max-width:1024px){.ds-podcast-section--latest{display:none}}
.ds-podcast-hero__button--solid{background:var(--ds-red);border-color:var(--ds-red);color:var(--ds-white)}
.ds-podcast-hero__button--solid:hover,.ds-podcast-hero__button--solid:focus{background:var(--ds-red-dark);border-color:var(--ds-red-dark);color:var(--ds-white)}
@media (max-width:680px){.ds-podcast-hero__viewport,.ds-podcast-hero__inner{min-height:286px}.ds-podcast-hero__inner{padding-top:60px;padding-bottom:52px}}
.ds-podcast-archive__listing .ds-podcast-section__kicker{display:none}

/* The archive’s Latest Episodes rail is intentionally desktop-hidden; the homepage retains its own carousel. */
@media (min-width: 1025px) {
    .ds-podcast-archive .ds-podcast-section--latest {
        display: none;
    }
}
