/* Keep Bootstrap's generic .progress component from overriding WPForms pagination. */
.wpforms-form .wpforms-page-indicator.progress {
	display: block;
	width: 100%;
	height: auto;
	min-height: 0;
	overflow: visible;
	font-size: 16px;
	line-height: 1.5;
	background: transparent;
	border-radius: 0;
}

.wpforms-form .wpforms-page-indicator.progress .wpforms-page-indicator-page-title,
.wpforms-form .wpforms-page-indicator.progress .wpforms-page-indicator-page-number {
	display: inline;
	white-space: normal;
}

.wpforms-form .wpforms-page-indicator.progress .wpforms-page-indicator-page-progress-wrap {
	width: 100%;
	margin-top: 10px;
}

/* RF brand navy sampled from the current logo (#012169). */
.wpforms-form .wpforms-page-indicator.progress .wpforms-page-indicator-page-progress {
	background-color: #012169 !important;
}

/* RF bright blue replaces the theme's yellow selected-state marker. */
div.wpforms-container-full form.wpforms-form input[type="radio"]:checked::after,
div.wpforms-container-full form.wpforms-form input[type="checkbox"]:checked::after {
	background-color: #0066cc !important;
	border-color: #0066cc !important;
}

/* Keep explanatory lists aligned with their surrounding copy. */
div.wpforms-container-full form.wpforms-form .wpforms-field-html p:has(+ ul) {
	margin-bottom: 6px;
}

div.wpforms-container-full form.wpforms-form .wpforms-field-html p + ul {
	margin-top: 0;
	padding-left: 1.35em;
}

/* RF final review: readable prompts and instructions before the control. */
div.wpforms-container-full.rf-final-review form.wpforms-form {
	font-size: 18px;
	line-height: 1.6;
}

div.wpforms-container-full.rf-final-review form.wpforms-form .wpforms-field-label {
	color: #243746;
	font-size: 21px;
	font-weight: 700;
	line-height: 1.4;
}

div.wpforms-container-full.rf-final-review form.wpforms-form .wpforms-field-description {
	color: #34495c;
	font-size: 17px;
	line-height: 1.55;
}

div.wpforms-container-full.rf-final-review form.wpforms-form .wpforms-field-html a,
div.wpforms-container-full.rf-final-review form.wpforms-form .wpforms-field-description a {
	color: #00549e;
	text-decoration: underline;
}

div.wpforms-container-full.rf-final-review form.wpforms-form .rf-final-description-first {
	display: flex;
	flex-direction: column;
}

div.wpforms-container-full.rf-final-review form.wpforms-form .rf-final-description-first > * {
	order: 2;
}

div.wpforms-container-full.rf-final-review form.wpforms-form .rf-final-description-first > .wpforms-field-label {
	order: 0;
}

div.wpforms-container-full.rf-final-review form.wpforms-form .rf-final-description-first > .wpforms-field-description {
	order: 1;
	margin: 4px 0 14px;
}

div.wpforms-container-full.rf-final-review form.wpforms-form .rf-form-terminal {
	max-width: 760px;
	padding: 24px 28px;
	background: #eef5fb;
	border-left: 5px solid #0066cc;
}

div.wpforms-container-full.rf-final-review form.wpforms-form .rf-terminal-link {
	color: #00549e;
	font-weight: 700;
	text-decoration: underline;
}

div.wpforms-container-full.rf-final-review form.wpforms-form .rf-final-error {
	margin: 10px 0;
	padding: 10px 14px;
	color: #8b1e1e;
	background: #fff0f0;
	border-left: 4px solid #b82e2e;
}

div.wpforms-container-full.rf-final-review form.wpforms-form .rf-final-terminal-page .wpforms-page-next,
div.wpforms-container-full.rf-final-review form.wpforms-form .rf-final-terminal-page .wpforms-page-button-group {
	display: none;
}

/* The referenced decoration is already absent on the source site. */
.news_right img[src$="/images/news_right.png"] {
	display: none;
}

/* Status lookup: a single, calm workspace with a clear primary action. */
.rf-status-lookup {
	--rf-status-navy: #17324d;
	--rf-status-blue: #006bc7;
	--rf-status-teal: #00796b;
	--rf-status-ink: #1d2d3d;
	--rf-status-muted: #526476;
	--rf-status-line: #d9e2ea;
	max-width: 1080px;
	margin: 8px 0 72px;
	color: var(--rf-status-ink);
}

.rf-status-intro {
	max-width: 860px;
	padding-left: 0;
	border-left: 0;
}

