/* Only the product-images service and its dedicated confirmations load this file.
   Keep the existing service typography and design; contain long localized text. */
.hero-content, .hero-visual { min-width: 0; }
.service-hero h1, .service-section h1, .service-section h2 { overflow-wrap: anywhere; }
.hero-actions .button { max-width: 100%; text-align: center; }
.price-box { flex-wrap: wrap; }
.price-box strong, .price-box span { white-space: nowrap; }
@media (max-width: 1050px) {
  .hero-layout { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 720px) {
  .header-inner { flex-direction: column; align-items: flex-start; }
  .header-tools { width: 100%; flex-wrap: wrap; }
}

/* Empty frames reuse the preview image dimensions and surface from style.css. */
.preview-placeholder { display: block; width: 100%; height: 270px; border-radius: 18px; border: 1px solid #dce1e8; background: #eef2f6; }
.preview-card:has(.preview-placeholder) { cursor: default; }
.service-section.dark .preview-card h3 { color: var(--ink); }
.service-section.dark .preview-card p { color: var(--muted); }
@media (max-width: 720px) { .preview-placeholder { height: 230px; } }

/* Seven-card sheets retain their own proportions at every viewport width. */
#result-preview .preview-card picture { display: block; }
#result-preview .preview-card img {
  width: 100%;
  height: auto;
  aspect-ratio: 1064 / 540;
  object-fit: contain;
  object-position: center;
  background: #10231a;
}
/* Match the page's regular section spacing before the price introduction. */
#result-preview .preview-grid + .section-head { margin-top: 88px; }
@media (max-width: 720px) {
  #result-preview .preview-grid + .section-head { margin-top: 72px; }
}
