/* Single-article mobile: contain legacy Word/editor HTML without hiding overflow on body */
@media (max-width: 768px) {
    .page-content,
    .page-content .container,
    .page-content__inner,
    .page-content__inner .com-content-article,
    .page-content__inner .item-page,
    .page-content__inner article.article-view,
    .article-view {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }

    .page-content__inner {
        padding: 1.1rem 1rem;
        overflow-wrap: anywhere;
    }

    .article-view {
        gap: 0.85rem;
    }

    .article-view__header {
        gap: 0.65rem;
        padding-bottom: 0.85rem;
    }

    .article-view__title,
    .page-content__inner h1 {
        font-size: clamp(1.45rem, 6.5vw, 1.85rem);
        line-height: 1.2;
        overflow-wrap: anywhere;
    }

    .article-view__body,
    .com-content-article__body {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
        font-size: 1rem;
        line-height: 1.65;
        text-align: left !important;
        overflow-wrap: anywhere;
        word-break: normal;
    }

    .article-view__body *,
    .com-content-article__body * {
        max-width: 100%;
        box-sizing: border-box;
    }

    .article-view__body :is(p, li, td, th),
    .com-content-article__body :is(p, li, td, th),
    .article-view__body [style*="justify"],
    .com-content-article__body [style*="justify"] {
        text-align: left !important;
        white-space: normal !important;
        overflow-wrap: anywhere;
        word-break: normal;
    }

    /* Neutralize pasted editor font sizes (e.g. 18px / 13.5pt); keep heading sizes */
    .article-view__body :is(p, li, td, th),
    .com-content-article__body :is(p, li, td, th) {
        font-size: 1rem !important;
        line-height: inherit;
    }

    .article-view__body :is(p, li, td, th) span,
    .com-content-article__body :is(p, li, td, th) span {
        font-size: inherit !important;
        line-height: inherit;
        white-space: normal !important;
        overflow-wrap: anywhere;
        word-break: normal;
    }

    .article-view__body :is(h2, h3, h4, h5, h6),
    .com-content-article__body :is(h2, h3, h4, h5, h6) {
        max-width: 100%;
        overflow-wrap: anywhere;
        line-height: 1.25;
    }

    .article-view__body img,
    .com-content-article__body img,
    .article-view__body figure img,
    .page-content__inner .item-image img {
        max-width: 100% !important;
        width: auto !important;
        height: auto !important;
    }

    .article-view__body :is(iframe, video, embed, object),
    .com-content-article__body :is(iframe, video, embed, object) {
        max-width: 100%;
        width: 100%;
        height: auto;
        aspect-ratio: 16 / 9;
    }

    /* Tables scroll inside the article — do not widen the page */
    .article-view__body table,
    .com-content-article__body table {
        display: block;
        width: max-content;
        max-width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        border-collapse: collapse;
    }

    .article-view__body :is(pre, code),
    .com-content-article__body :is(pre, code) {
        max-width: 100%;
        overflow-x: auto;
        white-space: pre-wrap;
        word-break: break-word;
    }

    /* Legacy inline layout constraints from Word / old editors */
    .article-view__body [style*="width"],
    .article-view__body [style*="min-width"],
    .article-view__body [style*="max-width"],
    .com-content-article__body [style*="width"],
    .com-content-article__body [style*="min-width"],
    .com-content-article__body [style*="max-width"] {
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .article-view__body [style*="white-space"],
    .com-content-article__body [style*="white-space"] {
        white-space: normal !important;
    }

    .breadcrumbs-shell .container > * {
        padding: 0.75rem 0.85rem;
        overflow-wrap: anywhere;
    }

    .breadcrumbs-shell ol,
    .breadcrumbs-shell ul {
        max-width: 100%;
        overflow-wrap: anywhere;
    }

    .breadcrumbs-shell li {
        display: inline;
        overflow-wrap: anywhere;
    }

    .article-view .pagenavigation,
    .article-view .pagination {
        max-width: 100%;
        min-width: 0;
    }

    .article-view .pagination {
        display: flex;
        flex-wrap: wrap;
        gap: 0.5rem;
    }

    .page-content__inner .blog-items:not(.items-leading) {
        grid-template-columns: 1fr;
    }

    .page-content__inner .blog-item--spotlight:has(> .item-image) {
        display: flex;
        flex-direction: column;
        grid-column: auto;
    }

    .page-content__inner .blog-item--spotlight:has(> .item-image) > .item-image {
        aspect-ratio: 16 / 10;
        min-height: 0;
    }

    .page-content__inner .blog-item--spotlight:has(> .item-image) > .item-image img {
        min-height: 0;
    }

    .page-content__inner .blog-item--spotlight:has(> .item-image) .item-content {
        padding: 1rem;
    }

    .page-content__inner .blog-item .item-content {
        padding: 1rem;
    }
}

@media (max-width: 900px) {
    .site-header__top {
        gap: 1rem;
    }

    .hero-module-clean {
        grid-template-columns: 1fr;
    }

    .hero-module-clean__gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: auto;
        min-height: 0;
    }

    .hero-module-clean__gallery-item:first-child {
        grid-column: 1 / -1;
        grid-row: auto;
        min-height: 260px;
    }

    .home-shortcuts__grid {
        grid-template-columns: 1fr;
    }

    .page-content__inner .com-content-article,
    .page-content__inner .item-page,
    .page-content__inner article {
        max-width: 100%;
    }

    .home-hero__fallback {
        grid-template-columns: 1fr;
    }

    .site-nav > ul,
    .site-nav > .mod-menu,
    .site-nav > .menu,
    .site-nav > div > ul {
        /* Mobile column layout lives in template.css hamburger panel */
        width: 100%;
        max-width: 100%;
    }
}

