.product-image-zoom-trigger { display: block; width: 100%; margin: 0; padding: 0; border: 0; background: transparent; cursor: zoom-in; }
.product-image-zoom-trigger:focus-visible, .image-zoom-hint:focus-visible { outline: 3px solid #2563eb; outline-offset: 4px; }
.main-image-container .image-zoom-hint { z-index: 2; border: 0; cursor: zoom-in; }
.main-image-container:focus-within .image-zoom-hint { opacity: 1; }
.product-image-dialog { width: min(1120px, calc(100vw - 32px)); max-width: none; max-height: calc(100vh - 48px); max-height: calc(100dvh - 48px); margin: auto; padding: 0; border: 0; border-radius: 16px; background: #f8fafc; color: #1e293b; box-shadow: 0 24px 80px rgba(0,0,0,.35); }
.product-image-dialog:not([open]) { display: none; }
.product-image-dialog[open] { display: flex; flex-direction: column; }
.product-image-dialog::backdrop { background: rgba(15,23,42,.82); }
.product-image-dialog *, .product-image-dialog *::before, .product-image-dialog *::after { box-sizing: border-box; }
.product-image-dialog-toolbar { display: flex; flex-shrink: 0; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 18px; border-bottom: 1px solid #e2e8f0; background: #fff; }
.product-image-dialog-toolbar h2 { margin: 0; font-size: 16px; font-weight: 700; }
.product-image-dialog-actions { display: flex; gap: 8px; }
.product-image-dialog-actions button { min-height: 38px; padding: 7px 12px; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #334155; font: inherit; font-size: 13px; cursor: pointer; }
.product-image-dialog-actions button[aria-pressed="true"] { border-color: #2563eb; background: #eff6ff; color: #1d4ed8; }
.product-image-dialog-actions button:focus-visible, .product-image-dialog-viewport:focus-visible { outline: 3px solid #93c5fd; outline-offset: -3px; }
.product-image-dialog-viewport { min-height: 0; overflow: auto; overscroll-behavior: contain; padding: 16px; background: #e2e8f0; }
.product-image-dialog-image { display: block; width: 100%; max-width: var(--product-image-natural-width, 100%); height: auto; margin: 0 auto; object-fit: contain; }
.product-image-dialog.is-original .product-image-dialog-image { width: var(--product-image-natural-width); max-width: none; }
@media (max-width: 600px) {
    .main-image-container .image-zoom-hint { opacity: 1; }
    .product-image-dialog { width: calc(100vw - 16px); max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px); border-radius: 12px; }
    .product-image-dialog-toolbar { padding: 10px 12px; gap: 8px; }
    .product-image-dialog-toolbar h2 { font-size: 14px; }
    .product-image-dialog-actions { gap: 6px; }
    .product-image-dialog-actions button { padding: 6px 9px; font-size: 12px; }
    .product-image-dialog-viewport { padding: 8px; }
}
