/* GENERAL */

.container {
	--container-max-width: 1512px;
}

.page-breadcrumbs {
	padding: var(--spacing-4) var(--spacing-4) var(--spacing-2);

		.breadcrumb-item {
			color: var(--main-unselected);
			text-transform: uppercase;
			font-size: var(--font-size-caption);

		&.last {
			color: var(--main-primary);
			font-weight: var(--font-weight-medium);
		}
	}

	@media screen and (max-width: 700px) {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		gap: 2px;
	}
}


/* VIDEO HERO */

#hero-component {
	position: relative;

	.scrolling-indicator {
		position: absolute;
		bottom: 0;
		right: 50%;
		height: 100px;
		width: 100px;
		display: flex;
		align-items: center;
		justify-content: flex-start;
		gap: var(--spacing-1);
		transform: translateX(50%) rotate(-90deg);
		color: var(--main-inverted-primary);
		transition: opacity 0.3s ease-in-out;

		.scrolling-indicator__line {
			width: 30px;
			height: 1px;
			background-color: white;
		}

		.scrolling-indicator__text {
			font-size: var(--font-size-caption);
			font-weight: var(--font-weight-regular);
			text-transform: uppercase;
		}

		&.hidden {
			opacity: 0;
		}
	}
}

.shopify-block.video-hero, .shopify-block.hero-image {
	height: calc(100vh - 40px);
	video, img {
		height: 100%;
	}
}


/* HP CAROUSEL */

@media screen and (max-width: 700px) {
	.shopify-section--featured-collections-home {
		.product-card__info--vendor-only{
			margin-bottom: var(--spacing-5);
		}
	}
}

/* TITLE WITH LINK BLOCK IN RICH TEXT */

.title_with_link {
	text-transform: uppercase;
	font-size: var(--font-size-h1);
	font-weight: var(--font-weight-semiBold);
	background: none;
	padding: 0;
}

a.title_with_link.button {
	text-decoration: none;
	color: var(--main-primary);
	background: none;
	padding: 0;
	line-height: 1;
}

.shopify-section--rich-text:has(.title_with_link) .section-spacing {
	padding-block-start: var(--spacing-4);
	padding-block-end: var(--spacing-4);
}

/* CUSTOMER CARE SECTION */

.customer-care-container {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	width: 100%;
	text-align: center;
	border-top: 1px solid var(--main-stroke);
	margin-top: var(--spacing-4);
	
	.customer-care-text {
		padding: var(--spacing-3);
		text-transform: uppercase;
		justify-content: flex-start;
		font-size: var(--font-size-text);
		font-weight: var(--font-weight-regular);
	}

	.customer-care-info-box {
		list-style-type: none;
		display: flex;
		justify-content: space-between;
		align-items: center;
		height: var(--spacing-8);
		width: 100%;
		margin: 0;
	}

	.customer-care-info {
		height: 100%;
		width: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
		text-transform: uppercase;
		font-size: var(--font-size-text);
		font-weight: var(--font-weight-regular);
		padding: 0;
		border-top: 1px solid var(--main-stroke);
		border-right: 1px solid var(--main-stroke);

		a {
			display: flex;
			align-items: center;
			justify-content: center;
			gap: var(--spacing-2);
		}
	}

	.customer-care-info:last-child {
		border-right: none;
	}

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

		justify-content: flex-start;
		text-align: start;
		align-items: flex-start;

		.customer-care-info-box {
			flex-direction: column;
			width: 100%;
			height: auto;
		}

		.customer-care-info {
			height: var(--spacing-8);
			justify-content: flex-start;
			padding: 0 var(--spacing-3);
		}
		
	}

}

/** RE-USABLE BLOCKS **/
.button--glass {
	border: 1px solid var(--main-primary);
	background: rgba(22, 22, 21, 0.30);
	color: var(--main-inverted-primary);
	backdrop-filter: blur(2px);
	border-radius: 0;
	transition: .3s ease-in-out;

	&:hover {
		background: var(--main-primary);
	}
}

