/* ===========================================================
   Clynia · Páginas legales (privacidad, cookies, etc.)
   Reutiliza tokens de styles.css. Cargar styles.css antes.
   =========================================================== */

.legal-header {
  border-bottom: 1px solid var(--line);
  background: var(--bg);
}
.legal-header__inner {
  max-width: 900px;
  margin-inline: auto;
  padding: 16px var(--pad);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.legal-header__inner img { height: 26px; width: auto; display: block; }
.legal-back {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 14px;
  font-weight: 500;
  color: var(--ink-soft);
  transition: color 0.2s var(--ease);
}
.legal-back:hover { color: var(--green); }
.legal-back svg { width: 16px; height: 16px; }

.legal { padding: 30px 0 60px; }
.legal-wrap { max-width: 760px; margin-inline: auto; padding-inline: var(--pad); }

.legal h1 {
  font-family: "Lora", Georgia, serif;
  font-weight: 500;
  font-size: clamp(28px, 7vw, 40px);
  line-height: 1.16;
  letter-spacing: -0.012em;
  color: var(--ink);
  margin: 0 0 10px;
}
.legal__updated { margin: 0 0 38px; font-size: 14px; color: var(--ink-faint); }

.legal h2 {
  font-family: "Lora", Georgia, serif;
  font-weight: 500;
  font-size: clamp(21px, 5vw, 26px);
  line-height: 1.25;
  color: var(--ink);
  margin: 44px 0 14px;
}
.legal h3 {
  font-weight: 600;
  font-size: 17px;
  color: var(--ink);
  margin: 28px 0 10px;
}
.legal p {
  margin: 0 0 16px;
  font-size: 15.5px;
  line-height: 1.7;
  color: var(--ink-soft);
  text-align: justify;
  -webkit-hyphens: auto;
  hyphens: auto;
}
.legal ul { margin: 0 0 20px; padding: 0; list-style: none; display: grid; gap: 11px; }
.legal li {
  position: relative;
  padding-left: 24px;
  font-size: 15.5px;
  line-height: 1.65;
  color: var(--ink-soft);
  text-align: justify;
  -webkit-hyphens: auto;
  hyphens: auto;
}
.legal li::before {
  content: "";
  position: absolute;
  left: 3px;
  top: 9px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--green);
}
.legal a { color: var(--green); text-decoration: underline; text-underline-offset: 2px; }
.legal a:hover { color: var(--green-700); }

.legal-table-wrap {
  overflow-x: auto;
  margin: 0 0 24px;
  border: 1px solid var(--line);
  border-radius: 14px;
  -webkit-overflow-scrolling: touch;
}
.legal table { width: 100%; border-collapse: collapse; font-size: 14px; table-layout: fixed; }
.legal thead th {
  text-align: left;
  background: var(--green-tint);
  color: var(--ink);
  font-weight: 600;
  font-size: 12.5px;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  padding: 11px 14px;
  border-bottom: 1px solid var(--line);
}
.legal tbody td {
  padding: 12px 14px;
  border-bottom: 1px solid var(--line);
  color: var(--ink-soft);
  vertical-align: top;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
.legal tbody tr:last-child td { border-bottom: none; }
.legal tbody td:first-child { font-weight: 600; color: var(--ink); }

/* Tablas anchas: en móvil cada fila se apila como tarjeta con etiquetas */
@media (max-width: 719px) {
  .legal-table-wrap { overflow: visible; border: none; border-radius: 0; }
  .legal table { display: block; }
  .legal thead { display: none; }
  .legal tbody { display: block; }
  .legal tbody tr {
    display: block;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 4px 2px 10px;
    margin-bottom: 14px;
  }
  .legal tbody td {
    display: block;
    border: none;
    padding: 9px 16px;
  }
  .legal tbody td::before {
    content: attr(data-label);
    display: block;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--green);
    margin-bottom: 3px;
  }
  .legal tbody td:first-child {
    font-size: 16px;
    padding-top: 14px;
  }
  .legal tbody td:first-child::before { display: none; }
}

.legal-footer { background: var(--footer-bg); padding: 34px 0; }
.legal-footer__inner { max-width: 760px; margin-inline: auto; padding-inline: var(--pad); }
.legal-footer__links { display: flex; flex-wrap: wrap; gap: 12px 18px; }
.legal-footer__links a { font-size: 14px; color: var(--ink-soft); transition: color 0.2s var(--ease); }
.legal-footer__links a:hover { color: var(--green); }
.legal-footer__copy { margin: 16px 0 0; font-size: 12px; color: var(--ink-faint); }

@media (min-width: 880px) {
  .legal { padding: 48px 0 88px; }
}
