/* RCI Split — styles communs (condensés) */
:root{
  --color-text:#333; --color-bg:#f8f9fa;
  --primary:#1e3c72; --secondary:#2a5298; --accent:#e31e24;
  --gold:#ffd700; --gold-light:#ffed4e;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;background:var(--color-bg);color:var(--color-text);line-height:1.6;min-height:100vh}
.header{background:linear-gradient(135deg,var(--primary),var(--secondary) 60%,var(--accent));color:#fff;padding:1rem 0;box-shadow:0 2px 10px rgba(0,0,0,.1)}
.header-content{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}
.logo{font-size:1.2rem;font-weight:700;color:#fff;text-decoration:none}
.nav-buttons{display:flex;gap:.75rem}
.btn-home{background:var(--gold);color:var(--primary);padding:.5rem 1rem;border:none;border-radius:22px;cursor:pointer;font-weight:700;text-decoration:none;display:inline-block}
.container{max-width:1200px;margin:0 auto;padding:2rem}
.welcome-screen{text-align:center;padding:2rem 0}
.welcome-title{font-size:2rem;color:var(--primary);margin-bottom:.5rem}
.welcome-subtitle{color:#666;margin-bottom:2rem}
.path-selection{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.2rem}
.path-card{background:#fff;border-radius:14px;padding:1.5rem;box-shadow:0 6px 20px rgba(0,0,0,.08);text-decoration:none;color:inherit;border:3px solid transparent;display:block}
.path-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(0,0,0,.12);border-color:var(--primary)}
.path-icon{font-size:2.2rem;margin-bottom:.5rem}
.cta{margin-top:1rem;font-weight:700;color:var(--primary)}
.paywall-note{margin-top:1.5rem;color:#555}

.progress-bar-container{background:#fff;padding:1rem;border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,.05);margin-bottom:1.5rem}
.progress-bar{background:#e0e0e0;height:28px;border-radius:14px;overflow:hidden;position:relative}
.progress-fill{background:linear-gradient(90deg,var(--primary),var(--secondary) 60%,var(--accent));height:100%;display:flex;align-items:center;justify-content:flex-end;padding-right:10px;width:0}
.progress-text{color:#fff;font-weight:700;font-size:.9rem}
.step-indicator{display:flex;justify-content:space-between;margin-top:.5rem;font-size:.9rem;color:#666}

.form-section{background:#fff;padding:1.5rem;border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,.05);margin-bottom:1.2rem}
.form-group{margin-bottom:1rem}
.form-group label{display:block;margin-bottom:.4rem;font-weight:500}
.form-control{width:100%;padding:.7rem;border:1px solid #ddd;border-radius:6px;font-size:1rem}
.form-control:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(30,60,114,.08)}
.radio-group{display:flex;gap:1.5rem;flex-wrap:wrap}
.radio-option{display:flex;align-items:center;gap:.4rem}
.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}
.divider{height:1px;background:#eee;margin:1rem 0}
.form-actions{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:flex-end}
.btn{padding:.7rem 1.2rem;border:none;border-radius:6px;cursor:pointer;font-weight:600}
.btn-primary{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff}
.btn-secondary{background:#6c757d;color:#fff}
.btn-success{background:#28a745;color:#fff}

.cnp-suggestions{position:relative;background:#fff;border:1px solid #ddd;border-top:none;border-radius:0 0 6px 6px;max-height:300px;overflow:auto;margin-top:-6px;z-index:1000}
.cnp-suggestion-item{padding:.6rem .75rem;cursor:pointer;border-bottom:1px solid #f0f0f0}
.cnp-suggestion-item:hover{background:#f7f7f7}
.selected-profession{background:#e8f4fd;border:1px solid #b3d9f2;padding:1rem;border-radius:6px;margin-top:.6rem}

.results-container{background:#fff;padding:1.5rem;border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,.05)}
.score-display{text-align:center;padding:1.5rem;border-radius:10px;margin-bottom:1rem}
.score-display.excellent{background:linear-gradient(135deg,#28a745,#20c997);color:#fff}
.score-display.good{background:linear-gradient(135deg,#ffc107,#ffdb4d);color:#333}
.score-display.average{background:linear-gradient(135deg,#fd7e14,#ff922b);color:#fff}
.score-display.insufficient{background:linear-gradient(135deg,#dc3545,#f06543);color:#fff}
.score-number{font-size:3rem;font-weight:800;line-height:1}
.score-label{font-size:1.2rem;margin-top:.25rem}

.recommendations{background:#f8f9fa;padding:1rem;border-radius:10px;margin-top:1rem}
.recommendation-item{background:#fff;padding:.75rem;border-left:4px solid var(--primary);border-radius:6px;margin:.5rem 0}

.collapsible-section{border:1px solid #ddd;border-radius:6px;margin-bottom:1rem;overflow:hidden}
.collapsible-header{background:linear-gradient(135deg,#f8f9fa,#e9ecef);padding:1rem;display:flex;justify-content:space-between;align-items:center;cursor:pointer}
.collapsible-content{display:none;padding:1rem;background:#fff}
.collapsible-content.active{display:block}

.alert{padding:.8rem;border-radius:6px}
.alert-info{background:#d1ecf1;color:#0c5460;border:1px solid #bee5eb}
.hidden{display:none!important}

.footer-copyright{background:linear-gradient(135deg,var(--primary),var(--secondary) 60%,var(--accent));color:#fff;text-align:center;padding:1.2rem 1rem;margin-top:2rem}
.footer-content p{margin:.25rem 0}

@media (max-width:768px){
  .container{padding:1rem}
  .welcome-title{font-size:1.6rem}
  .score-number{font-size:2.4rem}
}