/* site/css/theme-unicorn.css — Unicorn Chaos Magic */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,700;0,900;1,400&family=Crimson+Pro:ital,wght@0,400;1,300;1,400&display=swap');

html.theme-unicorn {
  --bg: #0a0510;
  --card-bg: #12082a;
  --card-active-bg: #1e0f3a;
  --input-bg: #100820;
  --text: #f0e6ff;
  --text-secondary: #d4b8ff;
  --accent: #b44fff;
  --border: rgba(180, 79, 255, 0.25);
  --muted: #9b8aad;
  --muted-2: #4a3060;
  --glow: rgba(180, 79, 255, 0.15);
  --btn-bg: #b44fff;
  --btn-text: #f0e6ff;
  cursor: none;
}

/* Fonts */
html.theme-unicorn body {
  font-family: 'Crimson Pro', Georgia, serif;
}
html.theme-unicorn h1,
html.theme-unicorn h2,
html.theme-unicorn .hero-title,
html.theme-unicorn .pricing-amount,
html.theme-unicorn .ceremony-title {
  font-family: 'Playfair Display', serif;
}

/* Hero title — rainbow shimmer */
@keyframes rainbow {
  0%   { background-position: 0% 50%; }
  100% { background-position: 200% 50%; }
}
html.theme-unicorn .hero-title {
  background: linear-gradient(90deg,
    #ff6ec7, #b44fff, #4fc3f7, #69ff94, #ffe066, #ff6ec7, #b44fff, #4fc3f7);
  background-size: 200% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: rainbow 8s linear infinite;
  font-size: clamp(2rem, 8vw, 5.5rem);
  font-weight: 900;
  letter-spacing: 1px;
}
html.theme-unicorn .hero-subtitle {
  font-family: 'Crimson Pro', serif;
  font-style: italic;
  font-size: 1rem;
  letter-spacing: 3px;
}
html.theme-unicorn .hero-body {
  font-size: 1rem;
  line-height: 1.9;
}

/* Button — rainbow gradient */
html.theme-unicorn .btn-primary {
  background: linear-gradient(90deg, #ff6ec7, #b44fff, #4fc3f7, #69ff94, #ff6ec7);
  background-size: 200% auto;
  animation: rainbow 6s linear infinite;
  color: #0a0510;
  font-family: 'Playfair Display', serif;
  font-style: italic;
  font-weight: 700;
  font-size: 0.95rem;
  letter-spacing: 1px;
  border: none;
}
html.theme-unicorn .btn-primary:hover {
  box-shadow: 0 8px 40px rgba(180, 79, 255, 0.5);
  opacity: 1;
  transform: translateY(-2px);
}

/* Holo border on cards */
html.theme-unicorn .curse-card {
  border: 1px solid rgba(180, 79, 255, 0.15);
  transition: border-color 0.3s, transform 0.3s, box-shadow 0.3s;
}
html.theme-unicorn .curse-card:hover,
html.theme-unicorn .curse-card.selected {
  border-color: rgba(180, 79, 255, 0.5);
  transform: translateY(-3px);
  box-shadow: 0 8px 30px rgba(180, 79, 255, 0.2);
  background: var(--card-active-bg);
}

/* Radial bg behind hero */
html.theme-unicorn .section-hero::before {
  background:
    radial-gradient(ellipse 50% 40% at 30% 40%, rgba(180,79,255,0.12) 0%, transparent 60%),
    radial-gradient(ellipse 40% 35% at 70% 55%, rgba(255,110,199,0.1) 0%, transparent 60%),
    radial-gradient(ellipse 35% 30% at 50% 80%, rgba(79,195,247,0.08) 0%, transparent 60%);
}

/* Starfield canvas */
#starfield-canvas {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}
html:not(.theme-unicorn) #starfield-canvas { display: none; }

/* Sparkle cursor */
#unicorn-cursor {
  position: fixed;
  width: 20px;
  height: 20px;
  pointer-events: none;
  z-index: 9999;
  transform: translate(-50%, -50%);
}
html:not(.theme-unicorn) #unicorn-cursor { display: none; }

.float-sparkle {
  position: fixed;
  pointer-events: none;
  z-index: 500;
  animation: floatAway 1.5s ease-out forwards;
}
@keyframes floatAway {
  0%   { opacity: 1; transform: translateY(0) scale(1); }
  100% { opacity: 0; transform: translateY(-80px) scale(0.5) rotate(180deg); }
}

/* Section dividers match holo accent */
html.theme-unicorn .section-inner::before {
  background: linear-gradient(90deg, transparent, #b44fff, transparent);
}

/* Holo line separator */
html.theme-unicorn .hero-inner::after {
  content: '';
  display: block;
  width: 120px;
  height: 1px;
  margin: 16px auto;
  background: linear-gradient(90deg, transparent, #ff6ec7, #b44fff, #4fc3f7, transparent);
  background-size: 200% auto;
  animation: rainbow 6s linear infinite;
}

/* Steps */
html.theme-unicorn .step-icon-unicorn { display: block; }
html.theme-unicorn .step-icon-occult { display: none; }
html.theme-unicorn .step {
  background: var(--card-bg);
  border: 1px solid rgba(180,79,255,0.15);
  padding: 28px 20px;
  position: relative;
  overflow: hidden;
}
html.theme-unicorn .step::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, #ff6ec7, #b44fff, #4fc3f7);
  background-size: 200% auto;
  animation: rainbow 6s linear infinite;
}
html.theme-unicorn .step-title { font-family: 'Playfair Display', serif; font-style: italic; font-size: 1rem; }

/* Hero icons: show unicorn, hide candle */
html.theme-unicorn .hero-icon-candle { display: none !important; }
html.theme-unicorn .hero-icon-unicorn { display: inline-block !important; }

/* Button: no uppercase for unicorn */
html.theme-unicorn .btn-primary { text-transform: none; }

/* Pull quote */
html.theme-unicorn .pullquote p {
  font-family: 'Playfair Display', serif;
  font-style: italic;
  font-weight: 900;
  background: linear-gradient(90deg, #ff6ec7, #b44fff, #4fc3f7, #69ff94, #ff6ec7, #b44fff);
  background-size: 200% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: rainbow 6s linear infinite;
}

/* Pricing presets */
html.theme-unicorn .pricing-preset:hover,
html.theme-unicorn .pricing-preset.selected {
  border-color: #b44fff;
  color: #b44fff;
}
