/* ============================================================
   CENSO DE HINCHADAS v2 — estilos
   Paleta: celeste argentino + cyan + carbón profundo
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,400..800&family=Inter:wght@400;500;600;700&family=Space+Mono:wght@400;700&display=swap');

:root{
  --bg:#080b12; --bg2:#0e131c; --surface:#141a25; --surface2:#1b2331;
  --line:rgba(126,203,255,.10); --line2:rgba(126,203,255,.22);
  --txt:#eef3f8; --dim:#94a3b8; --dim2:#5d6b80;
  /* Acentos celeste argentino */
  --cel:#34c9ff; --cel-d:#1aa6e6; --cel-light:#7ecbff;
  --gold:#ffd34a;
  --magenta:#ff4d8d; --amber:#ffb648;
  --radius:16px; --maxw:1340px;
  --f-disp:'Bricolage Grotesque',sans-serif;
  --f-body:'Inter',sans-serif;
  --f-mono:'Space Mono',monospace;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  background:
    radial-gradient(950px 480px at 88% -8%,rgba(52,201,255,.08),transparent 60%),
    radial-gradient(820px 460px at -5% 2%,rgba(126,203,255,.10),transparent 55%),
    var(--bg);
  color:var(--txt);font-family:var(--f-body);line-height:1.55;overflow-x:hidden;min-height:100vh;
}
a{color:inherit;text-decoration:none;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px;}
.mono{font-family:var(--f-mono);}
button{cursor:pointer;}

/* HEADER */
.top{position:sticky;top:0;z-index:50;backdrop-filter:blur(16px);
  background:linear-gradient(180deg,rgba(8,11,18,.95),rgba(8,11,18,.78));border-bottom:1px solid var(--line);}
.top__in{display:flex;align-items:center;gap:24px;max-width:var(--maxw);margin:0 auto;padding:13px 22px;}
.logo{display:flex;align-items:center;gap:12px;}
.logo__img{width:44px;height:44px;border-radius:13px;filter:drop-shadow(0 4px 14px rgba(52,201,255,.45));}
.logo__txt{font-family:var(--f-disp);font-weight:800;font-size:1.12rem;line-height:.95;letter-spacing:-.5px;}
.logo__txt span{display:block;font-family:var(--f-mono);font-size:.54rem;font-weight:400;color:var(--dim);letter-spacing:2.4px;margin-top:2px;}
.nav{display:flex;gap:3px;flex:1;justify-content:center;}
.nav a{padding:8px 14px;border-radius:9px;font-weight:600;font-size:.88rem;color:var(--dim);cursor:pointer;transition:.18s;}
.nav a:hover{color:var(--txt);background:var(--surface);}
.nav a.active{color:#04202d;background:var(--cel);}
.userpill{display:flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border-radius:30px;background:var(--surface);
  border:1px solid var(--line);font-size:.82rem;font-weight:600;color:var(--txt);cursor:pointer;font-family:var(--f-body);
  transition:border-color .15s;}
.userpill:hover{border-color:var(--cel);}
.userpill .av{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--cel),var(--cel-light));
  display:grid;place-items:center;color:#04202d;font-weight:700;font-size:.72rem;}
.userpill__caret{font-size:.6rem;color:var(--dim);transition:transform .2s;}
.usermenu__caret-rot,.userpill[aria-expanded="true"] .userpill__caret{transform:rotate(180deg);}
/* Menú desplegable del usuario */
.usermenu{position:relative;}
.usermenu__drop{position:absolute;top:calc(100% + 8px);right:0;min-width:190px;background:var(--bg2);
  border:1px solid var(--line2);border-radius:13px;box-shadow:0 12px 34px rgba(0,0,0,.5);
  padding:6px;display:none;z-index:120;animation:pop .2s;}
.usermenu__drop.open{display:block;}
.usermenu__email{padding:8px 12px 10px;font-size:.72rem;color:var(--dim2);border-bottom:1px solid var(--line);
  margin-bottom:6px;word-break:break-all;font-family:var(--f-mono);}
.usermenu__item{display:block;width:100%;text-align:left;padding:10px 12px;border-radius:8px;background:none;
  border:0;color:var(--txt);font-size:.85rem;font-weight:600;cursor:pointer;font-family:var(--f-body);}
