/* Páginas legales (aviso legal, privacidad, cookies) · sobre servicio.css.
   Índice pegado a la izquierda en escritorio, texto a una medida cómoda de lectura. */
.portada--legal { padding-block-end: calc(var(--baseline) * 2); }
.portada--legal .portada__txt { max-width: 52rem; }
.legal__fecha { margin: 0; font-family: var(--mono); font-size: .8125rem; letter-spacing: .03em; text-transform: uppercase; color: var(--muted); }

.legal { padding-block-start: calc(var(--baseline) * 2); }
.legal__grid { display: grid; gap: calc(var(--baseline) * 2); }
@media (min-width: 1024px) {
  .legal__grid { grid-template-columns: minmax(14rem, 3fr) 8fr; gap: var(--baseline) calc(var(--gutter-x) * 3); align-items: start; }
  .legal__aside { position: sticky; top: calc(var(--baseline) * 1.5); }
}
.legal__aside { display: grid; gap: calc(var(--baseline) * 1.5); align-content: start; }
.legal__aside .label { display: block; margin-bottom: .5rem; }
.legal__indice, .legal__otras { list-style: none; margin: 0; padding: 0; display: grid; gap: .1rem; }
.legal__indice { counter-reset: n; }
.legal__indice li { counter-increment: n; }
.legal__indice a, .legal__otras a { display: inline-flex; gap: .6rem; padding-block: .3rem; color: var(--fg); text-decoration: none; font-size: 1rem; line-height: 1.35; }
.legal__indice a::before { content: counter(n, decimal-leading-zero); font-family: var(--mono); font-size: .75rem; color: var(--label-sm); padding-top: .15rem; }
.legal__indice a:hover, .legal__otras a:hover { text-decoration: underline; text-decoration-color: var(--rule); text-underline-offset: 4px; }
.legal__otras a[aria-current] { color: var(--label); }
@media (max-width: 1023px) {
  .legal__aside { padding-bottom: calc(var(--baseline) * 1.5); border-bottom: 1px solid var(--rule); }
  .legal__otras { display: flex; flex-wrap: wrap; gap: .25rem 1.25rem; }
}

.legal__texto { max-width: 46rem; display: grid; gap: calc(var(--baseline) * 2); }
.legal__texto section { display: grid; gap: calc(var(--baseline) * .6); scroll-margin-top: var(--baseline); }
.legal__texto h2 { font-size: clamp(1.875rem, 3vw, 2.5rem); line-height: 1.05; padding-top: calc(var(--baseline) * .6); border-top: 1px solid var(--rule); }
.legal__texto p, .legal__texto ul { margin: 0; line-height: 1.6; }
.legal__texto ul { padding-left: 1.2rem; display: grid; gap: .5rem; }
.legal__texto li::marker { color: var(--label); }
.legal__texto b { font-weight: 500; }
.legal__texto a { color: inherit; text-decoration: underline; text-decoration-color: var(--label); text-underline-offset: 3px; }
.legal__texto a:hover { color: var(--label); }
.legal__nav { list-style: none; padding: 0 !important; display: flex !important; flex-wrap: wrap; gap: .5rem 1.5rem !important; }

/* Ficha del titular */
.legal__ficha { margin: 0; display: grid; border-top: 1px solid var(--rule); }
.legal__ficha div { display: grid; grid-template-columns: 9.5rem minmax(0, 1fr); gap: 1rem; padding-block: .7rem; border-bottom: 1px solid var(--rule); }
.legal__ficha dt { font-family: var(--mono); font-size: .8125rem; letter-spacing: .03em; text-transform: uppercase; color: var(--label-sm); padding-top: .2rem; }
.legal__ficha dd { margin: 0; overflow-wrap: anywhere; }
@media (max-width: 499px) { .legal__ficha div { grid-template-columns: 1fr; gap: .15rem; } }

/* Dato pendiente de la clienta: se ve a propósito hasta rellenarlo */
mark.pendiente { background: var(--peony); color: var(--carbon); padding: .05em .35em; border-radius: 3px; font-family: var(--mono); font-size: .85em; letter-spacing: .02em; }

/* Tablas (finalidades, cookies): en móvil cada fila pasa a ficha */
.legal__tabla { overflow-x: auto; }
.legal__tabla table { width: 100%; border-collapse: collapse; font-size: 1rem; line-height: 1.5; }
.legal__tabla th { text-align: left; font-family: var(--mono); font-weight: 400; font-size: .8125rem; letter-spacing: .03em; text-transform: uppercase; color: var(--label-sm); padding: .5rem 1rem .5rem 0; border-bottom: 1px solid var(--heading); }
.legal__tabla td { vertical-align: top; padding: .75rem 1rem .75rem 0; border-bottom: 1px solid var(--rule); }
@media (max-width: 599px) {
  .legal__tabla thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .legal__tabla tr { display: grid; gap: .35rem; padding-block: .8rem; border-bottom: 1px solid var(--rule); }
  .legal__tabla td { display: grid; gap: .1rem; padding: 0; border: 0; }
  .legal__tabla td::before { content: attr(data-k); font-family: var(--mono); font-size: .75rem; letter-spacing: .03em; text-transform: uppercase; color: var(--label-sm); }
}

/* Botón para reabrir las preferencias de cookies */
.legal__boton { font-family: var(--mono); font-size: .875rem; letter-spacing: .03em; text-transform: uppercase; min-height: 3rem; padding: 0 1.6rem; border-radius: 999px; border: 0; background: var(--btn-bg); color: var(--btn-fg); cursor: pointer; }
.legal__boton:hover { background: var(--btn-hover); }
