:root{--red:#c62828;--blue:#0b3d91;--gold:#f2b705;--ink:#172033;--muted:#667085;--line:#dbe3ef;--bg:#f4f7fb}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Segoe UI,Arial,sans-serif}a{color:inherit}.container{max-width:1220px;margin:auto;padding:0 20px}.site-header{position:sticky;top:0;z-index:30;background:#fffdf5eF;backdrop-filter:blur(14px);border-bottom:1px solid #dde4ef}.header-row{min-height:74px;display:flex;align-items:center;gap:18px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-weight:900;color:#0b2858}.brand-mark{width:43px;height:43px;border-radius:12px;background:linear-gradient(#fff 0 50%,#d52b1e 50%);position:relative;box-shadow:0 6px 16px #0b28582c}.brand-mark:before{content:'★';position:absolute;inset:0 50% 50% 0;background:#0039a6;color:white;display:grid;place-items:center;border-radius:12px 0 0 0}.nav{display:flex;gap:18px;margin-left:auto}.nav a{text-decoration:none;font-weight:750;color:#344054}.nav a:hover{color:var(--red)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 15px;border-radius:10px;text-decoration:none;font-weight:850;border:0;cursor:pointer}.btn-primary{background:var(--blue);color:white}.btn-red{background:var(--red);color:white}.btn-gold{background:var(--gold);color:#2b2300}.btn-light{background:#eef3fa;color:#21314d}.hero{position:relative;overflow:hidden;background:linear-gradient(120deg,#061b42 0%,#0b3d91 55%,#9d2029 100%);color:white;padding:72px 0 64px}.hero:after{content:'';position:absolute;right:-120px;top:-120px;width:500px;height:500px;border-radius:50%;border:90px solid #ffffff0b}.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.35fr .65fr;gap:34px;align-items:center}.eyebrow{display:inline-block;background:#ffffff16;border:1px solid #ffffff33;padding:8px 12px;border-radius:999px;font-size:.82rem;font-weight:800}.hero h1{font-size:clamp(2.4rem,5vw,4.7rem);line-height:.98;margin:18px 0 16px;letter-spacing:-.04em}.hero p{font-size:1.12rem;line-height:1.65;color:#e7eefc;max-width:760px}.hero-card{background:#ffffff11;border:1px solid #ffffff2d;padding:24px;border-radius:22px;backdrop-filter:blur(12px);box-shadow:0 25px 55px #00112d66}.count{font-size:2rem;font-weight:900;color:#ffe178}.notice-strip{background:#fff3cd;border-bottom:1px solid #ebd68a;color:#6a5100;padding:10px 0;font-size:.9rem}.section{padding:58px 0}.section-title{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:24px}.section-title h2{font-size:2rem;margin:0;color:#102a55}.section-title p{margin:6px 0 0;color:var(--muted)}.grid{display:grid;gap:20px}.candidate-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.candidate-card{position:relative;background:white;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 12px 30px #2b3c5712;transition:.2s}.candidate-card:hover{transform:translateY(-5px);box-shadow:0 20px 38px #2234511e}.candidate-card.sponsored{border-color:#e6bd37;box-shadow:0 16px 35px #c8921324}.candidate-photo{height:250px;background:linear-gradient(140deg,#dce6f4,#f9fafc);display:flex;align-items:center;justify-content:center;overflow:hidden}.candidate-photo img{width:100%;height:100%;object-fit:cover}.avatar-placeholder{font-size:5rem;color:#7b8aa1}.card-body{padding:18px}.pill{display:inline-flex;padding:5px 9px;border-radius:999px;background:#edf2fa;color:#29436d;font-size:.74rem;font-weight:800}.pill-sponsored{background:#fff0b8;color:#725200}.candidate-card h3{font-size:1.35rem;margin:12px 0 5px}.meta{color:var(--muted);font-size:.9rem}.proposal-list{padding-left:18px;color:#344054;line-height:1.5}.filters{background:white;border:1px solid var(--line);border-radius:15px;padding:14px;display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:10px;margin-bottom:22px}.filters input,.filters select{padding:11px;border:1px solid #cad5e5;border-radius:9px;background:#fff}.poll-grid{grid-template-columns:1fr}.active-filter-chip{display:inline-flex;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:999px;padding:10px 14px;margin-bottom:18px}.active-filter-chip a{font-weight:800}.poll-list-card{display:grid;grid-template-columns:230px 1fr;gap:18px;align-items:start;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 10px 26px #23364c10}.poll-list-thumb{text-decoration:none}.poll-thumb-collage{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;height:170px}.poll-thumb-collage span,.poll-thumb-generic{background:linear-gradient(140deg,#dce6f4,#f9fafc);border-radius:14px;overflow:hidden;display:flex;align-items:center;justify-content:center}.poll-thumb-collage span img{width:100%;height:100%;object-fit:cover}.poll-thumb-collage span b,.poll-thumb-generic{font-size:2rem;color:#607089}.poll-thumb-generic{height:170px}.poll-list-content h3{margin:8px 0 10px;font-size:1.75rem;line-height:1.15}.poll-list-content h3 a{color:#000;text-decoration:none}.poll-list-content p{margin:0;color:#4b5c77;line-height:1.65}.poll-list-meta{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.poll-mini-candidates{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.poll-mini-candidates span{font-size:.82rem;font-weight:800;background:#f2f5fa;color:#314561;border-radius:999px;padding:7px 10px}.poll-readmore{display:inline-block;margin-top:16px;font-weight:900;color:#000}.poll-card{background:white;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 10px 26px #23364c10}.poll-option{display:block;padding:12px;border:1px solid #d7dfeb;border-radius:10px;margin:9px 0;cursor:pointer}.result-row{margin:12px 0}.result-head{display:flex;justify-content:space-between;gap:12px;font-size:.9rem}.bar{height:10px;background:#e8edf5;border-radius:999px;overflow:hidden;margin-top:6px}.bar span{display:block;height:100%;background:linear-gradient(90deg,var(--blue),#3d74ca)}.news-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.news-card{background:white;border:1px solid var(--line);border-radius:17px;overflow:hidden}.news-img{height:190px;background:#dfe7f3}.news-img img{width:100%;height:100%;object-fit:cover}.news-body{padding:18px}.news-body h3{margin:10px 0;line-height:1.25}.sponsor-section{background:linear-gradient(110deg,#fff7d6,#fff 48%,#eaf1ff);border-top:1px solid #ead996;border-bottom:1px solid #d8e1f0}.plans{grid-template-columns:repeat(3,minmax(0,1fr))}.plan{background:white;border:1px solid var(--line);border-radius:17px;padding:22px}.plan.featured{border:2px solid var(--gold);transform:scale(1.02)}.price{font-size:2rem;font-weight:900;color:#0b3d91}.footer{background:#071936;color:#d6e0f1;padding:38px 0;margin-top:30px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:28px}.footer a{color:#fff}.detail-hero{background:linear-gradient(110deg,#071936,#0b3d91);color:white;padding:42px 0}.detail-grid{display:grid;grid-template-columns:330px 1fr;gap:28px}.profile-photo{background:white;border-radius:18px;overflow:hidden;min-height:360px}.profile-photo img{width:100%;height:100%;object-fit:cover}.content-card{background:white;border:1px solid var(--line);border-radius:17px;padding:22px;margin-top:20px}.comment{border-bottom:1px solid #e4e8ef;padding:15px 0}.official-reply{margin-top:10px;background:#edf4ff;border-left:4px solid var(--blue);padding:12px;border-radius:8px}.comment-form{grid-template-columns:1fr 1fr}.form-control{width:100%;padding:11px 12px;border:1px solid #cad5e5;border-radius:9px;font:inherit}.alert{padding:13px;border-radius:10px;margin-bottom:14px}.alert-ok{background:#dcf7e9;color:#0a6742}.alert-error{background:#fee4e6;color:#9c1e29}.table-wrap{overflow:auto}.responsive-menu{display:none}@media(max-width:930px){.candidate-grid,.news-grid,.plans{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-grid,.detail-grid{grid-template-columns:1fr}.hero-card{max-width:540px}.filters{grid-template-columns:1fr 1fr}.poll-grid{grid-template-columns:1fr}.header-row{flex-wrap:wrap}.nav{display:flex;order:3;width:100%;overflow-x:auto;gap:14px;padding-bottom:10px}.nav a{white-space:nowrap}.responsive-menu{display:block;margin-left:auto}.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.comment-form{grid-template-columns:1fr}.candidate-grid,.news-grid,.plans,.footer-grid{grid-template-columns:1fr}.filters{grid-template-columns:1fr}.hero{padding:48px 0}.hero h1{font-size:2.65rem}.section{padding:42px 0}.plan.featured{transform:none}.candidate-photo{height:230px}}

/* Encuestas visuales de candidatos */
.polls-section{background:#eaf0f8}.poll-grid{align-items:start}
.poll-card--candidate{grid-column:1/-1}.poll-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.poll-heading h3{font-size:1.55rem;line-height:1.25;margin:10px 0 6px;color:#102a55}.poll-description{margin:0;color:var(--muted);line-height:1.55}.poll-badges{display:flex;gap:7px;flex-wrap:wrap}.pill-soft{background:#f7f1dd;color:#725b13}.poll-total{min-width:92px;text-align:center;background:#f4f7fb;border:1px solid var(--line);border-radius:14px;padding:10px 12px}.poll-total strong{display:block;font-size:1.55rem;color:var(--blue)}.poll-total span{font-size:.76rem;color:var(--muted);font-weight:750}
.poll-candidate-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-top:18px}.poll-candidate-choice{display:block;position:relative;text-decoration:none}.candidate-vote-input{position:absolute;opacity:0;pointer-events:none}.poll-candidate-card{height:100%;display:grid;grid-template-columns:78px minmax(0,1fr) 160px auto;align-items:center;gap:14px;background:#fff;border:2px solid #dce4ef;border-radius:16px;padding:12px;overflow:hidden;cursor:pointer;transition:.18s;box-shadow:0 8px 20px #1a31500d}.poll-candidate-choice:hover .poll-candidate-card{transform:translateY(-2px);border-color:#9fb6d9;box-shadow:0 15px 28px #1a31501b}.candidate-vote-input:checked+.poll-candidate-card{border-color:var(--red);box-shadow:0 0 0 4px #c6282818,0 15px 30px #1a315021}.poll-candidate-photo{display:grid;place-items:center;width:78px;height:78px;background:linear-gradient(140deg,#dce6f4,#f9fafc);overflow:hidden;border-radius:12px;flex-shrink:0}.poll-candidate-photo img{width:100%;height:100%;object-fit:cover}.poll-avatar{font-size:2rem;color:#8290a5}.poll-candidate-info{min-width:0}.poll-candidate-info strong{display:block;font-size:1.08rem;color:#142b52}.poll-candidate-info small{display:block;color:var(--muted);margin-top:4px;line-height:1.35}.poll-candidate-result{display:block;min-width:145px}.poll-candidate-result>b{font-size:1.22rem;color:var(--blue)}.poll-candidate-result>small{display:block;color:var(--muted);margin-top:4px}.poll-candidate-result .bar{margin-top:8px}.vote-select-text{display:flex;align-items:center;justify-content:center;align-self:stretch;background:#f4f7fb;border-left:1px solid #e3e9f2;padding:0 14px;text-align:center;font-size:.82rem;font-weight:850;color:#3c4e6d;white-space:nowrap}.candidate-vote-input:checked+.poll-candidate-card .vote-select-text{background:var(--red);color:white;border-color:var(--red)}.poll-submit{margin-top:16px;min-width:210px}.candidate-profile-link{display:inline-block;margin:8px 0 0 92px;font-size:.83rem;font-weight:800;color:var(--blue)}.poll-footer-link{margin-top:18px}.poll-results-list{margin-top:16px}.poll-card--full{padding:26px}.poll-card--full .poll-heading h3{font-size:2rem}.poll-page-hero{background:linear-gradient(115deg,#061b42,#0b3d91 58%,#9d2029);color:white;padding:54px 0}.poll-page-hero h1{font-size:clamp(2rem,4vw,3.7rem);line-height:1.07;margin:14px 0 12px;max-width:1000px}.poll-page-hero p{max-width:850px;color:#e5edfa;font-size:1.05rem;line-height:1.65}.poll-page-kicker{display:inline-flex;padding:7px 11px;border:1px solid #ffffff40;background:#ffffff12;border-radius:999px;font-size:.8rem;font-weight:800}.poll-page-dates{font-size:.87rem;color:#cddaf0}.poll-page-main{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}.poll-page-content{min-width:0}.poll-page-sidebar{position:sticky;top:105px}.poll-disclaimer{margin-top:16px;background:#fff8df;border:1px solid #ead797;border-radius:13px;padding:15px;color:#624d09;line-height:1.5}
@media(max-width:930px){.candidate-grid,.news-grid,.plans{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-grid,.detail-grid{grid-template-columns:1fr}.hero-card{max-width:540px}.filters{grid-template-columns:1fr 1fr}.header-row{flex-wrap:wrap}.nav{display:flex;order:3;width:100%;overflow-x:auto;gap:14px;padding-bottom:10px}.nav a{white-space:nowrap}.nav-dropdown{display:block}.nav-dropdown-menu{position:static;box-shadow:none;border:none;padding:6px 0 0;min-width:auto;display:block;background:transparent}.nav-dropdown-menu a{padding:8px 0}.poll-grid{grid-template-columns:1fr}.poll-list-card{grid-template-columns:1fr}.poll-thumb-collage{height:140px}.poll-list-content h3{font-size:1.35rem}.poll-page-main{grid-template-columns:1fr}.poll-page-sidebar{position:static}.responsive-menu{display:block;margin-left:auto}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.comment-form{grid-template-columns:1fr}.candidate-grid,.news-grid,.plans,.footer-grid{grid-template-columns:1fr}.filters{grid-template-columns:1fr}.hero{padding:48px 0}.hero h1{font-size:2.65rem}.section{padding:42px 0}.plan.featured{transform:none}.candidate-photo{height:230px}.poll-heading{flex-direction:column}.poll-total{display:flex;align-items:center;gap:7px;text-align:left}.poll-total strong{font-size:1.2rem}.poll-candidate-card{grid-template-columns:68px minmax(0,1fr);gap:12px}.poll-candidate-photo{width:68px;height:68px}.poll-candidate-result{grid-column:1/-1;min-width:0}.vote-select-text{grid-column:1/-1;border-left:none;border-top:1px solid #e3e9f2;padding:10px 12px}.candidate-profile-link{margin-left:0}.poll-card--full{padding:17px}.poll-card--full .poll-heading h3{font-size:1.55rem}}

.nav-dropdown{position:relative;display:flex;align-items:center}.nav-dropdown-toggle{display:inline-flex;align-items:center;gap:6px}.nav-dropdown-toggle:after{content:"▾";font-size:.8rem}.nav-dropdown-menu{position:absolute;top:calc(100% + 10px);left:0;min-width:230px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 40px #20324d1f;padding:8px;display:none;z-index:30}.nav-dropdown-menu a{display:block;padding:10px 12px;border-radius:10px;font-size:.92rem}.nav-dropdown-menu a:hover{background:#f3f6fb;color:var(--blue)}.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu{display:block}
@media(max-width:930px){.nav-dropdown{display:block}.nav-dropdown-menu{position:static;box-shadow:none;border:none;padding:6px 0 0;min-width:auto;display:block;background:transparent}.nav-dropdown-menu a{padding:8px 0}}

.nav-dropdown-toggle{appearance:none;border:0;background:transparent;padding:0;font:inherit;text-decoration:none;font-weight:750;color:#344054;cursor:pointer}.nav-dropdown-toggle:hover{color:var(--red)}.nav-dropdown.is-open .nav-dropdown-menu{display:block}.nav-dropdown.is-open .nav-dropdown-toggle:after{transform:rotate(180deg)}.nav-dropdown-toggle:after{transition:transform .18s ease}.nav-dropdown-menu{pointer-events:auto}


/* V5 centered navigation and single-section layout */
.site-header{padding:18px 0 12px}.top-brand-bar{position:relative;display:flex;align-items:center;justify-content:center;padding-top:6px}.brand-centered{margin:0 auto;font-size:2.1rem;display:flex;flex-direction:column;gap:8px;text-align:center}.brand-centered .brand-mark{margin:0 auto;width:56px;height:56px}.admin-access{position:absolute;right:20px;top:50%;transform:translateY(-50%)}
.nav-center-wrap{padding-top:16px}.nav-centered{margin-left:0;display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap}.nav-btn{display:inline-flex;align-items:center;justify-content:center;min-width:175px;min-height:56px;padding:14px 18px;border:1px solid #d8e1ee;border-radius:14px;background:#fff;color:#13396d;text-decoration:none;font-weight:900;letter-spacing:.02em;text-transform:uppercase;box-shadow:0 10px 24px #2138590e;transition:.2s}.nav-btn:hover,.nav-btn.is-active,.nav-dropdown.is-active .nav-btn,.nav-dropdown.is-open .nav-btn{background:linear-gradient(180deg,#0b3d91,#082e6f);color:#fff;border-color:#0b3d91;transform:translateY(-2px)}.nav-dropdown{position:relative}.nav-dropdown-toggle{cursor:pointer;font:inherit}.nav-dropdown-toggle:after{content:"▾";font-size:.85rem;margin-left:8px}.nav-dropdown-menu{position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%);min-width:260px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 40px #20324d1f;padding:10px;display:none;z-index:50}.nav-dropdown-menu.is-open,.nav-dropdown.is-open .nav-dropdown-menu{display:block}.nav-dropdown-menu a{display:block;padding:12px 14px;border-radius:12px;font-weight:800;text-decoration:none;color:#13396d}.nav-dropdown-menu a:hover{background:#eff4fb;color:#0b3d91}
.home-access-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.home-access-card{display:block;background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;text-decoration:none;box-shadow:0 12px 30px #2b3c5712;transition:.2s}.home-access-card:hover{transform:translateY(-4px);box-shadow:0 18px 36px #2234511a}.home-access-card h3{margin:0 0 10px;color:#0d2f5f;font-size:1.3rem}.home-access-card p{margin:0;color:#5c6f8f;line-height:1.6}
@media(max-width:930px){.top-brand-bar{padding-bottom:10px}.admin-access{position:static;transform:none;margin-left:auto}.brand-centered{font-size:1.8rem}.nav-btn{min-width:150px;min-height:52px;font-size:.92rem}.home-access-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nav-dropdown-menu{left:0;transform:none}}
@media(max-width:640px){.top-brand-bar{flex-direction:column;gap:14px}.admin-access{margin-left:0}.brand-centered{font-size:1.5rem}.nav-centered{gap:10px}.nav-btn{width:100%;min-width:0}.home-access-grid{grid-template-columns:1fr}.nav-dropdown,.nav-dropdown-menu{width:100%}.nav-dropdown-menu{position:static;transform:none;min-width:0;margin-top:8px}}
