/* =====================================================
   FIX MOBILE ARTICOLI SP PAGE BUILDER
===================================================== */

@media screen and (max-width: 767px) {

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

    body.site,
    .body-wrapper,
    .body-innerwrapper,
    #sp-main-body,
    #sp-component,
    main,
    .article-details,
    .item-page,
    .sppb-page-content {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow-x: hidden !important;
        box-sizing: border-box !important;
    }

    /* Tutti i contenitori SP Page Builder */
    .sppb-page-content .sppb-section,
    .sppb-page-content .sppb-container,
    .sppb-page-content .sppb-container-inner,
    .sppb-page-content .sppb-row-container,
    .sppb-page-content .sppb-row,
    .sppb-page-content .sppb-column,
    .sppb-page-content .sppb-column-addons,
    .sppb-page-content .sppb-addon,
    .sppb-page-content .sppb-addon-content {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    /* Annulla larghezze fisse eventualmente impostate da SP Page Builder */
    .sppb-page-content [style*="width"],
    .sppb-page-content [style*="min-width"],
    .sppb-page-content [style*="max-width"] {
        max-width: 100% !important;
        min-width: 0 !important;
    }

    /* Container principale */
    .sppb-page-content .sppb-container,
    .sppb-page-content .sppb-row-container {
        width: auto !important;
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    /* Righe SP Page Builder */
    .sppb-page-content .sppb-row {
        display: flex !important;
        flex-wrap: wrap !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* Colonne */
    .sppb-page-content [class*="sppb-col-"] {
        flex: 0 0 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* Testi */
    .sppb-addon-text-block,
    .sppb-addon-text-block .sppb-addon-content,
    .sppb-addon-text-block p,
    .article-details p {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }

    /* Su mobile il testo giustificato crea spazi eccessivi */
    .sppb-addon-text-block p,
    .article-details p {
        text-align: left !important;
    }

    /* Titoli */
    .sppb-addon-title,
    .article-header h1,
    .page-header h1 {
        width: 100% !important;
        max-width: 100% !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        line-height: 1.1 !important;
    }

    /* Immagini e contenuti multimediali */
    .sppb-page-content img,
    .sppb-page-content svg,
    .sppb-page-content video,
    .sppb-page-content iframe,
    .article-details img {
        display: block;
        max-width: 100% !important;
        height: auto !important;
    }
}