/* Patch 0.1.6.0.0 - candidate button families for the Design Lab only.
   These are isolated test candidates until JR selects the final global style. */
.btn-candidate{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:16px 38px;
  border-radius:16px;
  color:#fff;
  font-size:15px;
  font-weight:700;
  letter-spacing:1px;
  text-decoration:none;
  cursor:pointer;
  user-select:none;
  overflow:hidden;
  isolation:isolate;
  border:1px solid rgba(255,255,255,.18);
  text-shadow:0 1px 2px rgba(0,0,0,.55);
  transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease,background .35s ease,filter .35s ease;
}
.btn-candidate:focus-visible{outline:3px solid rgba(93,137,255,.65);outline-offset:4px}
.btn-candidate.is-disabled,.btn-candidate:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;filter:saturate(.65)}

.neural-glow-btn{
  border-color:rgba(115,71,255,.7);
  background:linear-gradient(180deg,rgba(40,20,120,.55),rgba(8,8,20,.92));
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  box-shadow:0 0 0 rgba(99,102,241,0),0 10px 30px rgba(0,0,0,.45),inset 0 1px 1px rgba(255,255,255,.08);
}
.neural-glow-btn::before{
  content:"";position:absolute;top:0;left:-120%;width:70%;height:100%;
  background:linear-gradient(115deg,transparent 20%,rgba(255,255,255,.25) 50%,transparent 80%);
  transform:skewX(-25deg);transition:1s ease;
}
.neural-glow-btn::after{
  content:"";position:absolute;left:-20%;bottom:-8px;width:140%;height:26px;
  background:radial-gradient(circle at 50% 50%,rgba(87,120,255,.9),transparent 70%);
  opacity:0;filter:blur(10px);transition:.4s ease;z-index:-1;
}
.neural-glow-btn:hover{transform:translateY(-3px);border-color:rgba(120,140,255,1);box-shadow:0 0 20px rgba(82,109,255,.55),0 0 45px rgba(76,92,255,.35),0 10px 40px rgba(0,0,0,.55)}
.neural-glow-btn:hover::before{left:160%}
.neural-glow-btn:hover::after{opacity:1}
.neural-glow-btn:active{transform:scale(.98);box-shadow:0 0 12px rgba(82,109,255,.45),inset 0 2px 6px rgba(0,0,0,.45)}

.glass-neural-btn{
  border-color:rgba(130,160,255,.28);
  background:linear-gradient(180deg,rgba(255,255,255,.10) 0%,rgba(255,255,255,.04) 35%,rgba(10,12,25,.78) 100%);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.12),inset 0 -1px 1px rgba(255,255,255,.03),0 10px 35px rgba(0,0,0,.45);
}
.glass-neural-btn::before{
  content:"";position:absolute;top:0;left:-140%;width:70%;height:100%;
  background:linear-gradient(115deg,transparent 20%,rgba(255,255,255,.30) 50%,transparent 80%);
  transform:skewX(-25deg);transition:1.1s ease;
}
.glass-neural-btn::after{
  content:"";position:absolute;left:-15%;bottom:-12px;width:130%;height:34px;
  background:radial-gradient(circle at center,rgba(90,130,255,.95),rgba(130,70,255,.45),transparent 75%);
  filter:blur(12px);opacity:0;transition:.4s ease;z-index:-1;
}
.glass-neural-btn:hover{transform:translateY(-3px);border-color:rgba(140,170,255,.65);background:linear-gradient(180deg,rgba(255,255,255,.16) 0%,rgba(255,255,255,.06) 35%,rgba(15,18,35,.90) 100%);box-shadow:0 0 18px rgba(100,120,255,.35),0 0 45px rgba(90,70,255,.20),0 12px 42px rgba(0,0,0,.60),inset 0 1px 1px rgba(255,255,255,.14)}
.glass-neural-btn:hover::before{left:160%}
.glass-neural-btn:hover::after{opacity:1}
.glass-neural-btn:active{transform:scale(.985);box-shadow:0 0 12px rgba(120,140,255,.25),inset 0 2px 8px rgba(0,0,0,.45)}
@keyframes neuralPulse{0%,100%{box-shadow:0 0 10px rgba(100,120,255,.12),0 10px 35px rgba(0,0,0,.45)}50%{box-shadow:0 0 22px rgba(120,140,255,.28),0 10px 35px rgba(0,0,0,.45)}}
.glass-neural-btn.pulse{animation:neuralPulse 3s infinite ease-in-out}

.black-chrome-btn{
  border-radius:18px;
  border-color:rgba(236,244,255,.46);
  background:radial-gradient(90% 100% at 50% -35%,rgba(255,255,255,.42),rgba(255,255,255,.10) 32%,transparent 52%),linear-gradient(180deg,#24292d 0%,#101418 46%,#050608 100%);
  box-shadow:inset 0 2px 2px rgba(255,255,255,.46),inset 0 -3px 7px rgba(0,0,0,.82),inset 0 0 0 2px rgba(255,255,255,.08),0 12px 30px rgba(0,0,0,.62),0 0 0 1px rgba(255,255,255,.10);
  text-transform:uppercase;
  letter-spacing:.18em;
}
.black-chrome-btn::before{content:"";position:absolute;inset:5px;border-radius:14px;border:1px solid rgba(255,255,255,.16);box-shadow:inset 0 1px 1px rgba(255,255,255,.20),inset 0 -1px 1px rgba(0,0,0,.80)}
.black-chrome-btn::after{content:"";position:absolute;left:-35%;top:7%;width:70%;height:18%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.34),transparent);filter:blur(6px);transform:skewX(-18deg);opacity:.48;transition:.7s ease}
.black-chrome-btn:hover{transform:translateY(-3px);filter:brightness(1.12);box-shadow:inset 0 2px 2px rgba(255,255,255,.58),inset 0 -3px 7px rgba(0,0,0,.85),0 16px 38px rgba(0,0,0,.72),0 0 22px rgba(220,235,255,.20)}
.black-chrome-btn:hover::after{left:88%;opacity:.78}
.black-chrome-btn:active{transform:translateY(1px) scale(.985);filter:brightness(.88)}

.executive-steel-btn{
  border-radius:12px;
  color:#f7fafc;
  border-color:rgba(191,202,218,.30);
  background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.035) 42%,rgba(0,0,0,.24)),linear-gradient(135deg,#313945,#141922 58%,#090b0f);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.25),0 14px 28px rgba(0,0,0,.42);
  text-transform:uppercase;
  letter-spacing:.12em;
}
.executive-steel-btn::before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(115deg,transparent 0%,rgba(255,255,255,.18) 24%,transparent 46%);transform:translateX(-120%) skewX(-24deg);transition:.75s ease}
.executive-steel-btn:hover{transform:translateY(-2px);border-color:rgba(226,232,240,.55);box-shadow:inset 0 1px 1px rgba(255,255,255,.32),0 18px 36px rgba(0,0,0,.50),0 0 18px rgba(148,163,184,.14)}
.executive-steel-btn:hover::before{transform:translateX(150%) skewX(-24deg)}
.executive-steel-btn:active{transform:translateY(1px) scale(.99)}

@media (prefers-reduced-motion:reduce){.btn-candidate,.btn-candidate::before,.btn-candidate::after{transition:none!important;animation:none!important}}
html[data-motion="reduced"] .btn-candidate,html[data-motion="reduced"] .btn-candidate::before,html[data-motion="reduced"] .btn-candidate::after{transition:none!important;animation:none!important}
