/* Kinoportal redesign — Stage 1: spacing, sizing and page rhythm */
body:not(.admin-body) :where(.container, .wrap, .page-wrap, .news-page, .articles-page, .reviews, .quiz-page, .users-container, .profile-container, .forum-page, .search-page) {
  width: min(100% - 28px, var(--kp-container));
  max-width: var(--kp-container) !important;
  margin-inline: auto !important;
}

body:not(.admin-body) :where(main, .page-wrap, .news-page, .articles-page, .reviews, .quiz-page, .users-main, .forum-page, .search-page) {
  position: relative;
}

body:not(.admin-body) :where(.page-wrap, .news-page, .articles-page, .reviews, .quiz-page, .users-main, .forum-page, .search-page) {
  padding-top: clamp(18px, 3vw, 34px) !important;
  padding-bottom: clamp(32px, 5vw, 64px) !important;
}

body:not(.admin-body) :where(.content-section, .section, .search-section) {
  margin-block: clamp(18px, 3vw, 32px);
}

body:not(.admin-body) :where(.section-head, .news-page__head, .reviews__head, .users-head, .forum-head) {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}

body:not(.admin-body) :where(.section-title, .reviews__title, .users-title, .news-page__head h1, .articles-hero h1, .quiz-hero h1) {
  margin: 0;
}

body:not(.admin-body) :where(.media-grid, .articles-grid, .quiz-list, .users-grid, .cards, .news-list, .search-list, .actor-grid) {
  gap: clamp(12px, 2vw, 20px) !important;
}

body:not(.admin-body) :where(.card .bd, .panel, .news-item__body, .article-card__body, .quiz-card__body, .media-card__body, .user-meta, .search-card, .actor-card) {
  padding: clamp(14px, 2vw, 20px) !important;
}

body:not(.admin-body) :where(.hero, .articles-hero, .quiz-hero, .search-hero) {
  border-radius: var(--kp-radius-xl) !important;
}

body:not(.admin-body) :where(.login-main, .register-main) {
  min-height: calc(100svh - 150px);
  padding: clamp(28px, 7vw, 72px) 14px !important;
  display: grid;
  place-items: center;
}

body:not(.admin-body) :where(.login-container, .register-container) {
  width: min(100%, 520px) !important;
  padding: clamp(22px, 5vw, 38px) !important;
}

body:not(.admin-body) :where(.login-form, .register-form, .form-group) { gap: 8px; }
body:not(.admin-body) .form-group { margin-bottom: 16px; }

body:not(.admin-body) :where(.actions-bar, .action-buttons, .news-page__actions, .modal__actions, .kp-ft__cta) {
  gap: 10px !important;
}

body:not(.admin-body) :where(.card, .news-item, .article-card, .quiz-card, .media-card, .user-card, .search-card, .actor-card) { overflow: clip; }

body:not(.admin-body) .kp-page-frame { gap: 20px; }
body:not(.admin-body) .kp-side-banner {
  border-radius: var(--kp-radius-lg) !important;
  background: var(--kp-surface) !important;
  border-color: var(--kp-border) !important;
  box-shadow: var(--kp-shadow-xs);
}

body:not(.admin-body) .kp-ft__inner,
body:not(.admin-body) .kp-ft__bottom-inner {
  width: min(100% - 28px, var(--kp-container));
  padding-left: 0;
  padding-right: 0;
}
