.survey-page{padding:60px 0 80px}
.survey-page__wrap{max-width:620px;margin:0 auto;padding:0 20px}
.survey-page__card{background:#fff;border-radius:22px;padding:40px 34px;box-shadow:0 16px 56px rgba(15,23,42,.08)}
.survey-page__title{font-size:1.4rem;font-weight:800;margin:0 0 8px;color:var(--fm-dark,#0f172a);text-align:center}
.survey-page__sub{color:var(--fm-muted,#64748b);font-size:.88rem;margin:0 0 32px;line-height:1.7;text-align:center;transition:opacity .3s}

.survey-q{margin-bottom:26px;padding:16px 18px;border-radius:14px;background:#f8fafc;border:1px solid #e2e8f0;transition:border-color .2s,box-shadow .2s}
.survey-q:hover{border-color:#cbd5e1}
.survey-q.answered{border-color:var(--fm-primary,#007BBA);box-shadow:0 0 0 2px rgba(0,123,186,.08)}
.survey-q__label{font-weight:700;font-size:.93rem;margin-bottom:12px;color:var(--fm-dark,#0f172a)}

.survey-stars{display:flex;gap:10px;direction:ltr;justify-content:center}

.star{
	cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;
	transition:transform .15s;position:relative;user-select:none;
	-webkit-tap-highlight-color:transparent;
}
.star__icon{font-size:2.1rem;color:#d1d5db;transition:color .18s,transform .2s;display:block;line-height:1}
.star__num{font-size:.72rem;color:#94a3b8;font-weight:700;transition:color .18s}

.star:hover .star__icon,.star.hover .star__icon{color:#fbbf24;transform:scale(1.1)}
.star:hover .star__num,.star.hover .star__num{color:#d97706}

.star.active .star__icon{color:#f59e0b}
.star.active .star__num{color:#b45309;font-weight:800}

@keyframes starPop{
	0%{transform:scale(1)}
	40%{transform:scale(1.35)}
	70%{transform:scale(.95)}
	100%{transform:scale(1)}
}
.star.pop .star__icon{animation:starPop .35s ease}

.survey-input{
	width:100%;padding:12px 14px;border:1px solid #e2e8f0;border-radius:12px;
	font:inherit;font-size:1rem;margin-top:6px;background:#fff;
	transition:border-color .2s;
}
.survey-input:focus{border-color:var(--fm-primary,#007BBA);outline:none;box-shadow:0 0 0 3px rgba(0,123,186,.1)}
.survey-error{color:#dc2626;font-size:.85rem;margin-top:8px;min-height:1.2em}
.survey-resend{text-align:center;margin-top:12px;font-size:.88rem}
.survey-resend a{color:var(--fm-primary,#007BBA);font-weight:700}
.muted{color:var(--fm-muted,#64748b)}

.survey-btn{
	appearance:none;border:0;
	background:linear-gradient(135deg,var(--fm-primary,#007BBA),var(--fm-primary-dark,#056894));
	color:#fff;font-weight:700;padding:14px 28px;border-radius:14px;
	cursor:pointer;width:100%;font-size:1rem;margin-top:20px;
	transition:background .2s,opacity .2s,transform .15s;
	box-shadow:0 4px 16px rgba(0,123,186,.18);
}
.survey-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px rgba(0,123,186,.25)}
.survey-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}

.survey-result{display:none;text-align:center;padding:32px 0;animation:fadeUp .4s ease}
.survey-result__icon{font-size:3rem;margin-bottom:12px}
.survey-result h2{font-size:1.2rem;font-weight:800;color:var(--fm-dark,#0f172a);margin:0 0 14px}
.survey-result p{color:#475569;line-height:1.85;font-size:.92rem;margin:0 0 22px}
.survey-cta{
	display:inline-block;padding:14px 38px;border-radius:14px;
	font-weight:700;text-decoration:none;font-size:.95rem;
	transition:background .2s,transform .15s;
	box-shadow:0 4px 16px rgba(0,0,0,.1);
}
.survey-cta:hover{transform:translateY(-1px)}
.survey-cta--google{background:var(--fm-primary,#007BBA);color:#fff}
.survey-cta--google:hover{background:var(--fm-primary-dark,#056894);color:#fff}
.survey-cta--manager{background:#dc2626;color:#fff}
.survey-cta--manager:hover{background:#b91c1c;color:#fff}
.survey-thankyou{display:none;text-align:center;padding:40px 0;animation:fadeUp .4s ease}
.survey-thankyou h2{font-size:1.2rem;font-weight:800;color:#15803d}

@keyframes fadeUp{
	from{opacity:0;transform:translateY(16px)}
	to{opacity:1;transform:translateY(0)}
}

@media(max-width:640px){
	.survey-page{padding:40px 0 60px}
	.survey-page__card{padding:28px 18px;border-radius:16px}
	.survey-stars{gap:8px}
	.star__icon{font-size:1.8rem}
	.survey-q{padding:12px 14px}
}
