/**
 * AIGROW components layer.
 *
 * Scope: Buttons (block style variations), cards, chips/tags, Chloe chip,
 * tables (is-style-data), lists (is-style-checks), pagination, notices,
 * publication-meta panel.
 * Load order: base, components, patterns, chrome, forms.
 * Use theme.json tokens only: var(--wp--preset--*), var(--wp--custom--*).
 *
 * Contents
 *  1. Icons (CSS masks from assets/icons/, no icon font)
 *  2. Text styles: eyebrow, lead, display H2, arrow link
  *  3. Buttons: primary, outline, external, on dark, outline on dark, arrow,
  *  tertiary
 *  4. Images: rounded, circle media, browser frame
 *  5. Cards: card, publication card, product card, post card
 *  6. Tags and chips
 *  7. Lists: checks
 *  8. Data table (stacks below 782px)
 *  9. Details: FAQ rows
 * 10. Notices, pull quote
 * 11. Pagination, post navigation
 * 12. Search field
 */

/* -------------------------------------------------------------------------
 * 1. Icons
 *    Any element with .has-icon gets a ::before icon drawn with a mask in
 *    currentColor (or --aigrow-icon-color). Pick the icon with .is-icon-{name}.
 * ---------------------------------------------------------------------- */
.has-icon {
	--aigrow-icon-size: 24px;
	--aigrow-icon-color: var(--wp--preset--color--primary);
}

.has-icon::before {
	content: "";
	display: block;
	flex: none;
	width: var(--aigrow-icon-size);
	height: var(--aigrow-icon-size);
	background-color: var(--aigrow-icon-color);
	-webkit-mask: var(--aigrow-icon) center / contain no-repeat;
	mask: var(--aigrow-icon) center / contain no-repeat;
}

.is-icon-arrow-right {
	--aigrow-icon: url(../icons/arrow-right.svg);
}

.is-icon-bell {
	--aigrow-icon: url(../icons/bell.svg);
}

.is-icon-building-2 {
	--aigrow-icon: url(../icons/building-2.svg);
}

.is-icon-calendar-days {
	--aigrow-icon: url(../icons/calendar-days.svg);
}

.is-icon-carbon {
	--aigrow-icon: url(../icons/carbon.svg);
}

.is-icon-clipboard-check {
	--aigrow-icon: url(../icons/clipboard-check.svg);
}

.is-icon-cpu {
	--aigrow-icon: url(../icons/cpu.svg);
}

.is-icon-database {
	--aigrow-icon: url(../icons/database.svg);
}

.is-icon-droplets {
	--aigrow-icon: url(../icons/droplets.svg);
}

.is-icon-file-text {
	--aigrow-icon: url(../icons/file-text.svg);
}

.is-icon-graduation-cap {
	--aigrow-icon: url(../icons/graduation-cap.svg);
}

.is-icon-languages {
	--aigrow-icon: url(../icons/languages.svg);
}

.is-icon-layers {
	--aigrow-icon: url(../icons/layers.svg);
}

.is-icon-leaf {
	--aigrow-icon: url(../icons/leaf.svg);
}

.is-icon-map {
	--aigrow-icon: url(../icons/map.svg);
}

.is-icon-map-pin {
	--aigrow-icon: url(../icons/map-pin.svg);
}

.is-icon-message-circle {
	--aigrow-icon: url(../icons/message-circle.svg);
}

.is-icon-mic {
	--aigrow-icon: url(../icons/mic.svg);
}

.is-icon-monitor-smartphone {
	--aigrow-icon: url(../icons/monitor-smartphone.svg);
}

.is-icon-newspaper {
	--aigrow-icon: url(../icons/newspaper.svg);
}

.is-icon-radio {
	--aigrow-icon: url(../icons/radio.svg);
}

.is-icon-satellite {
	--aigrow-icon: url(../icons/satellite.svg);
}

.is-icon-search {
	--aigrow-icon: url(../icons/search.svg);
}

.is-icon-shield-check {
	--aigrow-icon: url(../icons/shield-check.svg);
}

