.elementor-872 .elementor-element.elementor-element-97d2bb8{--display:flex;}.elementor-872 .elementor-element.elementor-element-8b3af52{--iteration-count:infinite;--animation-duration:800ms;--dynamic-text-color:#161529;}.elementor-872 .elementor-element.elementor-element-8b3af52 .elementor-headline{text-align:center;font-family:"Castoro Titling", Sans-serif;}.elementor-872 .elementor-element.elementor-element-8b3af52 .elementor-headline-dynamic-wrapper path{stroke:#A5619E;stroke-linecap:round;stroke-linejoin:round;}.elementor-872 .elementor-element.elementor-element-8b3af52 .elementor-headline-dynamic-wrapper svg{z-index:2;}.elementor-872 .elementor-element.elementor-element-8b3af52 .elementor-headline-dynamic-text{z-index:auto;}.elementor-872 .elementor-element.elementor-element-f14a757{--display:grid;--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-872 .elementor-element.elementor-element-4607ad5{--display:flex;}.elementor-872 .elementor-element.elementor-element-9753056{text-align:left;color:#000000;}.elementor-872 .elementor-element.elementor-element-f7671bc{--display:grid;--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-872 .elementor-element.elementor-element-462fc74{--display:grid;--e-con-grid-template-columns:repeat(3, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-872 .elementor-element.elementor-element-f14a757{--grid-auto-flow:row;}.elementor-872 .elementor-element.elementor-element-f7671bc{--grid-auto-flow:row;}.elementor-872 .elementor-element.elementor-element-462fc74{--grid-auto-flow:row;}}@media(max-width:767px){.elementor-872 .elementor-element.elementor-element-f14a757{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-872 .elementor-element.elementor-element-f7671bc{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-872 .elementor-element.elementor-element-462fc74{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}}/* Start custom CSS *//* === Donate page base gradient + moving halo orbs === */
body.page-id-872 {
  background: radial-gradient(circle at 20% 0%, #ffe8ff, #ffd6f5, #e6ccff, #ccf5ff);
  background-size: 400% 400%;
  animation: hh-heavenlyGlow 12s ease infinite;
  position: relative;
  overflow-x: hidden;
}

/* Halo orbs behind everything else */
body.page-id-872::before,
body.page-id-872::after {
  content:"";
  position:absolute;
  width:260px; height:260px;
  background: radial-gradient(circle, rgba(255,255,255,0.8) 0%, transparent 70%);
  border-radius:50%;
  filter: blur(60px);
  animation: hh-float 15s linear infinite;
  z-index: 0; /* lowest layer */
}
body.page-id-872::before { top:-10%; left:-10%; animation-delay:0s; }
body.page-id-872::after  { bottom:-15%; right:-15%; animation-delay:7s; }

/* Make theme wrappers transparent so body background shows through */
body.page-id-872 #page,
body.page-id-872 .site,
body.page-id-872 .site-content,
body.page-id-872 .elementor,
body.page-id-872 .elementor-section,
body.page-id-872 .elementor-container {
  background: transparent !important;
}

/* Animations (shared) */
@keyframes hh-heavenlyGlow {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}
@keyframes hh-float {
  0% { transform: translate(0,0); opacity:.85; }
  50% { transform: translate(50px,-50px); opacity:.45; }
  100% { transform: translate(0,0); opacity:.85; }
}
/* === Donate page wrapper (Elementor) — top light + drifting clouds === */
.elementor.elementor-872 {
  background: linear-gradient(to bottom, #fffafc 0%, #fceeff 25%, #e6ccff 70%, #ccf5ff 100%);
  background-size: cover;
  position: relative;
  overflow: hidden; /* keeps clouds contained */
}

/* Soft heavenly light from the top (sits above halos) */
.elementor.elementor-872::before {
  content: "";
  position: absolute;
  top: -20%;
  left: 50%;
  transform: translateX(-50%);
  width: 200%;
  height: 60%;
  background: radial-gradient(ellipse at center, rgba(255,255,255,0.9) 0%, rgba(255,255,255,0) 70%);
  filter: blur(80px);
  z-index: 1;
  animation: heavenlyShine 10s ease-in-out infinite alternate;
}

/* Drifting clouds (topmost background layer for atmosphere) */
.elementor.elementor-872::after {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 300%;
  height: 100%;
  background: url("https://www.transparenttextures.com/patterns/clouds.png");
  background-size: 800px 600px;
  opacity: 0.35;
  animation: driftClouds 120s linear infinite;
  z-index: 2;
}

/* Keep page content above all effects */
.elementor.elementor-872 .elementor-section,
.elementor.elementor-872 .elementor-widget,
.elementor.elementor-872 .elementor-container {
  position: relative;
  z-index: 3;
  background: transparent !important;
}

/* Page-level animations */
@keyframes heavenlyShine {
  0% { opacity: 0.6; transform: translateX(-50%) scale(1); }
  100% { opacity: 0.9; transform: translateX(-50%) scale(1.1); }
}
@keyframes driftClouds {
  0% { transform: translateX(0); }
  100% { transform: translateX(-33%); }
}
/* === Donate page wrapper (Elementor) — top light + drifting clouds === */
.elementor.elementor-872 {
  background: linear-gradient(to bottom, #fffafc 0%, #fceeff 25%, #e6ccff 70%, #ccf5ff 100%);
  background-size: cover;
  position: relative;
  overflow: hidden; /* keeps clouds contained */
}

/* Soft heavenly light from the top (sits above halos) */
.elementor.elementor-872::before {
  content: "";
  position: absolute;
  top: -20%;
  left: 50%;
  transform: translateX(-50%);
  width: 200%;
  height: 60%;
  background: radial-gradient(ellipse at center, rgba(255,255,255,0.9) 0%, rgba(255,255,255,0) 70%);
  filter: blur(80px);
  z-index: 1;
  animation: heavenlyShine 10s ease-in-out infinite alternate;
}

/* Drifting clouds (topmost background layer for atmosphere) */
.elementor.elementor-872::after {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 300%;
  height: 100%;
  background: url("https://www.transparenttextures.com/patterns/clouds.png");
  background-size: 800px 600px;
  opacity: 0.35;
  animation: driftClouds 120s linear infinite;
  z-index: 2;
}

/* Keep page content above all effects */
.elementor.elementor-872 .elementor-section,
.elementor.elementor-872 .elementor-widget,
.elementor.elementor-872 .elementor-container {
  position: relative;
  z-index: 3;
  background: transparent !important;
}

/* Page-level animations */
@keyframes heavenlyShine {
  0% { opacity: 0.6; transform: translateX(-50%) scale(1); }
  100% { opacity: 0.9; transform: translateX(-50%) scale(1.1); }
}
@keyframes driftClouds {
  0% { transform: translateX(0); }
  100% { transform: translateX(-33%); }
}/* End custom CSS */