/** RE-USABLE UTILITIES **/

.w-85p {
	width: 85%;
}

.no-text-transform {
	text-transform: none !important;
}

.spacing-1 {
	gap: var(--spacing-1);
}

.spacing-2 {
	gap: var(--spacing-2);
}

.spacing-3 {
	gap: var(--spacing-3);
}

.spacing-4 {
	gap: var(--spacing-4);
}

.spacing-5 {
	gap: var(--spacing-5);
}

.spacing-6 {
	gap: var(--spacing-6);
}

.spacing-7 {
	gap: var(--spacing-7);
}

.spacing-8 {
	gap: var(--spacing-8);
}

.spacing-9 {
	gap: var(--spacing-9);
}

.spacing-10 {
	gap: var(--spacing-10);
}

.spacing-11 {
	gap: var(--spacing-11);
}

.spacing-12 {
	gap: var(--spacing-12);
}

.spacing-13 {
	gap: var(--spacing-13);
}

.spacing-14 {
	gap: var(--spacing-14);
}

.spacing-15 {
	gap: var(--spacing-15);
}

/** CROSS-PAGE COMPONENTS **/

.product-card__info--vendor-only {
	display: flex;
	justify-content: center;
}

/* 
 * For devices that supports hover:
 * - in vendor-only mode, make the vendor appear only on hover.
 * - when secondary images are disabled, make a zoom transition on hover.
 */
@media screen and (hover: hover) {

	.product-card__info--vendor-only .vendor {
		opacity: 0;
		transition: opacity 300ms ease-in-out;

		.product-card:hover & {
			opacity: 1;
		}
	}

	.product-card__media-single-image {
		transition: transform 300ms ease-in-out;

		.product-card:hover & {
			transform: scale(1.2);
		}
	}

}

.trust-icons {

	&.trust-icons--grid {

		--columns-count: 4;

		display: grid;
		grid-template-columns: repeat( var(--columns-count), 1fr);

		&[data-icons-count="2"] { 
			--columns-count: 2;
			.trust-icons__item:nth-child(even) { border-right-width: 0px; }
		}
		@media screen and (width <= 1000px) {
			--columns-count: 2;
			.trust-icons__item:nth-child(even) { border-right-width: 0px; }
		}

		padding-block: 0;
		row-gap: 0;
		column-gap: 0;
		border-width: 0px;
		
		.trust-icons__item {
			padding: var(--spacing-4) var(--spacing-5);
			border-style: solid;
			border-color: var(--main-stroke);
			box-shadow: none;

			border-width: 1px 1px 0px 0px;
			&:last-child {
				border-width: 1px 0px 0px 0px;
			}

			p {
				margin-top: 8px;
			}
			.text-subdued {
				margin-top: 4px;
			}

			@media screen and (width <=1000px) {
				padding: var(--spacing-3)
			}

		}
		
	}

}

/* # CART ICON # */

.bag-icon {
	width: 18px;
	height: 18px;
}


/* # PRODUCT LISTS / RECENTLY VIEWED # */

.shopify-section--related-products, .shopify-section--recently-viewed-products {
	
	h2 {
		padding: 0 var(--spacing-15);
		font-size: var(--font-size-h1);
		font-weight: var(--font-weight-semiBold);
		
		@media screen and (max-width: 700px) {
			padding: 0 var(--spacing-2);
		}

	}

}

.checkbox-wrapper {
	display: flex;
	align-items: start;
	justify-content: flex-start;
	gap: var(--spacing-1);

	.checkbox {
		background-color: transparent;
		border: 1px solid var(--main-stroke);
		border-radius: 2px;
		width: 20px;
		height: 20px;
		margin-top: 2px;
	}

	.checkbox:checked {
		background-color: var(--main-primary);
		border-color: var(--main-primary);
	}

	label {
		max-width: 80%;
		text-align: left;
	}

}

