/*
 * Production adapters for accepted SGGW interface contracts.
 */

:root {
	--sggw-particle-size: 1em;
	--sggw-particle-shape: none;
	--sggw-particle-shape-leaf: url("../brand/sggw-particle-leaf.svg");
	--sggw-particle-shape-bud: url("../brand/sggw-particle-bud.svg");
	--sggw-particle-shape-seed: url("../brand/sggw-particle-seed.svg");
	--sggw-particle-shape-sprout: url("../brand/sggw-particle-sprout.svg");
	--sggw-particle-shape-flower: url("../brand/sggw-particle-flower.svg");
	--sggw-particle-shape-pollen: url("../brand/sggw-particle-pollen.svg");
}

.sggw-particle {
	display: inline-grid;
	place-items: center;
	flex: 0 0 auto;
	inline-size: var(--sggw-particle-size);
	block-size: var(--sggw-particle-size);
	overflow: hidden;
	line-height: 1;
	vertical-align: middle;
}

.sggw-particle::before {
	display: block;
	inline-size: 100%;
	block-size: 100%;
	background-color: currentColor;
	content: "";
	-webkit-mask-image: var(--sggw-particle-shape);
	mask-image: var(--sggw-particle-shape);
	-webkit-mask-mode: alpha;
	mask-mode: alpha;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.sggw-particle--leaf {
	--sggw-particle-shape: var(--sggw-particle-shape-leaf);
}

.sggw-particle--bud {
	--sggw-particle-shape: var(--sggw-particle-shape-bud);
}

.sggw-particle--seed {
	--sggw-particle-shape: var(--sggw-particle-shape-seed);
}

.sggw-particle--sprout {
	--sggw-particle-shape: var(--sggw-particle-shape-sprout);
}

.sggw-particle--flower {
	--sggw-particle-shape: var(--sggw-particle-shape-flower);
}

.sggw-particle--pollen {
	--sggw-particle-shape: var(--sggw-particle-shape-pollen);
}

/*
 * Event Date owns one semantic time element. Its children are visual parts of
 * the same value and therefore remain hidden from assistive technology.
 */
:where(.wp-block-sggw-event-date) {
	--sggw-event-date-min-size: max(80px, 5rem);

	box-sizing: border-box;
	display: flex;
	flex-flow: column nowrap;
	align-items: center;
	justify-content: center;
	gap: 2px;
	overflow: hidden;
	aspect-ratio: 1;
	inline-size: fit-content;
	block-size: auto;
	min-inline-size: var(--sggw-event-date-min-size);
	min-block-size: var(--sggw-event-date-min-size);
	padding: var(--wp--preset--spacing--20);
	border-radius: var(--wp--custom--radius--x-small);
	font-family: var(--wp--preset--font-family--body);
	font-variant-numeric: tabular-nums;
	text-align: center;
}

:where(.wp-block-sggw-event-date:not(.has-background)) {
	background-color: var(--sggw-surface-alternating) !important;
}

:where(.wp-block-sggw-event-date) {
	color: var(--sggw-text) !important;
}

/* The flexible style delegates both axes to the surrounding Group, Row or
 * Stack. Native block spacing and layout controls remain authoritative. */
:where(
	.wp-block-sggw-event-date.is-style-flexible,
	.wp-block-sggw-event-date.is-style-expanded
) {
	aspect-ratio: auto;
	inline-size: auto;
	block-size: auto;
	min-inline-size: var(--sggw-event-date-min-size);
	min-block-size: 0;
}

:where(.wp-block-sggw-event-date-part) {
	display: block;
}

:where(.wp-block-sggw-event-date-part:not(.has-text-color)) {
	color: inherit;
}

:where(.wp-block-sggw-event-date-part[data-sggw-event-date-part="day"]) {
	font-size: var(--wp--preset--font-size--x-large);
	font-weight: var(--wp--custom--typography--font-weight--semibold);
	line-height: 1;
}

:where(.wp-block-sggw-event-date-part[data-sggw-event-date-part="month"]) {
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: var(--wp--custom--typography--font-weight--semibold);
	letter-spacing: var(--wp--custom--typography--letter-spacing--label);
	line-height: 1.15;
	text-transform: uppercase;
}

:where(.wp-block-sggw-event-date-part[data-sggw-event-date-part="year"]) {
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: var(--wp--custom--typography--font-weight--regular);
	line-height: 1.15;
}

@media (forced-colors: active) {
	.wp-block-sggw-event-date {
		border: var(--wp--custom--line--width) solid CanvasText !important;
		background: Canvas !important;
		color: CanvasText !important;
		forced-color-adjust: none;
	}
}

:where(.wp-block-sggw-event-meta) {
	--sggw-event-meta-icon-size: 1.25em;
	--sggw-event-meta-line-box-size: 1lh;
	--sggw-event-meta-gap: 0.5em;
	--sggw-event-meta-icon-glyph: var(--sggw-icon-glyph-info);

	box-sizing: border-box;
	display: flex;
	align-items: flex-start;
	gap: var(--sggw-event-meta-gap);
	min-inline-size: 0;
	max-inline-size: 100%;
	margin-block: 0;
	color: var(--sggw-text-muted);
	font-family: var(--wp--preset--font-family--body);
	line-height: var(--wp--custom--typography--line-height--supporting);
}

:where(.wp-block-sggw-event-meta:not(.has-text-color)) {
	color: var(--sggw-text-muted);
}

:where(.wp-block-sggw-event-meta.is-sggw-event-meta-placeholder) {
	color: var(--sggw-text-muted);
}

.wp-block-sggw-event-meta__icon {
	display: grid;
	place-items: center;
	flex: 0 0 auto;
	inline-size: var(--sggw-event-meta-icon-size);
	block-size: var(--sggw-event-meta-line-box-size);
	color: currentColor;
}

.wp-block-sggw-event-meta__icon::before {
	font-family: var(--sggw-icon-font-family);
	font-size: var(--sggw-event-meta-icon-size);
	font-style: normal;
	font-weight: var(--sggw-icon-font-weight-regular);
	line-height: 1;
	content: var(--sggw-event-meta-icon-glyph);
}

.wp-block-sggw-event-meta.is-sggw-event-meta-schedule,
.wp-block-sggw-event-meta.is-sggw-event-meta-date {
	--sggw-event-meta-icon-glyph: var(--sggw-icon-glyph-calendar-blank);
}

.wp-block-sggw-event-meta.is-sggw-event-meta-time {
	--sggw-event-meta-icon-glyph: var(--sggw-icon-glyph-clock);
}

.wp-block-sggw-event-meta.is-sggw-event-meta-location {
	--sggw-event-meta-icon-glyph: var(--sggw-icon-glyph-map-pin);
}

.wp-block-sggw-event-meta__value {
	min-inline-size: 0;
	max-inline-size: 100%;
	color: inherit;
	font: inherit;
	overflow-wrap: normal;
	word-break: normal;
}

/*
 * Person primitives keep only semantic data in SGGW Content. Genotyp maps
 * their contact roles to the shared Phosphor family and lets typography,
 * colors and spacing continue to flow through native block supports. The
 * Post Template selector keeps cards saved before the stable pattern class
 * on the same interaction contract.
 */
:where(
	.wp-block-sggw-person-card,
	.sggw-person-card,
	.wp-block-post-template
		> li
		> .wp-block-group:has(.wp-block-sggw-person-name)
) {
	box-sizing: border-box;
}

@media (hover: hover) {
	:where(
		.wp-block-sggw-person-card,
		.sggw-person-card,
		.wp-block-post-template
			> li
			> .wp-block-group:has(.wp-block-sggw-person-name)
	):hover {
		box-shadow: var(--wp--custom--shadow--small);
	}
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
	:where(
		.wp-block-sggw-person-card,
		.sggw-person-card,
		.wp-block-post-template
			> li
			> .wp-block-group:has(.wp-block-sggw-person-name)
	) {
		transition: box-shadow 150ms ease;
	}
}

:where(.wp-block-sggw-person-card > .components-placeholder) {
	margin: 0;
}

:where(.wp-block-sggw-person-name.is-sggw-person-placeholder),
:where(.wp-block-sggw-person-contact.is-sggw-person-placeholder:not(.has-text-color)) {
	color: var(--sggw-text-muted);
}

:where(.wp-block-sggw-person-contact) {
	display: inline-flex;
	align-items: center;
	gap: var(--wp--preset--spacing--10);
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--small);
	line-height: var(--wp--custom--typography--line-height--supporting);
}

