/* Sprint 11/12 — contraste, foco e adaptação de interação do tema Nublado. */

html[data-theme="cinza"] {
  color-scheme: light;
  accent-color: var(--nuv-navy);
}

html[data-theme="cinza"] ::selection {
  background: var(--nuv-navy) !important;
  color: var(--nuv-text-on-header) !important;
}

html[data-theme="cinza"] :is(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 0.125rem solid var(--nuv-navy-deep) !important;
  outline-offset: 0.125rem !important;
  box-shadow: var(--nuv-focus) !important;
}

html[data-theme="cinza"] :is(input, textarea)::placeholder {
  color: var(--nuv-text-muted) !important;
  opacity: 1 !important;
}

html[data-theme="cinza"] :is(button, input, select, textarea, [role="button"]):disabled,
html[data-theme="cinza"] :is(button, input, select, textarea, [role="button"])[aria-disabled="true"] {
  color: var(--nuv-text-muted) !important;
  border-color: var(--nuv-line-subtle) !important;
  filter: saturate(.45) contrast(.92) !important;
  opacity: .72 !important;
}

html[data-theme="cinza"] :is([aria-current="page"], [aria-selected="true"], [aria-pressed="true"]) {
  border-color: var(--nuv-line-strong) !important;
}

@media (hover: none), (pointer: coarse) {
  html[data-theme="cinza"] :is(a, button, [role="button"]):active {
    filter: brightness(.94) contrast(1.05) !important;
  }
}

@media (prefers-contrast: more) {
  html[data-theme="cinza"] {
    --nuv-line-subtle: rgba(20, 24, 29, .42);
    --nuv-line: rgba(20, 24, 29, .62);
    --nuv-line-strong: rgba(20, 24, 29, .82);
    --nuv-text-soft: #252b32;
    --nuv-text-muted: #303842;
  }

  html[data-theme="cinza"] :is(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline-color: #071927 !important;
    box-shadow: 0 0 0 0.25rem rgba(var(--nuv-navy-rgb), .48) !important;
  }
}

@media (forced-colors: active) {
  html[data-theme="cinza"] :is(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline: 0.125rem solid Highlight !important;
    box-shadow: none !important;
  }

  html[data-theme="cinza"] :is([aria-current="page"], [aria-selected="true"], [aria-pressed="true"]) {
    outline: 0.0625rem solid Highlight !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html[data-theme="cinza"] *,
  html[data-theme="cinza"] *::before,
  html[data-theme="cinza"] *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}
