/* =========================================================
   Alfonso Monsalve Solórzano — hoja de utilidades del tema
   Cubre lo que theme.json no expresa: retículas de N columnas,
   proporción de portadas de libro, estados hover de filas y
   filtros, y las bandas de color a ancho completo.
   ========================================================= */

/* --- centrado del contenido de nivel superior ---------------------
   WordPress solo centra los bloques "alignwide" cuando su contenedor
   lleva la clase is-layout-constrained. El contenedor raíz que genera
   el propio WordPress (.wp-site-blocks) no la lleva, así que los
   bloques anchos de las plantillas reciben su max-width pero quedan
   pegados al borde izquierdo, con un hueco a la derecha en pantallas
   anchas. Esto les devuelve los márgenes automáticos.
   ------------------------------------------------------------------ */
.wp-site-blocks > .alignwide {
  max-width: var(--wp--style--global--wide-size);
  margin-left: auto;
  margin-right: auto;
}
/* Por debajo del ancho máximo, un respiro lateral para que el texto
   no quede pegado al borde de la ventana. */
@media (max-width: 1280px) {
  .wp-site-blocks > .alignwide {
    padding-left: 24px;
    padding-right: 24px;
  }
}

/* --- eyebrow / etiquetas de sección (Archivo, mayúsculas, tracking) --- */
.ams-eyebrow {
  font-family: var(--wp--preset--font-family--archivo);
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--wp--preset--color--acento);
  font-weight: 600;
}
.ams-eyebrow.on-dark { color: var(--wp--preset--color--acento-claro); }

.ams-meta {
  font-family: var(--wp--preset--font-family--archivo);
  font-size: 13px;
  line-height: 1.5;
  color: var(--wp--preset--color--meta);
}
.ams-meta.on-dark { color: var(--wp--preset--color--tinta-60); }

.ams-ph {
  font-family: var(--wp--preset--font-family--archivo);
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--wp--preset--color--meta-suave);
}

/* --- medida de lectura --- */
.ams-medida-lectura { max-width: 34em; }
.ams-medida-lede { max-width: 30em; }

/* --- banda oscura (sección Archivo / Cómo se organiza) --- */
.ams-banda-tinta,
.ams-banda-tinta p,
.ams-banda-tinta .ams-meta { color: var(--wp--preset--color--tinta-72); }
.ams-banda-tinta { background: var(--wp--preset--color--tinta); }
.ams-banda-tinta h2, .ams-banda-tinta h3 { color: var(--wp--preset--color--papel-2); }
.ams-banda-tinta a { color: var(--wp--preset--color--papel-2); }
.ams-banda-tinta a:hover { color: var(--wp--preset--color--acento-claro); }

/* --- portada de libro (marcador de color mientras no hay imagen real) --- */
.ams-portada-libro {
  aspect-ratio: 2 / 3;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 20px;
  border: 1px solid rgba(26,23,20,0.2);
  background: var(--wp--preset--color--apoyo);
  color: var(--wp--preset--color--papel-2);
  overflow: hidden;
}
.ams-portada-libro img { width: 100%; height: 100%; object-fit: cover; }
.ams-portada-libro .ams-editorial-chip {
  font-family: var(--wp--preset--font-family--archivo);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(244,238,226,0.72);
}
.ams-portada-libro .ams-titulo-portada { font-size: 24px; line-height: 1.1; }

