/* Readingsoft Funnel overlay. Mobile first. Built at 375px, desktop second. */

.rsf-panel {
	box-sizing: border-box;
	max-width: 34rem;
	margin: 1.5rem auto;
	padding: 1.25rem;
	border: 1px solid #e3e3e3;
	border-radius: 12px;
	background: #fff;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	color: #1a1a1a;
	line-height: 1.5;
}
.rsf-panel * { box-sizing: border-box; }

.rsf-score {
	font-size: 2.75rem;
	font-weight: 700;
	line-height: 1.1;
	margin: 0 0 .25rem;
}
.rsf-score small { font-size: 1rem; font-weight: 500; color: #666; }

.rsf-compare { margin: 0 0 1rem; font-size: 1.05rem; }

/* Blurred percentile teaser */
.rsf-blur {
	position: relative;
	margin: 1rem 0;
	padding: 1rem;
	border-radius: 10px;
	background: #f5f7fb;
	overflow: hidden;
}
.rsf-blur .rsf-blur-content {
	filter: blur(7px);
	user-select: none;
	pointer-events: none;
}
.rsf-blur .rsf-blur-lock {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 1rem;
	font-weight: 600;
}

/* Age band + segment tap rows */
.rsf-taps { display: flex; flex-wrap: wrap; gap: .5rem; margin: .75rem 0; }
.rsf-tap {
	flex: 1 1 auto;
	min-width: 30%;
	padding: .7rem .5rem;
	border: 1px solid #cfd6e4;
	border-radius: 8px;
	background: #fff;
	font-size: .95rem;
	cursor: pointer;
	text-align: center;
}
.rsf-tap { color: #1a1a1a !important; }
.rsf-tap:hover { border-color: #4a5bd4; }
.rsf-tap.is-active { background: #4a5bd4; border-color: #4a5bd4; color: #fff !important; }

.rsf-field {
	width: 100%;
	padding: .8rem;
	font-size: 1rem;
	border: 1px solid #cfd6e4;
	border-radius: 8px;
	margin: .5rem 0;
}
.rsf-consent { display: flex; gap: .5rem; align-items: flex-start; font-size: .85rem; color: #555; margin: .5rem 0; }
.rsf-consent input { margin-top: .2rem; }

.rsf-btn {
	display: inline-block;
	width: 100%;
	padding: .9rem 1rem;
	font-size: 1.05rem;
	font-weight: 600;
	color: #fff;
	background: #4a5bd4;
	border: 0;
	border-radius: 8px;
	cursor: pointer;
	text-align: center;
	text-decoration: none;
}
.rsf-btn:disabled { opacity: .5; cursor: not-allowed; }
.rsf-btn-offer { background: #109648; }

.rsf-nothanks {
	display: inline-block;
	margin-top: .75rem;
	font-size: .9rem;
	color: #666;
	background: none;
	border: 0;
	cursor: pointer;
	text-decoration: underline;
}
.rsf-error { color: #b3261e; font-size: .9rem; margin: .5rem 0 0; }
.rsf-hidden { display: none !important; }
.rsf-note { font-size: .8rem; color: #888; margin-top: .5rem; }

/* Desktop */
@media (min-width: 768px) {
	.rsf-panel { padding: 1.75rem; }
	.rsf-score { font-size: 3.25rem; }
}
