
/* ===== home.css ===== */
.pagina-inicial {
  --home-aqua: #4dccec;
  --home-step-label: #eef1b9;
  --h-container: 1112px;
  --h-gutter: clamp(20px, 4vw, 40px);
  --h-text-md: 16px;
  --h-text-lg: 20px;
  --h-text-xl: 24px;
  --h-control-height: 52px;
  --h-target-min: 44px;
  overflow-x: clip;
}

.pagina-inicial .titulo {
  font-size: 48px;
  line-height: 56px;
}

.pagina-inicial :is(section, #premios) {
  scroll-margin-top: 24px;
}

.botao-texto {
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 150ms var(--h-ease), text-decoration-thickness 150ms var(--h-ease);
}

.destaque {
  overflow: clip;
  background: #0752a5 url("/assets/home/hero-background.webp") center top / 100% auto no-repeat;
}

.cabecalho {
  width: min(calc(100% - 48px), 1072px);
  min-height: 70px;
  margin: 0 auto;
  padding-top: 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
}

.menu-principal {
  flex-wrap: nowrap;
  gap: 40px;
  color: var(--h-white);
}

.menu-principal a {
  position: relative;
  gap: 4px;
  font-size: 16px;
  line-height: 16px;
  white-space: nowrap;
  text-transform: uppercase;
  transition: color 150ms var(--h-ease), transform 150ms var(--h-ease);
}

.menu-principal a::before {
  content: "";
  position: absolute;
  right: calc(100% + 4px);
  width: 15px;
  height: 16px;
  background: url("/assets/home/sparkle-menu.svg") center / contain no-repeat;
  opacity: 0;
  transform: scale(0.5) rotate(-20deg);
  transition: opacity 150ms var(--h-ease), transform 250ms var(--h-ease);
}

.menu-principal .menu-principal__ativo {
  color: var(--h-lime-500);
}

.menu-principal .menu-principal__ativo::before {
  opacity: 1;
  transform: scale(1) rotate(0);
}

.menu-principal a:focus-visible {
  color: var(--h-lime-500);
}

.menu-principal a:focus-visible::before {
  opacity: 1;
  transform: scale(1) rotate(0);
}

.cabecalho .botao {
  width: 201px;
  flex-shrink: 0;
  line-height: 20px;
}

.acao-brilho {
  position: relative;
  display: inline-flex;
  flex-shrink: 0;
}

.acao-brilho::before,
.acao-brilho::after {
  content: "";
  position: absolute;
  pointer-events: none;
  background: center / contain no-repeat;
  transition: transform 250ms var(--h-ease);
}

.acao-brilho::before {
  width: 19px;
  height: 22px;
  right: -23px;
  top: 26px;
  background-image: url("/assets/home/sparkle-large.svg");
}

.acao-brilho::after {
  width: 13px;
  height: 15px;
  right: -11px;
  top: 51px;
  background-image: url("/assets/home/sparkle-small.svg");
}

.botao-menu {
  display: none;
}

.destaque__cena {
  width: 100%;
  max-width: 1920px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: 31.5625% 36.9271% 31.5104%;
  grid-template-rows: auto;
  padding-top: 27px;
}

.destaque__chamada {
  display: contents;
}

.destaque__cena>*,
.destaque__chamada>* {
  grid-row: 1;
  min-width: 0;
}

.destaque__titulo {
  grid-column: 2;
  align-self: start;
  z-index: 1;
}

.destaque__titulo img {
  width: 100%;
}

.destaque__aviao {
  grid-column: 3;
  align-self: start;
  width: 61%;
  margin-top: 7.6%;
  margin-left: -9.6%;
}

.destaque__premios {
  grid-column: 3;
  align-self: start;
  width: 79.67%;
  margin-top: 22.15%;
}

.destaque__modelo {
  grid-column: 1 / 3;
  align-self: end;
  width: 83.28%;
  margin-top: 29.505%;
  margin-left: -1.673%;
}

.destaque__ondas {
  --wave-width: var(--wave-loop);
  --wave-height: 124.215px;
  --wave-loop: 367.5px;
  --wave-size: var(--wave-width) var(--wave-height);
  --wave-back-y-start: 2px;
  --wave-back-y-end: 11px;
  --wave-middle-y-start: 18px;
  --wave-middle-y-end: 27px;
  display: grid;
  height: 155px;
  margin-top: -155px;
  position: relative;
  overflow: clip;
  pointer-events: none;
  isolation: isolate;
}

.destaque__onda {
  grid-area: 1 / 1;
  min-width: 0;
  margin-inline: -64px;
  background-size: var(--wave-size);
  background-repeat: repeat-x;
}

.destaque__onda--fundo {
  --wave-duration: 10.5s;
  --wave-delay: -6.8s;
  --wave-tide-duration: 6.4s;
  --wave-tide-delay: -2.1s;
  background-image: url("/assets/home/wave-hero-back.svg");
  background-position: calc(50% - 154px) var(--wave-back-y-start);
}

.destaque__onda--meio {
  --wave-duration: 5.25s;
  --wave-delay: -3.9s;
  --wave-tide-duration: 4.1s;
  --wave-tide-delay: -3.2s;
  background-image: url("/assets/home/wave-hero-line.svg"), url("/assets/home/wave-hero-middle.svg");
  background-position: calc(50% + 128px) var(--wave-middle-y-start), calc(50% + 128px) var(--wave-middle-y-start);
  background-size: var(--wave-size), var(--wave-size);
  background-repeat: repeat-x, repeat-x;
}

.destaque__onda--frente {
  background-image: url("/assets/home/wave-hero-front.svg");
  background-position: calc(50% - 75px) bottom;
}

.participacao {
  background: var(--home-aqua);
  margin-top: -2px;
  padding-top: 2px;
}

.participacao__conteudo {
  padding: 20px 24px 60px;
}

.participacao__conteudo>.titulo {
  color: var(--h-white);
  text-align: center;
}

.participacao__passos {
  display: flex;
  justify-content: flex-start;
  gap: 39px;
  width: min(100%, 1490px);
  margin: 40px auto 0;
  padding: 0;
  list-style: none;
}

.passo {
  flex: 0 1 330px;
  min-width: 0;
}

.passo--comprar {
  flex-basis: 325px;
}

.passo--receber {
  flex-basis: 281px;
}

.passo__titulo {
  display: flex;
  align-items: center;
  gap: 7px;
  position: relative;
  z-index: 1;
}

.passo__titulo>img {
  flex-shrink: 0;
}

.passo__titulo>span {
  background: var(--home-step-label);
  border-radius: 16px 16px 16px 4px;
  padding: 10px 14px;
  font: 400 32px/32px var(--h-font-label);
  letter-spacing: -1.6px;
  text-transform: uppercase;
}

.passo:not(:last-child) {
  background: url("/assets/home/step-connector.svg") right 30px / 100px 2px no-repeat;
}

.passo__subtitulo {
  font-size: 20px;
  line-height: 24px;
  margin-top: 4px;
}

.passo--comprar .passo__subtitulo {
  margin-left: 69px;
}

.passo__compra {
  display: flex;
  align-items: flex-end;
  gap: 9px;
  margin: 10px 0 0 50px;
}

.passo__compra>img {
  flex-shrink: 0;
}

.passo__compra a {
  color: var(--h-blue-800);
  font-size: 16px;
  line-height: 16px;
  text-decoration: none;
  max-width: 116px;
  padding-bottom: 61px;
}

.passo__compra a span {
  text-decoration: underline;
}

.passo__cadastro {
  display: flex;
  align-items: flex-start;
  gap: 0;
  margin: -37px 0 0 -36px;
}

.passo__cadastro>img {
  width: 216px;
  flex-shrink: 0;
}

.passo__cadastro p {
  padding-top: 41px;
  font-size: 20px;
  line-height: 24px;
}

.passo--receber .passo__subtitulo {
  margin-left: 20px;
}

.passo__recebimento {
  display: flex;
  align-items: flex-end;
  gap: 0;
  margin: 14px 0 0 -47px;
}

.passo__recebimento>p:first-child {
  width: 102px;
  flex-shrink: 0;
  font-size: 16px;
  line-height: 20px;
  text-align: right;
  margin-bottom: 36px;
}

.passo__recebimento>img {
  flex-shrink: 0;
}

.passo__igual {
  font: 400 56px/56px var(--h-font-label);
  margin: 0 8px 36px 0;
}

.passo__bilhete {
  width: 122.353px;
  height: 80px;
  flex-shrink: 0;
  padding: 22px 12px;
  margin-bottom: 43px;
  background: url("/assets/home/lucky-ticket.svg") center / contain no-repeat;
  font-size: 18px;
  line-height: 18px;
  text-transform: uppercase;
}

.passo__bilhete>span {
  display: block;
  transform: rotate(-5.37deg);
}

.passo__bilhete strong {
  font-weight: 800;
}

.passo__premio {
  display: flex;
  align-items: flex-start;
  margin-top: -52px;
  gap: 14px;
}

.passo__premio p {
  flex: 0 0 87px;
  text-align: right;
  padding-top: 59px;
  font-size: 20px;
  line-height: 24px;
}

.passo__premio>img {
  width: 222px;
  flex-shrink: 0;
}

.onda-secao {
  --altura-onda-secao: 124.215px;
  height: 124px;
  /*
   * Mantém o SVG ligeiramente maior que o contêiner para evitar que a
   * rasterização em alturas responsivas revele uma linha nas suas bordas.
   */
  background-position: calc(50% + 233px) -1px;
  background-size: 2461.26px calc(var(--altura-onda-secao) + 2px);
  background-repeat: repeat-x;
}

/* Veda as duas bordas dos divisores contra artefatos subpixel do SVG. */
.produtos>.onda-secao {
  box-shadow: inset 0 1px var(--home-aqua), inset 0 -2px var(--h-white);
}

.ganhadores>.onda-secao {
  box-shadow: inset 0 1px var(--h-white), inset 0 -2px var(--h-blue-500);
}

.duvidas>.onda-secao {
  box-shadow: inset 0 1px var(--h-blue-500), inset 0 -2px var(--h-white);
}

.lojas>.onda-secao {
  box-shadow: inset 0 1px var(--h-white), inset 0 -2px var(--h-sand-100);
}

.onda-secao--branca {
  background-image: url("/assets/home/wave-white.svg");
}

.onda-secao--azul {
  background-image: url("/assets/home/wave-blue.svg");
}

.onda-secao--areia {
  background-image: url("/assets/home/wave-sand.svg");
}

.produtos {
  padding-bottom: 76px;
  background: var(--h-white);
}

.produtos>.onda-secao {
  background-color: var(--home-aqua);
}

.produtos__cabecalho {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 48px;
  padding-top: 41px;
}

.produtos__filtros {
  flex: 0 1 735px;
  min-width: 0;
}

.produtos__filtros legend {
  width: 100%;
  margin-bottom: 24px;
  font-size: 24px;
  line-height: 24px;
  text-align: right;
}

.produtos__filtros .filtros {
  justify-content: flex-end;
  flex-wrap: nowrap;
  gap: 24px;
}

.produtos__filtros .filtro {
  flex: 1 1 0;
  min-width: 0;
}

.produtos__filtros .filtro>span {
  width: 100%;
  min-height: 56px;
  padding: 15px 20px;
  border-color: var(--h-cyan-400);
  color: var(--h-cyan-400);
  font-size: 24px;
}

.produtos__filtros .filtro>input:checked+span {
  color: var(--h-white);
  background: var(--h-cyan-400);
  border-color: var(--h-cyan-400);
}

.produtos__navegacao {
  display: flex;
  justify-content: flex-end;
  gap: 16px;
  margin-top: 24px;
}

.botao-carrossel {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 0;
  background: transparent;
  border-radius: 50%;
  transition: background-color 150ms var(--h-ease), transform 150ms var(--h-ease);
}

.botao-carrossel--proximo img {
  transform: rotate(180deg);
}

.botao-carrossel:disabled {
  opacity: 0.45;
  cursor: default;
}

.produtos__lista {
  gap: 24px;
  overflow-y: hidden;
  overscroll-behavior-y: auto;
  padding: 25px max(var(--h-gutter), calc((100% - 1112px) / 2)) 24px;
  scroll-padding-inline: max(var(--h-gutter), calc((100% - 1112px) / 2));
  scrollbar-width: none;
}

.produtos__lista::-webkit-scrollbar {
  display: none;
}

.produtos__lista>.cartao-produto {
  flex: 0 0 257px;
  width: 257px;
  min-height: 528px;
  gap: 0;
  padding: 61px 23px 33px;
  transition: box-shadow 250ms var(--h-ease), transform 250ms var(--h-ease);
}

.produtos .cartao-produto__imagem {
  height: 199px;
  min-height: 199px;
  margin: 0 0 19px;
}

.produtos .cartao-produto__foto {
  max-height: 199px;
}

.produtos .cartao-produto__titulo {
  font-size: 20px;
  line-height: 24px;
  min-height: 56px;
}

.produtos .cartao-produto__etiquetas {
  margin-top: 24px;
  gap: 8px;
}

.produtos .etiqueta {
  color: var(--h-white);
  font-size: 12px;
  line-height: 24px;
  padding: 6px 16px;
  white-space: nowrap;
}

.produtos .cartao-produto__acao {
  min-height: 44px;
  font-size: 14px;
  line-height: 24px;
  margin-top: 22px;
  margin-bottom: -10px;
  gap: 8px;
  transition: color 150ms var(--h-ease);
}

.produtos .cartao-produto__acao img {
  transition: transform 150ms var(--h-ease);
}

.recorte-produto {
  display: block;
  width: 159px;
  height: 210px;
  overflow: clip;
}

.recorte-produto img {
  width: 159.207px;
  max-width: none;
  height: 238.875px;
  transform: translate(-0.111px, -10.752px);
}

.ganhadores {
  color: var(--h-white);
  background: var(--h-blue-500);
}

.ganhadores>.onda-secao {
  background-color: var(--h-white);
}

.onda-secao.onda-ganhadores {
  --ciclo-onda: 367.5px;
  --altura-onda: 124.215px;
  height: calc(var(--altura-onda) + 2px);
  background-image: url("/assets/home/onda-ganhadores-azul.svg");
  background-size: var(--ciclo-onda) var(--altura-onda);
  background-position: 0 1px;
}

