/* Styles formulaire d'inscription S4 */
.s4reg-form-wrapper{max-width:700px;margin:40px auto;padding:30px;background:#fff;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1)}
.s4reg-form-header{text-align:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #003366}
.s4reg-form-header h2{color:#003366;font-size:28px;margin-bottom:10px}
.s4reg-description{color:#666;font-size:15px}
.s4reg-messages{margin-bottom:20px}
.s4reg-message{padding:15px;border-radius:4px;margin-bottom:15px}
.s4reg-message-success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}
.s4reg-message-error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}
.s4reg-section{margin-bottom:25px;padding:20px;background:#f8f9fa;border-radius:6px}
.s4reg-section h3{color:#003366;font-size:18px;margin-bottom:15px;padding-bottom:8px;border-bottom:1px solid #dee2e6}
.s4reg-form-row{display:flex;gap:15px;margin-bottom:15px}
.s4reg-form-row.s4reg-row-2 .s4reg-form-group{flex:1}
.s4reg-form-group{display:flex;flex-direction:column}
.s4reg-form-group label{font-weight:600;color:#333;margin-bottom:6px;font-size:14px}
.s4reg-form-group input[type=email],.s4reg-form-group input[type=password],.s4reg-form-group input[type=tel],.s4reg-form-group input[type=text]{padding:10px 12px;border:1px solid #ced4da;border-radius:4px;font-size:15px;transition:border-color .3s}
.s4reg-form-group input:focus{outline:0;border-color:#003366;box-shadow:0 0 0 3px rgba(0,51,102,.1)}
.s4reg-help{color:#666;font-size:12px;font-style:italic;margin-top:4px}
.s4reg-radio-group{display:flex;flex-direction:column;gap:12px}
.s4reg-radio-label{display:flex;align-items:flex-start;padding:12px;border:2px solid #dee2e6;border-radius:6px;cursor:pointer;transition:all .3s}
.s4reg-radio-label:hover{border-color:#003366;background-color:rgba(0,51,102,.05)}
.s4reg-radio-label input[type=radio]{margin-top:3px;margin-right:12px;cursor:pointer}
.radio-content{display:flex;flex-direction:column}
.radio-content strong{font-size:15px;margin-bottom:4px}
.radio-content small{color:#666;font-size:13px}
.s4reg-checkbox-group label{display:flex;align-items:flex-start;cursor:pointer}
.s4reg-checkbox-group input[type=checkbox]{margin-top:3px;margin-right:10px;cursor:pointer}
.s4reg-password-strength{margin-top:10px}
.strength-bar{height:4px;background:#e0e0e0;border-radius:2px;overflow:hidden}
.strength-fill{height:100%;width:0;transition:all .3s;background:#dc3545}
.strength-fill.weak{width:33%;background:#dc3545}
.strength-fill.medium{width:66%;background:#ffc107}
.strength-fill.strong{width:100%;background:#28a745}
.strength-text{font-size:12px;color:#666;margin-top:4px}
.s4reg-info-box{background:#e3f2fd;padding:15px;border-left:3px solid #2196f3;border-radius:4px;margin-top:15px}
.s4reg-info-box p{margin:0}
.s4reg-form-actions{text-align:center;margin-top:25px}
.s4reg-submit-btn{background:#003366;color:#fff;padding:12px 40px;border:none;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;transition:background .3s}
.s4reg-submit-btn:hover{background:#004080}
.s4reg-submit-btn:disabled{background:#6c757d;cursor:not-allowed}
.s4reg-submit-btn .spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.s4reg-login-link{text-align:center;margin-top:15px;color:#666}
.s4reg-required-note{color:#666;font-size:13px;font-style:italic;text-align:center;margin-top:10px}
.required{color:#dc3545;font-weight:700}
.error{border-color:#dc3545!important}
.s4reg-error-message{color:#dc3545;font-size:13px;margin-top:5px}
@media (max-width:768px){
.s4reg-form-wrapper{padding:20px;margin:20px auto}
.s4reg-form-row{flex-direction:column;gap:0}
.s4reg-submit-btn{width:100%;padding:12px}
}
