/* ==========================================================================
   RAIO — páginas legales (privacidad · términos · libro de reclamaciones)
   Se carga DESPUÉS de style.css: reutiliza header, footer, botones y tokens.
   ========================================================================== */

.legal{padding:clamp(2.4rem,5vw,4rem) 0 4rem}
.legal__wrap{width:min(100% - 2.5rem,860px);margin-inline:auto}
.legal__migas{font-size:.78rem;letter-spacing:.02em;color:var(--texto-3);margin-bottom:1.4rem}
.legal__migas a{text-decoration:none;border-bottom:1px solid rgba(29,31,42,.25)}
.legal__migas a:hover{color:var(--violeta);border-color:var(--violeta)}

.legal h1{font-size:clamp(2rem,4.6vw,3.1rem);margin-bottom:.6rem}
.legal__sub{color:var(--texto-2);margin:0 0 .4rem;font-size:1.02rem;max-width:62ch}
.legal__fecha{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:var(--texto-3);margin:0 0 2rem}

.legal h2{font-size:clamp(1.15rem,2vw,1.45rem);margin:2.4rem 0 .7rem;color:var(--violeta)}
.legal h3{font-size:1rem;margin:1.5rem 0 .4rem;letter-spacing:0}
.legal p,.legal li{color:var(--texto-2);font-size:.98rem;line-height:1.7}
.legal p{margin:0 0 .9rem}
.legal ul,.legal ol{margin:0 0 1rem;padding-left:1.15rem}
.legal li{margin-bottom:.4rem}
.legal a{color:var(--violeta);text-underline-offset:2px}
.legal a:hover{color:var(--naranja)}
.legal strong{color:var(--tinta)}

.legal__caja{
  background:#fff;border:1px solid var(--linea);border-radius:var(--r-md);
  padding:1.2rem 1.3rem;margin:1.2rem 0 1.6rem;box-shadow:var(--sombra)
}
.legal__caja h2{margin-top:0}
.legal__datos{display:grid;grid-template-columns:auto 1fr;gap:.45rem 1rem;margin:0;font-size:.92rem}
.legal__datos dt{font-weight:700;color:var(--tinta);white-space:nowrap}
.legal__datos dd{margin:0;color:var(--texto-2)}

.legal__indice{background:rgba(51,5,141,.045);border-left:3px solid var(--violeta);border-radius:0 var(--r-sm) var(--r-sm) 0;padding:1rem 1.2rem;margin:0 0 2rem}
.legal__indice p{margin:0 0 .5rem;font-weight:700;color:var(--tinta);font-size:.82rem;text-transform:uppercase;letter-spacing:.12em}
.legal__indice ol{margin:0;padding-left:1.1rem;columns:2;column-gap:2rem}
.legal__indice li{font-size:.9rem;margin-bottom:.3rem}
.legal__indice a{text-decoration:none;border-bottom:1px solid rgba(51,5,141,.25)}

.legal__volver{display:inline-flex;align-items:center;gap:.45rem;margin-top:2.4rem;font-weight:600;text-decoration:none}
.legal__volver:hover{color:var(--naranja)}

/* ---------- Libro de reclamaciones ---------- */
.libro__aviso{
  background:var(--grafito);color:var(--texto-claro);border-radius:var(--r-md);
  padding:1.4rem 1.5rem;margin:1.4rem 0 2rem
}
.libro__aviso h2{color:#fff;margin:0 0 .6rem;font-size:1.05rem;letter-spacing:.02em}
.libro__aviso p{color:var(--texto-claro-2);margin:0 0 .6rem;font-size:.9rem}
.libro__aviso p:last-child{margin-bottom:0}
.libro__aviso strong{color:var(--naranja)}

.campo{margin-bottom:1rem}
.campo label{display:block;font-size:.82rem;font-weight:600;margin-bottom:.35rem;letter-spacing:.01em}
.campo .ayuda{display:block;font-weight:400;color:var(--texto-3);font-size:.78rem;margin-top:.2rem}
.campo input,.campo select,.campo textarea{
  width:100%;padding:.72rem .85rem;border:1px solid rgba(29,31,42,.22);border-radius:var(--r-sm);
  background:#fff;font:inherit;font-size:.95rem;color:var(--tinta)
}
.campo input:focus,.campo select:focus,.campo textarea:focus{
  outline:2px solid var(--violeta);outline-offset:1px;border-color:var(--violeta)
}
.campo textarea{resize:vertical;min-height:110px}
.campo--fila{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.campo--fila .campo{margin-bottom:0}
.campo--check{display:flex;gap:.6rem;align-items:flex-start;font-size:.85rem;color:var(--texto-2)}
.campo--check input{width:auto;margin-top:.25rem;flex:0 0 auto}
@media (max-width:620px){.campo--fila{grid-template-columns:1fr;gap:1rem}.legal__indice ol{columns:1}}

.libro__form{background:#fff;border:1px solid var(--linea);border-radius:var(--r-md);padding:1.5rem 1.5rem 1.2rem;box-shadow:var(--sombra);margin:0 0 2rem}
.libro__form fieldset{border:0;padding:0;margin:0 0 1.4rem}
.libro__form legend{font-family:var(--ff-display);text-transform:uppercase;font-size:.8rem;letter-spacing:.12em;color:var(--violeta);padding:0;margin-bottom:.9rem}
.libro__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.aviso-error,.aviso-ok{border-radius:var(--r-sm);padding:.9rem 1rem;font-size:.9rem;margin:0 0 1.4rem}
.aviso-error{background:#FDECEA;border:1px solid #F2B8B5;color:#8A1B12}
.aviso-error ul{margin:.5rem 0 0;padding-left:1.1rem}
.aviso-error li{color:#8A1B12;font-size:.88rem;margin-bottom:.2rem}
.aviso-ok{background:#EAF7EE;border:1px solid #A9D9B8;color:#1B5E32}

.constancia{background:#fff;border:1px solid var(--linea);border-radius:var(--r-md);padding:1.6rem;box-shadow:var(--sombra);margin:1.4rem 0 2rem}
.constancia__cab{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-bottom:2px solid var(--grafito);padding-bottom:.9rem;margin-bottom:1.1rem}
.constancia__cod{font-family:var(--ff-display);font-size:1.25rem;color:var(--violeta);letter-spacing:.02em}
.constancia__cod span{display:block;font-family:var(--ff-texto);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--texto-3)}
.constancia dl{display:grid;grid-template-columns:auto 1fr;gap:.4rem 1rem;margin:0 0 1rem;font-size:.9rem}
.constancia dt{font-weight:700;white-space:nowrap}
.constancia dd{margin:0;color:var(--texto-2);overflow-wrap:anywhere}
.constancia__pie{border-top:1px dashed rgba(29,31,42,.25);padding-top:.9rem;font-size:.82rem;color:var(--texto-3)}
@media (max-width:560px){.constancia dl,.legal__datos{grid-template-columns:1fr;gap:.15rem}.constancia dd{margin-bottom:.6rem}}

@media print{
  .hdr,.ftr,.wsp,.legal__migas,.legal__volver,.noprint,.libro__form{display:none!important}
  body{background:#fff}
  .legal{padding:0}
  .constancia{box-shadow:none;border:1px solid #999;margin:0}
  .legal__wrap{width:100%}
}
