/* UC button cursor glow — homepage core-product CTA technique */
body .btn,
body a.btn,
body button.btn,
body input.btn {
  --uc-btn-mx: 50%;
  --uc-btn-my: 50%;
  position: relative !important;
  overflow: hidden !important;
  transform: none !important;
  -webkit-transform: none !important;
}

body .btn:hover,
body .btn:focus,
body .btn:active,
body .btn:focus-visible,
body a.btn:hover,
body a.btn:focus,
body a.btn:active,
body button.btn:hover,
body button.btn:focus,
body button.btn:active {
  transform: none !important;
  -webkit-transform: none !important;
}

/* Dedicated glow sheet (injected by uc-btn-glow.js) — sits above bg, below label */
body .btn > .uc-btn-glow-layer,
body a.btn > .uc-btn-glow-layer,
body button.btn > .uc-btn-glow-layer {
  content: none;
  position: absolute !important;
  inset: 0 !important;
  border-radius: inherit;
  pointer-events: none !important;
  z-index: 1 !important;
  opacity: 0;
  transition: opacity 0.18s ease;
  background: radial-gradient(
    160px circle at var(--uc-btn-mx) var(--uc-btn-my),
    hsla(0, 0%, 100%, 0.45),
    hsla(0, 0%, 100%, 0) 65%
  ) !important;
}

body .btn.btn-default > .uc-btn-glow-layer,
body .btn.btn-light > .uc-btn-glow-layer,
body .btn.btn-secondary > .uc-btn-glow-layer,
body .btn.btn-outline-primary > .uc-btn-glow-layer,
body .btn.btn-outline-secondary > .uc-btn-glow-layer,
body .btn.btn-outline-light > .uc-btn-glow-layer,
body a.btn.btn-default > .uc-btn-glow-layer,
body a.btn.btn-light > .uc-btn-glow-layer,
body a.btn.btn-secondary > .uc-btn-glow-layer,
body a.btn.btn-outline-primary > .uc-btn-glow-layer {
  background: radial-gradient(
    160px circle at var(--uc-btn-mx) var(--uc-btn-my),
    rgba(22, 93, 255, 0.24),
    rgba(22, 93, 255, 0) 65%
  ) !important;
}

body .btn:hover > .uc-btn-glow-layer,
body .btn:focus-visible > .uc-btn-glow-layer,
body a.btn:hover > .uc-btn-glow-layer,
body button.btn:hover > .uc-btn-glow-layer,
body .btn.is-uc-glowing > .uc-btn-glow-layer {
  opacity: 1 !important;
}

body .btn > .uc-btn-glow-label,
body a.btn > .uc-btn-glow-label,
body button.btn > .uc-btn-glow-label {
  position: relative !important;
  z-index: 2 !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: inherit;
  max-width: 100%;
}

body .btn.btn-block > .uc-btn-glow-label,
body a.btn.btn-block > .uc-btn-glow-label,
body button.btn.btn-block > .uc-btn-glow-label {
  width: 100%;
  height: 100%;
}

/* Fallback if JS layer missing: ::before still shows a center glow on hover */
body .btn.uc-btn-glow-host:not(:has(.uc-btn-glow-layer))::before,
body .btn:not(.uc-btn-glow-host)::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  opacity: 0;
  transition: opacity 0.18s ease;
  background: radial-gradient(
    160px circle at var(--uc-btn-mx, 50%) var(--uc-btn-my, 50%),
    hsla(0, 0%, 100%, 0.45),
    hsla(0, 0%, 100%, 0) 65%
  );
}
body .btn:hover::before {
  opacity: 1;
}
body .btn.uc-btn-glow-host:has(.uc-btn-glow-layer)::before {
  content: none;
  display: none;
}
