/* Product screenshots: link fallback plus a separately scoped native dialog. */
[data-screen-open] { display: block; cursor: zoom-in; }
[data-screen-open]:focus-visible { outline: 3px solid var(--brass-dark); outline-offset: 4px; }
.screen-dialog { width: min(1400px, calc(100vw - 32px)); max-width: none; max-height: calc(100dvh - 32px); margin: auto; padding: 20px; color: var(--paper); background: var(--ink); border: 1px solid var(--brass); }
.screen-dialog::backdrop { background: rgba(0, 0, 0, 0.84); }
.screen-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-bottom: 16px; }
.screen-toolbar p { flex: 1 1 220px; }
.screen-viewport { overflow: auto; max-height: calc(100dvh - 220px); margin-bottom: 16px; }
.screen-viewport img { display: block; width: 100%; height: auto; max-width: 100%; }
.screen-dialog.is-zoomed .screen-viewport img { width: auto; max-width: none; }
body.screen-dialog-open { overflow: hidden; }
@media (max-width: 680px) { .screen-dialog { padding: 12px; } .screen-toolbar p { flex-basis: 100%; } }
