.cyber-contact-wrapper {
    background: #0d0d0d;
    border: 1px solid #222;
    border-radius: 8px;
    max-width: 700px;
    margin: 50px auto;
    font-family: 'Share Tech Mono', monospace;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0,0,0,0.8);
}

/* Header Terminal */
.terminal-header {
    background: #1a1a1a;
    padding: 10px 15px;
    display: flex;
    align-items: center;
    gap: 15px;
    border-bottom: 1px solid #333;
}
.header-controls { display: flex; gap: 6px; }
.header-controls span { width: 10px; height: 10px; border-radius: 50%; background: #333; }
.header-title { color: #666; font-size: 11px; letter-spacing: 2px; }

/* Contenu */
.terminal-content { padding: 40px; position: relative; min-height: 400px; }

/* Formulaire */
.input-group { margin-bottom: 25px; }
.input-group label { display: block; color: #D4FF00; font-size: 11px; margin-bottom: 8px; letter-spacing: 1px; }

.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }

input, textarea, select {
    width: 100%;
    background: #050505;
    border: 1px solid #333;
    padding: 12px;
    color: #fff;
    font-family: inherit;
    border-radius: 3px;
    outline: none;
    transition: all 0.3s;
}
input:focus, textarea:focus, select:focus { border-color: #D4FF00; box-shadow: 0 0 10px rgba(212, 255, 0, 0.1); }

/* Bouton */
.submit-btn {
    width: 100%;
    background: #D4FF00;
    color: #000;
    border: none;
    padding: 15px;
    font-weight: bold;
    cursor: pointer;
    letter-spacing: 2px;
    position: relative;
    overflow: hidden;
    transition: 0.3s;
}
.submit-btn:hover { background: #fff; box-shadow: 0 0 30px rgba(212, 255, 0, 0.4); transform: translateY(-2px); }

/* Écran de succès */
.success-screen { text-align: center; animation: fadeIn 0.5s ease; }
.success-icon { font-size: 60px; color: #D4FF00; margin-bottom: 20px; }
.glitch-text { color: #fff; font-size: 28px; margin-bottom: 10px; text-shadow: 2px 2px #ff003c; }

.nav-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin-top: 30px; }
.nav-box {
    background: #111;
    border: 1px solid #222;
    padding: 20px;
    text-decoration: none;
    border-radius: 4px;
    transition: 0.3s;
}
.nav-box:hover { border-color: #D4FF00; background: #161616; }
.nav-label { display: block; color: #D4FF00; font-size: 14px; font-weight: bold; }
.nav-desc { display: block; color: #666; font-size: 10px; margin-top: 5px; }

/* Loading Animation */
.loading-screen { text-align: center; padding-top: 50px; }
.progress-container { width: 100%; height: 4px; background: #222; margin-top: 20px; border-radius: 2px; overflow: hidden; }
.progress-bar { width: 0; height: 100%; background: #D4FF00; box-shadow: 0 0 10px #D4FF00; animation: progress 2s infinite ease-in-out; }

@keyframes progress { 0% { width: 0; } 100% { width: 100%; } }
.hidden { display: none !important; }

/* --- RESPONSIVE DESIGN --- */

@media (max-width: 768px) {
    .cyber-contact-wrapper {
        margin: 20px 10px; /* Réduit les marges extérieures sur mobile */
        max-width: 100%;
    }

    .terminal-content {
        padding: 25px 20px; /* Moins de padding pour gagner de l'espace */
    }

    .form-grid {
        grid-template-columns: 1fr; /* On passe le formulaire sur une seule colonne */
        gap: 15px;
    }

    .nav-grid {
        grid-template-columns: 1fr; /* On empile les boîtes de navigation de l'écran de succès */
    }

    .glitch-text {
        font-size: 22px; /* Texte de succès légèrement plus petit */
    }
}

@media (max-width: 480px) {
    .terminal-header {
        justify-content: center; /* Centre le titre sur très petit écran */
    }
    
    .header-controls {
        display: none; /* Cache les petits ronds de contrôle pour gagner de la place */
    }

    .submit-btn {
        padding: 12px;
        font-size: 14px; /* Bouton plus compact */
    }

    input, textarea, select {
        font-size: 14px; /* Améliore la lisibilité des champs sur mobile */
    }
}