/* Scroll reveal */
.kdtp-reveal {
	opacity: 0;
	transform: translateY(22px);
	transition: opacity 0.55s ease, transform 0.55s ease;
}

.kdtp-reveal.is-inview {
	opacity: 1;
	transform: none;
}

.kdtp-product-card.kdtp-reveal,
.kdtp-category-card.kdtp-reveal,
.kdtp-promo-card.kdtp-reveal,
.kdtp-news-card.kdtp-reveal,
.kdtp-commitment.kdtp-reveal {
	transition-duration: 0.45s;
}

/* Soft hover polish */
.kdtp-btn--primary {
	transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.kdtp-btn--primary:hover {
	transform: translateY(-1px);
	box-shadow: 0 8px 16px rgba(227, 30, 36, 0.25);
}

.kdtp-hero__feature-icon {
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.kdtp-hero__features li:hover .kdtp-hero__feature-icon {
	transform: translateY(-3px) scale(1.04);
	box-shadow: 0 12px 22px rgba(227, 30, 36, 0.32);
}

/* Back to top */
.kdtp-back-top {
	position: fixed;
	right: 22px;
	bottom: 22px;
	z-index: 180;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--kdtp-primary);
	color: #fff !important;
	font-size: 1.2rem;
	font-weight: 700;
	box-shadow: 0 10px 24px rgba(227, 30, 36, 0.35);
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease, background 0.2s ease;
}

.kdtp-back-top.is-visible {
	opacity: 1;
	visibility: visible;
	transform: none;
}

.kdtp-back-top:hover {
	background: var(--kdtp-primary-dark);
	color: #fff !important;
}

.kdtp-back-top[hidden] {
	display: none !important;
}

@media (prefers-reduced-motion: reduce) {
	.kdtp-reveal,
	.kdtp-why__list li,
	.kdtp-why__frame,
	.kdtp-back-top,
	.kdtp-btn--primary,
	.kdtp-hero__feature-icon {
		transition: none !important;
	}

	.kdtp-reveal,
	.kdtp-why__list li,
	.kdtp-why__frame {
		opacity: 1 !important;
		transform: none !important;
	}
}
