 .sepv-wrap{max-width:1180px;margin:32px auto;padding:0 18px;color:#202124}
.sepv-hero{padding:48px 34px;border-radius:18px;background:linear-gradient(120deg,#171717,#333 62%,#9b4b16);color:#fff;margin-bottom:28px}
.sepv-hero span{color:#ffc46b;font-weight:800;letter-spacing:2px}.sepv-hero h2{font-size:clamp(28px,4vw,44px);margin:10px 0;color:#fff}.sepv-hero p{max-width:650px;color:#f4e9df}
.sepv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px}
.sepv-card{border:1px solid #e8e8e8;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 5px 18px rgba(0,0,0,.05)}
.sepv-poster,.sepv-candidate-photo{display:block;width:100%;height:230px;object-fit:cover;background:#f1f1f1}.sepv-card-body{padding:18px}
.sepv-card h3{margin:8px 0;font-size:21px}.sepv-card p{color:#60656d}.sepv-status{display:inline-block;background:#fff0dc;color:#9b4b16;border-radius:30px;padding:5px 10px;font-size:12px;font-weight:700}
.sepv-button{display:inline-block;border:0;border-radius:7px;background:#d97706;color:#fff!important;padding:11px 18px;text-decoration:none;font-weight:700;cursor:pointer}.sepv-button:hover{background:#b85f00}
.sepv-event-head{display:grid;grid-template-columns:minmax(180px,32%) 1fr;gap:26px;align-items:start;margin-bottom:30px}.sepv-event-poster{width:100%;border-radius:14px;object-fit:cover}.sepv-description{line-height:1.7}
.sepv-number{font-size:12px;color:#9b4b16;font-weight:700}.sepv-votes{font-size:15px}.sepv-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:99999;align-items:center;justify-content:center;padding:16px}.sepv-modal.is-open{display:flex}.sepv-modal-inner{background:#fff;border-radius:14px;padding:26px;width:min(100%,480px);max-height:90vh;overflow:auto;position:relative}.sepv-close{position:absolute;right:14px;top:8px;border:0;background:none;font-size:28px;cursor:pointer}.sepv-modal label{display:block;font-weight:600;margin:12px 0}.sepv-modal input{display:block;width:100%;padding:11px;border:1px solid #ccc;border-radius:6px;margin-top:5px}.sepv-total{font-size:18px}.sepv-note{font-size:12px;color:#666}.sepv-rank-list{padding-left:24px}.sepv-rank-list li{padding:12px;border-bottom:1px solid #eee;display:flex;justify-content:space-between;gap:12px}.sepv-rank-name{font-weight:600}
@media(max-width:650px){.sepv-event-head{grid-template-columns:1fr}.sepv-event-poster{max-height:280px}.sepv-hero{padding:32px 22px}.sepv-rank-list li{display:block}.sepv-rank-list li strong{display:block;margin-top:5px}}
