/* Estilos del módulo: artículo de noticia y buscador.
   Solo lo que no existe en componentes.css: columna de lectura, ritmo vertical
   del cuerpo, cita de la fuente y campo de búsqueda. Sin hex ni colores crudos.

   Las únicas medidas que no salen de tokens.css son los anchos en `ch`: dependen
   de la tipografía, no de la retícula, y solo los usa este módulo. */

/* ---------------------------------------------------------------- Volver -- */
.art-volver {
  display: inline-flex; align-items: center; gap: 4px;
  margin-bottom: var(--sp-4);
  font-size: .85rem; font-weight: 600;
  color: var(--muted);
}
.art-volver:hover { color: var(--blue-txt); }

/* ------------------------------------------------------ Columna de lectura --
   ~68ch es el ancho en el que una línea se lee sin perder el renglón. Se centra
   una sola vez en .art-col, y no bloque por bloque, para que cabecera, cuerpo,
   fuente y relacionados compartan el mismo eje. El resto de la página sigue
   usando .wrap, así el cierre a ancho completo no se estrecha. */
.art-col { max-width: 68ch; margin-inline: auto; }

.art-head {
  padding-bottom: var(--sp-5);
  margin-bottom: var(--sp-6);
  border-bottom: 1px solid var(--border);
}
.art-head h1 { font-size: 1.9rem; }
.art-bajada { margin-top: var(--sp-3); font-size: 1.05rem; line-height: 1.55; }

.art-meta {
  display: flex; flex-wrap: wrap;
  gap: var(--sp-2) var(--sp-4);
  margin-top: var(--sp-4);
  font-size: .78rem; color: var(--muted);
}
.art-meta span { display: inline-flex; align-items: center; gap: 6px; }

@media (min-width: 700px) {
  .art-head h1 { font-size: 2.3rem; }
}

/* ----------------------------------------------------------- Cuerpo HTML --
   Hereda de .legal-text los h3 y párrafos; aquí se le da el ritmo y el tamaño
   de un artículo largo, y el ancho lo manda .art-col (no los 720px de .legal-text). */
.art-cuerpo { max-width: none; }
.art-cuerpo h3 { font-size: 1.22rem; margin: var(--sp-8) 0 var(--sp-3); }
.art-cuerpo > h3:first-child { margin-top: 0; }
.art-cuerpo p {
  margin-bottom: var(--sp-4);
  font-size: 1.02rem; line-height: 1.7;
  color: var(--text);
}
.art-cuerpo strong { font-weight: 600; color: var(--text); }

/* Listas con viñeta propia: la de serie no hereda el color del sistema. */
.art-cuerpo ul {
  display: grid; gap: var(--sp-2);
  margin: 0 0 var(--sp-4);
  padding: 0; list-style: none;
}
.art-cuerpo li {
  position: relative;
  padding-left: var(--sp-5);
  font-size: 1.02rem; line-height: 1.6;
  color: var(--text);
}
.art-cuerpo li::before {
  content: ""; position: absolute; left: 3px; top: .62em;
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--teal);
}

/* -------------------------------------------------------- Cita de la fuente -- */
.art-fuente {
  display: grid; gap: var(--sp-4);
  margin-top: var(--sp-8);
  padding: var(--sp-5);
  background: var(--bg2);
  border: 1px solid var(--border);
  border-radius: var(--r);
}
.art-fuente-fila { display: grid; grid-template-columns: 38px 1fr; gap: var(--sp-3); align-items: start; }
.art-fuente .ic {
  width: 38px; height: 38px;
  display: grid; place-items: center;
  border-radius: var(--rs);
  background: var(--card);
  border: 1px solid var(--border);
  color: var(--teal);
}
.art-fuente-etq {
  display: block; margin-bottom: 2px;
  font-size: .7rem; font-weight: 600;
  text-transform: uppercase; letter-spacing: .06em;
  color: var(--azure-txt);
}
.art-fuente b { display: block; margin-bottom: 6px; font-family: var(--font-d); font-size: .98rem; }
.art-fuente p { font-size: .85rem; line-height: 1.55; }
.art-fuente a { color: var(--blue-txt); font-weight: 600; text-decoration: underline; }
.art-fuente-enlace {
  display: inline-flex; align-items: center; gap: 5px;
  margin-top: var(--sp-2);
  text-decoration: none;
}
.art-fuente-enlace:hover { text-decoration: underline; }

/* ------------------------------------------------------------ Relacionados -- */
.art-rel {
  display: grid; gap: var(--sp-4);
  margin-top: 48px;
  padding-top: var(--sp-6);
  border-top: 1px solid var(--border);
}
.art-rel h2 { font-size: 1.35rem; margin-bottom: 0; }

/* ---------------------------------------------------------------- Buscador -- */
.buscador {
  display: grid; grid-template-columns: auto 1fr auto;
  align-items: center; gap: var(--sp-2);
  max-width: 46ch;
  margin-top: var(--sp-4);
  padding: 5px 5px 5px var(--sp-4);
  background: var(--card);
  border: 1.5px solid var(--border);
  border-radius: var(--r-pill);
  transition: border-color .15s, box-shadow .15s;
}
.buscador:focus-within { border-color: var(--azure); box-shadow: 0 0 0 3px var(--bg3); }
.buscador .ic { display: grid; place-items: center; color: var(--muted); }
.buscador input {
  width: 100%; height: 42px;
  border: 0; background: transparent;
  color: var(--text); font-size: .95rem;
}
.buscador input::placeholder { color: var(--muted); }
/* El foco se marca en el contenedor (borde + halo), no dentro de la pastilla. */
.buscador input:focus-visible { outline: none; }
.buscador .btn { border-radius: var(--r-pill); }
