/* =========================================================
   MANUAL — BIBLIOGRAFÍAS
   Las páginas que presentan un catálogo consultable.
   Se carga solo cuando la página trae una colección bibliográfica.
   ========================================================= */


/* =========================================================
   01) MARCO Y CABECERA
   El bloque del catálogo, su rótulo y su título.
   ========================================================= */

.manual-bibliography {
  margin-top: clamp(3rem, 8vw, 6rem);
  padding-top: clamp(2rem, 5vw, 3.5rem);
  border-top: 1px solid rgba(180, 148, 90, 0.28);
}

.manual-bibliography-header {
  max-width: 52rem;
  margin-bottom: 2rem;
}

.manual-bibliography-kicker {
  margin: 0 0 0.5rem;
  color: var(--v4-ochre);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.manual-bibliography-header h2 {
  margin: 0;
  font-size: clamp(2rem, 5vw, 3.25rem);
}


/* =========================================================
   02) FILTROS Y RECUENTO
   Los campos de búsqueda y la línea que dice cuántas fichas quedan.
   ========================================================= */

.manual-bibliography-filters {
  display: grid;
  grid-template-columns: minmax(14rem, 2fr) repeat(3, minmax(10rem, 1fr)) auto;
  gap: 1rem;
  align-items: end;
  margin: 0 0 1rem;
  padding: clamp(1rem, 3vw, 1.5rem);
  border: 1px solid rgba(180, 148, 90, 0.28);
  background: var(--v4-bg-raised);
}

.manual-bibliography-field {
  display: grid;
  gap: 0.45rem;
}

.manual-bibliography-field label {
  color: var(--v4-text-secondary);
  font-size: 0.82rem;
  font-weight: 700;
}

/* El :where mantiene la especificidad en cero, de modo que cualquier regla posterior pueda ajustar un campo concreto sin pelear con esta. */
.manual-bibliography-field :where(input, select) {
  min-height: 2.75rem;
  width: 100%;
  padding: 0.55rem 0.7rem;
  border: 1px solid var(--v4-petrol-border);
  border-radius: 0;
  background: var(--v4-bg);
  color: var(--v4-text);
  font: inherit;
}

.manual-bibliography-status {
  margin: 0 0 1rem;
  color: var(--v4-text-secondary);
  font-size: 0.9rem;
}


/* =========================================================
   03) LISTA Y FICHA
   La lista, cada ficha y la distribución de su contenido.
   ========================================================= */

/* La numeración de las fichas la lleva un contador. Las que los filtros ocultan siguen contando, así que los números visibles son siempre los del catálogo completo. */
.manual-bibliography-list {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: bibliography-entry;
}

.manual-bibliography-entry {
  counter-increment: bibliography-entry;
  padding: clamp(1.5rem, 4vw, 2.25rem) 0;
  border-top: 1px solid rgba(180, 148, 90, 0.28);
}

/* Los filtros ocultan con el atributo hidden; la ficha permanece en el documento y conserva su número. */
.manual-bibliography-entry[hidden] {
  display: none;
}

.manual-bibliography-entry article {
  position: relative;
  padding-left: clamp(2.75rem, 6vw, 4.5rem);
}

.manual-bibliography-entry-content {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(13rem, 0.8fr);
  gap: 1rem 2.5rem;
  min-width: 0;
}

.manual-bibliography-entry-with-cover {
  display: grid;
  grid-template-columns: clamp(8rem, 16vw, 11rem) minmax(0, 1fr);
  gap: clamp(1.25rem, 3vw, 2rem);
  align-items: start;
}


/* =========================================================
   04) CUBIERTAS Y ACCIONES
   Las cubiertas reales, sus variantes y los accesos de la ficha.
   ========================================================= */

.manual-bibliography-cover {
  display: flex;
  justify-content: center;
  margin: 0;
}

.manual-bibliography-cover-variants {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(0.75rem, 2vw, 1.25rem);
  width: min(100%, 42rem);
  margin: 0 auto;
}

.manual-bibliography-cover-variant {
  display: grid;
  gap: 0.45rem;
  justify-items: center;
  margin: 0;
}

/* Las cubiertas conservan su proporción real y se limitan por la altura: proceden de formatos muy distintos. */
.manual-bibliography-cover img,
.manual-bibliography-cover-variant img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 200px;
  border: 1px solid rgba(180, 148, 90, 0.28);
  background: var(--v4-bg-raised);
  object-fit: contain;
}

.manual-bibliography-cover-variant figcaption {
  color: var(--v4-text-secondary);
  font-size: 0.78rem;
  text-align: center;
}

