@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600;700&display=swap');

/* Modernized palette inspired by a professional corporate site */
:root{
    --primary-color:#073b73; /* deep navy */
    --secondary-color:#0f6fd6; /* vivid blue */
    --accent-color:#b02b24; /* warm gold */
    --text-color:#1f2937;
    --muted:#6b7280;
    --bg:#f4f6fb;
    --card-bg:#ffffff;
    --border:#e6edf8;
    --success:#16a34a;
    --danger:#dc2626;
}

*{box-sizing:border-box;margin:0;padding:0}

body{font-family:'Poppins',system-ui,-apple-system,'Segoe UI',Roboto,Arial;line-height:1.6;color:var(--text-color);background-color:var(--bg);-webkit-font-smoothing:antialiased}

.container{max-width:1180px;margin:0 auto;padding:0 20px}

/* Hero Section */
.hero-candidature{position:relative;background:none;color:#fff;padding:80px 20px;text-align:center;overflow:hidden}
.hero-candidature::before{content:'';position:absolute;inset:0;background:url('../img/hero-candidater-business-hub.jpg') center/cover no-repeat;z-index:0;opacity:1;filter:brightness(0.96) saturate(0.98)}
.hero-candidature::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,30,62,0.55) 0%, rgba(9,30,62,0.40) 40%, rgba(9,30,62,0.20) 75%);z-index:1}
.hero-candidature .container{position:relative;z-index:2}
.hero-content{position:relative;z-index:2;text-align:center;max-width:980px;margin:0 auto;padding:0 20px;padding-top: 50px;}
.hero-title{font-size:3rem;margin-bottom:12px;font-weight:700;letter-spacing:-0.4px;color:#fff}
.hero-subtitle{font-size:1.15rem;margin-bottom:18px;opacity:0.95;font-weight:500;color:#fff}
.hero-description{max-width:900px;margin:0 auto;font-size:1.05rem;line-height:1.9;color:#fff}
.hero-description p{margin-bottom:12px}

/* Section Title */
.section-title{font-size:2rem;color:var(--primary-color);margin-bottom:20px;text-align:center;font-weight:700}
.section-intro{text-align:center;font-size:1.05rem;color:var(--muted);margin-bottom:36px;max-width:820px;margin-left:auto;margin-right:auto}
.section-footer{text-align:center;font-size:1.05rem;color:var(--text-color);max-width:820px;margin:36px auto 0;font-style:italic}

/* Pourquoi candidater */
.pourquoi-candidater{padding:70px 20px;background:transparent}
.avantages-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;margin-bottom:36px}
.avantage-card{background:var(--card-bg);padding:26px;border-radius:12px;text-align:left;transition:transform .28s ease,box-shadow .28s ease;border:1px solid var(--border)}
.avantage-card:hover{transform:translateY(-6px);box-shadow:0 12px 30px rgba(15,111,214,0.06)}
.avantage-icon{font-size:1.6rem;margin-bottom:12px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(90deg,var(--secondary-color),var(--primary-color));color:#fff;padding:8px;border-radius:8px;width:48px;height:48px}
.avantage-card h3{color:var(--primary-color);margin-bottom:8px;font-size:1.15rem}
.avantage-card p{color:var(--muted);line-height:1.6}

/* Qui peut candidater */
.qui-peut-candidater{padding:70px 20px;background:transparent}
.profils-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px;margin-bottom:30px}
.profil-card{background:var(--card-bg);padding:22px;border-radius:12px;text-align:center;transition:transform .28s ease,border-color .2s ease;border-top:4px solid rgba(15,111,214,0.12)}
.profil-card:hover{transform:translateY(-6px);box-shadow:0 10px 25px rgba(2,6,23,0.06)}
.profil-icon{font-size:1.6rem;display:block;margin-bottom:12px;background:linear-gradient(90deg,var(--secondary-color),var(--primary-color));color:#fff;padding:10px;border-radius:10px;width:56px;height:56px;line-height:36px;margin-left:auto;margin-right:auto}
.profil-card h3{color:var(--primary-color);margin-bottom:8px;font-size:1.1rem}
.profil-card p{color:var(--muted);font-size:0.95rem}
.priorite-geographique{text-align:center;font-size:1.05rem;margin-top:28px;padding:18px;background:var(--accent-color);border-radius:8px;border-left:8px solid #091E3E;color:white;}

/* Parcours */
.parcours-candidature{padding:60px 20px}
.etapes-container{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:20px;max-width:1100px;margin:0 auto}
.etape{flex:1;min-width:200px;max-width:260px;background:var(--card-bg);padding:20px;border-radius:10px;text-align:center;transition:transform .28s ease}
.etape:hover{transform:translateY(-6px);box-shadow:0 14px 30px rgba(2,6,23,0.06)}
.etape-number{width:56px;height:56px;background:linear-gradient(90deg,var(--secondary-color),var(--primary-color));color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.6rem;font-weight:700;margin:0 auto 14px}
.etape-content h3{color:var(--primary-color);margin-bottom:10px;font-size:1.05rem}
.etape-content p{color:var(--muted);font-size:0.95rem}
.etape-arrow{font-size:1.8rem;color:var(--secondary-color);font-weight:700}

/* Programmes */
.programmes-accessibles{padding:70px 20px;background:transparent}
.programmes-list{max-width:900px;margin:0 auto}
.programme-item{display:flex;align-items:flex-start;margin-bottom:18px;background:var(--card-bg);padding:18px;border-radius:10px;border-left:4px solid rgba(246,168,0,0.12);transition:transform .2s ease}
.programme-item:hover{transform:translateY(-4px);box-shadow:0 10px 24px rgba(2,6,23,0.05)}
.programme-check{color:var(--success);font-size:1.4rem;font-weight:700;margin-right:12px;flex-shrink:0}
.programme-item p{color:var(--text-color);font-size:1.05rem}

/* Formulaire */
.formulaire-candidature{padding:60px 20px}
.form-container{max-width:920px;margin:0 auto;background:var(--card-bg);padding:36px;border-radius:12px;box-shadow:0 10px 30px rgba(2,6,23,0.06)}

/* Form Progress Indicator */
.form-progress{margin-bottom:40px;padding-bottom:30px;border-bottom:2px solid var(--border)}
.progress-steps{display:flex;justify-content:space-between;gap:12px;margin-bottom:20px}
.progress-step{display:flex;flex-direction:column;align-items:center;gap:8px;flex:1;position:relative;opacity:0.5;transition:opacity .3s ease}
.progress-step.active{opacity:1}
.progress-step.completed{opacity:1}
.step-number{width:42px;height:42px;background:var(--border);color:var(--text-color);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;transition:background .3s ease,color .3s ease}
.progress-step.active .step-number{background:linear-gradient(90deg,var(--secondary-color),var(--primary-color));color:#fff;box-shadow:0 6px 16px rgba(15,111,214,0.2)}
.progress-step.completed .step-number{background:var(--success);color:#fff}
.step-label{font-size:0.85rem;font-weight:600;color:var(--text-color);text-align:center;white-space:nowrap}
.progress-bar{width:100%;height:4px;background:var(--border);border-radius:2px;overflow:hidden}
.progress-fill{height:100%;background:linear-gradient(90deg,var(--secondary-color),var(--primary-color));border-radius:2px;transition:width .4s ease}

/* Form Steps */
.form-step{animation:fadeIn .3s ease}
@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

.form-section{margin-bottom:28px;padding-bottom:24px;border-bottom:1px dashed var(--border)}
.form-section:last-of-type{border-bottom:none}
.form-section-title{color:var(--primary-color);font-size:1.25rem;margin-bottom:18px;padding-bottom:8px;border-bottom:3px solid rgba(15,111,214,0.08);display:inline-block;font-weight:700}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}
.form-group{margin-bottom:18px}
.form-group label{display:block;font-weight:600;color:var(--text-color);margin-bottom:8px;font-size:0.98rem}
.required{color:var(--danger);font-weight:700}
.form-group input[type="text"],.form-group input[type="email"],.form-group input[type="tel"],.form-group input[type="number"],.form-group select,.form-group textarea{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:8px;font-size:1rem;background:linear-gradient(180deg,#fff,#fbfdff);font-family:'Poppins',system-ui,-apple-system,'Segoe UI',Roboto,Arial;transition:border-color .2s ease,box-shadow .2s ease}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--secondary-color);box-shadow:0 8px 20px rgba(15,111,214,0.08)}
.form-group input.error{border-color:var(--danger);box-shadow:0 0 0 3px rgba(220,38,38,0.1)}
.form-group textarea{min-height:140px;resize:vertical}
.form-help{display:block;font-size:0.9rem;color:var(--muted);margin-top:6px;font-style:italic}
.character-count{display:block;text-align:right;font-size:0.9rem;color:var(--muted);margin-top:6px}

/* Radio & Checkbox styles */
.radio-group{display:flex;flex-direction:column;gap:12px;margin-top:10px}
.radio-label{display:flex;align-items:center;padding:12px 14px;background:var(--card-bg);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s ease}
.radio-label input[type="radio"]{margin-right:12px;width:18px;height:18px;cursor:pointer;accent-color:var(--secondary-color)}
.radio-label:hover{border-color:var(--secondary-color);background:linear-gradient(180deg,#fff,#fbfdff)}
.checkbox-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px;margin-top:10px}
.checkbox-label{display:flex;align-items:flex-start;padding:12px 14px;background:var(--card-bg);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s ease}
.checkbox-label input[type="checkbox"]{margin-right:10px;width:18px;height:18px;margin-top:3px;cursor:pointer;accent-color:var(--secondary-color)}
.checkbox-label:hover{border-color:var(--secondary-color)}
.consent-label{display:flex;align-items:flex-start;padding:14px;background:rgba(15,111,214,0.04);border:1px solid rgba(15,111,214,0.08);border-radius:8px}

.form-group input[type="file"]{padding:8px;border:1px dashed var(--border);border-radius:8px;background:transparent;cursor:pointer}

/* Form Navigation */
.form-navigation{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:36px;padding-top:24px;border-top:2px solid var(--border)}

.btn-prev,.btn-next,.btn-submit{border:none;padding:12px 28px;font-size:1rem;font-weight:600;border-radius:10px;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease;font-family:'Poppins',system-ui,-apple-system,'Segoe UI',Roboto,Arial}

.btn-prev{background:#f0f0f0;color:var(--text-color);border:1px solid var(--border)}
.btn-prev:hover{background:var(--border);transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,0.1)}

.btn-next{background:linear-gradient(90deg,var(--secondary-color),var(--primary-color));color:#fff;box-shadow:0 10px 26px rgba(7,59,115,0.12)}
.btn-next:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(7,59,115,0.15)}

.btn-submit{background:linear-gradient(90deg,var(--success),#22c55e);color:#fff;width:100%;padding:14px 28px;box-shadow:0 10px 26px rgba(34,197,94,0.2)}
.btn-submit:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(34,197,94,0.25)}
.btn-submit span{display:inline-flex;align-items:center;gap:10px;justify-content:center}


/* Contact */
.contact-info-section{padding:70px 20px;background:transparent}
.contact-box{max-width:720px;margin:0 auto;background:var(--card-bg);padding:32px;border-radius:12px;box-shadow:0 12px 30px rgba(2,6,23,0.06);text-align:center}
.contact-box p{font-size:1.05rem;color:var(--text-color);margin-bottom:20px;line-height:1.7}
.contact-details{display:flex;justify-content:center;gap:36px;margin:26px 0;flex-wrap:wrap}
.contact-item{display:flex;align-items:center;gap:10px;font-size:1.05rem}
.contact-item .icon{font-size:1.35rem}
.contact-item a{color:var(--secondary-color);text-decoration:none;border-bottom:2px solid transparent;transition:all .2s ease}
.contact-item a:hover{border-bottom-color:var(--secondary-color)}
.contact-footer{margin-top:18px;font-size:1.05rem;color:var(--primary-color)}

.alert{padding:18px;margin:18px auto;max-width:820px;border-radius:10px;font-size:1rem}
.alert-success{background:#e6f8ef;border:1px solid var(--success);color:var(--text-color)}
.alert-error{background:#fff1f1;border:1px solid var(--danger);color:var(--text-color)}

/* Responsive */
@media (max-width:768px){.hero-title{font-size:1.8rem}.hero-subtitle{font-size:1rem}.section-title{font-size:1.6rem}.form-row{grid-template-columns:1fr}.form-container{padding:20px}.avantages-grid,.profils-grid{grid-template-columns:1fr}.etapes-container{flex-direction:column}.etape{max-width:100%}.etape-arrow{transform:rotate(90deg);margin:10px 0}.checkbox-group{grid-template-columns:1fr}.contact-details{flex-direction:column;gap:20px}}

@media (max-width:480px){.hero-title{font-size:1.4rem}.form-container{padding:16px}.btn-submit{width:100%;padding:12px 18px}}