/* # CART PAGE / DRAWER # */

#cart-drawer {
	
	.cart-header-title {
		font-size: var(--font-size-h3);
		font-weight: var(--font-weight-semiBold);
		display: flex;
		align-items: center;
		
		.cart-count {
			margin-left: var(--spacing-2);
			background-color: var(--main-primary);
			border-radius: 100px;
			font-size: var(--font-size-label);
			height: 18px;
			width: 18px;
			display: flex;
			align-items: center;
			justify-content: center;
			color: var(--main-inverted-primary);
		}
	}
	
	.line-item {
		border-bottom: 1px solid var(--main-stroke);
		padding: var(--spacing-2) var(--spacing-2) var(--spacing-2) 0;
		gap: 0;
		.cart-drawer_vendor {
			font-size: var(--font-size-h3);
			font-weight: var(--font-weight-semiBold);
			color: var(--main-primary);
		}

		.line-item__info-with-line-price {
			.line-item__info {
				width: 100%;
			}
			
		}

		.cart-drawer_title {
			font-size: var(--font-size-text);
			font-weight: var(--font-weight-regular);
			margin-bottom: var(--spacing-1);
		}
		
		.cart-drawer_info-container {
			display: flex;
			gap: var(--spacing-2);
			margin-bottom: var(--spacing-1);

			.cart-drawer_info {
				font-size: var(--font-size-caption);
				font-weight: var(--font-weight-medium);
				color: var(--main-primary);

				span {
					color: var(--main-unselected);
				}
			}
		}
		
		.line-item__media-wrapper {
			height: 203px;
			width: 203px;
			min-width: 203px;
			display: flex;
			align-items: center;
			justify-content: center;
			
			.line-item__media {
				min-width: unset;
				width: 100%;
				height: 100%;
			}
		}
	}

	.quantity-selector {
		margin-bottom: var(--spacing-2);
	}

	.line-item__line-price {
		display: flex;
		justify-content: space-between;
		width: 100%;
		padding-right: var(--spacing-3);

		.price {
			color: var(--main-primary);
			font-weight: var(--font-weight-semiBold);
			display: block;
			letter-spacing: normal;
		}
	}

	.prices-container {
		display: flex;
		gap: var(--spacing-1);
		align-items: center;
	}

	.price-card {
		color: var(--main-primary);
		font-size: var(--font-size-text);
		font-weight: var(--font-weight-semiBold);
	}

	.compare-at-price-card {
		color: var(--main-primary);
		font-size: var(--font-size-text);
		font-weight: var(--font-weight-regular);
	}

	.discount-percentage {
		color: var(--secondary-dark);
		font-weight: var(--font-weight-regular);
		padding: 0 10px 0 4px;
		font-size: var(--font-size-text);
	}

	.line-item__remove-button {
		opacity: 1;
		&:hover span:after {
			height: 0;
		}

		span {
			font-size: var(--font-size-text);
			font-weight: var(--font-weight-medium);
			position: relative;

			&:after {
				content: '';
				background-color: var(--main-primary);
				position: absolute;
				width: 100%;
				height: 1px;
				bottom: -2px;
				left: 0;
				transition: all .1s ease-in-out;
			}

		}
	}

	.cart-drawer__footer-inner {
		padding: var(--spacing-2) var(--spacing-3) var(--spacing-4);

		.checkbox-control {
			display: flex;
			align-items: center;

			label {
				font-size: var(--font-size-text);
			}

		}

		.cart-drawer-footer {

			.total-text {
				font-size: var(--font-size-h4);
				font-weight: var(--font-weight-semiBold);
			}

			.total {
				font-size: var(--font-size-h4);
				font-weight: var(--font-weight-medium);
				color: var(--main-primary);
			}

		}

		.button__content {
			padding: var(--spacing-2) var(--spacing-1);
			font-weight: var(--font-weight-medium);
			font-size: var(--font-size-text);
		}
	}
}

