/**
 * Space Art Studio WooCommerce Shop and product-taxonomy archives.
 * Loaded only on the Shop, product-category, and product-tag archives.
 */

.sas-shop-hero,
.sas-shop-hero *,
.sas-shop-catalog,
.sas-shop-catalog * {
	box-sizing: border-box;
}

/* Archive hero. */

.sas-shop-hero {
	width: 100%;
	color: #fff;
	background:
		radial-gradient(circle at 8% 25%, rgba(78, 168, 222, .1), transparent 30%),
		#081723;
	font-family: Inter, Arial, sans-serif;
}

.sas-shop-hero__inner {
	width: min(1240px, calc(100% - 40px));
	margin: 0 auto;
	padding: 76px 0 38px;
}

.sas-shop-hero__content {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
	align-items: end;
	gap: 80px;
	padding-bottom: 52px;
}

.sas-shop-hero__eyebrow {
	margin: 0 0 14px;
	color: #65b8e6;
	font-family: "Space Grotesk", Sora, Arial, sans-serif;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 1.8px;
	text-transform: uppercase;
}

.sas-shop-hero h1 {
	max-width: 760px;
	margin: 0;
	color: #fff;
	font-family: "Space Grotesk", Sora, Arial, sans-serif;
	font-size: clamp(42px, 5vw, 68px);
	font-weight: 600;
	line-height: .98;
	letter-spacing: -2.4px;
}

.sas-shop-hero__intro {
	max-width: 500px;
	margin: 0;
	color: #b9c7d1;
	font-size: 17px;
	line-height: 1.75;
}

.sas-shop-hero__intro strong {
	color: #fff;
	font-weight: 600;
}

.sas-shop-categories {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 25px 0 0;
	list-style: none;
	border-top: 1px solid rgba(255, 255, 255, .14);
}

.sas-shop-categories li {
	flex: 0 0 auto;
	margin: 0;
	padding: 0;
}

.sas-shop-categories a {
	display: inline-flex;
	align-items: center;
	min-height: 42px;
	padding: 10px 17px;
	color: #c8d5dd;
	background: transparent;
	border: 1px solid rgba(255, 255, 255, .18);
	font-family: "Space Grotesk", Sora, Arial, sans-serif;
	font-size: 13px;
	font-weight: 500;
	line-height: 1;
	text-decoration: none;
	transition:
		color .18s ease,
		background-color .18s ease,
		border-color .18s ease;
}

.sas-shop-categories a:hover,
.sas-shop-categories a:focus-visible {
	color: #081723;
	background: #fff;
	border-color: #fff;
}

.sas-shop-categories a:focus-visible {
	outline: 2px solid #79c8ef;
	outline-offset: 3px;
}

.sas-shop-categories a.is-current,
.sas-shop-categories a[aria-current="page"] {
	color: #07141d;
	background: #4ea8de;
	border-color: #4ea8de;
}

/* Catalog heading and controls. */

.sas-shop-catalog__heading {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
	align-items: end;
	gap: 70px;
	width: 100%;
	margin-bottom: 10px;
}

.sas-shop-catalog__eyebrow {
	margin: 0 0 10px;
	color: #277fae;
	font-family: "Space Grotesk", Sora, Arial, sans-serif;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 1.7px;
	text-transform: uppercase;
}

.sas-shop-catalog__heading h2 {
	margin: 0;
	color: #081723;
	font-family: "Space Grotesk", Sora, Arial, sans-serif;
	font-size: clamp(34px, 4vw, 50px);
	font-weight: 600;
	line-height: 1.05;
	letter-spacing: -1.6px;
}

.sas-shop-catalog__description {
	max-width: 480px;
	margin: 0;
	color: #5b6d7b;
	font-family: Inter, Arial, sans-serif;
	font-size: 15px;
	line-height: 1.7;
}

.sas-shop-catalog .woocommerce-result-count {
	margin: 0 0 24px !important;
	color: #5b6d7b;
	font-family: Inter, Arial, sans-serif;
	font-size: 13px;
	line-height: 44px;
}

.sas-shop-catalog .woocommerce-ordering {
	margin: 0 0 24px !important;
}

.sas-shop-catalog .woocommerce-ordering select {
	min-width: 230px;
	height: 44px;
	padding: 0 42px 0 14px;
	color: #1c2935;
	background-color: #fff;
	border: 1px solid #b8c6d1;
	border-radius: 0;
	font-family: Inter, Arial, sans-serif;
	font-size: 13px;
	cursor: pointer;
}

