/* ----------------------------------------------------------
   Paleta da marca - ponto único de controle de cores
   Para trocar a identidade visual, edite APENAS aqui.
   ---------------------------------------------------------- */
:root {
  --brand       : #102694;
  --brand-dark  : #0a1a6b;
  --brand-rgb   : 16, 38, 148;

  /* Paleta de badges (departamentos) - tons do azul principal */
  --brand-1-bg  : rgba(16, 38, 148, 0.10);    --brand-1-fg  : #102694;
  --brand-2-bg  : rgba(30, 58, 138, 0.12);    --brand-2-fg  : #1e3a8a;
  --brand-3-bg  : rgba(55, 48, 163, 0.12);    --brand-3-fg  : #3730a3;
  --brand-4-bg  : rgba(29, 78, 216, 0.12);    --brand-4-fg  : #1d4ed8;
  --brand-5-bg  : rgba(3, 105, 161, 0.12);    --brand-5-fg  : #0369a1;
  --brand-6-bg  : rgba(26, 26, 26, 0.08);     --brand-6-fg  : #1a1a1a;
}

/* Ícone de trem - base64 armazenado em variável CSS para reuso */
:root {
  --train-icon: url('data:image/png;base64,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');
}

/* ----------------------------------------------------------
   Z-index do header/navbar - corrige sobreposição dos cards
   .services-bar (z-index:9999 no style.css) por cima do menu.
   Template original deixou o .header em 1001 (mais baixo).
   ---------------------------------------------------------- */
.header,
.header.header-transparent,
.navbar.navbar-fixed {
  z-index: 10000;
}

/* ----------------------------------------------------------
   Navbar sticky - acelera a animação "fadeInDown" do template
   que durava 1s (sensação de atraso na mudança transparente→branco).
   ---------------------------------------------------------- */
.navbar.navbar-fixed {
  -webkit-animation: fadeInDown 0.25s ease-out;
          animation: fadeInDown 0.25s ease-out;
}

/* ==========================================================
   Cookie banner - consentimento LGPD
   ========================================================== */
.cookie-banner {
  position        : fixed;
  bottom          : 20px;
  left            : 50%;
  transform       : translate(-50%, 140%);
  width           : calc(100% - 40px);
  max-width       : 920px;
  background      : #ffffff;
  border-radius   : 14px;
  box-shadow      : 0 20px 60px rgba(10, 20, 60, 0.25);
  z-index         : 99998;
  transition      : transform 0.45s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s;
  opacity         : 0;
  padding         : 22px 26px;
  border          : 1px solid rgba(var(--brand-rgb), 0.08);
}

.cookie-banner.is-visible {
  transform: translate(-50%, 0);
  opacity  : 1;
}

.cookie-banner-inner {
  display    : flex;
  align-items: center;
  gap        : 20px;
  flex-wrap  : wrap;
}

.cookie-banner-icon {
  width          : 54px;
  height         : 54px;
  border-radius  : 50%;
  background     : rgba(var(--brand-rgb), 0.1);
  color          : var(--brand);
  display        : flex;
  align-items    : center;
  justify-content: center;
  flex-shrink    : 0;
  font-size      : 22px;
}

.cookie-banner-text {
  flex     : 1 1 280px;
  min-width: 0;
}

.cookie-banner-text h5 {
  font-family  : 'Rubik', sans-serif;
  font-size    : 15px;
  font-weight  : 600;
  color        : #1a1a1a;
  margin       : 0 0 4px;
  line-height  : 1.2;
}

.cookie-banner-text p {
  font-size  : 13.5px;
  line-height: 1.55;
  color      : #555;
  margin     : 0;
}

.cookie-banner-actions {
  display    : flex;
  gap        : 8px;
  flex-shrink: 0;
}

.cookie-btn {
  padding        : 10px 22px;
  font-family    : 'Rubik', sans-serif;
  font-size      : 12.5px;
  font-weight    : 600;
  border-radius  : 6px;
  cursor         : pointer;
  transition     : all 0.2s;
  border         : none;
  text-transform : uppercase;
  letter-spacing : 0.8px;
}

.cookie-btn-reject {
  background: transparent;
  color     : #666;
  border    : 1px solid #ddd;
}
.cookie-btn-reject:hover {
  border-color: #999;
  color       : #333;
}

