:root{
  --ni-blue: #1752ff;
  --ni-yellow: #ffb800;
}

/* fundo com leve padrão listrado (como no layout) */
.candidatos-section{
  padding: 72px 0;
  background:
    linear-gradient(180deg, rgba(255,255,255,.9), rgba(255,255,255,.9)),
    repeating-linear-gradient(-45deg, #eef1f5 0 14px, #f5f7fa 14px 28px);
}

/* Botão amarelo (reutiliza o padrão do projeto se existir) */
.candidatos-section .btn-ni-yellow{
  --bs-btn-color:#1f2430;
  --bs-btn-bg:var(--ni-yellow);
  --bs-btn-border-color:var(--ni-yellow);
  --bs-btn-hover-bg:#ffcd47;
  --bs-btn-hover-border-color:#ffcd47;
  font-weight:700;
}

/* Slider */
#candidatosSwiper{ padding: 8px 8px 24px; }

.cand-card{
  display: flex;
  flex-direction: column;
  background:#fff;
  border-radius: 8px;
  box-shadow: 0 12px 22px rgba(10,20,60,.08);
  overflow: hidden;
  height: 100%;
  transition: transform .2s ease, box-shadow .2s ease;
}
.cand-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 16px 28px rgba(10,20,60,.12);
}

.cand-photo{
  aspect-ratio: 4/5;              /* mantém proporção retrato */
  background: #e9ecef center/cover no-repeat var(--bg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.cand-body{ padding: 16px 18px; }
.cand-name{
  font-weight: 800;
  font-size: 1.05rem;
  color: #333;
}
.cand-role{
  color:#6b7380;
  font-size:.95rem;
}

/* Navegação (bolinhas brancas laterais) */
.cand-nav{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  width: 44px; height: 44px;
  border-radius: 50%;
  border: 0;
  background: #fff;
  box-shadow: 0 8px 0px rgba(0,0,0,.12);
  display: grid; place-items: center;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.cand-nav span{ font-weight: 700; font-size: 20px; color:#444; line-height:1; }
.cand-nav:hover{
  transform: translateY(-50%) scale(1.04);
  box-shadow: 0 10px 22px rgba(0,0,0,.16);
}
.cand-prev{ left: -10px; }
.cand-next{ right: -10px; }
@media (min-width: 1400px){
  .cand-prev{ left: -22px; }
  .cand-next{ right: -22px; }
}

/* Texto abaixo e CTA */
.cand-subdesc{
  max-width: 1000px;
  margin: 0 auto 16px;
  font-size: clamp(1rem, 1.3vw, 1.25rem);
  color:#5c6472;
}

/* acessibilidade foco */
.cand-nav:focus-visible{
  outline: 3px solid var(--ni-blue);
  outline-offset: 2px;
}