/* Golden Glass Button Effects */
.wp-block-button__link,
.ggbe-button {
    --ggbe-color: #d4af37;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    border: 1px solid rgba(255,255,255,.38) !important;
    background: linear-gradient(
        135deg,
        rgba(255,255,255,.22),
        rgba(255,255,255,.07)
    ) !important;
    color: #fff !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.32),
        inset 0 -1px 0 rgba(255,255,255,.08),
        0 5px 18px rgba(0,0,0,.12);
    transition:
        color .35s ease,
        background .35s ease,
        border-color .35s ease,
        box-shadow .4s ease,
        transform .3s ease;
}

/* subtle diagonal glass sheen */
.wp-block-button__link::before,
.ggbe-button::before {
    content: "";
    position: absolute;
    inset: -80%;
    z-index: -1;
    pointer-events: none;
    background: repeating-linear-gradient(
        135deg,
        transparent 0,
        transparent 18px,
        rgba(255,255,255,.055) 19px,
        rgba(255,255,255,.055) 25px,
        transparent 26px,
        transparent 43px
    );
    animation: ggbe-sheen 6s linear infinite;
}

/* golden halo is hidden in normal state */
.wp-block-button__link::after,
.ggbe-button::after {
    content: "";
    position: absolute;
    inset: -5px;
    z-index: -2;
    pointer-events: none;
    border-radius: inherit;
    opacity: 0;
    background: conic-gradient(
        from 0deg,
        transparent 0deg,
        transparent 55deg,
        var(--ggbe-color) 105deg,
        #fff1a8 145deg,
        var(--ggbe-color) 185deg,
        transparent 235deg,
        transparent 360deg
    );
    filter: blur(2px);
    animation: ggbe-halo 2.2s linear infinite;
    transition: opacity .3s ease;
}

/* hover: selected color fills the button + yellow glow */
.wp-block-button__link:hover,
.ggbe-button:hover {
    transform: translateY(-2px);
    color: #fff !important;
    border-color: var(--ggbe-color) !important;
    background:
        linear-gradient(
            135deg,
            color-mix(in srgb, var(--ggbe-color) 92%, white 8%),
            var(--ggbe-color)
        ) !important;
    box-shadow:
        0 0 7px color-mix(in srgb, var(--ggbe-color) 90%, white 10%),
        0 0 20px color-mix(in srgb, var(--ggbe-color) 70%, transparent),
        0 0 42px color-mix(in srgb, var(--ggbe-color) 45%, transparent),
        inset 0 1px 0 rgba(255,255,255,.45);
}

.wp-block-button__link:hover::after,
.ggbe-button:hover::after {
    opacity: 1;
}

@keyframes ggbe-sheen {
    from { transform: translate(-8%, -8%); }
    to   { transform: translate(8%, 8%); }
}

@keyframes ggbe-halo {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}

/* Optional color presets */
.ggbe-gold { --ggbe-color: #d4af37; }
.ggbe-yellow { --ggbe-color: #f5c518; }
.ggbe-amber { --ggbe-color: #ffb300; }
.ggbe-orange { --ggbe-color: #f59e0b; }
