/* VestFloor auth styling.
   This file is linked statically in <head>, so it is part of the served markup
   and survives hydration. All connected-state rendering happens here, driven by
   an attribute and a custom property that vest-auth.js sets on <html> — no
   element is ever created, so React has nothing to remove. */

/* The wallet button is disabled until a wallet is detected; a disabled button
   swallows nothing but fires nothing either, so the container takes the click. */
.vest-wallet-slot,
div.relative.hidden.h-8.sm\:inline-flex,
div.relative.mt-4.h-11 {
  cursor: pointer;
}

/* Connected: replace the label React rendered, without touching its DOM. */
html[data-vest-state="connected"] div.relative.hidden.h-8.sm\:inline-flex > button,
html[data-vest-state="connected"] div.relative.mt-4.h-11 > button,
html[data-vest-state="busy"] div.relative.hidden.h-8.sm\:inline-flex > button,
html[data-vest-state="busy"] div.relative.mt-4.h-11 > button {
  font-size: 0 !important;
  opacity: 1 !important;
}

html[data-vest-state="connected"] div.relative.hidden.h-8.sm\:inline-flex > button::after,
html[data-vest-state="connected"] div.relative.mt-4.h-11 > button::after,
html[data-vest-state="busy"] div.relative.hidden.h-8.sm\:inline-flex > button::after,
html[data-vest-state="busy"] div.relative.mt-4.h-11 > button::after {
  content: var(--vest-label, "Connect wallet");
  font-family: var(--font-mono-loaded, "IBM Plex Mono", monospace);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.02em;
}

html[data-vest-state="connected"] div.relative.hidden.h-8.sm\:inline-flex > button {
  background: var(--salary, #1c7a45) !important;
}

/* A disabled button renders at reduced opacity; once we own the flow it is live. */
html[data-vest-state] div.relative.hidden.h-8.sm\:inline-flex > button[disabled],
html[data-vest-state] div.relative.mt-4.h-11 > button[disabled] {
  opacity: 1 !important;
  pointer-events: none; /* let the container receive the click */
}
