.psi-icons {
	--psi-size: 40px;
	--psi-gap: 10px;
	--psi-icon: #D4AF37;
	--psi-bg: #0B6623;
	--psi-hover: #000000;
	display: flex;
	flex-wrap: wrap;
	gap: var(--psi-gap);
	list-style: none !important;
	margin: 0 0 1em;
	padding: 0 !important;
}
.psi-icons.psi-vertical { flex-direction: column; flex-wrap: nowrap; }
.psi-icons.psi-align-center { justify-content: center; }
.psi-icons.psi-align-right { justify-content: flex-end; }
.psi-icons .psi-item { margin: 0 !important; padding: 0 !important; list-style: none !important; }
.psi-icons .psi-item::before, .psi-icons .psi-item::marker { content: none !important; }

.psi-icons .psi-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--psi-size);
	height: var(--psi-size);
	font-size: calc(var(--psi-size) * 0.48);
	line-height: 1;
	color: var(--psi-icon) !important;
	background: var(--psi-bg);
	text-decoration: none !important;
	box-shadow: none !important;
	transition: background-color .2s ease, color .2s ease, transform .2s ease;
}
.psi-icons .psi-link i { color: inherit; }
.psi-icons .psi-link:hover,
.psi-icons .psi-link:focus-visible {
	background: var(--psi-hover);
	transform: translateY(-2px);
}
.psi-icons .psi-link:focus-visible { outline: 2px solid var(--psi-icon); outline-offset: 2px; }

.psi-shape-circle .psi-link { border-radius: 50%; }
.psi-shape-rounded .psi-link { border-radius: 22%; }
.psi-shape-square .psi-link { border-radius: 0; }
.psi-shape-none .psi-link { background: transparent !important; font-size: calc(var(--psi-size) * 0.7); }
.psi-shape-none .psi-link:hover,
.psi-shape-none .psi-link:focus-visible { color: var(--psi-hover) !important; }

/* Brand mode: dark text on light brand backgrounds (e.g. Snapchat yellow) */
.psi-mode-brand:not(.psi-shape-none) .psi-snapchat .psi-link { color: #000 !important; }
.psi-mode-brand:not(.psi-shape-none) .psi-link:hover { background: var(--psi-hover); color: #fff !important; }

/* Floating bar */
.psi-floating {
	position: fixed;
	top: 50%;
	transform: translateY(-50%);
	z-index: 9999;
	padding: 8px;
}
.psi-floating-left { left: 0; }
.psi-floating-right { right: 0; }
.psi-floating .psi-icons { margin: 0; }
@media (max-width: 600px) {
	.psi-floating { top: auto; bottom: 0; left: 0; right: 0; transform: none; background: rgba(0,0,0,.85); }
	.psi-floating .psi-icons { flex-direction: row; justify-content: center; flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
	.psi-icons .psi-link { transition: none; }
	.psi-icons .psi-link:hover { transform: none; }
}
