
/* VETTA — cabeçalho único em todas as páginas */
:root{--vetta-header-h:108px;--vetta-navy:#1B3F6B;--vetta-gold:#F0AE0D;--vetta-turquoise:#4AB6B8;--vetta-line:#dce6ed;--vetta-soft:#f6f9fb;}
.site-header *{box-sizing:border-box}
.site-header a{text-decoration:none!important}
.site-header{
  position:sticky!important;top:0!important;z-index:20000!important;
  height:var(--vetta-header-h)!important;display:block!important;
  background:rgba(255,255,255,.97)!important;border:0!important;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
}
.site-header::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:rgba(27,63,107,.10);pointer-events:none}
.site-header .container,.site-header .nav-container{width:min(calc(100% - 44px),1220px)!important;margin-inline:auto!important}
.site-header .nav-wrap{
  height:100%!important;display:grid!important;grid-template-columns:130px 1fr auto!important;
  align-items:center!important;gap:28px!important;
}
.site-header .brand{width:94px!important;display:inline-flex!important;align-items:center!important;margin:0!important;padding:0!important}
.site-header .brand img{width:100%!important;height:auto!important;display:block!important}
.site-header .primary-nav{
  position:static!important;width:auto!important;height:auto!important;max-height:none!important;
  display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;
  gap:clamp(18px,2.2vw,34px)!important;padding:0!important;margin:0!important;
  border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
  opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important;overflow:visible!important;
}
.site-header .primary-nav .nav-link{
  position:relative!important;display:inline-flex!important;align-items:center!important;
  color:var(--vetta-navy)!important;font-family:Montserrat,Arial,sans-serif!important;
  font-size:13px!important;font-weight:600!important;letter-spacing:.01em!important;
  line-height:1.2!important;padding:31px 0 27px!important;margin:0!important;white-space:nowrap!important;
  background:transparent!important;border:0!important;border-radius:0!important;text-decoration:none!important;
}
.site-header .primary-nav .nav-link::after{content:""!important;display:block!important;position:absolute!important;left:0!important;right:100%!important;bottom:20px!important;height:2px!important;background:var(--vetta-turquoise)!important;transition:right .25s ease!important}
.site-header .primary-nav .nav-link:hover::after,.site-header .primary-nav .nav-link.active::after{right:0!important}
.site-header .nav-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:12px!important;margin:0!important}
.site-header .lang-field{
  display:inline-flex!important;align-items:center!important;gap:6px!important;height:40px!important;
  padding:0 10px!important;border:1px solid var(--vetta-line)!important;border-radius:999px!important;
  color:var(--vetta-navy)!important;background:#fff!important;box-shadow:none!important;margin:0!important;
}
.site-header .lang-dot{width:7px!important;height:7px!important;border-radius:50%!important;background:var(--vetta-turquoise)!important;flex:0 0 7px!important}
.site-header .lang-field select{
  appearance:none!important;-webkit-appearance:none!important;border:0!important;outline:0!important;background:transparent!important;
  color:var(--vetta-navy)!important;font-family:Montserrat,Arial,sans-serif!important;font-size:12px!important;font-weight:700!important;
  line-height:1!important;padding:0 2px!important;margin:0!important;width:auto!important;height:auto!important;box-shadow:none!important;
}
.site-header .lang-field svg{width:15px!important;height:15px!important;fill:none!important;stroke:currentColor!important;stroke-width:2!important}
.site-header .header-quote-unified{
  min-height:42px!important;height:42px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
  padding:0 16px!important;border:1px solid transparent!important;border-radius:7px!important;background:var(--vetta-gold)!important;
  color:var(--vetta-navy)!important;box-shadow:0 8px 28px rgba(240,174,13,.22)!important;
  font-family:Montserrat,Arial,sans-serif!important;font-size:11px!important;font-weight:700!important;line-height:1!important;
  text-transform:uppercase!important;letter-spacing:.045em!important;text-decoration:none!important;white-space:nowrap!important;margin:0!important;
  transition:transform .2s ease,box-shadow .2s ease!important;
}
.site-header .header-quote-unified:hover{transform:translateY(-2px)!important;box-shadow:0 13px 32px rgba(240,174,13,.28)!important;text-decoration:none!important}
.site-header .nav-toggle{display:none!important;background:none!important;border:0!important;padding:8px!important;margin:0!important}
.site-header .nav-toggle span{display:block!important;width:24px!important;height:2px!important;background:var(--vetta-navy)!important;margin:5px 0!important;transition:.25s ease!important}
.site-header .lang-field{display:none!important}
.site-header .mobile-lang-picker{
  position:relative!important;
  display:block!important;
  z-index:23000!important;
}
.site-header .mobile-lang-toggle{
  min-width:94px!important;
  height:44px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  padding:0 14px!important;
  border:1px solid rgba(27,63,107,.13)!important;
  border-radius:999px!important;
  background:#fff!important;
  color:var(--vetta-navy)!important;
  box-shadow:0 6px 18px rgba(27,63,107,.06)!important;
  cursor:pointer!important;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease,transform .18s ease!important;
}
.site-header .mobile-lang-toggle:hover,
.site-header .mobile-lang-toggle:focus-visible{
  background:var(--vetta-soft)!important;
  border-color:rgba(74,182,184,.42)!important;
  box-shadow:0 9px 24px rgba(27,63,107,.10)!important;
  outline:none!important;
}
.site-header .mobile-lang-toggle strong{
  font-family:Montserrat,Arial,sans-serif!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.02em!important;
}
.site-header .mobile-lang-dot{
  width:8px!important;height:8px!important;border-radius:50%!important;
  background:var(--vetta-turquoise)!important;flex:0 0 8px!important;
}
.site-header .mobile-lang-toggle svg{
  width:14px!important;height:14px!important;
  fill:none!important;stroke:currentColor!important;stroke-width:2!important;
  transition:transform .2s ease!important;
}
.site-header .mobile-lang-picker.open .mobile-lang-toggle svg{transform:rotate(180deg)!important}
.site-header .mobile-lang-menu{
  position:absolute!important;
  top:calc(100% + 10px)!important;
  right:0!important;
  width:min(260px,calc(100vw - 32px))!important;
  padding:9px!important;
  border:1px solid rgba(27,63,107,.10)!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:0 24px 60px rgba(12,34,58,.20),0 4px 14px rgba(12,34,58,.08)!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translateY(-8px) scale(.97)!important;
  transform-origin:top right!important;
  transition:opacity .2s ease,transform .2s ease,visibility .2s ease!important;
  overflow:hidden!important;
  z-index:23500!important;
}
.site-header .mobile-lang-picker.open .mobile-lang-menu{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:translateY(0) scale(1)!important;
}
.site-header .mobile-lang-option{
  width:100%!important;
  min-height:50px!important;
  display:grid!important;
  grid-template-columns:1fr auto 24px!important;
  gap:10px!important;
  align-items:center!important;
  padding:0 12px!important;
  border:0!important;
  border-radius:13px!important;
  background:transparent!important;
  color:var(--vetta-navy)!important;
  font-family:Montserrat,Arial,sans-serif!important;
  text-align:left!important;
  cursor:pointer!important;
  transition:background .16s ease,transform .16s ease!important;
}
.site-header .mobile-lang-option+.mobile-lang-option{margin-top:3px!important}
.site-header .mobile-lang-option:hover,
.site-header .mobile-lang-option:focus-visible{
  background:var(--vetta-soft)!important;
  transform:translateX(2px)!important;
  outline:none!important;
}
.site-header .mobile-lang-option.active{
  background:rgba(74,182,184,.11)!important;
}
.site-header .mobile-lang-option span{font-size:13px!important;font-weight:600!important}
.site-header .mobile-lang-option strong{font-size:12px!important;font-weight:800!important}
.site-header .mobile-lang-option i{
  width:22px!important;
  height:22px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  background:var(--vetta-turquoise)!important;
  color:transparent!important;
  font-style:normal!important;
  font-size:0!important;
  font-weight:900!important;
  opacity:0!important;
  flex:0 0 22px!important;
}
.site-header .mobile-lang-option.active i{
  opacity:1!important;
}