.sas-shop-catalog .woocommerce-ordering select:focus-visible {
	outline: 2px solid #4ea8de;
	outline-offset: 2px;
}

/* Product grid and cards. */

.sas-shop-catalog ul.products {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	clear: both;
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
	gap: 30px 22px;
}

.sas-shop-catalog ul.products::before,
.sas-shop-catalog ul.products::after {
	display: none !important;
	content: none !important;
}

html body .sas-shop-catalog ul.products > li.product.product {
	display: flex !important;
	float: none !important;
	flex-direction: column !important;
	flex-wrap: nowrap !important;
	align-items: stretch !important;
	justify-content: flex-start !important;
	grid-template-columns: none !important;
	grid-template-rows: none !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden;
	background: #fff;
	border: 1px solid #dce4ea;
	border-radius: 0;
	transition:
		border-color .2s ease,
		box-shadow .2s ease,
		transform .2s ease;
}

html body .sas-shop-catalog ul.products > li.product.product:hover,
html body .sas-shop-catalog ul.products > li.product.product:focus-within {
	border-color: #8fbcd3;
	box-shadow: 0 14px 34px rgba(8, 23, 35, .09);
	transform: translateY(-3px);
}

html body .sas-shop-catalog ul.products > li.product.product >
a.woocommerce-loop-product__link {
	display: flex !important;
	flex: 1 1 auto !important;
	flex-direction: column !important;
	flex-wrap: nowrap !important;
	align-items: stretch !important;
	width: 100% !important;
	min-width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	color: inherit;
	text-decoration: none;
	position: static !important;
}

html body .sas-shop-catalog ul.products > li.product.product
a.woocommerce-loop-product__link img {
	display: block !important;
	flex: 0 0 auto !important;
	align-self: stretch !important;
	width: 100% !important;
	min-width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	margin: 0 0 20px !important;
	padding: 0 !important;
	aspect-ratio: 1 / 1 !important;
	object-fit: contain !important;
	background: #06131d !important;
	border-radius: 0 !important;
	position: static !important;
}

html body .sas-shop-catalog ul.products > li.product.product
.woocommerce-loop-product__title {
	display: -webkit-box;
	flex: 0 0 auto !important;
	width: 100% !important;
	min-width: 0 !important;
	min-height: 4.2em;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 20px !important;
	overflow: hidden;
	color: #081723;
	font-family: "Space Grotesk", Sora, Arial, sans-serif;
	font-size: 17px !important;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: -.2px;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	position: static !important;
}

html body .sas-shop-catalog ul.products > li.product.product .price {
	display: block !important;
	flex: 0 0 auto !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	margin: 12px 0 0 !important;
	padding: 0 20px !important;
	color: #405466 !important;
	font-family: Inter, Arial, sans-serif;
	font-size: 14px !important;
	font-weight: 500 !important;
	line-height: 1.4;
	position: static !important;
}

.sas-shop-catalog ul.products li.product .price del {
	color: #82919d !important;
	opacity: 1 !important;
}

.sas-shop-catalog ul.products li.product .price ins {
	color: #c43b58 !important;
	font-weight: 600 !important;
	text-decoration: none;
}

html body .sas-shop-catalog ul.products > li.product.product a.button {
	display: flex !important;
	flex: 0 0 auto !important;
	align-self: stretch !important;
	align-items: center !important;
	justify-content: space-between !important;
	width: calc(100% - 40px) !important;
	min-width: 0 !important;
	max-width: calc(100% - 40px) !important;
	height: 46px !important;
	min-height: 46px !important;
	max-height: 46px !important;
	margin: 20px !important;
	padding: 0 15px !important;
	color: #fff !important;
	background: #081723 !important;
	border: 1px solid #081723 !important;
	border-radius: 0 !important;
	font-family: "Space Grotesk", Sora, Arial, sans-serif;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	text-align: left;
	text-decoration: none !important;
	position: static !important;
	transition:
		color .18s ease,
		background-color .18s ease,
		border-color .18s ease;
}

html body .sas-shop-catalog ul.products > li.product.product a.button::after {
	content: "\2192";
	margin-left: 14px;
	color: #65b8e6;
	font-size: 16px;
	font-weight: 400;
}

html body .sas-shop-catalog ul.products > li.product.product a.button:hover,
html body .sas-shop-catalog ul.products > li.product.product a.button:focus-visible {
	color: #07141d !important;
	background: #4ea8de !important;
	border-color: #4ea8de !important;
}

