.review-form-container{background:var(--color-bg-white);border-radius:var(--radius-lg);border:1px solid #0000000f;padding:30px;box-shadow:0 10px 30px #0000000a}.review-form{flex-direction:column;gap:18px;display:flex}.review-form-title{font-family:var(--font-display);color:var(--color-primary);margin-bottom:5px;font-size:1.4rem;font-weight:700}.review-form-subtitle{color:var(--color-text-muted);margin-bottom:20px;font-size:.88rem}.review-form-group{flex-direction:column;gap:6px;display:flex}.review-form-group label{color:var(--color-primary);font-size:.88rem;font-weight:600}.review-form-group input,.review-form-group select,.review-form-group textarea{box-sizing:border-box;border-radius:var(--radius-md);width:100%;color:var(--color-primary);background-color:#f8fafc;border:1.5px solid #e2e8f0;padding:12px 16px;font-family:inherit;font-size:.95rem;transition:all .25s}.review-form-group input:focus,.review-form-group select:focus,.review-form-group textarea:focus{border-color:var(--color-accent);background-color:var(--color-bg-white);outline:none;box-shadow:0 0 0 3px #dda03426}.star-rating-wrapper{align-items:center;gap:12px;margin:5px 0;display:flex}.star-rating-picker{gap:4px;display:flex}.star-picker-btn{cursor:pointer;color:#e2e8f0;background:0 0;border:none;padding:0;font-size:1.8rem;transition:transform .1s,color .1s}.star-picker-btn:hover{transform:scale(1.15)}.star-picker-btn.active{color:var(--color-accent)}.rating-text{color:var(--color-primary-light);font-size:.9rem;font-weight:600}.review-submit-btn{border-radius:var(--radius-md);background-color:var(--color-primary);color:#fff;cursor:pointer;border:none;width:100%;margin-top:10px;padding:14px;font-size:1rem;font-weight:600;transition:all .2s}.review-submit-btn:hover:not(:disabled){background-color:var(--color-primary-light);transform:translateY(-1px)}.review-submit-btn:disabled{opacity:.6;cursor:not-allowed}.review-status-message{text-align:center;border-radius:var(--radius-sm);margin-top:10px;padding:10px;font-size:.9rem;font-weight:600}.review-status-message.success{color:#065f46;background-color:#ecfdf5;border:1px solid #a7f3d0}.review-status-message.error{color:#991b1b;background-color:#fef2f2;border:1px solid #fca5a5}
