/* fx-base.css — глобальные плавные переходы, кнопки, доступность.
 * Подключается ПОСЛЕ tg-mockup.css и до fx-cards / fx-content. */

/* ── Глобальные плавные transitions ─────────────────────────────────── */
a, button, [role="button"], summary, .btn,
.feature-cat, .tariff, .sol-card, .step, .tariff-features li,
.compare tr, .preset-chip, .faq-item, .reply-btn, .msg-btn,
.marquee-item {
  transition:
    transform var(--dur-fast, .18s) var(--ease-out, ease-out),
    box-shadow var(--dur-fast, .18s) var(--ease-out, ease-out),
    background var(--dur-fast, .18s) var(--ease-out, ease-out),
    color var(--dur-fast, .18s) var(--ease-out, ease-out),
    border-color var(--dur-fast, .18s) var(--ease-out, ease-out),
    opacity var(--dur-fast, .18s) var(--ease-out, ease-out);
}

/* ── Кнопки: press-эффект + focus-visible для доступности ───────────── */
.btn:active { transform: scale(0.97); }
.btn:focus-visible {
  outline: 2px solid var(--accent-mint, #6dd3b1);
  outline-offset: 3px;
}

/* ── Counter числа: glow при hover родителя ─────────────────────────── */
.count, .val {
  transition: text-shadow .3s, transform .3s var(--ease-out, ease-out);
}
.feature-cat-head:hover .count {
  transform: scale(1.18);
  text-shadow: 0 0 20px rgba(178, 75, 243, 0.7);
}

/* ── Pricing-urgency: subtle pulse для срочности ────────────────────── */
.pricing-urgency {
  animation: urgency-pulse 3s ease-in-out infinite;
}
@keyframes urgency-pulse {
  0%, 100% { opacity: 0.85; }
  50%      { opacity: 1; }
}

/* ── Mobile: убираем translateY чтобы не "прыгало" на тапе ──────────── */
@media (hover: none) {
  .feature-cat:hover, .tariff:hover, .step:hover, #honest article:hover {
    transform: none;
  }
}

/* ── Reduced motion: респект пользователю с настройкой ──────────────── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
