/* Document pages (cookie-policy, privacy-policy, terms-conditions, deposit-limits).
 * Numbers: fig-spec of robwaterhause-cookie-policy page-hero 1:2038 / document-body
 * 1:2044 and the -mobile frame (cinematic-hero-section 16:278, main-doc-container 16:286). */

/* ── hero ─────────────────────────────────────────────────────────────── */
.doc-hero { position: relative; height: 400px; overflow: hidden; background: var(--color-bg); box-shadow: inset 0 -1px 0 var(--color-border-brand); }
.doc-hero__glow { position: absolute; left: 200px; top: -100px; width: 600px; height: 600px; border-radius: 50%; background: radial-gradient(circle, rgba(255, 24, 63, .141) 0%, rgba(0, 0, 0, 0) 100%); pointer-events: none; }
.doc-hero__inner { position: relative; display: flex; justify-content: space-between; align-items: center; height: 100%; padding: 0 120px; }
.doc-hero__title {
  display: flex; flex-direction: column;
  font-family: var(--font-display); font-weight: 700; font-size: 80px; line-height: 76px; letter-spacing: -.04em; color: var(--color-text);
}
.doc-hero__dot { display: none; }
.doc-hero__ghost {
  margin-right: -11px;
  font-family: var(--font-display); font-weight: 700; font-size: 140px; line-height: 171px; letter-spacing: -.04em;
  text-transform: uppercase; color: #121214; white-space: nowrap;
}

/* ── body ─────────────────────────────────────────────────────────────── */
.doc { background: var(--color-bg); }
.doc__inner { display: flex; gap: 80px; padding: 96px 120px; }
.doc__inner--single { justify-content: center; }
.reset-page { width: min(100%, 450px); }
.doc__toc { width: 280px; flex: none; }
.doc__toc-sticky { position: sticky; top: 104px; display: flex; flex-direction: column; gap: 24px; }
.doc__toc-head { display: flex; flex-direction: column; gap: 8px; }
.doc__toc-title { font-family: var(--font-display); font-weight: 700; font-size: var(--fs-h6); line-height: 27px; text-transform: uppercase; color: var(--color-text); }
.doc__toc-list { display: flex; flex-direction: column; gap: 1px; }
.doc__toc-link {
  display: flex; align-items: center; gap: 16px; padding: 12px 0;
  font-family: var(--font-display); font-weight: 500; font-size: var(--fs-ui); line-height: 17px;
  color: var(--color-muted); text-decoration: none;
  transition: color var(--dur-fast) var(--ease);
}
.doc__toc-num { font-weight: 700; font-size: var(--fs-label); line-height: 16px; }
.doc__toc-label { flex: 1; }
.doc__toc-chev { display: none; }
.doc__toc-link:hover { color: var(--color-text); }
.doc__toc-link.is-active { color: var(--color-text); font-weight: 600; }
.doc__toc-link.is-active .doc__toc-num { color: var(--color-brand); }

.doc__content { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 64px; }
/* document head: «Last updated» + the unnumbered introduction (client edits 2026-09-16, п.4 и п.6) */
.doc__intro { display: flex; flex-direction: column; gap: 16px; padding: 0 0 24px 56px; box-shadow: 0 1px 0 var(--color-border); }
.doc__updated { font-family: var(--font-display); font-weight: 700; font-size: var(--fs-label); line-height: 16px; letter-spacing: .08em; text-transform: uppercase; color: var(--color-muted); }
.doc__updated-label { color: var(--color-brand); }
.doc__intro-p { font-size: var(--fs-lead); line-height: 28px; color: var(--color-muted); }
.doc__section-body p a, .doc__intro-p a { color: var(--color-text); text-decoration: none; box-shadow: inset 0 -1px 0 var(--color-border-brand-2); transition: color var(--dur-fast) var(--ease); }
.doc__section-body p a:hover, .doc__intro-p a:hover { color: var(--color-brand); }
.doc__section { display: flex; flex-direction: column; gap: 24px; padding-bottom: 24px; box-shadow: 0 1px 0 var(--color-border); scroll-margin-top: 110px; }
.doc__section-head { display: flex; align-items: flex-start; gap: 16px; }
.doc__section-num { width: 40px; flex: none; padding-top: 4px; font-family: var(--font-display); font-weight: 700; font-size: var(--fs-h5); line-height: 29px; color: var(--color-brand); }
.doc__section-title { font-family: var(--font-display); font-weight: 700; font-size: var(--fs-h4); line-height: 34px; color: var(--color-text); }
.doc__section-body { display: flex; flex-direction: column; gap: 16px; padding: 0 0 0 56px;   /* текст в макете 784 = 840 − 56: правый паддинг обёртки не соблюдён */ font-size: var(--fs-lead); line-height: 28px; color: var(--color-muted); }
.doc__list { display: flex; flex-direction: column; gap: 12px; }
.doc__list li { position: relative; padding-left: 18px; font-size: var(--fs-body); line-height: 24px; }
.doc__clause { color: var(--color-text); }   /* номер пункта в макете светлее текста */
.doc__list li::before { content: ""; position: absolute; left: 0; top: 9px; width: 6px; height: 6px; border-radius: 50%; background: var(--color-brand); }
.doc__links { display: flex; flex-direction: column; gap: 16px; }
.doc__links li { line-height: 18px; }   /* строчный бокс ссылки не должен наследовать 28px абзаца */
.doc__links a {
  position: relative; display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--font-display); font-weight: 700; font-size: var(--fs-body); line-height: 18px; text-transform: uppercase;
  color: var(--color-brand); text-decoration: none; transition: color var(--dur-fast) var(--ease);
}
.doc__links a::before { content: ""; position: absolute; inset: 50% 0 auto 0; translate: 0 -50%; height: 100%; min-height: 24px; }
.doc__links a:hover { color: var(--color-text); }
.doc__links .icon { width: 10px; height: 10px; stroke-width: 2.5; }

