/* Ratings and Testimonials Styles */

#review-form-section {
    padding-top: 3rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.review-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.review-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
}

.star-rating-input {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
}

.star-rating-input input {
    display: none;
}

.star-rating-input label {
    cursor: pointer;
    width: 30px;
    height: 30px;
    margin-right: 5px;
    color: #d1d5db; /* gray-300 */
    transition: color 0.2s ease;
}

.star-rating-input label:before {
    content: '\e838'; /* star icon in Material Symbols */
    font-family: 'Material Symbols Outlined';
    font-size: 30px;
}

.star-rating-input input:checked ~ label,
.star-rating-input label:hover,
.star-rating-input label:hover ~ label {
    color: #fbbf24; /* brand-gold / yellow-400 */
}

/* Form Styles */
.form-input-focus {
    transition: all 0.2s ease;
}

.form-input-focus:focus {
    outline: none;
    ring: 2px;
    ring-color: #2dd4bf; /* brand-teal */
    border-color: #2dd4bf;
}

#review-success-msg {
    animation: slideIn 0.5s ease forwards;
}

@keyframes slideIn {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}
