.mwg-floating-tools {
	position: fixed;
	right: clamp(12px, 1.7vw, 26px);
	bottom: calc(92px + env(safe-area-inset-bottom, 0px));
	z-index: 9990;
	display: grid;
	width: 48px;
	border: 1px solid #d7e0e8;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 5px 18px rgba(8, 43, 78, .18);
	overflow: hidden;
}

.mwg-floating-tool {
	display: grid;
	box-sizing: border-box;
	width: 48px;
	height: 48px;
	padding: 0;
	place-items: center;
	border: 0;
	border-radius: 0;
	background: #fff;
	color: #1376d3;
	cursor: pointer;
	text-decoration: none !important;
	transition: color .18s ease, background-color .18s ease, opacity .2s ease, max-height .2s ease, transform .2s ease;
}

.mwg-floating-tool svg {
	width: 26px;
	height: 26px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.mwg-floating-tool:hover,
.mwg-floating-tool:focus-visible {
	background: #f1f7fd;
	color: #075fae;
	outline: 2px solid #1376d3;
	outline-offset: -3px;
}

.mwg-back-to-top {
	max-height: 0;
	height: 0;
	opacity: 0;
	pointer-events: none;
	transform: translateY(8px);
}

.mwg-back-to-top.is-visible {
	height: 48px;
	max-height: 48px;
	border-top: 1px solid #e1e8ee;
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}

@media (max-width: 782px) {
	.mwg-floating-tools {
		right: 12px;
		bottom: calc(84px + env(safe-area-inset-bottom, 0px));
		width: 46px;
	}
	.mwg-floating-tool {
		width: 46px;
		height: 46px;
	}
	.mwg-back-to-top.is-visible {
		height: 46px;
		max-height: 46px;
	}
	.mwg-floating-tool svg {
		width: 25px;
		height: 25px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mwg-floating-tool { transition: none; }
}

@media print {
	.mwg-floating-tools { display: none !important; }
}
