.cvs-totop {
	position: fixed;
	right: max(16px, env(safe-area-inset-right));
	bottom: max(20px, calc(env(safe-area-inset-bottom) + 12px));
	z-index: 9990;
	width: 48px;
	height: 48px;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(215, 179, 116, .65);
	border-radius: 50%;
	background: linear-gradient(145deg, #5E0F2E, #3A0A1E);
	color: #D7B374;
	box-shadow: 0 14px 28px -12px rgba(46, 5, 22, .75), 0 0 0 4px rgba(251, 247, 238, .55);
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transform: translateY(14px) scale(.9);
	transition: opacity .3s ease, transform .3s cubic-bezier(.2, .7, .2, 1), visibility 0s .3s, background .25s, color .25s;
	-webkit-tap-highlight-color: transparent;
}
.cvs-totop.is-visible {
	opacity: 1;
	visibility: visible;
	transform: none;
	transition-delay: 0s;
}
.cvs-totop:hover,
.cvs-totop:focus-visible {
	background: linear-gradient(135deg, #E6C88E, #D7B374 55%, #C79B52);
	color: #2E0516;
	outline: none;
}
.cvs-totop:focus-visible { box-shadow: 0 14px 28px -12px rgba(46, 5, 22, .75), 0 0 0 3px #fff, 0 0 0 5px #4B0924; }
.cvs-totop svg { display: block; }
@media (max-width: 767px) { .cvs-totop { width: 44px; height: 44px; right: 12px; } }
@media (prefers-reduced-motion: reduce) { .cvs-totop { transition: none; } }
