/* Opt-in Genotyp recipe for Elementor's native Icon List. */

.elementor-widget-icon-list.sggw-icon-list-recipe-metadata {
	--sggw-icon-list-icon-size: 1.25em;
	--sggw-icon-list-line-box-size: 1lh;
	--sggw-icon-list-inline-gap: 12px;
	--sggw-icon-list-item-gap: 16px;

	color: var(--sggw-text);
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--medium);
	font-style: normal;
	font-weight: var(--wp--custom--typography--font-weight--regular);
	line-height: var(--wp--custom--typography--line-height--body);
}

.elementor-widget-icon-list.sggw-icon-list-recipe-metadata
	.elementor-icon-list-items {
	display: flex;
	flex-direction: column;
	gap: var(--sggw-icon-list-item-gap);
	list-style: none;
	margin: 0;
	padding: 0;
}

.elementor-widget-icon-list.sggw-icon-list-recipe-metadata
	.elementor-icon-list-item {
	align-items: flex-start;
	color: inherit;
	display: flex;
	font: inherit;
	gap: var(--sggw-icon-list-inline-gap);
	margin: 0 !important;
	min-inline-size: 0;
	padding: 0 !important;
}

.elementor-widget-icon-list.sggw-icon-list-recipe-metadata
	.elementor-icon-list-item
	> a {
	align-items: flex-start;
	color: var(--sggw-link-foreground);
	display: flex;
	font: inherit;
	gap: var(--sggw-icon-list-inline-gap);
	inline-size: 100%;
	min-inline-size: 0;
	text-decoration-color: currentColor;
	text-decoration-line: var(--sggw-inline-link-decoration-rest);
	text-decoration-skip-ink: auto;
	text-decoration-thickness: var(--sggw-link-decoration-thickness);
	text-underline-offset: var(--sggw-link-underline-offset);
}

.elementor-widget-icon-list.sggw-icon-list-recipe-metadata
	.elementor-icon-list-icon {
	block-size: var(--sggw-icon-list-line-box-size);
	color: var(--sggw-text);
	display: grid;
	flex: 0 0 auto;
	font-size: inherit;
	inline-size: var(--sggw-icon-list-icon-size);
	padding-inline-end: 0 !important;
	place-items: center;
}

.elementor-widget-icon-list.sggw-icon-list-recipe-metadata
	:where(.elementor-icon-list-item > a)
	.elementor-icon-list-icon {
	color: inherit;
}

.elementor-widget-icon-list.sggw-icon-list-recipe-metadata
	.elementor-icon-list-icon
	i {
	color: inherit;
	font-size: var(--sggw-icon-list-icon-size);
	inline-size: 1em;
	line-height: 1;
	text-align: center;
}

.elementor-widget-icon-list.sggw-icon-list-recipe-metadata
	.elementor-icon-list-icon
	svg {
	block-size: var(--sggw-icon-list-icon-size);
	color: inherit;
	fill: currentColor;
	inline-size: var(--sggw-icon-list-icon-size);
	margin: 0;
}

.elementor-widget-icon-list.sggw-icon-list-recipe-metadata
	.elementor-icon-list-text {
	align-self: auto;
	color: var(--sggw-text);
	flex: 1 1 auto;
	font: inherit;
	min-inline-size: 0;
	overflow-wrap: normal;
	padding-inline-start: 0;
	word-break: normal;
}

.elementor-widget-icon-list.sggw-icon-list-recipe-metadata
	:where(.elementor-icon-list-item > a)
	.elementor-icon-list-text {
	color: inherit;
}

.elementor-widget-icon-list.sggw-icon-list-recipe-metadata
	.elementor-icon-list-item
	> a:is(:visited, :hover, :active, :focus-visible) {
	color: var(--sggw-link-foreground);
}

.elementor-widget-icon-list.sggw-icon-list-recipe-metadata
	.elementor-icon-list-item
	> a:is(:hover, :active, :focus-visible) {
	text-decoration-line: var(--sggw-link-decoration-interactive);
}

.elementor-widget-icon-list.sggw-icon-list-recipe-metadata
	.elementor-icon-list-item
	> a:focus:not(:focus-visible) {
	outline: none;
}

.elementor-widget-icon-list.sggw-icon-list-recipe-metadata
	.elementor-icon-list-item
	> a:focus-visible {
	border-radius: var(--wp--custom--radius--x-small);
	outline: var(--wp--custom--line--focus-ring-width) solid var(--sggw-line-focus);
	outline-offset: var(--wp--custom--line--focus-ring-offset-compact);
}

/* Opt-in Genotyp recipe for Elementor's native Nested Accordion. */

.elementor-widget-n-accordion.sggw-accordion-recipe-sggw {
	--n-accordion-border-color: transparent;
	--n-accordion-border-radius: var(--wp--custom--radius--medium, 8px);
	--n-accordion-border-style: solid;
	--n-accordion-border-width: 0;
	--n-accordion-icon-gap: 0 var(--wp--preset--spacing--20, 12px);
	--n-accordion-icon-size: 1.25em;
	--n-accordion-item-title-distance-from-content: 0;
	--n-accordion-item-title-space-between: var(--wp--preset--spacing--10, 8px);
	--n-accordion-padding: var(--wp--preset--spacing--40, 24px);
	--n-accordion-title-font-size: var(--wp--preset--font-size--large);
	--n-accordion-title-font-weight: var(--wp--custom--typography--font-weight--semibold);
	--n-accordion-title-normal-color: var(--sggw-text);
	--n-accordion-title-hover-color: var(--sggw-text);
	--n-accordion-title-active-color: var(--sggw-text);
}

