/**
 * $VIOLA — Solana ecosystem theme
 * Palette: Solana Purple #9945FF · Solana Green #14F195 · Dark #000
 */

:root {
  --sol-purple: #9945ff;
  --sol-green: #14f195;
  --sol-cyan: #00ffa3;
  --sol-dark: #050508;
  --sol-surface: #0d0d14;
  --sol-surface-2: #12121c;
  --sol-ink: #f5f5f7;
  --sol-muted: #a1a1b5;
  --sol-gradient: linear-gradient(115deg, #9945ff 0%, #14f195 100%);
  --sol-gradient-soft: linear-gradient(
    135deg,
    rgba(153, 69, 255, 0.35) 0%,
    rgba(20, 241, 149, 0.2) 55%,
    rgba(5, 5, 8, 0.95) 100%
  );
  --sol-font-display: "Space Grotesk", "Segoe UI", sans-serif;
  --sol-font-body: "IBM Plex Sans", "Segoe UI", sans-serif;
  --sol-font-mono: "IBM Plex Mono", "DM Mono", monospace;
}

html,
body {
  background: var(--sol-dark) !important;
  color: var(--sol-ink);
  overflow-x: hidden;
}

body,
.elementor-1948 {
  font-family: var(--sol-font-body);
}

/* ---------- Hero ---------- */
/* Keep original bright teal + bg art so paw prints stay visible */
.elementor-1948
  .elementor-element.elementor-element-4594bcd:not(
    .elementor-motion-effects-element-type-background
  ),
.elementor-1948
  .elementor-element.elementor-element-4594bcd
  > .elementor-motion-effects-container
  > .elementor-motion-effects-layer {
  background-color: #009c9e !important;
  background-image: url("/wp-content/uploads/2024/10/bgMain-1.png") !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}

/* No dark Solana wash on hero — it hides paw prints in the art */
.elementor-1948 .elementor-element.elementor-element-4594bcd::after {
  display: none !important;
  content: none !important;
  background: none !important;
  animation: none !important;
}

.elementor-1948
  .elementor-element.elementor-element-4594bcd
  > .elementor-shape-bottom
  svg
  path,
.elementor-1948
  .elementor-element.elementor-element-4594bcd
  > .e-con-inner
  > .elementor-shape-bottom
  svg
  path {
  fill: var(--sol-surface) !important;
}

/* Hero fancy title — keep Premium tilt/highlight effect visible */
.elementor-1948
  .elementor-element.elementor-element-b267d15
  .premium-atext__text,
.elementor-1948
  .elementor-element.elementor-element-b267d15
  .premium-atext__letter {
  color: #14f195 !important;
  -webkit-text-fill-color: #14f195 !important;
  background: none !important;
  -webkit-background-clip: initial !important;
  background-clip: initial !important;
  text-shadow: 4px 0 10px rgba(0, 0, 0, 0.35) !important;
  -webkit-text-stroke-width: 6px !important;
  -webkit-text-stroke-color: #ffffff !important;
  filter: drop-shadow(0 0 18px rgba(153, 69, 255, 0.35));
}

.elementor-1948
  .elementor-element.elementor-element-b267d15
  .premium-fancy-svg-text
  .premium-fancy-list-items,
.elementor-1948 .elementor-element.elementor-element-b267d15 .text {
  fill: #14f195 !important;
  stroke: #ffffff !important;
  stroke-width: 6 !important;
}

.elementor-1948
  .elementor-element.elementor-element-b267d15
  .premium-atext__headline,
.elementor-1948
  .elementor-element.elementor-element-b267d15
  .premium-atext__text,
.elementor-1948
  .elementor-element.elementor-element-b267d15
  .premium-atext__letter {
  font-family: "Quirky Spring", "Space Grotesk", sans-serif !important;
}

.elementor-1948
  .elementor-element.elementor-element-b267d15
  .premium-atext__wrapper.premium-atext__tilt {
  opacity: 1;
}

.elementor-1948
  .elementor-element.elementor-element-914cddd
  .elementor-heading-title {
  color: var(--sol-ink) !important;
  font-family: "WildLife Animal", var(--sol-font-display) !important;
  font-weight: 500 !important;
  letter-spacing: -0.02em !important;
  text-shadow: 0 0 40px rgba(153, 69, 255, 0.35) !important;
}

/* ---------- Meme / mid sections ---------- */
.elementor-1948 .elementor-element.elementor-element-36b0385,
.elementor-1948 .elementor-element.elementor-element-7092683 {
  background-color: var(--sol-surface) !important;
}

/* Other fancy titles — solid Solana colors (keep animation readable) */
.elementor-1948
  .elementor-element.elementor-element-3232eca
  .premium-atext__text,
.elementor-1948
  .elementor-element.elementor-element-3232eca
  .premium-atext__letter,
.elementor-1948
  .elementor-element.elementor-element-24dc376
  .premium-atext__text,
.elementor-1948
  .elementor-element.elementor-element-24dc376
  .premium-atext__letter {
  color: #9945ff !important;
  -webkit-text-fill-color: #9945ff !important;
  background: none !important;
  -webkit-background-clip: initial !important;
  background-clip: initial !important;
  text-shadow: 4px 4px 0 rgba(0, 0, 0, 0.45) !important;
  -webkit-text-stroke-width: 3px !important;
  -webkit-text-stroke-color: #ffffff !important;
}

.elementor-1948
  .elementor-element.elementor-element-b4baaeb
  .premium-atext__text,
.elementor-1948
  .elementor-element.elementor-element-b4baaeb
  .premium-atext__letter,
.elementor-1948
  .elementor-element.elementor-element-0d41d8b
  .premium-atext__text,
.elementor-1948
  .elementor-element.elementor-element-0d41d8b
  .premium-atext__letter {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: none !important;
  -webkit-background-clip: initial !important;
  background-clip: initial !important;
  text-shadow: 4px 4px 0 rgba(0, 0, 0, 0.45) !important;
  -webkit-text-stroke-width: 3px !important;
  -webkit-text-stroke-color: #9945ff !important;
}

.elementor-1948
  .elementor-element.elementor-element-3232eca
  .premium-fancy-svg-text
  .premium-fancy-list-items,
.elementor-1948 .elementor-element.elementor-element-3232eca .text,
.elementor-1948
  .elementor-element.elementor-element-24dc376
  .premium-fancy-svg-text
  .premium-fancy-list-items,
.elementor-1948 .elementor-element.elementor-element-24dc376 .text {
  fill: #9945ff !important;
  stroke: #ffffff !important;
}

.elementor-1948
  .elementor-element.elementor-element-b4baaeb
  .premium-fancy-svg-text
  .premium-fancy-list-items,
.elementor-1948 .elementor-element.elementor-element-b4baaeb .text,
.elementor-1948
  .elementor-element.elementor-element-0d41d8b
  .premium-fancy-svg-text
  .premium-fancy-list-items,
.elementor-1948 .elementor-element.elementor-element-0d41d8b .text {
  fill: #ffffff !important;
  stroke: #9945ff !important;
}

.elementor-1948
  .elementor-element.elementor-element-3232eca
  .premium-atext__headline,
.elementor-1948
  .elementor-element.elementor-element-3232eca
  .premium-atext__text,
.elementor-1948
  .elementor-element.elementor-element-3232eca
  .premium-atext__letter,
.elementor-1948
  .elementor-element.elementor-element-24dc376
  .premium-atext__headline,
.elementor-1948
  .elementor-element.elementor-element-24dc376
  .premium-atext__text,
.elementor-1948
  .elementor-element.elementor-element-24dc376
  .premium-atext__letter,
.elementor-1948
  .elementor-element.elementor-element-b4baaeb
  .premium-atext__headline,
.elementor-1948
  .elementor-element.elementor-element-b4baaeb
  .premium-atext__text,
.elementor-1948
  .elementor-element.elementor-element-b4baaeb
  .premium-atext__letter,
.elementor-1948
  .elementor-element.elementor-element-0d41d8b
  .premium-atext__headline,
.elementor-1948
  .elementor-element.elementor-element-0d41d8b
  .premium-atext__text,
.elementor-1948
  .elementor-element.elementor-element-0d41d8b
  .premium-atext__letter {
  font-family: "Quirky Spring", "Space Grotesk", sans-serif !important;
}

.elementor-1948 .premium-atext__wrapper.premium-atext__tilt {
  opacity: 1 !important;
}

/* Ensure letter spans inherit fill + outline */
.elementor-1948 .premium-atext__letter {
  display: inline-block;
  paint-order: stroke fill;
}

/* Image borders → Solana violet */
.elementor-1948 .elementor-element img[style],
.elementor-1948 .elementor-element.elementor-element-efc07e1 img,
.elementor-1948 .elementor-element.elementor-element-13d880a img,
.elementor-1948 .elementor-element.elementor-element-d1474f3 img,
.elementor-1948 [class*="elementor-element-"] img {
  border-color: rgba(153, 69, 255, 0.55) !important;
}

.elementor-1948 .elementor-element.elementor-element-efc07e1 img,
.elementor-1948 .elementor-element.elementor-element-13d880a img,
.elementor-1948 .elementor-element.elementor-element-d1474f3 img {
  border-radius: 20px !important;
  box-shadow: 0 12px 40px rgba(153, 69, 255, 0.2) !important;
  border-width: 1px !important;
}

/* Gallery meme tiles */
.elementor-1948 .elementor-element.elementor-element-4918b85 img,
.elementor-1948 .elementor-element.elementor-element-36b0385 img {
  border-radius: 16px !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.45) !important;
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.elementor-1948 .elementor-element.elementor-element-36b0385 img:hover {
  transform: translateY(-4px) scale(1.02);
  box-shadow: 0 16px 48px rgba(153, 69, 255, 0.35) !important;
}

/* ---------- CA / socials ---------- */
.elementor-1948 .elementor-element.elementor-element-39b90e2 .elementor-button {
  font-family: var(--sol-font-mono) !important;
  color: #050508 !important;
  fill: #050508 !important;
  background: var(--sol-gradient) !important;
  border: none !important;
  border-radius: 999px !important;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.08),
    0 8px 32px rgba(153, 69, 255, 0.4) !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease, filter 0.25s ease;
}

