/**
 * Login, Register, and Account page styling — Service Club theme.
 */

/* Fluid shell: escape ND fixed-width container on auth/account pages */
body.sci-auth-page .nd_options_container,
body.sci-account-page .nd_options_container,
body.um-page-login .nd_options_container,
body.um-page-register .nd_options_container,
body.um-page-account .nd_options_container,
body.sci-login-page .nd_options_container,
body.sci-register-page .nd_options_container {
	width: 100% !important;
	max-width: 1100px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 1.25rem !important;
	padding-right: 1.25rem !important;
	box-sizing: border-box !important;
	float: none !important;
}

body.sci-account-page .nd_options_container,
body.um-page-account .nd_options_container {
	max-width: 1040px !important;
}

body.sci-auth-page .nicdark_site > .nicdark_section.nicdark_height_50,
body.sci-account-page .nicdark_site > .nicdark_section.nicdark_height_50,
body.sci-auth-page #nicdark_header_img_archive,
body.sci-account-page #nicdark_header_img_archive {
	display: none !important;
}

/* Hide seals strip on auth pages — frees mobile space */
body.sci-auth-page .sci-seals-bar,
body.um-page-login .sci-seals-bar,
body.um-page-register .sci-seals-bar,
body.sci-account-page .sci-seals-bar {
	display: none !important;
}

