/* Senego — Styles du formulaire de contact.
 * Extrait du <style> inline de contact.php (Template Name: Contact Form Template).
 * Enqueued conditionnellement (uniquement sur le template contact.php).
 */

        /**
         * Styles CSS pour le formulaire de contact Senego
         * Responsive et accessible
         *
         * @version 1.2.0
         * @date Mars 2025
         */

        /* Container principal */
        .contact-container {
            width: 100%;
            max-width: 800px;
            margin: 2rem auto;
            padding: 2rem;
            background-color: #f9f9f9;
            color: #333;
            border-radius: var(--soft-radius);
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
        }

        /* Titre */
        .contact-title {
            font-size: 2.2rem;
            text-align: center;
            margin-bottom: 1.5rem;
            color: #333;
            font-weight: 600;
        }

        /* Formulaire */
        .contactForm {
            display: flex;
            flex-direction: column;
            width: 100%;
            background-color: #fff;
            padding: 2rem;
            border-radius: 8px;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
        }

        /* Labels */
        .contactForm label {
            font-weight: 600;
            margin-bottom: 0.5rem;
            color: #444;
            font-size: 1rem;
        }

        /* Champs de saisie */
        .contactForm input,
        .contactForm textarea,
        .contactForm select {
            width: 100%;
            padding: 0.8rem 1rem;
            margin-bottom: 1.5rem;
            border: 1px solid #ddd;
            border-radius: 5px;
            font-size: 1rem;
            transition: all 0.3s ease;
            box-sizing: border-box;
        }

        .contactForm input:focus,
        .contactForm textarea:focus,
        .contactForm select:focus {
            outline: none;
            border-color: #0070f3;
            box-shadow: 0 0 0 2px rgba(0, 112, 243, 0.2);
        }

        /* Zone de texte pour le message */
        .textMessage {
            min-height: 180px;
            resize: vertical;
        }

        /* reCAPTCHA */
        .captchaWrapper {
            margin-bottom: 1.5rem;
        }

        /* Bouton d'envoi */
        .contactForm button {
            background-color: #0070f3;
            color: white;
            border: none;
            border-radius: 5px;
            padding: 0.8rem 1.5rem;
            font-size: 1rem;
            font-weight: 600;
            cursor: pointer;
            transition: background-color 0.3s ease;
            margin-top: 0.5rem;
        }

        .contactForm button:hover {
            background-color: #0051a8;
        }

        .contactForm button:disabled {
            background-color: #ccc;
            cursor: not-allowed;
        }

        /* Zone de réponse du formulaire */
        #form-response {
            margin-top: 1.5rem;
            min-height: 50px;
        }

        /* Styles des messages */
        .success-contact,
        .error-contact,
        .info-contact {
            padding: 1rem;
            border-radius: 5px;
            text-align: center;
            font-weight: 500;
            margin: 1rem 0;
        }

        .success-contact {
            background-color: #e6f7ef;
            color: #088053;
            border: 1px solid #b7e6d1;
        }

        .error-contact {
            background-color: #fff0f0;
            color: #e50000;
            border: 1px solid #ffcbcb;
        }

        .info-contact {
            background-color: #e6f0ff;
            color: #0057cc;
            border: 1px solid #b7d0ff;
        }

        /* Styles pour les erreurs de champ */
        .field-error {
            color: #ff0000;
            font-size: 0.85em;
            margin-top: -0.5rem;
            margin-bottom: 0.5rem;
            display: block;
        }

        .error-input {
            border-color: #ff0000 !important;
            background-color: #fff9f9 !important;
        }

        /* Responsive */
        @media (max-width: 768px) {
            .contact-container {
                padding: 1.5rem;
                margin: 1rem auto;
            }

            .contact-title {
                font-size: 1.8rem;
            }

            .contactForm {
                padding: 1.5rem;
            }
        }

        @media (max-width: 480px) {
            .contact-container {
                padding: 1rem;
            }

            .contactForm {
                padding: 1rem;
            }

            .contact-title {
                font-size: 1.5rem;
            }

            .contactForm input,
            .contactForm textarea,
            .contactForm select {
                font-size: 0.9rem;
                padding: 0.7rem;
            }
        }

        /* Accessibilité */
        @media (prefers-reduced-motion: reduce) {
            .contactForm input:focus,
            .contactForm textarea:focus,
            .contactForm select:focus {
                transition: none;
            }

            .contactForm button {
                transition: none;
            }
        }

        /* État de focus pour l'accessibilité */
        .contactForm input:focus-visible,
        .contactForm textarea:focus-visible,
        .contactForm select:focus-visible,
        .contactForm button:focus-visible {
            outline: 3px solid #0070f3;
            outline-offset: 2px;
        }
