a.candidate-card-large{color:inherit;text-decoration:none}.candidate-card-large{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);flex-direction:column;padding:0;display:flex;position:relative;overflow:visible}.candidate-card-large:hover{border-color:var(--border-hover);background:var(--bg-card-elevated);z-index:50;transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.candidate-card-large:has(.hexagono-tooltip-extension):hover{box-shadow:none}.candidate-card-large.eleito-glow{border-color:#10b981cc;box-shadow:0 0 8px #10b981b3}.candidate-card-large.eleito-glow:hover{border-color:#10b981;box-shadow:0 4px 12px #10b981cc}.candidate-card-large.eleito-glow:has(.hexagono-tooltip-extension):hover{box-shadow:none}.candidate-avatar{aspect-ratio:1;border-radius:var(--radius-md) var(--radius-md) 0 0;color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:100%;font-size:3rem;font-weight:700;display:flex;position:relative;overflow:hidden;background-color:var(--bg-card,#18181b)!important;background-image:none!important;margin-bottom:0!important}.avatar-image{-o-object-fit:cover;object-fit:cover;-o-object-position:center top;object-position:center top;z-index:1;opacity:0;border-radius:0;width:100%;height:100%;transition:opacity .2s;position:absolute;top:0;left:0}.avatar-image.loaded{opacity:1}.avatar-initials{color:#fff;z-index:1;font-size:3rem;font-weight:700}.candidate-card-large.destaque{grid-column:1/-1;max-width:420px;margin:0 auto;padding:32px}.candidate-card-large.destaque .candidate-avatar{border-radius:16px;width:200px;height:200px;font-size:4rem}.candidate-card-large.destaque .candidate-name{font-size:1.8rem}.candidate-avatar.no-photo{background-color:#0000!important;background-image:linear-gradient(135deg,#6b7280 0%,#4b5563 100%)!important}.candidate-avatar.no-photo.prefeito{background-image:linear-gradient(135deg,#ec4899 0%,#f97316 100%)!important}.candidate-avatar.no-photo.vereador{background-image:linear-gradient(135deg,#06b6d4 0%,#4d8eff 100%)!important}.candidate-avatar.no-photo.federal,.candidate-avatar.no-photo.estadual{background-image:linear-gradient(135deg,#4d8eff 0% 100%)!important}.candidate-avatar.no-photo.governador{background-image:linear-gradient(135deg,#a855f7 0%,#9333ea 100%)!important}.candidate-avatar.no-photo.senador{background-image:linear-gradient(135deg,#f59e0b 0%,#d97706 100%)!important}.candidate-avatar.no-photo.presidente{color:#fff;background-image:linear-gradient(135deg,#fbbf24 0%,#f59e0b 100%)!important}.candidate-name{font-size:1.25rem;font-weight:600;font-family:var(--font-display,"Space Grotesk", sans-serif);text-align:center;color:var(--text-primary);margin:0;line-height:1.3}.candidate-card-large .candidate-badges{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:4px;display:flex}.candidate-card-large .candidate-badges .badge{text-transform:uppercase!important;letter-spacing:.3px!important;border-radius:10px!important;padding:3px 8px!important;font-size:.65rem!important;font-weight:600!important}.candidate-card-large .candidate-badges .badge-cargo{color:#fff!important}.candidate-card-large .candidate-badges .badge-cargo.prefeito{background:#ec489933!important;border:1px solid #ec4899!important}.candidate-card-large .candidate-badges .badge-cargo.vereador{background:#06b6d433!important;border:1px solid #06b6d4!important}.candidate-card-large .candidate-badges .badge-cargo.federal,.candidate-card-large .candidate-badges .badge-cargo.estadual{background:#4d8eff33!important;border:1px solid #4d8eff!important}.candidate-card-large .candidate-badges .badge-cargo.governador{background:#a855f733!important;border:1px solid #a855f7!important}.candidate-card-large .candidate-badges .badge-cargo.senador{background:#f59e0b33!important;border:1px solid #f59e0b!important}.candidate-card-large .candidate-badges .badge-cargo.presidente{background:#fbbf2433!important;border:1px solid #fbbf24!important}.candidate-card-large.election-mode:not(.eleito-glow) .badge-cargo{opacity:.6}.candidate-card-large .candidate-badges .badge-estado{font-weight:700!important}.candidate-card-large .candidate-badges .badge-estado.prefeito{color:#ec4899!important;background:#ec489933!important;border:1px solid #ec489966!important}.candidate-card-large .candidate-badges .badge-estado.vereador{color:#06b6d4!important;background:#06b6d433!important;border:1px solid #06b6d466!important}.candidate-card-large .candidate-badges .badge-estado.federal,.candidate-card-large .candidate-badges .badge-estado.estadual{color:#4d8eff!important;background:#4d8eff33!important;border:1px solid #4d8eff66!important}.candidate-card-large .candidate-badges .badge-estado.governador{color:#a855f7!important;background:#a855f733!important;border:1px solid #a855f766!important}.candidate-card-large .candidate-badges .badge-estado.senador{color:#f59e0b!important;background:#f59e0b33!important;border:1px solid #f59e0b66!important}.candidate-card-large .candidate-badges .badge-estado.presidente{color:#fbbf24!important;background:#fbbf2433!important;border:1px solid #fbbf2466!important}.candidate-card-large .candidate-badges .badge-cidade{color:#fffc!important;background:#ffffff0d!important;border:1px solid #ffffff1a!important}.candidate-card-large .candidate-badges .badge-cidade.prefeito{color:#ec4899!important;background:#ec489933!important;border:1px solid #ec489966!important}.candidate-card-large .candidate-badges .badge-cidade.vereador{color:#06b6d4!important;background:#06b6d433!important;border:1px solid #06b6d466!important}.badge-check-icon{flex-shrink:0;margin-right:3px}.cargo-badge-overlay{z-index:20;align-items:center;display:flex;position:absolute;top:8px;left:8px}.cargo-badge-overlay .badge{text-transform:uppercase;letter-spacing:.2px;white-space:nowrap;border:none;border-radius:4px;align-items:center;padding:2px 6px;font-size:.6rem;font-weight:600;display:inline-flex}.cargo-badge-overlay .badge-cargo.prefeito{color:#fff;background:linear-gradient(135deg,#ec4899 0%,#f97316 100%);border:none}.cargo-badge-overlay .badge-cargo.vereador{color:#fff;background:linear-gradient(135deg,#06b6d4 0%,#4d8eff 100%);border:none}.cargo-badge-overlay .badge-cargo.federal,.cargo-badge-overlay .badge-cargo.estadual{color:#fff;background:linear-gradient(135deg,#4d8eff 0% 100%);border:none}.cargo-badge-overlay .badge-cargo.governador{color:#fff;background:linear-gradient(135deg,#a855f7 0%,#9333ea 100%);border:none}.cargo-badge-overlay .badge-cargo.senador{color:#fff;background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);border:none}.cargo-badge-overlay .badge-cargo.presidente{color:#fff;background:linear-gradient(135deg,#fbbf24 0%,#f59e0b 100%);border:none}.card-actions-row{z-index:20;opacity:0;pointer-events:none;gap:6px;transition:opacity .2s,transform .2s;display:flex;position:absolute;top:8px;right:8px;transform:translateY(-4px)}.candidate-card-large:hover .card-actions-row{opacity:1;pointer-events:auto;transform:translateY(0)}.card-action-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#ffffffb3;cursor:pointer;background:#0000008c;border:1px solid #ffffff1f;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;padding:0;transition:all .2s;display:flex;position:relative}.card-action-btn:after{content:attr(aria-label);color:#fff;white-space:nowrap;pointer-events:none;opacity:0;letter-spacing:.2px;background:#000000e6;border-radius:6px;padding:4px 8px;font-size:.65rem;font-weight:500;transition:opacity .15s,transform .15s;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%)translateY(4px)}.card-action-btn:hover:after{opacity:1;transform:translate(-50%)translateY(0)}.card-action-btn:hover{color:#fff;background:#ffffff26;border-color:#ffffff4d;transform:scale(1.1)}.card-action-btn[aria-label=Favoritar]:hover{color:#f87171;border-color:#f8717166}.card-action-btn[aria-label=Comparar]:hover{color:#4d8eff;border-color:#4d8eff66}.card-action-btn[aria-label=Reportar]:hover{color:#ef4444;border-color:#ef444466}.card-action-btn.favorited{color:#f87171;background:#f8717126;border-color:#f871714d}.card-action-btn.favorited svg path{fill:currentColor}.card-action-btn.favorited:hover{color:#fca5a5;background:#f8717140}.card-action-btn.favorited:after{content:attr(aria-label)}.card-action-btn.fav-pulse{animation:.4s favPulse}@keyframes favPulse{0%{transform:scale(1)}30%{transform:scale(1.35)}60%{transform:scale(.9)}to{transform:scale(1)}}.card-toast{color:#fff;white-space:nowrap;z-index:50;pointer-events:none;background:#000000e6;border-radius:8px;padding:5px 12px;font-size:.7rem;font-weight:500;animation:.2s toastIn,.3s 1.5s forwards toastOut;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)translateY(100%)}@keyframes toastIn{0%{opacity:0;transform:translate(-50%)translateY(calc(100% + 8px))}to{opacity:1;transform:translate(-50%)translateY(100%)}}@keyframes toastOut{0%{opacity:1}to{opacity:0}}.candidate-content{flex-direction:column;flex:1;justify-content:center;gap:8px;min-height:140px;padding:12px;display:flex}.candidate-header{flex-direction:column;align-items:center;gap:4px;width:100%;display:flex}.candidate-numero{color:#fff;letter-spacing:.5px;background:#ffffff1a;border:1px solid #fff3;border-radius:8px;justify-content:center;align-items:center;padding:4px 12px;font-size:.875rem;font-weight:700;display:inline-flex}.candidate-votos{color:var(--text-secondary);text-align:center;font-size:.875rem;font-weight:500}.election-votos{justify-content:center;align-items:baseline;gap:6px;margin:6px 0;padding:6px 0;display:flex}.election-votos-valor{color:#fff;letter-spacing:.5px;font-size:1.1rem;font-weight:700}.election-votos-label{color:#ffffff80;text-transform:lowercase;font-size:.7rem;font-weight:500}.badge-numero{color:#a5a5ffe6;letter-spacing:.5px;background:#6366f126;border:1px solid #6366f140;font-size:.75rem;font-weight:700}.candidate-positioning{border-top:1px solid var(--border);cursor:pointer;justify-content:center;align-items:center;gap:6px;margin-top:4px;padding-top:8px;display:flex;position:relative}.badge-campo-politico{letter-spacing:.2px;white-space:nowrap;border:1px solid;border-radius:5px;padding:2px 6px;font-size:.6rem;font-weight:600}@media (max-width:768px){.candidate-avatar,.avatar-initials{font-size:2.5rem}.candidate-content{padding:14px}.candidate-name{font-size:1rem}.badge-eleito-overlay{padding:3px 0;font-size:.6rem}.candidate-numero{padding:3px 8px;font-size:.75rem}.candidate-votos{font-size:.75rem}.candidate-card-large .candidate-badges .badge{padding:2px 6px!important;font-size:.6rem!important}}.hexagono-tooltip-extension{top:calc(100% + 12px + 1px - var(--radius-md));background:var(--bg-card-hover);border:1px solid var(--border);border-radius:0 0 var(--radius-md) var(--radius-md);padding:calc(1rem + var(--radius-md)) .5rem 1.5rem;z-index:60;pointer-events:none;opacity:0;border-top:none;justify-content:center;transition:opacity .25s,transform .25s;display:flex;position:absolute;left:-13px;right:-13px;transform:translateY(-8px);box-shadow:0 8px 24px #0006}.candidate-card-large:hover .hexagono-tooltip-extension{opacity:1;border-color:var(--border-hover);transform:translateY(0);box-shadow:0 8px 24px #0000004d}.candidate-card-large.eleito-glow:hover .hexagono-tooltip-extension{border-color:#10b981;box-shadow:0 4px 12px #10b981cc}.hexagono-tooltip-content{flex-direction:column;align-items:center;display:flex}.hexagono-tooltip-svg-wrapper{width:140px;height:140px;position:relative}.hexagono-tooltip-labels{pointer-events:none;position:absolute;inset:0}.hexagono-tooltip-label{text-align:center;white-space:nowrap;position:absolute;transform:translate(-50%,-50%)}.hexagono-tooltip-label .tooltip-label-title{text-transform:uppercase;letter-spacing:.02em;color:#fff6;font-size:.55rem;font-weight:500;display:block}.hexagono-tooltip-label .tooltip-label-value{color:#ffffffd9;font-size:.65rem;font-weight:700;display:block}
