.nf-link-oficial,
.nf-link-interno {
  position: relative;
  color: #005f9e;
  font-weight: 650;
  text-decoration: none;
  border-bottom: 1px dotted rgba(0, 95, 158, 0.72);
  transition: color 0.16s ease, border-color 0.16s ease;
}

.nf-link-interno {
  color: #006b4f;
  border-bottom-color: rgba(0, 107, 79, 0.72);
}

.nf-link-interno:hover,
.nf-link-interno:focus {
  color: #004533;
  border-bottom-color: #004533;
}

.nf-link-oficial:hover,
.nf-link-oficial:focus,
.nf-link-interno:hover,
.nf-link-interno:focus {
  color: #002c4b;
  border-bottom-color: #002c4b;
  outline: none;
}

.nf-link-oficial::after,
.nf-link-interno::after {
  content: attr(data-tooltip);
  position: absolute;
  left: 0;
  bottom: calc(100% + 10px);
  z-index: 99999;
  width: min(320px, 80vw);
  padding: 11px 13px;
  background: #002c4b;
  color: #ffffff;
  font-size: 12px;
  line-height: 1.45;
  font-weight: 400;
  border-radius: 10px;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.20);
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease;
  pointer-events: none;
  white-space: normal;
}

.nf-link-oficial::before,
.nf-link-interno::before {
  content: "";
  position: absolute;
  left: 14px;
  bottom: calc(100% + 4px);
  z-index: 99999;
  border: 6px solid transparent;
  border-top-color: #002c4b;
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease;
  pointer-events: none;
}

.nf-link-oficial:hover::after,
.nf-link-oficial:focus::after,
.nf-link-oficial:hover::before,
.nf-link-oficial:focus::before,
.nf-link-interno:hover::after,
.nf-link-interno:focus::after,
.nf-link-interno:hover::before,
.nf-link-interno:focus::before {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

@media (max-width: 768px) {
  .nf-link-oficial::before,
  .nf-link-oficial::after,
.nf-link-interno::after {
    display: none;
  }
}

.nf-link-interno:hover,
.nf-link-interno:focus {
  color: #004533;
  border-bottom-color: #004533;
}
