.cf7sc-counter {
	--cf7sc-accent: #009b2f;
	--cf7sc-accent-strong: #008529;
	--cf7sc-surface: #f6fcf7;
	--cf7sc-border: #b8dfc3;

	display: flex;
	align-items: center;
	gap: 0.75rem;
	box-sizing: border-box;
	margin: 0 0 20px !important;
	padding: 0.9rem 1rem;
	border: 1px solid var(--cf7sc-border);
	border-left: 4px solid var(--cf7sc-accent);
	border-radius: 4px;
	background: var(--cf7sc-surface);
	color: inherit;
	font-family: inherit;
	line-height: 1.45;
	transition: opacity 160ms ease;
}

.cf7sc-counter.is-updating {
	opacity: 0.72;
}

/*
 * The page builder applies 50px !important to direct div children of CF7.
 * The counter uses an aside and this direct-child rule fixes its own spacing.
 */
.wpcf7 form > aside.cf7sc-counter {
	margin-bottom: 20px !important;
}

.cf7sc-counter__mark {
	display: inline-grid;
	flex: 0 0 2rem;
	place-items: center;
	width: 2rem;
	height: 2rem;
	border-radius: 4px;
	background: var(--cf7sc-accent);
	color: #fff;
	font-weight: 700;
}

.cf7sc-counter__number {
	color: var(--cf7sc-accent-strong);
	font-size: 1.35em;
	font-variant-numeric: tabular-nums;
	font-weight: 800;
}

.cf7sc-counter__label {
	font-weight: 600;
}

@media (max-width: 480px) {
	.cf7sc-counter {
		align-items: flex-start;
		padding: 0.85rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.cf7sc-counter {
		transition: none;
	}
}