.onda-secao.onda-ganhadores--inferior {
  background-image: url("/assets/home/onda-ganhadores-branca.svg");
}

.ganhadores__conteudo {
  padding-top: 82px;
  padding-bottom: 156px;
}

.ganhadores__cabecalho {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 48px;
  margin-bottom: 67px;
}

.ganhadores__busca-area {
  flex: 0 1 544px;
}

.ganhadores__busca {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 16px;
  background: rgb(255 255 255 / 20%);
  border-radius: 55px 100px 100px 4px;
  padding-inline: 40px;
}

.ganhadores__busca input {
  width: 100%;
  min-width: 0;
  min-height: 56px;
  padding: 12px 0;
  border: 0;
  background: transparent;
  color: var(--h-white);
  font-size: 16px;
}

.ganhadores__busca input::placeholder {
  color: var(--h-white);
  opacity: 1;
}

.ganhadores__busca input:focus,
.ganhadores__busca input:focus-visible {
  outline: 0;
  box-shadow: none;
}

.ganhadores__busca img {
  flex-shrink: 0;
}

.ganhadores__tabela {
  min-width: 760px;
  table-layout: fixed;
}

.ganhadores__tabela th {
  height: 68px;
  padding: 24px;
  font-size: 20px;
  white-space: nowrap;
}

.ganhadores__tabela th:nth-child(1) {
  width: 19%;
}

.ganhadores__tabela th:nth-child(2) {
  width: 28%;
}

.ganhadores__tabela th:nth-child(3) {
  width: 20%;
}

.ganhadores__tabela th:nth-child(4) {
  width: 15%;
}

.ganhadores__tabela th:nth-child(5) {
  width: 18%;
}

.ganhadores__tabela td {
  height: 72px;
  padding: 24px;
  background: transparent;
  color: var(--h-white);
  font-size: 16px;
}

.ganhadores__tabela tbody tr:nth-child(even) td {
  background: rgb(255 255 255 / 20%);
}

.ganhadores__tabela th:first-child {
  border-radius: 24px 0 0 8px;
}

.ganhadores__tabela th:last-child {
  border-radius: 0 24px 24px 0;
}

.ganhadores__vazio {
  padding-block: 32px;
}

.duvidas {
  background: var(--h-white);
}

.duvidas>.onda-secao {
  background-color: var(--h-blue-500);
}

.duvidas__conteudo {
  padding-top: 32px;
  padding-bottom: 140px;
}

.duvidas .titulo {
  text-align: center;
}

.duvidas__lista {
  margin-top: 40px;
}

.duvidas .sanfona {
  padding: 16px 0 24px;
}

.duvidas .sanfona:first-child {
  padding-top: 0;
}

.duvidas .sanfona>summary {
  min-height: 32px;
  font-size: 20px;
  line-height: 24px;
  transition: color 150ms var(--h-ease);
}

.duvidas .sanfona[open]>summary {
  color: var(--h-blue-500);
}

.duvidas .sanfona__conteudo {
  max-width: none;
  padding: 12px 0 0;
  font-size: 16px;
  line-height: 24px;
}

.duvidas__icone {
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  background: url("/assets/home/faq-closed.svg") center no-repeat;
  transform: rotate(-90deg);
  transition: transform 150ms var(--h-ease);
}

.duvidas details[open] .duvidas__icone {
  background-image: url("/assets/home/faq-open.svg");
  transform: rotate(90deg);
}

.lojas {
  background: var(--h-sand-100);
  padding-bottom: 64px;
}

.lojas>.onda-secao {
  background-color: var(--h-white);
}

.lojas__cabecalho {
  padding-top: 51px;
  text-align: center;
}

.lojas__cabecalho h2 {
  font-size: 32px;
  line-height: 32px;
  text-transform: uppercase;
}

.lojas__cabecalho p {
  margin-top: 8px;
  font-size: 24px;
  line-height: 24px;
}

.lojas__lista {
  margin-top: 70px;
  overflow: hidden;
  scrollbar-width: none;
}

.lojas__lista::-webkit-scrollbar {
  display: none;
}

.lojas__trilho {
  display: flex;
  width: max-content;
}

.lojas__trilho--ativo {
  animation: lojas-deslizar 42s linear infinite;
  will-change: transform;
}

.lojas__grupo {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-left: 8px;
}

.loja {
  display: grid;
  place-items: center;
  flex: 0 0 148px;
  height: 72px;
  padding: 12px;
  border-radius: 16px;
  background: var(--h-white);
}

.loja--larga {
  flex-basis: 175px;
}

.loja>img {
  object-fit: contain;
}