/* variantes de color para diferenciar portadas cuando no hay imagen */
.ams-portada-libro.tono-1 { background: #2B4C5E; }
.ams-portada-libro.tono-2 { background: #7A3B2E; }
.ams-portada-libro.tono-3 { background: #4A5240; }
.ams-portada-libro.tono-4 { background: #1A1714; }
.ams-portada-libro.tono-5 { background: var(--wp--preset--color--papel); border: 1px solid var(--wp--preset--color--borde-2); color: var(--wp--preset--color--texto); }

/* cuando la ficha de libro trae imagen real, WordPress añade la clase
   is-post-thumbnail y el navegador ignora el color de fondo detrás de
   la imagen; cuando no hay imagen, se ve el color de marcador. */
.ams-libro-card:nth-child(4n+1) .ams-portada-libro { background: #2B4C5E; }
.ams-libro-card:nth-child(4n+2) .ams-portada-libro { background: #7A3B2E; }
.ams-libro-card:nth-child(4n+3) .ams-portada-libro { background: #4A5240; }
.ams-libro-card:nth-child(4n+4) .ams-portada-libro { background: #1A1714; }

/* --- retículas --- */
.ams-grid { display: grid; gap: 32px; }
.ams-grid-2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.ams-grid-3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.ams-grid-4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
@media (max-width: 900px) {
  .ams-grid-2, .ams-grid-3, .ams-grid-4 { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 600px) {
  .ams-grid-2, .ams-grid-3, .ams-grid-4 { grid-template-columns: 1fr; }
}

/* --- fila de artículo en el archivo --- */
.ams-fila-articulos { display: flex; flex-direction: column; }
.ams-fila {
  display: grid;
  grid-template-columns: 74px 1fr 190px;
  gap: 28px;
  align-items: baseline;
  padding: 20px 0;
  border-bottom: 1px solid var(--wp--preset--color--divisor);
  color: var(--wp--preset--color--tinta);
  text-decoration: none !important;
}
.ams-fila:hover { background: var(--wp--preset--color--papel-2); }
.ams-fila .ams-fila-titulo {
  font-size: 21px;
  line-height: 1.32;
  font-weight: 400;
  letter-spacing: -0.005em;
  color: var(--wp--preset--color--tinta);
}
.ams-fila .ams-fila-medio {
  font-family: var(--wp--preset--font-family--archivo);
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--wp--preset--color--meta);
}
@media (max-width: 700px) {
  .ams-fila { grid-template-columns: 1fr; gap: 6px; }
}

/* --- filtros del archivo (aside) --- */
.ams-filtros { display: flex; flex-direction: column; gap: 32px; }
.ams-filtro-titulo {
  font-family: var(--wp--preset--font-family--archivo);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--wp--preset--color--tinta);
  font-weight: 600;
}
.ams-filtro-lista { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.ams-filtro-lista li { margin: 0; }
.ams-filtro-lista a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-family: var(--wp--preset--font-family--archivo);
  font-size: 14px;
  color: #3F3A33;
  padding: 7px 0;
  text-decoration: none;
}
.ams-filtro-lista a:hover { color: var(--wp--preset--color--acento); }
.ams-filtro-lista .cuenta { font-family: var(--wp--preset--font-family--archivo); font-size: 13px; color: var(--wp--preset--color--meta); }
.ams-filtro-lista a.activo { color: var(--wp--preset--color--acento); font-weight: 500; }

/* --- chips (Obra: Todo / Ficción / Académicos / Ediciones) --- */
.ams-chips { display: flex; gap: 10px; flex-wrap: wrap; }
.ams-chip {
  font-family: var(--wp--preset--font-family--archivo);
  font-size: 13px;
  letter-spacing: 0.02em;
  color: #3F3A33;
  border: 1px solid var(--wp--preset--color--linea);
  padding: 9px 18px;
  background: transparent;
  text-decoration: none !important;
  display: inline-block;
}
.ams-chip:hover { border-color: var(--wp--preset--color--tinta); color: var(--wp--preset--color--tinta); }
.ams-chip.activo {
  color: var(--wp--preset--color--papel);
  border-color: var(--wp--preset--color--tinta);
  background: var(--wp--preset--color--tinta);
}

/* --- ficha bibliográfica (definición en 2 columnas) --- */
.ams-ficha-datos { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 0 48px; }
.ams-ficha-dato {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 14px 0;
  border-bottom: 1px solid var(--wp--preset--color--divisor);
  font-family: var(--wp--preset--font-family--archivo);
  font-size: 13px;
}
.ams-ficha-dato .etiqueta { color: var(--wp--preset--color--meta); }
.ams-ficha-dato .valor { color: var(--wp--preset--color--tinta); }
@media (max-width: 700px) { .ams-ficha-datos { grid-template-columns: 1fr; } }

/* core/post-meta suele imprimir "Etiqueta: valor"; lo tratamos como .ams-ficha-dato */
.ams-ficha-datos .wp-block-post-meta { display: flex; justify-content: space-between; gap: 20px; padding: 14px 0; border-bottom: 1px solid var(--wp--preset--color--divisor); font-family: var(--wp--preset--font-family--archivo); font-size: 13px; color: var(--wp--preset--color--tinta); }
.ams-ficha-datos .wp-block-post-meta .wp-block-post-meta__term { color: var(--wp--preset--color--meta); }

/* --- formularios (Servicios / Contacto) --- */
.ams-campo { display: flex; flex-direction: column; gap: 8px; }
.ams-etiqueta-campo {
  font-family: var(--wp--preset--font-family--archivo);
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--wp--preset--color--meta);
  font-weight: 500;
}
.ams-input, .ams-textarea, .ams-select {
  border: 1px solid var(--wp--preset--color--borde-2);
  background: var(--wp--preset--color--papel);
  padding: 14px 16px;
  font-family: var(--wp--preset--font-family--archivo);
  font-size: 15px;
  color: var(--wp--preset--color--tinta);
  width: 100%;
  box-sizing: border-box;
}
.ams-textarea { min-height: 120px; resize: vertical; }
.ams-formulario {
  border: 1px solid var(--wp--preset--color--linea);
  background: var(--wp--preset--color--papel-2);
  padding: 40px;
  display: flex;
  flex-direction: column;
  gap: 22px;
}

/* --- pasos numerados (Servicios: Cómo se organiza) --- */
.ams-paso-numero {
  font-family: var(--wp--preset--font-family--archivo);
  font-size: 12px;
  letter-spacing: 0.18em;
  color: var(--wp--preset--color--acento-claro);
}

/* --- cifras (Portada) --- */
.ams-cifra-numero { font-size: 40px; line-height: 1; font-weight: 400; font-family: var(--wp--preset--font-family--newsreader); }

/* --- buscador del archivo (formulario de búsqueda de WP estilizado) --- */
.ams-buscador-archivo .wp-block-search__inside-wrapper {
  border: 1px solid rgba(244,238,226,0.4);
  background: rgba(244,238,226,0.06);
  padding: 4px;
}
.ams-buscador-archivo input.wp-block-search__input {
  background: transparent;
  border: 0;
  color: rgba(244,238,226,0.85);
  font-family: var(--wp--preset--font-family--archivo);
  font-size: 16px;
  padding-left: 14px;
}
.ams-buscador-archivo input.wp-block-search__input::placeholder { color: rgba(244,238,226,0.5); }
.ams-buscador-archivo .wp-block-search__button {
  font-family: var(--wp--preset--font-family--archivo) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  background: var(--wp--preset--color--acento) !important;
  color: var(--wp--preset--color--papel) !important;
  border: 1px solid var(--wp--preset--color--acento) !important;
  padding: 14px 30px !important;
  border-radius: 0 !important;
}

/* --- navegación: subrayado del enlace activo/hover --- */
.wp-block-navigation-item a:hover { color: var(--wp--preset--color--acento) !important; border-bottom: 1px solid var(--wp--preset--color--acento); text-decoration: none !important; }
.wp-block-navigation-item.current-menu-item > a { color: var(--wp--preset--color--acento) !important; border-bottom: 1px solid var(--wp--preset--color--acento); }

/* --- botón secundario (borde, sin relleno) --- */
.is-style-boton-secundario .wp-block-button__link {
  background: transparent !important;
  color: var(--wp--preset--color--tinta) !important;
  border: 1px solid var(--wp--preset--color--borde-2) !important;
}
.is-style-boton-secundario .wp-block-button__link:hover {
  border-color: var(--wp--preset--color--tinta) !important;
}
.is-style-boton-secundario.on-dark .wp-block-button__link {
  color: var(--wp--preset--color--papel-2) !important;
  border-color: rgba(244,238,226,0.4) !important;
}

/* --- separador sutil entre filas de temas/etc --- */
.ams-lista-temas > * { border-top: 1px solid var(--wp--preset--color--linea); padding-top: 24px; padding-bottom: 24px; }
.ams-lista-temas > *:last-child { border-bottom: 1px solid var(--wp--preset--color--linea); }

/* --- responsivo general de columnas 2 en 1 en móvil --- */
@media (max-width: 780px) {
  .ams-2col { grid-template-columns: 1fr !important; }
}
