/* AIO responsive/performance hardening: does not alter WordPress template hierarchy. */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
html, body { max-width: 100%; }
.site, .site-content, .elementor, .elementor-element, .elementor-widget, .elementor-widget-container, .e-con { min-width: 0; }
img, picture, svg, video, canvas { max-width: 100%; height: auto; }
iframe, embed, object { max-width: 100%; }
pre, code { max-width: 100%; overflow-x: auto; }

@supports (overflow: clip) {
    body { overflow-x: clip; }
}

@media (max-width: 1024px) {
    .keystone-container,
    .site-header-wrapper .e-con {
        width: 100%;
        max-width: 100%;
        padding-left: clamp(16px, 4vw, 32px);
        padding-right: clamp(16px, 4vw, 32px);
        box-sizing: border-box;
    }

    .site-logo img {
        max-width: min(72vw, 240px);
        height: auto;
    }

    .main-navigation-wrapper,
    .nav-primary,
    .nav-primary .menu-items {
        max-width: 100%;
        box-sizing: border-box;
    }
}

@media (max-width: 767px) {
    body { overflow-wrap: anywhere; }
    table { display: block; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
    .elementor img, .e-con img { object-fit: contain; }
}
