:host {
  display: inline-block;
}

.<%= dasherize(name) %> {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font: inherit;
}

.<%= dasherize(name) %>--sm {
  width: 2rem;
  height: 2rem;
}

.<%= dasherize(name) %>--md {
  width: 2.5rem;
  height: 2.5rem;
}

.<%= dasherize(name) %>--lg {
  width: 3rem;
  height: 3rem;
}

.<%= dasherize(name) %>:disabled {
  cursor: not-allowed;
  opacity: 0.48;
}

.<%= dasherize(name) %>:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

.<%= dasherize(name) %>__icon,
.<%= dasherize(name) %>__icon::before,
.<%= dasherize(name) %>__icon::after {
  display: block;
  width: 1em;
  height: 0.125em;
}

.<%= dasherize(name) %>__icon {
  position: relative;
  font-size: 1rem;
}

.<%= dasherize(name) %>__icon::before,
.<%= dasherize(name) %>__icon::after {
  position: absolute;
  top: 50%;
  left: 0;
  background: currentColor;
  content: '';
}

.<%= dasherize(name) %>__icon::before {
  transform: rotate(45deg);
}

.<%= dasherize(name) %>__icon::after {
  transform: rotate(-45deg);
}
