/*
 * Mobile overflow hardening, 2026-08-31.
 * Compact article tables become cards; wide technical examples retain swipe.
 */
html {
    max-width: 100%;
    overflow-x: hidden;
    overflow-x: clip;
}
body {
    max-width: 100%;
    overscroll-behavior-x: none;
}
#global-wrapper {
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100%;
    overflow-x: hidden;
    overflow-x: clip;
}
@media screen and (max-width: 767px) {
    #breadcrumbs .kama_breadcrumbs {
        max-width: 100%;
        flex-wrap: wrap;
        overflow-x: visible;
        white-space: normal;
        row-gap: 2px;
    }
    #breadcrumbs .kb_title,
    #breadcrumbs a {
        min-width: 0;
        overflow-wrap: anywhere;
    }
    .team-track,
    .popular-services__list,
    .services-topics,
    .blog-topics,
    .si-ex-table-wrap {
        -ms-overflow-style: none;
        scrollbar-width: none;
        overscroll-behavior-inline: contain;
    }
    .team-track::-webkit-scrollbar,
    .popular-services__list::-webkit-scrollbar,
    .services-topics::-webkit-scrollbar,
    .blog-topics::-webkit-scrollbar,
    .si-ex-table-wrap::-webkit-scrollbar {
        display: none;
        width: 0;
        height: 0;
    }
    .article-body table[data-mobile-layout="cards"] {
        display: block !important;
        box-sizing: border-box;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        margin: 20px 0 28px;
        overflow: visible !important;
        border: 0 !important;
        border-collapse: separate !important;
        border-spacing: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        white-space: normal !important;
    }
    .article-body table[data-mobile-layout="cards"] > thead,
    .article-body table[data-mobile-layout="cards"] > tbody,
    .article-body table[data-mobile-layout="cards"] > tfoot {
        box-sizing: border-box;
        width: 100% !important;
        min-width: 0 !important;
    }
    .article-body table[data-mobile-layout="cards"] > tbody {
        display: grid !important;
        gap: 12px;
    }
    .article-body table[data-mobile-layout="cards"] tr[data-mobile-header-row="true"] {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        margin: -1px !important;
        padding: 0 !important;
        overflow: hidden !important;
        clip: rect(0 0 0 0) !important;
        clip-path: inset(50%) !important;
        white-space: nowrap !important;
    }
    .article-body table[data-mobile-layout="cards"] tr:not([data-mobile-header-row="true"]) {
        display: block !important;
        box-sizing: border-box;
        width: 100% !important;
        min-width: 0 !important;
        overflow: hidden;
        border: 1px solid #dbe3ed;
        border-radius: 12px;
        background: #fff;
        box-shadow: 0 5px 16px rgba(14, 26, 47, .055);
    }
    .article-body table[data-mobile-layout="cards"] tr:not([data-mobile-header-row="true"]) > td,
    .article-body table[data-mobile-layout="cards"] tr:not([data-mobile-header-row="true"]) > th {
        display: grid !important;
        grid-template-columns: minmax(92px, 34%) minmax(0, 1fr);
        gap: 10px;
        box-sizing: border-box;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        padding: 10px 12px !important;
        overflow-wrap: anywhere;
        word-break: normal;
        white-space: normal !important;
        border: 0 !important;
        border-bottom: 1px solid #e5eaf0 !important;
        background: #fff !important;
        color: #243248 !important;
        text-align: left !important;
        font: 400 14px/1.48 "Rubik", sans-serif !important;
    }
    .article-body table[data-mobile-layout="cards"] tr:not([data-mobile-header-row="true"]) > :last-child {
        border-bottom: 0 !important;
    }
    .article-body table[data-mobile-layout="cards"] tr:not([data-mobile-header-row="true"]) > td::before,
    .article-body table[data-mobile-layout="cards"] tr:not([data-mobile-header-row="true"]) > th::before {
        content: attr(data-mobile-label);
        min-width: 0;
        color: #0e1a2f;
        font: 800 11px/1.35 "Rubik", sans-serif;
        letter-spacing: .025em;
        overflow-wrap: anywhere;
    }
    .article-body table[data-mobile-layout="cards"] tr:not([data-mobile-header-row="true"]) > [data-mobile-wide="true"] {
        display: block !important;
        background: #eef5fc !important;
        color: #0e1a2f !important;
        font-weight: 750 !important;
    }
    .article-body table[data-mobile-layout="cards"] tr:not([data-mobile-header-row="true"]) > [data-mobile-wide="true"]::before,
    .article-body table[data-mobile-layout="cards"] tr:not([data-mobile-header-row="true"]) > [data-mobile-label=""]::before {
        display: none;
    }
    .article-body table[data-mobile-layout="cards"] td > *,
    .article-body table[data-mobile-layout="cards"] th > * {
        min-width: 0;
        max-width: 100%;
    }
    .article-body table[data-mobile-layout="cards"] a {
        overflow-wrap: anywhere;
        word-break: break-word;
    }
}
@media screen and (max-width: 360px) {
    .article-body table[data-mobile-layout="cards"] tr:not([data-mobile-header-row="true"]) > td,
    .article-body table[data-mobile-layout="cards"] tr:not([data-mobile-header-row="true"]) > th {
        grid-template-columns: minmax(82px, 32%) minmax(0, 1fr);
        gap: 8px;
        padding: 9px 10px !important;
        font-size: 13.5px !important;
    }
}
