:root {
  font-family: Inter, system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
  color-scheme: light;
  --dsv-verde: #2E7D32;
  --dsv-verde-hover: #43A047;
  --dsv-verde-escuro: #1B5E20;
  --dsv-amarelo: #FFC107;
  --dsv-cinza: #424242;
  --dsv-cinza-claro: #F5F5F5;
  --dsv-azul-rotulo: #155BA6;
  --texto-titulo: #2B2B2B;
  --texto-sec: #4B5563;
  --texto-suave: #6B7280;
  --fundo-pagina: #F7F9F7;
  --fundo-home: #F7F8F6;
  --borda: #EDEDED;
  --borda-input: #E5E7EB;
  --degrade-dsv: linear-gradient(90deg,#FFC107 0%,#2E7D32 100%);
  --ease-dsv: cubic-bezier(.22,1,.36,1);
  color: var(--dsv-cinza);
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: var(--fundo-pagina);
}

a {
  color: var(--dsv-verde);
  text-underline-offset: 4px;
}

p {
  color: var(--texto-sec);
  line-height: 1.65;
}

h1, h2, h3, p, a {
  overflow-wrap: anywhere;
}

h1, h2 {
  color: var(--texto-titulo);
  letter-spacing: -.025em;
  line-height: 1.1;
}

h1 {
  font-size: clamp(2rem,5vw,3.75rem);
  font-weight: 800;
}

.topo {
  position: sticky;
  top: 0;
  z-index: 40;
  background: rgba(247,248,246,.85);
  backdrop-filter: blur(12px);
  animation: dsv-drop .7s var(--ease-dsv) both;
}

.topo-container, .rodape-container {
  max-width: 1280px;
  margin: auto;
  padding: 14px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.marca {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
}

.marca img {
  height: 40px;
  width: auto;
}

.marca span {
  white-space: nowrap;
  border-left: 1px solid var(--borda);
  padding-left: 12px;
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -.01em;
}

.faixa-dsv {
  height: 3px;
  background: var(--degrade-dsv);
}

.botao-pulso, .botao-pilula, .botao-pilula-contorno {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border-radius: 9999px;
  padding: 10px 20px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  text-align: center;
}

.botao-pulso {
  padding: 10px 28px;
  border: 1px solid;
  color: var(--dsv-cinza);
  animation: dsv-entrar-pulse 3.2s ease-in-out infinite;
}

.botao-pilula {
  background: var(--dsv-verde);
  color: white;
}

.botao-pilula-contorno {
  border: 1px solid rgba(46,125,50,.4);
  background: rgba(255,255,255,.7);
  color: var(--dsv-cinza);
}

.botao-pulso:hover, .botao-pilula-contorno:hover {
  background: rgba(46,125,50,.1);
  color: var(--dsv-verde);
}

.botao-pilula:hover {
  background: var(--dsv-verde-hover);
}

main {
  flex: 1 0 auto;
}

.fundo-dsv {
  position: relative;
  overflow: hidden;
  background: radial-gradient(120% 90% at 50% 0%,#fff 0%,#F7F9F7 45%,#E9EFE9 100%);
}

.conteudo {
  position: relative;
  z-index: 1;
  max-width: 1280px;
  margin: auto;
  padding: 32px 20px 64px;
}

.fundo-efeitos, .fundo-grade, .fundo-linhas, .fundo-halos {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.fundo-grade {
  background-image: linear-gradient(to right,rgba(66,66,66,.05) 1px,transparent 1px);
  background-size: 12.5% 100%;
}

.linha-cai {
  position: absolute;
  top: 0;
  animation: dsv-fall linear infinite;
}

.fundo-halos span {
  position: absolute;
  aspect-ratio: 1;
  animation: dsv-halo ease-in-out infinite;
}

.fundo-halos span:nth-child(1) {
  left: 50%;
  top: 50%;
  width: min(760px,92vw);
  background: radial-gradient(circle,rgba(255,193,7,.34),rgba(46,125,50,.22) 45%,transparent 68%);
  filter: blur(50px);
  animation-duration: 10s;
}

.fundo-halos span:nth-child(2) {
  left: 38%;
  top: 22%;
  width: min(420px,60vw);
  background: radial-gradient(circle,rgba(46,125,50,.42),transparent 66%);
  filter: blur(60px);
  animation-duration: 13s;
  animation-delay: 1.5s;
}

.fundo-halos span:nth-child(3) {
  left: 60%;
  top: 64%;
  width: min(360px,55vw);
  background: radial-gradient(circle,rgba(255,193,7,.45),transparent 66%);
  filter: blur(60px);
  animation-duration: 11s;
  animation-delay: .8s;
}

.pagina-evento .fundo-halos {
  opacity: .6;
}

.vidro {
  background: color-mix(in srgb,white 88%,transparent);
  border: 1px solid rgba(255,255,255,.55);
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 10px 30px color-mix(in srgb,#424242 14%,transparent);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  animation: dsv-rise .9s .1s var(--ease-dsv) both;
}

.vidro:hover {
  box-shadow: 0 10px 30px color-mix(in srgb,#424242 18%,transparent);
}

.vidro-faixa {
  height: 4px;
  background: var(--degrade-dsv);
}

.vidro-conteudo {
  padding: 28px 32px 32px;
}

.rotulo {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--dsv-azul-rotulo);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .2em;
}

.rotulo::before {
  content: '';
  width: 6px;
  height: 28px;
  flex-shrink: 0;
  border-radius: 999px;
  background: var(--dsv-verde);
}

.destaque {
  color: var(--dsv-verde);
}

.heroi {
  border-radius: 24px;
  background: rgba(255,255,255,.88);
  box-shadow: 0 24px 60px rgba(66,66,66,.18);
  padding: 40px 24px;
}

.heroi h1 {
  margin: 12px 0 16px;
}

.heroi-descricao {
  max-width: 570px;
  margin-bottom: 24px;
}

.heroi-acoes {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.heroi-texto > * {
  animation: dsv-drop .7s var(--ease-dsv) both;
}

.heroi-texto > :nth-child(1) {
  animation-delay: .1s;
}

.heroi-texto > :nth-child(2) {
  animation-delay: .25s;
}

.heroi-texto > :nth-child(3) {
  animation-delay: .4s;
}

.heroi-texto > :nth-child(4) {
  animation-delay: .55s;
}

.como-funciona {
  padding-top: 48px;
  scroll-margin-top: 110px;
}

.como-funciona > .rotulo {
  justify-content: center;
}

.como-funciona h2 {
  text-align: center;
  font-size: clamp(24px,3.5vw,44px);
  font-weight: 800;
}

.passos {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 24px;
}

.card, .cartao, .painel-main form, .painel-main .tabela {
  background: white;
  border: 1px solid var(--borda);
  border-radius: 16px;
  padding: 24px;
  margin: 24px 0;
}

.ponto {
  display: inline-block;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--dsv-amarelo);
  box-shadow: 0 0 0 6px rgba(255,193,7,.25);
  animation: dsv-glow-pulse 2.4s infinite;
}

.passo-numero {
  display: block;
  margin-top: 24px;
  font-size: 32px;
  font-weight: 800;
  color: var(--dsv-verde);
}

.pagina-login .conteudo {
  padding-top: 96px;
  padding-bottom: 64px;
}

.login-cartao {
  width: 100%;
  max-width: 420px;
  margin: auto;
}

.login-cartao h1 {
  font-size: 26px;
  margin: 0 0 12px;
}

.login-cartao p {
  font-size: 14px;
  color: var(--texto-suave);
  margin: 0 0 24px;
}

.login-cartao form {
  margin: 0;
}

.login-cartao label {
  margin-bottom: 20px;
}

.login-cartao input {
  min-height: 48px;
}

.login-cartao button {
  width: 100%;
  margin-top: 12px;
}

.acesso-restrito {
  text-align: center;
  color: #9CA3AF;
  font-size: 13px;
  margin: 20px 0 0;
}

label {
  display: block;
  font-size: 14px;
  font-weight: 500;
  color: #374151;
  margin-bottom: 16px;
}

input, textarea, select {
  display: block;
  width: 100%;
  min-width: 0;
  padding: 10px 14px;
  margin-top: 6px;
  background: white;
  border: 1px solid var(--borda-input);
  border-radius: 8px;
  font: inherit;
  font-size: 14px;
  color: var(--dsv-cinza);
}

input::placeholder, textarea::placeholder {
  color: #9CA3AF;
}

input:focus, textarea:focus, select:focus {
  outline: none;
  border-color: var(--dsv-verde);
  box-shadow: 0 0 0 2px #2E7D32;
}

textarea {
  min-height: 120px;
  resize: vertical;
}

.check {
  display: flex;
  align-items: center;
  gap: 12px;
}

.check input {
  width: auto;
  accent-color: var(--dsv-verde);
}

button, .botao {
  display: inline-block;
  border: 0;
  background: #2E7D32;
  color: white;
  border-radius: 12px;
  padding: 14px;
  font: inherit;
  font-weight: 700;
  font-size: 15px;
  cursor: pointer;
  text-decoration: none;
  animation: dsv-entrar-solid-pulse 3.4s ease-in-out infinite;
}

button:hover, .botao:hover {
  animation-play-state: paused;
  background: #43A047;
  transform: translateY(-1px);
}

button:disabled, .botao[disabled] {
  box-shadow: none;
  transform: none;
  opacity: .7;
  animation: none;
  cursor: not-allowed;
}

:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px #fff,0 0 0 4px #2E7D32;
}

[role=alert] {
  border: 1px solid #FECACA;
  background: #FEF2F2;
  color: #B91C1C;
  border-radius: 12px;
  padding: 12px 16px;
}

label [role=alert] {
  display: block;
  border: 0;
  background: transparent;
  padding: 4px 0;
  font-size: 13px;
}

footer {
  background: #424242;
  color: white;
  border-top: 4px solid transparent;
  border-image: var(--degrade-dsv) 1;
}

.rodape-container {
  padding: 32px 20px;
  font-size: 14px;
  color: rgba(255,255,255,.5);
}

.rodape-container img {
  width: auto;
  height: 38px;
}

.dominio {
  color: rgba(255,255,255,.4);
}

.painel {
  background: #F5F5F5;
}

.painel .topo {
  background: white;
  box-shadow: 0 10px 30px rgba(66,66,66,.08);
  border-bottom: 1px solid #EDEDED;
}

.painel nav {
  display: flex;
  align-items: center;
  gap: 16px;
}

.painel nav a {
  color: var(--dsv-cinza);
  font-weight: 600;
  font-size: 14px;
  text-decoration: none;
}

.painel nav form {
  margin: 0;
}

.painel button, .painel .botao {
  animation: none;
  border-radius: 8px;
  padding: 10px 16px;
  font-size: 14px;
  font-weight: 600;
}

.painel .ghost {
  background: transparent;
  color: #424242;
}

.painel .ghost:hover {
  background: #F5F5F5;
}

.painel-main {
  width: 100%;
}

.painel-main .conteudo {
  max-width: 1120px;
}

.painel-main h1 {
  font-size: 24px;
  font-weight: 700;
}

.painel-main form {
  max-width: 660px;
}

.selo {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid #D1D5DB;
  border-radius: 9999px;
  padding: 4px 10px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
}

.selo svg {
  width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
}

.status-publicado {
  background: #F1F8E9;
  color: #2E7D32;
  border: 0;
}

.status-rascunho {
  background: #F5F5F5;
  color: #616161;
  border: 0;
}

.status-encerrado {
  background: #424242;
  color: white;
  border: 0;
}

.tabela {
  overflow: auto;
}

table {
  width: 100%;
  border-collapse: collapse;
}

th, td {
  text-align: left;
  padding: 12px;
  border-bottom: 1px solid var(--borda);
}

th {
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: .14em;
  color: var(--texto-suave);
}

.evento-conteudo {
  min-width: 0;
}

.evento-publico {
  padding-bottom: 140px;
}

.evento-publico h1 {
  animation: dsv-drop .7s var(--ease-dsv) both;
}

.progresso {
  position: relative;
  padding: 20px 24px 24px;
  margin: 24px 0;
}

.progresso > .vidro-faixa {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.progresso-resumo {
  margin-top: 0;
}

progress {
  display: block;
  width: 100%;
  height: 10px;
  border: 0;
  border-radius: 999px;
  overflow: hidden;
  appearance: none;
  background: #EDEDED;
}

progress::-webkit-progress-bar {
  background: #EDEDED;
}

progress::-webkit-progress-value {
  background: var(--degrade-dsv);
  border-radius: 999px;
}

progress::-moz-progress-bar {
  background: var(--degrade-dsv);
  border-radius: 999px;
}

.inscricao {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 10;
  padding: 16px 20px max(16px,env(safe-area-inset-bottom));
  border-radius: 22px 22px 0 0;
  max-height: 50dvh;
  overflow-y: auto;
}

.inscricao > .vidro-faixa {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.inscricao-rotulo {
  display: none;
}

.inscricao-principal {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

.valor {
  margin: 0;
  color: var(--dsv-verde);
  font-size: 20px;
  font-weight: 800;
}

.inscricao button {
  white-space: nowrap;
}

.inscricao-detalhes {
  display: flex;
  gap: 12px;
  font-size: 12px;
}

.inscricao-detalhes p {
  margin: 8px 0 0;
}

.js [data-revelar] {
  opacity: 0;
  transform: translateY(28px);
  filter: blur(6px);
  transition: opacity .7s var(--ease-dsv),transform .7s var(--ease-dsv),filter .7s var(--ease-dsv);
  transition-delay: var(--atraso,0ms);
}

.js [data-revelar].visivel {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
}

.palavra {
  overflow: hidden;
  display: inline-block;
  padding-bottom: .12em;
  vertical-align: bottom;
}

.palavra > span {
  display: inline-block;
  transform: translateY(110%);
  transition: transform .7s var(--ease-dsv);
  transition-delay: var(--atraso);
}

.visivel .palavra > span {
  transform: translateY(0);
}

@media (min-width: 640px) {
  .topo-container {
    padding: 14px 24px;
  }

  .marca img {
    height: 48px;
  }

  .conteudo {
    padding-left: 24px;
    padding-right: 24px;
  }

}

@media (min-width: 900px) {
  .evento-publico {
    display: grid;
    grid-template-columns: minmax(0,1fr) 340px;
    gap: 40px;
    align-items: start;
    padding-bottom: 0;
  }

  .inscricao {
    position: sticky;
    top: 100px;
    border-radius: 22px;
    padding: 28px 32px 32px;
    max-height: none;
  }

  .inscricao-rotulo {
    display: flex;
  }

  .inscricao-principal, .inscricao-detalhes {
    display: block;
  }

  .inscricao button {
    width: 100%;
    margin-top: 24px;
  }

  .valor {
    font-size: 28px;
  }

}

@media (max-width: 639px) {
  .marca {
    gap: 8px;
  }

  .marca span {
    font-size: 14px;
    padding-left: 8px;
    }

  .botao-pulso {
    padding: 10px 20px;
    white-space: nowrap;
  }

  .heroi {
    padding: 32px 24px;
  }

  .heroi-descricao {
    font-size: 14px;
  }

  .heroi-acoes {
    flex-direction: column;
    align-items: flex-start;
  }

  .passos {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .rodape-container {
    flex-direction: column;
    text-align: center;
  }

  .pagina-login .conteudo {
    padding-top: 64px;
  }

  .vidro-conteudo {
    padding: 28px 24px 32px;
  }

  .painel nav {
    gap: 8px;
  }

  .painel nav a {
    font-size: 12px;
  }

}

.linha-cai:nth-child(1) {
  left: 9%;
  height: 34vh;
  background: linear-gradient(180deg,transparent,#FFC107,transparent);
  animation-duration: 6s;
  animation-delay: 0s;
  width: 1px;
}

.linha-cai:nth-child(2) {
  left: 22%;
  height: 26vh;
  background: linear-gradient(180deg,transparent,#2E7D32,transparent);
  animation-duration: 7.4s;
  animation-delay: 1.4s;
  width: 2px;
}

.linha-cai:nth-child(3) {
  left: 33%;
  height: 42vh;
  background: linear-gradient(180deg,transparent,rgba(255,193,7,.8),transparent);
  animation-duration: 6.6s;
  animation-delay: 2.6s;
  width: 1px;
}

.linha-cai:nth-child(4) {
  left: 68%;
  height: 30vh;
  background: linear-gradient(180deg,transparent,rgba(67,160,71,.8),transparent);
  animation-duration: 8s;
  animation-delay: .8s;
  width: 1px;
}

.linha-cai:nth-child(5) {
  left: 79%;
  height: 24vh;
  background: linear-gradient(180deg,transparent,#FFC107,transparent);
  animation-duration: 5.6s;
  animation-delay: 2s;
  width: 2px;
}

.linha-cai:nth-child(6) {
  left: 91%;
  height: 38vh;
  background: linear-gradient(180deg,transparent,rgba(46,125,50,.75),transparent);
  animation-duration: 7s;
  animation-delay: 3.4s;
  width: 1px;
}

@keyframes dsv-fall {
  0% {
    transform: translateY(-100%);
    opacity: 0;
  }

  8% {
    opacity: 1;
  }

  94% {
    opacity: 1;
  }

  100% {
    transform: translateY(calc(260vh + 100%));
    opacity: 0;
  }

}

@keyframes dsv-drop {
  0% {
    opacity: 0;
    transform: translateY(-38px);
    filter: blur(6px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }

}

@keyframes dsv-rise {
  0% {
    opacity: 0;
    transform: translateY(28px) scale(.985);
    filter: blur(8px);
  }

  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }

}

@keyframes dsv-halo {
  0%,100% {
    opacity: .55;
    transform: translate(-50%,-50%) scale(1);
  }

  50% {
    opacity: .9;
    transform: translate(-50%,-50%) scale(1.12);
  }

}

@keyframes dsv-glow-pulse {
  0%,100% {
    opacity: .45;
  }

  50% {
    opacity: .9;
  }

}

@keyframes dsv-entrar-pulse {
  0%,100% {
    border-color: #2E7D32;
    box-shadow: 0 0 0 1px rgba(46,125,50,.25),0 0 14px rgba(46,125,50,.35);
  }

  50% {
    border-color: #FFC107;
    box-shadow: 0 0 0 1px rgba(255,193,7,.30),0 0 18px rgba(255,193,7,.5);
  }

}

@keyframes dsv-entrar-solid-pulse {
  0%,100% {
    box-shadow: 0 8px 24px rgba(46,125,50,.32);
    background-color: #2E7D32;
  }

  50% {
    box-shadow: 0 8px 28px rgba(255,193,7,.40);
    background-color: #43A047;
  }

}

.heroi-arte {
  position: relative;
  min-width: 0;
  margin-top: 32px;
  padding: 8px 0;
  animation: dsv-rise .9s .55s var(--ease-dsv) both;
}

.arte-faixas, .pix-recebido {
  display: none;
}

.convite {
  position: relative;
  width: 100%;
  max-width: 320px;
  margin: auto;
  padding: 24px;
  background: white;
  border-radius: 20px;
  box-shadow: 0 24px 60px rgba(66,66,66,.18);
  animation: dsv-flutua 6s ease-in-out infinite;
}

.convite-rotulo {
  margin: 0 0 12px;
  color: var(--dsv-verde);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .2em;
}

.convite h2 {
  margin: 0 0 16px;
  font-size: 26px;
  font-weight: 800;
}

.convite-data {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 16px;
  font-size: 13px;
}

.convite-data svg, .pix-recebido svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  fill: none;
  stroke: var(--dsv-verde);
  stroke-width: 1.5;
}

.convite-preco {
  display: inline-block;
  padding: 6px 10px;
  border-radius: 999px;
  background: #F1F8E9;
  color: var(--dsv-verde-escuro);
  font-size: 12px;
  font-weight: 700;
}

.convite-progresso {
  height: 7px;
  margin-top: 24px;
  overflow: hidden;
  border-radius: 999px;
  background: var(--borda);
}

.convite-progresso span {
  display: block;
  width: 60%;
  height: 100%;
  border-radius: inherit;
  background: var(--degrade-dsv);
}

.convite-legenda {
  margin: 8px 0 20px;
  font-size: 12px;
}

.convite-botao {
  width: 100%;
}

@media (min-width: 900px) {
  .heroi {
    display: grid;
    grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr);
    align-items: center;
    gap: 32px;
    padding: 64px 56px;
  }

  .heroi-arte {
    display: grid;
    align-items: center;
    min-height: 350px;
    margin-top: 0;
    padding: 16px 24px 24px 0;
  }

  .arte-faixas {
    display: block;
    position: absolute;
    inset: -20px -24px;
  }

  .arte-faixas span {
    position: absolute;
    inset: 0;
    clip-path: polygon(25% 0,65% 0,40% 100%,0 100%);
    background: var(--degrade-dsv);
    opacity: .22;
  }

  .arte-faixas span:nth-child(2) {
    clip-path: polygon(60% 0,95% 0,70% 100%,35% 100%);
    background: linear-gradient(135deg,#2E7D32,#43A047);
    opacity: .35;
  }

  .arte-faixas span:nth-child(3) {
    clip-path: polygon(95% 0,100% 0,100% 100%,75% 100%);
    background: #FFC107;
    opacity: .5;
  }

  .pix-recebido {
    position: absolute;
    display: flex;
    align-items: center;
    gap: 12px;
    right: -8px;
    bottom: 0;
    padding: 16px;
    border-radius: 16px;
    background: white;
    box-shadow: 0 16px 40px rgba(66,66,66,.18);
    font-size: 12px;
    font-weight: 700;
    animation: dsv-flutua 6s ease-in-out infinite;
    animation-delay: -3s;
  }

  .pix-recebido .ponto {
    width: 8px;
    height: 8px;
    flex-shrink: 0;
  }
}

@media (max-width: 899px) {
  .pagina-evento footer {
    padding-bottom: 130px;
  }
}

@media (max-width: 399px) {
  .marca img {
    height: 32px;
  }

  .botao-pulso {
    padding: 8px 16px;
  }
}

@keyframes dsv-flutua {
  0%,100% {
    transform: translateY(-8px);
  }

  50% {
    transform: translateY(8px);
  }
}

/* Evento flexível e capa */
[hidden] {
  display: none !important;
}
.capa-evento {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: 24px;
  box-shadow: 0 24px 60px rgba(66,66,66,.18);
  margin-bottom: 24px;
}
.previa-imagem {
  max-width: 100%;
  max-height: 280px;
  object-fit: contain;
  border-radius: 24px;
}
.descricao {
  white-space: pre-line;
  overflow-wrap: anywhere;
}
.opcoes-valor {
  border: 0;
  padding: 0;
  display: grid;
  gap: 16px;
}
.opcoes-valor .card:has(input:checked) {
  border-color: var(--dsv-verde);
  box-shadow: 0 0 0 2px var(--dsv-verde);
}
.valor-orientacao {
  font-size: 13px;
  margin: 6px 0;
}
@media (max-width: 899px) {
  .inscricao-principal {
    flex-wrap: wrap;
  }
  .inscricao-principal .valor-orientacao {
    flex-basis: 100%;
    order: 2;
  }
}

.opcoes-valor {
  margin-top: 24px;
}
.opcoes-valor .card {
  margin: 0;
}
@media (min-width: 640px) {
  .opcoes-valor {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
[data-evento] [data-modo][hidden] {
  display: none;
}
.qrcode {
  width: 200px;
  height: 200px;
  background: white;
  border-radius: 16px;
  overflow: hidden;
  margin: 16px 0;
}
.qrcode svg {
  display: block;
  width: 200px;
  height: 200px;
}

/* Inscrição e pagamento Pix seguem os cartões DSV. */
.isca {
  display: none;
}
[hidden] {
  display: none !important;
}
.pedido-pago {
  background: #d7f2dc;
  color: #145b26;
}
.pedido-aguardando_pagamento {
  background: #fff0bf;
  color: #715100;
}
.pedido-expirado,
.pedido-cancelado {
  background: #eceff1;
  color: #455a64;
}
.pedido-estornado {
  background: #ffe0e0;
  color: #9b1515;
}
[data-pedido] {
  max-width: 42rem;
  margin: 2rem auto;
}
[data-pedido] .qrcode img {
  width: 100%;
  height: auto;
}

.aviso-limite { background: var(--dsv-amarelo); color: #222; padding: 1rem; }
