:root{
  --verde:#008743;
  --azul:#03428e;
  --radius:14px;
  --pad:20px;
  --header-h:72px; 

  
  --btn-insc-font: 1rem;
  --btn-insc-weight: 600;
  --btn-insc-py: .9rem;
  --btn-insc-px: 1.25rem;
  --btn-insc-radius: 12px;
  --btn-insc-minw: 220px;
}


.topbar{
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 1040;
  background: linear-gradient(90deg, var(--azul) 0%, var(--verde) 100%);
  box-shadow: 0 6px 18px rgba(0,0,0,.08);
}
.topbar .container{ min-height: var(--header-h); }

.logo-top{
  height: clamp(42px, 6vw, 60px);
  width: auto;
  display: block;
  object-fit: contain;
  filter: drop-shadow(0 1px 1px rgba(0,0,0,.2));
}

.topbar .nav-link{
  color:#fff;
  opacity:.92;
  padding:.5rem 1rem;
}
.topbar .nav-link:hover{
  color:#fff;
  opacity:1;
  text-decoration: underline;
}


.topbar .btn-cta,
.topbar .btn-cta.btn-sm{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #fff !important;

  font-family: inherit !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  text-transform: none !important;
  letter-spacing: normal !important;

  padding: .5rem 1rem !important;
}
.topbar .btn-cta:hover{
  text-decoration: underline !important;
  filter: none !important;
}


#mobileMenuBtn .bi{
  font-size: 1.6rem;
  line-height: 1;
}


body{ padding-top: var(--header-h); }


.mobile-menu{
  background: linear-gradient(90deg, rgba(3,66,142,.97) 0%, rgba(0,135,67,.97) 100%);
  backdrop-filter: blur(6px);
  border-top: 1px solid rgba(255,255,255,.2);
}
.mobile-link{ color:#fff; text-decoration:none; }
.mobile-link:hover{ text-decoration:underline; }


.hero{
  position: relative;
  width: 100%;
  height: auto;
}
.hero .hero-img{
  position: static;
  display: block;
  width: 100%;
  height: auto;            
  object-fit: contain;     
  object-position: center;
}

.hero-overlay{
  display: none !important;
  background: none !important;
}

@media (max-width: 575.98px){
  .hero .hero-img{ content: normal !important; }
}


.section-title{ color:var(--azul); font-weight:700; }
.section-subtitle{ color:var(--verde); font-weight:600; }


.btn-cta{
  background: linear-gradient(90deg, var(--verde), var(--azul));
  color:#fff; border:none;
}
.btn-cta:hover{ filter:brightness(1.05); color:#fff; }


.box-inscricao .btn-cta[href="#inscricao"],
.box-inscricao-full .btn-cta[href="#inscricao"],
.inscricao-bottom .btn-cta[href="#inscricao"]{
  font-size: var(--btn-insc-font) !important;
  font-weight: var(--btn-insc-weight) !important;
  padding: var(--btn-insc-py) var(--btn-insc-px) !important;
  border-radius: var(--btn-insc-radius) !important;
  line-height: 1.2 !important;
  min-width: var(--btn-insc-minw);
}
@media (max-width: 575.98px){
  .box-inscricao .btn-cta[href="#inscricao"],
  .box-inscricao-full .btn-cta[href="#inscricao"],
  .inscricao-bottom .btn-cta[href="#inscricao"]{
    min-width: 0;           
    width: 100%;
  }
}


.premiacao-img{
  width: 100%;
  height: auto;
}



.box-inscricao > .p-4{
  background: linear-gradient(135deg, var(--azul) 0%, #0a5ac7 35%, var(--verde) 100%) !important;
  color:#fff;
  border:0;
}


.box-inscricao h4,
.box-inscricao p,
.box-inscricao small{ color:#fff !important; }
.box-inscricao .text-muted{ color:rgba(255,255,255,.85) !important; }


.box-inscricao hr{
  border-color: rgba(255,255,255,.25);
  opacity:1;
}


.box-inscricao .btn-cta{
  background:#fff !important;
  color:var(--azul) !important;
  border:0 !important;
  box-shadow: 0 6px 14px rgba(0,0,0,.12);
}
.box-inscricao .btn-cta:hover{
  color:#022b63 !important;
  filter:none !important;
  transform: translateY(-1px);
}


.box-inscricao .btn-outline-primary{
  color:#fff !important;
  border-color:#fff !important;
}
.box-inscricao .btn-outline-primary:hover{
  background: rgba(255,255,255,.14) !important;
  color:#fff !important;
}


#duvidas .accordion .accordion-item{
  background:#fff;
  border:1px solid #e7edf5;
  border-radius:12px;
  margin-bottom:14px;         
  box-shadow: 0 4px 16px rgba(3,66,142,.06);
  overflow:hidden;            
}

#duvidas .accordion .accordion-item:last-child{ margin-bottom:0; }


#duvidas .accordion .accordion-button{
  background:#fff;
  color:#0b1a2a;
  padding:1rem 1.25rem;
  box-shadow:none;            
}


#duvidas .accordion .accordion-button:not(.collapsed){
  background:#f6fbff;
  color:var(--azul);
  box-shadow:none;
}


#duvidas .accordion .accordion-button:focus{
  box-shadow:0 0 0 .2rem rgba(3,66,142,.15);
}


