/*
 * boicotear.com — tema «Multicopista».
 * Hojas de un boletín sindical tirado a multicopista: papel hueso, tinta violeta, máquina de escribir y sello rojo.
 * Besley (titulares y lectura, una clarendon de prensa obrera) + Courier Prime (fichas, fechas, rótulos).
 */

:root {
  /* color */
  --papel: #f3eee3;
  --papel-2: #e9e2d3;
  --papel-3: #fbf9f4;
  --tinta: #1e1b31;
  --tinta-2: #4a4560;
  --tinta-3: #625d78;
  --violeta: #3a2c8a;
  --violeta-2: #261b66;
  --violeta-claro: #cbc4f7;
  --rojo: #b02f1a;
  --rojo-claro: #ff8f78;
  --filete: #d3cab6;
  --filete-2: #b9ae97;
  --claro-2: #cfc9dd;

  /* tipografía */
  --f-texto: 'Besley', Georgia, 'Times New Roman', serif;
  --f-maquina: 'Courier Prime', 'Courier New', Courier, monospace;
  --t-xs: .8125rem;
  --t-s: .9375rem;
  --t-m: 1.0625rem;
  --t-lectura: 1.15rem;
  --t-l: 1.375rem;
  --t-xl: clamp(1.5rem, 1.2rem + 1vw, 1.875rem);
  --t-2xl: clamp(1.875rem, 1.3rem + 2.2vw, 2.75rem);
  --t-3xl: clamp(2.125rem, 1.35rem + 3.4vw, 3.6rem);
  --t-marca: clamp(3.4rem, .6rem + 11vw, 9.75rem);

  /* espacio (escala de 4/8) */
  --e-1: .25rem;
  --e-2: .5rem;
  --e-3: .75rem;
  --e-4: 1rem;
  --e-5: 1.5rem;
  --e-6: 2rem;
  --e-7: 3rem;
  --e-8: 4rem;
  --e-9: 6rem;
  --margen: clamp(1.25rem, 4vw, 2.5rem);
  --ancho: 76rem;
  --bloque: clamp(4rem, 3rem + 4vw, 6rem);

  /* variables del contenido del motor */
  --ancho-texto: 42rem;
  --ancho-amplio: 42rem;
  --hueco: 1.5rem;
  --radio: 2px;
  --color-texto: var(--tinta);
  --color-fondo: var(--papel-3);
  --color-suave: var(--papel-2);
  --color-borde: var(--filete);
  --color-acento: var(--violeta);
  --color-acento-texto: #fff;
  --color-tenue: var(--tinta-3);
  --fuente-texto: var(--f-texto);
  --fuente-titulos: var(--f-texto);

  color-scheme: light;
  accent-color: var(--violeta);
  scrollbar-color: var(--tinta-3) var(--papel-2);
}

