/* Terms & conditions — long-form reading layout with a sticky index. */

.tm-main {
  padding: var(--adw-s7) var(--adw-pad-x) var(--adw-s9);
}

.tm-shell {
  max-width: 1040px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: var(--adw-s7);
  align-items: start;
}

/* ------------------------------------------------------------ index */

.tm-index {
  position: sticky;
  top: 96px;
  background: #fff;
  border-radius: var(--adw-r-md);
  padding: var(--adw-s5);
  box-shadow: var(--adw-sh-card);
}

.tm-index-h {
  margin: 0 0 var(--adw-s3);
  font-size: 14px;
  font-weight: 800;
  color: var(--adw-body);
}

.tm-index ol {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.tm-index a {
  display: block;
  padding: 8px 10px;
  border-radius: var(--adw-r-sm);
  font-size: 15px;
  font-weight: 600;
  color: var(--adw-body);
}

.tm-index a:hover {
  background: var(--adw-cyan-tint);
  color: var(--adw-teal);
}

.tm-index a[aria-current="true"] {
  background: var(--adw-cyan-tint);
  color: var(--adw-teal);
  font-weight: 800;
}

/* ------------------------------------------------------------- body */

.tm-body {
  background: #fff;
  border-radius: var(--adw-r-lg);
  padding: var(--adw-s7);
  box-shadow: var(--adw-sh-card);
}

.tm-body h1 {
  margin: 0 0 6px;
  font-size: 34px;
  font-weight: 900;
  line-height: 1.3;
}

.tm-updated {
  margin: 0 0 var(--adw-s5);
  font-size: 14px;
  color: var(--adw-muted);
}

.tm-body section {
  /* Offset so the sticky header never covers a jumped-to heading. */
  scroll-margin-top: 96px;
  margin-bottom: var(--adw-s7);
}

.tm-body h2 {
  margin: 0 0 var(--adw-s4);
  font-size: 22px;
  font-weight: 900;
  color: var(--adw-teal);
}

.tm-body p {
  margin: 0 0 var(--adw-s4);
  font-size: 16px;
  line-height: 1.9;
  color: var(--adw-body);
}

.tm-body ul {
  margin: 0 0 var(--adw-s4);
  padding-right: 22px;
}

.tm-body li {
  font-size: 16px;
  line-height: 1.9;
  color: var(--adw-body);
  margin-bottom: var(--adw-s2);
}

.tm-body strong {
  color: var(--adw-ink);
}

.tm-body .adw-table-scroll {
  margin-bottom: var(--adw-s4);
}

.tm-close {
  margin: 0;
  padding: var(--adw-s5);
  background: var(--adw-cyan-tint);
  border-radius: var(--adw-r-md);
  font-weight: 700;
  color: var(--adw-teal) !important;
}

/* ----------------------------------------------------------- footer */

.tm-footer {
  padding: 0 var(--adw-pad-x) var(--adw-s7);
  text-align: center;
}

.tm-footer p {
  margin: 0;
  font-size: 14px;
  color: var(--adw-muted);
}

/* ------------------------------------------------------- responsive */

@media (max-width: 900px) {
  .tm-shell {
    grid-template-columns: 1fr;
    gap: var(--adw-s5);
  }
  .tm-index {
    position: static;
  }
  .tm-index ol {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .tm-body {
    padding: var(--adw-s5);
  }
  .tm-body h1 {
    font-size: 26px;
  }
}
