/* ==========================================================================
   RLTR Login — Brand-matched split layout
   Navy brand color (#00076F) • Poppins (headings) • Mulish (body)
   !important throughout to override theme / Elementor styles.
   ========================================================================== */

/* =========== Hide theme chrome on /login/ =========== */
body.rltr-login-active {
	margin: 0 !important;
	padding: 0 !important;
	background: #ffffff !important;
}
body.rltr-login-active > header,
body.rltr-login-active > footer,
body.rltr-login-active .site-header,
body.rltr-login-active .site-footer,
body.rltr-login-active .elementor-location-header,
body.rltr-login-active .elementor-location-footer,
body.rltr-login-active #masthead,
body.rltr-login-active #colophon,
body.rltr-login-active #wpadminbar {
	display: none !important;
}
body.rltr-login-active #page,
body.rltr-login-active #content,
body.rltr-login-active .site,
body.rltr-login-active .site-content,
body.rltr-login-active .site-main,
body.rltr-login-active .entry-content,
body.rltr-login-active main,
body.rltr-login-active article,
body.rltr-login-active .page,
body.rltr-login-active .elementor {
	margin: 0 !important;
	padding: 0 !important;
	max-width: none !important;
	width: 100% !important;
	background: transparent !important;
}
html.rltr-login-active { margin-top: 0 !important; }

/* =========== Root === */

.rltr-login-page {
	/* Brand */
	--brand: #00076F;
	--brand-light: #1a2290;
	--brand-deep: #00053d;
	--accent: #BC0000;

	/* Neutrals */
	--bg: #ffffff;
	--bg-subtle: #fafafa;
	--border: #e8e8ec;
	--border-hover: #d4d4d8;
	--text: #0f172a;
	--text-muted: #6b7280;
	--text-subtle: #9ca3af;
	--focus-ring: rgba(0, 7, 111, 0.12);

	/* Fonts */
	--font-display: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--font-body: "Mulish", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

	--radius-sm: 8px;
	--radius: 12px;
	--radius-lg: 16px;

	position: relative !important;
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
	min-height: 100vh !important;
	width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	padding: 0 !important;
	background: var(--bg) !important;
	font-family: var(--font-body) !important;
	color: var(--text) !important;
	line-height: 1.5 !important;
	box-sizing: border-box !important;
	-webkit-font-smoothing: antialiased !important;
	-moz-osx-font-smoothing: grayscale !important;
	overflow: hidden !important;
}

.rltr-login-page *,
.rltr-login-page *::before,
.rltr-login-page *::after {
	box-sizing: border-box !important;
}

/* =========== Brand panel (left) === */

.rltr-login-page .rltr-brand {
	position: relative !important;
	display: flex !important;
	flex-direction: column !important;
	color: #ffffff !important;
	background: linear-gradient(135deg, var(--brand-deep) 0%, var(--brand) 55%, var(--brand-light) 100%) !important;
	overflow: hidden !important;
	min-height: 100vh !important;
	padding: 0 !important;
	margin: 0 !important;
}

.rltr-login-page .rltr-brand-bg {
	position: absolute !important;
	inset: 0 !important;
	pointer-events: none !important;
	background:
		radial-gradient(ellipse 700px 500px at 0% 0%, rgba(255, 255, 255, 0.1), transparent 60%),
		radial-gradient(ellipse 500px 500px at 100% 100%, rgba(188, 0, 0, 0.15), transparent 60%) !important;
}