:where(.wp-block-sggw-person-contact:not(.has-text-color)) {
	color: var(--sggw-text-muted);
}

.wp-block-sggw-person-contact__icon {
	flex: 0 0 auto;
	font-family: var(--sggw-icon-font-family);
	font-size: var(--sggw-icon-size-small);
	font-style: normal;
	font-weight: var(--sggw-icon-font-weight-regular);
	line-height: 1;
}

.wp-block-sggw-person-contact__icon::before {
	display: block;
}

.wp-block-sggw-person-contact.is-sggw-person-contact-phone
	> .wp-block-sggw-person-contact__icon::before {
	content: var(--sggw-icon-glyph-phone);
}

.wp-block-sggw-person-contact.is-sggw-person-contact-email
	> .wp-block-sggw-person-contact__icon::before {
	content: var(--sggw-icon-glyph-envelope);
}

.wp-block-sggw-person-contact__value {
	min-inline-size: 0;
	color: inherit;
	overflow-wrap: anywhere;
}

@media (forced-colors: active) {
	.wp-block-sggw-person-contact__value {
		color: LinkText;
	}
}

/*
 * Notice primitives expose only editorial meaning. The Marker maps the
 * semantic icon role stored by SGGW Content to the shared Phosphor set, while
 * Kind remains a short textual label and never relies on color alone.
 */
