/* Style iOS pour le menu mobile */
@media (max-width: 768px) {
    /* Menu Mobile Overlay style iOS */
    .mobile-menu-overlay {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        background: rgba(255, 255, 255, 0.85);
        backdrop-filter: blur(20px);
        -webkit-backdrop-filter: blur(20px);
        z-index: 1001;
        padding-top: 100px;
        opacity: 0;
        transition: opacity 0.3s ease;
    }
    
    .mobile-menu-overlay.active {
        display: block !important;
        opacity: 1;
    }
    
    .mobile-menu-content {
        padding: 1rem;
        max-width: 500px;
        margin: 0 auto;
    }
    
    .mobile-menu-content a {
        display: block;
        padding: 1.2rem 1.5rem;
        font-size: 1.1rem;
        color: #333;
        text-decoration: none;
        border-radius: 12px;
        transition: all 0.2s ease;
        background: rgba(255, 255, 255, 0.5);
        margin-bottom: 0.5rem;
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        border: 1px solid rgba(255, 255, 255, 0.3);
    }
    
    .mobile-menu-content a:active {
        transform: scale(0.98);
        background: rgba(255, 255, 255, 0.8);
    }
    
    .mobile-menu-content a.btn-primary {
        margin-top: 1.5rem;
        background: linear-gradient(135deg, #6B46C1 0%, #4A90E2 100%);
        color: white;
        text-align: center;
        font-weight: 600;
        box-shadow: 0 4px 15px rgba(107, 70, 193, 0.3);
    }
    
    .mobile-menu-content a.btn-primary:active {
        transform: scale(0.98);
        box-shadow: 0 2px 10px rgba(107, 70, 193, 0.3);
    }
    
    /* Animation du hamburger style iOS */
    .hamburger-menu.active span:nth-child(1) {
        transform: rotate(45deg) translate(6px, 6px);
    }
    
    .hamburger-menu.active span:nth-child(2) {
        opacity: 0;
        transform: scaleX(0);
    }
    
    .hamburger-menu.active span:nth-child(3) {
        transform: rotate(-45deg) translate(6px, -6px);
    }
    
    /* Transition douce pour les spans */
    .hamburger-menu span {
        transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    }
}

/* Fix pour le bouton Estimer sur mobile */
@media (max-width: 768px) {
    /* Empêcher le décalage du bouton au touch/hover */
    .hero .btn-primary,
    .cta-button,
    .btn-primary {
        position: relative !important;
        transform: none !important;
        transition: background-color 0.3s ease, box-shadow 0.3s ease !important;
    }
    
    .hero .btn-primary:hover,
    .hero .btn-primary:active,
    .hero .btn-primary:focus,
    .cta-button:hover,
    .cta-button:active,
    .cta-button:focus,
    .btn-primary:hover,
    .btn-primary:active,
    .btn-primary:focus {
        transform: none !important;
        left: 0 !important;
        right: 0 !important;
        top: 0 !important;
        bottom: 0 !important;
    }
    
    /* Effet visuel au touch sans déplacement */
    .hero .btn-primary:active,
    .cta-button:active,
    .btn-primary:active {
        box-shadow: 0 2px 10px rgba(107, 70, 193, 0.4) !important;
        background: linear-gradient(135deg, #5A35B0 0%, #3980D1 100%) !important;
    }
    
    /* Désactiver toute animation de position */
    .hero .btn-primary {
        animation: none !important;
    }
    
    /* S'assurer que le bouton reste centré */
    .hero-cta {
        display: flex;
        justify-content: center;
        margin-top: 2rem;
    }
    
    .hero-cta .btn-primary {
        position: relative !important;
        display: inline-block !important;
        margin: 0 auto !important;
    }
}

/* Désactiver les transitions de position sur tous les boutons mobile */
@media (max-width: 768px) {
    button,
    .button,
    .btn,
    .btn-primary,
    .btn-secondary,
    .cta-button,
    a.btn-primary {
        -webkit-transform: translateZ(0) !important;
        -webkit-backface-visibility: hidden !important;
        -webkit-perspective: 1000 !important;
    }
}

/* Style Quantum Computing titre mobile */
@media (max-width: 768px) {
    .quantum-section h2 {
        font-size: 2rem !important;
    }
}

/* Fix Quantum Map Section Mobile */
@media (max-width: 768px) {
    #quantum-map {
        width: 100% !important;
        max-width: 100vw !important;
        height: 400px !important;
    }
    
    .mobile-container {
        padding: 1rem !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    
    section {
        overflow-x: hidden !important;
        width: 100% !important;
    }
}

/* Fix largeur complète mobile */
@media (max-width: 768px) {
    /* Section Quantum Map */
    .mobile-container {
        width: 100vw !important;
        padding: 0 !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }
    
    .mobile-container > div {
        width: 100% !important;
        padding: 1rem !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }
    
    .mobile-container > div > div {
        width: 100% !important;
        margin: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        background: white !important;
        padding: 1.5rem 1rem !important;
        box-sizing: border-box !important;
    }
    
    /* Carte Quantum */
    #quantum-map {
        width: calc(100% - 2rem) !important;
        margin: 0 1rem !important;
        border-radius: 12px !important;
        height: 350px !important;
    }
    
    /* Toutes les sections */
    section {
        width: 100vw !important;
        padding: 0 !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }
    
    /* Container général */
    .container {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    
    /* Features et autres sections */
    .features-container,
    .about-container {
        width: 100% !important;
        padding: 2rem 1rem !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }
    
    /* Cards */
    .feature-card,
    .about-card {
        width: 100% !important;
        margin: 0 0 1rem 0 !important;
        box-sizing: border-box !important;
    }
}

/* Fix formulaire estimation mobile */
@media (max-width: 768px) {
    /* Page estimation */
    .estimation-container,
    form {
        width: 100% !important;
        padding: 1rem !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }
    
    /* Inputs */
    input[type="text"],
    input[type="number"],
    select,
    textarea {
        width: 100% !important;
        box-sizing: border-box !important;
    }
    
    /* Boutons */
    button,
    .btn,
    .btn-primary {
        width: 100% !important;
        box-sizing: border-box !important;
    }
    
    /* Remove side margins on mobile */
    body {
        margin: 0 !important;
        padding: 0 !important;
        width: 100vw !important;
        overflow-x: hidden !important;
    }
}

/* Desktop */
@media (min-width: 769px) {
    .mobile-container {
        padding: 3rem 2rem !important;
        border-radius: 20px !important;
        margin: 2rem auto !important;
    }
}

/* Mobile */
@media (max-width: 768px) {
    .mobile-container {
        padding: 1.5rem 0 !important;
    }
    
    /* Box blanche interne */
    .mobile-container > div > div {
        background: rgba(255, 255, 255, 0.12) !important;
        backdrop-filter: blur(40px) saturate(180%) !important;
        -webkit-backdrop-filter: blur(40px) saturate(180%) !important;
        box-shadow: 0 4px 20px rgba(107, 70, 193, 0.1) !important;
        border: 1px solid rgba(107, 70, 193, 0.1) !important;
    }
}