.elementor-1948
  .elementor-element.elementor-element-39b90e2
  .elementor-button:hover {
  transform: translateY(-2px);
  filter: brightness(1.08);
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.12),
    0 12px 40px rgba(20, 241, 149, 0.35) !important;
}

.elementor-1948 .elementor-element.elementor-element-ac6c3d9 img {
  filter: drop-shadow(0 0 12px rgba(153, 69, 255, 0.35));
  transition: transform 0.25s ease, filter 0.25s ease;
}

.elementor-1948 .elementor-element.elementor-element-ac6c3d9 a:hover img {
  transform: scale(1.08);
  filter: drop-shadow(0 0 18px rgba(20, 241, 149, 0.55));
}

/* ---------- About / amber sections → deep violet surface ---------- */
.elementor-1948
  .elementor-element.elementor-element-2a0bb2c:not(
    .elementor-motion-effects-element-type-background
  ),
.elementor-1948
  .elementor-element.elementor-element-2a0bb2c
  > .elementor-motion-effects-container
  > .elementor-motion-effects-layer,
.elementor-1948
  .elementor-element.elementor-element-ef89501:not(
    .elementor-motion-effects-element-type-background
  ),
.elementor-1948
  .elementor-element.elementor-element-ef89501
  > .elementor-motion-effects-container
  > .elementor-motion-effects-layer {
  background-color: #0a0618 !important;
  background-image: none !important;
}