/* ── deposit-limit form (F3 decision; styled after the mockup's cards) ─ */
.limits { display: flex; flex-direction: column; gap: 24px; padding: 32px; background: var(--color-surface); border-radius: var(--radius-2xl); box-shadow: inset 0 0 0 1px var(--color-border-brand); }
.limits__head { display: flex; flex-direction: column; gap: 8px; }
.limits__title { font-family: var(--font-display); font-weight: 700; font-size: var(--fs-h5); line-height: 29px; text-transform: uppercase; color: var(--color-text); }
.limits__text { font-size: var(--fs-ui); line-height: 21px; color: var(--color-muted); }
.limits__form { display: flex; flex-direction: column; gap: 20px; }
.limits__row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.limits__periods { display: flex; gap: 8px; }
.limits__period { flex: 1; }
.limits__period input { position: absolute; opacity: 0; pointer-events: none; }
.limits__period span {
  display: flex; align-items: center; justify-content: center; height: 52px; border-radius: var(--radius-lg); cursor: pointer;
  background: var(--color-bg-deep); box-shadow: inset 0 0 0 1px var(--color-border);
  font-family: var(--font-display); font-weight: 700; font-size: var(--fs-caption); line-height: 13px; letter-spacing: .08em; text-transform: uppercase; color: var(--color-muted);
  transition: background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);
}
.limits__period input:checked + span { background: var(--color-brand); color: var(--color-text); box-shadow: var(--shadow-cta); }
.limits__period input:focus-visible + span { outline: 2px solid var(--color-brand); outline-offset: 2px; }
.limits__status { display: flex; flex-direction: column; gap: 6px; padding: 16px; border-radius: var(--radius-lg); background: var(--color-bg-deep); font-size: var(--fs-label); line-height: 18px; color: var(--color-muted); }
.limits__status strong { font-family: var(--font-display); font-size: var(--fs-ui); line-height: 17px; color: var(--color-text); }
.limits__status a, .limits__status button { color: var(--color-brand); background: none; border: 0; padding: 0; font: inherit; font-weight: 700; cursor: pointer; text-decoration: none; }
.limits__guest { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }

/* ── mobile (390 frame) ───────────────────────────────────────────────── */
@media (max-width: 1199px) {
  .doc-hero { height: auto; box-shadow: none; }
  .doc-hero__glow { left: 55px; top: 120px; width: 280px; height: 280px; background: radial-gradient(circle, rgba(255, 24, 63, .082) 0%, rgba(0, 0, 0, 0) 100%); }
  .doc-hero__inner { flex-direction: column-reverse; align-items: stretch; gap: 24px; padding: 56px 18px; }
  .doc-hero__title { gap: 4px; font-size: 44px; line-height: 42px; letter-spacing: -.05em; text-transform: uppercase; }
  .doc-hero__title-accent { color: var(--color-brand); }
  .doc-hero__dot { display: inline; }
  .doc-hero__ghost { height: 100px; margin: 0; padding-left: 20px; font-size: 90px; line-height: 110px; letter-spacing: -.04em; color: rgba(255, 255, 255, .051); overflow: hidden; }

  .doc__inner { flex-direction: column; gap: 40px; padding: 0 18px; }
  .doc__toc { width: auto; padding: 20px; background: var(--color-bg-strip); border-radius: var(--radius-xl); }
  .doc__toc-sticky { position: static; gap: 16px; }
  .doc__toc-head { gap: 4px; }
  .doc__toc-list { gap: 0; }
  .doc__toc-link { min-height: 44px; padding: 12px 0; }   /* 16:292 — ряд FIXED 44 */
  .doc__toc-chev { display: block; width: 14px; height: 14px; color: var(--color-muted); }

  .doc__content { gap: 48px; padding: 40px 18px; }
  .doc__intro { gap: 12px; padding: 0 0 20px; }
  .doc__updated { font-size: var(--fs-small); line-height: 15px; }
  .doc__intro-p { font-size: var(--fs-body); line-height: 25px; }
  .doc__section { gap: 20px; padding-bottom: 20px; }
  .doc__section-head { flex-direction: column; gap: 6px; }
  .doc__section-num { width: auto; padding: 0; font-size: var(--fs-ui); line-height: 17px; }
  .doc__section-title { font-size: var(--fs-h6); line-height: 27px; }
  .doc__section-body { gap: 20px; padding: 0; font-size: var(--fs-body); line-height: 25px; }
  .doc__list { gap: 10px; }
  .doc__list li { padding-left: 23px; font-size: var(--fs-ui); line-height: 21px; }
  .doc__list li::before { top: 0; width: auto; height: auto; border-radius: 0; background: none; content: "—"; font-family: var(--font-display); font-weight: 700; font-size: var(--fs-ui); line-height: 17px; color: var(--color-brand); }

  .limits { padding: 20px; border-radius: var(--radius-xl); }
  .limits__row { grid-template-columns: 1fr; }
}
