*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#381b08;background:radial-gradient(ellipse at 50% 0%,#fff6ec,#fffdfb 60%)}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.section>h2,.time span b,.validade span b,.steps h3,.btn{font-family:'Baloo 2',Arial,sans-serif}

/* Header */
header{
  height:auto;min-height:72px;background:#fff;display:flex;align-items:center;gap:28px;
  padding:10px max(20px,calc((100% - 1240px)/2));position:sticky;top:0;z-index:20;box-shadow:0 2px 12px #0001;
}
.brand{display:flex;align-items:center}
.brand img{width:150px}
nav{margin-left:auto;display:flex;gap:24px;font-size:14px;font-weight:600}
nav a:hover{color:#d71920}
.nav-raspar{display:none}
#menu{display:none;margin-left:auto;border:0;background:none;font-size:26px}
.btn{background:linear-gradient(#ed2929,#c80e14);color:white;border:0;border-radius:12px;padding:14px 24px;font-weight:800;display:inline-block;cursor:pointer;font-size:15px;box-shadow:0 8px 18px #d7192055}

/* Hero — a arte inteira (balões, faixa, pódio de prêmios) já vem pronta nos
   banners; o HTML so escolhe qual imagem (desktop/mobile) exibir. */
.hero{background:#f7b400;line-height:0}
.hero picture,.hero img{width:100%}

/* Contador */
.contador{
  width:min(880px,80%);margin:-40px auto 0;background:#fffaf0;position:relative;z-index:4;
  border-radius:18px;padding:18px 28px;display:flex;justify-content:center;align-items:center;
  gap:48px;flex-wrap:wrap;box-shadow:0 12px 30px #0002;
}
.validade{display:flex;gap:12px;align-items:center}
.validade .calendario{
  font-style:normal;font-size:16px;color:#d71920;background:#fbe2c9;border-radius:10px;
  width:38px;height:38px;display:grid;place-items:center;flex:none;
}
.validade span{font-size:12px;line-height:1.5}
.validade span b{font-size:16px;color:#d71920;letter-spacing:.2px}
.time{display:flex;align-items:center;gap:16px}
.time small{font-size:11px;font-weight:bold;color:#7a6a52;margin-right:2px}
.time span{text-align:center;font-size:9px;font-weight:bold;color:#7a6a52}
.time span b{display:block;color:#351b08;font-size:24px;font-variant-numeric:tabular-nums;line-height:1.15}

/* Seções genéricas */
.section{background:#fff;padding:65px max(25px,calc((100% - 1240px)/2));text-align:center}
.section>h2{color:#a90d0d;font-size:30px;margin:0}
.section>p{margin:10px 0 0}

/* Como participar */
.como-participar{background:radial-gradient(ellipse at 50% 0%,#fff6ec,#fffdfb 60%)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:35px}
.steps article{position:relative;padding:0 15px}
.steps article+article{border-left:1px solid #ead8bc}
.steps i{font-style:normal;font-size:30px;color:#d71920;width:76px;height:76px;display:grid;place-items:center;margin:auto;border:1px solid #ffd36d;border-radius:50%;background:#fff7e5}
.steps article>b{position:absolute;top:58px;left:18%;background:#d71920;color:white;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:13px}
.steps h3{margin:14px 0 6px}
.steps p{font-size:14px;line-height:1.5;color:#5a4632}
.mobile{display:none}

/* Prêmios — carrossel de fotos reais */
.premios{background:#fffdf8}

/* Esteira infinita de premios - a lista vem duplicada uma vez no Blade
   (@for 2x) so o loop de -50% fecha sem deixar buraco visivel. */
.marquee{
  margin-top:30px;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
}
.marquee-track{
  display:flex;gap:16px;width:max-content;animation:esteira 55s linear infinite;
}
.marquee-track:hover{animation-play-state:paused}
@keyframes esteira{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.marquee-track article{
  flex:0 0 190px;background:#fff;border:1px solid #eee0ca;
  border-radius:15px;padding:14px;box-shadow:0 8px 25px #0001;
}
.marquee-track img{width:100%;aspect-ratio:1/1;object-fit:contain;margin:0 auto}
.marquee-track b{display:block;font-size:14px;margin-top:10px;text-align:center}
@media (prefers-reduced-motion: reduce){.marquee-track{animation:none}}

/* Selo de confiança */
.trust{background:#fff;padding:28px max(25px,calc((100% - 1240px)/2));display:grid;grid-template-columns:repeat(4,1fr);gap:10px;border-top:1px solid #f2e6cc}
.trust div{display:flex;justify-content:center;align-items:center;gap:10px;color:#d71920}
.trust i{font-size:26px;flex:none}
.trust span{font-size:12px;text-align:left;color:#381b08}
.trust b{display:block}

/* Faixa vermelha final */
.band{
  background:url(/build/images/user-img.png) repeat,linear-gradient(90deg,#820000,#a61210,#770000);
  padding:20px;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:30px;color:#ffe655;
}
.band .gift{width:56px;flex:none}
.white{background:white;color:#d71920;min-width:230px;text-align:center}

/* Página do Regulamento */
.reg-hero{
  background:url(/build/images/title-img.png) no-repeat center/cover,linear-gradient(135deg,#490101,#931312,#570101);
  padding-bottom:40px;
}
.reg-eyebrow{display:inline-block;background:#fbe2c9;color:#a90d0d;font-size:12px;font-weight:700;padding:6px 16px;border-radius:20px;margin-bottom:16px}
.reg-hero h1{font-family:'Baloo 2',Arial,sans-serif;color:#fff;font-size:32px;line-height:1.2;margin:0 0 14px}
.reg-hero p{max-width:640px;margin:0 auto 24px;color:#f6dcdc}
.regulamento-conteudo{text-align:left}
.reg-doc{max-width:780px;margin:0 auto;line-height:1.7;color:#3a2c1c}
.reg-doc-oficial table{display:block;overflow-x:auto;white-space:nowrap}
.reg-doc-oficial table tr{white-space:normal}
.reg-doc h2{font-family:'Baloo 2',Arial,sans-serif;color:#a90d0d;font-size:20px;margin:38px 0 12px}
.reg-doc h2:first-child{margin-top:0}
.reg-doc p{margin:0 0 14px}
.reg-doc ul{margin:0 0 14px;padding-left:20px}
.reg-doc li{margin-bottom:6px}
.reg-empresa{background:#fff7e5;border:1px solid #ffd36d;border-radius:12px;padding:18px 22px;margin-bottom:8px}
.reg-empresa h2{margin-top:0}
.reg-table-wrap{overflow-x:auto;margin:0 0 20px}
.reg-table-titulo{font-weight:700;margin-bottom:10px}
.reg-table{border-collapse:collapse;width:100%;font-size:13px;min-width:520px}
.reg-table th{background:#a90d0d;color:#fff;text-align:left;padding:10px 12px;font-weight:700}
.reg-table td{padding:9px 12px;border-bottom:1px solid #f0e2c8}
.reg-table tbody tr:nth-child(even){background:#fffaf0}
.reg-table tfoot td{font-weight:800;color:#a90d0d;border-top:2px solid #a90d0d}
.reg-table-lojas th:last-child,.reg-table-lojas td:last-child{text-align:right}
.reg-assinatura{margin-top:36px;padding-top:20px;border-top:1px solid #ead8bc;font-size:12px;color:#8a7a5f}

/* Lojas participantes */
.lojas-grid{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;text-align:left}
.loja-card{background:#fff;border:1px solid #ead8bc;border-radius:12px;padding:16px 18px;box-shadow:0 4px 14px #0000000a}
.loja-card b{display:block;color:#a90d0d;font-family:'Baloo 2',Arial,sans-serif;font-size:16px;margin-bottom:2px}
.loja-card span{font-size:12px;color:#8a7a5f}

/* Fale conosco */
.contato-wrap{max-width:640px;margin:0 auto;text-align:left}
.contato-info{display:flex;flex-wrap:wrap;gap:22px;justify-content:center;margin-bottom:30px;text-align:center}
.contato-info div{background:#fff;border:1px solid #ead8bc;border-radius:12px;padding:16px 22px;flex:1;min-width:180px}
.contato-info i{color:#d71920;font-size:20px;margin-bottom:8px;display:block}
.contato-info b{display:block;font-size:13px;color:#3a2c1c;margin-bottom:2px}
.contato-info span,.contato-info a{font-size:13px;color:#5a4632}
.form-campo{margin-bottom:16px}
.form-campo label{display:block;font-weight:700;font-size:13px;color:#3a2c1c;margin-bottom:6px}
.form-campo input,.form-campo textarea{
  width:100%;border:2px solid #ead8bc;border-radius:10px;padding:12px 14px;
  font-size:14px;color:#381b08;font-family:inherit;
}
.form-campo input:focus,.form-campo textarea:focus{outline:none;border-color:#d71920}
.form-campo textarea{resize:vertical;min-height:120px}
.form-linha{display:flex;gap:14px;flex-wrap:wrap}
.form-linha .form-campo{flex:1;min-width:220px}
.form-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-msg-ok{background:#eaf7ee;color:#1c7a3d;border-radius:10px;padding:12px 14px;font-size:13px;font-weight:700;margin-bottom:18px}
.form-msg-erro{background:#fdecea;color:#a90d0d;border-radius:10px;padding:12px 14px;font-size:13px;font-weight:700;margin-bottom:18px}
.form-campo .erro{color:#a90d0d;font-size:12px;margin-top:4px;display:block}

/* Dúvidas frequentes */
.faq{text-align:left}
.faq-categoria{max-width:780px;margin:0 auto 44px}
.faq-categoria:last-child{margin-bottom:0}
.faq-categoria h2{
  font-family:'Baloo 2',Arial,sans-serif;color:#a90d0d;font-size:19px;margin:0 0 16px;
  display:flex;align-items:center;gap:10px;
}
.faq-categoria h2 i{font-size:17px}
.faq-item{background:#fff;border:1px solid #b50000;border-radius:12px;padding:14px 20px;margin-bottom:10px;box-shadow:0 4px 14px #0000000a}
.faq-item summary{
  font-weight:700;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding:2px 0;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"\f078";font-family:"Font Awesome 6 Free";font-weight:900;color:#d71920;font-size:13px;flex:none;transition:transform .25s}
.faq-item[open] summary::after{transform:rotate(180deg)}
.faq-content{max-height:0;overflow:hidden;transition:max-height .28s ease}
.faq-content p{margin:14px 0 0;color:#5a4632;font-size:14px;line-height:1.6}

/* Rodapé */
footer{background:#202020;color:#ddd;padding:42px max(25px,calc((100% - 1240px)/2)) 0;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px}
footer div{display:flex;flex-direction:column;gap:7px;font-size:12px}
footer a:hover{color:#fff}
footer b{color:white;font-size:13px;margin-bottom:4px}
.col-brand img{width:170px;background:#fff;padding:8px 12px;border-radius:8px}
.social{display:flex;flex-direction:row;gap:10px}
.social a{width:34px;height:34px;border-radius:50%;background:#d71920;display:grid;place-items:center;color:#fff}
.social i{font-size:15px}
footer .bottom{
  grid-column:1/-1;border-top:1px solid #3a3a3a;padding:18px 0;margin-top:18px;flex-direction:row;
  justify-content:space-between;flex-wrap:wrap;gap:8px;
}

/* Tablet (retrato/paisagem) e celular em paisagem - ainda cabe tudo em
   linha (contador, selo de confianca, faixa vermelha, rodape); so o header
   perde o espaco pro menu de texto completo. Ajustes aqui sao so de respiro
   (gap/padding/fonte menores), nunca de empilhar o que cabe ao lado. */
@media(max-width:1024px){
  .contador{gap:22px;padding:16px 20px}
  .time{gap:10px}
  .time span b{font-size:21px}

  .trust{gap:6px;padding:24px 16px}
  .trust i{font-size:22px}
  .trust span{font-size:11px}

  .band{gap:16px;padding:18px 16px}
  .white{min-width:190px}

  footer{gap:20px;padding-left:16px;padding-right:16px}
}

/* Header - o menu de texto (Inicio/Como Participar/.../Duvidas + botao) so
   de fato nao cabe mais numa linha so abaixo disto; troca pro hamburguer. */
@media(max-width:800px){
  header{padding:10px 16px}
  .brand img{width:120px}
  #menu{display:block}
  nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;padding:20px;flex-direction:column}
  nav.open{display:flex}
  .nav-raspar{
    display:flex;align-items:center;gap:8px;color:#d71920;font-weight:800;
    margin-top:10px;padding-top:14px;border-top:1px solid #ead8bc;
  }
  .desktop{display:none}
  .mobile{display:block;margin-top:25px}

  .steps{grid-template-columns:1fr;text-align:left}
  .steps article{padding-left:90px;min-height:90px}
  .steps article+article{border:0}
  .steps i{position:absolute;left:0;top:4px;width:64px;height:64px}
  .steps article>b{left:50px;top:48px}

  .marquee-track article{flex-basis:150px}
  .marquee-track{animation-duration:38s}
}

/* Celular em retrato - aqui sim empilha, porque de fato nao cabe mais lado
   a lado. */
@media(max-width:640px){
  .contador{display:block;margin-top:-30px;padding:20px}
  .validade{justify-content:center}
  .time{justify-content:center;margin-top:18px;gap:8px}
  .time small{display:none}

  .trust{grid-template-columns:1fr 1fr;gap:10px;padding:28px max(25px,calc((100% - 1240px)/2))}
  .trust i{font-size:26px}
  .trust span{font-size:12px}

  .band{flex-direction:column;gap:12px;text-align:center;padding:20px}
  .band .gift{width:44px}
  .white{min-width:230px}

  footer{grid-template-columns:1fr 1fr;gap:22px 16px;padding-top:32px;padding-left:25px;padding-right:25px;text-align:center}
  footer div{align-items:center}
  .col-brand,.col-social{grid-column:1/-1}
  .social{justify-content:center}
  footer .bottom{flex-direction:column;text-align:center}
}

@media(max-width:420px){
  .contador{width:94%}
  .time span b{font-size:20px}
  .section{padding:45px 18px}
  .marquee-track article{flex-basis:135px}
  .trust span{font-size:10px}
}

/* Modal "Raspar Agora" */
.modal-overlay{
  position:fixed;inset:0;background:#1a0e04cc;z-index:100;display:flex;
  align-items:center;justify-content:center;padding:20px;
}
.modal-overlay[hidden]{display:none}
.modal-box{
  background:#fff;border-radius:18px;max-width:400px;width:100%;padding:28px 26px;
  position:relative;box-shadow:0 20px 50px #0005;text-align:center;
}
.modal-fechar{
  position:absolute;top:14px;right:14px;width:32px;height:32px;border-radius:50%;border:0;
  background:#f5ede0;color:#7a6a52;font-size:18px;cursor:pointer;display:grid;place-items:center;
}
.modal-box h3{
  font-family:'Baloo 2',Arial,sans-serif;color:#a90d0d;font-size:20px;margin:0 0 8px;
  display:flex;align-items:center;justify-content:center;gap:8px;
}
.modal-box>p{color:#5a4632;font-size:13px;margin:0 0 18px;line-height:1.5}
#formCodigo{display:flex;gap:8px}
#inputCodigo{
  flex:1;min-width:0;border:2px solid #ead8bc;border-radius:10px;padding:12px 14px;
  font-size:16px;letter-spacing:2px;text-align:center;text-transform:uppercase;font-weight:700;
  color:#381b08;
}
#inputCodigo:focus{outline:none;border-color:#d71920}
#formCodigo button{padding:0 18px;font-size:14px;white-space:nowrap}
#formCodigo button:disabled{opacity:.6;cursor:wait}
#resultadoCodigo{margin-top:18px}
#resultadoCodigo:empty{margin-top:0}
.resultado-erro{background:#fdecea;color:#a90d0d;border-radius:10px;padding:12px 14px;font-size:13px;font-weight:700}
.resultado-ok{display:flex;flex-direction:column;align-items:center;gap:12px}
.resultado-ok p{margin:0;font-size:13px;color:#5a4632}
.resultado-ok img{width:190px;height:190px;border:1px solid #ead8bc;border-radius:12px;padding:8px}
.resultado-ok .btn{width:100%;justify-content:center;display:flex;align-items:center;gap:8px}

/* Preloader - tela cheia ate a pagina terminar de carregar tudo */
#preloader{
  position:fixed;inset:0;z-index:9999;background:#fffdfb;
  display:flex;align-items:center;justify-content:center;
  transition:opacity .4s ease,visibility .4s ease;
}
#preloader.oculto{opacity:0;visibility:hidden;pointer-events:none}
.preloader-logo{width:130px;animation:pulsar-logo 1.6s ease-in-out infinite}
@keyframes pulsar-logo{
  0%,100%{filter:grayscale(85%) brightness(.8) saturate(.25);opacity:.55;transform:scale(.92)}
  50%{filter:grayscale(0%) brightness(1) saturate(1.2);opacity:1;transform:scale(1.05)}
}
html.carregando{overflow:hidden}
@media (prefers-reduced-motion: reduce){
  .preloader-logo{animation:none;filter:none;opacity:1;transform:none}
}
