.btn-merchant-wrap {
    position: relative;
    display: inline-flex;
    width: fit-content;
    margin: 0 auto;
}

/* Button paints above the particles */
.btn-merchant-fire {
    position: relative;
    z-index: 2;
}

/* Each electron sits centered on the button, then keyframes
   move it along a Lissajous curve — constant linear speed per particle,
   different duration per particle = different constant speeds */
.electron {
    position: absolute;
    top: 50%;
    left: 50%;
    border-radius: 50%;
    z-index: 1;
    pointer-events: none;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}

.electron-1 {
    width: 8px; height: 8px;
    margin: -4px 0 0 -4px;
    background: #d0021b;
    box-shadow: 0 0 6px rgba(208,2,27,0.8);
    animation-name: lissa1;
    animation-duration: 6s;
}

.electron-2 {
    width: 7px; height: 7px;
    margin: -3.5px 0 0 -3.5px;
    background: #0f9d68;
    box-shadow: 0 0 5px rgba(15,157,104,0.8);
   
    animation-name: lissa2;
    animation-duration: 4.5s;
}

.electron-3 {
    width: 6px; height: 6px;
    margin: -3px 0 0 -3px;
    background: #ffce00;
    box-shadow: 0 0 5px rgba(255,206,0,0.8);
    animation-name: lissa3;
    animation-duration: 5.2s;
}

.electron-4 {
    width: 8px; height: 8px;
    margin: -2.5px 0 0 -2.5px;
     background: #1a287a;
    box-shadow: 0 0 6px rgba(26, 53, 122, 0.8);
    animation-name: lissa4;
    animation-duration: 8s;
}

/* ===== Desktop Lissajous paths ===== */
@keyframes lissa1 {
    0.0000% { transform: translate(170.0px, 0.0px); }
    2.5000% { transform: translate(151.5px, 14.2px); }
    5.0000% { transform: translate(99.9px, 27.0px); }
    7.5000% { transform: translate(26.6px, 37.2px); }
    10.0000% { transform: translate(-52.5px, 43.7px); }
    12.5000% { transform: translate(-120.2px, 46.0px); }
    15.0000% { transform: translate(-161.7px, 43.7px); }
    17.5000% { transform: translate(-167.9px, 37.2px); }
    20.0000% { transform: translate(-137.5px, 27.0px); }
    22.5000% { transform: translate(-77.2px, 14.2px); }
    25.0000% { transform: translate(-0.0px, 0.0px); }
    27.5000% { transform: translate(77.2px, -14.2px); }
    30.0000% { transform: translate(137.5px, -27.0px); }
    32.5000% { transform: translate(167.9px, -37.2px); }
    35.0000% { transform: translate(161.7px, -43.7px); }
    37.5000% { transform: translate(120.2px, -46.0px); }
    40.0000% { transform: translate(52.5px, -43.7px); }
    42.5000% { transform: translate(-26.6px, -37.2px); }
    45.0000% { transform: translate(-99.9px, -27.0px); }
    47.5000% { transform: translate(-151.5px, -14.2px); }
    50.0000% { transform: translate(-170.0px, -0.0px); }
    52.5000% { transform: translate(-151.5px, 14.2px); }
    55.0000% { transform: translate(-99.9px, 27.0px); }
    57.5000% { transform: translate(-26.6px, 37.2px); }
    60.0000% { transform: translate(52.5px, 43.7px); }
    62.5000% { transform: translate(120.2px, 46.0px); }
    65.0000% { transform: translate(161.7px, 43.7px); }
    67.5000% { transform: translate(167.9px, 37.2px); }
    70.0000% { transform: translate(137.5px, 27.0px); }
    72.5000% { transform: translate(77.2px, 14.2px); }
    75.0000% { transform: translate(0.0px, 0.0px); }
    77.5000% { transform: translate(-77.2px, -14.2px); }
    80.0000% { transform: translate(-137.5px, -27.0px); }
    82.5000% { transform: translate(-167.9px, -37.2px); }
    85.0000% { transform: translate(-161.7px, -43.7px); }
    87.5000% { transform: translate(-120.2px, -46.0px); }
    90.0000% { transform: translate(-52.5px, -43.7px); }
    92.5000% { transform: translate(26.6px, -37.2px); }
    95.0000% { transform: translate(99.9px, -27.0px); }
    97.5000% { transform: translate(151.5px, -14.2px); }
    100.0000% { transform: translate(170.0px, -0.0px); }
}