.usermenu__item:hover{background:var(--surface);color:var(--cel);}
.btn-login{padding:8px 16px;border-radius:9px;background:var(--cel);color:#04202d;border:0;font-weight:700;font-family:var(--f-body);font-size:.82rem;}
.btn-login:hover{background:var(--cel-light);}
/* Botón "Volver al panel admin" visible solo cuando hay sesión admin */
#userArea{display:flex;align-items:center;gap:8px;}
.nav-toggle{display:none;background:transparent;border:0;color:var(--cel);padding:6px;border-radius:10px;line-height:0;}
.nav-toggle svg{width:26px;height:26px;display:block;}
.nav-toggle svg line{transition:transform .22s ease,opacity .18s ease;transform-origin:center;}
.top.nav-open .nt-l1{transform:translateY(6px) rotate(45deg);}
.top.nav-open .nt-l2{opacity:0;}
.top.nav-open .nt-l3{transform:translateY(-6px) rotate(-45deg);}
.btn-admin{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:9px;
  background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#1a0e00;font-weight:700;font-size:.82rem;
  text-decoration:none;font-family:var(--f-body);
  box-shadow:0 0 0 1px rgba(251,191,36,.4),0 4px 12px rgba(251,191,36,.25);
  transition:transform .15s;}
.btn-admin:hover{transform:translateY(-1px);box-shadow:0 0 0 1px rgba(251,191,36,.6),0 6px 16px rgba(251,191,36,.35);}

/* VIEWS */
.view{display:none;animation:fade .4s;}
.view.active{display:block;}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* H1 oculto (vive en el logo, pero lo necesitamos para SEO) */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* ─── TICKER EN VIVO (tipo Bloomberg) ─── */
.ticker{display:flex;align-items:stretch;background:var(--bg2);border:1px solid var(--line);
  border-radius:13px;overflow:hidden;margin:18px 0 0;}
.ticker__tag{display:flex;align-items:center;gap:7px;padding:0 15px;background:var(--bg2);
  border-right:1px solid var(--line2);font-family:var(--f-mono);font-size:.62rem;letter-spacing:1.6px;
  color:var(--cel);white-space:nowrap;flex:0 0 auto;font-weight:700;}
.ticker__tag::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--magenta);
  box-shadow:0 0 8px var(--magenta);animation:pulse 1.5s infinite;}
.ticker__viewport{overflow:hidden;flex:1;display:flex;align-items:center;min-width:0;}
.ticker__track{display:inline-flex;white-space:nowrap;will-change:transform;
  animation:tickerscroll 44s linear infinite;}
.ticker:hover .ticker__track{animation-play-state:paused;}
.ticker__it{display:inline-flex;align-items:center;gap:7px;padding:11px 26px;font-size:.82rem;
  color:var(--dim);border-right:1px solid var(--line);}
.ticker__it b{color:var(--txt);font-weight:600;}
.ticker__it .c{color:var(--cel);}
.ticker__it .m{color:var(--magenta);}
.ticker__it .g{color:var(--gold);}
@keyframes tickerscroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ticker__track{animation:none;}}

/* ─── HOME — grid protagonista: stats+provincias | mapa | feed ─── */
.home-grid{display:grid;grid-template-columns:248px minmax(0,1fr) 232px;gap:20px;
  align-items:start;margin:18px 0 50px;}
.home-col{display:flex;flex-direction:column;gap:12px;min-width:0;}
.home-map{min-width:0;}
/* CTA arriba del mapa con brillo que recorre la frase */
.mapbox__cta{display:flex;align-items:center;justify-content:center;gap:9px;margin:0 0 16px;}
.mapbox__cta-pin{font-size:1.05rem;animation:ctaBounce 1.8s ease-in-out infinite;}
@keyframes ctaBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
.mapbox__cta-txt{position:relative;font-family:var(--f-disp);font-weight:700;font-size:1.05rem;
  letter-spacing:-.2px;color:var(--dim);
  background:linear-gradient(100deg,var(--dim) 0%,var(--dim) 38%,#fff 50%,var(--cel) 56%,var(--dim) 68%,var(--dim) 100%);
  background-size:220% 100%;-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;animation:ctaShimmer 3.2s linear infinite;}
@keyframes ctaShimmer{0%{background-position:160% 0}100%{background-position:-60% 0}}
@media (prefers-reduced-motion:reduce){
  .mapbox__cta-pin,.mapbox__cta-txt{animation:none;}
  .mapbox__cta-txt{color:var(--cel);-webkit-text-fill-color:var(--cel);}
}

/* Stats laterales (cards) */
.side-stats{display:flex;flex-direction:column;gap:14px;width:100%;}
.stat-card{background:linear-gradient(180deg,var(--surface),rgba(20,26,37,.6));border:1px solid var(--line);
  border-radius:14px;padding:14px 16px;position:relative;overflow:hidden;}
.stat-card::before{content:"";position:absolute;top:14px;right:14px;width:6px;height:6px;border-radius:50%;
  background:var(--cel);box-shadow:0 0 8px var(--cel);animation:pulse 1.8s infinite;}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
.stat-card .lbl{font-family:var(--f-mono);font-size:.58rem;letter-spacing:1.4px;text-transform:uppercase;color:var(--dim);}
.stat-card .val{font-family:var(--f-disp);font-weight:800;font-size:1.65rem;letter-spacing:-.8px;margin-top:6px;line-height:1;color:var(--cel);}
.stat-card.gold .val{color:var(--gold);}
.stat-card.amber .val{color:var(--amber);}
.stat-card.magenta .val{color:var(--magenta);}
.stat-card.magenta::before{background:var(--magenta);box-shadow:0 0 8px var(--magenta);}
.stat-card .sub{font-family:var(--f-mono);font-size:.62rem;color:var(--dim2);margin-top:4px;}
.stat-card .sub b{color:var(--cel);font-weight:400;}

.live-mini{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px;}
.live-mini .h{display:flex;align-items:center;gap:6px;font-family:var(--f-mono);font-size:.58rem;letter-spacing:1.4px;
  text-transform:uppercase;color:var(--magenta);margin-bottom:8px;}
.live-mini .h::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--magenta);
  box-shadow:0 0 8px var(--magenta);animation:pulse 1.5s infinite;}
