/**
 * Sticky Cart — plovoucí lišta „přidat do košíku" u spodního okraje.
 * Mobile-first. Tokeny z design systému (kouskysveta-ds-tokens).
 */

.ks-sticky-cart {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 9990;
	background: var(--color-bg, #fff);
	box-shadow: var(--shadow-l, 0 -10px 30px rgba(0, 0, 0, 0.1));
	border-top: 1px solid rgba(0, 0, 0, 0.08);
	padding-bottom: env(safe-area-inset-bottom, 0);
	transform: translateY(110%);
	transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1);
	will-change: transform;
}

.ks-sticky-cart[hidden] {
	display: none;
}

.ks-sticky-cart.is-visible {
	transform: translateY(0);
}

.ks-sticky-cart__inner {
	display: flex;
	align-items: center;
	gap: var(--s-sm, 0.75rem);
	max-width: 1100px;
	margin: 0 auto;
	padding: var(--s-xs, 0.5rem) var(--s-md, 1rem);
}

.ks-sticky-cart__thumb {
	width: 44px;
	height: 44px;
	object-fit: cover;
	border-radius: var(--radius-s, 8px);
	flex: 0 0 auto;
	background: var(--color-primary-light, #f3e0cd);
}

.ks-sticky-cart__info {
	display: flex;
	flex-direction: column;
	min-width: 0;
	flex: 1 1 auto;
	line-height: 1.2;
}

.ks-sticky-cart__title {
	font-family: var(--font-body, sans-serif);
	font-weight: 600;
	font-size: 0.9rem;
	color: var(--color-text, #000);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.ks-sticky-cart__price {
	font-family: var(--font-display, sans-serif);
	font-size: 1rem;
	color: var(--color-text, #000);
}

.ks-sticky-cart__price del {
	opacity: 0.5;
	font-size: 0.85em;
	margin-right: 0.35em;
}

.ks-sticky-cart__btn {
	flex: 0 0 auto;
	font-family: var(--font-display, sans-serif);
	font-weight: 600;
	color: var(--color-text-invert, #fff);
	background: var(--color-primary, #d2843d);
	border: 0;
	border-radius: var(--radius-xl, 50px);
	padding: 0.7em 1.3em;
	font-size: 0.95rem;
	cursor: pointer;
	transition: background 0.15s ease;
	white-space: nowrap;
}

.ks-sticky-cart__btn:hover,
.ks-sticky-cart__btn:focus-visible {
	background: var(--color-primary-hover, #c6782f);
}

.ks-sticky-cart__btn:disabled {
	opacity: 0.55;
	cursor: not-allowed;
}

/* Na širších obrazovkách lišta zhubne a tlačítko se nafoukne na čitelnou šířku. */
@media (min-width: 768px) {
	.ks-sticky-cart__title {
		font-size: 1rem;
	}
	.ks-sticky-cart__thumb {
		width: 52px;
		height: 52px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ks-sticky-cart {
		transition: none;
	}
}
