
:root{
  --pm-navy:#071b38;
  --pm-blue:#1769e8;
  --pm-blue-dark:#0f5ed8;
  --pm-blue-soft:#eaf2ff;
  --pm-green-soft:#e9f7ee;
  --pm-gray-soft:#f1f2f4;
  --pm-text:#111827;
  --pm-muted:#667085;
  --pm-line:#e5e7eb;
  --pm-bg:#f7f9fc;
  --pm-card:#ffffff;
}
html{background:#f7f9fc}
body{
  color:var(--pm-text)!important;
  background:
    radial-gradient(circle at 2% 4%,rgba(23,105,232,.09) 0 2px,transparent 3px) 0 0/24px 24px,
    linear-gradient(180deg,#fff 0%,#fbfcfe 68%,#f5f7fa 100%)!important;
  min-height:100vh;
}
.public-page-wrap{position:relative;overflow:hidden;min-height:100vh;padding-bottom:20px}
.public-decor-left{
  position:absolute;left:-120px;top:-160px;width:430px;height:390px;border-radius:46% 54% 58% 42%;
  background:linear-gradient(135deg,rgba(219,232,250,.8),rgba(246,249,253,.18));transform:rotate(-15deg);pointer-events:none;z-index:0
}
.public-decor-right{
  position:absolute;right:-100px;top:55px;width:430px;height:150px;opacity:.48;pointer-events:none;z-index:0;
  background:repeating-radial-gradient(ellipse at 0 50%,transparent 0 15px,rgba(23,105,232,.14) 16px 17px,transparent 18px 28px)
}
.public-content{position:relative;z-index:1}
.public-hero{text-align:center;max-width:900px;margin:0 auto;padding:46px 20px 20px}
.public-hero h1{font-size:clamp(30px,4vw,48px);line-height:1.08;margin:0;color:#060b14;font-weight:800;letter-spacing:-1px}
.public-hero .accent{width:62px;height:4px;border-radius:99px;background:var(--pm-blue);margin:18px auto}
.public-hero p{margin:0;color:#313741;font-size:16px;line-height:1.55}
.public-hero .eyebrow{display:block;margin-bottom:8px;color:#475467;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.9px}

.public-channel-nav,.channel-switch{
  display:flex!important;justify-content:center!important;gap:8px!important;flex-wrap:wrap!important;
  max-width:1000px!important;margin:4px auto 22px!important;padding:0 14px!important
}
.public-channel-nav a,.channel-switch a{
  display:inline-flex!important;align-items:center!important;min-height:42px!important;padding:9px 15px!important;
  border:1px solid #d9dee6!important;border-radius:999px!important;background:#fff!important;color:#475467!important;
  text-decoration:none!important;font-size:12px!important;font-weight:800!important;box-shadow:0 3px 9px rgba(16,24,40,.035)!important
}
.public-channel-nav a:hover,.channel-switch a:hover{border-color:#9dbce3!important;background:#f8fbff!important;color:#174b86!important}
.public-channel-nav a.active,.channel-switch a.active{
  background:var(--pm-blue)!important;border-color:var(--pm-blue)!important;color:#fff!important;box-shadow:0 5px 14px rgba(23,105,232,.18)!important
}

.shell,.consulta-shell{position:relative!important;z-index:1!important;max-width:1140px!important;margin:0 auto!important;padding-left:18px!important;padding-right:18px!important}
.hero-banner,.consulta-header,.consulta-hero-image{display:none!important}
.benefits{display:none!important}

.form-card,.consulta-card,.consulta-result-card,.consulta-timeline-card,.consulta-help-card{
  border:1px solid #e7eaf0!important;border-radius:17px!important;background:#fff!important;
  box-shadow:0 12px 32px rgba(15,23,42,.07)!important;overflow:hidden
}
.form-card{margin-top:0!important}
.form-top{
  padding:24px 28px!important;border-bottom:1px solid #e9edf2!important;background:linear-gradient(180deg,#fff,#fbfcfd)!important;
  align-items:center!important
}
.form-top h2{font-size:23px!important;color:#111827!important;margin:0 0 6px!important}
.form-top p{color:#667085!important}
.form-top .secure{color:#475467!important;background:#f5f7f9!important;border:1px solid #e5e7eb!important;border-radius:999px!important;padding:8px 11px!important;font-size:10px!important}
.form-body{padding:26px 28px!important}
.section{border-bottom:1px solid #eef1f4!important;padding:0 0 26px!important;margin:0 0 26px!important}
.section:last-of-type{border-bottom:0!important}
.section-head span{
  background:var(--pm-blue)!important;color:#fff!important;box-shadow:none!important
}
.section-head h3{color:#111827!important}
.section-head p{color:#667085!important}
.field label,.consulta-form label span{color:#344054!important;font-weight:700!important}
.field input,.field select,.field textarea,.consulta-form input{
  border:1px solid #d8dee7!important;border-radius:9px!important;background:#fff!important;box-shadow:none!important;
  transition:border-color .15s,box-shadow .15s!important
}
.field input:focus,.field select:focus,.field textarea:focus,.consulta-form input:focus{
  outline:none!important;border-color:#75a9e8!important;box-shadow:0 0 0 3px rgba(23,105,232,.09)!important
}
.btn,.consulta-btn{
  background:var(--pm-blue)!important;border:1px solid var(--pm-blue)!important;color:#fff!important;border-radius:9px!important;
  min-height:48px!important;padding:0 22px!important;font-weight:800!important;box-shadow:0 6px 16px rgba(23,105,232,.17)!important
}
.btn:hover,.consulta-btn:hover{background:var(--pm-blue-dark)!important}
.consent{background:#f8fafc!important;border:1px solid #e5e9ef!important;border-radius:12px!important;padding:14px 16px!important;color:#475467!important}
.required-upload-card,.upload-box{
  background:#fff!important;border:1px solid #dde3eb!important;border-radius:13px!important;box-shadow:0 5px 15px rgba(16,24,40,.035)!important
}
.required-upload-icon{background:#eef3fa!important;color:#111!important}
.required-upload-info span{background:#f3f5f7!important;color:#667085!important}
.lojista-note{
  border:1px solid #d9e4ef!important;background:#f8fbfe!important;color:#475467!important;border-radius:12px!important;padding:14px 16px!important
}

/* Consulta */
.consulta-page{background:transparent!important}
.consulta-shell{padding-top:0!important}
.consulta-grid{gap:22px!important}
.consulta-card{padding:26px!important}
.consulta-card-head{border-bottom:1px solid #eef1f4!important;padding-bottom:18px!important;margin-bottom:20px!important}
.consulta-card-head h2{color:#111827!important;font-size:22px!important}
.consulta-card-head p{color:#667085!important}
.consulta-icon{background:#eef3fa!important;color:#111!important;border-radius:50%!important}
.consulta-security{background:#f8fafc!important;border:1px solid #e7ebef!important;border-radius:12px!important}
.consulta-alert{border-radius:10px!important}
.consulta-result-header,.consulta-status-summary{background:#fbfcfd!important}
.consulta-status-badge{border-radius:999px!important}
.consulta-timeline-step .dot{box-shadow:none!important}
.consulta-back,.consulta-link{color:#155da8!important}
.consulta-footer,.footer-note{
  margin:24px auto 6px!important;padding:22px 10px!important;text-align:center!important;color:#667085!important;
  border-top:1px solid #e7ebf0!important;background:transparent!important;font-size:12px!important
}
.public-footer{
  position:relative;z-index:1;margin-top:28px;border-top:1px solid #e9edf2;background:rgba(247,249,252,.9)
}
.public-footer-inner{
  width:min(1050px,calc(100% - 40px));margin:auto;min-height:72px;display:flex;justify-content:center;align-items:center;
  gap:35px;color:#475467;font-size:12px;text-align:center
}
.public-footer-divider{height:24px;width:1px;background:#b7bec8}
@media(max-width:760px){
  .public-hero{padding-top:30px}.public-hero h1{font-size:31px}
  .form-body,.form-top{padding-left:18px!important;padding-right:18px!important}
  .form-top{align-items:flex-start!important}
  .public-footer-inner{flex-direction:column;gap:6px;padding:18px}.public-footer-divider{display:none}
}


/* Banner discreto nas páginas de formulário/consulta */
.public-hero{
  position:relative;
  max-width:1100px;
  margin:28px auto 20px;
  padding:42px 28px 38px;
  border-radius:20px;
  overflow:hidden;
  background:
    linear-gradient(105deg,rgba(7,27,56,.96),rgba(18,72,137,.90)),
    radial-gradient(circle at 82% 22%,rgba(255,255,255,.18) 0 2px,transparent 3px) 0 0/22px 22px;
  box-shadow:0 12px 32px rgba(15,23,42,.12);
}
.public-hero::before{
  content:"";
  position:absolute;
  width:340px;height:340px;
  right:-110px;top:-185px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:50%;
  box-shadow:
    0 0 0 38px rgba(255,255,255,.035),
    0 0 0 78px rgba(255,255,255,.025);
}
.public-hero::after{
  content:"";
  position:absolute;
  left:-45px;bottom:-82px;
  width:270px;height:150px;
  border-radius:50%;
  background:rgba(23,105,232,.20);
  filter:blur(2px);
}
.public-hero > *{position:relative;z-index:1}
.public-hero h1{color:#fff!important;text-shadow:0 1px 1px rgba(0,0,0,.08)}
.public-hero .eyebrow{color:#cbd9ec!important}
.public-hero p{color:#e7edf6!important}
.public-hero .accent{background:#4c9aff!important}
.public-channel-nav{margin-top:0!important}

@media(max-width:760px){
  .public-hero{
    margin:16px 12px 16px;
    padding:32px 20px 30px;
    border-radius:16px;
  }
}


/* Banners específicos por canal */
body.page-consumidor .public-hero,
body.page-lojista .public-hero,
body.page-consulta .public-hero{
  background-position:center center!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
}
body.page-consumidor .public-hero{
  background-image:
    linear-gradient(90deg,rgba(7,27,56,.98) 0%,rgba(7,27,56,.94) 34%,rgba(7,27,56,.62) 55%,rgba(7,27,56,.15) 82%,rgba(7,27,56,.04) 100%),
    url("banners/banner-consumidor.jpg")!important;
}
body.page-lojista .public-hero{
  background-image:
    linear-gradient(90deg,rgba(7,27,56,.98) 0%,rgba(7,27,56,.94) 34%,rgba(7,27,56,.62) 55%,rgba(7,27,56,.15) 82%,rgba(7,27,56,.04) 100%),
    url("banners/banner-lojista.jpg")!important;
}
body.page-consulta .public-hero{
  background-image:
    linear-gradient(90deg,rgba(7,27,56,.98) 0%,rgba(7,27,56,.94) 34%,rgba(7,27,56,.62) 55%,rgba(7,27,56,.15) 82%,rgba(7,27,56,.04) 100%),
    url("banners/banner-consulta.jpg")!important;
}
body.page-consumidor .public-hero,
body.page-lojista .public-hero,
body.page-consulta .public-hero{
  text-align:left!important;
  padding-left:44px!important;
  min-height:250px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
body.page-consumidor .public-hero .accent,
body.page-lojista .public-hero .accent,
body.page-consulta .public-hero .accent{
  margin:16px 0!important;
}
body.page-consumidor .public-hero h1,
body.page-lojista .public-hero h1,
body.page-consulta .public-hero h1{
  max-width:560px;
}
body.page-consumidor .public-hero p,
body.page-lojista .public-hero p,
body.page-consulta .public-hero p{
  max-width:590px;
}
@media(max-width:760px){
  body.page-consumidor .public-hero,
  body.page-lojista .public-hero,
  body.page-consulta .public-hero{
    min-height:220px;
    padding-left:24px!important;
    padding-right:24px!important;
    background-position:62% center!important;
  }
}


/* =========================================================
   HERO / BANNER EM LARGURA TOTAL
   Mantém o formulário centralizado, mas o banner ocupa
   toda a largura da janela como no layout de referência.
   ========================================================= */
body.page-consumidor .public-hero,
body.page-lojista .public-hero,
body.page-consulta .public-hero{
  width:100vw!important;
  max-width:none!important;
  margin:0 0 18px calc(50% - 50vw)!important;
  border-radius:0!important;
  min-height:300px!important;
  padding-left:max(42px,calc((100vw - 1050px)/2))!important;
  padding-right:max(42px,calc((100vw - 1050px)/2))!important;
  box-shadow:none!important;
  background-size:cover!important;
  background-position:center center!important;
}

body.page-consumidor .public-hero::before,
body.page-lojista .public-hero::before,
body.page-consulta .public-hero::before{
  right:3%!important;
}

body.page-consumidor .public-hero h1,
body.page-lojista .public-hero h1,
body.page-consulta .public-hero h1{
  max-width:600px!important;
}

body.page-consumidor .public-hero p,
body.page-lojista .public-hero p,
body.page-consulta .public-hero p{
  max-width:620px!important;
}

/* Navegação e conteúdo continuam centralizados */
.public-channel-nav{
  max-width:1100px!important;
  margin:0 auto 26px!important;
}

@media(max-width:760px){
  body.page-consumidor .public-hero,
  body.page-lojista .public-hero,
  body.page-consulta .public-hero{
    min-height:240px!important;
    padding:32px 22px!important;
    margin-left:calc(50% - 50vw)!important;
    background-position:60% center!important;
  }
}

/* BANNERS VETORIAIS CLAROS — versão final */
body.page-consumidor .public-hero{
  background-image:
    linear-gradient(90deg,#f7f9fc 0%,rgba(247,249,252,.98) 34%,rgba(247,249,252,.82) 51%,rgba(247,249,252,.10) 76%),
    url("banners/banner-consumidor.jpg")!important;
}
body.page-lojista .public-hero{
  background-image:
    linear-gradient(90deg,#f7f9fc 0%,rgba(247,249,252,.98) 34%,rgba(247,249,252,.82) 51%,rgba(247,249,252,.10) 76%),
    url("banners/banner-lojista.jpg")!important;
}
body.page-consulta .public-hero{
  background-image:
    linear-gradient(90deg,#f7f9fc 0%,rgba(247,249,252,.98) 34%,rgba(247,249,252,.82) 51%,rgba(247,249,252,.10) 76%),
    url("banners/banner-consulta.jpg")!important;
}
body.page-consumidor .public-hero h1,
body.page-lojista .public-hero h1,
body.page-consulta .public-hero h1{color:#071b38!important;text-shadow:none!important}
body.page-consumidor .public-hero .eyebrow,
body.page-lojista .public-hero .eyebrow,
body.page-consulta .public-hero .eyebrow{color:#1769e8!important}
body.page-consumidor .public-hero p,
body.page-lojista .public-hero p,
body.page-consulta .public-hero p{color:#344054!important}
body.page-consumidor .public-hero::before,
body.page-lojista .public-hero::before,
body.page-consulta .public-hero::before,
body.page-consumidor .public-hero::after,
body.page-lojista .public-hero::after,
body.page-consulta .public-hero::after{display:none!important}