.elementor-1948 .elementor-element.elementor-element-2a0bb2c::before,
.elementor-1948
  .elementor-element.elementor-element-2a0bb2c
  > .elementor-background-video-container::before,
.elementor-1948
  .elementor-element.elementor-element-2a0bb2c
  > .e-con-inner
  > .elementor-background-video-container::before,
.elementor-1948
  .elementor-element.elementor-element-2a0bb2c
  > .elementor-background-slideshow::before,
.elementor-1948
  .elementor-element.elementor-element-2a0bb2c
  > .e-con-inner
  > .elementor-background-slideshow::before,
.elementor-1948
  .elementor-element.elementor-element-2a0bb2c
  > .elementor-motion-effects-container
  > .elementor-motion-effects-layer::before,
.elementor-1948 .elementor-element.elementor-element-ef89501::before,
.elementor-1948
  .elementor-element.elementor-element-ef89501
  > .elementor-background-video-container::before,
.elementor-1948
  .elementor-element.elementor-element-ef89501
  > .e-con-inner
  > .elementor-background-video-container::before,
.elementor-1948
  .elementor-element.elementor-element-ef89501
  > .elementor-background-slideshow::before,
.elementor-1948
  .elementor-element.elementor-element-ef89501
  > .e-con-inner
  > .elementor-background-slideshow::before,
