.sn-fbt {
	margin: 1.1rem 0 1.25rem;
	padding: .95rem .9rem .9rem;
	border: 1px solid #e5e7eb;
	border-radius: 12px;
	background: #fff;
}

.sn-fbt__title {
	margin: 0 0 .22rem;
	font-size: .92rem;
	font-weight: 700;
	color: #111827;
}

.sn-fbt__description {
	margin: 0 0 .6rem;
	font-size: .78rem;
	line-height: 1.3;
	color: #6b7280;
}

.sn-fbt__images {
	display: flex;
	align-items: flex-start;
	gap: .45rem;
	margin-bottom: .7rem;
}

.sn-fbt__image-item {
	flex: 0 0 auto;
	transition: opacity .16s ease;
}

.sn-fbt__image-item.is-unselected {
	opacity: .28;
}

.sn-fbt__thumb {
	display: block;
	width: auto;
}

.sn-fbt__thumb img {
	display: block;
	width: 72px;
	height: 78px;
	object-fit: contain;
	object-position: left center;
	background: transparent;
}

.sn-fbt__plus {
	flex: 0 0 auto;
	display: inline-block;
	align-self: center;
	color: #111827;
	font-size: 20px;
	font-weight: 700;
	line-height: 1;
}

.sn-fbt__list {
	display: flex;
	flex-direction: column;
	gap: .34rem;
}

.sn-fbt__row {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: .48rem;
	padding: .25rem 0;
	font-size: .82rem;
	color: #1f2937;
	cursor: pointer;
}

.sn-fbt__row.is-current {
	cursor: default;
}

.sn-fbt__row.is-current .sn-fbt__name {
	color: #374151;
}

.sn-fbt__row.is-current .sn-fbt__name::after {
	content: " (prodotto attuale)";
	font-size: .72rem;
	font-weight: 600;
	color: #6b7280;
}

.sn-fbt__check input {
	appearance: none;
	-webkit-appearance: none;
	width: 15px;
	height: 15px;
	border: 1px solid #d1d5db;
	border-radius: 3px;
	background: #fff;
	margin: 0;
	display: inline-grid;
	place-content: center;
	cursor: pointer;
}

.sn-fbt__check input::before {
	content: "";
	width: 8px;
	height: 8px;
	transform: scale(0);
	transition: transform .12s ease;
	clip-path: polygon(14% 44%, 0 59%, 40% 100%, 100% 23%, 84% 9%, 39% 62%);
	background: #fff;
}

.sn-fbt__check input:checked {
	background: #f0701e;
	border-color: #f0701e;
}

.sn-fbt__check input:checked::before {
	transform: scale(1);
}

.sn-fbt__check input:disabled {
	background: #94a3b8;
	border-color: #94a3b8;
	cursor: not-allowed;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .35);
}

.sn-fbt__name {
	font-size: .84rem;
	font-weight: 600;
	line-height: 1.2;
	color: #111827;
}

.sn-fbt__price {
	font-size: .8rem;
	font-weight: 700;
	color: #013d29;
}

.sn-fbt__price del {
	opacity: .45;
	font-size: .75rem;
	font-weight: 500;
}

.sn-fbt__price ins {
	text-decoration: none;
	font-size: .83rem;
}

.sn-fbt__actions {
	display: flex;
	align-items: center;
	gap: .7rem;
	justify-content: flex-end;
	margin: .75rem 0 0;
}

.sn-fbt__total {
	margin-right: auto;
	font-size: .79rem;
	font-weight: 700;
	color: #374151;
}

.sn-fbt__total-price {
	margin-left: .2rem;
}

.sn-fbt__submit {
	min-width: 220px;
	padding: .56rem .9rem;
	border: 0;
	border-radius: 7px;
	background: #f0701e;
	color: #fff;
	font-size: .82rem;
	font-weight: 700;
	text-align: center;
	box-shadow: none;
	cursor: pointer;
	transition: background-color .16s ease;
}

.sn-fbt__submit:hover,
.sn-fbt__submit:focus-visible {
	background: #d45c0e;
}

@media (max-width: 768px) {
	.sn-fbt__images {
		gap: .3rem;
	}

	.sn-fbt__plus {
		width: 20px;
		height: 20px;
		font-size: 13px;
	}

	.sn-fbt__thumb img {
		height: 68px;
	}

	.sn-fbt__row {
		grid-template-columns: auto 1fr;
		row-gap: .12rem;
	}

	.sn-fbt__price {
		grid-column: 2;
	}

	.sn-fbt__actions {
		flex-wrap: wrap;
		justify-content: stretch;
	}

	.sn-fbt__total {
		width: 100%;
	}

	.sn-fbt__submit {
		width: 100%;
		min-width: 0;
	}
}