.wp-block-sggw-notice-marker {
	display: inline-grid;
	place-items: center;
	inline-size: var(--wp--preset--spacing--70);
	block-size: var(--wp--preset--spacing--70);
	background-color: var(--sggw-surface-alternating);
	border-radius: var(--wp--custom--radius--medium);
	color: var(--sggw-text);
	vertical-align: top;
}

.wp-block-sggw-notice-marker__icon::before {
	display: block;
	font-family: var(--sggw-icon-font-family);
	font-size: var(--sggw-icon-size-medium);
	font-style: normal;
	font-weight: var(--sggw-icon-font-weight-regular);
	line-height: 1;
	text-rendering: optimizeLegibility;
}

.wp-block-sggw-notice-marker.is-sggw-notice-icon-announcement
	> .wp-block-sggw-notice-marker__icon::before {
	content: var(--sggw-icon-glyph-megaphone);
}

.wp-block-sggw-notice-marker.is-sggw-notice-icon-information
	> .wp-block-sggw-notice-marker__icon::before {
	content: var(--sggw-icon-glyph-info);
}

.wp-block-sggw-notice-marker.is-sggw-notice-icon-warning
	> .wp-block-sggw-notice-marker__icon::before {
	content: var(--sggw-icon-glyph-warning);
}

.wp-block-sggw-notice-marker.is-sggw-notice-icon-calendar
	> .wp-block-sggw-notice-marker__icon::before {
	content: var(--sggw-icon-glyph-calendar-blank);
}

.wp-block-sggw-notice-kind {
	margin-block: 0;
	color: var(--sggw-text);
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--small);
	font-weight: var(--wp--custom--typography--font-weight--bold);
	letter-spacing: var(--wp--custom--typography--letter-spacing--label);
	line-height: var(--wp--custom--typography--line-height--small);
	text-transform: uppercase;
}

@media (forced-colors: active) {
	.wp-block-sggw-notice-marker {
		background: Canvas;
		border: var(--wp--custom--line--width) solid CanvasText;
		color: CanvasText;
		forced-color-adjust: none;
	}

	.wp-block-sggw-notice-kind {
		color: CanvasText;
	}
}

/*
 * The Notice Strip is a Query Loop composition. It owns the responsive
 * collection layout, while Marker, Kind, Post Title and Post Excerpt keep
 * their independent data and block semantics.
 */
