/* APLICAÇÃO GLOBAL DA TIPOGRAFIA INTER TIGHT EM AMBOS OS ESCOPOS */
.psp-col-formulario, 
.psp-col-formulario *, 
.psp-col-resultados, 
.psp-col-resultados *,
.psp-admin-page,
.psp-admin-page * {
    font-family: 'Inter Tight', 'Segoe UI', Tahoma, Arial, sans-serif !important;
}

/* Escopo do Formulário */
.psp-col-formulario {
    background: #fff;
    padding: 30px;
    border-radius: 12px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.04);
    margin-bottom: 25px;
    box-sizing: border-box;
}
.psp-col-formulario h2 {
    font-size: 22px;
    color: #0f2c59;
    margin-top: 0;
    margin-bottom: 25px;
    font-weight: 600;
}
.psp-grupo-criterio {
    margin-bottom: 25px;
    border-bottom: 1px solid #f4f6f8;
    padding-bottom: 20px;
}
.psp-grupo-criterio:last-child {
    border-bottom: none;
}
.psp-titulo-criterio {
    font-weight: 600;
    font-size: 16px;
    color: #333;
    margin-bottom: 15px;
}
.psp-escala-satisfacao {
    display: flex;
    justify-content: space-between;
    gap: 12px;
}

/* Customização dos botões/cards de votação interativos */
.psp-opcao-voto {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1;
    text-align: center;
    cursor: pointer;
    padding: 15px 10px;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    background-color: #fafafa;
    transition: all 0.25s ease;
    position: relative;
}

/* Oculta o input radio padrão para criar um visual limpo */
.psp-opcao-voto input[type="radio"] {
    position: absolute;
    opacity: 0;
    cursor: pointer;
}

/* Ícone de Reação (Font Awesome) */
.psp-voto-icon {
    font-size: 26px;
    color: #a0aec0;
    margin-bottom: 8px;
    transition: transform 0.2s ease, color 0.2s ease;
}
.psp-opcao-voto span {
    font-size: 11px;
    color: #4a5568;
    font-weight: 500;
    line-height: 1.3;
}

/* MUDANÇA DINÂMICA DE CORES CONFORME A OPÇÃO (HOVER E CHECADO) */

/* 1. Muito Insatisfeito -> Vermelho */
.psp-opcao-voto.voto-muito-insatisfeito:hover,
.psp-opcao-voto.voto-muito-insatisfeito:has(input:checked) {
    background-color: #fde8e8;
    border-color: #f8b4b4;
}
.psp-opcao-voto.voto-muito-insatisfeito:hover .psp-voto-icon,
.psp-opcao-voto.voto-muito-insatisfeito:has(input:checked) .psp-voto-icon {
    color: #e53e3e;
    transform: scale(1.15);
}

/* 2. Pouco Insatisfeito -> Laranja */
.psp-opcao-voto.voto-pouco-insatisfeito:hover,
.psp-opcao-voto.voto-pouco-insatisfeito:has(input:checked) {
    background-color: #fef0e6;
    border-color: #fbd38d;
}
.psp-opcao-voto.voto-pouco-insatisfeito:hover .psp-voto-icon,
.psp-opcao-voto.voto-pouco-insatisfeito:has(input:checked) .psp-voto-icon {
    color: #dd6b20;
    transform: scale(1.15);
}

/* 3. Neutro -> Amarelo/Cinza Escuro */
.psp-opcao-voto.voto-neutro:hover,
.psp-opcao-voto.voto-neutro:has(input:checked) {
    background-color: #fefcbf;
    border-color: #faf089;
}
.psp-opcao-voto.voto-neutro:hover .psp-voto-icon,
.psp-opcao-voto.voto-neutro:has(input:checked) .psp-voto-icon {
    color: #b7791f;
    transform: scale(1.15);
}

/* 4. Pouco Satisfeito -> Verde Claro */
.psp-opcao-voto.voto-pouco-satisfeito:hover,
.psp-opcao-voto.voto-pouco-satisfeito:has(input:checked) {
    background-color: #f0fff4;
    border-color: #9ae6b4;
}
.psp-opcao-voto.voto-pouco-satisfeito:hover .psp-voto-icon,
.psp-opcao-voto.voto-pouco-satisfeito:has(input:checked) .psp-voto-icon {
    color: #38a169;
    transform: scale(1.15);
}

/* 5. Muito Satisfeito -> Verde Esmeralda */
.psp-opcao-voto.voto-muito-satisfeito:hover,
.psp-opcao-voto.voto-muito-satisfeito:has(input:checked) {
    background-color: #e6fffa;
    border-color: #81e6d9;
}
.psp-opcao-voto.voto-muito-satisfeito:hover .psp-voto-icon,
.psp-opcao-voto.voto-muito-satisfeito:has(input:checked) .psp-voto-icon {
    color: #319795;
    transform: scale(1.15);
}

/* Demais elementos visuais */
.psp-rodape-form {
    font-size: 12px;
    color: #718096;
    margin-top: 20px;
    line-height: 1.5;
}
.psp-btn-enviar {
    background-color: #0f2c59;
    color: #fff;
    border: none;
    padding: 12px 24px;
    font-weight: 600;
    font-size: 14px;
    border-radius: 6px;
    cursor: pointer;
    margin-top: 20px;
    transition: background 0.2s;
}
.psp-btn-enviar:hover { background-color: #1a498b; }
.psp-alerta-sucesso {
    background-color: #c6f6d5;
    color: #22543d;
    padding: 15px;
    border-radius: 6px;
    margin-bottom: 25px;
    font-weight: 500;
    font-size: 14px;
}

/* Escopo do Painel de Resultados */
.psp-col-resultados {
    display: flex;
    flex-direction: column;
    gap: 20px;
    max-width: 360px;
    box-sizing: border-box;
}
.psp-card-resultado {
    background: #fff;
    padding: 20px;
    border-radius: 12px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.04);
}
.psp-card-resultado h3 {
    font-size: 13px;
    text-transform: uppercase;
    color: #718096;
    margin-top: 0;
    margin-bottom: 15px;
    letter-spacing: 0.5px;
    font-weight: 600;
}
.psp-bloco-nota-geral { text-align: center; }
.psp-numero-nota-geral { font-size: 54px; font-weight: 700; color: #f37021; line-height: 1; }
.psp-estrelas-geral { color: #f37021; font-size: 22px; margin: 10px 0; }
.psp-estrelas-vazias { color: #e2e8f0; }
.psp-total-avaliacoes { font-size: 13px; color: #718096; font-weight: 500; }

.psp-linha-criterio-resultado {
    display: flex;
    justify-content: space-between;
    font-size: 14px;
    margin-bottom: 10px;
    padding-bottom: 8px;
    border-bottom: 1px dashed #edf2f7;
}
.psp-linha-criterio-resultado:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
.psp-nome-criterio { color: #4a5568; font-weight: 500; }
.psp-nota-criterio { font-weight: 700; color: #2d3748; }

.psp-linha-distribuicao {
    display: flex;
    align-items: center;
    font-size: 13px;
    margin-bottom: 8px;
}
.psp-linha-distribuicao:last-child { margin-bottom: 0; }
.psp-rotulo-estrela { width: 35px; color: #4a5568; font-weight: 500; }
.psp-barra-progresso-bg {
    flex-grow: 1;
    background: #edf2f7;
    height: 10px;
    border-radius: 5px;
    margin: 0 12px;
    overflow: hidden;
}
.psp-barra-progresso-fill { background: #f37021; height: 100%; border-radius: 5px; }
.psp-qtd-votos-barra { width: 25px; text-align: right; color: #718096; font-weight: 600; }