/* ------------------------------------------------------------------ base */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-top: var(--e-5); }
body {
  margin: 0;
  background: var(--papel);
  color: var(--tinta);
  font-family: var(--f-texto);
  font-size: var(--t-m);
  line-height: 1.6;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
html.menu-abierto { overflow: hidden; }
::selection { background: var(--violeta); color: #fff; }
img { max-width: 100%; height: auto; }
a { color: var(--violeta); text-decoration-thickness: 1px; text-underline-offset: .2em; transition: color .18s ease, text-decoration-color .18s ease, background-color .18s ease; }
a:hover { color: var(--rojo); text-decoration-thickness: 2px; }
:focus-visible { outline: 3px solid var(--rojo); outline-offset: 3px; border-radius: 1px; }
h1, h2, h3, h4 { text-wrap: balance; }
p { text-wrap: pretty; }
button { font: inherit; }
main { display: block; }
main:focus { outline: none; }

.envoltorio { width: min(100% - 2 * var(--margen), var(--ancho)); margin-inline: auto; }

.saltar {
  position: absolute; left: var(--e-4); top: -4rem; z-index: 200;
  background: var(--tinta); color: var(--papel); padding: var(--e-3) var(--e-4);
  font-family: var(--f-maquina); font-weight: 700; text-decoration: none; transition: top .18s ease;
}
.saltar:focus { top: var(--e-4); color: var(--papel); }

.icono { width: 1.25rem; height: 1.25rem; flex: none; vertical-align: -.2em; }

/* ------------------------------------------------------------------ marca */
.marca { margin: 0; font-family: var(--f-texto); font-weight: 900; font-size: 1.85rem; line-height: 1; letter-spacing: -.035em; }
.marca a { color: var(--tinta); text-decoration: none; display: inline-block; padding-block: .1em; }
.marca a:hover { color: var(--tinta); }
.marca-o { position: relative; display: inline-block; color: var(--rojo); }
.marca-o::after {
  content: ""; position: absolute; left: .07em; right: .07em; top: 62%;
  height: .1em; min-height: 2px; background: currentColor; border-radius: 1px;
  transform: translateY(-50%) rotate(-45deg);
}

/* ------------------------------------------------------------------ cabecera */
.cabecera { background: var(--papel); }
.mancheta { display: flex; align-items: center; justify-content: space-between; gap: var(--e-4); min-height: 3.75rem; padding-block: var(--e-2); }
.mancheta-lema { margin: 0; font-family: var(--f-maquina); font-size: var(--t-s); color: var(--tinta-2); }
.mancheta-lema-corta { display: none; }
.mancheta-datos { margin: 0; font-family: var(--f-maquina); font-size: var(--t-xs); color: var(--tinta-2); display: flex; flex-wrap: wrap; gap: var(--e-1) var(--e-4); text-transform: uppercase; letter-spacing: .08em; }
.mancheta-datos span + span::before { content: none; margin-right: var(--e-4); color: var(--rojo); }

.cabecera-portada .mancheta { flex-wrap: wrap; padding-block: var(--e-4) var(--e-5); }
.cabecera-portada .marca { font-size: clamp(2.6rem, 1rem + 7vw, 3.4rem); }
.mancheta-pie { order: 3; width: 100%; display: grid; gap: var(--e-2); padding-top: var(--e-3); border-top: 1px solid var(--tinta); }

.menu-boton {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--e-2);
  min-width: 2.75rem; min-height: 2.75rem; padding: var(--e-2) var(--e-3);
  background: none; border: 1.5px solid var(--tinta); color: var(--tinta); cursor: pointer;
  font-family: var(--f-maquina); font-weight: 700; font-size: var(--t-s); text-transform: uppercase; letter-spacing: .08em;
  transition: background-color .18s ease, color .18s ease;
}
.menu-boton:hover { background: var(--tinta); color: var(--papel); }

.barra { border-block: 1px solid var(--tinta); box-shadow: 0 3px 0 -1px var(--papel), 0 4px 0 -1px var(--tinta); margin-bottom: 4px; }
.navegacion { display: none; }
.navegacion.abierto {
  display: flex; flex-direction: column; gap: var(--e-5);
  position: fixed; inset: 0; z-index: 150; width: auto; margin: 0;
  padding: var(--e-3) var(--margen) calc(var(--e-6) + env(safe-area-inset-bottom));
  background: var(--papel); overflow-y: auto; overscroll-behavior: contain;
}
.navegacion-cabeza { display: flex; align-items: center; justify-content: space-between; min-height: 3.75rem; border-bottom: 1px solid var(--tinta); }
.menu-cerrar {
  display: inline-flex; align-items: center; gap: var(--e-2); min-height: 2.75rem; padding: var(--e-2) var(--e-3);
  background: var(--tinta); color: var(--papel); border: 0; cursor: pointer;
  font-family: var(--f-maquina); font-weight: 700; font-size: var(--t-s); text-transform: uppercase; letter-spacing: .08em;
}
.menu { list-style: none; margin: 0; padding: 0; }
.menu a {
  display: flex; align-items: center; min-height: 3.25rem; padding: var(--e-3) 0;
  border-bottom: 1px solid var(--filete); color: var(--tinta); text-decoration: none;
  font-weight: 800; font-size: 1.5rem; letter-spacing: -.01em;
}
.menu a[aria-current] { color: var(--rojo); }
.menu a:hover { color: var(--violeta); }
.menu-sub { display: none; }

.buscador-barra { display: flex; align-items: stretch; border: 1.5px solid var(--tinta); background: var(--papel-3); }
.buscador-barra input {
  flex: 1; min-width: 0; min-height: 2.75rem; padding: var(--e-2) var(--e-3);
  border: 0; background: transparent; color: var(--tinta); font: inherit; font-size: 1rem;
}
.buscador-barra input:focus { outline: none; }
.buscador-barra:focus-within { outline: 3px solid var(--rojo); outline-offset: 2px; }
.buscador-barra button { display: grid; place-items: center; width: 2.75rem; border: 0; background: var(--tinta); color: var(--papel); cursor: pointer; }
.buscador-barra button:hover { background: var(--violeta); }

@media (min-width: 40rem) {
  .mancheta-datos span + span::before { content: "·"; }
  .mancheta-lema-corta { display: block; margin-right: auto; padding-left: var(--e-5); border-left: 1px solid var(--filete-2); margin-left: var(--e-2); }
  .mancheta-pie { display: flex; justify-content: space-between; align-items: baseline; gap: var(--e-5); }
}

@media (min-width: 60rem) {
  .menu-boton, .navegacion-cabeza { display: none; }
  .mancheta { min-height: 4.5rem; }
  .cabecera-portada .mancheta { flex-direction: column; align-items: stretch; padding-block: var(--e-6) var(--e-4); }
  .cabecera-portada .marca { font-size: var(--t-marca); text-align: center; letter-spacing: -.045em; line-height: .92; }
  .cabecera-portada .marca a { padding-block: 0 .06em; }
  .mancheta-pie { margin-top: var(--e-4); }
  .navegacion, .navegacion.abierto {
    display: flex; flex-direction: row; align-items: center; justify-content: space-between; gap: var(--e-5);
    position: static; padding: 0; background: none; overflow: visible; width: min(100% - 2 * var(--margen), var(--ancho)); margin-inline: auto;
  }
  .menu { display: flex; flex-wrap: wrap; }
  .menu a {
    min-height: 3rem; padding: var(--e-2) var(--e-4); border: 0; font-family: var(--f-maquina); font-weight: 700;
    font-size: var(--t-xs); text-transform: uppercase; letter-spacing: .12em;
  }
  .menu li:first-child a { padding-left: 0; }
  .menu a[aria-current] { color: var(--rojo); box-shadow: inset 0 -3px 0 var(--rojo); }
  .buscador-barra { width: 17rem; border-width: 1px; }
  .buscador-barra input { min-height: 2.5rem; font-size: var(--t-s); font-family: var(--f-maquina); }
  .buscador-barra button { width: 2.5rem; }
}

/* ------------------------------------------------------------------ piezas comunes */
.sello {
  display: inline-block; margin: 0 0 var(--e-4); padding: .35rem .65rem .3rem;
  font-family: var(--f-maquina); font-weight: 700; font-size: var(--t-xs); letter-spacing: .14em; text-transform: uppercase; line-height: 1.2;
  color: var(--violeta); border: 2px solid currentColor; border-radius: 2px; transform: rotate(-1.5deg);
}
.sello-rojo { color: var(--rojo); }

.antetitulo {
  display: flex; align-items: center; gap: var(--e-3); margin: 0;
  font-family: var(--f-maquina); font-weight: 700; font-size: var(--t-xs); letter-spacing: .16em; text-transform: uppercase; color: var(--rojo);
}
.antetitulo::before { content: ""; width: 2rem; height: 2px; background: currentColor; }
.bloque { margin-block: var(--bloque); }
.bloque-cabeza { display: grid; gap: var(--e-3); max-width: 48rem; margin-bottom: var(--e-7); }
.bloque-titulo { margin: 0; font-weight: 800; font-size: var(--t-2xl); line-height: 1.05; letter-spacing: -.025em; }
.bloque-nota { margin: 0; font-family: var(--f-maquina); font-size: var(--t-s); color: var(--tinta-2); }

.meta { margin: 0 0 var(--e-2); font-family: var(--f-maquina); font-size: var(--t-xs); color: var(--tinta-2); text-transform: uppercase; letter-spacing: .06em; display: flex; flex-wrap: wrap; gap: 0 var(--e-3); }
.meta a { color: inherit; }
.meta-num { color: var(--rojo); font-weight: 700; }

.enlace-flecha { display: inline-flex; align-items: center; gap: var(--e-2); min-height: 2.75rem; font-family: var(--f-maquina); font-weight: 700; font-size: var(--t-s); text-transform: uppercase; letter-spacing: .08em; text-decoration: none; color: var(--violeta); }
.enlace-flecha .icono { transition: transform .2s ease; }
.enlace-flecha:hover .icono { transform: translateX(4px); }

.boton, .x-contacto .boton, .x-buscador button {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--e-2);
  min-height: 3rem; padding: var(--e-3) var(--e-5); border: 2px solid var(--tinta); border-radius: 0;
  background: var(--tinta); color: var(--papel); cursor: pointer; text-decoration: none;
  font-family: var(--f-maquina); font-weight: 700; font-size: var(--t-s); text-transform: uppercase; letter-spacing: .1em;
  transition: background-color .18s ease, color .18s ease, transform .18s ease;
}
.boton:hover, .x-contacto .boton:hover, .x-buscador button:hover { background: var(--violeta); border-color: var(--violeta); color: #fff; transform: none; box-shadow: none; }
.boton-claro { background: transparent; color: var(--papel); border-color: var(--papel); }
.boton-claro:hover { background: var(--papel); color: var(--tinta); border-color: var(--papel); }

/* fotos «en tinta»: gris de multicopista sobre violeta; color al pasar */
.tinta { display: block; background: var(--violeta); overflow: hidden; }
.tinta img { display: block; filter: grayscale(1) contrast(1.15) brightness(1.05); mix-blend-mode: screen; transition: filter .25s ease, opacity .25s ease; }
.tinta:hover img, .tinta:focus-visible img { filter: none; mix-blend-mode: normal; }

/* ------------------------------------------------------------------ portada: apertura */
.apertura { padding-top: var(--e-7); }
.apertura-rejilla { display: grid; gap: var(--e-7); }
.principal-foto { margin-bottom: var(--e-5); border: 1px solid var(--tinta); }
.principal-foto img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.principal-titulo { margin: 0 0 var(--e-4); font-weight: 800; font-size: var(--t-3xl); line-height: 1.02; letter-spacing: -.03em; }
.principal-titulo a, .destacada-titulo a, .lista-breve a, .sello-tarjeta a { color: inherit; text-decoration: none; background-image: linear-gradient(currentColor, currentColor); background-size: 0 2px; background-position: 0 100%; background-repeat: no-repeat; transition: background-size .25s ease, color .18s ease; }
.principal-titulo a:hover, .destacada-titulo a:hover, .lista-breve a:hover { color: var(--violeta); background-size: 100% 2px; }
.principal-extracto { margin: 0 0 var(--e-4); font-size: 1.1875rem; line-height: 1.6; color: var(--tinta-2); max-width: 36rem; }
.lateral { display: grid; gap: var(--e-7); align-content: start; }
.destacada { padding-bottom: var(--e-6); border-bottom: 2px solid var(--tinta); }
.destacada-cifra { display: flex; align-items: baseline; gap: var(--e-3); text-decoration: none; color: var(--rojo); margin-bottom: var(--e-2); }
.destacada-cifra .cifra { font-weight: 900; font-size: clamp(4rem, 3rem + 4vw, 5.5rem); line-height: .9; letter-spacing: -.04em; font-variant-numeric: lining-nums; }
.destacada-cifra .cifra-txt { font-family: var(--f-maquina); font-weight: 700; font-size: var(--t-s); text-transform: uppercase; letter-spacing: .1em; }
.destacada-cifra:hover { color: var(--violeta); }
.destacada-titulo { margin: 0 0 var(--e-3); font-weight: 800; font-size: var(--t-xl); line-height: 1.12; letter-spacing: -.015em; }
.destacada-extracto { margin: 0; color: var(--tinta-2); font-size: 1rem; }
.lista-breve { list-style: none; margin: 0; padding: 0; }
.lista-breve li { padding: var(--e-4) 0; border-bottom: 1px solid var(--filete); }
.lista-breve li:first-child { padding-top: 0; }
.lista-breve h3 { margin: 0; font-weight: 700; font-size: 1.1875rem; line-height: 1.25; }

@media (min-width: 64rem) {
  .apertura { padding-top: var(--e-8); }
  .apertura-rejilla { grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: var(--e-8); }
  .apertura-rejilla.con-foto { grid-template-columns: minmax(0, 40rem) minmax(0, 1fr); }
  .lateral { border-left: 1px solid var(--filete-2); padding-left: var(--e-7); }
}

/* ------------------------------------------------------------------ portada: cita */
.cita-banda {
  position: relative; overflow: hidden; margin-top: var(--bloque);
  padding-block: clamp(3.5rem, 2rem + 6vw, 6.5rem);
  background: var(--violeta) repeating-linear-gradient(0deg, rgba(255,255,255,.035) 0 1px, transparent 1px 7px);
  color: #fff;
}
.cita { position: relative; max-width: 54rem; margin: 0 auto; }
.cita-comillas { position: absolute; top: -.32em; left: -.08em; font-weight: 900; font-size: clamp(8rem, 6rem + 8vw, 14rem); line-height: 1; color: rgba(255,255,255,.12); pointer-events: none; }
.cita blockquote { margin: 0; }
.cita blockquote p { position: relative; margin: 0; font-style: italic; font-weight: 600; font-size: clamp(1.625rem, 1rem + 2.6vw, 2.75rem); line-height: 1.2; letter-spacing: -.01em; text-wrap: balance; }
.cita figcaption { margin-top: var(--e-5); font-family: var(--f-maquina); font-size: var(--t-s); color: var(--violeta-claro); display: flex; flex-wrap: wrap; gap: var(--e-1) var(--e-4); align-items: baseline; }
.cita figcaption a { color: #fff; font-weight: 700; }
.cita figcaption a:hover { color: var(--violeta-claro); }
.cita cite { font-style: normal; }

/* ------------------------------------------------------------------ portada: los papeles */
.papeles-rejilla { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--e-6); grid-template-columns: repeat(auto-fill, minmax(min(100%, 20rem), 1fr)); }
.papel { --giro: -.5deg; }
.papel:nth-child(3n+2) { --giro: .45deg; }
.papel:nth-child(3n) { --giro: -.2deg; }
.papel-enlace {
  position: relative; display: flex; flex-direction: column; gap: var(--e-3); height: 100%; min-height: 17rem;
  padding: var(--e-6) var(--e-5) var(--e-5);
  background: var(--papel-3) repeating-linear-gradient(180deg, transparent 0 1.55rem, rgba(58,44,138,.06) 1.55rem calc(1.55rem + 1px));
  color: var(--tinta); text-decoration: none; border: 1px solid var(--filete);
  box-shadow: 0 1px 0 var(--filete), 0 18px 30px -24px rgba(30,27,49,.55);
  transform: rotate(var(--giro)); transition: transform .22s ease, box-shadow .22s ease;
}
.papel-enlace:hover { color: var(--tinta); transform: rotate(0deg) translateY(-4px); box-shadow: 0 1px 0 var(--filete), 0 26px 36px -24px rgba(30,27,49,.6); }
.papel-clip { position: absolute; top: -.85rem; right: var(--e-5); width: 1.9rem; height: 1.9rem; color: var(--tinta-2); transform: rotate(18deg); stroke-width: 1.5; }
.papel-num { font-family: var(--f-maquina); font-weight: 700; font-size: var(--t-xs); letter-spacing: .14em; text-transform: uppercase; color: var(--rojo); padding-bottom: var(--e-3); border-bottom: 1px solid var(--filete); }
.papel-titulo { margin: 0; font-weight: 800; font-size: var(--t-l); line-height: 1.15; letter-spacing: -.01em; }
.papel-enlace:hover .papel-titulo { color: var(--violeta); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .18em; }
.papel-texto { flex: 1; font-family: var(--f-maquina); font-size: var(--t-s); line-height: 1.6; color: var(--tinta-2); }
@media (max-width: 39.99rem) {
  .papel-enlace { min-height: 0; }
  .papel-texto { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; line-clamp: 4; overflow: hidden; }
  .papel:nth-child(n+5) { display: none; }
}
.papel-fecha { align-self: flex-end; font-family: var(--f-maquina); font-size: var(--t-xs); color: var(--tinta-3); }

/* ------------------------------------------------------------------ portada: cronología */
.cronologia { margin-top: var(--bloque); padding-block: var(--bloque); background: var(--papel-2); border-block: 1px solid var(--filete); }
.crono { border-top: 2px solid var(--tinta); }
.crono-anio { display: grid; gap: var(--e-3); padding-block: var(--e-5); border-bottom: 1px solid var(--filete-2); }
.crono-num { margin: 0; font-weight: 900; font-size: clamp(2.25rem, 1.8rem + 2vw, 3.25rem); line-height: 1; letter-spacing: -.04em; font-variant-numeric: lining-nums; }
.crono-num a { color: var(--tinta); text-decoration: none; }
.crono-num a:hover { color: var(--rojo); }
.crono-lista { list-style: none; margin: 0; padding: 0; }
.crono-lista li { break-inside: avoid; border-bottom: 1px dotted var(--filete-2); }
.crono-lista li:last-child { border-bottom: 0; }
.crono-lista a { display: grid; grid-template-columns: 6.25rem minmax(0, 1fr); gap: var(--e-3); align-items: baseline; min-height: 2.75rem; padding: var(--e-2) 0; color: var(--tinta); text-decoration: none; }
.crono-lista time { font-family: var(--f-maquina); font-size: var(--t-xs); color: var(--rojo); text-transform: uppercase; letter-spacing: .04em; white-space: nowrap; }
.crono-titulo { font-weight: 600; line-height: 1.3; }
.crono-lista a:hover .crono-titulo { color: var(--violeta); text-decoration: underline; text-underline-offset: .18em; }
.crono-mas { display: none; align-items: center; gap: var(--e-2); min-height: 2.75rem; margin-top: var(--e-2); font-family: var(--f-maquina); font-weight: 700; font-size: var(--t-s); text-transform: uppercase; letter-spacing: .08em; text-decoration: none; }
@media (max-width: 39.99rem) {
  .crono-largo .crono-lista li:nth-child(n+6) { display: none; }
  .crono-largo .crono-lista li:nth-child(5) { border-bottom: 0; }
  .crono-largo .crono-mas { display: inline-flex; }
}
@media (min-width: 40rem) {
  .crono-anio { grid-template-columns: 8rem minmax(0, 1fr); gap: var(--e-6); }
  .crono-num { position: sticky; top: var(--e-5); align-self: start; }
  .crono-largo .crono-lista { columns: 2 19rem; column-gap: var(--e-7); }
  .crono-largo .crono-lista li:last-child { border-bottom: 1px dotted var(--filete-2); }
}

/* ------------------------------------------------------------------ portada: banda de boicots */
.banda-boicots { padding-block: var(--bloque); background: var(--tinta); color: var(--papel); }
.bloque-cabeza-claro .antetitulo { color: var(--rojo-claro); }
.bloque-cabeza-claro .bloque-titulo { color: var(--papel); }
.bloque-cabeza-claro .bloque-nota { color: var(--claro-2); }
.sellos { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--e-5); grid-template-columns: repeat(auto-fill, minmax(min(100%, 15.5rem), 1fr)); }
.sello-tarjeta { position: relative; padding: var(--e-6) var(--e-5) var(--e-5); border: 1px solid rgba(243,238,227,.28); transition: border-color .2s ease, background-color .2s ease; }
.sello-tarjeta:hover { border-color: var(--rojo-claro); background: rgba(255,255,255,.03); }
.sello-icono { width: 2.75rem; height: 2.75rem; margin-bottom: var(--e-4); color: var(--rojo-claro); stroke-width: 2.1; transform: rotate(-8deg); }
.sello-tarjeta .meta { color: var(--claro-2); }
.sello-tarjeta .meta-num { color: var(--rojo-claro); }
.sello-tarjeta h3 { margin: var(--e-2) 0 var(--e-3); font-weight: 700; font-size: 1.3125rem; line-height: 1.2; }
.sello-tarjeta h3 a::after { content: ""; position: absolute; inset: 0; }
.sello-tarjeta p:last-child { margin: 0; color: var(--claro-2); font-size: var(--t-s); line-height: 1.55; }
.banda-mas { margin: var(--e-7) 0 0; }
@media (max-width: 39.99rem) {
  .sello-tarjeta { padding: var(--e-5) var(--e-4) var(--e-4); }
  .sello-icono { position: absolute; top: var(--e-4); right: var(--e-4); width: 2.25rem; height: 2.25rem; margin: 0; }
  .sello-tarjeta h3 { margin-bottom: 0; padding-right: var(--e-7); }
  .sello-tarjeta p:last-child:not(.meta) { display: none; }
}

