/* Legal pages — terms-and-conditions (57:547 / 90:851), privacy-policy (57:950 / 90:573),
 * cookie-policy (61:27 / 90:405), responsible-gambling (57:206 / 90:1225).
 * Every number comes from fig-spec of the node named in the comment. Shared layout
 * (.container--narrow = 880 content) lives in pages/inner.css; the cookie page uses
 * its own 720 column (.legal-container--cookie). All classes are prefixed `legal-`. */

/* ── page title strip (hero-banner 57:582 · Page-Title-Hero 57:957 · hero-title-area 61:34 · hero-title-section 57:211) */
.legal-hero { background: var(--color-surface-2); box-shadow: inset 0 -1px 0 var(--color-border-3); }
.legal-hero .container { padding-block: 80px; }
.legal-hero__title { font-family: var(--font-display); font-weight: 700; font-size: 44px; line-height: 48px; color: var(--color-text); }
.legal-hero__title--lg { font-size: 56px; line-height: 75px; }
.legal-hero__title--rg { line-height: 59px; }
.legal-hero--cookie { background: var(--color-surface); box-shadow: inset 0 -1px 0 var(--color-border); }
.legal-hero--cookie .container { padding-block: 64px; }
.legal-hero--rg { box-shadow: none; }
.legal-hero--rg .container { padding-block: 100px; }

/* ── document body (terms-body-wrapper 57:593 · Legal-Content-Wrapper 57:968 · legal-text-column 61:49 · main-document-flow 57:217) */
.legal-body { background: var(--color-white); }
.legal-body--terms .container { padding-block: 80px 100px; }
.legal-body--privacy .container { padding-block: 80px 96px; }
.legal-body--cookie .container { padding-block: 64px 96px; }
.legal-body--rg .container { padding-block: 80px 100px; }
.legal-container--cookie { max-width: 1440px; padding-inline: 360px; }        /* hero-content / content-wrapper are 720 centred in 1440 */
.legal-body__col { display: flex; flex-direction: column; gap: 40px; }        /* content-wrapper 61:50 */

/* ── links inside the documents (Contact us → 62:1891, Privacy Policy → 61:108) */
.legal-link { align-self: flex-start; font-weight: 700; font-size: 16px; line-height: 21px; color: var(--color-brand); text-decoration: none; transition: color var(--dur-fast) var(--ease); }
.legal-link:hover { color: var(--color-brand-hover); text-decoration: underline; }
.legal-link:active { color: var(--color-brand-active); }

/* ── numbered sections — terms (section-XX 57:594) and privacy (Section-XX 57:970) ─────────── */
.legal-sec { display: flex; flex-direction: column; }
.legal-sec__title { display: flex; align-self: flex-start; align-items: center; gap: 12px; font-family: var(--font-display); font-weight: 700; font-size: 26px; line-height: 35px; color: var(--color-text); }
.legal-sec__num { flex: none; color: var(--color-brand); }
.legal-sec__body { display: flex; flex-direction: column; gap: 16px; padding: 20px 0 56px; }   /* section-body-block 57:599 */
.legal-p { font-size: 15px; line-height: 26px; color: var(--color-text); }
.legal-p--muted { color: var(--color-muted); }
.legal-rule { border: 0; margin: 0; height: 56px; box-shadow: inset 0 1px 0 var(--color-border-3); }   /* Frame 57:602: line + 56 below */

/* privacy: Section gap 20, Title-Row 24/32.33 with 0.5px tracking, bullets 57:984, dividers 57:976 (48 + line + 48) */
.legal-sec--privacy { gap: 20px; }
.legal-sec--privacy .legal-sec__body { padding: 0; gap: 20px; }
.legal-sec--privacy .legal-sec__body--sub { gap: 16px; }                      /* Subsections-Container 57:1010 */
.legal-sec__title--privacy { font-size: 24px; line-height: 32px; letter-spacing: .02em; }
.legal-sec__title--privacy .legal-sec__name { text-transform: uppercase; }   /* textCase UPPER on 57:974 (kept mixed-case in markup) */
.legal-list { display: flex; flex-direction: column; gap: 8px; }
.legal-list__item { display: flex; gap: 12px; padding: 0 16px; font-size: 15px; line-height: 26px; color: var(--color-muted); }
.legal-list__dot { flex: none; color: var(--color-brand); }
.legal-list__text { flex: 1; }
.legal-rule--privacy { height: 96px; box-shadow: none; background: linear-gradient(var(--color-border-3), var(--color-border-3)) 0 48px / 100% 1px no-repeat; }

/* privacy contact block (Section 62:1886): Geist Bold 22/29 header, 15/24 copy, link */
.legal-contact { display: flex; flex-direction: column; }
.legal-contact__title { display: flex; align-self: stretch; gap: 12px; padding-bottom: 16px; font-family: var(--font-body); font-weight: 700; font-size: 22px; line-height: 29px; color: var(--color-text); }
.legal-contact__num { flex: none; color: var(--color-brand); }
.legal-contact__text { font-size: 15px; line-height: 24px; color: var(--color-text); }

