/* Shared frontend/editor presentation for the reusable RimaViro patterns. */
.rima-pattern-hero {
	padding: var(--rima-space-section) var(--rima-gutter);
	background: var(--rima-surface-blue);
}

.rima-pattern-hero__inner,
.rima-pattern-intro,
.rima-pattern-content,
.rima-pattern-cards,
.rima-pattern-cta {
	width: var(--rima-container-width);
	max-width: var(--rima-container);
	margin-inline: auto;
}

.rima-pattern-hero__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(18rem, .85fr);
	gap: clamp(2rem, 6vw, 5rem);
	align-items: end;
}

.rima-pattern-hero h1,
.rima-pattern-intro h2,
.rima-pattern-content h2,
.rima-pattern-cards > h2,
.rima-pattern-cta h2 {
	margin-top: 0;
}

.rima-pattern-hero__lead,
.rima-pattern-intro__copy,
.rima-pattern-content > p,
.rima-pattern-card p {
	color: var(--rima-muted);
}

.rima-pattern-intro {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
	gap: clamp(2rem, 7vw, 5.5rem);
	align-items: start;
	padding-block: var(--rima-space-section);
}

.rima-pattern-content,
.rima-pattern-cards {
	padding-block: var(--rima-space-section);
}

.rima-pattern-content > * {
	max-width: var(--rima-reading);
	margin-inline: auto;
}

.rima-pattern-card-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.25rem;
	margin-top: 2.5rem;
}

.rima-pattern-card {
	min-height: 13rem;
	padding: clamp(1.5rem, 3vw, 2.25rem);
	border: 1px solid var(--rima-border);
	border-radius: var(--rima-card-radius);
	background: var(--rima-white);
	box-shadow: var(--rima-shadow-soft);
}

.rima-pattern-card h3 {
	margin: 0 0 .75rem;
	font-size: 1.3rem;
	font-weight: 700;
	letter-spacing: -.02em;
}

.rima-pattern-cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2.5rem;
	margin-block: var(--rima-space-section);
	padding: clamp(2rem, 5vw, 4rem);
	border-radius: var(--rima-cta-radius);
	background: var(--rima-cta-gradient);
	color: var(--rima-white);
	box-shadow: var(--rima-shadow-soft);
}

.rima-pattern-cta__copy {
	max-width: 46rem;
}

.rima-pattern-cta p,
.rima-pattern-cta h2 {
	color: inherit;
}

.rima-pattern-cta .wp-block-buttons {
	flex: 0 0 auto;
}

@media (max-width: 782px) {
	.rima-pattern-hero {
		padding-block: var(--rima-space-section-mobile);
	}

	.rima-pattern-intro,
	.rima-pattern-content,
	.rima-pattern-cards {
		padding-block: var(--rima-space-section-mobile);
	}

	.rima-pattern-cta {
		margin-block: var(--rima-space-section-mobile);
	}

	.rima-pattern-hero__inner,
	.rima-pattern-intro {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}

	.rima-pattern-card-grid {
		grid-template-columns: 1fr;
	}

	.rima-pattern-cta {
		display: block;
	}

	.rima-pattern-cta .wp-block-buttons {
		margin-top: 1.5rem;
	}
}