.cookie-btn-accept {
  background: var(--brand);
  color     : #fff;
  box-shadow: 0 4px 12px rgba(var(--brand-rgb), 0.25);
}
.cookie-btn-accept:hover {
  background: var(--brand-dark);
  transform : translateY(-1px);
  box-shadow: 0 8px 20px rgba(var(--brand-rgb), 0.35);
}

@media (max-width: 575.98px) {
  .cookie-banner { bottom: 10px; padding: 18px; border-radius: 10px; }
  .cookie-banner-inner { gap: 14px; }
  .cookie-banner-actions { width: 100%; }
  .cookie-banner-actions .cookie-btn { flex: 1; padding: 10px 12px; }
}

/* ==========================================================
   Footer - versão refinada (.footer.footer-pasa)
   Substitui o footer-1 simples por layout 4 colunas com
   gradient escuro, borda superior azul e hover states.
   ========================================================== */
.footer.footer-pasa {
  position    : relative;
  background  : linear-gradient(180deg, #0f1a3e 0%, #050818 100%);
  color       : rgba(255, 255, 255, 0.75);
  padding     : 0;
  overflow    : hidden;
  margin-top  : 0;
}

.footer.footer-pasa::before {
  content   : '';
  position  : absolute;
  top       : 0;
  left      : 0;
  right     : 0;
  height    : 3px;
  background: linear-gradient(90deg, var(--brand) 0%, #1d4ed8 50%, var(--brand) 100%);
  z-index   : 2;
}

.footer.footer-pasa::after {
  content       : '';
  position      : absolute;
  top           : -80px;
  right         : -80px;
  width         : 420px;
  height        : 420px;
  background    : radial-gradient(circle at center, rgba(16, 38, 148, 0.35) 0%, transparent 70%);
  pointer-events: none;
  filter        : blur(60px);
  z-index       : 0;
}

.footer.footer-pasa .footer-main {
  padding : 70px 0 36px;
  position: relative;
  z-index : 1;
}

@media (max-width: 767.98px) {
  .footer.footer-pasa .footer-main { padding: 48px 0 20px; }
}

/* Brand */
.footer.footer-pasa .footer-brand {
  display      : flex;
  align-items  : center;
  gap          : 14px;
  margin-bottom: 20px;
}
.footer.footer-pasa .footer-brand img {
  width      : 80px;
  height     : 80px;
  object-fit : contain;
}
.footer.footer-pasa .footer-brand-text {
  display       : flex;
  flex-direction: column;
  line-height   : 1.2;
}
.footer.footer-pasa .footer-brand-text strong {
  font-family   : 'Rubik', sans-serif;
  font-size     : 18px;
  font-weight   : 600;
  color         : #fff;
  letter-spacing: 0.3px;
}
.footer.footer-pasa .footer-brand-text span {
  font-size     : 10.5px;
  font-weight   : 500;
  text-transform: uppercase;
  letter-spacing: 2px;
  color         : rgba(255, 255, 255, 0.5);
  margin-top    : 3px;
}

.footer.footer-pasa .footer-desc {
  font-size    : 14px;
  line-height  : 1.75;
  color        : rgba(255, 255, 255, 0.6);
  margin-bottom: 24px;
  max-width    : 380px;
}

/* Social */
.footer.footer-pasa .footer-social {
  display: flex;
  gap    : 8px;
}
.footer.footer-pasa .footer-social a {
  display        : inline-flex;
  align-items    : center;
  justify-content: center;
  width          : 38px;
  height         : 38px;
  border-radius  : 50%;
  border         : 1px solid rgba(255, 255, 255, 0.15);
  color          : rgba(255, 255, 255, 0.7);
  font-size      : 13px;
  text-decoration: none;
  transition     : all 0.25s ease;
}
.footer.footer-pasa .footer-social a:hover {
  background  : var(--brand);
  border-color: var(--brand);
  color       : #fff;
  transform   : translateY(-3px);
  box-shadow  : 0 8px 20px rgba(var(--brand-rgb), 0.4);
}

/* Coluna genérica */
.footer.footer-pasa .footer-col {
  margin-bottom: 32px;
}

/* Título */
.footer.footer-pasa .footer-title {
  font-family   : 'Rubik', sans-serif;
  font-size     : 11.5px;
  font-weight   : 700;
  color         : #fff;
  text-transform: uppercase;
  letter-spacing: 2.5px;
  margin-bottom : 24px;
  padding-bottom: 14px;
  position      : relative;
}
.footer.footer-pasa .footer-title::after {
  content   : '';
  position  : absolute;
  bottom    : 0;
  left      : 0;
  width     : 28px;
  height    : 2px;
  background: var(--brand);
}

/* Links de navegação */
.footer.footer-pasa .footer-links {
  list-style: none;
  padding   : 0;
  margin    : 0;
}
.footer.footer-pasa .footer-links li {
  margin-bottom: 11px;
}
.footer.footer-pasa .footer-links a {
  display        : inline-flex;
  align-items    : center;
  gap            : 0;
  font-size      : 14px;
  color          : rgba(255, 255, 255, 0.6);
  text-decoration: none;
  transition     : all 0.25s ease;
  position       : relative;
  padding-left   : 0;
}
.footer.footer-pasa .footer-links a::before {
  content   : '';
  display   : inline-block;
  width     : 0;
  height    : 1px;
  background: var(--brand);
  margin-right: 0;
  transition: all 0.25s ease;
  vertical-align: middle;
}
.footer.footer-pasa .footer-links a:hover {
  color: #fff;
}
.footer.footer-pasa .footer-links a:hover::before {
  width       : 16px;
  margin-right: 8px;
}

/* Lista de contato */
.footer.footer-pasa .footer-contact {
  list-style: none;
  padding   : 0;
  margin    : 0;
}
.footer.footer-pasa .footer-contact li {
  display      : flex;
  align-items  : flex-start;
  gap          : 14px;
  margin-bottom: 16px;
  font-size    : 14px;
  color        : rgba(255, 255, 255, 0.7);
  line-height  : 1.55;
}
.footer.footer-pasa .footer-contact li i {
  width       : 32px;
  height      : 32px;
  display     : inline-flex;
  align-items : center;
  justify-content: center;
  border-radius: 6px;
  background  : rgba(var(--brand-rgb), 0.18);
  color       : #8da2ff;
  font-size   : 13px;
  flex-shrink : 0;
}
.footer.footer-pasa .footer-contact a {
  color          : rgba(255, 255, 255, 0.7);
  text-decoration: none;
  transition     : color 0.2s;
}
.footer.footer-pasa .footer-contact a:hover { color: #fff; }
.footer.footer-pasa .footer-contact small {
  display   : block;
  font-size : 12px;
  color     : rgba(255, 255, 255, 0.4);
  margin-top: 2px;
}

/* Footer bottom */
.footer.footer-pasa .footer-bottom {
  padding   : 22px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  position  : relative;
  z-index   : 1;
}
.footer.footer-pasa .footer-copy,
.footer.footer-pasa .footer-location {
  font-size     : 12.5px;
  color         : rgba(255, 255, 255, 0.45);
  letter-spacing: 0.3px;
}

@media (max-width: 767.98px) {
  .footer.footer-pasa .footer-bottom { text-align: center; }
  .footer.footer-pasa .footer-bottom .col-md-6:first-child { margin-bottom: 6px; }
}

@keyframes preloader-bar {
  0%   { left: -35%; }
  100% { left: 100%; }
}

@keyframes preloader-pulse {
  0%, 100% { opacity: 0.85; transform: scale(1);    }
  50%      { opacity: 1;    transform: scale(1.04); }
}

/* ----------------------------------------------------------
   Logo - ajuste para imagem quadrada (110x110)
   Sobrescreve o width:145 do style.css, que era calibrado
   para o logo horizontal anterior (289x96).
   ---------------------------------------------------------- */
.header .navbar-brand .logo {
  width     : auto;
  height    : 100px;
  max-height: 100px;
}

@media only screen and (max-width: 991px) {
  .header .navbar-brand .logo {
    width : auto;
    height: 55px;
  }
}

@media screen and (max-width: 991.98px) {
  .page-title .title,
  .page-title[class*="page-title-"] .title {
    padding: 100px 0 45px !important;
  }
}

@media screen and (max-width: 575.98px) {
  .page-title .title,
  .page-title[class*="page-title-"] .title {
    padding: 80px 0 35px !important;
  }

  .page-title .title .title-heading h1 {
    font-size  : 26px !important;
    line-height: 1.3 !important;
  }
}

.services-bar .services-bar-card:hover .thumb-icon-train,
.services-bar .services-bar-card.active .thumb-icon-train {
  background-color: #ffffff;
}

@media screen and (max-width: 991.98px) {
  #about-1.about,
  #cta-3.cta,
  #cases-clients-1.cases-clients,
  .testimonial.testimonial-3,
  #blog-1.blog {
    padding-top    : 60px !important;
    padding-bottom : 60px !important;
  }
  #features-1.features {
    padding-top    : 60px !important;
    padding-bottom : 40px !important;
  }
}

/* ----------------------------------------------------------
   Carousel navs - fonte 'Equita' não existe no projeto;
   substitui pelos chevrons do Font Awesome 5 Solid
   ---------------------------------------------------------- */
[class*="owl-"]::before {
  font-family: 'Font Awesome 5 Free' !important;
  font-weight : 900 !important;
}/* ==========================================================
   Navbar dropdowns - submenu institucional
   ========================================================== */
.navbar .nav-item.dropdown > .nav-link {
  padding: inherit;
  cursor: pointer;
  position: relative;
}
.navbar .nav-link.dropdown-toggle::after {
  display: inline-block;
  margin-left: 6px;
  vertical-align: middle;
  content: "";
  width: 0; height: 0;
  border-top: 4px solid currentColor;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
  border-bottom: 0;
  opacity: 0.55;
  transition: transform .2s;
}
.navbar .nav-item.dropdown.show > .nav-link.dropdown-toggle::after {
  transform: rotate(180deg);
}

.navbar .dropdown-menu {
  border: 1px solid rgba(16, 38, 148, 0.08);
  border-radius: 10px;
  box-shadow: 0 12px 32px rgba(10, 20, 60, 0.14);
  padding: 8px;
  margin-top: 6px;
  min-width: 220px;
  background: #fff;
  animation: dropFadeIn .18s ease-out;
}
/* Ponte invisível sobre o vão do margin-top: mantém o hover ao
   mover o ponteiro do link para o submenu */
.navbar .dropdown-menu::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -10px;
  height: 10px;
}
@keyframes dropFadeIn {
  from { opacity: 0; transform: translateY(-4px); }
  to   { opacity: 1; transform: translateY(0); }
}

