.bs-widget {
	max-width: 100%;
	box-shadow: 0 0 0 1px rgba(231, 234, 241, 1);
	border-radius: 2px;
	background-color: rgba(255, 255, 255, 1);
	padding: 24px 30px;
	font-family: 'graphikregular', sans-serif;
	box-sizing: border-box;
}

.bs-widget * {
	box-sizing: border-box;
}

.bs-widget__header {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 14px;
}

.bs-widget__title {
	margin: 0;
	color: rgba(34, 34, 34, 1);
	font-family: 'graphikmedium';
	font-size: 18px;
	margin-bottom: 0;
	line-height: 28px;
}

.bs-widget__range {
	color: rgba(117, 117, 117, 1);
	font-family: 'graphikregular', sans-serif;
	font-size: 16px;
	line-height: 16px;
}

.bs-dates-slider {
	position: relative;
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 24px;
	width: 100%;
}

.bs-dates {
	display: flex;
	gap: 15px;
	overflow-x: auto;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	/* Firefox */
	-ms-overflow-style: none;
	/* IE/Edge */
	flex: 1;
	padding: 4px 2px;
}

.bs-dates::-webkit-scrollbar {
	display: none;
	/* Chrome/Safari */
}

.bs-date {
	flex: 0 0 76px;
	min-width: 76px;
	min-height: 56px;
	border: 1px solid rgba(231, 234, 241, 1);
	background-color: rgba(244, 246, 249, 1);
	border-radius: 0;
	padding: 5px;
	text-align: center;
	cursor: pointer;
	color: rgba(0, 0, 0, 1);
	display: flex;
	flex-direction: column;
	gap: 6px;
	user-select: none;
	align-items: center;
	justify-content: center;
}

.bs-dates-nav {
	flex: 0 0 36px;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: #f3f4f6;
	border: 1px solid #e5e7eb;
	color: #374151;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	padding: 0;
	transition: all 0.2s ease;
	user-select: none;
}

.bs-dates-nav:hover:not(:disabled) {
	background: #5c9a63;
	border-color: #5c9a63;
	color: #fff;
}

.bs-dates-nav:disabled {
	opacity: 0.3;
	cursor: not-allowed;
	pointer-events: none;
}

.bs-dates-nav svg {
	display: block;
	pointer-events: none;
}

.bs-date__dow {
	opacity: 0.8;
	color: rgba(0, 0, 0, 1);
	font-family: 'graphikregular', sans-serif;
	font-size: 12px;

}

.bs-date.is-selected .bs-date__dow {
	color: #e6f4ea;
}

.bs-date__day {
	font-family: 'graphikmedium';
	font-size: 14px;
}

.bs-date.is-selected {
	background: #41B76C;
	color: #fff;
}

.bs-date:hover:not(.is-selected):not(:disabled) {
	background: #e5e7eb;
}

.bs-date:disabled,
.bs-date.is-disabled {
	opacity: 0.4;
	cursor: not-allowed;
	pointer-events: none;
	text-decoration: line-through;
	background: #f9fafb;
	color: #9ca3af;
}

.bs-date.is-today:not(.is-selected):not(:disabled) {
	outline: 2px solid #5c9a63;
	outline-offset: -2px;
}

.bs-label {
	color: rgba(34, 34, 34, 1);
	font-family: 'graphikmedium';
	font-size: 16px;
	margin-bottom: 14px;
	line-height: 28px;
}

.bs-times {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
	gap: 15px;
}

.bs-time {
	border: 1px solid rgba(231, 234, 241, 1);
	background-color: rgba(244, 246, 249, 1);
	border-radius: 0;
	padding: 11px;
	text-align: center;
	color: rgba(0, 0, 0, 1);
	font-family: 'graphikregular', sans-serif;
	font-size: 16px;
	cursor: pointer;
}

.bs-time:hover:not(.is-selected):not(:disabled) {
	background: #e5e7eb;
}

.bs-time.is-selected {
	background: #5c9a63;
	color: #fff;
}

.bs-time:disabled {
	opacity: 0.4;
	cursor: not-allowed;
	text-decoration: line-through;
}

.bs-loading {
	color: #9ca3af;
	grid-column: 1 / -1;
}

.bs-divider {
	border: none;
	border-top: 1px solid rgba(231, 234, 241, 1);
	margin: 30px 0 24px;
}

.bs-confirming {
	color: rgba(34, 34, 34, 1);
	font-family: 'graphikmedium';
	font-size: 16px;
	line-height: 28px;
	margin-bottom: 14px;
}

.bs-form-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	margin-bottom: 20px;
}

.bs-input {
	padding: 15px 12px;
	box-shadow: 0 0 0 1px rgba(231, 234, 241, 1);
	background-color: rgba(255, 255, 255, 0.2);
	border-radius: 0;
	color: rgba(34, 34, 34, 1);
	font-family: 'graphikregular', sans-serif;
	font-size: 16px;
	width: 100%;
	border: none;
}

.bs-input::placeholder {
	color: rgba(117, 117, 117, 1);
}

.bs-submit-btn {
	background-color: #49CC79;
	min-width: 194px;
	height: 48px;
	display: inline-flex;
	padding: 10px 25px 10px 20px;
	align-items: center;
	justify-content: center;
	color: #FFFFFF;
	font-family: 'graphikmedium';
	font-size: 12px;
	letter-spacing: 1px;
	line-height: 14px;
	text-transform: uppercase;
	border: none;
}

.bs-submit-btn:hover {
	color: #FFFFFF;
}

.bs-submit-btn polyline {
	stroke: #fff !important;
}


.bs-submit-btn:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

.bs-message {
	margin-top: 14px;
	font-size: 14px;
}

.bs-message.is-success {
	color: #41B76C;
}

.bs-message.is-error {
	color: #c0392b;
}

.bs-footer {
	color: rgba(117, 117, 117, 1);
	font-family: 'graphikregular', sans-serif;
	font-size: 15px;
	font-weight: 400;
	margin-top: 25px;
	line-height: 28px;
}


@media (max-width: 767px) {
	.bs-dates {
		gap: 8px;
	}

	.bs-date {
		flex: 0 0 60px;
		min-width: 60px;
		min-height: 50px;
	}

	.bs-dates-nav {
		display: none;
	}

	.bs-widget {
		padding: 20px 14px;
	}

	.bs-form-row {
		grid-template-columns: 1fr;
	}
}