/* Side-by-side howto tables (e.g. load_save_onnx_files): make the code
   columns fit the available width without horizontal scrolling by
   shrinking the font and forcing the table to use the full width. */
.howto-side-by-side {
    width: 100%;
    table-layout: fixed;
    font-size: 0.78rem;
}

.howto-side-by-side td,
.howto-side-by-side th {
    word-wrap: break-word;
    overflow-wrap: anywhere;
    vertical-align: top;
}

.howto-side-by-side div.highlight,
.howto-side-by-side div.highlight pre {
    font-size: 0.72rem;
    line-height: 1.25;
}

.howto-side-by-side div.highlight pre {
    white-space: pre-wrap;
    word-break: break-word;
}

/* The parent scrollable container is no longer needed for this table. */
.howto-side-by-side-wrapper .pst-scrollable-table-container,
div.pst-scrollable-table-container:has(> table.howto-side-by-side) {
    overflow-x: visible;
}

/* Runtime test-coverage page: pass / fail colored cells. */
.green {
    color: #1a7f37;
    font-weight: 600;
}

.red {
    color: #cf222e;
    font-weight: 600;
}

/* Click-to-zoom overlay for diagrams tagged with .zoomable-svg (svg_zoom.js). */
.svg-zoom-overlay {
    position: fixed;
    inset: 0;
    z-index: 1050;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.8);
}

.svg-zoom-stage {
    flex: 1 1 auto;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    cursor: grab;
}

.svg-zoom-image {
    max-width: 95vw;
    max-height: 90vh;
    transform-origin: center center;
    background: #fff;
}

.svg-zoom-hint {
    color: #fff;
    padding: 0.5rem 0.5rem 1rem;
    font-size: 0.85rem;
}
