/* Ottimizzazioni aggiuntive per dispositivi mobili */

@media screen and (max-width: 768px) {
    /* Regolazioni generali */
    body {
        font-size: 16px;
    }
    
    .container {
        padding: 0 15px;
    }
    
    /* Header e navigazione */
    .header-content {
        padding: 10px 0;
    }
    
    .logo {
        height: 50px;
    }
    
    /* Hero section */
    .hero {
        padding: 100px 15px 70px;
    }
    
    .hero h1 {
        font-size: 1.8rem;
    }
    
    .hero p {
        font-size: 1rem;
    }
    
    .btn {
        padding: 10px 25px;
        font-size: 0.9rem;
    }
    
    /* Sezioni */
    .section-title h2 {
        font-size: 1.6rem;
    }
    
    .about, .services, .testimonials, .faq, .contact {
        padding: 60px 0;
    }
    
    /* Servizi */
    .services-grid {
        grid-template-columns: 1fr;
    }
    
    /* Contatti */
    .contact-container {
        flex-direction: column;
    }
    
    /* Form */
    .form-control {
        padding: 10px;
        font-size: 14px;
    }
    
    /* Mappa */
    .map {
        height: 300px;
    }
}

@media screen and (max-width: 480px) {
    /* Regolazioni per schermi molto piccoli */
    .hero h1 {
        font-size: 1.5rem;
    }
    
    .about-content {
        flex-direction: column;
    }
    
    .about-img {
        margin-bottom: 20px;
    }
    
    .footer-content {
        flex-direction: column;
    }
    
    .footer-logo, .footer-links {
        text-align: center;
        margin-bottom: 30px;
    }
    
    .footer-links h4::after {
        margin: 10px auto 0;
    }
}
