/* Páginas de texto legal: misma atmósfera que la landing.
   Bevan es una letra de cartel, así que aquí el texto va más pequeño,
   con más interlínea y en gris claro para que se pueda leer seguido. */

.legal {
  position: relative;
  z-index: 1;
  width: min(660px, 100%);
  margin: 0 auto;
  padding: 56px 0 36px;
  text-align: left;
}

.back {
  display: inline-block;
  margin-bottom: 36px;
  font-size: .6rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--faint);
  text-decoration: none;
  transition: color .2s ease;
}
.back:hover { color: var(--red-soft); }

.legal h1 {
  margin: 0 0 8px;
  font-size: clamp(1.25rem, 1rem + 1.2vw, 1.7rem);
  line-height: 1.3;
  color: var(--bone);
}

.legal .updated {
  margin: 0 0 12px;
  font-size: .58rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--faint);
}

.legal .intro {
  margin: 0 0 8px;
  padding: 16px 18px;
  border-left: 2px solid var(--red);
  border-radius: 0 10px 10px 0;
  background: rgba(215, 57, 44, .05);
  color: #b3b5ba;
}

.legal h2 {
  margin: 34px 0 12px;
  font-size: .66rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--red-soft);
}

.legal p {
  margin: 0 0 14px;
  font-size: .72rem;
  line-height: 2;
  letter-spacing: .01em;
  color: #a4a6ab;
}

.legal ul {
  margin: 0 0 14px;
  padding-left: 18px;
}

.legal li {
  margin-bottom: 9px;
  font-size: .72rem;
  line-height: 2;
  letter-spacing: .01em;
  color: #a4a6ab;
}

.legal li::marker { color: var(--red); }

.legal .rights li { margin-bottom: 12px; }

.legal strong { color: #cfccc6; }
.legal em { font-style: italic; }

.legal code {
  padding: 2px 6px;
  border: 1px solid var(--edge);
  border-radius: 5px;
  background: rgba(255,255,255,.03);
  font-family: ui-monospace, 'Cascadia Mono', Consolas, monospace;
  font-size: .78em;
  color: #cfccc6;
}

.legal a {
  color: var(--red-soft);
  text-underline-offset: 3px;
  text-decoration-color: rgba(232,89,75,.45);
}
.legal a:hover { color: #ff8376; }

/* Tabla de cookies */

.table-scroll {
  margin: 0 0 16px;
  overflow-x: auto;
  border: 1px solid var(--edge);
  border-radius: 12px;
  background: rgba(255,255,255,.012);
}

.legal-table {
  width: 100%;
  min-width: 520px;
  border-collapse: collapse;
}

.legal-table th {
  padding: 11px 14px;
  border-bottom: 1px solid var(--edge);
  background: rgba(255,255,255,.02);
  text-align: left;
  font-size: .56rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--faint);
  white-space: nowrap;
}

.legal-table td {
  padding: 13px 14px;
  border-bottom: 1px solid rgba(38,40,43,.5);
  font-size: .68rem;
  line-height: 1.85;
  color: #a4a6ab;
  vertical-align: top;
}

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

/* En pantallas estrechas la tabla pasa a fichas: desplazarla en horizontal
   para leer una política es incómodo. */
@media (max-width: 620px) {
  .table-scroll { border: 0; border-radius: 0; background: transparent; overflow: visible; }
  .legal-table { min-width: 0; }
  .legal-table thead { display: none; }
  .legal-table, .legal-table tbody, .legal-table tr, .legal-table td { display: block; width: 100%; }

  .legal-table tr {
    margin-bottom: 10px;
    border: 1px solid var(--edge);
    border-left: 3px solid var(--red);
    border-radius: 12px;
    background: rgba(255,255,255,.015);
    overflow: hidden;
  }

  .legal-table td {
    padding: 11px 14px;
    border-bottom: 1px solid rgba(38,40,43,.5);
  }

  .legal-table td::before {
    content: attr(data-label);
    display: block;
    margin-bottom: 4px;
    font-size: .52rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--faint);
  }

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

@media (max-width: 520px) {
  .legal { padding: 40px 0 28px; }
  .back { margin-bottom: 28px; }
  .legal h2 { margin-top: 28px; }
  .legal p, .legal li { font-size: .7rem; line-height: 1.95; }
}
