/* ========================================================================
 * Geo-Med — Cinematic auth shell
 * Scoped to body.cinematic-auth (login + lost-password pages only)
 * ===================================================================== */

/* Body — soft white gradient. Particles draw on top via fixed canvas. */
body.cinematic-auth {
	position: relative !important;
	min-height: 100vh !important;
	overflow-x: hidden !important;
	background:
		radial-gradient(ellipse at 20% 10%, rgba(14, 112, 187, 0.07) 0%, transparent 60%),
		radial-gradient(ellipse at 85% 90%, rgba(14, 112, 187, 0.06) 0%, transparent 55%),
		linear-gradient(180deg, #ffffff 0%, #f3f7fb 60%, #e9f0f8 100%) !important;
	background-attachment: fixed !important;
	color: #1a1a1a;
}

/* Force transparency on all known page wrappers so the cinematic layers
   (injected by JS at z-index 0/1/2) are visible through them. Also tighten
   the vertical padding so the form sits closer to the header. ------- */
body.cinematic-auth #content,
body.cinematic-auth > #content,
body.cinematic-auth main,
body.cinematic-auth main.default,
body.cinematic-auth section.entry-content,
body.cinematic-auth .entry-content,
body.cinematic-auth .wrap,
body.cinematic-auth .container {
	background: transparent !important;
	background-color: transparent !important;
}

body.cinematic-auth main,
body.cinematic-auth main.default,
body.cinematic-auth section.entry-content,
body.cinematic-auth .entry-content,
body.cinematic-auth main.default .wrap,
body.cinematic-auth .entry-content.wrap {
	padding-top: 16px !important;
	padding-bottom: 24px !important;
}

/* Lift page wrappers ABOVE the cinematic layers (z-index 0/1/2).
   #wpadminbar is intentionally not in this selector — it keeps its core
   z-index 99999 and stays on top. ----------------------------------- */
body.cinematic-auth header[role="banner"],
body.cinematic-auth > header,
body.cinematic-auth #content,
body.cinematic-auth > #content,
body.cinematic-auth > footer,
body.cinematic-auth footer.site-footer,
body.cinematic-auth .top-bar,
body.cinematic-auth .footer-mobile {
	position: relative !important;
	z-index: 10 !important;
}

/* Hide stale loading overlays — they default to display:none, but make
   sure they don't become opaque white blocks if any plugin toggles them. */
body.cinematic-auth #loading-default,
body.cinematic-auth #loading-video {
	display: none !important;
}

/* ---- Logo (sits above the card on login page) ----------------------- */

body.cinematic-auth .login_logo {
	max-width: 460px;
	margin: 16px auto 12px !important;
	padding: 0 8px;
	text-align: center;
	animation: cinematic-card-rise 0.7s cubic-bezier(0.2, 0.85, 0.25, 1) backwards;
}

body.cinematic-auth .login_logo img {
	max-width: 220px !important;
	height: auto !important;
	filter: drop-shadow(0 4px 10px rgba(14, 112, 187, 0.18));
}

/* ---- Card (login & lost-password share styling) ---------------------- */

body.cinematic-auth .gf_login_form,
body.cinematic-auth.woocommerce-lost-password .woocommerce {
	position: relative !important;
	width: auto !important;
	max-width: 460px !important;
	margin: 12px auto 32px !important;
	padding: 36px 44px 32px !important;
	background: #ffffff !important;
	border: 1px solid rgba(14, 112, 187, 0.10) !important;
	border-radius: 16px !important;
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.9) inset,
		0 12px 32px rgba(14, 50, 100, 0.10),
		0 2px 8px rgba(14, 50, 100, 0.06) !important;
	animation: cinematic-card-rise 0.7s cubic-bezier(0.2, 0.85, 0.25, 1) 0.1s backwards;
}

body.cinematic-auth.woocommerce-lost-password .woocommerce {
	margin: 32px auto !important;
}

@keyframes cinematic-card-rise {
	from { opacity: 0; transform: translateY(18px) scale(0.985); }
	to   { opacity: 1; transform: translateY(0)    scale(1); }
}

