.pie-legal { align-items: center; }
.pie-enlaces-legales { display: flex; flex-wrap: wrap; gap: .4rem 1.4rem; }
.pie-enlaces-legales a { color: #a99ea5; text-decoration: none; transition: color 150ms ease; }
.pie-enlaces-legales a:hover { color: #fff; }

.carrito-legal { font-size: .72rem; color: var(--kf-gris-suave); text-align: center; margin: .6rem 0 0; }
.carrito-legal a, .wa-legal a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.wa-legal { margin: 0; padding: .55rem 1rem .7rem; background: #fff; font-size: .68rem; line-height: 1.4; color: var(--kf-gris-suave); }

.legal-cabecera { background: var(--kf-lila-claro); padding: 3.5rem 0 3rem; }
.legal-cabecera h1 { font-size: clamp(2rem, 4vw, 3rem); font-weight: 700; margin: .4rem 0 .9rem; }
.legal-cabecera p { max-width: 640px; color: #5b5257; font-size: 1rem; line-height: 1.65; margin-bottom: .8rem; }
.legal-cabecera small { color: var(--kf-gris-suave); font-size: .8rem; }
.legal { padding: 3.5rem 0 5rem; }
.legal-indice { position: sticky; top: calc(var(--alto-nav, 72px) + 1.5rem); }
.legal-indice span { display: block; font-size: .72rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--kf-gris-suave); margin-bottom: .9rem; }
.legal-indice ol { list-style: none; counter-reset: indice; padding: 0; margin: 0; border-left: 1px solid var(--kf-linea); }
.legal-indice li { counter-increment: indice; }
.legal-indice a { display: block; padding: .4rem 0 .4rem 1rem; margin-left: -1px; border-left: 2px solid transparent; color: #6a6066; text-decoration: none; font-size: .88rem; transition: color 150ms ease, border-color 150ms ease; }
.legal-indice a::before { content: counter(indice, decimal-leading-zero) "  "; font-size: .72rem; color: var(--kf-gris-suave); }
.legal-indice a:hover { color: var(--kf-morado); border-left-color: var(--kf-morado); }
.legal-texto section { padding-bottom: 2.25rem; margin-bottom: 2.25rem; border-bottom: 1px solid var(--kf-linea); scroll-margin-top: calc(var(--alto-nav, 72px) + 1.5rem); }
.legal-texto section:last-child { border-bottom: 0; }
.legal-texto h2 { font-size: 1.45rem; font-weight: 700; margin-bottom: 1rem; }
.legal-texto p, .legal-texto li { color: #4f474c; font-size: .97rem; line-height: 1.75; }
.legal-texto ul, .legal-texto ol { padding-left: 1.2rem; }
.legal-texto li { margin-bottom: .45rem; }
.legal-texto a { color: var(--kf-morado); text-underline-offset: 3px; }
.legal-datos { list-style: none; padding: 0 !important; margin: 0; border: 1px solid var(--kf-linea); border-radius: 8px; overflow: hidden; }
.legal-datos li { display: flex; gap: 1rem; padding: .8rem 1.1rem; margin: 0; border-bottom: 1px solid var(--kf-linea); }
.legal-datos li:last-child { border-bottom: 0; }
.legal-datos span { flex: 0 0 150px; font-size: .74rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--kf-gris-suave); padding-top: .2rem; }
.legal-tabla { font-size: .88rem; }
.legal-tabla th { font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--kf-gris-suave); font-weight: 600; border-bottom-color: var(--kf-linea); }
.legal-tabla td { color: #4f474c; border-bottom-color: var(--kf-linea); padding: .85rem .75rem; }
.dato-pendiente { background: #fff4c2; color: #6b5300; padding: 0 .3rem; border-radius: 3px; font-weight: 600; }
@media (max-width: 991.98px) {
  .legal-indice { position: static; }
  .legal-datos li { flex-direction: column; gap: .15rem; }
  .legal-datos span { flex-basis: auto; }
}
