/* ============================================================
   LabsPep — Certificados de análisis (/pep-verification)
   Se carga después de styles.css y tienda.css y reutiliza sus
   variables. Una rejilla de láminas: cada una es el escaneo de un
   certificado, con el nombre del péptido y su número de lote.
   ============================================================ */

/* ---------- Buscador ----------
   Solo aparece cuando hay suficientes certificados como para que buscar
   sea más rápido que mirar. Lo llena y lo enseña certificados.js. */
.coa-controles {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-bottom: 22px;
}
.coa-controles .buscador { flex: 1 1 260px; }

.coa-resumen {
  margin: 0;
  font-family: var(--font-display);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ink-faint);
}

/* ---------- Rejilla ---------- */
.coa-rejilla {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 18px;
}

.coa-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: var(--panel);
  border: 1px solid var(--panel-br);
  border-radius: var(--radius);
  transition: border-color 0.18s, transform 0.18s;
}
.coa-card:hover { border-color: rgba(120, 200, 255, 0.34); }

/* ---------- La lámina ----------
   Proporción de hoja (3:4) para todas, venga el escaneo como venga: si
   cada tarjeta tomara la suya, la rejilla quedaría dentada.

   Se recorta desde arriba a propósito. La cabecera de un certificado —el
   membrete del laboratorio y el nombre del compuesto— es lo que lo hace
   reconocible de un vistazo; el pie son firmas y códigos que no dicen
   nada en miniatura. El documento entero está a un toque. */
.coa-lamina {
  position: relative;
  display: block;
  aspect-ratio: 3 / 4;
  background: #f4f7fb;          /* una hoja mientras carga, no un hueco negro */
  border-bottom: 1px solid var(--panel-br);
}
.coa-lamina img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
}

/* La cinta de "ver en grande" vive sobre el borde inferior de la lámina.
   El degradado la despega del documento sin taparlo. */
.coa-ver {
  position: absolute;
  inset: auto 0 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 20px 10px 9px;
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #eaf4ff;
  background: linear-gradient(180deg, rgba(5, 7, 13, 0), rgba(5, 7, 13, 0.92));
}

/* ---------- Pie de la tarjeta ---------- */
.coa-pie {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 14px 15px 15px;
}
.coa-nombre {
  margin: 0;
  font-family: var(--font-body);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.25;
  color: var(--ink);
}

/* El número de lote es el dato que el cliente coteja contra su vial: va
   en monoespaciada para que no se confunda un 0 con una O. */
.coa-lote {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin: 0;
  font-size: 13px;
  color: var(--ink-faint);
}
.coa-lote b {
  font-family: ui-monospace, "Cascadia Mono", "Consolas", monospace;
  font-size: 13.5px;
  letter-spacing: 0.04em;
  color: var(--cyan);
}

.coa-ir {
  margin-top: 2px;
  font-family: var(--font-display);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--ink-dim);
}
.coa-ir:hover { color: var(--cyan); }

/* ---------- Sin certificados todavía ---------- */
.coa-vacio {
  padding: 34px 22px;
  text-align: center;
  background: var(--panel);
  border: 1px dashed var(--panel-br);
  border-radius: var(--radius);
}
.coa-vacio p { margin: 0 0 10px; color: var(--ink-dim); }
.coa-vacio p:last-child { margin-bottom: 0; }

/* ---------- Cómo se lee ----------
   Debajo de la rejilla: qué es un certificado y qué mirar en él. Quien
   nunca ha visto uno no sabe que el lote es lo que tiene que cotejar. */
.coa-guia {
  margin-top: 40px;
  padding: 22px;
  background: var(--panel);
  border: 1px solid var(--panel-br);
  border-radius: var(--radius);
}
.coa-guia h2 {
  margin: 0 0 14px;
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ink);
}
.coa-guia ol {
  display: grid;
  gap: 12px;
  margin: 0;
  padding-left: 20px;
}
.coa-guia li { font-size: 14.5px; line-height: 1.6; color: var(--ink-dim); }
.coa-guia li b { color: var(--ink); }

@media (max-width: 700px) {
  .coa-rejilla { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; }
  .coa-pie { padding: 12px 12px 13px; }
  .coa-nombre { font-size: 15px; }
  .coa-guia { padding: 18px 16px; }
}