.live-feed{display:flex;flex-direction:column;gap:7px;font-size:.74rem;color:var(--dim);line-height:1.4;}
.live-feed .item{padding:6px 0;border-top:1px dashed var(--line);}
.live-feed .item:first-child{border-top:0;padding-top:0;}
.live-feed .item b{color:var(--txt);font-weight:600;}
.live-feed .item .who{color:var(--cel);}
.live-feed .item .when{font-family:var(--f-mono);font-size:.6rem;color:var(--dim2);display:block;margin-top:1px;}

/* Widget "Dónde se mueve el censo" (provincias/zonas más activas) */
.zone-mini{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px;}
.zone-mini .h{display:flex;align-items:center;gap:6px;font-family:var(--f-mono);font-size:.58rem;letter-spacing:1.4px;
  text-transform:uppercase;color:var(--dim);margin-bottom:10px;}
.zone-list{display:flex;flex-direction:column;gap:8px;}
.zone-row{display:flex;align-items:center;gap:9px;font-size:.74rem;color:var(--dim);line-height:1.3;
  padding:6px 0;border-top:1px dashed var(--line);}
.zone-row:first-child{border-top:0;padding-top:0;}
.zone-row .rank{font-family:var(--f-disp);font-weight:700;font-size:.9rem;color:var(--cel);
  min-width:18px;text-align:center;}
.zone-row .zinfo{flex:1;min-width:0;}
.zone-row .zname{color:var(--txt);font-weight:600;display:block;}
.zone-row .zteam{color:var(--cel);font-size:.66rem;}
.zone-row .zbar{height:4px;border-radius:3px;background:var(--surface2);margin-top:4px;overflow:hidden;}
.zone-row .zbar i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,var(--cel),var(--gold));
  width:0;transition:width .9s cubic-bezier(.22,.9,.27,1);}

/* MAPA */
.mapbox{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:20px;position:relative;
  display:flex;flex-direction:column;align-items:center;}
.armap{width:auto;max-width:100%;height:auto;max-height:560px;display:block;margin:0 auto;}

/* Realce temporal del mapa cuando guiamos al usuario a elegir provincia */
.mapbox--ping{animation:mapPing 1.1s ease-out 2;}
@keyframes mapPing{
  0%{box-shadow:0 0 0 0 rgba(52,201,255,.5);border-color:var(--cel);}
  70%{box-shadow:0 0 0 14px rgba(52,201,255,0);border-color:var(--cel);}
  100%{box-shadow:0 0 0 0 rgba(52,201,255,0);}
}
.armap path{fill:#222a3a;stroke:#3a4660;stroke-width:1;cursor:pointer;transition:fill .18s,stroke .18s;}
.armap path:hover{fill:var(--cel-light);stroke:var(--cel);}
.armap path.sel{fill:var(--cel);stroke:var(--cel-light);}
.map-tip{position:fixed;pointer-events:none;background:var(--bg2);border:1px solid var(--line2);border-radius:9px;
  padding:7px 12px;font-size:.8rem;font-weight:600;z-index:99;display:none;box-shadow:0 8px 24px rgba(0,0,0,.5);}
.map-tip .mono{display:block;font-size:.66rem;color:var(--dim);font-weight:400;}

.mapside{position:sticky;top:90px;display:flex;flex-direction:column;gap:16px;}
.mapside h3{font-family:var(--f-disp);font-weight:800;font-size:1.4rem;letter-spacing:-.5px;}
.mapside .hint{color:var(--dim);font-size:.92rem;}
.prov-search{display:flex;align-items:center;gap:9px;background:var(--bg2);border:1px solid var(--line);border-radius:11px;padding:11px 14px;}
.prov-search input{background:none;border:0;outline:none;color:var(--txt);font-family:var(--f-body);font-size:.92rem;width:100%;}
.prov-list{display:flex;flex-direction:column;gap:5px;max-height:380px;overflow-y:auto;padding-right:4px;}
.prov-list::-webkit-scrollbar{width:5px;}
.prov-list::-webkit-scrollbar-thumb{background:var(--line2);border-radius:6px;}
.prov-item{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;border-radius:10px;
  background:var(--surface);border:1px solid var(--line);cursor:pointer;transition:.16s;font-size:.9rem;font-weight:600;}
.prov-item:hover{border-color:var(--line2);background:var(--surface2);}
.prov-item .ar{color:var(--cel);opacity:0;transition:.16s;}
.prov-item:hover .ar{opacity:1;}

/* MODAL */
.overlay{position:fixed;inset:0;background:rgba(4,6,10,.82);backdrop-filter:blur(6px);z-index:100;
  display:none;align-items:center;justify-content:center;padding:20px;}
.overlay.open{display:flex;}
.modal{width:100%;max-width:440px;background:var(--bg2);border:1px solid var(--line2);border-radius:22px;overflow:hidden;animation:pop .3s;}
@keyframes pop{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:none}}

