:root {

	--color-white: #FFFFFF;
	--color-primary: #61C968;
	--color-primary-reduced: rgb(from var(--color-primary) r g b / 15%);
	--color-black: #0E0E0E;
	--color-black-reduced: rgb(from var(--color-black) r g b / 80%);
	--color-sale: #ED3F41;
	--color-error: #ED3F41;
	
	--border-white: rgba(255,255,255,0.2);

	--h1: 80px;
	--h2: 60px;
	--h3: 40px;
	--h4: 32px;
	--h5: 26px;
	--h6: 20px;

	@media (max-width: 990px) {

		--h1: 36px;
		--h2: 34px;
		--h3: 30px;
		--h4: 26px;
		--h5: 24px;
		--h6: 18px;

	}
	
	--base: 20px;
	--small: 18px;
	--xs: 16px;
	--xxs: 14px;
	--xxxs: 12px; 
	
	--font-body-family: "Barlow", sans-serif;
	--font-heading-family: "Barlow Condensed", sans-serif;

}

.barlow-regular {
	font-family: var(--font-body-family);
	font-weight: 400;
	font-style: normal;
}

.barlow-semibold {
	font-family: var(--font-body-family);
	font-weight: 500;
	font-style: normal;
}

.barlow-condensed-semibold {
	font-family: var(--font-heading-family);
	font-weight: 500;
	font-style: normal;
}

/* Reset */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  
  scroll-behavior: smooth;

  &.cart-drawer-open {
  	shopify-chat {
  		display: none !important;
  	}
  }

  &.sticky-atc-active {

	  shopify-chat {
	    display: none !important;
	  }

	}

  &.menu-open {

  	overflow: hidden;

  	shopify-chat {
  		display: none !important;
  	}

  	body {
  		overflow: hidden;

  		&.scrolled {
			.site-header {
				@media (max-width: 767px) {
					top: 0;
				}
			}
		}

  	}

	.site-header__menu-toggle {

		span {

			&:nth-child(1) {
				top: 10px !important;
				transform: rotate(45deg);
			}

			&:nth-child(2) {
				opacity: 0;
			}

			&:nth-child(3) {
				top: 10px !important;
				transform: rotate(-45deg);
			}
		}
	}

  }

}

body {
  	margin: 0;

	&.scrolled {
		.site-header {
			top: -40px;
			.site-header__main {
				background: var(--color-black-reduced);
			}
		}
	}

	&:not(.template-index):not(.template-collection) {
		padding-top: 160px;
		@media (max-width: 767px) {
			padding-top: 120px;
		}
	}
}

/* Typography */
body {
  font-family: var(--font-body-family);
  font-size: 1rem;
  line-height: 1.2;
  font-weight: 200;
}

strong {
	font-weight: 500;
}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
  	margin: 0;
  	font-family: var(--font-heading-family);
  	font-weight: 500;
	font-style: normal;
	text-transform: uppercase;
	margin: 0 0 20px 0;
}

h1, .h1 {
	font-size: var(--h1);
	line-height: 0.9;
}

h2, .h2 {
	font-size: var(--h2);
	line-height: 0.9;
}

h3, .h3 {
	font-size: var(--h3);
	line-height: 0.9;
}

h4, .h4 {
	font-size: var(--h4);
	line-height: 1;
}

h5, .h5 {
	font-size: var(--h5);
}

h6, .h6 {
	font-size: var(--h6);
}


p {
  margin: 0 0 1rem;
  font-family: var(--font-body-family);
}

a {
  color: inherit;
  text-decoration: none;
}

.visually-hidden {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* Media */
img,
svg,
video {
  display: block;
  max-width: 100%;
}

/* Forms */
button,
input,
select,
textarea {
  	font: inherit;
  	transition: .3s all;
  	&:focus,
  	&:hover {
  		outline: none;
  		border-color: #fff;
  	}
}

button,
.button {

	border: 1px solid var(--color-primary);
	border-radius: 2px;
	padding: 10px 35px;
	background: var(--color-primary);
	color: var(--color-black);
	cursor: pointer;
	text-transform: uppercase;
	font-size: 22px;
	font-family: var(--font-heading-family);
	font-weight: 500;
	display: inline-block;
	transition: .3s all;

	@media (max-width: 767px) {
		font-size: 18px;
		padding: 8px 30px;
	}

	&.button--outline {
		background: transparent;
		color: var(--color-primary);
	}

	&.button--reset {
		background: transparent;
		border: none;
		border-radius: 0;
		padding: 0;
		text-transform: unset;
	}

	&:hover,
	&:focus {
		opacity: .8;
	}

}

.swiper-slider__arrow {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 1px solid var(--color-primary) !important;
	
	svg {
		transform: rotate(180deg);
	}

	&.swiper-slider__arrow--next {

		svg {
			transform: rotate(0deg);
		}
	}

	&.swiper-button-disabled {
		opacity: .3;
	}
}

/* Layout */
.page-width {
  width: min(
    calc(100% - (var(--page-gutter) * 2)),
    var(--page-width)
  );
  margin-inline: auto;
}

/*
 * --------------------------------------------------------
 * Header
 * --------------------------------------------------------
 */

@keyframes announcement-ticker {

	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(-50%);
	}
}