/* ------------------------------------------------------------------ portada: índice */
.indice { display: grid; gap: var(--e-7); grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); }
.indice-titulo { margin: 0 0 var(--e-2); padding-bottom: var(--e-3); border-bottom: 2px solid var(--tinta); font-family: var(--f-maquina); font-weight: 700; font-size: var(--t-xs); text-transform: uppercase; letter-spacing: .14em; color: var(--tinta); }
.barras, .debate { list-style: none; margin: 0; padding: 0; }
.barras a { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--e-2) var(--e-4); align-items: baseline; min-height: 2.75rem; padding: var(--e-3) 0; border-bottom: 1px solid var(--filete); color: var(--tinta); text-decoration: none; }
.barras-nombre { font-weight: 600; }
.barras-n { font-family: var(--f-maquina); font-size: var(--t-s); color: var(--tinta-2); }
.barras-barra { grid-column: 1 / -1; position: relative; height: 5px; background: var(--papel-2); }
.barras-barra::after { content: ""; position: absolute; inset: 0 auto 0 0; width: calc(var(--v, 0) * 100%); background: var(--violeta); transition: background-color .18s ease; }
.barras a:hover .barras-nombre { color: var(--violeta); text-decoration: underline; text-underline-offset: .18em; }
.barras a:hover .barras-barra::after { background: var(--rojo); }
.cifras { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cifras > div { display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: var(--e-1); padding: var(--e-4) var(--e-3) var(--e-4) 0; border-bottom: 1px solid var(--filete); }
.cifras > div:nth-child(odd) { border-right: 1px solid var(--filete); }
.cifras > div:nth-child(even) { padding-left: var(--e-4); }
.cifras dd { margin: 0; font-weight: 900; font-size: clamp(2.5rem, 2rem + 1.6vw, 3.25rem); line-height: 1; letter-spacing: -.04em; color: var(--violeta); font-variant-numeric: lining-nums; }
.cifras dt { font-family: var(--f-maquina); font-size: var(--t-xs); text-transform: uppercase; letter-spacing: .1em; color: var(--tinta-2); }
.debate a { display: grid; grid-template-columns: 2.75rem minmax(0, 1fr); gap: var(--e-3); align-items: baseline; min-height: 2.75rem; padding: var(--e-3) 0; border-bottom: 1px solid var(--filete); color: var(--tinta); text-decoration: none; }
.debate-n { font-weight: 900; font-size: 1.5rem; line-height: 1; color: var(--rojo); font-variant-numeric: lining-nums tabular-nums; }
.debate-titulo { font-weight: 600; line-height: 1.3; }
.debate a:hover .debate-titulo { color: var(--violeta); text-decoration: underline; text-underline-offset: .18em; }

/* ------------------------------------------------------------------ portada: buzón */
.buzon { padding-block: var(--bloque); background: var(--papel-3); border-top: 1px solid var(--filete); }
.buzon-rejilla { display: grid; gap: var(--e-6); }
.buzon-texto .bloque-titulo { margin-block: var(--e-3); }
@media (min-width: 64rem) {
  .buzon-rejilla { grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); gap: var(--e-8); align-items: start; }
}