/* ─── MODAL GRACIAS POR VOTAR ─── */
.thanks-modal{position:relative;width:100%;max-width:420px;background:var(--bg2);
  border:1px solid var(--line2);border-radius:24px;padding:38px 30px 26px;text-align:center;
  animation:thanksPop .42s cubic-bezier(.18,.9,.3,1.2);overflow:hidden;}
@keyframes thanksPop{0%{opacity:0;transform:scale(.85) translateY(10px)}100%{opacity:1;transform:none}}
.thanks-modal__burst{position:absolute;top:-40%;left:50%;width:340px;height:340px;transform:translateX(-50%);
  background:radial-gradient(circle,rgba(52,201,255,.22),transparent 65%);pointer-events:none;}
.thanks-modal__crest{position:relative;width:104px;height:104px;margin:0 auto 8px;border-radius:50%;
  background:var(--surface);border:1px solid var(--line2);display:flex;align-items:center;justify-content:center;
  box-shadow:0 0 0 6px rgba(52,201,255,.08),0 8px 30px rgba(0,0,0,.4);animation:crestIn .5s .1s both;}
@keyframes crestIn{0%{transform:scale(.5);opacity:0}100%{transform:scale(1);opacity:1}}
.thanks-modal__crest .crest-img{width:74px;height:74px;object-fit:contain;}
.thanks-modal__crest .crest-fallback{font-size:2rem;color:var(--dim);}
.thanks-modal__check{position:relative;width:34px;height:34px;margin:-26px auto 14px;border-radius:50%;
  background:var(--cel);color:#04202d;font-weight:800;font-size:1.1rem;display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 14px rgba(52,201,255,.45);border:3px solid var(--bg2);animation:crestIn .4s .25s both;}
.thanks-modal h2{position:relative;font-family:var(--f-disp);font-weight:800;font-size:1.7rem;margin:0 0 8px;}
.thanks-modal p{position:relative;color:var(--dim);font-size:.95rem;line-height:1.5;margin:0 0 22px;}
.thanks-modal p b{color:var(--txt);}
.thanks-modal .btn-primary{position:relative;width:100%;margin-bottom:10px;}
.thanks-modal__close{position:relative;background:none;border:none;color:var(--dim);font-size:.85rem;cursor:pointer;
  padding:6px;font-family:var(--f-body);}
.thanks-modal__close:hover{color:var(--txt);}
/* Bloque de compartir (invitar a un amigo) */
.share-block{margin:0 0 20px;}
.share-block__lbl{font-family:var(--f-mono);font-size:.62rem;letter-spacing:1.4px;text-transform:uppercase;
  color:var(--dim2);margin-bottom:12px;}
.share-row{display:flex;gap:10px;justify-content:center;}
.share-btn{width:48px;height:48px;border-radius:14px;border:1px solid var(--line2);background:var(--surface);
  color:var(--txt);display:flex;align-items:center;justify-content:center;cursor:pointer;
  transition:transform .15s,box-shadow .15s,background .15s;}
.share-btn:hover{transform:translateY(-2px);}
.share-btn.wa:hover{background:#25d366;color:#fff;box-shadow:0 6px 16px rgba(37,211,102,.4);}
.share-btn.fb:hover{background:#1877f2;color:#fff;box-shadow:0 6px 16px rgba(24,119,242,.4);}
.share-btn.ig:hover{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);color:#fff;
  box-shadow:0 6px 16px rgba(220,39,67,.4);}
.share-btn.cp:hover{background:var(--cel);color:#04202d;box-shadow:0 6px 16px rgba(52,201,255,.4);}
.share-btn.copied{background:var(--cel);color:#04202d;}
.modal__h{padding:24px 26px 0;}
.modal__steps{display:flex;gap:6px;margin-bottom:18px;}
.modal__steps i{height:4px;flex:1;border-radius:3px;background:var(--surface2);transition:.3s;}
.modal__steps i.on{background:var(--cel);}
.modal__prov{display:inline-flex;align-items:center;gap:7px;font-family:var(--f-mono);font-size:.7rem;color:var(--cel);
  background:rgba(52,201,255,.1);padding:5px 11px;border-radius:20px;margin-bottom:12px;}
.modal h2{font-family:var(--f-disp);font-weight:800;font-size:1.5rem;letter-spacing:-.5px;}
.modal p.sub{color:var(--dim);font-size:.9rem;margin-top:5px;}
.modal__b{padding:20px 26px 26px;}
.modal__error{background:rgba(255,77,141,.10);border:1px solid rgba(255,77,141,.35);color:#ffabc6;
  padding:10px 14px;border-radius:10px;font-size:.84rem;margin-bottom:12px;display:none;}
.modal__error.show{display:block;}
.field{margin-bottom:14px;}
.field label{display:block;font-size:.78rem;color:var(--dim);margin-bottom:6px;font-weight:600;}
.field input{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:13px 15px;
  color:var(--txt);font-family:var(--f-body);font-size:.95rem;outline:none;transition:.16s;}
.field input:focus{border-color:var(--cel);}
/* Wrapper + ojito para mostrar/ocultar contraseña */
.pass-wrap{position:relative;}
.pass-wrap input{width:100%;padding-right:46px;}
.pass-eye{position:absolute;top:50%;right:8px;transform:translateY(-50%);background:none;border:0;cursor:pointer;
  display:flex;align-items:center;justify-content:center;padding:6px;border-radius:8px;color:var(--cel);opacity:.7;
  transition:opacity .15s,background .15s;}
.pass-eye:hover{opacity:1;background:var(--surface2);}
.pass-eye.on{opacity:1;color:var(--cel-light);}
.btn-primary{width:100%;padding:14px;border-radius:12px;background:var(--cel);color:#04202d;border:0;cursor:pointer;
  font-family:var(--f-body);font-weight:700;font-size:.98rem;transition:.16s;}
.btn-primary:hover{background:var(--cel-light);}
.btn-primary:disabled{opacity:.6;cursor:not-allowed;}
.modal__foot{text-align:center;font-size:.82rem;color:var(--dim);margin-top:14px;}
.modal__foot a{color:var(--cel);cursor:pointer;text-decoration:underline;}

/* ESCUDOS de equipo (PNG + fallback iniciales) */
.crest-img{
  display:block;
  width:100%;height:100%;
  object-fit:contain;
  /* Sombra sutil para que se vea bien sobre cualquier fondo */
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.4));
}
.crest-fallback{
  display:flex;align-items:center;justify-content:center;
  width:100%;height:100%;
  font-family:var(--f-disp);font-weight:800;
  color:var(--txt);
}

/* VOTE */
.votehead{text-align:center;padding:34px 0 8px;}
.votehead .prov-badge{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-mono);font-size:.72rem;
  color:var(--cel);background:rgba(52,201,255,.1);padding:6px 14px;border-radius:20px;margin-bottom:14px;}
.votehead h2{font-family:var(--f-disp);font-weight:800;font-size:2.1rem;letter-spacing:-1px;}
.votehead p{color:var(--dim);margin-top:6px;}
.team-search{max-width:480px;margin:24px auto 0;}
.teamgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px;margin:26px 0 44px;}
.teamopt{background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:24px 14px 20px;text-align:center;
  cursor:pointer;transition:.18s;
  display:flex !important;
  flex-direction:column !important;
  align-items:center;
  justify-content:flex-start;
  min-height:220px;}