@keyframes lissa2 {
    0.0000% { transform: translate(0.0px, 0.0px); }
    2.5000% { transform: translate(46.4px, 18.2px); }
    5.0000% { transform: translate(88.2px, 32.4px); }
    7.5000% { transform: translate(121.4px, 39.5px); }
    10.0000% { transform: translate(142.7px, 38.0px); }
    12.5000% { transform: translate(150.0px, 28.3px); }
    15.0000% { transform: translate(142.7px, 12.4px); }
    17.5000% { transform: translate(121.4px, -6.3px); }
    20.0000% { transform: translate(88.2px, -23.5px); }
    22.5000% { transform: translate(46.4px, -35.6px); }
    25.0000% { transform: translate(0.0px, -40.0px); }
    27.5000% { transform: translate(-46.4px, -35.6px); }
    30.0000% { transform: translate(-88.2px, -23.5px); }
    32.5000% { transform: translate(-121.4px, -6.3px); }
    35.0000% { transform: translate(-142.7px, 12.4px); }
    37.5000% { transform: translate(-150.0px, 28.3px); }
    40.0000% { transform: translate(-142.7px, 38.0px); }
    42.5000% { transform: translate(-121.4px, 39.5px); }
    45.0000% { transform: translate(-88.2px, 32.4px); }
    47.5000% { transform: translate(-46.4px, 18.2px); }
    50.0000% { transform: translate(-0.0px, 0.0px); }
    52.5000% { transform: translate(46.4px, -18.2px); }
    55.0000% { transform: translate(88.2px, -32.4px); }
    57.5000% { transform: translate(121.4px, -39.5px); }
    60.0000% { transform: translate(142.7px, -38.0px); }
    62.5000% { transform: translate(150.0px, -28.3px); }
    65.0000% { transform: translate(142.7px, -12.4px); }
    67.5000% { transform: translate(121.4px, 6.3px); }
    70.0000% { transform: translate(88.2px, 23.5px); }
    72.5000% { transform: translate(46.4px, 35.6px); }
    75.0000% { transform: translate(0.0px, 40.0px); }
    77.5000% { transform: translate(-46.4px, 35.6px); }
    80.0000% { transform: translate(-88.2px, 23.5px); }
    82.5000% { transform: translate(-121.4px, 6.3px); }
    85.0000% { transform: translate(-142.7px, -12.4px); }
    87.5000% { transform: translate(-150.0px, -28.3px); }
    90.0000% { transform: translate(-142.7px, -38.0px); }
    92.5000% { transform: translate(-121.4px, -39.5px); }
    95.0000% { transform: translate(-88.2px, -32.4px); }
    97.5000% { transform: translate(-46.4px, -18.2px); }
    100.0000% { transform: translate(-0.0px, -0.0px); }
}

