
        /* CONTAINER */
        .form-wrapper {
            max-width: 1450px;
            margin: auto;
        }

        /* MAIN CARD */
        .main-card {
            background: #fff;
            border-radius: 24px;
            overflow: hidden;
            border: 1px solid #e2e8f0;

            box-shadow:
                0 1px 2px rgba(15, 23, 42, .04),
                0 8px 24px rgba(15, 23, 42, .04);
        }

        /* =========================================
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            HEADER
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            ========================================= */

        .top-header {
            padding: 24px 30px;
            border-bottom: 1px solid #edf2f7;
        }

        .top-flex {
            display: flex;
            align-items: center;
            gap: 16px;
        }

        .top-icon {
            width: 58px;
            height: 58px;
            border-radius: 50%;
            background: #f0fdf4;

            display: flex;
            align-items: center;
            justify-content: center;

            color: #15803d;
            font-size: 22px;
        }

        .top-title h1 {
            margin: 0;
            font-size: 24px;
            font-weight: 800;
            color: #166534;
            line-height: 1.2;
        }

        .top-title p {
            margin: 6px 0 0;
            color: #64748b;
            font-size: 14px;
            font-weight: 500;
        }

        /* =========================================
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            STEP CARD
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            ========================================= */

        .step-card {
            background: #fff;
            border-radius: 20px;
            overflow: hidden;
            border: 1px solid #e2e8f0;
            margin: 20px;

            transition: .3s ease;

            box-shadow:
                0 1px 2px rgba(15, 23, 42, .04),
                0 8px 24px rgba(15, 23, 42, .04);
        }

        /* HEADER COLORS */

        .step-card.green .step-header {
            background: #f0fdf4;
        }

        .step-card.blue .step-header {
            background: #eff6ff;
        }

        .step-card.orange .step-header {
            background: #fff7ed;
        }

        .step-card.purple .step-header {
            background: #faf5ff;
        }

        .step-card.yellow .step-header {
            background: #fefce8;
        }

        /* STEP HEADER */

        .step-header {
            padding: 22px 24px;

            display: flex;
            align-items: center;
            justify-content: space-between;

            cursor: pointer;
        }

        .step-left {
            display: flex;
            align-items: center;
            gap: 16px;
        }

        .step-right {
            display: flex;
            align-items: center;
            gap: 16px;
        }

        /* NUMBER */

        .step-number {
            width: 46px;
            height: 46px;
            border-radius: 50%;

            display: flex;
            align-items: center;
            justify-content: center;

            color: #fff;
            font-size: 17px;
            font-weight: 700;

            flex-shrink: 0;
        }

        .green .step-number {
            background: linear-gradient(135deg, #166534, #16a34a);
        }

        .blue .step-number {
            background: linear-gradient(135deg, #1d4ed8, #2563eb);
        }

        .orange .step-number {
            background: linear-gradient(135deg, #c2410c, #ea580c);
        }

        .purple .step-number {
            background: linear-gradient(135deg, #7c3aed, #8b5cf6);
        }

        .yellow .step-number {
            background: linear-gradient(135deg, #ca8a04, #eab308);
        }

        /* ICON ROUND */

        .step-icon-round {
            width: 46px;
            height: 46px;
            border-radius: 50%;

            background: rgba(255, 255, 255, .75);

            display: flex;
            align-items: center;
            justify-content: center;

            font-size: 18px;

            flex-shrink: 0;
        }

        .green .step-icon-round {
            color: #166534;
        }

        .blue .step-icon-round {
            color: #2563eb;
        }

        .orange .step-icon-round {
            color: #ea580c;
        }

        .purple .step-icon-round {
            color: #7c3aed;
        }

        .yellow .step-icon-round {
            color: #ca8a04;
        }

        /* TITLES */

        .step-title h3 {
            margin: 0;
            font-size: 16px;
            font-weight: 700;
            line-height: 1.3;
        }

        .green .step-title h3 {
            color: #166534;
        }

        .blue .step-title h3 {
            color: #2563eb;
        }

        .orange .step-title h3 {
            color: #ea580c;
        }

        .purple .step-title h3 {
            color: #7c3aed;
        }

        .yellow .step-title h3 {
            color: #ca8a04;
        }

        .step-title p {
            margin: 4px 0 0;
            color: #64748b;
            font-size: 12px;
            font-weight: 500;
        }

        /* BADGES */

        .step-badge {
            height: 34px;
            padding: 0 16px;
            border-radius: 999px;

            display: flex;
            align-items: center;

            font-size: 12px;
            font-weight: 700;
            opacity: 1;
        }

        .step-badge.success {
            background: #dcfce7;
            color: #166534;
        }

        .step-badge.pending {
            background: #ffedd5;
            color: #c2410c;
        }

        .step-badge.empty {
            background: #e2e8f0;
            color: #475569;
        }

        /* CHEVRON */

        .step-chevron {
            color: #334155;
            font-size: 16px;
            transition: .3s;
        }

        .step-card.active .step-chevron {
            transform: rotate(180deg);
        }

        /* =========================================
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            BODY
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            ========================================= */

        .step-body {

            max-height: 0;

            overflow: hidden;

            opacity: 0;

            padding: 0 24px;

            transition:
                max-height .45s ease,
                opacity .25s ease,
                padding .25s ease;

        }

        .step-card.active .step-body {

            max-height: 5000px;

            opacity: 1;

            padding: 24px;

        }



        .step-card.active .step-body {
            display: block;
        }

        /* =========================================
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            BLOC FORM
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            ========================================= */

        .bloc-form {
            background: #fff;

            border-radius: 18px;

            border: 1px solid rgba(22, 163, 74, .00);

            padding: 22px;
        }

        .bloc-title {
            display: flex;
            align-items: center;
            gap: 12px;

            margin-bottom: 24px;
        }

        .bloc-title i {
            color: #16a34a;
            font-size: 18px;
        }

        .bloc-title h4 {
            margin: 0;
            font-size: 15px;
            font-weight: 700;
            color: #166534;
        }

        /* =========================================
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            FORM
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            ========================================= */

        .form-group {
            margin-bottom: 22px;
        }

        .form-group label {
            display: block;

            margin-bottom: 10px;

            font-size: 13px;
            font-weight: 700;

            color: #1e293b;
        }

        /* INPUT */

        .form-control {
            height: 50px;

            border-radius: 14px;

            border: 1px solid #dbe2ea;

            background: #fff;

            padding: 0 16px;

            font-size: 14px;
            font-weight: 500;

            color: #0f172a;

            transition: all .2s ease;

            box-shadow: none !important;
        }

        .form-control::placeholder {
            color: #94a3b8;
        }

        .form-control:focus {
            border-color: #16a34a;

            box-shadow:
                0 0 0 4px rgba(22, 163, 74, .08) !important;
        }

        textarea.form-control {
            min-height: 120px;
            padding-top: 14px;
        }

        /* =========================================
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            RADIO BOX
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            ========================================= */

        .radio-box {
            position: relative;
            height: 56px;
            border-radius: 16px;
            border: 1px solid #e2e8f0;
            background: #fff;
            display: flex;
            align-items: center;
            padding: 0 0px;
            transition: all .2s ease;
            margin-bottom: 10px;
        }

        .radio-box:hover {
            border-color: #10b981;
            background: #f0fdf4;
        }

        .radio-box label {
            width: 100%;
            margin: 0;
            display: flex;
            align-items: center;
            gap: 10px;
            font-size: 14px;
            font-weight: 600;
            cursor: pointer;
            padding: 10px 15px;
        }

        .radio-box input {
            width: 16px;
            height: 16px;
        }

        .radio-box.selected {

            border-color: #16a34a;

            background: #f0fdf4;

            box-shadow:
                0 0 0 4px rgba(22, 163, 74, .08);

        }

        .radio-box.selected label {
            color: #166534;
        }

        /* =========================================*/
        .captcha-zone {
            display: flex;
            gap: 10px;
            align-items: flex-end;
            flex-wrap: wrap;
        }

        .captcha-image img {
            border-radius: 14px;
            border: 1px solid #dbe2ea;
            max-width: 250px;
        }

        /* =========================================*/
        .required-box {
            margin-top: 20px;
            background: #f0fdf4;
            border: 1px solid #fccac3;
            border-radius: 14px;
            padding: 16px 18px;
            color: #166534;
            font-size: 13px;
            font-weight: 600;
        }

        /* =========================================
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            FOOTER
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            ========================================= */

        .footer-submit {
            padding: 26px 30px;

            border-top: 1px solid #edf2f7;

            display: flex;
            justify-content: space-between;
            align-items: center;

            gap: 20px;
        }

        /* RESET */

        .btn-reset {
            height: 54px;

            padding: 0 26px;

            border-radius: 14px;

            border: 1px solid #dbe2ea;

            background: #fff;

            color: #334155;

            font-size: 14px;
            font-weight: 700;

            transition: .2s;
        }

        .btn-reset:hover {
            background: #f8fafc;
        }

        /* SUBMIT */

        .btn-submit-final {
            height: 58px;

            padding: 0 34px;

            border-radius: 16px;

            border: none;

            color: #fff;

            font-size: 15px;
            font-weight: 800;

            background:
                linear-gradient(135deg, #166534, #16a34a);

            box-shadow:
                0 10px 30px rgba(22, 163, 74, .25);

            transition: .3s;
        }

        .btn-submit-final:hover {
            transform: translateY(-2px);
        }

        .radio-box.selected {

            border-color: #16a34a;

            background: #f0fdf4;

            box-shadow:
                0 0 0 4px rgba(22, 163, 74, .08);

        }

        .radio-box.selected label {

            color: #166534;

        }

        /* =========================================
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            RESPONSIVE
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            ========================================= */

        @media(max-width:991px) {

            #page_secondaire {
                padding: 20px 0 50px;
            }

            .step-header {
                flex-direction: column;
                align-items: flex-start;
                gap: 18px;
            }

            .step-left {
                align-items: flex-start;
            }

            .step-title h3 {
                font-size: 15px;
            }

            .footer-submit {
                flex-direction: column;
            }

            .btn-reset,
            .btn-submit-final {
                width: 100%;
            }

            .captcha-zone {
                flex-direction: column;
                align-items: stretch;
            }

        }



        #infos_projets {
            display: flex;
            flex-direction: column;
            gap: 18px;
            margin: 25px 0;
            padding: 20px;
        }

        #infos_projets .projet-block {
            background: #fff;
            border: 1px solid #e5e7eb;
            border-radius: 14px;
            padding: 18px 20px;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
            transition: 0.2s ease;
        }

        #infos_projets .projet-block:hover {
            transform: translateY(-2px);
            box-shadow: 0 8px 22px rgba(0, 0, 0, 0.08);
        }

        #infos_projets .projet-title {
            font-size: 18px;
            font-weight: 800;
            color: var(--orange);
            margin-bottom: 10px;
            display: flex;
            align-items: center;
            gap: 8px;
        }

        #infos_projets .secteur-title {
            font-size: 15px;
            font-weight: 700;
            color: #16a34a;
            margin: 10px 0;
            display: flex;
            align-items: center;
            gap: 8px;
        }

        #infos_projets .items-list {
            list-style: none;
            padding: 0;
            margin: 0;
        }

        #infos_projets .items-list li {
            padding: 8px 10px;
            margin-bottom: 6px;
            background: #f8fafc;
            border-radius: 8px;
            font-size: 14px;
            color: #334155;
            display: flex;
            align-items: center;
            gap: 8px;
        }

        #infos_projets .items-list li i {
            color: #16a34a;
            font-size: 13px;
        }

        /****/
        .progress-wrapper {
            padding: 20px 30px;
            border-bottom: 1px solid #edf2f7;
            background: #fff;
        }

        .progress-info {
            display: flex;
            justify-content: space-between;
            margin-bottom: 10px;
            font-size: 13px;
            font-weight: 700;
            color: #334155;
        }

        .progress {
            height: 10px;
            border-radius: 999px;
            overflow: hidden;
            background: #e2e8f0;
        }

        .progress-bar {
            height: 100%;
            width: 0%;
            border-radius: 999px;
            transition: .4s ease;
            background: linear-gradient(135deg,
                    #166534,
                    #16a34a);
        }
