/* Dedicated reader. Button typography, colours and corners come from the active theme. */
html.insouto-catalog-document,
html.insouto-catalog-document body.insouto-catalog-reader {
    width: 100%; height: 100%; min-width: 0; margin: 0; padding: 0; overflow: hidden;
}
.insouto-catalog-viewer { position: fixed; inset: 0; width: 100%; height: 100%; height: 100dvh; margin: 0; padding: 0; }
.insouto-pdf-scroll { position: absolute; inset: 0; overflow: auto; overscroll-behavior: contain; background: #525659; -webkit-overflow-scrolling: touch; }
.insouto-pdf-scroll .pdfViewer { padding: 64px 0 80px; padding-top: max(64px, calc(env(safe-area-inset-top) + 52px)); padding-bottom: max(80px, calc(env(safe-area-inset-bottom) + 68px)); }
.insouto-pdf-scroll .pdfViewer .page { box-sizing: content-box; text-align: initial; }
.insouto-reader-status { position: absolute; z-index: 3; top: 50%; left: 50%; transform: translate(-50%, -50%); width: min(90%, 440px); padding: 20px; border-radius: 3px; background: #fff; color: #333; text-align: center; line-height: 1.5; }
.insouto-reader-status p { margin: 0 0 10px; }
.insouto-reader-status[hidden], .insouto-reader-retry[hidden] { display: none; }
.insouto-catalog-brand {
    position: absolute; z-index: 2;
    top: 12px; top: max(12px, env(safe-area-inset-top));
    left: 12px; left: max(12px, env(safe-area-inset-left));
    padding: 6px 10px; background: #25292d; border-radius: 3px;
}
.insouto-catalog-brand a { display: flex; align-items: center; width: auto; height: 28px; max-width: 112px; }
.insouto-catalog-brand img, .insouto-catalog-brand svg {
    display: block; width: auto; height: auto; max-width: 112px; max-height: 28px; object-fit: contain;
}
.insouto-catalog-floating-actions {
    position: absolute; z-index: 2; display: flex; justify-content: center; gap: 8px;
    left: 12px; left: max(12px, env(safe-area-inset-left));
    right: 12px; right: max(12px, env(safe-area-inset-right));
    bottom: 12px; bottom: max(12px, env(safe-area-inset-bottom));
    pointer-events: none;
}
.insouto-catalog-floating-actions .insouto-catalog-button {
    pointer-events: auto; display: inline-flex; align-items: center; justify-content: center; gap: 6px;
    min-width: 0; min-height: 45px; height: auto; padding: 10px 16px; line-height: 1.4; text-align: center;
    /* Emporium animates all properties. Do not animate hit areas when rotating a phone. */
    transition-property: background-color, color, border-color, box-shadow;
}
.insouto-catalog-button svg { width: 18px; height: 18px; flex: 0 0 18px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.insouto-catalog-zoom { position: absolute; z-index: 2; display: flex; gap: 2px; top: max(12px, env(safe-area-inset-top)); right: max(12px, env(safe-area-inset-right)); }
.insouto-catalog-zoom .button-1 { min-width: 44px; width: 44px; height: 44px; padding: 0; display: flex; align-items: center; justify-content: center; font-size: 24px; line-height: 1; transition-property: background-color, color; }
.insouto-catalog-zoom .insouto-zoom-value { width: 58px; font-size: 12px; }
.insouto-catalog-zoom button:disabled { opacity: .65; cursor: default; }
.insouto-catalog-viewer a:focus-visible, .insouto-catalog-viewer button:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.insouto-catalog-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (max-width: 480px) {
    .insouto-catalog-floating-actions .insouto-catalog-button { flex: 1 1 0; max-width: 180px; padding: 10px 8px; }
    .insouto-catalog-brand a { height: 24px; max-width: 96px; }
    .insouto-catalog-brand img, .insouto-catalog-brand svg { max-width: 96px; max-height: 24px; }
}
