/****
    *
    *		@Author [Benoit Hinck]
    *		@Copyright [2007]
    *
    *		@Pagename : inscription-style.css 
    *
    *		@Revisions
    *			Le 07/02/2026 : Création
    *
    ****/
    
    
    /* !-- ================= ----------- ================ --! */
    /* !-- ================= Inscription ================ --! */
    /* !-- ================= ----------- ================ --! */
    
    /* Réduction de l'espace dans l'en-tête d'inscription */
    .registration-header h1 {
        margin-bottom: 5px; /* Réduit l'espace sous le titre principal */
        font-size: 2rem;    /* Ajustez la taille si nécessaire */
    }

    .registration-header p {
        margin-top: 0;      /* Supprime la marge supérieure du texte descriptif */
        color: #666;        /* Une couleur un peu plus douce pour le sous-titre */
        font-style: italic; /* Optionnel : pour différencier du reste */
    }

    .registration-title {
        display: flex;
        margin: 0 auto;
        padding: 0 20px;
        padding-top: 17px;
        margin-bottom: 24px;
        text-align: left;
    }

    .form-modern {
        max-width: 800px;
        margin: 0 auto;
        padding: 0px;
    }

    .form-section {
        background: #fff;
        border-radius: 12px;
        box-shadow: 0 4px 12px rgba(0,0,0,0.05);
        padding: 25px;
        margin-bottom: 25px;
    }

    .form-section h3 {
        align-items: center;
        border-bottom: 1px solid #eee;      /* Optionnel : ajoute une ligne de séparation fine */
        color: #4682b4;                     /* Optionnel : pour harmoniser avec votre charte */
        display: flex;
        font-size: 1.2rem;
        gap: 10px;
        margin-bottom: 25px;                /* Augmentez cette valeur pour plus d'espace */
        margin-top: 0;
        padding-bottom: 10px;               /* Espace entre le texte et la ligne */
    }

    .highlight-section {
        background: #f0f9f4;
        border-left: 5px solid #2E8B57; /* Rappel du vert inscription */
    }

    .form-grid {
        display: grid;
        gap: 20px;
        grid-template-columns: 1fr 1fr;
    }

    @media (max-width: 600px) {
        .form-grid { grid-template-columns: 1fr; }
    }

    .form-group {
        padding-bottom: 10px;
    }

    .form-group label {
        color: #444;
        display: block;
        font-weight: 600;
        margin-bottom: 8px;
    }

    .form-group input, .form-group select {
        border: 1px solid #ccc;
        border-radius: 6px;
        padding: 12px;
        width: 100%;
    }

    /* Effet lors du clic/focus dans un champ */
    .form-group input:focus, 
    .form-group select:focus {
        outline: none; /* Supprime le contour bleu par défaut du navigateur */
        border-color: #2E8B57; /* La bordure devient verte CW3C */
        box-shadow: 0 0 8px rgba(46, 139, 87, 0.2); /* Ajoute un léger halo lumineux autour du champ */
        background-color: #fff; /* Assure un fond blanc pur */
        transform: scale(1.01); /* Très léger agrandissement pour l'effet de relief */
        transition: all 0.3s ease; /* Rend la transition fluide */
    }

    /* Optionnel : changer la couleur du label quand le champ est actif */
    .form-group:focus-within label {
        color: #2E8B57; /* Le nom du champ (ex: "Nom") passe en vert quand on clique dedans */
        font-weight: bold;
        transition: color 0.2s;
    }

    /* Effet au survol */
    .form-group input:hover, 
    .form-group select:hover {
        border-color: #999; /* La bordure devient un peu plus foncée au survol */
    }

    /* Style pour un champ valide */
    .form-group input:valid {
        border-right: 5px solid #2E8B57; /* Petite barre verte à droite */
    }

    /* Si vous voulez une icône, on utilise le sélecteur suivant sur les champs 'required' */
    .form-group input:required:valid {
        background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%232E8B57"><path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"/></svg>');
        background-repeat: no-repeat;
        background-position: right 10px center;
        background-size: 20px;
        padding-right: 40px;
    }

    /* Champ déjà rempli */
    .form-group input, select {
        color: #333;
        font-size: 1rem;
    }

    .footer-container {
        max-width: 2000px;
        margin: 0 auto;
    }

    .form-footer {
        align-items: center;
        display: grid;
        justify-content: center;
        gap: 20px;
        margin-bottom: 20px;
        margin-top: 20px;
        text-align: center;
    }

    .terms-text {
        color: #666;
        font-size: 0.95rem;
        margin-bottom: 12px;
    }

    .btn-inscription {
        font-size: 1.2rem;
        height: 3.4rem;
        letter-spacing: 2px;
    }

    .form-group input.error-border {
        border-color: #e74c3c !important;
        background-color: #fdf2f2;
    }

    
    /*  !------------------ Google Recaptcha ------------------! */
    /*  -------------------------------------------------------  */
    .security-section {
        background-color: #f0f2f9;
        border-right: 5px solid #2e3d8b;
        text-align: center;
    }

    .captcha-container {
        display: inline-block;
        margin: 10px auto;
        padding: 10px;
        border-radius: 4px;
    }

    /* On s'assure que le captcha ne dépasse pas sur mobile */
    @media (max-width: 400px) {
        .g-recaptcha {
            transform: scale(0.77);
            transform-origin: 0 0;
        }
    }

    /*  !---------------- Registration Siccess ----------------! */
    /*  -------------------------------------------------------  */
    .registration-success-card {
        background: #fff;
        border-radius: 15px;
        border-top: 6px solid #2E8B57; /* Vert CW3C */
        box-shadow: 0 10px 30px rgba(0,0,0,0.1);
        margin: 40px auto;
        max-width: 9000px;
        padding: 40px;
        text-align: center;
    }

    .success-icon {
        font-size: 4rem;
        color: #2E8B57;
        margin-bottom: 20px;
    }

    .info-box {
        background: #f0f7f4;
        border: 1px solid #d1e7dd;
        padding: 20px;
        border-radius: 8px;
        margin: 25px 0;
        text-align: left;
    }

    .btn-return {
        display: inline-block;
        margin-top: 20px;
        padding: 12px 25px;
        background: #444;
        color: white !important;
        text-decoration: none;
        border-radius: 5px;
        transition: background 0.3s;
    }

    .btn-return:hover {
        background: #222;
    }


    /*  !------------------ Message d'erreur ------------------! */
    /*  -------------------------------------------------------  */
    .alert-error-container {
        align-items: center;
        animation: slideDown 0.4s ease-out;
        background-color: #fdf2f2;
        border: 1px solid #f8b4b4;
        border-left: 5px solid #e74c3c; /* Barre rouge vive à gauche */
        border-radius: 8px;
        display: flex;
        padding: 15px 20px;
        margin-bottom: 30px;
    }

    .alert-icon {
        color: #e74c3c;
        font-size: 1.5rem;
        margin-right: 15px;
    }

    .alert-content strong {
        color: #9b1c1c;
        display: block;
        margin-bottom: 2px;
    }

    .alert-content p {
        color: #b91c1c;
        font-size: 0.95rem;
        margin: 0;
    }

    @keyframes slideDown {
        from { opacity: 0; transform: translateY(-10px); }
        to { opacity: 1; transform: translateY(0); }
    }

    .error-message {
        color: #e74c3c;
        font-size: 0.85rem;
        margin-top: 5px;
        display: none;              /* Caché par défaut */
    }


    /* =============================================================== */
    /* ----------------------- INDICE DU TYPE ------------------------ */
    /* =============================================================== */
 