section[data-module="home-product"] {
	position: relative;
	width: 100%;
	overflow: hidden;
	padding: 80px 0 90px;
	background: #ffffff;
	font-family: "Assistant", sans-serif;
}

section[data-module="home-product"] * {
	box-sizing: border-box;
}

/* ==============================
   Heading
============================== */

section[data-module="home-product"] .home-product-heading {
	position: relative;
	width: 100%;
	max-width: 1050px;
	margin: 0 auto 55px;
	padding: 0 25px;
	text-align: center;
	opacity: 0;
	transform: translateY(45px);
	transition:
		opacity 0.8s ease,
		transform 0.8s ease;
}

section[data-module="home-product"].is-visible .home-product-heading {
	opacity: 1;
	transform: translateY(0);
}

section[data-module="home-product"] .home-product-label {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 26px;
	overflow: hidden;
	color: #111111;
	font-size: 22px;
	font-weight: 400;
	line-height: 1.2;
}

section[data-module="home-product"] .home-product-label-box {
	position: relative;
	width: 44px;
	height: 44px;
	display: inline-block;
	margin-right: -21px;
	overflow: hidden;
	background: #f1b209;
	z-index: 1;
	transform: scaleX(0);
	transform-origin: left center;
}

section[data-module="home-product"].is-visible .home-product-label-box {
	animation: homeProductBoxReveal 0.55s ease 0.25s forwards;
}

section[data-module="home-product"] .home-product-label-box::before {
	content: "";
	position: absolute;
	top: 0;
	left: -120%;
	width: 100%;
	height: 100%;
	background: linear-gradient(
		90deg,
		rgba(255, 255, 255, 0) 0%,
		rgba(255, 255, 255, 0.55) 45%,
		rgba(255, 255, 255, 0) 100%
	);
	z-index: 2;
	transform: skewX(-18deg);
}

section[data-module="home-product"].is-visible .home-product-label-box::before {
	animation: homeProductHighlight 0.85s ease 0.45s forwards;
}

section[data-module="home-product"] .home-product-label-text {
	position: relative;
	z-index: 2;
}

section[data-module="home-product"] .home-product-title {
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
	color: #000000;
	font-size: 50px;
	font-weight: 700;
	line-height: 1.08;
	text-align: center;
}

@keyframes homeProductBoxReveal {
	0% {
		transform: scaleX(0);
	}

	100% {
		transform: scaleX(1);
	}
}

@keyframes homeProductHighlight {
	0% {
		left: -120%;
	}

	100% {
		left: 120%;
	}
}

/* ==============================
   Slider
============================== */

section[data-module="home-product"] .home-product-wrap {
	width: 100%;
	margin: 0 auto;
	padding: 0 25px;
}

section[data-module="home-product"] .home-product-swiper {
	position: relative;
	width: 100%;
	padding: 0 0 58px;
	overflow: hidden;
}

section[data-module="home-product"] .swiper-wrapper {
	align-items: stretch;
}

section[data-module="home-product"] .home-product-card {
	position: relative;
	height: 500px;
	display: block;
	overflow: hidden;
	background: #eeeeee;
	color: inherit;
	text-decoration: none;
	opacity: 0;
	transform: translateY(35px);
	transition:
		opacity 0.75s ease,
		transform 0.75s ease;
}

section[data-module="home-product"].is-visible .home-product-card {
	opacity: 1;
	transform: translateY(0);
}

section[data-module="home-product"].is-visible .home-product-card:nth-child(1) {
	transition-delay: 0.08s;
}

section[data-module="home-product"].is-visible .home-product-card:nth-child(2) {
	transition-delay: 0.2s;
}

section[data-module="home-product"].is-visible .home-product-card:nth-child(3) {
	transition-delay: 0.32s;
}

section[data-module="home-product"].is-visible .home-product-card:nth-child(4) {
	transition-delay: 0.44s;
}

section[data-module="home-product"].is-visible .home-product-card:nth-child(5) {
	transition-delay: 0.56s;
}

section[data-module="home-product"] .home-product-card:hover,
section[data-module="home-product"] .home-product-card:focus {
	color: inherit;
	text-decoration: none;
}

/* ==============================
   Image
============================== */

section[data-module="home-product"] .home-product-image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	z-index: 1;
}

section[data-module="home-product"] .home-product-image img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	object-position: center;
	transition:
		transform 0.65s ease,
		filter 0.65s ease;
}

