/* VertoPDF v104: mobile, accessibility and rendering quality layer.
   Loaded only on non-home pages so the approved homepage remains unchanged. */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { overflow-x: hidden; }
button, input, select, textarea { max-width: 100%; }
:focus-visible { outline: 3px solid rgba(31,122,62,.35); outline-offset: 2px; }
button:disabled, [aria-disabled="true"] { cursor: not-allowed; }
img, svg, canvas, video { max-width: 100%; }

/* Prevent long filenames, URLs and tool labels from creating horizontal scroll. */
.file-item-name, .tool-name, .tool-desc, .breadcrumb, .option-label,
.workspace-file-name, .history-file-name { overflow-wrap: anywhere; }

/* Comfortable touch targets on phones without changing desktop density. */
@media (max-width: 700px) {
  button, .btn, .btn-convert, .btn-download, select, input[type="text"],
  input[type="email"], input[type="password"], input[type="search"],
  input[type="tel"], input[type="number"] { min-height: 42px; }
  .navbar { padding-left: max(12px, env(safe-area-inset-left)); padding-right: max(12px, env(safe-area-inset-right)); }
  .tool-page, .tool-layout, .tools-section { padding-left: max(12px, env(safe-area-inset-left)); padding-right: max(12px, env(safe-area-inset-right)); }
  .toast { left: 12px; right: 12px; bottom: max(12px, env(safe-area-inset-bottom)); text-align: center; }
  .ad-leaderboard { height: auto; min-height: 50px; }
}

@media (max-width: 480px) {
  .file-item { align-items: flex-start; }
  .file-item-status { margin-left: auto; text-align: right; }
  .upload-zone input[type=file] { min-height: 0; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

@media print {
  .navbar, .ad-banner, .toast, .pwa-banner, .convert-actions, footer { display: none !important; }
  body { background: #fff; }
}

/* Accessible visually-hidden text. */
.sr-only { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