/* ---- Inputs --------------------------------------------------------- */

body.cinematic-auth .gf_login_form input[type="text"],
body.cinematic-auth .gf_login_form input[type="email"],
body.cinematic-auth .gf_login_form input[type="password"],
body.cinematic-auth .gf_login_form input[type="tel"],
body.cinematic-auth.woocommerce-lost-password .lost_reset_password input[type="text"],
body.cinematic-auth.woocommerce-lost-password .lost_reset_password input[type="email"] {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	padding: 13px 16px !important;
	border: 1.5px solid rgba(0, 0, 0, 0.12) !important;
	border-radius: 9px !important;
	background: rgba(255, 255, 255, 0.85) !important;
	font-size: 15px !important;
	line-height: 1.4 !important;
	color: #1a1a1a !important;
	height: auto !important;
	transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
	box-shadow: none !important;
}

body.cinematic-auth .gf_login_form input:focus,
body.cinematic-auth.woocommerce-lost-password .lost_reset_password input:focus {
	outline: none !important;
	border-color: #0e70bb !important;
	background: #ffffff !important;
	box-shadow: 0 0 0 4px rgba(14, 112, 187, 0.14) !important;
}

body.cinematic-auth .gf_login_form .gfield_label,
body.cinematic-auth.woocommerce-lost-password .lost_reset_password label {
	display: block !important;
	margin-bottom: 6px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	letter-spacing: 0.2px;
	color: #2a3138 !important;
	text-transform: none !important;
}

/* ---- Submit buttons ------------------------------------------------- */

