/**
 * Mobile Overflow Fixer
 * Reglas front-end conservadoras para evitar desplazamiento horizontal no deseado.
 */

html,
body {
    max-width: 100%;
    overflow-x: hidden !important;
}

html {
    width: 100%;
}

body.mof-overflow-fix-enabled {
    position: relative;
    width: 100%;
    min-width: 0;
}

body.mof-overflow-fix-enabled *,
body.mof-overflow-fix-enabled *::before,
body.mof-overflow-fix-enabled *::after {
    box-sizing: border-box;
}

body.mof-overflow-fix-enabled img,
body.mof-overflow-fix-enabled svg,
body.mof-overflow-fix-enabled video,
body.mof-overflow-fix-enabled canvas,
body.mof-overflow-fix-enabled iframe,
body.mof-overflow-fix-enabled embed,
body.mof-overflow-fix-enabled object {
    max-width: 100%;
}

body.mof-overflow-fix-enabled img,
body.mof-overflow-fix-enabled video,
body.mof-overflow-fix-enabled canvas {
    height: auto;
}

body.mof-overflow-fix-enabled iframe,
body.mof-overflow-fix-enabled embed,
body.mof-overflow-fix-enabled object {
    border: 0;
}

body.mof-overflow-fix-enabled table {
    max-width: 100%;
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

body.mof-overflow-fix-enabled .wp-block-table {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

body.mof-overflow-fix-enabled pre,
body.mof-overflow-fix-enabled code,
body.mof-overflow-fix-enabled kbd,
body.mof-overflow-fix-enabled samp {
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
}

body.mof-overflow-fix-enabled pre {
    overflow-x: auto;
    white-space: pre-wrap;
}

body.mof-overflow-fix-enabled .alignfull,
body.mof-overflow-fix-enabled .alignwide,
body.mof-overflow-fix-enabled .wp-block-cover,
body.mof-overflow-fix-enabled .wp-block-media-text,
body.mof-overflow-fix-enabled .wp-block-gallery,
body.mof-overflow-fix-enabled .wp-block-embed,
body.mof-overflow-fix-enabled .wp-block-video,
body.mof-overflow-fix-enabled .wp-block-image,
body.mof-overflow-fix-enabled .wp-block-columns,
body.mof-overflow-fix-enabled .wp-site-blocks,
body.mof-overflow-fix-enabled .entry-content,
body.mof-overflow-fix-enabled .site,
body.mof-overflow-fix-enabled .site-content,
body.mof-overflow-fix-enabled .content-area,
body.mof-overflow-fix-enabled main,
body.mof-overflow-fix-enabled article,
body.mof-overflow-fix-enabled section {
    max-width: 100%;
}

@media (max-width: 1024px) {
    body.mof-overflow-fix-enabled {
        overflow-x: hidden !important;
    }

    body.mof-overflow-fix-enabled .wp-block-columns,
    body.mof-overflow-fix-enabled .columns,
    body.mof-overflow-fix-enabled .row,
    body.mof-overflow-fix-enabled [class*="elementor-section"],
    body.mof-overflow-fix-enabled [class*="elementor-container"],
    body.mof-overflow-fix-enabled [class*="elementor-column"],
    body.mof-overflow-fix-enabled [class*="vc_row"],
    body.mof-overflow-fix-enabled [class*="vc_column"],
    body.mof-overflow-fix-enabled [class*="fusion-row"],
    body.mof-overflow-fix-enabled [class*="container"] {
        max-width: 100% !important;
    }

    body.mof-overflow-fix-enabled .wp-block-columns,
    body.mof-overflow-fix-enabled .row,
    body.mof-overflow-fix-enabled .columns {
        min-width: 0;
    }

    body.mof-overflow-fix-enabled [style*="min-width"] {
        min-width: 0;
    }

    body.mof-overflow-fix-enabled [style*="width: 100vw"],
    body.mof-overflow-fix-enabled [style*="width:100vw"] {
        max-width: 100vw;
    }
}

@supports (overflow: clip) {
    html,
    body {
        overflow-x: clip !important;
    }
}

body.mof-overflow-fix-enabled .mof-debug-overflow-offender {
    outline: 2px solid #ff004c !important;
    outline-offset: -2px !important;
}
