.skip-link {
  position: fixed;
  left: 16px;
  top: -80px;
  z-index: 1000;
  background: #111827;
  color: #fff;
  border-radius: 10px;
  padding: 10px 14px;
  font-weight: 900;
  box-shadow: 0 16px 32px rgba(15, 23, 42, .22);
}

.skip-link:focus {
  top: 16px;
  outline: 3px solid #facc15;
}

.accessibility-tools {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.accessibility-tools button {
  border: 1px solid var(--line);
  background: #fff;
  color: var(--dark);
  border-radius: 10px;
  padding: 8px 10px;
  font: inherit;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
}

.accessibility-tools button:hover,
.accessibility-tools button:focus-visible,
.accessibility-tools button[aria-pressed="true"] {
  background: var(--dark);
  color: #fff;
  outline: none;
}

body.font-large {
  font-size: 18px;
}

body.font-larger {
  font-size: 20px;
}

body.high-contrast {
  --bg: #000;
  --paper: #000;
  --dark: #fff;
  --dark2: #fff;
  --text: #fff;
  --muted: #f8fafc;
  --line: #fff;
  --red: #facc15;
  --red2: #facc15;
  --yellow: #facc15;
  background: #000 !important;
  color: #fff;
}

body.high-contrast .header,
body.high-contrast .box,
body.high-contrast .card,
body.high-contrast .article,
body.high-contrast .sponsor-inline,
body.high-contrast .editorial-card,
body.high-contrast .tabs a,
body.high-contrast .searchbar input,
body.high-contrast .midia-placeholder,
body.high-contrast .accessibility-tools button {
  background: #000 !important;
  color: #fff !important;
  border-color: #fff !important;
}

body.high-contrast a,
body.high-contrast .brand strong span,
body.high-contrast .kicker,
body.high-contrast .badge,
body.high-contrast .tag,
body.high-contrast .time {
  color: #facc15 !important;
}

body.high-contrast .badge,
body.high-contrast .ticker b,
body.high-contrast .btn-primary,
body.high-contrast .btn-dark {
  background: #facc15 !important;
  color: #000 !important;
}

body.reduce-motion *,
body.reduce-motion *::before,
body.reduce-motion *::after {
  animation-duration: .001ms !important;
  animation-iteration-count: 1 !important;
  scroll-behavior: auto !important;
  transition-duration: .001ms !important;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .001ms !important;
  }
}

/* Responsivo tratado em style.css */
