/* ==========================================================================
   INVITATION — PARTIKEL DEKORATIF
   Diaktifkan lewat config: config.effects.particles
   Nilai: none | petals | confetti | snow | balloons | sparkle | bubbles | fireflies
   Semua partikelrespect prefers-reduced-motion (dimatikan otomatis).
   Canvas tunggal, devicePixelRatio aware, requestAnimationFrame, dan
   otomatis berhenti saat tab tidak terlihat (hemat battery).
   ========================================================================== */

.inv-particles {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none; /* tidak mengganggu klik tombol/RSVP */
    z-index: 900;          /* di atas konten, di bawah subnav (z=1050) */
    overflow: hidden;
}

.inv-particles canvas {
    display: block;
    width: 100%;
    height: 100%;
}

/* Partikel butuh kontras; dibungkus agar tidak memotong section sticky. */
body.inv-has-particles {
    overflow-x: hidden;
}

/* Hemat performa di layar kecil: kurangi jumlah partikel lewat CSS var. */
@media (prefers-reduced-motion: reduce) {
    .inv-particles { display: none; }
}

/* Partikel dekoratif disembunyikan padaCetak agar tidak ruining hasil print. */
@media print {
    .inv-particles { display: none !important; }
}