/* Baselines beat native defaults; document/repeater selectors remain stronger. */
.elementor .elementor-widget-heading:where(.sggw-heading-recipe-column) .elementor-heading-title {
	color: var(--sggw-text-muted);
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--x-small);
	font-style: normal;
	font-weight: var(--wp--custom--typography--font-weight--semibold);
	line-height: var(--wp--custom--typography--line-height--x-small);
	letter-spacing: .055em;
	text-transform: uppercase;
	margin: 0;
}

.elementor .elementor-widget-social-icons .elementor-social-icons-wrapper {
	justify-content: var(--sggw-social-justify, start);
	gap: var(--grid-row-gap, 16px) var(--grid-column-gap, 16px);
}
.elementor-widget-social-icons:where(.elementor-grid-0) .elementor-social-icons-wrapper {
	display: flex;
	flex-wrap: wrap;
	margin-block-end: 0;
	word-spacing: normal;
}
.elementor-widget-social-icons:where(.elementor-grid-0) .elementor-grid .elementor-grid-item {
	margin-block-end: 0;
}
.elementor-widget-social-icons .elementor-social-icon {
	--sggw-social-bg: var(--sggw-button-background);
	--sggw-social-fg: var(--sggw-button-foreground);
	--sggw-social-border: transparent;
	--sggw-social-hover: var(--sggw-button-background-hover);
	--sggw-social-pressed: color-mix(in srgb, var(--sggw-button-foreground) var(--wp--custom--state-layer--pressed), var(--sggw-button-background));
	box-sizing: border-box;
	width: auto;
	height: auto;
	font-size: var(--icon-size, 24px);
	line-height: 1;
	padding: var(--icon-padding, 6px);
	border: var(--wp--custom--line--width, 1px) solid var(--sggw-social-border);
	border-radius: var(--wp--custom--radius--small, 4px);
	box-shadow: none;
	transition: none;
}
.elementor-widget-social-icons:where(:not(.sggw-social-colors-default)) .elementor-social-icon {
	background: var(--sggw-social-bg);
}
/* Beat late native geometry and white hover, but not local widget colors. */
.elementor-widget-social-icons .elementor-icon.elementor-social-icon {
	width: auto;
	height: auto;
	font-size: var(--icon-size, 24px);
	line-height: 1;
	color: var(--sggw-social-fg);
}
.elementor-widget-social-icons:where(.elementor-shape-circle) .elementor-social-icon { border-radius: 50%; }
.elementor-widget-social-icons:where(.elementor-shape-square) .elementor-social-icon { border-radius: 0; }
.elementor-widget-social-icons:where(.elementor-shape-rounded) .elementor-social-icon { border-radius: 10%; }
.elementor-widget-social-icons .elementor-icon.elementor-social-icon :where(i, svg) {
	color: inherit;
	fill: currentColor;
	width: 1em;
	height: 1em;
}
.elementor-widget-social-icons:where(.sggw-social-variant-outline, .sggw-social-variant-ghost, .sggw-social-variant-logos) .elementor-social-icon {
	--sggw-social-bg: transparent;
	--sggw-social-fg: var(--sggw-text);
	--sggw-social-focus: color-mix(in srgb, var(--sggw-text) var(--wp--custom--state-layer--hover), transparent);
	--sggw-social-pressed: color-mix(in srgb, var(--sggw-text) var(--wp--custom--state-layer--pressed), transparent);
}
.elementor-widget-social-icons:where(.sggw-social-variant-outline) .elementor-social-icon { --sggw-social-border: var(--sggw-line); }
.elementor-widget-social-icons:where(.sggw-social-variant-logos) .elementor-social-icon {
	--sggw-social-fg: var(--sggw-text-muted);
	--sggw-social-pressed: transparent;
	padding: var(--icon-padding, 0px);
	border-width: 0;
}
.elementor-widget-social-icons:where(.sggw-social-colors-default) .elementor-social-icon { --sggw-social-fg: #fff; }
.elementor-widget-social-icons .elementor-social-icon:hover { opacity: 1; }
.elementor-widget-social-icons .elementor-social-icon:focus:not(:focus-visible) { outline: none; }
.elementor-widget-social-icons .elementor-social-icon:focus-visible {
	outline: var(--wp--custom--line--focus-ring-width, 3px) solid var(--sggw-line-focus);
	outline-offset: var(--wp--custom--line--focus-ring-offset, 3px);
}
.elementor-widget-social-icons:where(.sggw-social-variant-outline, .sggw-social-variant-ghost) .elementor-social-icon:where(:focus-visible) { background-color: var(--sggw-social-focus); }
@media (hover: hover) {
	/* Filled Button hover for all social variants, even when focused; local controls win. */
	.elementor-widget-social-icons:where(:not(.sggw-social-colors-default, .sggw-social-variant-logos)) .elementor-icon.elementor-social-icon:where(:hover:not(:active)) {
		background-color: var(--sggw-social-hover);
		border-color: transparent;
		color: var(--sggw-button-foreground-hover);
	}
}
.elementor-widget-social-icons:where(:not(.sggw-social-colors-default)) .elementor-social-icon:where(:active) { background-color: var(--sggw-social-pressed); }
.elementor-widget-social-icons:where(.sggw-social-variant-logos) .elementor-icon.elementor-social-icon:where(:hover, :active, :focus-visible) { color: var(--sggw-text); }
@media (forced-colors: active) {
	.elementor-widget-social-icons .elementor-social-icon {
		background: ButtonFace !important;
		border-color: ButtonBorder !important;
		color: ButtonText !important;
		forced-color-adjust: none;
	}
	.elementor-widget-social-icons .elementor-social-icon:is(:hover, :focus-visible, :active) {
		background: Highlight !important;
		border-color: Highlight !important;
		color: HighlightText !important;
	}
	.elementor-widget-social-icons:where(.sggw-social-variant-logos) .elementor-social-icon {
		background: transparent !important;
		border-color: transparent !important;
		color: LinkText !important;
	}
	.elementor-widget-social-icons:where(.sggw-social-variant-logos) .elementor-social-icon:is(:hover, :focus-visible, :active) {
		background: transparent !important;
		border-color: transparent !important;
		color: CanvasText !important;
	}
	.elementor-widget-social-icons .elementor-social-icon :is(i, svg) { color: inherit !important; fill: currentColor !important; }
	.elementor-widget-social-icons .elementor-social-icon:focus-visible { outline-color: Highlight !important; }
}

.elementor-widget-sggw-newsletter .wp-block-sggw-newsletter-consent {
	font: inherit;
	color: inherit;
}
