/* ==========================================================================
   CAShaadi UI — Signup
   --------------------------------------------------------------------------
   Hide the redundant Username field + its label on the BuddyPress register
   page. Extracted verbatim from WPCode #11842 (username is derived from the
   email hash, so this field is always overwritten on account creation).
   ========================================================================== */
#basic-details-section > label[for="signup_username"],
#signup_username { display: none !important; }

/* ==========================================================================
   Signup + activation — focused app screens (v0.33.0)
   --------------------------------------------------------------------------
   "From the signup wizard onwards the site should feel like an app" (owner,
   2026-09-01). The profile wizard already rebuilds itself this way
   (body.profile-edit); these two screens sit BEFORE it in the funnel and were
   still stock theme pages.

   Same treatment as the wizard and the design's completion screen: no site
   header, no nav, one centred card, our tokens and type. There is deliberately
   no bottom nav / rail here — these are pre-account focused flows, exactly like
   the wizard.

   The site FOOTER is intentionally kept: it carries Terms, Privacy and Refund
   links, which belong on a screen where someone is creating an account.
   ========================================================================== */

body.register #masthead,
body.activate #masthead { display: none !important; }
/* ...and the wrapper AROUND it, which otherwise keeps its 51px and its white
   background: an empty bar across the top of the sign-up page with nothing in
   it. Hiding a child does not collapse its parent, and #masthead is not the
   outermost element the theme prints for the header. */
body.register .site-header-wrapper,
body.activate .site-header-wrapper { display: none !important; }

body.register,
body.activate {
	background: var(--csm-ground, #f4f6f8);
	font-family: var(--csm-sans, ui-sans-serif, system-ui, sans-serif);
}

/* one centred card */
body.register #buddypress,
body.activate #buddypress {
	max-width: 520px;
	margin: 0 auto;
	padding: 34px 16px 56px;
}

body.register #buddypress h1,
body.register #buddypress h2,
body.activate #buddypress h1,
body.activate #buddypress h2 {
	font-family: var(--csm-serif, Georgia, serif);
	font-size: 28px;
	font-weight: 500;
	letter-spacing: -.01em;
	color: var(--csm-ink, #16212b);
	text-align: center;
	margin: 0 0 20px;
}

body.register #signup-form,
body.activate #activation-form {
	background: var(--csm-surface, #fff);
	border: 1px solid var(--csm-hair, #e4eaf0);
	border-radius: 18px;
	padding: 22px 20px;
	box-shadow: 0 6px 22px -16px rgba(22, 33, 43, .35);
}

body.register #signup-form label,
body.activate #activation-form label {
	display: block;
	margin: 0 0 6px;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--csm-muted, #5c6a76);
}

