.transition-all {
  transition: var(--transition-slow);
}

.transition-colors {
  transition: color 200ms ease, background-color 200ms ease, border-color 200ms ease;
}

.transition-transform {
  transition: transform 300ms ease;
}

.hover-lift:hover {
  transform: translateY(-0.25rem);
}

.hover-shadow:hover {
  box-shadow: var(--shadow-lg);
}

.hover-shadow-xl:hover {
  box-shadow: var(--shadow-xl);
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

.animate-spin {
  animation: spin 1s linear infinite;
}

.rotate-180 {
  transform: rotate(180deg);
}

.chevron-icon {
  transition: transform 300ms ease;
}

.faq-item.open .chevron-icon {
  transform: rotate(180deg);
}

.group-hover-bg:hover .group-icon-box {
  background-color: var(--cofan-amber);
}

.group-hover-bg:hover .group-icon-box svg {
  color: var(--color-white);
}

.process-card:hover .process-icon-box {
  background-color: var(--cofan-amber);
}

.process-card:hover .process-icon-box svg {
  color: var(--color-white);
}

.benefit-card:hover .benefit-icon-box {
  background-color: var(--cofan-amber);
}

.benefit-card:hover .benefit-icon-box svg {
  color: var(--color-white);
}

.fade-in {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.fade-in.visible {
  opacity: 1;
  transform: translateY(0);
}
