/* Cemacon Share Buttons Widget Styles */

.cemacon-share-buttons-grid {
	--cemacon-share-buttons-column-gap: 10px;
	--cemacon-share-buttons-row-gap: 10px;
	--cemacon-share-buttons-icon-size: 20px;
	--cemacon-share-buttons-icon-padding: 0px;
	--cemacon-share-buttons-bg-color: #3f444b;
	--cemacon-share-buttons-bg-color-hover: #23272d;
	--cemacon-share-buttons-text-color: #ffffff;
	--cemacon-share-buttons-text-color-hover: #ffffff;
	--cemacon-share-buttons-boxed-shadow: rgba(0, 0, 0, 0.15);

	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--cemacon-share-buttons-row-gap) var(--cemacon-share-buttons-column-gap);
	margin: 0;
	padding: 0;
	list-style: none;
}

.cemacon-share-buttons-item {
	list-style: none;
	margin: 0;
	padding: 0;
}

.cemacon-share-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 14px;
	background-color: var(--cemacon-share-buttons-bg-color);
	color: var(--cemacon-share-buttons-text-color);
	cursor: pointer;
	text-decoration: none;
	transition: background-color 0.3s ease, color 0.3s ease;
	border: 2px solid transparent;
}

.cemacon-share-btn:hover {
	background-color: var(--cemacon-share-buttons-bg-color-hover);
	color: var(--cemacon-share-buttons-text-color-hover);
}

.cemacon-share-btn__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	padding: var(--cemacon-share-buttons-icon-padding);
	box-sizing: content-box;
	transition: background-color 0.3s ease, color 0.3s ease;
}

.cemacon-share-btn__icon i {
	font-size: var(--cemacon-share-buttons-icon-size);
	color: currentColor;
}

/* Icons_Manager::render_icon() outputs inline SVG when the site's "Inline
   Font Icons" experiment is on. Elementor's own .e-font-icon-svg CSS only
   sizes that SVG inside its .elementor-button-icon wrapper, so our wrapper
   needs its own rule or the icon renders with no visible size. */
.cemacon-share-btn__icon svg {
	width: var(--cemacon-share-buttons-icon-size);
	height: var(--cemacon-share-buttons-icon-size);
	fill: currentColor;
	display: block;
}

.cemacon-share-btn__custom-icon {
	width: var(--cemacon-share-buttons-icon-size);
	height: var(--cemacon-share-buttons-icon-size);
	object-fit: contain;
	display: block;
}

.cemacon-share-btn__text {
	line-height: 1;
}

.cemacon-share-btn__title {
	white-space: nowrap;
}

/* Shape */
.cemacon-share-buttons--shape-square .cemacon-share-btn {
	border-radius: 0;
}

.cemacon-share-buttons--shape-rounded .cemacon-share-btn {
	border-radius: 4px;
}

.cemacon-share-buttons--shape-rounded .cemacon-share-btn__icon {
	border-radius: 4px;
}

.cemacon-share-buttons--shape-circle .cemacon-share-btn {
	border-radius: 50%;
}

.cemacon-share-buttons--shape-circle .cemacon-share-btn__icon {
	border-radius: 50%;
}

.cemacon-share-buttons--shape-circle.cemacon-share-buttons--view-icon .cemacon-share-btn {
	padding: 10px;
}

/* Skins */
.cemacon-share-buttons--skin-minimal .cemacon-share-btn {
	background-color: transparent;
	color: var(--cemacon-share-buttons-bg-color);
}

.cemacon-share-buttons--skin-minimal .cemacon-share-btn:hover {
	background-color: transparent;
	color: var(--cemacon-share-buttons-bg-color-hover);
}

.cemacon-share-buttons--skin-minimal .cemacon-share-btn__icon {
	background-color: var(--cemacon-share-buttons-bg-color);
	color: var(--cemacon-share-buttons-text-color);
}

.cemacon-share-buttons--skin-minimal .cemacon-share-btn:hover .cemacon-share-btn__icon {
	background-color: var(--cemacon-share-buttons-bg-color-hover);
	color: var(--cemacon-share-buttons-text-color-hover);
}

.cemacon-share-buttons--skin-framed .cemacon-share-btn {
	background-color: transparent;
	color: var(--cemacon-share-buttons-bg-color);
	border-color: var(--cemacon-share-buttons-bg-color);
}

.cemacon-share-buttons--skin-framed .cemacon-share-btn:hover {
	background-color: var(--cemacon-share-buttons-bg-color-hover);
	color: var(--cemacon-share-buttons-text-color-hover);
	border-color: var(--cemacon-share-buttons-bg-color-hover);
}

.cemacon-share-buttons--skin-boxed .cemacon-share-btn {
	box-shadow: 0 2px 6px var(--cemacon-share-buttons-boxed-shadow);
}

.cemacon-share-buttons--skin-gradient .cemacon-share-btn {
	background-image: linear-gradient(135deg, var(--cemacon-share-buttons-bg-color), var(--cemacon-share-buttons-bg-color-hover));
}

.cemacon-share-buttons--skin-gradient .cemacon-share-btn:hover {
	background-image: linear-gradient(135deg, var(--cemacon-share-buttons-bg-color-hover), var(--cemacon-share-buttons-bg-color));
}

@media (max-width: 768px) {
	.cemacon-share-btn__title {
		white-space: normal;
	}
}
