        .joystore-variation-bubble {
            position: absolute;
            z-index: 9998; /* sous les modals (99999) */
            animation: joystore-bubble-bounce 2s infinite;
        }
        .joystore-bubble-content {
            background: #FFFFFF;
            color: #000000;
            padding: 12px 18px;
            border-radius: 20px;
            font-size: 14px;
            font-weight: 700;
            box-shadow: 0 4px 20px rgba(0,0,0,0.3);
            max-width: 280px;
            text-align: center;
            line-height: 1.4;
            font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
        }
        .joystore-bubble-arrow {
            width: 0; height: 0;
            border-left: 15px solid transparent;
            border-right: 15px solid transparent;
            border-top: 20px solid #FFFFFF;
            margin: 0 auto;
            filter: drop-shadow(0 3px 5px rgba(0,0,0,0.2));
        }
        @keyframes joystore-bubble-bounce {
            0%, 100% { transform: translateY(0); }
            50%       { transform: translateY(-10px); }
        }
        @keyframes joystore-bubble-appear {
            0%   { opacity: 0; transform: scale(0.5) translateY(-20px); }
            100% { opacity: 1; transform: scale(1) translateY(0); }
        }
        @media (max-width: 768px) {
            .joystore-bubble-content { font-size: 13px; padding: 10px 15px; max-width: 240px; }
        }
