/* =============================================================================
   ComicSwap Web · El cómic en cifras (/app/#cifras)
   Usa las variables y el acabado de comic-theme.css (oscuro suave).
   ============================================================================= */

.cfa-cab { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 12px 20px; margin: 0 0 14px; }
.cfa-selector {
  margin: 0;
  font-family: var(--titulo);
  font-weight: 400;
  font-size: 0.66rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
}
.cfa-selector select {
  display: block;
  width: auto;
  min-width: 210px;
  margin-top: 5px;
  padding: 9px 12px;
  font-family: var(--texto);
  font-size: 0.92rem;
  letter-spacing: 0;
  text-transform: none;
  color: var(--text);
  cursor: pointer;
}
.cfa-mes-unico { margin: 0; font-family: var(--titulo); font-size: 0.8rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--amarillo); }
.cfa-publica { color: var(--amarillo); font-weight: 700; font-size: 0.9rem; text-underline-offset: 3px; }

.cfa-aviso { margin: 0 0 22px; padding: 12px 16px; border-left: 4px solid var(--amarillo); background: var(--surface); font-size: 0.9rem; color: #d8d8e0; }
.cfa-aviso a, .cfa-nota a, .cfa-dato a { color: var(--amarillo); }

.cfa-kpis { list-style: none; margin: 0 0 22px; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.cfa-kpis li { display: grid; gap: 4px; align-content: start; padding: 14px 14px 12px; background: var(--surface); border: 2px solid var(--line); box-shadow: 3px 3px 0 var(--sombra); }
.cfa-kpis strong { font-family: var(--letras); font-weight: 400; font-size: clamp(1.7rem, 3.4vw, 2.3rem); line-height: 1; color: var(--amarillo); white-space: nowrap; }
.cfa-kpis span { font-size: 0.84rem; line-height: 1.3; color: #d8d8e0; }

.cfa-indice { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 24px; }
.cfa-indice button {
  font-family: var(--titulo);
  font-size: 0.68rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding: 8px 11px;
  background: var(--carbon);
  color: #e2e2ea;
  border: 2px solid var(--line);
  border-radius: 0;
  cursor: pointer;
}
.cfa-indice button:hover { border-color: var(--amarillo); color: var(--amarillo); }

.cfa-rejilla { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; align-items: start; }
.cfa-bloque { min-width: 0; padding: 18px 18px 16px; background: var(--surface); border: 2px solid var(--line); box-shadow: 4px 4px 0 var(--sombra); scroll-margin-top: 90px; }
.cfa-bloque#cfa-precios,
.cfa-bloque#cfa-proximos { grid-column: 1 / -1; }
.cfa-bloque h2 { margin: 0 0 12px; font-family: var(--letras); font-weight: 400; font-size: 1.7rem; line-height: 1; letter-spacing: 0.02em; text-transform: uppercase; color: #fff; text-shadow: 2px 2px 0 var(--rojo); }
.cfa-bloque h3 { margin: 18px 0 8px; font-family: var(--titulo); font-weight: 400; font-size: 0.72rem; letter-spacing: 0.09em; text-transform: uppercase; color: var(--muted); }
.cfa-bloque h2 + h3 { margin-top: 4px; }

.cfa-barras { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.cfa-barras li { display: grid; grid-template-columns: minmax(0, 13rem) minmax(0, 1fr) 3.4rem; gap: 10px; align-items: center; font-size: 0.88rem; }
.cfa-et { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #e2e2ea; }
.cfa-et small { margin-left: 6px; font-size: 0.74rem; color: var(--muted); }
.cfa-barra { height: 12px; background: rgba(255, 255, 255, 0.04); }
.cfa-barra i { display: block; height: 100%; background: #5b5c6b; }
.cfa-top .cfa-barra i { background: var(--amarillo); }
.cfa-top .cfa-et { color: #fff; font-weight: 700; }
.cfa-barras b { text-align: right; font-variant-numeric: tabular-nums; color: #fff; }

.cfa-mas { margin-top: 8px; }
.cfa-mas summary { cursor: pointer; margin: 0 0 8px; font-weight: 700; font-size: 0.88rem; color: var(--amarillo); }
.cfa-mas[open] summary { margin-bottom: 10px; }

.cfa-nota { margin: 14px 0 0; font-size: 0.82rem; line-height: 1.45; color: var(--muted); }
.cfa-dato { margin: 12px 0 0; font-size: 0.92rem; color: #d8d8e0; }
.cfa-dato strong { color: #fff; }
.cfa-vacio { margin: 0; color: var(--muted); }

.cfa-tabla-caja { overflow-x: auto; }
.cfa-tabla { width: 100%; border-collapse: collapse; font-size: 0.88rem; }
.cfa-tabla th { padding: 8px 10px; text-align: left; font-family: var(--titulo); font-weight: 400; font-size: 0.64rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); border-bottom: 2px solid var(--line); white-space: nowrap; }
.cfa-tabla td { padding: 8px 10px; border-bottom: 1px solid var(--line); color: #e2e2ea; }
.cfa-tabla .num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }

.cfa-dos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 26px; }
.cfa-libros { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.cfa-libros li { display: flex; justify-content: space-between; gap: 12px; padding-bottom: 8px; border-bottom: 1px solid var(--line); font-size: 0.88rem; }
.cfa-libros span { min-width: 0; display: grid; }
.cfa-libros strong { color: #fff; font-weight: 600; }
.cfa-libros small, .cfa-premios small { color: var(--muted); font-size: 0.78rem; }
.cfa-libros b { white-space: nowrap; color: var(--amarillo); }

.cfa-premios { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.cfa-premios li { display: grid; gap: 2px; padding-bottom: 10px; border-bottom: 1px solid var(--line); font-size: 0.9rem; }
.cfa-premios strong { color: #fff; }
.cfa-premios span { color: #d8d8e0; font-size: 0.84rem; }

.cfa-cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 24px; margin: 26px 0 12px; padding: 18px 20px; background: var(--surface); border: 3px solid var(--amarillo); box-shadow: 4px 4px 0 var(--sombra); }
.cfa-cta h2 { margin: 0 0 4px; font-family: var(--letras); font-weight: 400; font-size: 1.6rem; line-height: 1; text-transform: uppercase; color: #fff; }
.cfa-cta p { margin: 0; color: #d8d8e0; font-size: 0.92rem; }
.cfa-fuente { margin: 0 0 30px; font-size: 0.8rem; color: var(--muted); }

/* Enlace a Cifras en la Agenda cómic (sobre todo para el móvil, sin hueco en la barra inferior) */
.cfa-enlace-agenda { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 18px; padding: 12px 16px; background: var(--surface); border: 2px solid var(--line); border-left: 4px solid var(--amarillo); color: #e2e2ea; text-decoration: none; font-size: 0.92rem; }
.cfa-enlace-agenda strong { color: #fff; }
.cfa-enlace-agenda span:last-child { color: var(--amarillo); font-weight: 700; white-space: nowrap; }
.cfa-enlace-agenda:hover { border-color: var(--amarillo); }

@media (max-width: 1100px) { .cfa-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 980px) {
  .sidebar [data-view='cifras'] { display: none !important; }
}
@media (max-width: 860px) {
  .cfa-rejilla { grid-template-columns: 1fr; }
  .cfa-dos { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  .cfa-barras li { grid-template-columns: minmax(0, 8.2rem) minmax(0, 1fr) 2.8rem; gap: 8px; font-size: 0.84rem; }
  .cfa-bloque { padding: 16px 14px 14px; }
  .cfa-kpis li { padding: 12px 12px 10px; }
  .cfa-enlace-agenda { flex-direction: column; align-items: flex-start; gap: 4px; }
  .cfa-et small, .cfa-tabla .cfa-opc { display: none; }
  .cfa-tabla th, .cfa-tabla td { padding: 8px 5px; }
  .cfa-tabla th { white-space: normal; letter-spacing: 0.04em; }
}