/* formularios del motor */
.x-contacto { max-width: none; gap: var(--e-5) var(--e-5); }
.x-contacto label { font-family: var(--f-maquina); font-weight: 700; font-size: var(--t-xs); text-transform: uppercase; letter-spacing: .1em; color: var(--tinta); }
.x-contacto label span { font-weight: 400; text-transform: none; letter-spacing: 0; }
.x-contacto .x-acepto label { font-family: var(--f-texto); font-weight: 400; font-size: var(--t-s); text-transform: none; letter-spacing: 0; line-height: 1.5; }
.x-contacto .x-acepto input { width: 1.25rem; height: 1.25rem; flex: none; margin-top: .15em; }
.x-contacto input:not([type=checkbox]), .x-contacto textarea {
  min-height: 3rem; padding: var(--e-3) var(--e-3); font-size: 1.0625rem; border: 1.5px solid var(--tinta-2); border-radius: 0; background: #fff; color: var(--tinta);
  transition: border-color .18s ease, box-shadow .18s ease;
}
.x-contacto input:focus, .x-contacto textarea:focus { outline: 3px solid var(--violeta); outline-offset: 1px; border-color: var(--tinta); }
.x-contacto .boton { width: 100%; }
.x-aviso { border-radius: 0; font-family: var(--f-maquina); margin-bottom: var(--e-4); }
@media (min-width: 40rem) { .x-contacto .boton { width: auto; } }