@keyframes lojas-deslizar {
  to {
    transform: translateX(-50%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .lojas__lista {
    overflow-x: auto;
  }

  .lojas__trilho {
    animation: none;
  }

  .lojas__grupo--copia {
    display: none;
  }
}

.ganhadores__busca {
  transition: background-color 150ms var(--h-ease), box-shadow 150ms var(--h-ease);
}

@media (hover: hover) {
  .menu-principal:has(a:hover) .menu-principal__ativo:not(:hover) {
    color: var(--h-white);
  }

  .menu-principal:has(a:hover) .menu-principal__ativo:not(:hover)::before {
    opacity: 0;
    transform: scale(0.5) rotate(-20deg);
  }

  .menu-principal a:hover {
    color: var(--h-lime-500);
    transform: translateY(-1px);
  }

  .menu-principal a:hover::before {
    opacity: 1;
    transform: scale(1) rotate(0);
  }

  .botao-menu:hover {
    color: var(--h-lime-500);
    background: rgb(27 74 129 / 40%);
  }

  .pagina-inicial .botao:hover:not(:disabled) {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgb(27 74 129 / 25%);
  }

  .acao-brilho:hover::before {
    transform: scale(1.12) rotate(8deg);
  }

  .acao-brilho:hover::after {
    transform: scale(1.18) rotate(-10deg);
  }

  .botao-texto:hover,
  .passo__compra a:hover,
  .duvidas a:hover {
    color: var(--h-blue-500);
    text-decoration-thickness: 2px;
  }

  .produtos__filtros .filtro:hover>span {
    background: rgb(83 196 230 / 12%);
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgb(27 74 129 / 10%);
  }

  .produtos__filtros .filtro>input:checked+span:hover {
    background: var(--h-cyan-400);
  }

  .botao-carrossel:hover:not(:disabled) {
    background: rgb(83 196 230 / 14%);
    transform: scale(1.08);
  }

  .produtos__lista>.cartao-produto:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 36px rgb(27 74 129 / 15%);
  }

  .produtos .cartao-produto__acao:hover {
    color: var(--h-blue-500);
  }

  .produtos .cartao-produto__acao:hover img {
    transform: translateX(4px);
  }

  .duvidas .sanfona>summary:hover {
    color: var(--h-blue-500);
  }

  .duvidas .sanfona>summary:hover .duvidas__icone {
    transform: rotate(-90deg) scale(1.08);
  }

  .duvidas .sanfona[open]>summary:hover .duvidas__icone {
    transform: rotate(90deg) scale(1.08);
  }

  .ganhadores__busca:hover {
    background: rgb(255 255 255 / 26%);
  }
}

.produtos__filtros .filtro>span {
  transition: box-shadow 150ms var(--h-ease), transform 150ms var(--h-ease);
}

.pagina-inicial .botao:active:not(:disabled) {
  transform: translateY(1px);
  box-shadow: none;
}

.botao-carrossel:active:not(:disabled) {
  transform: scale(0.96);
}

.ganhadores__busca:focus-within {
  background: rgb(255 255 255 / 30%);
  box-shadow: 0 0 0 3px var(--h-white);
}

.pagina-inicial .aviso-sem-script {
  padding: 24px;
  text-align: center;
  background: var(--h-sand-100);
}

@media (min-width: 1921px) {
  .destaque {
    background-size: cover;
  }
}

@media (max-width: 1500px) {
  .participacao__passos {
    gap: 24px;
  }

  .passo {
    flex-basis: 286px;
  }

  .passo:not(:last-child) {
    background-size: 56px 2px;
  }

  .passo__compra {
    margin-left: 24px;
  }

  .passo__premio {
    gap: 4px;
  }

  .passo__premio p {
    flex-basis: 76px;
  }

  .passo__premio>img {
    width: 198px;
  }

  .passo__recebimento {
    margin-left: -32px;
  }

  .passo__recebimento>p:first-child {
    width: 87px;
  }

  .passo__bilhete {
    width: 112px;
    font-size: 16px;
    padding-inline: 9px;
  }

}

@media (max-width: 1279px) {
  .cabecalho {
    gap: 24px;
  }

  .menu-principal {
    gap: 20px;
  }

  .menu-principal a {
    font-size: 14px;
  }

  .cabecalho .botao {
    width: auto;
    font-size: 18px;
  }

  .destaque__ondas {
    --wave-width: var(--wave-loop);
    --wave-height: 82.81px;
    --wave-loop: 245px;
    height: 105px;
    margin-top: -105px;
  }

  .participacao__conteudo {
    padding-bottom: 72px;
  }

  .participacao__passos {
    display: grid;
    grid-template-columns: repeat(2, 330px);
    justify-content: center;
    gap: 48px 64px;
  }

  .passo:nth-child(2) {
    background-image: none;
  }

  .passo__compra {
    margin-left: 50px;
  }

  .passo__premio>img {
    width: 222px;
  }

  .produtos__cabecalho {
    align-items: flex-start;
    gap: 32px;
  }

  .produtos__filtros {
    flex-basis: 640px;
  }

  .produtos__filtros legend {
    font-size: 20px;
  }

  .produtos__filtros .filtros {
    gap: 12px;
  }

  .produtos__filtros .filtro>span {
    padding-inline: 24px;
    font-size: 20px;
  }

  .pagina-inicial .titulo {
    font-size: 40px;
    line-height: 46px;
  }

  .ganhadores__conteudo {
    padding-block: 64px 104px;
  }

  .ganhadores__cabecalho {
    gap: 32px;
  }

  .ganhadores__busca-area {
    flex-basis: 50%;
  }

  .duvidas__conteudo {
    padding-bottom: 96px;
  }

}

@media (max-width: 1024px) {
  .cabecalho {
    position: relative;
    z-index: 5;
    width: calc(100% - 48px);
    min-height: 76px;
    padding-top: 16px;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 12px 20px;
  }

  .botao-menu:not([hidden]) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 46px;
    padding: 10px 16px;
    border: 1px solid rgb(255 255 255 / 55%);
    border-radius: 14px 14px 14px 4px;
    color: var(--h-white);
    background: rgb(27 74 129 / 42%);
    backdrop-filter: blur(8px);
    transition: color 150ms var(--h-ease), background-color 150ms var(--h-ease), border-color 150ms var(--h-ease);
  }

  .botao-menu__icone {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 20px;
    height: 20px;
  }

  .botao-menu__icone span {
    width: 20px;
    height: 2px;
    border-radius: 2px;
    background: currentColor;
    transform-origin: center;
    transition: transform 200ms var(--h-ease), opacity 150ms var(--h-ease);
  }

  .botao-menu[aria-expanded="true"] .botao-menu__icone span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }

  .botao-menu[aria-expanded="true"] .botao-menu__icone span:nth-child(2) {
    opacity: 0;
  }

  .botao-menu[aria-expanded="true"] .botao-menu__icone span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }

  .menu-principal {
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    right: 0;
    z-index: 10;
    width: 100%;
    padding: 8px;
    flex-direction: column;
    align-items: stretch;
    gap: 2px;
    border: 1px solid rgb(255 255 255 / 22%);
    border-radius: 18px 18px 18px 6px;
    background: rgb(18 68 126 / 94%);
    box-shadow: 0 18px 40px rgb(7 39 84 / 32%);
    backdrop-filter: blur(14px);
  }

  .menu-principal a {
    width: 100%;
    min-height: 48px;
    padding: 12px 16px 12px 40px;
    justify-content: flex-start;
    border-radius: 12px 12px 12px 4px;
    font-size: 16px;
    line-height: 20px;
  }

  .menu-principal a::before {
    left: 16px;
    right: auto;
  }

  .menu-principal a+a {
    border-top: 1px solid rgb(255 255 255 / 12%);
  }

  .menu-principal a:focus-visible {
    background: rgb(255 255 255 / 10%);
  }

  .menu-principal a:hover {
    background: rgb(255 255 255 / 8%);
    transform: none;
  }

  .cabecalho>.acao-brilho {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
  }

  .cabecalho .botao {
    width: auto;
    min-height: 46px;
    padding: 10px 18px;
    font-size: 16px;
  }

  .destaque {
    background-size: auto 178%;
    background-position: center top;
  }

  .destaque__cena {
    width: calc(100% - 32px);
    grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
    grid-template-rows: auto auto;
    align-items: center;
    gap: 12px 20px;
    padding-top: 24px;
    padding-bottom: 24px;
  }

  .destaque__titulo {
    grid-area: 1 / 1;
    width: min(100%, 420px);
    justify-self: center;
    align-self: center;
    margin: 0;
  }

  .destaque__chamada {
    grid-area: 1 / 2 / 3 / 3;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 20px;
    min-width: 0;
    padding-bottom: 24px;
  }

  .destaque__aviao {
    width: min(100%, 280px);
    align-self: center;
    margin: 0;
  }

  .destaque__premios {
    width: min(100%, 280px);
    align-self: center;
    margin: 0;
    z-index: 1;
  }

  .destaque__premios img {
    width: 100%;
  }

  .destaque__modelo {
    grid-area: 2 / 1;
    width: 100%;
    max-width: 100%;
    align-self: end;
    justify-self: center;
    margin: 0;
  }

  .destaque__ondas {
    --wave-width: var(--wave-loop);
    --wave-height: 82.81px;
    --wave-loop: 245px;
    height: 84px;
    margin-top: -48px;
    z-index: 2;
  }

  .menu-principal {
    max-height: calc(100svh - 102px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  .cabecalho > .acao-brilho::before,
  .cabecalho > .acao-brilho::after {
    display: none;
  }

  .produtos__cabecalho {
    flex-direction: column;
    gap: 32px;
  }

  .produtos__filtros {
    flex: auto;
    width: 100%;
  }

  .produtos__filtros legend {
    text-align: left;
  }

  .produtos__filtros .filtros {
    justify-content: flex-start;
  }

  .ganhadores__cabecalho {
    align-items: stretch;
    flex-direction: column;
    gap: 28px;
    margin-bottom: 36px;
  }

  .ganhadores__busca-area {
    flex: auto;
    width: min(100%, 544px);
  }

}

@media (max-width: 820px) {
  .participacao__passos {
    grid-template-columns: minmax(0, 1fr);
    width: min(100%, 390px);
    gap: 64px;
    margin-top: 36px;
  }

  .passo {
    width: 100%;
    justify-self: center;
  }

  .passo__titulo {
    justify-content: center;
  }

  .passo__subtitulo {
    text-align: center;
  }

  .passo--comprar .passo__subtitulo,
  .passo--receber .passo__subtitulo {
    margin-left: 0;
  }

  .passo:not(:last-child) {
    background-image: none;
  }

  .passo--cadastrar {
    margin-left: 0;
  }

  .passo__compra,
  .passo__cadastro,
  .passo__recebimento,
  .passo__premio {
    justify-content: center;
  }

  .passo__compra {
    margin-left: 0;
  }

  .passo__cadastro {
    margin-left: 0;
  }

  .passo__recebimento {
    margin-left: 0;
  }

  .passo__recebimento>p:first-child {
    width: 90px;
    font-size: 14px;
    white-space: nowrap;
  }

  .passo__recebimento>img {
    width: 60px;
  }

  .passo__igual {
    font-size: 48px;
    margin-right: 4px;
  }

  .passo__bilhete {
    width: 104px;
    font-size: 15px;
  }

  .passo__premio {
    margin-left: 0;
  }

  .participacao__conteudo {
    padding: 24px 16px 56px;
  }

  .pagina-inicial .titulo {
    font-size: 32px;
    line-height: 38px;
  }

  .onda-secao {
    --altura-onda-secao: 70px;
    height: 70px;
    background-size: 1387px calc(var(--altura-onda-secao) + 2px);
    background-position: center -1px;
  }

  .onda-secao.onda-ganhadores {
    --ciclo-onda: 207.1px;
    --altura-onda: 70px;
  }

  .produtos {
    padding-bottom: 32px;
  }

  .produtos__cabecalho {
    padding-top: 24px;
    gap: 24px;
  }

  .produtos__cabecalho .titulo br {
    display: none;
  }

  .produtos__filtros legend {
    font-size: 18px;
    line-height: 24px;
    margin-bottom: 16px;
  }

  .produtos__filtros .filtros {
    gap: 8px;
    overflow-x: auto;
    padding-bottom: 4px;
    scrollbar-width: thin;
  }

  .produtos__filtros .filtro {
    flex: 1 1 0;
  }

  .produtos__filtros .filtro>span {
    width: 100%;
    padding: 12px 16px;
    min-height: 48px;
    font-size: 16px;
  }

  .produtos__navegacao {
    margin-top: 16px;
  }

  .produtos__lista {
    padding-top: 20px;
  }

  .ganhadores__conteudo {
    padding-top: 40px;
    padding-bottom: 64px;
  }

  .ganhadores__busca {
    padding-inline: 24px;
  }

  .ganhadores__busca-area::before {
    right: -12px;
  }

  .tabela-area {
    padding-bottom: 8px;
    scrollbar-width: thin;
    scrollbar-color: rgb(255 255 255 / 75%) rgb(255 255 255 / 16%);
  }

  .ganhadores__tabela th,
  .ganhadores__tabela td {
    padding: 20px;
  }

  .duvidas__conteudo {
    padding-top: 32px;
    padding-bottom: 64px;
  }

  .duvidas__lista {
    margin-top: 32px;
  }

  .duvidas .sanfona>summary {
    font-size: 18px;
    min-height: 44px;
  }

  .duvidas .sanfona__conteudo {
    font-size: 16px;
    line-height: 24px;
  }

  .lojas {
    padding-bottom: 40px;
  }

  .lojas__cabecalho {
    padding-top: 32px;
  }

  .lojas__cabecalho h2 {
    font-size: 24px;
    line-height: 30px;
  }

  .lojas__cabecalho p {
    font-size: 18px;
    line-height: 24px;
  }

  .lojas__lista {
    margin-top: 36px;
  }

}

@media (max-width: 520px) {
  .cabecalho {
    width: calc(100% - 32px);
    gap: 10px;
  }

  .botao-menu:not([hidden]) {
    padding-inline: 12px;
  }

  .cabecalho .botao {
    padding-inline: 14px;
    font-size: 14px;
  }

  .cabecalho>.acao-brilho::before,
  .cabecalho>.acao-brilho::after {
    display: none;
  }

  .menu-principal {
    border-radius: 16px 16px 16px 5px;
  }

  .produtos__filtros .filtro>span {
    padding-inline: 6px;
    font-size: 13px;
    white-space: nowrap;
  }

  .produtos__lista>.cartao-produto {
    flex-basis: min(257px, calc(100vw - 48px));
    width: min(257px, calc(100vw - 48px));
  }

  .ganhadores__busca {
    padding-inline: 18px;
  }

  .duvidas .sanfona>summary {
    gap: 16px;
  }

  .lojas__cabecalho {
    padding-inline: 20px;
  }

}

@media (max-width: 420px) {
  .passo__titulo>img {
    width: 54px;
    height: 54px;
  }

  .passo__titulo>span {
    padding: 9px 12px;
    font-size: 28px;
    line-height: 30px;
  }

  .passo--comprar .passo__subtitulo {
    margin-left: 0;
  }

  .passo__compra {
    justify-content: center;
    gap: 8px;
    margin-left: 0;
  }

  .passo__compra>img {
    width: 145px;
  }

  .passo__compra a {
    min-width: 0;
    max-width: 108px;
    padding-bottom: 48px;
    font-size: 14px;
  }

  .passo--cadastrar {
    margin-left: 0;
  }

  .passo__cadastro {
    margin-left: 0;
  }

  .passo__cadastro>img {
    width: 185px;
  }

  .passo__cadastro p {
    min-width: 0;
    font-size: 16px;
    line-height: 20px;
  }

  .passo__recebimento {
    justify-content: center;
    margin-left: 0;
  }

  .passo__recebimento>p:first-child {
    width: 82px;
    font-size: 13px;
    line-height: 18px;
  }

  .passo__recebimento>img {
    width: 58px;
  }

  .passo__igual {
    font-size: 48px;
    line-height: 48px;
    margin-right: 3px;
  }

  .passo__bilhete {
    width: 94px;
    font-size: 14px;
    line-height: 16px;
    padding: 22px 6px;
  }

  .passo__premio {
    margin-left: 0;
  }

  .passo__premio p {
    flex-basis: 72px;
    font-size: 18px;
    line-height: 22px;
  }

  .passo__premio>img {
    width: 200px;
  }
}

@media (min-width: 700px) and (max-width: 820px) {
  .participacao__passos {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: min(100%, 720px);
    gap: 40px 24px;
  }

  .participacao__conteudo {
    padding-inline: 24px;
  }

  .passo__cadastro > img {
    width: 190px;
  }

  .passo__cadastro p {
    font-size: 18px;
  }

  .passo__premio > img {
    width: 210px;
  }
}

@media (max-width: 599px) {
  .destaque__cena {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 20px 0 12px;
  }

  .destaque__titulo {
    width: min(calc(100% - 64px), 300px);
    align-self: center;
  }

  .destaque__chamada {
    width: min(calc(100% - 48px), 320px);
    align-self: center;
    gap: 8px;
    padding: 0;
  }

  .destaque__aviao {
    width: 180px;
    align-self: flex-end;
  }

  .destaque__premios {
    width: min(100%, 250px);
  }

  .destaque__modelo {
    width: min(100%, 520px);
    align-self: center;
  }

  .destaque__ondas {
    --wave-width: var(--wave-loop);
    --wave-height: 78px;
    --wave-loop: 230px;
    --wave-back-y-start: -8px;
    --wave-back-y-end: 1px;
    --wave-middle-y-start: 8px;
    --wave-middle-y-end: 17px;
    height: 86px;
    margin-top: -40px;
  }

  .participacao__conteudo {
    padding-top: 16px;
  }

  .participacao__passos {
    margin-top: 28px;
    gap: 48px;
  }

  .pagina-inicial .titulo {
    font-size: 30px;
    line-height: 36px;
  }

}

@media (prefers-reduced-motion: no-preference) {
  html {
    scroll-behavior: smooth;
  }

  .destaque__onda--fundo {
    animation: home-wave-back var(--wave-duration) linear var(--wave-delay) infinite, home-wave-back-tide var(--wave-tide-duration) ease-in-out var(--wave-tide-delay) infinite alternate;
  }

  .destaque__onda--meio {
    animation: home-wave-middle var(--wave-duration) linear var(--wave-delay) infinite, home-wave-middle-tide var(--wave-tide-duration) ease-in-out var(--wave-tide-delay) infinite alternate;
  }
}

@keyframes home-wave-back {
  from {
    background-position-x: calc(50% - 154px);
  }

  to {
    background-position-x: calc(50% - 154px - var(--wave-loop));
  }
}

@keyframes home-wave-middle {
  from {
    background-position-x: calc(50% + 128px), calc(50% + 128px);
  }

  to {
    background-position-x: calc(50% + 128px - var(--wave-loop)), calc(50% + 128px - var(--wave-loop));
  }
}

@keyframes home-wave-back-tide {
  from {
    background-position-y: var(--wave-back-y-start);
  }

  to {
    background-position-y: var(--wave-back-y-end);
  }
}

@keyframes home-wave-middle-tide {
  from {
    background-position-y: var(--wave-middle-y-start), var(--wave-middle-y-start);
  }

  to {
    background-position-y: var(--wave-middle-y-end), var(--wave-middle-y-end);
  }
}

@media (prefers-reduced-motion: no-preference) {
  .onda-ganhadores {
    animation: onda-ganhadores-deslizar 36s linear infinite;
  }

  .onda-ganhadores--inferior {
    animation-duration: 42s;
    animation-direction: reverse;
  }
}

@keyframes onda-ganhadores-deslizar {
  from {
    background-position-x: 0;
  }

  to {
    background-position-x: calc(0px - var(--ciclo-onda));
  }
}

.modal-participe,
.modal-regulamento {
  width: 90vw;
  height: 90vh;
  max-width: 90vw;
  max-height: 90vh;
  padding: 0;
  border: 0;
  border-radius: var(--h-radius-card);
  background: var(--h-color-surface);
  color: var(--h-color-text);
  box-shadow: var(--h-shadow-raised);
  overflow: hidden;
}

.modal-participe::backdrop,
.modal-regulamento::backdrop {
  background: rgb(22 62 108 / 65%);
  backdrop-filter: blur(4px);
}

.modal-participe__fechar-form,
.modal-regulamento__fechar-form {
  position: absolute;
  top: 16px;
  right: 16px;
  margin: 0;
  z-index: 2;
}

.modal-participe__fechar,
.modal-regulamento__fechar {
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--h-color-surface-soft);
  color: var(--h-color-text);
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  transition: background-color 150ms var(--h-ease), color 150ms var(--h-ease), transform 150ms var(--h-ease);
}

.modal-participe__fechar:hover,
.modal-regulamento__fechar:hover {
  background: var(--h-color-accent);
  color: var(--h-color-text-inverse);
  transform: scale(1.05);
}

.modal-participe__paineis {
  display: grid;
  grid-template-columns: 1fr 1fr;
  width: 100%;
  height: 100%;
}

.modal-participe__painel {
  padding: 24px 28px;
  overflow-y: auto;
}

.modal-participe__painel:first-child {
  background: var(--h-color-surface-soft);
}

.modal-participe__painel + .modal-participe__painel {
  border-left: 1px solid var(--h-color-border);
}

.modal-participe__titulo {
  font-family: var(--h-font-label);
  color: var(--h-color-text);
  font-size: 22px;
  margin: 0 0 14px;
}

.modal-participe__form p {
  margin: 0 0 10px;
}

.modal-participe__form--grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.modal-participe__form--grid > p,
.modal-participe__form--grid > div {
  margin: 0;
}

.modal-participe__form--grid .modal-participe__campo--full {
  grid-column: 1 / -1;
}

.modal-participe__campo--duplo {
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 10px;
}

.modal-participe__campo--triplo {
  display: grid;
  grid-template-columns: 1fr 1fr 20%;
  gap: 10px;
}

.modal-participe__campo--duplo > p,
.modal-participe__campo--triplo > p {
  margin: 0;
}

.modal-participe__ajuda {
  display: block;
  margin-top: 4px;
  font-size: 11px;
  color: var(--h-color-text-muted);
  line-height: 1.3;
}

.modal-participe__mensagens {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0 0 10px;
}

.modal-participe__mensagens:empty {
  display: none;
}

.modal-participe__mensagens > p {
  margin: 0;
  padding: 8px 12px;
  border-radius: var(--h-radius-sm);
  font-size: 13px;
  line-height: 1.3;
}

.modal-participe__mensagens .msg-success {
  background: var(--h-green-50);
  color: var(--h-color-success);
}

.modal-participe__mensagens .msg-warning {
  background: var(--h-amber-50);
  color: var(--h-color-warning);
}

.modal-participe__mensagens .msg-danger {
  background: var(--h-red-50);
  color: var(--h-color-danger);
}

.modal-participe__mensagens .msg-info {
  background: var(--h-blue-50);
  color: var(--h-color-link);
}

.modal-participe__optin > label {
  display: flex;
  align-items: start;
  gap: 8px;
  cursor: pointer;
  margin: 0;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.4;
  color: var(--h-color-text);
}

.modal-participe__form .modal-participe__optin input[type="checkbox"] {
  width: 16px;
  height: 16px;
  padding: 0;
  margin: 1px 0 0;
  accent-color: var(--h-color-accent);
  flex-shrink: 0;
  cursor: pointer;
}

