.ui-icon {
  display: inline-block;
  width: 1.15em;
  height: 1.15em;
  flex: 0 0 auto;
  overflow: visible;
  vertical-align: -0.18em;
  color: currentColor;
  pointer-events: none;
}

[data-ui-icon] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.ui-icon-control,
.ui-icon-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .52rem;
}

.ui-icon-control {
  min-width: 2.75rem;
  min-height: 2.75rem;
  padding: .68rem;
}

.ui-icon-control .ui-icon { width: 1.32rem; height: 1.32rem; }
.ui-icon-label > [data-ui-icon]:first-child { margin-inline-start: -.08rem; }
.ui-icon-label > [data-ui-icon]:last-child { margin-inline-end: -.08rem; }
.ui-icon--small { width: 1rem; height: 1rem; }

.remove-card.ui-icon-control {
  width: 1.75rem;
  height: 1.75rem;
  min-width: 1.75rem;
  min-height: 1.75rem;
}

.remove-card.ui-icon-control .ui-icon {
  width: .9rem;
  height: .9rem;
}
.ui-icon--nav { width: 1.35rem; height: 1.35rem; stroke-width: 1.85; }

button:disabled .ui-icon,
[aria-disabled="true"] .ui-icon { opacity: .46; }

button.danger .ui-icon,
.danger .ui-icon { color: currentColor; }

button:focus-visible .ui-icon,
[role="button"]:focus-visible .ui-icon { filter: drop-shadow(0 0 .28rem rgba(244, 203, 98, .45)); }

body.high-contrast .ui-icon { stroke-width: 2.35; filter: none !important; }
body.reduced-glow .ui-icon { filter: none !important; }

@media (pointer: coarse) {
  .ui-icon-control { min-width: 2.9rem; min-height: 2.9rem; }
}
