/**
 * Couverture indisponible (templates/misc/cover-placeholder.html.twig,
 * js/cover-placeholder.js) : papier, filet d'encadrement, maison en haut,
 * titre au centre, mention en bas. Le texte suit la taille de la vignette
 * (unités cqi), de la prédiction de recherche à la fiche livre.
 * Couleurs de l'univers (--u-*) quand elles existent.
 */
.CoverPlaceholder {
  container-type: inline-size;
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 2 / 3;
  overflow: hidden;
  border-radius: var(--u-cover-radius, 0);
  background: var(--u-surface-alt, #f2efe8);
  box-shadow: var(--u-cover-shadow, 0 2px 8px rgba(0, 0, 0, 0.18));
  color: var(--u-ink, #1a1a1a);
}
.CoverPlaceholder-inner {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4cqi;
  padding: 11cqi 10cqi 10cqi;
  text-align: center;
}
/* Filet d'encadrement, comme une couverture de collection */
.CoverPlaceholder-inner::before {
  content: "";
  position: absolute;
  inset: 5cqi;
  border: 1px solid currentColor;
  opacity: 0.2;
}
.CoverPlaceholder-house {
  color: var(--u-accent, #ed1c2e);
  font-size: max(6px, 6cqi);
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.CoverPlaceholder-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  justify-content: center;
  gap: 5cqi;
  min-height: 0;
}
.CoverPlaceholder-title {
  display: -webkit-box;
  overflow: hidden;
  font-family: var(--u-font-title, Georgia, serif);
  font-size: max(8px, 10.5cqi);
  line-height: 1.15;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
}
.CoverPlaceholder-author {
  font-size: max(6px, 6.5cqi);
  opacity: 0.75;
}
.CoverPlaceholder-note {
  font-size: max(5px, 5cqi);
  letter-spacing: 0.1em;
  opacity: 0.55;
  text-transform: uppercase;
}

/* Très petites vignettes : le titre seul */
@container (max-width: 90px) {
  .CoverPlaceholder-house,
  .CoverPlaceholder-author,
  .CoverPlaceholder-note {
    display: none;
  }
  .CoverPlaceholder-inner {
    padding: 8px 6px;
  }
  .CoverPlaceholder-title {
    font-size: 8px;
    -webkit-line-clamp: 4;
  }
}

/* Conteneurs taillés sur leur image : sans image, la vignette a besoin
   d'une largeur. Fiche livre (width: fit-content) : toute la colonne. */
.BookHeader-coverFigure:has(> .CoverPlaceholder) {
  width: 100%;
}
/* Sur bureau, la colonne de couverture se taille sur son contenu
   (auto) : la largeur des vraies couvertures, 350px */
.BookHeader-cover:has(.CoverPlaceholder) {
  width: 350px;
  max-width: 100%;
}
/* Vignettes livres : l'enveloppe, élément flex, prend la largeur de la
   zone de couverture (160px dans ce thème, déjà pleine largeur dans
   l'univers) */
.BookTeaser-cover-container:has(.CoverPlaceholder) {
  width: 100%;
}
/* Carrousel « enrichi » : sur tablette, l'enveloppe est un élément flex
   sans largeur (150px au plus, 255px sur bureau) */
.BookTeaserEnhanced-cover:has(.CoverPlaceholder) {
  width: 100%;
}
/* Dernière parution d'un auteur (flottant) : la largeur de l'image */
.AuthorLastPublication-cover .CoverPlaceholder {
  width: 255px;
  max-width: 100%;
  margin: 0 auto;
}