.is-icon-sparkles {
	--aigrow-icon: url(../icons/sparkles.svg);
}

.is-icon-sprout {
	--aigrow-icon: url(../icons/sprout.svg);
}

.is-icon-trees {
	--aigrow-icon: url(../icons/trees.svg);
}

.is-icon-trending-up {
	--aigrow-icon: url(../icons/trending-up.svg);
}

.is-icon-user-cog {
	--aigrow-icon: url(../icons/user-cog.svg);
}

.is-icon-users {
	--aigrow-icon: url(../icons/users.svg);
}

/* Icon in a 44px tint tile (feature grid, tiles, steps). */
.has-icon.is-icon-tile::before,
.aigrow-feature.has-icon::before,
.aigrow-tile.has-icon::before,
.aigrow-step.has-icon::before {
	width: 44px;
	height: 44px;
	border-radius: var(--wp--custom--radius--sm);
	background-color: var(--wp--preset--color--tint);
	-webkit-mask: none;
	mask: none;
	background-image: none;
}

/* The icon itself sits on the tile through a second layer (::after on the
 * tile owner is free). */
.aigrow-feature.has-icon,
.aigrow-tile.has-icon,
.aigrow-step.has-icon {
	position: relative;
}

.aigrow-feature.has-icon::after,
.aigrow-tile.has-icon::after,
.aigrow-step.has-icon::after {
	content: "";
	position: absolute;
	top: 10px;
	left: 10px;
	width: 24px;
	height: 24px;
	background-color: var(--aigrow-icon-color);
	-webkit-mask: var(--aigrow-icon) center / contain no-repeat;
	mask: var(--aigrow-icon) center / contain no-repeat;
	pointer-events: none;
}

/* -------------------------------------------------------------------------
 * 2. Text styles
 * ---------------------------------------------------------------------- */

/* Eyebrow: x-small, uppercase (Greek drops the tonos with lang="el"), leaf
 * rule. */
.is-style-eyebrow,
.aigrow-eyebrow {
	display: flex;
	gap: 0.625rem;
	align-items: center;
	margin-block-end: 0;
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
}

.is-style-eyebrow::before,
.aigrow-eyebrow::before {
	content: "";
	flex: none;
	width: 24px;
	height: 3px;
	border-radius: 2px;
	background: var(--wp--preset--color--leaf);
}

.is-style-eyebrow + :where(h1, h2, h3) {
	margin-block-start: var(--wp--preset--spacing--30);
}

:where(.is-style-band-dark, .has-surface-dark-background-color) .is-style-eyebrow {
	color: var(--wp--preset--color--lime);
}

:where(.is-style-chloe-panel) .is-style-eyebrow {
	color: var(--wp--preset--color--chloe-text);
}

:where(.is-style-chloe-panel) .is-style-eyebrow::before {
	background: var(--wp--preset--color--chloe);
}

.is-style-lead {
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.5;
	color: var(--wp--preset--color--text);
	max-width: 62ch;
}

/* Looks like an H2 without being a heading (CTA band, chrome). */
.is-style-display-h2 {
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--xxx-large);
	font-weight: 700;
	line-height: var(--wp--custom--line-height--heading);
	letter-spacing: -0.01em;
	color: var(--wp--preset--color--ink);
	text-wrap: balance;
}

:where(.is-style-band-dark, .has-surface-dark-background-color) .is-style-display-h2 {
	color: var(--wp--preset--color--base);
}

/* Arrow link: standalone CTA link, arrow drawn as an SVG mask (never a typed
 * character). */
.is-style-arrow a,
.wp-block-read-more.aigrow-learn-more,
.aigrow-link-arrow {
	display: inline-flex;
	gap: 0.5rem;
	align-items: center;
	min-height: 44px;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
	color: var(--wp--preset--color--primary);
	text-decoration: none;
}

