/* OXCART - CSS Animations & Transitions */

/* Partners Logo Ticker Infinite Loop */
@keyframes marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

/* ---------------------------------------------------- */
/* PRECISE CSS TRANSITIONS FOR HOVER STATES             */
/* (Excluding opacity/transform for GSAP-animated nodes) */
/* ---------------------------------------------------- */

.logo {
  transition: opacity 0.3s var(--ease-editorial);
}

.auth-btn {
  transition: opacity 0.3s var(--ease-editorial), transform 0.2s var(--ease-editorial);
}

.avatar-circle {
  transition: transform 0.3s var(--ease-editorial);
}

.burger-btn {
  transition: transform 0.3s var(--ease-editorial);
}

/* Burger Menu Toggle (CSS Only) */
.burger-menu {
  transition: opacity 0.3s var(--ease-editorial), transform 0.3s var(--ease-editorial), visibility 0.3s;
}

.menu-link {
  transition: color 0.3s var(--ease-editorial);
}

.menu-link::after {
  transition: transform 0.3s var(--ease-editorial);
}

.menu-toggle-state-btn {
  transition: color 0.3s var(--ease-editorial), border-color 0.3s var(--ease-editorial), background-color 0.3s var(--ease-editorial);
}

/* Hero Buttons Hover (CSS Only) */
.hero-btn {
  transition: background-color 0.4s var(--ease-editorial), color 0.4s var(--ease-editorial);
}

.btn-arrow {
  transition: transform 0.3s var(--ease-editorial);
}

/* Announcements Rows Hover */
.announcement-item {
  transition: background-color 0.4s var(--ease-editorial), padding-left 0.4s var(--ease-editorial);
}

.announcement-arrow {
  transition: transform 0.4s var(--ease-editorial), color 0.4s var(--ease-editorial);
}

/* Category Rows Hover */
.category-item {
  transition: background-color 0.4s var(--ease-editorial), padding-left 0.4s var(--ease-editorial);
}

.category-arrow {
  transition: transform 0.4s var(--ease-editorial), color 0.4s var(--ease-editorial);
}

/* Project Controls Hover */
#project-search {
  transition: border-color 0.3s var(--ease-editorial);
}

.filter-tab {
  transition: border-color 0.3s var(--ease-editorial), background-color 0.3s var(--ease-editorial), color 0.3s var(--ease-editorial);
}

/* Project Card Hover */
.project-card {
  transition: border-color 0.4s var(--ease-editorial);
}

.project-card-image {
  transition: transform 0.6s var(--ease-editorial);
}

.project-card-title {
  transition: transform 0.4s var(--ease-editorial);
}

.card-action-btn {
  transition: background-color 0.3s var(--ease-editorial), color 0.3s var(--ease-editorial);
}

.card-action-btn svg {
  transition: transform 0.3s var(--ease-editorial);
}


/* ---------------------------------------------------- */
/* ACCESSIBILITY: REDUCED MOTION OVERRIDES             */
/* ---------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  * {
    animation-delay: -1ms !important;
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0s !important;
    transition-delay: 0s !important;
  }
  
  .project-card, 
  .hero-btn, 
  .line-vertical-main, 
  .line-horizontal-split, 
  .line-vertical-branch,
  .site-header,
  .hero-label,
  .hero-title,
  .hero-subtitle,
  .hero-description,
  .hero-support {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
  
  .partners-ticker-track {
    animation: none !important;
    flex-wrap: wrap !important;
    gap: 30px !important;
  }
}