.x-buscador { max-width: 36rem; gap: 0; }
.x-buscador input { min-height: 3.25rem; font-size: 1.125rem; border: 2px solid var(--tinta); border-right: 0; border-radius: 0; background: #fff; padding-inline: var(--e-4); }
.x-buscador input:focus { outline: 3px solid var(--violeta); outline-offset: 1px; }
.x-buscador button { min-height: 3.25rem; }

/* ------------------------------------------------------------------ registro (listados) */
.registro { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--tinta); }
.asiento { position: relative; padding: var(--e-5) 0; border-bottom: 1px solid var(--filete); }
.asiento-num { float: left; margin: 0 var(--e-3) 0 0; font-family: var(--f-maquina); font-weight: 700; font-size: var(--t-xs); line-height: 1.6; color: var(--rojo); letter-spacing: .04em; }
.asiento-meta { margin: 0 0 var(--e-2); font-family: var(--f-maquina); font-size: var(--t-xs); line-height: 1.6; color: var(--tinta-2); text-transform: uppercase; letter-spacing: .06em; }
.asiento-meta a { color: inherit; position: relative; z-index: 1; }
.asiento-meta a:hover { color: var(--rojo); }
.asiento-titulo { clear: both; margin: 0 0 var(--e-2); font-weight: 700; font-size: clamp(1.25rem, 1.1rem + .6vw, 1.5rem); line-height: 1.2; letter-spacing: -.01em; }
.asiento-titulo a { color: var(--tinta); text-decoration: none; }
.asiento-titulo a::after { content: ""; position: absolute; inset: 0; }
.asiento:hover .asiento-titulo a { color: var(--violeta); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .16em; }
.asiento-extracto { margin: 0; max-width: 46rem; color: var(--tinta-2); font-size: 1rem; line-height: 1.6; }
.asiento-com { display: inline-flex; align-items: center; gap: var(--e-1); margin: var(--e-2) 0 0; font-family: var(--f-maquina); font-size: var(--t-xs); color: var(--tinta-2); }
.asiento-com .icono { width: 1rem; height: 1rem; }
@media (min-width: 48rem) {
  .asiento { display: grid; grid-template-columns: 4.5rem minmax(0, 1fr) 4rem; gap: 0 var(--e-5); align-items: start; }
  .asiento-num { float: none; margin: .1rem 0 0; font-size: var(--t-s); }
  .asiento-titulo { clear: none; }
  .asiento-com { grid-column: 3; justify-self: end; margin: .1rem 0 0; }
  .asiento-cuerpo { grid-column: 2; }
  .registro-tres { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 var(--e-6); }
  .registro-tres .asiento { display: block; }
  .registro-tres .asiento-num { float: left; margin: 0 var(--e-3) 0 0; font-size: var(--t-xs); }
  .registro-tres .asiento-titulo { clear: both; font-size: 1.25rem; }
  .registro-tres .asiento-extracto { display: none; }
}

