/* MANDATO — pacote visual V17. Acrescenta identidade própria sem substituir o motor do jogo. */
:root{--m17-ink:#eaf1fb;--m17-muted:#a1b2c8;--m17-accent:#51d6c4;--m17-blue:#5289fa;--m17-border:rgba(156,180,214,.22);--m17-glass:rgba(22,34,59,.85)}
body{background:radial-gradient(ellipse 85% 37% at 8% 0%,rgba(65,119,197,.19),transparent 76%),radial-gradient(ellipse 58% 29% at 98% 22%,rgba(29,141,147,.12),transparent 80%),#0b1426!important}
.topo{background:rgba(10,21,39,.92)!important;backdrop-filter:blur(14px);border-bottom:1px solid var(--m17-border)}
.topo .wrap{display:flex;align-items:center;gap:12px;min-height:70px;flex-wrap:wrap}
.topo .logo{font-weight:850;letter-spacing:-.04em}
.topo .pill{background:rgba(82,137,250,.12);border:1px solid rgba(82,137,250,.24);border-radius:40px;padding:4px 8px}
.m17-nav{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.m17-nav-button{font:inherit;color:var(--m17-muted);background:transparent;border:1px solid transparent;border-radius:10px;padding:9px 12px;cursor:pointer;transition:background .18s,color .18s}
.m17-nav-button:hover,.m17-nav-button:focus-visible{background:rgba(140,174,217,.13);color:#fff;outline:2px solid transparent}
.m17-nav-button:focus-visible{outline-color:var(--m17-accent)}
.hero{position:relative;overflow:hidden;border:1px solid var(--m17-border)!important;background:linear-gradient(125deg,rgba(23,42,73,.98),rgba(12,27,45,.96))!important;border-radius:24px!important;box-shadow:0 20px 80px #050a1738!important;margin-top:22px!important;padding:clamp(22px,4vw,46px)!important}
.hero::before{content:"";position:absolute;right:-160px;top:-160px;width:400px;height:400px;background:radial-gradient(circle,rgba(69,181,185,.13),transparent 67%);pointer-events:none}
.hero h1{font-size:clamp(2.1rem,4.1vw,3.65rem)!important;line-height:1.08!important;letter-spacing:-.045em;max-width:680px}
.hero .lead{color:#aabed7!important;max-width:590px;line-height:1.65}
.m17-eyebrow{color:#77e1d4;text-transform:uppercase;font-size:11px;font-weight:850;letter-spacing:.19em;margin-bottom:13px}
.hero .acoes{display:flex;gap:10px;flex-wrap:wrap}
.hero .btn,.cand .btn{transition:transform .15s ease,box-shadow .15s ease,background .15s ease}
.hero .btn:hover,.cand .btn:hover{transform:translateY(-1px)}
.urna-demo{border-radius:20px!important;box-shadow:0 18px 46px #0005,inset 0 1px 1px #ffffff20;transform:rotate(1.4deg)}
#elenco{scroll-margin-top:95px}
#elenco>h2{font-size:clamp(1.55rem,3vw,2.15rem);letter-spacing:-.04em;margin-bottom:6px}
.m17-subtitle{font-size:.92rem;color:var(--m17-muted);margin:0 0 17px}
.filtros{border:1px solid var(--m17-border);border-radius:18px;background:var(--m17-glass);padding:14px!important;margin:18px 0!important;box-shadow:0 12px 40px #0208172a}
.filtros input,.filtros select{border-radius:10px!important;min-height:43px;max-width:100%}
.filtros .chips{gap:7px!important}
.filtros .chip{border-radius:100px!important;padding:8px 12px!important;transition:background .16s}
.filtros .chip[aria-pressed="true"]{box-shadow:inset 0 0 0 1px #59d5c9}
.grade{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(min(100%,255px),1fr))!important;gap:15px!important}
.cand{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:215px;border:1px solid var(--m17-border)!important;border-radius:17px!important;background:linear-gradient(160deg,rgba(26,42,70,.98),rgba(15,29,50,.97))!important;box-shadow:0 8px 28px #0002;overflow:hidden;transition:transform .19s ease,border-color .19s ease,box-shadow .19s ease}
.cand:hover{transform:translateY(-3px);border-color:#6d9ec277!important;box-shadow:0 17px 42px #0004}
.cand .corpo{display:flex;gap:13px;align-items:center}
.cand h3{font-size:1.12rem;line-height:1.25;margin:0 0 7px!important}
.cand p.cargo{font-size:.82rem!important;color:var(--m17-muted)!important;line-height:1.4}
.cand .foto{width:74px!important;height:82px!important;min-width:74px!important;display:flex!important;align-items:center;justify-content:center;border-radius:11px!important;overflow:hidden;border:1px solid #ffffff2b;box-shadow:0 6px 16px #0003;font-weight:800}
.cand .foto.m17-has-photo{background:transparent!important;color:transparent!important}
.cand .foto .m17-portrait{display:block;width:100%;height:100%;object-fit:cover;object-position:center 22%;border:0}
.cand .num{padding:7px 0;color:var(--m17-muted)}
.cand .base{margin-top:auto;display:flex;gap:8px;align-items:center}
.cand .base .btn:first-child{flex:1}
.cand .base .btn:focus-visible,.hero .btn:focus-visible{outline:2px solid var(--m17-accent);outline-offset:3px}
.m17-credits{font-size:10px;line-height:1.4;margin-top:9px;color:var(--m17-muted)}
.m17-credits a{color:#9ee2df;text-decoration:underline;text-underline-offset:2px}
.m17-dialog{color:var(--m17-ink);background:#14233a;border:1px solid #5b7c9e6b;max-width:min(560px,calc(100vw - 28px));padding:26px;border-radius:18px;box-shadow:0 22px 80px #0009}
.m17-dialog::backdrop{background:rgba(1,7,18,.76)}
.m17-dialog h2{font-size:1.35rem;margin:0 0 12px}
.m17-dialog p,.m17-dialog li{color:#b7c9dc;line-height:1.7}
.m17-dialog button{background:#3fbdaf;color:#081e25;border:0;border-radius:9px;padding:11px 18px;font-weight:700;cursor:pointer}
.m17-dialog button:focus-visible{outline:2px solid white;outline-offset:3px}
.m17-dialog a{color:#86dcd5}
@media(max-width:870px){.topo .wrap{gap:8px;padding-block:12px}.m17-nav{order:3;width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}.m17-nav-button{white-space:nowrap}.hero{display:block!important}.urna-demo{transform:none;margin-top:22px!important}.filtros{padding:12px!important}}
@media(max-width:600px){.grade{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}.cand{padding:10px!important;min-height:225px}.cand .corpo{display:block}.cand .foto{width:64px!important;height:68px!important;min-width:64px!important;margin-bottom:8px}.cand h3{font-size:1rem}.cand .base{flex-wrap:wrap}.cand .base .btn:first-child{width:100%;flex:1 0 100%}.cand .base .btn:nth-child(2){width:100%}.hero{padding:20px!important}}
@media(max-width:365px){.grade{grid-template-columns:1fr!important}}
@media(prefers-reduced-motion:reduce){.cand,.hero .btn,.cand .btn{transition:none!important;transform:none!important}}

/* Correções finais de contraste e legibilidade após composição com a V16 */
.cand{color:#edf5ff!important}
.cand h3{color:#f1f6ff!important}
.cand .base{background:transparent!important;border-top:1px solid var(--m17-border)!important;padding:12px!important}
.cand .base .btn{background:#2fae99!important;color:#071f24!important;border-color:#2fae99!important}
.cand .base .btn:hover{background:#55ddc8!important}
.cand .base .btn.peq{background:#203653!important;color:#e2f2ff!important;border-color:#355678!important}
.cand .base .btn.peq:hover{background:#2e496b!important}
.cand .num .digitos b{background:#e9f0ea!important;color:#182530!important;border-color:#afbdc5!important}
.cand .part{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cand .m17-credits{padding:0 12px 10px;margin-top:-2px}
.cand .foto[src]{object-fit:cover!important;object-position:center 20%!important}
.m17-nav{position:relative;z-index:6}
.m17-menu{position:relative}
.m17-menu>summary{list-style:none;user-select:none;font:inherit;color:var(--m17-muted);padding:9px 13px;cursor:pointer;border-radius:10px;white-space:nowrap}
.m17-menu>summary::-webkit-details-marker{display:none}
.m17-menu>summary::after{content:'⌄';margin-left:7px;font-weight:700}
.m17-menu[open]>summary,.m17-menu>summary:hover{background:rgba(140,174,217,.14);color:white}
.m17-submenu{position:absolute;left:0;top:calc(100% + 3px);display:grid;min-width:180px;padding:6px;background:#182b48;border:1px solid #3f6382;border-radius:12px;box-shadow:0 16px 34px #030917ae;z-index:99}
.m17-submenu button{border:0;background:transparent;color:#eaf3ff;text-align:left;padding:10px 12px;border-radius:7px;cursor:pointer;white-space:nowrap}
.m17-submenu button:hover,.m17-submenu button:focus-visible{background:#2c4d6c;outline:2px solid #70e9d6}
.m17-original-tabs{display:none!important}
@media(max-width:870px){.m17-submenu{position:fixed;left:12px;right:12px;top:105px}.topo{position:relative}}
@media(max-width:600px){.cand .m17-credits{padding:0 0 9px}.cand .base{padding:9px 0!important}.cand .num{flex-wrap:wrap}}
