Elementor Button Shiny Glow Animation (No Plugin)

				
					one-btn
				
			
				
					/* ОБЁРТКА (для центрирования) | WRAPPER (for centering) */
.one-btn {
    text-align: center;
}

/* КНОПКА | BUTTON */
.one-btn .elementor-button {
    position: relative;

    display: inline-block; /* не растягивается на всю ширину | prevents full width */
    width: auto; /* авто ширина | auto width */
    max-width: 100%; /* не ломает мобилу | keeps responsive */

    overflow: hidden;

    padding: 26px 32px;

    font-size: 18px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    line-height: 1.25;

    color: #3b2f1e;

    /* ===== ГРАДИЕНТ (4 цвета — меняешь здесь) | GRADIENT (4 colors — change here) ===== */
    --c1: #f4ddb1; /* верх | top */
    --c2: #e7c48d;
    --c3: #d4aa74;
    --c4: #c8a06a; /* низ | bottom */

    background: linear-gradient(
        to bottom, /* направление сверху вниз | direction top to bottom */
        var(--c1),
        var(--c2),
        var(--c3),
        var(--c4)
    );

    border-radius: 16px;

    box-shadow:
        0 12px 30px rgba(0,0,0,0.45),
        inset 0 2px 6px rgba(255,255,255,0.6);

    transition: transform 0.2s ease;
}

/* СТЕКЛЯННЫЙ БЛИК | GLASS SHINE EFFECT */
.one-btn .elementor-button::before {
    content: "";
    position: absolute;

    top: 0;
    left: -100%;

    width: 35%;
    height: 100%;

    background: linear-gradient(
        120deg,
        rgba(255,255,255,0) 0%,
        rgba(255,255,255,0.25) 40%,
        rgba(255,255,255,0.75) 50%,
        rgba(255,255,255,0.25) 60%,
        rgba(255,255,255,0) 100%
    );

    transform: skewX(-20deg);
    animation: shine 2.8s infinite;
}

/* АНИМАЦИЯ БЛИКА | SHINE ANIMATION */
@keyframes shine {
    0% { left: -100%; }
    100% { left: 130%; }
}

/* ХОВЕР (лёгкий подъём) | HOVER (slight lift) */
.one-btn .elementor-button:hover {
    transform: translateY(-2px);
}

/* АДАПТИВ | RESPONSIVE */
@media (max-width: 767px) {
    .one-btn .elementor-button {
        padding: 22px 20px;
        font-size: 16px;
    }
}