/* Botões flutuantes (StudioWeb\Frontend\Dock) */
.sw-dock-draggable {
	touch-action: none;
}
.sw-dock-settling {
	transition: top .3s cubic-bezier(.2, .9, .3, 1.2), bottom .3s cubic-bezier(.2, .9, .3, 1.2), left .3s cubic-bezier(.2, .9, .3, 1.2), right .3s cubic-bezier(.2, .9, .3, 1.2) !important;
}
.sw-dock-dragging {
	z-index: 2147483600 !important;
	cursor: grabbing !important;
	transition: none !important;
	filter: drop-shadow(0 8px 16px rgba(0, 0, 0, .35));
}
html.sw-dock-is-dragging,
html.sw-dock-is-dragging * {
	cursor: grabbing !important;
	user-select: none !important;
}

/* Cantos onde o botão pode grudar */
.sw-dock-zones {
	position: fixed;
	inset: 0;
	z-index: 2147483500;
	pointer-events: none;
}
.sw-dock-zones[hidden] {
	display: none;
}
.sw-dock-zone {
	position: absolute;
	width: min(34vw, 220px);
	height: min(34vh, 220px);
	border: 2px dashed rgba(0, 0, 0, .25);
	background: rgba(255, 255, 255, .25);
	transition: background-color .15s, border-color .15s, transform .15s;
}
.sw-dock-zone--right-bottom { right: 8px; bottom: 8px; border-radius: 24px 6px 24px 24px; }
.sw-dock-zone--left-bottom { left: 8px; bottom: 8px; border-radius: 6px 24px 24px 24px; }
.sw-dock-zone--right-top { right: 8px; top: 8px; border-radius: 24px 24px 24px 6px; }
.sw-dock-zone--left-top { left: 8px; top: 8px; border-radius: 24px 24px 6px 24px; }
.sw-dock-zone.is-active {
	border-color: var(--bs-primary, #2271b1);
	background: color-mix(in srgb, var(--bs-primary, #2271b1) 18%, transparent);
	transform: scale(1.04);
}

.sw-dock-toast {
	position: fixed;
	left: 50%;
	bottom: 24px;
	z-index: 2147483601;
	padding: 10px 18px;
	border-radius: 8px;
	background: #1d2327;
	color: #fff;
	font: 500 14px/1.3 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	box-shadow: 0 6px 20px rgba(0, 0, 0, .25);
	transform: translateX(-50%);
	transition: opacity .4s, transform .4s;
}
.sw-dock-toast.is-out {
	opacity: 0;
	transform: translate(-50%, 10px);
}
@media (prefers-reduced-motion: reduce) {
	.sw-dock-settling,
	.sw-dock-zone,
	.sw-dock-toast {
		transition: none !important;
	}
}
