 .recrutement-hero {padding:120px 20px 60px;background:radial-gradient(circle at 10% 20%, rgba(10, 63, 135, 0.08) 0%, rgba(227, 6, 19, 0.03) 90%);text-align:center;min-height:250px;display:flex;flex-direction:column;justify-content:center;align-items:center;} .recrutement-hero h1 {font-family:'Montserrat', sans-serif;font-size:2.8rem;font-weight:800;color:#0a3f87;margin-bottom:15px;text-transform:uppercase;letter-spacing:-0.5px;} .recrutement-hero p {font-size:1.1rem;color:#555;max-width:600px;line-height:1.6;} .form-section {padding:20px 20px 80px;max-width:800px;margin:0 auto;} .form-card {background:#ffffff;border-radius:16px;box-shadow:0 10px 30px rgba(0, 0, 0, 0.05);border:1px solid rgba(10, 63, 135, 0.08);padding:40px;position:relative;overflow:hidden;} .form-card::before {content:'';position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg, #0a3f87 0%, #e30613 100%);} .form-group {margin-bottom:25px;} .form-group label {display:block;font-family:'Montserrat', sans-serif;font-weight:600;font-size:0.95rem;color:#0a3f87;margin-bottom:8px;} .form-group label span.required {color:#e30613;margin-left:3px;} .form-control {width:100%;padding:12px 16px;font-size:1rem;border:1.5px solid #ddd;border-radius:8px;transition:all 0.3s ease;font-family:'Open Sans', sans-serif;color:#333;} .form-control:focus {outline:none;border-color:#0a3f87;box-shadow:0 0 0 3px rgba(10, 63, 135, 0.1);} .phone-input-wrapper {display:flex;align-items:center;} .phone-prefill {background:#f1f3f5;border:1.5px solid #ddd;border-right:none;border-top-left-radius:8px;border-bottom-left-radius:8px;padding:12px 16px;font-weight:600;color:#555;font-size:1rem;user-select:none;} .phone-input-wrapper .form-control {border-top-left-radius:0;border-bottom-left-radius:0;} .checklist-grid {display:grid;grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));gap:15px;margin-top:10px;} .checkbox-container {display:flex;align-items:center;position:relative;padding-left:30px;cursor:pointer;font-size:0.95rem;user-select:none;color:#444;font-weight:500;} .checkbox-container input {position:absolute;opacity:0;cursor:pointer;height:0;width:0;} .checkmark {position:absolute;top:0;left:0;height:20px;width:20px;background-color:#fff;border:1.5px solid #ccc;border-radius:4px;transition:all 0.2s ease;} .checkbox-container:hover input ~ .checkmark {border-color:#0a3f87;} .checkbox-container input:checked ~ .checkmark {background-color:#0a3f87;border-color:#0a3f87;} .checkmark:after {content:"";position:absolute;display:none;} .checkbox-container input:checked ~ .checkmark:after {display:block;} .checkbox-container .checkmark:after {left:6px;top:2px;width:5px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg);} .file-upload-wrapper {position:relative;width:100%;} .file-input-help {display:block;font-size:0.8rem;color:#777;margin-top:5px;} .captcha-container {display:flex;align-items:center;gap:15px;background:#f8f9fa;padding:15px;border-radius:8px;border:1px dashed #0a3f87;} .captcha-question {font-family:'Montserrat', sans-serif;font-weight:700;color:#0a3f87;font-size:1.1rem;white-space:nowrap;} .captcha-refresh-btn {background:none;border:none;color:#e30613;cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:transform 0.3s ease;} .captcha-refresh-btn:hover {transform:rotate(180deg);} .btn-submit {display:inline-flex;align-items:center;justify-content:center;width:100%;background:#0a3f87;color:#fff;font-family:'Montserrat', sans-serif;font-weight:700;font-size:1.1rem;padding:14px;border:none;border-radius:8px;cursor:pointer;transition:all 0.3s ease;box-shadow:0 4px 15px rgba(10, 63, 135, 0.2);} .btn-submit:hover {background:#e30613;box-shadow:0 4px 15px rgba(227, 6, 19, 0.2);transform:translateY(-2px);} .btn-submit:disabled {background:#aaa;cursor:not-allowed;box-shadow:none;transform:none;} .status-overlay {display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(10, 63, 135, 0.8);backdrop-filter:blur(8px);z-index:1000;align-items:center;justify-content:center;color:#fff;text-align:center;} .status-overlay.active {display:flex;} .status-card {max-width:450px;padding:30px;background:#ffffff;color:#333;border-radius:16px;box-shadow:0 20px 50px rgba(0,0,0,0.3);} .status-spinner {width:50px;height:50px;border:4px solid rgba(10, 63, 135, 0.1);border-top-color:#0a3f87;border-radius:50%;margin:0 auto 20px;animation:spin 1s infinite linear;} .status-success-icon {font-size:3rem;color:#28a745;margin-bottom:20px;} .status-error-icon {font-size:3rem;color:#dc3545;margin-bottom:20px;} .status-card h2 {font-family:'Montserrat', sans-serif;margin-bottom:10px;color:#0a3f87;} .status-card p {color:#666;line-height:1.5;margin-bottom:20px;} @keyframes spin {0% {transform:rotate(0deg);} 100% {transform:rotate(360deg);}} @media (max-width:768px) {.form-card {padding:25px;} .recrutement-hero h1 {font-size:2.2rem;} .captcha-container {flex-wrap:wrap;justify-content:center;gap:10px;padding:12px;} .captcha-question {width:100%;text-align:center;white-space:normal;} .captcha-container input[type="number"] {max-width:100% !important;flex-grow:1;text-align:center;}} 