/*
 * Global gold CTA sheen
 *
 * The JavaScript adds .tcg-cta-sheen only to filled, brand-gold controls.
 * The overlay is deliberately separate from the button background so existing
 * gradients, hover colours and template-specific button styling are preserved.
 */
.tcg-cta-sheen {
    position: relative !important;
    overflow: hidden !important;
    isolation: isolate;
}

.tcg-cta-sheen__light {
    position: absolute;
    z-index: 2;
    top: -55%;
    bottom: -55%;
    left: -72%;
    width: 38%;
    pointer-events: none;
    background: linear-gradient(
        90deg,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 250, 236, 0.12) 24%,
        rgba(255, 255, 255, 0.54) 50%,
        rgba(255, 250, 236, 0.12) 76%,
        rgba(255, 255, 255, 0) 100%
    );
    transform: translateX(0) skewX(-18deg);
    animation: tcg-cta-sheen-sweep 7.2s cubic-bezier(.35, 0, .2, 1) infinite;
    animation-delay: var(--tcg-cta-sheen-delay, 0s);
    will-change: transform;
}

@keyframes tcg-cta-sheen-sweep {
    0%, 10% {
        transform: translateX(0) skewX(-18deg);
    }
    28%, 100% {
        transform: translateX(470%) skewX(-18deg);
    }
}

/* Native submit inputs cannot contain the overlay span. Keep their treatment
 * equivalent without changing the underlying brand colour. */
input.tcg-cta-sheen[type="submit"] {
    background-image: linear-gradient(
        105deg,
        rgba(255, 255, 255, 0) 32%,
        rgba(255, 250, 236, 0.48) 49%,
        rgba(255, 255, 255, 0) 66%
    ) !important;
    background-repeat: no-repeat !important;
    background-size: 320% 100% !important;
    animation: tcg-cta-input-sheen 7.2s cubic-bezier(.35, 0, .2, 1) infinite;
    animation-delay: var(--tcg-cta-sheen-delay, 0s);
}

@keyframes tcg-cta-input-sheen {
    0%, 10% { background-position: 145% 0; }
    28%, 100% { background-position: -145% 0; }
}

@media (prefers-reduced-motion: reduce) {
    .tcg-cta-sheen__light {
        display: none !important;
        animation: none !important;
    }

    input.tcg-cta-sheen[type="submit"] {
        background-image: none !important;
        animation: none !important;
    }
}


