.pm-catalog { margin: 15px 0 25px; border: 1px solid #ddd; background: #fff; }
.pm-catalog-viewer { position: relative; overflow: auto; background: #888; padding: 10px; min-height: 520px; text-align: center; }
.pm-catalog-viewer canvas { display: none; margin: 0 auto; background: #fff; box-shadow: 0 2px 10px rgba(0,0,0,.4); max-width: none; }
.pm-catalog-viewer canvas.loaded { display: block; }
.pm-catalog-loading { position: absolute; top: 50%; left: 0; right: 0; transform: translateY(-50%); color: #fff; }
.pm-catalog-controls { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px; padding: 8px 10px; background: #f3f3f3; border-top: 1px solid #ddd; }
.pm-catalog-controls button, .pm-catalog-controls a { background: #6881a7; color: #fff; border: 0; border-radius: 4px; padding: 6px 12px; cursor: pointer; font-size: 14px; text-decoration: none; line-height: 1.2; }
.pm-catalog-controls button:hover:not(:disabled), .pm-catalog-controls a:hover { background: #4d6486; color: #fff; }
.pm-catalog-controls button:disabled { opacity: .4; cursor: not-allowed; }
.pm-catalog-controls span { font-weight: 600; min-width: 48px; display: inline-block; text-align: center; }
.pm-catalog:fullscreen { display: flex; flex-direction: column; background: #fff; }
.pm-catalog:fullscreen .pm-catalog-viewer { flex: 1; height: auto; }
