/* Text-led actions: a quiet blue glow connects them to the logic thread. */
.primary-action,
.btn.light,
.btn.ink,
.wizard-page .form-next {
  justify-content: center;
  min-height: 50px;
  padding: 14px 24px;
  gap: 0;
  border: 1px solid #627de0;
  border-radius: 10px;
  background: linear-gradient(155deg, #405fd0, #304bac);
  color: #fff;
  box-shadow: inset 0 1px 0 #ffffff18, 0 4px 16px #030b2324;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0;
  text-align: center;
  text-decoration: none;
  transform: none;
  transition: border-color .2s, box-shadow .2s, background .2s;
}

.header-verify,
.topline nav .navcta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 18px;
  gap: 0;
  border: 1px solid #536c9c;
  border-radius: 10px;
  background: #15223b80;
  color: #e8eeff;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.5;
  transition: border-color .2s, box-shadow .2s, background .2s;
}

.wizard-page .form-next {
  min-height: 46px;
  padding: 12px 19px;
  font-size: 12px;
}

.optimization-trigger,
#assistant-optimize {
  justify-content: center;
  min-height: 46px;
  padding: 12px 16px;
  gap: 0;
  border: 1px solid #9bafd2;
  border-radius: 10px;
  background: #e8eef8;
  color: #244575;
  font-weight: 600;
  text-align: center;
  transition: border-color .2s, box-shadow .2s, background .2s;
}

.scroll-invitation > .scroll-label:last-child {
  color: #b6c7e4;
  font: 500 11px/1.5 var(--font-body, 'Manrope', sans-serif);
  letter-spacing: 0;
  text-decoration: underline;
  text-decoration-color: #536c9c;
  text-underline-offset: 5px;
}

@media (hover: hover) and (pointer: fine) {
  .primary-action:hover,
  .btn.light:hover,
  .btn.ink:hover,
  .wizard-page .form-next:hover:not(:disabled) {
    background: linear-gradient(155deg, #496cdd, #3654bb);
    border-color: #96aeff;
    box-shadow: inset 0 1px 0 #ffffff22, 0 0 24px #5175ff30;
    color: #fff;
    transform: none;
  }

  .header-verify:hover,
  .topline nav .navcta:hover {
    background: #1b2c4a;
    border-color: #91a9ec;
    color: #fff;
    box-shadow: 0 0 20px #5175ff1c;
  }

  .optimization-trigger:hover:not(:disabled),
  #assistant-optimize:hover:not(:disabled) {
    background: #dce6f7;
    border-color: #708fc4;
    box-shadow: 0 0 16px #5175ff14;
  }
}

.primary-action:active,
.btn.light:active,
.btn.ink:active,
.wizard-page .form-next:active:not(:disabled) {
  background: #2e49a9;
  box-shadow: inset 0 2px 6px #13245750;
  transform: none;
}

.primary-action:focus-visible,
.header-verify:focus-visible,
.topline nav .navcta:focus-visible,
.wizard-page .form-next:focus-visible,
.optimization-trigger:focus-visible,
#assistant-optimize:focus-visible {
  outline: 2px solid #a5bdff;
  outline-offset: 4px;
}

.wizard-page .form-next:disabled,
.optimization-trigger:disabled,
#assistant-optimize:disabled {
  opacity: .5;
  cursor: not-allowed;
  box-shadow: none;
}

@media (max-width: 700px) {
  .primary-action { min-height: 48px; padding: 13px 20px; font-size: 12px; }
  .header-verify { padding: 10px 13px; font-size: 11px; }
  .wizard-page .form-next { min-height: 44px; padding: 11px 13px; font-size: 11px; }
  .scroll-invitation > .scroll-label:last-child { font-size: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  .primary-action, .btn, .header-verify, .topline nav .navcta,
  .wizard-page .form-next, .optimization-trigger, #assistant-optimize {
    transition: none;
  }
}
