.site-main--store-home {
	width: min(calc(100% - (var(--hut-container-padding) * 2)), var(--hut-container-xl));
}

.store-home {
	display: grid;
	gap: clamp(var(--hut-space-lg), 4vw, var(--hut-space-2xl));
}

.store-home .hero-component {
	min-height: clamp(34rem, 64vw, 44rem);
	background: var(--hut-color-ink-900);
}

.store-home .hero-component::before {
	background:
		linear-gradient(90deg, rgb(13 27 42 / 96%) 0%, rgb(13 27 42 / 72%) 44%, rgb(13 27 42 / 24%) 74%, rgb(13 27 42 / 0%) 100%),
		linear-gradient(0deg, rgb(13 27 42 / 72%) 0%, rgb(13 27 42 / 0%) 54%);
}

.store-home .hero-component__title {
	max-width: 10ch;
	font-size: clamp(3rem, 7vw, 6.25rem);
	line-height: 0.94;
	text-wrap: balance;
}

.store-home .hero-component__subtitle {
	max-width: 42rem;
	font-size: clamp(1.08rem, 1.8vw, 1.35rem);
}

.store-home .hero-component .button {
	min-height: 3.15rem;
	padding-inline: 1.15rem;
}

.store-section,
.store-about-merch {
	position: relative;
	overflow: hidden;
	padding: clamp(var(--hut-space-xl), 5vw, var(--hut-space-3xl));
	border: 1px solid rgb(223 210 191 / 62%);
	border-radius: var(--hut-radius-lg);
	background:
		linear-gradient(135deg, rgb(255 253 248 / 84%), rgb(250 244 232 / 70%)),
		var(--hut-color-surface-raised);
	box-shadow: var(--hut-shadow-warm-sm);
}

.store-section::before,
.store-about-merch::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	border-radius: inherit;
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 68%);
}

.store-section > *,
.store-about-merch > * {
	position: relative;
	z-index: 1;
}

.store-featured-collection {
	display: grid;
	gap: clamp(var(--hut-space-lg), 4vw, var(--hut-space-2xl));
	align-items: center;
	background:
		linear-gradient(145deg, rgb(250 244 232 / 90%), rgb(245 239 230 / 78%)),
		var(--hut-color-paper-050);
}

.store-featured-collection .section-header {
	margin-block-end: 0;
}

.store-featured-collection__media {
	display: grid;
	place-items: center;
	margin: 0;
	padding: clamp(var(--hut-space-md), 3vw, var(--hut-space-xl));
	border: 1px solid rgb(143 74 40 / 18%);
	border-radius: var(--hut-radius-lg);
	background:
		radial-gradient(circle at 50% 42%, rgb(255 253 248 / 86%) 0 34%, rgb(224 108 43 / 10%) 35% 60%, transparent 61%),
		linear-gradient(135deg, rgb(255 253 248 / 72%), rgb(245 239 230 / 70%)),
		var(--hut-color-surface-muted);
	box-shadow: var(--hut-shadow-warm-md);
}

.store-featured-collection__media img {
	width: min(100%, 24rem);
	filter: drop-shadow(0 1.25rem 1.8rem rgb(107 74 47 / 20%));
}

.store-product-grid,
.store-collection-grid,
.store-gift-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
	gap: clamp(var(--hut-space-md), 3vw, var(--hut-space-xl));
}

.storefront-product-card,
.store-collection-card,
.store-gift-card {
	overflow: hidden;
	border: 1px solid var(--hut-color-border);
	border-radius: var(--hut-radius-lg);
	background: var(--hut-color-surface-raised);
	box-shadow: var(--hut-shadow-warm-sm);
	transition:
		border-color var(--hut-transition-duration) var(--hut-transition-timing),
		box-shadow var(--hut-transition-duration-slow) var(--hut-transition-timing),
		transform var(--hut-transition-duration-slow) var(--hut-transition-timing);
}

.storefront-product-card:hover,
.store-collection-card:hover,
.store-collection-card:focus-visible,
.store-gift-card:hover {
	border-color: var(--hut-color-paper-150);
	box-shadow: 0 1.35rem 3rem rgb(13 27 42 / 18%);
	transform: translateY(-5px);
}

.storefront-product-card__link,
.store-collection-card {
	display: flex;
	height: 100%;
	color: inherit;
	text-decoration: none;
}

.storefront-product-card__link {
	flex-direction: column;
}

