/* Base layout & custom typography imports override */
body {
  background-color: #050505;
  color: #f3f4f6;
  font-family: 'Montserrat', sans-serif;
  margin: 0;
  padding: 0;
  cursor: none; /* Hide standard cursor to show gold spark */
}

/* Custom interactive spark cursor */
#custom-cursor {
  position: fixed;
  width: 8px;
  height: 8px;
  background-color: #C6A15B;
  border-radius: 50%;
  pointer-events: none;
  z-index: 9999;
  transform: translate(-50%, -50%);
  transition: transform 0.05s ease;
}

#custom-cursor-spark {
  position: fixed;
  width: 28px;
  height: 28px;
  border: 1px solid rgba(198, 161, 91, 0.5);
  border-radius: 50%;
  pointer-events: none;
  z-index: 9998;
  transform: translate(-50%, -50%);
  transition: transform 0.15s ease-out;
}

/* Hide custom cursor on mobile to maintain optimal touch support */
@media (max-width: 1024px) {
  body {
    cursor: auto;
  }
  #custom-cursor, #custom-cursor-spark {
    display: none;
  }
}

/* Glassmorphism overlays */
.glassmorphism {
  background: rgba(13, 13, 13, 0.45);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(198, 161, 91, 0.15);
}

/* 3D Tarot Card Flip Animation Classes */
.tarot-card-slot {
  perspective: 1200px;
}

.tarot-card-inner {
  transform-style: preserve-3d;
  position: relative;
  transition: transform 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

/* To flip card face up */
.tarot-card-inner.is-flipped {
  transform: rotateY(180deg);
}

.tarot-card-front, .tarot-card-back {
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transition: border-color 0.4s ease, box-shadow 0.4s ease;
}

.tarot-card-back {
  transform: rotateY(180deg);
}

/* Card shimmer highlights on reveal hover */
.tarot-card-inner.is-flipped .tarot-card-back {
  box-shadow: 0 0 25px rgba(198, 161, 91, 0.25);
  border-color: #C6A15B;
}

/* Luxury Input Field halos */
input:focus ~ .input-halo, textarea:focus ~ .input-halo {
  box-shadow: 0 0 15px rgba(198, 161, 91, 0.25);
  border-color: #C6A15B;
}