.site-header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 50;
	transition: .2s all;

	.announcement-bar {
		background: var(--color-primary);
		overflow: hidden;

		.announcement-bar__inner {
			height: 40px;
			overflow: hidden;
		}

		.announcement-bar__track {
			height: 100%;
		}

		.announcement-bar__group {
			height: 100%;
			display: flex;
			align-items: center;
			justify-content: space-between;
		}

		.announcement-bar__group--duplicate {
			display: none;
		}

		.announcement-bar__item {
			flex: 1 1 0;
			color: #111;
			text-transform: uppercase;
			font-family: var(--font-heading-family);
			font-weight: 500;
			white-space: nowrap;

			&:nth-child(2) {
				text-align: center;
			}

			&:last-child {
				text-align: right;
			}

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

		@media (max-width: 990px) {

			.announcement-bar__inner {
				max-width: none;
				padding-left: 0;
				padding-right: 0;
			}

			.announcement-bar__track {
				display: flex;
				width: max-content;
				animation: announcement-ticker 18s linear infinite;
			}

			.announcement-bar__group {
				flex: 0 0 auto;
				width: max-content;
				gap: 60px;
				padding-right: 60px;
				justify-content: flex-start;
				@media (max-width: 768px) {
					gap: 30px;
					padding-right: 30px;
				}
			}

			.announcement-bar__group--duplicate {
				display: flex;
			}

			.announcement-bar__item {
				flex: 0 0 auto;
				text-align: left;

				&:nth-child(2),
				&:last-child {
					text-align: left;
				}
			}

			&:hover {

				.announcement-bar__track {
					animation-play-state: paused;
				}
			}
		}

		@media (prefers-reduced-motion: reduce) {

			.announcement-bar__track {
				animation: none;
			}

			.announcement-bar__group--duplicate {
				display: none;
			}
		}
	}	

	/*
	 * Main header
	 */

	.site-header__main {
		position: relative;
		height: 100px;
		background: var(--color-black);
		display: flex;
		align-items: center;
		background: transparent;
		transition: .3s all;
		&:hover {
			background: var(--color-black);
		}

		@media (max-width: 990px) {
			height: 68px;
		}

		.site-header__inner {
			display: flex;
			justify-content: space-between;
			@media (max-width: 990px) {
				align-items: center;
			}
		}

		.site-header__logo {
			
			display: flex;

			@media (max-width: 990px) {
				position: absolute;
				top: 50%;
				left: 50%;
				transform: translate(-50%, -50%);
			}

			svg {
				display: block;
				width: 100%;
				height: auto;
				@media (max-width: 990px) {
					width: 100px;
					height: unset;
				}
			}
		}

		.site-header__menu-toggle {
			display: none;

			@media (max-width: 990px) {
				position: relative;

				display: block;

				width: 22px;
				height: 22px;

				span {
					position: absolute;
					left: 0;

					display: block;

					width: 22px;
					height: 2px;

					background: #fff;

					transition:
						top 200ms ease,
						opacity 200ms ease,
						transform 200ms ease;

					&:nth-child(1) {
						top: 4px;
					}

					&:nth-child(2) {
						top: 10px;
					}

					&:nth-child(3) {
						top: 16px;
					}
				}
			}
		}
		
		.site-header__controls {
			display: flex;
			align-items: center;
			justify-self: end;
			gap: 20px;
		}

		.site-header__control {
			position: relative;
			display: flex;
			align-items: center;
			justify-content: center;
			color: inherit;

			svg {
				display: block;
				width: 16px;
				height: unset;
			}

			&.site-header__control--search {

				@media (max-width: 990px) {
					position: absolute;
					top: 50%;
					left: 80px;
					transform: translate(0,-50%);
					@media (max-width: 768px) {
						left: 60px;
					}
				}

			}

		}

		.site-header__cart-count {
			position: absolute;
			display: flex;
			align-items: center;
			justify-content: center;
			top: -5px;
			right: -5px;
			background: var(--color-sale);
			color: #fff;
			font-size: 11px;
			font-family: var(--font-heading-family);
			width: 13px;
			height: 13px;
			border-radius: 50%;
			&[hidden] {
				opacity: 0;
			}
		}
	}
}


/*
 * --------------------------------------------------------
 * Navigation
 * --------------------------------------------------------
 */

