/**
 * adaptive/touch.css — Этап 5.2
 * Touch / coarse-pointer only. Desktop (fine pointer + hover) не меняем.
 * Подключать ПОСЛЕДНИМ среди CSS, чтобы min-height побеждал page overrides.
 */

:root {
  --voltark-tap-min: 44px;
}

/* Убрать синюю/серую вспышку при тапе (iOS/Android WebKit). */
a,
button,
[role="button"],
.btn,
.chip,
.tab-item,
.header-icon-btn,
.nav-toggle,
.bottom-nav-btn,
.nf-nav button,
input,
select,
textarea,
label {
  -webkit-tap-highlight-color: transparent;
}

/* Убрать ~300ms delay на тап; не трогаем зоны с touch-action: none (жесты). */
a,
button,
[role="button"],
.btn,
.chip,
.tab-item,
.header-icon-btn,
.nav-toggle,
.bottom-nav-btn,
.nf-nav button,
input:not([type="range"]),
select,
textarea {
  touch-action: manipulation;
}

input[type="range"] {
  touch-action: pan-y;
}

/**
 * Tap-target ≥ 44px только на coarse pointer.
 * !important — только внутри (pointer: coarse), чтобы перекрыть page min-height 32/36.
 */
@media (pointer: coarse) {
  html body .btn,
  html body .btn-sm,
  html body a.btn,
  html body .chip,
  html body .tab-item,
  html body .tab-action-btn,
  html body .tab-move-btn,
  html body .header-icon-btn,
  html body .nav-toggle,
  html body .bottom-nav-btn,
  html body .nf-nav button,
  html body .friends-fab,
  html body button:not([hidden]),
  html body [role="button"],
  html body input:not([type="checkbox"], [type="radio"], [type="hidden"], [type="file"]),
  html body select,
  html body textarea {
    min-height: var(--voltark-tap-min) !important;
    box-sizing: border-box;
  }

  html body .header-icon-btn,
  html body .nav-toggle,
  html body .bottom-nav-btn,
  html body .tab-move-btn,
  html body .tab-action-btn,
  html body .nf-nav button {
    min-width: var(--voltark-tap-min) !important;
  }

  html body .header-icon-btn,
  html body .nav-toggle {
    position: relative;
  }

  html body .header-icon-btn::before,
  html body .nav-toggle::before {
    content: "";
    position: absolute;
    inset: -8px;
  }
}

/* Без hover — сбросить «залипший» hover после тапа. */
@media (hover: none) {
  html body .btn:hover,
  html body .btn-sm:hover,
  html body .btn-outline:hover,
  html body .btn-buy:hover,
  html body .btn-play-green:hover,
  html body .btn-danger:hover,
  html body .chip:hover,
  html body .tab-item:hover,
  html body .tab-action-btn:hover,
  html body .nav-toggle:hover,
  html body .config-card:hover,
  html body .header-icon-btn:hover {
    filter: none;
    transform: none;
    box-shadow: none;
  }

  html body .btn-outline:hover {
    background: transparent;
  }

  html body .chip:hover {
    background: transparent;
    color: var(--text-muted, #8d8d8d);
  }

  html body .config-card:hover {
    border-color: var(--border, #2a2e3d);
  }
}
