.write-review{box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;border-radius:14px;width:100%;max-width:600px;margin:0 auto;padding:1.3rem;box-shadow:0 4px 20px #0000000f}.write-review h2{color:#1f2937;margin:0 0 .3rem;font-size:1.35rem;font-weight:700}.review-description{color:#6b7280;margin:0 0 1.2rem;font-size:.9rem;line-height:1.5}.review-field{flex-direction:column;gap:.4rem;margin-bottom:1rem;display:flex}.review-field label{color:#374151;font-size:.9rem;font-weight:600}.review-field textarea{width:100%;min-height:100px;font:inherit;color:#1f2937;box-sizing:border-box;resize:vertical;background:#fff;border:1px solid #d1d5db;border-radius:8px;outline:none;padding:.75rem;font-size:.95rem;line-height:1.5;transition:border-color .2s,box-shadow .2s}.review-field textarea::placeholder{color:#9ca3af}.review-field textarea:focus{border-color:#2f5d8e;box-shadow:0 0 0 3px #2f5d8e1f}.review-field textarea:disabled{color:#9ca3af;cursor:not-allowed;resize:none;background:#f3f4f6}.rating-selector{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.rating-star{color:#d1d5db;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:.3rem;font-size:1.65rem;transition:color .2s,transform .2s,background .2s;display:inline-flex}.rating-star.active{color:#f5b301}.rating-star:hover:not(:disabled){background:#fff8e6;transform:scale(1.15)}.rating-star:focus-visible{outline-offset:2px;outline:2px solid #2f5d8e}.rating-star:disabled{opacity:.5;cursor:not-allowed}.rating-text,.character-count{color:#6b7280;font-size:.8rem}.character-count{text-align:right;font-variant-numeric:tabular-nums}.review-message{color:#1d4ed8;overflow-wrap:anywhere;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;margin:0 0 1rem;padding:.7rem .9rem;font-size:.85rem;line-height:1.5}.review-submit{color:#fff;width:100%;font:inherit;cursor:pointer;background:#2f5d8e;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.6rem;padding:.85rem 1rem;font-size:.95rem;font-weight:600;transition:background .2s,transform .2s,box-shadow .2s;display:inline-flex}.review-submit:hover:not(:disabled){background:#244a72;transform:translateY(-1px);box-shadow:0 4px 12px #2f5d8e33}.review-submit:active:not(:disabled){transform:translateY(0)}.review-submit:focus-visible{outline-offset:3px;outline:3px solid #2f5d8e66}.review-submit:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}@media (max-width:600px){.write-review{border-radius:10px;padding:1rem}.write-review h2{font-size:1.2rem}.review-description{margin-bottom:1rem;font-size:.85rem}.rating-star{padding:.25rem;font-size:1.5rem}.review-field textarea{min-height:90px;font-size:.9rem}.review-submit{padding:.8rem;font-size:.9rem}}@media (prefers-reduced-motion:reduce){.rating-star,.review-submit,.review-field textarea{transition:none}.rating-star:hover,.review-submit:hover{transform:none}}
