/* Membership registration form — self-contained editorial design, kept
   close to the originally supplied template. Loaded only on the page using
   the "Membership Registration Form" page template. */

.smc-mf-root {
	--mf-paper: #EFEBE2;
	--mf-card: #FBF9F4;
	--mf-ink: #22262B;
	--mf-ink-soft: #565C64;
	--mf-navy: #23324A;
	--mf-navy-deep: #1A2436;
	--mf-brass: #B4975A;
	--mf-brass-soft: #E7D6AC;
	--mf-hairline: #D9D3C4;
	--mf-error: #A23B32;
	--mf-ok: #3C6E4A;

	background: var(--mf-paper);
	color: var(--mf-ink);
	font-family: 'Work Sans', var(--sm-font-body);
	line-height: 1.5;
}
.smc-mf-root *, .smc-mf-root *::before, .smc-mf-root *::after { box-sizing: border-box; }
.smc-mf-root h1, .smc-mf-root h2, .smc-mf-root h3 { font-family: 'Bitter', var(--sm-font-heading); margin: 0; }
.smc-mf-wrap { max-width: 720px; margin: 0 auto; padding: 0 0 64px; }

/* Masthead */
.smc-mf-masthead {
	background: linear-gradient(180deg, var(--mf-navy) 0%, var(--mf-navy-deep) 100%);
	color: #F4F1E8;
	padding: 40px 28px 34px;
	border-bottom: 4px solid var(--mf-brass);
}
.smc-mf-masthead .smc-mf-kicker { font-size: 13px; color: var(--mf-brass-soft); margin-bottom: 10px; letter-spacing: 0.02em; }
.smc-mf-masthead h1 { font-size: clamp(28px, 5vw, 38px); font-weight: 700; letter-spacing: -0.01em; }
.smc-mf-masthead p { margin: 10px 0 0; font-size: 15px; color: #C9CFDA; max-width: 52ch; }
.smc-mf-masthead .smc-mf-stat { margin-top: 20px; font-size: 13px; color: var(--mf-brass-soft); border-top: 1px solid rgba(244, 241, 232, 0.18); padding-top: 14px; }

/* Card */
.smc-mf-card {
	background: var(--mf-card);
	margin: -18px 20px 0;
	border-radius: 2px;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
	border: 1px solid var(--mf-hairline);
	overflow: hidden;
}
.smc-mf-root form { padding: 8px 28px 28px; }

.smc-mf-section { padding: 26px 0 22px; border-bottom: 1px solid var(--mf-hairline); }
.smc-mf-section:last-of-type { border-bottom: none; }
.smc-mf-section-head { display: flex; align-items: baseline; gap: 12px; margin-bottom: 18px; }
.smc-mf-section-num {
	flex: none; width: 26px; height: 26px;
	background: var(--mf-navy); color: #F4F1E8;
	font-family: 'Bitter', var(--sm-font-heading); font-size: 13px; font-weight: 600;
	display: flex; align-items: center; justify-content: center; border-radius: 1px;
}
.smc-mf-section-head h2 { font-size: 19px; color: var(--mf-navy); }
.smc-mf-section-sub { font-size: 13px; color: var(--mf-ink-soft); margin: 4px 0 0 38px; }

.smc-mf-field { margin-bottom: 16px; }
.smc-mf-row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 520px) { .smc-mf-row2 { grid-template-columns: 1fr; } }

.smc-mf-root label { display: block; font-size: 13.5px; color: var(--mf-ink); margin-bottom: 6px; font-weight: 500; }
.smc-mf-root label .smc-mf-req { color: var(--mf-error); margin-left: 2px; }
.smc-mf-root label .smc-mf-opt { color: var(--mf-ink-soft); font-weight: 400; font-size: 12px; margin-left: 4px; }

.smc-mf-root input[type=text], .smc-mf-root input[type=email], .smc-mf-root input[type=tel], .smc-mf-root input[type=date],
.smc-mf-root select, .smc-mf-root textarea {
	width: 100%; padding: 10px 12px;
	font-family: 'Work Sans', var(--sm-font-body); font-size: 14.5px; color: var(--mf-ink);
	background: #fff; border: 1px solid var(--mf-hairline); border-radius: 2px; outline: none;
}
.smc-mf-root input:focus, .smc-mf-root select:focus, .smc-mf-root textarea:focus {
	border-color: var(--mf-navy); box-shadow: 0 0 0 3px rgba(35, 50, 74, 0.12);
}
.smc-mf-root textarea { resize: vertical; min-height: 78px; }

.smc-mf-radio-group, .smc-mf-check-group { display: flex; flex-wrap: wrap; gap: 10px 18px; }
.smc-mf-radio-option, .smc-mf-check-option { display: flex; align-items: center; gap: 7px; font-size: 14px; }
.smc-mf-radio-option input, .smc-mf-check-option input { width: auto; margin: 0; }

.smc-mf-declaration {
	background: #F3EEE1; border: 1px solid var(--mf-hairline); border-left: 3px solid var(--mf-brass);
	padding: 14px 16px; font-size: 13.5px; color: var(--mf-ink-soft); margin-bottom: 16px;
}

.smc-mf-error-msg { font-size: 12.5px; color: var(--mf-error); margin-top: 4px; display: none; }
.smc-mf-field.is-invalid input, .smc-mf-field.is-invalid select, .smc-mf-field.is-invalid textarea { border-color: var(--mf-error); }
.smc-mf-field.is-invalid .smc-mf-error-msg { display: block; }

.smc-mf-submit-row { padding-top: 22px; }
.smc-mf-root button.smc-mf-submit {
	width: 100%; background: var(--mf-navy); color: #F4F1E8; border: none; padding: 14px 18px;
	font-family: 'Work Sans', var(--sm-font-body); font-size: 15px; font-weight: 600;
	border-radius: 2px; cursor: pointer; transition: background 0.15s ease;
}
.smc-mf-root button.smc-mf-submit:hover { background: var(--mf-navy-deep); }
.smc-mf-root button.smc-mf-submit:disabled { opacity: 0.6; cursor: not-allowed; }

.smc-mf-form-note { font-size: 12px; color: var(--mf-ink-soft); margin-top: 10px; text-align: center; }

/* Success state */
.smc-mf-success { display: none; text-align: center; padding: 50px 28px 44px; }
.smc-mf-success .smc-mf-badge {
	display: inline-block; background: var(--mf-navy); color: var(--mf-brass-soft);
	font-family: 'Bitter', var(--sm-font-heading); font-size: 14px; padding: 8px 16px; border-radius: 2px; margin-bottom: 18px;
}
.smc-mf-success h2 { font-size: 22px; color: var(--mf-navy); margin-bottom: 8px; }
.smc-mf-success p { color: var(--mf-ink-soft); font-size: 14.5px; max-width: 44ch; margin: 0 auto; }
.smc-mf-success .smc-mf-id { font-family: 'Bitter', var(--sm-font-heading); font-size: 26px; color: var(--mf-ink); margin: 18px 0; letter-spacing: 0.02em; }
.smc-mf-success button {
	margin-top: 20px; background: transparent; border: 1px solid var(--mf-navy); color: var(--mf-navy);
	padding: 10px 18px; font-size: 14px; font-weight: 500; border-radius: 2px; cursor: pointer;
	font-family: 'Work Sans', var(--sm-font-body);
}
