.pv-publico{position:relative;isolation:isolate;margin:0;padding:clamp(55px,7vw,106px) 20px;background:#08162e;color:#f7fbff;overflow:hidden;font-family:Inter,system-ui,-apple-system,'Segoe UI',sans-serif}
.pv-backdrop{position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 14% 14%,rgba(31,210,238,.2),transparent 38%),radial-gradient(ellipse at 87% 13%,rgba(165,91,247,.22),transparent 39%),radial-gradient(ellipse at 50% 110%,rgba(14,68,142,.36),transparent 60%)}
.pv-inner{max-width:1180px;margin:auto}.pv-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:34px}.pv-heading-text{max-width:830px}.pv-eyebrow{font-size:.74rem;letter-spacing:.15em;color:#79edff;font-weight:800}.pv-heading h2{font-size:clamp(2rem,4vw,3.5rem);line-height:1.08;font-weight:850;letter-spacing:-.04em;color:#fff;margin:14px 0 12px}.pv-heading p{color:#d0deea;font-size:1.03rem;max-width:760px;line-height:1.65}.pv-microcopy{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:.84rem;color:#bacde0}.pv-pill{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(88,240,203,.4);background:rgba(22,162,126,.2);border-radius:99px;color:#d6fff2;padding:9px 14px;font-weight:750}.pv-pill-soon{background:rgba(246,192,72,.16);color:#ffe8b2;border-color:rgba(246,192,72,.3)}.pv-symbol{font-size:clamp(6rem,15vw,13rem);line-height:.8;color:rgba(135,222,255,.22);transform:rotate(-9deg);user-select:none}.pv-symbol span{font-size:.35em;color:rgba(245,185,255,.5);margin-left:-30px}
.pv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,245px),1fr));gap:19px;align-items:stretch}.pv-card{display:flex;flex-direction:column;text-align:left;border:1px solid rgba(255,255,255,.19);background:rgba(255,255,255,.09);color:#fff;padding:0;border-radius:24px;overflow:hidden;cursor:pointer;min-width:0;box-shadow:0 14px 44px rgba(0,0,0,.19);transition:transform .2s,box-shadow .2s,border-color .2s}.pv-card:hover,.pv-card:focus-visible{transform:translateY(-5px);border-color:#7ee4ff;box-shadow:0 18px 42px rgba(5,167,218,.19)}.pv-card:focus-visible,.pv-votar:focus-visible,.pv-modal button:focus-visible{outline:3px solid #ffda72;outline-offset:3px}.pv-art{aspect-ratio:4/3;display:block;overflow:hidden;background:#20304b;width:100%}.pv-art img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.pv-card:hover img{transform:scale(1.035)}.pv-card-text{display:grid;align-content:start;gap:7px;padding:19px;flex:1}.pv-card-text strong{font-size:1.11rem;line-height:1.25;color:#fff}.pv-card-text small{color:#c0d3e4;font-size:.84rem}.pv-open{display:flex;justify-content:space-between;gap:8px;font-weight:800;margin-top:10px;color:#7beafb}.pv-votes{font-size:.82rem;color:#ffe3aa;font-weight:700}.pv-footnote{font-size:.81rem;color:#a9bfd3;margin-top:25px;line-height:1.55}.pv-empty{grid-column:1/-1;padding:28px;border:1px dashed rgba(255,255,255,.32);border-radius:18px;color:#d4e5f5}
.pv-modal{border:1px solid rgba(255,255,255,.14);border-radius:24px;color:#eef6ff;background:#0d1a34;padding:0;max-height:min(94vh,900px);width:min(92vw,1000px);box-shadow:0 30px 90px rgba(0,0,0,.6)}.pv-modal::backdrop{background:rgba(2,4,14,.85);backdrop-filter:blur(7px)}.pv-modal-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(290px,.85fr)}.pv-modal-photo{min-height:320px;background:#132843;display:grid;place-items:center}.pv-modal-photo img{width:100%;height:100%;max-height:80vh;object-fit:contain}.pv-modal-aside{padding:clamp(20px,3vw,32px);display:flex;flex-direction:column;overflow:auto;max-height:85vh}.pv-modal-top{display:flex;align-items:center;justify-content:space-between;color:#74ebfa;font-size:.74rem;letter-spacing:.15em;font-weight:800}.pv-modal-top button{border:1px solid #7590a7;border-radius:50%;width:40px;height:40px;background:transparent;color:#fff;cursor:pointer}.pv-modal h3{font-size:1.8rem;line-height:1.2;font-weight:850;color:#fff;margin:22px 0 12px}.pv-modal p{color:#c7d5e7;line-height:1.6}.pv-verificacao{display:grid;gap:8px;margin-top:12px}.pv-verificacao label{font-weight:700;font-size:.85rem}.pv-verificacao input{width:100%;border-radius:12px;border:1px solid #6886a0;padding:12px;background:#fff;color:#17263e}.pv-verificacao button{background:#283d5d;border:1px solid #7c92ae;border-radius:12px;padding:11px 12px;color:#fff;font-weight:800;cursor:pointer}.pv-votar{width:100%;margin-top:22px;padding:16px 20px;border:0;border-radius:15px;color:#06192c;font-weight:900;background:linear-gradient(110deg,#91f5ff,#f8e1a4);cursor:pointer;transition:filter .2s}.pv-votar:hover{filter:brightness(1.06)}.pv-votar:disabled{opacity:.4;cursor:not-allowed}.pv-feedback{min-height:25px;margin-top:14px;color:#9ae7f4;font-weight:700}.pv-feedback.is-error{color:#ffd2a0}.pv-modal-note{font-size:.8rem;margin-top:20px}.pv-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}
@media(max-width:690px){.pv-symbol{display:none}.pv-modal-grid{grid-template-columns:1fr}.pv-modal-photo{height:min(45vh,400px);min-height:160px}.pv-modal-photo img{max-height:45vh}.pv-modal-aside{max-height:none}.pv-modal{overflow:auto;max-height:92vh}.pv-heading h2{font-size:2rem}}
@media(prefers-reduced-motion:reduce){.pv-card,.pv-art img,.pv-votar{transition:none}}


/* Votacao Planetario/FLACC 2026: galeria de cards independentes.
   auto-fill reserva colunas mesmo quando existe somente 1 fotografia.
   A quantidade de cards vem da consulta Django, nunca de valores fixos. */
.pv-publico .pv-gallery-toolbar{
  display:flex;align-items:flex-end;justify-content:space-between;
  gap:18px;margin:16px 0 22px;padding-bottom:22px;
  border-bottom:1px solid rgba(137,207,250,.19)
}
.pv-publico .pv-gallery-heading{min-width:0}
.pv-publico .pv-gallery-kicker{font-size:.74rem;letter-spacing:.14em;font-weight:800;color:#7eeeff}
.pv-publico .pv-gallery-heading h3{font-size:clamp(1.3rem,2.1vw,1.75rem);margin:8px 0 6px;line-height:1.2;color:#fff;font-weight:800}
.pv-publico .pv-gallery-heading p{font-size:.94rem;color:#b7d0e5;margin:0;line-height:1.55}
.pv-publico .pv-gallery-counter{flex:0 0 auto;display:flex;align-items:center;gap:13px;padding:10px 15px;border:1px solid rgba(126,231,255,.24);background:rgba(16,54,84,.66);border-radius:16px}
.pv-publico .pv-gallery-counter strong{font-size:1.9rem;font-variant-numeric:tabular-nums;line-height:1;color:#99f3ff}
.pv-publico .pv-gallery-counter span{max-width:105px;color:#d1e6f5;font-size:.78rem;line-height:1.35;font-weight:750}
.pv-publico .pv-grid .pv-card{width:100%;min-width:0;min-height:0;align-self:stretch;border-radius:20px}
.pv-publico .pv-grid .pv-card .pv-art{position:relative;aspect-ratio:4/3}
.pv-publico .pv-grid .pv-card .pv-art img{display:block;width:100%;height:100%;object-fit:cover}
.pv-publico .pv-card-number{position:absolute;top:12px;left:12px;z-index:1;border:1px solid rgba(244,249,255,.22);border-radius:999px;padding:7px 11px;background:rgba(3,19,42,.84);color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.03em}
.pv-publico .pv-art-overlay{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;gap:8px;padding:15px 14px 12px;background:linear-gradient(0deg,rgba(4,13,32,.9),transparent);font-size:.8rem;font-weight:700;color:#effbff}
.pv-publico .pv-grid .pv-card .pv-card-text{display:flex;flex-direction:column;gap:8px;padding:15px 17px 18px}
.pv-publico .pv-grid .pv-card .pv-card-text strong{font-size:1.04rem;line-height:1.34;overflow-wrap:anywhere}
.pv-publico .pv-grid .pv-card .pv-card-text small{line-height:1.35;overflow-wrap:anywhere}
.pv-publico .pv-grid .pv-card .pv-open{margin-top:auto;padding-top:9px;line-height:1.35;display:flex;align-items:center;justify-content:space-between}
.pv-publico .pv-grid .pv-card:hover .pv-art-overlay,.pv-publico .pv-grid .pv-card:focus-visible .pv-art-overlay{color:#8bebff}
@media (max-width:640px){
  .pv-publico .pv-gallery-toolbar{align-items:flex-start;flex-direction:column;gap:13px}
  .pv-publico .pv-gallery-counter{padding:8px 12px}
  .pv-publico .pv-gallery-counter strong{font-size:1.5rem}
}
@media (max-width:560px){
  .pv-publico .pv-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr))}
}