#duvidas .accordion .accordion-body{
  padding:1rem 1.25rem 1.25rem;
  background:#fff;
  color:#2b2b2b;
}


#duvidas .accordion .accordion-button::after{
  filter:hue-rotate(-20deg) saturate(1.2);
}


.inscricao-bottom{
  position:fixed; bottom:0; left:0; right:0;
  background:#fff; border-top:1px solid #eee; z-index:1035;
}


.footer,
.footer.bg-light{
  background: linear-gradient(90deg, var(--azul) 0%, var(--verde) 100%) !important;
  color:#fff;
  box-shadow: none;
  border-top: 0;
}
.footer h6,
.footer p,
.footer small,
.footer li{ color:#fff !important; }
.footer a{
  color:#fff !important;
  opacity:.92;
  text-decoration: none;
}
.footer a:hover{
  opacity:1;
  text-decoration: underline;
}
.footer .footer-logo{
  filter: drop-shadow(0 1px 1px rgba(0,0,0,.25));
}


@media (max-width: 767.98px){
  .footer .footer-logo,
  .footer .regua-cndl{
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
  .footer .social{
    display: inline-flex;
    gap: 12px;
    justify-content: center;
  }
}



.footer .footer-logo-premio{
  height: 90px !important;     
  width: auto !important;       
  object-fit: contain;
  object-position: left center;
  display: block;
  max-width: 100%;
}

@media (max-width: 575.98px){
  .footer .footer-logo-premio{ height: 140px !important; }
}


.footer .footer-logo-cdl{
  height: 50px !important;
  width: auto !important;
  object-fit: contain;
  display: block;        
  max-width: 100%;
  margin: 0 auto;        
}


@media (min-width: 768px){
  .footer .footer-logo-cdl{
    margin-left: auto;
    margin-right: 0;
  }
}





.regua-cndl{
  height: 36px !important;     
  width: auto !important;
  object-fit: contain;
  display: block;
  max-width: 100%;
}
@media (max-width: 575.98px){
  .regua-cndl{ height: 28px !important; }
}
@media (min-width: 1400px){
  .regua-cndl{ height: 42px !important; }
}


.footer .contact-link{
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  color: #fff !important;
  text-decoration: none;
}
.footer .contact-link:hover{ text-decoration: underline; }
.footer .contact-link i{
  font-size: 1.1rem;
  line-height: 1;
}


.footer .social-link i{
  font-size: 1.25rem;
  line-height: 1;
}


@media (min-width: 1200px){
  main .col-lg-10{ max-width: 900px; margin-inline:auto; }
}
@media (min-width: 1400px){
  main .col-lg-10{ max-width: 860px; }
}


@media (max-width: 575.98px){
  :root{ --header-h:64px; }
}
@media (min-width: 1200px){
  :root{ --header-h:88px; }
  .logo-top{ height: 64px; }
}


.box-inscricao-full{
  background: linear-gradient(135deg, var(--azul) 0%, #0a5ac7 35%, var(--verde) 100%) !important;
  color:#fff;
  border:0;
}

.box-inscricao-full h4,
.box-inscricao-full p,
.box-inscricao-full small{ color:#fff !important; }

.box-inscricao-full .btn-cta{
  background:#fff !important;
  color:var(--azul) !important;
  border:0 !important;
  box-shadow: 0 6px 14px rgba(0,0,0,.12);
}
.box-inscricao-full .btn-cta:hover{
  color:#022b63 !important;
  filter:none !important;
  transform: translateY(-1px);
}

.box-inscricao-full .btn-outline-primary{
  color:#fff !important;
  border-color:#fff !important;
}
.box-inscricao-full .btn-outline-primary:hover{
  background: rgba(255,255,255,.14) !important;
  color:#fff !important;
}

@media (min-width: 768px){
  .box-inscricao-full .btn-cta{ width: auto; }
  .box-inscricao-full .btn-outline-primary{ width: auto; }
}


section[id]{
  scroll-margin-top: calc(var(--header-h) + 20px); 
}


html{ scroll-behavior: smooth; }



section[id]{
  scroll-margin-top: calc(var(--header-h) + 12px);
}