.storefront-product-card__link:hover,
.store-collection-card:hover {
	color: inherit;
	text-decoration: none;
}

.storefront-product-card__media {
	position: relative;
	display: grid;
	margin: 0;
	padding: var(--hut-space-xs);
	background:
		linear-gradient(135deg, rgb(255 253 248 / 82%), rgb(245 239 230 / 78%)),
		var(--hut-color-surface-muted);
}

.storefront-product-card__media img {
	width: 100%;
	aspect-ratio: 1;
	border: 1px solid var(--hut-color-border);
	border-radius: var(--hut-radius-md);
	background: var(--hut-color-surface);
	object-fit: cover;
	box-shadow: var(--hut-shadow-warm-sm);
}

.storefront-product-card__placeholder {
	display: grid;
	width: 100%;
	aspect-ratio: 1;
	place-items: center;
	border: 1px solid rgb(223 210 191 / 78%);
	border-radius: var(--hut-radius-md);
	background:
		linear-gradient(135deg, rgb(13 27 42 / 94%), rgb(107 74 47 / 72%)),
		var(--hut-color-ink-900);
	color: var(--hut-color-gold-500);
	font-family: var(--hut-font-heading);
	font-size: clamp(var(--hut-font-size-xl), 5vw, var(--hut-font-size-3xl));
	font-weight: 900;
	letter-spacing: 0;
}

.storefront-product-card__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	padding: var(--hut-space-lg);
}

.storefront-product-card__type {
	margin-block-end: var(--hut-space-xs);
	color: var(--hut-color-brown-700);
	font-size: var(--hut-font-size-xs);
	font-weight: 900;
	letter-spacing: 0.08em;
	line-height: var(--hut-line-height-tight);
	text-transform: uppercase;
}

.storefront-product-card__title {
	margin-block-end: var(--hut-space-xs);
	font-size: var(--hut-font-size-lg);
}

.storefront-product-card__description,
.store-gift-card p,
.store-collection-card__description {
	color: var(--hut-color-text-muted);
}

.storefront-product-card__price {
	margin-block-start: auto;
	color: var(--hut-color-accent-strong);
	font-size: var(--hut-font-size-md);
	font-weight: 900;
}

.store-collection-card {
	flex-direction: column;
	gap: var(--hut-space-sm);
	min-height: 13rem;
	padding: var(--hut-space-lg);
	background:
		linear-gradient(135deg, rgb(255 253 248 / 88%), rgb(255 244 232 / 72%)),
		var(--hut-color-surface);
}

.store-collection-card__label {
	color: var(--hut-color-text);
	font-family: var(--hut-font-heading);
	font-size: var(--hut-font-size-lg);
	font-weight: 800;
	line-height: var(--hut-line-height-heading);
}

.store-collection-card__description {
	margin-block-end: 0;
}

.store-promo-split {
	display: grid;
	gap: clamp(var(--hut-space-lg), 4vw, var(--hut-space-2xl));
	align-items: center;
	background:
		linear-gradient(135deg, rgb(20 29 31 / 96%), rgb(107 74 47 / 82%)),
		var(--hut-color-ink-900);
	color: rgb(255 253 248 / 78%);
}

.store-promo-split h2,
.store-promo-split .eyebrow {
	color: var(--hut-color-paper-000);
}

.store-promo-split h2 {
	max-width: 13ch;
	font-size: clamp(var(--hut-font-size-2xl), 5vw, 4.25rem);
	line-height: 0.98;
}

.store-promo-split p:not(.eyebrow) {
	max-width: 42rem;
	font-size: var(--hut-font-size-md);
}

.store-promo-split__panel {
	display: grid;
	min-height: 18rem;
	place-items: center;
	padding: var(--hut-space-xl);
	border: 1px solid rgb(255 253 248 / 14%);
	border-radius: var(--hut-radius-lg);
	background:
		radial-gradient(circle at 50% 42%, rgb(255 193 7 / 18%), transparent 48%),
		linear-gradient(145deg, rgb(255 253 248 / 10%), rgb(255 253 248 / 4%));
	text-align: center;
}

.store-promo-split__panel span,
.store-promo-split__panel strong {
	display: block;
	font-family: var(--hut-font-heading);
	line-height: 1;
}

.store-promo-split__panel span {
	color: var(--hut-color-gold-500);
	font-size: var(--hut-font-size-lg);
	font-weight: 850;
	text-transform: uppercase;
}