@media(max-width:1080px){
  :root{--vetta-header-h:94px}
  .site-header .nav-wrap{grid-template-columns:100px 1fr auto!important;gap:15px!important}
  .site-header .brand{width:80px!important}
  .site-header .primary-nav{gap:16px!important}
  .site-header .primary-nav .nav-link{font-size:12px!important}
  .site-header .lang-field{height:38px!important;padding:0 9px!important}
  .site-header .header-quote-unified{min-height:40px!important;height:40px!important;padding:0 13px!important;font-size:10px!important}
}

@media(max-width:820px){
  :root{--vetta-header-h:94px}
  body.nav-open{overflow:hidden!important}
  body.nav-open::before{content:"";position:fixed;inset:var(--vetta-header-h) 0 0;z-index:19500;background:rgba(8,28,50,.14);backdrop-filter:blur(3px)}
  .site-header{position:fixed!important;left:0!important;right:0!important;top:0!important;height:var(--vetta-header-h)!important}
  .site-header::after{bottom:5px!important}
  body{padding-top:var(--vetta-header-h)}
  .site-header .container,.site-header .nav-container{width:min(calc(100% - 28px),1220px)!important}
  .site-header .nav-wrap{grid-template-columns:1fr auto auto!important;gap:10px!important}
  .site-header .brand{width:72px!important;grid-column:1!important;grid-row:1!important}
  .site-header .nav-toggle{display:block!important;grid-column:3!important;grid-row:1!important;z-index:22000!important}
  .site-header .nav-actions{grid-column:2!important;grid-row:1!important}
  .site-header .nav-actions .header-quote-unified{display:none!important}
  .site-header .lang-field{display:none!important}
  .site-header .mobile-lang-picker{position:relative!important;display:block!important;z-index:23000!important}
  .site-header .mobile-lang-toggle{
    min-width:94px!important;height:44px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
    gap:9px!important;padding:0 14px!important;border:1px solid rgba(27,63,107,.13)!important;border-radius:999px!important;
    background:#fff!important;color:var(--vetta-navy)!important;box-shadow:0 6px 18px rgba(27,63,107,.06)!important;cursor:pointer!important;
  }
  .site-header .mobile-lang-toggle strong{font-size:13px!important;font-weight:800!important;letter-spacing:.02em!important}
  .site-header .mobile-lang-dot{width:8px!important;height:8px!important;border-radius:50%!important;background:var(--vetta-turquoise)!important;flex:0 0 8px!important}
  .site-header .mobile-lang-toggle svg{width:15px!important;height:15px!important;fill:none!important;stroke:currentColor!important;stroke-width:2!important;transition:transform .2s ease!important}
  .site-header .mobile-lang-picker.open .mobile-lang-toggle svg{transform:rotate(180deg)!important}
  .site-header .mobile-lang-menu{
    position:absolute!important;top:calc(100% + 10px)!important;right:0!important;width:min(260px,calc(100vw - 32px))!important;
    padding:9px!important;border:1px solid rgba(27,63,107,.10)!important;border-radius:20px!important;background:#fff!important;
    box-shadow:0 24px 60px rgba(12,34,58,.20),0 4px 14px rgba(12,34,58,.08)!important;
    opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateY(-8px) scale(.97)!important;transform-origin:top right!important;
    transition:opacity .2s ease,transform .2s ease,visibility .2s ease!important;overflow:hidden!important;z-index:23500!important;
  }
  .site-header .mobile-lang-picker.open .mobile-lang-menu{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translateY(0) scale(1)!important}
  .site-header .mobile-lang-option{
    width:100%!important;min-height:50px!important;display:grid!important;grid-template-columns:1fr auto 24px!important;gap:10px!important;align-items:center!important;
    padding:0 12px!important;border:0!important;border-radius:13px!important;background:transparent!important;color:var(--vetta-navy)!important;text-align:left!important;cursor:pointer!important;
  }
  .site-header .mobile-lang-option+.mobile-lang-option{margin-top:3px!important}
  .site-header .mobile-lang-option:hover,.site-header .mobile-lang-option:focus-visible,.site-header .mobile-lang-option.active{background:var(--vetta-soft)!important;outline:none!important}
  .site-header .mobile-lang-option span{font-size:13px!important;font-weight:600!important}.site-header .mobile-lang-option strong{font-size:12px!important}.site-header .mobile-lang-option i{font-style:normal!important;color:var(--vetta-turquoise)!important;opacity:0!important}.site-header .mobile-lang-option.active i{opacity:1!important}
  .site-header .primary-nav{
    position:fixed!important;top:calc(var(--vetta-header-h) + 8px)!important;right:16px!important;left:auto!important;
    width:min(360px,calc(100vw - 32px))!important;height:auto!important;max-height:calc(100vh - var(--vetta-header-h) - 24px)!important;
    display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;padding:10px!important;
    border:1px solid rgba(27,63,107,.10)!important;border-radius:22px!important;background:#fff!important;
    box-shadow:0 24px 60px rgba(12,34,58,.20),0 4px 14px rgba(12,34,58,.08)!important;
    opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateY(-8px) scale(.97)!important;transform-origin:top right!important;
    transition:opacity .2s ease,transform .2s ease,visibility .2s ease!important;z-index:21000!important;overflow:auto!important;
  }
  .site-header .primary-nav.open{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translateY(0) scale(1)!important}
  .site-header .primary-nav .nav-link{padding:13px 14px!important;border-radius:13px!important;font-size:15px!important;width:100%!important}
  .site-header .primary-nav .nav-link::after{display:none!important}
  .site-header .primary-nav .nav-link:hover,.site-header .primary-nav .nav-link.active{background:var(--vetta-soft)!important}
}