.rltr-login-page .rltr-brand-bg::before {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px) !important;
	background-size: 56px 56px !important;
	mask-image: radial-gradient(ellipse 70% 60% at 50% 50%, #000, transparent 95%) !important;
	-webkit-mask-image: radial-gradient(ellipse 70% 60% at 50% 50%, #000, transparent 95%) !important;
}

/* Decorative glow blob */
.rltr-login-page .rltr-brand::after {
	content: "" !important;
	position: absolute !important;
	top: 20% !important;
	right: -120px !important;
	width: 380px !important;
	height: 380px !important;
	border-radius: 50% !important;
	background: radial-gradient(circle, rgba(99, 102, 241, 0.45), transparent 70%) !important;
	filter: blur(60px) !important;
	pointer-events: none !important;
	z-index: 0 !important;
}

.rltr-login-page .rltr-brand-inner {
	position: relative !important;
	z-index: 1 !important;
	display: flex !important;
	flex-direction: column !important;
	height: 100vh !important;
	padding: 44px 56px !important;
	gap: 40px !important;
}

.rltr-login-page .rltr-brand .rltr-logo {
	display: inline-flex !important;
	align-items: center !important;
	gap: 10px !important;
	color: #ffffff !important;
	text-decoration: none !important;
	font-family: var(--font-display) !important;
	font-weight: 700 !important;
	font-size: 16px !important;
	letter-spacing: -0.01em !important;
	width: fit-content !important;
	transition: opacity 0.15s !important;
}

.rltr-login-page .rltr-brand .rltr-logo:hover { opacity: 0.85 !important; }

.rltr-login-page .rltr-brand .rltr-logo-mark {
	display: block !important;
	flex-shrink: 0 !important;
	width: 32px !important;
	height: 32px !important;
	border-radius: 8px !important;
}

.rltr-login-page .rltr-brand-body {
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
	flex: 1 !important;
	max-width: 460px !important;
	gap: 32px !important;
}

.rltr-login-page .rltr-brand-headline {
	margin: 0 !important;
	padding: 0 !important;
	font-family: var(--font-display) !important;
	font-size: 52px !important;
	font-weight: 700 !important;
	line-height: 1.08 !important;
	letter-spacing: -0.032em !important;
	color: #ffffff !important;
}

.rltr-login-page .rltr-brand-sub {
	margin: 0 !important;
	padding: 0 !important;
	font-family: var(--font-body) !important;
	font-size: 18px !important;
	line-height: 1.55 !important;
	color: rgba(255, 255, 255, 0.8) !important;
	font-weight: 500 !important;
	max-width: 460px !important;
	letter-spacing: -0.005em !important;
}

.rltr-login-page .rltr-brand-features {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 14px !important;
}

.rltr-login-page .rltr-brand-features li {
	display: flex !important;
	align-items: center !important;
	gap: 14px !important;
	font-family: var(--font-body) !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	color: rgba(255, 255, 255, 0.95) !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	line-height: 1.45 !important;
	letter-spacing: -0.005em !important;
}

.rltr-login-page .rltr-feature-icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 26px !important;
	height: 26px !important;
	border-radius: 999px !important;
	background: rgba(255, 255, 255, 0.14) !important;
	color: #ffffff !important;
	flex-shrink: 0 !important;
	backdrop-filter: blur(4px) !important;
	-webkit-backdrop-filter: blur(4px) !important;
}

.rltr-login-page .rltr-brand-footer-row {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	font-family: var(--font-body) !important;
	font-size: 12.5px !important;
	color: rgba(255, 255, 255, 0.5) !important;
	flex-wrap: wrap !important;
}

/* =========== Form side (right) === */

.rltr-login-page .rltr-form-side {
	display: flex !important;
	flex-direction: column !important;
	min-height: 100vh !important;
	padding: 0 !important;
	margin: 0 !important;
	background: var(--bg) !important;
}

.rltr-login-page .rltr-form-topbar {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-end !important;
	padding: 28px 40px !important;
	gap: 20px !important;
}

.rltr-login-page .rltr-logo--mobile {
	display: none !important;
	align-items: center !important;
	gap: 10px !important;
	color: var(--text) !important;
	text-decoration: none !important;
	font-family: var(--font-display) !important;
	font-weight: 700 !important;
	font-size: 15px !important;
	letter-spacing: -0.01em !important;
	margin-right: auto !important;
}