.sggw-notice-strip {
	padding-block: var(--wp--preset--spacing--50);
	border-block-start: var(--wp--custom--line--width) solid var(--sggw-line);
}

.sggw-notice-strip:not(:has(.block-editor-block-list__layout)):not(:has(.sggw-notice-list__items > li)) {
	display: none;
}

.sggw-notice-list {
	container-name: sggw-notice-list;
	container-type: inline-size;
	color: var(--sggw-text);
}

.sggw-notice-list__items {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--70);
	margin: 0;
	padding: 0;
	list-style: none;
}

.sggw-notice-list__items > li {
	margin: 0;
}

.sggw-notice-list__item {
	display: grid;
	grid-template-columns: max-content minmax(0, 1fr);
	align-items: start;
	column-gap: var(--wp--preset--spacing--30);
}

.sggw-notice-list__content {
	display: grid;
	align-content: start;
	gap: 4px;
	min-inline-size: 0;
}

.sggw-notice-list :where(
	.wp-block-sggw-notice-marker,
	.wp-block-sggw-notice-kind,
	.sggw-notice-list__title,
	.sggw-notice-list__excerpt
) {
	margin-block: 0;
}

.sggw-notice-list__title {
	color: var(--sggw-text);
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--medium);
	font-weight: var(--wp--custom--typography--font-weight--semibold);
	line-height: var(--wp--custom--typography--line-height--medium);
}

.sggw-notice-list__title > a,
.sggw-notice-list__title > a:visited {
	color: inherit;
}

@media (hover: hover) {
	.sggw-notice-list__title > a:hover {
		color: var(--sggw-text);
	}
}

.sggw-notice-list__title > a:active {
	color: var(--sggw-text);
}

.sggw-notice-list__title > 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);
}

.sggw-notice-list__excerpt,
.sggw-notice-list__excerpt .wp-block-post-excerpt__excerpt {
	color: var(--sggw-text-muted);
	font-size: var(--wp--preset--font-size--small);
	line-height: var(--wp--custom--typography--line-height--supporting);
}

.sggw-notice-list__excerpt .wp-block-post-excerpt__excerpt {
	margin: 0;
}

