.cb-btn-container {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin: 0 0 0 6px;
	vertical-align: middle;
	white-space: nowrap;
}

.cb-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	padding: 3px;
	border: none;
	border-radius: 4px;
	background: transparent;
	color: #999;
	cursor: pointer;
	opacity: 0.6;
	position: relative;
	transition: opacity 0.2s, color 0.2s, background 0.2s;
}

.cb-btn:hover,
.cb-btn:focus-visible {
	opacity: 1;
	color: #666;
	background: rgba(0, 0, 0, 0.04);
}

.cb-btn:focus-visible {
	outline: 2px solid #2271b1;
	outline-offset: 1px;
}

.cb-btn svg {
	display: block;
	width: 18px;
	height: 18px;
	stroke: currentColor;
	fill: none;
}

.cb-btn--success {
	color: #46b450 !important;
	opacity: 1 !important;
}

.cb-btn--error {
	color: #dc3232 !important;
	opacity: 1 !important;
}

.cb-btn:disabled {
	cursor: default;
	opacity: 0.3;
}

.cb-btn::after {
	content: attr( data-cb-tooltip );
	position: absolute;
	bottom: calc( 100% + 6px );
	left: 50%;
	transform: translateX( -50% );
	padding: 4px 8px;
	border-radius: 4px;
	background: #333;
	color: #fff;
	font-size: 12px;
	line-height: 1.4;
	white-space: nowrap;
	pointer-events: none;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.15s, visibility 0.15s;
	z-index: 9999;
}

.cb-btn:hover::after,
.cb-btn:focus-visible::after {
	opacity: 1;
	visibility: visible;
}

@media ( prefers-color-scheme: dark ) {
	.cb-btn {
		color: #777;
	}

	.cb-btn:hover,
	.cb-btn:focus-visible {
		color: #bbb;
		background: rgba( 255, 255, 255, 0.06 );
	}

	.cb-btn:focus-visible {
		outline-color: #4ab7ff;
	}

	.cb-btn::after {
		background: #eee;
		color: #222;
	}
}