.elementor-1948
  .elementor-element.elementor-element-ef89501
  > .elementor-motion-effects-container
  > .elementor-motion-effects-layer::before {
  background-image:
    radial-gradient(
      ellipse 60% 50% at 10% 30%,
      rgba(153, 69, 255, 0.3),
      transparent 60%
    ),
    radial-gradient(
      ellipse 50% 40% at 90% 80%,
      rgba(20, 241, 149, 0.18),
      transparent 55%
    ) !important;
  opacity: 1 !important;
}

.elementor-1948
  .elementor-element.elementor-element-2a0bb2c
  > .elementor-shape-top
  svg
  path,
.elementor-1948
  .elementor-element.elementor-element-2a0bb2c
  > .e-con-inner
  > .elementor-shape-top
  svg
  path,
.elementor-1948
  .elementor-element.elementor-element-2a0bb2c
  > .elementor-shape-bottom
  svg
  path,
.elementor-1948
  .elementor-element.elementor-element-2a0bb2c
  > .e-con-inner
  > .elementor-shape-bottom
  svg
  path,
.elementor-1948
  .elementor-element.elementor-element-ef89501
  > .elementor-shape-top
  svg
  path,
.elementor-1948
  .elementor-element.elementor-element-ef89501
  > .e-con-inner
  > .elementor-shape-top
  svg
  path {
  fill: var(--sol-surface) !important;
}

/* About copy */
.elementor-1948
  .elementor-element.elementor-element-6f5e2e8
  .premium-atext__text,
.elementor-1948
  .elementor-element.elementor-element-c8f0a0a
  .premium-atext__text {
  color: var(--sol-ink) !important;
  -webkit-text-stroke-width: 0 !important;
  text-shadow: none !important;
}

.elementor-1948
  .elementor-element[class*="elementor-element-"]
  .elementor-heading-title {
  font-family: var(--sol-font-body) !important;
}

.elementor-1948
  .elementor-element.elementor-element-2888a27
  .elementor-heading-title,
.elementor-1948
  .elementor-element.elementor-element-a75cc8d
  .elementor-heading-title,
