/* PFKS NEW V0.26.8 — mobile Webmaster hardening.
 * Loaded last, after page CSS and typography.css.
 * Goals: no page-level horizontal overflow and no critical UI text below 12px on phones.
 */
@media (max-width: 720px) {
    :root {
        --pfks-type-label: 12px;
        --pfks-type-meta: 13px;
        --pfks-type-secondary: 15px;
    }

    html,
    body.pfks-site {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
        overflow-x: clip;
        -webkit-text-size-adjust: 100%;
        text-size-adjust: 100%;
    }

    body.pfks-site main,
    body.pfks-site section,
    body.pfks-site article,
    body.pfks-site header,
    body.pfks-site footer,
    body.pfks-site nav,
    body.pfks-site .pfks-site-container,
    body.pfks-site .container,
    body.pfks-site .hold-container {
        max-width: 100%;
        min-width: 0;
    }

    body.pfks-site img,
    body.pfks-site picture,
    body.pfks-site video,
    body.pfks-site iframe,
    body.pfks-site svg {
        max-width: 100%;
    }

    /* Breadcrumbs must wrap instead of creating an intentional horizontal scroller. */
    body.pfks-site :where(
        .hold-crumbs,
        .mfr-crumbs,
        .partners-crumbs,
        .docs-crumbs,
        .faq-crumbs,
        .req-crumbs,
        .contacts-crumbs,
        .crumbs,
        .pd-crumbs,
        .pfks-solutions-crumbs
    ) {
        max-width: 100%;
        overflow: visible !important;
        white-space: normal !important;
        flex-wrap: wrap !important;
        overflow-wrap: anywhere;
        font-size: 13px !important;
        line-height: 1.45 !important;
    }

    /* Long CTA/link copy may wrap on narrow screens. */
    body.pfks-site :where(
        .hold-section-head > a,
        .mfr-commercial .mfr-text-link,
        .pfks-solution-geo a,
        .pfks-site-mobile-menu a
    ) {
        max-width: 100%;
        white-space: normal !important;
        overflow-wrap: anywhere;
    }

    /* Make generic legacy content fit the viewport without widening the page itself. */
    body.pfks-site .pfks-standard-shell__inner {
        max-width: 100%;
        overflow-wrap: anywhere;
        word-break: normal;
    }

    body.pfks-site .pfks-standard-shell__inner table {
        display: block;
        width: 100%;
        max-width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    /* Mobile legibility floor for semantic secondary UI text. */
    body.pfks-site small {
        font-size: 13px !important;
        line-height: 1.45 !important;
    }

    body.pfks-site :where([class*="kicker"], [class*="eyebrow"], .label) {
        font-size: 12px !important;
        line-height: 1.4 !important;
    }

    body.pfks-site :where(
        .partners-hero__stats span,
        .partners-hero__panel-title,
        .partners-filters b,
        .partners-card__meta span,
        .mfr-hero__panel li span,
        .mfr-company__top small,
        .mfr-company__role,
        .mfr-company__key-product > span,
        .docs-hero__stats span,
        .docs-hero__panel-title,
        .docs-filters button span,
        .docs-item__body small,
        .docs-item__type,
        .faq-hero__stats span,
        .faq-hero__panel-title,
        .pfks-cookie__copy > span,
        .pfks-cookie__actions button
    ) {
        font-size: 12px !important;
        line-height: 1.4 !important;
    }

    body.pfks-partners .partners-card__meta strong {
        font-size: 15px !important;
    }

    body.pfks-partners .partners-card__meta span,
    body.pfks-partners .partners-hero__categories small,
    body.pfks-partners .partners-section-head p {
        font-size: 13px !important;
        line-height: 1.5 !important;
    }

    /* Inputs at 16px avoid browser zoom and improve mobile readability. */
    body.pfks-site input,
    body.pfks-site select,
    body.pfks-site textarea {
        max-width: 100%;
        font-size: 16px !important;
    }
}
