.spb-wrap {
  position: relative;
  display: flex;
  justify-content: flex-end;
  margin: 0 0 14px 0;
}

.spb-btn {
  appearance: none;
  border: 1px solid rgba(0,0,0,.12);
  background: #fff;
  border-radius: 10px;
  padding: 10px 12px;
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  box-shadow: 0 1px 2px rgba(0,0,0,.06);
  text-decoration: none;
  color: inherit;
}

.spb-btn:hover {
  box-shadow: 0 6px 16px rgba(0,0,0,.08);
}

.spb-btn__chev {
  font-size: 12px;
  opacity: .75;
}

.spb-btn--single .spb-btn__hint {
  font-size: 12px;
  opacity: .7;
  margin-left: 6px;
}

.spb-menu {
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  min-width: 220px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 12px;
  padding: 6px;
  box-shadow: 0 12px 28px rgba(0,0,0,.12);
  display: none;
  z-index: 9999;
}

.spb-menu.is-open {
  display: block;
}

.spb-menu__item {
  display: block;
  padding: 10px 10px;
  border-radius: 10px;
  text-decoration: none;
  color: inherit;
  font-size: 14px;
}

.spb-menu__item:hover {
  background: rgba(0,0,0,.05);
}


/* Optional: justify alignment on the post page (theme-agnostic best effort) */
.spb-justify .entry-content,
.spb-justify .entry-content p,
.spb-justify .wp-block-post-content,
.spb-justify .wp-block-post-content p,
.spb-justify article,
.spb-justify article p,
.spb-justify .post-content,
.spb-justify .post-content p,
.spb-justify .single .content,
.spb-justify .single .content p {
  text-align: justify !important;
}


/* Icon button support */
.spb-btn__icon {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  line-height: 1;
  vertical-align: middle;
}

.spb-icon {
  display: block !important;
  width: 18px !important;
  height: 18px !important;
}

.spb-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.spb-btn__icon svg {
  width: 18px !important;
  height: 18px !important;
  display: block !important;
}

/* Ensure SVG icon always displays */
.spb-btn__icon--svg {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