.teamopt:hover{border-color:var(--cel);transform:translateY(-4px);background:var(--surface2);}
.teamopt .crest{
  width:80px !important;
  height:80px !important;
  max-width:80px !important;
  max-height:80px !important;
  min-width:80px !important;
  min-height:80px !important;
  display:grid;place-items:center;
  flex-shrink:0 !important;
  flex-grow:0 !important;
  margin:0 auto 22px auto !important;
  overflow:hidden !important;
}
.teamopt .crest img,
.teamopt .crest img.crest-img{
  width:80px !important;
  height:80px !important;
  max-width:80px !important;
  max-height:80px !important;
  min-width:0 !important;
  min-height:0 !important;
  object-fit:contain !important;
  filter:drop-shadow(0 3px 8px rgba(0,0,0,.55)) !important;
  display:block !important;
}
.teamopt .crest .crest-fallback{
  width:64px;height:64px;border-radius:50%;
  background:radial-gradient(circle at 50% 35%,rgba(255,255,255,.08),transparent 70%);
  border:2px solid var(--line2);
  display:grid;place-items:center;
  font-family:var(--f-disp);font-weight:800;color:var(--txt);font-size:1.15rem;
}
.teamopt .nm{font-family:var(--f-disp);font-weight:700;font-size:.92rem;line-height:1.25;
  flex:1;display:flex;align-items:flex-start;justify-content:center;text-align:center;
  width:100%;word-wrap:break-word;}