/* ------------------------------------------------------------------ listados */
.listado { padding-block: var(--e-7) var(--bloque); }
.listado-cabecera { padding-bottom: var(--e-6); }
.listado-titulo { margin: 0 0 var(--e-3); font-weight: 800; font-size: var(--t-3xl); line-height: 1.04; letter-spacing: -.03em; }
.listado-descripcion { margin: 0 0 var(--e-3); max-width: 40rem; color: var(--tinta-2); font-size: 1.125rem; }
.listado-cuenta { margin: 0 0 var(--e-5); font-family: var(--f-maquina); font-size: var(--t-s); color: var(--tinta-2); }
.chips { display: flex; flex-wrap: wrap; gap: var(--e-2); }
.chips a { display: inline-flex; align-items: center; gap: var(--e-2); min-height: 2.75rem; padding: var(--e-2) var(--e-3); border: 1px solid var(--tinta-2); color: var(--tinta); text-decoration: none; font-family: var(--f-maquina); font-weight: 700; font-size: var(--t-s); }
.chips a span { font-weight: 400; color: var(--tinta-3); }
.chips a:hover { border-color: var(--violeta); color: var(--violeta); }
.chips a[aria-current] { background: var(--tinta); border-color: var(--tinta); color: var(--papel); }
.chips a[aria-current] span { color: var(--claro-2); }
.buscador-grande { margin-top: var(--e-4); }
.aviso-vacio { margin: var(--e-6) 0; font-family: var(--f-maquina); font-size: var(--t-m); color: var(--tinta-2); }

.paginacion { margin-block: var(--e-7) 0; font-family: var(--f-maquina); font-size: var(--t-s); }
.paginacion a, .paginacion span[aria-current] { display: inline-flex; align-items: center; justify-content: center; min-width: 2.75rem; min-height: 2.75rem; border-radius: 0; border-color: var(--tinta-2); color: var(--tinta); font-weight: 700; }
.paginacion a:hover { border-color: var(--violeta); color: var(--violeta); }
.paginacion span[aria-current] { background: var(--tinta); border-color: var(--tinta); color: var(--papel); }
.paginacion-ant, .paginacion-sig { padding-inline: var(--e-4) !important; }

/* ------------------------------------------------------------------ documento (entrada) */
.progreso { position: fixed; inset: 0 0 auto; height: 3px; z-index: 120; background: var(--rojo); transform-origin: 0 50%; transform: scaleX(0); pointer-events: none; display: none; }
@supports (animation-timeline: scroll()) {
  @media (prefers-reduced-motion: no-preference) {
    .progreso { display: block; animation: progreso linear both; animation-timeline: scroll(root); }
  }
}
@keyframes progreso { to { transform: scaleX(1); } }

.doc-cabecera { padding-block: var(--e-6) var(--e-6); }
.doc-ruta { margin: 0; font-family: var(--f-maquina); font-size: var(--t-xs); text-transform: uppercase; letter-spacing: .1em; color: var(--tinta-2); }
.doc-ruta a { color: inherit; }
.doc-ruta a:hover { color: var(--rojo); }
.doc-sello {
  display: inline-block; margin: var(--e-5) 0 var(--e-4); padding: .4rem .75rem .35rem;
  font-family: var(--f-maquina); font-weight: 700; font-size: var(--t-s); letter-spacing: .12em; text-transform: uppercase; line-height: 1.2;
  color: var(--rojo); border: 2.5px solid currentColor; border-radius: 3px; transform: rotate(-2deg);
  box-shadow: inset 0 0 0 1px rgba(176,47,26,.25);
}
.doc-titulo { margin: 0 0 var(--e-5); max-width: 22em; font-weight: 800; font-size: var(--t-3xl); line-height: 1.04; letter-spacing: -.03em; overflow-wrap: break-word; hyphens: manual; }
.doc-cabecera-pagina .doc-titulo { margin-top: var(--e-4); }
.doc-meta { margin: 0; display: flex; flex-wrap: wrap; gap: var(--e-1) var(--e-5); font-family: var(--f-maquina); font-size: var(--t-s); color: var(--tinta-2); }
.doc-meta a { color: inherit; display: inline-flex; align-items: center; gap: var(--e-1); }
.doc-meta a:hover { color: var(--rojo); }
.doc-meta .icono { width: 1.05rem; height: 1.05rem; }