body.cinematic-auth .gf_login_form .gform_button,
body.cinematic-auth .gf_login_form input[type="submit"],
body.cinematic-auth.woocommerce-lost-password .lost_reset_password .button,
body.cinematic-auth.woocommerce-lost-password .lost_reset_password button[type="submit"] {
	display: block !important;
	width: 100% !important;
	margin-top: 8px !important;
	padding: 14px 24px !important;
	border: none !important;
	border-radius: 10px !important;
	background: linear-gradient(135deg, #0e70bb 0%, #0a5a96 100%) !important;
	background-color: #0e70bb !important;
	color: #ffffff !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	letter-spacing: 0.4px !important;
	text-transform: none !important;
	cursor: pointer !important;
	transition: transform 0.18s ease, box-shadow 0.22s ease, filter 0.18s ease !important;
	box-shadow:
		0 6px 18px rgba(14, 112, 187, 0.38),
		inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
	position: relative;
	overflow: hidden;
}

body.cinematic-auth .gf_login_form .gform_button:hover,
body.cinematic-auth .gf_login_form input[type="submit"]:hover,
body.cinematic-auth.woocommerce-lost-password .lost_reset_password .button:hover,
body.cinematic-auth.woocommerce-lost-password .lost_reset_password button[type="submit"]:hover {
	transform: translateY(-1px);
	filter: brightness(1.05);
	box-shadow:
		0 10px 26px rgba(14, 112, 187, 0.5),
		inset 0 1px 0 rgba(255, 255, 255, 0.25) !important;
}

body.cinematic-auth .gf_login_form .gform_button:active,
body.cinematic-auth .gf_login_form input[type="submit"]:active,
body.cinematic-auth.woocommerce-lost-password .lost_reset_password .button:active,
body.cinematic-auth.woocommerce-lost-password .lost_reset_password button[type="submit"]:active {
	transform: translateY(0);
	filter: brightness(0.97);
}

/* ---- Remember-me row & footer links -------------------------------- */

body.cinematic-auth .remember-me-container {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 12px !important;
	margin: 4px 0 18px !important;
	font-size: 13px;
}

body.cinematic-auth .gf_login_form .gfield_checkbox label,
body.cinematic-auth .remember-me-container label {
	color: #4a5560;
	font-weight: 500;
}

body.cinematic-auth .xts_forget_password,
body.cinematic-auth .gform_forget_password_link {
	color: #0e70bb !important;
	font-weight: 600;
	font-size: 13px;
	text-decoration: none;
	transition: color 0.15s;
}

body.cinematic-auth .xts_forget_password:hover,
body.cinematic-auth .gform_forget_password_link:hover {
	color: #074a82 !important;
	text-decoration: underline;
}

/* The .gf_login_links / .xts_login_links sit OUTSIDE the card on the
   light gradient — dark muted text + brand-blue links. */
body.cinematic-auth .gf_login_links,
body.cinematic-auth .xts_login_links {
	margin-top: 22px !important;
	padding-top: 22px !important;
	border-top: none !important;
	text-align: center !important;
	font-size: 14px !important;
	color: #4a5560 !important;
	line-height: 1.8 !important;
	text-shadow: none !important;
}

body.cinematic-auth .gf_login_links a,
body.cinematic-auth .xts_login_links a {
	color: #0e70bb !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	transition: color 0.15s !important;
	margin-left: 0 !important;
}

body.cinematic-auth .gf_login_links a:hover,
body.cinematic-auth .xts_login_links a:hover {
	color: #074a82 !important;
	text-decoration: underline !important;
}

/* ---- Page-level headings & copy outside the card ------------------ */
/* "Log in to your Account" heading and "Welcome back…" subtitle live
   in entry-content above the form card — dark text on the light bg. */

body.cinematic-auth section.entry-content,
body.cinematic-auth .entry-content {
	color: #1a2a3a !important;
}

body.cinematic-auth section.entry-content h1,
body.cinematic-auth section.entry-content h2,
body.cinematic-auth section.entry-content h3,
body.cinematic-auth section.entry-content h4,
body.cinematic-auth .entry-content h1,
body.cinematic-auth .entry-content h2,
body.cinematic-auth .entry-content h3,
body.cinematic-auth .entry-content h4,
body.cinematic-auth .login_logo h1,
body.cinematic-auth .login_logo h2 {
	color: #0e2a4a !important;
	text-shadow: none !important;
}

body.cinematic-auth section.entry-content > p,
body.cinematic-auth .entry-content > p,
body.cinematic-auth .login_logo p {
	color: #4a5560 !important;
	text-shadow: none !important;
	font-weight: 400;
}

/* INSIDE the form card — keep explicit dark text (parity for safety). */
body.cinematic-auth .gf_login_form,
body.cinematic-auth .gf_login_form .gform_heading,
body.cinematic-auth .gf_login_form .gform_heading h1,
body.cinematic-auth .gf_login_form .gform_heading h2,
body.cinematic-auth .gf_login_form .gform_heading h3,
body.cinematic-auth .gf_login_form p,
body.cinematic-auth.woocommerce-lost-password .woocommerce,
body.cinematic-auth.woocommerce-lost-password .woocommerce p {
	color: #1a1a1a !important;
	text-shadow: none !important;
}

/* ---- Gravity Forms heading inside the card ------------------------- */

body.cinematic-auth .gf_login_form .gform_heading {
	text-align: center !important;
	margin-bottom: 8px !important;
}

/* ---- Lost-password specific text ----------------------------------- */

body.cinematic-auth.woocommerce-lost-password .woocommerce-message,
body.cinematic-auth.woocommerce-lost-password .woocommerce-error,
body.cinematic-auth.woocommerce-lost-password .woocommerce-info {
	margin: 0 0 18px !important;
	border-radius: 9px !important;
	font-size: 14px;
}

body.cinematic-auth.woocommerce-lost-password .lost_reset_password p {
	font-size: 14px;
	color: #4a5560;
	line-height: 1.55;
}

/* ---- Brand strip beneath the card (subtle SDVOSB nod) -------------- */

body.cinematic-auth .gf_login_form::after,
body.cinematic-auth.woocommerce-lost-password .woocommerce::after {
	content: "Geo-Med · Service-Disabled Veteran-Owned Small Business" !important;
	display: block !important;
	margin: 26px -8px -10px !important;
	text-align: center !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: 1.2px !important;
	text-transform: uppercase !important;
	color: rgba(70, 90, 110, 0.55) !important;
	background: none !important;
	position: static !important;
	pointer-events: none;
}

/* ---- Mobile -------------------------------------------------------- */

@media (max-width: 640px) {
	body.cinematic-auth .login_logo {
		margin-top: 28px !important;
	}

	body.cinematic-auth .login_logo img {
		max-width: 180px !important;
	}

	body.cinematic-auth .gf_login_form,
	body.cinematic-auth.woocommerce-lost-password .woocommerce {
		margin: 12px 14px 28px !important;
		padding: 32px 24px 28px !important;
		border-radius: 14px !important;
	}

	body.cinematic-auth.woocommerce-lost-password .woocommerce {
		margin: 28px 14px !important;
	}

	body.cinematic-auth .gf_login_form::after,
	body.cinematic-auth.woocommerce-lost-password .woocommerce::after {
		font-size: 10px !important;
		letter-spacing: 1px !important;
	}
}

/* ---- Reduced motion ------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
	body.cinematic-auth .login_logo,
	body.cinematic-auth .gf_login_form,
	body.cinematic-auth.woocommerce-lost-password .woocommerce,
	body.cinematic-auth.page-registration .register_form_wrapper {
		animation: none !important;
	}

	body.cinematic-auth #cinematic-particles { display: none !important; }
}

/* ========================================================================
 * Registration page — wider multi-column card on the cinematic shell.
 * Scoped to body.cinematic-auth.page-registration so login + lost-password
 * are unaffected. Inherits background, particles, page-heading typography,
 * and login-link footer from the shared shell above.
 * ===================================================================== */

/* ---- Wider card ----------------------------------------------------- */

body.cinematic-auth.page-registration .register_form_wrapper {
	position: relative !important;
	width: auto !important;
	max-width: 760px !important;
	margin: 12px auto 32px !important;
	padding: 40px 48px 36px !important;
	background: #ffffff !important;
	border: 1px solid rgba(14, 112, 187, 0.10) !important;
	border-radius: 16px !important;
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.9) inset,
		0 12px 32px rgba(14, 50, 100, 0.10),
		0 2px 8px rgba(14, 50, 100, 0.06) !important;
	animation: cinematic-card-rise 0.7s cubic-bezier(0.2, 0.85, 0.25, 1) 0.1s backwards;
}

