/**
 * CDS Signup — [cds_signup] field styling.
 *
 * Deliberately lightweight and fully scoped to .cds-signup. It mirrors the
 * themed field look of [cds_login] (dark inputs) but with WHITE labels, per the
 * owner's request. Meant as a "for now" pass — easy to refine or override from
 * the theme later. It styles only fields/buttons; the surrounding layout and
 * background are left to the page (Breakdance).
 */
.cds-signup {
	--accent: #2563eb;
	--ok: #16a34a;
	--crit: #ef4444;
	--surface-2: #1b2942;
	--line: #27395c;
	--text: #e8eef7;
	--muted: #93a2bd;
	--accent-soft: rgba(37, 99, 235, .15);

	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}
.cds-signup *,
.cds-signup *::before,
.cds-signup *::after { box-sizing: border-box; }

/* Error banner */
.cds-signup__err {
	margin: 0 0 12px;
	padding: 10px 13px;
	font-size: 13px;
	line-height: 1.45;
	color: #fff;
	background: var(--crit);
	border-radius: 10px;
}
.cds-signup__err a { color: #fff; text-decoration: underline; }

/* Fields */
.cds-signup__field { margin-bottom: 12px; }
.cds-signup__field label {
	display: block;
	margin-bottom: 5px;
	font-size: 13px;
	font-weight: 600;
	color: #fff; /* white labels, per request */
}
.cds-signup__field input {
	width: 100%;
	padding: 10px 13px;
	border: 1px solid var(--line);
	border-radius: 10px;
	background: var(--surface-2);
	color: var(--text);
	font-size: 14px;
}

/* First/last name row: 50/50 on desktop & landscape, stacked on portrait tablet & phones */
.cds-signup__row { display: flex; gap: 12px; }
.cds-signup__row .cds-signup__field { flex: 1 1 50%; min-width: 0; }
@media (max-width: 900px) {
	.cds-signup__row { display: block; }
}
.cds-signup__field input:focus {
	outline: none;
	border-color: var(--accent);
	box-shadow: 0 0 0 3px var(--accent-soft);
}
.cds-signup__field input::placeholder { color: var(--muted); opacity: .7; }

/* Password field + show/hide toggle */
.cds-signup__pwwrap { position: relative; }
.cds-signup__pwwrap input { padding-right: 44px; }
.cds-signup__pwtoggle {
	position: absolute;
	top: 50%;
	right: 6px;
	transform: translateY(-50%);
	background: transparent;
	border: 0;
	cursor: pointer;
	font-size: 16px;
	line-height: 1;
	padding: 7px;
	border-radius: 8px;
	opacity: .65;
}
.cds-signup__pwtoggle:hover { opacity: 1; }

/* Password rules checklist */
.cds-signup__rules {
	list-style: none;
	margin: 0 0 12px;
	padding: 10px 14px;
	background: var(--surface-2);
	border: 1px solid var(--line);
	border-radius: 10px;
}
.cds-signup__rules li {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 12.5px;
	color: var(--muted);
	padding: 2px 0;
}
.cds-signup__rules [data-rmark] {
	display: inline-flex;
	width: 16px;
	justify-content: center;
	font-weight: 700;
	color: var(--crit);
}
.cds-signup__rules li[data-ok="1"] { color: var(--text); }
.cds-signup__rules li[data-ok="1"] [data-rmark] { color: var(--ok); }

/* Actions + buttons */
.cds-signup__actions { display: flex; gap: 10px; align-items: center; margin-top: 4px; }
.cds-signup__continue,
.cds-signup__submit {
	flex: 1 1 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 12px 16px;
	background: var(--accent);
	color: #fff;
	border: 0;
	border-radius: 10px;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
}
.cds-signup__continue:hover,
.cds-signup__submit:hover { filter: brightness(1.06); }
.cds-signup__submit:disabled { opacity: .55; cursor: not-allowed; filter: none; }
.cds-signup__back {
	flex: 0 0 auto;
	background: transparent;
	border: 0;
	color: var(--muted);
	cursor: pointer;
	font-size: 13px;
	padding: 10px 6px;
}
.cds-signup__back:hover { color: var(--text); }

/* Inline thank-you (registration-closed / interest-only mode) */
.cds-signup__thanks {
	padding: 14px 16px;
	background: var(--surface-2);
	border: 1px solid var(--line);
	border-radius: 10px;
	color: var(--text);
	font-size: 14px;
}
