/**
 * Registration form. Colours come from the MacDade Run theme's CSS variables
 * when it is active, and fall back to sensible values everywhere else.
 */

.macdade-reg {
	--reg-accent: var(--macdade-accent, #7CB92C);
	--reg-ink: var(--macdade-heading, #0C2340);
	--reg-border: var(--macdade-border, #E1E5EA);
	--reg-radius: var(--macdade-btn-radius, 4px);
	--reg-error: #C0392B;
	max-width: 780px;
}

.macdade-reg__title { margin-bottom: 18px; }

.macdade-reg__row {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 0 20px;
}

.macdade-reg__field { margin: 0 0 18px; }

.macdade-reg__field label {
	display: block;
	margin-bottom: 6px;
	color: var(--reg-ink);
	font-size: 14px;
	font-weight: 700;
}

.macdade-reg__field input[type="text"],
.macdade-reg__field input[type="email"],
.macdade-reg__field input[type="tel"],
.macdade-reg__field select,
.macdade-reg__field textarea {
	width: 100%;
	padding: 12px 14px;
	background: #fff;
	border: 1px solid var(--reg-border);
	border-radius: var(--reg-radius);
	color: var(--reg-ink);
	font: inherit;
	font-size: 15px;
}

.macdade-reg__field input:focus,
.macdade-reg__field select:focus,
.macdade-reg__field textarea:focus {
	border-color: var(--reg-accent);
	outline: 2px solid transparent;
	box-shadow: 0 0 0 3px rgba(124, 185, 44, .22);
}

.macdade-reg__field--check label {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	font-weight: 400;
	font-size: 14px;
	line-height: 1.5;
}

.macdade-reg__field--check input { margin-top: 3px; }

/* Off-screen rather than display:none — a bot that skips hidden fields still
   fills this one in, which is the point. */
.macdade-reg__gotcha {
	position: absolute !important;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.macdade-reg__field.has-error input,
.macdade-reg__field.has-error select,
.macdade-reg__field.has-error textarea { border-color: var(--reg-error); }

.macdade-reg__error {
	display: block;
	margin-top: 5px;
	color: var(--reg-error);
	font-size: 13px;
	font-weight: 600;
}

.macdade-reg__actions { margin: 6px 0 0; }

.macdade-reg__submit[disabled] { opacity: .6; cursor: progress; }

/* Standalone styling for sites not running the MacDade Run theme. */
.macdade-reg__submit:not(.macdade-btn) {
	padding: 14px 30px;
	background: var(--reg-accent);
	border: 0;
	border-radius: var(--reg-radius);
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: .6px;
	text-transform: uppercase;
	cursor: pointer;
}

.macdade-reg__message { margin-top: 18px; }

.macdade-reg__message:empty { margin-top: 0; }

.macdade-reg__message p {
	margin: 0;
	padding: 16px 18px;
	border-left: 4px solid var(--reg-accent);
	background: rgba(124, 185, 44, .1);
	border-radius: var(--reg-radius);
}

.macdade-reg__message.is-error p {
	border-left-color: var(--reg-error);
	background: rgba(192, 57, 43, .08);
}

.macdade-reg--closed p {
	margin: 0;
	padding: 20px 22px;
	background: var(--macdade-surface-alt, #F2F4F6);
	border-radius: var(--reg-radius);
}
