/**
 * Index links – shahidanwarllc.com / Beacons parity
 * scale(1.02) on hover; transition excludes transform (like reference)
 */

body.index-page {
  --link-hover-scale: 1.02;
  --link-anim-duration: 0.25s;
  --link-anim-ease: cubic-bezier(0.4, 0, 0.2, 1);
  --beacons-transition: background-color var(--link-anim-duration) var(--link-anim-ease),
    box-shadow var(--link-anim-duration) var(--link-anim-ease),
    border-color var(--link-anim-duration) var(--link-anim-ease);
}

body.index-page .links a.link-beacons,
body.index-page .cards-container .card.card-beacons .action-btn {
  overflow: visible;
  transform: none;
  transform-origin: center center;
  will-change: auto;
  transition: var(--beacons-transition) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: Helvetica, Arial, sans-serif;
}

body.index-page .cards-container .card.card-beacons {
  overflow: visible;
  transform: none !important;
  transition: none !important;
  will-change: auto;
}

body.index-page .links a.link-beacons {
  background: var(--brand) !important;
}

body.index-page .cards-container .card.card-beacons {
  position: relative;
  background: var(--card-bg, #504c4f) !important;
  border: none !important;
}

body.index-page .links a.link-beacons::before,
body.index-page .cards-container .card.card-beacons::before {
  display: none;
}

body.index-page .links a.link-beacons .link-text,
body.index-page .links a.link-beacons .link-text span,
body.index-page .links a.link-beacons .link-text small,
body.index-page .cards-container .card.card-beacons h3,
body.index-page .cards-container .card.card-beacons p,
body.index-page .cards-container .card.card-beacons .info-row {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: inherit;
  transition: none !important;
  transform: none !important;
}

body.index-page .links a.link-beacons > img {
  transition: none !important;
}

@media (hover: hover) {
  body.index-page .links a.link-beacons:hover,
  body.index-page .cards-container .card.card-beacons .action-btn:hover {
    transform: scale(var(--link-hover-scale)) !important;
    border: none !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.22) !important;
    opacity: 1 !important;
  }

  body.index-page .links a.link-beacons:hover {
    background: var(--brand) !important;
  }

  body.index-page .cards-container .card.card-beacons .action-btn:hover {
    background: var(--card-btn-bg, #bbbebf) !important;
    color: var(--card-btn-text, #141e2d) !important;
  }

  body.index-page .links a.link-beacons:hover .link-text span {
    color: var(--text-main) !important;
  }

  body.index-page .links a.link-beacons:hover .link-text small {
    color: var(--text-sub) !important;
  }

  body.index-page .links a.link-beacons:hover > img {
    transform: translateY(-50%) !important;
  }
}

@media (hover: none) {
  body.index-page .links a.link-beacons:active,
  body.index-page .cards-container .card.card-beacons .action-btn:active {
    transform: scale(0.98) !important;
    opacity: 1 !important;
  }

  body.index-page .links a.link-beacons:active {
    background: var(--brand) !important;
  }

  body.index-page .cards-container .card.card-beacons .action-btn:active {
    background: var(--card-btn-bg, #bbbebf) !important;
  }

  body.index-page .links a.link-beacons:active > img {
    transform: translateY(-50%) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.index-page .links a.link-beacons,
  body.index-page .cards-container .card.card-beacons,
  body.index-page .cards-container .card.card-beacons .action-btn {
    transition: none !important;
  }

  body.index-page .links a.link-beacons:hover,
  body.index-page .links a.link-beacons:active,
  body.index-page .cards-container .card.card-beacons:hover,
  body.index-page .cards-container .card.card-beacons:active,
  body.index-page .cards-container .card.card-beacons .action-btn:hover,
  body.index-page .cards-container .card.card-beacons .action-btn:active {
    transform: none !important;
  }
}

/* Contact Us – color feedback only (motion: live-chat.css shared FAB rules) */
body.index-page .contact-float-btn:hover {
  background: var(--brand-hover) !important;
  border-color: rgba(77, 166, 255, 0.45) !important;
  color: var(--brand-text) !important;
  opacity: 1 !important;
}

body.index-page .contact-float-btn:active {
  background: var(--brand) !important;
  border-color: var(--brand-border) !important;
  color: var(--brand-text) !important;
  opacity: 0.92 !important;
}

body.index-page .contact-float-btn:hover i {
  color: #60a5fa !important;
}

body.index-page .contact-float-btn:active i {
  color: #4da6ff !important;
}