.is-style-arrow a::after,
.wp-block-read-more.aigrow-learn-more::after,
.aigrow-link-arrow::after {
	content: "";
	flex: none;
	width: 16px;
	height: 16px;
	background-color: currentcolor;
	-webkit-mask: url(../icons/arrow-right.svg) center / contain no-repeat;
	mask: url(../icons/arrow-right.svg) center / contain no-repeat;
	transition: transform var(--wp--custom--motion--base) var(--wp--custom--motion--ease-out);
}

.is-style-arrow a:hover,
.wp-block-read-more.aigrow-learn-more:hover {
	color: var(--wp--preset--color--primary-dark);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

.is-style-arrow a:hover::after,
.wp-block-read-more.aigrow-learn-more:hover::after {
	transform: translateX(3px);
}

:where(.is-style-band-dark, .has-surface-dark-background-color) .is-style-arrow a {
	color: var(--wp--preset--color--lime);
}

:where(.is-style-chloe-panel) .is-style-arrow a {
	color: var(--wp--preset--color--chloe-text);
}

/* -------------------------------------------------------------------------
 * 3. Buttons (core/button)
 * ---------------------------------------------------------------------- */
.wp-block-buttons {
	gap: var(--wp--preset--spacing--30);
}

.wp-block-button__link {
	display: inline-flex;
	gap: 0.5rem;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	transition:
		background-color var(--wp--custom--motion--fast) ease,
		border-color var(--wp--custom--motion--fast) ease,
		color var(--wp--custom--motion--fast) ease,
		box-shadow var(--wp--custom--motion--base) ease,
		transform var(--wp--custom--motion--fast) ease;
}

.wp-block-button:not(.is-style-arrow, .is-style-tertiary) .wp-block-button__link:hover {
	box-shadow: var(--wp--preset--shadow--sm);
}

.wp-block-button__link:active {
	transform: translateY(1px);
}

/* Outline (core style): 1.5px primary border, hover tint. */
.wp-block-button.is-style-outline > .wp-block-button__link,
.wp-block-button.is-style-external > .wp-block-button__link {
	border: 1.5px solid var(--wp--preset--color--primary);
	background-color: transparent;
	color: var(--wp--preset--color--primary);
	padding: calc(0.75rem - 1.5px) calc(1.375rem - 1.5px);
}

.wp-block-button.is-style-outline > .wp-block-button__link:hover,
.wp-block-button.is-style-external > .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--tint);
	color: var(--wp--preset--color--primary-dark);
	border-color: var(--wp--preset--color--primary-dark);
}

/* Trailing icons: external (arrow-up-right), arrow (arrow-right). */
.wp-block-button.is-style-external > .wp-block-button__link::after,
.wp-block-button.has-arrow > .wp-block-button__link::after,
.wp-block-button.is-style-arrow > .wp-block-button__link::after {
	content: "";
	flex: none;
	width: 16px;
	height: 16px;
	background-color: currentcolor;
	-webkit-mask: url(../icons/arrow-right.svg) center / contain no-repeat;
	mask: url(../icons/arrow-right.svg) center / contain no-repeat;
	transition: transform var(--wp--custom--motion--base) var(--wp--custom--motion--ease-out);
}

.wp-block-button.is-style-external > .wp-block-button__link::after {
	-webkit-mask-image: url(../icons/arrow-up-right.svg);
	mask-image: url(../icons/arrow-up-right.svg);
}

.wp-block-button.has-arrow > .wp-block-button__link:hover::after,
.wp-block-button.is-style-arrow > .wp-block-button__link:hover::after {
	transform: translateX(3px);
}

/* On dark (CTA band): lime with petrol text. */
.wp-block-button.is-style-on-dark > .wp-block-button__link {
	background-color: var(--wp--preset--color--lime);
	color: var(--wp--preset--color--surface-dark);
}

.wp-block-button.is-style-on-dark > .wp-block-button__link:hover {
	background-color: var(--wp--custom--color--on-dark-hover);
	color: var(--wp--preset--color--surface-dark);
}

.wp-block-button.is-style-outline-on-dark > .wp-block-button__link {
	border: 1.5px solid var(--wp--preset--color--base);
	background-color: transparent;
	color: var(--wp--preset--color--base);
	padding: calc(0.75rem - 1.5px) calc(1.375rem - 1.5px);
}

