/* ======================================================================
   SJB Consulta Pública — v3.3 Dark Mobile
   Direção visual: mobile-first, azul-marinho profundo, amarelo de ação,
   fotos integrais dos quatro estudantes e alto contraste.
   ====================================================================== */
:root{
  --dm-bg:#020d22;
  --dm-bg-2:#041a3a;
  --dm-panel:#061d40;
  --dm-panel-2:#082955;
  --dm-line:rgba(143,190,255,.18);
  --dm-white:#f7fbff;
  --dm-muted:#aebfd6;
  --dm-blue:#0e82ff;
  --dm-yellow:#ffd11a;
  --dm-red:#ff344b;
  --dm-green:#23c66e;
  --dm-shadow:0 24px 60px rgba(0,0,0,.28);
}

.sjb-vote-page,
.sjb-results-page{background:var(--dm-bg)!important;color:var(--dm-white)}
.sjb-vote-page .campaign-page,
.sjb-results-page .campaign-page{background:var(--dm-bg)!important}

/* Header */
.sjb-vote-page .campaign-header,
.sjb-results-page .campaign-header{
  background:rgba(2,13,34,.9)!important;
  border-bottom:1px solid rgba(255,255,255,.07)!important;
  box-shadow:0 10px 32px rgba(0,0,0,.22)!important;
  backdrop-filter:blur(18px) saturate(1.3);
}
.sjb-vote-page .campaign-brand__mark,
.sjb-results-page .campaign-brand__mark{
  background:transparent!important;
  box-shadow:none!important;
  padding:0!important;
}
.sjb-vote-page .campaign-brand__mark img,
.sjb-results-page .campaign-brand__mark img{
  filter:drop-shadow(0 4px 10px rgba(0,0,0,.16));
}
.sjb-vote-page .campaign-brand__copy small,
.sjb-results-page .campaign-brand__copy small{color:rgba(255,255,255,.78)!important}
.sjb-vote-page .campaign-brand__divider,
.sjb-results-page .campaign-brand__divider{background:rgba(255,255,255,.2)!important}
.sjb-vote-page .campaign-nav a,
.sjb-results-page .campaign-nav a{color:#d9e8ff!important}
.sjb-vote-page .campaign-nav a:hover,
.sjb-vote-page .campaign-nav a.is-active,
.sjb-results-page .campaign-nav a:hover,
.sjb-results-page .campaign-nav a.is-active{background:rgba(255,255,255,.08)!important;color:#fff!important}
.sjb-vote-page .campaign-status.is-open,
.sjb-results-page .campaign-status.is-open{
  color:#aaffca!important;background:rgba(18,172,92,.14)!important;border:1px solid rgba(91,255,165,.22)!important;
}
.sjb-vote-page .campaign-menu-toggle,
.sjb-results-page .campaign-menu-toggle{background:rgba(255,255,255,.07)!important;color:#fff!important;border:1px solid rgba(255,255,255,.09)!important}

/* Hero */
.sjb-vote-page .story-hero{
  background:
    radial-gradient(circle at 82% 22%,rgba(15,118,255,.32),transparent 32%),
    radial-gradient(circle at 5% 74%,rgba(17,79,190,.24),transparent 30%),
    linear-gradient(155deg,#020c20 0%,#03193d 56%,#052b69 100%)!important;
}
.sjb-vote-page .story-hero:before{
  opacity:.22!important;
  filter:saturate(.8) brightness(.55) contrast(1.1);
}
.sjb-vote-page .story-kicker{
  color:#d7e8ff!important;
  background:rgba(9,79,174,.3)!important;
  border:1px solid rgba(79,156,255,.32)!important;
}
.sjb-vote-page .story-kicker:before{background:var(--dm-yellow)!important}
.sjb-vote-page .story-hero h1{color:#fff!important;text-shadow:0 8px 34px rgba(0,0,0,.24)}
.sjb-vote-page .story-hero h1 strong,
.sjb-vote-page .story-hero h1 em{color:var(--dm-yellow)!important}
.sjb-vote-page .story-hero__copy>p{color:#c6d6ea!important}
.sjb-vote-page .story-button--accent{
  background:linear-gradient(135deg,#ffe143,#ffc913)!important;
  color:#081b3d!important;
  box-shadow:0 14px 30px rgba(255,204,0,.16)!important;
}
.sjb-vote-page .story-button--glass{background:rgba(255,255,255,.06)!important;color:#fff!important;border:1px solid rgba(255,255,255,.18)!important}
.sjb-vote-page .story-hero__image-frame img{filter:drop-shadow(0 28px 42px rgba(0,0,0,.38))!important}

/* Models: all dark, each option keeps its own accent */
.sjb-vote-page .story-models{background:var(--dm-bg)!important}
.sjb-vote-page .story-models__intro{background:var(--dm-bg)!important;color:#fff!important}
.sjb-vote-page .story-models__intro h2{color:#fff!important}
.sjb-vote-page .story-models__intro p{color:var(--dm-muted)!important}
.sjb-vote-page .story-scene.campaign-option{
  color:#fff!important;
  background:linear-gradient(160deg,#03152f 0%,#052551 100%)!important;
  border-top:1px solid rgba(255,255,255,.05)!important;
}
.sjb-vote-page .story-scene:before{
  opacity:.15!important;
  filter:brightness(.55) saturate(.8);
}
.sjb-vote-page .story-scene--light.campaign-option{
  background:linear-gradient(160deg,#05182f 0%,#082d5f 100%)!important;
}
.sjb-vote-page .story-scene--navy.campaign-option{
  background:linear-gradient(160deg,#020d22 0%,#061b3d 100%)!important;
}
.sjb-vote-page .story-scene--royal.campaign-option{
  background:linear-gradient(160deg,#03132f 0%,#073d8c 100%)!important;
}
.sjb-vote-page .story-scene__number{color:#7ea9de!important;opacity:.14!important}
.sjb-vote-page .story-scene__eyebrow{color:#9db9dc!important}
.sjb-vote-page .story-scene h3{color:#fff!important}
.sjb-vote-page .story-scene h3::first-line{color:#fff}
.sjb-vote-page .story-scene p{color:#c2d1e5!important;opacity:1!important}
.sjb-vote-page .story-scene__image-wrap{
  background:linear-gradient(145deg,rgba(8,49,102,.72),rgba(5,23,50,.92))!important;
  border:1px solid rgba(115,169,239,.14)!important;
  box-shadow:0 20px 48px rgba(0,0,0,.28)!important;
}
.sjb-vote-page .story-scene__media img{
  object-fit:contain!important;
  object-position:center bottom!important;
}
.sjb-vote-page .story-scene--light .story-scene__button,
.sjb-vote-page .story-scene--navy .story-scene__button,
.sjb-vote-page .story-scene--royal .story-scene__button{
  color:#081a39!important;
  background:linear-gradient(135deg,#ffe143,#ffc914)!important;
  box-shadow:0 14px 26px rgba(255,201,20,.13)!important;
}
.sjb-vote-page .story-scene__check{background:var(--dm-yellow)!important;color:#08204a!important}
.sjb-vote-page .story-model-nav{
  background:rgba(2,13,34,.68)!important;
  border:1px solid rgba(255,255,255,.12)!important;
}
.sjb-vote-page .story-model-nav a{background:rgba(255,255,255,.05)!important;border-color:rgba(255,255,255,.14)!important;color:#c8d9ee!important}
.sjb-vote-page .story-model-nav a.is-active{background:var(--dm-yellow)!important;color:#061832!important;box-shadow:0 8px 22px rgba(255,209,26,.24)!important}

/* Wizard */
.sjb-vote-page .story-wizard{background:var(--dm-bg)!important}
.sjb-vote-page .story-validation.campaign-panel,
.sjb-vote-page .story-confirm.campaign-panel,
.sjb-vote-page .story-success.campaign-panel{
  border:1px solid var(--dm-line)!important;
  box-shadow:var(--dm-shadow)!important;
}
.sjb-vote-page .story-validation.campaign-panel{
  background:linear-gradient(160deg,#03142f 0%,#06285a 100%)!important;
}
.sjb-vote-page .story-validation__icon{color:#9dc8ff!important;border-color:rgba(80,151,255,.22)!important;background:rgba(12,94,210,.16)!important}
.sjb-vote-page .story-validation__heading small{color:#8ebcf7!important}
.sjb-vote-page .story-validation__heading h2{color:#fff!important}
.sjb-vote-page .story-validation__heading p{color:#b9cbe2!important}
.sjb-vote-page .story-cpf-control input{
  background:#071a37!important;color:#fff!important;border:1px solid rgba(138,182,239,.2)!important;
}
.sjb-vote-page .story-cpf-control input::placeholder{color:#6f88a7!important}
.sjb-vote-page .story-cpf-control .story-button--accent{background:var(--dm-yellow)!important;color:#071a37!important}
.sjb-vote-page .story-trust-row span{color:#adc2dc!important;background:rgba(255,255,255,.03)!important;border-color:rgba(255,255,255,.08)!important}
.sjb-vote-page .story-confirm.campaign-panel{background:#04162f!important;color:#fff!important}
.sjb-vote-page .story-confirm h2,.sjb-vote-page .story-confirm p,.sjb-vote-page .story-confirm small{color:inherit!important}
.sjb-vote-page .story-review{background:#071f43!important;border:1px solid rgba(117,167,232,.13)!important}
.sjb-vote-page .story-review img{background:#092958!important;object-fit:contain!important}
.sjb-vote-page .story-confirm .story-button--accent{background:var(--dm-yellow)!important;color:#071a37!important}
.sjb-vote-page .story-success.campaign-panel{background:linear-gradient(155deg,#063d2c,#07583a)!important}

/* Results preview */
.sjb-vote-page .story-results{background:#020d22!important;color:#fff!important}
.sjb-vote-page .story-results__inner{
  background:linear-gradient(160deg,#05182f,#071f42)!important;
  border:1px solid rgba(116,169,237,.13)!important;
  box-shadow:var(--dm-shadow)!important;
}
.sjb-vote-page .story-results h2,.sjb-vote-page .story-results strong{color:#fff!important}
.sjb-vote-page .story-results p,.sjb-vote-page .story-results small{color:#aebfd6!important}
.sjb-vote-page .story-result-row__track{background:#122d50!important}
.sjb-vote-page .story-closing{
  background:linear-gradient(155deg,#03152f 0%,#062a62 100%)!important;
  color:#fff!important;
}
.sjb-vote-page .story-closing h2{color:#fff!important}
.sjb-vote-page .story-closing h2 em{color:var(--dm-yellow)!important}
.sjb-vote-page .story-closing p{color:#bdcde2!important}
.sjb-vote-page .story-closing__wave--back{background:#020b1c!important}
.sjb-vote-page .story-closing__wave--front{background:linear-gradient(90deg,var(--dm-yellow),#ffe25b 40%,var(--dm-red) 40% 58%,#0a54d7 58%)!important}
.sjb-vote-page .campaign-footer{background:#010816!important;border-top:1px solid rgba(255,255,255,.06)!important}
.sjb-vote-page .campaign-footer span,.sjb-vote-page .campaign-footer p{color:#8092aa!important}
.sjb-vote-page .campaign-footer a{color:#fff!important}

/* Results page */
.sjb-results-page .results-page--refined{background:var(--dm-bg)!important;color:#fff!important}
.sjb-results-page .results-head__title h1,
.sjb-results-page .leader-card h2,
.sjb-results-page .ranking-main strong{color:#fff!important}
.sjb-results-page .results-head__title p,
.sjb-results-page .leader-card p,
.sjb-results-page .ranking-main p{color:var(--dm-muted)!important}
.sjb-results-page .leader-card,
.sjb-results-page .ranking-card,
.sjb-results-page .results-head__summary>*{
  background:linear-gradient(160deg,#05182f,#071f42)!important;
  border-color:rgba(116,169,237,.13)!important;
  color:#fff!important;
  box-shadow:var(--dm-shadow)!important;
}
.sjb-results-page .leader-card__info{border-color:rgba(255,255,255,.07)!important}
.sjb-results-page .leader-card__images,
.sjb-results-page .ranking-thumb{background:#092958!important}
.sjb-results-page .leader-photo img,
.sjb-results-page .ranking-thumb img{object-fit:contain!important;background:#092958!important}
.sjb-results-page .ranking-row{border-color:rgba(255,255,255,.06)!important}

/* Mobile is the primary experience */
@media(max-width:719px){
  .sjb-vote-page .campaign-header__inner{min-height:60px!important}
  .sjb-vote-page .campaign-brand__mark{width:120px!important;height:36px!important;flex:0 0 120px!important}
  .sjb-vote-page .campaign-brand__mark img{max-width:118px!important;max-height:34px!important}
  .sjb-vote-page .campaign-status{padding:7px 9px!important;font-size:.6rem!important}
  .sjb-vote-page .campaign-menu-toggle{width:36px!important;height:36px!important}

  .sjb-vote-page .story-hero{min-height:100svh!important;padding-top:60px!important}
  .sjb-vote-page .story-hero__inner{
    min-height:calc(100svh - 60px)!important;
    padding:28px 0 0!important;
  }
  .sjb-vote-page .story-hero h1{
    max-width:94%!important;
    font-size:clamp(2.75rem,12.5vw,4rem)!important;
    line-height:.88!important;
  }
  .sjb-vote-page .story-hero__copy>p{color:#c4d3e6!important;font-size:.9rem!important}
  .sjb-vote-page .story-hero__media{height:min(44svh,430px)!important}
  .sjb-vote-page .story-hero__image-frame img{object-fit:contain!important;object-position:center bottom!important}

  .sjb-vote-page .story-scene.campaign-option{min-height:auto!important;scroll-margin-top:60px!important}
  .sjb-vote-page .story-scene__inner{
    width:calc(100% - 24px)!important;
    min-height:auto!important;
    padding:76px 0 30px!important;
    gap:12px!important;
  }
  .sjb-vote-page .story-scene__copy{padding-right:32px!important}
  .sjb-vote-page .story-scene__number{top:-34px!important;font-size:4.5rem!important}
  .sjb-vote-page .story-scene h3{font-size:clamp(2.35rem,10.8vw,3.3rem)!important;color:#fff!important}
  .sjb-vote-page .story-scene p{font-size:.82rem!important;color:#b9cbe1!important}
  .sjb-vote-page .story-scene__image-wrap{
    aspect-ratio:4/3!important;
    border-radius:22px!important;
    overflow:hidden!important;
  }
  .sjb-vote-page .story-scene__media img{
    width:100%!important;height:100%!important;
    object-fit:contain!important;
    object-position:center bottom!important;
  }
  .sjb-vote-page .story-scene__button.campaign-option__select{min-height:54px!important;font-size:.84rem!important}
  .sjb-vote-page .story-model-nav{right:7px!important;width:35px!important;background:rgba(1,9,24,.7)!important}
  .sjb-vote-page .story-model-nav a{width:29px!important;height:29px!important;min-height:29px!important}

  .sjb-vote-page .story-validation.campaign-panel,
  .sjb-vote-page .story-confirm.campaign-panel,
  .sjb-vote-page .story-success.campaign-panel{
    min-height:100svh!important;border-radius:0!important;border-left:0!important;border-right:0!important;
  }
  .sjb-vote-page .story-validation__content{padding-top:100px!important}

  .sjb-vote-page .story-results{padding:28px 0!important}
  .sjb-vote-page .story-results__inner{width:calc(100% - 22px)!important;border-radius:24px!important}
  .sjb-vote-page .story-closing{padding:58px 0 100px!important}
  .sjb-vote-page .campaign-footer__inner{padding-top:30px!important;padding-bottom:28px!important}
}

@media(min-width:720px){
  .sjb-vote-page .story-scene__image-wrap{background:rgba(5,24,54,.65)!important}
}


/* ======================================================================
   v3.3.2 — hero com foto no topo + texto sobre a imagem
   ====================================================================== */
.sjb-vote-page .story-hero.story-hero--top-photo{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,#04142f 0%,#03122a 100%)!important;
}
.sjb-vote-page .story-hero.story-hero--top-photo .story-hero__photo{
  position:absolute;inset:0;
  background-image:
    linear-gradient(180deg,rgba(3,14,34,.16) 0%, rgba(4,19,48,.42) 18%, rgba(3,18,43,.10) 44%, rgba(2,13,34,.78) 100%),
    linear-gradient(90deg,rgba(2,13,34,.54) 0%, rgba(2,13,34,.24) 36%, rgba(2,13,34,.08) 62%, rgba(2,13,34,.06) 100%),
    var(--hero-photo);
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center bottom;
  filter:saturate(1.08) contrast(1.04) brightness(1.03);
  z-index:0;
}
.sjb-vote-page .story-hero.story-hero--top-photo .story-hero__layer{z-index:1;opacity:.55}
.sjb-vote-page .story-hero.story-hero--top-photo .story-hero__inner{
  position:relative;z-index:2;display:flex;align-items:flex-start;justify-content:flex-start;
}
.sjb-vote-page .story-hero.story-hero--top-photo .story-hero__copy{
  max-width:min(540px,92vw);
  padding-top:8px;
  margin-right:auto;
}
.sjb-vote-page .story-hero.story-hero--top-photo .story-hero__copy h1,
.sjb-vote-page .story-hero.story-hero--top-photo .story-hero__copy p,
.sjb-vote-page .story-hero.story-hero--top-photo .story-kicker{
  text-shadow:0 10px 28px rgba(0,0,0,.26);
}
.sjb-vote-page .story-hero.story-hero--top-photo .story-kicker{
  backdrop-filter:blur(8px);
}
.sjb-vote-page .story-hero.story-hero--top-photo .story-scroll-cue{
  position:relative;z-index:2;
}

@media(max-width:719px){
  .sjb-vote-page .story-hero.story-hero--top-photo{
    min-height:100svh!important;
    padding-top:60px!important;
  }
  .sjb-vote-page .story-hero.story-hero--top-photo .story-hero__photo{
    background-image:
      linear-gradient(180deg,rgba(3,14,34,.08) 0%, rgba(3,18,43,.26) 14%, rgba(3,18,43,.02) 42%, rgba(2,13,34,.68) 100%),
      linear-gradient(90deg,rgba(2,13,34,.46) 0%, rgba(2,13,34,.14) 48%, rgba(2,13,34,.04) 100%),
      var(--hero-photo);
    background-position:center center;
    filter:saturate(1.08) contrast(1.04) brightness(1.03);
  }
  .sjb-vote-page .story-hero.story-hero--top-photo .story-hero__inner{
    min-height:calc(100svh - 60px)!important;
    padding:24px 0 18px!important;
  }
  .sjb-vote-page .story-hero.story-hero--top-photo .story-hero__copy{
    max-width:88%!important;
    padding-top:4px;
    background:linear-gradient(180deg,rgba(4,19,48,.16),rgba(4,19,48,.06) 52%,rgba(4,19,48,0));
    border-radius:22px;
    backdrop-filter:blur(1px);
  }
  .sjb-vote-page .story-hero.story-hero--top-photo .story-kicker{
    margin-bottom:14px!important;
  }
  .sjb-vote-page .story-hero.story-hero--top-photo .story-hero h1{}
  .sjb-vote-page .story-hero.story-hero--top-photo h1{
    max-width:95%!important;
    font-size:clamp(2.1rem,10vw,4rem)!important;
    line-height:1.1!important;
    margin-bottom:14px!important;
  }
  .sjb-vote-page .story-hero.story-hero--top-photo .story-hero__copy>p{
    max-width:84%!important;
    font-size:.95rem!important;
    line-height:1.45!important;
    margin-bottom:18px!important;
  }
  .sjb-vote-page .story-hero.story-hero--top-photo .story-hero__actions{
    gap:10px!important;
  }
  .sjb-vote-page .story-hero.story-hero--top-photo .story-button--accent{
    min-height:56px!important;
    padding:0 24px!important;
  }
  .sjb-vote-page .story-hero.story-hero--top-photo .story-hero__media{display:none!important}
  .sjb-vote-page .story-hero.story-hero--top-photo .story-scroll-cue{
    padding-bottom:10px!important;
  }
}

@media(min-width:720px){
  .sjb-vote-page .story-hero.story-hero--top-photo .story-hero__inner{
    min-height:min(860px,100svh);
    padding:72px 0 48px!important;
  }
  .sjb-vote-page .story-hero.story-hero--top-photo .story-hero__copy{
    max-width:48%;
    padding-top:38px;
  }
  .sjb-vote-page .story-hero.story-hero--top-photo .story-hero__copy>p{max-width:88%}
}