.elementor-widget-n-accordion.sggw-accordion-recipe-sggw
	.e-n-accordion-item {
	background-color: var(--sggw-surface-current);
	border-radius: var(--wp--custom--radius--medium, 8px);
	color: var(--sggw-text);
	overflow: hidden;
}

.elementor-widget-n-accordion.sggw-accordion-recipe-sggw
	.e-n-accordion-item-title {
	align-items: center;
	color: var(--sggw-text);
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--large);
	font-style: normal;
	font-weight: var(--wp--custom--typography--font-weight--semibold);
	justify-content: space-between;
	line-height: var(--wp--custom--typography--line-height--large, 1.25);
	padding: var(--wp--preset--spacing--40, 24px);
}

.elementor-widget-n-accordion.sggw-accordion-recipe-sggw
	.e-n-accordion-item-title-text {
	color: inherit;
	font: inherit;
	min-inline-size: 0;
}

.elementor-widget-n-accordion.sggw-accordion-recipe-sggw
	.e-n-accordion-item-title-icon {
	color: currentColor;
	flex: 0 0 auto;
}

.elementor-widget-n-accordion.sggw-accordion-recipe-sggw
	.e-n-accordion-item-title-icon :where(i, svg) {
	color: currentColor;
	fill: currentColor;
}

.elementor-widget-n-accordion.sggw-accordion-recipe-sggw
	.e-n-accordion-item-title:focus-visible {
	border-radius: var(--wp--custom--radius--medium, 8px);
	outline: var(--wp--custom--line--focus-ring-width) solid var(--sggw-line-focus);
	outline-offset: calc(-1 * var(--wp--custom--line--focus-ring-offset-compact));
}

.elementor-widget-n-accordion.sggw-accordion-recipe-sggw
	.e-n-accordion-item > .e-con {
	background: transparent;
	border: 0;
	border-radius: 0;
	color: var(--sggw-text);
	padding: 0 var(--wp--preset--spacing--40, 24px)
		var(--wp--preset--spacing--40, 24px);
}

.elementor-widget-n-accordion.sggw-accordion-recipe-sggw
	.e-n-accordion-item > .e-con :where(.elementor-widget, p) {
	color: inherit;
}

@media (hover: hover) {
	.elementor-widget-n-accordion.sggw-accordion-recipe-sggw
		.e-n-accordion-item:hover {
		box-shadow: var(--wp--custom--shadow--small);
	}
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
	.elementor-widget-n-accordion.sggw-accordion-recipe-sggw
		.e-n-accordion-item {
		transition: box-shadow 150ms ease;
	}
}

/* Responsive recipes for Elementor's native Google Maps widget. */

.elementor-widget-google_maps .elementor-custom-embed {
	background-color: var(--sggw-surface-alternating);
	border-radius: var(--wp--custom--radius--small);
	overflow: hidden;
}

.elementor-widget-google_maps.sggw-map-height-small iframe {
	height: clamp(240px, 34vw, 320px) !important;
}

.elementor-widget-google_maps.sggw-map-height-medium iframe {
	height: clamp(320px, 48vw, 480px) !important;
}

.elementor-widget-google_maps.sggw-map-height-large iframe {
	height: clamp(400px, 58vw, 640px) !important;
}

@media (max-width: 480px) {
	.elementor-widget-google_maps.sggw-map-height-large iframe {
		height: clamp(360px, 115vw, 520px) !important;
	}
}

@media (forced-colors: active) {
	.elementor-widget-n-accordion.sggw-accordion-recipe-sggw
		.e-n-accordion-item {
		background: Canvas;
		border: 1px solid CanvasText;
		box-shadow: none !important;
		color: CanvasText;
		forced-color-adjust: none;
	}

	.elementor-widget-n-accordion.sggw-accordion-recipe-sggw
		.e-n-accordion-item-title,
	.elementor-widget-n-accordion.sggw-accordion-recipe-sggw
		.e-n-accordion-item > .e-con {
		color: CanvasText;
	}

	.elementor-widget-n-accordion.sggw-accordion-recipe-sggw
		.e-n-accordion-item-title:focus-visible {
		outline-color: Highlight;
	}

	.elementor-widget-icon-list.sggw-icon-list-recipe-metadata
		.elementor-icon-list-item
		> a,
	.elementor-widget-icon-list.sggw-icon-list-recipe-metadata
		.elementor-icon-list-item
		> a:is(:visited, :hover, :active) {
		color: LinkText;
		text-decoration-line: underline;
	}

	.elementor-widget-icon-list.sggw-icon-list-recipe-metadata
		.elementor-icon-list-item
		> a:focus-visible {
		outline-color: Highlight;
	}

	.elementor-widget-google_maps .elementor-custom-embed {
		border: 1px solid CanvasText;
		forced-color-adjust: none;
	}
}