@media (min-width: 761px) and (max-width: 900px) {
    .page-content__inner .blog-items:not(.items-leading) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .page-content__inner .blog-item--spotlight:has(> .item-image) {
        display: flex;
        flex-direction: column;
        grid-column: auto;
    }

    .page-content__inner .blog-item--spotlight:has(> .item-image) > .item-image {
        aspect-ratio: 16 / 10;
        min-height: 0;
        border-radius: 0;
    }

    .page-content__inner .blog-item--spotlight:has(> .item-image) > .item-image img {
        min-height: 0;
    }

    .page-content__inner .blog-item--spotlight:has(> .item-image) .item-content {
        padding: 1.15rem;
    }
}

@media (max-width: 640px) {
    .container {
        width: min(100% - 1.25rem, var(--container));
    }

    .site-main {
        padding-top: 1.25rem;
    }

    .home-hero,
    .home-shortcuts,
    .home-news,
    .breadcrumbs-shell,
    .page-content {
        margin-top: 1.25rem;
    }

    .home-hero__fallback,
    .home-shortcuts__item > *,
    .home-news__content > *,
    .page-content__inner {
        padding: 1.25rem;
    }

    .home-hero__fallback h1,
    .page-content__inner h1 {
        font-size: clamp(1.9rem, 8vw, 2.4rem);
    }

    .article-view__title {
        font-size: clamp(1.65rem, 8vw, 2.15rem);
    }

    .article-view__body {
        font-size: 1rem;
        line-height: 1.72;
    }

    .article-view__state,
    .error-layout__actions {
        flex-direction: column;
        align-items: stretch;
    }

    .page-content__inner .blog-item .item-content,
    .page-content__inner .items-more,
    .page-content__inner .com-content-category-blog__children,
    .page-content__inner .com-content-category-blog__navigation,
    .page-content__inner .w-100 {
        padding: 1rem;
    }

    .page-content__inner .blog-item > .item-image {
        aspect-ratio: 16 / 10;
    }

    .page-content__inner .blog-item > .item-image img {
        min-height: 0;
    }

    .page-content__inner .com-content-category-blog__pagination,
    .page-content__inner .pagination {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .error-layout {
        margin: 3.5vh auto;
    }

    .error-layout__actions .button {
        width: 100%;
    }

    .home-hero__media img {
        min-height: 240px;
    }

    .hero-module-clean__media img {
        min-height: 240px;
    }

    .hero-module-clean__gallery {
        grid-template-columns: 1fr;
    }

    .hero-module-clean__gallery-item,
    .hero-module-clean__gallery-item:first-child {
        min-height: 200px;
    }

    .hero-module-clean__media::before {
        transform: translate(0.85rem, 0.7rem) rotate(4deg);
    }

    .hero-module-clean__media::after {
        transform: translate(0.35rem, 0.25rem) rotate(2deg);
    }
}