.wp-block-button.is-style-outline-on-dark > .wp-block-button__link:hover {
	background-color: rgba(255, 255, 255, 0.08);
	color: var(--wp--preset--color--base);
}

/* Arrow (text link look, not a box). */
.wp-block-button.is-style-arrow > .wp-block-button__link {
	min-height: 44px;
	padding: 0;
	background: none;
	color: var(--wp--preset--color--primary);
}

.wp-block-button.is-style-arrow > .wp-block-button__link:hover {
	background: none;
	color: var(--wp--preset--color--primary-dark);
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

/* Tertiary: body 600 small, leading copy icon, 44px hit area. */
.wp-block-button.is-style-tertiary > .wp-block-button__link {
	min-height: 44px;
	padding: 0 0.25rem;
	background: none;
	color: var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
}

.wp-block-button.is-style-tertiary > .wp-block-button__link::before {
	content: "";
	width: 16px;
	height: 16px;
	background-color: currentcolor;
	-webkit-mask: url(../icons/copy.svg) center / contain no-repeat;
	mask: url(../icons/copy.svg) center / contain no-repeat;
}

.wp-block-button.is-style-tertiary > .wp-block-button__link:hover {
	background: var(--wp--preset--color--tint);
}

/* Hero buttons stack full width on phones. */
@media (max-width: 599.98px) {

	.aigrow-hero-actions,
	.aigrow-hero-actions .wp-block-button {
		width: 100%;
	}

	.aigrow-hero-actions .wp-block-button__link {
		width: 100%;
		min-height: 56px;
	}
}

/* -------------------------------------------------------------------------
 * 4. Images
 * ---------------------------------------------------------------------- */
.is-style-rounded-lg img,
img.is-style-rounded-lg,
.wp-block-post-featured-image.is-style-rounded-lg img {
	border-radius: var(--wp--custom--radius--lg);
}

.is-style-circle-media img {
	max-width: 220px;
	aspect-ratio: 1;
	border-radius: 50%;
	object-fit: cover;
}

/* Screenshot in a light browser frame: top bar drawn with a gradient. */
.wp-block-image.is-style-browser-frame {
	overflow: hidden;
	padding-top: 22px;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--md);
	background:
		radial-gradient(circle at 14px 11px, var(--wp--preset--color--line) 4px, transparent 4.5px),
		radial-gradient(circle at 28px 11px, var(--wp--preset--color--line) 4px, transparent 4.5px),
		radial-gradient(circle at 42px 11px, var(--wp--preset--color--line) 4px, transparent 4.5px),
		var(--wp--preset--color--base);
	box-shadow: var(--wp--preset--shadow--lg);
}

.wp-block-image.is-style-browser-frame img {
	width: 100%;
	border-top: 1px solid var(--wp--preset--color--line);
}

.wp-block-image.is-style-browser-frame figcaption {
	margin: 0;
	padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
	border-top: 1px solid var(--wp--preset--color--line);
	text-align: left;
}

/* -------------------------------------------------------------------------
 * 5. Cards
 * ---------------------------------------------------------------------- */
.is-style-card {
	padding: var(--wp--preset--spacing--60);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--md);
	background-color: var(--wp--preset--color--base);
}

:where(.is-style-band-canvas) .is-style-card {
	box-shadow: var(--wp--preset--shadow--sm);
}

.is-style-card > :first-child {
	margin-block-start: 0;
}

.is-style-card-publication {
	position: relative;
	padding: var(--wp--preset--spacing--50);
	border-left: 3px solid var(--wp--preset--color--info);
	border-radius: var(--wp--custom--radius--md);
	background-color: var(--wp--preset--color--canvas);
}

.is-style-card-publication > * {
	margin-block: 0;
}

.is-style-card-publication > * + * {
	margin-block-start: var(--wp--preset--spacing--20);
}

.is-style-card-publication a {
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}

.is-style-card-publication a:hover {
	color: var(--wp--preset--color--primary);
	text-decoration: underline;
}

