/* JM Rutas v3 · privacidad.html · página utilitaria (respeta el esquema oscuro
   del sistema con data-esquema="auto"; por eso no fija data-tramo).
   Gramática: documento. Sello de borrador como objeto, índice fijo, tablas con
   filetes y sin cajas, una sola nota destacada (la de los jóvenes). */

.antetitulo { font-family: var(--f-display); font-size: var(--t-etiqueta); font-weight: 680; font-stretch: 75%; letter-spacing: .14em; text-transform: uppercase; color: var(--acento-tinta); }
.priv-pagina .punto { color: var(--cobre); }
.completar { display: inline-block; padding: .15em .5em; border: 1px dashed var(--linea-2); border-radius: var(--r-xs); font-size: var(--t-nota); font-weight: 400; color: var(--tinta-3); }

/* ---------- Apertura ---------- */
.priv-hero { padding-block: calc(var(--cab-alto) + clamp(2rem, 6vw, 5rem)) clamp(2rem, 4vw, 3.5rem); border-bottom: 1.5px solid var(--tinta); }
.priv-hero__rejilla { display: grid; gap: var(--e-xl) var(--medianil); align-items: end; }
@media (min-width: 1024px) { .priv-hero__rejilla { grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); column-gap: var(--e-2xl); } }
.priv-hero__texto { display: grid; gap: var(--e-m); }
.priv-hero__titulo { font-size: clamp(2.3rem, 4.4vw + .6rem, 5.25rem); font-weight: 800; font-stretch: 104%; line-height: .94; letter-spacing: -.03em; max-width: 18ch; }
.priv-hero__lead { color: var(--tinta-2); max-width: 62ch; }
.priv-sello { display: grid; gap: var(--e-xs); padding: var(--e-m); border: 2px dashed var(--cobre-tinta); border-radius: var(--r-xs); color: var(--tinta-2); font-size: var(--t-chico); max-width: 26rem; }
@media (min-width: 1024px) { .priv-sello { rotate: -2deg; justify-self: end; } }
.priv-sello__t { font-family: var(--f-display); font-size: 1.05rem; font-weight: 780; font-stretch: 84%; letter-spacing: .1em; text-transform: uppercase; color: var(--cobre-tinta); }
.priv-sello__v { font-family: var(--f-display); font-weight: 700; font-stretch: 80%; font-variant-numeric: tabular-nums; color: var(--tinta); }

/* ---------- Cuerpo: índice + texto ---------- */
.priv { padding-block: var(--e-xl) var(--e-3xl); }
.priv__rejilla { display: grid; gap: var(--e-xl) var(--medianil); }
.priv__rejilla > * { min-width: 0; }
@media (min-width: 1024px) { .priv__rejilla { grid-template-columns: minmax(0, 3fr) minmax(0, 9fr); column-gap: var(--e-3xl); } .priv__indice { position: sticky; top: calc(var(--cab-alto) + var(--e-l)); align-self: start; } }
.priv__indice h2 { margin-bottom: var(--e-xs); color: var(--tinta-3); }
.priv__indice ol { list-style: none; padding: 0; display: grid; border-top: 1px solid var(--borde); }
@media (max-width: 1023px) { .priv__indice ol { grid-template-columns: 1fr 1fr; column-gap: var(--medianil); } }
.priv__indice a { display: flex; align-items: center; min-height: 44px; padding-block: .35rem; border-bottom: 1px solid var(--borde); color: var(--tinta-2); text-decoration: none; font-size: var(--t-chico); line-height: 1.25; }
.priv__indice a:hover, .priv__indice a.is-actual { color: var(--tinta); }
.priv__indice a.is-actual { font-weight: 700; text-decoration: underline; text-decoration-color: var(--cobre); text-underline-offset: .25em; }
.priv__texto { max-width: 72ch; }
.priv__texto > section { scroll-margin-top: calc(var(--cab-alto) + 1rem); }
.priv__texto > section + section { margin-top: var(--e-2xl); padding-top: var(--e-xl); border-top: 1px solid var(--borde); }
.prosa.priv__texto h2 { margin-top: 0; font-size: clamp(1.5rem, 1.2vw + 1rem, 2.1rem); letter-spacing: -.015em; }
.prosa .lista-raya { padding-left: 0; }
.prosa .lista-raya li + li { margin-top: 0; }
.prosa .estado { vertical-align: .1em; }
/* «En corto»: el resumen se lee primero, en grande */
.priv-corto h2 { font-family: var(--f-display); font-size: var(--t-etiqueta) !important; font-weight: 700; font-stretch: 78%; letter-spacing: .14em; text-transform: uppercase; color: var(--acento-tinta); }
.priv-corto .lista-raya li { font-family: var(--f-display); font-size: clamp(1.15rem, .8vw + .95rem, 1.5rem); font-weight: 650; font-stretch: 96%; line-height: 1.25; color: var(--tinta); }