.doc-cuerpo { display: grid; gap: var(--e-6); padding-block: var(--e-6) var(--e-8); border-top: 2px solid var(--tinta); }
.ficha { font-family: var(--f-maquina); font-size: var(--t-s); }
.ficha-titulo { margin: 0 0 var(--e-3); font-family: var(--f-maquina); font-weight: 700; font-size: var(--t-xs); letter-spacing: .16em; text-transform: uppercase; color: var(--rojo); }
.ficha dl { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--e-5); border-top: 1px solid var(--filete-2); }
.ficha dl > div { padding: var(--e-2) 0; border-bottom: 1px solid var(--filete-2); }
.ficha dt { font-size: var(--t-xs); text-transform: uppercase; letter-spacing: .1em; color: var(--tinta-3); }
.ficha dd { margin: 0; font-weight: 700; color: var(--tinta); line-height: 1.45; }
.ficha dd a { color: var(--violeta); display: inline-block; padding-block: .15rem; }
.ficha-de { font-weight: 400; color: var(--tinta-3); }
.boton-imprimir {
  display: inline-flex; align-items: center; gap: var(--e-2); min-height: 2.75rem; margin-top: var(--e-4); padding: var(--e-2) var(--e-3);
  background: none; border: 1px solid var(--tinta-2); color: var(--tinta); cursor: pointer;
  font-family: var(--f-maquina); font-weight: 700; font-size: var(--t-xs); text-transform: uppercase; letter-spacing: .08em;
  transition: background-color .18s ease, color .18s ease;
}
.boton-imprimir:hover { background: var(--tinta); color: var(--papel); }
.boton-imprimir[hidden] { display: none; }

.doc-foto { margin: 0 0 var(--e-6); border: 1px solid var(--tinta); }
.doc-foto img { display: block; width: 100%; }

@media (min-width: 64rem) {
  .documento .envoltorio { width: min(100% - 2 * var(--margen), 59rem); }
  .doc-cabecera { padding-left: calc(13rem + var(--e-8)); }
  .doc-cuerpo { grid-template-columns: 13rem minmax(0, var(--ancho-texto)); column-gap: var(--e-8); padding-top: var(--e-7); }
  .ficha { position: sticky; top: var(--e-5); align-self: start; }
  .ficha dl { grid-template-columns: 1fr; }
}

/* el texto del documento */
.doc-texto .contenido, .pagina-cuerpo .contenido { font-size: var(--t-lectura); line-height: 1.72; }
.contenido > * { margin-left: 0; margin-right: 0; }
.pagina-cuerpo .contenido > * { margin-inline: auto; }
.contenido p { margin-block: 0 1.15em; }
.doc-texto .contenido > p:first-child { font-size: 1.05em; line-height: 1.62; font-weight: 500; }
@media (min-width: 48rem) { .doc-texto .contenido > p:first-child { font-size: 1.12em; line-height: 1.6; } }
.contenido strong, .contenido b { font-weight: 700; }
.contenido h2 { margin: 1.8em 0 .55em; font-weight: 800; font-size: 1.55rem; line-height: 1.15; letter-spacing: -.015em; }
.contenido h3 { margin: 1.6em 0 .5em; font-weight: 700; font-size: 1.3rem; line-height: 1.2; }
.contenido h4, .contenido h5, .contenido h6 { margin: 1.5em 0 .5em; font-family: var(--f-maquina); font-weight: 700; font-size: 1rem; text-transform: uppercase; letter-spacing: .06em; }
.contenido a { color: var(--violeta); }
.contenido a:hover { color: var(--rojo); }
.contenido blockquote { margin-inline: 0; border-left: 3px solid var(--violeta); padding: .1em 0 .1em 1.25em; font-style: italic; color: var(--tinta-2); }
.contenido ul, .contenido ol { padding-left: 1.4em; }
.contenido li { margin-bottom: .35em; }
.contenido li::marker { color: var(--rojo); font-family: var(--f-maquina); }
.contenido figcaption { font-family: var(--f-maquina); font-size: var(--t-xs); color: var(--tinta-3); }
.contenido figure.imagen img, .contenido p > img { border-radius: 0; }
.contenido hr { border-top: 1px solid var(--filete-2); }
.img-perdida {
  display: flex; align-items: center; gap: var(--e-3); width: fit-content; max-width: 100%; margin: var(--e-2) 0 var(--e-4); padding: var(--e-3) var(--e-4);
  font-family: var(--f-maquina); font-size: var(--t-s); line-height: 1.45; color: var(--tinta-2);
  border: 1px dashed var(--filete-2); background: var(--papel-3);
}
.img-perdida .icono { color: var(--tinta-3); }
.x-video { background: var(--tinta); border-radius: 0; color: var(--papel); }
.x-video::before { background: repeating-linear-gradient(0deg, rgba(255,255,255,.04) 0 1px, transparent 1px 7px); opacity: 1; }
.x-video-icono { color: var(--rojo-claro); }
.x-video-texto { font-family: var(--f-maquina); text-transform: uppercase; letter-spacing: .08em; }

/* comentarios */
.comentarios { margin-top: var(--e-8); padding-top: var(--e-5); border-top: 2px solid var(--tinta); }
.comentarios-titulo { margin: 0 0 var(--e-2); font-family: var(--f-maquina); font-weight: 700; font-size: var(--t-s); text-transform: uppercase; letter-spacing: .14em; color: var(--rojo); }
.comentarios-lista { list-style: none; margin: 0; padding: 0; }
.comentario { padding: var(--e-5) 0; border-bottom: 1px solid var(--filete); }
.comentario-cabeza { margin: 0 0 var(--e-2); display: flex; flex-wrap: wrap; gap: var(--e-1) var(--e-3); font-family: var(--f-maquina); font-size: var(--t-s); }
.comentario-cabeza time { color: var(--tinta-3); }
.comentario-texto { font-size: 1rem; line-height: 1.6; overflow-wrap: break-word; }
.comentario-texto p { margin: 0 0 .6em; }
.comentario-texto p:last-child { margin-bottom: 0; }
.respuestas { margin: var(--e-4) 0 0 var(--e-4); padding-left: var(--e-4); border-left: 2px solid var(--filete-2); }
.comentarios-cerrados { margin: var(--e-4) 0 0; font-family: var(--f-maquina); font-size: var(--t-s); color: var(--tinta-2); }

