  /**********************/
  /* DRUPAL COMMERCE */
  /**********************/
  /* CART */
  
  .cart-form {
	tbody tr td, thead tr th {
	  text-align: center;
	  border: none;
	}
  }
  
  td.subtotal-title {
	padding: 10px 0 10px 5px;
  }
  
  .cart-form .delete-order-item {
	background-image: url("../images/close.png");
	background-repeat: no-repeat;
	background-position: center center;
	text-indent: -9999px;
	background-color: transparent !important;
	background-size: 15px;
	padding: 8px;
	box-shadow: none;
	border: none;
  }
  
  .cart--cart-block, .cart-block--summary {
	position: relative;
  }
  
  .cart-block--summary__count {
	display: block;
	position: absolute;
	bottom: -5px;
	right: -5px;
	line-height: 16px;
	width: 16px;
	height: 16px;
	background-color: var(--bs-primary);
	text-align: center;
	border-radius: 50%;
	font-size: 9px;
	color: #ffffff;
  }
  
  .cart-block--contents {
	width: 300px;
	right: 0;
	padding: 0;
	margin-top: 20px;
	color: #555555;
	background: #ffffff;
	border: 1px solid #eaeaea;
	box-shadow: 0 5px 9px rgba(0, 0, 0, 0.1);
	text-align: left;
  }
  
  .cart-block--contents__inner {
	padding: 15px;
  }
  
  .cart-block--contents__items {
	overflow-x: hidden;
	overflow-y: auto;
	max-height: 300px;
	font-size: 12px;
  }
  
  .light-cart_icon i {
	color: #ffffff;
  }
  
  .cart--cart-block {
	img {
	  width: 60px;
	}
  
	table {
	  border: none;
  
	  tbody {
		border: none;
	  }
	}
  
	tbody tr td {
	  border: none;
	}
  }
  
  .layout-checkout-form .layout-region-checkout-secondary {
	table tbody, tbody tr td {
	  border: none;
	}
  }
  
  .cart--cart-block {
	table tr {
	  border-bottom: 1px solid #f3f3f3;
	}
  
	tbody tr td {
	  padding: 8px 5px;
	}
  
	td.views-field-quantity {
	  padding-right: 0;
	}
  
	.cart-block-count {
	  position: absolute;
	  top: 0;
	  left: 15px;
	  display: table;
	  width: 20px;
	  height: 20px;
	  line-height: 20px;
	  font-size: 9px;
	  background: #eaeaea;
	  -webkit-border-radius: 100%;
	  -moz-border-radius: 100%;
	  border-radius: 100%;
	}
  
	.cart-block-link {
	  font-weight: 600;
	  margin-top: 10px;
	  text-align: right;
	  padding: 5px;
	  line-height: normal;
  
	  a {
		padding: 0 25px;
		background-color: var(--bs-primary);
		color: #ffffff;
		height: 40px;
		line-height: 40px;
		text-align: center;
		display: block;
  
		&:hover {
		  color: #ffffff;
		  background-color: #333333;
		}
	  }
	}
  
	.cart-block-empty {
	  padding: 20px;
	}
  }
  
  .page-title .field-order-number {
	.field__label, .field-item {
	  float: none;
	  display: inline-block;
	}
  }
  
  /* CHECKOUT */
  
  /*
  label {
	font-weight: 600;
  }
  */
  
  .customer-information {
	.field_label, .field__label {
	  font-weight: 600;
	}
  }
  
  .commerce-checkout-flow {
	legend {
	  border-bottom: 2px solid #d7d7d7;
	  padding-bottom: 5px;
	  margin-bottom: 15px;
	  font-size: 20px;
	  font-weight: 600;
	  color: var(--bs-primary);
	}
  
	.form-composite > legend {
	  border: none;
	  font-size: inherit;
	  color: inherit;
	  border-bottom: 1px solid #f4f4f4;
	}
  
	input:not(.button), input:not(.form-checkbox), .form-select {
	  width: 100%;
	}
  
	input.form-radio {
	  width: auto;
	}
  
	.address-container-inline {
	  display: flex;
	  width: 100%;
  
	  .form-item {
		width: 100%;
		margin-right: 15px;
	  }
	}
  }
  
  div.address-container-inline > .form-item:last-child {
	margin-right: 0;
  }
  
  .credit-card-form__expiration .form-select {
	min-width: 90px;
  }
  
  #shipping-information-wrapper {
	margin-bottom: 60px;
  }
  
  .checkout-pane-shipping-information .button {
	margin-top: 20px;
  }
  
  .layout-checkout-form .layout-region-checkout-secondary img {
	width: 70px;
	overflow: hidden;
  }
  
  .layout-region-checkout-secondary {
	margin-bottom: 30px;
  }
  
  table, .table {
	margin: 0;
  }
  
  .layout-region-checkout-secondary .order-total-line {
	border-bottom: none;
  }
  
  .order-total-line {
	padding: 10px;
	color: var(--bs-dark);
  }
  
  .order-total-line__total {
	padding: 10px;
	color: var(--bs-dark);
	background-color: #efefef;
	font-weight: 500;
  }
  
  .layout-checkout-form .order-total-line__total {
	background-color: #efefef;
  }
  
  table {
	.views-field-edit-quantity .form-item, .views-field-remove-button .button {
	  margin: 0;
	}
  }
  
  .checkout-pane-order-summary {
	padding: 40px 25px;
	background-color: #f8f8f8;
  }
  
  .layout-checkout-form .layout-region-checkout-secondary table tr {
	border-bottom: 1px solid #efefef;
  }
  
  .checkout-pane-review .fieldset-legend a {
	color: #27b160;
  }
  
  .layout-checkout-form .form-actions a {
	font-weight: 600;
	margin-left: 10px;
  }
  
  .checkout-progress--step:before {
	content: counter(checkout-progress) "";
	counter-increment: checkout-progress;
	display: inline-block;
	width: 25px;
	height: 25px;
	text-align: center;
	line-height: 25px;
	margin-right: 8px;
	background-color: #f6f6f6;
  }
  
  .checkout-progress {
	.checkout-progress--step__current:before, .checkout-progress--step__previous:before {
	  background-color: #27b160;
	  color: #ffffff;
	}
  }
  
  .field--name-purchased-entity {
	margin-bottom: 25px;
  }
  
  .commerce-order-item-add-to-cart-form {
	.field--name-quantity {
	  position: relative;
  
	  .form-type-number {
		position: relative;
	  }
	}
  
	input[type=number] {
	  &::-webkit-inner-spin-button, &::-webkit-outer-spin-button {
		-webkit-appearance: none;
		margin: 0;
	  }
  
	  -moz-appearance: textfield;
	}
  
	.field--name-quantity input {
	  width: 50px;
	  height: 45px;
	  line-height: 45px;
	  display: block;
	  margin: 0;
	  padding: 0;
	  margin-left: 50px;
	  border-radius: 0;
	  text-align: center;
  
	  &:focus {
		outline: 0;
	  }
  
	  border: 1px solid #eeeeee;
	}
  }
  
  .quantity-button {
	border: 1px solid #eeeeee;
	position: absolute;
	bottom: 0;
	left: 0;
	cursor: pointer;
	width: 50px;
	height: 45px;
	line-height: 43px;
	text-align: center;
	font-size: 17px;
	font-weight: 600;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	-o-user-select: none;
	user-select: none;
  
	&.quantity-up {
	  left: 100px;
	  border-left: none;
	  border-radius: 0 3px 3px 0;
	}
  
	&.quantity-down {
	  border-right: none;
	  border-radius: 3px 0 0 3px;
	}
  }
  
  .product-post {
	legend, label {
	  margin-bottom: 10px;
	  display: block;
	}
  }
  
  .product--rendered-attribute {
	margin-bottom: 15px;
  
	.form-item {
	  margin: 0;
	  margin-right: 2px;
	  padding: 0;
  
	  &:last-child {
		margin-right: 0;
	  }
	}
  
	label {
	  margin-bottom: 0;
  
	  &.option {
		.product-attribute {
		  border: 1px solid #eaeaea;
		  background-color: #ffffff;
		  display: flex;
		  justify-content: center;
		  align-items: center;
		  text-align: center;
		  font-size: 10px;
		  color: #555555;
		  padding: 5px 10px;
		  border-radius: 20px;
		}
  
		.product-attribute--color, .product-attribute--size {
		  padding: 2px !important;
		}
  
		border: none !important;
	  }
	}
  }
  
  .product--rendered-attribute__selected ~ label.option {
	border: none !important;
  }
  
  .product--rendered-attribute label.option {
	.product-attribute--color, .product-attribute--size, .product-attribute--color .field__item, .product-attribute--size .field__item {
	  -webkit-border-radius: 50%;
	  -moz-border-radius: 50%;
	  -ms-border-radius: 50%;
	  -o-border-radius: 50%;
	  border-radius: 50%;
	  position: relative;
	  overflow: hidden;
	}
  
	.product-attribute--color {
	  .field__item, .color_field__swatch {
		padding: 0 !important;
		height: 28px !important;
		width: 28px !important;
		line-height: 28px;
	  }
	}
  
	.product-attribute--size .field__item {
	  padding: 0 !important;
	  height: 24px !important;
	  width: 24px !important;
	  line-height: 24px;
	}
  
	&:hover .product-attribute {
	  border-color: var(--bs-dark);
	}
  }
  
  .product--rendered-attribute__selected ~ label.option .product-attribute {
	border-color: var(--bs-dark);
	background-color: var(--bs-dark);
	color: #ffffff;
  }
  
  .product--rendered-attribute label.option {
	.product-attribute--color {
	  background-color: #ffffff !important;
	  color: initial;
	}
  
	.product-attribute {
	  padding: 4px 8px;
	}
  }
  
  .product-teaser .product--rendered-attribute label.option {
	.product-attribute--color .field__item {
	  height: 22px !important;
	  width: 22px !important;
	  line-height: 22px;
	}
  
	.product-attribute--size .field__item {
	  height: 22px !important;
	  width: 22px !important;
	  line-height: 22px;
	  height: 20px !important;
	  width: 20px !important;
	  line-height: 20px;
	}
  }
  
  /* Product Quick View */
  
  .product-quick-view {
	padding: 5px !important;
	padding-bottom: 15px !important;
	border-radius: 3px !important;
  
	#drupal-modal {
	  padding: 20px !important;
	}
  
	.button--add-to-cart {
	  display: block !important;
	}
  
	.ui-dialog-titlebar {
	  border: none !important;
	  background: none !important;
	}
  
	.ui-dialog-title, .ui-dialog-buttonpane {
	  display: none !important;
	}
  
	.ui-dialog-titlebar {
	  .ui-button {
		z-index: 9999;
	  }
  
	  .ui-dialog-titlebar-close {
		width: 25px;
		height: 25px;
	  }
  
	  .ui-button .ui-button-icon {
		width: 25px;
		height: 25px;
		background: none !important;
		display: block;
		margin-left: -12px;
  
		&:after {
		  content: "\eef0";
		  font-family: 'hsicons';
		  display: block;
		  font-size: 22px;
		  color: black;
		  text-indent: 0;
		}
	  }
	}
  }
  
  /**********************/
  /* PRODUCTS */
  /**********************/
  
  .product-title {
	font-weight: 500;
	line-height: 1.2;
	color: #333333;
  }
  
  .product-post {
	.product-title {
	  font-size: 20px;
	}
  
	.field-field-short-description {
	  border-top: 1px solid #eaeaea;
	  margin-top: 15px;
	  padding-top: 30px;
	}
  }
  
  .product-item-wrap {
	border: 1px solid #fcfcfc;
	margin-bottom: 30px;
	background-color: #ffffff;
	padding: 10px;
  }
  
  .product-item {
	overflow: hidden;
	position: relative;
  }
  
  .product-list-meta {
	overflow: hidden;
	position: relative;
	padding: 10px 0 0 0;
	display: block;
	height: 110px;
	text-align: center;
  }
  
  .product-post {
	.commerce-order-item-add-to-cart-form .field--name-quantity {
	  width: 160px;
	}
  
	.product-add-cart .form-actions {
	  margin-top: 0;
	  margin-bottom: 0;
	  position: relative;
	  width: calc(100% - 160px);
	  float: left;
	}
  }
  
  .commerce-order-item-add-to-cart-form .field--name-quantity {
	float: left;
  }
  
  .product-post {
	.commerce-order-item-add-to-cart-form .field--name-quantity label {
	  display: none;
	}
  
	.product-content-wrap .form-actions input[type="submit"] {
	  width: 100%;
	  padding: 0 15px;
	  height: 45px;
	  border-radius: 3px;
	  transform: none !important;
	}
  }
  
  .product-item {
	.btn, .button {
	  padding: 15px;
	  border-radius: 0;
	  font-size: 12px;
	  line-height: 1;
	}
  
	.product-detail-btn {
	  margin-top: 50%;
	  padding: 12px 15px;
	}
  
	.button, .product-add-cart {
	  display: block;
	  width: 100%;
	}
  }
  
  .product-item-wrap .form-item-qty {
	display: none !important;
	visibility: hidden !important;
  }
  
  .product-item:hover .product-add-cart {
	margin: 0;
  
	.button {
	  margin: 0;
	}
  }
  
  .product-meta {
	padding: 10px 0;
  }
  
  .product-price, .product-old-price {
	display: inline-block;
  }
  
  .product-price {
	color: var(--bs-primary);
	font-weight: 500;
  }
  
  .product-old-price {
	font-weight: normal;
	font-size: 14px;
	margin-right: 5px;
	color: #b3b3b3;
  }
  
  .product-post {
	.product-meta {
	  border-top: 1px solid #f0f0f0;
	  margin-top: 20px;
	  padding-top: 20px;
  
	  .form-item-qty label {
		display: none;
	  }
	}
  
	.product-icon-wrap, .product-icon, .product-add-cart {
	  display: inline-block;
	}
  
	.product-variation-wrap {
	  position: relative;
	  margin-top: 20px;
	}
  
	.product-add-cart {
	  width: 100%;
	}
  
	.product-price-wrap {
	  margin-bottom: 10px;
	}
  
	.product-price {
	  font-size: 25px;
	}
  
	.product-old-price {
	  font-size: 17px;
	}
  
	.product-meta {
	  .field--label-inline .field__label {
		min-width: 110px;
		font-weight: 500;
		color: var(--bs-dark);
	  }
  
	  .product-meta-item {
		margin-bottom: 7px;
	  }
	}
  
	.product-icon {
	  margin-right: 10px;
	  padding-right: 20px;
	  position: relative;
  
	  &:last-child {
		margin: 0;
		padding: 0;
	  }
  
	  &:after {
		content: "|";
		position: absolute;
		right: 0;
		top: 3px;
		line-height: 13px;
		opacity: 0.3;
	  }
  
	  &:last-child:after {
		display: none;
	  }
  
	  i, .flag-title {
		display: block;
		float: left;
		line-height: 15px;
	  }
  
	  i {
		height: auto;
		width: auto;
		font-size: 15px;
		margin-right: 10px;
	  }
	}
  
	.field-sku {
	  display: inline-block;
	}
  
	.field-field-stock-level {
	  display: inline-block;
  
	  p {
		margin: 0;
	  }
	}
  
	.product-stock {
	  display: none;
  
	  &.out-stock .available-stock, &.in-stock .out-of-stock {
		display: none;
	  }
  
	  .available-stock {
		display: inline-block;
		font-size: 13px;
		padding: 5px 10px;
		border-radius: 3px;
		line-height: 1;
	  }
  
	  .out-of-stock {
		display: inline-block;
		font-size: 13px;
		padding: 5px 10px;
		border-radius: 3px;
		line-height: 1;
		color: red;
		background-color: rgb(255, 0, 0, 0.1);
	  }
  
	  .available-stock {
		color: green;
		background-color: rgb(0, 128, 0, 0.1);
	  }
	}
  }
  
  .product-info {
	.panel-heading .panel-title > a {
	  &:after {
		left: auto;
		right: 0;
		border: none;
	  }
  
	  padding: 12px 45px 12px 0;
	  border: none;
	  border-bottom: 1px solid #eeeeee;
	  font-weight: 600;
	  font-size: 20px;
	}
  
	.panel-group .panel-heading + .panel-collapse .panel-body {
	  border: none;
	  padding: 20px 0;
	}
  }
  
  .slider-nav {
	position: relative;
	overflow: hidden;
	margin-top: 10px;
  
	.slick-slider {
	  margin-left: -5px;
	  margin-right: -5px;
	}
  
	.slick-slide {
	  padding: 0 5px;
	}
  }
  
  /* PRODUCT TEASER */
  
  .product-teaser {
	position: relative;
	width: 100%;
	background-color: transparent;
  
	.product-image {
	  position: relative;
	  overflow: hidden;
	  border-radius: 5px;
	}
  
	-webkit-transition: 0.5s;
	-khtml-transition: 0.5s;
	-moz-transition: 0.5s;
	-ms-transition: 0.5s;
	-o-transition: 0.5s;
	transition: 0.5s;
  
	.product-add-cart, .product-meta-wrap, input[type="submit"], .commerce-order-item-add-to-cart-form .form-actions .cart-link-icon, .product-price-container {
	  -webkit-transition: 0.5s;
	  -khtml-transition: 0.5s;
	  -moz-transition: 0.5s;
	  -ms-transition: 0.5s;
	  -o-transition: 0.5s;
	  transition: 0.5s;
	}
  
	.commerce-order-item-add-to-cart-form {
	  -webkit-transition: 0.5s;
	  -khtml-transition: 0.5s;
	  -moz-transition: 0.5s;
	  -ms-transition: 0.5s;
	  -o-transition: 0.5s;
	  transition: 0.5s;
  
	  .form-actions {
		-webkit-transition: 0.5s;
		-khtml-transition: 0.5s;
		-moz-transition: 0.5s;
		-ms-transition: 0.5s;
		-o-transition: 0.5s;
		transition: 0.5s;
	  }
	}
  
	.product-image img {
	  -webkit-transition: 0.5s;
	  -khtml-transition: 0.5s;
	  -moz-transition: 0.5s;
	  -ms-transition: 0.5s;
	  -o-transition: 0.5s;
	  transition: 0.5s;
	}
  
	.product-icon-wrap {
	  -webkit-transition: 0.5s;
	  -khtml-transition: 0.5s;
	  -moz-transition: 0.5s;
	  -ms-transition: 0.5s;
	  -o-transition: 0.5s;
	  transition: 0.5s;
	  position: absolute;
	  top: 50%;
	  right: 15px;
	  transform: translateY(-50%);
	  display: flex;
	  flex-direction: column;
	}
  
	.product-icon {
	  display: inline-block;
	  text-align: center;
	  margin-bottom: 5px;
	  transform: translateX(60px);
	  opacity: 0;
	  -webkit-transition: all 0.2s linear;
	  transition: all 0.2s linear;
  
	  &:last-child {
		margin-bottom: 0;
	  }
  
	  i {
		width: 40px;
		height: 40px;
		line-height: 40px;
		display: block;
		box-shadow: 0 15px 25px rgba(0, 0, 0, 0.08);
		background-color: #ffffff;
		color: #555555;
		border-radius: 50%;
	  }
	}
  
	.product-image .product-icon {
	  &:nth-child(2) {
		transition: all 0.5s;
	  }
  
	  &:nth-child(3) {
		transition: all 0.5s 0.2s;
	  }
  
	  &:nth-child(4) {
		transition: all 0.5s 0.4s;
	  }
	}
  
	.product-icon {
	  &:hover i {
		background: #333333;
		color: #ffffff;
	  }
  
	  .action-unflag i {
		background: var(--bs-primary);
		color: #ffffff;
	  }
	}
  
	&:hover .product-icon {
	  opacity: 1;
	  transform: translateX(0px);
	}
  
	.flag-link {
	  &::before {
		top: 6px;
		left: auto;
		right: 46px;
		margin: 0;
	  }
  
	  &::after {
		top: 50%;
		left: -6px;
		margin-top: -4px;
		margin-left: 0;
		border-left: 5px solid #2B222A;
		border-top: 5px solid transparent;
		border-bottom: 5px solid transparent;
	  }
	}
  }
  
  /* PRODUCT TEASER ICON PLACEMENT */
  
  .product-icon {
	i {
	  font-size: 17px;
	}
  
	.flag-title {
	  display: none;
	}
  }
  
  .product-teaser {
	.product-meta-wrap {
	  padding: 15px 0 0 0;
	  position: relative;
	}
  
	.product-meta {
	  padding: 0;
	}
  
	.product-title {
	  width: 100%;
	  margin-bottom: 5px;
  
	  .field--name-title {
		display: -webkit-box;
		-webkit-line-clamp: 2;
		text-overflow: ellipsis;
		-webkit-box-orient: vertical;
		overflow: hidden;
	  }
	}
  
	.product-ratings {
	  margin-bottom: 5px;
	}
  
	&:hover .product-badge {
	  z-index: 1;
	}
  
	.product-price {
	  font-size: 16px;
	}
  
	.product-add-cart, .commerce-order-item-add-to-cart-form {
	  padding: 0;
	  margin: 0;
	  position: relative;
	}
  
	.product-add-cart {
	  margin-top: 12px;
	}
  }
  
  .product-teaser-no-attribute .product-variation-wrap .form-item {
	display: none;
  }
  
  .product-teaser {
	&.has-no-options .has-option-variation .form-actions, &.has-options .has-no-option-variation .form-actions {
	  display: none;
	}
  
	.product-add-cart {
	  .form-actions {
		position: absolute;
		top: -35px;
		left: 0;
		overflow: hidden;
		font-size: 17px;
		z-index: 1;
		margin: 0;
	  }
  
	  input[type="submit"] {
		padding: 0 0 0 22px !important;
		border: none !important;
		background-color: transparent !important;
	  }
  
	  .form-actions {
		.button--add-to-cart, .button-product-select {
		  font-size: 16px;
		  font-weight: 500;
		  line-height: 1;
		  color: var(--bs-primary) !important;
		  opacity: 1;
		}
  
		.button--add-to-cart .is-disable {
		  opacity: .7;
		}
  
		.cart-link-icon {
		  position: absolute;
		  left: 0;
		  color: var(--bs-primary);
		}
  
		.button-product-select i {
		  margin-right: 5px;
		}
  
		.button--add-to-cart, .button-product-select, .cart-link-icon {
		  display: block;
		  transform: translateY(25px);
		}
	  }
	}
  
	&:hover {
	  .product-add-cart .form-actions {
		.button--add-to-cart, .button-product-select, .cart-link-icon {
		  transform: translateY(0px);
		}
	  }
  
	  .product-price-wrap {
		position: relative;
		overflow: hidden;
	  }
  
	  .product-price-container {
		transform: translateY(-25px);
	  }
	}
  
	.commerce-order-item-add-to-cart-form .field--name-quantity, .field--name-purchased-entity legend {
	  display: none !important;
	}
  
	.product--rendered-attribute {
	  margin-bottom: 10px;
	}
  
	.attribute-widgets .product--rendered-attribute:last-child, .field--name-purchased-entity {
	  margin-bottom: 0;
	}
  
	.product--rendered-attribute .form-item {
	  vertical-align: top;
	}
  }
  
  .taxonomy-term.vocabulary-brand {
	background: #eeeeee;
	padding: 20px;
	float: left;
	margin-bottom: 25px;
	width: 100%;
  }
  
  .path-taxonomy .taxonomy-term.vocabulary-brand .field-description {
	padding-top: 20px;
  }
  
  .views-element-container header {
	margin-bottom: 15px;
  }
  
  .product-catalog {
	header {
	  margin-bottom: 0;
	}
  
	.switch-icon {
	  position: absolute;
	  top: 15px;
	  left: 0;
	}
  }
  
  /* LIST GRID SWITCH */
  
  .switch-icon {
	span {
	  display: inline-block;
	  margin-right: 5px;
	  cursor: pointer;
	}
  
	.active {
	  color: var(--bs-primary);
	}
  }
  
  .list-grid {
	-ms-flex: 0 0 100%;
	flex: 0 0 100%;
	max-width: 100%;
  
	.product-teaser-container {
	  display: -ms-flexbox;
	  display: flex;
	  -ms-flex-wrap: wrap;
	  flex-wrap: wrap;
	}
  
	.product-teaser {
	  .product-image {
		-ms-flex: 0 0 30%;
		flex: 0 0 30%;
		max-width: 30%;
	  }
  
	  .product-meta-wrap {
		-ms-flex: 0 0 70%;
		flex: 0 0 70%;
		max-width: 70%;
		text-align: left;
		padding: 25px 15px 15px 30px;
	  }
  
	  .product-add-cart .form-actions {
		transform: none !important;
		opacity: 1;
		bottom: 0;
	  }
  
	  .product-teaser-bg {
		display: none;
	  }
	}
  }
  
  .product-teaser .product-desc {
	display: none;
  }
  
  .list-grid .product-teaser {
	.product-desc {
	  display: block;
	  margin-top: 8px;
  
	  p {
		margin-top: 8px;
	  }
	}
  
	.product-title {
	  font-size: 17px;
	}
  
	.product-add-cart {
	  padding-bottom: 42px;
	}
  
	&:hover .product-price-wrap {
	  opacity: 1;
	}
  }
  
  .product-list-wrap {
	text-align: left;
	width: 100%;
  
	&:hover {
	  -webkit-transform: scale(0.99);
	  transform: scale(0.99);
	  -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.07);
	  box-shadow: 0 0 8px rgba(0, 0, 0, 0.07);
	}
  
	.product-teaser {
	  margin: 0;
	  padding: 0;
	}
  
	.product-image {
	  padding: 5px 15px;
	}
  
	.product-meta-wrap {
	  padding: 5px 15px;
	  padding-top: 20px;
	}
  
	.product-image .field-field-image {
	  display: table;
	  width: 100%;
	  height: 100%;
  
	  .field-item {
		display: table-cell;
		vertical-align: middle;
	  }
	}
  
	.product-ratings {
	  margin-top: 0;
	  margin-bottom: 5px;
	}
  }
  
  /* PRODUCT CATEGORY IMAGE */
  
  .product-category {
	position: relative;
	overflow: hidden;
	text-align: center;
  
	.product-category-image {
	  position: relative;
	  overflow: hidden;
	  display: block;
	  border-radius: 5px;
	}
  
	.product-category-name-wrap {
	  position: absolute;
	  left: 10px;
	  right: 10px;
	  bottom: 10px;
	  z-index: 1;

	  a {
		display: block;
		background-color: #ffffff;
		padding: 10px 15px;
		border-radius: 3px;
	  }
	}

	&:hover .product-category-name-wrap a {
	  background-color: var(--bs-dark);
	  color: #ffffff;
	}

	.product-category-name {
	  display: flex;
	  justify-content: center;
	  align-items: center;
	  text-transform: uppercase;
	  font-size: 13px;
	  font-weight: 500;
	}

	.product-category-count {
	  background-color: var(--bs-dark);
	  display: block;
	  color: #ffffff;
	  width: 20px;
	  height: 20px;
	  line-height: 20px;
	  border-radius: 50%;
	  font-size: 11px;
	  margin-left: 10px;
	  position: relative;
	}
	
	&:hover .product-category-name-wrap a .product-category-count {
	  color: var(--bs-dark);
	  background-color: #ffffff;
	}

	.product-category-label {
	  display: block;
	  margin-top: 15px;
	}

	.product-category-item-count {
	  font-size: 12px;
	}

	&.product-category-3 .product-category-image {
	  border-radius: 50%;
	}
  
  }
 
  /* PRODUCT BRAND */
  
  .brand-logo {
	img {
	  -webkit-transition: 0.5s;
	  transition: 0.5s;
	  opacity: 0.6;
	}
  
	&:hover img {
	  opacity: 1;
	}
  }
  
  .grid-item .brand-logo {
	padding: 15px 30px;
	border: 1px solid rgba(0, 0, 0, 0.02);
	margin-top: -1px;
	margin-left: -1px;
  }
  
  /* PRODUCT BADGES */
  
  .product-badge {
	position: absolute;
	top: 15px;
	right: 15px;
	z-index: 1;
  
	.badge-label {
	  position: relative;
	  overflow: hidden;
	  font-size: 12px;
	  line-height: 1;
	  text-align: center;
	  display: block;
	  color: #ffffff;
	  padding: 5px 10px;
	  border-radius: 3px;
	}
  
	.badge-new {
	  background-color: #00a500;
	}
  
	.badge-sale {
	  background-color: #1f35ff;
	}
  
	.badge-hot {
	  background-color: #ff4e00;
	}
  }
  
  .product-icon-left .product-badge {
	left: auto;
	right: 10px;
  }
  
  .btn-curve .product-badge .badge-label {
	height: auto;
	line-height: 24px;
  }
  
  /* RATING STARS */
  
  .product-ratings {
	.form-item {
	  margin: 0;
	}
  
	.vote-form {
	  input, .form-select, .form-submit {
		display: none;
	  }
	}
  }
  
  .br-theme-css-stars .br-widget {
	height: 20px;
	line-height: 20px;
  }
  
  .product-teaser .br-theme-css-stars .br-widget {
	height: 20px;
  
	a {
	  float: none;
	  font-size: 20px;
	  margin-right: 1px;
	  line-height: 1;
	}
  }
  
  .br-theme-css-stars .br-widget a {
	&:last-child {
	  margin-right: 0;
	}
  
	&.br-selected:after {
	  color: #f6d000;
	}
  }
  
  .vote-result {
	color: #999999;
	font-size: 13px;
  
	p {
	  margin-bottom: 0;
	}
  }
  
  .product-category-link {
	position: relative;
	display: inline-block;
	padding-right: 25px;
  
	.list-count {
	  position: absolute;
	  right: 0;
	  top: 3px;
	  width: 15px;
	  height: 15px;
	  background-color: #333333;
	  color: #ffffff;
	  text-align: center;
	  line-height: 17px;
	  font-size: 9px;
	}
  }
  
  /* FACETS */
  
  .item-list__checkbox, .facet-list, .js-facets-widget {
	padding: 0;
  }
  
  .facet-item {
	list-style-type: none;
	width: 100%;
	padding-top: 5px;
	padding-bottom: 5px;
  }
  
  .facets-checkbox {
	margin: 4px 0 0;
	margin-top: 1px;
	line-height: normal;
	display: inline-block;
	top: 3px;
	width: 15px;
	height: 15px;
	position: relative;
  }
  
  .js-facets-checkbox-links label {
	margin: 0;
	font-weight: normal;
  }
  
  .facet-item label span {
	display: inline-block;
  }
  
  .facet-item__count {
	font-size: 13px;
	margin-left: 2px;
  }
  
  .facet-list {
	.is-active {
	  color: #222222;
	  font-weight: 600;
  
	  .js-facet-deactivate {
		color: var(--bs-primary);
	  }
	}
  
	.toggle-btn {
	  padding: 0;
	  border: none;
	  background: none;
	  font-weight: 600;
	  display: flex;
	  align-items: center;
	  justify-content: space-between;
	  width: 100%;
	  margin-top: 5px;
	}
  
	[type="checkbox"] {
	  position: absolute;
	  left: -9999px;
	  visibility: hidden;
  
	  + label {
		position: relative;
		display: inline-block;
		padding-left: 30px;
		line-height: 20px;
		cursor: pointer;
		-webkit-user-select: none;
  
		&:before, &:after {
		  position: absolute;
		  left: 0;
		  z-index: 1;
		  content: "";
		  -webkit-transition: background-color .25s;
		  transition: background-color .25s;
		}
  
		&:before {
		  position: absolute;
		  top: 0;
		  left: 0;
		  z-index: 1;
		  margin-top: 2px;
		}
	  }
  
	  &:not(:checked) + label {
		&:before {
		  top: 10px;
		  left: 6px;
		  width: 0;
		  height: 0;
		  border: 3px solid transparent;
		  -webkit-transform: rotateZ(45deg);
		  -ms-transform: rotate(45deg);
		  transform: rotateZ(45deg);
		  -webkit-transform-origin: 100% 100%;
		  -ms-transform-origin: 100% 100%;
		  transform-origin: 100% 100%;
		}
  
		&:after {
		  top: 0;
		  z-index: 0;
		  width: 20px;
		  height: 20px;
		  border: 2px solid #babad3;
		  background-color: transparent;
		}
	  }
  
	  &:checked + label {
		&:before {
		  top: 1px;
		  left: 2px;
		  width: 6px;
		  height: 12px;
		  border-top: 2px solid transparent;
		  border-right: 2px solid #ffffff;
		  border-bottom: 2px solid #ffffff;
		  border-left: 2px solid transparent;
		  -webkit-transform: rotateZ(45deg);
		  -ms-transform: rotate(45deg);
		  transform: rotateZ(45deg);
		  -webkit-transform-origin: 100% 100%;
		  -ms-transform-origin: 100% 100%;
		  transform-origin: 100% 100%;
		}
  
		&:after {
		  top: 0;
		  z-index: 0;
		  width: 20px;
		  height: 20px;
		  border: 2px solid #2ba9e0;
		  background-color: #2ba9e0;
		}
	  }
  
	  &:disabled {
		+ label {
		  color: #777777;
		  cursor: not-allowed;
		}
  
		&:checked + label:after {
		  opacity: 0.3;
		}
	  }
	}
  }
  
  /* CHECKBOXES */
  
  /* VIEWS EXPOSED FILTER */
  
  .views-exposed-form {
	margin-bottom: 15px;
	padding: 0;
  
	form {
	  display: flex;
	  background-color: #ffffff;
  
	  .form-item * {
		color: #555555 !important;
	  }
	}
  
	.form-item, .form-actions {
	  display: inline-block;
	  margin: 0 0 0 5px;
	  float: none;
	}
  
	select {
	  padding-left: 15px;
	  border: 1px solid #ecedee;
	  display: inline-block;
	  width: auto;
	}
  }
  
  .header .views-exposed-form {
	margin-bottom: 0;
  
	form {
	  border: 1px solid #eaeaea;
	  max-width: 600px;
	  position: relative;
	  padding-right: 50px;
	}
  
	input {
	  border: none;
	  margin-top: 0;
	  height: 48px;
	  line-height: 48px;
	  width: 100%;
	}
  
	.nice-select {
	  border: none;
	  margin-top: 0;
	  height: 48px;
	  line-height: 48px;
	  width: 100%;
	  border: none;
	  min-width: 130px;
	}
  
	.form-item {
	  position: relative;
  
	  &:before {
		content: "";
		width: 1px;
		height: 22px;
		background-color: #eaeaea;
		display: block;
		position: absolute;
		top: 50%;
		left: 0;
		margin-top: -11px;
	  }
	}
  
	form .form-item:first-child:before {
	  display: none;
	}
  
	.form-item, .form-actions {
	  margin: 0;
	}
  
	.js-form-type-textfield {
	  width: 100%;
	}
  
	.form-actions {
	  position: absolute;
	  top: -1px;
	  right: -1px;
	}
  }
  
  .product-catalog .views-exposed-form {
	text-align: right;
  
	.form-item {
	  label {
		text-transform: uppercase;
		font-size: 12px;
		margin-right: 5px;
	  }
  
	  .select-wrapper {
		display: inline-block;
	  }
	}
  
	.form-actions {
	  display: none;
	}
  }