@keyframes lissa3 {
    0.0000% { transform: translate(91.9px, 0.0px); }
    2.5000% { transform: translate(123.6px, 20.0px); }
    5.0000% { transform: translate(128.4px, 32.3px); }
    7.5000% { transform: translate(105.2px, 32.3px); }
    10.0000% { transform: translate(59.0px, 20.0px); }
    12.5000% { transform: translate(0.0px, 0.0px); }
    15.0000% { transform: translate(-59.0px, -20.0px); }
    17.5000% { transform: translate(-105.2px, -32.3px); }
    20.0000% { transform: translate(-128.4px, -32.3px); }
    22.5000% { transform: translate(-123.6px, -20.0px); }
    25.0000% { transform: translate(-91.9px, -0.0px); }
    27.5000% { transform: translate(-40.2px, 20.0px); }
    30.0000% { transform: translate(20.3px, 32.3px); }
    32.5000% { transform: translate(76.4px, 32.3px); }
    35.0000% { transform: translate(115.8px, 20.0px); }
    37.5000% { transform: translate(130.0px, 0.0px); }
    40.0000% { transform: translate(115.8px, -20.0px); }
    42.5000% { transform: translate(76.4px, -32.3px); }
    45.0000% { transform: translate(20.3px, -32.3px); }
    47.5000% { transform: translate(-40.2px, -20.0px); }
    50.0000% { transform: translate(-91.9px, -0.0px); }
    52.5000% { transform: translate(-123.6px, 20.0px); }
    55.0000% { transform: translate(-128.4px, 32.3px); }
    57.5000% { transform: translate(-105.2px, 32.3px); }
    60.0000% { transform: translate(-59.0px, 20.0px); }
    62.5000% { transform: translate(-0.0px, 0.0px); }
    65.0000% { transform: translate(59.0px, -20.0px); }
    67.5000% { transform: translate(105.2px, -32.3px); }
    70.0000% { transform: translate(128.4px, -32.3px); }
    72.5000% { transform: translate(123.6px, -20.0px); }
    75.0000% { transform: translate(91.9px, -0.0px); }
    77.5000% { transform: translate(40.2px, 20.0px); }
    80.0000% { transform: translate(-20.3px, 32.3px); }
    82.5000% { transform: translate(-76.4px, 32.3px); }
    85.0000% { transform: translate(-115.8px, 20.0px); }
    87.5000% { transform: translate(-130.0px, 0.0px); }
    90.0000% { transform: translate(-115.8px, -20.0px); }
    92.5000% { transform: translate(-76.4px, -32.3px); }
    95.0000% { transform: translate(-20.3px, -32.3px); }
    97.5000% { transform: translate(40.2px, -20.0px); }
    100.0000% { transform: translate(91.9px, -0.0px); }
}

@keyframes lissa4 {
    0.0000% { transform: translate(0.0px, 0.0px); }
    2.5000% { transform: translate(77.8px, 17.6px); }
    5.0000% { transform: translate(110.0px, 28.5px); }
    7.5000% { transform: translate(77.8px, 28.5px); }
    10.0000% { transform: translate(0.0px, 17.6px); }
    12.5000% { transform: translate(-77.8px, 0.0px); }
    15.0000% { transform: translate(-110.0px, -17.6px); }
    17.5000% { transform: translate(-77.8px, -28.5px); }
    20.0000% { transform: translate(-0.0px, -28.5px); }
    22.5000% { transform: translate(77.8px, -17.6px); }
    25.0000% { transform: translate(110.0px, -0.0px); }
    27.5000% { transform: translate(77.8px, 17.6px); }
    30.0000% { transform: translate(0.0px, 28.5px); }
    32.5000% { transform: translate(-77.8px, 28.5px); }
    35.0000% { transform: translate(-110.0px, 17.6px); }
    37.5000% { transform: translate(-77.8px, 0.0px); }
    40.0000% { transform: translate(-0.0px, -17.6px); }
    42.5000% { transform: translate(77.8px, -28.5px); }
    45.0000% { transform: translate(110.0px, -28.5px); }
    47.5000% { transform: translate(77.8px, -17.6px); }
    50.0000% { transform: translate(0.0px, -0.0px); }
    52.5000% { transform: translate(-77.8px, 17.6px); }
    55.0000% { transform: translate(-110.0px, 28.5px); }
    57.5000% { transform: translate(-77.8px, 28.5px); }
    60.0000% { transform: translate(-0.0px, 17.6px); }
    62.5000% { transform: translate(77.8px, 0.0px); }
    65.0000% { transform: translate(110.0px, -17.6px); }
    67.5000% { transform: translate(77.8px, -28.5px); }
    70.0000% { transform: translate(0.0px, -28.5px); }
    72.5000% { transform: translate(-77.8px, -17.6px); }
    75.0000% { transform: translate(-110.0px, -0.0px); }
    77.5000% { transform: translate(-77.8px, 17.6px); }
    80.0000% { transform: translate(-0.0px, 28.5px); }
    82.5000% { transform: translate(77.8px, 28.5px); }
    85.0000% { transform: translate(110.0px, 17.6px); }
    87.5000% { transform: translate(77.8px, 0.0px); }
    90.0000% { transform: translate(0.0px, -17.6px); }
    92.5000% { transform: translate(-77.8px, -28.5px); }
    95.0000% { transform: translate(-110.0px, -28.5px); }
    97.5000% { transform: translate(-77.8px, -17.6px); }
    100.0000% { transform: translate(-0.0px, -0.0px); }
}

