/* Loaded directly: preserve the original download templates' sizing, outside business-page PostCSS. */
html, body { margin: 0; }
.download-page--ios { overflow-x: clip; }
/* Normal templates scroll with the document; fixed overlays stay anchored to the viewport. */
.download-page--normal > #app,
.download-page--normal_18 > #app {
  position: relative;
  left: auto;
  height: auto;
  min-height: 100vh;
  transform: none;
  -webkit-transform: none;
  overflow: visible;
}
.download-page--normal .van-popup--bottom,
.download-page--normal_18 .van-popup--bottom {
  right: 0;
  max-width: 450px;
  margin: 0 auto;
}
.download-page .pic_expand .swiper-slide img { max-height: calc(100vh - 96px); object-fit: contain; }
.download-status { box-sizing: border-box; min-height: 100vh; min-height: 100svh; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 24px; padding: 40px 24px; background: #fff; color: #6b7280; font: 16px/1.6 system-ui, sans-serif; text-align: center; overflow-wrap: anywhere; }
.download-status::before { content: ""; flex-shrink: 0; width: 64px; height: 64px; border-radius: 50%; background: #f3f4f6 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v6m0 4h.01'/%3E%3C/svg%3E") center no-repeat; }
.download-status button { box-sizing: border-box; min-width: 160px; min-height: 48px; margin: 4px 0 0; padding: 12px 28px; border: 1px solid #374151; border-radius: 12px; background: #374151; color: #fff; font: 600 15px/1.5 system-ui, sans-serif; cursor: pointer; transition: background .15s ease; }
@media (hover: hover) { .download-status button:hover { background: #1f2937; } }
.download-status button:active { background: #111827; }
.download-status button:focus-visible { outline: 3px solid #9ca3af; outline-offset: 4px; }
.download-loading { position: fixed; inset: 0; z-index: 10000; display: flex; align-items: center; justify-content: center; margin: 0; padding: 0; background: #fff; }
.download-loading::after { content: ""; box-sizing: border-box; width: 40px; height: 40px; border: 3px solid #e5e7eb; border-top-color: #6b7280; border-radius: 50%; animation: download-page-loading .8s linear infinite; }
@keyframes download-page-loading { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .download-loading::after { animation: none; } }
.download-config-notice { position: fixed; right: 12px; bottom: 12px; z-index: 10000; max-width: calc(100vw - 48px); padding: 10px 12px; border-radius: 8px; background: #222; color: white; font: 13px/1.5 sans-serif; pointer-events: none; }
.download-image-desktop .footer { max-width: 750px; left: 50%; transform: translateX(-50%); }
.download-image-desktop .wrap { position: relative; }
@media (min-width: 750px) { html.download-image-desktop { font-size: 80px; } }
