/*
  BRIX Special Animation - Radius Grid CTA Hover Swap
  ----------------------------------------------------------------------------
  Keeps radius-grid CTA hover image swaps isolated from the shared runtime.
*/

.brix-special-radius-cta .cta-radius-grid {
  isolation: isolate;
}

.brix-special-radius-cta .cta-radius-grid-item {
  transition: transform 360ms cubic-bezier(0.16, 1, 0.3, 1),
    border-color 200ms ease,
    background-color 260ms ease,
    box-shadow 260ms ease;
}

.brix-special-radius-cta .cta-radius-grid-item:has(.cta-radius-grid-featured-item) {
  overflow: visible;
  position: relative;
  z-index: 3;
}

.brix-special-radius-cta .cta-radius-grid-featured-item {
  display: flex;
  opacity: 0 !important;
  position: absolute;
  inset: -2px;
  border-radius: inherit;
  transform: scale(0.78) !important;
  transition: opacity 200ms ease,
    transform 260ms cubic-bezier(0.16, 1, 0.3, 1),
    visibility 0s linear 200ms;
  visibility: hidden !important;
  z-index: 4;
  pointer-events: none;
  box-shadow: 0 0 0 3px var(--neutral--100), 0 14px 34px rgba(13, 18, 37, 0.12);
}

.brix-special-radius-cta:not(.is-radius-cta-hovered):not(:has(.button-primary:hover)):not(:has(.button-primary:focus-visible)):not(:has(.ba-button:hover)):not(:has(.ba-button:focus-visible)) .cta-radius-grid-featured-item {
  opacity: 0 !important;
  transform: scale(0.78) !important;
  visibility: hidden !important;
}

.brix-special-radius-cta .cta-radius-item-logo {
  position: relative;
  transition: opacity 200ms ease,
    transform 260ms cubic-bezier(0.16, 1, 0.3, 1),
    visibility 0s linear 0s;
  visibility: visible;
  z-index: 2;
}

.brix-special-radius-cta.is-radius-cta-hovered .cta-radius-grid-item:has(.cta-radius-grid-featured-item),
.brix-special-radius-cta:has(.button-primary:hover) .cta-radius-grid-item:has(.cta-radius-grid-featured-item),
.brix-special-radius-cta:has(.button-primary:focus-visible) .cta-radius-grid-item:has(.cta-radius-grid-featured-item),
.brix-special-radius-cta:has(.ba-button:hover) .cta-radius-grid-item:has(.cta-radius-grid-featured-item),
.brix-special-radius-cta:has(.ba-button:focus-visible) .cta-radius-grid-item:has(.cta-radius-grid-featured-item) {
  background-color: rgba(255, 255, 255, 0.28);
  border-color: transparent;
  box-shadow: 0 14px 34px rgba(13, 18, 37, 0.12);
  transform: scale(1.04);
  z-index: 30;
}

.brix-special-radius-cta.is-radius-cta-hovered .cta-radius-grid-featured-item,
.brix-special-radius-cta:has(.button-primary:hover) .cta-radius-grid-featured-item,
.brix-special-radius-cta:has(.button-primary:focus-visible) .cta-radius-grid-featured-item,
.brix-special-radius-cta:has(.ba-button:hover) .cta-radius-grid-featured-item,
.brix-special-radius-cta:has(.ba-button:focus-visible) .cta-radius-grid-featured-item {
  opacity: 1 !important;
  transform: scale(1) !important;
  transition-delay: 0s;
  visibility: visible !important;
}

.brix-special-radius-cta.is-radius-cta-hovered .cta-radius-item-logo,
.brix-special-radius-cta:has(.button-primary:hover) .cta-radius-item-logo,
.brix-special-radius-cta:has(.button-primary:focus-visible) .cta-radius-item-logo,
.brix-special-radius-cta:has(.ba-button:hover) .cta-radius-item-logo,
.brix-special-radius-cta:has(.ba-button:focus-visible) .cta-radius-item-logo {
  opacity: 0 !important;
  transform: scale(0.84);
  visibility: hidden !important;
}

@media (prefers-reduced-motion: reduce) {
  .brix-special-radius-cta .cta-radius-grid-item,
  .brix-special-radius-cta .cta-radius-grid-featured-item,
  .brix-special-radius-cta .cta-radius-item-logo {
    animation: none;
    transition: none;
  }
}
