/* ============================================================
   RISTRA · hoja de estilo de las páginas legales
   Comparte los tokens de marca con la landing (index.html). Se
   mantiene aparte porque son cuatro documentos que solo cambian
   en el texto: privacidad, condiciones, aviso legal y cookies.
   ============================================================ */

:root{
  --terracota:#A8412A;
  --terracota-2:#8f3521;
  --crema:#F5EFE6;
  --carbon:#1F1A17;
  --oliva:#6B7A3A;
  --ocre:#D4A24C;

  --carbon-70:rgba(31,26,23,.70);
  --carbon-56:rgba(31,26,23,.56);
  --linea-clara:rgba(31,26,23,.10);
  --superficie-clara:#FBF6EC;

  --r-control:12px;
  --r-tarjeta:18px;

  --sans:'Inter',system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --serif:'Iowan Old Style',Georgia,'Times New Roman',serif;

  --medida:72ch;
}

*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}

body{
  margin:0;
  font-family:var(--sans);
  font-size:clamp(16px,1.02vw,17px);
  line-height:1.65;
  color:var(--carbon);
  background:var(--crema);
}

/* --- Cabecera ------------------------------------------------------------- */
.barra{
  background:var(--carbon);
  padding:18px clamp(20px,5vw,48px);
}
.lockup{
  display:inline-flex;align-items:center;gap:10px;
  text-decoration:none;color:var(--crema);
}
.wordmark{
  font-family:var(--serif);font-size:1.35rem;letter-spacing:.01em;
}

/* --- Cuerpo --------------------------------------------------------------- */
main{
  max-width:var(--medida);
  margin:0 auto;
  padding:clamp(40px,7vw,80px) clamp(20px,5vw,48px) clamp(64px,9vw,120px);
}

h1{
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(2rem,4.2vw,2.9rem);
  line-height:1.15;
  margin:0 0 10px;
}
.subtitulo{
  color:var(--carbon-56);
  margin:0 0 6px;
}
.fecha{
  color:var(--carbon-56);
  font-size:.9rem;
  margin:0 0 40px;
}

h2{
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(1.35rem,2.4vw,1.7rem);
  line-height:1.25;
  margin:44px 0 12px;
  padding-top:20px;
  border-top:1px solid var(--linea-clara);
}
h3{
  font-size:1.02rem;
  font-weight:650;
  margin:26px 0 8px;
}

p{margin:0 0 14px;}
ul,ol{margin:0 0 16px;padding-left:22px;}
li{margin-bottom:8px;}
li::marker{color:var(--terracota);}

a{color:var(--terracota);text-underline-offset:3px;}
a:hover{color:var(--terracota-2);}

strong{font-weight:650;}
abbr{text-decoration:none;border-bottom:1px dotted var(--carbon-56);cursor:help;}

/* Bloque destacado: avisos que el lector no debe saltarse. */
.destacado{
  background:var(--superficie-clara);
  border:1px solid var(--linea-clara);
  border-left:3px solid var(--terracota);
  border-radius:var(--r-control);
  padding:18px 20px;
  margin:0 0 20px;
}
.destacado p:last-child{margin-bottom:0;}

/* Ficha de identificación del prestador. */
.ficha{
  background:var(--superficie-clara);
  border:1px solid var(--linea-clara);
  border-radius:var(--r-tarjeta);
  padding:20px 22px;
  margin:0 0 24px;
}
.ficha dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:6px 18px;}
.ficha dt{font-weight:650;color:var(--carbon-70);}
.ficha dd{margin:0;}
@media (max-width:560px){
  .ficha dl{grid-template-columns:1fr;gap:2px;}
  .ficha dd{margin-bottom:10px;}
}

/* Tabla de encargados / cookies. */
.tabla-envoltura{overflow-x:auto;margin:0 0 20px;}
table{border-collapse:collapse;width:100%;min-width:520px;font-size:.94rem;}
th,td{
  text-align:left;vertical-align:top;
  padding:10px 12px;
  border-bottom:1px solid var(--linea-clara);
}
th{font-weight:650;color:var(--carbon-70);white-space:nowrap;}

/* --- Pie ------------------------------------------------------------------ */
.pie{
  border-top:1px solid var(--linea-clara);
  margin-top:56px;
  padding-top:22px;
  font-size:.9rem;
  color:var(--carbon-56);
}
.pie ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:6px 20px;margin:0 0 12px;}
.pie li{margin:0;}
