/* Клавіатурна навігація — помітна обводка при Tab */

/* Помітне кільце при навігації клавіатурою (Tab) */
body.ukc-keyboard-nav :is(
  a,
  button,
  input,
  select,
  textarea,
  summary,
  .dropdown__header,
  [tabindex]:not([tabindex="-1"])
):focus,
body.ukc-keyboard-nav .ukc-tab-focus {
  outline: 4px solid #ffd500 !important;
  outline-offset: 3px !important;
  box-shadow:
    0 0 0 6px rgba(0, 87, 183, 0.92),
    0 0 16px rgba(255, 213, 0, 0.55) !important;
  position: relative;
  z-index: 5;
}

body.ukc-keyboard-nav .header a:focus,
body.ukc-keyboard-nav .header button:focus,
body.ukc-keyboard-nav .nav a:focus,
body.ukc-keyboard-nav .nav button:focus,
body.ukc-keyboard-nav .footer a:focus,
body.ukc-keyboard-nav .footer button:focus {
  z-index: 100;
}

body.ukc-keyboard-nav .form-input:focus,
body.ukc-keyboard-nav .form-field input:focus,
body.ukc-keyboard-nav .header-search__input:focus,
body.ukc-keyboard-nav .consultation .form-input:focus {
  outline: 4px solid #0057b7 !important;
  outline-offset: 2px !important;
  box-shadow:
    0 0 0 6px rgba(255, 213, 0, 0.95),
    0 0 0 10px rgba(0, 87, 183, 0.35) !important;
}

body.ukc-keyboard-nav.lowvision :is(
  a,
  button,
  input,
  select,
  textarea,
  .dropdown__header,
  [tabindex]:not([tabindex="-1"])
):focus,
body.ukc-keyboard-nav.lowvision .ukc-tab-focus {
  outline: 4px solid #000 !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 6px #fff !important;
  background-color: #fff !important;
}

/* Fallback для браузерів з :focus-visible */
:where(
  a,
  button,
  input,
  select,
  textarea,
  summary,
  .dropdown__header,
  [tabindex]:not([tabindex="-1"])
):focus-visible {
  outline: 4px solid #ffd500;
  outline-offset: 3px;
  box-shadow: 0 0 0 6px rgba(0, 87, 183, 0.85);
}

body.menu-opened .nav:focus-within {
  box-shadow: inset 0 0 0 3px #ffd500;
}

@media (min-width: 1221px) {
  body.ukc-2026 .sub-menu.opened .sub-menu__title:focus,
  body.ukc-2026 .sub-menu:focus-within .sub-menu__title {
    color: var(--ukc-gold, #ffd500) !important;
  }
}

button.site-map__head {
  display: block;
  width: 100%;
  border: 0;
  color: inherit;
  font: inherit;
  text-align: inherit;
  cursor: pointer;
  position: relative;
}

body.ukc-keyboard-nav button.site-map__head:focus,
body.ukc-keyboard-nav button.site-map__head.ukc-tab-focus {
  outline-offset: -4px;
  box-shadow: inset 0 0 0 3px #ffd500, inset 0 0 0 6px rgba(0, 87, 183, 0.85) !important;
}

/* Портал: тег обраного населеного пункту — без синього кільця фокусу */
body.ukc-2026 #root .rc-tree-select-selection__choice:focus,
body.ukc-2026 #root .rc-tree-select-selection__choice:focus-visible,
body.ukc-keyboard-nav #root .rc-tree-select-selection__choice:focus,
body.ukc-keyboard-nav #root .rc-tree-select-selection__choice.ukc-tab-focus {
  outline: none !important;
  box-shadow: none !important;
}
