.sb-share {
	position: fixed;
	z-index: 900;
	left: 50%;
	bottom: max(18px, env(safe-area-inset-bottom));
	max-width: calc(100vw - 24px);
	transform: translateX(-50%);
	font-family: "Barlow", Arial, Helvetica, sans-serif;
}

.sb-share__title {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
}

.sb-share ul {
	display: flex;
	align-items: center;
	gap: 5px;
	margin: 0;
	padding: 5px;
	border: 1px solid rgba(29, 117, 165, .18);
	border-top: 3px solid #cc0000;
	border-radius: 7px;
	background: rgba(255, 255, 255, .97);
	box-shadow: 0 8px 26px rgba(0, 51, 204, .18);
	list-style: none;
	backdrop-filter: blur(9px);
}

.sb-share li {
	position: relative;
	margin: 0;
	padding: 0;
}

.sb-share__link {
	position: relative;
	display: grid;
	width: 40px;
	height: 40px;
	place-items: center;
	border-radius: 4px;
	color: #1d75a5;
	background: #f2f8fb;
	text-decoration: none;
	transition: color .16s ease, background-color .16s ease, transform .16s ease;
}

.sb-share__link svg {
	width: 21px;
	height: 21px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.sb-share__link > span {
	position: absolute;
	right: 50%;
	bottom: calc(100% + 10px);
	width: max-content;
	max-width: min(250px, calc(100vw - 32px));
	padding: .42rem .6rem;
	transform: translate(50%, 4px);
	border-radius: 4px;
	color: #fff;
	background: #1d638d;
	box-shadow: 0 5px 16px rgba(0, 51, 204, .2);
	font-size: .75rem;
	font-weight: 700;
	line-height: 1.25;
	opacity: 0;
	pointer-events: none;
	visibility: hidden;
	white-space: nowrap;
	transition: opacity .16s ease, transform .16s ease, visibility .16s ease;
}

.sb-share__link:hover,
.sb-share__link:focus-visible {
	color: #fff;
	background: #1d75a5;
	outline: 3px solid rgba(21, 149, 200, .28);
	outline-offset: 2px;
	transform: translateY(-2px);
}

.sb-share__link:hover > span,
.sb-share__link:focus-visible > span {
	transform: translate(50%, 0);
	opacity: 1;
	visibility: visible;
}

.sb-share__status {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
}

@media (max-width: 600px) {
	.sb-share {
		bottom: max(10px, env(safe-area-inset-bottom));
	}

	.sb-share ul {
		gap: 3px;
		padding: 4px;
	}

	.sb-share__link {
		width: 38px;
		height: 38px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sb-share__link,
	.sb-share__link > span {
		transition: none;
	}
}

@media print {
	.sb-share {
		display: none !important;
	}
}