.teamopt .cat{font-family:var(--f-mono);font-size:.6rem;color:var(--dim2);margin-top:4px;}
/* Tarjeta "Ver más equipos" */
.teamopt--more{border-style:dashed;opacity:.85;}
.teamopt--more:hover{opacity:1;}
.teamopt .crest--more{
  width:84px;height:84px;margin:0 auto 12px;border-radius:50%;
  display:grid;place-items:center;
  background:radial-gradient(circle at 50% 35%,rgba(52,201,255,.10),transparent 70%);
  border:2px dashed var(--line2);
  font-family:var(--f-disp);font-weight:800;font-size:2.6rem;color:var(--cel);
}

/* RESULTS — bloqueo elegante para usuarios que no votaron aún */
.results-lock{display:flex;align-items:center;justify-content:center;min-height:540px;padding:30px 20px;}
.results-lock__inner{max-width:480px;text-align:center;
  background:linear-gradient(180deg,var(--surface),var(--bg2));
  border:1px solid var(--line2);border-radius:22px;padding:48px 36px;
  box-shadow:0 20px 60px rgba(0,0,0,.4);}
.results-lock__icon{width:96px;height:96px;margin:0 auto 22px;display:grid;place-items:center;
  background:radial-gradient(circle at 50% 35%,rgba(52,201,255,.18),transparent 70%);
  border:2px solid var(--cel);border-radius:50%;color:var(--cel);
  box-shadow:0 0 30px rgba(52,201,255,.25);}
.results-lock h2{font-family:var(--f-disp);font-weight:800;font-size:1.8rem;letter-spacing:-.8px;margin-bottom:14px;}
.results-lock p{color:var(--dim);font-size:1rem;line-height:1.6;margin-bottom:24px;}
.results-lock p b{color:var(--cel);font-weight:600;}
.results-lock .btn-primary{display:inline-flex;align-items:center;gap:6px;padding:14px 28px;font-size:1rem;
  border-radius:11px;background:linear-gradient(135deg,var(--cel),var(--cel-d));color:#04202d;
  font-weight:700;border:0;cursor:pointer;font-family:var(--f-body);
  box-shadow:0 6px 18px rgba(52,201,255,.3);transition:.15s;}
.results-lock .btn-primary:hover{transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(52,201,255,.5);
  background:linear-gradient(135deg,var(--cel-light),var(--cel));}

/* RESULTS */
.reshead{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:32px 0 4px;}
.reshead h2{font-family:var(--f-disp);font-weight:800;font-size:2rem;letter-spacing:-1px;}
.reshead .scope{display:flex;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:4px;}
.reshead .scope button{padding:9px 16px;border-radius:8px;background:none;border:0;color:var(--dim);font-family:var(--f-body);
  font-weight:600;font-size:.85rem;cursor:pointer;transition:.16s;}
.reshead .scope button.on{background:var(--cel);color:#04202d;}
.confirm-banner{display:flex;align-items:center;gap:12px;background:rgba(52,201,255,.08);border:1px solid var(--line2);
  border-radius:13px;padding:14px 18px;margin:18px 0;font-size:.92rem;}
.confirm-banner .ic{width:34px;height:34px;border-radius:50%;background:var(--cel);color:#04202d;display:grid;
  place-items:center;font-size:1rem;flex:0 0 auto;}
.ranktable{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow-y:auto;overflow-x:hidden;margin:14px 0 40px;max-height:680px;}
.rankrow{display:grid;grid-template-columns:44px 1fr 140px 90px;align-items:center;gap:14px;padding:14px 20px;
  border-bottom:1px solid var(--line);transition:.16s;}
.rankrow:last-child{border-bottom:0;}
.rankrow:hover{background:var(--surface2);}
.rankrow.mine{background:rgba(52,201,255,.06);}
.rankrow .pos{font-family:var(--f-disp);font-weight:800;font-size:1.15rem;color:var(--dim2);text-align:center;}
.rankrow:nth-child(1) .pos{color:var(--cel);}
.rankrow:nth-child(2) .pos{color:var(--cel-light);}
.rankrow:nth-child(3) .pos{color:var(--amber);}
.rankrow .team{display:flex;align-items:center;gap:12px;min-width:0;}
.rankrow .crest{width:42px;height:42px;display:grid;place-items:center;
  font-size:.92rem;flex:0 0 auto;font-weight:700;}
.rankrow .crest img.crest-img{width:100%;height:100%;object-fit:contain;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.4));}
.rankrow .crest:has(.crest-fallback){
  background:var(--surface2);border-radius:50%;padding:5px;}
