/* ============================================================
   Fix hamburger menu mobile + overflow testi
   ============================================================ */

/* Hamburger cliccabile (era un div statico) */
.js-hamburger-toggle {
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    user-select: none;
}

/* Su mobile/tablet: menu nascosto di default, mostrato quando ha .is-open */
@media (max-width: 1199px) {
    .js-mobile-menu {
        display: none !important;
    }
    .js-mobile-menu.is-open {
        display: flex !important;
        flex-direction: column;
        z-index: 1000;
    }
    /* Stile più cliccabile per le voci del menu mobile */
    .js-mobile-menu.is-open button {
        padding: 14px 20px;
        text-align: center;
        width: 100%;
    }
    .js-mobile-menu.is-open button a {
        text-decoration: none;
        color: inherit;
        display: block;
    }
}

/* ============================================================
   Fix testo che esce dai riquadri (titoli hero su mobile)
   ============================================================ */
@media (max-width: 768px) {
    /* Riduce font-size dei titoli hero su schermi piccoli */
    .home-e-14,
    .about-e-14,
    .form-e-14,
    .menu-e-14 {
        font-size: 32px !important;
        line-height: 40px !important;
        word-wrap: break-word;
        overflow-wrap: break-word;
        max-width: 100%;
        box-sizing: border-box;
        padding: 8px 12px;
    }

    /* Container hero: limita larghezza al viewport */
    .home-e-16,
    .about-e-16 {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 16px;
        box-sizing: border-box;
    }

    /* Bottone "Contattaci" non superi il container */
    .home-e-15,
    .about-e-15 {
        max-width: 100%;
    }
}

/* Padding generale del container hero su schermi piccoli */
@media (max-width: 480px) {
    .home-e-13,
    .about-e-13 {
        padding-left: 16px !important;
        padding-right: 16px !important;
        box-sizing: border-box;
    }
}