.aigrow-venue {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	color: var(--wp--preset--color--ink);
}

/* 5a. Product card: whole card clickable through the "Learn more" link. */
.aigrow-product-card {
	--product-accent: var(--wp--preset--color--primary);
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--line);
	border-top: 4px solid var(--product-accent);
	border-radius: var(--wp--custom--radius--md);
	background-color: var(--wp--preset--color--base);
	transition: box-shadow var(--wp--custom--motion--base) ease;
}

.aigrow-product-card:hover {
	box-shadow: var(--wp--preset--shadow--md);
}

.aigrow-product-card__media {
	margin: 0;
	overflow: hidden;
	background-color: var(--wp--preset--color--canvas);
}

.aigrow-product-card__media img {
	transition: transform var(--wp--custom--motion--slow) var(--wp--custom--motion--ease-out);
}

.aigrow-product-card:hover .aigrow-product-card__media img {
	transform: scale(1.03);
}

.aigrow-product-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: var(--wp--preset--spacing--30);
	padding: var(--wp--preset--spacing--60);
}

.aigrow-product-card__body > * {
	margin: 0;
}

.aigrow-product-card__icon .aigrow-product-field__icon,
.aigrow-product-card__icon img {
	width: 48px;
	height: 48px;
	border-radius: var(--wp--custom--radius--sm);
}

.aigrow-product-card__eyebrow {
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}

.aigrow-product-card__title {
	font-size: var(--wp--preset--font-size--x-large);
	font-weight: 800;
	color: var(--wp--preset--color--ink);
}

.aigrow-product-card__summary {
	color: var(--wp--preset--color--text);
}

.aigrow-product-card__actions {
	gap: var(--wp--preset--spacing--40);
	margin-top: auto;
	padding-top: var(--wp--preset--spacing--20);
}

/* Secondary links sit above the stretched card link. */
.aigrow-product-card__actions > :not(.aigrow-learn-more),
.aigrow-product-card .aigrow-chip,
.aigrow-product-card__bullets a {
	position: relative;
	z-index: 1;
}

.aigrow-product-card .wp-block-read-more.is-stretched-link {
	position: static;
}

.aigrow-product-card .wp-block-read-more.is-stretched-link::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
}

/* Focus ring on the whole card when its link is focused. */
.aigrow-product-card:has(.aigrow-learn-more:focus-visible) {
	outline: var(--aigrow-focus-width) solid var(--aigrow-focus-color);
	outline-offset: var(--aigrow-focus-offset);
}

.aigrow-product-card .aigrow-learn-more:focus-visible {
	outline: none;
}

/* 5b. Post card (news grid, latest posts, related). */
.aigrow-post-card {
	position: relative;
	gap: var(--wp--preset--spacing--30);
	height: 100%;
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--md);
	background-color: var(--wp--preset--color--base);
	transition: box-shadow var(--wp--custom--motion--base) ease;
}

.aigrow-post-card:hover {
	box-shadow: var(--wp--preset--shadow--md);
}

.aigrow-post-card > * {
	align-self: stretch;
	margin: 0;
	padding-inline: var(--wp--preset--spacing--50);
}

.aigrow-post-card > :last-child {
	padding-bottom: var(--wp--preset--spacing--50);
}

.aigrow-post-card > .aigrow-post-card__media {
	padding: 0;
}

.aigrow-post-card__media img {
	border-radius: 0;
}

/* No image: the card leads with its tag row (publication look: info rule,
 * canvas). */
.aigrow-post-card:not(:has(.aigrow-post-card__media)) {
	padding-top: var(--wp--preset--spacing--50);
}

.aigrow-post-card:not(:has(.aigrow-post-card__media)):has(.aigrow-tags a[href*="/publications/"]) {
	border-left: 3px solid var(--wp--preset--color--info);
	background-color: var(--wp--preset--color--canvas);
}

/* News or event without an image: 16:9 canvas panel with the logo mark at
 * ~15%. */
.aigrow-post-card:not(:has(.aigrow-post-card__media)):not(:has(.aigrow-tags a[href*="/publications/"])) {
	padding-top: 0;
}

