/* Shared only by /vizitki/ and /nakleyki/; existing shell and calculators stay intact. */
.service-intro.online-print-intro h1 {
  font-size: clamp(34px, 4.3vw, 64px);
  line-height: 1.15;
  text-wrap: balance;
}
.product-intro .online-print-intro-note {
  font-size: 14px;
  line-height: 1.5;
  margin: 20px 0 0;
}
.online-print-uses { margin: 0; }
.online-print-uses > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 24px; padding: 24px 0; border-top: 1px solid var(--rule); }
.online-print-uses dt { font-weight: 600; font-size: 20px; }
.online-print-uses dd { margin: 0; max-width: 70ch; line-height: 1.65; color: var(--gray); }
.online-print-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; padding-left: 24px; margin: 0 0 32px; }
.online-print-steps li { padding-left: 8px; }
.online-print-details h3 { margin: 0 0 12px; font-size: 20px; line-height: 1.4; }
.online-print-details p { margin: 0 0 16px; line-height: 1.65; color: var(--gray); }
.online-print-details a:not(.text-link) { text-decoration: underline; text-underline-offset: 4px; }
.online-print-order-note { max-width: 75ch; }
.online-print-receiving { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px; border-top: 1px solid var(--rule); margin-top: 32px; padding-top: 32px; }
@media (max-width: 850px) {
  /* Production typography binds short words with NBSP; keep the heading's bound phrase inside the phone width. */
  .online-print-details .section-heading h2 { font-size: clamp(26px, 7vw, 36px); line-height: 1.25; min-width: 0; }
  .online-print-uses > div, .online-print-receiving { grid-template-columns: 1fr; gap: 16px; }
  .online-print-receiving { gap: 32px; }
  .online-print-steps { grid-template-columns: 1fr; gap: 24px; }
}
