/* Central de Ajuda (FAQ) — Pages/Ajuda.razor (membra) + Pages/AdminFaq*.razor (admin).
   Reusa os tokens do app.css (var(--color-*), var(--font-*)) e as classes .btn/.input/.tag. */

.faq-page { max-width: 860px; margin: 0 auto; }

/* ── Membra ── */
.faq-hero { text-align: center; margin-bottom: 26px; }
.faq-hero p { font-size: 14px; color: var(--color-text-muted); margin-top: 8px; }

.faq-busca { position: relative; max-width: 520px; margin: 0 auto 22px; }
.faq-busca .input-icon {
  position: absolute; left: 18px; top: 50%; transform: translateY(-50%);
  color: var(--color-text-muted); pointer-events: none;
}
.faq-busca input {
  width: 100%;
  background: var(--color-surface);
  border: 1.5px solid transparent;
  border-radius: var(--radius-full);
  padding: 14px 18px 14px 48px;
  font-size: 14px; color: var(--color-text);
  box-shadow: var(--shadow-card); outline: none;
}
.faq-busca input:focus { border-color: var(--color-orange); }

.faq-filtros { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; margin-bottom: 24px; }
.faq-filtro {
  border: none; cursor: pointer; border-radius: var(--radius-full);
  padding: 8px 16px; font-family: var(--font-body); font-size: 13px; font-weight: 600;
  background: var(--color-surface); color: var(--color-text-secondary);
  box-shadow: 0 1px 8px rgba(0,0,0,0.05); transition: all .15s;
}
.faq-filtro:hover { color: var(--color-text); }
.faq-filtro.ativo { background: var(--color-lavender); color: var(--color-text); box-shadow: none; }

.faq-lista { display: flex; flex-direction: column; gap: 12px; }

.faq-item {
  background: var(--color-surface); border-radius: var(--radius-card);
  box-shadow: var(--shadow-card); overflow: hidden;
}
.faq-item-cab {
  display: flex; align-items: center; gap: 14px; padding: 18px 22px;
  cursor: pointer; transition: background .12s; width: 100%;
  background: none; border: none; text-align: left;
}
.faq-item-cab:hover { background: #faf7ee; }
.faq-item-pergunta {
  flex: 1; font-family: var(--font-display); font-size: 16px; font-weight: 700; color: var(--color-text);
}
.faq-item-chevron {
  width: 28px; height: 28px; border-radius: 50%; background: var(--color-background);
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
  transition: transform .2s; color: var(--color-orange);
}
.faq-item-chevron.aberto { transform: rotate(180deg); }

.faq-item-corpo { padding: 0 22px 22px; }
.faq-item-corpo .divider { margin-bottom: 16px; }

/* Conteúdo rico da resposta (HTML sanitizado no servidor) */
.faq-resposta { font-size: 14.5px; color: #4a4034; line-height: 1.7; }
.faq-resposta p { margin: 0 0 10px; }
.faq-resposta h3 { font-family: var(--font-display); font-size: 17px; margin: 14px 0 8px; color: var(--color-text); }
.faq-resposta ul, .faq-resposta ol { margin: 0 0 10px 20px; }
.faq-resposta a { color: var(--color-orange); }
.faq-resposta img { max-width: 100%; height: auto; border-radius: 10px; margin: 8px 0; }
/* Embed do YouTube: o Quill insere <iframe class="ql-video"> sem wrapper — aspect-ratio o torna
   responsivo (16:9) fora do editor, sem precisar do div de padding-top. */
.faq-resposta iframe {
  width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0;
  border-radius: 14px; margin: 8px 0; background: #000;
}

.faq-vazio { text-align: center; padding: 40px 24px; color: var(--color-text-muted); }
.faq-vazio-emoji { font-size: 32px; margin-bottom: 8px; }

/* ── Admin ── */
.faq-admin-topo { display: flex; align-items: flex-start; gap: 16px; margin-bottom: 24px; flex-wrap: wrap; }
.faq-admin-topo-txt { flex: 1; min-width: 200px; }
.faq-admin-badge {
  background: var(--color-text); color: var(--color-cream); font-size: 10px; font-weight: 700;
  letter-spacing: 0.08em; border-radius: var(--radius-full); padding: 4px 11px;
}

.faq-tabela { background: var(--color-surface); border-radius: 18px; overflow: hidden; box-shadow: var(--shadow-card-elevated); }
.faq-tabela-cab, .faq-linha {
  display: grid; grid-template-columns: 2.8fr 1.1fr 0.9fr 0.9fr 96px; gap: 12px;
  align-items: center; padding: 14px 22px;
}
.faq-tabela-cab { background: #faf7ee; border-bottom: 1.5px solid rgba(132,153,183,0.15); }
.faq-tabela-cab > div {
  font-size: 11px; font-weight: 700; color: var(--color-text-muted);
  letter-spacing: 0.05em; text-transform: uppercase;
}
.faq-linha { border-bottom: 1px solid rgba(132,153,183,0.10); transition: background .12s; }
.faq-linha:last-child { border-bottom: none; }
.faq-linha:hover { background: #faf7ee; }
.faq-linha-pergunta {
  font-family: var(--font-display); font-size: 14.5px; font-weight: 700; color: var(--color-text);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.faq-linha-cat { font-size: 13px; color: var(--color-text-secondary); }
.faq-midia { display: flex; gap: 5px; }
.faq-midia-ico {
  width: 26px; height: 26px; border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
}
.faq-midia-video { background: var(--color-orange-light); color: #d45800; }
.faq-midia-imagem { background: var(--color-lavender-light); color: #9b59d6; }
.faq-acoes { display: flex; align-items: center; justify-content: flex-end; gap: 6px; }
.faq-acao-btn {
  width: 34px; height: 34px; border-radius: 10px; background: #faf7ee; border: none;
  cursor: pointer; display: flex; align-items: center; justify-content: center; transition: opacity .12s;
}
.faq-acao-btn:hover { opacity: .85; }
.faq-acao-editar { color: var(--color-orange); }
.faq-acao-excluir { color: var(--color-danger); }

/* Editor (Components/EditorFaq.razor) */
.faq-editor-area { min-height: 200px; background: var(--color-surface); }
.faq-form-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 16px; margin-bottom: 16px; }

@media (max-width: 640px) {
  .faq-tabela-cab { display: none; }
  .faq-linha { grid-template-columns: 1fr auto; gap: 8px; }
  .faq-linha-cat, .faq-midia { display: none; }
  .faq-form-grid { grid-template-columns: 1fr; }
}