.rltr-login-page .rltr-topbar-line {
	margin: 0 !important;
	padding: 0 !important;
	font-family: var(--font-body) !important;
	font-size: 14px !important;
	color: var(--text-muted) !important;
	font-weight: 600 !important;
}

.rltr-login-page .rltr-topbar-line a {
	color: var(--brand) !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	transition: opacity 0.15s !important;
	margin-left: 2px !important;
}

.rltr-login-page .rltr-topbar-line a:hover {
	opacity: 0.75 !important;
}

.rltr-login-page .rltr-form-wrap {
	display: flex !important;
	flex: 1 !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 20px 40px 60px !important;
}

.rltr-login-page .rltr-form-inner {
	width: 100% !important;
	max-width: 400px !important;
	display: flex !important;
	flex-direction: column !important;
}

.rltr-login-page .rltr-form-intro {
	margin: 0 0 32px !important;
	padding: 0 !important;
}

.rltr-login-page .rltr-form-intro h1 {
	margin: 0 0 8px !important;
	padding: 0 !important;
	font-family: var(--font-display) !important;
	font-size: 34px !important;
	font-weight: 700 !important;
	letter-spacing: -0.032em !important;
	color: var(--text) !important;
	line-height: 1.15 !important;
}

.rltr-login-page .rltr-form-intro p {
	margin: 0 !important;
	padding: 0 !important;
	font-family: var(--font-body) !important;
	font-size: 15.5px !important;
	color: var(--text-muted) !important;
	line-height: 1.5 !important;
	font-weight: 500 !important;
}

/* =========== Tabs === */

.rltr-login-page .rltr-tabs {
	position: relative !important;
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	margin: 0 0 24px !important;
	padding: 0 !important;
	background: transparent !important;
	border-radius: 0 !important;
	border-bottom: 1px solid var(--border) !important;
}

.rltr-login-page .rltr-tab {
	appearance: none !important;
	-webkit-appearance: none !important;
	background: transparent !important;
	border: none !important;
	padding: 12px 8px !important;
	font-family: var(--font-body) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	color: var(--text-muted) !important;
	cursor: pointer !important;
	line-height: 1 !important;
	transition: color 0.18s !important;
	letter-spacing: -0.005em !important;
	box-shadow: none !important;
	text-transform: none !important;
	text-shadow: none !important;
	min-height: 0 !important;
	height: auto !important;
	border-radius: 0 !important;
	position: relative !important;
	z-index: 1 !important;
}

.rltr-login-page .rltr-tab:hover {
	color: var(--text) !important;
	background: transparent !important;
}

.rltr-login-page .rltr-tab.is-active {
	color: var(--brand) !important;
	font-weight: 700 !important;
}

.rltr-login-page .rltr-tab-indicator {
	position: absolute !important;
	bottom: -1px !important;
	left: 0 !important;
	width: 50% !important;
	height: 2px !important;
	background: var(--brand) !important;
	border-radius: 2px !important;
	transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
	pointer-events: none !important;
}

.rltr-login-page .rltr-tabs[data-active="otp"] .rltr-tab-indicator {
	transform: translateX(100%) !important;
}

/* =========== Panes === */

.rltr-login-page .rltr-pane {
	display: none !important;
	flex-direction: column !important;
	gap: 16px !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	animation: rltrFadeIn 0.2s ease !important;
}

.rltr-login-page .rltr-pane.is-active {
	display: flex !important;
}

@keyframes rltrFadeIn {
	from { opacity: 0; transform: translateY(4px); }
	to { opacity: 1; transform: translateY(0); }
}

/* =========== Fields === */

.rltr-login-page .rltr-field {
	display: flex !important;
	flex-direction: column !important;
	gap: 6px !important;
	margin: 0 !important;
	padding: 0 !important;
}

.rltr-login-page .rltr-label-row {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	gap: 12px !important;
}

.rltr-login-page .rltr-field-label {
	font-family: var(--font-body) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	color: var(--text) !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.4 !important;
	letter-spacing: -0.003em !important;
}