.modal-participe__optin a {
  color: var(--h-color-link);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.modal-participe__optin a:hover {
  color: var(--h-color-accent);
}

.modal-participe__form label {
  display: block;
  font-size: 12px;
  font-weight: 500;
  color: var(--h-color-text);
  margin-bottom: 3px;
}

.modal-participe__form input,
.modal-participe__form select,
.modal-participe__form textarea {
  width: 100%;
  padding: 8px 12px;
  border: 1px solid var(--h-color-border);
  border-radius: var(--h-radius-sm);
  font-family: inherit;
  font-size: 14px;
  color: var(--h-color-text);
  background: var(--h-color-surface);
  transition: border-color 150ms var(--h-ease), box-shadow 150ms var(--h-ease);
}

.modal-participe__form textarea {
  resize: vertical;
  min-height: 100px;
  line-height: 1.4;
}

.modal-participe__paineis--unico {
  grid-template-columns: 1fr;
}

.modal-participe__form input:focus,
.modal-participe__form select:focus,
.modal-participe__form textarea:focus {
  outline: none;
  border-color: var(--h-color-accent);
  box-shadow: 0 0 0 3px rgb(35 148 225 / 20%);
}

.modal-participe__form .botao {
  width: 100%;
}

.modal-regulamento[open] {
  display: flex;
  flex-direction: column;
}

.modal-regulamento__titulo {
  font-family: var(--h-font-label);
  color: var(--h-color-text);
  font-size: 28px;
  margin: 0;
  padding: 24px 72px 16px 40px;
  border-bottom: 1px solid var(--h-color-border);
}

.modal-regulamento__pdf {
  flex: 1;
  width: 100%;
  border: 0;
  background: var(--h-neutral-100);
}

@media (max-width: 760px) {
  .modal-participe__paineis {
    grid-template-columns: 1fr;
  }

  .modal-participe__painel + .modal-participe__painel {
    border-left: 0;
    border-top: 1px solid var(--h-color-border);
  }

  .modal-participe__painel {
    padding: 32px 20px;
  }

  .modal-participe__titulo {
    font-size: 24px;
  }

  .modal-participe__form--grid {
    grid-template-columns: 1fr;
  }

  .modal-participe__form--grid .modal-participe__campo--full {
    grid-column: auto;
  }

  .modal-regulamento__titulo {
    padding: 20px 60px 12px 20px;
    font-size: 22px;
  }
}

.erro-404 {
  padding: clamp(80px, 14vw, 160px) 0;
  background: #fff;
  text-align: center;
}

.erro-404__conteudo {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  max-width: 680px;
}

.erro-404__cabecalho {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(16px, 3vw, 40px);
  flex-wrap: wrap;
}

.erro-404__codigo {
  margin: 0;
  font-family: var(--h-font-label);
  font-size: clamp(96px, 16vw, 180px);
  font-weight: 800;
  line-height: 0.9;
  color: var(--h-color-accent);
  letter-spacing: -0.02em;
}

.erro-404__ilustracao {
  width: auto;
  height: clamp(96px, 16vw, 180px);
  flex-shrink: 0;
}

.erro-404__titulo {
  margin: 0;
  color: var(--h-color-text);
}

.erro-404__mensagem {
  margin: 0;
  font-size: clamp(16px, 2vw, 18px);
  line-height: 1.5;
  color: var(--h-color-text-muted);
}

.erro-404__mensagem strong {
  color: var(--h-color-text);
}

.erro-404__acoes {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  align-items: center;
  justify-content: center;
  margin-top: 16px;
}

#modal-contato {
  width: 50vw;
  max-width: 50vw;
  height: auto;
  max-height: 90vh;
}

#modal-contato .modal-participe__form--grid {
  grid-template-columns: 1fr;
}

#modal-contato .modal-participe__campo--duplo,
#modal-contato .modal-participe__campo--triplo {
  grid-template-columns: 1fr;
}

@media (max-width: 760px) {
  #modal-contato {
    width: 90vw;
    max-width: 90vw;
  }
}

/* ===== teaser.css ===== */
.pagina-teaser {
  --teaser-azul: #267fc1;
  --teaser-agua: #4dccec;
  min-width: 320px;
  min-height: 100%;
  overflow-x: clip;
  background: var(--teaser-agua);
}

.teaser {
  --altura-mar: clamp(32px, 2.65625vw, 51px);
  --altura-onda: clamp(70px, 6.4695vw, 124.215px);
  --largura-onda: var(--ciclo-onda);
  --ciclo-onda: clamp(164px, 19.140625vw, 367.5px);
  min-height: 100svh;
  overflow: clip;
  background-color: #0752a5;
  background-image:
    linear-gradient(183deg, rgb(38 127 193 / 62%) 10%, rgb(38 127 193 / 0%) 88%),
    url("/assets/teaser/fundo-praia.webp");
  background-position: center, center top;
  background-size: cover, max(100%, 168svh) auto;
  background-repeat: no-repeat, no-repeat;
  background-blend-mode: multiply, normal;
}

.teaser__cena {
  display: grid;
  width: 100%;
  min-height: 100svh;
  margin-inline: auto;
}

.teaser__cena > * {
  grid-area: 1 / 1;
  min-width: 0;
  align-self: start;
  justify-self: start;
}

.teaser__modelo {
  align-self: end;
  justify-self: start;
  z-index: 1;
  width: min(57vw, 1400px);
  margin-bottom: 20px;
  margin-left: -22px;
}

.teaser__conteudo {
  align-self: start;
  justify-self: center;
  z-index: 4;
  display: flex;
  align-items: flex-start;
  gap: 3.2%;
  width: min(60vw, 1440px);
  padding-top: clamp(56px, 5.42vw, 104px);
}

.teaser__logo {
  flex: 0 0 56.7%;
  width: auto;
  margin: 0;
}

.teaser__logo img {
  width: 100%;
}

.teaser__chamada {
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
}

.teaser__aviao-posicao {
  display: flex;
  align-self: flex-end;
  width: 90%;
  transform: translateX(21%);
}

.teaser__aviao {
  width: 100%;
  filter: brightness(0.72) saturate(1.15);
}

.teaser__filtro {
  align-self: stretch;
  justify-self: stretch;
  z-index: 3;
  width: 100%;
  height: 100%;
  background: rgb(38 127 193 / 60%);
  mix-blend-mode: multiply;
  pointer-events: none;
}

.teaser__mensagem {
  width: 100%;
  margin: clamp(22px, 1.51vw, 29px) 0 0;
  color: var(--h-white);
  font-family: var(--h-font-label);
  font-size: clamp(24px, 2.083vw, 40px);
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: clamp(-2px, -0.104vw, -1px);
}

.teaser__selo {
  display: grid;
  container-type: inline-size;
  width: 85.5%;
  aspect-ratio: 395 / 200;
  margin-top: clamp(20px, 1.4vw, 27px);
}

.teaser__selo > img {
  grid-area: 1 / 1;
}

.teaser__bilhete {
  align-self: start;
  justify-self: end;
  z-index: 1;
  width: 77.9%;
}

.teaser__selo-texto {
  grid-area: 1 / 1;
  align-self: start;
  justify-self: end;
  z-index: 2;
  width: 57%;
  margin-top: 7.5%;
  margin-right: 10.7%;
  color: #004774;
  text-align: right;
  text-transform: uppercase;
  transform: rotate(-5.7deg);
}

.teaser__selo-texto strong,
.teaser__selo-texto small {
  display: block;
}

.teaser__selo-texto strong {
  width: 92%;
  margin-left: auto;
  font-family: var(--h-font-body);
  font-size: clamp(14px, 6.05cqw, 30px);
  font-weight: 800;
  line-height: 1.17;
}

.teaser__selo-texto small {
  font-family: var(--h-font-label);
  font-size: clamp(8px, 3.03cqw, 15px);
  line-height: 1.5;
}

.teaser__carimbo {
  align-self: start;
  justify-self: start;
  z-index: 3;
  width: 44.17%;
  margin-top: 4.5%;
}

.teaser__ondas {
  grid-area: 1 / 1;
  align-self: end;
  justify-self: stretch;
  z-index: 2;
  display: grid;
  width: 100%;
  height: var(--altura-onda);
  margin-bottom: var(--altura-mar);
  overflow: clip;
  isolation: isolate;
  pointer-events: none;
}

.teaser__onda {
  grid-area: 1 / 1;
  min-width: 0;
  margin-inline: -64px;
  background-repeat: repeat-x;
  background-size: var(--largura-onda) var(--altura-onda);
}

.teaser__onda--fundo {
  --posicao-x: calc(50% - 154px);
  --duracao-onda: 10.5s;
  --atraso-onda: -6.8s;
  --duracao-mare: 6.4s;
  --atraso-mare: -2.1s;
  background-image: url("/assets/teaser/onda-fundo.svg");
  background-position: var(--posicao-x) 2px;
}

.teaser__onda--meio {
  --posicao-x: calc(50% + 128px);
  --duracao-onda: 5.25s;
  --atraso-onda: -3.9s;
  --duracao-mare: 4.1s;
  --atraso-mare: -3.2s;
  background-image: url("/assets/home/wave-hero-line.svg"), url("/assets/home/wave-hero-middle.svg");
  background-position: var(--posicao-x) 18px, var(--posicao-x) 18px;
  background-size: var(--largura-onda) var(--altura-onda), var(--largura-onda) var(--altura-onda);
  background-repeat: repeat-x, repeat-x;
}

.teaser__onda--frente {
  background-image: url("/assets/home/wave-hero-front.svg");
  background-position: calc(50% - 73px) clamp(17px, 1.6vw, 31px);
}

.teaser__mar {
  grid-area: 1 / 1;
  align-self: end;
  justify-self: stretch;
  z-index: 2;
  width: 100%;
  height: calc(var(--altura-mar) + 1px);
  background: var(--teaser-agua);
}

@media (min-width: 761px) and (max-width: 1200px) {
  .teaser__conteudo {
    gap: 4%;
    width: min(82vw, 900px);
    padding-top: clamp(48px, 6vw, 66px);
  }

  .teaser__logo {
    flex-basis: 54%;
  }

  .teaser__aviao-posicao {
    width: 84%;
    transform: translateX(12%);
  }

  .teaser__mensagem {
    margin-top: 18px;
    font-size: clamp(22px, 2.8vw, 31px);
  }

  .teaser__selo {
    width: 90%;
    margin-top: 18px;
  }

  .teaser__modelo {
    width: min(64vw, 750px);
    margin-left: -18px;
  }
}

@media (min-width: 1201px) and (orientation: landscape) {
  .teaser__conteudo {
    width: min(60vw, 107svh, 1440px);
    padding-top: clamp(24px, min(5.42vw, 9.67svh), 104px);
  }

  .teaser__modelo {
    width: min(54.15vw, 104.5svh, 1330px);
    margin-left: 48px;
  }

  .teaser__mensagem {
    font-size: clamp(24px, min(2.083vw, 3.72svh), 40px);
  }

  .teaser__selo {
    width: min(100%, max(85.5%, 280px));
  }
}

@media (min-width: 761px) and (max-aspect-ratio: 1 / 1) {
  .teaser {
    background-position: center, center top;
    background-size: 100% 100%, auto 205%;
  }

  .teaser__cena {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(min-content, 1fr) auto;
    min-height: 100svh;
  }

  .teaser__conteudo {
    grid-area: 1 / 1;
    align-self: center;
    align-items: center;
    width: min(92vw, 1152px);
    padding-block: clamp(24px, 3svh, 48px);
  }

  .teaser__logo {
    flex-basis: 50%;
  }

  .teaser__modelo {
    grid-area: 2 / 1;
    align-self: end;
    justify-self: center;
    width: min(116vw, 1380px);
    max-width: none;
    margin: 0 0 clamp(12px, 1.8svh, 26px);
  }

  .teaser__filtro,
  .teaser__ondas,
  .teaser__mar {
    grid-area: 1 / 1 / 3 / 2;
  }
}

@media (max-width: 760px) {
  .teaser {
    --altura-mar: 36px;
    --altura-onda: 70px;
    background-position: center, center top;
    background-size: 100% 100%, auto 220%;
  }

  .teaser__cena {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto minmax(280px, 1fr);
    min-height: max(100svh, 820px);
    aspect-ratio: auto;
  }

  .teaser__modelo {
    grid-area: 2 / 1;
    align-self: end;
    justify-self: center;
    z-index: 1;
    width: clamp(480px, 130vw, 650px);
    max-width: none;
    margin-left: 0;
    margin-bottom: 24px;
  }

  .teaser__conteudo {
    grid-area: 1 / 1;
    align-items: center;
    gap: 8px;
    width: min(calc(100% - 32px), 520px);
    padding-top: 18px;
    flex-direction: column;
  }

  .teaser__logo {
    flex-basis: auto;
    width: min(84%, 360px);
  }

  .teaser__chamada {
    align-items: center;
    width: 100%;
  }

  .teaser__aviao-posicao {
    align-self: center;
    justify-content: center;
    width: min(58%, 220px);
    transform: none;
  }

  .teaser__mensagem {
    width: min(100%, 390px);
    margin-top: 8px;
    font-size: clamp(22px, 6.6vw, 28px);
    line-height: 1.25;
    letter-spacing: -1px;
    text-align: center;
  }

  .teaser__selo {
    align-self: center;
    width: min(76%, 290px);
    margin-top: 10px;
  }

  .teaser__selo-texto {
    width: 61%;
    margin-top: 7%;
    margin-right: 8.5%;
  }

  .teaser__selo-texto strong {
    width: 94%;
    font-size: clamp(15px, 5.7cqw, 17px);
    line-height: 1.12;
  }

  .teaser__selo-texto small {
    margin-top: 3%;
    font-size: clamp(9px, 3.25cqw, 10px);
    line-height: 1.3;
  }

  .teaser__filtro,
  .teaser__ondas,
  .teaser__mar {
    grid-area: 1 / 1 / 3 / 2;
  }
}

@media (max-width: 420px) {
  .teaser__conteudo {
    width: calc(100% - 24px);
    padding-top: 14px;
  }

  .teaser__logo {
    width: min(86%, 330px);
  }

  .teaser__mensagem {
    font-size: clamp(21px, 6.6vw, 26px);
  }

  .teaser__modelo {
    width: clamp(480px, 130vw, 546px);
  }

  .teaser__aviao-posicao {
    width: min(58%, 210px);
  }

  .teaser__selo {
    width: min(84%, 280px);
  }
}

