/* Kiosque des bulletins */
.rq-kiosque { display: flex; flex-direction: column; gap: 40px; font-family: var(--font-body); color: var(--bleu-nuit); }
.rq-kiosque__item { display: flex; flex-direction: column; gap: 14px; }
.rq-kiosque__item--grand { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 36px; align-items: center; padding: 30px 34px; background: var(--brume); }
.rq-kiosque--dernier .rq-kiosque__item--grand { grid-template-columns: 200px minmax(0, 1fr); gap: 24px; padding: 0; background: none; align-items: start; }
.rq-kiosque__couv { position: relative; display: block; width: 100%; padding: 0; border: 0; background: var(--brume); box-shadow: var(--ombre-carte); cursor: pointer; aspect-ratio: 210 / 297; overflow: hidden; }
.rq-kiosque__couv canvas { display: block; width: 100%; height: 100%; object-fit: cover; }
.rq-kiosque__feuilleter { position: absolute; left: 0; bottom: 0; padding: 8px 14px; background: var(--rouge); color: var(--blanc); font-family: var(--font-alt); font-weight: 700; font-size: 14px; letter-spacing: .8px; text-transform: uppercase; }
.rq-kiosque__couv canvas { opacity: 0; transition: opacity 300ms ease; }
.rq-kiosque__couv.est-rendue canvas { opacity: 1; }
.rq-kiosque__couv.est-indisponible canvas { display: none; }
.rq-kiosque__corps { display: flex; flex-direction: column; gap: 8px; }
.rq-kiosque__titre { margin: 0; font-family: var(--font-display); font-weight: 700; font-size: 24px; line-height: 28px; color: var(--encre); }
.rq-kiosque__item--grand .rq-kiosque__titre { font-size: 32px; line-height: 36px; }
/* Accueil : la carte « Kiosque » ne laisse que 150 px au texte à côté de la couverture ;
   en 32 px le titre se coupait en plein mot (« Roquema-ure ») et le bouton « Feuilleter le
   magazine » (193 px, sans retour à la ligne) sortait de la carte. Titre ramené à 22 px ;
   le bouton fait doublon avec la couverture, elle-même bouton « Feuilleter », on le retire
   au-delà du palier tablette, seul cas où la carte est étroite. */
.rq-kiosque--dernier .rq-kiosque__titre { font-size: 22px; line-height: 28px; }
@media (min-width: 1456px) { .rq-kiosque--dernier .rq-kiosque__actions .rq-feuilleter { display: none; } }
.rq-kiosque__surtitre { font-family: var(--font-alt); font-weight: 700; font-size: 14px; letter-spacing: 1px; text-transform: uppercase; color: var(--rouge); }
.rq-kiosque__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 20px; margin-top: 4px; }
.rq-kiosque__archives .rq-kiosque__titre { font-size: 17px; line-height: 22px; }
.rq-kiosque__archives .rq-kiosque__meta { font-size: 13px; line-height: 18px; }
.rq-kiosque__archives .rq-kiosque__corps { gap: 4px; }
.rq-kiosque__meta { margin: 0; font-size: 15px; color: var(--gris-texte); }
.rq-kiosque__telecharger { align-self: flex-start; font-size: 16px; font-weight: 700; color: var(--encre); text-decoration: underline; text-underline-offset: 3px; }
.rq-kiosque__archives-titre { margin: 0; font-family: var(--font-display); font-weight: 700; font-size: 26px; color: var(--encre); }
.rq-kiosque__archives { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 34px 26px; }
.rq-kiosque__vide { color: var(--gris-texte); }