/* ── cookie sections (Section 61:51): Geist Bold 22/29 header with 16 below, 15/24 copy, bullets 61:62, sub-heads 61:75 */
.legal-csec { display: flex; flex-direction: column; }
.legal-csec__title { display: flex; gap: 12px; padding-bottom: 16px; font-family: var(--font-body); font-weight: 700; font-size: 22px; line-height: 29px; color: var(--color-text); }
.legal-csec__num { flex: none; color: var(--color-brand); }
.legal-csec__body, .legal-csec__group { display: flex; flex-direction: column; }
.legal-cp, .legal-clist__item { font-size: 15px; line-height: 24px; color: var(--color-text); }
.legal-clist { display: flex; flex-direction: column; gap: 8px; padding-top: 12px; }   /* BulletList 61:62 is a fixed 228: 12 above, nothing below */
.legal-csub { font-family: var(--font-body); font-weight: 700; font-size: 16px; line-height: 21px; color: var(--color-text); }
.legal-rule--cookie { height: 1px; margin-bottom: -1px; box-shadow: none; background: var(--color-border-2); }   /* LINE 61:56: 0 tall in the 40-gap flow */

/* ── responsible gambling sections (Frame 57:219 …): title 26/35, copy 15/26 #333, bullets 57:229, tool sub-blocks 57:250, help box 57:297 */
.legal-rsec { display: flex; flex-direction: column; gap: 24px; }
.legal-rsec__title { font-family: var(--font-display); font-weight: 700; font-size: 26px; line-height: 35px; color: var(--color-text); }
.legal-rp { font-size: 15px; line-height: 26px; color: var(--color-text-2); }
.legal-rp--bold { font-weight: 700; }
.legal-rp--dark { color: var(--color-text); }
.legal-rlist { display: flex; flex-direction: column; gap: 12px; }
.legal-rlist__item { display: flex; gap: 12px; font-size: 15px; line-height: 26px; color: var(--color-text-2); }
.legal-rlist__dot { flex: none; color: var(--color-brand); }
.legal-rlist__text { flex: 1; }
.legal-rlist--num .legal-rlist__dot { font-family: var(--font-display); font-weight: 700; }   /* "1." … "7." 57:272 */
.legal-rtool { display: flex; flex-direction: column; gap: 12px; padding-top: 12px; }   /* 57:250 is a fixed 100: 12 above, nothing below */
.legal-rtool--flush { padding: 0; }                                            /* first sub-block of 57:428 / 57:438 */
.legal-rsub { font-family: var(--font-display); font-weight: 600; font-size: 18px; line-height: 24px; color: var(--color-text); }
.legal-rbox { display: flex; flex-direction: column; gap: 8px; padding: 32px; border-radius: var(--radius); box-shadow: inset 0 0 0 1px var(--color-border-2); }
.legal-rbox__title { font-family: var(--font-display); font-weight: 700; font-size: 20px; line-height: 27px; color: var(--color-text); }
.legal-rbox__phone { align-self: flex-start; font-family: var(--font-display); font-weight: 700; font-size: 28px; line-height: 38px; color: var(--color-brand); text-decoration: none; transition: color var(--dur-fast) var(--ease); }
.legal-rbox__phone:hover { color: var(--color-brand-hover); text-decoration: underline; }
.legal-rbox__phone:active { color: var(--color-brand-active); }
/* #666666 (57:300) is not in tokens.css — kept local until a --color-muted-4 token is added there */
.legal-rbox__note { font-weight: 500; font-size: 15px; line-height: 20px; color: var(--color-muted-4); }
.legal-rule--rg { height: 128px; box-shadow: none; background: linear-gradient(var(--color-border-2), var(--color-border-2)) 0 64px / 100% 1px no-repeat; }   /* Frame 57:224: 64 + line + 64 */