/* Hide the duplicate "Registration Form" gform_title — page already has
   an h1 "Request New Account" above the card. */
body.cinematic-auth.page-registration .register_form_wrapper .gform_title,
body.cinematic-auth.page-registration .register_form_wrapper .gform_heading {
	display: none !important;
}

/* Belt-and-suspenders: hide any Gravity Forms admin-only warnings that
   leak to the public page. */
body.cinematic-auth.page-registration .register_form_wrapper .gfield_admin_only,
body.cinematic-auth.page-registration .register_form_wrapper .gform_admin_notice {
	display: none !important;
}

/* ---- 2-column grid (mobile-first: single column) -------------------- */

body.cinematic-auth.page-registration .register_form_wrapper .gform_fields {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 18px 22px !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

@media (min-width: 720px) {
	body.cinematic-auth.page-registration .register_form_wrapper .gform_fields {
		grid-template-columns: 1fr 1fr !important;
	}
}

/* Every field defaults to spanning full row; only --width-half pulls back
   to a single column on desktop. */
body.cinematic-auth.page-registration .register_form_wrapper .gform_fields > .gfield {
	margin: 0 !important;
	padding: 0 !important;
	grid-column: 1 / -1 !important;
	max-width: none !important;
	width: auto !important;
	clear: none !important;
}

@media (min-width: 720px) {
	body.cinematic-auth.page-registration .register_form_wrapper .gform_fields > .gfield--width-half {
		grid-column: span 1 !important;
	}
}

/* Hide GF honeypot + hidden visibility fields entirely (they shouldn't
   take grid space). */
body.cinematic-auth.page-registration .register_form_wrapper .gfield_visibility_hidden,
body.cinematic-auth.page-registration .register_form_wrapper .gfield--type-honeypot,
body.cinematic-auth.page-registration .register_form_wrapper .gform_validation_container {
	display: none !important;
}

/* ---- Section break / HTML block headings --------------------------- */
/* The form has a section-break field ("User Information") and HTML
   blocks acting as headings ("Hospital Information"). Render both as
   quiet uppercase dividers with a hairline rule. */

body.cinematic-auth.page-registration .register_form_wrapper .gsection,
body.cinematic-auth.page-registration .register_form_wrapper .gfield--type-section,
body.cinematic-auth.page-registration .register_form_wrapper .gfield_html {
	grid-column: 1 / -1 !important;
	margin-top: 18px !important;
	padding-top: 18px !important;
	border-top: 1px solid rgba(14, 112, 187, 0.12) !important;
}

/* First section/HTML block shouldn't have a top divider (it sits at the
   very top of the card). */
body.cinematic-auth.page-registration .register_form_wrapper .gform_fields > .gfield:first-child.gsection,
body.cinematic-auth.page-registration .register_form_wrapper .gform_fields > .gfield:first-child.gfield--type-section,
body.cinematic-auth.page-registration .register_form_wrapper .gform_fields > .gfield:first-child.gfield_html {
	margin-top: 0 !important;
	padding-top: 0 !important;
	border-top: none !important;
}

/* Section break title */
body.cinematic-auth.page-registration .register_form_wrapper .gsection_title,
body.cinematic-auth.page-registration .register_form_wrapper .gsection .gfield_label,
body.cinematic-auth.page-registration .register_form_wrapper .gfield--type-section .gfield_label {
	display: block !important;
	margin: 0 0 4px !important;
	padding: 0 !important;
	border: none !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: 1.4px !important;
	text-transform: uppercase !important;
	color: #4a5560 !important;
	font-family: inherit !important;
}

/* HTML-field headings: down-size the inline h2 that the page authors
   embedded ("Hospital Information" with inline 22px style). */
body.cinematic-auth.page-registration .register_form_wrapper .gfield_html h1,
body.cinematic-auth.page-registration .register_form_wrapper .gfield_html h2,
body.cinematic-auth.page-registration .register_form_wrapper .gfield_html h3,
body.cinematic-auth.page-registration .register_form_wrapper .gfield_html h4 {
	margin: 0 0 4px !important;
	padding: 0 !important;
	border: none !important;
	font-size: 12px !important;
	line-height: 1.4 !important;
	font-weight: 700 !important;
	letter-spacing: 1.4px !important;
	text-transform: uppercase !important;
	color: #4a5560 !important;
}

body.cinematic-auth.page-registration .register_form_wrapper .gfield_html p {
	margin: 4px 0 0 !important;
	font-size: 13px !important;
	color: #6b7480 !important;
	line-height: 1.5 !important;
}

/* Old #field_4_24 oversize rule lived in custom.css; neutralize. */
body.cinematic-auth.page-registration #field_4_24,
body.cinematic-auth.page-registration #field_3_24 {
	font-size: inherit !important;
	font-weight: inherit !important;
}

