/* ===== ColorFixers — Site-wide animations & transitions ===== */

/* --- Scroll reveal --- */
.cf-reveal {
  opacity: 0;
  transform: translateY(28px);
  transition:
    opacity 0.65s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
}

.cf-reveal.cf-reveal--visible {
  opacity: 1;
  transform: translateY(0);
}

/* Staggered children inside marked grids */
[data-cf-stagger] > .cf-reveal {
  transition-delay: calc(var(--cf-stagger-i, 0) * 80ms);
}

/* --- Interactive element transitions --- */
.cf-btn,
.cf-about-btn,
.pf-btn,
.ft-btn,
.cf-plan-btn,
.cf-plan-card .cf-compare-cta,
.cf-quote-submit,
.cf-form-submit,
.featured-read-btn,
.cat-filter-pill {
  transition:
    background-color 0.25s ease,
    border-color 0.25s ease,
    color 0.25s ease,
    box-shadow 0.25s ease,
    transform 0.25s ease,
    opacity 0.25s ease;
}

/* --- Card hover lift --- */
.cf-plan-card,
.cf-service-card,
.cf-service-detailed-card,
.cf-about-mini-card,
.cf-about-value-card,
.cf-about-process-step,
.cf-about-expertise-card,
.cf-about-team-card,
.cf-price-trust-item,
.cf-rate-card,
.blog-card,
.related-card,
.pf-slider-card,
.cf-quote-info-card,
.cf-info-card,
.cf-studio-card {
  transition:
    transform 0.3s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.3s ease,
    border-color 0.3s ease;
}

@media (hover: hover) and (pointer: fine) {
  .cf-plan-card:hover,
  .cf-service-card:hover,
  .cf-service-detailed-card:hover,
  .cf-about-mini-card:hover,
  .cf-about-value-card:hover,
  .cf-about-process-step:hover,
  .cf-about-expertise-card:hover,
  .cf-about-team-card:hover,
  .cf-price-trust-item:hover,
  .cf-rate-card:hover,
  .blog-card:hover,
  .related-card:hover,
  .pf-slider-card:hover,
  .cf-quote-info-card:hover {
    transform: translateY(-4px);
  }
}

/* --- Reduced motion --- */
@media (prefers-reduced-motion: reduce) {
  .cf-reveal {
    opacity: 1;
    transform: none;
    transition: none;
    will-change: auto;
  }

  .cf-reveal.cf-reveal--visible {
    opacity: 1;
    transform: none;
  }

  [data-cf-stagger] > .cf-reveal {
    transition-delay: 0ms;
  }

  .cf-btn,
  .cf-about-btn,
  .pf-btn,
  .ft-btn,
  .cf-plan-btn,
  .cf-plan-card,
  .cf-service-card,
  .cf-service-detailed-card,
  .cf-about-mini-card,
  .cf-about-value-card,
  .cf-about-process-step,
  .cf-about-expertise-card,
  .cf-about-team-card,
  .cf-price-trust-item,
  .cf-rate-card,
  .blog-card,
  .related-card,
  .pf-slider-card,
  .cf-quote-info-card,
  .cf-info-card,
  .cf-studio-card {
    transition: none;
  }

  .cf-plan-card:hover,
  .cf-service-card:hover,
  .cf-service-detailed-card:hover,
  .cf-about-mini-card:hover,
  .cf-about-value-card:hover,
  .cf-about-process-step:hover,
  .cf-about-expertise-card:hover,
  .cf-about-team-card:hover,
  .cf-price-trust-item:hover,
  .cf-rate-card:hover,
  .blog-card:hover,
  .related-card:hover,
  .pf-slider-card:hover,
  .cf-quote-info-card:hover {
    transform: none;
  }
}
