/**
 * Ketin 2.0 — List · kem2-list.css · v1.0.0 · 2026-07-20
 * Defaults derivados de .ptf-index/.ptf-index-item del design system
 * estático (número romano dorado itálico 34px, título serif enlace,
 * línea de puntos, separador, borde superior). SIN !important: Design
 * gana siempre. Identidades ZIHT (preset propio) y PTF (dorado/serif
 * itálico del prototipo) como carga inicial editable.
 */

/* ---------- Variables por identidad ---------- */
.kem2-list{
  --kem2-ls-ink: #12131c;
  --kem2-ls-accent: #4800fe;
  --kem2-ls-serif: 'Source Serif 4', Georgia, serif;
  --kem2-ls-line: #dbdde6;
  --kem2-ls-soft: #7c7e8c;
}
.kem2-list.kem-ptf{
  --kem2-ls-ink: #1f3d24;
  --kem2-ls-accent: #a9781f;
  --kem2-ls-serif: 'Cormorant Garamond', Georgia, serif;
  --kem2-ls-line: #d7ddca;
}

/* ---------- Bloque ---------- */
.kem2-ls-maxw .kem2-ls-list{ max-width: var(--kem2-ls-maxw, 820px); }
.kem2-ls-topborder .kem2-ls-list{ border-top: 1px solid var(--kem2-ls-sc, var(--kem2-ls-line)); }

/* ---------- Ítem ---------- */
.kem2-ls-item{
  display: flex;
  align-items: baseline;
  gap: 14px;
  padding: 15px 0;
}
.kem2-ls-density-compacta .kem2-ls-item{ padding: 9px 0; }
.kem2-ls-sep .kem2-ls-item{ border-bottom: var(--kem2-ls-sw, 1px) var(--kem2-ls-ss, solid) var(--kem2-ls-sc, var(--kem2-ls-line)); }

.kem2-ls-dim{ opacity: .5; }

/* ---------- Número ---------- */
.kem2-list{ counter-reset: kem2ls var(--kem2-ls-start, 0); }
.kem2-ls-item{ counter-increment: kem2ls; }
.kem2-ls-num{
  font-family: var(--kem2-ls-serif);
  font-style: italic;
  color: var(--kem2-ls-accent);
  font-size: 15px;
  flex: none;
  width: var(--kem2-ls-numw, 34px);
}
.kem2-ls-num-uroman .kem2-ls-num::before{ content: counter(kem2ls, upper-roman); }
.kem2-ls-num-dec .kem2-ls-num::before{ content: counter(kem2ls, decimal); }
.kem2-ls-num-dlz .kem2-ls-num::before{ content: counter(kem2ls, decimal-leading-zero); }
.kem2-ls-num-ualpha .kem2-ls-num::before{ content: counter(kem2ls, upper-alpha); }
.kem2-ls-num-none .kem2-ls-num{ display: none; }
.kem2-ls-num-none .kem2-ls-item{ padding-left: 0; }

/* ---------- Título ---------- */
.kem2-ls-title{
  font-family: var(--kem2-ls-serif);
  font-size: 16.5px;
  color: var(--kem2-ls-ink);
  flex: none;
  text-decoration: none;
}
a.kem2-ls-title{ color: var(--kem2-ls-accent); }
a.kem2-ls-title:hover{ text-decoration: underline; }

/* ---------- Línea de puntos ---------- */
.kem2-ls-dots-line{ display: none; }
.kem2-ls-dots .kem2-ls-dots-line{
  display: block;
  flex: 1;
  border-bottom: 1px var(--kem2-ls-ds, dotted) var(--kem2-ls-dc, var(--kem2-ls-line));
  margin: 0 4px 4px;
  min-width: 20px;
}
/* Sin línea de puntos: el título ocupa el espacio disponible */
.kem2-list:not(.kem2-ls-dots) .kem2-ls-title{ flex: 1; }

/* ---------- Texto final ---------- */
.kem2-ls-end{
  flex: none;
  font-size: 13px;
  color: var(--kem2-ls-soft);
  white-space: nowrap;
}

/* ---------- Responsive ---------- */
@media (max-width: 560px){
  .kem2-ls-item{ flex-wrap: wrap; }
  .kem2-ls-dots .kem2-ls-dots-line{ display: none; }
  .kem2-ls-title{ flex: 1 1 auto; }
  .kem2-ls-end{ width: 100%; padding-left: calc(var(--kem2-ls-numw, 34px) + 14px); }
}
