/* SRO Quiz — стили формы квиза */

.sro-quiz-wrap{
	--sro-green:#16a172;
	--sro-green-dark:#0f8f63;
	--sro-green-light:#eafaf3;
	--sro-text:#1c2b28;
	--sro-muted:#6b7a77;
	--sro-border:#e4e7e6;
	max-width:640px;
	margin:0 auto;
	font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
	color:var(--sro-text);
	box-sizing:border-box;
}
.sro-quiz-wrap *,
.sro-quiz-wrap *:before,
.sro-quiz-wrap *:after{
	box-sizing:border-box;
}

.sro-quiz-card{
	background:transparent;
	padding:0;
	min-height:300px;
	position:relative;
}
.sro-quiz-error{
	background:#fbeaea;
	border:1px solid #e9b6b6;
	color:#b23b3b;
	padding:12px 16px;
	border-radius:8px;
	font-size:14px;
	margin-bottom:16px;
	display:none;
}
.sro-quiz-error.show{display:block;}
.sro-quiz-error.sro-shake{animation:sroShake .4s ease;}
@keyframes sroShake{
	10%,90%{transform:translateX(-1px);}
	20%,80%{transform:translateX(2px);}
	30%,50%,70%{transform:translateX(-4px);}
	40%,60%{transform:translateX(4px);}
}

.sro-q-heading{
	display:flex;
	align-items:baseline;
	gap:6px;
	margin:0 0 18px;
}
.sro-q-heading .sro-q-number{
	font-weight:700;
	font-size:16px;
	flex:0 0 auto;
}
.sro-q-heading .sro-q-text{
	font-weight:700;
	font-size:16px;
	margin:0;
}

.sro-multi-note{
	color:var(--sro-muted);
	font-size:13px;
	margin:-10px 0 14px;
}

.sro-answers{
	display:flex;
	flex-direction:column;
	gap:20px;
	margin:5px 0 20px 0;
}

.sro-answer-option{
	border:1px solid var(--sro-border);
	border-radius:8px;
	padding:15px 18px;
	display:flex;
	align-items:center;
	gap:14px;
	cursor:pointer;
	transition:border-color .15s ease, background .15s ease;
	font-size:15px;
	line-height:1.35;
}
.sro-answer-option:hover{
	border-color:var(--sro-green);
	background:#f4fbf8;
}
.sro-answer-option.selected{
	border-color:var(--sro-green);
	background:var(--sro-green-light);
}
.sro-answer-option input{
	accent-color:var(--sro-green);
	width:18px;
	height:18px;
	margin:0;
	flex:0 0 auto;
}
.sro-answer-option span{
	flex:1 1 auto;
}

/* Hint trigger — зелёный */
.sro-hint-trigger{
	margin-top:16px;
	color:var(--sro-green-dark);
	font-size:13px;
	text-decoration:underline dotted;
	cursor:pointer;
	display:inline-flex;
	align-items:center;
	gap:6px;
	background:none;
	border:none;
	padding:0;
	font-family:inherit;
	font-weight:600;
}
.sro-hint-trigger:hover{color:var(--sro-green);}

/* Centered white tooltip/modal с зелёным акцентом, привязан к карточке квиза */
.sro-hint-overlay{
	position:absolute;
	inset:0;
	background:rgba(15,143,99,.18);
	display:flex;
	align-items:center;
	justify-content:center;
	padding:24px;
	opacity:0;
	pointer-events:none;
	transition:opacity .18s ease;
	z-index:20;
}
.sro-hint-overlay.show{
	opacity:1;
	pointer-events:auto;
}
.sro-hint-box{
	background:#fff;
	border-radius:12px;
	padding:26px 24px;
	max-width:360px;
	width:100%;
	box-shadow:0 16px 40px rgba(15,143,99,.22);
	border:1px solid var(--sro-green-light);
	text-align:left;
	position:relative;
	transform:translateY(8px);
	transition:transform .18s ease;
}
.sro-hint-overlay.show .sro-hint-box{
	transform:translateY(0);
}
.sro-hint-box p{
	margin:0;
	font-size:14px;
	line-height:1.5;
	color:var(--sro-text);
}
.sro-hint-close{
	position:absolute;
	top:10px;
	right:10px;
	width:26px;
	height:26px;
	border-radius:50%;
	border:none;
	background:var(--sro-green-light);
	color:var(--sro-green-dark);
	font-size:15px;
	line-height:1;
	cursor:pointer;
	display:flex;
	align-items:center;
	justify-content:center;
}
.sro-hint-close:hover{background:#d9f3e8;}

/* Pagination / progress */
.sro-quiz-pagination{
	display:flex;
	align-items:center;
	gap:16px;
	margin-top:28px;
	border-top:1px solid #eee;
	padding-top:20px;
	flex-wrap:wrap;
}
.sro-btn{
	border:none;
	border-radius:8px;
	padding:12px 22px;
	font-size:14px;
	font-weight:600;
	cursor:pointer;
	transition:background .15s ease, opacity .15s ease;
	font-family:inherit;
}
.sro-btn-primary{background:var(--sro-green);color:#fff;}
.sro-btn-primary:hover{background:var(--sro-green-dark);}
.sro-btn-secondary{background:#eef2f1;color:var(--sro-text);}
.sro-btn-secondary:hover{background:#e2e8e6;}
.sro-btn[disabled]{opacity:.5;cursor:not-allowed;}

.sro-progress-wrap{
	flex:1 1 140px;
	display:flex;
	align-items:center;
	gap:10px;
	min-width:120px;
}
.sro-progress-track{
	flex:1;
	height:6px;
	background:#eee;
	border-radius:6px;
	overflow:hidden;
}
.sro-progress-fill{
	height:100%;
	background:var(--sro-green);
	border-radius:6px;
	width:0%;
	transition:width .35s ease;
}
.sro-progress-pct{
	font-size:13px;
	font-weight:600;
	color:var(--sro-muted);
	min-width:38px;
	text-align:right;
}

/* Contact step */
.sro-contact-form .sro-lead{
	font-weight:700;
	font-size:16px;
	margin-bottom:6px;
}
.sro-contact-form .sro-sub{
	color:var(--sro-muted);
	font-size:14px;
	margin-bottom:22px;
}
.sro-field{margin-bottom:14px;}
.sro-field label{
	display:block;
	font-size:13px;
	font-weight:600;
	margin-bottom:6px;
}
.sro-field input{
	width:100%;
	padding:12px 14px;
	border:1px solid var(--sro-border);
	border-radius:8px;
	font-size:14px;
	font-family:inherit;
}
.sro-field input:focus{
	outline:none;
	border-color:var(--sro-green);
}
.sro-agree{
	display:flex;
	align-items:flex-start;
	gap:10px;
	background:#f9f9f9;
	border-radius:8px;
	padding:14px;
	font-size:13px;
	line-height:1.5;
	margin:18px 0;
}
.sro-agree a{color:var(--sro-green-dark);}

/* Result */
.sro-result{
	text-align:center;
	padding:28px 0;
}
.sro-result-icon{
	width:60px;height:60px;border-radius:50%;
	background:var(--sro-green-light);color:var(--sro-green);
	display:flex;align-items:center;justify-content:center;
	font-size:28px;margin:0 auto 16px;
}
.sro-result-title{font-weight:700;font-size:18px;margin-bottom:8px;}
.sro-result-sub{color:var(--sro-muted);font-size:14px;}

.sro-fade{animation:sroFadeIn .22s ease;}
@keyframes sroFadeIn{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}