.rltr-login-page .rltr-field-link {
	font-family: var(--font-body) !important;
	font-size: 12.5px !important;
	font-weight: 700 !important;
	color: var(--brand) !important;
	text-decoration: none !important;
	transition: opacity 0.15s !important;
}

.rltr-login-page .rltr-field-link:hover {
	opacity: 0.75 !important;
	text-decoration: none !important;
}

.rltr-login-page .rltr-field input {
	width: 100% !important;
	padding: 10px 14px !important;
	font-family: var(--font-body) !important;
	font-size: 14.5px !important;
	font-weight: 600 !important;
	background: var(--bg) !important;
	border: 1px solid var(--border) !important;
	border-radius: var(--radius-sm) !important;
	color: var(--text) !important;
	transition: border-color 0.15s, box-shadow 0.15s !important;
	line-height: 1.4 !important;
	margin: 0 !important;
	box-shadow: 0 1px 1px rgba(0, 0, 0, 0.015) !important;
	height: 44px !important;
	min-height: 0 !important;
	max-width: none !important;
	letter-spacing: -0.005em !important;
}

.rltr-login-page .rltr-field input::placeholder {
	color: var(--text-subtle) !important;
	opacity: 1 !important;
	font-weight: 500 !important;
}

.rltr-login-page .rltr-field input:hover {
	border-color: var(--border-hover) !important;
}

.rltr-login-page .rltr-field input:focus {
	outline: none !important;
	border-color: var(--brand) !important;
	box-shadow: 0 0 0 3px var(--focus-ring) !important;
}

/* OTP code input */
.rltr-login-page .rltr-otp-input {
	font-family: var(--font-display) !important;
	font-size: 22px !important;
	font-weight: 700 !important;
	text-align: center !important;
	letter-spacing: 0.4em !important;
	height: 56px !important;
	padding: 10px !important;
	font-variant-numeric: tabular-nums !important;
}

.rltr-login-page .rltr-otp-input::placeholder {
	letter-spacing: 0.4em !important;
	font-weight: 500 !important;
	color: var(--text-subtle) !important;
}

.rltr-login-page .rltr-hint {
	margin: 4px 0 0 !important;
	padding: 0 !important;
	font-family: var(--font-body) !important;
	font-size: 12.5px !important;
	color: var(--text-muted) !important;
	line-height: 1.5 !important;
	font-weight: 600 !important;
}

/* =========== Custom checkbox === */

.rltr-login-page .rltr-remember {
	display: flex !important;
	align-items: center !important;
	gap: 9px !important;
	font-family: var(--font-body) !important;
	font-size: 13.5px !important;
	color: var(--text) !important;
	cursor: pointer !important;
	user-select: none !important;
	margin: 4px 0 0 !important;
	padding: 0 !important;
	font-weight: 600 !important;
	position: relative !important;
}

.rltr-login-page .rltr-remember input[type="checkbox"] {
	position: absolute !important;
	opacity: 0 !important;
	width: 16px !important;
	height: 16px !important;
	margin: 0 !important;
	cursor: pointer !important;
}

.rltr-login-page .rltr-checkbox {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 17px !important;
	height: 17px !important;
	border: 1.5px solid var(--border-hover) !important;
	border-radius: 5px !important;
	background: var(--bg) !important;
	transition: background 0.15s, border-color 0.15s !important;
	flex-shrink: 0 !important;
}

.rltr-login-page .rltr-checkbox svg {
	opacity: 0 !important;
	transition: opacity 0.15s !important;
}

.rltr-login-page .rltr-remember input[type="checkbox"]:checked + .rltr-checkbox {
	background: var(--brand) !important;
	border-color: var(--brand) !important;
}

.rltr-login-page .rltr-remember input[type="checkbox"]:checked + .rltr-checkbox svg {
	opacity: 1 !important;
}

.rltr-login-page .rltr-remember input[type="checkbox"]:focus-visible + .rltr-checkbox {
	box-shadow: 0 0 0 3px var(--focus-ring) !important;
}