.aigrow-post-card:not(:has(.aigrow-post-card__media)):not(:has(.aigrow-tags a[href*="/publications/"]))::before {
	content: "";
	display: block;
	align-self: stretch;
	width: 100%;
	aspect-ratio: 16 / 9;
	background:
		linear-gradient(rgba(245, 247, 243, 0.85), rgba(245, 247, 243, 0.85)),
		url(../images/logo/aigrow-mark.png) center / 28% auto no-repeat,
		var(--wp--preset--color--canvas);
	background-blend-mode: normal, multiply, normal;
}

.aigrow-post-card__meta {
	gap: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
	align-items: center;
}

.aigrow-post-card__meta > * {
	margin: 0;
}

.aigrow-post-card__title {
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.3;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.aigrow-post-card__title a {
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}

.aigrow-post-card__title a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
}

.aigrow-post-card__title a:hover {
	color: var(--wp--preset--color--primary);
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

.aigrow-post-card:has(.aigrow-post-card__title a:focus-visible) {
	outline: var(--aigrow-focus-width) solid var(--aigrow-focus-color);
	outline-offset: var(--aigrow-focus-offset);
}

.aigrow-post-card__title a:focus-visible {
	outline: none;
}

.aigrow-post-card .aigrow-tags a,
.aigrow-post-card .wp-block-aigrow-publication-meta a {
	position: relative;
	z-index: 1;
}

.aigrow-post-card__excerpt {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--small);
}

.aigrow-post-card__excerpt .wp-block-post-excerpt__excerpt {
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* -------------------------------------------------------------------------
 * 6. Tags and chips
 * ---------------------------------------------------------------------- */
.aigrow-tag,
.aigrow-tags a,
.aigrow-chip {
	display: inline-flex;
	gap: 0.375em;
	align-items: center;
	width: fit-content;
	padding: 0.25rem 0.625rem;
	border-radius: var(--wp--custom--radius--pill);
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 600;
	line-height: 1.4;
	text-decoration: none;
	background-color: var(--wp--preset--color--tint);
	color: var(--wp--preset--color--primary);
}

.aigrow-tags {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--20);
}

.aigrow-tags .wp-block-post-terms__separator {
	display: none;
}

.aigrow-tags a:hover {
	text-decoration: underline;
}

.aigrow-tag--publications,
.aigrow-tags a[href*="/publications/"] {
	background-color: var(--wp--preset--color--info-soft);
	color: var(--wp--preset--color--info);
}

.aigrow-tag--events,
.aigrow-tags a[href*="/events/"] {
	border: 1px solid var(--wp--preset--color--line);
	background-color: var(--wp--preset--color--canvas);
	color: var(--wp--preset--color--ink);
}

.aigrow-tag--page,
.aigrow-tag--product {
	background-color: var(--wp--preset--color--canvas);
	color: var(--wp--preset--color--muted);
}

.aigrow-chip--soon {
	background-color: var(--wp--preset--color--info-soft);
	color: var(--wp--preset--color--info);
}

/* -------------------------------------------------------------------------
 * 7. Lists: checks
 * ---------------------------------------------------------------------- */
.is-style-checks,
.is-style-checks ul,
ul.is-style-checks {
	padding-left: 0;
	list-style: none;
}

.is-style-checks li {
	position: relative;
	padding-left: 1.875rem;
}

.is-style-checks li + li {
	margin-top: var(--wp--preset--spacing--20);
}

.is-style-checks li::before {
	content: "";
	position: absolute;
	top: 0.25em;
	left: 0;
	width: 20px;
	height: 20px;
	background-color: var(--wp--preset--color--primary);
	-webkit-mask: url(../icons/check.svg) center / contain no-repeat;
	mask: url(../icons/check.svg) center / contain no-repeat;
}

:where(.is-style-band-dark) .is-style-checks li::before {
	background-color: var(--wp--preset--color--lime);
}

@media (min-width: 600px) {

	.is-style-checks.is-2-cols {
		column-count: 2;
		column-gap: var(--wp--preset--spacing--60);
	}

	.is-style-checks.is-2-cols li {
		break-inside: avoid;
	}
}