@media (prefers-reduced-motion: reduce) {
    .electron { animation: none; }
}

/* ===== Mobile Lissajous paths (scaled ~0.68x) ===== */
@media (max-width: 575px) {
    .electron-1 { animation-name: lissa1m; }
    .electron-2 { animation-name: lissa2m; }
    .electron-3 { animation-name: lissa3m; }
    .electron-4 { animation-name: lissa4m; }

    @keyframes lissa1m {
        0.0000% { transform: translate(116.0px, 0.0px); }
        2.5000% { transform: translate(103.4px, 9.6px); }
        5.0000% { transform: translate(68.2px, 18.2px); }
        7.5000% { transform: translate(18.1px, 25.1px); }
        10.0000% { transform: translate(-35.8px, 29.5px); }
        12.5000% { transform: translate(-82.0px, 31.0px); }
        15.0000% { transform: translate(-110.3px, 29.5px); }
        17.5000% { transform: translate(-114.6px, 25.1px); }
        20.0000% { transform: translate(-93.8px, 18.2px); }
        22.5000% { transform: translate(-52.7px, 9.6px); }
        25.0000% { transform: translate(0.0px, 0.0px); }
        27.5000% { transform: translate(52.7px, -9.6px); }
        30.0000% { transform: translate(93.8px, -18.2px); }
        32.5000% { transform: translate(114.6px, -25.1px); }
        35.0000% { transform: translate(110.3px, -29.5px); }
        37.5000% { transform: translate(82.0px, -31.0px); }
        40.0000% { transform: translate(35.8px, -29.5px); }
        42.5000% { transform: translate(-18.1px, -25.1px); }
        45.0000% { transform: translate(-68.2px, -18.2px); }
        47.5000% { transform: translate(-103.4px, -9.6px); }
        50.0000% { transform: translate(-116.0px, 0.0px); }
        52.5000% { transform: translate(-103.4px, 9.6px); }
        55.0000% { transform: translate(-68.2px, 18.2px); }
        57.5000% { transform: translate(-18.1px, 25.1px); }
        60.0000% { transform: translate(35.8px, 29.5px); }
        62.5000% { transform: translate(82.0px, 31.0px); }
        65.0000% { transform: translate(110.3px, 29.5px); }
        67.5000% { transform: translate(114.6px, 25.1px); }
        70.0000% { transform: translate(93.8px, 18.2px); }
        72.5000% { transform: translate(52.7px, 9.6px); }
        75.0000% { transform: translate(0.0px, 0.0px); }
        77.5000% { transform: translate(-52.7px, -9.6px); }
        80.0000% { transform: translate(-93.8px, -18.2px); }
        82.5000% { transform: translate(-114.6px, -25.1px); }
        85.0000% { transform: translate(-110.3px, -29.5px); }
        87.5000% { transform: translate(-82.0px, -31.0px); }
        90.0000% { transform: translate(-35.8px, -29.5px); }
        92.5000% { transform: translate(18.1px, -25.1px); }
        95.0000% { transform: translate(68.2px, -18.2px); }
        97.5000% { transform: translate(103.4px, -9.6px); }
        100.0000% { transform: translate(116.0px, -0.0px); }
    }

    @keyframes lissa2m {
        0.0000% { transform: translate(0.0px, 0.0px); }
        2.5000% { transform: translate(31.5px, 12.3px); }
        5.0000% { transform: translate(60.0px, 21.8px); }
        7.5000% { transform: translate(82.5px, 26.7px); }
        10.0000% { transform: translate(97.0px, 25.7px); }
        12.5000% { transform: translate(102.0px, 19.1px); }
        15.0000% { transform: translate(97.0px, 8.3px); }
        17.5000% { transform: translate(82.5px, -4.2px); }
        20.0000% { transform: translate(60.0px, -15.9px); }
        22.5000% { transform: translate(31.5px, -24.1px); }
        25.0000% { transform: translate(0.0px, -27.0px); }
        27.5000% { transform: translate(-31.5px, -24.1px); }
        30.0000% { transform: translate(-60.0px, -15.9px); }
        32.5000% { transform: translate(-82.5px, -4.2px); }
        35.0000% { transform: translate(-97.0px, 8.3px); }
        37.5000% { transform: translate(-102.0px, 19.1px); }
        40.0000% { transform: translate(-97.0px, 25.7px); }
        42.5000% { transform: translate(-82.5px, 26.7px); }
        45.0000% { transform: translate(-60.0px, 21.8px); }
        47.5000% { transform: translate(-31.5px, 12.3px); }
        50.0000% { transform: translate(-0.0px, 0.0px); }
        52.5000% { transform: translate(31.5px, -12.3px); }
        55.0000% { transform: translate(60.0px, -21.8px); }
        57.5000% { transform: translate(82.5px, -26.7px); }
        60.0000% { transform: translate(97.0px, -25.7px); }
        62.5000% { transform: translate(102.0px, -19.1px); }
        65.0000% { transform: translate(97.0px, -8.3px); }
        67.5000% { transform: translate(82.5px, 4.2px); }
        70.0000% { transform: translate(60.0px, 15.9px); }
        72.5000% { transform: translate(31.5px, 24.1px); }
        75.0000% { transform: translate(0.0px, 27.0px); }
        77.5000% { transform: translate(-31.5px, 24.1px); }
        80.0000% { transform: translate(-60.0px, 15.9px); }
        82.5000% { transform: translate(-82.5px, 4.2px); }
        85.0000% { transform: translate(-97.0px, -8.3px); }
        87.5000% { transform: translate(-102.0px, -19.1px); }
        90.0000% { transform: translate(-97.0px, -25.7px); }
        92.5000% { transform: translate(-82.5px, -26.7px); }
        95.0000% { transform: translate(-60.0px, -21.8px); }
        97.5000% { transform: translate(-31.5px, -12.3px); }
        100.0000% { transform: translate(-0.0px, -0.0px); }
    }

    @keyframes lissa3m {
        0.0000% { transform: translate(62.2px, 0.0px); }
        2.5000% { transform: translate(83.7px, 13.5px); }
        5.0000% { transform: translate(86.9px, 21.9px); }
        7.5000% { transform: translate(71.2px, 21.9px); }
        10.0000% { transform: translate(40.0px, 13.5px); }
        12.5000% { transform: translate(0.0px, 0.0px); }
        15.0000% { transform: translate(-40.0px, -13.5px); }
        17.5000% { transform: translate(-71.2px, -21.9px); }
        20.0000% { transform: translate(-86.9px, -21.9px); }
        22.5000% { transform: translate(-83.7px, -13.5px); }
        25.0000% { transform: translate(-62.2px, -0.0px); }
        27.5000% { transform: translate(-27.2px, 13.5px); }
        30.0000% { transform: translate(13.8px, 21.9px); }
        32.5000% { transform: translate(51.7px, 21.9px); }
        35.0000% { transform: translate(78.4px, 13.5px); }
        37.5000% { transform: translate(88.0px, 0.0px); }
        40.0000% { transform: translate(78.4px, -13.5px); }
        42.5000% { transform: translate(51.7px, -21.9px); }
        45.0000% { transform: translate(13.8px, -21.9px); }
        47.5000% { transform: translate(-27.2px, -13.5px); }
        50.0000% { transform: translate(-62.2px, -0.0px); }
        52.5000% { transform: translate(-83.7px, 13.5px); }
        55.0000% { transform: translate(-86.9px, 21.9px); }
        57.5000% { transform: translate(-71.2px, 21.9px); }
        60.0000% { transform: translate(-40.0px, 13.5px); }
        62.5000% { transform: translate(-0.0px, 0.0px); }
        65.0000% { transform: translate(40.0px, -13.5px); }
        67.5000% { transform: translate(71.2px, -21.9px); }
        70.0000% { transform: translate(86.9px, -21.9px); }
        72.5000% { transform: translate(83.7px, -13.5px); }
        75.0000% { transform: translate(62.2px, -0.0px); }
        77.5000% { transform: translate(27.2px, 13.5px); }
        80.0000% { transform: translate(-13.8px, 21.9px); }
        82.5000% { transform: translate(-51.7px, 21.9px); }
        85.0000% { transform: translate(-78.4px, 13.5px); }
        87.5000% { transform: translate(-88.0px, 0.0px); }
        90.0000% { transform: translate(-78.4px, -13.5px); }
        92.5000% { transform: translate(-51.7px, -21.9px); }
        95.0000% { transform: translate(-13.8px, -21.9px); }
        97.5000% { transform: translate(27.2px, -13.5px); }
        100.0000% { transform: translate(62.2px, -0.0px); }
    }

    @keyframes lissa4m {
        0.0000% { transform: translate(0.0px, 0.0px); }
        2.5000% { transform: translate(53.0px, 11.8px); }
        5.0000% { transform: translate(75.0px, 19.0px); }
        7.5000% { transform: translate(53.0px, 19.0px); }
        10.0000% { transform: translate(0.0px, 11.8px); }
        12.5000% { transform: translate(-53.0px, 0.0px); }
        15.0000% { transform: translate(-75.0px, -11.8px); }
        17.5000% { transform: translate(-53.0px, -19.0px); }
        20.0000% { transform: translate(-0.0px, -19.0px); }
        22.5000% { transform: translate(53.0px, -11.8px); }
        25.0000% { transform: translate(75.0px, -0.0px); }
        27.5000% { transform: translate(53.0px, 11.8px); }
        30.0000% { transform: translate(0.0px, 19.0px); }
        32.5000% { transform: translate(-53.0px, 19.0px); }
        35.0000% { transform: translate(-75.0px, 11.8px); }
        37.5000% { transform: translate(-53.0px, 0.0px); }
        40.0000% { transform: translate(-0.0px, -11.8px); }
        42.5000% { transform: translate(53.0px, -19.0px); }
        45.0000% { transform: translate(75.0px, -19.0px); }
        47.5000% { transform: translate(53.0px, -11.8px); }
        50.0000% { transform: translate(0.0px, -0.0px); }
        52.5000% { transform: translate(-53.0px, 11.8px); }
        55.0000% { transform: translate(-75.0px, 19.0px); }
        57.5000% { transform: translate(-53.0px, 19.0px); }
        60.0000% { transform: translate(-0.0px, 11.8px); }
        62.5000% { transform: translate(53.0px, 0.0px); }
        65.0000% { transform: translate(75.0px, -11.8px); }
        67.5000% { transform: translate(53.0px, -19.0px); }
        70.0000% { transform: translate(0.0px, -19.0px); }
        72.5000% { transform: translate(-53.0px, -11.8px); }
        75.0000% { transform: translate(-75.0px, -0.0px); }
        77.5000% { transform: translate(-53.0px, 11.8px); }
        80.0000% { transform: translate(-0.0px, 19.0px); }
        82.5000% { transform: translate(53.0px, 19.0px); }
        85.0000% { transform: translate(75.0px, 11.8px); }
        87.5000% { transform: translate(53.0px, 0.0px); }
        90.0000% { transform: translate(0.0px, -11.8px); }
        92.5000% { transform: translate(-53.0px, -19.0px); }
        95.0000% { transform: translate(-75.0px, -19.0px); }
        97.5000% { transform: translate(-53.0px, -11.8px); }
        100.0000% { transform: translate(-0.0px, -0.0px); }
    }
}

@media (max-width: 575px) {
    .btn-merchant-wrap {
        max-width: 100%;
    }
    .btn-merchant-fire {
        max-width: 100%;
        padding: 0.65rem 1.1rem;
        white-space: normal;
    }
    .btn-merchant-fire .btn-label {
        white-space: normal;
        text-align: center;
        font-size: 0.95rem;
    }
}