.bfb-bubbles,
.bfb-bubbles * {
	box-sizing: border-box;
}

.bfb-bubbles {
	display: grid;
	grid-template-columns: repeat(var(--bfb-columns-desktop, 5), minmax(0, 1fr));
	justify-items: center;
	align-items: center;
	gap: var(--bfb-gap-desktop, 22px);
	width: 100%;
	max-width: var(--bfb-max-width, 920px);
	margin-top: 0;
	margin-bottom: 0;
	border: 0 !important;
	outline: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.elementor-widget-shortcode:has(.bfb-bubbles),
.elementor-widget-shortcode:has(.bfb-bubbles) > .elementor-widget-container,
.elementor-widget-html:has(.bfb-bubbles),
.elementor-widget-html:has(.bfb-bubbles) > .elementor-widget-container,
.elementor-widget-text-editor:has(.bfb-bubbles),
.elementor-widget-text-editor:has(.bfb-bubbles) > .elementor-widget-container {
	border: 0 !important;
	outline: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.bfb-align-left {
	margin-right: auto;
	margin-left: 0;
}

.bfb-align-center {
	margin-right: auto;
	margin-left: auto;
}

.bfb-align-right {
	margin-right: 0;
	margin-left: auto;
}

.bfb-bubble {
	display: flex;
	align-items: center;
	justify-content: center;
	width: min(100%, var(--bfb-size-desktop, 158px));
	max-width: var(--bfb-size-desktop, 158px);
	aspect-ratio: 1 / 1;
	padding: 18px;
	border: var(--bfb-border-width, 1px) solid var(--bfb-border, #b1b9b2);
	background: var(--bfb-background, #b1b9b2);
	color: var(--bfb-text, #231f20);
	font-family: var(--bfb-font-family, "ABeeZee", Arial, sans-serif);
	font-size: var(--bfb-font-size-desktop, 15px);
	font-weight: var(--bfb-font-weight, 500);
	line-height: var(--bfb-line-height, 1.35);
	text-align: center;
	text-decoration: none;
	white-space: normal;
	overflow-wrap: break-word;
	hyphens: auto;
	box-shadow: 0 16px 30px rgba(35, 31, 32, var(--bfb-shadow-opacity, 0.1));
	transform: translateY(0) scale(1);
	transition: box-shadow 180ms ease, transform 180ms ease, background 180ms ease, color 180ms ease;
	will-change: transform;
}

.bfb-shape-circle .bfb-bubble {
	border-radius: 50%;
}

.bfb-shape-rounded .bfb-bubble {
	border-radius: 24px;
}

.bfb-shape-pill .bfb-bubble {
	width: auto;
	max-width: none;
	min-height: calc(var(--bfb-size-desktop, 158px) * 0.56);
	aspect-ratio: auto;
	padding-right: 26px;
	padding-left: 26px;
	border-radius: 999px;
}

.bfb-bubble:hover,
.bfb-bubble:focus {
	color: var(--bfb-text, #231f20);
	box-shadow: 0 28px 54px rgba(35, 31, 32, var(--bfb-hover-shadow-opacity, 0.2));
	transform: translateY(calc(var(--bfb-hover-lift, 8px) * -1)) scale(var(--bfb-hover-scale, 1.08));
}

.bfb-bubble:focus-visible {
	outline: 2px solid color-mix(in srgb, var(--bfb-text, #231f20) 70%, transparent);
	outline-offset: 4px;
}

.bfb-bubble span {
	display: block;
	max-width: 100%;
}

@media (max-width: 1024px) {
	.bfb-bubbles {
		grid-template-columns: repeat(var(--bfb-columns-tablet, 3), minmax(0, 1fr));
		gap: var(--bfb-gap-tablet, 20px);
	}

	.bfb-bubble {
		width: min(100%, var(--bfb-size-tablet, 146px));
		max-width: var(--bfb-size-tablet, 146px);
		font-size: var(--bfb-font-size-tablet, 14px);
	}

	.bfb-shape-pill .bfb-bubble {
		width: auto;
		max-width: none;
		min-height: calc(var(--bfb-size-tablet, 146px) * 0.56);
	}
}

@media (max-width: 767px) {
	.bfb-bubbles {
		grid-template-columns: repeat(var(--bfb-columns-mobile, 2), minmax(0, 1fr));
		gap: var(--bfb-gap-mobile, 16px);
	}

	.bfb-bubble {
		width: min(100%, var(--bfb-size-mobile, 138px));
		max-width: var(--bfb-size-mobile, 138px);
		padding: 15px;
		font-size: var(--bfb-font-size-mobile, 13px);
	}

	.bfb-shape-pill .bfb-bubble {
		width: auto;
		max-width: none;
		min-height: calc(var(--bfb-size-mobile, 138px) * 0.56);
		padding-right: 20px;
		padding-left: 20px;
	}
}