/* -------------------------------------------------------------------------
 * 8. Data table (core/table is-style-data); cells carry data-label (PHP filter)
 * ---------------------------------------------------------------------- */
.wp-block-table.is-style-data {
	display: flex;
	flex-direction: column;
	margin: 0;
}

.wp-block-table.is-style-data figcaption {
	order: -1;
	margin: 0 0 var(--wp--preset--spacing--30);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	color: var(--wp--preset--color--muted);
	text-align: left;
}

.wp-block-table.is-style-data table {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--wp--preset--font-size--small);
}

.wp-block-table.is-style-data :is(th, td) {
	padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
	border: 0;
	border-bottom: 1px solid var(--wp--preset--color--line);
	text-align: left;
	vertical-align: top;
}

.wp-block-table.is-style-data thead th {
	border-bottom: 0;
	background-color: var(--wp--preset--color--tint);
	color: var(--wp--preset--color--ink);
	font-weight: 600;
}

.wp-block-table.is-style-data tbody th {
	font-weight: 600;
	color: var(--wp--preset--color--ink);
}

@media (max-width: 781.98px) {

	.wp-block-table.is-style-data thead {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip-path: inset(50%);
	}

	.wp-block-table.is-style-data :is(table, tbody, tr, th, td) {
		display: block;
	}

	.wp-block-table.is-style-data tr {
		margin-bottom: var(--wp--preset--spacing--40);
		border: 1px solid var(--wp--preset--color--line);
		border-radius: var(--wp--custom--radius--md);
		overflow: hidden;
	}

	.wp-block-table.is-style-data tbody th {
		background-color: var(--wp--preset--color--tint);
	}

	.wp-block-table.is-style-data td[data-label]::before {
		content: attr(data-label);
		display: block;
		font-weight: 600;
		color: var(--wp--preset--color--muted);
	}

	.wp-block-table.is-style-data tr > :last-child {
		border-bottom: 0;
	}
}

/* -------------------------------------------------------------------------
 * 9. Details: FAQ rows
 * ---------------------------------------------------------------------- */
.wp-block-details.is-style-faq {
	margin: 0;
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.wp-block-details.is-style-faq:first-of-type {
	border-top: 1px solid var(--wp--preset--color--line);
}

.wp-block-details.is-style-faq summary {
	display: flex;
	gap: var(--wp--preset--spacing--40);
	align-items: center;
	justify-content: space-between;
	min-height: 56px;
	padding: var(--wp--preset--spacing--30) 0;
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--large);
	font-weight: 700;
	color: var(--wp--preset--color--ink);
	cursor: pointer;
	list-style: none;
}

.wp-block-details.is-style-faq summary::-webkit-details-marker {
	display: none;
}

.wp-block-details.is-style-faq summary::after {
	content: "";
	flex: none;
	width: 20px;
	height: 20px;
	background-color: var(--wp--preset--color--primary);
	-webkit-mask: url(../icons/chevron-down.svg) center / contain no-repeat;
	mask: url(../icons/chevron-down.svg) center / contain no-repeat;
	transition: transform var(--wp--custom--motion--slow) var(--wp--custom--motion--ease-out);
}

.wp-block-details.is-style-faq[open] summary::after {
	transform: rotate(180deg);
}

.wp-block-details.is-style-faq > :not(summary) {
	margin-top: 0;
	padding-bottom: var(--wp--preset--spacing--40);
}

/* -------------------------------------------------------------------------
 * 10. Notices, pull quote
 * ---------------------------------------------------------------------- */
.aigrow-notice {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--20) var(--wp--preset--spacing--40);
	align-items: center;
	justify-content: space-between;
	padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--50);
	border-left: 4px solid var(--wp--preset--color--primary);
	border-radius: var(--wp--custom--radius--md);
	background-color: var(--wp--preset--color--canvas);
}

.aigrow-notice > * {
	margin: 0;
}

.aigrow-notice.is-info {
	border-left-color: var(--wp--preset--color--info);
}

