/* Kinoportal redesign — Stage 1: restrained motion and interaction feedback */
@keyframes kpFadeIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes kpSoftPulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(139, 92, 246, 0); }
  50% { box-shadow: 0 0 0 5px rgba(139, 92, 246, .08); }
}

body:not(.admin-body) :where(.content-section, .news-item, .article-card, .quiz-card, .media-card, .user-card, .forum-card, .search-section) {
  animation: kpFadeIn .42s both;
}

body:not(.admin-body) :where(.btn, .button, .kp-btn, .login-button, .register-button, .media-card__button, .article-card__button, .quiz-card__button) {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

@media (hover: hover) and (pointer: fine) {
  body:not(.admin-body) :where(
    .card, .news-item, .article-card, .quiz-card, .media-card,
    .user-card, .forum-section-card, .search-card, .actor-card
  ) {
    transition: transform var(--kp-transition), border-color var(--kp-transition), box-shadow var(--kp-transition), background-color var(--kp-transition);
  }

  body:not(.admin-body) :where(
    .card, .news-item, .article-card, .quiz-card, .media-card,
    .user-card, .forum-section-card, .search-card, .actor-card
  ):hover {
    transform: translateY(-4px);
    border-color: var(--kp-border-strong) !important;
    box-shadow: var(--kp-shadow-glow) !important;
  }

  body:not(.admin-body) :where(
    .card, .news-item, .article-card, .quiz-card, .media-card,
    .user-card, .search-card, .actor-card
  ):hover :where(.poster img, .article-card__cover img, .quiz-card__cover img, .media-card__cover img, .news-item__image, .user-avatar) {
    transform: scale(1.025);
  }

  body:not(.admin-body) :where(
    .btn, .button, .kp-btn, .login-button, .register-button,
    .media-card__button, .article-card__button, .quiz-card__button,
    .pagination a, .pagination__btn, .pagination__page, .pagination__nav
  ):hover {
    transform: translateY(-1px);
    border-color: var(--kp-border-strong) !important;
    background: var(--kp-surface-hover) !important;
    box-shadow: var(--kp-shadow-xs);
  }

  body:not(.admin-body) :where(
    .btn-primary, .btn--primary, .button.primary, .kp-btn--primary,
    .login-button, .register-button, .media-card__button,
    .article-card__button, .quiz-card__button, .home-poll__button
  ):hover {
    background: linear-gradient(135deg, var(--kp-primary-hover), #2563eb) !important;
    box-shadow: 0 12px 28px rgba(91, 33, 182, .34) !important;
  }

  body:not(.admin-body) .kp-brand:hover { animation: kpSoftPulse 1.1s ease; }
}

body:not(.admin-body) :where(.btn, .button, .kp-btn, button):active { transform: translateY(0) scale(.985); }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}
