/* ═══════════════════════════════════════════════════════════════════════════
   URIS UIKit — спільні утиліти
   Підключається першим у preview/index.html, до будь-яких компонентів.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Visually hidden ───────────────────────────────────────────────────────── */
/*
  Ховає елемент візуально, зберігаючи доступність для скрінридерів.
  Нова розмітка: клас .uris-visually-hidden.
  Аліаси для зворотної сумісності (стилі з компонентів перенесено сюди):
    .spinner__label  (spinner.css)
    .search__label   (search.css)
    .switch__input   (switch.css)
*/
.uris-visually-hidden,
.spinner__label,
.search__label,
.switch__input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

/* ── Фокус-кільце (глобальний дефолт) ──────────────────────────────────────── */
/*
  Єдине кільце фокуса дизайн-системи: 2px, semantic-focus-ring, offset 2px.
  :where() дає нульову специфічність, тож будь-яке компонентне правило
  (інший offset, inset-кільце, кільце на проксі-елементі через :has()/+,
  outline: none на .fa-input тощо) перекриває цей дефолт без !important.
  Компонентні дублікати «outline 2px ring + offset 2px» видалено — їхні
  елементи покриває це правило. Варіанти (offset -2px/1px/3px, border-radius,
  колірні оверрайди) лишаються у CSS компонентів.
*/
:where(:focus-visible) {
  outline: 2px solid var(--uris-color-semantic-focus-ring);
  outline-offset: 2px;
}

/* ── Моноширинні технічні дані ─────────────────────────────────────────────── */
/*
  JetBrains Mono (3-й шрифт брендбука) для технічних метаданих:
  DOI, ORCID, ЄДРПОУ, ідентифікатори, коди. Кегль успадковується від контексту.
*/
.uris-mono {
  font-family: var(--uris-font-family-mono);
  font-variant-numeric: tabular-nums;
}
