/**
 * Mobile sticky price + CTA — single product (max-width: 1023px).
 * Motion tuned to feel steady, not flashy.
 *
 * @package NewTechPrice
 */

.ntp-sticky-price-bar {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: var(--ntp-z-search-overlay, 60);
	transform: translate3d(0, 108%, 0);
	opacity: 0;
	pointer-events: none;
	will-change: transform, opacity;
	transition:
		transform 0.55s cubic-bezier(0.16, 1, 0.3, 1),
		opacity 0.45s cubic-bezier(0.16, 1, 0.3, 1);
	padding-bottom: env(safe-area-inset-bottom, 0);
	border-top: 1px solid color-mix(in srgb, var(--ntp-border-color, #dfe4ea) 92%, transparent);
	background: color-mix(in srgb, var(--ntp-bg-color, #fff) 97%, transparent);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	box-shadow: 0 -6px 20px color-mix(in srgb, var(--ntp-text-color, #2f3542) 5%, transparent);
}

[data-theme='dark'] .ntp-sticky-price-bar {
	border-top-color: color-mix(in srgb, var(--ntp-border-color, #334155) 85%, transparent);
	background: color-mix(in srgb, var(--ntp-bg-color, #0f172a) 96%, transparent);
	box-shadow: 0 -8px 28px color-mix(in srgb, var(--ntp-bg-color, #0f172a) 28%, transparent);
}

.ntp-sticky-price-bar--visible {
	transform: translate3d(0, 0, 0);
	opacity: 1;
	pointer-events: auto;
}

@media (prefers-reduced-motion: reduce) {
	.ntp-sticky-price-bar {
		transition: opacity 0.2s ease;
		transform: translate3d(0, 0, 0);
	}

	.ntp-sticky-price-bar:not(.ntp-sticky-price-bar--visible) {
		opacity: 0;
		pointer-events: none;
	}
}

/* Matches Tailwind lg:hidden on template — bar off from 1024px up. */
@media (min-width: 1024px) {
	.ntp-sticky-price-bar {
		display: none !important;
	}
}

.ntp-single-mobile--sticky-open {
	padding-bottom: calc(5.25rem + env(safe-area-inset-bottom, 0px));
}

@media (min-width: 1024px) {
	.ntp-single-mobile--sticky-open {
		padding-bottom: inherit;
	}
}

.ntp-sticky-price-bar .js-price-official {
	color: var(--ntp-accent-color, #00a8ff);
}

.ntp-sticky-price-bar__alert {
	border-radius: 0.75rem;
}

.ntp-sticky-price-bar__alert-panel:not(.hidden) {
	display: block;
}

.ntp-sticky-price-bar__alert-msg--ok {
	color: var(--ntp-status-success-fg, #16a34a);
}

.ntp-sticky-price-bar__alert-msg--err {
	color: var(--ntp-status-danger-fg, #dc2626);
}
