.libro { max-width: 660px; margin: 0 auto; }

.libro-titulo { margin-bottom: var(--space-6); }
.libro-titulo h1 { margin-bottom: var(--space-2); }
.libro-filigrana { color: var(--color-gold-deep); font-size: var(--font-size-xl); letter-spacing: .4em; display: inline-block; }

/* Página de libro: papel cálido con doble filete y sangría */
.libro-card {
  position: relative;
  background:
    radial-gradient(120% 100% at 50% 0%, rgba(255,255,255,.7), transparent 70%),
    var(--color-surface-2);
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
  padding: clamp(var(--space-6), 5vw, var(--space-12));
}
.libro-card::before {
  content: ""; position: absolute; inset: 10px;
  border: 1px solid rgba(206,154,78,.45);
  border-radius: calc(var(--radius-lg) - 6px);
  pointer-events: none;
}

/* Foto antigua enmarcada (estilo copia impresa) */
.libro-foto { margin: 0 auto var(--space-8); max-width: 460px; }
.libro-foto img {
  width: 100%; display: block; border-radius: 3px;
  border: 7px solid #fff;
  outline: 1px solid var(--color-border-strong);
  box-shadow: var(--shadow-elevated);
}
.libro-foto figcaption {
  margin-top: var(--space-3); text-align: center;
  font-family: "EB Garamond", Georgia, serif; font-style: italic;
  color: var(--color-text-soft); font-size: var(--font-size-sm);
}

.libro-texto {
  font-family: "EB Garamond", Georgia, "Times New Roman", serif;
  font-size: 20px;
  line-height: 1.85;
  color: var(--color-ink);
  text-align: justify;
  hyphens: auto;
}
.libro-texto p { margin: 0 0 var(--space-6); color: #3A312A; }
.libro-texto p:last-child { margin-bottom: 0; }

/* Letra capital al inicio */
.libro-texto p:first-of-type::first-letter {
  float: left;
  font-family: var(--font-display);
  font-size: 3.6em;
  line-height: .8;
  font-weight: var(--font-weight-bold);
  color: var(--color-primary);
  padding: 6px 10px 0 0;
}

@media (max-width: 600px) {
  .libro-texto { font-size: 18px; text-align: left; }
}

/* ===== Recordando a los que no están ===== */
.memoria { margin-top: var(--space-12); }
.memoria-head { margin-bottom: var(--space-6); }
.memoria-head h2 { margin-bottom: var(--space-1); }
.memoria-head .libro-filigrana { font-size: var(--font-size-lg); }

.memoria-buscador {
  display: flex; align-items: center; gap: var(--space-2);
  max-width: 420px; margin: 0 auto var(--space-6);
  background: var(--color-surface); border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-full); padding: 0 var(--space-4); box-shadow: var(--shadow-xs);
}
.memoria-buscador .ic { color: var(--color-text-soft); flex: 0 0 auto; }
.memoria-buscador input {
  flex: 1; border: none; background: transparent; outline: none;
  min-height: var(--tap-min); font: inherit; color: var(--color-text-primary);
}

.memoria-grid {
  display: grid; gap: var(--space-4);
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
}
.memoria-card {
  display: flex; flex-direction: column; align-items: center; gap: var(--space-2);
  text-align: center; cursor: pointer;
  background: var(--color-surface); border: 1px solid var(--color-border);
  border-radius: var(--radius-lg); padding: var(--space-4) var(--space-3);
  box-shadow: var(--shadow-card);
  transition: transform var(--transition-base), box-shadow var(--transition-base);
}
.memoria-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-elevated); }
.memoria-card:focus-visible { outline: none; box-shadow: var(--ring-focus); }
.memoria-card img {
  width: 100%; aspect-ratio: 1 / 1; object-fit: cover;
  border-radius: var(--radius-md); border: 2px solid var(--color-accent);
  filter: saturate(.9);
}
.memoria-nombre { font-weight: var(--font-weight-semibold); color: var(--color-ink); line-height: 1.2; }
.memoria-rango { font-size: var(--font-size-sm); color: var(--color-text-soft); font-family: "EB Garamond", Georgia, serif; }
