/* Navegacao principal — interacao refinada para desktop */
@media (min-width: 1201px) and (hover: hover) and (pointer: fine) {
  .nav-links {
    align-self: stretch;
  }

  .nav-links > li:not(.nav-sep) {
    align-self: stretch;
  }

  .nav-links > li:not(.nav-sep):not(.nav-item) > a:not(.nav-cta),
  .nav-links > .nav-item > .nav-drop-btn {
    position: relative;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    height: 100%;
    min-height: 58px;
    padding: 0 13px;
    line-height: 1;
    box-shadow: none !important;
  }

  .nav-links > li:not(.nav-sep):not(.nav-item) > a:not(.nav-cta)::after,
  .nav-links > .nav-item > .nav-drop-btn::after {
    content: '';
    position: absolute;
    right: 13px;
    bottom: 0;
    left: 13px;
    height: 2px;
    border-radius: 999px;
    background: var(--ocre, #c8763a);
    transform: scaleX(0);
    transform-origin: left center;
    opacity: 0;
    transition:
      transform 240ms cubic-bezier(.22, .61, .36, 1),
      opacity 160ms ease;
  }

  .nav-links > li:not(.nav-sep):not(.nav-item) > a:not(.nav-cta):hover::after,
  .nav-links > li:not(.nav-sep):not(.nav-item) > a:not(.nav-cta):focus-visible::after,
  .nav-links > .nav-item:hover > .nav-drop-btn::after,
  .nav-links > .nav-item:focus-within > .nav-drop-btn::after,
  .nav-links > .nav-item.open > .nav-drop-btn::after {
    transform: scaleX(1);
    opacity: 1;
  }

  /* Ponte invisivel: o ponteiro cruza o pequeno espaco sem fechar o submenu. */
  .nav-links > .nav-item::after {
    content: '';
    position: absolute;
    right: 0;
    bottom: -12px;
    left: 0;
    height: 12px;
  }

  .nav-links > .nav-item > .nav-dropdown {
    top: calc(100% + 10px);
    display: block;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transform: translateX(-50%) translateY(-10px);
    transform-origin: top center;
    transition:
      opacity 190ms ease,
      transform 240ms cubic-bezier(.22, .61, .36, 1),
      visibility 0s linear 240ms;
    will-change: opacity, transform;
  }

  .nav-links > .nav-item:hover > .nav-dropdown,
  .nav-links > .nav-item:focus-within > .nav-dropdown,
  .nav-links > .nav-item.open > .nav-dropdown {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0);
    transition-delay: 0s;
  }

  .nav-links > .nav-item:hover > .nav-drop-btn .nd-chev,
  .nav-links > .nav-item:focus-within > .nav-drop-btn .nd-chev,
  .nav-links > .nav-item.open > .nav-drop-btn .nd-chev {
    transform: rotate(180deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .nav-links > li > a::after,
  .nav-links > .nav-item > .nav-drop-btn::after,
  .nav-links > .nav-item > .nav-dropdown,
  .nav-links > .nav-item > .nav-drop-btn .nd-chev {
    transition-duration: 0.01ms !important;
  }
}
