/* Kinoportal redesign — Stage 1: reusable components and compatibility layer */
body:not(.admin-body) :where(
  .card, .panel, .content-section, .news-item, .article-card, .quiz-card,
  .review-item, .user-card, .role-block, .forum-card, .forum-section-card,
  .search-card, .actor-card, .home-poll__card, .login-container,
  .register-container, .profile-container, .modal__content, .modal-content,
  .search-hero, .empty-box
) {
  color: var(--kp-text) !important;
  background: linear-gradient(145deg, rgba(255, 255, 255, .025), transparent 58%), var(--kp-surface) !important;
  border: 1px solid var(--kp-border) !important;
  border-radius: var(--kp-radius-lg) !important;
  box-shadow: var(--kp-shadow-sm) !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

html[data-theme="light"] body:not(.admin-body) :where(
  .card, .panel, .content-section, .news-item, .article-card, .quiz-card,
  .review-item, .user-card, .role-block, .forum-card, .forum-section-card,
  .search-card, .actor-card, .home-poll__card, .login-container,
  .register-container, .profile-container, .modal__content, .modal-content,
  .search-hero, .empty-box
) {
  background: linear-gradient(145deg, rgba(124, 58, 237, .025), transparent 58%), var(--kp-surface) !important;
}

body:not(.admin-body) :where(.poster, .frame, .news-item__media, .article-card__cover, .quiz-card__cover, .media-card__cover, .search-card__thumb, .actor-card img) {
  background-color: var(--kp-surface-2) !important;
  border-color: var(--kp-border) !important;
}

body:not(.admin-body) :where(.poster img, .article-card__cover img, .quiz-card__cover img, .media-card__cover img, .news-item__image, .user-avatar) {
  transition: transform var(--kp-transition-slow), filter var(--kp-transition);
}

body:not(.admin-body) :where(
  .btn, .button, .kp-btn, .login-button, .register-button,
  .media-card__button, .article-card__button, .quiz-card__button,
  .forum-btn, .pagination a, .pagination span, .pagination__btn,
  .pagination__page, .pagination__nav, .articles-pagination__link
) {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 9px 15px;
  border: 1px solid var(--kp-border) !important;
  border-radius: var(--kp-radius-md) !important;
  color: var(--kp-text) !important;
  background: rgba(255, 255, 255, .055) !important;
  box-shadow: none;
  font: inherit;
  font-weight: 750 !important;
  line-height: 1.15;
  text-decoration: none !important;
  cursor: pointer;
  transition: transform var(--kp-transition-fast), border-color var(--kp-transition), background-color var(--kp-transition), color var(--kp-transition), box-shadow var(--kp-transition);
}

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,
  .pagination .current, .pagination__btn.is-current,
  .pagination__page.is-active, .pagination__page[aria-current="page"],
  .articles-pagination__link.is-current
) {
  color: #fff !important;
  border-color: transparent !important;
  background: linear-gradient(135deg, var(--kp-primary), var(--kp-secondary)) !important;
  box-shadow: 0 9px 24px rgba(91, 33, 182, .26) !important;
}

body:not(.admin-body) :where(.btn--ghost, .button.ghost, .kp-btn--ghost, .forum-btn-ghost, .btn--secondary) {
  background: rgba(255, 255, 255, .045) !important;
  border-color: var(--kp-border) !important;
  color: var(--kp-text) !important;
}

body:not(.admin-body) :where(.btn-danger, .link--danger, .forum-btn-ghost--danger) {
  color: #fb7185 !important;
  border-color: rgba(244, 63, 94, .32) !important;
  background: rgba(244, 63, 94, .10) !important;
}

body:not(.admin-body) :where(.btn-success, .forum-btn-ghost--success) {
  color: #4ade80 !important;
  border-color: rgba(34, 197, 94, .30) !important;
  background: rgba(34, 197, 94, .10) !important;
}

body:not(.admin-body) :where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]), select, textarea) {
  width: 100%;
  min-height: 44px;
  padding: 10px 13px;
  border: 1px solid var(--kp-input-border) !important;
  border-radius: var(--kp-radius-md) !important;
  color: var(--kp-input-text) !important;
  background: var(--kp-input-bg) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .025);
  font: inherit;
  transition: border-color var(--kp-transition), box-shadow var(--kp-transition), background-color var(--kp-transition);
}

