/* -------------------------------------------------------- */
/* 🔹 Legal Pages                                           */
/* -------------------------------------------------------- */
/* Shared styles for policy, terms and cookies pages        */
/* Layout: page_template + app_card + text formatting       */
/* Mirrors legal_section.dart                               */


/* -------------------------------------------------------- */
/* 🔹 Legal Content Card                                    */
/* -------------------------------------------------------- */

.legal-content {
  font-size: var(--text-body-medium);
  line-height: var(--text-body-medium-height);
}

.legal-content a {
  color: var(--color-primary);
  text-decoration: underline;
}


/* -------------------------------------------------------- */
/* 🔹 Blocks                                                */
/* -------------------------------------------------------- */
/* One block per intro/section, rendered by legal_content.njk */

.legal-block + .legal-block {
  margin-top: var(--space-xl);
}

.legal-block__title {
  font-size: var(--text-title-medium);
  font-weight: var(--text-title-weight);
  margin: 0 0 var(--space-s);
}

.legal-block p {
  margin: 0 0 var(--space-s);
}

.legal-block p:last-child {
  margin-bottom: 0;
}


/* -------------------------------------------------------- */
/* 🔹 Lists                                                 */
/* -------------------------------------------------------- */

.legal-list {
  margin: var(--space-xs) 0;
  padding-left: var(--space-l);
}

.legal-list li {
  margin: var(--space-xxs) 0;
}


/* -------------------------------------------------------- */
/* 🔹 Groups                                                */
/* -------------------------------------------------------- */
/* Labeled sub-block within a section (e.g. per surface)    */

.legal-group {
  margin-top: var(--space-l);
}

.legal-group__title {
  font-size: var(--text-title-small);
  font-weight: var(--text-title-weight);
  color: var(--color-on-surface-variant);
  margin: 0 0 var(--space-xs);
}


/* -------------------------------------------------------- */
/* 🔹 Tables                                                */
/* -------------------------------------------------------- */
/* Scrolls horizontally on narrow screens as a safety net   */

.legal-table-wrap {
  margin-top: var(--space-s);
  overflow-x: auto;
}

.legal-table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--text-body-small);
  line-height: var(--text-body-small-height);
}

.legal-table th,
.legal-table td {
  padding: var(--space-s);
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid var(--color-outline);
}

.legal-table th {
  font-weight: var(--text-title-weight);
  color: var(--color-on-surface-variant);
}

.legal-table tr:last-child td {
  border-bottom: none;
}


/* -------------------------------------------------------- */
/* 🔹 Closing Lines                                         */
/* -------------------------------------------------------- */

.legal-content__contact {
  margin-top: var(--space-xl);
}

.legal-content__updated {
  margin-top: var(--space-l);
  color: var(--color-on-surface-variant);
}