.anchor.cart {
	display: flex;
	flex-direction: column;
	width: 100%;
	gap: 0;

	.container {
		margin: 0;
		width: 100vw;
	}

	.cart-header {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: var(--spacing-1);
		
		h1 {
			font-size: var(--font-size-h3);
			font-weight: var(--font-weight-semiBold);
		}
	}

	.cart-count {
		background-color: var(--main-primary);
		color: var(--main-inverted-primary);
		height: 18px;
		width: 18px;
		display: flex;
		justify-content: center;
		align-items: center;
		border-radius: 100px;
	}

	.order-summary tr:first-child {
		border-top: none;
	}

	.order-summary td {
		padding: var(--spacing-3) 0;
	}

	.order-summary tr td:nth-child(2),
	.order-summary tr td:nth-child(3) {
		border-bottom: 0;
		border-top: 0;
		display: none;
	}

	.order-summary tr:last-child {
		margin-bottom: -1px;
	}

	.cart-line-item td {
		width: 100%;
	}

	.shopify-section--main-cart {
		
		.cart {
			gap: 0;

			.line-item__media-wrapper {
				width: 203px;
				height: 203px;
				min-width: 203px;
				display: flex;
				align-items: center;
				justify-content: center;

				.line-item__media {
					min-width: unset;
					width: 100%;
					height: 100%;
				}

			}
		}

		.section-spacing {
			padding: 0;
		}

		.cart-line-item {
			display: flex;
			align-items: center;
			justify-content: space-between;
			padding: 0 var(--spacing-3);
			border-bottom: 1px solid var(--main-stroke);
			border-right: 1px solid var(--main-stroke);
			margin-right: -1px;
		}

		.cart-line-item:first-child {
			border-top: 1px solid var(--main-stroke);
		}

		.line-item__quantity-selector, .line-item__line-price {
			display: block;
		}

		.cart__right {
			padding: var(--spacing-5) var(--spacing-4);
			border-bottom: none;
		}

		.cart-drawer_vendor {
			font-size: var(--font-size-h3);
			font-weight: var(--font-weight-semiBold);
			color: var(--main-primary);
		}

		.line-item__info-with-line-price {
			.line-item__info {
				width: 100%;
			}
			.unstyled-list {
				margin-bottom: var(--spacing-1);
			}
			
		}

		.quantity-selector {
			margin-bottom: var(--spacing-2);
		}

		.cart-drawer_title {
			font-size: var(--font-size-text);
			font-weight: var(--font-weight-regular);
			margin-bottom: var(--spacing-1);
		}
		
		.cart-drawer_info-container {
			display: flex;
			gap: var(--spacing-2);
			margin-bottom: var(--spacing-1);

			.cart-drawer_info {
				font-size: var(--font-size-caption);
				font-weight: var(--font-weight-medium);
				color: var(--main-primary);

				span {
					color: var(--main-unselected);
				}
			}
		}
		

		
	.line-item__line-price {
		display: flex;
		justify-content: space-between;
		width: 100%;
		padding-right: var(--spacing-3);

		.price {
			color: var(--main-primary);
			font-weight: var(--font-weight-semiBold);
			display: block;
			letter-spacing: normal;
		}
	}

	.prices-container {
		display: flex;
		gap: var(--spacing-1);
		align-items: center;
	}

	.price-card {
		color: var(--main-primary);
		font-size: var(--font-size-text);
		font-weight: var(--font-weight-semiBold);
	}

	.compare-at-price-card {
		color: var(--main-primary);
		font-size: var(--font-size-text);
		font-weight: var(--font-weight-regular);
	}

	.discount-percentage {
		color: var(--secondary-dark);
		font-weight: var(--font-weight-regular);
		padding: 0 10px 0 4px;
		font-size: var(--font-size-text);
	}

	.line-item__remove-button {
		opacity: 1;
		&:hover span:after {
			height: 0;
		}

		span {
			font-size: var(--font-size-text);
			font-weight: var(--font-weight-medium);
			position: relative;

			&:after {
				content: '';
				background-color: var(--main-primary);
				position: absolute;
				width: 100%;
				height: 1px;
				bottom: -2px;
				left: 0;
				transition: all .1s ease-in-out;
			}

		}
	}

	}

	.subtotal {
		font-size: var(--font-size-text);
		text-transform: uppercase;
		font-weight: var(--font-weight-regular);
		margin-bottom: var(--spacing-2);
	}
	
	.total {
		font-size: var(--font-size-h4);
		font-weight: var(--font-weight-semiBold);
		color: var(--main-primary);
		text-transform: uppercase;
	}

	.shipping-text {
		font-size: var(--font-size-text);
		font-weight: var(--font-weight-regular);
		color: var(--main-primary);
	}
	
	.we-accept {
		color: var(--main-primary);
		font-size: var(--font-size-text);
		font-weight: var(--font-weight-semiBold);
	}

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

		.line-item {
			gap: 0;
		}

		tr.cart-line-item {
			padding: 0 !important;
			padding-right: var(--spacing-2) !important
		}

		.cart-drawer_title {
			-webkit-line-clamp: var(--line-clamp-count, 1);
			-webkit-box-orient: vertical;
			display: -webkit-box;
			overflow: hidden;
		}

		.prices-container {
			flex-wrap: wrap;
		}

		.cart__right {
			padding: var(--spacing-3) !important;
		}

		.shipping-text {
			margin-bottom: var(--spacing-2);
		}
		
		.terms-of-service {
			margin-bottom: var(--spacing-3);
		}

		.button {
			margin-bottom: var(--spacing-3);
		}
	}
}