/* =========== Buttons === */

.rltr-login-page .rltr-btn {
	appearance: none !important;
	-webkit-appearance: none !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	width: 100% !important;
	padding: 0 16px !important;
	font-family: var(--font-body) !important;
	font-size: 14.5px !important;
	font-weight: 700 !important;
	border-radius: var(--radius-sm) !important;
	cursor: pointer !important;
	border: 1px solid transparent !important;
	transition: background 0.15s, opacity 0.15s, transform 0.05s, box-shadow 0.15s !important;
	line-height: 1 !important;
	margin: 8px 0 0 !important;
	text-transform: none !important;
	letter-spacing: -0.003em !important;
	text-shadow: none !important;
	height: 44px !important;
	min-height: 44px !important;
	text-decoration: none !important;
}

.rltr-login-page .rltr-btn:active {
	transform: scale(0.99) !important;
}

.rltr-login-page .rltr-btn:disabled {
	opacity: 0.55 !important;
	cursor: not-allowed !important;
}

.rltr-login-page .rltr-btn-primary {
	background: var(--brand) !important;
	color: #ffffff !important;
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.12),
		0 1px 2px rgba(0, 7, 111, 0.2),
		0 0 0 1px var(--brand) !important;
}

.rltr-login-page .rltr-btn-primary:hover:not(:disabled) {
	background: var(--brand-light) !important;
	color: #ffffff !important;
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.14),
		0 4px 12px rgba(0, 7, 111, 0.28),
		0 0 0 1px var(--brand-light) !important;
}

.rltr-login-page .rltr-btn-link {
	appearance: none !important;
	-webkit-appearance: none !important;
	background: transparent !important;
	border: none !important;
	color: var(--text-muted) !important;
	font-family: var(--font-body) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	padding: 8px !important;
	margin: 0 !important;
	text-align: center !important;
	width: 100% !important;
	box-shadow: none !important;
	text-decoration: none !important;
	transition: color 0.15s !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
}

.rltr-login-page .rltr-btn-link:hover {
	color: var(--brand) !important;
}

.rltr-login-page .rltr-btn-link svg {
	flex-shrink: 0 !important;
}

/* =========== Messages === */

.rltr-login-page .rltr-msg {
	font-family: var(--font-body) !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	padding: 10px 12px !important;
	border-radius: var(--radius-sm) !important;
	display: none !important;
	line-height: 1.45 !important;
	margin: 0 !important;
}

.rltr-login-page .rltr-msg.is-error {
	display: block !important;
	background: #fef2f2 !important;
	color: #991b1b !important;
	border: 1px solid #fecaca !important;
}

.rltr-login-page .rltr-msg.is-success {
	display: block !important;
	background: #f0fdf4 !important;
	color: #15803d !important;
	border: 1px solid #bbf7d0 !important;
}

.rltr-login-page .rltr-msg.is-info {
	display: block !important;
	background: #eff6ff !important;
	color: var(--brand) !important;
	border: 1px solid #c7d2fe !important;
}

/* =========== Legal === */

.rltr-login-page .rltr-legal {
	margin: 28px 0 0 !important;
	padding: 0 !important;
	font-family: var(--font-body) !important;
	font-size: 12px !important;
	color: var(--text-subtle) !important;
	text-align: center !important;
	line-height: 1.5 !important;
	font-weight: 500 !important;
}

.rltr-login-page .rltr-legal a {
	color: var(--text-muted) !important;
	text-decoration: none !important;
	font-weight: 600 !important;
	transition: color 0.15s !important;
}

.rltr-login-page .rltr-legal a:hover {
	color: var(--brand) !important;
}

/* =========== Already logged in === */

.rltr-login-already {
	max-width: 400px !important;
	margin: 80px auto !important;
	padding: 32px !important;
	text-align: center !important;
	background: #ffffff !important;
	border: 1px solid var(--border) !important;
	border-radius: var(--radius-lg) !important;
	font-family: var(--font-body), -apple-system, BlinkMacSystemFont, sans-serif !important;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
}

