/* ═══════════════════════════════════════════════════════════════════════
   quote.css — Visuel des citations (blockquote + attribution)

   Partagé par les TROIS surfaces qui rendent du contenu de chapitre, pour
   que l'aperçu de l'éditeur corresponde exactement au rendu publié :
     • éditeur v2 (.scribe-content)   — templates/works/chapter_edit_v2.html
     • lecteur classique (.ch-content) — templates/works/chapter_detail.html
     • lecteur immersif (.ch-content)  — templates/works/reader_v2.html
   Avant ce fichier, les deux premiers dupliquaient des règles proches et le
   troisième n'en avait aucune : les citations y étaient rendues brutes.

   Parti pris visuel : pas d'encadré ni de fond teinté — la citation respire
   sur la page, encadrée de deux grands guillemets pâles (ouvrant en haut à
   gauche, fermant en bas à droite) et suivie d'une attribution centrée.
   ═══════════════════════════════════════════════════════════════════════ */

.scribe-content blockquote,
.ch-content blockquote {
  position: relative;
  /* table : le bloc épouse la largeur de son texte (citation courte = bloc
     court), tout en se repliant à max-width pour les longues. Conserve aussi
     le fonctionnement des règles d'alignement plus bas. */
  display: table;
  max-width: min(34em, 100%);
  margin: 1.6em 0 1.2em;
  padding: .1em 1.9em .1em 2.1em;
  border: none !important;
  background: none !important;
  border-radius: 0;
  /* Texte droit et de même encre que le récit : la citation se lit comme du
     texte, pas comme une note secondaire (l'italique gris pâle passait mal,
     surtout en mode nuit). */
  font-style: normal;
  color: inherit;
  text-align: left;
  /* Machine à écrire : détache la citation du corps du récit sans encadré.
     Courier Prime est une police d'éditeur active en base (donc déjà importée
     côté éditeur) ; suivent des replis système pour que le rendu tienne même
     sans accès à Google Fonts. Le scribonaute garde la main : sélectionner le
     texte et choisir une police pose un style inline, plus spécifique que
     cette règle, qui l'emporte donc. */
  font-family: 'Courier Prime', 'Courier New', Courier, monospace;
  /* Le monospace paraît plus gros à corps égal, et respire davantage. */
  font-size: .94em;
  line-height: 1.8;
}

/* Guillemets décoratifs : currentColor très atténué, donc justes dans tous
   les thèmes (jour, nuit, ambiances) sans une règle par variante. */
.scribe-content blockquote::before,
.ch-content blockquote::before,
.scribe-content blockquote::after,
.ch-content blockquote::after {
  position: absolute;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 3.6em;
  font-style: normal;
  line-height: 1;
  color: currentColor;
  opacity: .17;
  pointer-events: none;
  user-select: none;
}
.scribe-content blockquote::before,
.ch-content blockquote::before {
  content: '\201C';
  left: -.06em;
  top: -.12em;
}
.scribe-content blockquote::after,
.ch-content blockquote::after {
  content: '\201D';
  right: -.06em;
  bottom: -.42em;
}

/* Le fond sombre avale les valeurs faibles : on relève un peu les guillemets. */
html.scribe-night .scribe-content blockquote::before,
html.scribe-night .scribe-content blockquote::after,
html[data-theme="dark"] .ch-content blockquote::before,
html[data-theme="dark"] .ch-content blockquote::after { opacity: .26; }

.scribe-content blockquote:last-child,
.ch-content blockquote:last-child { margin-bottom: 0; }

/* Alignement : avec display:table, text-align ne déplace pas le bloc —
   on traduit le choix de l'auteur en marges. (.ql-align-* : contenu hérité
   de l'ancien éditeur Quill.) */
.scribe-content blockquote[style*="text-align: center"],
.scribe-content blockquote[style*="text-align:center"],
.ch-content blockquote.ql-align-center,
.ch-content blockquote[style*="text-align: center"],
.ch-content blockquote[style*="text-align:center"] { margin-left: auto; margin-right: auto; }
.scribe-content blockquote[style*="text-align: right"],
.scribe-content blockquote[style*="text-align:right"],
.ch-content blockquote.ql-align-right,
.ch-content blockquote[style*="text-align: right"],
.ch-content blockquote[style*="text-align:right"] { margin-left: auto; margin-right: 0; }

/* ── Attribution ─────────────────────────────────────────────────────
   Centrée sous la citation, en italique discret. Pas de tiret : les deux
   guillemets suffisent à signaler la citation. */
.scribe-content p.bq-source,
.ch-content p.bq-source {
  max-width: min(34em, 100%);
  margin: -.2em 0 1.8em;
  padding: 0 1.9em 0 2.1em;
  text-align: center;
  /* Même famille que la citation, en italique : l'attribution reste solidaire
     du bloc plutôt que de retomber dans la police du récit. */
  font-family: 'Courier Prime', 'Courier New', Courier, monospace;
  font-size: .78em;
  font-style: italic;
  font-weight: 400;
  letter-spacing: .04em;
  opacity: .72;
}
.scribe-content p.bq-source::before,
.ch-content p.bq-source::before { content: none; }

/* Suit l'alignement de la citation qui la précède. */
.scribe-content blockquote[style*="text-align: center"] + p.bq-source,
.scribe-content blockquote[style*="text-align:center"] + p.bq-source,
.ch-content blockquote.ql-align-center + p.bq-source,
.ch-content blockquote[style*="text-align: center"] + p.bq-source,
.ch-content blockquote[style*="text-align:center"] + p.bq-source { margin-left: auto; margin-right: auto; }
.scribe-content blockquote[style*="text-align: right"] + p.bq-source,
.scribe-content blockquote[style*="text-align:right"] + p.bq-source,
.ch-content blockquote.ql-align-right + p.bq-source,
.ch-content blockquote[style*="text-align: right"] + p.bq-source,
.ch-content blockquote[style*="text-align:right"] + p.bq-source { margin-left: auto; margin-right: 0; }

@media (max-width: 600px) {
  .scribe-content blockquote,
  .ch-content blockquote { padding-left: 1.5em; padding-right: 1.4em; }
  .scribe-content blockquote::before,
  .ch-content blockquote::before,
  .scribe-content blockquote::after,
  .ch-content blockquote::after { font-size: 2.8em; }
}
