/* ── Sticky CTA bar — sits below the header, scrolls with page then sticks ─── */

.sticky-cta {
	position: sticky;
	top: var(--header-h);
	z-index: 90;
	background: var(--c-primary);
	color: var(--c-surface);
	display: flex;
	align-items: center;
	gap: 1.25rem;
	padding: 0.625rem 1.5rem;
	box-shadow: 0 0.125rem 0.5rem rgb(0 0 0 / 0.18);
}

.sticky-cta__text {
	flex: 1;
	font-size: 0.9375rem;
	font-weight: 600;
	color: var(--c-surface);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* Override btn colors for use on primary-blue background */
.sticky-cta .btn--primary {
	background: var(--c-surface);
	color: var(--c-primary);
	border-color: transparent;
	flex-shrink: 0;
}

.sticky-cta .btn--primary:hover {
	background: rgb(255 255 255 / 0.9);
}

.sticky-cta__tel {
	font-size: 0.9375rem;
	font-weight: 600;
	color: var(--c-surface);
	text-decoration: none;
	white-space: nowrap;
	flex-shrink: 0;
	letter-spacing: 0.01em;
}

.sticky-cta__tel:hover {
	text-decoration: underline;
	color: var(--c-surface);
}

/* Responsive */

@media (max-width: 48rem) {
	.sticky-cta {
		flex-wrap: wrap;
		gap: 0.625rem;
		padding: 0.625rem 1rem;
		top: var(--header-h-mobile);
	}

	.sticky-cta__text {
		width: 100%;
		flex: none;
		font-size: 0.875rem;
		white-space: normal;
	}

	.sticky-cta .btn--primary,
	.sticky-cta__tel {
		font-size: 0.875rem;
	}
}
