@font-face {
    font-family: 'Gotham Bold';
    src: url('Gotham-Bold.woff2') format('woff2'),
        url('Gotham-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Gotham Book';
    src: url('Gotham-Book.woff2') format('woff2'),
        url('Gotham-Book.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Gotham Med';
    src: url('Gotham-Medium.woff2') format('woff2'),
        url('Gotham-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

.collection-main {

	width: 100%;

	.collection-main--container {

		margin: 0 auto;
		width: 100%;
		max-width: 1200px;

		@media screen and (max-width: 990px) {
			padding: 0 20px;
		}

	}

	.collection-main--hero {

		width: 100%;
		padding: 56px 0;
		background: #303030;
		position: relative;

		@media screen and (max-width: 990px) {
			padding: 20px 0;
		}

		&::after {

			content:'';
			position: absolute;
			z-index: 1;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background: rgba(0,0,0,0.2);

		}

		.collection-main--hero-title {

			margin: 0;
			color: #F7EEE1;
			text-align: center;
			font-size: 56px;
			line-height: 108%;
			font-family: 'Averia Serif Libre', serif;
			letter-spacing: -5%;
			position: relative;
			padding-bottom: 24px;
			position: relative;
			z-index: 2;

			@media screen and (max-width: 990px) {
				font-size: 28px;
				padding-bottom: 12px;
			}

			&::after {

				content: '';
				width: 90px;
				height: 3px;
				background: #BE6248;
				position: absolute;
				bottom: 0;
				left: 50%;
				transform: translate(-50%, 0);

				@media screen and (max-width: 990px) {
					width: 40px;
				}

			}

		}

		img {

			position: absolute;
			top:0;
			left: 0;
			width: 100%;
			height: 100%;
			object-fit: cover;
			z-index: 0;

		}

	} /* collection-main--hero */

	.collection-main--template {

		padding: 48px 0;

		@media screen and (max-width: 990px) {
			padding: 26px 0;
		}

		.collection-main--navigation {

			width: 100%;
			margin: 0 0 30px 0;
			position: relative;

			@media screen and (max-width: 990px) {
				margin: 0 -20px 24px;
				width: calc(100% + 40px);
			}

			.scroll-trigger {
				position: absolute;
				top: 50%;
				right: 0;
				width: 24px;
				height: 24px;
				background: url('icon-scroll-right.svg') no-repeat center center / 8px #F7EEE1;
				border-radius: 50%;
				transform: translate(0,-50%);
				z-index: 2;
				cursor: pointer;
				@media screen and (max-width: 990px) {
					display: none;
				}
			}

			&::after {

				content:'';
				position: absolute;
				top: 0;
				right: 0;
				width: 158px;
				height: 100%;
				background: linear-gradient(to right, transparent, #E9DFCF);
				pointer-events: none;

				@media screen and (max-width: 768px) {
					width: 100px;
				}

			}

			.collection-filter-modal {

				position: absolute;
				top: calc(100% + 15px);
				left: 0;
				width: 540px;
				padding: 25px;
				border-radius: 8px;
				border: 1px solid #DFD3BF;
				z-index: 2;
				background: #F7EEE1;
				display: none;

				@media screen and (max-width: 990px) {

					position: fixed;
					z-index: 9999;
					top: 60px;
					left: 15px;
					width: calc(100% - 30px);
					overflow: auto;
					max-height: calc(100vh - 120px);

				}

				&::after {

					content:'';
					background: #F7EEE1;
					width: 8px;
					height: 8px;
					border-top: 1px solid #DFD3BF;
					border-right: 1px solid #DFD3BF;
					position: absolute;
					top: -4px;
					left: 66px;
					transform: rotate(-45deg);

					@media screen and (max-width: 990px) {
						display: none;
					}

				}

				.filter-form {

					.head {

						display: none;

						@media screen and (max-width: 990px) {

							display: flex;
							justify-content: space-between;
							align-items: center;
							border-bottom: 1px solid #DFD3BF;
							margin: 0 0 32px 0;
							padding: 0 0 4px 0;

							span {
								font-size: 20px;
								font-family: 'Gotham Med';
								font-weight: 400;
							}

							.clearing {

								svg {
									width: 14px;
									height: unset;
								}

							}

						}

					}

					.filter-flex {

						display: flex;
						flex-wrap: wrap;

						&.apply-padding {

							.filter--group {
								padding-bottom: 30px;
							}

						}

						.filter--group {

							width: 50%;
							padding: 0 30px 0 0;

							@media screen and (max-width: 768px) {
								width: 100%;
								padding: 0 0 30px 0;
							}

							.filter-group-summary {

								font-size: 16px;
								margin: 0 0 12px 0;
								font-family: 'Gotham Med';
								font-weight: 400;

								@media screen and (max-width: 768px) {
									font-size: 14px;
								}

							}

							.filter-group-display {

								.filter-group-display__list {

									padding:0;
									margin: 0;

									li {

										list-style: none;
										position: relative;
										display: block;
										margin: 0 0 12px 0;

										input {
											position: absolute;
											top: 0;
											right: 0;
											opacity: 0;
											pointer-event: none;
											&:checked + label {
												&::before {
													background: url('icon-checkbox.svg') no-repeat center center / 10px #DB775B;
												}
											}
										}

										label {
											padding-left: 24px;
											position: relative;
											cursor: pointer;
											&::before {
												content: '';
												position: absolute;
												top: 50%;
												left: 0;
												transform: translate(0,-50%);
												width: 18px;
												height: 18px;
												border: 2px solid #DB775B;
												border-radius: 4px;
											}
											
										}

										label {

											display: block;
											font-family: 'Gotham Book';
											font-weight: 400;
											position: relative;

											@media screen and (max-width: 768px) {
												font-size: 14px;
											}

										}

									}

								}

							}

						}

					}

					.apply-filters-device {
						
						display: none;

						@media screen and (max-width: 990px) {
							display: block;
							button {
								width: 100%;
								margin-top: 16px;
								border: 0;
								border-radius: 10px;
								background: #c96d4f;
								color: #fff6ef;
								font-size: 14px;
								padding: 14px;
								letter-spacing: 0.04em;
								cursor: pointer;
								font-family: 'Gotham Med';
								text-transform: uppercase;
							}
						}

						.close-link {

							text-align: center;

							a {
								cursor: pointer;
								font-family: 'Gotham Med';
								font-size: 12px;
								color: #c96d4f;
								text-decoration: underline;
								margin: 0 0 12px 0;
								display: inline-block;
							}

						}

					}

				}

			}

			.collection-main--navigation-scroller {

				display: flex;
				gap: 8px;
				overflow: auto;
				-ms-overflow-style: none;
	  			scrollbar-width: none;
	  			padding-right: 158px;

	  			&::-webkit-scrollbar {
					display: none;
				}

				@media screen and (max-width: 990px) {
					padding-left: 20px;
				}

				@media screen and (max-width: 768px) {
					padding-right: 80px;
				}

				.filter-toggle-container {

					position: relative;

					.filter-toggle {

						padding: 0 28px;
						border-radius: 1000px;
						background: transparent; 
						height: 48px;
						display: flex;
						align-items: center;
						color: #303030;
						text-decoration: none;
						font-size: 14px;
						line-height: 1;
						white-space: nowrap;
						font-family: 'Gotham Med';
						font-weight: 400;
						border: 1px solid #DFD3BF;
						transition: .3s all;
						gap: 4px;
						cursor: pointer;

						@media screen and (max-width: 990px) {
							height: 40px;
							font-size: 12px;
							padding: 0 12px;
						}

						@media screen and (max-width: 768px) {
							padding: 0 14px;
						}

						.filter-toggle-label {
							@media screen and (max-width: 990px) {
								display: none;
							}
						}

					}

				} /* filter-toggle-container */

				.subscription-toggle { 

					padding: 0 16px 0 16px;
					border-radius: 1000px;
					background: #DFD3BF; 
					height: 48px;
					display: flex;
					align-items: center;
					color: #303030;
					text-decoration: none;
					font-size: 14px;
					line-height: 1;
					white-space: nowrap;
					font-family: 'Gotham Med';
					font-weight: 400;
					transition: .3s all;
					gap: 8px;
					cursor: pointer;

					@media screen and (max-width: 990px) {
						height: 40px;
						padding: 0 12px 0 8px;
						font-size: 12px;
					}

					.toggle-ui {

						width: 40px;
						height: 24px;
						border-radius: 1000px;
						background: #fff;
						border: 1px solid #DB775B;
						position: relative;

						span {
							position: absolute;
							top: 50%;
							left: 3px;
							transform: translate(0,-50%);
							background: #DB775B;
							border-radius: 50%;
							width: 18px;
							height: 18px;
						}

					}

					&.subFilterEneabled {

						background: #303030;
						color: #F7EEE1;
							
						.toggle-ui {

							background: #DB775B;
						
							span {
								left: auto;
								right: 3px;
								background: #FFF4F1;
							}

						}

					}

				} /*subscription-toggle */

				.collection-main--navigation-link {

					padding: 0 28px;
					border-radius: 1000px;
					background: #DFD3BF;
					height: 48px;
					display: flex;
					align-items: center;
					color: #303030;
					text-decoration: none;
					font-size: 14px;
					line-height: 1;
					white-space: nowrap;
					font-family: 'Gotham Med';
					font-weight: 400;
					transition: .3s all;

					@media screen and (max-width: 990px) {
						font-size: 12px;
						height: 40px;
					}

					&.has_img {

						position: relative;
						padding-left: 51px;

						@media screen and (max-width: 990px) {
							padding-left: 43px;
						}

						.img {

							position: absolute;
							top: 50%;
							left: 4px;
							transform: translate(0,-50%);

							img {
								min-width: 40px;
								width: 40px;
								height: 40px;
								object-fit: cover;
								display: block;
								border-radius: 50%;
								@media screen and (max-width: 990px) {
									min-width: 32px;
									width: 32px;
									height: 32px;
								}
							}

						}

					}

					&.link-all,
					&:hover {

						color: #F7EEE1;
						background: #303030;

					}

				}

			}

		}

		.no-result {

			p {

				margin: 0;
				text-align: center;

			}

		}

		.collection-main--product-grid {

			display: flex;
			flex-wrap: wrap;
			position: relative;
			z-index: 0;

			@media screen and (max-width: 990px) {
				margin: 0 -8px;
				position: static;
			}

			.product-card {

				width: calc(33.3% - 24px);
				background: #F7EEE1;
				margin: 0 12px 24px;
				border-radius: 16px;
				overflow: hidden;
				position: relative;

				@media screen and (max-width: 990px) {

					width: calc(50% - 8px);
					margin: 0 4px 8px;
					position: static;
					display: flex;
					flex-direction: column;

				}

				.product-card--media {

					width: 100%;
					padding-top: 100%;
					overflow: hidden;
					position: relative;
					display: block;

					.bs-flag {

						position: absolute;
						top: 0;
						left: 0;
						background: #BE6248;
						color: #F7EEE1;
						display: flex;
						align-items: center;
						gap: 6px;
						padding: 8px 15px;
						border-radius: 0 0 16px 0;
						z-index: 3;
						font-size: 16px;
						font-family: 'Gotham Med';
						letter-spacing: -1px;

						@media screen and (max-width: 768px) {
							font-size: 12px;
							letter-spacing: 0;
							svg {
								width: 10px;
								max-width: 10px;
								height: unset;
							}
						}
					}

					img {

						position: absolute;
						top:0;
						left:0;
						width: 100%;
						height: 100%;
						object-fit: cover;
						z-index: 0;

					}

				}

				.product--card--body {

					padding: 12px 24px 50px;
					text-align: center;

					@media screen and (max-width: 990px) {
						position: relative;
						padding-bottom: 80px;
						flex: 1;
					}

					@media screen and (max-width: 768px) {
						padding: 14px 12px 80px 12px;
					}

					[data-oke-star-rating] {

						margin: 0 0 12px 0;
						font-family: 'Gotham Med';

						@media screen and (max-width: 768px) {
							margin-bottom: 0;
						}

						.oke-sr-count {
							font-size: 14px;
							@media screen and (max-width: 768px) {
								font-size: 10px;
							}
						}

						.oke-sr-stars {
							@media screen and (max-width: 768px) {
								margin-right: 4px !important;
							}
						}

						.oke-stars {
							svg {
								height: 14px !important;
								@media screen and (max-width: 768px) {
									height: 12px !important;
								}
							}
						}

					}

					.product-card--flag {

						margin: 0 0 12px 0;
						display: inline-block;
						border-radius: 100px;
						padding: 4px 12px;
						text-align: center;
						color: #303030;
						font-size: 10px;
						text-transform: uppercase;
						font-family: 'Gotham Med';
						font-weight: 400;

						@media screen and (max-width: 768px) {
							margin-bottom: 8px;
							font-size: 9px;
							padding: 4px 12px;
						}

					}

					.product-card--title {

						color: #181716;
						margin: 0 0 12px 0;
						text-transform: unset;
						text-decoration: none;
						font-family: 'Gotham Bold';
						font-size: 16px;
						line-height: 120%;

						@media screen and (max-width: 768px) {
							margin-bottom: 8px;
							font-size: 13px;
						}

						a {
							color: #181716;
							text-decoration: none;
						}

					}

					.product-card--short-desc {

						margin:0;
						font-size: 13px;
						line-height: 120%;
						font-family: 'Gotham Book';
						color: #463F33;

						@media screen and (max-width: 768px) {
							font-size: 11px;
						}

					}

					.device-modal-trigger {

						display: none;

						@media screen and (max-width: 990px) {

							display: flex;
							align-items: center;
							justify-content: center;
							gap: 4px;
							height: 42px;
							border: 1px solid #BE6248;
							border-radius: 8px;
							text-transform: uppercase;
							font-size: 14px;
							color: #BE6248;
							font-family: 'Gotham Med';
							line-height: 1;
							position: absolute;
							bottom: 12px;
							left:12px;
							width: calc(100% - 24px);
							cursor: pointer;

						}

					}

				} /* product--card--body */

				&:hover {

					@media screen and (min-width: 990px) {

						.product-card-modal {

							opacity: 1;

						}

					}

				}

			}

		} /* collection-main--product-grid */

		[data-load-trigger] {

			display: flex;
			align-items: center;
			justify-content: center;
			gap: 5px;
			opacity: .4;

			&.is-hidden {
				display: none;
			}

			svg {
				animation: spin 1s linear infinite;
  				transform-origin: center;
			}

		}

		&.filters-active {

			.collection-filter-modal {

				display: block;

			}

		}

	} /* collection-main--template */

}

@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}


.product-card--modal {

	@media screen and (max-width: 990px) {

		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(0,0,0,0.6);
		z-index: 99999999999;
		pointer-events: none;
		opacity: 0;
		transition: .4s all;

		&.active {

			opacity: 1;
			pointer-events: auto;

			.product-card-modal {

				opacity: 1;
				bottom: 0;

			}

		}

	}

}

.product-card-modal {

	position: absolute;
	z-index: 9;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	transition: .4s all;
	background: #F7EEE1;
	color: #2a2927;

	@media screen and (max-width: 990px) {

		position: fixed;
		bottom: -200px;
		top: auto;
		opacity: 1;
		z-index: 999999999999;
		background: #FBFAF9;
		border-radius: 20px 20px 0 0;
		padding: 30px;
		min-height: unset;
		height: auto;

	}

  	&[data-card-unavailable] {

  		.product-card-modal__group,
  		.product-card-modal__purchase-types {

  			pointer-events: none;
  			opacity: .4;

  		}

  	}

  	.product-card-modal-flex {

  		display: flex;
  		flex-direction: column;
  		height: 100%;

  		.product-card-modal-image {

  			width: 100%;
  			flex: 1 1 auto;
            min-height: 0;
            overflow: hidden;

            @media screen and (max-width: 990px) {
            	display: none;
            }

  			img {
  				display: block;
  				width: 100%;
  				height: 100%;
  				object-fit: cover;
  			}

  		}

  		.product-card-modal__form {
  			background: #F7EEE1;
  			flex: 0 0 auto;
  			padding: 16px 12px;
  			@media screen and (max-width: 990px) {
  				background: transparent;
  				padding: 0;
  			}
  		}

  	}
}

.product-card-modal__close {
  position: absolute;
  top: 10px;
  right: 10px;
  border: 0;
  background: transparent;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  color: #2a2927;
  display: none;
  @media screen and (max-width: 990px) {
  	display: block;
  }
}

.product-card-modal__label {
  margin: 0 0 12px;
  font-size: 12px;
  line-height: 1;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0;
  color: #303030;
}

.product-card-modal__size-options {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

.product-card-modal__size-option {
  position: relative;
}

.product-card-modal__size-option.disabled {
	opacity: .5;
}

.product-card-modal__size-option label {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 4px;
  border: 1px solid #CDCDCD;
  border-radius: 12px;
  background: transparent;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  text-align: center;
}

.product-card-modal__size-option input:checked + label {
  border-color: #d46f4e;
  background: #edd8d1;
}

.product-card-modal__size-badge {
  position: absolute;
  top: -8px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  padding: 6px 6px 4px;
  border-radius: 999px;
  background: #e2aa58;
  color: #1b1b1a;
  font-size: 8px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  &[data-value="🔥-best-value"] {
  	background: linear-gradient(90deg, #FB9476 0%, #F7775C 35%, #F04E38 100%);
  	color: #F7EEE1;
  }
}

.product-card-modal__purchase-types {
  margin-top: 16px;
  font-family: 'Gotham Med';
}

.product-card-modal__purchase-card {
  border: 1px solid transparent;
  background: #f7f2ee;
  border-radius: 12px;
}

.product-card-modal__purchase-card.is-active {
	border-color: #c96d4f !important;
}

.product-card-modal__purchase-card + .product-card-modal__purchase-card {
  margin-top: 10px;
  border-color: #d7d0c7;
}

.product-card-modal__purchase-card.is-active {
  background: #edd8d1;
}

.product-card-modal__purchase-head {
  position: relative;
}

.product-card-modal__purchase-label {
  cursor: pointer;
  text-decoration: none;
  color: inherit;
}

.product-card-modal__purchase-label .product-card-modal__purchase-label-flex {
	align-items: flex-start;
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 18px 16px;
}

.product-card-modal__purchase-label[data-value="try-once"] .product-card-modal__purchase-left {
	align-items: center;
}

.product-card-modal__purchase-label[data-value="try-once"] .product-card-modal__radio {
	border-color:#CDCDCD;
}

.product-card-modal__purchase-card.is-active .product-card-modal__purchase-label[data-value="try-once"] .product-card-modal__radio {
	border-color: #c96d4f;
}

.product-card-modal__purchase-left {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}

.product-card-modal__radio {
  width: 22px;
  height: 22px;
  border: 2px solid #c96d4f;
  border-radius: 50%;
  flex: 0 0 22px;
  margin-top: 0;
  position: relative;
}

.product-card-modal__purchase-card.is-active .product-card-modal__radio::after {
  content: "";
  position: absolute;
  inset: 4px;
  border-radius: 50%;
  background: #c96d4f;
}

.product-card-modal__purchase-title {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  font-size: 15px;
  line-height: 1;
}

.product-card-modal__save-pill {
  display: inline-flex;
  align-items: center;
  padding: 2px 6px;
  border-radius: 999px;
  background: #e68668;
  color: #fff;
  font-size: 14px;
  line-height: 1;
  @media screen and (max-width: 990px) {
  	font-size: 12px;
  }
}

.product-card-modal__delivery-row {
  margin-top: 10px;
  font-size: 12px;
  line-height: 1.2;
  font-family: 'Gotham Book';
}

.product-card-modal__delivery-row select {
  border: 0;
  border-bottom: 1px solid #c96d4f;
  background: transparent;
  font: inherit;
  color: inherit;
  padding-right: 18px;
  font-family: 'Gotham Book';
}

.product-card-modal__purchase-price {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: nowrap;
  justify-content: flex-end;
  text-align: right;
  letter-spacing: -1px;
}

.product-card-modal__purchase-price del {
  opacity: 0.45;
  font-size: 14px;
}

.product-card-modal__purchase-price strong {
  font-size: 16px;
  line-height: 1;
}

.product-card-modal__purchase-body {
  padding: 0 16px 18px 52px;
}

.product-card-modal__purchase-body ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.product-card-modal__purchase-body li {
  position: relative;
  margin-top: 3px;
  padding-left: 18px;
  font-size: 12px;
  line-height: 1.2;
  font-family: 'Gotham Book';
}

.product-card-modal__purchase-body li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: #c96d4f;
}

.product-card-modal__purchase-card[data-purchase-card="onetime"] .product-card-modal__purchase-label {
  align-items: center;
}

.product-card-modal__purchase-card[data-purchase-card="onetime"]:not(.is-active) {
  background: #f7f2ee;
}

.product-card-modal__purchase-card[data-purchase-card="onetime"]:not(.is-active) .product-card-modal__purchase-title,
.product-card-modal__purchase-card[data-purchase-card="onetime"]:not(.is-active) .product-card-modal__purchase-price {
  opacity: 0.45;
}

.product-card-modal__submit,
.product-card-modal__oos {
  width: 100%;
  margin-top: 16px;
  border: 0;
  border-radius: 10px;
  background: #c96d4f;
  color: #fff6ef;
  font-size: 14px;
  padding: 14px;
  letter-spacing: 0.04em;
  cursor: pointer;
  font-family: 'Gotham Med';
}

.product-card-modal__submit:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.product-card-modal__oos {
	display: block;
	text-align: center;
	text-transform: uppercase;
	text-decoration: none;
}