/* ══════════════════════════════════════════════════════════════
   NC Clinic — Accessibility
   Focus indicators для карточек, навигации, интерактивных блоков.
   Общие a11y-хелперы (skip-link, sr-only) живут в global.css.
   ══════════════════════════════════════════════════════════════ */

/* ═══ 0. Обводка-фокус ТОЛЬКО для клавиатуры ═══════════════════
   Гасим синюю рамку на тап/клик (мышь, палец) — она показывается лишь
   при навигации с клавиатуры (:focus-visible). Так тач-юзер её не видит,
   а доступность (WCAG 2.4.7 / 152-ФЗ) сохраняется. */
:focus:not(:focus-visible) { outline: none !important; }

/* ═══ 1. FOCUS для карточек ═══════════════════════════════════
   :has(:focus-visible) вместо :focus-within — иначе рамка карточки лезла
   на ТАП (:focus-within не отличает клавиатуру от указателя). Теперь ring
   всей карточки появляется только когда вложенная ссылка в keyboard-фокусе. */
.nc-doc-card:has(:focus-visible),
.nc-article-card:has(:focus-visible),
.nc-event-card:has(:focus-visible),
.nc-promo-card:has(:focus-visible),
.nc-service-row:has(:focus-visible),
.nc-review-card:has(:focus-visible) {
  box-shadow: var(--shadow-lg);
  outline: 2px solid var(--primary);
  outline-offset: 2px;
}

.nc-doc-card a:focus-visible,
.nc-article-card a:focus-visible,
.nc-event-card a:focus-visible {
  outline: none;
}

/* ═══ 2. FOCUS для навигации (шапка, tabbar) ═════════════════ */

.nc-nav-list a:focus-visible,
.nc-tabbar-item:focus-visible,
.nc-burger:focus-visible {
  outline: 2px solid var(--primary);
  outline-offset: -2px;
  border-radius: var(--r-xs);
}

/* ═══ 3. FOCUS для pills / badges / фильтров ═════════════════ */

.nc-pill:focus-visible,
.nc-filter-bar [role="button"]:focus-visible {
  outline: 2px solid var(--primary);
  outline-offset: 2px;
}

/* ═══ 4. FOCUS для tabs / аккордеонов ════════════════════════ */

.doctor-tab-link:focus-visible,
.nc-faq-toggle:focus-visible,
.nc-doctor-prices-toggle:focus-visible {
  outline: 2px solid var(--primary);
  outline-offset: -2px;
}

/* ═══ 5. SCREEN READER ONLY ══════════════════════════════════ */

.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* ═══ 6. HIGH CONTRAST ═══════════════════════════════════════ */

@media (prefers-contrast: more) {
  .nc-breadcrumbs__item a { text-decoration: underline; }
  .nc-badge, .nc-pill { border-width: 2px; }
}
