/* Back to top — góc dưới phải */

.halink-back-to-top {
	position: fixed;
	right: 10px;
	bottom: 22px;
	z-index: 99999999;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #0089c9;
	color: #fff;
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transform: translateY(16px) scale(0.88);
	box-shadow: 0 10px 28px rgba(0, 137, 201, 0.35);
	transition: opacity 0.28s ease, visibility 0.28s ease, transform 0.28s ease, box-shadow 0.28s ease;
}

.halink-back-to-top.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0) scale(1);
}

.halink-back-to-top__ring {
	position: absolute;
	inset: -4px;
	border-radius: 50%;
	border: 2px solid #0089c9;
	opacity: 0;
	transform: scale(0.85);
	transition: opacity 0.28s ease, transform 0.28s ease;
	pointer-events: none;
}

.halink-back-to-top__icon {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	transition: transform 0.25s ease;
}

.halink-back-to-top__icon svg {
	width: 24px;
	height: 24px;
}

.halink-back-to-top:hover,
.halink-back-to-top:focus-visible {
	outline: none;
	transform: translateY(-3px) scale(1.04);
	box-shadow: 0 14px 34px rgba(67, 159, 85, 0.42);
}

.halink-back-to-top.is-visible:hover,
.halink-back-to-top.is-visible:focus-visible {
	transform: translateY(-3px) scale(1.04);
}

.halink-back-to-top:hover .halink-back-to-top__icon,
.halink-back-to-top:focus-visible .halink-back-to-top__icon {
	transform: translateY(-2px);
}

.halink-back-to-top:hover .halink-back-to-top__ring,
.halink-back-to-top:focus-visible .halink-back-to-top__ring {
	opacity: 1;
	transform: scale(1.15);
}

.halink-back-to-top:active {
	transform: translateY(0) scale(0.96);
}

@media (max-width: 767px) {
	.halink-back-to-top {
        right: 10px;
        bottom: 5px;
		width: 48px;
		height: 48px;
	}

	.halink-back-to-top__icon,
	.halink-back-to-top__icon svg {
		width: 22px;
		height: 22px;
	}
}