/* ---- Labels --------------------------------------------------------- */

body.cinematic-auth.page-registration .register_form_wrapper .gfield_label {
	display: block !important;
	margin: 0 0 6px !important;
	padding: 0 !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	letter-spacing: 0.2px !important;
	color: #2a3138 !important;
	text-transform: none !important;
	font-family: inherit !important;
}

body.cinematic-auth.page-registration .register_form_wrapper .gfield_required,
body.cinematic-auth.page-registration .register_form_wrapper .gfield_required_text {
	color: #d24a4a !important;
	font-weight: 600 !important;
	margin-left: 3px !important;
}

/* Sub-labels under composite fields (First/Last under "Name") */
body.cinematic-auth.page-registration .register_form_wrapper .ginput_complex label,
body.cinematic-auth.page-registration .register_form_wrapper .ginput_complex .gfield_label {
	font-size: 11px !important;
	font-weight: 500 !important;
	color: #6b7480 !important;
	letter-spacing: 0.1px !important;
	text-transform: none !important;
	margin: 4px 0 0 !important;
}

/* ---- Inputs --------------------------------------------------------- */

body.cinematic-auth.page-registration .register_form_wrapper input[type="text"],
body.cinematic-auth.page-registration .register_form_wrapper input[type="email"],
body.cinematic-auth.page-registration .register_form_wrapper input[type="password"],
body.cinematic-auth.page-registration .register_form_wrapper input[type="tel"],
body.cinematic-auth.page-registration .register_form_wrapper input[type="number"],
body.cinematic-auth.page-registration .register_form_wrapper input[type="url"],
body.cinematic-auth.page-registration .register_form_wrapper select,
body.cinematic-auth.page-registration .register_form_wrapper textarea {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	height: auto !important;
	padding: 12px 14px !important;
	border: 1.5px solid rgba(0, 0, 0, 0.12) !important;
	border-radius: 9px !important;
	background: rgba(255, 255, 255, 0.85) !important;
	font-size: 15px !important;
	line-height: 1.4 !important;
	color: #1a1a1a !important;
	font-family: inherit !important;
	transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease !important;
	box-shadow: none !important;
}

