/* --------------------------------------------------------------
 * Cart icon & badge — standalone component styles.
 * Shared by the classic CoreLaunch header (theme.css also carries these for the
 * classic stack) and, crucially, the FSE header block, where theme.css is dequeued.
 * Registered as the `buddybossmembership/cart-icon` block style so it loads wherever the
 * block renders (same pattern as profile-menu.css / currency-switcher.css).
 * ------------------------------------------------------------ */

/* Self-contained box-sizing — classic loads theme.css's global border-box reset, but that is
 * dequeued under FSE, so scope it here or the badge's padding + min-width render content-box
 * and the bubble grows wider than the classic circle. */
.bbms-cart-icon-wrap,
.bbms-cart-icon-wrap *,
.bbms-cart-icon-wrap *::before,
.bbms-cart-icon-wrap *::after {
  box-sizing: border-box;
}

.bbms-cart-icon-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  margin-right: 12px;
  color: inherit;
  text-decoration: none;
}
.bbms-cart-icon-link svg {
  width: 22px;
  height: 22px;
}
.bbms-cart-icon-link:hover {
  opacity: 0.8;
}

.bbms-cart-icon-link:focus-visible {
  outline: none;
  border-radius: var(--bbms-cart-radius-sm, 4px);
  box-shadow: var(--bbms-cart-focus-ring, 0 0 0 3px rgba(6, 66, 158, 0.3));
}
.bbms-cart-badge {
  position: absolute;
  top: -6px;
  right: -8px;
  background: #16a34a;
  color: #fff;
  font-size: 0.6rem;
  font-weight: 700;
  min-width: 16px;
  height: 16px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 4px;
  line-height: 1;
  pointer-events: none;
}

/* Cart icon wrapper for dropdown positioning */
.bbms-cart-icon-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
  margin-right: 12px;
}
