.tv-totop {
	position: fixed;
	right: 16px;
	bottom: 16px;
	z-index: 9989;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 1.5px solid #f2c4cf;
	border-radius: 50%;
	background: #fff;
	color: #e2456a;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	box-shadow: 0 4px 14px rgba(23, 35, 46, 0.14);
	opacity: 0;
	visibility: hidden;
	transform: translateY(12px);
	transition: opacity 0.2s ease, transform 0.2s ease, visibility 0s linear 0.2s, background-color 0.15s ease;
}
.tv-totop.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	transition: opacity 0.2s ease, transform 0.2s ease, visibility 0s, background-color 0.15s ease;
}
.tv-totop:hover {
	background: #e2456a;
	border-color: #e2456a;
	color: #fff;
}
.tv-totop:focus-visible {
	outline: 3px solid #e2456a;
	outline-offset: 3px;
}
/* ถ้าเปิดน้องโคมลอยไว้ด้วย ให้ปุ่มอยู่เหนือน้อง */
.tv-totop--above-khom {
	bottom: 100px;
	right: 28px;
}
@media (max-width: 480px) {
	.tv-totop { width: 44px; height: 44px; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom, 0px)); }
	.tv-totop--above-khom { bottom: 84px; right: 20px; }
}
@media (prefers-reduced-motion: reduce) {
	.tv-totop, .tv-totop.is-visible { transition: none; }
}
@media print {
	.tv-totop { display: none; }
}