@container sggw-notice-list (max-width: 64rem) {
	.sggw-notice-list__items {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@container sggw-notice-list (max-width: 40rem) {
	.sggw-notice-list__items {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (forced-colors: active) {
	.sggw-notice-strip {
		border-color: CanvasText;
	}

	.sggw-notice-list,
	.sggw-notice-list__title,
	.sggw-notice-list__excerpt,
	.sggw-notice-list__excerpt .wp-block-post-excerpt__excerpt {
		color: CanvasText;
	}

	.sggw-notice-list__title > a {
		color: LinkText;
	}
}

/*
 * Event List patterns compose Query Loop and the Event data blocks. Core
 * blocks own layout, sizing, spacing, colors and borders through their saved
 * attributes. This stylesheet adds only event-specific typography, focus and
 * the optional compact-list separator.
 */
:where(.sggw-event-list:not(.has-text-color)) {
	color: var(--sggw-text);
}

:where(.sggw-event-list__title) {
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--large);
	font-weight: var(--wp--custom--typography--font-weight--semibold);
	line-height: var(--wp--custom--typography--line-height--large);
}

:where(.sggw-event-list__title:not(.has-text-color)) {
	color: var(--sggw-text);
}

/*
 * Core's "Specified" child width is a flex-basis and still shrinks by
 * default. Preserve the editor-selected basis for the media/date region and
 * let the fill content column absorb the available width instead.
 */
:where(.sggw-event-list__item > .wp-block-sggw-event-date) {
	flex-shrink: 0;
}

:where(.sggw-event-list__item > .sggw-event-list__content) {
	min-inline-size: 0;
}

/*
 * Compatibility recipe for Event patterns saved before EVT06. The zero
 * specificity lets a radius saved by Core Group win without an override.
 */
:where(.sggw-event-list__item) {
	border-radius: var(--wp--custom--radius--small);
	overflow: hidden;
}

@media (hover: hover) {
	:where(.sggw-event-list__item):hover {
		box-shadow: var(--wp--custom--shadow--small);
	}

	:where(
		.sggw-event-list--compact.is-sggw-event-collection-compact
			.sggw-event-list__items
			> li
			+ li
			.sggw-event-list__item:hover
	) {
		box-shadow:
			inset 0 var(--wp--custom--line--width) 0
				var(--sggw-line-decorative),
			var(--wp--custom--shadow--small);
	}
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
	:where(.sggw-event-list__item) {
		transition: box-shadow 150ms ease;
	}
}

:where(
	.sggw-event-list--compact.is-sggw-event-collection-compact
		.sggw-event-list__items
		> li
		.sggw-event-list__item
) {
	border-radius: 0;
}

:where(
	.sggw-event-list--compact.is-sggw-event-collection-compact
		.sggw-event-list__items
		> li:first-child
		.sggw-event-list__item
) {
	border-start-start-radius: var(--wp--custom--radius--small);
	border-start-end-radius: var(--wp--custom--radius--small);
}

:where(
	.sggw-event-list--compact.is-sggw-event-collection-compact
		.sggw-event-list__items
		> li:last-child
		.sggw-event-list__item
) {
	border-end-start-radius: var(--wp--custom--radius--small);
	border-end-end-radius: var(--wp--custom--radius--small);
}

.sggw-event-list__title > a {
	color: inherit;
}

.sggw-event-list__title > 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);
}

:where(
	.sggw-event-list--compact.is-sggw-event-collection-compact
		.sggw-event-list__items
		> li
		+ li
		.sggw-event-list__item
) {
	box-shadow: inset 0 var(--wp--custom--line--width) 0
		var(--sggw-line-decorative);
}

:where(.sggw-event-list--compact .sggw-event-list__title) {
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--large);
	font-weight: var(--wp--custom--typography--font-weight--semibold);
	line-height: var(--wp--custom--typography--line-height--large);
}

:where(.sggw-event-list--compact .sggw-event-list__title:not(.has-text-color)) {
	color: inherit;
}

@media (forced-colors: active) {
	:where(.sggw-event-list__item) {
		background: Canvas;
		border: var(--wp--custom--line--width) solid CanvasText;
		color: CanvasText;
		forced-color-adjust: none;
	}

	.sggw-event-list__title > a {
		color: LinkText;
		text-decoration-line: underline;
	}

	.sggw-event-list__title > a:focus-visible {
		outline-color: Highlight !important;
	}

	:where(
		.sggw-event-list--compact.is-sggw-event-collection-compact
			.sggw-event-list__items
			> li
			+ li
			.sggw-event-list__item
	) {
		box-shadow: inset 0 var(--wp--custom--line--width) 0 CanvasText;
	}
}

.wp-block-sggw-event-registration.has-sggw-event-registration-icon-only {
	--sggw-button-icon-glyph: var(--sggw-icon-glyph-hand-palm);
}

/*
 * Core blocks that own anonymous paragraphs store Block Supports typography
 * on their wrapper. These nodes inherit that contract explicitly so the
 * global Paragraph defaults do not turn them into independent paragraphs.
 */
:root .wp-block-comment-content :where(p) {
	font-family: inherit;
	font-size: inherit;
	font-style: inherit;
	font-weight: inherit;
	letter-spacing: inherit;
	line-height: inherit;
	text-decoration: inherit;
	text-transform: inherit;
}

:root .wp-block-post-author > .wp-block-post-author__content > :where(.wp-block-post-author__byline, .wp-block-post-author__name, .wp-block-post-author__bio) {
	font-family: inherit;
	font-style: inherit;
	font-weight: inherit;
	letter-spacing: inherit;
	line-height: inherit;
	text-decoration: inherit;
	text-transform: inherit;
}

:root .wp-block-post-author > .wp-block-post-author__content > .wp-block-post-author__byline {
	font-size: 0.5em;
}

:root .wp-block-post-author > .wp-block-post-author__content > .wp-block-post-author__name {
	font-size: inherit;
}

