@media (min-width: 1200px) {
    .kc-container {
        padding-inline: var(--kc-space-5);
    }

    .kc-featured-story {
        grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
        align-items: stretch;
    }

    .kc-featured-story__body {
        padding: var(--kc-space-7);
    }

    .kc-donation-cta {
        max-width: 560px;
    }

    .kc-related-posts__list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

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

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

    .kc-article-hero__title {
        font-size: clamp(2.5rem, 1.5rem + 2.4vw, 3.25rem);
    }

    .kc-archive,
    .kc-single-article {
        padding-inline: var(--kc-space-6);
    }
}

@media (min-width: 768px) and (max-width: 1199px) {
    .kc-container {
        padding-inline: var(--kc-space-5);
    }

    .kc-donation-cta {
        max-width: 560px;
    }

    .kc-related-posts__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

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

    .kc-featured-story__title {
        font-size: 1.375rem;
    }

    .kc-article-hero__title {
        font-size: clamp(2rem, 1.2rem + 1.8vw, 2.75rem);
    }

    .kc-archive-hero__title {
        font-size: 1.9rem;
    }

    .kc-archive,
    .kc-single-article {
        padding-inline: var(--kc-space-5);
    }
}

@media (min-width: 480px) and (max-width: 767px) {
    .kc-container {
        padding-inline: var(--kc-space-4);
    }

    .kc-category-nav {
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .kc-category-nav a,
    .kc-category-nav__link {
        flex: 0 0 auto;
    }

    .kc-cta {
        align-items: stretch;
    }

    .kc-article-meta {
        row-gap: var(--kc-space-1);
    }

    .kc-donation-cta__link {
        width: 100%;
    }

    .kc-related-posts__list,
    .kc-grid--3,
    .kc-grid--2 {
        grid-template-columns: 1fr;
    }

    .kc-archive-shell,
    .kc-archive-intro,
    .kc-article-shell {
        gap: var(--kc-space-5);
    }

    .kc-article-hero {
        padding-block-start: var(--kc-space-5);
    }

    .kc-article-hero__title {
        font-size: clamp(1.75rem, 1.2rem + 2vw, 2.25rem);
    }

    .kc-article-content {
        font-size: 1rem;
    }

    .kc-article-content .alignleft,
    .kc-article-content .alignright {
        float: none;
        margin-inline: auto;
    }

    .kc-comment-list .children {
        margin-inline-start: var(--kc-space-3);
        padding-inline-start: var(--kc-space-3);
    }

    .kc-comment-form {
        grid-template-columns: 1fr;
    }

    .kc-editorial-blog .kc-archive-hero::after {
        inline-size: 130px;
        block-size: 130px;
    }
}

@media (max-width: 479px) {
    .kc-container {
        padding-inline: var(--kc-space-3);
    }

    .kc-editorial {
        font-size: 1rem;
    }

    .kc-archive-hero__title {
        font-size: 1.5rem;
    }

    .kc-article-card__body {
        padding: var(--kc-space-4);
    }

    .kc-button {
        width: 100%;
    }

    .kc-article-meta {
        flex-direction: column;
        align-items: flex-start;
    }

    .kc-donation-cta {
        padding: var(--kc-space-4);
    }

    .kc-donation-cta__link {
        width: 100%;
    }

    .kc-article-hero__title {
        font-size: clamp(1.75rem, 1.5rem + 1.5vw, 2rem);
    }

    .kc-article-content {
        font-size: 1rem;
    }

    .kc-article-content h2 {
        font-size: 1.5rem;
    }

    .kc-article-content h3 {
        font-size: 1.25rem;
    }

    .kc-category-nav {
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .kc-category-nav a,
    .kc-category-nav__link {
        flex: 0 0 auto;
    }

    .kc-cta {
        align-items: stretch;
    }

    .kc-related-posts__list,
    .kc-grid--3,
    .kc-grid--2 {
        grid-template-columns: 1fr;
    }

    .kc-archive-shell,
    .kc-archive-intro,
    .kc-article-shell {
        gap: var(--kc-space-5);
    }

    .kc-archive,
    .kc-single-article {
        padding-block-end: var(--kc-space-7);
        padding-inline: var(--kc-space-3);
    }

    .kc-article-hero {
        padding-block-start: var(--kc-space-5);
    }

    .kc-article-content .alignleft,
    .kc-article-content .alignright {
        float: none;
        margin-inline: auto;
    }

    .kc-comment-list .children {
        margin-inline-start: 0;
        padding-inline-start: var(--kc-space-2);
        border-inline-start-width: 2px;
    }

    .kc-comment-form {
        grid-template-columns: 1fr;
    }

    .kc-editorial-comments .comment-respond {
        padding: var(--kc-space-4);
    }

    .kc-editorial-blog .kc-archive-hero::after,
    .kc-editorial-archive .kc-archive-hero::after {
        display: none;
    }
}

@media (max-width: 480px) {
    .kc-editorial-blog .kc-archive-hero__title::after {
        display: none;
    }
}

/* Category variants */
@media (max-width: 767px) {
    .kc-archive--announcement .kc-article-card {
        grid-template-columns: 1fr;
    }

    .kc-archive--announcement .kc-article-card__media {
        min-height: 0;
        aspect-ratio: 16 / 9;
    }

    body.kc-editorial--variant-marketplace .kc-single-v3 .kc-article-hero {
        display: flex;
        flex-direction: column;
        padding: var(--kc-space-5);
    }

    body.kc-editorial--variant-gallery .kc-single-v3 .kc-article-content .gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 479px) {
    .kc-archive--news .kc-archive-hero,
    .kc-archive--marketplace .kc-archive-hero,
    .kc-archive--learning .kc-archive-hero,
    .kc-archive--gallery .kc-archive-hero,
    .kc-archive--video .kc-archive-hero,
    .kc-archive--general .kc-archive-hero,
    .kc-archive--calendar .kc-archive-hero,
    .kc-archive--announcement .kc-archive-hero {
        padding: var(--kc-space-5);
        border-radius: 18px;
    }

    .kc-archive--articles .kc-article-card__media {
        margin-inline: var(--kc-space-4);
        margin-block-end: var(--kc-space-4);
    }

    body.kc-editorial--variant-learning .kc-single-v3 .kc-article-content h2 {
        grid-template-columns: 32px minmax(0, 1fr);
        gap: 10px;
    }

    body.kc-editorial--variant-learning .kc-single-v3 .kc-article-content h2::before {
        width: 32px;
        height: 32px;
    }

    body.kc-editorial--variant-gallery .kc-single-v3 .kc-article-content .gallery {
        grid-template-columns: 1fr;
    }
}

/* Legacy Elementor posts: the content remains editable in Elementor, but on
   small screens its old page-layout geometry must collapse into article flow. */
@media (max-width: 767px) {
    body.kc-editorial--legacy-elementor .kc-single-v3 .kc-article-reading {
        max-width: 100%;
    }

    body.kc-editorial--legacy-elementor .kc-single-v3 .kc-article-content > .elementor > .e-con,
    body.kc-editorial--legacy-elementor .kc-single-v3 .kc-article-content [data-elementor-type="wp-post"] > .e-con,
    body.kc-editorial--legacy-elementor .kc-single-v3 .kc-article-content > .elementor > .elementor-section,
    body.kc-editorial--legacy-elementor .kc-single-v3 .kc-article-content .elementor-section-wrap > .elementor-section,
    body.kc-editorial--legacy-elementor .kc-single-v3 .kc-article-content [data-elementor-type="wp-post"] > .elementor-section {
        gap: var(--kc-space-4) !important;
        margin-block-end: var(--kc-space-5) !important;
    }

    body.kc-editorial--legacy-elementor .kc-single-v3 .kc-article-content .elementor-widget {
        margin-block-end: var(--kc-space-4) !important;
    }
}


@media (max-width: 767px) {
    body.kc-content--no-featured-image .kc-single-v4 .kc-article-hero {
        min-height: 240px;
        padding: 28px 20px;
    }

    .kc-single-v4 .kc-editorial-state-notice {
        padding: 14px;
    }

    .kc-single-blueprint--marketplace .kc-article-reading,
    .kc-single-blueprint--calendar .kc-article-reading {
        padding: 18px;
    }
}