body.register #signup-form input[type=text],
body.register #signup-form input[type=email],
body.register #signup-form input[type=password],
body.register #signup-form input[type=tel],
body.activate #activation-form input[type=text] {
	width: 100%;
	padding: 13px 14px;
	border: 1px solid var(--csm-hair-2, #d6dfe7);
	border-radius: 12px;
	background: var(--csm-surface, #fff);
	font-size: 16px; /* >=16px stops iOS zooming the field on focus */
	color: var(--csm-ink, #16212b);
}
body.register #signup-form input:focus,
body.activate #activation-form input:focus {
	outline: none;
	border-color: var(--csm-blue, #2c5b8c);
	box-shadow: 0 0 0 3px var(--csm-blue-tint, #e9f1f8);
}

body.register #signup-form input[type=submit],
body.register #signup-form button[type=submit],
body.activate #activation-form input[type=submit],
body.activate #activation-form button[type=submit] {
	width: 100%;
	margin-top: 6px;
	padding: 14px 18px;
	border: 0;
	border-radius: 999px;
	background: var(--csm-green, #6f9f2e);
	color: #fff;
	font-size: 15.5px;
	font-weight: 700;
	cursor: pointer;
}
body.register #signup-form input[type=submit]:hover,
body.activate #activation-form input[type=submit]:hover { background: var(--csm-green-press, #5e8926); }

/* ---- 4-digit activation code form (v0.35.0) ---- */
.csm-actcode {
	background: var(--csm-surface, #fff);
	border: 1px solid var(--csm-hair, #e4eaf0);
	border-radius: 18px;
	padding: 24px 20px;
	margin: 0 0 22px;
	text-align: center;
}
.csm-actcode h2 {
	font-family: var(--csm-serif, Georgia, serif);
	font-size: 24px; font-weight: 500;
	margin: 0 0 8px; color: var(--csm-ink, #16212b);
}
.csm-actcode-help { margin: 0 0 18px; color: var(--csm-muted, #5c6a76); font-size: 14px; }
.csm-actcode-err {
	margin: 0 0 16px; padding: 10px 12px;
	background: #fdecea; border: 1px solid #f5c6c2; border-radius: 10px;
	color: #b3261e; font-size: 13.5px;
}
.csm-actcode-form label {
	display: block; text-align: left;
	margin: 12px 0 6px; font-size: 13px; font-weight: 600;
	color: var(--csm-muted, #5c6a76);
}
.csm-actcode-form input {
	width: 100%; padding: 13px 14px;
	border: 1px solid var(--csm-hair-2, #d6dfe7); border-radius: 12px;
	font-size: 16px; color: var(--csm-ink, #16212b);
}
/* the code itself: big, spaced, unmistakable */
.csm-actcode-input {
	text-align: center;
	font-size: 30px !important;
	font-weight: 700;
	letter-spacing: .5em;
	text-indent: .5em; /* keeps the glyphs optically centred despite tracking */
}
.csm-actcode-form input:focus {
	outline: none; border-color: var(--csm-blue, #2c5b8c);
	box-shadow: 0 0 0 3px var(--csm-blue-tint, #e9f1f8);
}
.csm-actcode-form button {
	width: 100%; margin-top: 18px; padding: 14px 18px;
	border: 0; border-radius: 999px;
	background: var(--csm-green, #6f9f2e); color: #fff;
	font-size: 15.5px; font-weight: 700; cursor: pointer;
}
.csm-actcode-form button:hover { background: var(--csm-green-press, #5e8926); }

/* ---- activation code: always-present error region + busy state (v0.41.0) ---- */
.csm-actcode-err {
	margin: 0 0 14px;
	padding: 10px 12px;
	border-radius: 10px;
	background: #fdecec;
	border: 1px solid #f3c9c9;
	color: #96262a;
	font-size: 13.5px;
	line-height: 1.45;
}
/* Rendered unconditionally so JS and screen readers have a target; hidden until
   it actually says something. :empty is exact — no text, no box. */
.csm-actcode-err:empty { display: none; }

.csm-actcode-form button.is-busy { opacity: .6; cursor: default; }

/* ---- resend (v0.42.0) ---- */
.csm-actcode-resend { margin: 14px 0 0; text-align: center; }
.csm-actcode-resend-btn {
	background: none; border: 0; padding: 6px 4px;
	color: var(--csm-blue, #2c5b8c);
	font-size: 13.5px; font-weight: 600;
	text-decoration: underline; cursor: pointer;
}
.csm-actcode-resend-btn[disabled] { color: var(--csm-muted, #5c6a76); text-decoration: none; cursor: default; }
.csm-actcode-resend-msg { display: block; margin-top: 6px; font-size: 12.5px; color: var(--csm-muted, #5c6a76); }

/* ---- Gender radios on the register form (Wave 2) ---------------------- */
.csm-gender-radios {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin-top: 4px;
}
.csm-gender-radio {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 18px;
	border: 1px solid var(--csm-hair-2, #d6dfe7);
	border-radius: 12px;
	cursor: pointer;
	font-size: 15px;
	flex: 1 1 0;
	min-width: 120px;
}
.csm-gender-radio:has(input:checked) {
	border-color: var(--csm-blue, #2c5b8c);
	background: var(--csm-blue-tint, #e9f1f8);
	font-weight: 600;
}
.csm-gender-radio input { accent-color: var(--csm-blue, #2c5b8c); }

/* ---- date of birth on /register/: one typed field, not three dropdowns ----
   dob-input.js hides BuddyPress's day/month/year selects and puts this in
   front of them; the selects still carry the POST. */
.csm-dob-wrap { margin: 0 0 4px; }
.csm-dob-field {
	width: 100%; box-sizing: border-box;
	padding: 12px 14px;
	border: 1px solid var(--csm-hair, #e4eaf0); border-radius: 10px;
	background: #fff; font-size: 16px; letter-spacing: .02em;
}
.csm-dob-field:focus { outline: 2px solid var(--csm-blue, #2c5b8c); outline-offset: 1px; }
.csm-dob-age { margin: 6px 0 0; font-size: 13px; font-weight: 600; color: var(--csm-muted, #5c6a76); }
.csm-dob-age:empty { display: none; }
.csm-dob-age.is-bad { color: var(--csm-danger, #b3261e); }
