/* Гейт 18+ (screens/terms.js): прокручиваемое содержимое + закреплённая снизу кнопка входа
   (видна без прокрутки на любом телефоне от 360×640). Прокручивается #screen, поэтому sticky.
   Подключается из profile.css (@import). */
/* Высокий экран: содержимое и кнопка — одной группой по центру; низкий — кнопка липнет к низу */
.terms.terms-gate { justify-content: center; gap: 0; padding: 0; }
.terms-gate__inner {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 440px;
  padding: calc(var(--sat) + 24px) 24px 4px;
}
/* Маленькая пометка «18+» у логотипа здесь лишняя: крупный знак 18+ — сразу под ним */
.terms-gate__inner > .logo .logo__age { display: none; }
.terms-gate__badge {
  position: relative;
  width: 104px;
  height: 104px;
  display: grid;
  place-items: center;
  margin: 22px 0 18px;
  border-radius: 50%;
  font-size: 36px;
  font-weight: 900;
  letter-spacing: -0.02em;
  color: #fff;
  background: var(--grad-diag);
  box-shadow: var(--glow), inset 0 1px 0 rgba(255, 255, 255, 0.3);
}
.terms-gate__badge::before { content: ""; position: absolute; inset: -10px; border-radius: 50%; border: 2px solid rgba(255, 45, 120, 0.4); animation: pulse-ring 2.4s var(--ease) infinite; }
.terms-gate__title { font-size: 28px; font-weight: 900; letter-spacing: -0.02em; line-height: 1.15; }
.terms-gate__lead { max-width: 360px; margin-top: 10px; font-size: 16px; line-height: 1.5; color: var(--text-2); }
.terms-gate__rules {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin: 20px 0 4px;
  padding: 4px 16px;
  border-radius: var(--r-lg);
  text-align: left;
  background: var(--card);
  border: 1px solid var(--line);
}
.terms-gate__rule { display: flex; align-items: flex-start; gap: 12px; padding: 12px 0; }
.terms-gate__rule + .terms-gate__rule { border-top: 1px solid var(--line); }
.terms-gate__rule-icon { flex: 0 0 auto; width: 36px; height: 36px; display: grid; place-items: center; border-radius: var(--r-sm); color: var(--pink); background: var(--grad-soft); }
.terms-gate__rule-icon .icon { width: 20px; height: 20px; }
.terms-gate__rule-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; font-size: 14px; line-height: 1.45; color: var(--muted); }
.terms-gate__rule-text b { font-size: 15px; color: var(--text); }
.terms-gate__link { justify-content: center; gap: 8px; margin-top: 6px; font-size: 14px; color: var(--text-2); }
.terms-gate__link .icon { width: 18px; height: 18px; color: var(--muted); }

/* Низ со входом: стекло, верхний край растворяется (маска), содержимое уходит под него */
.terms-gate__bar {
  position: sticky;
  bottom: 0;
  z-index: 2;
  width: 100%;
  padding: 22px 24px calc(var(--sab) + 12px);
  background: rgba(11, 10, 20, 0.82);
  -webkit-backdrop-filter: var(--glass-filter);
  backdrop-filter: var(--glass-filter);
  -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 20px);
  mask-image: linear-gradient(180deg, transparent 0, #000 20px);
}
.terms-gate__bar-inner { display: flex; flex-direction: column; align-items: center; gap: 8px; width: 100%; max-width: 440px; margin-inline: auto; }
.terms.terms-gate .terms-gate__enter { margin-top: 0; }
.terms-gate__fine { max-width: 360px; font-size: 12px; line-height: 1.45; color: var(--muted-2); }

/* Невысокие экраны (360×640, горизонтальный планшет): компактнее сверху, чтобы правила были ближе */
@media (max-height: 760px) {
  .terms-gate__inner { padding-top: calc(var(--sat) + 16px); }
  .terms-gate__badge { width: 80px; height: 80px; margin: 16px 0 14px; font-size: 28px; }
  .terms-gate__badge::before { inset: -8px; }
  .terms-gate__title { font-size: 25px; }
  .terms-gate__lead { font-size: 15px; line-height: 1.45; }
  .terms-gate__rules { margin-top: 16px; }
  .terms-gate__rule { padding: 10px 0; }
}