.rltr-login-already a {
	color: var(--brand) !important;
	text-decoration: none !important;
	font-weight: 600 !important;
}

/* =========== Invisible reCAPTCHA === */

#rltr-recaptcha-container {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

/* =========== Responsive === */

@media (max-width: 960px) {
	.rltr-login-page {
		grid-template-columns: 1fr !important;
	}
	.rltr-login-page .rltr-brand {
		display: none !important;
	}
	.rltr-login-page .rltr-logo--mobile {
		display: inline-flex !important;
	}
	.rltr-login-page .rltr-form-topbar {
		justify-content: space-between !important;
	}
}

/* Between brand-panel breakpoint and desktop — shrink headline slightly so it doesn't wrap awkwardly */
@media (min-width: 961px) and (max-width: 1280px) {
	.rltr-login-page .rltr-brand-headline {
		font-size: 44px !important;
	}
	.rltr-login-page .rltr-brand-inner {
		padding: 40px 44px !important;
	}
}

@media (max-width: 600px) {
	.rltr-login-page .rltr-form-topbar {
		padding: 20px !important;
	}
	.rltr-login-page .rltr-form-wrap {
		padding: 20px 20px 40px !important;
	}
	.rltr-login-page .rltr-form-intro h1 {
		font-size: 28px !important;
	}
	.rltr-login-page .rltr-topbar-line {
		font-size: 13px !important;
	}
}

/* ==========================================================================
   Password reset flow
   ========================================================================== */

.rltr-login-page .rltr-view {
	display: none !important;
	flex-direction: column !important;
}

.rltr-login-page[data-view="login"] .rltr-view[data-view="login"],
.rltr-login-page[data-view="reset"] .rltr-view[data-view="reset"] {
	display: flex !important;
}

.rltr-login-page .rltr-reset-step {
	display: flex !important;
	flex-direction: column !important;
	gap: 16px !important;
	margin: 0 !important;
	padding: 0 !important;
	animation: rltrFadeIn 0.2s ease !important;
}

.rltr-login-page .rltr-reset-step[hidden] {
	display: none !important;
}

/* Back button (arrow + text) */
.rltr-login-page .rltr-back-btn {
	appearance: none !important;
	-webkit-appearance: none !important;
	background: transparent !important;
	border: none !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	padding: 4px 0 !important;
	margin: 0 0 4px !important;
	font-family: var(--font-body) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	color: var(--text-muted) !important;
	cursor: pointer !important;
	text-decoration: none !important;
	transition: color 0.15s !important;
	width: fit-content !important;
	line-height: 1 !important;
}

.rltr-login-page .rltr-back-btn:hover {
	color: var(--brand) !important;
}

.rltr-login-page .rltr-back-btn svg {
	flex-shrink: 0 !important;
}

/* Method chooser list (email / sms) */
.rltr-login-page .rltr-method-list {
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
	margin: 8px 0 0 !important;
}

.rltr-login-page .rltr-method-option {
	appearance: none !important;
	-webkit-appearance: none !important;
	display: flex !important;
	align-items: center !important;
	gap: 14px !important;
	width: 100% !important;
	padding: 14px 16px !important;
	background: var(--bg) !important;
	border: 1px solid var(--border) !important;
	border-radius: var(--radius) !important;
	cursor: pointer !important;
	text-align: left !important;
	font-family: inherit !important;
	color: var(--text) !important;
	transition: border-color 0.15s, box-shadow 0.15s, background 0.15s !important;
	box-shadow: 0 1px 1px rgba(0, 0, 0, 0.015) !important;
	margin: 0 !important;
}

.rltr-login-page .rltr-method-option:hover {
	border-color: var(--brand) !important;
	box-shadow: 0 0 0 3px var(--focus-ring) !important;
}

