/* =====================================================================
   Portal do Vestibular — o que é próprio deste portal (sobre uri.css).
   A peça marcante é a abertura: o nome do vestibular grande sobre o petróleo do topo e o calendário real
   (inscrições, prova, resultado) logo abaixo; o resto segue o tema comum, quieto.
   ===================================================================== */

/* ---------- abertura (index) ---------- */
/* faixa de ponta a ponta sem alterar a largura da página (sem rolagem horizontal): a sombra estende o fundo */
.pv-abertura { background: var(--uri-petroleo); color: #fff; margin: -1.5rem 0 0; padding: 2.25rem 0 2.5rem; box-shadow: 0 0 0 100vmax var(--uri-petroleo); clip-path: inset(0 -100vmax); }
.pv-abertura-inner { max-width: 1120px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 2rem; align-items: end; }
.pv-abertura h1 { font-family: var(--uri-fonte-titulo); font-weight: 750; font-size: clamp(2.1rem, 1.3rem + 3.6vw, 3.9rem); line-height: .98; letter-spacing: -.035em; color: #fff; margin: 0 0 .9rem; max-width: 14ch; }
.pv-abertura .pv-situacao { font-size: 1.05rem; color: #CFE1EA; margin: 0 0 1.4rem; max-width: 48ch; }
.pv-abertura .pv-situacao strong { color: #fff; }
.pv-abertura .pv-valor { color: #CFE1EA; font-size: .95rem; margin-top: .9rem; }
.pv-abertura .pv-valor .uri-html-legado, .pv-abertura .pv-valor b, .pv-abertura .pv-valor strong { color: #fff; }
.pv-cta { display: inline-flex; align-items: center; gap: .6rem; background: var(--uri-marcador); color: #1C2B33; font-weight: 700; font-size: 1.1rem; padding: .85rem 1.4rem; border-radius: 99px; border: 0; text-decoration: none; }
.pv-cta:hover, .pv-cta:focus-visible { background: #FFE070; color: #1C2B33; }
.pv-cta .bi { font-size: 1.2rem; }
.pv-abertura .pv-fechado { display: inline-flex; gap: .55rem; align-items: center; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18); border-radius: var(--uri-raio); padding: .75rem 1rem; color: #E6F0F5; }
.pv-abertura-lado { display: flex; flex-direction: column; gap: .6rem; }
.pv-atalho-escuro { display: flex; align-items: center; gap: .8rem; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.16); border-radius: var(--uri-raio); padding: .85rem 1rem; color: #fff; text-decoration: none; }
.pv-atalho-escuro:hover, .pv-atalho-escuro:focus-visible { background: rgba(255,255,255,.13); color: #fff; }
.pv-atalho-escuro .bi { font-size: 1.45rem; color: var(--uri-marcador); flex: 0 0 auto; }
.pv-atalho-escuro span { display: flex; flex-direction: column; font-weight: 700; line-height: 1.25; }
.pv-atalho-escuro small { font-weight: 400; color: #BFD4DE; }

/* ---------- calendário do vestibular ---------- */
.pv-calendario { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--uri-linha); border-radius: var(--uri-raio); background: #fff; overflow: hidden; }
.pv-calendario li { padding: 1rem 1.15rem 1.1rem; position: relative; min-width: 0; }
.pv-calendario li + li { border-left: 1px solid var(--uri-linha); }
.pv-calendario .pv-cal-rot { display: flex; align-items: center; gap: .45rem; font-weight: 700; color: var(--uri-petroleo); }
.pv-calendario .pv-cal-rot .bi { color: var(--uri-azul); }
.pv-calendario .pv-cal-data { font-family: var(--uri-fonte-titulo); font-size: 1.2rem; font-weight: 650; color: var(--uri-texto); margin-top: .3rem; font-variant-numeric: tabular-nums; }
.pv-calendario .pv-cal-det { font-size: .85rem; color: var(--uri-texto-2); margin-top: .15rem; }
.pv-calendario li.agora { background: var(--uri-marcador-suave); }
.pv-calendario li.agora::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: var(--uri-marcador); }
.pv-calendario li.passou .pv-cal-data { color: var(--uri-texto-2); }
.pv-agora { display: inline-block; margin-left: .35rem; font-size: .72rem; font-weight: 700; background: var(--uri-marcador); color: var(--uri-texto); border-radius: 99px; padding: .1rem .5rem; vertical-align: middle; }

.pv-sec { margin-top: 1.75rem; }
.pv-grade { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 1.25rem; align-items: start; }
.pv-grade > * + * { margin-top: 0 !important; }

/* ---------- inscrição (assistente) ---------- */
.pv-insc-topo { margin: 0 0 1.25rem; }
.pv-insc-vest { display: inline-flex; align-items: center; gap: .4rem; margin: 0 0 .35rem; font-weight: 700; color: var(--uri-azul); font-size: .95rem; }
.pv-insc-vest::before { content: ""; width: .6rem; height: .6rem; border-radius: 50%; background: var(--uri-marcador); box-shadow: 0 0 0 3px var(--uri-marcador-suave); }
.pv-insc-topo h1 { font-family: var(--uri-fonte-titulo); font-weight: 750; font-size: clamp(1.6rem, 1.2rem + 1.6vw, 2.25rem); letter-spacing: -.025em; line-height: 1.08; color: var(--uri-petroleo); margin: 0 0 .4rem; }
.pv-insc-sub { color: var(--uri-texto-2); margin: 0 0 1rem; max-width: 65ch; }
.pv-passos { margin-bottom: .25rem; }
.pv-passos .uri-passos { margin-bottom: 0; }
.pv-insc-grade { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 1.25rem; align-items: start; }
.pv-insc-grade > * + * { margin-top: 0 !important; }
.pv-insc-lado { position: sticky; top: 1rem; background: #fff; border: 1px solid var(--uri-linha); border-radius: var(--uri-raio); padding: 1rem 1.1rem; }
.pv-insc-lado h2 { font-family: var(--uri-fonte-titulo); font-size: 1.05rem; font-weight: 700; color: var(--uri-petroleo); margin: 0 0 .75rem; }
.pv-insc-lado .pv-resumo { grid-template-columns: minmax(0, 1fr); gap: .05rem; }
.pv-insc-lado .pv-resumo dd { margin-bottom: .6rem; }
.pv-insc-ajuda { font-size: .82rem; color: var(--uri-texto-2); margin: .25rem 0 0; display: flex; gap: .4rem; }
.pv-celular .form-select { flex: 0 0 5.6rem; max-width: 5.6rem; }
.pv-campo-curto { max-width: 18rem; }
.pv-lgpd.is-invalid { box-shadow: inset 0 0 0 2px var(--uri-erro); }

/* cartões de escolha (opção de prova, presencial/on-line) */
.pv-cartoes { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: .6rem; }
.pv-cartoes.is-invalid { outline: 2px solid var(--uri-erro); outline-offset: 4px; border-radius: var(--uri-raio); }
.pv-cartao { position: relative; min-width: 0; }
.pv-cartao label { display: flex; gap: .75rem; align-items: flex-start; height: 100%; padding: .8rem .95rem; background: #fff; border: 1px solid var(--uri-linha-forte); border-radius: var(--uri-raio); cursor: pointer; }
.pv-cartao label .bi { font-size: 1.3rem; color: var(--uri-azul); line-height: 1.2; }
.pv-cartao label span { display: flex; flex-direction: column; gap: .15rem; min-width: 0; }
.pv-cartao label strong { color: var(--uri-texto); line-height: 1.25; }
.pv-cartao label small { color: var(--uri-texto-2); font-size: .85rem; }
.pv-cartao label:hover { border-color: var(--uri-azul); }
.pv-cartao .btn-check:checked + label { border-color: var(--uri-azul); background: var(--uri-azul-claro); box-shadow: inset 0 0 0 1px var(--uri-azul); }
.pv-cartao .btn-check:checked + label strong { color: var(--uri-petroleo); }
.pv-cartao .btn-check:focus-visible + label { outline: 3px solid var(--bs-focus-ring-color, rgba(6,108,147,.4)); outline-offset: 2px; }
.pv-cartao .btn-check:checked + label::after { content: "\F26B"; font-family: "bootstrap-icons"; position: absolute; top: .55rem; right: .7rem; color: var(--uri-azul); font-size: 1.05rem; }
.pv-form fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.pv-form fieldset + fieldset { margin-top: 1.75rem; padding-top: .2rem; border-top: 1px solid var(--uri-linha); }
.pv-form legend { font-family: var(--uri-fonte-titulo); font-size: 1.1rem; font-weight: 650; color: var(--uri-petroleo); margin-bottom: .6rem; float: none; width: auto; padding-right: .6rem; }
.pv-form .pv-dica { font-size: .88rem; color: var(--uri-texto-2); margin: -.4rem 0 .9rem; max-width: 70ch; }
.pv-acoes-form { display: flex; flex-wrap: wrap; gap: .6rem; justify-content: space-between; align-items: center; margin-top: 1.5rem; }
.pv-acoes-form .btn-primary { min-width: 12rem; }
.pv-form fieldset.pv-questao { padding: 0 0 1rem; border-bottom: 1px dashed var(--uri-linha); }
.pv-form fieldset.pv-questao + fieldset.pv-questao { margin-top: 1rem; padding-top: 0; border-top: 0; }
.pv-form .pv-questao legend { font-family: var(--uri-fonte); font-size: 1rem; font-weight: 700; color: var(--uri-texto); display: flex; align-items: flex-start; gap: .1rem; margin-bottom: .45rem; }
.pv-questao .pv-q-nr { display: inline-flex; width: 1.8rem; height: 1.8rem; border-radius: 50%; background: var(--uri-azul-claro); color: var(--uri-petroleo); font-weight: 700; font-size: .85rem; align-items: center; justify-content: center; margin-right: .4rem; }
.pv-opcoes-alt { display: flex; flex-wrap: wrap; gap: .4rem .5rem; margin-top: .35rem; }
.pv-opcoes-alt .btn-check + .btn { border-radius: 99px; font-weight: 500; }
.pv-resumo { margin: 0; display: grid; grid-template-columns: minmax(9rem, max-content) minmax(0, 1fr); gap: .35rem 1rem; }
.pv-resumo dt { color: var(--uri-texto-2); font-weight: 600; font-size: .9rem; }
.pv-resumo dd { margin: 0; overflow-wrap: anywhere; }
.pv-valor-final { font-family: var(--uri-fonte-titulo); font-size: 1.5rem; font-weight: 700; color: var(--uri-petroleo); }
.pv-lgpd { background: var(--uri-azul-claro); border-radius: var(--uri-raio-sm); padding: .75rem .9rem; }
.pv-lgpd .form-check-label { overflow-wrap: anywhere; }

/* ---------- comprovante ---------- */
.pv-comprovante { border-top: 4px solid var(--uri-azul); }
.pv-rotulo { display: block; font-size: .85rem; font-weight: 600; color: var(--uri-texto-2); margin-bottom: .2rem; }
.pv-insc-cartao { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: .75rem 1.5rem; }
.pv-insc-quem { display: flex; flex-direction: column; align-items: flex-end; gap: .35rem; text-align: right; min-width: 0; }
.pv-insc-quem strong { font-size: 1.1rem; color: var(--uri-texto); overflow-wrap: anywhere; }
.pv-enviado { margin: .9rem 0 0; font-size: .92rem; color: var(--uri-texto-2); display: flex; gap: .45rem; align-items: flex-start; }
.pv-enviado .bi { color: var(--uri-ok); font-size: 1.05rem; }
.pv-pagto { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 1rem 1.5rem; align-items: center; background: var(--uri-papel); border-radius: var(--uri-raio); padding: 1rem 1.1rem; }
.pv-proximos { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .85rem; }
.pv-proximos li { display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: .55rem; align-items: start; }
.pv-proximos .bi { width: 2rem; height: 2rem; border-radius: 50%; background: var(--uri-azul-claro); color: var(--uri-azul); display: inline-flex; align-items: center; justify-content: center; font-size: 1rem; }
.pv-proximos strong { display: block; color: var(--uri-texto); }
.pv-proximos span { display: block; font-size: .88rem; color: var(--uri-texto-2); }
.pv-insc-nr { font-family: var(--uri-fonte-titulo); font-size: 2.4rem; font-weight: 750; letter-spacing: -.02em; color: var(--uri-petroleo); line-height: 1; font-variant-numeric: tabular-nums; }
.pv-pagar { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: .75rem; }
.pv-pagar form { margin: 0; }
.pv-pagar .btn { width: 100%; min-height: 3.4rem; display: inline-flex; align-items: center; justify-content: center; gap: .55rem; font-weight: 700; }
.pv-modelo { overflow-wrap: anywhere; }
.pv-modelo-barra { display: flex; justify-content: flex-end; margin: -.25rem 0 .5rem; }
.pv-modelo h1, .pv-modelo h2 { font-family: var(--uri-fonte-titulo); color: var(--uri-petroleo); font-size: 1.35rem; }
.pv-modelo p { margin-bottom: .45rem; }
.pv-modelo table { max-width: 100%; }

/* ---------- resultado ---------- */
.pv-estreito { max-width: 640px; }
.pv-res-grade { align-items: stretch; }
.pv-res-sala { font-size: 1.55rem; }
.pv-res-opcoes { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: .75rem; }
.pv-res-pos { margin-left: .5rem; font-weight: 600; color: var(--uri-texto-2); font-size: .9rem; }
.pv-res-cab .pv-insc-cartao { align-items: center; }
.pv-res-nome { font-family: var(--uri-fonte-titulo); font-size: 1.45rem; font-weight: 700; color: var(--uri-petroleo); margin: 0; }
.pv-res-opcao { border: 1px solid var(--uri-linha); border-radius: var(--uri-raio); padding: .9rem 1rem; background: #fff; }
.pv-res-opcao h3 { font-size: 1rem; margin: 0 0 .35rem; }
.pv-res-grande { font-family: var(--uri-fonte-titulo); font-size: 2rem; font-weight: 750; color: var(--uri-petroleo); line-height: 1; font-variant-numeric: tabular-nums; }

/* ---------- prova on-line ---------- */
.pv-prova-topo { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .4rem 1rem; align-items: center; background: var(--uri-petroleo); color: #fff; border-radius: var(--uri-raio); padding: .7rem 1rem; margin-bottom: 1.1rem; }
.pv-prova-nome { font-weight: 700; display: inline-flex; gap: .45rem; align-items: center; }
.pv-prova-etapa { font-size: .85rem; color: #CFE1EA; }
.pv-prova-titulo { font-family: var(--uri-fonte-titulo); font-weight: 750; font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2rem); letter-spacing: -.02em; color: var(--uri-petroleo); margin: 0 0 .9rem; }
.pv-instrucoes { padding-left: 1.2rem; margin: 0; }
.pv-instrucoes li { margin-bottom: .55rem; max-width: 75ch; }
.pv-instrucoes ul { margin-top: .35rem; }
.pv-aviso-prova { margin-top: 1rem; }

/* tema */
.pv-tema-titulo { font-family: var(--uri-fonte-titulo); font-size: 1.35rem; font-weight: 700; color: var(--uri-petroleo); margin: 0 0 .75rem; }
.pv-tema-conteudo { max-width: 78ch; }   /* tipografia, citações, imagens e tabelas: .uri-conteudo-rico (uri.css) */
.pv-tema .pv-tema-titulo { scroll-margin-top: 1rem; }
#proposta { scroll-margin-top: 1rem; }
.pv-tema-doc { width: 100%; min-height: 70vh; border: 1px solid var(--uri-linha); border-radius: var(--uri-raio-sm); background: #fff; }
.pv-temas-grade { display: grid; grid-template-columns: minmax(220px, 300px) minmax(0, 1fr); gap: 1.25rem; align-items: start; }
.pv-temas-lista { display: flex; flex-direction: column; gap: .4rem; position: sticky; top: 1rem; }
.pv-tema-item { display: flex; flex-direction: column; gap: .35rem; align-items: flex-start; padding: .75rem .9rem; border: 1px solid var(--uri-linha-forte); border-radius: var(--uri-raio); background: #fff; color: var(--uri-texto); text-decoration: none; font-weight: 600; }
.pv-tema-item:hover { border-color: var(--uri-azul); color: var(--uri-petroleo); }
.pv-tema-item.ativo { border-color: var(--uri-azul); background: var(--uri-azul-claro); box-shadow: inset 4px 0 0 var(--uri-azul); }

/* editor */
.pv-red { margin: 0; }
.pv-editor-barra { position: sticky; top: 0; z-index: 30; display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .9rem; background: rgba(243,246,248,.96); backdrop-filter: blur(6px); border-bottom: 1px solid var(--uri-linha); padding: .6rem 0; margin-bottom: 1rem; }
.pv-relogio { display: inline-flex; align-items: center; gap: .45rem; font-weight: 700; font-variant-numeric: tabular-nums; background: #fff; border: 1px solid var(--uri-linha); border-radius: 99px; padding: .35rem .8rem; }
.pv-relogio.pouco { background: var(--uri-alerta-bg); border-color: #F0D9A6; color: var(--uri-alerta); }
.pv-relogio.fim { background: var(--uri-erro-bg); border-color: #F1C4C2; color: var(--uri-erro); }
.pv-tema-link { display: inline-flex; align-items: center; gap: .35rem; font-weight: 600; max-width: 32ch; min-width: 0; }
.pv-tema-link span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pv-salvo { font-size: .85rem; color: var(--uri-texto-2); }
.pv-salvo.erro { color: var(--uri-erro); font-weight: 700; }
.pv-editor-barra .pv-botoes { margin-left: auto; display: flex; flex-wrap: wrap; gap: .4rem; }
.pv-red-msg { margin-bottom: 1rem; }
.pv-folha { background: #fff; border: 1px solid var(--uri-linha); border-radius: var(--uri-raio); padding: 1rem 1rem 1.25rem; }
.pv-titulo-linha { display: grid; grid-template-columns: 2.6rem minmax(0, 1fr); align-items: center; gap: 0; max-width: calc(2.6rem + 80ch + 30px); font-family: "Courier New", Courier, monospace; margin-bottom: .75rem; }
.pv-titulo-linha label { font-family: var(--uri-fonte); font-weight: 700; font-size: .85rem; color: var(--uri-texto-2); }
.pv-titulo { font-family: "Courier New", Courier, monospace; font-size: 1.05rem; font-weight: 700; }
.pv-pauta { display: grid; grid-template-columns: 2.6rem minmax(0, 1fr); gap: 0; font-family: "Courier New", Courier, monospace; font-size: 1rem; max-width: calc(2.6rem + 80ch + 30px); }
.pv-pauta .pv-linhas { font-size: .8rem; color: #8FB0C0; line-height: 30px; text-align: right; padding: 8px .5rem 0 0; user-select: none; overflow: hidden; white-space: pre-line; }
.pv-texto { font-family: "Courier New", Courier, monospace; font-size: 1rem; line-height: 30px; padding: 8px 14px 0; border: 1px solid #E3EAEE; border-radius: var(--uri-raio-sm); resize: none; min-height: calc(30px * 30 + 16px); width: 100%; overflow: hidden;
  background-color: #fff; background-image: linear-gradient(transparent, transparent 29px, #B9DDEB 29px); background-size: 100% 30px; background-attachment: local; background-position: 0 8px; }
.pv-texto:focus { outline: 3px solid var(--bs-focus-ring-color, rgba(6,108,147,.35)); outline-offset: 1px; }
.pv-texto[readonly], .pv-titulo[readonly] { background-color: #F7F9FA; }
.pv-contador { font-size: .85rem; color: var(--uri-texto-2); margin-top: .5rem; display: flex; flex-wrap: wrap; gap: .25rem 1.25rem; padding-left: 2.6rem; }
.pv-contador .limite { color: var(--uri-erro); font-weight: 700; }
.pv-contador .pouco { color: var(--uri-alerta); font-weight: 700; }

/* o tema dentro da página da redação (29/10/2026): ao lado da folha nas telas largas (>= 1300 px) e numa gaveta por cima
   nas demais (redacao.js). Sem JavaScript o painel fica escondido e o link "Tema" abre a proposta em outra aba. */
.pv-red-area.com-tema { display: grid; grid-template-columns: minmax(0, 55rem) minmax(300px, 1fr); gap: 1.25rem; align-items: start; }
.pv-red-tema { background: #fff; border: 1px solid var(--uri-linha); border-radius: var(--uri-raio); display: flex; flex-direction: column; min-width: 0; }
.pv-red-area.com-tema .pv-red-tema { position: sticky; top: var(--pv-barra-h, 4.5rem); max-height: calc(100vh - var(--pv-barra-h, 4.5rem) - 1rem); }
.pv-red-tema-cab { display: flex; align-items: center; flex-wrap: wrap; gap: .35rem .75rem; padding: .65rem .75rem .65rem 1rem; border-bottom: 1px solid var(--uri-linha); }
.pv-red-tema-rot { font-family: var(--uri-fonte); font-size: .95rem; font-weight: 700; color: var(--uri-petroleo); margin: 0; display: inline-flex; align-items: center; gap: .4rem; }
.pv-red-tema-aba { font-size: .85rem; margin-left: auto; }
.pv-red-tema-corpo { padding: 1rem; overflow: auto; overscroll-behavior: contain; min-height: 0; }
.pv-red-tema-corpo:focus-visible { outline: 3px solid rgba(6,108,147,.35); outline-offset: -3px; }
.pv-red-tema .pv-tema-titulo { font-size: 1.15rem; }
.pv-red-tema .pv-tema-doc { min-height: 50vh; }
.pv-red-tema.gaveta { position: fixed; top: 0; right: 0; bottom: 0; width: min(560px, 100%); z-index: 1060; border: 0; border-radius: 0; box-shadow: var(--uri-sombra-overlay);
  transform: translateX(105%); transition: transform .22s ease; }
.pv-red-tema.gaveta.aberta { transform: none; }
.pv-red-tema.gaveta .pv-red-tema-corpo { flex: 1; padding-bottom: 2rem; }
.pv-red-tema.gaveta .pv-red-tema-cab { padding-top: max(.65rem, env(safe-area-inset-top)); }
.pv-red-tema-fundo { position: fixed; inset: 0; z-index: 1055; background: rgba(11,58,82,.45); }
body.pv-gaveta-aberta { overflow: hidden; }
@media (min-width: 1300px) {
  body.pv-tema-lado .uri-publico-corpo, body.pv-tema-lado .uri-publico-topo .uri-publico-inner { max-width: 1440px; }
}
@media (prefers-reduced-motion: reduce) { .pv-red-tema.gaveta { transition: none; } }

/* imagem da proposta ampliada (vest.js): tocar na imagem reduzida abre o tamanho original, com rolagem */
.uri-conteudo-rico img[data-ampliar] { cursor: zoom-in; }
.uri-conteudo-rico img[data-ampliar]:focus-visible { outline: 3px solid rgba(6,108,147,.45); outline-offset: 2px; }
.pv-visor { position: fixed; inset: 0; z-index: 1080; background: #0B1C26; display: flex; flex-direction: column; }
.pv-visor-barra { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .6rem .9rem; padding-top: max(.6rem, env(safe-area-inset-top)); color: #DCE8EE; font-size: .9rem; }
.pv-visor-area { flex: 1; overflow: auto; padding: .5rem .5rem 1.5rem; overscroll-behavior: contain; }
.pv-visor-img { display: block; margin: auto; max-width: none; height: auto; background: #fff; border-radius: 4px; }
body.pv-visor-aberto { overflow: hidden; }

/* entrega */
.pv-entrega-resumo { background: var(--uri-papel); border-radius: var(--uri-raio); padding: .9rem 1rem; }
.pv-entrega-texto summary { cursor: pointer; font-weight: 600; color: var(--uri-azul); }
.pv-entrega-previa { font-family: "Courier New", Courier, monospace; font-size: .95rem; line-height: 1.6; background: #fff; border: 1px solid var(--uri-linha); border-radius: var(--uri-raio-sm); padding: .9rem 1rem; margin-top: .6rem; max-height: 50vh; overflow: auto; overflow-wrap: anywhere; }

/* ---------- responsivo ---------- */
@media (max-width: 991.98px) {
  .pv-abertura-inner, .pv-grade, .pv-insc-grade { grid-template-columns: minmax(0, 1fr); }
  .pv-insc-lado { position: static; }
  .pv-abertura h1 { max-width: none; }
}
@media (max-width: 767.98px) {
  .pv-abertura { padding: 1.6rem 0 1.8rem; }
  .pv-calendario { grid-template-columns: minmax(0, 1fr); }
  .pv-calendario li + li { border-left: 0; border-top: 1px solid var(--uri-linha); }
  .pv-resumo { grid-template-columns: minmax(0, 1fr); gap: .1rem; }
  .pv-resumo dd { margin-bottom: .55rem; }
  .pv-acoes-form { flex-direction: column-reverse; align-items: stretch; }
  .pv-pagto { grid-template-columns: minmax(0, 1fr); }
  .pv-insc-quem { align-items: flex-start; text-align: left; }
  .pv-acoes-form .btn { width: 100%; }
  .pv-editor-barra .pv-botoes { margin-left: 0; width: 100%; }
  .pv-editor-barra .pv-botoes .btn { flex: 1 1 auto; }
  .pv-pauta, .pv-titulo-linha { grid-template-columns: minmax(0, 1fr); }
  .pv-pauta .pv-linhas { display: none; }
  .pv-contador { padding-left: 0; }
  .pv-temas-grade { grid-template-columns: minmax(0, 1fr); }
  .pv-temas-lista { position: static; }
}
@media print {
  .pv-pagar, .pv-acoes-form, .uri-publico-topo, .uri-publico-rodape, .pv-nao-imprimir { display: none !important; }
  .pv-comprovante { border: 0; }
}
