.siie-social-list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
}

.siie-social-item {
	display: inline-flex;
	line-height: 0;
}

.siie-social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	box-sizing: border-box;
	overflow: hidden;
	text-decoration: none;
	transform-origin: center;
	transition:
		transform 180ms ease,
		opacity 180ms ease,
		background-color 180ms ease,
		border-color 180ms ease,
		border-radius 180ms ease,
		box-shadow 180ms ease;
}

/* Self-contained hover effects: identical in Elementor editor and frontend. */
.siie-social-link.siie-effect-grow:hover,
.siie-social-link.siie-effect-grow:focus-visible { transform: scale(1.12); }
.siie-social-link.siie-effect-shrink:hover,
.siie-social-link.siie-effect-shrink:focus-visible { transform: scale(.88); }
.siie-social-link.siie-effect-float:hover,
.siie-social-link.siie-effect-float:focus-visible { transform: translateY(-8px); }
.siie-social-link.siie-effect-sink:hover,
.siie-social-link.siie-effect-sink:focus-visible { transform: translateY(8px); }
.siie-social-link.siie-effect-rotate:hover,
.siie-social-link.siie-effect-rotate:focus-visible { transform: rotate(8deg); }
.siie-social-link.siie-effect-grow-rotate:hover,
.siie-social-link.siie-effect-grow-rotate:focus-visible { transform: scale(1.12) rotate(8deg); }

.siie-social-link.siie-effect-pulse:hover,
.siie-social-link.siie-effect-pulse:focus-visible { animation: siie-pulse .75s ease-in-out infinite alternate; }
.siie-social-link.siie-effect-pulse-grow:hover,
.siie-social-link.siie-effect-pulse-grow:focus-visible { animation: siie-pulse-grow .65s ease-in-out infinite alternate; }
.siie-social-link.siie-effect-pop:hover,
.siie-social-link.siie-effect-pop:focus-visible { animation: siie-pop .35s ease-out both; }
.siie-social-link.siie-effect-push:hover,
.siie-social-link.siie-effect-push:focus-visible { animation: siie-push .35s ease-out both; }
.siie-social-link.siie-effect-bounce-in:hover,
.siie-social-link.siie-effect-bounce-in:focus-visible { animation: siie-bounce-in .55s ease both; }
.siie-social-link.siie-effect-wobble-horizontal:hover,
.siie-social-link.siie-effect-wobble-horizontal:focus-visible { animation: siie-wobble-horizontal .8s ease-in-out both; }
.siie-social-link.siie-effect-wobble-vertical:hover,
.siie-social-link.siie-effect-wobble-vertical:focus-visible { animation: siie-wobble-vertical .8s ease-in-out both; }
.siie-social-link.siie-effect-buzz:hover,
.siie-social-link.siie-effect-buzz:focus-visible { animation: siie-buzz .18s linear infinite; }

@keyframes siie-pulse {
	from { transform: scale(1); }
	to { transform: scale(.9); }
}

@keyframes siie-pulse-grow {
	from { transform: scale(1); }
	to { transform: scale(1.12); }
}

@keyframes siie-pop {
	0% { transform: scale(1); }
	50% { transform: scale(1.18); }
	100% { transform: scale(1.08); }
}

@keyframes siie-push {
	0% { transform: scale(1); }
	50% { transform: scale(.82); }
	100% { transform: scale(.94); }
}

@keyframes siie-bounce-in {
	0% { transform: scale(1); }
	35% { transform: scale(1.2); }
	65% { transform: scale(.92); }
	100% { transform: scale(1.08); }
}

@keyframes siie-wobble-horizontal {
	16.65% { transform: translateX(7px); }
	33.3% { transform: translateX(-5px); }
	49.95% { transform: translateX(3px); }
	66.6% { transform: translateX(-2px); }
	83.25% { transform: translateX(1px); }
	100% { transform: translateX(0); }
}

@keyframes siie-wobble-vertical {
	16.65% { transform: translateY(7px); }
	33.3% { transform: translateY(-5px); }
	49.95% { transform: translateY(3px); }
	66.6% { transform: translateY(-2px); }
	83.25% { transform: translateY(1px); }
	100% { transform: translateY(0); }
}

@keyframes siie-buzz {
	0%, 100% { transform: translateX(0) rotate(0); }
	25% { transform: translateX(-2px) rotate(-2deg); }
	75% { transform: translateX(2px) rotate(2deg); }
}

