.btn {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .7rem 1.5rem;
  border-radius: var(--r);
  font-family: inherit;
  font-size: var(--fs-sm);
  font-weight: 600;
  cursor: pointer;
  border: none;
  text-decoration: none;
  transition: all .15s;
  line-height: 1;
}

.btn-primary { background: var(--accent); color: white; }
.btn-primary:hover { background: var(--accent-dark); }

.btn-forest { background: var(--forest); color: white; }
.btn-forest:hover { background: var(--moss); }

.btn-outline {
  background: transparent;
  color: var(--forest);
  border: 1.5px solid var(--forest);
}
.btn-outline:hover { background: var(--forest); color: white; }

.btn-ghost {
  background: transparent;
  color: var(--ink);
  border: 1.5px solid var(--sand);
}
.btn-ghost:hover { border-color: var(--muted); }

.btn-white { background: white; color: var(--forest); }

.btn-white-outline {
  background: transparent;
  color: white;
  border: 1.5px solid var(--on-dark-50);
}
.btn-white-outline:hover { background: var(--on-dark-10); }

.btn-sm { padding: .45rem 1rem; font-size: var(--fs-xs); }
.btn-lg { padding: .9rem 2rem; font-size: var(--fs-lg); }
