@import url('/css/redesign.css');

/* Ajustes globais de interface e acessibilidade.
   Não altera conteúdo indexável, metadados, schema ou URLs. */

*,
*::before,
*::after {
  box-sizing: border-box;
}

.skip-link {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 2000;
  padding: 12px 16px;
  border-radius: 10px;
  background: #12333F;
  color: #FFFFFF;
  font-weight: 700;
  transform: translateY(-160%);
  transition: transform 0.2s ease;
}

.skip-link:focus {
  transform: translateY(0);
}

a:focus-visible,
summary:focus-visible {
  outline: 3px solid #F2AE2E;
  outline-offset: 4px;
}

/* Ajustes de contraste para texto normal e CTAs. */
[style*="color:#8A9BA5"] {
  color: #5B6E76 !important;
}

a[style*="color:#0F8B8D"] {
  color: #056B70 !important;
}

a[style*="background:#1FAE54"] {
  background: #087A37 !important;
}

a[style*="background:#F0562A"] {
  background: #C83D18 !important;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto !important;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

@media (max-width: 640px) {
  body > nav > div {
    padding: 10px 16px !important;
    gap: 10px !important;
  }

  body > nav > div > div {
    width: 100%;
    justify-content: flex-start !important;
    gap: 14px !important;
    flex-wrap: nowrap !important;
    overflow-x: auto;
    padding-bottom: 2px;
    scrollbar-width: thin;
  }

  body > nav > div > div > a {
    flex: 0 0 auto;
  }

  a[style*="position:fixed"] {
    right: 18px !important;
    bottom: 18px !important;
  }
}
