/* H-Connect global design tokens */
:root {
	--hconnect-primary: #008AE9;
	--hconnect-secondary: #2EBAFB;
	--hconnect-light-blue: #B4E7FE;
	--hconnect-text: #1F2937;
	--hconnect-muted: #64748B;
	--hconnect-white: #FFFFFF;
}

/* Fixed Go To Top button: independent of footer/container layout. */
#go-to-top.hconnect-go-to-top {
	position: fixed !important;
	right: 30px;
	bottom: 30px;
	z-index: 99999;
	width: 45px;
	height: 45px;
	margin: 0 !important;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--hconnect-primary);
	color: var(--hconnect-white);
	box-shadow: 0 4px 14px rgba(0, 138, 233, 0.25);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transform: translateY(12px);
	transition: opacity .25s ease, visibility .25s ease, transform .25s ease, background-color .2s ease;
}

#go-to-top.hconnect-go-to-top.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

#go-to-top.hconnect-go-to-top:hover,
#go-to-top.hconnect-go-to-top:focus-visible {
	background: var(--hconnect-secondary);
}

#go-to-top .hconnect-go-to-top__arrow {
	width: 11px;
	height: 11px;
	margin-top: 5px;
	border-top: 2px solid currentColor;
	border-left: 2px solid currentColor;
	transform: rotate(45deg);
}

#go-to-top.hconnect-go-to-top:focus-visible {
	outline: 3px solid var(--hconnect-light-blue);
	outline-offset: 3px;
}

@media (max-width: 767px) {
	#go-to-top.hconnect-go-to-top {
		right: 18px;
		bottom: 18px;
		width: 42px;
		height: 42px;
	}
}

@media (prefers-reduced-motion: reduce) {
	#go-to-top.hconnect-go-to-top {
		transition: none;
	}
}
