/* Публичные страницы ads.ainative.kz: лендинг, политика конфиденциальности, условия.
   Цвета, шрифты, размеры текста, отступы, радиусы и тени — только токены темы (theme.css): замена дизайн-системы = замена файла темы.
   Вне темы задана лишь ширина колонки — токена под публичные страницы в теме нет. */

:root {
  --site-width: 72rem;
}

*,
::before,
::after {
  box-sizing: border-box;
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  margin: 0;
  background: var(--background);
  color: var(--foreground);
  font-family: var(--font-ui);
  font-size: var(--font-size-section);
  font-weight: var(--weight-normal);
  line-height: var(--leading-ui);
  overflow-wrap: break-word;
}

main {
  flex: 1 0 auto;
}

/* Цель ссылки «К содержимому»: tabindex="-1" нужен для переноса фокуса, рамка вокруг всей страницы — нет. */
#main:focus {
  outline: none;
}

h1,
h2,
h3,
p,
ul,
ol {
  margin: 0;
}

ul,
ol {
  padding: 0;
}

h1,
h2 {
  font-weight: var(--weight-strong);
  line-height: var(--leading-tight);
  letter-spacing: var(--tracking-title);
  text-wrap: balance;
}

h1 {
  font-size: clamp(var(--font-size-title), calc(var(--font-size-title) + 2.5vw), var(--font-size-score));
}

h2 {
  font-size: var(--font-size-title);
}

h3 {
  font-size: var(--font-size-section);
  font-weight: var(--weight-strong);
}

a {
  color: var(--primary);
  text-underline-offset: 0.2em;
}

code {
  padding: 0 var(--space-1);
  border-radius: var(--radius-chip);
  background: var(--muted);
  font-family: var(--font-metrics);
  font-size: var(--font-size-control);
}

:focus-visible {
  outline: var(--focus-width) solid var(--ring);
  outline-offset: var(--focus-offset);
}

.skip {
  position: absolute;
  top: var(--space-2);
  left: var(--space-2);
  z-index: 1;
  padding: var(--space-2) var(--space-4);
  border: var(--border-width) solid var(--input);
  border-radius: var(--radius-control);
  background: var(--card);
  color: var(--foreground);
  transform: translateY(calc(-100% - var(--space-4)));
}

.skip:focus {
  transform: none;
}

.wrap {
  width: 100%;
  max-width: var(--site-width);
  margin-inline: auto;
  padding-inline: clamp(var(--space-4), 4vw, var(--space-6));
}

/* Шапка: текстовый логотип и две ссылки. Языка и темы здесь нет — версии по языкам в подвале, тема по системной. */
.top {
  border-bottom: var(--border-width) solid var(--border);
  background: var(--card);
}

.bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2) var(--space-4);
  padding-block: var(--space-3);
}

.brand {
  padding-block: var(--space-2);
  color: var(--foreground);
  font-weight: var(--weight-strong);
  text-decoration: none;
}

.top nav {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}

.top nav a:not(.btn) {
  padding: var(--space-2) var(--space-3);
  border-radius: var(--radius-control);
  color: var(--foreground);
  font-size: var(--font-size-control);
  font-weight: var(--weight-medium);
  text-decoration: none;
  white-space: nowrap;
}

.top nav a:not(.btn):hover {
  background: var(--muted);
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--control-height);
  padding: var(--space-2) var(--space-4);
  border: var(--border-width) solid var(--input);
  border-radius: var(--radius-control);
  background: var(--card);
  color: var(--foreground);
  font-size: var(--font-size-control);
  font-weight: var(--weight-medium);
  text-decoration: none;
  white-space: nowrap;
}

.btn:hover {
  background: var(--muted);
}

.btn-primary {
  border-color: var(--primary);
  background: var(--primary);
  color: var(--primary-foreground);
}

.btn-primary:hover {
  border-color: var(--primary-hover);
  background: var(--primary-hover);
}

.btn-lg {
  min-height: var(--touch-height);
  padding-inline: var(--space-6);
  font-size: var(--font-size-section);
}

/* Лендинг */
.hero {
  display: grid;
  justify-items: start;
  gap: var(--space-5);
  padding-block: clamp(var(--space-10), 9vw, calc(var(--space-12) * 1.5)) var(--space-8);
}

.hero h1 {
  max-width: 30ch;
}

.lead,
.audience {
  max-width: 60ch;
}

.lead,
.card p,
.steps p {
  color: var(--muted-foreground);
}

.audience {
  font-weight: var(--weight-medium);
}

.actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
}

.band {
  padding-block: clamp(var(--space-8), 5vw, var(--space-10));
}

.band > .wrap > h2 {
  margin-bottom: var(--space-6);
}

.grid,
.steps {
  display: grid;
  gap: var(--space-4);
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
}

.card {
  display: grid;
  align-content: start;
  gap: var(--space-2);
  padding: var(--space-5);
  border: var(--border-width) solid var(--border);
  border-radius: var(--radius-panel);
  background: var(--card);
  box-shadow: var(--shadow-panel);
}

.steps {
  list-style: none;
  counter-reset: step;
}

.steps li {
  display: grid;
  align-content: start;
  gap: var(--space-2);
}

.steps li::before {
  display: grid;
  place-items: center;
  width: var(--space-8);
  height: var(--space-8);
  border-radius: var(--radius-pill);
  background: var(--accent);
  color: var(--accent-foreground);
  font-weight: var(--weight-strong);
  content: counter(step);
  counter-increment: step;
}

.end {
  justify-items: start;
  gap: var(--space-4);
}

.end .note {
  font-size: var(--font-size-control);
}

/* Политика и условия */
.page {
  padding-block: clamp(var(--space-6), 5vw, var(--space-10));
}

.panel {
  padding: clamp(var(--space-5), 4vw, var(--space-8));
  border: var(--border-width) solid var(--border);
  border-radius: var(--radius-panel);
  background: var(--card);
  box-shadow: var(--shadow-panel);
}

.prose {
  max-width: 48rem;
  margin-inline: auto;
  line-height: var(--leading-prose);
}

.prose > * + * {
  margin-top: var(--space-4);
}

.prose > h2 {
  margin-top: var(--space-8);
}

.prose > h2 + * {
  margin-top: var(--space-3);
}

.prose ul,
.prose ol {
  padding-left: var(--space-6);
}

.prose li + li {
  margin-top: var(--space-2);
}

/* Подвал: документы, версии по языкам, пометка о товарных знаках */
.foot {
  border-top: var(--border-width) solid var(--border);
  background: var(--card);
  color: var(--muted-foreground);
  font-size: var(--font-size-control);
}

.foot .wrap {
  display: grid;
  gap: var(--space-4);
  padding-block: var(--space-6);
}

.foot ul {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2) var(--space-5);
  list-style: none;
}

.foot a {
  color: inherit;
}

.foot a[aria-current] {
  color: var(--foreground);
  font-weight: var(--weight-strong);
  text-decoration: none;
}

.foot small {
  font-size: var(--font-size-caption);
  letter-spacing: var(--tracking-caption);
}
