/* ============================================================================
   Buttons, link buttons and selects.
   ========================================================================== */

/* ------------------------------------------------------------- Controls --- */

.primary-button, .ghost-button {
  font: inherit;
  font-weight: 560;
  line-height: 1.25;
  padding: .5rem .95rem;
  border: 1px solid transparent;
  border-radius: var(--r-sm);
  cursor: pointer;
  transition: background var(--fast) var(--ease), border-color var(--fast) var(--ease),
              color var(--fast) var(--ease), box-shadow var(--fast) var(--ease),
              transform var(--fast) var(--ease);
}
.primary-button {
  background: var(--accent);
  color: var(--accent-text);
  box-shadow: var(--shadow-sm);
}
.primary-button:hover { background: var(--accent-hover); }
.ghost-button {
  background: var(--surface);
  color: var(--text);
  border-color: var(--border-strong);
}
.ghost-button:hover { background: var(--surface-2); border-color: var(--text-faint); }
.primary-button:active, .ghost-button:active { transform: translateY(1px); }
.primary-button:disabled, .ghost-button:disabled {
  opacity: .45;
  cursor: not-allowed;
  transform: none;
}
.primary-button.large { padding: .7rem 1.4rem; font-size: 1.02rem; }

.link-button {
  font: inherit;
  background: none;
  border: 0;
  padding: 0;
  color: var(--accent);
  text-decoration: underline;
  text-underline-offset: 2px;
  cursor: pointer;
}
.link-button:hover { color: var(--accent-hover); }

.select {
  font: inherit;
  padding: .4rem 2rem .4rem .6rem;
  border: 1px solid var(--border-strong);
  border-radius: var(--r-sm);
  background: var(--surface);
  color: var(--text);
  max-width: 100%;
  appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, currentColor 50%),
                    linear-gradient(135deg, currentColor 50%, transparent 50%);
  background-position: right 1rem center, right .7rem center;
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
}
