/* ============================================
   PREMIUM OVERRIDES — wyszukani.pl
   Purely additive — no interference with React/Next.js
   ============================================ */

/* --- 1. TEXT GRADIENT: purple → mint --- */
.text-grad {
  background: linear-gradient(135deg, #6d28d9 0%, #8b5cf6 40%, #33ff95 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}

/* --- 2. NOISE TEXTURE overlay --- */
body::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  opacity: 0.022;
  mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-repeat: repeat;
  background-size: 200px 200px;
}

/* --- 3. SCROLL PROGRESS — gradient line --- */
.scroll-progress {
  background: linear-gradient(90deg, #6d28d9, #8b5cf6, #33ff95) !important;
}

/* --- 4. NAV — scroll shadow --- */
.nav.nav--scrolled {
  box-shadow: 0 1px 2px rgba(20, 16, 28, 0.06), 0 8px 24px -18px rgba(20, 16, 28, 0.12) !important;
}

/* --- 5. SVC-CARDS — hover depth --- */
@media (hover: hover) and (pointer: fine) {
  .svc-card {
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1),
                box-shadow 0.4s cubic-bezier(0.16, 1, 0.3, 1),
                background 0.4s ease !important;
  }
  .svc-card:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 4px 12px rgba(20, 16, 28, 0.06), 0 24px 48px -20px rgba(20, 16, 28, 0.15) !important;
    background: linear-gradient(135deg, #efeafb 0%, #fff 100%) !important;
  }
  .svc-card:hover .svc-card__arrow {
    transform: translateX(6px);
    color: #33ff95;
  }
  .svc-card__arrow {
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1),
                color 0.35s ease !important;
  }
}

/* --- 6. WHY-CARDS — hover lift --- */
@media (hover: hover) and (pointer: fine) {
  .why-card {
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1),
                box-shadow 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
  }
  .why-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 4px 12px rgba(20, 16, 28, 0.06), 0 20px 40px -20px rgba(20, 16, 28, 0.12) !important;
  }
}

/* --- 7. CASE CARDS — hover shadow --- */
@media (hover: hover) and (pointer: fine) {
  .case {
    transition: box-shadow 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
  }
  .case:hover {
    box-shadow: 0 4px 12px rgba(20, 16, 28, 0.06), 0 28px 56px -20px rgba(20, 16, 28, 0.18) !important;
  }
}

/* --- 8. TESTIMONIALS — editorial style --- */
.quote__text,
.sub-quote__text {
  font-family: var(--font-display-face, "Fraunces", Georgia, serif) !important;
  font-style: italic !important;
  font-size: clamp(1.15rem, 2.5vw, 1.65rem) !important;
  line-height: 1.5 !important;
  border-left: 3px solid #6d28d9 !important;
  padding-left: 1.5rem !important;
}

/* --- 9. CALCULATOR — tabular nums + no-wrap --- */
.calc__hero-num,
.calc__metric-value,
.calc__field-val {
  font-variant-numeric: tabular-nums !important;
  font-feature-settings: "tnum" 1 !important;
}
.calc__hero-num {
  white-space: nowrap !important;
}

/* --- 10. PROOF BAR — tabular nums --- */
.proof__num {
  font-variant-numeric: tabular-nums !important;
  font-feature-settings: "tnum" 1 !important;
}

/* --- 11. PROCES — vertical progress line --- */
.proces {
  position: relative !important;
}
.proces::after {
  height: 0% !important;
}
.proces__progress-fill {
  position: absolute;
  left: 0;
  top: 0;
  width: 2px;
  height: 100%;
  background: linear-gradient(180deg, #6d28d9, #33ff95);
  transform-origin: top;
  transform: scaleY(0);
  z-index: 1;
}
.proces__step {
  position: relative;
  z-index: 2;
}
.proces__num {
  color: #0a7a42 !important;
}

/* --- 12. MANIFEST — bigger presence --- */
.manifest__line {
  font-size: clamp(1.75rem, 5.5vw, 4rem) !important;
  line-height: 1.15 !important;
}

/* --- 13. SECTION DIVIDERS — mint accent --- */
.section-divider b {
  color: #0a7a42 !important;
}

/* --- 14. BTN PRIMARY — hover glow --- */
@media (hover: hover) and (pointer: fine) {
  .btn--primary:hover {
    box-shadow: 0 0 0 1px rgba(109, 40, 217, 0.2),
                0 4px 16px rgba(109, 40, 217, 0.18),
                0 0 40px rgba(51, 255, 149, 0.08) !important;
  }
}

/* --- 15. GLASS — enhanced depth --- */
.glass {
  border: 1px solid rgba(109, 40, 217, 0.08) !important;
  box-shadow: 0 2px 8px rgba(20, 16, 28, 0.04),
              0 16px 40px -24px rgba(20, 16, 28, 0.1),
              inset 0 1px 0 rgba(255, 255, 255, 0.6) !important;
}

/* --- 16. FLOAT PROOF — enhanced --- */
.float-proof {
  border: 1px solid rgba(109, 40, 217, 0.1) !important;
  box-shadow: 0 4px 20px rgba(20, 16, 28, 0.08) !important;
}

/* --- 17. FAQ items --- */
.faq__item[open] {
  background: rgba(239, 234, 251, 0.3) !important;
}

/* --- 18. FEATURE cards (subpages) --- */
@media (hover: hover) and (pointer: fine) {
  .feature {
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1),
                box-shadow 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
  }
  .feature:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 4px 12px rgba(20, 16, 28, 0.05), 0 20px 40px -20px rgba(20, 16, 28, 0.1) !important;
  }
}

/* --- 19. MOCK search (subpages) --- */
.mock--search {
  box-shadow: 0 4px 20px rgba(20, 16, 28, 0.08),
              0 40px 80px -30px rgba(109, 40, 217, 0.12) !important;
}

/* --- 20. PROBLEM SECTION --- */
.problem__tag {
  font-variant: small-caps !important;
  letter-spacing: 0.05em !important;
}

/* --- 21. AURORA --- */
.final-cta {
  overflow: hidden;
  position: relative;
}

/* --- 22. PREFERS REDUCED MOTION --- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
