#vzp-fab{position:fixed;z-index:99990;display:flex;flex-direction:column;align-items:flex-start;gap:5px;animation:vzp-bounce 2.2s infinite;cursor:pointer;}
#vzp-fab-btn{border:none;border-radius:50px;padding:11px 20px;font-size:14px;font-weight:700;box-shadow:0 4px 18px rgba(0,0,0,.28);cursor:pointer;letter-spacing:.3px;transition:transform .15s,box-shadow .15s;white-space:nowrap;font-family:inherit;}
#vzp-fab-btn:hover,#vzp-fab-btn:focus{transform:scale(1.07);box-shadow:0 6px 24px rgba(0,0,0,.38);outline:none;}
@keyframes vzp-bounce{0%,100%{transform:translateY(0)}40%{transform:translateY(-9px)}60%{transform:translateY(-4px)}}
#vzp-pulse{width:10px;height:10px;border-radius:50%;animation:vzp-pulse 1.5s infinite;margin-left:10px;}
@keyframes vzp-pulse{0%{transform:scale(1);opacity:1}70%{transform:scale(2.4);opacity:0}100%{transform:scale(1);opacity:0}}

#vzp-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.72);z-index:99995;align-items:center;justify-content:center;padding:16px;box-sizing:border-box;}
#vzp-overlay.open{display:flex;animation:vzp-fadein .22s ease;}
@keyframes vzp-fadein{from{opacity:0}to{opacity:1}}

#vzp-box{position:relative;border-radius:14px;overflow:hidden;animation:vzp-scalein .22s ease;width:min(580px,92vw);max-height:88vh;display:flex;align-items:center;justify-content:center;background:#000;}
@keyframes vzp-scalein{from{transform:scale(.88);opacity:0}to{transform:scale(1);opacity:1}}

#vzp-slides{position:relative;width:100%;display:flex;align-items:center;justify-content:center;}
.vzp-slide{display:none;width:100%;}
.vzp-slide.active{display:block;}
.vzp-slide img,.vzp-slide a img{display:block;width:100%;height:auto;max-height:88vh;object-fit:contain;border-radius:14px;}

#vzp-close{position:absolute;top:10px;right:12px;background:rgba(0,0,0,.6);color:#fff;border:none;border-radius:50%;width:36px;height:36px;font-size:22px;line-height:36px;text-align:center;cursor:pointer;z-index:10;transition:background .15s;}
#vzp-close:hover{background:rgba(0,0,0,.9);}

.vzp-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.5);color:#fff;border:none;width:40px;height:40px;border-radius:50%;font-size:20px;cursor:pointer;z-index:5;transition:background .15s;}
.vzp-nav:hover{background:rgba(0,0,0,.85);}
.vzp-prev{left:10px;}
.vzp-next{right:10px;}

.vzp-dots{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);display:flex;gap:6px;z-index:5;}
.vzp-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.5);border:none;padding:0;cursor:pointer;transition:background .15s,transform .15s;}
.vzp-dot.active{background:#fff;transform:scale(1.3);}

@media(max-width:480px){
    #vzp-fab-btn{font-size:12px;padding:9px 14px;}
    #vzp-box{border-radius:10px;width:96vw;}
    .vzp-slide img{border-radius:10px;max-height:80vh;}
    #vzp-close{width:30px;height:30px;font-size:18px;line-height:30px;top:7px;right:8px;}
    .vzp-nav{width:32px;height:32px;font-size:16px;}
}

@media (prefers-reduced-motion:reduce){
    #vzp-fab,#vzp-pulse{animation:none;}
    #vzp-overlay.open,#vzp-box{animation:none;}
}
