div.required .control-label:after {
	content: "* ";
	color: #f00;
	font-weight: bold;
}

.control-label {
	font-size: 0.9rem;
	font-weight: 600;
	margin-bottom: 6px;
}

.form-horizontal .form-group {
	display: flex;
	flex-wrap: wrap;
}
@media (max-width: 767.98px) {
	.form-horizontal .form-group > [class*="col-md-"] {
		width: 100%;
	}
}
@media (max-width: 575.98px) {
	.form-horizontal .form-group > [class*="col-sm-"] {
		width: 100%;
	}
}

.form-group {
	margin-bottom: 18px;
}

.description {
	font-size: 0.9rem;
	color: var(--bs-gray-700) !important;
}

/* reviews-wrap */
.reviews-wrap {
	display: flex;
	align-items: center;
	line-height: 1.2;
}
.reviews-wrap .rating {
	display: flex;
	margin-top: -2px;
}
.reviews-wrap .rating img {
	width: 16px;
}
.reviews-wrap .rating-value {
	color: var(--bs-orange);
	margin-left: 6px;
	margin-right: 14px;
}
.reviews-wrap .reviews {
	font-size: 0.9rem;
	display: flex;
	gap: 0 9px;
	color: var(--bs-secondary);
	text-decoration: none;
}
.reviews-wrap .reviews img {
	margin-top: -1px;
}
.reviews-wrap .reviews span {
	border-bottom: 1px solid transparent;
	transition: 0.4s;
}
.reviews-wrap a.reviews:hover > span {
	color: var(--bs-primary);
	border-bottom-color: var(--bs-warning);
}

/* rating */
.rating {
	white-space: nowrap;
	line-height: 1.2;
}
.rating .is-active {
	filter: brightness(0) saturate(100%) invert(58%) sepia(92%) saturate(1212%) hue-rotate(347deg) brightness(101%)
		contrast(102%);
}

/* item-price */
.item-price {
	font-weight: 600;
	font-size: 20px;
	line-height: 1.4;
	letter-spacing: -0.2px;
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
}
.item-price .price-old {
	color: #8b96a5;
	font-weight: 400;
	font-size: 12px;
	text-decoration: line-through;
}
.item-price .price-tax {
	color: #8b96a5;
	font-size: 12px;
	display: block;
}

/* product-thumb */
.product-thumb {
	display: flex;
	flex-direction: column;
	border: 1px solid #dee2e7;
	background-color: white;
	border-radius: 6px;
	position: relative;
	padding: 1px;
	transition: 0.4s;
	height: 100%;
}
.product-thumb:hover {
	border-color: var(--bs-primary);
}
.product-thumb.no-available {
	opacity: 0.5;
}
.product-thumb .action-btns {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 1;
	gap: 4px;
}
.product-thumb .action-btns .btn {
	width: 38px;
	height: 38px;
	padding: 0;
	color: var(--bs-warning);
	font-size: 17px;
	background-color: #ffffffb3;
	border-radius: var(--bs-border-radius) !important;
}
.product-thumb .action-btns .btn:hover {
	background-color: var(--bs-info);
	color: white;
}
.product-thumb .image {
	padding: 10px;
	text-align: center;
	position: relative;
	overflow: hidden;
}
.product-thumb .image a {
	display: block;
}
.product-thumb .image img {
	max-width: 100%;
	height: auto;
}
.product-thumb .image + div {
	padding: 14px;
	/* border-top: 1px solid #dee2e7; */
	flex: 1 0 0%;
}
.product-thumb .caption {
	display: flex;
	flex-direction: column;
	height: 100%;
}
.product-thumb .available {
	display: flex;
	align-items: center;
	font-weight: 500;
	font-size: 0.9rem;
	line-height: 118.75%;
	margin-bottom: 10px;
}
.product-thumb .name {
	margin: 0 0 14px;
	font-weight: 500;
	font-size: 1rem;
	line-height: 120%;
}
.product-thumb .name a {
	color: var(--bs-dark);
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: border-color 0.4s;
	margin-right: 5px;
}
.product-thumb .name a:hover {
	border-bottom-color: var(--bs-dark);
}
.product-thumb .model {
	margin-top: 2px;
	white-space: nowrap;
	font-size: 14px;
	color: var(--bs-secondary);
	display: inline-block;
    font-weight: normal;
}
.product-thumb .info-block {
	margin-top: auto;
}
.product-thumb .description {
	margin-bottom: 15px;
}
.product-thumb .reviews-wrap {
	margin-bottom: 10px;
}
.product-thumb .reviews-text {
	display: none;
}
.product-thumb .bottom-group {
	display: flex;
	align-items: end;
	justify-content: space-between;
}
.product-thumb .add-to-cart {
	color: white;
	padding: 7px 12px;
	margin-bottom: -3px;
}
.product-thumb .add-to-cart img {
	filter: brightness(0) saturate(100%) invert(98%) sepia(2%) saturate(9%) hue-rotate(13deg) brightness(101%)
		contrast(104%);
}
@media (max-width: 767.98px) {
	.product-thumb .image + div {
		padding: 10px;
	}
	.product-thumb .available {
		font-size: 11px;
	}
	.product-thumb .action-btns .btn {
		width: 25px;
		height: 25px;
	}

	.reviews-wrap .reviews {
		font-size: 0.8rem;
		gap: 0 5px;
	}
	.reviews-wrap .reviews img {
		margin-top: 0;
		width: 16px;
	}
}

.show-list {
	display: none !important;
}

/* product-grid */
@media (min-width: 1400px) and (max-width: 1565.98px) {
	.product-grid .add-to-cart .d-none {
		display: none !important;
	}
}

/* product-list */
.product-list .show-list {
	display: inline-flex !important;
}
.product-list .show-grid {
	display: none !important;
}
.product-list .product-thumb {
	flex-direction: row;
}
.product-list .action-btns {
	top: initial;
	right: initial;
	bottom: 10px;
	left: 10px;
}
.product-list .image {
	width: 26.2%;
}
@media (max-width: 1199.98px) {
	.product-list .image {
		width: 35%;
	}
}
.product-list .image + div {
	border-top: none;
	padding: 20px;
}
.product-list .name {
	font-size: 1.1rem;
}
.product-list .info-block {
	margin-top: 0;
}
.product-list .bottom-group {
	margin-top: auto;
}
.product-list .add-to-cart {
	font-size: 15px;
	letter-spacing: 1px;
	padding: 10px 16px;
}

/* type-accessory */
.type-accessory .image + div {
	padding: 10px 12px;
}
.type-accessory .name {
	font-size: 14px;
	margin-bottom: 10px;
}
.type-accessory .reviews-wrap {
	margin-bottom: 8px;
}
.type-accessory .reviews {
	font-size: 13px;
}
.type-accessory .reviews img {
	margin-top: 2px;
	width: 14px;
	height: 14px;
}
.type-accessory .item-price {
	font-size: 16px;
}
.type-accessory .add-to-cart {
	margin-right: -8px;
	margin-bottom: -6px;
}
.type-accessory .add-to-cart img {
	width: 18px;
	height: 16px;
}

div fieldset:not(.form-horizontal),
.buttons {
	border: 1px solid var(--bs-border-color);
	border-radius: var(--bs-border-radius);
	background-color: white;
	padding: 22.5px;
}

.buttons {
	margin-top: 22.5px;
}
.buttons:after {
	content: "";
	display: table;
	clear: both;
}

.pull-left {
	float: left;
}

.pull-right {
	float: right;
}
