.clx-btn{
  box-sizing:border-box;
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.6rem;
  width:auto;
  min-height:var(--clx-btn-min-h);
  padding:var(--clx-btn-pad-y) var(--clx-btn-pad-x);
  border-radius:var(--clx-radius-pill);
  border-width:1px;
  border-style:solid;
  text-decoration:none;
  text-align:center;
  white-space:nowrap;
  font-family:var(--clx-font-base);
  font-size:var(--clx-btn-font-size);
  font-weight:600;
  line-height:1;
  letter-spacing:var(--clx-btn-letter-spacing);
  text-transform:uppercase;
  color:var(--clx-color-brand);
  cursor:pointer;
  text-shadow:none;
  isolation:isolate;
  overflow:visible;
  transform-origin:center center;
  transition:
    transform .20s cubic-bezier(.16,1,.3,1),
    box-shadow .20s ease,
    background .20s ease,
    color .18s ease,
    border-color .18s ease;
}

.clx-btn .clx-btn-label{display:block;text-align:center;}
.clx-btn .clx-btn-icon{display:inline-flex;align-items:center;justify-content:center;}
.clx-btn .clx-btn-icon svg{width:15px;height:15px;display:block;}
.clx-btn svg path{fill:currentColor;}

.clx-btn::before{
  content:"";
  position:absolute;
  inset:-10px;
  border-radius:inherit;
  background:radial-gradient(circle at 30% 20%, rgba(74,222,128,.55), rgba(34,197,94,.28) 35%, transparent 70%);
  opacity:0;
  transform:scale(.98);
  z-index:-2;
  transition:opacity 220ms ease, transform 220ms ease;
  pointer-events:none;
}

.clx-btn::after{
  content:"";
  position:absolute;
  inset:1px;
  border-radius:inherit;
  background:
    radial-gradient(circle at 20% 0%, rgba(74,222,128,.22), rgba(34,197,94,.10) 40%, transparent 75%),
    radial-gradient(circle at 80% 120%, rgba(34,197,94,.14), transparent 60%);
  opacity:0;
  z-index:-1;
  transition:opacity 220ms ease;
  pointer-events:none;
}

.clx-btn:hover::before{opacity:1;transform:scale(1.02);filter:blur(14px);}
.clx-btn:hover::after{opacity:1;}
.clx-btn--primary:hover::before{inset:-12px;filter:blur(16px);}

.clx-btn:hover{
  transform:scale(1.02);
  color:var(--clx-color-brand-neon)!important;
}

.clx-btn:active{
  transform:scale(.99);
  color:var(--clx-color-brand-neon)!important;
}

.clx-btn:focus-visible{
  outline:2px solid var(--clx-color-brand);
  outline-offset:3px;
}

.clx-btn--primary{
  background:radial-gradient(circle at 0% 0%, rgba(34,197,94,.18), var(--clx-color-bg-body));
  border-color:var(--clx-color-brand);
  border-style:dotted;
  box-shadow:
    0 0 0 1px rgba(15,23,42,.95),
    0 0 18px rgba(34,197,94,.55);
}
.clx-btn--primary:hover{
  box-shadow:
    0 0 0 1px rgba(34,197,94,.95),
    0 0 26px rgba(34,197,94,.70);
}
.clx-btn--primary:active{
  box-shadow:
    0 0 0 1px rgba(34,197,94,.85),
    0 0 14px rgba(34,197,94,.55);
}

.clx-btn--secondary{
  background:linear-gradient(135deg, rgba(15,23,42,.92), rgba(22,33,56,.85));
  border-color:rgba(34,197,94,.85);
  box-shadow:
    0 0 0 1px rgba(15,23,42,.9),
    0 0 22px rgba(34,197,94,.50);
}
.clx-btn--secondary:hover{
  background:linear-gradient(135deg, rgba(15,23,42,.9), rgba(15,23,42,.42));
  box-shadow:
    0 0 0 1px rgba(34,197,94,.9),
    0 0 28px rgba(34,197,94,.65);
}
.clx-btn--secondary:active{
  box-shadow:
    0 0 0 1px rgba(34,197,94,.85),
    0 0 18px rgba(34,197,94,.55);
}

.clx-btn--full{
  width:100%;
  max-width:100%;
}

.clx-btn--compact{
  min-height:var(--clx-btn-compact-min-h)!important;
  width:100%;
  padding:var(--clx-btn-compact-pad-y) var(--clx-btn-compact-pad-x)!important;
  font-size:var(--clx-btn-compact-font-size)!important;
  letter-spacing:var(--clx-btn-compact-letter-spacing);
  line-height:1;
  white-space:nowrap;
}

.clx-btn-group{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
}
.clx-btn-group .clx-btn--primary{order:1;}
.clx-btn-group .clx-btn--secondary{order:2;}

@media (max-width: 768px){
  .clx-btn-group{flex-direction:column;}
  .clx-btn{
    width:100%;
    white-space:normal;
    text-align:center;
    justify-content:center;
  }
  #clx-footer-2026 .clx-btn{
    box-sizing:border-box!important;
    white-space:normal!important;
  }
}

@media (prefers-reduced-motion: reduce){
  .clx-btn{
    transition:none;
    transform:none!important;
    filter:none!important;
  }
  .clx-btn::before,
  .clx-btn::after{transition:none!important;}
}
