/* BondMai Button System
   Phase 2 component layer. Scoped to Marketplace first to avoid changing admin/account views. */

body:has(.appShell.view-market) :where(
  .bm-button,
  .primaryButton,
  .heroSearchSubmit,
  .softButton,
  .secondaryAction,
  .profileLinkButton,
  .cardCta,
  .tinyButton,
  .ghostButton
) {
  min-height: var(--bm-button-height);
  padding: 0 var(--bm-button-padding-inline);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--bm-button-gap);
  border-radius: var(--bm-button-radius);
  border: 1px solid transparent;
  font-family: var(--bm-font-sans);
  font-size: var(--bm-button-font-size);
  line-height: 20px;
  font-weight: var(--bm-button-font-weight);
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}

body:has(.appShell.view-market) :where(.bm-button, .primaryButton, .heroSearchSubmit, .softButton, .secondaryAction, .profileLinkButton, .cardCta, .tinyButton, .ghostButton) :where(svg, .glyph) {
  flex: 0 0 auto;
}

/* Filled: primary conversion action. */
body:has(.appShell.view-market) :where(.bm-button--filled, .primaryButton, .heroSearchSubmit, .cardCta) {
  color: var(--bm-color-on-primary);
  background: var(--bm-color-primary);
  border-color: var(--bm-color-primary);
  box-shadow: var(--bm-shadow-coral);
}

/* Soft: trusted but quieter action. */
body:has(.appShell.view-market) :where(.bm-button--soft, .softButton) {
  color: var(--bm-color-primary);
  background: var(--bm-color-surface-lowest);
  border-color: var(--bm-color-outline-soft);
  box-shadow: var(--bm-shadow-none);
}

/* Ghost: low emphasis action on cards or section headers. */
body:has(.appShell.view-market) :where(.bm-button--ghost, .secondaryAction, .ghostButton, .tinyButton) {
  color: var(--bm-color-primary);
  background: color-mix(in srgb, var(--bm-color-mint-soft) 64%, transparent);
  border-color: color-mix(in srgb, var(--bm-color-mint) 60%, transparent);
  box-shadow: var(--bm-shadow-none);
}

/* Text: inline navigation or secondary utility. */
body:has(.appShell.view-market) .bm-button--text {
  min-height: var(--bm-button-height-small);
  padding-inline: var(--bm-space-3);
  color: var(--bm-color-primary);
  background: transparent;
  border-color: transparent;
  box-shadow: var(--bm-shadow-none);
}

/* Icon: circular tools, theme, language, notifications. */
body:has(.appShell.view-market) :where(.bm-icon-button, .iconButton) {
  width: var(--bm-button-height);
  min-width: var(--bm-button-height);
  height: var(--bm-button-height);
  min-height: var(--bm-button-height);
  padding: 0;
  display: inline-grid;
  place-items: center;
  border-radius: var(--bm-radius-full);
  border: 1px solid var(--bm-color-outline-soft);
  color: var(--bm-color-primary);
  background: var(--bm-color-surface-lowest);
  box-shadow: var(--bm-shadow-none);
  cursor: pointer;
}

body:has(.appShell.view-market) :where(.bm-button--large, .heroSearchSubmit) {
  min-height: var(--bm-button-height-large);
  padding-inline: var(--bm-space-6);
  font-size: 16px;
}

body:has(.appShell.view-market) :where(.bm-button--small, .tinyButton) {
  min-height: var(--bm-button-height-small);
  padding-inline: var(--bm-space-4);
  font-size: 14px;
}

body:has(.appShell.view-market) :where(.bm-button, .primaryButton, .heroSearchSubmit, .softButton, .secondaryAction, .profileLinkButton, .cardCta, .tinyButton, .ghostButton, .bm-icon-button, .iconButton):hover:not(:disabled):not([aria-disabled="true"]) {
  transform: translateY(-1px);
}

body:has(.appShell.view-market) :where(.bm-button--filled, .primaryButton, .heroSearchSubmit, .cardCta):hover:not(:disabled):not([aria-disabled="true"]) {
  background: color-mix(in srgb, var(--bm-color-primary) 88%, var(--bm-color-passport));
  border-color: color-mix(in srgb, var(--bm-color-primary) 88%, var(--bm-color-passport));
  box-shadow: var(--bm-shadow-2);
}

body:has(.appShell.view-market) :where(.bm-button--soft, .softButton, .bm-icon-button, .iconButton):hover:not(:disabled):not([aria-disabled="true"]) {
  background: var(--bm-color-mint-soft);
  border-color: color-mix(in srgb, var(--bm-color-primary) 28%, var(--bm-color-outline-soft));
}

body:has(.appShell.view-market) :where(.bm-button--ghost, .secondaryAction, .ghostButton, .tinyButton, .bm-button--text):hover:not(:disabled):not([aria-disabled="true"]) {
  background: color-mix(in srgb, var(--bm-color-mint) 34%, transparent);
  border-color: color-mix(in srgb, var(--bm-color-primary) 20%, transparent);
}

body:has(.appShell.view-market) :where(.bm-button, .primaryButton, .heroSearchSubmit, .softButton, .secondaryAction, .profileLinkButton, .cardCta, .tinyButton, .ghostButton, .bm-icon-button, .iconButton):active:not(:disabled):not([aria-disabled="true"]) {
  transform: translateY(0);
  box-shadow: var(--bm-shadow-1);
}

body:has(.appShell.view-market) :where(.bm-button, .primaryButton, .heroSearchSubmit, .softButton, .secondaryAction, .profileLinkButton, .cardCta, .tinyButton, .ghostButton, .bm-icon-button, .iconButton):focus-visible {
  outline: 3px solid color-mix(in srgb, var(--bm-color-primary) 38%, transparent);
  outline-offset: 3px;
}

body:has(.appShell.view-market) :where(.bm-button, .primaryButton, .heroSearchSubmit, .softButton, .secondaryAction, .profileLinkButton, .cardCta, .tinyButton, .ghostButton, .bm-icon-button, .iconButton):disabled,
body:has(.appShell.view-market) :where(.bm-button, .primaryButton, .heroSearchSubmit, .softButton, .secondaryAction, .profileLinkButton, .cardCta, .tinyButton, .ghostButton, .bm-icon-button, .iconButton)[aria-disabled="true"] {
  opacity: .48;
  cursor: not-allowed;
  transform: none;
  box-shadow: var(--bm-shadow-none);
}

body:has(.appShell.view-market) :where(.buttonRow, .marketPulseActions, .tripActions, .requestActions, .matchFooter) {
  display: flex;
  align-items: center;
  gap: var(--bm-space-3);
  flex-wrap: wrap;
}

@media (max-width: 760px) {
  body:has(.appShell.view-market) :where(.bm-button, .primaryButton, .heroSearchSubmit, .softButton, .secondaryAction, .profileLinkButton, .cardCta) {
    min-height: 48px;
  }
}


/* BondMai V3 overrides */
button,.bm-btn,.primaryButton{border-radius:14px!important;font-weight:600!important;transition:all .18s ease!important;}
.primaryButton,.bm-btn-primary{background:#0f766e!important;color:#fff!important;border:none!important;box-shadow:var(--bm-shadow-1)!important;}
.primaryButton:hover,.bm-btn-primary:hover{background:#115e59!important;transform:translateY(-1px);box-shadow:var(--bm-shadow-2)!important;}
.secondaryButton,.softButton,.bm-btn-secondary{background:#f6f8f7!important;color:#0f766e!important;border:1px solid #d9e2df!important;}
