@charset "UTF-8";.vote{margin-top:30px}.vote .vote-header{text-align:center;margin-bottom:2rem}.vote .vote-header .vote-main-title{font-size:1.8rem;font-family:'Poppins';font-weight:600;color:#2c3e50;margin:0 auto;display:inline-block}.vote #vote-container{max-width:600px;margin:2rem auto;padding:2rem;background:#fff;border-radius:1rem;box-shadow:0 0 15px rgba(0,0,0,.05);font-family:'Poppins'}.vote #vote-container .vote-step h2{font-size:1.5rem;margin-bottom:1.5rem;color:#333}.vote #vote-container .vote-step form{display:flex;flex-direction:column;gap:1.5rem}.vote #vote-container .vote-step form .form-group{display:flex;flex-direction:column}.vote #vote-container .vote-step form .form-group label{font-weight:600;margin-bottom:.5rem;color:#222}.vote #vote-container .vote-step form .form-group input[type="text"],.vote #vote-container .vote-step form .form-group input[type="file"]{padding:.75rem 1rem;border:1px solid #ccc;border-radius:.5rem;font-size:1rem;transition:border-color 0.3s ease}.vote #vote-container .vote-step form .form-group input[type="text"]:focus,.vote #vote-container .vote-step form .form-group input[type="file"]:focus{border-color:#0073aa;outline:none}.vote #vote-container .vote-step form .radio-group{display:flex;gap:1.5rem}.vote #vote-container .vote-step form .radio-group label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:500}.vote #vote-container .vote-step form .radio-group label input[type="radio"]{accent-color:#0073aa;transform:scale(1.2)}.vote #vote-container .vote-step form .submit-btn{background-color:#0073aa;color:#fff;padding:.75rem 1.5rem;border:none;border-radius:.5rem;font-size:1rem;cursor:pointer;align-self:flex-start;transition:background-color 0.3s ease;text-transform:uppercase;font-weight:700}.vote #vote-container .vote-step form .submit-btn:hover{background-color:#005f8d}.vote #vote-container .vote-step #vote-step-2-form{background-color:#fff;border-radius:1rem;padding:2rem;margin-top:2rem;font-family:'Poppins'}.vote #vote-container .vote-step #vote-step-2-form .candidates-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;margin-bottom:2rem}.vote #vote-container .vote-step #vote-step-2-form .candidate-card input[type="radio"]{position:absolute;opacity:0;pointer-events:none}.vote #vote-container .vote-step #vote-step-2-form .candidate-card input[type="radio"]:checked+label{border-color:#007cba;box-shadow:0 0 0 3px rgba(0,124,186,.2);background-color:#f0faff}.vote #vote-container .vote-step #vote-step-2-form .candidate-card label{display:block;cursor:pointer;border:2px solid #e0e0e0;border-radius:1rem;overflow:hidden;background-color:#fafafa;transition:border-color 0.3s ease,box-shadow 0.3s ease,background-color 0.3s ease}.vote #vote-container .vote-step #vote-step-2-form .candidate-card label .card-inner{display:flex;flex-direction:column;align-items:center;padding:1.2rem}.vote #vote-container .vote-step #vote-step-2-form .candidate-card label .card-inner .photo{width:100px;height:100px;border-radius:50%;overflow:hidden;margin-bottom:1rem;border:3px solid #ddd}.vote #vote-container .vote-step #vote-step-2-form .candidate-card label .card-inner .photo img{width:100%;height:100%;object-fit:cover}.vote #vote-container .vote-step #vote-step-2-form .candidate-card label .card-inner .info .name{font-size:1.1rem;font-weight:600;text-align:center;color:#333}.vote #vote-container .vote-step #vote-step-2-form .candidate-card label:hover{border-color:#007cba;background-color:#f0faff;box-shadow:0 0 0 2px rgba(0,124,186,.1)}.vote #vote-container .vote-step #vote-step-2-form button[type="submit"]{display:block;margin:0 auto;background-color:#007cba;color:#fff;padding:.8rem 2rem;border:none;border-radius:.6rem;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color 0.3s ease}.vote #vote-container .vote-step #vote-step-2-form button[type="submit"]:hover{background-color:#005a87}.vote #vote-container .vote-step .vote-actions{margin-top:2rem;display:flex;justify-content:center;gap:1rem}.vote #vote-container .vote-step .vote-actions .btn{padding:.75rem 1.5rem;border-radius:.5rem;font-size:1rem;cursor:pointer;transition:all 0.2s ease}.vote #vote-container .vote-step .vote-actions .btn.btn-secondary{background-color:#f5f5f5;border:1px solid #ccc;color:#333}.vote #vote-container .vote-step .vote-actions .btn.btn-secondary:hover{background-color:#e2e2e2}.vote #vote-container .vote-step .vote-actions .btn.btn-primary{background-color:#005f8d!important;color:#fff;border:none}.vote #vote-container .vote-step .vote-actions .btn.btn-primary:hover{background-color:#005d8c}.vote #vote-container .vote-step-3 .candidate-card.confirm-card{background:#fff;border-radius:1rem;padding:2rem;margin:2rem auto;text-align:center;box-shadow:0 0 0 1px #ddd,0 10px 25px rgba(0,0,0,.05);max-width:400px}.vote #vote-container .vote-step-3 .candidate-card.confirm-card .card-inner{display:flex;flex-direction:column;align-items:center}.vote #vote-container .vote-step-3 .candidate-card.confirm-card .card-inner .photo{margin-bottom:1rem}.vote #vote-container .vote-step-3 .candidate-card.confirm-card .card-inner .photo img{width:120px;height:120px;border-radius:50%;object-fit:cover;border:3px solid #eaeaea}.vote #vote-container .vote-step-3 .candidate-card.confirm-card .card-inner .info .name{font-size:1.3rem;font-weight:700;display:block;margin-bottom:.3rem}.vote #vote-container .vote-step-3 .candidate-card.confirm-card .card-inner .info .metier{font-size:1rem;color:#777}.vote #vote-container .vote-step-3 .vote-actions{margin-top:2rem;display:flex;justify-content:center;gap:1rem}.vote #vote-container .vote-step-3 .vote-actions .btn{padding:.75rem 1.5rem;border-radius:.5rem;font-size:1rem;cursor:pointer;transition:all 0.2s ease}.vote #vote-container .vote-step-3 .vote-actions .btn.btn-secondary{background-color:#f5f5f5;border:1px solid #ccc;color:#333}.vote #vote-container .vote-step-3 .vote-actions .btn.btn-secondary:hover{background-color:#e2e2e2}.vote #vote-container .vote-step-3 .vote-actions .btn.btn-primary{background-color:#005f8d!important;color:#fff;border:none}.vote #vote-container .vote-step-3 .vote-actions .btn.btn-primary:hover{background-color:#005d8c}.vote #vote-container .step-4 .final-message{background:#fff;border-radius:1rem;padding:2rem;max-width:500px;margin:3rem auto;text-align:center}.vote #vote-container .step-4 .final-message h2{font-size:1.6rem;margin-bottom:1rem;color:#0073aa}.vote #vote-container .step-4 .final-message p{font-size:1.1rem;color:#444}.vote #vote-container .step-4 .final-message .btn{margin-top:2rem;padding:.75rem 1.5rem;border-radius:.5rem;font-size:1rem;cursor:pointer;transition:all 0.2s ease}.vote #vote-container .step-4 .final-message .btn.btn-secondary{background-color:#f5f5f5;border:1px solid #ccc;color:#333}.vote #vote-container .step-4 .final-message .btn.btn-secondary:hover{background-color:#e2e2e2}.vote #vote-container .vote-loading{display:flex;justify-content:center;align-items:center;padding:3rem;min-height:200px}.vote #vote-container .vote-loading img{width:100px;height:100px}.vote #vote-container .btn-loader{margin-left:.5rem;vertical-align:middle}.vote #vote-container .btn-loader img{width:20px;height:20px}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.vote .vote-message{max-width:600px;text-align:center}.vote .vote-message .message{padding:12px;border-radius:8px;margin-bottom:16px;font-weight:700}.vote .vote-message .message.error{background-color:#fdd;color:#a00;border:1px solid #a00}.vote .vote-message .message.success{background-color:#dfd;color:#080;border:1px solid #080}.vote-closed-box{max-width:600px;margin:3rem auto;padding:2rem;background:#fff;border-radius:12px;box-shadow:0 0 15px rgba(0,0,0,.05);text-align:center}.vote-closed-box h2{font-size:1.6rem;margin-bottom:1rem;color:#c00}.vote-closed-box p{font-size:1rem;color:#333}.vote-closed-box p strong{display:block;margin-top:.25rem;font-weight:600;color:#222}#resultats-container .vote-resultats{max-width:600px;margin:2rem auto;padding:2rem;background:#fff;border-radius:1rem;box-shadow:0 0 15px rgba(0,0,0,.05);font-family:'Poppins'}#resultats-container .vote-resultats__corps-metier{border:1px solid #eee;padding:15px;margin-bottom:20px;border-radius:5px;background-color:#f9f9f9}#resultats-container .vote-resultats__corps-metier--gagnant-global{border:2px solid #28a745;box-shadow:0 0 10px rgba(255,193,7,.5)}#resultats-container .vote-resultats__titre-corps-metier{color:#124F7D;margin-bottom:10px;border-bottom:2px solid #ddd;padding-bottom:5px}#resultats-container .vote-resultats__liste-candidats{list-style-type:none;padding-left:0}#resultats-container .vote-resultats__candidat{display:flex;align-items:center;padding:8px 0;border-bottom:1px dotted #ddd}#resultats-container .vote-resultats__candidat:last-child{border-bottom:none}#resultats-container .vote-resultats__candidat--gagnant{background-color:#fff;border-left:5px solid #28a745;padding-left:13px;border-radius:3px;box-shadow:0 1px 3px rgba(0,0,0,.05);margin:-8px 0;padding:10px 5px 10px 18px}#resultats-container .vote-resultats__candidat--gagnant .vote-resultats__nom-candidat{font-weight:700}#resultats-container .vote-resultats__candidat--gagnant .vote-resultats__votes-candidat{color:#28a745}#resultats-container .vote-resultats__photo-candidat{width:50px;height:50px;border-radius:50%;margin-right:10px;margin-top:5px;object-fit:cover}#resultats-container .vote-resultats__nom-candidat{flex-grow:1}#resultats-container .vote-resultats__votes-candidat{margin-left:10px;margin-right:10px}#resultats-container .vote-resultats__stats-corps-metier{margin-bottom:15px;font-size:.9em;color:#555;background-color:#eee;padding:8px;border-radius:3px}#resultats-container .vote-resultats__stats-corps-metier strong{font-weight:700}#resultats-container .vote-resultats__aucun-candidat,#resultats-container .vote-resultats__aucun-corps-metier{font-style:italic;color:#6c757d}#resultats-container .vote-impression__bouton{display:inline-flex;align-items:center;background-color:#28a745;color:#fff;padding:10px 15px;border:none;border-radius:5px;cursor:pointer;font-size:1rem;transition:background-color 0.3s ease}margin- #resultats-container .vote-impression__bouton:hover{background-color:#1e7e34}#resultats-container .vote-impression__bouton .vote-impression__icone{width:20px;height:20px;margin-right:8px;fill:currentColor}#resultats-container .vote-impression__bouton .vote-impression__texte{white-space:nowrap}#resultats-container .btn-print-resultat-vote{width:100%;text-align:center;padding-bottom:8px}