.store-promo-split__panel strong {
	max-width: 10ch;
	color: var(--hut-color-paper-000);
	font-size: clamp(var(--hut-font-size-2xl), 6vw, 4.8rem);
}

.store-gift-card {
	padding: var(--hut-space-lg);
}

.store-gift-card h3,
.store-gift-card p {
	margin-block-end: var(--hut-space-xs);
}

.store-newsletter {
	padding: 0;
}

.store-ecosystem-cta {
	display: grid;
	gap: var(--hut-space-lg);
	align-items: center;
	background:
		linear-gradient(135deg, rgb(255 253 248 / 88%), rgb(245 239 230 / 76%)),
		var(--hut-color-surface-raised);
}

.store-ecosystem-cta h2 {
	max-width: 18ch;
	margin-block: var(--hut-space-xs) var(--hut-space-sm);
	font-size: clamp(var(--hut-font-size-xl), 3vw, var(--hut-font-size-2xl));
	line-height: 1.02;
	text-wrap: balance;
}

.store-ecosystem-cta p:not(.eyebrow) {
	max-width: 42rem;
	margin: 0;
	color: var(--hut-color-text-muted);
	font-size: var(--hut-font-size-md);
}

.store-newsletter .community-newsletter {
	isolation: isolate;
	overflow: hidden;
	border-color: rgb(255 253 248 / 28%);
	background-image:
		linear-gradient(90deg, rgb(13 27 42 / 90%) 0%, rgb(13 27 42 / 76%) 54%, rgb(13 27 42 / 48%) 100%),
		url("../../images/content/tuck-in-coffee-shop.jpg");
	background-position: center;
	background-size: cover;
	box-shadow: var(--hut-shadow-warm-sm);
	color: var(--hut-color-paper-000);
}

.store-newsletter .community-newsletter::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	border-radius: inherit;
	box-shadow:
		inset 0 1px 0 rgb(255 255 255 / 18%),
		inset 0 0 0 999px rgb(13 27 42 / 8%);
}

.store-newsletter .community-newsletter__content,
.store-newsletter .community-newsletter__panel {
	position: relative;
	z-index: 1;
}

.store-newsletter .community-newsletter__title,
.store-newsletter .community-newsletter__description,
.store-newsletter .community-newsletter__benefits {
	color: var(--hut-color-paper-000);
	text-shadow: 0 0.15rem 0.85rem rgb(0 0 0 / 34%);
}

.store-newsletter .community-newsletter .eyebrow {
	color: var(--hut-color-gold-500);
	text-shadow: 0 0.15rem 0.85rem rgb(0 0 0 / 32%);
}

.store-newsletter .community-newsletter__benefits li::before {
	background: rgb(255 253 248 / 18%);
	color: var(--hut-color-paper-000);
}

.store-newsletter .community-newsletter__panel {
	border-color: rgb(255 253 248 / 18%);
	background: rgb(13 27 42 / 24%);
	box-shadow: none;
	backdrop-filter: blur(0.15rem);
}

.store-newsletter .community-newsletter__field label {
	color: var(--hut-color-paper-000);
	text-shadow: 0 0.15rem 0.85rem rgb(0 0 0 / 34%);
}

.store-newsletter .community-newsletter__field input {
	border-color: rgb(255 253 248 / 42%);
	background: rgb(255 253 248 / 94%);
	color: var(--hut-color-ink-900);
}

.store-newsletter .community-newsletter__field input:focus {
	border-color: var(--hut-color-gold-500);
	box-shadow: 0 0 0 0.2rem rgb(255 193 7 / 22%);
}

@media (min-width: 48rem) {
	.store-featured-collection,
	.store-promo-split {
		grid-template-columns: minmax(0, 1.15fr) minmax(18rem, 0.85fr);
	}

	.store-ecosystem-cta {
		grid-template-columns: minmax(0, 1fr) auto;
	}
}

@media (max-width: 47.99rem) {
	.store-home .hero-component {
		min-height: 40rem;
	}

	.store-home .hero-component::before {
		background:
			linear-gradient(0deg, rgb(13 27 42 / 94%) 0%, rgb(13 27 42 / 78%) 54%, rgb(13 27 42 / 28%) 100%);
	}
}

@media (prefers-reduced-motion: reduce) {
	.storefront-product-card:hover,
	.store-collection-card:hover,
	.store-collection-card:focus-visible,
	.store-gift-card:hover {
		transform: none;
	}
}
