.jhll-home-campaign-card {
	--jhll-gold: #ffe29a;
	--jhll-deep: #190d07;
	box-sizing: border-box;
	position: fixed;
	top: 50%;
	left: 50%;
	z-index: 160;
	width: min(94vw, 600px);
	margin: 0;
	padding: 0;
	transform: translate(-50%, -50%);
}

.jhll-home-campaign-card *,
.jhll-home-campaign-card *::before,
.jhll-home-campaign-card *::after {
	box-sizing: border-box;
}

.jhll-home-campaign-card .screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
}

.jhll-home-campaign-card__visual {
	position: relative;
	aspect-ratio: 600 / 410;
	overflow: hidden;
	border-radius: clamp(18px, 2vw, 36px);
	background: #210d06 url('../images/jhll-home-campaign-card.webp') center / 100% 100% no-repeat;
	box-shadow: 0 0 0 100vmax rgba(16, 7, 3, .42), 0 20px 50px rgba(24, 4, 0, .55);
}

.jhll-home-campaign-card__close,
.jhll-home-campaign-card__arrow,
.jhll-home-campaign-card__cta {
	font: inherit;
	-webkit-tap-highlight-color: transparent;
}

.jhll-home-campaign-card__preview-notice {
	position: absolute;
	top: 3.5%;
	left: 4.2%;
	z-index: 4;
	margin: 0;
	padding: .35em .65em;
	border: 1px solid rgba(255, 231, 160, .88);
	border-radius: 999px;
	background: rgba(28, 12, 5, .76);
	color: #fff0bd;
	font-size: clamp(9px, 1.2vw, 16px);
	font-weight: 700;
	line-height: 1.2;
}

.jhll-home-campaign-card__close {
	position: absolute;
	top: 4.2%;
	right: 3.5%;
	z-index: 3;
	width: 23.3%;
	height: 9.6%;
	border: 0;
	border-radius: 1.2vw;
	background: transparent;
	color: #ffe6a3;
	cursor: pointer;
}

.jhll-home-campaign-card__close:focus-visible,
.jhll-home-campaign-card__arrow:focus-visible,
.jhll-home-campaign-card__product:focus-visible,
.jhll-home-campaign-card__cta:focus-visible {
	outline: 3px solid #fff;
	outline-offset: 3px;
}

.jhll-home-campaign-card__carousel {
	position: absolute;
	top: 46.4%;
	left: 1.5%;
	right: 1.5%;
	height: 34.3%;
	display: block;
	align-items: center;
	z-index: 2;
}

.jhll-home-campaign-card__carousel::before {
	content: none;
}

.jhll-home-campaign-card__track {
	position: relative;
	height: 100%;
	z-index: 1;
	display: flex;
	align-items: center;
	gap: 1.8%;
	margin: 0 31.5% 0 8.6%;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	overscroll-behavior-inline: contain;
	padding: 3.6% 1.1%;
}

.jhll-home-campaign-card__track::-webkit-scrollbar {
	display: none;
}

.jhll-home-campaign-card__product {
	position: relative;
	display: block;
	flex: 0 0 calc((100% - 3.6%) / 3);
	aspect-ratio: 1 / 1;
	min-width: 0;
	overflow: hidden;
	border: 2px solid rgba(255, 226, 145, .96);
	border-radius: clamp(7px, 1vw, 16px);
	background:
		radial-gradient(circle at 50% 25%, rgba(254, 202, 92, .24), transparent 46%),
		linear-gradient(135deg, #4c1c09, #170b06 74%);
	box-shadow: inset 0 0 0 1px rgba(108, 39, 4, .68), 0 3px 8px rgba(16, 3, 0, .34);
	scroll-snap-align: start;
	transition: transform .18s ease, filter .18s ease;
}

.jhll-home-campaign-card__product::after {
	position: absolute;
	inset: 0;
	pointer-events: none;
	content: '';
	background: linear-gradient(120deg, rgba(255,255,255,.11), transparent 28%, transparent 72%, rgba(248,177,42,.09));
}

.jhll-home-campaign-card__product:hover {
	transform: translateY(-2px);
	filter: brightness(1.08);
}

.jhll-home-campaign-card__product img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 1.5%;
}

.jhll-home-campaign-card__arrow {
	position: absolute;
	top: 50%;
	z-index: 3;
	width: 9.8%;
	aspect-ratio: 1;
	padding: 0;
	border: 0;
	border-radius: 50%;
	border: 0;
	background: transparent;
	cursor: pointer;
	transform: translateY(-50%);
}

.jhll-home-campaign-card__arrow--previous {
	left: .1%;
}

.jhll-home-campaign-card__arrow--next {
	right: 8.6%;
}

.jhll-home-campaign-card__cta {
	position: absolute;
	bottom: 5.4%;
	left: 18.2%;
	right: 20.2%;
	z-index: 3;
	display: block;
	height: 10.9%;
	border-radius: 1.2vw;
	text-decoration: none;
	cursor: pointer;
}

@media (max-width: 700px) {
	.jhll-home-campaign-card {
		width: min(96vw, 105vh);
	}

	.jhll-home-campaign-card__visual {
		border-radius: 15px;
	}

	.jhll-home-campaign-card__product {
		border-width: 1.5px;
		border-radius: 7px;
	}

}

@media (prefers-reduced-motion: reduce) {
	.jhll-home-campaign-card__product {
		transition: none;
	}

	.jhll-home-campaign-card__track {
		scroll-behavior: auto;
	}
}
