.review-item {
    background: rgba(20,27,43,0.8); backdrop-filter: blur(8px);
    padding: 24px; border-radius: 18px;
    border: 1px solid rgba(42,54,80,0.6); transition: 0.3s;
}
.review-item:hover {
    border-color: #ff6b6b; transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.3);
}
.review-item .stars { color: #ffb400; font-size: 1.2rem; letter-spacing: 2px; }
.review-item .text { font-size: 1rem; line-height: 1.5; color: #d0d5e0; margin: 6px 0; }
.review-item .author { font-weight: 600; color: #ff6b6b; margin-top: 6px; }
.review-item .date { font-size: 0.8rem; color: #889; }
.review-item .id { font-size: 0.7rem; color: #666; margin-top: 4px; }

.review-form {
    background: rgba(20,27,43,0.8); backdrop-filter: blur(8px);
    padding: 30px; border-radius: 20px;
    border: 1px solid rgba(42,54,80,0.6); margin-bottom: 30px;
}
.review-form h3 { font-size: 1.5rem; margin-bottom: 20px; color: #ff6b6b; }
.review-form .form-group { margin-bottom: 16px; }
.review-form label { display: block; margin-bottom: 4px; font-weight: 500; }
.review-form input, .review-form textarea, .review-form select {
    width: 100%; padding: 10px 14px; border-radius: 10px;
    border: 1px solid rgba(255,255,255,0.1);
    background: rgba(0,0,0,0.3); color: #e0e0e0; font-size: 1rem;
    transition: 0.3s;
}
.review-form input:focus, .review-form textarea:focus, .review-form select:focus {
    border-color: #ff6b6b; outline: none; box-shadow: 0 0 0 3px rgba(255,107,107,0.2);
}
.review-form textarea { min-height: 100px; resize: vertical; }
.review-form .rating-select { display: flex; gap: 10px; align-items: center; }
.review-form .rating-select select { width: auto; padding: 6px 12px; }
.review-form button {
    background: #ff6b6b; border: none; padding: 12px 30px;
    border-radius: 30px; font-size: 1.1rem; font-weight: 700;
    color: #fff; cursor: pointer; transition: 0.3s;
}
.review-form button:hover {
    background: #ff5252; transform: scale(1.02);
    box-shadow: 0 0 30px rgba(255,107,107,0.3);
}
.reviews-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
@media (max-width: 768px) { .reviews-grid { grid-template-columns: 1fr; gap: 16px; } }

.message { padding: 12px 20px; border-radius: 10px; margin-bottom: 20px; }
.message.success { background: rgba(76,175,80,0.2); border: 1px solid #4caf50; color: #4caf50; }
.message.error { background: rgba(255,0,0,0.2); border: 1px solid #ff4444; color: #ff4444; }