/* anterior / siguiente y relacionadas */
.vecinos { display: grid; gap: var(--e-4); padding-top: var(--e-4); border-top: 2px solid var(--tinta); }
.vecino { display: flex; flex-direction: column; gap: var(--e-2); min-height: 2.75rem; padding: var(--e-4) 0; color: var(--tinta); text-decoration: none; }
.vecino-rotulo { display: inline-flex; align-items: center; gap: var(--e-2); font-family: var(--f-maquina); font-weight: 700; font-size: var(--t-xs); text-transform: uppercase; letter-spacing: .1em; color: var(--rojo); }
.vecino-rotulo .icono { width: 1rem; height: 1rem; }
.vecino-titulo { font-weight: 700; font-size: 1.25rem; line-height: 1.25; }
.vecino:hover { color: var(--violeta); }
.vecino:hover .vecino-titulo { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .16em; }
@media (min-width: 48rem) {
  .vecinos { grid-template-columns: 1fr 1fr; gap: var(--e-7); }
  .vecino-sig { align-items: flex-end; text-align: right; }
}
.relacionadas { margin-top: var(--e-8); }
.relacionadas .bloque-cabeza { margin-bottom: var(--e-5); }

/* páginas */
.pagina-cuerpo { padding-block: var(--e-6) var(--bloque); border-top: 2px solid var(--tinta); }
.pagina-cuerpo .boton { min-height: 2.75rem; }

/* 404 */
.error-404 { padding-block: var(--e-7) var(--bloque); }
.error-sello { display: inline-flex; align-items: center; gap: var(--e-3); margin: 0 0 var(--e-5); color: var(--rojo); font-weight: 900; font-size: clamp(4rem, 3rem + 5vw, 7rem); line-height: 1; letter-spacing: -.04em; transform: rotate(-3deg); }
.error-icono { width: .9em; height: .9em; stroke-width: 2; }
.error-texto { max-width: 40rem; font-size: 1.125rem; color: var(--tinta-2); }
.error-404 .buscador-grande { margin-block: var(--e-5); }
.error-404 .bloque { margin-block: var(--e-8) 0; }
.error-404 .bloque-cabeza { margin-bottom: var(--e-4); }

/* ------------------------------------------------------------------ pie */
.pie { margin-top: 0; background: var(--tinta); color: var(--claro-2); padding-block: var(--e-8) var(--e-5); font-size: var(--t-s); }
.pie a { color: var(--papel); text-decoration: none; }
.pie a:hover { color: var(--rojo-claro); text-decoration: underline; }
.pie-rejilla { display: grid; gap: var(--e-7); grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); padding-bottom: var(--e-7); border-bottom: 1px solid rgba(243,238,227,.2); }
.pie-marca { grid-column: 1 / -1; }
.marca-pie { font-size: 2.5rem; }
.marca-pie a, .marca-pie a:hover { color: var(--papel); text-decoration: none; }
.marca-pie .marca-o { color: var(--rojo-claro); }
.pie-lema { margin: var(--e-3) 0 0; font-family: var(--f-maquina); color: var(--papel); }
.pie-datos { margin: var(--e-2) 0 0; font-family: var(--f-maquina); font-size: var(--t-xs); text-transform: uppercase; letter-spacing: .1em; }
.pie-texto { margin: var(--e-3) 0 0; max-width: 28rem; }
.pie-columna h2 { margin: 0 0 var(--e-3); padding-bottom: var(--e-2); border-bottom: 1px solid rgba(243,238,227,.25); font-family: var(--f-maquina); font-weight: 700; font-size: var(--t-xs); text-transform: uppercase; letter-spacing: .14em; color: var(--rojo-claro); }
.pie-lista, .pie-anios { list-style: none; margin: 0; padding: 0; }
.pie-lista a { display: flex; justify-content: space-between; gap: var(--e-3); align-items: center; min-height: 2.75rem; padding-block: var(--e-1); }
.pie-n { font-family: var(--f-maquina); color: var(--claro-2); }
.pie-anios { display: flex; flex-wrap: wrap; gap: var(--e-2); }
.pie-anios a { display: inline-flex; align-items: center; justify-content: center; min-width: 3.75rem; min-height: 2.75rem; padding: var(--e-1) var(--e-3); border: 1px solid rgba(243,238,227,.3); font-family: var(--f-maquina); font-weight: 700; }
.pie-anios a:hover { border-color: var(--rojo-claro); text-decoration: none; }
.pie-legal { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--e-3); padding-top: var(--e-4); font-family: var(--f-maquina); font-size: var(--t-xs); }
.pie-legal p { margin: 0; }
.pie-arriba { display: inline-flex; align-items: center; min-height: 2.75rem; gap: var(--e-1); }
@media (min-width: 64rem) {
  .pie-rejilla { grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(0, 1fr)); }
  .pie-marca { grid-column: auto; }
}

/* aviso de cookies del motor, con el aire del tema (selectores con id: el motor pone su estilo al final) */
#x-cookies.x-cookies { left: 10px; right: 10px; bottom: 10px; padding: 12px 14px; background: var(--papel-3); color: var(--tinta); border: 2px solid var(--tinta); border-radius: 0; box-shadow: 5px 5px 0 var(--tinta); font-family: var(--f-texto); font-size: 15px; line-height: 1.35; }
#x-cookies .x-cookies-botones { margin-top: 10px !important; }
#x-cookies button { min-height: 44px; border-radius: 0; border-color: var(--tinta); background: var(--tinta); font-family: var(--f-maquina); font-size: 14px; text-transform: uppercase; letter-spacing: .08em; }
#x-cookies button[data-cookies="no"] { background: transparent; color: var(--tinta); }
#x-cookies button:focus-visible { outline-color: var(--rojo); }
@media (min-width: 700px) { #x-cookies.x-cookies { left: 20px; right: auto; bottom: 20px; } }

/* ------------------------------------------------------------------ movimiento e impresión */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; scroll-behavior: auto !important; }
  .papel-enlace, .papel-enlace:hover { transform: none; }
}

@media print {
  :root { --papel: #fff; --papel-2: #fff; --papel-3: #fff; }
  body { background: #fff; color: #000; font-size: 11pt; }
  .barra, .menu-boton, .saltar, .pie, .vecinos, .relacionadas, .boton-imprimir, .progreso, .buzon, .x-cookies, .mancheta-lema-corta { display: none !important; }
  .mancheta { min-height: 0; border-bottom: 2px solid #000; }
  .doc-cabecera { padding: 1rem 0; }
  .doc-cuerpo { display: block; border: 0; padding: 0; }
  .ficha { margin-bottom: 1rem; }
  .ficha dl { grid-template-columns: repeat(4, 1fr); }
  .contenido a { color: #000; }
  .contenido a[href^="http"]::after { content: " (" attr(href) ")"; font-size: .8em; word-break: break-all; }
  .doc-sello { color: #000; }
}
