/* Elementor header 1494. The WordPress menu remains the source of navigation. */
.elementor-1494.elementor-location-header {
  --vhdr-ink: #edf1f3;
  --vhdr-muted: #aab5bd;
  --vhdr-accent: #3fc5ec;
  --vhdr-border: rgba(172, 199, 215, .14);
  position: relative;
  z-index: 1000;
}
.elementor-1494 :is(.elementor-element-b2f28d2, .elementor-element-9185a30) {
  /* Opaco (dono 05/09): com transparencia o conteudo passava visivel por baixo
     da barra durante o scroll. */
  background: #090d10 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--vhdr-border) !important;
  padding: 0 32px !important;
  transition: box-shadow .2s;
}
.elementor-1494.vhdr-scrolled :is(.elementor-element-b2f28d2, .elementor-element-9185a30) {
  box-shadow: 0 8px 32px rgba(0, 0, 0, .28);
}
.elementor-1494 .elementor-element-b2f28d2 > .elementor-container {
  max-width: 1280px !important;
  min-height: 75px;
  align-items: center;
  gap: 32px;
}
.elementor-1494 :is(.elementor-element-b2f28d2, .elementor-element-9185a30) > .elementor-container > .elementor-column > .elementor-widget-wrap {
  padding: 0 !important;
  align-content: center;
  align-items: center;
}
.elementor-1494 .elementor-element-3cef44f { width: 104px !important; flex: 0 0 104px; }
.elementor-1494 .elementor-element-ecec477 { width: auto !important; flex: 1; min-width: 0; }
.elementor-1494 .elementor-element-9dcfbba { width: 104px !important; flex: 0 0 104px; }
.elementor-1494 :is(.elementor-element-d71a0e1, .elementor-element-e9a1d56, .elementor-element-6af8ce0) {
  width: 100% !important;
  margin: 0 !important;
}
.elementor-1494 .elementor-widget-image a { display: inline-flex; align-items: center; min-height: 44px; }
.elementor-1494 .elementor-element-d71a0e1 img { width: 94px !important; height: auto !important; }
.elementor-1494 .elementor-nav-menu--main > .elementor-nav-menu { gap: 4px; justify-content: center; }
.elementor-1494 .elementor-nav-menu--main .elementor-item {
  color: var(--vhdr-muted) !important;
  font-family: Inter, sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 20px !important;
  padding: 12px 13px !important;
  border-radius: 8px;
  transition: color .16s, background .16s;
}
.elementor-1494 .elementor-nav-menu--main .elementor-item::after { display: none !important; }
.elementor-1494 .elementor-nav-menu--main .elementor-item:is(:hover, :focus-visible, .highlighted) {
  color: var(--vhdr-ink) !important;
  background: rgba(178, 208, 224, .07) !important;
}
.elementor-1494 .elementor-nav-menu--main .elementor-item.elementor-item-active { color: var(--vhdr-accent) !important; }
.elementor-1494 .sub-arrow { padding-left: 8px !important; color: #778893; font-size: 10px !important; }
.elementor-1494 .elementor-nav-menu--main .sub-menu {
  background: #10181e !important;
  border: 1px solid var(--vhdr-border) !important;
  border-radius: 14px !important;
  padding: 8px !important;
  min-width: 224px !important;
  box-shadow: 0 20px 56px rgba(0, 0, 0, .42) !important;
}
.elementor-1494 .elementor-nav-menu--main .elementor-sub-item {
  color: #c1cbd1 !important;
  background: transparent !important;
  font: 500 14px/20px Inter, sans-serif !important;
  padding: 12px 14px !important;
  min-height: 44px;
  border: 0 !important;
  border-radius: 7px !important;
}
.elementor-1494 .elementor-nav-menu--main .elementor-sub-item:is(:hover, :focus-visible, .highlighted) {
  color: #fff !important;
  background: #1b2c36 !important;
}
.elementor-1494 :is(.elementor-widget-button .elementor-button, .vhdr-mobile-login) {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 20px !important;
  border: 1px solid rgba(152, 192, 215, .3) !important;
  border-radius: 9px !important;
  background: rgba(120, 174, 205, .06) !important;
  color: #edf3f6 !important;
  font: 600 13px/20px Inter, sans-serif !important;
  text-decoration: none !important;
  box-shadow: none !important;
  white-space: nowrap;
  flex-shrink: 0;
}
/* Product overview: retain the original anchors and Elementor submenu state. */
.elementor-1494 .vhdr-product-name { display: block; color: #edf3f6; font-weight: 600; }
.elementor-1494 .vhdr-product-desc { display: block; color: #9eafb9; font-size: 13px; line-height: 1.55; font-weight: 400; margin-top: 5px; white-space: normal; }
.elementor-1494 .vhdr-product-copy { min-width: 0; }
.elementor-1494 .vhdr-product-icon { display: inline-flex; flex: 0 0 42px; width: 42px; height: 42px; align-items: center; justify-content: center; background: #142e3a; border: 1px solid #264754; border-radius: 12px; color: #54cee9; }
.elementor-1494 [data-product="visulocal"] .vhdr-product-icon { color: #74c9ab; background: #152d29; border-color: #29463e; }
.elementor-1494 [data-product="visureplay"] .vhdr-product-icon { color: #e8ae83; background: #2f241e; border-color: #4b382d; }
.elementor-1494 [data-product="visu-ads"] .vhdr-product-icon { color: #b0a7e9; background: #252337; border-color: #3c3852; }
@media (min-width: 1025px) {
  .elementor-1494.elementor-location-header .elementor-nav-menu--main .vhdr-products-menu {
    position: fixed !important;
    top: var(--vhdr-menu-top, 84px) !important;
    left: calc(50% - 370px) !important;
    width: 740px !important;
    min-width: 740px !important;
    max-width: calc(100vw - 48px) !important;
    max-height: calc(100dvh - var(--vhdr-menu-top, 84px) - 16px);
    overflow-y: auto;
    margin: 0 !important;
    padding: 22px !important;
    border-radius: 18px !important;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 6px 8px;
  }
  .elementor-1494 .elementor-nav-menu--main .vhdr-products-menu[aria-hidden="false"] { display: grid !important; }
  .elementor-1494 .elementor-nav-menu--main .vhdr-products-menu[aria-hidden="true"] { display: none !important; }
  .elementor-1494 .vhdr-products-menu > .vhdr-product { grid-column: span 6; order: var(--vhdr-order); }
  .elementor-1494 .elementor-nav-menu--main .vhdr-product > a.elementor-sub-item { display: flex; align-items: flex-start; gap: 14px; min-height: 104px; padding: 17px 14px !important; border-radius: 11px !important; white-space: normal !important; }
  .elementor-1494 .vhdr-products-menu > .vhdr-products-heading { grid-column: 1 / -1; width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 0 12px 16px; margin-bottom: 4px; border-bottom: 1px solid var(--vhdr-border); }
  .elementor-1494 .vhdr-product-name { font-size: 15px; }
  .elementor-1494 .vhdr-products-heading > span { font: 500 12px/20px Inter, sans-serif; color: #92a5b0; letter-spacing: .06em; text-transform: uppercase; }
  .elementor-1494 .elementor-nav-menu--main .vhdr-products-heading > a.elementor-sub-item { color: #69d1ee !important; padding: 6px 8px !important; min-height: 36px; font-size: 12px !important; }
  .elementor-1494 .vhdr-products-menu > .vhdr-formats-heading { grid-column: 1 / -1; order: 5; padding: 17px 12px 7px; margin-top: 5px; border-top: 1px solid var(--vhdr-border); font: 500 11px/18px Inter, sans-serif; color: #8fa4b0; letter-spacing: .06em; text-transform: uppercase; }
  .elementor-1494 .vhdr-products-menu > .vhdr-format { grid-column: span 3; order: 6; }
  .elementor-1494 .elementor-nav-menu--main .vhdr-format > a.elementor-sub-item { padding: 10px 14px !important; color: #adbec9 !important; font-size: 13px !important; }
}
@media (max-width: 1024px) {
  .elementor-1494 .vhdr-products-heading > span, .elementor-1494 .vhdr-formats-heading { display: none; }
  .elementor-1494 .vhdr-product-icon { width: 32px; height: 32px; flex-basis: 32px; border-radius: 9px; }
  .elementor-1494 .vhdr-product-icon svg { width: 18px; height: 18px; }
  .elementor-1494 .elementor-nav-menu--dropdown .vhdr-products-menu .vhdr-product > a.elementor-sub-item { display: flex; gap: 12px; align-items: flex-start; white-space: normal; }
  .elementor-1494 .vhdr-product-desc { font-size: 12px; line-height: 1.5; margin-top: 3px; }
}
.elementor-1494 :is(.elementor-widget-button .elementor-button, .vhdr-mobile-login):hover {
  border-color: var(--vhdr-accent) !important;
  background: rgba(63, 197, 236, .1) !important;
}
.elementor-1494 :is(a, .elementor-menu-toggle):focus-visible {
  outline: 2px solid var(--vhdr-accent) !important;
  outline-offset: 3px;
}
.elementor-1494 .elementor-widget-button .elementor-button .elementor-button-text { color: #edf3f6 !important; -webkit-text-fill-color: #edf3f6 !important; }
@media (min-width: 1025px) {
  .elementor-1494.elementor-location-header a.vhdr-mobile-login { display: none !important; }
}
@media (max-width: 1024px) {
  .elementor-1494 :is(.elementor-element-b2f28d2, .elementor-element-9185a30) { padding: 0 24px !important; }
  .elementor-1494 :is(.elementor-element-b2f28d2, .elementor-element-9185a30) { backdrop-filter: none; -webkit-backdrop-filter: none; }
  .elementor-1494 .elementor-element-b2f28d2 > .elementor-container { min-height: 67px; }
  .elementor-1494 .elementor-element-ecec477 > .elementor-widget-wrap { justify-content: flex-end !important; flex-wrap: nowrap !important; gap: 12px; }
  .elementor-1494 .elementor-element-e9a1d56 { width: 44px !important; flex: 0 0 44px; }
  .elementor-1494 .vhdr-mobile-login { display: inline-flex !important; }
  .elementor-1494 .elementor-menu-toggle {
    width: 44px !important;
    height: 44px !important;
    padding: 12px !important;
    border: 1px solid var(--vhdr-border);
    border-radius: 9px;
    color: #e9f0f4 !important;
    background: rgba(164, 191, 211, .04) !important;
    margin: 0 !important;
  }
  .elementor-1494 .elementor-menu-toggle svg { width: 20px; height: 20px; }
  .elementor-1494 .elementor-menu-toggle.elementor-active { background: #152831 !important; border-color: rgba(63, 197, 236, .4); }
  .elementor-1494 .elementor-widget-nav-menu > .elementor-nav-menu__container.elementor-nav-menu--dropdown {
    position: fixed !important;
    top: var(--vhdr-menu-top, 76px) !important;
    left: 12px !important;
    right: 12px !important;
    width: auto !important;
    max-height: calc(100dvh - var(--vhdr-menu-top, 76px) - 12px) !important;
    margin: 0 !important;
    background: #0e171d !important;
    border: 1px solid var(--vhdr-border);
    border-radius: 15px;
    box-shadow: 0 24px 64px rgba(0, 0, 0, .6);
    overflow: auto !important;
    overscroll-behavior: contain;
    z-index: 1002;
  }
  .elementor-1494.elementor-location-header .elementor-widget-nav-menu > .elementor-nav-menu__container.elementor-nav-menu--dropdown { margin: 0 !important; }
  .elementor-1494 .elementor-widget-nav-menu > .elementor-nav-menu--dropdown[aria-hidden="true"] { visibility: hidden !important; pointer-events: none !important; }
  .elementor-1494 .elementor-widget-nav-menu > .elementor-nav-menu--dropdown[aria-hidden="false"] { transform: none !important; max-height: calc(100dvh - var(--vhdr-menu-top, 76px) - 12px) !important; }
  .elementor-1494 .elementor-widget-nav-menu > .elementor-nav-menu--dropdown > .elementor-nav-menu { padding: 10px 12px; }
  /* Both compact widgets share left alignment, including Elementor's centered tablet menu. */
  .elementor-1494.elementor-location-header .elementor-widget-nav-menu > nav.elementor-nav-menu--dropdown :is(a.elementor-item, a.elementor-sub-item) {
    justify-content: flex-start !important;
    text-align: left !important;
  }
  .elementor-1494 .elementor-nav-menu--dropdown .elementor-item {
    min-height: 52px;
    padding: 14px 14px !important;
    border: 0 !important;
    border-radius: 8px;
    justify-content: space-between;
    color: #dce5ea !important;
    background: transparent !important;
    font: 500 16px/24px Inter, sans-serif !important;
  }
  /* Item ativo/aberto = so a cor muda. Sem caixa de fundo: ao lado do botao de
     submenu ela lia como dois estados diferentes na mesma linha (dono 05/09). */
  .elementor-1494 .elementor-nav-menu--dropdown .elementor-item:is(:hover, :focus-visible, .highlighted, .elementor-item-active) { color: var(--vhdr-accent) !important; background: transparent !important; }
  .elementor-1494 .elementor-nav-menu--dropdown > .elementor-nav-menu > li + li { border-top: 1px solid rgba(172, 199, 215, .07); }
  .elementor-1494 .elementor-nav-menu--dropdown .sub-menu { padding: 4px 0 10px 12px !important; background: transparent !important; }
  .elementor-1494 .elementor-nav-menu--dropdown .elementor-sub-item {
    color: #adbec9 !important;
    background: transparent !important;
    font: 400 14px/22px Inter, sans-serif !important;
    min-height: 44px;
    padding: 11px 16px !important;
    border: 0 !important;
    border-left: 1px solid #2a404d !important;
    margin-left: 2px;
  }
  .elementor-1494 .elementor-nav-menu--dropdown .elementor-sub-item:is(:hover, :focus-visible) { color: #fff !important; background: #192a34 !important; }
  .elementor-1494 .elementor-nav-menu--dropdown .vhdr-mobile-branch { display: grid; grid-template-columns: minmax(0, 1fr) 44px; align-items: start; }
  .elementor-1494 .vhdr-mobile-branch > a .visu-menu-arrow { display: none !important; }
  .elementor-1494 .elementor-nav-menu--dropdown .vhdr-mobile-branch > .sub-menu { grid-column: 1 / -1; width: 100% !important; max-width: 100% !important; margin: 0 !important; position: static !important; }
  .elementor-1494 .elementor-nav-menu--dropdown .vhdr-mobile-branch[data-vhdr-open="false"] > .sub-menu { display: none !important; }
  .elementor-1494 .elementor-nav-menu--dropdown .vhdr-mobile-branch[data-vhdr-open="true"] > .sub-menu { display: block !important; visibility: visible !important; }
  .elementor-1494 .vhdr-submenu-toggle { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; min-width: 44px; min-height: 44px; margin: 4px 0; padding: 0; border: 0; border-radius: 8px; background: transparent; color: #8fa2ae; box-shadow: none; cursor: pointer; }
  .elementor-1494 .vhdr-submenu-toggle > svg { display: block; flex: none; width: 20px; height: 20px; transform: rotate(0deg); transition: transform .16s ease; }
  .elementor-1494 .vhdr-submenu-toggle[aria-expanded="true"] { background: transparent; color: var(--vhdr-accent); }
  .elementor-1494 .vhdr-submenu-toggle[aria-expanded="true"] > svg { transform: rotate(180deg); }
  .elementor-1494 .vhdr-submenu-toggle:focus-visible { outline: 2px solid var(--vhdr-accent); outline-offset: 2px; }
}
@media (max-width: 767px) {
  .elementor-1494 .elementor-element-9185a30 { padding: 0 16px !important; }
  .elementor-1494 .elementor-element-9185a30 > .elementor-container { min-height: 63px; align-items: center; flex-wrap: nowrap; }
  .elementor-1494 .elementor-element-642f559 { width: 92px !important; flex: 0 0 92px; }
  .elementor-1494 .elementor-element-166f827 { margin: 0 !important; width: 100% !important; }
  .elementor-1494 .elementor-element-166f827 img { width: 78px !important; height: auto !important; }
  .elementor-1494 .elementor-element-024d1d8 { width: auto !important; flex: 1; }
  .elementor-1494 .elementor-element-024d1d8 > .elementor-widget-wrap { justify-content: flex-end !important; flex-wrap: nowrap !important; gap: 10px; }
  .elementor-1494 .elementor-element-5350d97 { width: 44px !important; flex: 0 0 44px; margin: 0 !important; }
  .elementor-1494 .vhdr-mobile-login { padding: 10px 15px !important; }
}
@media (prefers-reduced-motion: reduce) {
  .elementor-1494 *, .elementor-1494 *::before, .elementor-1494 *::after { transition: none !important; animation: none !important; }
}

/* Menu compacto aberto: a pagina nao rola, so o menu. Evita barra dupla no
   desktop e conteudo deslizando atras do menu no mobile. */
html.vhdr-menu-open { overflow: hidden !important; }
.elementor-1494 nav.elementor-nav-menu--dropdown { scrollbar-width: thin; scrollbar-color: rgba(172, 199, 215, .35) transparent; }

/* Dropdowns simples no desktop: mesma distancia da barra que o mega menu
   (4px abaixo da base da barra). Antes abriam colados no item, 16px acima da
   base, e o Produtos 8px abaixo: duas alturas para o mesmo gesto (dono 05/09). */
@media (min-width: 1025px) {
  .elementor-1494 .elementor-nav-menu--main .sub-menu:not(.vhdr-products-menu) { margin-top: 20px !important; }
}
