/* =========================================================================
   EU VOTO 44200 — estilos da página /euvoto
   Reaproveita tokens, botões e o layout da moldura do style.css.
   ========================================================================= */

.ev{ background:var(--nevoa); }

/* Cabeçalho simples: logo e volta para o site */
.ev-hdr{ background:var(--roxo-700); }
.ev-hdr__inner{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  min-height:var(--hdr-h);
}
.ev-hdr__brand{ display:flex; align-items:center; min-height:44px; }
.ev-hdr__brand img{ width:auto; height:34px; }
.ev-hdr__voltar{
  display:inline-flex; align-items:center; min-height:44px; padding:0 4px;
  color:#fff; text-decoration:none;
  font-family:var(--ff-display); font-weight:700; font-size:.92rem;
}
.ev-hdr__voltar::before{ content:"←"; margin-right:8px; color:var(--amarelo); }

.ev-sec{ padding-top:40px; }

/* Palco no formato do cartaz (2:3) */
/* Sem foto, o toque no palco rola a página normalmente; com foto, o toque
   serve para arrastar a imagem. */
.ev-stage{ --ar:2 / 3; max-width:460px; width:100%; margin-inline:auto; cursor:default; touch-action:pan-y; }
.ev-stage.tem-foto{ cursor:grab; touch-action:none; }
.ev-stage.tem-foto:active{ cursor:grabbing; }

/* Campos do painel */
.ev-campo{ display:grid; gap:8px; }
.ev-campo > label,
.ev-campo__rotulo{
  font-family:var(--ff-display); font-weight:700; font-size:.8rem;
  text-transform:uppercase; letter-spacing:.1em; color:var(--roxo);
}
.ev-campo > label span{ text-transform:none; letter-spacing:0; font-weight:600; color:var(--tinta-60); }
.ev-campo input[type="text"]{
  width:100%; min-height:52px; padding:12px 16px;
  font:600 1.05rem var(--ff-body); color:var(--roxo-900);
  background:#fff; border:2px solid var(--linha); border-radius:var(--r);
  transition:border-color .2s ease, box-shadow .2s ease;
}
.ev-campo input[type="text"]:focus{
  outline:none; border-color:var(--magenta);
  box-shadow:0 0 0 4px rgba(196,54,140,.15);
}
.ev-campo--zoom{
  padding:16px; background:#fff; border:1px solid var(--linha); border-radius:var(--r);
}

.btn[disabled]{ opacity:.45; cursor:not-allowed; transform:none; box-shadow:none; }

.ev-aviso{ margin:0; font-size:.88rem; color:var(--tinta-60); min-height:1.4em; }
.ev-rodape-link{ margin:34px 0 0; text-align:center; color:var(--tinta-60); font-size:.95rem; }
.ev-rodape-link a{ color:var(--magenta-600); font-weight:600; }

.ev-ft{ padding-top:10px; }
.ev-ft .ft__legal{ padding-bottom:34px; }

@media (min-width:700px){
  .ev-app{ grid-template-columns:1fr .9fr; align-items:start; }
  .ev-stage{ max-width:none; }
}
