.rrf-form {
	max-width: 640px;
	margin: 0 auto;
	font-size: 16px;
	line-height: 1.5;
}

.rrf-progress-track {
	background: #e5e7eb;
	border-radius: 999px;
	height: 10px;
	overflow: hidden;
	margin-bottom: 6px;
}
.rrf-progress-fill {
	height: 100%;
	width: 0%;
	background: #2563eb;
	transition: width 0.3s ease, background-color 0.3s ease;
}
.rrf-progress-label {
	font-size: 13px;
	color: #6b7280;
	margin: 0 0 20px;
}

.rrf-live-region {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.rrf-step-title {
	margin: 0 0 16px;
	font-size: 1.3em;
}
.rrf-step-title:focus {
	outline: none;
}

.rrf-field {
	border: none;
	padding: 0;
	margin: 0 0 24px;
}
.rrf-field legend {
	font-weight: 600;
	margin-bottom: 10px;
	padding: 0;
}

.rrf-option {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 12px;
	border: 1px solid #d1d5db;
	border-radius: 8px;
	margin-bottom: 8px;
	cursor: pointer;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}
.rrf-option:hover { border-color: #93c5fd; background: #f8fafc; }
.rrf-option input { width: 18px; height: 18px; flex-shrink: 0; }
.rrf-option input:focus-visible { outline: 2px solid #2563eb; outline-offset: 2px; }

.rrf-field select,
.rrf-field input[type="text"],
.rrf-field input[type="number"],
.rrf-field input[type="date"],
.rrf-field textarea {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid #d1d5db;
	border-radius: 8px;
	font-size: 1em;
	box-sizing: border-box;
}
.rrf-field select:focus-visible,
.rrf-field input:focus-visible,
.rrf-field textarea:focus-visible {
	outline: 2px solid #2563eb;
	outline-offset: 1px;
}

.rrf-consent {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 8px 0 20px;
	font-size: 0.92em;
}
.rrf-consent input { margin-top: 3px; }
.rrf-consent a { color: #2563eb; }

.rrf-respondent-email { margin: 8px 0 20px; }
.rrf-respondent-email label { display: block; font-weight: 600; margin-bottom: 6px; }
.rrf-respondent-email input {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid #d1d5db;
	border-radius: 8px;
	box-sizing: border-box;
}

.rrf-nav {
	display: flex;
	gap: 10px;
	margin-top: 8px;
	align-items: center;
}
.rrf-btn {
	appearance: none;
	border: none;
	border-radius: 8px;
	padding: 12px 22px;
	font-size: 1em;
	font-weight: 600;
	cursor: pointer;
}
.rrf-btn-next { background: #2563eb; color: #fff; margin-inline-start: auto; }
.rrf-btn-next:disabled { background: #93c5fd; cursor: not-allowed; }
.rrf-btn-back { background: transparent; color: #374151; border: 1px solid #d1d5db; }
.rrf-btn-restart { background: #111827; color: #fff; margin-top: 16px; }

.rrf-error {
	color: #b91c1c;
	font-size: 0.9em;
	margin: 8px 0 0;
	width: 100%;
}

.rrf-hp-wrap {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	left: -9999px !important;
}

.rrf-result-card {
	border: 2px solid #2563eb;
	border-radius: 12px;
	padding: 28px;
	text-align: center;
}
.rrf-result-badge {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	margin: 0 auto 14px;
	background: #2563eb;
}
.rrf-result-card h3 { margin: 0 0 10px; font-size: 1.4em; }
.rrf-result-desc { color: #374151; margin-bottom: 8px; }

/* ------------------------------------------------------------------ */
/* RTL (Arabic) support                                                */
/* ------------------------------------------------------------------ */
.rrf-form[dir="rtl"] .rrf-consent,
.rrf-form[dir="rtl"] .rrf-option {
	direction: rtl;
}
.rrf-form[dir="rtl"] .rrf-btn-next {
	margin-inline-start: auto;
	margin-inline-end: 0;
}

@media (max-width: 480px) {
	.rrf-form { font-size: 15px; }
	.rrf-btn { padding: 11px 16px; width: 100%; }
	.rrf-nav { flex-wrap: wrap; }
	.rrf-btn-next { margin-inline-start: 0; order: -1; }
}