/* O select nativo permanece apenas para sincronização do idioma.
   A interface visível é sempre o popup customizado da Vetta. */
.site-header .lang-field,
.site-header label.lang-field{
  display:none!important;
}

/* ==========================================================
   Seletor de idiomas unificado — desktop e mobile
   ========================================================== */
.site-header .mobile-lang-option:hover,
.site-header .mobile-lang-option:focus-visible{
  background:var(--vetta-soft)!important;
  transform:translateX(2px)!important;
  outline:none!important;
}
.site-header .mobile-lang-option.active{
  background:rgba(74,182,184,.11)!important;
}
.site-header .mobile-lang-option.active i{
  background:var(--vetta-turquoise)!important;
  opacity:1!important;
}


/* ==========================================================
   ESTABILIDADE DE LAYOUT AO ABRIR MODAIS / MENUS
   ==========================================================
   Mantém reservado o espaço da barra de rolagem vertical.
   Assim, quando um modal bloqueia o scroll da página, o
   conteúdo ao fundo não muda de largura nem desloca lateralmente.
   ========================================================== */
html{
  scrollbar-gutter:stable!important;
}
body{
  scrollbar-gutter:stable!important;
}

/* Mantemos o bloqueio de rolagem já existente sem alterar
   a largura visual do documento. */
body.vetta-modal-open,
body.client-modal-open,
body.mgmt-modal-open{
  overflow:hidden!important;
}