body:not(.admin-body) textarea { min-height: 120px; resize: vertical; }
body:not(.admin-body) :where(input, textarea)::placeholder { color: var(--kp-text-soft) !important; opacity: 1; }
body:not(.admin-body) :where(input, select, textarea):focus {
  border-color: var(--kp-cyan) !important;
  box-shadow: 0 0 0 4px var(--kp-focus) !important;
  outline: none;
}
body:not(.admin-body) select { color-scheme: dark; }
html[data-theme="light"] body:not(.admin-body) select { color-scheme: light; }
body:not(.admin-body) :where(label, .form-group label) { color: var(--kp-text-muted) !important; font-weight: 700; }

body:not(.admin-body) :where(.chip, .chip-text, .badge, .quiz-pill, .quiz-badge, .forum-badge) {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #c4b5fd !important;
  background: var(--kp-primary-soft) !important;
  border: 1px solid rgba(167, 139, 250, .24) !important;
  border-radius: var(--kp-radius-pill) !important;
}
html[data-theme="light"] body:not(.admin-body) :where(.chip, .chip-text, .badge, .quiz-pill, .quiz-badge, .forum-badge) { color: #6d28d9 !important; }

body:not(.admin-body) :where(.alert, .forum-alert) {
  padding: 12px 15px;
  border-radius: var(--kp-radius-md) !important;
  border: 1px solid var(--kp-border) !important;
  background: rgba(59, 130, 246, .10) !important;
  color: #bfdbfe !important;
  box-shadow: none !important;
}
body:not(.admin-body) :where(.alert--success, .alert.success, .alert.ok, .alert-success, .forum-alert.is-success) {
  color: #86efac !important;
  border-color: rgba(34, 197, 94, .28) !important;
  background: rgba(34, 197, 94, .10) !important;
}
body:not(.admin-body) :where(.alert--error, .alert.error, .alert-error, .error-box, .forum-alert.is-error) {
  color: #fda4af !important;
  border-color: rgba(244, 63, 94, .30) !important;
  background: rgba(244, 63, 94, .10) !important;
}

body:not(.admin-body) :where(.pagination, .articles-pagination) { gap: 8px; }
body:not(.admin-body) :where(.pagination .current, .pagination__btn.is-current, .pagination__page.is-active, .pagination__page[aria-current="page"], .articles-pagination__link.is-current) { transform: none; }

body:not(.admin-body) :where(.meta-item, .comment-item, .comments-login, .tagline, .trailer-link, .credit-list li, .kp-notify-link-line, .kp-notify-system, .kp-notify-request:hover) {
  color: var(--kp-text) !important;
  background: rgba(255, 255, 255, .045) !important;
  border-color: var(--kp-border) !important;
}

body:not(.admin-body) :where(.tagline, .comments-login) {
  background: linear-gradient(135deg, rgba(139, 92, 246, .13), rgba(59, 130, 246, .08)) !important;
  border-color: rgba(139, 92, 246, .26) !important;
  color: #ddd6fe !important;
}
html[data-theme="light"] body:not(.admin-body) :where(.tagline, .comments-login) { color: #5b21b6 !important; }

body:not(.admin-body) :where(.search-card__title a, .article-card__title a, .news-item__title a, .card__title a, .title a, .user-name, .forum-section-card__title a) {
  color: var(--kp-heading) !important;
}
body:not(.admin-body) :where(.search-card__text, .search-card__meta, .actor-card__meta, .article-card__description, .news-item__text, .news-item__meta, .card__meta, .card__excerpt, .user-role, .forum-muted) {
  color: var(--kp-text-muted) !important;
}

body:not(.admin-body) :where(.modal, .kp-modal, .actor-lightbox, .kp-home-popup-backdrop) {
  background: rgba(2, 6, 23, .84) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
body:not(.admin-body) :where(.modal__close, .close, .kp-modal__close, .actor-lightbox__close, .kp-home-popup__close) {
  color: var(--kp-text) !important;
  background: rgba(15, 23, 42, .86) !important;
  border: 1px solid var(--kp-border) !important;
  box-shadow: var(--kp-shadow-sm) !important;
}

/* Header notification block contains legacy inline colours; override them here. */
body:not(.admin-body) .kp-notify-btn,
body:not(.admin-body) .kp-avatar-btn {
  color: var(--kp-text) !important;
  background: rgba(255, 255, 255, .055) !important;
  border-color: var(--kp-border) !important;
  box-shadow: none !important;
}
body:not(.admin-body) .kp-notify-dropdown,
body:not(.admin-body) .kp-dropdown {
  color: var(--kp-text) !important;
  background: rgba(12, 18, 32, .97) !important;
  border-color: var(--kp-border) !important;
  box-shadow: var(--kp-shadow-md) !important;
  backdrop-filter: blur(18px);
}
html[data-theme="light"] body:not(.admin-body) .kp-notify-dropdown,
html[data-theme="light"] body:not(.admin-body) .kp-dropdown { background: rgba(255, 255, 255, .97) !important; }
body:not(.admin-body) :where(.kp-notify-head, .kp-notify-section + .kp-notify-section, .kp-drop-sep) { border-color: var(--kp-border) !important; }
body:not(.admin-body) :where(.kp-notify-text, .kp-notify-meta, .kp-notify-system, .kp-notify-link-line) { color: var(--kp-text) !important; }
body:not(.admin-body) :where(.kp-notify-counter, .kp-notify-empty, .kp-notify-label, .kp-notify-system__meta) { color: var(--kp-text-muted) !important; }
body:not(.admin-body) .kp-notify-link { color: #c4b5fd !important; background: var(--kp-primary-soft) !important; }
body:not(.admin-body) .kp-notify-badge { border-color: var(--kp-bg) !important; }

/* Header and footer receive the same cinematic material language. */
body:not(.admin-body) .kp-header {
  background: var(--kp-header-bg) !important;
  border-color: var(--kp-border) !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, .12);
  backdrop-filter: blur(20px) saturate(145%);
  -webkit-backdrop-filter: blur(20px) saturate(145%);
}
body:not(.admin-body) .kp-brand__title {
  color: var(--kp-heading) !important;
  font-weight: 850;
  letter-spacing: -.03em;
}
body:not(.admin-body) .kp-brand__title::first-letter { color: var(--kp-cyan); }
body:not(.admin-body) .kp-navlink { color: var(--kp-text-muted) !important; }
body:not(.admin-body) .kp-navlink:hover,
body:not(.admin-body) .kp-navlink.is-active {
  color: var(--kp-heading) !important;
  background: var(--kp-primary-soft) !important;
}
body:not(.admin-body) .kp-navlink.is-active { box-shadow: inset 0 0 0 1px rgba(167, 139, 250, .18); }
body:not(.admin-body) .kp-search-input { min-height: 40px; }
body:not(.admin-body) .kp-ft {
  background:
    radial-gradient(circle at 10% 0, rgba(139, 92, 246, .15), transparent 25rem),
    var(--kp-footer-bg) !important;
  border-color: var(--kp-border) !important;
}
body:not(.admin-body) .kp-ft__stat,
body:not(.admin-body) .kp-ft__counter {
  background: rgba(255, 255, 255, .04) !important;
  border-color: var(--kp-border) !important;
}

/* Hardcoded white surfaces on catalogue/detail/search pages. */
body:not(.admin-body) :where(.search-hero, .search-card, .actor-card, .actor-gallery__viewport, .actor-gallery__caption, .credit-list li, .comments-form textarea) {
  color: var(--kp-text) !important;
  background-color: var(--kp-surface-solid) !important;
  border-color: var(--kp-border) !important;
}
body:not(.admin-body) :where(.search-hero h1, .search-section h2, .search-card__title a, .actor-card h3) { color: var(--kp-heading) !important; }
body:not(.admin-body) :where(.search-hero p, .search-card__meta, .search-card__text, .actor-card__meta) { color: var(--kp-text-muted) !important; }
body:not(.admin-body) mark { color: #fff !important; background: rgba(245, 158, 11, .54) !important; }