:root .wp-block-post-author > .wp-block-post-author__content > .wp-block-post-author__bio {
	font-size: 0.7em;
}


/*
 * Accent link contract for editorial prose.
 *
 * The selector is intentionally limited to the content slots of supported
 * Core blocks. Navigation, metadata, buttons and component-owned links remain
 * outside this adapter.
 */
:where(
	.wp-block-paragraph,
	.wp-block-list li,
	.wp-block-quote > p,
	.wp-block-quote > cite,
	.wp-block-pullquote:not(.is-style-solid-color) blockquote > p,
	.wp-block-pullquote:not(.is-style-solid-color) blockquote > cite,
	.wp-block-table th,
	.wp-block-table td,
	.wp-block-table figcaption
) a:not(.wp-element-button) {
	color: var(--sggw-link-foreground);
	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);
}

:where(
	.wp-block-paragraph,
	.wp-block-list li,
	.wp-block-quote > p,
	.wp-block-quote > cite,
	.wp-block-pullquote:not(.is-style-solid-color) blockquote > p,
	.wp-block-pullquote:not(.is-style-solid-color) blockquote > cite,
	.wp-block-table th,
	.wp-block-table td,
	.wp-block-table figcaption
) a:not(.wp-element-button):visited {
	color: var(--sggw-link-foreground);
}

:where(
	.wp-block-paragraph,
	.wp-block-list li,
	.wp-block-quote > p,
	.wp-block-quote > cite,
	.wp-block-pullquote:not(.is-style-solid-color) blockquote > p,
	.wp-block-pullquote:not(.is-style-solid-color) blockquote > cite,
	.wp-block-table th,
	.wp-block-table td,
	.wp-block-table figcaption
) a:not(.wp-element-button):hover {
	color: var(--sggw-link-foreground);
	text-decoration-line: var(--sggw-link-decoration-interactive);
}

:where(
	.wp-block-paragraph,
	.wp-block-list li,
	.wp-block-quote > p,
	.wp-block-quote > cite,
	.wp-block-pullquote:not(.is-style-solid-color) blockquote > p,
	.wp-block-pullquote:not(.is-style-solid-color) blockquote > cite,
	.wp-block-table th,
	.wp-block-table td,
	.wp-block-table figcaption
) a:not(.wp-element-button):active {
	color: var(--sggw-link-foreground);
	text-decoration-line: var(--sggw-link-decoration-interactive);
}

:where(
	.wp-block-paragraph,
	.wp-block-list li,
	.wp-block-quote > p,
	.wp-block-quote > cite,
	.wp-block-pullquote:not(.is-style-solid-color) blockquote > p,
	.wp-block-pullquote:not(.is-style-solid-color) blockquote > cite,
	.wp-block-table th,
	.wp-block-table td,
	.wp-block-table figcaption
) a:not(.wp-element-button):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);
	text-decoration-line: var(--sggw-link-decoration-interactive);
}

@media (forced-colors: active) {
	:where(
		.wp-block-paragraph,
		.wp-block-list li,
		.wp-block-quote > p,
		.wp-block-quote > cite,
		.wp-block-pullquote:not(.is-style-solid-color) blockquote > p,
		.wp-block-pullquote:not(.is-style-solid-color) blockquote > cite,
		.wp-block-table th,
		.wp-block-table td,
		.wp-block-table figcaption
	) a:not(.wp-element-button),
	:where(
		.wp-block-paragraph,
		.wp-block-list li,
		.wp-block-quote > p,
		.wp-block-quote > cite,
		.wp-block-pullquote:not(.is-style-solid-color) blockquote > p,
		.wp-block-pullquote:not(.is-style-solid-color) blockquote > cite,
		.wp-block-table th,
		.wp-block-table td,
		.wp-block-table figcaption
	) a:not(.wp-element-button):is(:visited, :hover, :active) {
		color: LinkText;
		text-decoration-line: underline;
	}

	:where(
		.wp-block-paragraph,
		.wp-block-list li,
		.wp-block-quote > p,
		.wp-block-quote > cite,
		.wp-block-pullquote:not(.is-style-solid-color) blockquote > p,
		.wp-block-pullquote:not(.is-style-solid-color) blockquote > cite,
		.wp-block-table th,
		.wp-block-table td,
		.wp-block-table figcaption
	) a:not(.wp-element-button):focus-visible {
		outline-color: Highlight;
	}
}

