.shb-shell {
  display: flex;
  width: 100%;
  align-items: flex-start;
}

.shb-editor-msg {
  font-size: 12px;
  color: #64748b;
}

.shb-badge {
  --shb-open-bg: #0f9d58;
  --shb-open-text: #ffffff;
  --shb-soon-bg: #f59e0b;
  --shb-soon-text: #111827;
  --shb-closed-bg: #ef4444;
  --shb-closed-text: #ffffff;
  --shb-appt-bg: #06b6d4;
  --shb-appt-text: #ffffff;
  --shb-na-bg: #64748b;
  --shb-na-text: #ffffff;
  --shb-multi-max-w: 150px;
  --shb-multi-pad-scale: 0.75;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  line-height: 1;
  text-decoration: none;
  transition: .22s ease;
  width: auto;
  max-width: 100%;
  box-sizing: border-box;
  padding-top: var(--shb-pad-top, var(--shb-default-pad-top, 8px));
  padding-right: var(--shb-pad-right, var(--shb-default-pad-right, 12px));
  padding-bottom: var(--shb-pad-bottom, var(--shb-default-pad-bottom, 8px));
  padding-left: var(--shb-pad-left, var(--shb-default-pad-left, 12px));
}

.shb-badge .shb-text {
  display: block;
  line-height: 1.2;
  text-align: center;
  text-wrap: pretty;
  white-space: normal;
  overflow-wrap: normal;
}

.shb-badge.is-multiline .shb-text {
  max-width: var(--shb-multi-max-w);
}

.shb-badge.is-multiline {
  padding-right: calc(var(--shb-pad-right, var(--shb-default-pad-right, 12px)) * var(--shb-multi-pad-scale));
  padding-left: calc(var(--shb-pad-left, var(--shb-default-pad-left, 12px)) * var(--shb-multi-pad-scale));
}

.shb-icon {
  width: 1.2em;
  height: 1.2em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1em;
  line-height: 1;
  flex-shrink: 0;
}

.shb-badge.is-style-1 {
  border-radius: 12px;
  min-height: 32px;
  --shb-default-pad-top: 8px;
  --shb-default-pad-right: 12px;
  --shb-default-pad-bottom: 8px;
  --shb-default-pad-left: 12px;
}

.shb-badge.is-style-2 {
  border-radius: 999px;
  min-height: 34px;
  font-weight: 700;
  --shb-default-pad-top: 8px;
  --shb-default-pad-right: 14px;
  --shb-default-pad-bottom: 8px;
  --shb-default-pad-left: 14px;
}

.shb-badge.is-style-3 {
  border-radius: 8px;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  --shb-default-pad-top: 2px;
  --shb-default-pad-right: 0px;
  --shb-default-pad-bottom: 2px;
  --shb-default-pad-left: 0px;
}

.shb-badge.is-style-3 .shb-icon {
  width: 1em;
  height: 1em;
}

.shb-badge.state-open {
  background: var(--shb-open-bg);
  color: var(--shb-open-text);
}

.shb-badge.state-open_soon,
.shb-badge.state-close_soon {
  background: var(--shb-soon-bg);
  color: var(--shb-soon-text);
}

.shb-badge.state-closed,
.shb-badge.state-closed_today,
.shb-badge.state-closed_tomorrow,
.shb-badge.state-closed_future,
.shb-badge.state-closed_all_day {
  background: var(--shb-closed-bg);
  color: var(--shb-closed-text);
}

.shb-badge.state-appointments_only {
  background: var(--shb-appt-bg);
  color: var(--shb-appt-text);
}

.shb-badge.state-unavailable {
  background: var(--shb-na-bg);
  color: var(--shb-na-text);
}

.shb-badge.is-style-3.state-open {
  color: var(--shb-open-bg);
}

.shb-badge.is-style-3.state-open_soon,
.shb-badge.is-style-3.state-close_soon {
  color: var(--shb-soon-bg);
}

.shb-badge.is-style-3.state-closed,
.shb-badge.is-style-3.state-closed_today,
.shb-badge.is-style-3.state-closed_tomorrow,
.shb-badge.is-style-3.state-closed_future,
.shb-badge.is-style-3.state-closed_all_day {
  color: var(--shb-closed-bg);
}

.shb-badge.is-style-3.state-appointments_only {
  color: var(--shb-appt-bg);
}

.shb-badge.is-style-3.state-unavailable {
  color: var(--shb-na-bg);
}
