/**
 * AIEE — interaction layer (Horizon theme)
 */

.main-header {
  transition: box-shadow 200ms ease, border-color 200ms ease !important;
}
.main-header.is-scrolled {
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.4) !important;
  border-bottom-color: var(--kc-cyan) !important;
}

body.kngcl-site .main-menu > li > a {
  position: relative;
}
body.kngcl-site .main-menu > li > a::after {
  content: '';
  position: absolute;
  bottom: 4px;
  left: 50%;
  right: 50%;
  height: 2px;
  background: var(--kc-cyan);
  border-radius: 1px;
  transition: left 200ms ease, right 200ms ease;
}
body.kngcl-site .main-menu > li > a:hover::after,
body.kngcl-site .main-nav > ul > li.active > a::after {
  left: 12px;
  right: 12px;
}
body.kngcl-site .main-menu li.has-submenu > a::after {
  display: none;
}

.kngcl-feature-card {
  transition:
    transform var(--aiee-duration-ui, 220ms) var(--aiee-ease-out, cubic-bezier(0.23, 1, 0.32, 1)),
    box-shadow var(--aiee-duration-ui, 220ms) var(--aiee-ease-out, cubic-bezier(0.23, 1, 0.32, 1)),
    border-color 200ms var(--aiee-ease-out, ease-out) !important;
}
.kngcl-feature-card:hover {
  transform: translateY(-3px) !important;
}

.kngcl-news-item {
  transition:
    border-color 200ms var(--aiee-ease-out, ease-out),
    box-shadow 200ms var(--aiee-ease-out, ease-out),
    transform var(--aiee-duration-ui, 220ms) var(--aiee-ease-out, cubic-bezier(0.23, 1, 0.32, 1)) !important;
}
.kngcl-news-item:hover {
  transform: translateY(-2px) !important;
}
.kngcl-news-thumb img {
  transition: transform 350ms ease !important;
}
.kngcl-news-item:hover .kngcl-news-thumb img {
  transform: scale(1.03) !important;
}

.kngcl-pillar-card {
  transition: box-shadow 200ms ease, border-color 200ms ease, transform 200ms ease !important;
}
.kngcl-pillar-card:hover {
  transform: translateY(-3px) !important;
}
.kngcl-pillar-img {
  transition: transform 350ms ease !important;
}
.kngcl-pillar-card:hover .kngcl-pillar-img {
  transform: scale(1.03) !important;
}

.kngcl-btn:active {
  transform: scale(0.98) !important;
  transition-duration: 80ms !important;
}
body.kngcl-site .button:active,
body.kngcl-site button.button:active {
  transform: scale(0.98) !important;
  transition-duration: 80ms !important;
}

.kngcl-events-preview__item {
  position: relative;
  padding-left: 1.25rem !important;
}
.kngcl-events-preview__item::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: var(--kc-line);
  border-radius: 2px;
  transition: background 180ms ease;
}
.kngcl-events-preview__item:hover::before {
  background: var(--kc-teal);
}

.kngcl-band-subheading {
  border-left: 3px solid var(--kc-teal);
  padding-left: 0.75rem;
}

.kngcl-kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  background: rgba(13, 148, 136, 0.1);
  border: 1px solid rgba(34, 211, 238, 0.3);
  padding: 3px 10px;
  border-radius: 4px;
}

.kngcl-contact-strip .button,
.kngcl-contact-strip a.button {
  background: linear-gradient(135deg, #FB923C 0%, var(--kc-cta) 55%, #EA580C 100%) !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
  border-radius: var(--kc-radius-sm) !important;
  box-shadow: 0 6px 20px rgba(249, 115, 22, 0.3) !important;
}
.kngcl-contact-strip .button:hover,
.kngcl-contact-strip a.button:hover {
  background: linear-gradient(135deg, #FDBA74 0%, var(--kc-cta-hover) 55%, var(--kc-cta) 100%) !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
  }
}