.rf-status-kicker {
	margin: 0 0 8px;
	color: var(--rf-status-blue);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.rf-status-intro h2 {
	margin: 0 0 14px;
	padding-left: 0;
	color: var(--rf-status-ink);
	font-size: clamp(24px, 2.6vw, 34px);
	line-height: 1.2;
}

.rf-status-intro h2::before {
	display: none;
	content: none;
}

.rf-status-intro > p:last-child {
	margin: 0;
	color: var(--rf-status-muted);
	font-size: 18px;
	line-height: 1.65;
}

.rf-status-search {
	margin-top: 36px;
	padding: 34px 38px 28px;
	color: #fff;
	background: var(--rf-status-navy);
	border-radius: 10px;
	box-shadow: 0 18px 45px rgba(23, 50, 77, .16);
}

.rf-status-form label {
	display: block;
	margin-bottom: 12px;
	color: #fff;
	font-size: 18px;
	font-weight: 700;
}

.rf-status-controls {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 12px;
}

.rf-status-controls input[type="text"] {
	width: 100%;
	height: 58px;
	margin: 0;
	padding: 0 18px;
	color: var(--rf-status-ink);
	font-size: 18px;
	letter-spacing: .02em;
	background: #fff;
	border: 2px solid #fff;
	border-radius: 6px;
	box-sizing: border-box;
	transition: border-color .18s ease, box-shadow .18s ease;
}

.rf-status-controls input[type="text"]::placeholder {
	color: #718091;
	opacity: 1;
}

.rf-status-controls input[type="text"]:focus {
	outline: 0;
	border-color: #79c6ff;
	box-shadow: 0 0 0 4px rgba(121, 198, 255, .28);
}

.rf-status-controls button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 210px;
	height: 58px;
	padding: 0 24px;
	color: #fff;
	font-size: 17px;
	font-weight: 700;
	background: var(--rf-status-blue);
	border: 2px solid var(--rf-status-blue);
	border-radius: 6px;
	cursor: pointer;
	transition: background-color .18s ease, border-color .18s ease, transform .18s ease;
}

.rf-status-controls button:hover {
	background: #0878da;
	border-color: #0878da;
	transform: translateY(-1px);
}

.rf-status-controls button:focus-visible {
	outline: 3px solid #fff;
	outline-offset: 3px;
}

.rf-status-button-arrow {
	margin-left: 16px;
	font-size: 25px;
	line-height: 1;
	transition: transform .18s ease;
}

.rf-status-controls button:hover .rf-status-button-arrow {
	transform: translateX(4px);
}

.rf-status-hint,
.rf-status-privacy {
	margin: 11px 0 0;
	color: #d9e7f3;
	font-size: 14px;
	line-height: 1.55;
}

.rf-status-privacy {
	margin-top: 20px;
	padding-top: 18px;
	border-top: 1px solid rgba(255, 255, 255, .18);
}

.rf-status-privacy span {
	display: inline-block;
	margin-right: 8px;
	color: #62d6bd;
	font-size: 10px;
	vertical-align: 2px;
}

.rf-status-result,
.rf-status-message {
	margin-top: 28px;
	padding: 28px 32px;
	border-radius: 8px;
	animation: rf-status-reveal .32s ease-out both;
	scroll-margin-top: 100px;
}

.rf-status-result:focus,
.rf-status-message:focus {
	outline: 3px solid var(--rf-status-blue);
	outline-offset: 3px;
}

.rf-status-has-result .rf-status-result {
	margin-top: 0;
}

.rf-status-result {
	background: #edf8f5;
	border-left: 6px solid var(--rf-status-teal);
}

.rf-status-result-label {
	margin: 0 0 14px;
	color: var(--rf-status-teal);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.rf-status-result-content,
.rf-status-message {
	display: flex;
	align-items: flex-start;
	gap: 18px;
}

.rf-status-result-icon,
.rf-status-message-icon {
	display: inline-flex;
	flex: 0 0 42px;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	color: #fff;
	font-size: 24px;
	font-weight: 700;
	background: var(--rf-status-teal);
	border-radius: 50%;
}

.rf-status-result h2,
.rf-status-message h2 {
	margin: 0 0 10px;
	color: var(--rf-status-ink);
	font-size: clamp(22px, 3vw, 30px);
	line-height: 1.25;
}

.rf-status-result p:last-child,
.rf-status-message p {
	margin: 0;
	color: #334b5f;
	font-size: 16px;
	line-height: 1.7;
}

.rf-status-not-found {
	background: #fff7e6;
	border-left: 6px solid #c87800;
}

.rf-status-not-found .rf-status-message-icon {
	background: #c87800;
}

.rf-status-wait {
	color: #742a2a;
	background: #fff0f0;
	border-left: 6px solid #b83232;
}

.rf-status-again {
	margin: 20px 0 0;
	font-size: 16px;
	line-height: 1.6;
}

.rf-status-again a {
	color: var(--rf-status-blue);
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}

@keyframes rf-status-reveal {
	from { opacity: 0; transform: translateY(8px); }
	to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 700px) {
	.rf-status-lookup {
		margin-bottom: 48px;
	}

	.rf-status-intro > p:last-child {
		font-size: 16px;
	}

	.rf-status-search {
		padding: 26px 20px 22px;
	}

	.rf-status-controls {
		grid-template-columns: 1fr;
	}

	.rf-status-controls button {
		width: 100%;
	}

	.rf-status-result,
	.rf-status-message {
		padding: 22px 20px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.rf-status-controls input[type="text"],
	.rf-status-controls button,
	.rf-status-button-arrow,
	.rf-status-result,
	.rf-status-message {
		animation: none;
		transition: none;
	}
}
