/* Términos y privacidad: una hoja larga de papel, numerada como un ticket. */

.legal {
  width: min(760px, 100% - 32px);
  margin: 28px auto 64px;
  padding: clamp(24px, 5vw, 56px);
  border: 1.5px solid var(--sage-line);
  border-radius: var(--radius);
  background: var(--card);
  box-shadow: var(--shadow-paper);
  counter-reset: sec;
}

.legal__meta {
  font: 14px/1.4 var(--f-mono);
  color: var(--sage-2);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.legal h1 {
  margin: 10px 0 18px;
  font-size: clamp(34px, 6vw, 48px);
}

.legal__lead {
  padding-bottom: 22px;
  border-bottom: 1.5px dashed var(--sage-3);
  font-size: 18px;
}

.legal h2 {
  counter-increment: sec;
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin: 38px 0 12px;
  font-size: clamp(22px, 3.4vw, 27px);
}

.legal h2::before {
  content: counter(sec, decimal-leading-zero);
  font: 700 15px/1 var(--f-mono);
  color: var(--clay-ink);
}

.legal h3 {
  margin: 22px 0 6px;
  font: 700 17px/1.3 var(--f-body);
  color: var(--ink);
}

.legal p + p,
.legal p + ul,
.legal ul + p {
  margin-top: 10px;
}

.legal ul {
  margin: 8px 0 0;
  padding-left: 22px;
}

.legal li + li {
  margin-top: 6px;
}

.legal strong {
  color: var(--sage);
}

.legal__table {
  width: 100%;
  margin-top: 12px;
  border-collapse: collapse;
  font-size: 15.5px;
}

.legal__table th,
.legal__table td {
  padding: 10px 12px 10px 0;
  border-bottom: 1px solid var(--sage-line);
  text-align: left;
  vertical-align: top;
}

.legal__table th {
  font: 700 13px/1.3 var(--f-mono);
  color: var(--sage-2);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.legal__table td:first-child {
  width: 30%;
  font-weight: 600;
  color: var(--sage);
}

.legal__note {
  margin-top: 16px;
  padding: 14px 16px;
  border-left: 3px solid var(--clay);
  border-radius: 0 10px 10px 0;
  background: var(--clay-wash);
  font-size: 15.5px;
}

@media (max-width: 560px) {
  .legal__table,
  .legal__table tbody,
  .legal__table tr,
  .legal__table td {
    display: block;
    width: 100%;
  }
  .legal__table thead {
    display: none;
  }
  .legal__table tr {
    padding: 10px 0;
    border-bottom: 1px solid var(--sage-line);
  }
  .legal__table td {
    padding: 2px 0;
    border: 0;
  }
  .legal__table td:first-child {
    width: 100%;
  }
}
