/* WCM Registration Form — minimal layout/state styling. Colours intentionally
 * inherit from the theme / AutomaticCSS where possible. */

.wcm-reg-form-wrap { --wcm-reg-accent: var( --primary, #3b82f6 ); }

.wcm-reg-progress {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1rem;
	list-style: none;
	margin: 0 0 1.5rem;
	padding: 0;
}
.wcm-reg-step {
	display: inline-flex;
	align-items: center;
	gap: 0.4em;
	font-size: 0.85rem;
	opacity: 0.5;
	cursor: default;
}
.wcm-reg-step.is-active,
.wcm-reg-step.is-done { opacity: 1; }
.wcm-reg-step.is-done { cursor: pointer; }
.wcm-reg-step-n {
	display: inline-grid;
	place-items: center;
	width: 1.6em;
	height: 1.6em;
	border-radius: 50%;
	background: currentColor;
	color: #fff;
	font-size: 0.8em;
}
.wcm-reg-step-n { color: #888; }
.wcm-reg-step.is-active .wcm-reg-step-n,
.wcm-reg-step.is-done .wcm-reg-step-n { background: var( --wcm-reg-accent ); }

.wcm-reg-page { border: 0; margin: 0; padding: 0; display: none; }
.wcm-reg-page.is-active { display: block; }
.wcm-reg-page > legend { font-size: 1.25rem; font-weight: 600; margin-bottom: 1rem; }

.wcm-reg-cond.is-hidden { display: none; }

.wcm-reg-label { display: block; margin-bottom: 1rem; }
.wcm-reg-label > span { display: block; margin-bottom: 0.35rem; font-weight: 500; }
.wcm-reg-label em { color: #c0392b; font-style: normal; }
.wcm-reg-label input,
.wcm-reg-label select,
.wcm-reg-label textarea {
	width: 100%;
	padding: 0.6em 0.75em;
	border: 1px solid #cbd2d9;
	border-radius: 6px;
	font: inherit;
}
.wcm-reg-hint { display: block; margin-top: 0.25rem; color: #6b7280; font-size: 0.8rem; }

.wcm-reg-check { display: flex; gap: 0.6em; align-items: flex-start; line-height: 1.4; }
.wcm-reg-check input { margin-top: 0.2em; }

.wcm-reg-radio { border: 0; margin: 0 0 1rem; padding: 0; }
.wcm-reg-radio > legend { font-weight: 500; margin-bottom: 0.4rem; }
.wcm-reg-radio:has(.wcm-reg-hint) > legend { margin-bottom: 0.1rem; }
.wcm-reg-radio > .wcm-reg-hint { display: block; margin-top: 0; margin-bottom: 0.5rem; }
.wcm-reg-radio label { display: inline-flex; align-items: center; gap: 0.4em; margin-right: 1.5rem; }
.wcm-reg-radio em { color: #c0392b; font-style: normal; }

.has-error input,
.has-error select,
.has-error textarea { border-color: #c0392b; }
.has-error > legend,
.has-error > span { color: #c0392b; }

.wcm-reg-summary {
	display: grid;
	grid-template-columns: minmax( 8rem, max-content ) 1fr;
	margin: 1rem 0 1.5rem;
}
.wcm-reg-summary dt { font-weight: 600; }
.wcm-reg-summary dd { margin: 0; }

.wcm-reg-nav { display: flex; gap: 0.75rem; margin-top: 1.5rem; }
.wcm-reg-nav .wcm-reg-next,
.wcm-reg-nav .wcm-reg-submit { margin-left: auto; }

.wcm-reg-msg { margin-top: 1rem; font-size: 0.9rem; }
.wcm-reg-msg.is-error { color: #c0392b; }
.wcm-reg-msg.is-success { color: #1e7e34; }
.wcm-reg-msg.is-pending { color: #6b7280; }

.wcm-reg-notice,
.wcm-reg-done { padding: 1rem 1.25rem; border-radius: 8px; background: rgba( 0, 0, 0, 0.04 ); }
.wcm-reg-done { background: rgba( 30, 126, 52, 0.1 ); color: #1e7e34; }
