/**
 * InvitKeun — bentuk partikel FX premium (SVG/CSS, tanpa ikon burung FA)
 */

.fx-sparkle-shape,
.fx-butterfly-shape,
.fx-star-shape,
.fx-leaf-shape,
.fx-ornament-shape,
.fx-lantern-shape,
.fx-heart-shape {
    display: block;
    line-height: 0;
}

.fx-sparkle-shape svg {
    width: 1em;
    height: 1em;
    overflow: visible;
}

.fx-sparkle-main {
    fill: currentColor;
    opacity: 0.92;
}

.fx-sparkle-dot {
    fill: currentColor;
    opacity: 0.55;
}

.fx-sparkles {
    color: rgba(var(--fx-glow-rgb), 1);
    filter: drop-shadow(0 0 10px rgba(var(--fx-glow-rgb), 0.55))
        drop-shadow(0 4px 12px rgba(0, 0, 0, 0.12));
}

.fx-butterfly-shape svg {
    width: 1.2em;
    height: 0.82em;
    overflow: visible;
}

.fx-butterfly-shape path,
.fx-butterfly-shape ellipse {
    fill: currentColor;
}

.fx-butterflies {
    filter: drop-shadow(0 4px 10px rgba(var(--fx-glow-rgb), 0.35));
}

.fx-star-shape svg {
    width: 0.95em;
    height: 0.95em;
    fill: currentColor;
    filter: drop-shadow(0 0 8px rgba(253, 230, 138, 0.65));
}

.fx-leaf-shape svg {
    width: 0.75em;
    height: 1em;
    fill: currentColor;
    opacity: 0.88;
}

.fx-leaves {
    color: #6fae7a;
}

.fx-ornament-shape svg {
    width: 1em;
    height: 1em;
    fill: currentColor;
    color: rgba(var(--fx-glow-rgb), 0.95);
}

.fx-lantern-shape svg {
    width: 0.85em;
    height: 1.1em;
    fill: currentColor;
}

.fx-heart-shape {
    position: relative;
    width: 0.9em;
    height: 0.82em;
}

.fx-heart-shape::before,
.fx-heart-shape::after {
    content: '';
    position: absolute;
    top: 0;
    width: 0.52em;
    height: 0.8em;
    border-radius: 50% 50% 0 0;
    background: linear-gradient(160deg, #fda4af, #f472b6 55%, #ec4899);
    transform: rotate(-45deg);
    transform-origin: 0 100%;
    box-shadow: 0 4px 12px rgba(244, 114, 182, 0.4);
}

.fx-heart-shape::after {
    left: 0.38em;
    transform: rotate(45deg);
    transform-origin: 100% 100%;
}

.fx-hearts {
    color: transparent;
    background: none;
}

/* Legacy: jika masih ada class fx-birds di cache, tampilkan sebagai sparkle */
.fx-birds {
    color: rgba(var(--fx-glow-rgb), 1);
    animation-name: fxSparkleRise !important;
}

.fx-birds::before {
    content: none;
}