body.cinematic-auth.page-registration .register_form_wrapper input:focus,
body.cinematic-auth.page-registration .register_form_wrapper select:focus,
body.cinematic-auth.page-registration .register_form_wrapper textarea:focus {
	outline: none !important;
	border-color: #0e70bb !important;
	background: #ffffff !important;
	box-shadow: 0 0 0 4px rgba(14, 112, 187, 0.14) !important;
}

/* Composite "complex" inputs (name = First / Last, address etc.) — let
   GF's native sub-grid breathe so First and Last sit side-by-side. */
body.cinematic-auth.page-registration .register_form_wrapper .ginput_complex {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 10px 12px !important;
	margin: 0 !important;
}

@media (max-width: 480px) {
	body.cinematic-auth.page-registration .register_form_wrapper .ginput_complex {
		grid-template-columns: 1fr !important;
	}
}

body.cinematic-auth.page-registration .register_form_wrapper .ginput_complex > span {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
}

/* GF password-strength meter — compact, brand-colored. */
body.cinematic-auth.page-registration .register_form_wrapper .gfield_password_strength {
	margin-top: 6px !important;
	padding: 6px 10px !important;
	border-radius: 6px !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: 0.2px !important;
}

/* Field-level validation messages */
body.cinematic-auth.page-registration .register_form_wrapper .gfield_validation_message,
body.cinematic-auth.page-registration .register_form_wrapper .validation_message {
	margin-top: 6px !important;
	padding: 8px 10px !important;
	border-radius: 7px !important;
	font-size: 12px !important;
	background: rgba(210, 74, 74, 0.08) !important;
	border: 1px solid rgba(210, 74, 74, 0.25) !important;
	color: #b32d2d !important;
}

/* Form-level validation summary */
body.cinematic-auth.page-registration .register_form_wrapper .gform_validation_errors,
body.cinematic-auth.page-registration .register_form_wrapper .validation_error {
	margin: 0 0 18px !important;
	padding: 12px 14px !important;
	border-radius: 9px !important;
	font-size: 13px !important;
	background: rgba(210, 74, 74, 0.08) !important;
	border: 1px solid rgba(210, 74, 74, 0.25) !important;
	color: #b32d2d !important;
}

/* ---- Footer / Submit ------------------------------------------------ */

body.cinematic-auth.page-registration .register_form_wrapper .gform_footer {
	margin: 8px 0 0 !important;
	padding: 0 !important;
	float: none !important;
	width: 100% !important;
	display: block !important;
	clear: both !important;
}

