﻿
/* Sitewide button styles */

.NMMainButton {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 18px;
    border-radius: 999px;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    background: #000;
    color: #FFFFFF;
    border: 1px solid rgba(255,255,255,0.06);
    box-shadow: 0 6px 18px rgba(0,0,0,0.45);
    position: relative;
    z-index: 1;
    overflow: visible;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease;
}

    .NMMainButton:hover {
        transform: translateY(-1px);
    }

    .NMMainButton::before {
        content: "";
        position: absolute;
        left: -10px;
        top: -10px;
        right: -10px;
        bottom: -10px;
        border-radius: 999px;
        background: linear-gradient(90deg, rgba(62, 81, 91, 0.56), rgba(52, 225, 144, 0.62), rgba(68, 102, 90, 0.56));
        filter: blur(16px);
        opacity: 0;
        transition: opacity .28s ease, transform .28s ease;
        z-index: -1;
        pointer-events: none;
        mix-blend-mode: screen;
    }

    .NMMainButton::after {
        content: "";
        position: absolute;
        inset: -1px;
        border-radius: 999px;
        box-shadow: 0 0 0 0 rgba(22,163,74,0.0), 0 0 0 0 rgba(124,58,237,0.0);
        opacity: 0.95;
        z-index: -2;
        pointer-events: none;
        animation: NMMainButtonShadowHue 3.8s linear infinite;
    }

    .NMMainButton:hover::before,
    .NMMainButton:focus-visible::before {
        opacity: 1;
        transform: scale(1);
        animation: NMMainButtonGlowHue 3.8s linear infinite;
    }

    .NMMainButton:hover,
    .NMMainButton:focus-visible {
        background: #000;
        color: #FFFFFF;
        border-color: rgba(255,255,255,0.08);
        box-shadow: 0 14px 42px rgba(0,0,0,0.55);
        text-decoration: none;
        outline: none;
    }

@keyframes NMMainButtonGlowHue {
    0% {
        filter: blur(12px) hue-rotate(0deg);
    }

    50% {
        filter: blur(12px) hue-rotate(60deg);
    }

    100% {
        filter: blur(12px) hue-rotate(0deg);
    }
}

@keyframes NMMainButtonShadowHue {
    0% {
        box-shadow: 0 0 0 0 rgba(74,222,128,0.0), 0 10px 26px rgba(0,0,0,0.45);
    }

    50% {
        box-shadow: 0 0 0 6px rgba(74,222,128,0.18), 0 18px 44px rgba(0,0,0,0.55);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(124,58,237,0.0), 0 10px 26px rgba(0,0,0,0.45);
    }
}

@media (prefers-reduced-motion: reduce) {
    .NMMainButton::before,
    .NMMainButton::after {
        animation: none;
        transition: none;
    }
}