section[data-module="home-product"] .home-product-card:hover .home-product-image img {
	transform: scale(1.06);
	filter: brightness(0.94);
}

/* ==============================
   Caption
============================== */

section[data-module="home-product"] .home-product-caption {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 82px;
	min-height: 61px;
	height: auto;
	display: flex;
	align-items: flex-end;
	overflow: visible;
	z-index: 3;
	transition:
		width 0.45s ease,
		min-height 0.45s ease;
}

section[data-module="home-product"] .home-product-info {
	width: 0;
	min-height: 61px;
	height: auto;
	overflow: hidden;
	background: #ffffff;
	transition:
		width 0.45s ease,
		min-height 0.45s ease;
}

section[data-module="home-product"] .home-product-text {
	width: 100%;
	padding: 0;
	overflow: hidden;
	opacity: 0;
	visibility: hidden;
	transform: translateY(12px);
	transition:
		opacity 0.35s ease 0.08s,
		visibility 0.35s ease 0.08s,
		transform 0.35s ease 0.08s;
}

section[data-module="home-product"] .home-product-arrow {
	position: relative;
	width: 82px;
	min-width: 82px;
	height: 61px;
	display: flex;
	align-items: center;
	justify-content: center;
	align-self: flex-end;
	overflow: hidden;
	background: #ffffff;
	transition: background 0.35s ease;
}

section[data-module="home-product"] .home-product-arrow::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(
		120deg,
		rgba(255, 255, 255, 0) 0%,
		rgba(255, 255, 255, 0.35) 45%,
		rgba(255, 255, 255, 0) 80%
	);
	transform: translateX(-120%);
	transition: transform 0.6s ease;
}

section[data-module="home-product"] .home-product-arrow img {
	position: relative;
	width: 14px;
	height: auto;
	display: block;
	z-index: 2;
	filter:
		brightness(0)
		saturate(100%)
		invert(68%)
		sepia(98%)
		saturate(730%)
		hue-rotate(359deg)
		brightness(99%)
		contrast(92%);
	transition:
		transform 0.35s ease,
		filter 0.35s ease;
}

section[data-module="home-product"] .home-product-card:hover .home-product-caption {
	width: 390px;
	min-height: 165px;
}

section[data-module="home-product"] .home-product-card:hover .home-product-info {
	width: 308px;
	min-height: 165px;
	background: #ffffff;
}

section[data-module="home-product"] .home-product-card:hover .home-product-text {
	height: auto;
	padding: 24px 24px 24px 22px;
	overflow: visible;
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

section[data-module="home-product"] .home-product-card:hover .home-product-arrow {
	background: #f1b209;
}

section[data-module="home-product"] .home-product-card:hover .home-product-arrow::before {
	transform: translateX(120%);
}

section[data-module="home-product"] .home-product-card:hover .home-product-arrow img {
	filter: none;
	transform: translateX(4px);
}

section[data-module="home-product"] .home-product-text h3 {
	margin: 0 0 10px;
	color: #000000;
	font-size: 25px;
	font-weight: 700;
	line-height: 1.2;
}

section[data-module="home-product"] .home-product-text p {
	margin: 0;
	color: #111111;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.34;
}

section[data-module="home-product"] .home-product-description-desktop {
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
}

section[data-module="home-product"] .home-product-description-mobile {
	display: none;
}

/* ==============================
   Desktop Drag Hint
============================== */

section[data-module="home-product"] .home-product-next-hint {
	position: absolute;
	top: calc(50% - 29px);
	right: 18px;
	z-index: 20;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 11px;
	min-width: 112px;
	height: 52px;
	padding: 0 17px;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 0;
	background: rgba(255, 255, 255, 0.92);
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.11);
	backdrop-filter: blur(7px);
	-webkit-backdrop-filter: blur(7px);
	color: #111111;
	font-family: "Assistant", sans-serif;
	cursor: pointer;
	opacity: 1;
	visibility: visible;
	transform: translateY(-50%);
	transition:
		background 0.3s ease,
		border-color 0.3s ease,
		box-shadow 0.3s ease,
		opacity 0.3s ease,
		visibility 0.3s ease,
		transform 0.3s ease;
}