.aigrow-notice.is-chloe {
	justify-content: flex-start;
	border-left-color: var(--wp--preset--color--chloe);
	background-color: var(--wp--preset--color--chloe-soft);
	color: var(--wp--preset--color--chloe-text);
	font-weight: 600;
	--aigrow-icon-color: var(--wp--preset--color--chloe);
}

.wp-block-pullquote {
	margin-block: var(--wp--preset--spacing--60);
	padding: 0 0 0 var(--wp--preset--spacing--50);
	border: 0;
	border-left: 3px solid var(--wp--preset--color--leaf);
	text-align: left;
}

.wp-block-pullquote blockquote {
	margin: 0;
}

.wp-block-pullquote p {
	font-size: inherit;
	line-height: inherit;
}

/* -------------------------------------------------------------------------
 * 11. Pagination, post navigation
 * ---------------------------------------------------------------------- */
.wp-block-query-pagination {
	gap: var(--wp--preset--spacing--20);
	margin-top: var(--wp--preset--spacing--70);
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
}

.wp-block-query-pagination-numbers {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--20);
}

.wp-block-query-pagination .page-numbers,
.wp-block-query-pagination-previous,
.wp-block-query-pagination-next {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	padding: 0 0.75rem;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--sm);
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}

.wp-block-query-pagination a:hover {
	background-color: var(--wp--preset--color--tint);
	color: var(--wp--preset--color--primary-dark);
}

.wp-block-query-pagination .page-numbers.current {
	border-color: var(--wp--preset--color--primary);
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
}

.wp-block-post-navigation-link a {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
}

/* -------------------------------------------------------------------------
 * 12. Search field (core/search)
 * ---------------------------------------------------------------------- */
.wp-block-search .wp-block-search__label {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	color: var(--wp--preset--color--ink);
}

.wp-block-search .wp-block-search__inside-wrapper {
	gap: var(--wp--preset--spacing--20);
	max-width: 36rem;
}

.wp-block-search .wp-block-search__input {
	min-height: 48px;
	padding: 0.75rem 0.875rem;
	border: 1px solid var(--wp--preset--color--line-strong);
	border-radius: var(--wp--custom--radius--sm);
	background-color: var(--wp--preset--color--base);
	font-size: max(1rem, var(--wp--preset--font-size--small));
}

.wp-block-search .wp-block-search__input:hover {
	border-color: var(--wp--preset--color--ink);
}

.wp-block-search .wp-block-search__input:focus-visible {
	border-color: var(--wp--preset--color--primary);
}

.wp-block-search .wp-block-search__button {
	min-height: 48px;
	margin: 0;
	padding: 0.75rem 1.25rem;
	border: 0;
	border-radius: var(--wp--custom--radius--sm);
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
}

.wp-block-search .wp-block-search__button:hover {
	background-color: var(--wp--preset--color--primary-dark);
}

/* Publication lines on post cards. */
.aigrow-post-card .aigrow-pub-authors {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--muted);
}

/* Product card app link (aigrow/product-actions, app only). */
.aigrow-product-card__app {
	margin: 0;
}

.aigrow-product-card__app .wp-block-button__link {
	min-height: 44px;
	padding-block: 0.5rem;
	font-size: var(--wp--preset--font-size--small);
}

/* External text link ("Visit proseed.ai"): trailing arrow-up-right. */
.aigrow-link-external {
	display: inline-flex;
	gap: 0.375rem;
	align-items: center;
	min-height: 44px;
	font-weight: 600;
}

.aigrow-link-external::after {
	content: "";
	flex: none;
	width: 16px;
	height: 16px;
	background-color: currentcolor;
	-webkit-mask: url(../icons/arrow-up-right.svg) center / contain no-repeat;
	mask: url(../icons/arrow-up-right.svg) center / contain no-repeat;
}

/* Keep the card link's arrow in place (base .is-stretched-link). */
.aigrow-product-card .wp-block-read-more.is-stretched-link::after {
	position: static;
	inset: auto;
	z-index: auto;
}