.rltr-login-page .rltr-method-icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 40px !important;
	height: 40px !important;
	border-radius: 10px !important;
	background: rgba(0, 7, 111, 0.08) !important;
	color: var(--brand) !important;
	flex-shrink: 0 !important;
}

.rltr-login-page .rltr-method-body {
	display: flex !important;
	flex-direction: column !important;
	gap: 2px !important;
	flex: 1 !important;
}

.rltr-login-page .rltr-method-title {
	font-family: var(--font-body) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	color: var(--text) !important;
	line-height: 1.3 !important;
}

.rltr-login-page .rltr-method-sub {
	font-family: var(--font-body) !important;
	font-size: 12.5px !important;
	font-weight: 500 !important;
	color: var(--text-muted) !important;
	line-height: 1.4 !important;
}

.rltr-login-page .rltr-method-arrow {
	color: var(--text-subtle) !important;
	transition: color 0.15s, transform 0.15s !important;
	flex-shrink: 0 !important;
}

.rltr-login-page .rltr-method-option:hover .rltr-method-arrow {
	color: var(--brand) !important;
	transform: translateX(2px) !important;
}

/* Link-style button (used for "Forgot password?" + resend) */
.rltr-login-page .rltr-link-button {
	appearance: none !important;
	-webkit-appearance: none !important;
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
	cursor: pointer !important;
	font-family: inherit !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	color: inherit !important;
	text-decoration: none !important;
	line-height: inherit !important;
	box-shadow: none !important;
}

/* Secondary button variant for "Back to sign in" on email-sent step */
.rltr-login-page .rltr-btn-secondary {
	background: var(--bg) !important;
	color: var(--text) !important;
	border: 1px solid var(--border) !important;
	box-shadow: 0 1px 1px rgba(0, 0, 0, 0.015) !important;
}

.rltr-login-page .rltr-btn-secondary:hover:not(:disabled) {
	background: var(--bg-subtle) !important;
	border-color: var(--border-hover) !important;
	color: var(--text) !important;
}

/* Success icon (email sent confirmation) */
.rltr-login-page .rltr-success-icon {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 72px !important;
	height: 72px !important;
	margin: 0 auto 8px !important;
	background: rgba(0, 7, 111, 0.08) !important;
	color: var(--brand) !important;
	border-radius: 999px !important;
}

/* Centered intro variant (for confirmation screens) */
.rltr-login-page .rltr-form-intro--centered {
	text-align: center !important;
}

.rltr-login-page .rltr-form-intro--centered p strong {
	color: var(--text) !important;
	font-weight: 700 !important;
}

/* Resend line */
.rltr-login-page .rltr-resend {
	margin: 8px 0 0 !important;
	padding: 0 !important;
	text-align: center !important;
	font-family: var(--font-body) !important;
	font-size: 13px !important;
	color: var(--text-muted) !important;
	font-weight: 600 !important;
}

.rltr-login-page .rltr-resend .rltr-link-button {
	color: var(--brand) !important;
	font-weight: 700 !important;
	cursor: pointer !important;
}

.rltr-login-page .rltr-resend .rltr-link-button:hover {
	opacity: 0.75 !important;
}

/* Hide invisible reCAPTCHA for reset flow */
#rltr-reset-recaptcha-container {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

/* ==========================================================================
   Logo image (replaces inline SVG mark)
   ========================================================================== */

.rltr-login-page .rltr-logo-img {
	display: block !important;
	height: 40px !important;
	width: auto !important;
	max-width: 180px !important;
	object-fit: contain !important;
}

/* Brand panel (dark bg) — logo can be larger */
.rltr-login-page .rltr-brand .rltr-logo-img {
	height: 44px !important;
	max-width: 200px !important;
	/* If the logo is dark-on-transparent, uncomment the next line to invert it for dark backgrounds:
	filter: brightness(0) invert(1) !important; */
}

/* Mobile topbar — slightly smaller */
.rltr-login-page .rltr-logo--mobile .rltr-logo-img {
	height: 32px !important;
	max-width: 160px !important;
}