.rankrow .nm{font-weight:600;font-size:.96rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.rankrow .nm .tag{font-family:var(--f-mono);font-size:.58rem;color:var(--cel);margin-left:8px;}
.rankrow .bar{height:8px;border-radius:5px;background:var(--surface2);overflow:hidden;}
.rankrow .bar i{display:block;height:100%;background:linear-gradient(90deg,var(--cel-d),var(--cel));border-radius:5px;}
.rankrow .pct{font-family:var(--f-mono);font-weight:700;font-size:1rem;text-align:right;}
.rankrow .votes{font-family:var(--f-mono);font-size:.62rem;color:var(--dim2);text-align:right;}

/* DESGLOSE */
.desglose{display:grid;grid-template-columns:1fr 380px;gap:28px;align-items:start;margin:18px 0 44px;}
.deskpanel{position:sticky;top:90px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
.deskpanel__h{padding:18px 20px;border-bottom:1px solid var(--line);}
.deskpanel__h .prov{font-family:var(--f-disp);font-weight:800;font-size:1.4rem;letter-spacing:-.5px;}
.deskpanel__h .meta{font-family:var(--f-mono);font-size:.68rem;color:var(--dim);margin-top:3px;}
.deskpanel__empty{padding:50px 24px;text-align:center;color:var(--dim);}
.deskpanel__empty .em{font-size:2.4rem;display:block;margin-bottom:12px;opacity:.5;}
.deskrow{display:grid;grid-template-columns:26px 1fr 54px;align-items:center;gap:11px;padding:11px 20px;
  border-bottom:1px solid var(--line);font-size:.88rem;}
.deskrow:last-child{border-bottom:0;}
.deskrow .pos{font-family:var(--f-disp);font-weight:800;color:var(--dim2);text-align:center;font-size:.92rem;}
.deskrow .top{color:var(--cel);}
.deskrow .nm{font-weight:600;display:flex;align-items:center;gap:8px;}
.deskrow .crest{width:30px;height:30px;display:grid;place-items:center;
  font-size:.7rem;font-weight:700;}
.deskrow .crest img.crest-img{width:100%;height:100%;object-fit:contain;
  filter:drop-shadow(0 1px 3px rgba(0,0,0,.4));}
.deskrow .crest:has(.crest-fallback){
  background:var(--surface2);border-radius:50%;padding:3px;}
.deskrow .pct{font-family:var(--f-mono);font-weight:700;text-align:right;font-size:.9rem;color:var(--cel);}

/* DUELOS */
.duelos-head{text-align:center;padding:28px 0 8px;}
.duelos-head h2{font-family:var(--f-disp);font-weight:800;font-size:2.4rem;letter-spacing:-1.2px;}
.duelos-head p{color:var(--dim);max-width:520px;margin:10px auto 0;}
.duelos-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin:34px 0 50px;}
.duelo-card{background:linear-gradient(180deg,var(--surface),var(--bg2));border:1px solid var(--line);
  border-radius:18px;padding:22px 22px 20px;transition:.2s;position:relative;overflow:hidden;}
.duelo-card:hover{border-color:var(--line2);transform:translateY(-3px);}
.duelo-card__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;}
.duelo-card__tag{font-family:var(--f-mono);font-size:.62rem;letter-spacing:1.8px;text-transform:uppercase;color:var(--dim);}
.duelo-card__name{font-family:var(--f-disp);font-weight:800;font-size:1.08rem;letter-spacing:-.3px;}
.duelo-card__votes{font-family:var(--f-mono);font-size:.62rem;color:var(--dim2);}
.duelo-versus{display:grid;grid-template-columns:1fr 50px 1fr;align-items:start;gap:6px;}
.duelo-team{text-align:center;cursor:pointer;padding:18px 10px;border-radius:14px;border:2px solid transparent;transition:.2s;}
.duelo-team:hover{background:var(--surface2);}
.duelo-card.voted .duelo-team{cursor:default;opacity:.55;transition:.4s;}
.duelo-card.voted .duelo-team.win{opacity:1;border-color:currentColor;}
.duelo-team__crest{width:96px;height:96px;margin:0 auto 18px;display:grid;place-items:center;
  font-size:1.5rem;font-weight:700;transition:.2s;color:var(--txt);}
.duelo-team__crest img.crest-img{width:100%;height:100%;object-fit:contain;
  filter:drop-shadow(0 5px 12px rgba(0,0,0,.55));}
