:root{--primary:#5B8CFF;--secondary:#8B5CF6;--accent:#0891B2;--highlight:#B7791F;--background:#F5F7FB;--surface:#FFFFFF;--surface-alt:#EEF2F8;--text:#17243A;--muted:#667085;--border:#D9E1EC;--success:#168567;--danger:#D63E5C;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--text);background:var(--background)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100vh;margin:0;background:radial-gradient(circle at 92% 5%,color-mix(in srgb,var(--secondary),transparent 84%),transparent 28%),var(--background)}button,input{font:inherit}[hidden]{display:none!important}
.campaign-page{width:min(1540px,calc(100% - 28px));margin:0 auto;padding:28px 0 90px}.campaign-experience{display:grid}.campaign-desktop-grid{display:grid;grid-template-columns:220px minmax(0,1fr) 220px;align-items:start;gap:18px}.campaign-central-stage{display:grid;min-width:0;gap:16px}.campaign-hero{position:relative;min-height:550px;overflow:hidden;border:1px solid var(--border);border-radius:24px;background:var(--surface);box-shadow:0 30px 90px color-mix(in srgb,var(--text),transparent 89%)}.campaign-hero>.media-stage{min-height:550px;border:0;border-radius:0}.campaign-hero>.media-stage>img,.campaign-hero>.media-stage>video,.campaign-hero>.media-stage>.media-fallback{min-height:550px}.campaign-hero:after{position:absolute;inset:35% 0 0;z-index:2;background:linear-gradient(transparent,rgba(3,7,18,.82));content:"";pointer-events:none}.hero-details{position:absolute;right:0;bottom:0;left:0;z-index:3;display:grid;grid-template-columns:minmax(0,1fr) 270px;align-items:end;gap:20px;padding:30px;color:#fff;pointer-events:none}.status-line{position:absolute;top:24px;left:26px;display:flex;align-items:center;gap:10px}.status-line>span{padding:7px 10px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:rgba(7,12,25,.42);color:#fff;font-size:9px;letter-spacing:.1em;text-transform:uppercase;backdrop-filter:blur(10px)}.status-line small{color:rgba(255,255,255,.72);font-size:8px}.hero-details>.kicker,.hero-details h1,.hero-details>.hero-subtitle{grid-column:1}.kicker{margin:0;color:var(--secondary);font-size:9px;letter-spacing:.18em;text-transform:uppercase}.hero-details>.kicker{color:var(--accent)}.hero-details h1{max-width:760px;margin:10px 0 0;font-size:clamp(2rem,4vw,4rem);font-weight:430;line-height:1.02;letter-spacing:-.045em}.hero-subtitle{max-width:680px;margin:12px 0 0;color:rgba(255,255,255,.78);font-size:11px;line-height:1.6}.hero-metrics{grid-column:2;grid-row:1/4;display:grid;gap:1px;overflow:hidden;border:1px solid rgba(255,255,255,.25);border-radius:15px;background:rgba(255,255,255,.22);backdrop-filter:blur(15px)}.hero-metrics>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px;background:rgba(6,10,23,.54)}.hero-metrics small{color:rgba(255,255,255,.65);font-size:8px}.hero-metrics strong{font-size:11px;font-weight:500}.primary-link{display:none}.campaign-status-strip{display:grid;min-height:54px;place-items:center;border:1px solid var(--border);border-radius:16px;background:linear-gradient(110deg,var(--surface),color-mix(in srgb,var(--secondary),transparent 94%));box-shadow:0 12px 35px color-mix(in srgb,var(--text),transparent 95%)}.campaign-status-strip span{font-size:12px;letter-spacing:.07em;text-transform:uppercase}.campaign-main-column{display:grid;gap:16px}.progress-card,.promotion-card,.ranking-section,.prize-section,.regulation-card,.purchase-cockpit{border:1px solid var(--border);border-radius:20px;background:var(--surface);box-shadow:0 20px 60px color-mix(in srgb,var(--text),transparent 94%)}.progress-card{padding:22px}.progress-card>header{display:flex;align-items:end;justify-content:space-between;gap:20px}.progress-card h2{margin:7px 0 0;font-size:17px;font-weight:450}.progress-card>header>strong{font-size:19px;font-weight:450}.progress-track{height:14px;margin:20px 0 10px;overflow:hidden;border:1px solid var(--border);border-radius:999px;background:var(--surface-alt)}.progress-track span{display:block;height:100%;border-radius:inherit;background:repeating-linear-gradient(-45deg,var(--primary) 0 12px,var(--secondary) 12px 24px,var(--accent) 24px 36px);box-shadow:0 0 18px var(--secondary);transition:width .5s}.progress-card>footer{display:flex;justify-content:space-between;color:var(--muted);font-size:9px}.promotion-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:15px;padding:18px 22px;background:linear-gradient(120deg,color-mix(in srgb,var(--secondary),transparent 92%),color-mix(in srgb,var(--highlight),transparent 92%))}.promotion-icon{display:grid;width:42px;height:42px;place-items:center;border:1px solid color-mix(in srgb,var(--secondary),transparent 55%);border-radius:13px;background:var(--surface);color:var(--secondary)}.promotion-card small{color:var(--secondary);font-size:8px;letter-spacing:.12em;text-transform:uppercase}.promotion-card h2{margin:4px 0 0;font-size:13px;font-weight:450}.promotion-card>strong{padding:9px 12px;border:1px solid color-mix(in srgb,var(--highlight),transparent 45%);border-radius:10px;color:color-mix(in srgb,var(--highlight),#b06900 50%);font-size:10px;font-weight:500}.regulation-card{overflow:hidden}.regulation-card summary{display:flex;min-height:72px;align-items:center;justify-content:space-between;padding:0 22px;list-style:none;cursor:pointer}.regulation-card summary::-webkit-details-marker{display:none}.regulation-card summary span{display:grid;gap:4px}.regulation-card summary small{color:var(--secondary);font-size:8px;letter-spacing:.12em;text-transform:uppercase}.regulation-card summary strong{font-size:12px;font-weight:450}.regulation-card summary i{font-size:18px;font-style:normal;transition:.2s}.regulation-card[open] summary i{transform:rotate(45deg)}#regulation-body{padding:20px 22px;border-top:1px solid var(--border);color:var(--muted);font-size:11px;line-height:1.75;white-space:pre-wrap}.state-panel{display:grid;min-height:540px;place-items:center;align-content:center;gap:12px;border:1px solid var(--border);border-radius:24px;background:var(--surface);text-align:center}.state-panel h1,.state-panel p{margin:0}.state-panel h1{font-size:18px;font-weight:450}.state-panel p{color:var(--muted);font-size:10px}.loader{width:38px;height:38px;border:2px solid var(--border);border-top-color:var(--secondary);border-radius:50%;animation:spin .8s linear infinite}.empty-mark{display:grid;width:58px;height:58px;place-items:center;border-radius:17px;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:1250px){.campaign-page{width:min(1180px,calc(100% - 24px))}.campaign-desktop-grid{grid-template-columns:minmax(0,1fr) 240px}.campaign-central-stage{grid-column:1}.campaign-context-rail.history{grid-column:2}.hero-details{grid-template-columns:minmax(0,1fr) 245px}}
@media(max-width:900px){.campaign-page{width:min(100% - 20px,980px);padding:18px 0 70px}.campaign-desktop-grid{grid-template-columns:1fr}.campaign-central-stage{grid-column:auto}.campaign-hero,.campaign-hero>.media-stage,.campaign-hero>.media-stage>img,.campaign-hero>.media-stage>video,.campaign-hero>.media-stage>.media-fallback{min-height:520px}.hero-details{grid-template-columns:1fr;padding:24px}.hero-metrics{grid-column:1;grid-row:auto;grid-template-columns:repeat(3,1fr)}.hero-metrics>div{display:grid}.hero-details h1{font-size:clamp(2rem,8vw,3.8rem)}}
@media(max-width:560px){.campaign-page{width:calc(100% - 12px);padding-top:9px}.campaign-hero{border-radius:18px}.campaign-hero,.campaign-hero>.media-stage,.campaign-hero>.media-stage>img,.campaign-hero>.media-stage>video,.campaign-hero>.media-stage>.media-fallback{min-height:460px}.hero-details{padding:18px}.status-line{top:15px;left:15px}.hero-metrics{gap:1px}.hero-metrics>div{padding:10px}.progress-card,.promotion-card{padding:17px}.promotion-card{grid-template-columns:auto 1fr}.promotion-card>strong{grid-column:1/-1}.progress-card>header{align-items:flex-start;flex-direction:column}.progress-card>footer{gap:7px;flex-direction:column}}

/* Conteúdo da barra de progresso centralizado em todos os dispositivos. */
.progress-card{text-align:center}
.progress-bar-text{margin:0;padding:2px 8px;color:var(--text);font-size:14px;font-weight:700;line-height:1.3;text-align:center}
.progress-card>header{
  display:grid;
  grid-template-columns:auto auto;
  align-items:center;
  column-gap:28px;
  row-gap:8px;
  justify-content:center;
  justify-items:center;
  text-align:center;
}
.progress-card>header>div{display:contents}
.progress-card>header .kicker{
  grid-row:1;
  grid-column:1/-1;
}
.progress-card>header h2{
  grid-row:2;
  grid-column:1;
  margin:0;
}
.progress-card>header>strong{
  grid-row:2;
  grid-column:2;
}
.progress-card .progress-track{margin-top:14px}
.progress-card>footer{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  justify-content:center;
  text-align:center;
}
@media(max-width:560px){
  .progress-card>header{align-items:center;column-gap:14px;row-gap:6px}
  .progress-card>header h2{font-size:14px}
  .progress-card>header>strong{font-size:17px}
  .progress-card .progress-track{margin-top:12px}
  .progress-card>footer{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
}

/* Cartão público de cupom: isolado do cartão de promoção e exibido apenas para cupom válido. */
.coupon-card{display:block;margin-top:12px;padding:10px;overflow:hidden;border:1px solid var(--border);border-radius:14px;background:linear-gradient(115deg,color-mix(in srgb,var(--primary),transparent 94%),color-mix(in srgb,var(--secondary),transparent 95%));box-shadow:0 12px 30px color-mix(in srgb,var(--text),transparent 95%)}
.coupon-card[hidden]{display:none}
.campaign-status-strip[hidden]{display:none}
.coupon-card-icon{display:grid;width:44px;height:44px;place-items:center;border:1px solid color-mix(in srgb,var(--secondary),transparent 45%);border-radius:14px;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;font-size:17px}
.coupon-card-copy small{color:var(--secondary);font-size:8px;letter-spacing:.14em;text-transform:uppercase}
.coupon-card-copy h2{margin:4px 0;font-size:14px;font-weight:450}
.coupon-card-copy p{margin:0;color:var(--muted);font-size:9px}
.coupon-entry{position:relative;display:block;width:100%;min-width:0}.coupon-entry input{width:100%;min-height:44px;padding:0 142px 0 13px;border:1px solid color-mix(in srgb,var(--secondary),transparent 35%);border-radius:11px;outline:0;background:var(--surface);color:var(--text);font-size:11px;letter-spacing:.04em;text-transform:uppercase}.coupon-entry input:focus{border-color:var(--secondary);box-shadow:0 0 0 3px color-mix(in srgb,var(--secondary),transparent 85%)}.coupon-entry i{position:absolute;top:50%;right:12px;color:var(--muted);font-size:11px;font-style:normal;transform:translateY(-50%)}.coupon-entry i[data-status="valid"]{color:var(--success)}.coupon-entry i[data-status="invalid"]{color:var(--danger)}.coupon-card[data-status="valid"]{border-color:color-mix(in srgb,var(--success),transparent 35%)}.coupon-card[data-status="invalid"]{border-color:var(--danger);background:color-mix(in srgb,var(--danger),transparent 94%)}.coupon-entry input[data-status="invalid"]{border-color:var(--danger);color:var(--danger);box-shadow:0 0 0 2px color-mix(in srgb,var(--danger),transparent 88%)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(max-width:560px){.coupon-card{grid-template-columns:auto 1fr;padding:17px}.coupon-entry{grid-column:1/-1;width:100%;min-width:0}}

/* Textos auxiliares destacados: 14 px no desktop e no mobile. */
.progress-card>header .kicker,
.progress-card>footer,
.coupon-card-copy small,
.coupon-card-copy p,
.coupon-entry i{
  font-size:14px;
  line-height:1.4;
}

/* Aproxima as ações finais do rodapé, removendo a faixa vazia. */
.campaign-page{
  padding-bottom:10px;
}
@media(max-width:900px){
  .campaign-page{
    padding-bottom:8px;
  }
}

/* Espaçamento único entre todas as seções públicas. */
.campaign-main-column{
  gap:8px;
}
.campaign-main-column>.campaign-status-strip{
  min-height:auto;
  grid-template-columns:1fr;
  gap:2px;
  justify-items:center;
  padding:6px 8px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  text-align:center;
}
.campaign-main-column>.campaign-status-strip strong{
  font-size:11px;
  font-weight:750;
  line-height:1.15;
}
.campaign-main-column>.campaign-status-strip #status-strip-text{
  font-size:11px;
  line-height:1.25;
  letter-spacing:0;
  text-transform:uppercase;
}
.campaign-page{
  padding-bottom:2px;
}
@media(max-width:900px){
  .campaign-page{
    padding-bottom:2px;
  }
}