/* Appearance presets. Existing widgets retain their former default styling. */
.siie-social-list.siie-style-global.siie-appearance-stacked .siie-social-link,
.siie-social-list.siie-style-individual .siie-item-appearance-stacked .siie-social-link {
	background-color: var(--siie-item-background, var(--siie-stacked-background, #69727d)) !important;
}

.siie-social-list.siie-style-global.siie-appearance-framed .siie-social-link,
.siie-social-list.siie-style-individual .siie-item-appearance-framed .siie-social-link {
	background-color: var(--siie-item-background, transparent) !important;
	border-style: var(--siie-item-border-style, solid) !important;
	border-width: var(--siie-item-border-width, 2px) !important;
	border-color: var(--siie-item-border-color, currentColor) !important;
}

.siie-social-list.siie-style-global.siie-shape-circle .siie-social-link,
.siie-social-list.siie-style-individual .siie-item-shape-circle .siie-social-link {
	border-radius: 50% !important;
}

.siie-social-list.siie-style-global.siie-shape-square .siie-social-link,
.siie-social-list.siie-style-individual .siie-item-shape-square .siie-social-link {
	border-radius: 0 !important;
}

.siie-social-list.siie-style-global.siie-shape-rounded .siie-social-link,
.siie-social-list.siie-style-individual .siie-item-shape-rounded .siie-social-link {
	border-radius: 12px !important;
}

/* Effective classes and inline presets keep Elementor editor/front-end rendering identical. */
.siie-social-link.siie-effective-appearance-framed {
	background-color: var(--siie-item-background, transparent) !important;
	border-style: var(--siie-item-border-style, solid) !important;
	border-width: var(--siie-item-border-width, 2px) !important;
	border-color: var(--siie-item-border-color, currentColor) !important;
}

.siie-social-link.siie-effective-appearance-stacked {
	background-color: var(--siie-item-background, #69727d) !important;
}

.siie-social-link.siie-effective-shape-circle {
	border-radius: 50% !important;
}

.siie-social-link.siie-effective-shape-rounded {
	border-radius: 12px !important;
}

.siie-social-link.siie-effective-shape-square {
	border-radius: 0 !important;
}

/* Item overrides are deliberately active only in Individual mode. */
.siie-social-list.siie-style-individual .siie-social-item .siie-social-link {
	width: var(--siie-item-size) !important;
	height: var(--siie-item-size) !important;
	font-size: var(--siie-item-size) !important;
	padding: var(--siie-item-padding) !important;
	margin: var(--siie-item-margin) !important;
	background-color: var(--siie-item-background) !important;
	border-style: var(--siie-item-border-style) !important;
	border-width: var(--siie-item-border-width) !important;
	border-color: var(--siie-item-border-color) !important;
	border-radius: var(--siie-item-radius) !important;
}

.siie-social-list.siie-style-individual .siie-social-item .siie-social-link:hover,
.siie-social-list.siie-style-individual .siie-social-item .siie-social-link:focus-visible {
	background-color: var(--siie-item-hover-background, var(--siie-item-background)) !important;
	border-color: var(--siie-item-hover-border-color, var(--siie-item-border-color)) !important;
}

.siie-social-link:focus-visible {
	outline: 3px solid currentColor;
	outline-offset: 3px;
}

.siie-social-graphic {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	transition: filter 180ms ease;
}

.siie-social-image,
.siie-social-link img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: 100%;
	object-fit: contain;
}

.siie-social-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	font-size: 1em;
	line-height: 1;
	color: var(--siie-icon-color, currentColor) !important;
	fill: var(--siie-icon-color, currentColor) !important;
}

.siie-social-icon svg {
	display: block;
	width: 100%;
	height: 100%;
	color: var(--siie-icon-color, currentColor) !important;
	fill: var(--siie-icon-color, currentColor) !important;
}

.siie-social-icon path,
svg.siie-social-icon path {
	fill: currentColor !important;
}

.siie-social-list.siie-style-individual .siie-social-item .siie-social-icon,
.siie-social-list.siie-style-individual .siie-social-item .siie-social-icon svg {
	color: var(--siie-item-icon-color, var(--siie-icon-color, currentColor)) !important;
	fill: var(--siie-item-icon-color, var(--siie-icon-color, currentColor)) !important;
}

.siie-social-link:hover .siie-social-icon,
.siie-social-link:focus-visible .siie-social-icon,
.siie-social-link:hover .siie-social-icon svg,
.siie-social-link:focus-visible .siie-social-icon svg {
	color: var(--siie-icon-hover-color, var(--siie-icon-color, currentColor)) !important;
	fill: var(--siie-icon-hover-color, var(--siie-icon-color, currentColor)) !important;
}

.siie-social-list.siie-style-individual .siie-social-item .siie-social-link:hover .siie-social-icon,
.siie-social-list.siie-style-individual .siie-social-item .siie-social-link:focus-visible .siie-social-icon,
.siie-social-list.siie-style-individual .siie-social-item .siie-social-link:hover .siie-social-icon svg,
.siie-social-list.siie-style-individual .siie-social-item .siie-social-link:focus-visible .siie-social-icon svg {
	color: var(--siie-item-icon-hover-color, var(--siie-icon-hover-color, var(--siie-item-icon-color, var(--siie-icon-color, currentColor)))) !important;
	fill: var(--siie-item-icon-hover-color, var(--siie-icon-hover-color, var(--siie-item-icon-color, var(--siie-icon-color, currentColor)))) !important;
}

@media (prefers-reduced-motion: reduce) {
	.siie-social-link {
		transition: none;
		animation: none !important;
		transform: none !important;
	}

	.siie-social-graphic {
		transition: none;
	}
}
