/**
 * Estilos do formulário de avaliação de conteúdo.
 *
 * @package PMS_Avaliacao_Conteudo
 */

.pms-avaliacao {
  --pms-av-bg: #f7f7f6;
  --pms-av-border: #d9d7d3;
  --pms-av-text: #1f1e1c;
  --pms-av-muted: #5f5d58;
  --pms-av-primary: #005eb8;
  --pms-av-primary-hover: #004a92;
  --pms-av-primary-text: #ffffff;
  --pms-av-focus: #005eb8;
  --pms-av-success: #0f6a3d;
  --pms-av-error: #b42318;

  display: flex;
  flex-direction: column;
  gap: 0;
  margin-block: 2rem;
  padding: 1.5rem;
  border: 1px solid var(--pms-av-border);
  border-radius: 0.75rem;
  background: var(--pms-av-bg);
  color: var(--pms-av-text);
}

.pms-avaliacao__form {
  margin: 0;
  padding: 0;
  width: 100%;
}

.pms-avaliacao__title {
  margin: 0 0 1rem;
  font-size: 1.125rem;
  line-height: 1.4;
  font-weight: 700;
}

.pms-avaliacao__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.pms-avaliacao__btn {
  appearance: none;
  border: 1px solid var(--pms-av-primary);
  border-radius: 999px;
  background: transparent;
  color: var(--pms-av-primary);
  padding: 0.625rem 1.25rem;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.pms-avaliacao__btn:hover,
.pms-avaliacao__btn.is-active {
  background: var(--pms-av-primary);
  color: var(--pms-av-primary-text);
}

.pms-avaliacao__btn:focus-visible {
  outline: 2px solid var(--pms-av-focus);
  outline-offset: 2px;
}

.pms-avaliacao__panel {
  margin-top: 1.25rem;
}

.pms-avaliacao__fieldset {
  margin: 0;
  padding: 0;
  border: 0;
}

.pms-avaliacao__legend {
  margin-bottom: 0.75rem;
  font-weight: 400;
}

.pms-avaliacao__options {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.5rem;
  justify-items: start;
}

.pms-avaliacao__options li {
  width: 100%;
  text-align: left;
  margin: 0;
}

.pms-avaliacao__options li:hover {
  background: var(--pms-av-bg);
  border-radius: 0.5rem;
  border: 1px solid var(--pms-av-border);
}

.pms-avaliacao__option {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 0.625rem;
  cursor: pointer;
  font-weight: 400;
  text-align: left;
}

.pms-avaliacao__option span {
  font-weight: 400;
}

.pms-avaliacao__option input {
  margin-top: 0.2rem;
}

.pms-avaliacao__label {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: 600;
}

.pms-avaliacao__textarea {
  width: 100%;
  min-height: 6rem;
  padding: 0.75rem;
  border: 1px solid var(--pms-av-border);
  border-radius: 0.5rem;
  background: #fff;
  color: var(--pms-av-text);
  font: inherit;
  resize: vertical;
}

.pms-avaliacao__textarea:focus-visible {
  outline: 2px solid var(--pms-av-focus);
  outline-offset: 1px;
}

.pms-avaliacao__footer {
  margin-top: 1rem;
}

.pms-avaliacao__submit {
  appearance: none;
  border: 0;
  border-radius: 999px;
  background: var(--pms-av-primary);
  color: var(--pms-av-primary-text);
  padding: 0.75rem 1.5rem;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}

.pms-avaliacao__submit:hover:not(:disabled) {
  background: var(--pms-av-primary-hover);
}

.pms-avaliacao__submit:disabled {
  opacity: 0.7;
  cursor: wait;
}

.pms-avaliacao__submit:focus-visible {
  outline: 2px solid var(--pms-av-focus);
  outline-offset: 2px;
}

.pms-avaliacao__message {
  margin: 0;
}

.pms-avaliacao__form:not([hidden]) + .pms-avaliacao__message:not([hidden]) {
  margin-top: 1rem;
}

.pms-avaliacao__message--success {
  
}

.pms-avaliacao__message--error {
  
}

/* Neutraliza margens globais do tema (.article-body etc.) dentro do widget */
.article-body .pms-avaliacao :is(h1, h2, h3, h4, p, ul, ol, li, form, fieldset, legend) {
  margin-block-start: 0;
  max-width: none;
}

.article-body .pms-avaliacao .pms-avaliacao__title {
  margin: 0 0 1rem;
}

@media (max-width: 640px) {
  .pms-avaliacao {
    padding: 1rem;
  }

  .pms-avaliacao__actions {
    flex-direction: column;
  }

  .pms-avaliacao__btn,
  .pms-avaliacao__submit {
    width: 100%;
    text-align: center;
  }
}
