/*
 * homepage.css — Website Marrakech
 * Homepage-only styles. ALL rules scoped under .wm-home
 * to prevent bleeding into other pages.
 * Loaded ONLY on is_front_page().
 */

/* ── CURSOR */
.wm-home,
.wm-home * {
  cursor: none !important;
}

#wmc-cursor {
  position: fixed !important;
  width: 12px; height: 12px;
  background: var(--wmc-lime);
  border-radius: 50%;
  pointer-events: none;
  z-index: var(--wmc-z-cursor);
  left: 0; top: 0;
  transform: translate(-50%, -50%);
  transition: width 0.2s, height 0.2s, background 0.2s;
  mix-blend-mode: difference;
  opacity: 0;
}

#wmc-cursor-ring {
  position: fixed !important;
  width: 40px; height: 40px;
  border: 1.5px solid rgba(202, 255, 0, 0.5);
  border-radius: 50%;
  pointer-events: none;
  z-index: calc(var(--wmc-z-cursor) - 1);
  left: 0; top: 0;
  transform: translate(-50%, -50%);
  transition: width 0.25s, height 0.25s, border-color 0.25s;
  opacity: 0;
}

/* ── PARTICLES */
#wmc-particles {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

/* ── HERO */
.wm-home .wmc-hero {
  min-height: 100vh;
  position: relative;
  overflow: hidden;
}

.wm-home .wmc-hero-bg {
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 55% 65% at 75% 50%, rgba(255,59,255,.18) 0%, transparent 65%),
    radial-gradient(ellipse 45% 55% at 20% 85%, rgba(0,212,255,.12) 0%, transparent 60%),
    radial-gradient(ellipse 35% 35% at 85% 8%,  rgba(202,255,0,.09) 0%, transparent 55%);
  animation: wmcBgBreath 10s ease-in-out infinite alternate;
}

.wm-home .wmc-hero-grid {
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 60px 60px;
}

/* ── ANIMATED GRADIENT TEXT */
.wm-home .wmc-gradient-animated {
  background: linear-gradient(90deg, var(--wmc-electric), var(--wmc-accent), var(--wmc-lime), var(--wmc-electric));
  background-size: 300% 100%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: wmcGradientShift 4s linear infinite;
}

/* ── TYPEWRITER cursor */
#wmc-typewriter::after {
  content: '|';
  animation: wmcBlink 0.7s step-end infinite;
  color: var(--wmc-lime);
}

/* ── COUNTER stats */
.wm-home .wmc-stat-value {
  font-family: var(--wmc-font-display);
  font-weight: 800;
  font-size: 2.3rem;
  color: var(--wmc-lime);
  line-height: 1;
  display: block;
}

/* ── MARQUEE / TICKER */
.wm-home .wmc-marquee-wrap { overflow: hidden; }
.wm-home .wmc-marquee-track {
  display: flex;
  gap: 4rem;
  white-space: nowrap;
  animation: wmcMarquee 22s linear infinite;
}
.wm-home .wmc-marquee-wrap:hover .wmc-marquee-track {
  animation-play-state: paused;
}

.wm-home .wmc-ticker-track {
  display: flex;
  white-space: nowrap;
  animation: wmcMarquee 14s linear infinite;
}

/* ── FLOATING HERO CARDS */
.wm-home .wmc-float { animation: wmcFloat 4s ease-in-out infinite; }
.wm-home .wmc-float-2 { animation: wmcFloat 4s 1.2s ease-in-out infinite; }
.wm-home .wmc-float-3 { animation: wmcFloat 4s 2.2s ease-in-out infinite; }

/* ── ORB animations */
.wm-home .wmc-orb-spin   { animation: wmcSpin 10s linear infinite; }
.wm-home .wmc-orb-pulse  { animation: wmcPulse 3s ease-in-out infinite; }
.wm-home .wmc-orb-orbit  { animation: wmcOrbit 8s linear infinite; }

/* ── KEYFRAMES — prefixed wmc to avoid collisions */
@keyframes wmcBgBreath    { 0%{opacity:.8} 100%{opacity:1} }
@keyframes wmcGradientShift { 0%{background-position:0% 50%} 100%{background-position:300% 50%} }
@keyframes wmcBlink       { 0%,100%{opacity:1} 50%{opacity:0} }
@keyframes wmcMarquee     { from{transform:translateX(0)} to{transform:translateX(-50%)} }
@keyframes wmcFloat       { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-14px)} }
@keyframes wmcSpin        { to{transform:translate(-50%,-50%) rotate(360deg)} }
@keyframes wmcPulse       { 0%,100%{transform:translate(-50%,-50%) scale(1);opacity:.4} 50%{transform:translate(-50%,-50%) scale(1.12);opacity:.65} }
@keyframes wmcOrbit       { from{transform:rotate(0deg) translateX(120px) rotate(0deg)} to{transform:rotate(360deg) translateX(120px) rotate(-360deg)} }
@keyframes wmcBarGrow     { from{width:0} to{width:72%} }
@keyframes wmcBarUp       { from{transform:scaleY(0)} to{transform:scaleY(1)} }
@keyframes wmcLivePulse   { 0%,100%{box-shadow:0 0 0 0 rgba(255,59,59,.5)} 50%{box-shadow:0 0 0 6px rgba(255,59,59,0)} }
@keyframes wmcDotPulse    { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.5;transform:scale(1.5)} }

/* ── RESPONSIVE */
@media (max-width: 900px) {
  .wm-home,
  .wm-home * {
    cursor: auto !important;
  }
  #wmc-cursor,
  #wmc-cursor-ring { display: none !important; }
}