.wp-block-list {
	margin-block: 0;
	padding-inline-start: 2em;
	list-style-position: outside;
}

.wp-block-list ul,
.wp-block-list ol {
	margin-block: var(--wp--preset--spacing--10) 0;
	padding-inline-start: var(--wp--preset--spacing--60);
	list-style-position: outside;
}

.wp-block-list li {
	padding-inline-start: var(--wp--preset--spacing--20);
}

.wp-block-list li + li {
	margin-block-start: var(--wp--preset--spacing--10);
}

ul.wp-block-list > li,
.wp-block-list ul > li {
	position: relative;
	padding-inline-start: var(--wp--preset--spacing--20);
}

ul.wp-block-list > li::marker,
.wp-block-list ul > li::marker {
	color: transparent;
}

ul.wp-block-list > li::before,
.wp-block-list ul > li::before {
	position: absolute;
	inset-block-start: 0;
	inset-inline-start: calc(-1 * 1em);
	inline-size: 1em;
	block-size: 1.5em;
}

ul.wp-block-list:not(.is-style-sggw-particle-list, .is-style-checkmark-list) > li::before,
.wp-block-list ul > li::before {
	border-radius: var(--wp--custom--radius--full);
	background-color: currentColor;
	clip-path: circle(calc(0.25em / 2) at center);
	content: "";
}

ul.wp-block-list.is-style-sggw-particle-list > li::marker,
ul.wp-block-list.is-style-checkmark-list > li::marker {
	color: transparent;
}

ul.wp-block-list.is-style-sggw-particle-list > li::before,
ul.wp-block-list.is-style-checkmark-list > li::before {
	display: grid;
	place-items: center;
}

ul.wp-block-list.is-style-sggw-particle-list > li::before {
	background-color: currentColor;
	content: "";
	-webkit-mask-image: var(--sggw-particle-shape-pollen);
	mask-image: var(--sggw-particle-shape-pollen);
	-webkit-mask-mode: alpha;
	mask-mode: alpha;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: 0.54em;
	mask-size: 0.54em;
}

ul.wp-block-list.is-style-checkmark-list > li::marker {
	content: "✓";
	font-size: 1em;
}

ul.wp-block-list.is-style-checkmark-list > li::before {
	content: "✓";
	font-size: 1em;
	line-height: 1;
}

.wp-block-separator,
.wp-block-separator.is-style-wide,
.wp-block-separator.is-style-dots {
	width: 100% !important;
	max-width: var(--wp--style--global--content-size) !important;
	height: 0 !important;
	border: 0 !important;
	border-block-end: var(--wp--custom--line--width) solid var(--sggw-line) !important;
	background: none !important;
	opacity: 1 !important;
}

.wp-block-separator.alignwide {
	max-width: var(--wp--style--global--wide-size) !important;
}

.wp-block-separator.alignfull {
	max-width: none !important;
}

.wp-block-separator.is-style-dots::before {
	content: none !important;
}

@media (forced-colors: active) {
	ul.wp-block-list > li::marker,
	.wp-block-list ul > li::marker,
	ul.wp-block-list.is-style-sggw-particle-list > li::marker,
	ul.wp-block-list.is-style-checkmark-list > li::marker {
		color: CanvasText;
	}

	ul.wp-block-list > li::before,
	.wp-block-list ul > li::before,
	ul.wp-block-list.is-style-sggw-particle-list > li::before,
	ul.wp-block-list.is-style-checkmark-list > li::before {
		display: none;
	}

	.wp-block-separator,
	.wp-block-separator.is-style-wide,
	.wp-block-separator.is-style-dots {
		border-block-end-color: CanvasText !important;
	}

	.wp-block-pullquote:not(.is-style-solid-color) {
		border-block-color: CanvasText;
	}
}
