.review-component{padding:16px;max-width:100%;box-sizing:border-box}.review-component .reviews-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;gap:16px}@media(max-width:576px){.review-component .reviews-header{flex-direction:column;align-items:center;text-align:center}}.review-component .reviews-header h3{margin:0;font-size:1.4rem;font-weight:700;color:#1e293b}.review-component .reviews-header .overall-rating{display:flex;flex-direction:column;align-items:flex-end}@media(max-width:576px){.review-component .reviews-header .overall-rating{align-items:center}}.review-component .reviews-header .overall-rating .rating-stars{color:#f59e0b;margin-bottom:4px;font-size:1.1rem}.review-component .reviews-header .overall-rating .rating-stars i{margin-left:2px}.review-component .reviews-header .overall-rating .rating-details{display:flex;align-items:center;gap:8px}.review-component .reviews-header .overall-rating .rating-details .rating-value{font-weight:800;font-size:1.2rem;color:#1e293b}.review-component .reviews-header .overall-rating .rating-details .review-count{color:#64748b;font-size:.9rem}.review-component .add-review{background:#f8fafc;border:1px solid #e2e8f0;padding:20px;border-radius:12px;margin-bottom:32px}.review-component .add-review h4{margin-top:0;margin-bottom:16px;font-size:1.1rem;font-weight:700;color:#1e293b}.review-component .add-review .rating-selector{display:flex;align-items:center;margin-bottom:16px}.review-component .add-review .rating-selector span{margin-right:12px;font-size:.95rem;color:#475569;font-weight:600}.review-component .add-review .rating-selector .star-rating{color:#f59e0b;display:flex;gap:4px}.review-component .add-review .rating-selector .star-rating i{cursor:pointer;font-size:1.4rem;transition:transform .2s}.review-component .add-review .rating-selector .star-rating i:hover{transform:scale(1.1)}.review-component .add-review .review-input{margin-bottom:16px}.review-component .add-review .review-input textarea{width:100%;min-height:100px;padding:12px;border:2px solid #e2e8f0;border-radius:10px;resize:vertical;font-family:inherit;font-size:.95rem;transition:all .2s}.review-component .add-review .review-input textarea:focus{outline:none;border-color:#3b82f6;background:#fff;box-shadow:0 0 0 4px #3b82f61a}.review-component .add-review .review-input textarea::placeholder{color:#94a3b8}.review-component .add-review .submit-review-button{background-color:#3b82f6;color:#fff;border:none;padding:12px 24px;border-radius:10px;cursor:pointer;font-weight:700;font-size:1rem;transition:all .2s;width:100%}@media(min-width:576px){.review-component .add-review .submit-review-button{width:auto}}.review-component .add-review .submit-review-button:hover{background-color:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.review-component .add-review .submit-review-button:active{transform:translateY(0)}.review-component .reviews-list{display:flex;flex-direction:column;gap:16px}.review-component .reviews-list .review-card{background:#fff;border:1px solid #f1f5f9;border-radius:12px;padding:16px;box-shadow:0 1px 3px #0000000d}.review-component .reviews-list .review-card .review-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}@media(max-width:480px){.review-component .reviews-list .review-card .review-header{flex-direction:column;gap:8px}}.review-component .reviews-list .review-card .review-header .reviewer-info{display:flex;flex-direction:column}.review-component .reviews-list .review-card .review-header .reviewer-info .reviewer-name{font-weight:700;color:#1e293b;font-size:1rem}.review-component .reviews-list .review-card .review-header .reviewer-info .review-date{color:#94a3b8;font-size:.8rem}.review-component .reviews-list .review-card .review-header .review-rating{color:#f59e0b;font-size:.9rem;display:flex;gap:2px}.review-component .reviews-list .review-card .review-content p{margin:0;color:#475569;line-height:1.6;font-size:.95rem}.review-component .reviews-list .no-reviews{text-align:center;color:#94a3b8;font-style:italic;padding:40px 0;font-size:1rem}.review-component .loading{display:flex;justify-content:center;padding:40px;color:#64748b;font-size:1.1rem;font-weight:500}.review-component .loading:after{content:"...";animation:dots 1.5s steps(5) infinite}@keyframes dots{0%,20%{content:"."}40%{content:".."}60%{content:"..."}80%{content:"...."}to{content:"....."}}