html body .sas-shop-catalog ul.products > li.product.product a.button:hover::after,
html body .sas-shop-catalog ul.products > li.product.product a.button:focus-visible::after {
	color: #07141d;
}

html body .sas-shop-catalog ul.products > li.product.product a.button:focus-visible {
	outline: 2px solid #081723;
	outline-offset: 3px;
}

.sas-shop-catalog ul.products li.product .onsale {
	top: 12px !important;
	right: 12px !important;
	left: auto !important;
	min-width: auto !important;
	min-height: auto !important;
	margin: 0 !important;
	padding: 8px 10px !important;
	color: #07141d !important;
	background: #65b8e6 !important;
	border-radius: 0 !important;
	font-family: "Space Grotesk", Sora, Arial, sans-serif;
	font-size: 11px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	letter-spacing: .6px;
	text-transform: uppercase;
}

.sas-shop-catalog ul.products li.product .star-rating {
	margin: 12px 20px 0 !important;
	color: #277fae;
	font-size: 13px;
}

/* Pagination. */

.sas-shop-catalog .woocommerce-pagination {
	margin-top: 54px;
}

.sas-shop-catalog .woocommerce-pagination ul.page-numbers {
	display: flex !important;
	justify-content: center;
	gap: 8px;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

.sas-shop-catalog .woocommerce-pagination ul.page-numbers li {
	margin: 0 !important;
	border: 0 !important;
}

.sas-shop-catalog .woocommerce-pagination .page-numbers a,
.sas-shop-catalog .woocommerce-pagination .page-numbers span {
	display: grid !important;
	width: 42px;
	height: 42px;
	padding: 0 !important;
	place-items: center;
	color: #405466 !important;
	background: #fff !important;
	border: 1px solid #cfd9e0;
	font-family: Inter, Arial, sans-serif;
	font-size: 13px;
	text-decoration: none;
}

.sas-shop-catalog .woocommerce-pagination .page-numbers .current,
.sas-shop-catalog .woocommerce-pagination .page-numbers a:hover,
.sas-shop-catalog .woocommerce-pagination .page-numbers a:focus-visible {
	color: #fff !important;
	background: #081723 !important;
	border-color: #081723;
}

@media (max-width: 900px) {
	.sas-shop-hero__inner {
		padding-top: 58px;
	}

	.sas-shop-hero__content,
	.sas-shop-catalog__heading {
		grid-template-columns: 1fr;
	}

	.sas-shop-hero__content {
		gap: 25px;
		padding-bottom: 38px;
	}

	.sas-shop-hero h1 {
		max-width: 680px;
		letter-spacing: -1.8px;
	}

	.sas-shop-catalog__heading {
		gap: 18px;
	}

	.sas-shop-catalog ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 620px) {
	.sas-shop-hero__inner {
		width: min(100% - 32px, 1240px);
		padding: 48px 0 28px;
	}

	.sas-shop-hero__content {
		gap: 20px;
		padding-bottom: 30px;
	}

	.sas-shop-hero h1 {
		font-size: 42px;
		line-height: 1.02;
		letter-spacing: -1.4px;
	}

	.sas-shop-hero__intro {
		font-size: 16px;
		line-height: 1.65;
	}

	.sas-shop-categories {
		flex-wrap: nowrap;
		gap: 7px;
		padding: 20px 0 10px;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x proximity;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: thin;
	}

	.sas-shop-categories li {
		scroll-snap-align: start;
	}

	.sas-shop-categories a {
		min-height: 39px;
		padding: 9px 12px;
		font-size: 12px;
	}

	.sas-shop-catalog__heading h2 {
		font-size: 36px;
	}

	.sas-shop-catalog .woocommerce-result-count,
	.sas-shop-catalog .woocommerce-ordering {
		float: none !important;
		width: 100%;
	}

	.sas-shop-catalog .woocommerce-result-count {
		margin-bottom: 8px !important;
		line-height: 1.5;
	}

	.sas-shop-catalog .woocommerce-ordering select {
		width: 100%;
		min-width: 0;
	}

	.sas-shop-catalog ul.products {
		grid-template-columns: 1fr;
		gap: 22px;
	}

	html body .sas-shop-catalog ul.products > li.product.product
	.woocommerce-loop-product__title {
		min-height: 0;
		-webkit-line-clamp: initial;
	}
}

@media (prefers-reduced-motion: reduce) {
	html body .sas-shop-catalog ul.products > li.product.product,
	.sas-shop-categories a {
		transition: none;
	}
}
