/* ========================================
   MOBILE OPTIMIZATIONS
   Ottimizzazioni specifiche per dispositivi mobili
   ======================================== */

/* Riduci animazioni su mobile per performance */
@media (max-width: 991px) {
    /* Disabilita animazioni complesse su mobile */
    .wow,
    .animate__animated {
        animation: none !important;
        -webkit-animation: none !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    /* Mantieni solo transizioni semplici */
    * {
        transition-duration: 0.2s !important;
    }

    /* Disabilita gli elementi floating che rallentano */
    .floating-elements,
    .float-element {
        display: none !important;
    }

    /* Riduce gli effetti parallax */
    .hero-background {
        background-attachment: scroll !important;
    }
}

/* Fix spacing immagine-testo su mobile */
@media (max-width: 991px) {
    /* Aggiungi più spazio tra immagine e testo */
    .image-showcase {
        margin-bottom: 3rem !important;
    }

    .content-box-modern {
        padding-top: 2rem !important;
    }

    /* Riorganizza le sezioni in column su mobile */
    .row.align-items-center .col-lg-6 {
        margin-bottom: 2rem;
    }

    .row.align-items-center .col-lg-6:last-child {
        margin-bottom: 0;
    }
}

@media (max-width: 767px) {
    /* Ancora più spazio su schermi piccoli */
    .image-showcase {
        margin-bottom: 3.5rem !important;
    }

    .showcase-wrapper {
        padding: 1rem;
    }

    /* Riduci padding nelle sezioni */
    .section-modern {
        padding: 3rem 0 !important;
    }

    .content-box-modern {
        padding: 1.5rem 1rem !important;
    }
}

/* Ottimizzazioni immagini su mobile */
@media (max-width: 767px) {
    .showcase-image {
        max-width: 100%;
        height: auto;
        display: block;
        margin: 0 auto;
    }

    /* Riduci dimensioni icone */
    .territory-icon,
    .tech-icon {
        width: 50px !important;
        height: 50px !important;
        font-size: 1.5rem !important;
    }
}

/* Performance: Riduci box-shadow su mobile */
@media (max-width: 991px) {
    .territory-card,
    .tech-card,
    .team-card-modern {
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08) !important;
    }

    .territory-card:hover,
    .tech-card:hover,
    .team-card-modern:hover {
        box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12) !important;
        transform: translateY(-3px) !important;
    }
}

/* Fix per scroll smooth su iOS e Android */
html {
    -webkit-overflow-scrolling: touch;
    overflow-x: hidden;
}

body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
    position: relative;
}

/* Navbar mobile ottimizzata - FIX STICKY DEFINITIVO */
@media (max-width: 991px) {
    .navbar-modern {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        z-index: 9999 !important;
        background: white !important;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1) !important;
        -webkit-backface-visibility: hidden !important;
        backface-visibility: hidden !important;
        transform: translate3d(0, 0, 0) !important;
        -webkit-transform: translate3d(0, 0, 0) !important;
        will-change: transform !important;
        /* Fix iOS bounce - impedisce movimento verticale */
        -webkit-transform-style: preserve-3d !important;
        transform-style: preserve-3d !important;
    }

    /* Previeni il bounce dell'header */
    .navbar-modern .container,
    .navbar-content {
        transform: translate3d(0, 0, 0) !important;
        -webkit-transform: translate3d(0, 0, 0) !important;
    }

    /* Compensa lo spazio dell'header fisso */
    body {
        padding-top: 80px !important;
        /* Previeni overscroll su iOS */
        overscroll-behavior-y: none !important;
    }

    .hero-modern,
    .hero-page {
        margin-top: 0 !important;
        /* Previeni che il contenuto faccia muovere l'header */
        transform: translate3d(0, 0, 0) !important;
    }

    .navbar-menu-modern {
        padding: 1rem 0 !important;
        max-height: calc(100vh - 80px) !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }

    /* Quando il menu è aperto */
    .navbar-menu-modern.active {
        position: fixed !important;
        top: 80px !important;
        left: 0 !important;
        right: 0 !important;
        background: white !important;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15) !important;
        transform: translate3d(0, 0, 0) !important;
    }

    .nav-link-modern {
        padding: 0.75rem 1rem !important;
        font-size: 1rem !important;
    }
}

/* Typography ottimizzata per mobile */
@media (max-width: 767px) {
    .section-title-modern {
        font-size: 1.75rem !important;
        line-height: 1.3 !important;
        margin-bottom: 1rem !important;
    }

    .section-description {
        font-size: 0.95rem !important;
        line-height: 1.6 !important;
    }

    .hero-page-title {
        font-size: 2rem !important;
        line-height: 1.2 !important;
    }

    .hero-page-description {
        font-size: 1rem !important;
    }
}

/* Migliora touch target su mobile */
@media (max-width: 991px) {
    button,
    a.btn,
    .btn-contact-nav {
        min-height: 44px;
        min-width: 44px;
        padding: 0.75rem 1.5rem !important;
    }

    .navbar-toggler-modern {
        padding: 8px !important;
    }
}

/* Ottimizza cards su mobile */
@media (max-width: 575px) {
    .territory-card,
    .tech-card,
    .team-card-modern,
    .tech-card-simple {
        margin-bottom: 1.5rem !important;
        padding: 1.25rem !important;
    }

    /* Riduci gap tra elementi */
    .team-card-header {
        gap: 1rem !important;
        margin-bottom: 1rem !important;
        padding-bottom: 1rem !important;
    }
}

/* Performance: Lazy loading placeholder */
.showcase-image,
.team-avatar-large img {
    background-color: #f0f0f0;
}

/* Riduci motion su dispositivi con prefers-reduced-motion */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }

    .wow {
        animation: none !important;
    }
}

/* Fix per immagini che escono dal container */
@media (max-width: 991px) {
    .container {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    img {
        max-width: 100%;
        height: auto;
    }
}

/* Ottimizza forms su mobile */
@media (max-width: 767px) {
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    textarea,
    select {
        font-size: 16px !important; /* Previene zoom su iOS */
        padding: 0.75rem !important;
    }
}

/* Spinner più piccolo su mobile */
@media (max-width: 767px) {
    #spinner .spinner-grow {
        width: 2rem !important;
        height: 2rem !important;
    }
}