/** ARTICLE CARD IMAGE MANAGEMENT **/

.card-article {
	object-fit: cover;
	aspect-ratio: 2/3;
}

/** PAGES TITLE STYLE MANAGEMENT **/
.contact {
	h1 {
		font-size: var(--font-size-h1);
	}
}

.shopify-section--main-page {

	h2 {
		font-size: var(--font-size-h1);
		font-weight: var(--font-weight-semiBold);
		color: var(--main-primary);
	}

	.section-spacing {
		padding: 0;
	}

	@media screen and (max-width: 700px) {
		.section-spacing {
			margin-left: var(--spacing-4);
			margin-right: var(--spacing-4);
		}
	}
}

/** FOOTER LANGUAGE SELECTOR **/

.language-selector-container.mobile-view {
	display: none;
}

.language-selector-container {
	width: 100%;
	display: flex;
	align-items:center;
	justify-content: center;
	margin-bottom: var(--spacing-2);
}

.language-selector-label {
	text-transform: uppercase;
	font-size: var(--font-size-text);
}

.language-selector {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: var(--spacing-2);
}

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

	.language-selector-container.desktop-view {
		display: none;
	}

	.language-selector-container.mobile-view {
		display: block;
	}

	.language-selector {
		display: flex;
		justify-content: center;
		align-items: center;
	}

}

/** MAX HEIGHT FOR MEDIA BLOCKS IN HP **/
.index {
	.shopify-section--media-blocks {
		.content-box__background-media {
			max-height: 750px;
		}
	}
}

.index .shopify-section--featured-collections-home {
	margin-block-end: 0;

	.section-spacing {
		padding-block-end: var(--spacing-3);
	}
}

.index .shopify-section--featured-collections-home, 
.index .shopify-section--blog-posts {

	.floating-controls__control {
		padding: 0 var(--spacing-2);
	}

	.circle-button {
		
		&::before {
			content: '';
			background-color: rgba(var(--main-primary-rgb), 0.6);
			}
			
		.icon path {
			stroke: var(--main-inverted-primary);
		}
	}

}

.index .shopify-section--blog-posts {
	.article-title {
		line-height: normal;
	}
}