.duelo-team__crest:has(.crest-fallback){
  background:radial-gradient(circle at 50% 35%,rgba(255,255,255,.10),transparent 70%);
  border:2px solid;border-radius:50%;padding:14px;}
/* En estado "voted", el escudo ganador tiene un glow ligero del color del equipo */
.duelo-card.voted .duelo-team.win .duelo-team__crest img{
  filter:drop-shadow(0 0 16px currentColor) drop-shadow(0 5px 12px rgba(0,0,0,.55));}
.duelo-team__name{font-family:var(--f-disp);font-weight:700;font-size:.98rem;letter-spacing:-.3px;color:var(--txt);line-height:1.25;}
.duelo-vs{font-family:var(--f-disp);font-weight:800;font-size:.95rem;color:var(--dim2);text-align:center;
  background:var(--bg);width:42px;height:42px;border-radius:50%;border:1px solid var(--line);
  display:grid;place-items:center;margin:32px auto 0;}
.duelo-bar{margin-top:18px;height:42px;border-radius:11px;background:var(--surface2);overflow:hidden;
  display:flex;position:relative;}
.duelo-bar.pre{align-items:center;justify-content:center;color:var(--dim);font-family:var(--f-mono);
  font-size:.72rem;letter-spacing:1.2px;text-transform:uppercase;}
.duelo-bar__fill{height:100%;display:flex;align-items:center;color:#fff;
  font-family:var(--f-mono);font-weight:700;font-size:.9rem;
  /* arranca siempre en 50% y anima al destino */
  width:50%;
  transition:width 1.1s cubic-bezier(.22,.9,.27,1), padding 1.1s cubic-bezier(.22,.9,.27,1);
  text-shadow:0 1px 2px rgba(0,0,0,.4);
  position:relative;overflow:hidden;white-space:nowrap;
  box-sizing:border-box;}
.duelo-bar__fill.l{justify-content:flex-start;padding-left:14px;}
.duelo-bar__fill.r{justify-content:flex-end;padding-right:14px;}
.duelo-bar__fill.dim{opacity:.45;}
/* Cuando un lado queda en 0%, sacamos el padding para que realmente desaparezca */
.duelo-bar__fill.zero{padding:0;}
/* Brillo sutil tipo shine al final de la animación del ganador */
.duelo-bar__fill::after{
  content:"";position:absolute;top:0;bottom:0;width:60px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);
  transform:translateX(-200%);
}
.duelo-card.voted .duelo-bar__fill:not(.dim)::after{
  animation:shine 1.6s ease-out .6s 1;
}
@keyframes shine{
  to{transform:translateX(200%);}
}

.foot{border-top:1px solid var(--line);margin-top:40px;padding:24px 0;text-align:center;color:var(--dim2);
  font-family:var(--f-mono);font-size:.72rem;}
.foot b{color:var(--cel);}

/* RESPONSIVE */
/* Pantallas medianas/chicas: una sola columna, MAPA arriba (protagonista) */
@media (max-width:1120px){
  .home-grid{grid-template-columns:1fr;gap:16px;}
  .home-map{order:1;}
  .home-col--left{order:2;flex-direction:row;flex-wrap:wrap;}
  .home-col--right{order:3;flex-direction:row;flex-wrap:wrap;}
  .home-col--left .stat-card,
  .home-col--right .stat-card{flex:1 1 150px;}
  .home-col--left .prov-search,
  .home-col--left .prov-list,
  .home-col--right .live-mini,
  .home-col--right .zone-mini{flex:1 1 100%;}
  .armap{max-height:480px;}
  .prov-list{max-height:260px;}
}
@media (max-width:900px){
  .logo{margin-right:auto;}
  .nav-toggle{display:block;}
  .nav{
    position:absolute;top:100%;left:0;right:0;
    flex-direction:column;flex:none;gap:4px;align-items:stretch;
    background:var(--bg2);border-bottom:1px solid var(--line2);
    box-shadow:0 18px 40px rgba(0,0,0,.5);
    max-height:0;opacity:0;overflow:hidden;pointer-events:none;padding:0 14px;
    transition:max-height .26s ease,opacity .2s ease,padding .26s ease;
  }
  .top.nav-open .nav{max-height:340px;opacity:1;pointer-events:auto;padding:10px 14px 14px;}
  .nav a{font-size:1rem;padding:12px 14px;}
  .maparea{grid-template-columns:1fr;}
  .mapside{position:static;}
  .desglose{grid-template-columns:1fr;}
  .deskpanel{position:static;}
  .hero h1{font-size:2.1rem;}
  .rankrow{grid-template-columns:32px 1fr 70px;}
  .rankrow .bar{display:none;}
  .duelos-grid{grid-template-columns:1fr;}
  .duelos-head h2{font-size:1.7rem;}
}