#testimonial-modal[hidden]{display:none!important}
#testimonial-modal{padding:12px;box-sizing:border-box;backdrop-filter:blur(5px);z-index:11000}
#testimonial-modal .testimonial-box{width:min(560px,100%);max-height:calc(100dvh - 24px);overflow:auto;padding:24px;box-sizing:border-box;border-radius:20px;border-top:4px solid #15803d;background:#fff;color:#172554;box-shadow:0 24px 70px #0f172a55;text-align:start}
#testimonial-modal h3{font-size:22px;margin:0 0 8px;display:flex;align-items:center;gap:8px;color:#172554}
#testimonial-modal .review-intro{font-size:13px;line-height:1.7;color:#475569;margin:0 0 20px}
#new-testimonial-form{display:flex;flex-direction:column;gap:10px;font-family:inherit;text-align:start}
#new-testimonial-form>label{font-weight:700;font-size:14px;color:#334155}
#new-testimonial-form :is(input:not([type=hidden]):not([type=checkbox]),textarea){width:100%;box-sizing:border-box;font:inherit;font-size:15px;line-height:1.7;border:1px solid #cbd5e1;border-radius:12px;padding:10px 12px;background:#f8fafc;color:#172554;text-align:start;letter-spacing:normal}
#new-testimonial-form textarea{min-height:150px;resize:vertical;unicode-bidi:plaintext;white-space:pre-wrap;overflow-wrap:anywhere}
#new-testimonial-form :is(input,textarea,button,a):focus-visible{outline:3px solid #22c55e66;outline-offset:2px;border-color:#15803d}
#new-testimonial-form .rating-input{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-start;margin:0}
#new-testimonial-form .rating-input button{width:44px;height:44px;border:0;background:transparent;cursor:pointer;border-radius:10px;color:#94a3b8;display:inline-flex;align-items:center;justify-content:center;padding:7px}
#new-testimonial-form .rating-input svg{width:28px;height:28px;fill:transparent;stroke:currentColor;stroke-width:1.8}
#new-testimonial-form .rating-input button.selected{color:#eab308;background:#fefce8}
#new-testimonial-form .rating-input button.selected svg{fill:#facc15}
#new-testimonial-form .rating-input button:hover{background:#fef3c7;transform:translateY(-1px)}
#review-rating-value,#review-text-count{font-size:12px;color:#64748b}
#review-text-count{text-align:end;font-variant-numeric:tabular-nums}
#new-testimonial-form .form-consent{display:flex;align-items:flex-start;gap:10px;padding:12px;border-radius:12px;background:#f1f5f9;font-size:13px;line-height:1.8;margin:8px 0}
#new-testimonial-form .form-consent input{width:20px;height:20px;min-width:20px;margin-top:3px;accent-color:#15803d}
#new-testimonial-form .form-consent label{font:inherit;color:#334155}
#new-testimonial-form .actions{display:flex;gap:10px;justify-content:flex-end;margin-top:4px}
#new-testimonial-form .actions button{font:inherit;min-height:46px;border-radius:12px;padding:10px 20px;font-weight:700;border:1px solid #cbd5e1;cursor:pointer;transition:background .18s,transform .18s;opacity:1}
#new-testimonial-form .btn-cancel{background:#f1f5f9;color:#334155}
#new-testimonial-form .btn-send{background:#15803d;color:white;border-color:#15803d!important}
#new-testimonial-form .btn-send:hover{background:#166534;transform:translateY(-1px)}
#new-testimonial-form .btn-send:disabled{cursor:wait;background:#64748b;transform:none}
.review-feedback{padding:12px;border-radius:12px;font-size:14px;line-height:1.7;color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}
.review-feedback[hidden]{display:none}.review-feedback.error{background:#fef2f2;color:#991b1b;border-color:#fecaca}
body.review-modal-open{overflow:hidden}
.submitted-review{padding:20px;min-width:0;overflow-wrap:anywhere}.submitted-review .review-text{white-space:pre-wrap;line-height:1.8;overflow-wrap:anywhere}.submitted-review .review-city{color:#64748b}.submitted-review .review-stars{color:#b45309;font-size:23px}
@media(max-width:430px){#testimonial-modal .testimonial-box{padding:16px}#testimonial-modal h3{font-size:20px}#new-testimonial-form .actions button{flex:1;padding:10px}}
@media(prefers-reduced-motion:reduce){#new-testimonial-form .actions button{transition:none}#new-testimonial-form .rating-input button:hover,#new-testimonial-form .btn-send:hover{transform:none}}