@media (prefers-reduced-motion: no-preference) {
  .teaser__onda--fundo {
    animation: teaser-onda var(--duracao-onda) linear var(--atraso-onda) infinite, teaser-mare-fundo var(--duracao-mare) ease-in-out var(--atraso-mare) infinite alternate;
  }

  .teaser__onda--meio {
    animation: teaser-onda-meio var(--duracao-onda) linear var(--atraso-onda) infinite, teaser-mare-meio var(--duracao-mare) ease-in-out var(--atraso-mare) infinite alternate;
  }
}

@keyframes teaser-onda {
  from {
    background-position-x: var(--posicao-x);
  }

  to {
    background-position-x: calc(var(--posicao-x) - var(--ciclo-onda));
  }
}

@keyframes teaser-onda-meio {
  from {
    background-position-x: var(--posicao-x), var(--posicao-x);
  }

  to {
    background-position-x: calc(var(--posicao-x) - var(--ciclo-onda)), calc(var(--posicao-x) - var(--ciclo-onda));
  }
}

@keyframes teaser-mare-fundo {
  from {
    background-position-y: 2px;
  }

  to {
    background-position-y: 11px;
  }
}

@keyframes teaser-mare-meio {
  from {
    background-position-y: 18px, 18px;
  }

  to {
    background-position-y: 27px, 27px;
  }
}

/* ===== area-logada.css ===== */
.pagina-area-logada {
  --area-azul: #2394e1;
  --area-azul-escuro: #1b4a81;
  --area-areia: #fbf4e1;
  --area-lima: #e2e794;
  --area-ciano: #35ffee;
  --area-roxo: #891273;
  --area-onda-largura: 2461.26px;
  --area-onda-banner-largura: max(2461.26px, calc(100vw + 240px));
  --area-onda-secao-largura: 367.5px;
  --area-onda-altura: 124.215px;
  --area-onda-respiro: 28px;
  --area-onda-hero-ciclo: 367.5px;
  --h-container: 828px;
  min-width: 320px;
  overflow-x: clip;
  background: var(--h-white);
}

.pagina-area-logada .aviso-sem-script {
  margin: 0;
  padding: 24px;
  color: var(--h-white);
  background: var(--area-azul-escuro);
  text-align: center;
}

.msg-success,
.msg-warning,
.msg-danger,
.msg-info {
  margin: 0 0 12px;
  padding: 12px 20px;
  border-radius: var(--h-radius-sm);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.3;
}

.msg-success {
  background: var(--h-green-50);
  color: var(--h-color-success);
}

.msg-warning {
  background: var(--h-amber-50);
  color: var(--h-color-warning);
}

.msg-danger {
  background: var(--h-red-50);
  color: var(--h-color-danger);
}

.msg-info {
  background: var(--h-blue-50);
  color: var(--h-color-link);
}

@view-transition {
  navigation: auto;
}

::view-transition-old(root) {
  animation: pagina-saida 180ms ease both;
}

::view-transition-new(root) {
  animation: pagina-entrada 420ms cubic-bezier(.16, 1, .3, 1) both;
}

.pagina-area-logada :is(section, footer) {
  scroll-margin-top: 24px;
}

.area-hero {
  position: relative;
  overflow: clip;
  box-shadow: 0 3px 0 var(--area-areia);
  color: var(--h-white);
  background-color: #0752a5;
  background-image: linear-gradient(183deg, rgb(38 127 193 / 62%) 10%, rgb(38 127 193 / 0%) 88%), url("/assets/home/hero-background.webp");
  background-position: center, center top;
  background-size: cover, cover;
  background-repeat: no-repeat;
  background-blend-mode: multiply, normal;
}

.cabecalho-area {
  position: relative;
  z-index: 8;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  width: min(calc(100% - 48px), 1072px);
  min-height: 70px;
  margin-inline: auto;
  padding-top: 18px;
}

.menu-area {
  flex-wrap: nowrap;
  gap: 40px;
}

.menu-area a {
  position: relative;
  color: var(--h-white);
  font-size: 16px;
  line-height: 16px;
  white-space: nowrap;
  text-transform: uppercase;
  transition: color 150ms var(--h-ease), transform 150ms var(--h-ease);
}

.menu-area a::before {
  content: "";
  position: absolute;
  right: calc(100% + 4px);
  width: 15px;
  height: 16px;
  background: url("/assets/home/sparkle-menu.svg") center / contain no-repeat;
  opacity: 0;
  transform: scale(.5) rotate(-20deg);
  transition: opacity 150ms var(--h-ease), transform 250ms var(--h-ease);
}

.menu-area :is(.menu-area__ativo, a:hover, a:focus-visible) {
  color: var(--area-lima);
}

.menu-area :is(.menu-area__ativo, a:hover, a:focus-visible)::before {
  opacity: 1;
  transform: scale(1) rotate(0);
}

.cabecalho-area .botao {
  flex-shrink: 0;
  width: 201px;
  line-height: 20px;
}

.acao-brilho-area {
  position: relative;
  display: inline-flex;
  flex-shrink: 0;
}

.acao-brilho-area::before,
.acao-brilho-area::after {
  content: "";
  position: absolute;
  right: -23px;
  width: 19px;
  height: 22px;
  background: url("/assets/home/sparkle-large.svg") center / contain no-repeat;
  pointer-events: none;
}

.acao-brilho-area::before {
  top: 26px;
}

.acao-brilho-area::after {
  top: 51px;
  right: -11px;
  width: 13px;
  height: 15px;
  background-image: url("/assets/home/sparkle-small.svg");
}

.botao-menu-area {
  display: none;
}

.area-hero__cena {
  display: grid;
  grid-template-columns: 34% 32% 34%;
  grid-template-rows: clamp(330px, 25.78125vw, 495px);
  width: 100%;
  max-width: 1920px;
  margin-inline: auto;
}

.area-hero__cena > * {
  grid-row: 1;
  min-width: 0;
}

.area-hero__modelo {
  z-index: 2;
  grid-column: 1 / 3;
  align-self: end;
  justify-self: start;
  width: min(57.03vw, 1095px);
  max-width: none;
  margin-bottom: clamp(-32px, -1.667vw, -18px);
  margin-left: min(-4vw, -20px);
  translate: 0 clamp(40px, 3.333vw, 64px);
}

.area-hero__logo {
  z-index: 3;
  grid-column: 2;
  align-self: start;
  justify-self: center;
  width: min(23.8vw, 457px);
  margin: 21px 0 0;
}

.area-hero__logo img {
  width: 100%;
}

.area-hero__aviao {
  z-index: 2;
  grid-column: 3;
  align-self: start;
  justify-self: start;
  width: min(19.22vw, 369px);
  margin-top: 73px;
  margin-left: 14px;
}

.area-hero::after {
  content: "";
  position: absolute;
  z-index: 6;
  right: 0;
  bottom: 0;
  left: 0;
  height: 3px;
  background: var(--area-areia);
  pointer-events: none;
}

.area-hero + * {
  position: relative;
  box-shadow: 0 -3px 0 var(--area-areia);
}

.area-hero + *::before {
  content: "";
  position: absolute;
  z-index: 6;
  top: -3px;
  right: 0;
  left: 0;
  height: 6px;
  background: var(--area-areia);
  pointer-events: none;
}

.area-hero__ondas {
  --area-onda-fundo-y-inicio: 2px;
  --area-onda-fundo-y-fim: 11px;
  --area-onda-meio-y-inicio: 18px;
  --area-onda-meio-y-fim: 27px;
  position: relative;
  z-index: 5;
  display: grid;
  height: calc(var(--area-onda-altura) + var(--area-onda-respiro));
  margin-top: calc(0px - var(--area-onda-altura) - var(--area-onda-respiro));
  overflow: clip;
  pointer-events: none;
  isolation: isolate;
}

.area-hero__ondas::after {
  content: "";
  position: absolute;
  z-index: 4;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 7px;
  background: var(--area-areia);
}

.area-hero__onda {
  grid-area: 1 / 1;
  min-width: 0;
  margin-inline: -64px;
  background-repeat: repeat-x;
  background-size: var(--area-onda-hero-ciclo) var(--area-onda-altura);
}

.area-hero__onda--fundo {
  z-index: 1;
  background-image: url("/assets/area-logada/onda-areia-30-loop.svg");
  background-position: calc(50% - 154px) var(--area-onda-fundo-y-inicio);
}

.area-hero__onda--meio {
  z-index: 2;
  background-image: url("/assets/area-logada/onda-contorno-loop.svg"), url("/assets/area-logada/onda-areia-50-loop.svg");
  background-position: calc(50% + 128px) var(--area-onda-meio-y-inicio), calc(50% + 128px) var(--area-onda-meio-y-inicio);
  background-size: var(--area-onda-hero-ciclo) var(--area-onda-altura), var(--area-onda-hero-ciclo) var(--area-onda-altura);
  background-repeat: repeat-x, repeat-x;
}

.area-hero__onda--frente {
  z-index: 3;
  background-image: url("/assets/area-logada/onda-areia.svg");
  background-position: calc(50% - 75px) bottom;
}

.perfil {
  background: var(--area-areia);
}

.perfil__conteudo {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 330px;
  padding: 42px 24px 76px;
  text-align: center;
}

.perfil__titulo {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0;
  color: var(--area-azul-escuro);
  font-size: 40px;
  font-weight: 500;
  line-height: 1.4;
  text-transform: uppercase;
}

.perfil__titulo strong {
  color: var(--area-azul);
  font-weight: 700;
}

.perfil__dados {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  margin: 18px 0 0;
  color: var(--area-azul);
  font-size: 24px;
  line-height: 1.5;
}

.perfil__dados div {
  display: flex;
  justify-content: center;
  gap: 6px;
}

.perfil__dados :is(dt, dd) {
  margin: 0;
}

.onda-area {
  --onda-area-ciclo: var(--area-onda-secao-largura);
  --onda-area-altura: 124.215px;
  height: var(--onda-area-altura);
  background-repeat: repeat-x;
  background-size: var(--onda-area-ciclo) var(--onda-area-altura);
  background-position: 0 top;
  position: relative;
  /* As emendas sobrepõem pixels fracionários sem alterar a altura da seção. */
  box-shadow: 0 -3px 0 var(--onda-cor-anterior), 0 3px 0 var(--onda-cor-seguinte);
}

.onda-area::before,
.onda-area::after {
  content: "";
  position: absolute;
  right: 0;
  left: 0;
  height: 3px;
  pointer-events: none;
}

.onda-area::before {
  top: -1px;
  background: var(--onda-cor-anterior);
}

.onda-area::after {
  bottom: -1px;
  background: var(--onda-cor-seguinte);
}

.onda-area--azul {
  --onda-cor-anterior: var(--area-areia);
  --onda-cor-seguinte: var(--area-azul);
  background-color: var(--area-areia);
  background-image: url("/assets/home/onda-ganhadores-azul.svg");
}

.onda-area--branca {
  --onda-cor-anterior: var(--area-azul);
  --onda-cor-seguinte: var(--h-white);
  background-color: var(--area-azul);
  background-image: url("/assets/home/onda-ganhadores-branca.svg");
}

.numeros-sorte {
  margin-top: 48px;
}

.numeros-sorte h3 {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 68px;
  margin: 0;
  border-radius: 24px 24px 24px 4px;
  color: var(--area-lima);
  background: var(--area-azul-escuro);
  font-family: var(--h-font-label);
  font-size: 20px;
  font-weight: 400;
  line-height: 1.5;
  text-transform: uppercase;
}

.numeros-sorte__lista {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: 72px;
  gap: 0;
  margin: 0;
  padding: 10px 0;
  list-style: none;
  background: repeating-linear-gradient(to bottom, transparent 0 72px, #fdf7f1 72px 144px);
}

.numeros-sorte__lista li {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 72px;
  color: var(--area-azul-escuro);
  font-size: 18px;
  font-weight: 800;
}

.numeros-sorte__lista li {
  justify-self: center;
  align-self: center;
  min-width: 121px;
  min-height: 47px;
  padding: 12px 16px;
  border-radius: 16px 16px 16px 8px;
  background: var(--area-lima);
}

.numeros-sorte__vazio {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 200px;
  margin: 0;
  padding: 32px 24px;
  border-radius: 24px 24px 12px 4px;
  background: rgb(27 74 129 / 8%);
  color: var(--area-azul-escuro);
  font-size: 18px;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
}

@media (hover: hover) and (pointer: fine) {
  .menu-area a:hover {
    transform: translateY(-2px);
  }

}

@media (max-width: 1279px) {
  .cabecalho-area {
    gap: 24px;
  }

  .menu-area {
    gap: 20px;
  }

  .menu-area a {
    font-size: 14px;
  }

  .cabecalho-area .botao {
    width: auto;
    font-size: 18px;
  }

}

@media (max-width: 1024px) {
  .area-hero {
    background-position: center top;
    background-size: auto 178%;
  }

  .cabecalho-area {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 12px 20px;
    width: calc(100% - 48px);
    min-height: 76px;
    padding-top: 16px;
  }

  .botao-menu-area:not([hidden]) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 46px;
    padding: 10px 16px;
    border: 1px solid rgb(255 255 255 / 55%);
    border-radius: 14px 14px 14px 4px;
    color: var(--h-white);
    background: rgb(27 74 129 / 42%);
    backdrop-filter: blur(8px);
  }

  .botao-menu-area__icone {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 20px;
    height: 20px;
  }

  .botao-menu-area__icone span {
    width: 20px;
    height: 2px;
    border-radius: 2px;
    background: currentColor;
    transform-origin: center;
    transition: transform 200ms var(--h-ease), opacity 150ms var(--h-ease);
  }

  .botao-menu-area[aria-expanded="true"] .botao-menu-area__icone span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }

  .botao-menu-area[aria-expanded="true"] .botao-menu-area__icone span:nth-child(2) {
    opacity: 0;
  }

  .botao-menu-area[aria-expanded="true"] .botao-menu-area__icone span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }

  .menu-area {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    left: 0;
    z-index: 10;
    flex-direction: column;
    align-items: stretch;
    gap: 2px;
    width: 100%;
    max-height: calc(100svh - 102px);
    padding: 8px;
    overflow-y: auto;
    border: 1px solid rgb(255 255 255 / 22%);
    border-radius: 18px 18px 18px 6px;
    background: rgb(18 68 126 / 94%);
    box-shadow: 0 18px 40px rgb(7 39 84 / 32%);
    backdrop-filter: blur(14px);
  }

  .menu-area a {
    justify-content: flex-start;
    width: 100%;
    min-height: 48px;
    padding: 12px 16px 12px 40px;
    border-radius: 12px 12px 12px 4px;
    font-size: 16px;
    line-height: 20px;
  }

  .menu-area a::before {
    right: auto;
    left: 16px;
  }

  .menu-area a + a {
    border-top: 1px solid rgb(255 255 255 / 12%);
  }

  .cabecalho-area > .acao-brilho-area {
    grid-column: 3;
    justify-self: end;
  }

  .cabecalho-area > .acao-brilho-area::before,
  .cabecalho-area > .acao-brilho-area::after {
    display: none;
  }

  .cabecalho-area .botao {
    min-height: 46px;
    padding: 10px 18px;
    font-size: 16px;
  }

  .area-hero__cena {
    grid-template-columns: 31.5625% 36.9271% 31.5104%;
    grid-template-rows: auto;
    width: calc(100% - 32px);
    padding-top: 24px;
  }

  .area-hero__logo {
    grid-column: 2;
    grid-row: 1;
    align-self: start;
    justify-self: stretch;
    width: 100%;
    margin: 0;
  }

  .area-hero__aviao {
    grid-column: 3;
    grid-row: 1;
    align-self: start;
    justify-self: start;
    width: 61%;
    margin: 7.6% 0 0 -9.6%;
  }

  .area-hero__modelo {
    grid-column: 1 / 3;
    grid-row: 1;
    align-self: end;
    justify-self: start;
    width: 83.28%;
    margin: 29.505% 0 0 -1.673%;
    translate: none;
  }

  .area-hero__ondas {
    --area-onda-altura: 82.81px;
    --area-onda-hero-ciclo: 245px;
    height: 84px;
    margin-top: -48px;
  }

  .perfil__titulo {
    font-size: 34px;
  }

  .perfil__dados {
    font-size: 20px;
  }

}

