/*
 * Las Vegas Deals — Comparison Sticky CTA
 * Desktop-only floating comparison CTA
 */

.lvd-comparison-sticky-cta {
	position: fixed;
	left: 50%;
	bottom: 18px;
	z-index: 1000;

	/* Compact: size to its actual contents */
	width: max-content;
	max-width: calc(100vw - 48px);
	box-sizing: border-box;

	display: flex;
	align-items: center;
	gap: 12px;

	padding: 9px 42px 9px 14px;

	/* Clear floating-card separation */
	background: #ffffff;
	border: 1px solid #dedede;
	border-top: 3px solid var(--lvd-gold, #c6a040);
	border-radius: 10px;

	box-shadow:
		0 8px 26px rgba(0, 0, 0, 0.16),
		0 0 0 1px rgba(198, 160, 64, 0.06);

	transform: translate(-50%, calc(100% + 40px));
	opacity: 0;
	visibility: hidden;

	transition:
		transform 180ms ease,
		opacity 180ms ease,
		visibility 180ms ease;
}

.lvd-comparison-sticky-cta.is-visible {
	transform: translate(-50%, 0);
	opacity: 1;
	visibility: visible;
}


/* ---------------------------------------------------------
 * Label
 * --------------------------------------------------------- */

.lvd-comparison-sticky-cta__label {
	flex: 0 0 auto;

	font-size: 0.88rem;
	font-weight: 700;
	line-height: 1.2;

	/* Slight gold tone ties it to the actionable element */
	color: #6b5600;

	white-space: nowrap;
}


/* ---------------------------------------------------------
 * CTA buttons
 * --------------------------------------------------------- */

.lvd-comparison-sticky-cta__buttons {
	display: flex;
	align-items: center;
	gap: 8px;

	flex: 0 0 auto;
}

.lvd-comparison-sticky-cta__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-height: 38px;
	padding: 8px 18px;

	/* Match existing comparison CTA appearance */
	border-radius: 999px;
	background: #575760;
	color: #ffffff !important;

	font-size: 0.86rem;
	font-weight: 500;
	line-height: 1.2;

	white-space: nowrap;
	text-align: center;
	text-decoration: none !important;

	transition:
		background 120ms ease,
		transform 120ms ease;
}

@media (hover: hover) {

	.lvd-comparison-sticky-cta__button:hover {
		background: #45454d;
		transform: translateY(-1px);
	}
}


/* ---------------------------------------------------------
 * Dismiss button
 * --------------------------------------------------------- */

.lvd-comparison-sticky-cta__close {
	position: absolute;
	top: 50%;
	right: 9px;

	width: 26px;
	height: 26px;

	display: flex;
	align-items: center;
	justify-content: center;

	padding: 0;
	border: 0;
	border-radius: 50%;

	background: transparent;
	color: #666;

	font-size: 20px;
	font-weight: 400;
	line-height: 1;

	cursor: pointer;

	transform: translateY(-50%);
}

.lvd-comparison-sticky-cta__close:hover {
	background: #f1f1f1;
	color: #111;
}


/* ---------------------------------------------------------
 * Keyboard accessibility
 * --------------------------------------------------------- */

.lvd-comparison-sticky-cta__button:focus-visible,
.lvd-comparison-sticky-cta__close:focus-visible {
	outline: 2px solid #111;
	outline-offset: 2px;
}


/* ---------------------------------------------------------
 * Desktop only for Version 1
 * --------------------------------------------------------- */

@media (max-width: 1024px) {

	.lvd-comparison-sticky-cta {
		display: none !important;
	}
}


/* ---------------------------------------------------------
 * Respect reduced-motion preference
 * --------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {

	.lvd-comparison-sticky-cta {
		transition: none;
	}
}