/* ── mobile frames (390): terms-mobile 90:851 · privacy-policy-mobile 90:573 · cookie-policy-mobile 90:405 · responsible-gambling-mobile 90:1225 */
@media (max-width: 1199px) {
  .legal-hero { background: var(--color-surface); box-shadow: inset 0 -1px 0 var(--color-border); }          /* hero-banner-mobile 90:872 */
  .legal-hero .container { padding-block: 40px; }
  .legal-hero__title { font-size: 28px; line-height: 31px; }
  .legal-hero--privacy { background: var(--color-surface-2); box-shadow: inset 0 -1px 0 var(--color-border-3); }   /* 90:590 */
  .legal-hero--privacy .container, .legal-hero--cookie .container { padding-block: 32px; }
  .legal-hero--rg { background: var(--color-surface-2); box-shadow: none; }                                      /* 90:1242 */
  .legal-hero--rg .container { padding-block: 48px; }
  .legal-hero__title--lg, .legal-hero__title--rg { font-size: 32px; line-height: 43px; }

  .legal-body--terms .container { padding-block: 40px 60px; }     /* 90:874 */
  .legal-body--privacy .container { padding-block: 32px 48px; }   /* 90:592 */
  .legal-body--cookie .container { padding-block: 32px 48px; }    /* 90:424 */
  .legal-body--rg .container { padding-block: 40px 48px; }        /* 90:1244 */
  .legal-container--cookie { padding-inline: var(--container-pad-mobile); }
  .legal-body__col { gap: 28px; }

  .legal-link { font-size: 14px; line-height: 21px; }

  /* terms (section-01 90:875): 32 below each section, header 22/30 + 18/24.25, body 12 · 12 · 16, 8px divider wrap */
  .legal-sec { padding-bottom: 32px; }
  .legal-sec__title { align-self: stretch; gap: 8px; font-size: 18px; line-height: 24px; }
  .legal-sec__num { font-size: 22px; line-height: 30px; }
  .legal-sec__body { gap: 12px; padding: 12px 0 16px; }
  .legal-p { font-size: 14px; line-height: 21px; }
  .legal-rule { height: 8px; box-shadow: inset 0 -1px 0 var(--color-border); }                                     /* divider-wrap 90:883 */
  .legal-rule--privacy, .legal-rule--cookie, .legal-rule--rg { box-shadow: none; }

  /* privacy (Section-01 90:593): gap 12, Title-Row 20/27 + 18/24.25, bullets 8/8, divider 24 + line + 24 */
  .legal-sec--privacy { padding-bottom: 0; gap: 12px; }
  .legal-sec--privacy .legal-sec__body, .legal-sec--privacy .legal-sec__body--sub { gap: 12px; }
  .legal-sec__title--privacy { align-self: flex-start; letter-spacing: normal; }
  .legal-sec__title--privacy .legal-sec__num { font-size: 20px; line-height: 27px; }
  .legal-list__item { gap: 8px; padding: 0 8px; font-size: 14px; line-height: 21px; }
  .legal-rule--privacy { height: 48px; background-position: 0 24px; }
  .legal-contact { gap: 12px; }                                                                                  /* Section-14 90:778 */
  .legal-contact__title { align-self: flex-start; align-items: center; gap: 8px; padding-bottom: 0; font-family: var(--font-display); font-size: 18px; line-height: 24px; text-transform: uppercase; }
  .legal-contact__num { font-size: 20px; line-height: 27px; }
  .legal-contact__text { font-size: 14px; line-height: 21px; color: var(--color-muted); }

  /* cookie (Frame 90:425): header 18/23.4 + 12 below, body gap 10, sub-group gap 12, bullets gap 6, copy 14/22 */
  .legal-csec { gap: 12px; }                                                                                     /* Frame 90:425 */
  .legal-csec__title { gap: 8px; padding-bottom: 0; font-size: 18px; line-height: 23px; }
  .legal-csec__body { gap: 10px; }
  .legal-csec__group { gap: 12px; }
  .legal-cp, .legal-clist__item { font-size: 14px; line-height: 22px; }
  .legal-clist { gap: 6px; padding: 0; }
  .legal-csub { font-size: 15px; line-height: 20px; }
  .legal-body--cookie .legal-link { font-size: 15px; line-height: 20px; }
  .legal-rule--cookie { height: 1px; background: var(--color-border); }                                          /* LINE 90:431 */

  /* responsible gambling (section-operator-info 90:1245): gap 16 (12 for plain sections, 20 for tools), title 22/30, copy 14/22 */
  .legal-rsec { gap: 16px; }
  .legal-rsec--tight { gap: 12px; }
  .legal-rsec--loose { gap: 20px; }
  .legal-rsec__title { font-size: 22px; line-height: 30px; }
  .legal-rp { font-size: 14px; line-height: 22px; }
  .legal-rlist { gap: 10px; padding-top: 8px; }   /* fixed 248: 8 above, nothing below */
  .legal-rlist--num { gap: 12px; }                                                                                /* commitment-bullets 90:1255 */
  .legal-rlist__item { gap: 8px; font-size: 14px; line-height: 20px; }
  .legal-rlist__dot { line-height: 21px; }
  .legal-rlist--num .legal-rlist__dot { line-height: 19px; }
  .legal-rtool { gap: 8px; padding-top: 8px; }                                                                     /* tool-subblock 90:1276 */
  .legal-rtool--flush { padding: 0; }
  .legal-rbox { padding: 20px; }                                                                                 /* support-box 90:1323 */
  .legal-rbox__title { font-size: 18px; line-height: 24px; }
  .legal-rbox__phone { font-size: 24px; line-height: 32px; }
  .legal-rbox__note { font-size: 13px; line-height: 17px; color: var(--color-muted); }
  .legal-rule--rg { height: 64px; background-position: 0 32px; }                                                /* divider-wrap 90:1250 */
}