.manual-bibliography-entry-with-cover-variants .manual-bibliography-entry-content {
  grid-column: 1 / -1;
}

.manual-bibliography-entry article::before {
  content: counter(bibliography-entry, decimal-leading-zero);
  position: absolute;
  top: 0.1rem;
  left: 0;
  color: var(--v4-ochre);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.manual-bibliography-author,
.manual-bibliography-subtitle,
.manual-bibliography-publication,
.manual-bibliography-note,
.manual-bibliography-action {
  margin: 0;
}


/* =========================================================
   05) DATOS DE LA FICHA
   Autoría, título, publicación, metadatos, traducciones y etiquetas.
   ========================================================= */

.manual-bibliography-author {
  color: var(--v4-ochre);
  font-size: 0.84rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.manual-bibliography-entry h3 {
  margin: 0.3rem 0 0.4rem;
  font-size: clamp(1.15rem, 2vw, 1.45rem);
}

.manual-bibliography-subtitle,
.manual-bibliography-publication {
  color: var(--v4-text-secondary);
}

.manual-bibliography-metadata {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.7rem 1rem;
  margin: 0;
}

.manual-bibliography-metadata div {
  min-width: 0;
}

.manual-bibliography-metadata dt {
  color: var(--v4-text-secondary);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.manual-bibliography-metadata dd {
  margin: 0.2rem 0 0;
  overflow-wrap: anywhere;
}

.manual-bibliography-translations {
  display: grid;
  gap: 0.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.manual-bibliography-translations span {
  color: var(--v4-text-secondary);
}

.manual-bibliography-stars {
  color: var(--v4-ochre);
  letter-spacing: 0.05em;
}

.manual-bibliography-tags,
.manual-bibliography-reading-guidance,
.manual-bibliography-note,
.manual-bibliography-action {
  grid-column: 1 / -1;
}

.manual-bibliography-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.manual-bibliography-tags span {
  padding: 0.25rem 0.5rem;
  border: 1px solid rgba(180, 148, 90, 0.28);
  color: var(--v4-text-secondary);
  font-size: 0.75rem;
}


/* =========================================================
   06) NOTA Y GUÍA DE LECTURA
   La nota editorial y la guía de lectura con su valoración.
   ========================================================= */

.manual-bibliography-note {
  width: min(100%, 700px);
  padding-left: 1rem;
  border-left: 2px solid var(--v4-ochre);
}

.manual-bibliography-reading-guidance {
  display: grid;
  gap: 0.45rem;
  width: min(100%, 700px);
  padding: 0.85rem 1rem;
  border-left: 2px solid var(--v4-ochre);
  background: rgba(180, 148, 90, 0.06);
}

.manual-bibliography-reading-guidance p {
  margin: 0;
}

/* El título de la guía anula el tratamiento de rótulo que heredaría. Aquí es una frase, no una etiqueta. */
.manual-bibliography-reading-title {
  max-width: none;
  margin: 0;
  color: var(--v4-text-secondary);
  font-size: 1rem;
  letter-spacing: normal;
  line-height: 1.35;
  text-align: left;
}

.manual-bibliography-reading-rating {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.75rem;
  align-items: baseline;
  color: var(--v4-text-secondary);
}


/* =========================================================
   07) CATÁLOGO SIN RESULTADOS
   El aviso cuando ningún filtro deja fichas visibles.
   ========================================================= */

.manual-bibliography-empty {
  padding: 2rem;
  border: 1px solid rgba(180, 148, 90, 0.28);
  text-align: center;
}


/* =========================================================
   08) ADAPTACIÓN A PANTALLAS ESTRECHAS
   Los tres umbrales en que la ficha pierde columnas.
   ========================================================= */

@media (max-width: 70rem) {

  .manual-bibliography-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .manual-bibliography-field-search {
    grid-column: 1 / -1;
  }

}

@media (max-width: 46rem) {

  .manual-bibliography-filters,
  .manual-bibliography-entry-content,
  .manual-bibliography-metadata {
    grid-template-columns: 1fr;
  }

  .manual-bibliography-entry-with-cover {
    grid-template-columns: minmax(6.5rem, 8rem) minmax(0, 1fr);
  }

  .manual-bibliography-field-search {
    grid-column: auto;
  }

}

@media (max-width: 32rem) {

  .manual-bibliography-entry-with-cover {
    grid-template-columns: 1fr;
  }

  .manual-bibliography-cover {
    width: min(10rem, 60vw);
  }

  .manual-bibliography-cover-variants {
    gap: 0.5rem;
  }

}
