/* Questões SEO 2.4.0 — página individual /questao/{id}/.
   Com o tema VaiConcursos 3.0+, a página usa a faixa de título e a largura do tema; estas regras valem para outros temas. */
.qseo-page{box-sizing:border-box;width:min(100% - 32px,1000px);margin:32px auto;padding:24px;background:#fff;color:#1e293b;border:1px solid #e2e8f0;border-radius:12px;overflow-wrap:anywhere}
.qseo-page h1{font-size:clamp(1.4rem,4vw,2rem);line-height:1.3}
.qseo-page .qseo-single{width:100%;max-width:100%;margin:24px 0}
.qseo-page a{text-decoration:underline}
.qseo-page img{max-width:100%;height:auto}
.qseo-page button:focus-visible,.qseo-page a:focus-visible{outline:3px solid #0e7490;outline-offset:3px}
.qseo-more{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 0}
.qseo-page .qseo-more a{display:inline-flex;align-items:center;min-height:44px;padding:8px 18px;border:1px solid #1e3a8a;border-radius:999px;font-weight:650;text-decoration:none}
.qseo-page .qseo-more .qseo-more-primary{background:#1e3a8a;color:#fff}
.vc-main--questao .qseo-single{margin:0}
@media(max-width:600px){.qseo-page{padding:16px;width:calc(100% - 20px)}.qseo-more a{flex:1 1 100%;justify-content:center}}

/* Questões SEO 2.6.0 — páginas de navegação, links da questão, gabarito e comentários recolhidos.
   Usa as cores do tema VaiConcursos quando disponíveis (variáveis --vc-*), com alternativas para outros temas. */
.qseo-hub-section{margin:0 0 28px;padding:24px;background:var(--vc-card,#fff);border:1px solid var(--vc-line,#e2e8f0);border-radius:var(--vc-radius,12px);box-shadow:var(--vc-shadow,none)}
.qseo-hub-section h2,.qseo-bank-nav h2,.qseo-related-title{margin:0 0 14px;font-size:1.25rem;line-height:1.3;color:var(--vc-blue,#1e3a8a)}
.qseo-hub-intro{font-size:1.05rem}
.qseo-hub-about{font-size:1.05rem;line-height:1.65;border-left:4px solid var(--vc-cyan,#0e7490)}
.qseo-hub-about>:first-child{margin-top:0}.qseo-hub-about>:last-child{margin-bottom:0}
.qseo-hub-actions{margin:0 0 20px}
.qseo-page .qseo-btn,.qseo-hub-actions .qseo-btn{display:inline-flex;align-items:center;min-height:44px;padding:8px 20px;border-radius:999px;background:var(--vc-blue,#1e3a8a);color:#fff;font-weight:700;text-decoration:none}
.qseo-hub-list{margin:0;padding:0 0 0 1.4em}
.qseo-hub-item{padding:14px 0;border-bottom:1px solid var(--vc-line,#e2e8f0)}
.qseo-hub-item:last-child{border-bottom:0}
.qseo-hub-item::marker{color:var(--vc-muted,#475569);font-weight:600}
.qseo-hub-item-title{margin:0 0 4px;font-size:1.02rem;line-height:1.4}
.qseo-hub-item-title a{text-decoration:none}
.qseo-hub-item-title a:hover{text-decoration:underline}
.qseo-hub-item-meta{margin:0 0 6px;font-size:.9rem;color:var(--vc-muted,#475569)}
.qseo-hub-item-text{margin:0;color:var(--vc-text,#334155);font-size:.97rem}
.qseo-chip{display:inline-block;margin-left:6px;padding:1px 10px;border-radius:999px;font-size:.8rem;font-weight:650;background:var(--vc-blue-50,#eef2ff);color:var(--vc-blue,#1e3a8a)}
.qseo-chip--oficial{background:var(--vc-ok-bg,#ecfdf5);color:var(--vc-ok,#047857)}
.qseo-chip--anulada,.qseo-chip--pendente{background:var(--vc-warn-bg,#fff7ed);color:var(--vc-warn,#9a3412)}
.qseo-hub-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:6px 20px;margin:0;padding:0;list-style:none}
.qseo-hub-links li{display:flex;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px dashed var(--vc-line,#e2e8f0)}
.qseo-count{flex:none;color:var(--vc-muted,#475569);font-size:.88rem;font-variant-numeric:tabular-nums}
.qseo-pagination ul{display:flex;flex-wrap:wrap;gap:6px;margin:20px 0 0;padding:0;list-style:none}
.qseo-pagination a,.qseo-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 12px;border:1px solid var(--vc-line-strong,#cbd5e1);border-radius:10px;text-decoration:none}
.qseo-pagination [aria-current]{background:var(--vc-blue,#1e3a8a);border-color:var(--vc-blue,#1e3a8a);color:#fff;font-weight:700}
.qseo-pagination li[aria-hidden]{display:flex;align-items:center;padding:0 4px}
.qseo-bank-nav{margin:32px 0 0;padding:24px;background:var(--vc-card,#fff);border:1px solid var(--vc-line,#e2e8f0);border-radius:var(--vc-radius,12px)}
.qseo-bank-nav-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px 28px}
.qseo-bank-nav h3{margin:0 0 8px;font-size:1.05rem}
.qseo-bank-nav .qseo-hub-links{grid-template-columns:1fr}
.qseo-bank-nav-all{margin:10px 0 0;font-weight:650}
.qseo-gabarito,.qseo-comments-static{margin:18px 0 0;background:var(--vc-card,#fff);border:1px solid var(--vc-line,#e2e8f0);border-radius:var(--vc-radius-sm,10px)}
.qseo-gabarito summary,.qseo-comments-static summary{min-height:44px;display:flex;align-items:center;padding:8px 18px;cursor:pointer;font-weight:700;color:var(--vc-blue,#1e3a8a)}
.qseo-gabarito-body,.qseo-comments-static details>:not(summary){margin-left:18px;margin-right:18px}
.qseo-gabarito-body{padding-bottom:12px}
.qseo-gabarito-answer{font-size:1.1rem}
.qseo-gabarito-source{font-size:.92rem;color:var(--vc-muted,#475569)}
.qseo-comment{padding:10px 0;border-top:1px solid var(--vc-line,#e2e8f0)}
.qseo-comment-head{margin:0 0 4px;font-size:.92rem}
.qseo-comment-head time{margin-left:8px;color:var(--vc-muted,#475569)}
.qseo-comment-text{margin:0;white-space:normal}
.qseo-related{margin:28px 0 0}
.qseo-prevnext{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:0 0 24px;padding:0;list-style:none}
.qseo-prevnext a{display:flex;flex-direction:column;justify-content:center;min-height:44px;height:100%;box-sizing:border-box;padding:10px 16px;background:var(--vc-card,#fff);border:1px solid var(--vc-line,#e2e8f0);border-radius:var(--vc-radius-sm,10px);text-decoration:none;font-weight:650}
.qseo-prevnext span{font-size:.82rem;font-weight:600;color:var(--vc-muted,#475569);text-transform:uppercase;letter-spacing:.04em}
.qseo-next a{text-align:right}
.qseo-related-list{padding:0 18px 0 2.2em;background:var(--vc-card,#fff);border:1px solid var(--vc-line,#e2e8f0);border-radius:var(--vc-radius-sm,10px);list-style:disc}
.qseo-breadcrumb{font-size:.92rem;margin-bottom:12px}
@media(max-width:600px){.qseo-hub-section,.qseo-bank-nav{padding:18px 16px}.qseo-next a{text-align:left}}
