.beam-btn-e58b3e1a {
    --beam-c1: #00ffcc;
    --beam-c2: #ff00cc;
    --beam-speed: 3s;
    
    position: relative;
    display: inline-flex;
    overflow: hidden;
    text-decoration: none;
    background: #000;
    border-radius: 8px; /* Default */
    padding: var(--border-width, 2px); /* Allow border space */
}

.beam-btn-e58b3e1a::before {
    content: '';
    position: absolute;
    width: 200%;
    height: 200%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: conic-gradient(from 0deg, transparent 0%, var(--beam-c1) 25%, transparent 50%, var(--beam-c2) 75%, transparent 100%);
    animation: spin-beam-e58b3e1a var(--beam-speed) linear infinite;
    z-index: 1;
}

@keyframes spin-beam-e58b3e1a {
    from { transform: translate(-50%, -50%) rotate(0deg); }
    to { transform: translate(-50%, -50%) rotate(360deg); }
}

.beam-btn-inner-e58b3e1a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    z-index: 2;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    width: 100%;
    height: 100%;
    border-radius: inherit;
    padding: 12px 24px;
    color: #fff;
    transition: all 0.3s ease;
    white-space: nowrap; /* Prevent text wrapping */
}

/* Icon position support */
.beam-btn-inner-e58b3e1a.icon-right {
    flex-direction: row-reverse;
}

.beam-btn-inner-e58b3e1a svg {
    width: 1em;
    height: 1em;
    fill: currentColor;
}

/* Hover effects managed mostly by Elementor controls now, but provide smooth transitions */
.beam-btn-e58b3e1a:hover .beam-btn-inner-e58b3e1a {
    /* Fallback default, overridden by controls */
    background: transparent;
    color: #000;
}
.beam-btn-e58b3e1a:hover .beam-btn-inner-e58b3e1a svg {
    fill: #000;
}