[data-image-zoom] { display: block; position: relative; cursor: zoom-in; }
[data-image-zoom]::after { content: 'View larger image'; position: absolute; right: 10px; bottom: 10px; padding: 5px 10px; border-radius: 6px; background: #06100d; color: #fff; font: 700 12px/1.5 'Manrope', Arial, sans-serif; pointer-events: none; }
[data-image-zoom]:focus-visible { outline: 3px solid #0b6b4b; outline-offset: 4px; border-radius: 18px; }
.image-zoom-dialog { width: min(1425px, 96vw); max-width: 96vw; max-height: 94vh; max-height: 94dvh; margin: auto; padding: 12px; border: 0; border-radius: 12px; background: #fff; color: #17221e; }
.image-zoom-dialog::backdrop { background: rgba(6, 16, 13, .86); }
.image-zoom-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 8px; }
.image-zoom-title { margin: 0; font: 700 14px/1.5 'Manrope', Arial, sans-serif; }
.image-zoom-close { flex: none; min-height: 44px; min-width: 44px; padding: 10px 14px; border: 1px solid #0b6b4b; border-radius: 6px; background: #fff; color: #0b6b4b; font: 700 14px/1.5 'Manrope', Arial, sans-serif; cursor: pointer; }
.image-zoom-close:focus-visible { outline: 3px solid #0b6b4b; outline-offset: 3px; }
.image-zoom-image { display: block; max-width: 100%; width: auto; height: auto; max-height: calc(94vh - 90px); max-height: calc(94dvh - 90px); margin: auto; object-fit: contain; }
