.product-photo-button{position:relative;display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in}
.product-photo-button img{width:100%;height:100%;object-fit:contain}
.photo-count-tag{position:absolute;right:10px;bottom:10px;padding:6px 9px;border-radius:20px;background:#fff;color:#1d1d1f;box-shadow:0 2px 10px #0002;font-size:10px;font-weight:650}
.product-photo-button:hover .photo-count-tag,.product-photo-button:focus-visible .photo-count-tag{background:#0071e3;color:#fff}
.photo-dialog{box-sizing:border-box;width:min(1000px,94vw);max-width:none;max-height:94vh;padding:0;border:0;border-radius:20px;background:#fff;color:#1d1d1f;box-shadow:0 20px 70px #0005}
.photo-dialog::backdrop{background:#111b}
.photo-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;border-bottom:1px solid #e8e8ed}
.photo-dialog-head h2{font-size:16px;line-height:1.35;margin:0}
.photo-dialog-close{border:0;background:#f5f5f7;color:#1d1d1f;border-radius:50%;width:34px;height:34px;font-size:22px;cursor:pointer;flex:none}
.photo-stage{display:grid;grid-template-columns:46px minmax(0,1fr) 46px;align-items:center;gap:8px;padding:14px 18px;background:#f5f5f7}
.photo-stage img{width:100%;height:min(58vh,570px);object-fit:contain}
.photo-stage button{border:1px solid #d2d2d7;border-radius:50%;width:40px;height:40px;background:#fff;color:#1d1d1f;font-size:24px;cursor:pointer}
.photo-stage button:disabled{opacity:.35;cursor:default}
.photo-dialog-meta{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 22px;color:#6e6e73;font-size:12px}
.photo-dialog-meta a{color:#06c;text-decoration:none;white-space:nowrap}
.photo-thumbs{display:flex;gap:8px;overflow-x:auto;padding:8px 22px 20px}
.photo-thumbs button{width:74px;height:58px;padding:3px;border:2px solid transparent;border-radius:8px;background:#f5f5f7;cursor:pointer;flex:none}
.photo-thumbs button[aria-current="true"]{border-color:#0071e3}
.photo-thumbs img{width:100%;height:100%;object-fit:contain}
@media(max-width:600px){.photo-dialog{width:100vw;max-height:100vh;border-radius:0}.photo-stage{grid-template-columns:34px minmax(0,1fr) 34px;gap:2px;padding:8px}.photo-stage img{height:min(52vh,520px)}.photo-stage button{width:32px;height:32px;font-size:18px}.photo-dialog-meta{align-items:flex-start}.photo-dialog-meta span{max-width:60%}}