@media (max-width: 600px) {
  .pagina-area-logada {
    --area-onda-altura: 70px;
    --area-onda-respiro: 18px;
    --area-onda-hero-ciclo: 207.1px;
    --area-onda-secao-largura: 207.1px;
  }

  .cabecalho-area {
    width: calc(100% - 24px);
    gap: 8px;
  }

  .botao-menu-area:not([hidden]) {
    min-height: 42px;
    padding: 8px 10px;
    font-size: 14px;
  }

  .cabecalho-area .botao {
    min-height: 42px;
    padding: 8px 12px;
    font-size: 13px;
  }

  .area-hero__cena {
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 100%;
    padding: 20px 0 12px;
  }

  .area-hero__logo {
    order: 1;
    align-self: center;
    width: min(calc(100% - 64px), 300px);
  }

  .area-hero__aviao {
    order: 2;
    align-self: flex-end;
    width: 180px;
    margin: 0 24px 0 0;
  }

  .area-hero__modelo {
    order: 3;
    align-self: center;
    width: min(100%, 520px);
    margin: 0;
    translate: none;
  }

  .area-hero__ondas {
    --area-onda-altura: 78px;
    --area-onda-hero-ciclo: 230px;
    --area-onda-fundo-y-inicio: -8px;
    --area-onda-fundo-y-fim: 1px;
    --area-onda-meio-y-inicio: 8px;
    --area-onda-meio-y-fim: 17px;
    height: 86px;
    margin-top: -40px;
  }

  .perfil__conteudo {
    min-height: 300px;
    padding: 42px 16px 62px;
  }

  .perfil__titulo {
    font-size: 28px;
  }

  .perfil__titulo span {
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  .perfil__dados {
    gap: 8px;
    font-size: 16px;
  }

  .perfil__dados div {
    flex-wrap: wrap;
  }

  .onda-area {
    --onda-area-altura: 70px;
  }

  .numeros-sorte {
    margin-top: 36px;
  }

  .numeros-sorte h3 {
    min-height: 58px;
    font-size: 18px;
  }

  .numeros-sorte__lista li {
    min-width: 86px;
    min-height: 40px;
    padding: 9px 10px;
    border-radius: 12px 12px 12px 6px;
    font-size: 14px;
  }

}

@media (prefers-reduced-motion: no-preference) {
  .area-hero__onda--fundo {
    animation: onda-area-fundo 10.5s linear -6.8s infinite, onda-area-fundo-mare 6.4s ease-in-out -2.1s infinite alternate;
  }

  .area-hero__onda--meio {
    animation: onda-area-meio 5.25s linear -3.9s infinite, onda-area-meio-mare 4.1s ease-in-out -3.2s infinite alternate;
  }

  .area-hero__onda--frente {
    animation: onda-area-frente 15.75s linear -8.4s infinite;
  }

  .onda-area--superior {
    animation: onda-secao-superior 36s linear infinite;
  }

  .onda-area--inferior {
    animation: onda-secao-inferior 42s linear infinite;
  }

}

@keyframes onda-area-fundo {
  from {
    background-position-x: calc(50% - 154px);
  }

  to {
    background-position-x: calc(50% - 154px - var(--area-onda-hero-ciclo));
  }
}

@keyframes onda-area-meio {
  from {
    background-position-x: calc(50% + 128px), calc(50% + 128px);
  }

  to {
    background-position-x: calc(50% + 128px - var(--area-onda-hero-ciclo)), calc(50% + 128px - var(--area-onda-hero-ciclo));
  }
}

@keyframes onda-area-frente {
  from {
    background-position-x: calc(50% - 75px);
  }

  to {
    background-position-x: calc(50% - 75px + var(--area-onda-hero-ciclo));
  }
}

@keyframes onda-area-fundo-mare {
  from {
    background-position-y: var(--area-onda-fundo-y-inicio);
  }

  to {
    background-position-y: var(--area-onda-fundo-y-fim);
  }
}

@keyframes onda-area-meio-mare {
  from {
    background-position-y: var(--area-onda-meio-y-inicio), var(--area-onda-meio-y-inicio);
  }

  to {
    background-position-y: var(--area-onda-meio-y-fim), var(--area-onda-meio-y-fim);
  }
}

@keyframes onda-secao-superior {
  from {
    background-position-x: 0;
  }

  to {
    background-position-x: calc(0px - var(--onda-area-ciclo));
  }
}

@keyframes onda-secao-inferior {
  from {
    background-position-x: 0;
  }

  to {
    background-position-x: var(--onda-area-ciclo, var(--area-onda-secao-largura));
  }
}

@keyframes pagina-saida {
  to {
    opacity: 0;
    transform: scale(.995);
  }
}

@keyframes pagina-entrada {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
}

@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(root),
  ::view-transition-new(root) {
    animation-duration: 1ms;
  }
}

/* ===== area-logada-cupom.css ===== */
.pagina-area-logada--cupom .perfil__conteudo {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(560px, 769px);
  align-items: center;
  gap: clamp(32px, 4vw, 72px);
  width: min(calc(100% - var(--h-gutter) * 2), 1400px);
  min-height: 472px;
  padding: 0;
  text-align: left;
}

.pagina-area-logada--cupom .perfil__usuario {
  min-width: 0;
  translate: 0 -18px;
}

.pagina-area-logada--cupom .perfil__titulo,
.pagina-area-logada--cupom .perfil__dados {
  align-items: flex-start;
}

.pagina-area-logada--cupom .perfil__titulo span,
.pagina-area-logada--cupom .perfil__dados dd {
  max-width: 100%;
  overflow-wrap: anywhere;
}

.pagina-area-logada--cupom .perfil__dados div {
  justify-content: flex-start;
}

.cadastro-cupom {
  container-type: inline-size;
  position: relative;
  isolation: isolate;
  width: 100%;
  aspect-ratio: 768.96 / 461.81;
  color: var(--area-azul-escuro);
  translate: 0 -18px;
}

.cadastro-cupom__bilhete,
.cadastro-cupom__carimbo {
  position: absolute;
  z-index: -1;
  max-width: none;
  pointer-events: none;
}

.cadastro-cupom__bilhete {
  top: 3.2%;
  left: 4.6%;
  width: 83.7%;
  height: 96.8%;
  transform: rotate(5.12deg);
}

.cadastro-cupom__carimbo {
  top: 0;
  right: 0;
  width: 39.1%;
  height: 48.5%;
  transform: rotate(5.12deg);
}

.cadastro-cupom__conteudo {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 56%;
  padding-top: 12%;
  margin-left: 14.4%;
}

.cadastro-cupom h2 {
  margin: 0;
  font-size: clamp(22px, 5.2cqi, 40px);
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
}

.cadastro-cupom__rotulo {
  margin-top: 3.7%;
  font-size: clamp(16px, 3.12cqi, 24px);
  line-height: 1.5;
}

.cadastro-cupom__botao {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: clamp(8px, 2.1cqi, 16px);
  width: min(100%, 341px);
  min-height: clamp(50px, 8.85cqi, 68px);
  margin-top: .8%;
  padding: 12px clamp(14px, 3.12cqi, 24px);
  border-radius: 20px 20px 20px 4px;
  color: var(--h-white);
  background: #004a83;
  font-family: var(--h-font-label);
  font-size: clamp(17px, 3.12cqi, 24px);
  line-height: 1.5;
  white-space: nowrap;
  cursor: pointer;
  transition: transform var(--h-duration-normal) var(--h-ease), background-color var(--h-duration-normal) var(--h-ease);
}

.cadastro-cupom__botao img {
  flex: 0 0 auto;
  width: clamp(18px, 3.12cqi, 24px);
}

.cadastro-cupom__arquivo {
  max-width: 100%;
  margin-top: 1%;
  color: #004a83;
  font-size: clamp(11px, 2.08cqi, 16px);
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.cadastro-cupom__enviar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: min(100%, 341px);
  min-height: clamp(50px, 8.85cqi, 68px);
  margin-top: 3.2%;
  padding: 12px clamp(14px, 3.12cqi, 24px);
  border: 0;
  border-radius: 20px 20px 20px 4px;
  color: var(--area-azul-escuro);
  background: var(--area-lima);
  font-family: var(--h-font-label);
  font-size: clamp(17px, 3.12cqi, 24px);
  font-weight: 500;
  line-height: 1.5;
  text-transform: uppercase;
  cursor: pointer;
  transition: transform var(--h-duration-normal) var(--h-ease), background-color var(--h-duration-normal) var(--h-ease);
}

.cadastro-cupom__enviar:hover,
.cadastro-cupom__enviar:focus-visible {
  background: var(--h-blue-500);
  transform: translateY(-2px);
}

.cadastro-cupom__enviar:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  transform: none;
}

.cadastro-cupom__mensagens {
  display: flex;
  flex-direction: column;
  gap: 6px;
  width: 100%;
  margin: 0;
}

.cadastro-cupom__mensagens:empty {
  display: none;
}

.cadastro-cupom__mensagens > p {
  margin: 0;
  padding: 14px 24px;
  border-radius: 0;
  font-size: 14px;
  line-height: 1.3;
  text-align: center;
}

.cadastro-cupom__mensagens .msg-success {
  background: var(--h-green-50);
  color: var(--h-color-success);
}

.cadastro-cupom__mensagens .msg-warning {
  background: var(--h-amber-50);
  color: var(--h-color-warning);
}

.cadastro-cupom__mensagens .msg-danger {
  background: var(--h-red-50);
  color: var(--h-color-danger);
}

.cadastro-cupom__mensagens .msg-info {
  background: var(--h-blue-50);
  color: var(--h-color-link);
}

.cadastro-cupom__campo:focus-visible + .cadastro-cupom__botao {
  outline: 3px solid var(--h-color-focus);
  outline-offset: 3px;
  box-shadow: 0 0 0 3px var(--h-white);
}

@media (hover: hover) {
  .cadastro-cupom__botao:hover {
    background: #003e70;
    transform: translateY(-2px);
  }
}

@media (max-width: 1279px) {
  .pagina-area-logada--cupom .perfil__conteudo {
    grid-template-columns: minmax(0, .85fr) minmax(520px, 1.15fr);
    gap: 24px;
    width: min(calc(100% - 48px), 1160px);
  }

  .pagina-area-logada--cupom .perfil__titulo {
    font-size: 34px;
  }

  .pagina-area-logada--cupom .perfil__dados {
    font-size: 20px;
  }
}

@media (min-width: 1600px) {
  .cadastro-cupom {
    translate: 49px -18px;
  }
}

@media (max-width: 1024px) {
  .pagina-area-logada--cupom .perfil__conteudo {
    grid-template-columns: minmax(0, 1fr);
    justify-items: center;
    gap: 18px;
    width: min(calc(100% - 48px), 760px);
    min-height: auto;
    padding: 52px 0 86px;
  }

  .pagina-area-logada--cupom .perfil__usuario {
    text-align: center;
    translate: none;
  }

  .pagina-area-logada--cupom .perfil__titulo,
  .pagina-area-logada--cupom .perfil__dados {
    align-items: center;
  }

  .pagina-area-logada--cupom .perfil__dados div {
    justify-content: center;
  }

  .cadastro-cupom {
    width: min(100%, 700px);
    translate: none;
  }
}

