.document-pdf-download { display: inline-flex; align-items: center; }
.document-pdf-download-button { display: inline-flex; align-items: center; justify-content: center; gap: .62rem; }
.document-pdf-download-button svg { width: 1.08rem; height: 1.08rem; flex: none; }
.document-pdf-download-button[aria-busy='true'] { cursor: wait; opacity: .74; }
.document-pdf-download-button[aria-busy='true'] svg { animation: document-pdf-pulse 1s ease-in-out infinite; }
.document-pdf-live { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@keyframes document-pdf-pulse { 50% { opacity: .35; transform: translateY(1px); } }
@media (prefers-reduced-motion: reduce) { .document-pdf-download-button[aria-busy='true'] svg { animation: none; } }

/* The following document exists only while an export is being generated. It is
   deliberately independent from the active site theme: every PDF uses the
   approved day palette and the local Sora/Manrope font stack. */
.document-pdf-render-root {
  position: fixed;
  z-index: -1000;
  top: 0;
  left: -300vw;
  width: 210mm;
  background: #f2f5fb;
  color: #101933;
  font-family: var(--font-body, 'Manrope', Arial, sans-serif);
  pointer-events: none;
}
.document-pdf-sheet {
  position: relative;
  box-sizing: border-box;
  width: 210mm;
  height: 297mm;
  overflow: hidden;
  padding: 17mm 17mm 15mm;
  background: #f4f7fd;
  color: #101933;
}
.document-pdf-sheet.is-wash { background: #e9effc; }
.document-pdf-sheet.is-white { background: #fff; }
.document-pdf-sheet * { box-sizing: border-box; }
.document-pdf-sheet h1,
.document-pdf-sheet h2,
.document-pdf-sheet h3,
.document-pdf-sheet p,
.document-pdf-sheet ul,
.document-pdf-sheet ol,
.document-pdf-sheet dl,
.document-pdf-sheet figure { margin: 0; }
.document-pdf-sheet h1,
.document-pdf-sheet h2,
.document-pdf-sheet h3,
.document-pdf-brand { font-family: var(--font-ui, 'Sora', Arial, sans-serif); }
.document-pdf-sheet h1 { max-width: 13ch; margin-bottom: 5mm; font-size: 13.4mm; letter-spacing: -.065em; line-height: .98; }
.document-pdf-sheet h2 { max-width: 18ch; margin-bottom: 5mm; font-size: 8.4mm; letter-spacing: -.052em; line-height: 1.02; }
.document-pdf-sheet > h2 { max-width: none; }
.document-pdf-sheet h3 { margin-bottom: 2.2mm; font-size: 4.2mm; letter-spacing: -.03em; line-height: 1.14; }
.document-pdf-sheet p,
.document-pdf-sheet li,
.document-pdf-sheet dd { color: #5a6883; font-size: 3.35mm; line-height: 1.52; }
.document-pdf-sheet strong { color: #101933; }
.document-pdf-page-head,
.document-pdf-page-foot { position: relative; z-index: 3; display: flex; align-items: center; justify-content: space-between; gap: 8mm; }
.document-pdf-page-head { height: 10mm; margin-bottom: 11mm; border-bottom: .25mm solid rgba(16, 25, 51, .14); }
.document-pdf-page-foot { position: absolute; right: 17mm; bottom: 7mm; left: 17mm; color: #5a6883; font-size: 2.55mm; font-weight: 700; }
.document-pdf-brand { color: #101933; font-size: 4.2mm; font-weight: 800; letter-spacing: -.04em; }
.document-pdf-brand span { color: #2b67ff; }
.document-pdf-docname { color: #5a6883; font-size: 2.65mm; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.document-pdf-page-number { color: #2b67ff; font-weight: 800; }
.document-pdf-lead { max-width: 120mm; font-size: 4mm !important; line-height: 1.56 !important; }
.document-pdf-sheet > .document-pdf-lead { max-width: none; }
.document-pdf-rule { width: 17mm; height: 1.2mm; margin: 0 0 7mm; border-radius: 999px; background: #2b67ff; }
.document-pdf-grid { display: grid; gap: 4mm; }
.document-pdf-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.document-pdf-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.document-pdf-grid.four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.document-pdf-card {
  min-width: 0;
  padding: 5mm;
  border: .25mm solid rgba(20, 42, 85, .13);
  border-radius: 4mm;
  background: rgba(255, 255, 255, .92);
}
.document-pdf-card.is-blue { border-color: transparent; background: #2b67ff; color: #fff; }
.document-pdf-card.is-blue h3,
.document-pdf-card.is-blue strong,
.document-pdf-card.is-blue p { color: #fff; }
.document-pdf-card p:last-child,
.document-pdf-card ul:last-child,
.document-pdf-card dl:last-child { margin-bottom: 0; }
.document-pdf-metric-label { margin-bottom: 3mm; color: #5a6883; font-size: 2.45mm; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.document-pdf-metric-value { display: block; color: #101933; font-family: var(--font-ui, 'Sora', Arial, sans-serif); font-size: 8.2mm; font-weight: 800; letter-spacing: -.05em; line-height: 1; }
.document-pdf-card.is-blue .document-pdf-metric-label { color: rgba(255, 255, 255, .76); }
.document-pdf-split { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 10mm; }
.document-pdf-photo { position: relative; min-height: 96mm; overflow: hidden; border-radius: 6mm; background: #dbe5f8; }
.document-pdf-photo-image { position: absolute; inset: 0; background-position: center; background-repeat: no-repeat; background-size: cover; }
.document-pdf-photo.is-short { min-height: 62mm; }
/* Spécificité `.document-pdf-sheet .document-pdf-facts` volontaire : sinon le
   reset `.document-pdf-sheet ul { margin: 0 }` écrase la marge et les pastilles
   se collent au paragraphe du dessus. */
.document-pdf-sheet .document-pdf-facts { display: flex; flex-wrap: wrap; gap: 2.5mm; margin: 14mm 0 0; padding: 0; list-style: none; }
.document-pdf-facts li { padding: 2.5mm 3.5mm; border: .25mm solid rgba(20, 42, 85, .14); border-radius: 999px; background: rgba(255, 255, 255, .7); color: #101933; font-size: 2.85mm; font-weight: 750; }
.document-pdf-list { margin: 0; padding: 0; list-style: none; }
.document-pdf-list > li { padding: 3.2mm 0; border-bottom: .25mm solid rgba(20, 42, 85, .12); }
.document-pdf-list > li:last-child { border-bottom: 0; }
.document-pdf-list.compact > li { padding: 2.2mm 0; font-size: 2.9mm; }
.document-pdf-paired-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5mm; }
.document-pdf-paired-list article { padding: 4mm 5mm; border-top: .25mm solid rgba(20, 42, 85, .13); }
.document-pdf-paired-list article:last-child:nth-child(odd) { grid-column: 1 / -1; }
.document-pdf-paired-list article p { margin-bottom: 0; font-size: 3.05mm; }
.document-pdf-audience-card ol { margin: 0; padding: 0; list-style: none; }
.document-pdf-audience-card li { display: flex; justify-content: space-between; gap: 4mm; padding: 2mm 0; border-bottom: .25mm solid rgba(20, 42, 85, .1); font-size: 2.85mm; }
.document-pdf-audience-card li:last-child { border-bottom: 0; }
.document-pdf-audience-card li strong { white-space: nowrap; }
.document-pdf-story-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4mm; }
.document-pdf-story { display: grid; grid-template-columns: 31mm 1fr; gap: 4.5mm; min-height: 38mm; padding: 4mm; border: .25mm solid rgba(20, 42, 85, .12); border-radius: 4mm; background: #fff; }
/* Image en fond (div), pas <img> : html2canvas ignore object-fit et déformerait
   l'image, alors qu'il respecte background-size → ratio toujours correct. */
.document-pdf-story-image { width: 31mm; height: 31mm; border-radius: 3mm; background-position: center; background-repeat: no-repeat; background-size: cover; background-color: #eef2fb; }
.document-pdf-story h3 { font-size: 3.55mm; }
.document-pdf-story p { margin-bottom: 0; font-size: 2.65mm; line-height: 1.4; }
.document-pdf-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: 50mm; gap: 3mm; }
.document-pdf-gallery figure { overflow: hidden; border-radius: 4mm; background: #dbe5f8; }
.document-pdf-gallery-image { width: 100%; height: 100%; background-position: center; background-repeat: no-repeat; background-size: cover; }
.document-pdf-contact {
  position: absolute;
  right: 17mm;
  bottom: 20mm;
  left: 17mm;
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 8mm;
  padding: 8mm;
  border-radius: 6mm;
  background: #101933;
}
.document-pdf-contact h2,
.document-pdf-contact h3,
.document-pdf-contact p,
.document-pdf-contact li,
.document-pdf-contact strong { color: #fff; }
.document-pdf-contact ul { margin-bottom: 0; padding-left: 4mm; }
.document-pdf-contact-meta { align-self: end; }
.document-pdf-contact-meta p { margin: 0 0 2mm; font-size: 3mm; }
.document-pdf-cover { padding: 0; background: #101933; color: #fff; }
.document-pdf-cover .document-pdf-cover-photo { position: absolute; inset: 0; }
.document-pdf-cover .document-pdf-cover-photo::after { position: absolute; inset: 0; content: ''; background: linear-gradient(90deg, rgba(5, 13, 31, .88) 0%, rgba(5, 13, 31, .67) 48%, rgba(5, 13, 31, .2) 100%); }
.document-pdf-cover-photo-image { position: absolute; inset: 0; background-position: center; background-repeat: no-repeat; background-size: cover; }
.document-pdf-cover .document-pdf-cover-head { position: absolute; z-index: 2; top: 17mm; right: 17mm; left: 17mm; display: flex; justify-content: space-between; color: #fff; }
.document-pdf-cover .document-pdf-brand { color: #fff; font-size: 5mm; }
.document-pdf-cover .document-pdf-docname { color: rgba(255, 255, 255, .74); }
.document-pdf-cover-content { position: absolute; z-index: 2; right: 17mm; bottom: 28mm; left: 17mm; max-width: 150mm; }
.document-pdf-cover-content h1 { color: #fff; }
.document-pdf-cover-content .document-pdf-lead { color: rgba(255, 255, 255, .84); }
.document-pdf-cover-meta { display: flex; flex-wrap: wrap; gap: 3mm; margin-top: 8mm; }
.document-pdf-cover-meta span { padding: 2.5mm 4mm; border: .25mm solid rgba(255, 255, 255, .4); border-radius: 999px; color: #fff; font-size: 2.75mm; font-weight: 750; }
.document-pdf-empty { padding: 8mm; border: .25mm dashed rgba(20, 42, 85, .25); border-radius: 4mm; color: #5a6883; text-align: center; }
.document-pdf-metrics { margin-top: 9mm; }
.document-pdf-updated { margin-top: 5mm; font-size: 2.65mm !important; font-weight: 700; }
.document-pdf-secondary-title { max-width: none !important; margin-top: 10mm !important; font-size: 6mm !important; }
.document-pdf-social-strip {
  position: absolute;
  right: 17mm;
  bottom: 19mm;
  left: 17mm;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 3mm;
}
.document-pdf-social-strip .document-pdf-card { padding: 3.5mm; }
.document-pdf-social-strip .document-pdf-metric-value { font-size: 5.1mm; }
.document-pdf-social-summary { margin-top: 10mm; }
.document-pdf-social-summary > h3 { margin-bottom: 4mm; font-size: 5mm; }
.document-pdf-social-grid .document-pdf-card { padding: 4mm; }
.document-pdf-social-grid .document-pdf-metric-value { font-size: 5.15mm; white-space: nowrap; }
.document-pdf-social-grid .document-pdf-card p { font-size: 2.8mm; }
.document-pdf-selected-grid { margin-top: 8mm; }
.document-pdf-showcase-card { display: flex; min-height: 0; flex-direction: column; padding: 5mm; }
.document-pdf-showcase-media { position: relative; display: grid; width: 100%; overflow: hidden; place-items: center; border-radius: 3mm; background: #dbe5f8; color: #5a6883; font-size: 3mm; font-weight: 800; }
.document-pdf-showcase-card--reels .document-pdf-showcase-media { height: 82mm; }
.document-pdf-showcase-card--posts .document-pdf-showcase-media { height: 49mm; }
/* cover : l'aperçu remplit toute la case en gardant son ratio (jamais déformé) ;
   l'excédent éventuel est rogné plutôt que de laisser des bandes vides. */
.document-pdf-showcase-image { position: absolute; inset: 0; background-position: center; background-repeat: no-repeat; background-size: cover; }
.document-pdf-showcase-copy { min-height: 13mm; padding-top: 3.5mm; }
.document-pdf-showcase-copy h3 { margin-bottom: 1mm; }
.document-pdf-showcase-copy p { display: -webkit-box; overflow: hidden; margin-bottom: 0; -webkit-box-orient: vertical; -webkit-line-clamp: 2; font-size: 2.45mm; line-height: 1.35; }
.document-pdf-showcase-card .document-pdf-mini-metrics { margin-top: 5mm; }
.document-pdf-showcase-card .document-pdf-mini-metrics > div { padding: 2.3mm 0; }
.document-pdf-showcase-card .document-pdf-mini-metrics dt { font-size: 2.25mm; }
.document-pdf-showcase-card .document-pdf-mini-metrics dd { font-size: 2.9mm; }
.document-pdf-mini-metrics { margin: 4mm 0 0; }
.document-pdf-mini-metrics > div { display: flex; justify-content: space-between; gap: 3mm; padding: 2.5mm 0; border-top: .25mm solid rgba(20, 42, 85, .1); }
.document-pdf-mini-metrics dt { color: #5a6883; font-size: 2.45mm; font-weight: 700; }
.document-pdf-mini-metrics dd { margin: 0; color: #101933; font-family: var(--font-ui, 'Sora', Arial, sans-serif); font-size: 3.2mm; font-weight: 800; }
.document-pdf-audience-grid { margin-top: 8mm; }
.document-pdf-press-about { margin-top: 10mm; padding-top: 8mm; border-top: .25mm solid rgba(20, 42, 85, .14); }
.document-pdf-journey-grid { margin-top: 8mm; }
.document-pdf-journey-grid .document-pdf-card p { font-size: 2.85mm; }
.document-pdf-journey-grid .document-pdf-list { margin-top: 3mm; }
.document-pdf-journey-grid .document-pdf-list li { display: flex; flex-wrap: wrap; gap: 1.5mm; padding: 1.5mm 0; }
.document-pdf-journey-grid .document-pdf-list small { flex-basis: 100%; padding-left: 6mm; color: #5a6883; }
.document-pdf-readers-grid { margin-top: 5mm; }
.document-pdf-readers-grid .document-pdf-card { padding: 4.2mm; }
.document-pdf-readers-grid .document-pdf-card p { font-size: 2.75mm; line-height: 1.45; }
.document-pdf-destination-list li { display: grid; grid-template-columns: 5mm 1fr; column-gap: 2mm; }
.document-pdf-destination-list li small { grid-column: 2; color: #5a6883; }
.document-pdf-journey-summary { max-width: 150mm; margin-top: 7mm; padding: 6mm; border-radius: 4mm; background: #e9effc; color: #101933; font-size: 3.3mm; font-weight: 750; line-height: 1.5; }
.document-pdf-journey-summary { display: flex; align-items: center; gap: 6mm; }
.document-pdf-journey-summary strong { font-family: var(--font-ui, 'Sora', Arial, sans-serif); font-size: 6.5mm; }
.document-pdf-journey-summary p { margin: 0; }