/* Tablas: filetes, sin caja */
.tabla { overflow-x: auto; border-top: 1.5px solid var(--tinta); }
.tabla:focus-visible { outline-offset: 2px; }
.tabla table { width: 100%; min-width: 32rem; font-size: var(--t-chico); }
.tabla caption { padding: .6rem 0; text-align: left; font-family: var(--f-display); font-size: .74rem; font-weight: 700; font-stretch: 80%; letter-spacing: .12em; text-transform: uppercase; color: var(--tinta-3); }
.tabla th, .tabla td { padding: .75rem 1rem .75rem 0; text-align: left; vertical-align: top; border-top: 1px solid var(--borde); }
.tabla thead th { font-family: var(--f-display); font-weight: 700; font-stretch: 90%; color: var(--tinta-3); font-size: .8rem; }
.tabla tbody th { font-weight: 700; color: var(--tinta); width: 32%; }
.tabla td { color: var(--tinta-2); }
.tabla .completar { margin-top: .4rem; }
@media (max-width: 639px) {
  .tabla { overflow: visible; }
  .tabla table { min-width: 0; }
  .tabla thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .tabla tr { display: block; border-top: 1px solid var(--borde); padding-block: .4rem; }
  .tabla th, .tabla td { display: block; width: auto !important; border-top: 0; padding-block: .2rem; }
  .tabla tbody tr > :first-child { font-weight: 700; color: var(--tinta); }
}

.priv-menores { display: grid; gap: var(--e-m); }
@media (min-width: 700px) { .priv-menores { grid-template-columns: 1fr 1fr; } }
.priv-menores > div { padding-top: var(--e-s); border-top: 1.5px solid var(--tinta); }
.priv-menores h3 { margin-top: 0; }
.priv-menores p { margin-top: .5em; color: var(--tinta-2); }
.priv-joven { padding: var(--e-m); border-radius: var(--r-s); background: var(--yareta-100); color: var(--noche); --tinta: var(--noche); --tinta-2: var(--noche-600); --borde: #C3D19F; }
.priv-joven h3 { margin: 0 0 var(--e-s); color: var(--yareta-tinta); }
.derechos { display: grid; border-top: 1.5px solid var(--tinta); }
@media (min-width: 640px) { .derechos { grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: var(--medianil); } }
.derechos div { padding-block: var(--e-s); border-bottom: 1px solid var(--borde); }
.derechos dt { font-family: var(--f-display); font-weight: 760; font-stretch: 94%; font-size: 1.2rem; }
.derechos dd { margin-top: .3rem; font-size: var(--t-chico); color: var(--tinta-2); }
.priv-pasos { display: grid; gap: 0; counter-reset: pp; padding-left: 0 !important; }
.priv-pasos li { counter-increment: pp; display: grid; grid-template-columns: 2.25rem 1fr; gap: .15rem var(--e-s); padding-block: var(--e-s); border-top: 1px solid var(--borde); }
.priv-pasos li::before { content: counter(pp); grid-row: span 2; font-family: var(--f-display); font-size: 1.8rem; font-weight: 800; font-stretch: 70%; line-height: 1; color: var(--cobre-tinta); }
.priv-pasos b { font-family: var(--f-display); font-weight: 720; }
.priv-pasos span { color: var(--tinta-2); }
.priv-salida { margin-top: var(--e-2xl); }

@media (prefers-color-scheme: dark) {
  html[data-esquema="auto"] .cab { color: var(--cal-0); --logo-acento: var(--cobre-claro); }
  html[data-esquema="auto"] .completar { border-color: var(--noche-500); }
  html[data-esquema="auto"] .priv-sello { border-color: var(--cobre-claro); }
  html[data-esquema="auto"] .priv-sello__t { color: var(--cobre-claro); }
  html[data-esquema="auto"] .priv-pasos li::before { color: var(--cobre-claro); }
}
@media print { .priv__indice, .priv-salida { display: none; } .priv__rejilla { display: block; } .priv-sello { rotate: 0deg; } }