body.cinematic-auth.page-registration .register_form_wrapper .gform_button,
body.cinematic-auth.page-registration .register_form_wrapper input[type="submit"] {
	display: block !important;
	width: 100% !important;
	margin: 6px 0 0 !important;
	padding: 14px 24px !important;
	border: none !important;
	border-radius: 10px !important;
	background: linear-gradient(135deg, #0e70bb 0%, #0a5a96 100%) !important;
	background-color: #0e70bb !important;
	color: #ffffff !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	letter-spacing: 0.4px !important;
	text-transform: none !important;
	float: none !important;
	cursor: pointer !important;
	transition: transform 0.18s ease, box-shadow 0.22s ease, filter 0.18s ease !important;
	box-shadow:
		0 6px 18px rgba(14, 112, 187, 0.38),
		inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
}

body.cinematic-auth.page-registration .register_form_wrapper .gform_button:hover,
body.cinematic-auth.page-registration .register_form_wrapper input[type="submit"]:hover {
	transform: translateY(-1px);
	filter: brightness(1.05);
	box-shadow:
		0 10px 26px rgba(14, 112, 187, 0.5),
		inset 0 1px 0 rgba(255, 255, 255, 0.25) !important;
}

body.cinematic-auth.page-registration .register_form_wrapper .gform_button:active,
body.cinematic-auth.page-registration .register_form_wrapper input[type="submit"]:active {
	transform: translateY(0);
	filter: brightness(0.97);
}

body.cinematic-auth.page-registration .register_form_wrapper .gform_button:focus,
body.cinematic-auth.page-registration .register_form_wrapper input[type="submit"]:focus {
	outline: none !important;
	box-shadow:
		0 0 0 4px rgba(14, 112, 187, 0.25),
		0 6px 18px rgba(14, 112, 187, 0.38),
		inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
}

/* GF ajax spinner — undo the 13% float:right hack from custom.css */
body.cinematic-auth.page-registration .register_form_wrapper .gform_ajax_spinner {
	width: auto !important;
	float: none !important;
	display: inline-block !important;
	margin-left: 10px !important;
	vertical-align: middle !important;
}

/* ---- "Already have an account?" link row --------------------------- */
/* Sits below the card on the light gradient — override the legacy
   width:54% rule from custom.css. */

body.cinematic-auth.page-registration .gf_login_links {
	width: auto !important;
	max-width: 760px !important;
	margin: 18px auto 0 !important;
	padding: 0 8px !important;
	text-align: center !important;
	font-size: 14px !important;
	color: #4a5560 !important;
	line-height: 1.8 !important;
}

body.cinematic-auth.page-registration .gf_login_links a {
	color: #0e70bb !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	transition: color 0.15s !important;
}

body.cinematic-auth.page-registration .gf_login_links a:hover {
	color: #074a82 !important;
	text-decoration: underline !important;
}

/* ---- Brand strip beneath the card (parity with login card) -------- */

body.cinematic-auth.page-registration .register_form_wrapper::after {
	content: "Geo-Med · Service-Disabled Veteran-Owned Small Business";
	display: block;
	margin: 28px -8px -10px;
	text-align: center;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: rgba(70, 90, 110, 0.55);
	background: none;
	position: static;
	pointer-events: none;
}

/* ---- Tablet -------------------------------------------------------- */

@media (max-width: 900px) {
	body.cinematic-auth.page-registration .register_form_wrapper {
		max-width: none !important;
		margin: 12px 18px 28px !important;
		padding: 36px 36px 30px !important;
	}
}

/* ---- Mobile -------------------------------------------------------- */

@media (max-width: 640px) {
	body.cinematic-auth.page-registration .register_form_wrapper {
		margin: 12px 14px 24px !important;
		padding: 28px 22px 24px !important;
		border-radius: 14px !important;
	}

	body.cinematic-auth.page-registration .register_form_wrapper .gform_fields {
		gap: 16px !important;
	}

	body.cinematic-auth.page-registration .register_form_wrapper::after {
		font-size: 10px !important;
		letter-spacing: 1px !important;
	}

	body.cinematic-auth.page-registration .gf_login_links {
		margin-top: 14px !important;
	}
}
