/* Yellow, White, Green 

  Primary Color Scheme:#FACC15
  Secondary Color Scheme: #ddcc8a
  Accent Color Scheme: #18e273
*/

html {
  scroll-behavior: smooth;
}

html,
body {
  overflow-x: hidden;
}
body {
  background-color: #f8f084;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* Add to your stylesheet or <style> block */
.parallax-bg {
  position: relative;
  background-image: url("/images/astrology-bg.png");
  background-attachment: fixed;
  background-size: cover;
  background-position: center;
}

.parallax-bg::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(255, 255, 255, 0.49); /* Dark overlay */
  z-index: 0;
}

.parallax-bg > * {
  position: relative;
  z-index: 10;
}

/* Loader */
.loader {
  width: 100vw;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  filter: drop-shadow(0 0 20px rgba(255, 255, 255, 0.3));
}

.figure-wrapper {
  position: relative;
  width: 30vw; /* or any responsive value */
  max-width: 300px;
  min-width: 180px;
}

.ganesha {
  width: 100%;
  height: auto;
  display: block;
  z-index: 2;
  position: relative;
}

.halo-wrapper {
  position: absolute;
  top: -1%; /* Adjust based on where the head starts */
  left: 49%;
  transform: translateX(-50%);
  width: 55%; /* ⅓ of image width */
  aspect-ratio: 1 / 1;
  z-index: 1;
  pointer-events: none;
}

.halo,
.halo-css {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  animation: rotate 3s linear infinite;
}

.halo-css {
  border: 4px solid yellow;
  border-radius: 50%;
  box-shadow: 0 0 10px yellow;
}

@keyframes rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

.halo-shimmer {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(255, 255, 0, 0.7) 0%,
    rgba(255, 255, 0, 0.3) 100%
  );
  animation: shimmer 3s ease-in-out infinite;
  z-index: 0;
  pointer-events: none;
}

@keyframes shimmer {
  0%,
  100% {
    transform: scale(1);
    opacity: 0.5;
  }
  50% {
    transform: scale(1.2);
    opacity: 0.8;
  }
}

.border-animation {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  pointer-events: none; /* Ensures it doesn’t block interaction */
  z-index: 0; /* Keep it behind everything */
  background: linear-gradient(90deg, #0000 64%, #00ff73 66% 98%, #0000 101%) top,
    linear-gradient(90deg, #0000 64%, #00ff73 66% 98%, #0000 101%) bottom,
    linear-gradient(0deg, #0000 64%, #00ff73 66% 98%, #0000 101%) left,
    linear-gradient(0deg, #0000 64%, #00ff73 66% 98%, #0000 101%) right;
  background-size: 200% 3px, 200% 3px, 3px 200%, 3px 200%;
  background-repeat: no-repeat;
  animation: border-glow 2s linear infinite;
}

@keyframes border-glow {
  0% {
    background-position: 200% 0, -200% 100%, 0 200%, 100% -200%;
  }
  100% {
    background-position: -200% 0, 200% 100%, 0 -200%, 100% 200%;
  }
}
.loader-bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: radial-gradient(
    circle at center,
    rgb(255, 255, 255) 5%,
    #fcfc42 10%,
    #02b051 100%
  );
  background-size: 200% 200%;
  animation: radialShift 10s ease-in-out infinite;
  z-index: -1;
}

@keyframes radialShift {
  0% {
    background-position: center center;
    background-size: 200% 200%;
  }
  50% {
    background-position: center center;
    background-size: 300% 300%;
  }
  100% {
    background-position: center center;
    background-size: 200% 200%;
  }
}

.fade-out {
  opacity: 0;
  visibility: hidden;
  transition: opacity 1s ease, visibility 1s ease;
}

@keyframes scroll-om {
  0% {
    transform: translateX(-10%);
  }
  50% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-10%);
  }
}

.animate-scroll-om {
  display: inline-block;
  animation: scroll-om 4s ease-in-out infinite;
}

/* Hero Section */

@keyframes slowRotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

.slow-spin {
  animation: slowRotate 20s linear infinite;
}

/* Testimonial */

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets
  .swiper-pagination-bullet {
  width: 16px !important;
  height: 4px !important;
  border-radius: 5px !important;
  margin: 0 6px !important;
}

.swiper-pagination {
  bottom: 2px !important;
}

.swiper-wrapper {
  height: max-content !important;
  width: max-content !important;
  padding-bottom: 64px;
}

.swiper-pagination-bullet-active {
  background: #4f46e5 !important;
}

.swiper-slide.swiper-slide-active > .slide_active\:border-indigo-600 {
  --tw-border-opacity: 1;
  border-color: rgb(79 70 229 / var(--tw-border-opacity));
}

.swiper-slide.swiper-slide-active > .group .slide_active\:text-gray-800 {
  ---tw-text-opacity: 1;
  color: rgb(31 41 55 / var(--tw-text-opacity));
}
