.electoral-page .indicador_titulo { line-height: 1.5; overflow-wrap: anywhere; }
.electoral-banner { display: block; width: 100%; height: auto; }
.electoral-content { padding: 24px 32px; }
.electoral-documents { list-style: none; padding: 0; margin: 0; }
.electoral-documents > li { display: flex; align-items: center; gap: 20px; padding: 22px 0; border-bottom: 1px solid #bccdc7; }
.electoral-documents > li:last-child { border-bottom: 0; }
.electoral-pdf { flex: 0 0 36px; font-size: 30px; color: #a42a30; }
.electoral-document-name { flex: 1; min-width: 0; }
.electoral-document-name a, .electoral-document-link { color: #2A4B53; font: inherit; font-weight: 600; line-height: 1.6; text-align: left; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.electoral-document-link { background: none; padding: 0; border: 0; cursor: pointer; }
.electoral-restricted { display: block; font-size: 13px; color: #58646a; margin-top: 5px; }
.electoral-download { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 44px; width: 44px; height: 44px; border: 1px solid #b6d1b1; border-radius: 6px; background: #C6DCC2; color: #2A4B53; cursor: pointer; font-size: 19px; }
.electoral-download:hover { background: #6CB535; color: #fff; }
.electoral-page button:focus-visible, .electoral-page a:focus-visible { outline: 2px solid #2A4B53; outline-offset: 4px; }
.electoral-page .modal-body { line-height: 1.7; }
.electoral-page .modal-content { background: #fff; color: #333; border-radius: 8px; }
.electoral-page .modal-title { color: #2A4B53; }
.electoral-page .modal-body a { color: #2A4B53; overflow-wrap: anywhere; }
.electoral-page .form-control { border: 1px solid #899b9e; }
.electoral-page .form-control:focus { border-color: #2A4B53; box-shadow: 0 0 0 3px #2a4b5322; }
.electoral-primary, .electoral-secondary { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; border-radius: 6px; font-weight: 600; }
.electoral-primary { background: #6CB535; color: #fff; min-width: 150px; }
.electoral-primary:hover { background: #556E17; color: #fff; }
.electoral-secondary { background: #C6DCC2; color: #333; }
.electoral-primary:disabled { background: #6CB535; color: #fff; opacity: .75; cursor: wait; }
.electoral-feedback { margin: 16px 0 0; font-size: 14px; color: #a42a30; overflow-wrap: anywhere; }
.electoral-feedback.is-success { color: #26602b; }
.electoral-page [hidden] { display: none !important; }
.electoral-spinner { display: inline-block; animation: electoral-spin .8s linear infinite; }
@keyframes electoral-spin { to { transform: rotate(360deg); } }
@media (max-width: 600px) {
    .electoral-content { padding: 12px 16px; }
    .electoral-documents > li { gap: 12px; padding: 18px 0; }
    .electoral-pdf { flex-basis: 25px; font-size: 25px; }
    .electoral-document-name { font-size: 14px; }
    .electoral-page .modal-title { font-size: 18px !important; }
}
@media (prefers-reduced-motion: reduce) { .electoral-spinner { animation: none; } }