section[data-module="home-product"] .home-product-next-hint-text {
	color: #111111;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

section[data-module="home-product"] .home-product-next-hint img {
	width: 27px;
	height: auto;
	display: block;
	object-fit: contain;
	filter: brightness(0);
	animation: homeProductDragArrow 1.15s ease-in-out infinite;
}

section[data-module="home-product"] .home-product-next-hint:hover {
	border-color: #f1b209;
	background: #f1b209;
	box-shadow: 0 12px 30px rgba(241, 178, 9, 0.28);
	transform: translateY(-50%) translateX(3px);
}

section[data-module="home-product"] .home-product-next-hint:hover img {
	animation-play-state: paused;
	transform: translateX(4px);
}

section[data-module="home-product"] .home-product-next-hint.is-hidden {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(-50%) translateX(16px);
}

@keyframes homeProductDragArrow {
	0%,
	100% {
		transform: translateX(-3px);
	}

	50% {
		transform: translateX(6px);
	}
}

/* ==============================
   Mobile Pagination
============================== */

section[data-module="home-product"] .home-product-pagination {
	display: none;
	align-items: center;
	justify-content: center;
	margin-top: 28px;
}

section[data-module="home-product"] .home-product-pagination-mobile {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	color: #111111;
	font-size: 15px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.05em;
}

section[data-module="home-product"] .home-product-mobile-current {
	color: #f1b209;
}

section[data-module="home-product"] .home-product-mobile-total {
	color: #111111;
}

section[data-module="home-product"] .home-product-pagination-slash {
	color: #b5b5b5;
	font-weight: 400;
}

/* ==============================
   Builder Mode
============================== */

.fl-builder-edit section[data-module="home-product"] .home-product-heading,
.fl-builder-is-showing-toolbar section[data-module="home-product"] .home-product-heading {
	opacity: 1 !important;
	transform: none !important;
	transition: none !important;
	animation: none !important;
}

.fl-builder-edit section[data-module="home-product"] .home-product-label-box,
.fl-builder-is-showing-toolbar section[data-module="home-product"] .home-product-label-box {
	transform: scaleX(1) !important;
	animation: none !important;
}

.fl-builder-edit section[data-module="home-product"] .home-product-label-box::before,
.fl-builder-is-showing-toolbar section[data-module="home-product"] .home-product-label-box::before {
	display: none !important;
}

.fl-builder-edit section[data-module="home-product"] .home-product-card,
.fl-builder-is-showing-toolbar section[data-module="home-product"] .home-product-card {
	opacity: 1 !important;
	transform: none !important;
	transition: none !important;
	animation: none !important;
}

/* ==============================
   Laptop
============================== */

@media (max-width: 1399px) {

	section[data-module="home-product"] .home-product-title {
		font-size: 46px;
	}

	section[data-module="home-product"] .home-product-card {
		height: 455px;
	}

	section[data-module="home-product"] .home-product-card:hover .home-product-caption {
		width: 365px;
		min-height: 160px;
	}

	section[data-module="home-product"] .home-product-card:hover .home-product-info {
		width: 283px;
		min-height: 160px;
	}

	section[data-module="home-product"] .home-product-text h3 {
		font-size: 23px;
	}

	section[data-module="home-product"] .home-product-text p {
		font-size: 17px;
	}

	section[data-module="home-product"] .home-product-next-hint {
		right: 12px;
		min-width: 104px;
		height: 48px;
		padding: 0 14px;
	}

}

/* ==============================
   Tablet
============================== */

@media (max-width: 991px) {

	section[data-module="home-product"] {
		padding: 70px 0 80px;
	}

	section[data-module="home-product"] .home-product-title {
		font-size: 42px;
	}

	section[data-module="home-product"] .home-product-card {
		height: 430px;
	}

	section[data-module="home-product"] .home-product-next-hint {
		min-width: 96px;
		height: 46px;
		padding: 0 12px;
	}

	section[data-module="home-product"] .home-product-next-hint-text {
		font-size: 11px;
	}

	section[data-module="home-product"] .home-product-next-hint img {
		width: 24px;
	}

}

/* ==============================
   Mobile
============================== */

@media (max-width: 767px) {

	section[data-module="home-product"] {
		padding: 60px 0 65px;
	}

	section[data-module="home-product"] .home-product-heading {
		margin-bottom: 38px;
		padding: 0 22px;
	}

	section[data-module="home-product"] .home-product-label {
		margin-bottom: 20px;
		font-size: 18px;
	}

	section[data-module="home-product"] .home-product-label-box {
		width: 38px;
		height: 38px;
		margin-right: -17px;
	}

	section[data-module="home-product"] .home-product-title {
		font-size: 36px;
		line-height: 1.12;
	}

	section[data-module="home-product"] .home-product-wrap {
		padding: 0 22px;
	}

	section[data-module="home-product"] .home-product-swiper {
		padding-bottom: 40px;
	}

	section[data-module="home-product"] .home-product-card {
		height: 390px;
	}

	section[data-module="home-product"] .home-product-caption,
	section[data-module="home-product"] .home-product-card:hover .home-product-caption {
		width: calc(100% - 28px);
		min-height: 128px;
	}

	section[data-module="home-product"] .home-product-info,
	section[data-module="home-product"] .home-product-card:hover .home-product-info {
		width: calc(100% - 70px);
		min-height: 128px;
		background: #ffffff;
	}

	section[data-module="home-product"] .home-product-text,
	section[data-module="home-product"] .home-product-card:hover .home-product-text {
		height: auto;
		padding: 17px 16px;
		overflow: hidden;
		opacity: 1;
		visibility: visible;
		transform: none;
	}

	section[data-module="home-product"] .home-product-arrow,
	section[data-module="home-product"] .home-product-card:hover .home-product-arrow {
		width: 70px;
		min-width: 70px;
		height: 58px;
		background: #f1b209;
	}

	section[data-module="home-product"] .home-product-arrow img,
	section[data-module="home-product"] .home-product-card:hover .home-product-arrow img {
		width: 13px;
		filter: none;
	}

	section[data-module="home-product"] .home-product-text h3 {
		margin-bottom: 7px;
		font-size: 21px;
	}

	section[data-module="home-product"] .home-product-description-desktop {
		display: none;
	}

	section[data-module="home-product"] .home-product-description-mobile {
		display: -webkit-box;
		overflow: hidden;
		font-size: 14px;
		line-height: 1.36;
		-webkit-line-clamp: 3;
		-webkit-box-orient: vertical;
	}

	section[data-module="home-product"] .home-product-next-hint {
		display: none;
	}

	section[data-module="home-product"] .home-product-pagination {
		display: flex;
	}

}

/* ==============================
   Small Mobile
============================== */

@media (max-width: 480px) {

	section[data-module="home-product"] .home-product-heading {
		margin-bottom: 32px;
		padding: 0 20px;
	}

	section[data-module="home-product"] .home-product-title {
		font-size: 32px;
	}

	section[data-module="home-product"] .home-product-wrap {
		padding: 0 20px;
	}

	section[data-module="home-product"] .home-product-card {
		height: 350px;
	}

	section[data-module="home-product"] .home-product-caption,
	section[data-module="home-product"] .home-product-card:hover .home-product-caption {
		width: calc(100% - 18px);
		min-height: 118px;
	}

	section[data-module="home-product"] .home-product-info,
	section[data-module="home-product"] .home-product-card:hover .home-product-info {
		width: calc(100% - 64px);
		min-height: 118px;
	}

	section[data-module="home-product"] .home-product-text,
	section[data-module="home-product"] .home-product-card:hover .home-product-text {
		padding: 15px;
	}

	section[data-module="home-product"] .home-product-arrow,
	section[data-module="home-product"] .home-product-card:hover .home-product-arrow {
		width: 64px;
		min-width: 64px;
		height: 54px;
	}

	section[data-module="home-product"] .home-product-text h3 {
		font-size: 20px;
	}

	section[data-module="home-product"] .home-product-description-mobile {
		font-size: 13px;
		line-height: 1.34;
		-webkit-line-clamp: 3;
	}

}

/* ==============================
   Reduced Motion
============================== */

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

	section[data-module="home-product"] .home-product-heading,
	section[data-module="home-product"] .home-product-card,
	section[data-module="home-product"] .home-product-label-box,
	section[data-module="home-product"] .home-product-label-box::before,
	section[data-module="home-product"] .home-product-image img,
	section[data-module="home-product"] .home-product-caption,
	section[data-module="home-product"] .home-product-info,
	section[data-module="home-product"] .home-product-text,
	section[data-module="home-product"] .home-product-arrow,
	section[data-module="home-product"] .home-product-arrow::before,
	section[data-module="home-product"] .home-product-arrow img,
	section[data-module="home-product"] .home-product-next-hint,
	section[data-module="home-product"] .home-product-next-hint img {
		animation: none !important;
		transition: none !important;
	}

	section[data-module="home-product"] .home-product-heading,
	section[data-module="home-product"] .home-product-card {
		opacity: 1;
		transform: none;
	}

	section[data-module="home-product"] .home-product-label-box {
		transform: scaleX(1);
	}

}