/* Kill theme floats that squeeze login beside page copy */
body.sci-auth-page .nd_options_section,
body.um-page-login .nd_options_section,
body.um-page-register .nd_options_section,
body.sci-auth-page .nd_options_container > div,
body.um-page-login .nd_options_container > div {
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

body.sci-auth-page .entry-content,
body.um-page-login .entry-content,
body.sci-auth-page .nicdark_container,
body.um-page-login .nicdark_container {
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	box-sizing: border-box !important;
}

/* ——— Auth card ——— */
body.sci-auth-page .um,
body.um-page-login .um,
body.um-page-register .um {
	max-width: 980px !important;
	width: 100% !important;
	margin: 1.25rem auto 2rem !important;
	padding: 0 !important;
	float: none !important;
	clear: both !important;
	background: #fff !important;
	border: 1px solid rgba(0, 35, 73, 0.12) !important;
	border-top: 4px solid var(--sci-gold, #ffcc00) !important;
	box-shadow: 0 8px 28px rgba(0, 35, 73, 0.08) !important;
	box-sizing: border-box !important;
}

body.sci-register-page .um,
body.um-page-register .um {
	max-width: 980px !important;
}

/* UM forces 300px when already logged in — override hard */
body.sci-login-page .um,
body.um-page-login .um,
body.sci-login-page .um.um-login,
body.um-page-login .um.um-login,
body.sci-login-page .um.um-login.um-logout,
body.um-page-login .um.um-login.um-logout,
body .um.um-login.um-logout {
	max-width: 560px !important;
	width: 100% !important;
}

.sci-auth-intro {
	padding: 1.35rem 1.35rem 0.35rem;
	background: linear-gradient(180deg, #f4f7fb 0%, #fff 100%);
	border-bottom: 1px solid rgba(0, 35, 73, 0.08);
}

.sci-auth-eyebrow {
	margin: 0 0 0.35rem !important;
	font-family: var(--sci-font-ui, "Source Sans 3", sans-serif) !important;
	font-size: 0.72rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	color: rgba(0, 35, 73, 0.65) !important;
}

.sci-auth-title {
	margin: 0 0 0.45rem !important;
	font-family: var(--sci-font-display, "Cormorant Garamond", Georgia, serif) !important;
	font-size: 2rem !important;
	font-weight: 700 !important;
	line-height: 1.15 !important;
	color: var(--sci-navy, #002349) !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

.sci-auth-lead {
	margin: 0 0 0.75rem !important;
	font-family: var(--sci-font-ui, "Source Sans 3", sans-serif) !important;
	font-size: 1.05rem !important;
	line-height: 1.55 !important;
	color: rgba(0, 35, 73, 0.78) !important;
}

.sci-auth-aside {
	margin: 0 0 0.85rem !important;
	font-family: var(--sci-font-ui, "Source Sans 3", sans-serif) !important;
	font-size: 0.98rem !important;
	color: rgba(0, 35, 73, 0.7) !important;
}

.sci-auth-aside a {
	color: var(--sci-navy, #002349) !important;
	font-weight: 700 !important;
	text-decoration: underline !important;
	text-underline-offset: 2px;
}

.sci-auth-closed {
	max-width: 36rem;
	margin: 0 auto;
	text-align: center;
}

.sci-auth-closed .sci-section-cta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	justify-content: center;
	margin-top: 1.5rem;
}

/* Invisible honeypot — never show to members */
.sci-hp {
	position: absolute !important;
	left: -9999px !important;
	top: auto !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

body.sci-auth-page .um .um-form {
	padding: 1.15rem 1.75rem 1.75rem !important;
}

body.sci-auth-page .um-field-label {
	font-family: var(--sci-font-ui, "Source Sans 3", sans-serif) !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
	color: var(--sci-navy, #002349) !important;
	margin-bottom: 0.4rem !important;
}

/* Required asterisk on labels */
body.sci-auth-page .um-field.um-is-required .um-field-label label::after,
body.sci-auth-page .um-field.sci-is-required .um-field-label label::after {
	content: " *";
	color: #b22234;
	font-weight: 700;
}

body.sci-auth-page .um-field-label .sci-req {
	color: #b22234;
	font-weight: 700;
	margin-left: 0.15em;
}

body.sci-auth-page .sci-req-note {
	margin: 0 0 1rem !important;
	font-family: var(--sci-font-ui, "Source Sans 3", sans-serif) !important;
	font-size: 0.95rem !important;
	color: rgba(0, 35, 73, 0.7) !important;
}

body.sci-auth-page .sci-req-note span {
	color: #b22234;
	font-weight: 700;
}

body.sci-auth-page .um-field {
	margin-bottom: 1.05rem !important;
}

/* Soften UM error balloons — keep them readable, less shouty */
body.sci-auth-page .um-field-error {
	background: #fdf2f2 !important;
	border: 1px solid #e8b4b4 !important;
	border-radius: 2px !important;
	color: #8a1f1f !important;
	font-family: var(--sci-font-ui, "Source Sans 3", sans-serif) !important;
	font-size: 0.92rem !important;
	font-weight: 600 !important;
	padding: 0.45rem 0.65rem !important;
	margin-top: 0.4rem !important;
	line-height: 1.35 !important;
}

body.sci-auth-page .um-field-error .um-field-arrow {
	display: none !important;
}

.sci-field-error {
	margin: 0.35rem 0 0 !important;
	font-family: var(--sci-font-ui, "Source Sans 3", sans-serif) !important;
	font-size: 0.92rem !important;
	font-weight: 600 !important;
	color: #8a1f1f !important;
	line-height: 1.35 !important;
}

.sci-field-invalid input,
.sci-field-invalid select,
.sci-field-invalid textarea,
body.sci-auth-page .um-field.error input,
body.sci-auth-page .um-field.error select {
	border-color: #b22234 !important;
	box-shadow: 0 0 0 1px rgba(178, 34, 52, 0.2) !important;
}

/* Two fields per row on register (desktop) — grid built by sci-auth-forms.js */
.sci-auth-field-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.15rem 1rem;
	margin: 0 0 0.5rem;
}

@media (min-width: 700px) {
	.sci-auth-field-grid {
		grid-template-columns: 1fr 1fr;
	}

	.sci-auth-field-grid .sci-auth-span-2 {
		grid-column: 1 / -1;
	}

	body.sci-register-page .um .um-form,
	body.um-page-register .um .um-form {
		display: block;
	}
}

body.sci-auth-page .um input[type="text"],
body.sci-auth-page .um input[type="password"],
body.sci-auth-page .um input[type="email"],
body.sci-auth-page .um select {
	min-height: 48px !important;
	font-size: 1.05rem !important;
}


body.sci-auth-page .um .um-button,
body.sci-auth-page .um input[type="submit"].um-button,
body.sci-auth-page .um a.um-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	min-height: 3.25rem !important;
	width: 100% !important;
	margin-top: 0.35rem !important;
	padding: 0.85rem 1rem !important;
	font-size: 0.9rem !important;
	line-height: 1.2 !important;
	text-align: center !important;
	vertical-align: middle !important;
}

/* Secondary CTA (Apply for Membership) — keep long label centered on mobile */
body.sci-auth-page .um a.um-button.um-alt,
body.sci-login-page .um a.um-button.um-alt,
body.um-page-login .um a.um-button.um-alt {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 3.25rem !important;
	padding: 0.85rem 0.75rem !important;
	line-height: 1.2 !important;
	white-space: normal !important;
}

body.sci-auth-page .um-left.um-half,
body.sci-auth-page .um-right.um-half {
	width: 100% !important;
	float: none !important;
	margin: 0.35rem 0 !important;
}

body.sci-auth-page .um-center {
	text-align: center;
	margin-top: 0.75rem;
}

/* ——— Account ——— */
.sci-account-intro {
	margin: 0 0 1.25rem;
	padding: 0.25rem 0 1rem;
	border-bottom: 3px solid var(--sci-gold, #ffcc00);
}

.sci-account-title {
	margin: 0 0 0.35rem !important;
	font-family: var(--sci-font-display, "Cormorant Garamond", Georgia, serif) !important;
	font-size: 2.1rem !important;
	font-weight: 700 !important;
	color: var(--sci-navy, #002349) !important;
	line-height: 1.15 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

.sci-account-lead {
	margin: 0 !important;
	font-family: var(--sci-font-ui, "Source Sans 3", sans-serif) !important;
	font-size: 1.05rem !important;
	line-height: 1.5 !important;
	color: rgba(0, 35, 73, 0.72) !important;
}

body.sci-account-page .um-account,
body.um-page-account .um-account {
	max-width: none !important;
	margin: 1.25rem auto 2.5rem !important;
	background: #fff !important;
	border: 1px solid rgba(0, 35, 73, 0.1) !important;
	box-shadow: 0 6px 22px rgba(0, 35, 73, 0.07) !important;
	padding: 1.15rem 1.15rem 1.5rem !important;
	box-sizing: border-box !important;
}

body.sci-account-page .um-account form,
body.um-page-account .um-account form {
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
}

/*
 * Account layout lives in sci-account.css (custom nav).
 * Never force-show UM’s stock sidebar/accordion here — that fought the new UI.
 */
body.sci-account-page .um-account-side,
body.um-page-account .um-account-side,
body.sci-account-page .um-account-meta,
body.um-page-account .um-account-meta,
body.sci-account-page .um-account-nav,
body.um-page-account .um-account-nav {
	display: none !important;
}

body.sci-account-page .sci-um-donate-tab p,
body.um-page-account .sci-um-donate-tab p,
body.sci-account-page .sci-um-logout-tab p,
body.um-page-account .sci-um-logout-tab p {
	font-family: var(--sci-font-ui, "Source Sans 3", sans-serif);
	font-size: 1.05rem;
	line-height: 1.55;
	color: rgba(0, 35, 73, 0.8);
}

body.sci-account-page .sci-logout-button,
body.um-page-account .sci-logout-button {
	background: #b22234 !important;
	border-color: #b22234 !important;
}

body.sci-account-page .sci-donate-history,
body.um-page-account .sci-donate-history {
	margin: 1rem 0;
	overflow-x: visible;
}

body.sci-account-page .sci-um-donate-cta,
body.um-page-account .sci-um-donate-cta {
	margin: 1rem 0;
}

body.sci-account-page .sci-um-donate-cta .zeffy-button-wrapper,
body.um-page-account .sci-um-donate-cta .zeffy-button-wrapper,
body.sci-account-page .sci-um-donate-cta .sci-zeffy-btn-wrap,
body.um-page-account .sci-um-donate-cta .sci-zeffy-btn-wrap {
	margin: 0 0 0.75rem !important;
	text-align: left !important;
}

body.sci-account-page .sci-um-donate-cta .zeffy-donate-btn,
body.um-page-account .sci-um-donate-cta .zeffy-donate-btn {
	font-family: inherit !important;
	font-weight: 700 !important;
	letter-spacing: 0.04em !important;
	text-transform: uppercase !important;
	border-radius: 2px !important;
	border: 1px solid #ffcc00 !important;
	background: #ffcc00 !important;
	color: #002349 !important;
	padding: 0.65rem 1.25rem !important;
}

body.sci-account-page .sci-um-donate-page-link,
body.um-page-account .sci-um-donate-page-link {
	margin: 0.35rem 0 0 !important;
	font-size: 0.9rem;
}

body.sci-account-page .sci-donate-history h4,
body.um-page-account .sci-donate-history h4 {
	margin: 0 0 0.65rem !important;
	font-family: var(--sci-font-ui, "Source Sans 3", sans-serif) !important;
	font-size: 1.2rem !important;
	font-weight: 700 !important;
	color: var(--sci-navy, #002349) !important;
}

body.sci-account-page .sci-donate-empty,
body.um-page-account .sci-donate-empty {
	margin: 0 !important;
	padding: 0.95rem 1rem !important;
	background: #f4f7fb !important;
	border: 1px solid rgba(0, 35, 73, 0.12) !important;
	border-left: 4px solid var(--sci-navy, #002349) !important;
	font-family: var(--sci-font-ui, "Source Sans 3", sans-serif) !important;
	font-size: 1.02rem !important;
	line-height: 1.45 !important;
	color: rgba(0, 35, 73, 0.8) !important;
	box-sizing: border-box !important;
}

/* Give notices inside Account — keep text clear of the icon/bar on mobile */
body.sci-account-page .sci-donate-history .give_notices,
body.sci-account-page .sci-donate-history .give_errors,
body.sci-account-page .sci-donate-history .give_notice,
body.sci-account-page .sci-donate-history .give_error,
body.sci-account-page .sci-donate-history .give_success,
body.um-page-account .sci-donate-history .give_notices,
body.um-page-account .sci-donate-history .give_errors,
body.um-page-account .sci-donate-history .give_notice,
body.um-page-account .sci-donate-history .give_error,
body.um-page-account .sci-donate-history .give_success {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0.5rem 0 !important;
	padding: 0.95rem 1rem 0.95rem 2.85rem !important;
	box-sizing: border-box !important;
	overflow: visible !important;
	line-height: 1.45 !important;
	background-position: 0.75rem center !important;
	background-size: 1.15rem 1.15rem !important;
}

body.sci-account-page .sci-donate-history .give_notice p,
body.sci-account-page .sci-donate-history .give_error p,
body.sci-account-page .sci-donate-history .give_success p,
body.um-page-account .sci-donate-history .give_notice p,
body.um-page-account .sci-donate-history .give_error p,
body.um-page-account .sci-donate-history .give_success p {
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.45 !important;
	overflow-wrap: anywhere;
	word-break: break-word;
}

body.sci-account-page .sci-donate-history table,
body.um-page-account .sci-donate-history table {
	width: 100%;
	min-width: 0;
	max-width: 100%;
	table-layout: auto;
}

/* Stack Give’s history rows on small screens instead of a fake horizontal scroll */
@media (max-width: 699px) {
	body.sci-account-page .sci-donate-history table,
	body.sci-account-page .sci-donate-history thead,
	body.sci-account-page .sci-donate-history tbody,
	body.sci-account-page .sci-donate-history th,
	body.sci-account-page .sci-donate-history td,
	body.sci-account-page .sci-donate-history tr,
	body.um-page-account .sci-donate-history table,
	body.um-page-account .sci-donate-history thead,
	body.um-page-account .sci-donate-history tbody,
	body.um-page-account .sci-donate-history th,
	body.um-page-account .sci-donate-history td,
	body.um-page-account .sci-donate-history tr {
		display: block !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	body.sci-account-page .sci-donate-history thead,
	body.um-page-account .sci-donate-history thead {
		position: absolute !important;
		width: 1px !important;
		height: 1px !important;
		padding: 0 !important;
		margin: -1px !important;
		overflow: hidden !important;
		clip: rect(0, 0, 0, 0) !important;
		border: 0 !important;
	}

	body.sci-account-page .sci-donate-history tr,
	body.um-page-account .sci-donate-history tr {
		margin: 0 0 0.85rem !important;
		padding: 0.75rem 0.85rem !important;
		border: 1px solid rgba(0, 35, 73, 0.12) !important;
		background: #fff !important;
	}

	body.sci-account-page .sci-donate-history td,
	body.um-page-account .sci-donate-history td {
		display: flex !important;
		justify-content: space-between !important;
		align-items: baseline !important;
		gap: 0.75rem !important;
		padding: 0.35rem 0 !important;
		border: 0 !important;
		text-align: right !important;
		font-size: 0.98rem !important;
		line-height: 1.35 !important;
	}

	body.sci-account-page .sci-donate-history .give-mobile-title,
	body.um-page-account .sci-donate-history .give-mobile-title {
		display: inline-block !important;
		flex: 0 0 auto !important;
		margin: 0 !important;
		font-weight: 700 !important;
		font-size: 0.82rem !important;
		letter-spacing: 0.04em !important;
		text-transform: uppercase !important;
		color: rgba(0, 35, 73, 0.62) !important;
		text-align: left !important;
	}
}

@media (max-width: 699px) {
	.sci-auth-title {
		font-size: 1.65rem !important;
	}

	body.sci-auth-page .um .um-form,
	body.um-page-login .um .um-form {
		padding: 0.85rem 1rem 1.25rem !important;
	}

	.sci-auth-intro {
		padding: 1.1rem 1rem 0.25rem;
	}

	body.sci-login-page .um,
	body.um-page-login .um,
	body .um.um-login.um-logout {
		max-width: 100% !important;
		margin: 1rem auto 1.25rem !important;
	}

	body.sci-login-page .um a.um-button.um-alt,
	body.um-page-login .um a.um-button.um-alt,
	body.sci-auth-page .um a.um-button.um-alt {
		font-size: 0.82rem !important;
		letter-spacing: 0.04em !important;
		padding: 0.9rem 0.65rem !important;
		line-height: 1.25 !important;
	}
}

/*
 * Login page (Elementor flexbox): desktop is login | mission side-by-side.
 * Mobile CSS only set child widths to 100% and left the parent as row,
 * so columns stayed squashed. Stack login on top, copy underneath.
 */
@media (max-width: 900px) {
	body.sci-login-page .elementor [data-element_type="e-flexbox"]:has(> [data-element_type="e-flexbox"] .um-login),
	body.um-page-login .elementor [data-element_type="e-flexbox"]:has(> [data-element_type="e-flexbox"] .um-login),
	body.sci-login-page .elementor .e-bce596f,
	body.um-page-login .elementor .e-bce596f {
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		align-items: stretch !important;
		gap: 0.75rem;
	}

	body.sci-login-page .elementor [data-element_type="e-flexbox"]:has(> [data-element_type="e-flexbox"] .um-login) > [data-element_type="e-flexbox"],
	body.um-page-login .elementor [data-element_type="e-flexbox"]:has(> [data-element_type="e-flexbox"] .um-login) > [data-element_type="e-flexbox"],
	body.sci-login-page .elementor .e-90f60dd,
	body.sci-login-page .elementor .e-8c82228,
	body.um-page-login .elementor .e-90f60dd,
	body.um-page-login .elementor .e-8c82228 {
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 auto !important;
	}

	body.sci-login-page .elementor-widget-text-editor,
	body.um-page-login .elementor-widget-text-editor {
		padding: 0 0.25rem 1.5rem;
		font-size: 1.02rem;
		line-height: 1.55;
	}
}

/* Logged-in “already signed in” card on /login/ */
body.um-page-login .um-misc-with-img,
body.sci-login-page .um-misc-with-img {
	border-bottom: 1px solid rgba(0, 35, 73, 0.1) !important;
	padding: 1.25rem 1rem 1rem !important;
	margin: 0 !important;
}

body.um-page-login .um-misc-with-img strong,
body.sci-login-page .um-misc-with-img strong {
	font-family: var(--sci-font-ui, "Source Sans 3", sans-serif) !important;
	font-size: 1.25rem !important;
	color: var(--sci-navy, #002349) !important;
}

body.um-page-login .um-misc-ul,
body.sci-login-page .um-misc-ul {
	list-style: none !important;
	margin: 0 !important;
	padding: 0.85rem 1rem 1.15rem !important;
}

body.um-page-login .um-misc-ul li,
body.sci-login-page .um-misc-ul li {
	margin: 0 0 0.55rem !important;
	padding: 0 !important;
	font-family: var(--sci-font-ui, "Source Sans 3", sans-serif) !important;
	font-size: 1.05rem !important;
}

body.um-page-login .um-misc-ul li a,
body.sci-login-page .um-misc-ul li a {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 2.85rem !important;
	padding: 0.55rem 1rem !important;
	background: var(--sci-gold, #ffcc00) !important;
	border: 1px solid var(--sci-gold, #ffcc00) !important;
	color: var(--sci-navy, #002349) !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	text-transform: uppercase !important;
	letter-spacing: 0.04em !important;
	font-size: 0.85rem !important;
}

body.um-page-login .um-misc-ul li:last-child a,
body.sci-login-page .um-misc-ul li:last-child a {
	background: #fff !important;
	border-color: rgba(0, 35, 73, 0.25) !important;
}

/* Extra page copy under login — full width, never beside the card */
body.sci-login-page .sci-auth-page-note,
body.um-page-login .sci-auth-page-note {
	display: block;
	clear: both;
	width: 100%;
	max-width: 40rem;
	margin: 0 auto 2.5rem;
	padding: 0 1rem;
	box-sizing: border-box;
	font-family: var(--sci-font-ui, "Source Sans 3", sans-serif);
	font-size: 1.02rem;
	line-height: 1.55;
	color: rgba(0, 35, 73, 0.75);
	text-align: center;
}

body.sci-login-page .sci-auth-page-note p,
body.um-page-login .sci-auth-page-note p {
	margin: 0 0 0.75rem !important;
}

/* Email verification / status flashes on login */
.sci-auth-flash {
	max-width: 40rem;
	margin: 0 auto 1.15rem;
	padding: 0.9rem 1.05rem;
	border-left: 4px solid var(--sci-navy, #002349);
	background: rgba(0, 35, 73, 0.06);
	font-family: var(--sci-font-ui, "Source Sans 3", sans-serif);
	font-size: 0.98rem;
	line-height: 1.5;
	color: var(--sci-navy, #002349);
	box-sizing: border-box;
}

.sci-auth-flash p {
	margin: 0 !important;
}

.sci-auth-flash--ok {
	border-left-color: #0a7a32;
	background: rgba(10, 122, 50, 0.09);
}

.sci-auth-flash--err {
	border-left-color: #b22234;
	background: rgba(178, 34, 52, 0.09);
}
