/* Production adaptation of the official PESBUL Neon Edge component. */
:root {
  --pb-green-dark: #0dbd50;
  --pb-red-dark: #d7263d;
  --pb-button-bg: #07131e;
  --pb-button-border: #17364a;
  --pb-button-text: #f7fcff;
}
.pb-button {
  --pb-action: var(--pb-cyan);
  --pb-action-dark: var(--pb-blue);
  position: relative;
  isolation: isolate;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  min-height: 46px;
  padding: 0.7rem 1.15rem;
  overflow: hidden;
  border: 1px solid var(--pb-button-border);
  border-radius: 7px;
  color: var(--pb-button-text);
  background: linear-gradient(180deg, color-mix(in srgb, var(--pb-action-dark) 35%, #0a1722), color-mix(in srgb, var(--pb-action-dark) 16%, var(--pb-button-bg)));
  font: inherit;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.065em;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  cursor: pointer;
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease, opacity 180ms ease;
}
.pb-button::before { position: absolute; z-index: -1; inset: -1px; content: ""; opacity: 0.55; background: linear-gradient(90deg, transparent 0 22%, var(--pb-action) 48%, transparent 74%); transform: translateX(-120%); transition: transform 650ms ease; }
.pb-button::after { position: absolute; inset: 3px; content: ""; border: 1px solid color-mix(in srgb, var(--pb-action) 20%, transparent); border-radius: 4px; pointer-events: none; }
.pb-button:hover { color: #fff; border-color: var(--pb-action); box-shadow: 0 0 22px color-mix(in srgb, var(--pb-action) 28%, transparent); transform: translateY(-2px); }
.pb-button:hover::before { transform: translateX(120%); }
.pb-button:active { transform: translateY(0) scale(0.985); }
.pb-button:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.pb-button[disabled], .pb-button.is-disabled, .pb-button[aria-disabled="true"] { opacity: 0.45; cursor: not-allowed; pointer-events: none; box-shadow: none; transform: none; }
.pb-button--success { --pb-action: var(--pb-green); --pb-action-dark: var(--pb-green-dark); }
.pb-button--danger { --pb-action: var(--pb-red); --pb-action-dark: var(--pb-red-dark); }
.pb-button--ghost { background: rgba(3, 15, 25, 0.72); }
.pb-button--compact { min-height: 40px; padding: 0.5rem 0.8rem; font-size: 14px; }
.pb-button--block { width: 100%; }
.pb-button__icon { display: inline-grid; flex: 0 0 auto; place-items: center; width: 18px; height: 18px; }
.pb-button__icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
@media (prefers-reduced-motion: reduce) { .pb-button, .pb-button::before { transition-duration: 0.01ms !important; } .pb-button:hover { transform: none; } }
@media (max-width: 767px) { .pb-button--compact { min-height: 44px; } }