.elementor-1948
  .elementor-element.elementor-element-3729b5d
  .elementor-heading-title {
  color: transparent !important;
  background: var(--sol-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  font-family: var(--sol-font-display) !important;
  font-weight: 700 !important;
  -webkit-text-stroke-width: 0 !important;
  stroke-width: 0 !important;
}

.elementor-1948
  .elementor-element.elementor-element-9d26c4b
  .elementor-heading-title,
.elementor-1948
  .elementor-element.elementor-element-4797c7e
  .elementor-heading-title,
.elementor-1948
  .elementor-element.elementor-element-98d670f
  .elementor-heading-title {
  color: var(--sol-ink) !important;
  font-family: var(--sol-font-display) !important;
  font-weight: 600 !important;
}

/* Body / about text panels */
.elementor-1948
  .elementor-element.elementor-element-8350a7b
  .elementor-heading-title,
.elementor-1948
  .elementor-element.elementor-element-1a5228c
  .elementor-heading-title {
  color: var(--sol-muted) !important;
  font-family: var(--sol-font-body) !important;
}

.elementor-1948 [class*="elementor-element-"] .elementor-heading-title {
  -webkit-text-stroke-width: 0 !important;
}

.elementor-1948
  .elementor-element.elementor-element-e055b39
  .elementor-button,
.elementor-1948
  .elementor-element.elementor-element-96d3ea7
  .elementor-button,
.elementor-1948 .elementor-button {
  font-family: var(--sol-font-display) !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  color: #050508 !important;
  fill: #050508 !important;
  background: var(--sol-gradient) !important;
  border: none !important;
  border-radius: 999px !important;
  box-shadow: 0 8px 28px rgba(153, 69, 255, 0.35) !important;
  transition: transform 0.25s ease, filter 0.25s ease;
}

.elementor-1948 .elementor-button:hover {
  transform: translateY(-2px) scale(1.02);
  filter: brightness(1.06);
}

/* Roadmap / footer */
.elementor-1948 .elementor-element.elementor-element-67a097a,
.elementor-1948 .elementor-element.elementor-element-2284348,
.elementor-1948 .elementor-element.elementor-element-bee7c00 {
  background: var(--sol-dark) !important;
}

.elementor-1948
  .elementor-element.elementor-element-67a097a
  .elementor-heading-title {
  color: var(--sol-ink) !important;
}

/* Display type: keep Quirky Spring for fancy titles */
.elementor-1948 .premium-atext__headline,
.elementor-1948 .premium-atext__text,
.elementor-1948 .premium-atext__letter {
  font-family: "Quirky Spring", "Space Grotesk", sans-serif !important;
}

.elementor-1948 .elementor-heading-title {
  font-family: var(--sol-font-display) !important;
}

.elementor-1948
  .elementor-element.elementor-element-1a5228c
  .elementor-heading-title {
  font-family: var(--sol-font-body) !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 13px !important;
  color: var(--sol-muted) !important;
}

.elementor-1948
  .elementor-element.elementor-element-124126e
  .elementor-heading-title {
  color: var(--sol-ink) !important;
  font-family: var(--sol-font-body) !important;
}

.elementor-1948
  .elementor-element.elementor-element-124126e
  > .elementor-widget-container {
  background-color: rgba(153, 69, 255, 0.1) !important;
  border-color: rgba(153, 69, 255, 0.35) !important;
  border-width: 1px !important;
  border-radius: 16px !important;
  backdrop-filter: blur(16px);
}

/* Divider accents */
.elementor-1948 .elementor-divider-separator {
  border-color: rgba(153, 69, 255, 0.35) !important;
}

.elementor-1948 .elementor-element {
  --divider-color: rgba(20, 241, 149, 0.45);
}

/* Video / framed content */
.elementor-1948 .elementor-widget-video .elementor-wrapper,
.elementor-1948 .elementor-fit-aspect-ratio {
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 0 0 1px rgba(153, 69, 255, 0.4),
    0 20px 60px rgba(0, 0, 0, 0.5);
}

/* About section body copy */
.elementor-1948
  .elementor-element.elementor-element-2a0bb2c
  .elementor-heading-title {
  color: var(--sol-ink) !important;
}

.elementor-1948
  .elementor-element.elementor-element-ef89501
  .elementor-heading-title {
  -webkit-text-stroke-width: 0 !important;
}

/* Hero stacking: keep content above particles, no dark wash */
.elementor-1948 .elementor-element.elementor-element-4594bcd {
  position: relative;
  isolation: isolate;
}

.elementor-1948 .elementor-element.elementor-element-4594bcd > .e-con-inner,
.elementor-1948 .elementor-element.elementor-element-4594bcd > .elementor-container {
  position: relative;
  z-index: 2;
}

#particles-js .particles-js-canvas-el {
  z-index: 1 !important;
  opacity: 0.85;
}

/* CA click label */
.elementor-1948
  .elementor-element.elementor-element-7092683
  .elementor-heading-title {
  color: var(--sol-muted) !important;
  font-family: var(--sol-font-body) !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  font-size: 14px !important;
}

/* Ensure page background continuity between sections */
#page,
.elementor,
.elementor-1948 {
  background: var(--sol-dark);
}

/* Selection */
::selection {
  background: rgba(153, 69, 255, 0.45);
  color: #fff;
}

/* Scrollbar */
::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background: var(--sol-dark);
}
::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, #9945ff, #14f195);
  border-radius: 8px;
}

/* Mobile typography polish */
@media (max-width: 767px) {
  .elementor-1948
    .elementor-element.elementor-element-b267d15
    .premium-atext__headline,
  .elementor-1948
    .elementor-element.elementor-element-b267d15
    .premium-atext__text
    svg
    g
    > text {
    letter-spacing: -0.04em !important;
  }
}
