/* ============================================================
   MT - Animated Button  (mtfe-animated-btn)
   ============================================================ */

.mtfe-animated-btn-wrap {
    display: inline-flex;
}

.mtfe-animated-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: var(--mtfe-ab-gap, 14px);
    padding: 0 var(--mtfe-ab-px, 36px);
    height: var(--mtfe-ab-height, 60px);
    background: var(--mtfe-ab-bg, #141414);
    color: var(--mtfe-ab-color, #f0d080);
    font-size: var(--mtfe-ab-size, 18px);
    letter-spacing: var(--mtfe-ab-spacing, 3px);
    text-transform: uppercase;
    text-decoration: none;
    border: 1px solid var(--mtfe-ab-border, rgba(192, 155, 50, 0.3));
    border-radius: var(--mtfe-ab-radius, 4px);
    cursor: pointer;
    transition: color 0.35s cubic-bezier(0.23, 1, 0.32, 1),
                border-color 0.35s cubic-bezier(0.23, 1, 0.32, 1),
                transform 0.35s cubic-bezier(0.23, 1, 0.32, 1),
                box-shadow 0.35s cubic-bezier(0.23, 1, 0.32, 1);
    overflow: hidden;
    white-space: nowrap;
    font-family: inherit;
    line-height: 1;
}

/* Bottom accent line */
.mtfe-animated-btn::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: var(--mtfe-ab-line-h, 2px);
    background: linear-gradient(90deg, var(--mtfe-ab-accent, #c9a84c), var(--mtfe-ab-accent-light, #f0d080), var(--mtfe-ab-accent, #c9a84c));
    transform: scaleX(0);
    transition: transform 0.4s ease;
}

/* Radial glow overlay */
.mtfe-animated-btn::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at center, var(--mtfe-ab-glow, rgba(192, 155, 50, 0.08)) 0%, transparent 70%);
    opacity: 0;
    transition: opacity 0.35s ease;
}

/* Hover states */
.mtfe-animated-btn:hover::before {
    transform: scaleX(1);
}

.mtfe-animated-btn:hover::after {
    opacity: 1;
}

.mtfe-animated-btn:hover {
    background: #fff !important;
    color: var(--mtfe-ab-color-hover, #fff8d0);
    border-color: var(--mtfe-ab-border-hover, rgba(192, 155, 50, 0.7));
    transform: translateY(var(--mtfe-ab-lift, -3px));
}

/* Dot + label sit above the pseudo-elements */
.mtfe-animated-btn .mtfe-animated-btn__dot,
.mtfe-animated-btn .mtfe-animated-btn__label {
    position: relative;
    z-index: 1;
}

/* Accent dot */
.mtfe-animated-btn__dot {
    flex-shrink: 0;
    width: var(--mtfe-ab-dot-size, 6px);
    height: var(--mtfe-ab-dot-size, 6px);
    background: var(--mtfe-ab-accent, #c9a84c);
    border-radius: 50%;
    transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.mtfe-animated-btn:hover .mtfe-animated-btn__dot {
    transform: scale(1.5);
    box-shadow: 0 0 8px var(--mtfe-ab-accent, #c9a84c);
}