@media (max-width: 600px) {
  .pagina-area-logada--cupom .perfil__conteudo {
    gap: 38px;
    width: calc(100% - 24px);
    padding: 44px 0 70px;
  }

  .pagina-area-logada--cupom .perfil__titulo {
    font-size: 28px;
  }

  .pagina-area-logada--cupom .perfil__dados {
    font-size: 16px;
  }

  .cadastro-cupom {
    width: min(100%, 400px);
    min-height: clamp(310px, 84vw, 340px);
    aspect-ratio: auto;
  }

  .cadastro-cupom__bilhete {
    top: 10px;
    left: 2%;
    width: 96%;
    height: calc(100% - 12px);
    transform: rotate(1.5deg);
  }

  .cadastro-cupom__carimbo {
    top: 0;
    right: 0;
    width: 34%;
    height: auto;
  }

  .cadastro-cupom__conteudo {
    width: auto;
    height: 100%;
    margin: 0;
    padding: clamp(64px, 18vw, 76px) 32px 30px;
  }

  .cadastro-cupom h2 {
    max-width: 65%;
    font-size: clamp(23px, 6.5vw, 26px);
    line-height: .98;
  }

  .cadastro-cupom__rotulo {
    margin-top: 24px;
    font-size: 19px;
  }

  .cadastro-cupom__botao {
    gap: 8px;
    width: 100%;
    min-height: 56px;
    margin-top: 4px;
    padding: 11px 14px;
    border-radius: 14px 14px 14px 4px;
    font-size: 17px;
  }

  .cadastro-cupom__botao img {
    width: 20px;
  }

  .cadastro-cupom__arquivo {
    margin-top: 8px;
    font-size: 13px;
    line-height: 1.3;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cadastro-cupom__botao {
    transition: none;
  }
}

/* ===== area-logada-dados-cupom.css ===== */
.pagina-area-logada--cupom {
  --area-areia: var(--h-white);
}

.pagina-area-logada--cupom .area-hero__onda--fundo {
  background-image: url("/assets/area-logada/onda-branca-30-loop.svg");
}

.pagina-area-logada--cupom .area-hero__onda--meio {
  background-image: url("/assets/area-logada/onda-contorno-branco-loop.svg"), url("/assets/area-logada/onda-branca-50-loop.svg");
}

.pagina-area-logada--cupom .area-hero__onda--frente {
  background-image: url("/assets/home/onda-ganhadores-branca.svg");
}

.pagina-area-logada--cupom .dados-cupom {
  background: var(--h-white);
}

.dados-cupom__conteudo {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: min(calc(100% - 80px), 1197px);
  max-width: none;
  min-height: 502px;
  margin-inline: auto;
  padding: 36px 24px 68px;
  text-align: center;
}

.dados-cupom__cabecalho {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.dados-cupom__cabecalho p {
  margin-top: 28px;
  color: #1b5aa7;
  font-size: 24px;
  line-height: 1.5;
}

.formulario-dados-cupom {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: min(100%, 1153px);
  margin-top: 34px;
}

.formulario-dados-cupom__campos {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  width: 100%;
}

.campo-dados-cupom {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-width: 0;
  color: #004a83;
  text-align: left;
}

.campo-dados-cupom > span {
  z-index: 1;
  align-self: flex-start;
  margin: 0 0 -9px 30px;
  padding-inline: 7px;
  background: var(--h-white);
  font-size: 16px;
  line-height: 20px;
}

.campo-dados-cupom input {
  display: block;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  height: 72px;
  padding: 20px 40px;
  border: 1px solid var(--area-azul-escuro);
  border-radius: 24px 24px 24px 4px;
  color: #004a83;
  background: var(--h-white);
  font-size: 16px;
  line-height: 24px;
  transition: border-color var(--h-duration-fast) var(--h-ease), box-shadow var(--h-duration-fast) var(--h-ease);
}

.campo-dados-cupom input:hover {
  border-color: var(--area-azul);
}

.campo-dados-cupom input:focus {
  border-color: var(--area-azul);
}

.campo-dados-cupom--data input {
  inline-size: 100%;
  min-inline-size: 0;
  max-inline-size: 100%;
  -webkit-appearance: none;
  appearance: none;
  color-scheme: light;
}

.campo-dados-cupom--data input::-webkit-date-and-time-value {
  min-height: 24px;
  text-align: left;
}

.campo-dados-cupom--data input::-webkit-calendar-picker-indicator {
  width: 24px;
  height: 24px;
  padding: 0;
  background: url("/assets/area-logada/icone-calendario.svg") center / 24px 24px no-repeat;
  cursor: pointer;
  opacity: 1;
}

.formulario-dados-cupom__acao {
  margin-top: 52px;
}

.formulario-dados-cupom__acao .botao {
  min-width: 518px;
  min-height: 56px;
  border: 0;
  color: var(--h-white);
  background: var(--area-azul);
  font-size: 20px;
  font-weight: 700;
  text-transform: uppercase;
}

.formulario-dados-cupom__acao .botao:hover {
  background: #147fc5;
}

@media (max-width: 1024px) {
  .dados-cupom__conteudo {
    width: min(calc(100% - 48px), 760px);
    min-height: auto;
    padding: 54px 24px 86px;
  }

  .dados-cupom__cabecalho p {
    margin-top: 22px;
    font-size: 20px;
  }

  .formulario-dados-cupom {
    width: min(100%, 760px);
    margin-top: 30px;
  }

  .formulario-dados-cupom__campos {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
  }

  .campo-dados-cupom--data {
    grid-column: 1 / -1;
    width: calc(50% - 12px);
    justify-self: center;
  }
}

@media (max-width: 600px) {
  .dados-cupom__conteudo {
    width: calc(100% - 24px);
    padding: 44px 16px 70px;
  }

  .dados-cupom__cabecalho p {
    margin-top: 18px;
    font-size: 17px;
  }

  .formulario-dados-cupom {
    margin-top: 26px;
  }

  .formulario-dados-cupom__campos {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
  }

  .campo-dados-cupom--data {
    grid-column: auto;
    width: auto;
    min-width: 0;
    justify-self: stretch;
  }

  .campo-dados-cupom > span {
    margin-left: 22px;
    font-size: 14px;
  }

  .campo-dados-cupom input {
    height: 60px;
    padding: 16px 24px;
    border-radius: 18px 18px 18px 4px;
  }

  .formulario-dados-cupom__acao {
    width: min(100%, 330px);
    margin-top: 34px;
  }

  .formulario-dados-cupom__acao .botao {
    width: 100%;
    min-width: 0;
    min-height: 54px;
    padding-inline: 18px;
    font-size: 14px;
    line-height: 18px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .campo-dados-cupom input {
    transition: none;
  }
}

/* ===== area-logada-produtos.css ===== */
.pagina-area-logada--cupom {
  --largura-selecao-produtos: 829px;
  touch-action: manipulation;
}

.pagina-area-logada--cupom :is(button, input, label, summary, .produto-cupom) {
  touch-action: manipulation;
}

.identificacao-produtos {
  background: var(--area-areia);
}

.identificacao-produtos__conteudo {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  min-height: 188px;
  padding: 0 24px 32px;
  text-align: center;
}

.identificacao-produtos__onda {
  height: var(--area-onda-altura);
  background-color: var(--area-areia);
  background-image: url("/assets/home/wave-white.svg");
  background-position: center top;
  background-repeat: repeat-x;
  background-size: 2461.26px var(--area-onda-altura);
}

.selecao-produtos-cupom {
  background: var(--h-white);
}

.selecao-produtos-cupom__conteudo {
  width: min(calc(100% - 48px), var(--largura-selecao-produtos));
  margin-inline: auto;
  padding: 28px 0 104px;
}

.selecao-produtos-cupom__instrucao {
  color: #1b5aa7;
  font-size: 16px;
  line-height: 1.5;
  text-align: center;
}

.formulario-produtos-cupom {
  display: flex;
  flex-direction: column;
  margin-top: 72px;
}

.formulario-produtos-cupom__aviso {
  position: sticky;
  top: 16px;
  margin: 0 0 50px;
  padding: 20px 32px;
  border: 2px solid var(--h-color-warning);
  border-radius: var(--h-radius-md);
  background: var(--h-color-warning);
  color: var(--h-white);
  font-size: 18px;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  box-shadow: 0 12px 32px rgb(121 80 0 / 35%);
  z-index: 5;
}

.formulario-produtos-cupom__aviso[hidden] {
  display: none;
}

.produto-cupom--selecionado .produto-cupom__resumo {
  pointer-events: none;
}

.produto-cupom--selecionado .produto-cupom__marcador {
  pointer-events: auto;
  cursor: pointer;
}

.selecao-produtos-cupom__conteudo > .formulario-dados-cupom__acao {
  display: flex;
  justify-content: center;
  margin-top: 52px;
}

.categoria-produtos + .categoria-produtos {
  margin-top: 24px;
}

.categoria-produtos {
  scroll-margin-top: 24px;
}

.categoria-produtos__titulo {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  color: var(--area-azul-escuro);
  font-family: var(--h-font-label);
  font-size: 48px;
  line-height: 1;
  text-transform: uppercase;
  cursor: pointer;
  list-style: none;
}

.categoria-produtos__titulo::-webkit-details-marker {
  display: none;
}

.categoria-produtos__titulo img {
  width: 32px;
  height: 32px;
  flex: 0 0 auto;
  transition: transform var(--h-duration-normal) var(--h-ease);
}

.categoria-produtos[open] > .categoria-produtos__titulo {
  color: #1e80cc;
}

.categoria-produtos[open] > .categoria-produtos__titulo img {
  transform: rotate(-90deg);
}

.lista-produtos-cupom {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 24px;
}

.produto-cupom {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-height: 142px;
  overflow: hidden;
  border-radius: 0 24px 24px 0;
  background: rgb(250 238 228 / 50%);
  color: #1b5aa7;
  cursor: pointer;
  transition: background-color var(--h-duration-normal) var(--h-ease), border-radius var(--h-duration-normal) var(--h-ease), transform var(--h-duration-fast) var(--h-ease);
}

.produto-cupom__resumo {
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  min-height: 142px;
  padding: 8px clamp(24px, 15vw, 190px);
  cursor: pointer;
}

.produto-cupom__imagem {
  justify-self: center;
  width: 54px;
  height: 126px;
  object-fit: contain;
}

.produto-cupom__nome {
  font-size: 16px;
  line-height: 24px;
}

.produto-cupom__marcador {
  display: none;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--h-white) url("/assets/area-logada/circulo-selecionado.svg") center / 40px 40px no-repeat;
}

.produto-cupom__marcador img {
  width: 29px;
  height: 29px;
}

.produto-cupom__quantidade {
  display: none;
}

.produto-cupom--selecionado {
  min-height: 174px;
  padding: 30px 22px 26px 62px;
  border-radius: 32px 32px 32px 8px;
  background: var(--area-lima);
  color: var(--area-azul-escuro);
}

.produto-cupom--selecionado .produto-cupom__resumo {
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: auto;
  padding: 0;
}

.produto-cupom--selecionado .produto-cupom__imagem {
  display: none;
}

.produto-cupom--selecionado .produto-cupom__nome {
  font-size: 24px;
  line-height: 24px;
}

.produto-cupom--selecionado .produto-cupom__marcador {
  display: inline-flex;
}

.produto-cupom--selecionado .produto-cupom__quantidade {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-top: 12px;
}

.produto-cupom__quantidade > label {
  font-size: 16px;
  line-height: 24px;
}

.controle-quantidade {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: default;
  user-select: none;
  -webkit-user-select: none;
}

.controle-quantidade button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  padding: 0 0 3px;
  border: 0;
  border-radius: 50%;
  color: var(--area-lima);
  background: var(--area-azul) url("/assets/area-logada/circulo-quantidade.svg") center / 40px 40px no-repeat;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  transition: transform var(--h-duration-fast) var(--h-ease), filter var(--h-duration-fast) var(--h-ease);
}

.controle-quantidade input {
  width: 112px;
  height: 42px;
  padding: 8px 12px;
  border: 0;
  border-radius: 16px 16px 16px 4px;
  color: var(--area-azul);
  background: var(--h-white);
  font-size: 20px;
  line-height: 20px;
  text-align: center;
  appearance: textfield;
}

.controle-quantidade input::-webkit-inner-spin-button,
.controle-quantidade input::-webkit-outer-spin-button {
  margin: 0;
  appearance: none;
}

.produto-cupom__campo:focus-visible + .produto-cupom__resumo {
  outline: 3px solid var(--h-color-focus);
  outline-offset: -5px;
  border-radius: inherit;
}

@media (hover: hover) and (pointer: fine) {
  .produto-cupom:not(.produto-cupom--selecionado):hover {
    background: rgb(250 238 228 / 78%);
    transform: translateX(4px);
  }

  .controle-quantidade button:hover {
    filter: brightness(.92);
    transform: scale(1.05);
  }
}

@media (max-width: 1024px) {
  .identificacao-produtos__conteudo {
    min-height: 178px;
    padding-top: 18px;
  }

  .selecao-produtos-cupom__conteudo {
    width: min(calc(100% - 48px), 760px);
  }

  .formulario-produtos-cupom {
    margin-top: 58px;
  }

  .produto-cupom__resumo {
    padding-inline: clamp(48px, 14vw, 130px);
  }
}

@media (max-width: 600px) {
  .identificacao-produtos__conteudo {
    min-height: 150px;
    padding: 16px 16px 24px;
  }

  .identificacao-produtos__onda {
    height: 70px;
    background-size: 1387px 70px;
  }

  .selecao-produtos-cupom__conteudo {
    width: calc(100% - 24px);
    min-height: auto;
    padding: 32px 0 78px;
  }

  .selecao-produtos-cupom__instrucao {
    padding-inline: 12px;
    font-size: 14px;
    overflow-wrap: anywhere;
  }

  .formulario-produtos-cupom {
    margin-top: 42px;
  }

  .categoria-produtos__titulo {
    gap: 10px;
    font-size: 34px;
  }

  .categoria-produtos__titulo img {
    width: 28px;
    height: 28px;
  }

  .produto-cupom {
    min-height: 112px;
  }

  .produto-cupom__resumo {
    grid-template-columns: 52px minmax(0, 1fr) auto;
    gap: 14px;
    min-height: 112px;
    padding: 8px 16px;
  }

  .produto-cupom__imagem {
    width: 44px;
    height: 94px;
  }

  .produto-cupom__nome {
    font-size: 14px;
    line-height: 20px;
  }

  .produto-cupom--selecionado {
    min-height: 190px;
    padding: 24px 18px;
    border-radius: 24px 24px 24px 6px;
  }

  .produto-cupom--selecionado .produto-cupom__nome {
    font-size: 18px;
    line-height: 22px;
  }

  .produto-cupom__marcador {
    width: 34px;
    height: 34px;
    background-size: 34px 34px;
  }

  .produto-cupom--selecionado .produto-cupom__quantidade {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    margin-top: 18px;
  }

  .produto-cupom__quantidade > label {
    font-size: 13px;
    line-height: 18px;
  }

  .controle-quantidade {
    align-self: center;
  }

  .controle-quantidade input {
    width: 88px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .categoria-produtos__titulo img,
  .produto-cupom,
  .controle-quantidade button {
    transition: none;
  }
}

/* ===== area-logada-painel.css ===== */
.premios-diarios {
  color: var(--h-white);
  background: var(--area-azul);
}

.premios-diarios__conteudo {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-height: 815px;
  padding: 82px 0 150px;
}

.premios-diarios__conteudo--vazio {
  min-height: 0;
  padding-bottom: 50px;
}

.cabecalho-secao {
  color: var(--area-azul-escuro);
  text-align: center;
}

.cabecalho-secao h2 {
  margin: 0;
  font-size: 48px;
  font-weight: 500;
  line-height: 1.15;
  text-transform: uppercase;
}

.cabecalho-secao p {
  margin-top: 14px;
  font-size: 16px;
  line-height: 1.5;
}

.cabecalho-secao a {
  color: var(--area-azul);
  text-underline-offset: 3px;
}

.cabecalho-secao--claro {
  color: var(--h-white);
}

.tabela-area-logada {
  margin-top: 58px;
  border-radius: 24px 24px 12px 4px;
}

.premios-diarios__vazio {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 200px;
  margin: 58px 0 0;
  padding: 32px 24px;
  border-radius: 24px 24px 12px 4px;
  background: rgb(255 255 255 / 10%);
  color: var(--h-white);
  font-size: 18px;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
}

.tabela-area-logada::after {
  content: "";
  display: block;
  width: 100%;
  height: 5px;
  border-radius: 0 0 12px 4px;
  background: rgb(255 255 255 / 20%);
}

.tabela-cupons {
  min-inline-size: 620px;
  color: var(--h-white);
  text-align: center;
}

.tabela-cupons th {
  padding: 24px 36px;
  color: var(--area-azul-escuro);
  font-size: 20px;
  letter-spacing: .02em;
}

.tabela-cupons td {
  height: 72px;
  padding: 14px 36px;
  color: var(--h-white);
  background: transparent;
  font-size: 16px;
}

.tabela-cupons tbody tr:nth-child(even) td {
  background: rgb(255 255 255 / 20%);
}

.situacao {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-width: 132px;
  min-height: 35px;
  padding: 8px 18px;
  border-radius: 8px 8px 8px 2px;
  font-size: 13px;
  font-weight: 800;
  line-height: 15px;
  text-transform: uppercase;
}

.situacao--info {
  color: var(--h-white);
  background: var(--area-roxo);
}

.situacao--success {
  color: var(--area-azul);
  background: var(--area-ciano);
}

.situacao--warning {
  color: var(--area-azul);
  background: var(--area-lima);
}

.situacao--importante {
  color: var(--h-white);
  background: var(--h-color-danger);
}

.premio-final {
  background: var(--h-white);
}

.premio-final__conteudo {
  min-height: 670px;
  padding: 82px 0 130px;
}

.premio-final__conteudo--vazio {
  min-height: 0;
  padding-bottom: 50px;
}

.numeros-sorte--painel .numeros-sorte__lista {
  background-color: var(--h-white);
  background-position: 0 10px;
}

@media (max-width: 1024px) {
  .premios-diarios__conteudo,
  .premio-final__conteudo {
    min-height: auto;
    padding: 64px 24px 100px;
  }

  .cabecalho-secao h2 {
    font-size: 40px;
  }
}

@media (max-width: 600px) {
  .premios-diarios__conteudo,
  .premio-final__conteudo {
    padding: 48px 16px 76px;
  }

  .cabecalho-secao h2 {
    font-size: 30px;
  }

  .cabecalho-secao p {
    font-size: 14px;
  }

  .tabela-area-logada {
    margin-top: 36px;
    overflow-x: visible;
  }

  .tabela-cupons {
    min-inline-size: 100%;
    table-layout: fixed;
  }

  .tabela-cupons th,
  .tabela-cupons td {
    padding-inline: 4px;
  }

  .tabela-cupons th {
    font-size: 14px;
  }

  .tabela-cupons td {
    height: 62px;
    font-size: 11px;
  }

  .tabela-cupons :is(th, td):nth-child(1) {
    width: 31%;
  }

  .tabela-cupons :is(th, td):nth-child(2) {
    width: 22%;
  }

  .tabela-cupons :is(th, td):nth-child(3) {
    width: 47%;
  }

  .situacao {
    min-width: 98px;
    min-height: 31px;
    padding: 6px 7px;
    font-size: 9px;
    line-height: 12px;
  }
}

/* ===== area-logada-resultado.css ===== */
.confirmacao-cupom {
  color: var(--area-azul-escuro);
  background: var(--area-areia);
}

.confirmacao-cupom__conteudo {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  min-height: 139px;
  padding: 0 24px 28px;
  text-align: center;
}

.confirmacao-cupom__titulo {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0;
  font-size: 24px;
  font-weight: 500;
  line-height: 1.35;
}

.confirmacao-cupom__titulo strong {
  color: #23ccbe;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.2;
  text-transform: uppercase;
}

.resultado-cupom {
  color: var(--h-white);
  background: var(--area-azul);
}

.resultado-cupom__conteudo {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: min(calc(100% - 48px), 828px);
  min-height: 800px;
  margin-inline: auto;
  padding: 38px 0 88px;
}

.resultado-cupom__cabecalho {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.resultado-cupom__titulo-decorado {
  position: relative;
  display: inline-flex;
}

.resultado-cupom__titulo-decorado::before,
.resultado-cupom__titulo-decorado::after {
  content: "";
  position: absolute;
  left: calc(100% + 10px);
  background: url("/assets/home/sparkle-large.svg") center / contain no-repeat;
  pointer-events: none;
}

.resultado-cupom__titulo-decorado::before {
  top: -5px;
  width: 24px;
  height: 28px;
}

.resultado-cupom__titulo-decorado::after {
  top: 26px;
  left: calc(100% + 22px);
  width: 15px;
  height: 18px;
  background-image: url("/assets/home/sparkle-small.svg");
}

.resultado-cupom__cabecalho h2 {
  margin: 0;
  color: var(--area-lima);
  font-size: 48px;
  font-weight: 700;
  line-height: 1.15;
  text-transform: uppercase;
}

.resultado-cupom__cabecalho p {
  max-width: 390px;
  margin-top: 28px;
  font-size: 16px;
  line-height: 1.5;
}

.resultado-cupom__cabecalho strong {
  font-weight: 700;
}

.numeros-sorte--resultado {
  width: 100%;
  margin-top: 54px;
}

.numeros-sorte--resultado .numeros-sorte__lista {
  padding: 0;
  background: repeating-linear-gradient(to bottom, transparent 0 72px, #177dc2 72px 144px);
}

.resultado-cupom__acao {
  margin-top: 64px;
}

.pagina-area-logada--sucesso .resultado-cupom__acao::before {
  background-image: url("/assets/area-logada/brilho-painel-grande.svg");
}

.pagina-area-logada--sucesso .resultado-cupom__acao::after {
  background-image: url("/assets/area-logada/brilho-painel-pequeno.svg");
}

.resultado-cupom__botao {
  --h-button-bg: var(--h-white);
  --h-button-fg: var(--area-azul);
  min-width: 236px;
  font-size: 20px;
  font-weight: 800;
}

.confirmacao-cupom__conteudo--contemplado {
  position: relative;
  z-index: 6;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  column-gap: clamp(32px, 4vw, 56px);
  align-items: start;
  width: min(calc(100% - 48px), 1200px);
  min-height: 184px;
  margin-inline: auto;
  padding: 21px 0 24px;
}

.confirmacao-cupom__conteudo--contemplado .confirmacao-cupom__titulo {
  z-index: 1;
  grid-area: 1 / 1;
  align-self: start;
  justify-self: center;
  width: 100%;
}

.confirmacao-cupom__premio {
  z-index: 2;
  grid-area: 1 / 2;
  align-self: start;
  justify-self: center;
  width: 264px;
  margin: -151px 0 -129px;
  transform: rotate(-16.66deg);
  filter: drop-shadow(0 4px 4px rgb(0 0 0 / 4%));
}

.confirmacao-cupom__premio img {
  width: 100%;
}

.pagina-area-logada--contemplado .resultado-cupom__conteudo {
  min-height: 755px;
  padding-top: 24px;
  padding-bottom: 74px;
}

@media (max-width: 1024px) {
  .confirmacao-cupom__conteudo {
    min-height: 150px;
  }

  .resultado-cupom__conteudo {
    min-height: 720px;
    padding-top: 30px;
  }

  .confirmacao-cupom__conteudo--contemplado {
    grid-template-columns: minmax(0, 1fr) 240px;
    column-gap: 28px;
    width: calc(100% - 40px);
    min-height: 184px;
  }

  .confirmacao-cupom__conteudo--contemplado .confirmacao-cupom__titulo {
    grid-area: 1 / 1;
    width: 100%;
    max-width: none;
  }

  .confirmacao-cupom__conteudo--contemplado .confirmacao-cupom__titulo strong {
    font-size: 34px;
  }

  .confirmacao-cupom__premio {
    width: 175px;
    margin-top: -88px;
    margin-bottom: -65px;
  }
}

@media (max-width: 820px) {
  .confirmacao-cupom__conteudo--contemplado {
    grid-template-columns: 1fr;
    justify-items: center;
    min-height: auto;
    padding: 22px 0 4px;
  }

  .confirmacao-cupom__conteudo--contemplado .confirmacao-cupom__titulo {
    grid-area: auto;
    max-width: 100%;
  }

  .confirmacao-cupom__conteudo--contemplado .confirmacao-cupom__titulo strong {
    font-size: 28px;
  }

  .confirmacao-cupom__premio {
    grid-area: auto;
    width: 158px;
    margin: 22px 0 -48px;
    transform: rotate(-9deg);
  }

  .pagina-area-logada--contemplado .resultado-cupom__conteudo {
    min-height: auto;
    padding-top: 70px;
    padding-bottom: 76px;
  }
}

@media (max-width: 600px) {
  .confirmacao-cupom__conteudo {
    min-height: 138px;
    padding-inline: 16px;
  }

  .confirmacao-cupom__titulo {
    gap: 6px;
    font-size: 18px;
  }

  .confirmacao-cupom__titulo strong {
    font-size: 32px;
    overflow-wrap: anywhere;
  }

  .resultado-cupom__conteudo {
    width: calc(100% - 32px);
    min-height: auto;
    padding: 34px 0 76px;
  }

  .resultado-cupom__cabecalho h2 {
    font-size: 34px;
  }

  .resultado-cupom__cabecalho p {
    max-width: 320px;
    margin-top: 20px;
    font-size: 14px;
  }

  .numeros-sorte--resultado {
    margin-top: 38px;
  }

  .numeros-sorte--resultado .numeros-sorte__lista {
    grid-auto-rows: 62px;
    background: repeating-linear-gradient(to bottom, transparent 0 62px, #177dc2 62px 124px);
  }

  .resultado-cupom__acao {
    margin-top: 48px;
  }

  .resultado-cupom__botao {
    min-width: 218px;
    font-size: 18px;
  }
}

@media (prefers-reduced-motion: no-preference) {
  .confirmacao-cupom__premio {
    animation: premio-contemplado-entrada 900ms cubic-bezier(.16, 1, .3, 1) 300ms both;
  }
}

@keyframes premio-contemplado-entrada {
  from { opacity: 0; transform: translateY(34px) rotate(-10deg) scale(.92); }
  to { opacity: 1; transform: translateY(0) rotate(-16.66deg) scale(1); }
}

@media (max-width: 820px) and (prefers-reduced-motion: no-preference) {
  @keyframes premio-contemplado-entrada {
    from { opacity: 0; transform: translateY(28px) rotate(-4deg) scale(.92); }
    to { opacity: 1; transform: translateY(0) rotate(-9deg) scale(1); }
  }
}

/* ===== movimento.css ===== */
.palavra-janela {
  display: inline-block;
  overflow: clip;
  vertical-align: top;
}

.palavra-animada {
  display: inline-block;
}

@media (prefers-reduced-motion: no-preference) {
  .movimento-preparar [data-entrada="aguardando"] {
    opacity: 0;
    pointer-events: none;
  }

  .movimento-preparar .passo:not(:last-child) {
    background-size: calc(100px * var(--progresso-linha, 1)) 2px;
  }
}

.movimento-pausado :is(.destaque__onda, .teaser__onda),
.lojas--pausadas .lojas__trilho {
  animation-play-state: paused;
}

.pagina-inicial :is(.botao, .botao-menu, .botao-carrossel, .menu-principal a, .filtro > span),
.rodape__redes a {
  transition-duration: var(--movimento-resposta);
}

.duvidas__icone {
  transition-duration: var(--movimento-painel);
}

.duvidas details[open] > summary[aria-expanded="false"] .duvidas__icone {
  background-image: url("/assets/home/faq-closed.svg");
  transform: rotate(-90deg);
}

.acao-brilho:focus-within::before {
  transform: scale(1.12) rotate(8deg);
}

.acao-brilho:focus-within::after {
  transform: scale(1.18) rotate(-10deg);
}

@media (prefers-reduced-motion: no-preference) {
  .cartao-produto__imagem {
    transition: scale 350ms var(--movimento-curva);
  }

  @media (hover: hover) and (pointer: fine) {
    .produtos__lista > .cartao-produto:hover {
      transform: translateY(-4px);
    }

    .cartao-produto:hover .cartao-produto__imagem {
      scale: 1.025;
    }
  }
}

@media (prefers-reduced-motion: reduce) {
  :is(.pagina-inicial, .pagina-teaser) *,
  :is(.pagina-inicial, .pagina-teaser) *::before,
  :is(.pagina-inicial, .pagina-teaser) *::after {
    transition-property: none !important;
    animation-name: none !important;
  }

}
