:root {
  color-scheme: light;
  --print-ink: #172019;
  --print-muted: #687269;
  --print-green: #2f7448;
  --print-lime: #bfff28;
  --print-yellow: #fff3c5;
  --print-mist: #f1f6ed;
  --print-line: #dce5d8;
  --print-sheet-width: 297mm;
  --print-sheet-height: 210mm;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-synthesis: none;
  print-color-adjust: exact;
  -webkit-print-color-adjust: exact;
  /*
   * Sur mobile, la feuille garde sa largeur A4 réelle puis elle est réduite
   * par zoom. Safari iOS juge alors ce bloc plus large que l'écran et agrandit
   * le texte de lui-même, carte par carte : les étapes débordent et sont
   * coupées, à l'écran comme dans le PDF capturé. La fiche est composée au
   * millimètre, son texte ne doit jamais être redimensionné par le navigateur.
   */
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; }
body { color: var(--print-ink); background: #e9eee7; }
img { display: block; max-width: 100%; }

.print-toolbar {
  position: sticky;
  z-index: 10;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 68px;
  padding: 9px max(20px, calc((100vw - 297mm) / 2));
  color: #fff;
  background: rgba(23, 32, 25, .96);
  box-shadow: 0 8px 32px rgba(16, 35, 22, .16);
}
.print-toolbar a { color: inherit; font-weight: 800; text-decoration: none; }
.print-toolbar div { display: flex; align-items: center; gap: 16px; }
.print-toolbar span { color: #cbd6cd; font-size: 13px; font-weight: 700; }
.print-toolbar-note { margin: 0; color: #cbd6cd; font-size: 12px; line-height: 1.3; }
.print-toolbar-error { max-width: 360px; margin: 0; color: #ffd6d6; font-size: 12px; font-weight: 750; line-height: 1.3; }
.print-toolbar button {
  min-height: 48px;
  padding: 0 24px;
  border: 0;
  border-radius: 999px;
  color: #101810;
  background: var(--print-lime);
  font: inherit;
  font-weight: 900;
  cursor: pointer;
}
.print-toolbar button:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.print-toolbar button:disabled { cursor: not-allowed; opacity: .45; }
.print-toolbar .print-toolbar-secondary {
  border: 1px solid rgba(255, 255, 255, .55);
  color: #fff;
  background: transparent;
}
.print-toolbar .print-toolbar-secondary:hover:not(:disabled) { background: rgba(255, 255, 255, .12); }

.print-document { padding: 12mm 0 20mm; }
.print-page {
  width: var(--print-sheet-width);
  height: var(--print-sheet-height);
  margin: 0 auto 12mm;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 16px 55px rgba(21, 45, 29, .14);
}

.print-brand { display: flex; align-items: center; gap: 3mm; }
.print-brand > svg { display: block; width: 9mm; height: 9mm; flex: 0 0 9mm; }
.print-brand span, .print-brand strong, .print-brand small { display: block; }
.print-brand strong { font-size: 11pt; letter-spacing: -.02em; }
.print-brand small { margin-top: .4mm; color: var(--print-muted); font-size: 7.5pt; font-weight: 700; }
.print-kicker {
  margin: 0 0 2.4mm;
  color: var(--print-green);
  font-size: 8pt;
  font-weight: 900;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.print-cover { position: relative; display: grid; grid-template-columns: 52% 48%; }
.print-cover-photo { height: 100%; overflow: hidden; background: var(--print-mist); }
.print-cover-photo img { width: 100%; height: 100%; object-fit: cover; }
.print-cover-copy {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
  padding: 12mm 13mm 10mm;
  background: linear-gradient(155deg, #fff 0 62%, #fbffe9 100%);
}
.print-cover-copy::before {
  position: absolute;
  top: 0;
  right: 0;
  width: 38mm;
  height: 10mm;
  content: "";
  background: var(--print-yellow);
}
.print-badges { display: flex; flex-wrap: wrap; gap: 2mm; margin: 12mm 0 8mm; }
.print-badges span {
  padding: 2mm 3.2mm;
  border-radius: 999px;
  color: #284535;
  background: var(--print-mist);
  font-size: 7.5pt;
  font-weight: 850;
}
.print-cover h1 {
  max-width: 118mm;
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 27pt;
  font-weight: 700;
  line-height: .98;
  letter-spacing: -.035em;
}
.print-description {
  max-width: 112mm;
  margin: 5mm 0 0;
  color: #4d584f;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 10pt;
  font-style: italic;
  line-height: 1.38;
}
.print-nutrition {
  margin-top: 5mm;
  padding: 3.2mm 3.5mm;
  border-radius: 3mm;
  background: var(--print-mist);
}
/* Crédit de la recette posé en légende sur la photo du plat : il reste
   visible sans réduire la place du texte, quelle que soit la description. */
.print-source {
  position: absolute;
  z-index: 1;
  bottom: 7mm;
  left: 7mm;
  display: flex;
  align-items: center;
  gap: 2.6mm;
  max-width: calc(52% - 14mm);
  margin: 0;
  padding: 2.6mm 3.6mm;
  border-radius: 3mm;
  color: #3e4a41;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 2mm 6mm rgba(16, 35, 22, .18);
  font-size: 7.6pt;
  font-weight: 600;
  line-height: 1.35;
}
.print-source strong { color: var(--print-ink); font-weight: 850; }
.print-source small { display: block; margin-top: .4mm; color: var(--print-muted); font-size: 6.6pt; font-weight: 650; }
.print-source img {
  flex: none;
  width: 9mm;
  height: 9mm;
  border-radius: 50%;
  object-fit: cover;
}
.print-nutrition header { display: flex; align-items: baseline; justify-content: space-between; gap: 4mm; }
.print-nutrition header strong { font-size: 8pt; }
.print-nutrition header span { color: var(--print-muted); font-size: 6.5pt; font-weight: 750; }
.print-nutrition dl { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 2.2mm 0 0; }
.print-nutrition dl div { min-width: 0; padding-right: 2mm; }
.print-nutrition dl div + div { padding-left: 2mm; border-left: .25mm solid var(--print-line); }
.print-nutrition dt { color: var(--print-muted); font-size: 6pt; font-weight: 800; }
.print-nutrition dd { margin: .7mm 0 0; font-family: Georgia, "Times New Roman", serif; font-size: 8.2pt; font-weight: 700; line-height: 1.08; }
.print-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin: auto 0 0;
  border-top: .4mm solid var(--print-ink);
  border-bottom: .4mm solid var(--print-ink);
}
.print-metric { padding: 4mm 3mm; }
.print-metric:nth-child(even) { border-left: .3mm solid var(--print-line); }
.print-metric:nth-child(n+3) { border-top: .3mm solid var(--print-line); }
.print-metric dt { color: var(--print-muted); font-size: 7pt; font-weight: 850; text-transform: uppercase; }
.print-metric dd { margin: 1.2mm 0 0; font-family: Georgia, "Times New Roman", serif; font-size: 14pt; font-weight: 700; }
.print-cover-note {
  display: flex;
  justify-content: space-between;
  gap: 6mm;
  margin-top: 5mm;
  padding: 3.5mm 4mm;
  border-radius: 3mm;
  background: var(--print-yellow);
  font-size: 8pt;
}
.print-cover-qr {
  display: grid;
  grid-template-columns: 18mm minmax(0, 1fr);
  gap: 4mm;
  align-items: center;
  margin-top: 4mm;
  color: var(--print-ink);
  text-decoration: none;
}
.print-qr-code, .print-qr-code svg { display: block; width: 18mm; height: 18mm; }
.print-cover-qr > span:last-child, .print-cover-qr strong, .print-cover-qr small, .print-cover-qr em { display: block; }
.print-cover-qr strong { font-size: 8pt; }
.print-cover-qr small { margin-top: .8mm; color: var(--print-muted); font-size: 6.4pt; font-weight: 650; line-height: 1.25; }
.print-cover-qr em { margin-top: 1.2mm; color: var(--print-green); font-size: 6.4pt; font-style: normal; font-weight: 900; letter-spacing: .06em; }

.print-steps-page { display: grid; grid-template-columns: 25% 75%; }
.print-sidebar {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  max-height: 100%;
  height: 100%;
  padding: 9mm 7mm 8mm 9mm;
  overflow: hidden;
  background: #fbfcf7;
  border-right: .35mm solid var(--print-line);
}
.print-sidebar .print-kicker { margin-top: 4mm; }
.print-sidebar h1 {
  margin: 0 0 3mm;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 16pt;
  line-height: 1.03;
  letter-spacing: -.025em;
}
.print-ingredients-list { margin: 0; padding: 0; list-style: none; }
.print-ingredients-list li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2mm;
  padding: 1.05mm 0;
  border-bottom: .24mm solid var(--print-line);
  break-inside: avoid;
  font-size: 6.9pt;
  line-height: 1.16;
}
.print-ingredients-list span { min-width: 0; font-weight: 760; }
.print-ingredients-list strong { max-width: 23mm; color: var(--print-muted); font-weight: 650; text-align: right; }
.print-sidebar-facts {
  display: flex;
  justify-content: space-between;
  gap: 3mm;
  margin-top: auto;
  flex: 0 0 auto;
  padding: 3mm;
  border-radius: 2.5mm;
  background: var(--print-yellow);
  font-size: 7.3pt;
}

.print-steps-content {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  max-height: 100%;
  height: 100%;
  overflow: hidden;
  padding: 8mm 9mm 8mm 8mm;
}
.print-steps-header { display: flex; align-items: end; justify-content: space-between; min-height: 17mm; margin-bottom: 4mm; }
.print-steps-header h1 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: 20pt; line-height: 1; }
.print-steps-header > p { margin: 0 0 1mm; color: var(--print-green); font-size: 8pt; font-weight: 900; }
.print-step-grid {
  display: grid;
  flex: 1;
  min-height: 0;
  gap: 4mm;
}
.print-step-grid-1 { grid-template-columns: 1fr; }
.print-step-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.print-step-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.print-step-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(0, 1fr)); }
.print-step-grid-5, .print-step-grid-6 { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(0, 1fr)); }
.print-step-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  border: .3mm solid var(--print-line);
  border-radius: 3.5mm;
  background: #fff;
  break-inside: avoid-page;
  page-break-inside: avoid;
}
.print-step-card > img {
  width: 100%;
  height: 35mm;
  flex: 0 0 35mm;
  object-fit: cover;
  object-position: center;
  background: var(--print-mist);
}
.print-step-grid-1 .print-step-card > img,
.print-step-grid-2 .print-step-card > img,
.print-step-grid-3 .print-step-card > img { height: 70mm; flex-basis: 70mm; }
.print-density-6 .print-step-card > img { height: 58mm; flex-basis: 58mm; }
.print-step-grid-4.print-density-6 .print-step-card > img,
.print-step-grid-5.print-density-6 .print-step-card > img,
.print-step-grid-6.print-density-6 .print-step-card > img,
.print-step-grid-4 .print-step-card > img,
.print-step-grid-5 .print-step-card > img,
.print-step-grid-6 .print-step-card > img { height: 30mm; flex-basis: 30mm; }
.print-step-copy { min-height: 0; padding: 3.2mm 3.5mm 3.5mm; }
.print-step-copy header { display: flex; align-items: flex-start; gap: 2.5mm; }
.print-step-copy header > span {
  display: grid;
  width: 7mm;
  height: 7mm;
  flex: 0 0 7mm;
  place-items: center;
  border-radius: 2mm;
  color: #17341f;
  background: var(--print-lime);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 10pt;
  font-weight: 700;
}
.print-step-copy header div { min-width: 0; }
.print-step-copy small { display: block; margin-bottom: .5mm; color: var(--print-green); font-size: 6.6pt; font-weight: 900; }
.print-step-copy h2 { margin: 0; font-size: 9.4pt; line-height: 1.08; }
.print-step-copy > p { margin: 2mm 0 0; color: #465148; font-size: 7.5pt; line-height: 1.28; }
.print-step-copy aside {
  display: grid;
  gap: .7mm;
  margin-top: 2mm;
  padding: 2mm 2.4mm;
  border-radius: 2mm;
  background: var(--print-mist);
  color: #465148;
  font-size: 6.8pt;
  line-height: 1.22;
}
.print-step-copy aside strong { color: var(--print-green); }
.print-step-advice { padding: 2mm 2.4mm; border-radius: 2mm; background: var(--print-yellow); }
.print-step-grid-4 .print-step-density-3 .print-step-copy,
.print-step-grid-5 .print-step-density-3 .print-step-copy,
.print-step-grid-6 .print-step-density-3 .print-step-copy { padding: 2.2mm 2.5mm; }
.print-step-grid-4 .print-step-density-3 .print-step-copy > p,
.print-step-grid-5 .print-step-density-3 .print-step-copy > p,
.print-step-grid-6 .print-step-density-3 .print-step-copy > p { margin-top: 1.2mm; font-size: 6pt; line-height: 1.12; }
.print-step-grid-4 .print-step-density-3 .print-step-copy aside,
.print-step-grid-5 .print-step-density-3 .print-step-copy aside,
.print-step-grid-6 .print-step-density-3 .print-step-copy aside { margin-top: 1mm; padding: 1.2mm 1.5mm; font-size: 5.5pt; line-height: 1.08; }
.print-step-grid-4 .print-step-density-6 .print-step-copy,
.print-step-grid-5 .print-step-density-6 .print-step-copy,
.print-step-grid-6 .print-step-density-6 .print-step-copy { padding: 1.4mm 1.7mm; }
.print-step-grid-4 .print-step-density-6 .print-step-copy header > span,
.print-step-grid-5 .print-step-density-6 .print-step-copy header > span,
.print-step-grid-6 .print-step-density-6 .print-step-copy header > span { width: 5.5mm; height: 5.5mm; flex-basis: 5.5mm; font-size: 8pt; }
.print-step-grid-4 .print-step-density-6 .print-step-copy h2,
.print-step-grid-5 .print-step-density-6 .print-step-copy h2,
.print-step-grid-6 .print-step-density-6 .print-step-copy h2 { font-size: 6.8pt; line-height: 1.02; }
.print-step-grid-4 .print-step-density-6 .print-step-copy small,
.print-step-grid-5 .print-step-density-6 .print-step-copy small,
.print-step-grid-6 .print-step-density-6 .print-step-copy small { margin-bottom: .2mm; font-size: 4.8pt; }
.print-step-grid-4 .print-step-density-6 .print-step-copy > p,
.print-step-grid-5 .print-step-density-6 .print-step-copy > p,
.print-step-grid-6 .print-step-density-6 .print-step-copy > p { margin-top: .7mm; font-size: 4.7pt; line-height: 1.06; }
.print-step-grid-4 .print-step-density-6 .print-step-copy aside,
.print-step-grid-5 .print-step-density-6 .print-step-copy aside,
.print-step-grid-6 .print-step-density-6 .print-step-copy aside { gap: .2mm; margin-top: .6mm; padding: .7mm 1mm; font-size: 4.5pt; line-height: 1.04; }
.print-step-grid-4 .print-step-density-6 .print-step-advice,
.print-step-grid-5 .print-step-density-6 .print-step-advice,
.print-step-grid-6 .print-step-density-6 .print-step-advice { padding: .7mm 1mm; }

/*
 * iOS/WebKit réserve une zone pour l'en-tête et le pied d'impression, même
 * quand une page demande une impression sans marge. Une feuille de 297 ×
 * 210 mm est alors fragmentée en deux. Le document reste A4 paysage, mais le
 * gabarit éditorial tient dans une zone sûre de 270 × 160 mm. Les marges
 * verticales plus larges gardent également les annotations imposées par les
 * navigateurs hors de la fiche elle-même.
 */
@page { size: A4 landscape; margin: 25mm 13mm; }
@media print {
  html, body { width: auto; min-height: 0; background: #fff; }
  .print-toolbar { display: none !important; }
  .print-document { padding: 0; }
  .print-page {
    zoom: 1 !important;
    width: 270mm;
    height: 160mm;
    min-height: 160mm;
    max-height: 160mm;
    margin: 0 auto;
    overflow: hidden;
    box-shadow: none;
    break-inside: avoid-page;
    break-after: page;
    page-break-inside: avoid;
    page-break-after: always;
  }
  .print-page:last-child { break-after: auto; page-break-after: auto; }
  .print-cover-copy { padding: 6mm 9mm 5mm; }
  .print-cover-copy::before { width: 32mm; height: 8mm; }
  .print-badges { margin: 4mm 0 3mm; }
  .print-cover h1 { font-size: 23pt; }
  .print-description { margin-top: 2mm; font-size: 8.5pt; line-height: 1.25; }
  .print-source { bottom: 5mm; left: 5mm; max-width: calc(52% - 10mm); padding: 2mm 3mm; font-size: 7pt; line-height: 1.25; }
  .print-source img { width: 7.5mm; height: 7.5mm; }
  .print-nutrition { margin-top: 2mm; padding: 2mm 2.5mm; }
  .print-metric { padding: 2.5mm; }
  .print-cover-note { margin-top: 2mm; padding: 2mm 2.5mm; }
  .print-cover-qr { grid-template-columns: 15mm minmax(0, 1fr); gap: 2.5mm; margin-top: 2mm; }
  .print-qr-code, .print-qr-code svg { width: 15mm; height: 15mm; }
  .print-sidebar { padding: 4mm 6mm 4mm 7mm; }
  .print-sidebar .print-kicker { margin-top: 3mm; }
  .print-sidebar h1 { font-size: 13pt; }
  .print-ingredients-list li { padding-block: .5mm; font-size: 6pt; }
  .print-steps-content { padding: 6mm 7mm 6mm 7mm; }
  .print-steps-header { min-height: 14mm; margin-bottom: 3mm; }
  .print-steps-header h1 { font-size: 18pt; }
  .print-step-grid-1 .print-step-card > img { height: 35mm; flex-basis: 35mm; }
  .print-step-grid-2 .print-step-card > img { height: 35mm; flex-basis: 35mm; }
  .print-step-grid-3 .print-step-card > img { height: 25mm; flex-basis: 25mm; }
  .print-step-grid-4 .print-step-card > img,
  .print-step-grid-5 .print-step-card > img,
  .print-step-grid-6 .print-step-card > img { height: 15mm; flex-basis: 15mm; }
  .print-step-grid-4.print-density-2 .print-step-card > img,
  .print-step-grid-4.print-density-3 .print-step-card > img,
  .print-step-grid-4.print-density-6 .print-step-card > img,
  .print-step-grid-5.print-density-2 .print-step-card > img,
  .print-step-grid-5.print-density-3 .print-step-card > img,
  .print-step-grid-5.print-density-6 .print-step-card > img,
  .print-step-grid-6.print-density-2 .print-step-card > img,
  .print-step-grid-6.print-density-3 .print-step-card > img,
  .print-step-grid-6.print-density-6 .print-step-card > img { height: 15mm; flex-basis: 15mm; }
  .print-step-grid-1 .print-step-copy,
  .print-step-grid-2 .print-step-copy,
  .print-step-grid-3 .print-step-copy,
  .print-step-grid-4 .print-step-copy,
  .print-step-grid-5 .print-step-copy,
  .print-step-grid-6 .print-step-copy { padding: 2.3mm 2.8mm 2.5mm; }
  .print-step-grid-1 .print-step-copy > p,
  .print-step-grid-2 .print-step-copy > p,
  .print-step-grid-3 .print-step-copy > p,
  .print-step-grid-4 .print-step-copy > p,
  .print-step-grid-5 .print-step-copy > p,
  .print-step-grid-6 .print-step-copy > p { margin-top: 1.4mm; font-size: 6.9pt; line-height: 1.2; }
  .print-step-grid-1 .print-step-copy aside,
  .print-step-grid-2 .print-step-copy aside,
  .print-step-grid-3 .print-step-copy aside,
  .print-step-grid-4 .print-step-copy aside,
  .print-step-grid-5 .print-step-copy aside,
  .print-step-grid-6 .print-step-copy aside { gap: .5mm; margin-top: 1.3mm; padding: 1.5mm 2mm; font-size: 6.4pt; line-height: 1.16; }
  .print-step-grid-4 .print-step-copy,
  .print-step-grid-5 .print-step-copy,
  .print-step-grid-6 .print-step-copy { padding: 2mm 2.4mm 2.2mm; }
  .print-step-grid-4 .print-step-copy > p,
  .print-step-grid-5 .print-step-copy > p,
  .print-step-grid-6 .print-step-copy > p { margin-top: 1.1mm; font-size: 6.5pt; line-height: 1.16; }
  .print-step-grid-4 .print-step-copy aside,
  .print-step-grid-5 .print-step-copy aside,
  .print-step-grid-6 .print-step-copy aside { margin-top: 1mm; padding: 1.2mm 1.7mm; font-size: 6pt; line-height: 1.12; }
  .print-step-grid-4 .print-step-advice,
  .print-step-grid-5 .print-step-advice,
  .print-step-grid-6 .print-step-advice { padding: 1.2mm 1.7mm; }
  .print-step-grid-4 .print-step-density-3 .print-step-copy > p,
  .print-step-grid-5 .print-step-density-3 .print-step-copy > p,
  .print-step-grid-6 .print-step-density-3 .print-step-copy > p { font-size: 5.5pt; line-height: 1.08; }
  .print-step-grid-4 .print-step-density-3 .print-step-copy aside,
  .print-step-grid-5 .print-step-density-3 .print-step-copy aside,
  .print-step-grid-6 .print-step-density-3 .print-step-copy aside { font-size: 5.1pt; line-height: 1.05; }
}

/* L'export doit toujours capturer la feuille A4 à sa taille native. */
.pdf-exporting .print-page { zoom: 1 !important; }

/*
 * Le bouton principal produit désormais un vrai PDF et ne passe plus par
 * l'impression Safari. Ce dernier filet de sécurité conserve néanmoins deux
 * feuilles lorsque quelqu'un lance manuellement l'impression du navigateur.
 */
@supports (-webkit-touch-callout: none) {
  @media print {
    .print-page {
      position: relative;
      display: block;
      height: 140mm;
      min-height: 140mm;
      max-height: 140mm;
    }
    .print-cover-photo {
      position: absolute;
      inset: 0 auto 0 0;
      width: 52%;
      height: auto;
    }
    .print-cover-copy {
      position: absolute;
      inset: 0 0 0 auto;
      width: 48%;
      height: auto;
      min-height: 0;
      max-height: none;
      overflow: hidden;
    }
    .print-sidebar {
      position: absolute;
      inset: 0 auto 0 0;
      width: 25%;
      height: auto;
      min-height: 0;
      max-height: none;
    }
    .print-steps-content {
      position: absolute;
      inset: 0 0 0 25%;
      width: auto;
      height: auto;
      min-height: 0;
      max-height: none;
    }
  }
}

@media screen and (max-width: 900px) {
  body { overflow-x: hidden; }
  .print-toolbar { flex-wrap: wrap; align-items: center; gap: 8px 12px; padding: 10px 14px; }
  .print-toolbar div { width: 100%; gap: 8px; }
  .print-toolbar div button { flex: 1 1 0; padding-inline: 12px; font-size: 14px; white-space: nowrap; }
  .print-toolbar span, .print-toolbar-note { display: none; }
  .print-toolbar button { min-height: 44px; padding-inline: 16px; }
  .print-document {
    display: flex;
    width: 100%;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    padding: 14px;
    overflow-x: hidden;
  }
  .print-page {
    flex: 0 0 auto;
    margin: 0;
    transform-origin: top center;
    zoom: var(--print-preview-scale, .35);
  }
}
