/* WP Affiliate Popup Styles */
#ap-root { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 9999; pointer-events: none; }
.ap-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 9999; }
.ap-backdrop { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0); pointer-events: none; }
/* Admin bar spacing for logged-in users */
body.admin-bar #ap-root { top: 32px; height: calc(100% - 32px); }
@media screen and (max-width: 782px) {
    body.admin-bar #ap-root { top: 46px; height: calc(100% - 46px); }
}
.ap-popup { position: absolute; background: transparent; border-radius: 8px; max-width: 90vw; max-height: 90vh; }
.ap-popup.ap-anim-scale-fade { transform: scale(0.8); opacity: 0; transition: all 0.4s ease; }
.ap-popup.ap-anim-scale-fade.ap-show { transform: scale(1); opacity: 1; }
.ap-popup.ap-anim-fly-up-down { transform: translateY(-20px); opacity: 0; transition: all 0.4s ease; }
.ap-popup.ap-anim-fly-up-down.ap-show { transform: translateY(0); opacity: 1; }
.ap-popup.ap-anim-shake { transform: translateX(0); opacity: 0; transition: all 0.4s ease; }
.ap-popup.ap-anim-shake.ap-show { opacity: 1; animation: ap-shake 0.5s ease-in-out; }
.ap-popup.ap-anim-bounce { transform: scale(0.3); opacity: 0; transition: all 0.4s ease; }
.ap-popup.ap-anim-bounce.ap-show { transform: scale(1); opacity: 1; animation: ap-bounce 0.6s ease; }
.ap-popup.ap-anim-pulse { transform: scale(1); opacity: 0; transition: all 0.4s ease; }
.ap-popup.ap-anim-pulse.ap-show { opacity: 1; animation: ap-pulse 1s infinite; }
@keyframes ap-shake {
    0%, 100% { transform: translateX(0); }
    10%, 30%, 50%, 70%, 90% { transform: translateX(-5px); }
    20%, 40%, 60%, 80% { transform: translateX(5px); }
}
@keyframes ap-bounce {
    0% { transform: scale(0.3); }
    50% { transform: scale(1.05); }
    70% { transform: scale(0.9); }
    100% { transform: scale(1); }
}
@keyframes ap-pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.1); }
    100% { transform: scale(1); }
}
.ap-popup img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ap-close { position: absolute; width: 30px; height: 30px; background: transparent; color: white; border-radius: 50%; display: flex; align-items: center; justify-content: center; cursor: pointer; font-size: 18px; z-index: 10; }
@media (max-width: 768px) { .ap-popup { max-width: 95vw; max-height: 95vh; } }