.navbar .dropdown-item {
  font-family: 'Rubik', sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: #2a2f45;
  padding: 10px 14px;
  border-radius: 6px;
  transition: background .15s, color .15s;
}
.navbar .dropdown-item:hover,
.navbar .dropdown-item:focus {
  background: rgba(var(--brand-rgb), 0.08);
  color: var(--brand);
}
.navbar .dropdown-item.active,
.navbar .dropdown-item:active {
  background: var(--brand);
  color: #fff;
}

/* Abre no hover em desktop (≥992px), com tolerância de fechamento
   para o submenu não sumir antes do clique */
@media (min-width: 992px) {
  .navbar .nav-item.dropdown > .dropdown-menu {
    display: block;
    visibility: hidden;
    opacity: 0;
    transform: translateY(-4px);
    animation: none;
    transition: opacity .15s ease .2s, transform .15s ease .2s, visibility 0s linear .35s;
  }
  .navbar .nav-item.dropdown:hover > .dropdown-menu,
  .navbar .nav-item.dropdown.show > .dropdown-menu {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0s;
  }
  .navbar .nav-item.dropdown > .nav-link.dropdown-toggle { pointer-events: auto; }
}

/* Rodapé - links auxiliares do bottom */
.footer-bottom-link {
  color: rgba(255, 255, 255, 0.72);
  font-size: 13px;
  transition: color .2s;
}
.footer-bottom-link:hover {
  color: #fff;
}
.footer-bottom-sep {
  color: rgba(255, 255, 255, 0.35);
  margin: 0 10px;
  font-size: 12px;
}


/* ------------------------------------------------------------------
   Honeypot dos formulários públicos
   ------------------------------------------------------------------
   Campo isca: fica fora da tela para quem enxerga e para leitor de tela
   (o container tem aria-hidden), mas continua no DOM e é preenchido por
   robô que completa tudo. O servidor recusa quando vem preenchido.

   Fora da tela em vez de display:none porque parte dos robôs ignora
   campo com display:none - e este precisa parecer preenchível. */
.hp-campo {
  position   : absolute;
  left       : -9999px;
  width      : 1px;
  height     : 1px;
  overflow   : hidden;
  opacity    : 0;
  pointer-events: none;
}