/* Visionneuse */
.rq-visionneuse { width: min(100vw - 32px, 1600px); max-width: none; height: min(100vh - 32px, 1000px); max-height: none; padding: 0; border: 0; background: var(--encre); color: var(--blanc); font-family: var(--font-body); }
.rq-visionneuse__cadre { display: flex; flex-direction: column; height: 100%; background: var(--encre); color: var(--blanc); }
.rq-visionneuse__cadre:fullscreen { width: 100vw; height: 100vh; }
.rq-visionneuse.est-plein { width: 100vw; height: 100vh; height: 100dvh; }
.rq-visionneuse::backdrop { background: rgba(20, 32, 62, .85); }
.rq-visionneuse__barre { display: flex; align-items: center; gap: 20px; padding: 12px 20px; border-bottom: 1px solid rgba(255, 255, 255, .15); }
.rq-visionneuse__titre { flex: 1; font-family: var(--font-display); font-weight: 700; font-size: 18px; }
.rq-visionneuse__outils { display: flex; align-items: center; gap: 20px; }
.rq-visionneuse__pages { font-size: 15px; opacity: .8; }
.rq-visionneuse__telecharger { color: var(--blanc); font-weight: 700; font-size: 15px; }
.rq-visionneuse__btn { cursor: pointer; display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border: 2px solid var(--blanc); border-radius: var(--radius-btn); background: transparent; color: var(--blanc); font-family: var(--font-alt); font-weight: 700; font-size: 20px; line-height: 1; }
.rq-visionneuse__btn:hover { background: rgba(255, 255, 255, 0.12); }
.rq-visionneuse__btn:disabled { opacity: .4; cursor: default; }
.rq-visionneuse__btn:disabled:hover { background: transparent; }
.rq-visionneuse__loupe { display: inline-flex; align-items: center; gap: 8px; }
.rq-visionneuse__zoom-val { min-width: 3.4em; font-size: 14px; text-align: center; opacity: .85; font-variant-numeric: tabular-nums; }
.rq-visionneuse__fermer { cursor: pointer; height: 40px; padding: 0 14px; border: 2px solid var(--blanc); border-radius: var(--radius-btn); background: transparent; color: var(--blanc); font-family: var(--font-alt); font-weight: 700; font-size: 15px; }
.rq-visionneuse__scene { position: relative; display: flex; flex: 1 1 auto; min-height: 0; align-items: center; justify-content: center; gap: 12px; padding: 16px; }
.rq-visionneuse__livre { max-width: 100%; }
.rq-visionneuse__page { background: var(--blanc); box-shadow: 0 0 20px rgba(0, 0, 0, .4); }
.rq-visionneuse__page canvas { display: block; width: 100%; height: 100%; object-fit: contain; } /* une page d’un autre format (couverture, double page) reste à l’échelle au lieu d’être étirée */
.rq-visionneuse__nav { position: relative; z-index: 3; cursor: pointer; width: 52px; height: 52px; border: 0; border-radius: 50%; background: var(--blanc); color: var(--encre); font-size: 30px; line-height: 1; flex-shrink: 0; }
/* Zoom : calque défilant par-dessus le livre, pages redessinées en haute définition */
.rq-visionneuse__zoom-calque { position: absolute; inset: 0; z-index: 2; overflow: auto; background: var(--encre); cursor: grab; touch-action: pan-x pan-y; overscroll-behavior: contain; outline: none; }
.rq-visionneuse__zoom-calque.est-saisi { cursor: grabbing; }
.rq-visionneuse__zoom-int { display: flex; min-width: 100%; min-height: 100%; }
.rq-visionneuse__zoom-feuille { display: flex; flex: none; margin: auto; padding: 16px 70px; }
.rq-visionneuse__zoom-page { display: block; height: auto; background: var(--blanc); box-shadow: 0 0 20px rgba(0, 0, 0, .4); }
.rq-visionneuse.est-zoom .rq-visionneuse__nav { opacity: .85; box-shadow: 0 2px 8px rgba(0, 0, 0, .35); }
.rq-visionneuse__etat { margin: 0; padding: 0 20px 12px; font-size: 15px; text-align: center; opacity: .8; }
@media (max-width: 767px) {
  .rq-kiosque__item--grand { grid-template-columns: minmax(0, 1fr); gap: 20px; padding: 22px; }
  .rq-kiosque__item--grand .rq-kiosque__couv { max-width: 200px; }
  .rq-kiosque--dernier .rq-kiosque__item--grand { grid-template-columns: 140px minmax(0, 1fr); gap: 16px; padding: 0; }
  .rq-kiosque__archives { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 26px 18px; }
  .rq-kiosque__archives { grid-template-columns: 1fr; }
  .rq-visionneuse { width: 100vw; height: 100vh; height: 100dvh; }
  .rq-visionneuse__barre { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "titre fermer" "outils outils"; gap: 8px 12px; padding: 10px 12px; }
  .rq-visionneuse__titre { grid-area: titre; font-size: 16px; line-height: 20px; }
  .rq-visionneuse__fermer { grid-area: fermer; height: 36px; }
  .rq-visionneuse__outils { grid-area: outils; gap: 12px; }
  .rq-visionneuse__pages { font-size: 14px; }
  .rq-visionneuse__telecharger { font-size: 14px; margin-left: auto; }
  .rq-visionneuse__outils { flex-wrap: wrap; }
  .rq-visionneuse__btn { width: 36px; height: 36px; }
  .rq-visionneuse__zoom-val, .rq-visionneuse__telecharger-suite { display: none; } /* barre d'outils sur une ligne */
  .rq-visionneuse__outils { gap: 10px; }
  .rq-visionneuse__zoom-feuille { padding: 8px 44px; }
  .rq-visionneuse__scene { padding: 8px; gap: 0; }
  .rq-visionneuse__nav { position: absolute; top: 50%; transform: translateY(-50%); width: 36px; height: 36px; font-size: 22px; opacity: .85; box-shadow: 0 2px 8px rgba(0, 0, 0, .35); }
  .rq-visionneuse__nav--prec { left: 4px; }
  .rq-visionneuse__nav--suiv { right: 4px; }
  .rq-visionneuse__etat { display: none; }
}

/* Lien « Feuilleter » (documents, shortcode [roq_feuilleter]) */
a.rq-feuilleter { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border: 1.5px solid var(--encre); border-radius: var(--radius-btn); font-family: var(--font-alt); font-weight: 700; font-size: 14px; line-height: 18px; color: var(--encre); text-decoration: none; white-space: nowrap; }
a.rq-feuilleter::before { content: ""; width: 14px; height: 14px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z'/%3E%3Cpath d='M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z'/%3E%3Cpath d='M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z'/%3E%3C/svg%3E") center / contain no-repeat; }
a.rq-feuilleter:hover { border-color: var(--rouge); color: var(--rouge); }

/* Sous 480 px, la couverture et le texte côte à côte ne laissaient que 64 px au titre
   (bloc « dernier bulletin » de l'accueil, carte de 220 px de large) : on empile. */
@media (max-width: 479px) {
  .rq-kiosque__item--grand, .rq-kiosque--dernier .rq-kiosque__item--grand { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .rq-kiosque__item--grand .rq-kiosque__couv, .rq-kiosque--dernier .rq-kiosque__couv { max-width: 150px; }
  .rq-kiosque__archives { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 14px; }
}