.site-navigation {
	justify-self: center;
	height: 120px;

	@media (max-width: 990px) {
		display: block;
		position: fixed;
		width: 100%;
		top: 108px;
		right: 0;
		bottom: 0;
		left: 0;

		height: auto;
		z-index: 100;

		visibility: hidden;
		pointer-events: none;

		&.is-open {
			visibility: visible;
			pointer-events: auto;

			.site-navigation__overlay {
				opacity: 1;
			}

			.site-navigation__drawer {
				transform: translateX(0);
			}
		}
	}


	/*
	 * Overlay
	 */

	.site-navigation__overlay {
		display: none;

		@media (max-width: 990px) {
			display: block;
			position: absolute;
			inset: 0;
			background: rgb(0 0 0 / 50%);
			opacity: 0;
			transition: opacity 250ms ease;
		}
	}


	/*
	 * Drawer
	 */

	.site-navigation__drawer {
		display: flex;
		height: 100%;

		@media (max-width: 990px) {
			position: relative;
			z-index: 1;

			width: 100%;
			height: 100%;

			flex-direction: column;

			background: var(--color-black);
			overflow: hidden;

			transform: translateX(-100%);

			transition: transform 250ms ease;
		}
	}


	/*
	 * Lists
	 */

	.site-navigation__root,
	.site-navigation__columns,
	.site-navigation__links,
	.site-navigation__footer ul {
		margin: 0;
		padding: 0;
		list-style: none;
	}


	/*
	 * Root navigation
	 */

	.site-navigation__root {
		display: flex;
		align-items: center;

		@media (max-width: 990px) {
			display: block;
			flex: 1 1 auto;

			width: 100%;

			overflow-x: hidden;
			overflow-y: auto;
		}
	}

	.site-navigation__item--level-1 {
		position: static;
		height: 100%;
		display: flex;
		padding: 0 15px;
		transition: .3s all;

		@media (min-width: 990px) {

			&:hover,
			&:focus-within {
				color: var(--color-primary);

				> .site-navigation__panel--level-2 {
					opacity: 1;
					visibility: visible;
					pointer-events: auto;
					transform: translateY(0);
				}
			}
		}

		@media (max-width: 990px) {
			width: 100%;
			height: 60px;
			padding: 0;
			border-top: 1px solid var(--border-white);
		}
	}


	/*
	 * Level 1
	 */

	.site-navigation__link--level-1 {
		display: flex;
		gap: 10px;
		align-items: center;
		text-decoration: none;
		text-transform: uppercase;
		font-family: var(--font-heading-family);
		font-weight: 400;
		font-size: 20px;

		@media (max-width: 990px) {
			width: 100%;
			height: 100%;

			justify-content: space-between;

			padding: 0 20px;

			font-size: 16px;
		}
	}


	.site-navigation__arrow {
		flex: 0 0 auto;

		@media (max-width: 990px) {

			svg {
				transform: rotate(-90deg);
			}
		}
	}


	/*
	 * Panels
	 */

	.site-navigation__panel {
		background: var(--color-black);
	}


	.site-navigation__panel--level-2 {
		position: absolute;
		top: 100%;
		right: 0;
		left: 0;

		opacity: 0;
		visibility: hidden;
		pointer-events: none;

		transform: translateY(-0.5rem);

		transition:
			opacity 150ms ease,
			visibility 150ms ease,
			transform 150ms ease;

		border-top: 1px solid var(--border-white);
		border-bottom: 1px solid var(--border-white);

		@media (max-width: 990px) {
			top: 0;
			bottom: 0;

			z-index: 2;

			display: flex;
			flex-direction: column;

			border: 0;

			opacity: 1;
			visibility: hidden;
			pointer-events: none;

			overflow: hidden;
			overflow-y: auto;

			transform: translateX(100%);

			transition:
				transform 250ms ease,
				visibility 250ms ease;

			&.is-active {
				visibility: visible;
				pointer-events: auto;
				transform: translateX(0);
			}
		}
	}


	/*
	 * Back row
	 */

	.site-navigation__back {
		display: none;

		@media (max-width: 990px) {
			display: flex;
			align-items: center;
			gap: 10px;
			width: 100%;
			min-height: 58px;
			padding: 0 20px;
			border: 0;
			border-bottom: 1px solid var(--border-white);
			background: #292929;
			color: #fff;
			text-align: left;
			cursor: pointer;
			font-size: 14px;
			font-family: var(--font-body-family);
			text-transform: unset;
			font-weight: 400;
			.site-navigation__back-arrow {
				svg {
					transform: rotate(180deg);
					path {
						fill: #fff;
					}
				}
			}
		}
	}


	/*
	 * Mega menu
	 */

	.site-navigation__mega {
		width: 100%;
		padding: 30px 60px;
		color: #fff;

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


	.site-navigation__columns {
		display: flex;
		align-items: flex-start;
		justify-content: center;

		@media (max-width: 990px) {
			display: block;
			width: 100%;
		}

		.site-navigation__column {
			width: 20%;

			@media (max-width: 990px) {
				position: static;
				width: 100%;
			}
		}
	}


	/*
	 * Level 2 headings
	 */

	.site-navigation__heading {
		display: flex;
		align-items: center;
		text-decoration: none;
		text-transform: uppercase;
		font-family: var(--font-heading-family);
		font-weight: 400;
		font-size: 22px;
		margin: 0 0 12px;

		.site-navigation__arrow {
			display: none;
		}

		@media (max-width: 990px) {
			width: 100%;
			height: 60px;

			justify-content: space-between;

			margin: 0;
			padding: 0 20px;

			border-bottom: 1px solid var(--border-white);

			font-size: 18px;

			.site-navigation__arrow {
				display: block;
			}
		}
	}


	/*
	 * Level 3
	 */

	.site-navigation__panel--level-3 {
		position: static;
		display: block;

		opacity: 1;
		transform: none;

		@media (max-width: 990px) {
			position: absolute;
			inset: 0;

			z-index: 3;

			display: flex;
			flex-direction: column;

			background: var(--color-black);

			visibility: hidden;
			pointer-events: none;

			overflow-y: auto;

			transform: translateX(100%);

			transition:
				transform 250ms ease,
				visibility 250ms ease;

			&.is-active {
				visibility: visible;
				pointer-events: auto;
				transform: translateX(0);
			}
		}
	}


	.site-navigation__links {
		display: flex;
		flex-direction: column;
		gap: 6px;

		@media (max-width: 990px) {
			display: block;
		}

		li {

			a {
				transition: .3s all;

				&:hover {
					color: var(--color-primary);
				}
			}
		}
	}


	.site-navigation__link--level-3 {
		display: block;
		text-decoration: none;

		@media (max-width: 990px) {
			display: flex;
			align-items: center;

			width: 100%;
			min-height: 60px;

			padding: 0 20px;

			border-bottom: 1px solid var(--border-white);
		}
	}


	/*
	 * View all
	 */

	.is-view-all {

		margin-top: 12px;

		.site-navigation__link {
			color: var(--color-primary);
			font-weight: 400;
		}
	}


	/*
	 * Root footer
	 */

	.site-navigation__footer {
		display: none;

		@media (max-width: 990px) {
			display: block;
			flex: 0 0 auto;
			padding: 20px 16px;

			ul {
				display: grid;
				grid-template-columns: repeat(2, 1fr);
				gap: 6px 20px;
				li {
					a {
						text-decoration: none;
						font-size: 14px;
					}
				}
			}
		}
	}
}

.search-modal {

	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: var(--color-black-reduced);
	max-width: 100%;
	max-height: 100%;
	border: none;
	box-shadow: unset;


	.search-modal__inner {

		position: fixed;
		top: 50%;
		left: 50%;
		width: 980px;
		max-width: 100%;
		max-height: calc(100vh - 200px);
		transform: translate(-50%, -50%);
		border: 1px solid var(--border-white);
		border-radius: 10px;
		background: var(--color-black);
		overflow: auto;
		padding: 0 50px 40px;

		@media (max-width: 990px) {
			padding: 0 20px 40px;
			top: auto;
			bottom: 0;
			left: 0;
			transform: translate(0, 0);
			border: none;
			border-top: 1px solid var(--border-white);
			border-radius: 0;
		}

		@media (max-width: 768px) {
			max-height: 100dvh;
		}

		.search-modal__header {

			display: flex;
			justify-content: space-between;
			margin: 0 0 28px 0;
			position: sticky;
			top: 0;
			width: 100%;
			background: var(--color-black-reduced);
			z-index: 3;
			padding: 20px 0;

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

			.search-modal__title {
				margin: 0;
				font-family: var(--font-heading-family);
				text-transform: uppercase;
				font-size: var(--h6);
			}

		}

		.search-modal__form {

			.search-modal__field {

				position: relative;

				.search-modal__search-icon {

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

					@media (max-width: 768px) {
						left: 16px;
						svg {
							height: unset;
							width: 18px;
						}
					}

				}

				.search-modal__input {

					width: 100%;
					height: 60px;
					background: var(--color-primary-reduced);
					border: 1px solid var(--color-primary);
					border-radius: 10px;
					color: var(--color-primary);
					padding-left: 60px;

					@media (max-width: 768px) {
						height: 50px;
						border-radius: 4px;
						padding-left: 50px;
					}

					&::placeholder {
						color: #fff;
					}

					&::-webkit-search-cancel-button {
						appearance: none;
						-webkit-appearance: none;
						width: 12px;
						height: 12px;
						cursor: pointer;
						display: block;
						background: url("icon-close.svg") center / contain no-repeat;
						margin-right: 10px;
					}

				}

			}

		}

		.search-modal__content {

			.search-modal__subtitle {
				margin: 0 0 10px 0;
				font-family: var(--font-body-family);
				font-size: 18px;
				font-weight: 400;
			}

			.search-modal__initial {

				.search-modal__trending {

					margin: 40px 0 0 0;

					@media (max-width: 768px) {
						margin-top: 20px;
					}

					.search-modal__trending-list {

						display: flex;
						gap: 10px;

						@media (max-width: 990px) {
							overflow: auto;
							margin: 0 -20px;
							padding: 0 20px;
							scrollbar-width: none;
							-ms-overflow-style: none;
							&::-webkit-scrollbar {
								display: none;
							}
						}

						@media (max-width: 768px) {
							gap: 5px;
						}

						.search-modal__trending-item {

							font-size: 16px;
							padding: 10px 20px;
							line-height: 1;
							border: 1px solid var(--border-white);
							border-radius: 100px;
							background: rgba(255,255,255,0.15);
							text-decoration: none;
							transition: .3s all;
							font-weight: 400;

							@media (max-width: 990px) {
								white-space: nowrap;
							}

							@media (max-width: 768px) {
								font-size: 14px;
								padding: 6px 10px;
							}

							&:hover {
								background: rgba(255,255,255,0.8);
								color: #000;
							}

						}

					}

				}

				.search-modal__popular {

					margin: 40px 0 0 0;

					@media (max-width: 768px) {
						margin-top: 20px;
					}
					
					.search-modal__products {
						display: flex;
						gap: 10px;

						@media (max-width: 990px) {
							flex-wrap: wrap;
						}

						.search-modal__product {
							width: calc(25% - 10px);
							@media (max-width: 990px) {
								width: calc(50% - 5px);
							}
							.product-card {
								height: 100%;
							}
						}

					}

				}

			}

			.search-modal__results {

				margin: 20px 0;

				.predictive-search__grid {

					display: flex;
					gap: 20px;

					@media (max-width: 990px) {
						gap: 16px;
						flex-wrap: wrap;
					}

					.predictive-search__content {

						width: 180px;
						min-width: 180px;

						@media (max-width: 990px) {
							width: 100%;
						}

						.predictive-search__group {
							margin: 0 0 30px 0;
						}

						.predictive-search__heading {
							font-size: 18px;
							font-weight: 400;
						}

						.predictive-search__list {

							margin: 0;
							padding: 0;

							li {
								list-style: none;
								a {
									display: inline-block;
									text-decoration: underline; 
								}
							}

						}

					}

					.predictive-search__products {

						flex: 1;

						@media (max-width: 990px) {
							width: 100%;
						}

						.predictive-search__product-grid {

							display: flex;
							flex-wrap: wrap;
							gap: 10px;

							.predictive-search__product {
								width: calc(33.3% - 7px);
								@media (max-width: 990px) {
									width: calc(50% - 7px);
								}
								.product-card  {
									height: 100%;
								}
							}

						}

					}

				}

				.predictive-search__products-header {

					display: flex;
					justify-content: space-between;
					align-items: center;
					
					.predictive-search__heading {
						margin: 0 0 10px 0;
						font-family: var(--font-body-family);
						font-size: 18px;
					}

					.predictive-search__view-all {
						color:var(--color-primary);
						font-size: 14px;
					}

				}

			} /* search-modal__results */

		}

	}

}

.product-card {

	width: 100%;
	border: 1px solid var(--border-white);
	border-radius: 4px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	min-width: 0;
	background: #151515;
	transition: .3s all;

	&:hover {
		border-color: var(--color-primary);
	}

	.product-card__media {

		width: 100%;
		aspect-ratio: 1/1;
		display: block;
		position: relative;

		img {

			display: block;
			width: 100%;
			height: 100%;
			position: absolute;
			inset: 0;
			object-fit: contain;
			background: #fff;

			&.product-card__image--secondary {
				opacity: 0;
				z-index: 2;
				transition: .3s opacity;
				&:hover {
					opacity: 1;
				}
			}

		}

	}

	.product-card__content {

		padding: 10px;
		flex: 1;
		display: flex;
		flex-direction: column;

		.product-card__vendor {

			margin: 0 0 7px 0;
			font-size: 11px;
			font-family: var(--font-heading-family);
			text-transform: uppercase;
			color: var(--color-primary);
			font-weight: 500;

		}

		.product-card__title {

			margin: 0 0 7px 0;
			font-size: 20px;
			line-height: 1;
			font-family: var(--font-heading-family);
			text-transform: uppercase;

			a {
				display: inline-block;
				text-decoration: none;
			}

		}

		.product-card__price {

			display: flex;
			align-items: flex-end;
			gap: 5px;
			margin: 0 0 14px 0;

			.product-card__price-current {
				font-weight: 500;
			}

			.product-card__price-compare {
				font-size: 10px;
				opacity: .6;
				.product-card__price-compare-sale {
					text-decoration: line-through;
					font-size: 12px;
				}
			}

			.product-card__saving {
				font-size: 12px;
				color: var(--color-primary);
				font-weight: 400;
			}

		}

		.product-card__availability {

			width: 100%;
			flex: 1;
			align-content: flex-end;

			.product-card__availability-inner {

				display: flex;
				align-items: center;
				gap: 5px;
				border-top: 1px solid var(--border-white);
				width: 100%;
				padding: 7px 0 0 0;
				font-weight: 500;

				.product-card__availability-dot {
					display: block;
					width: 10px;
					height: 10px;
					border-radius: 50%;
					background: var(--color-primary);
				}

				span:not(.product-card__availability-dot) {
					font-size: 10px;
				}

			}

			&.product-card__availability--sold-out {
				.product-card__availability-inner {
					.product-card__availability-dot {
						background: var(--color-error);
					}
				}
			}

		}

	}


}

/* Footer */

.site-footer {

	margin: 70px 0 0 0;
	border-top: 1px solid var(--border-white);

	.container {
		@media (max-width: 1080px) {
			padding: 0;
		}
	}

	.site-footer__main {
		border-bottom:  1px solid var(--border-white);
	}

	.site-footer__grid {
		display: grid;
		grid-template-columns:
			minmax(100px, 1.1fr)
			minmax(180px, 0.9fr)
			minmax(180px, 0.9fr)
			minmax(180px, 0.9fr)
			minmax(360px, 2fr);
	}

	.site-footer__brand {
		display: flex;
		align-items: center;
		justify-content: center;
		border-right:  1px solid var(--border-white);

		@media (max-width: 1080px) {
			border-bottom:  1px solid var(--border-white);
		}

		.site-footer__logo {

			.site-footer__logo-image {
				display: block;
				max-width: 100%;
				height: auto;
				width: 180px;
			}

		}

	}

	.site-footer__navigation {
		
		display: contents;

		.site-footer__nav-group {

			border-right: 1px solid var(--border-white);
			padding: 20px 30px;

			@media (max-width: 1080px) {
				border: none;
				border-bottom: 1px solid var(--border-white);
				padding: 20px 16px;
				position: relative;
			}

			.site-footer__nav-title {
				margin: 0 0 12px 0;
				font-size: 22px;
				position: relative;

				@media (max-width: 767px) {
					font-size: 18px;
					margin: 0;
				}

				.site-footer__nav-chevron {
					display: none;
					@media (max-width: 767px) {
						display: block;
						position: absolute;
						top: 50%;
						right: 0;
						transform: translate(-50%, 0);
						transform-origin: top left;
					}
				}
			}

			.site-footer__nav {

				.site-footer__nav-list {
					margin: 0;
					padding: 0;
					list-style: none;

					.site-footer__nav-item {
						
						display: block;
						margin: 0 0 6px 0;

						.site-footer__nav-link {
							font-size: 14px;
							transition: .3s all;
							&:hover {
								color: var(--color-primary);
							}
						}

					}

				}

			}

		}

	}

	.site-footer__shop {

		padding: 20px 30px;
		border-right:  1px solid var(--border-white);

		@media (max-width: 767px) {
			padding: 20px 16px;
			border: none;
			border-bottom:  1px solid var(--border-white);

			&.is-open {

				.site-footer__nav-title {
					.site-footer__nav-chevron {
						transform: rotate(180deg) translate(-50%, 0);
					}
				}

				.site-footer__shop-content {
					display: block;
				}

			}

		}

		.site-footer__nav-title {
			margin: 0 0 12px 0;
			font-size: 22px;
			position: relative;

			@media (max-width: 767px) {
				font-size: 18px;
				margin: 0;
			}

			.site-footer__nav-chevron {
				display: none;
				@media (max-width: 767px) {
					display: block;
					position: absolute;
					top: 50%;
					right: 0;
					transform: translate(-50%, 0);
					transform-origin: top left;
				}
			}
		}

		.site-footer__shop-content {

			@media (max-width: 767px) {
				display: none;
				margin-top: 20px;
			}

			p {
				margin: 0 0 6px 0;
				font-size: 14px;
				line-height: 18px;
			}

		}

	}

	.site-footer__newsletter {

		padding: 20px 30px;

		@media (max-width: 767px) {
			padding: 20px 16px;
		}

		.site-footer__newsletter-heading {
			margin: 0 0 12px 0;
			font-size: 22px;
		}

		.site-footer__newsletter-description {
			font-size: 14px;
			margin: 0;
		}

		.site-footer__form {

			margin: 20px 0 0 0;

			.site-footer__form-fields {
				
				display: flex;
				gap: 10px;

				.site-footer__email {
					flex: 1;
					min-width: 0;
					height: 50px;
					min-height: 50px;
					background: transparent;
					color: #fff;
					border: 1px solid var(--border-white);
					box-shadow: none;
					padding: 0 20px;
					&:hover {
						border-color: #fff;
					}
				}

				.site-footer__submit {
					flex-shrink: 0;
					width: 115px;
					min-width: 115px;
					height: 50px;
					padding: 0;
					text-align: center;
					font-size: 18px;
					@media (max-width: 767px) {
						width: 100%;
						text-align: center;
					}
				}

			}

			.site-footer__form-message {

				color: var(--color-primary);
				margin: 0 0 20px 0;

				&.site-footer__form-message--error {
					color: var(--color-error);
				}

			}

		}

		.site-footer__newsletter-terms {
			font-size: 14px;
			margin: 10px 0 20px 0;
			opacity: .4;
			a {
				text-decoration: underline;
			}
			@media (max-width: 767px) {
				text-align: center;
			}
		}

	}

	.site-footer__socials {
		display: flex;
		align-items: center;
		gap: 20px;

		.site-footer__social-link {
			display: flex;
			align-items: center;
			justify-content: center;

			img,
			svg {
				display: block;
				width: 20px;
				height: unset;
			}

		}

		&.site-footer__socials--mobile {
			display: none;
		}

	}

	.site-footer__bottom {

		padding: 20px 0;

		@media (max-width: 1080px) {
			padding: 20px 30px;
		}

		.site-footer__bottom-inner {
			display: flex;
			align-items: center;
			justify-content: space-between;
			gap: 30px;

			.site-footer__copyright {
				margin: 0;
				font-size: 14px;
				opacity: .4;
			}

			.site-footer__payments {
				display: flex;
				align-items: center;
				gap: 5px;
				margin: 0;
				padding: 0;
				list-style: none;

				.site-footer__payment {

					svg {
						display: block;
					}

				}

			}

		}

	}


	@media (max-width: 1080px) {

		.site-footer__grid {
			grid-template-columns: 1fr 1fr;
		}

		.site-footer__navigation {
			display: block;
		}

		.site-footer__newsletter {

		}

	}


	@media (max-width: 767px) {

		.site-footer__grid {
			display: flex;
			flex-direction: column;
		}

		.site-footer__brand {
			
			order: 0;
			justify-content: space-between;
			padding: 30px 16px;
			border: none;

			.site-footer__logo {

				.site-footer__logo-image {
					max-width: 100px;
				}

			}

		}


		.site-footer__newsletter {
			order: 1;

			.site-footer__form {

				.site-footer__form-fields {
					flex-direction: column;
				}

			}

		}


		.site-footer__navigation {
			

			.site-footer__nav-group {

				.site-footer__nav {
					display: none;
					margin-top: 20px;
				}

				&.is-open {

					.site-footer__nav-title {
						.site-footer__nav-chevron {
							transform: rotate(180deg) translate(-50%, 0);
						}
					}

					.site-footer__nav {
						display: block;
					}

				}

			}

		}


		.site-footer__socials {

			&.site-footer__socials--desktop {
				display: none;
			}

			&.site-footer__socials--mobile {
				display: flex;
			}

		}


		.site-footer__bottom {

			.site-footer__bottom-inner {
				flex-direction: column;
				justify-content: center;
			}

			.site-footer__copyright {
				text-align: center;
			}

			.site-footer__payments {
				justify-content: center;
			}

		}

	}

}

.breadcrumbs {

	.breadcrumbs__list {

		display: flex;
		align-items: center;
		gap: 10px;
		list-style: none;
		padding: 0;
		margin: 0;

		@media (max-width: 768px) {
			gap: 5px;
		}

		.breadcrumbs__item {

			font-family: var(--font-heading-family);
			text-transform: uppercase;
			font-weight: 400;
			font-size: 14px;

			@media (max-width: 768px) {
				font-size: 12px;
			}

			.breadcrumbs__link {
				display: inline-block;
				transition: .3s all;
				&:hover {
					color: var(--color-primary);
				}
			}

			.breadcrumbs__separator {
				margin-right: 10px;
				@media (max-width: 768px) {
					margin-right: 5px;
				}
			}

			.breadcrumbs__current {
				opacity: .5;
			}

		}

	}

}


/* Policy pages */

.policy-page {

	.policy-page__navigation {
		border-bottom: 1px solid var(--border-white);
		border-top: 1px solid var(--border-white);

		.container {
			@media (max-width: 767px) {
				padding-right: 0;
			}
		}

		.policy-page__navigation-list {
			display: flex;
			align-items: stretch;
			justify-content: center;
			gap: 0;
			margin: 0;
			padding: 0;
			list-style: none;

			@media (max-width: 767px) {
				justify-content: flex-start;
				overflow-x: auto;
				scrollbar-width: none;

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

			.policy-page__navigation-item {
				flex-shrink: 0;
			}

			.policy-page__navigation-link {
				position: relative;
				display: flex;
				align-items: center;
				height: 60px;
				padding: 0 22px;
				font-family: var(--font-heading-family);
				font-size: var(--xs);
				font-weight: 500;
				text-transform: uppercase;
				color: rgb(from var(--color-white) r g b / 45%);
				transition: .3s all;

				@media (max-width: 767px) {
					height: 52px;
					padding: 0 16px;
				}

				&::after {
					content: '';
					position: absolute;
					left: 0;
					right: 0;
					bottom: -1px;
					height: 1px;
					background: var(--color-white);
					transform: scaleX(0);
					transition: .3s transform;
				}

				&:hover,
				&:focus,
				&.is-active {
					color: var(--color-white);
				}

				&.is-active {
					&::after {
						transform: scaleX(1);
					}
				}
			}
		}
	}

	.shopify-policy__container {
		width: 960px;
		max-width: calc(100% - 40px) !important;
		margin: 0 auto;
		padding: 70px 0 0;

		@media (max-width: 767px) {
			max-width: calc(100% - 32px) !important;
			padding-top: 45px;
		}
	}

	.shopify-policy__title {
		margin: 0 0 35px;
		text-align: center;

		@media (max-width: 767px) {
			margin-bottom: 25px;
		}

		h1 {
			margin: 0;
		}
	}

	.shopify-policy__body {
		font-size: var(--xxs);
		line-height: 1.55;

		p {
			margin-bottom: 26px;
			line-height: inherit;

			&:last-child {
				margin-bottom: 0;
			}
		}

		h2,
		h3,
		h4,
		h5,
		h6 {
			margin: 30px 0 20px;
			font-family: var(--font-body-family);
			font-size: var(--xxs);
			line-height: 1.4;
			font-weight: 500;
			text-transform: none;
		}

		ul,
		ol {
			margin: 0 0 26px;
			padding-left: 22px;
		}

		li {
			margin-bottom: 6px;
		}

		a {
			color: var(--color-primary);
			text-decoration: underline;
			text-underline-offset: 2px;
		}

		table {
			width: 100%;
			border-collapse: collapse;
			margin: 25px 0;
		}

		th,
		td {
			padding: 12px;
			border: 1px solid var(--border-white);
			text-align: left;
			vertical-align: top;
		}
	}

	.policy-page__cta {
		width: 960px;
		max-width: 100%;
		margin: 70px auto 0;
		padding-bottom: 70px;
		text-align: center;

		@media (max-width: 767px) {
			margin-top: 50px;
			padding-bottom: 50px;
		}

		.policy-page__cta-intro {
			margin-bottom: 18px;
			line-height: 1.45;

			p {
				margin-bottom: 0;
			}
		}

		.policy-page__cta-button {
			min-width: 200px;
		}
	}
}

.shopify-policy__title,
.shopify-policy__body {
	h1 {
		font-size: var(--h2);
	}
}

.shopify-pc__prefs__overlay {
	background: rgba(0,0,0,.9) !important;
}

#shopify-pc__prefs__dialog {
	border: 1px solid var(--border-white) !important;
	box-shadow: none !important;
	h2, 
	button,
	h3,
	label {
		font-family: var(--font-heading-family) !important;
		font-weight: 500 !important;
		text-transform: uppercase;
	}
}

.shopify-pc__banner__dialog {
	
	border-top: 1px solid var(--border-white) !important;
	border-right: 1px solid var(--border-white) !important;
	box-shadow: none !important;
	z-index: 9999999999 !important;

	@media (max-width: 767px) {
		padding: 20px 16px !important;
	}

	.shopify-pc__banner__btns {
		@media (max-width: 767px) {
			flex-direction: row !important;
			gap: 6px !important;
		}
	}
	
	button {
		font-family: var(--font-heading-family) !important;
		@media (max-width: 767px) {
			margin: 12px 0 0 0 !important;
			font-size: 14px !important;
			padding: 4px 10px !important;
		}
		&.shopify-pc__banner__btn-decline {
			background: transparent !important;
			color: var(--color-primary) !important;
			border-color: var(--color-primary) !important;
		}
	}

	#shopify-pc__banner__body-title {
		font-family: var(--font-heading-family) !important;
		font-weight: 500 !important;
	}

	p {
		font-size: 14px !important;
	}

}

#captcha_form {

	.shopify-challenge__button {
		border: 1px solid var(--color-primary);
		border-radius: 2px;
		padding: 10px 35px;
		background: var(--color-primary);
		color: var(--color-black);
		cursor: pointer;
		text-transform: uppercase;
		font-size: 22px;
		font-family: var(--font-heading-family);
		font-weight: 500;
		display: inline-block;
		transition: .3s all;
		margin: 0 auto;
		display: block;

		@media (max-width: 767px) {
			font-size: 18px;
			padding: 8px 30px;
		}

		&:hover,
		&:focus {
			opacity: .8;
		}
	}

}