/**
 * Estilos para Formulário de Avaliação do Shortcode [free_views]
 * Arquivo isolado para facilitar manutenção
 */

.upgram-free-views-review-form-container {
    max-width: 642px;
    margin: 0 auto;
}

.upgram-free-views-review-content {
    background: #fff;
    box-shadow: 0 4px 21px rgba(0, 0, 0, 0.08);
}

.upgram-free-views-star-rating input[type="radio"] {
    display: none;
}

.upgram-free-views-star-rating label {
    transition: color 0.2s, transform 0.1s;
    color: #d1d5db !important;
    cursor: pointer;
    user-select: none;
}

.upgram-free-views-star-rating label:hover {
    transform: scale(1.1);
}

.upgram-free-views-star-rating input[type="radio"]:checked + label,
.upgram-free-views-star-rating label.checked {
    color: #ffb353 !important;
}

.upgram-free-views-star-rating label:hover,
.upgram-free-views-star-rating input[type="radio"]:checked ~ label {
    color: #ffb353 !important;
}

.upgram-free-views-char-count {
    font-size: 12px;
    color: #6b7280;
    text-align: right;
}

.upgram-free-views-char-count .current {
    font-weight: 600;
}

.upgram-free-views-char-count.warning .current {
    color: #f59e0b;
}

.upgram-free-views-char-count.error .current {
    color: #ef4444;
}

.upgram-free-views-char-count.valid .current {
    color: #10b981;
}

.upgram-free-views-review-submit {
    transition: all 0.2s ease;
}

.upgram-free-views-review-submit:hover:not(:disabled) {
    opacity: 0.9;
    transform: translateY(-1px);
}

.upgram-free-views-review-submit:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.upgram-free-views-review-form-container input[type="text"],
.upgram-free-views-review-form-container input[type="email"],
.upgram-free-views-review-form-container textarea {
    transition: border-color 0.2s, box-shadow 0.2s;
}

.upgram-free-views-review-form-container input[type="text"]:focus,
.upgram-free-views-review-form-container input[type="email"]:focus,
.upgram-free-views-review-form-container textarea:focus {
    outline: none;
    border-color: #7C51F3;
    box-shadow: 0 0 0 3px rgba(124, 81, 243, 0.1);
}

@media (max-width: 768px) {
    .upgram-free-views-review-content {
        padding: 32px 20px !important;
    }
    
    .upgram-free-views-star-rating {
        justify-content: center;
    }
}
