:root {

  --primary: #1A4FBF;
  --primary-dark: #123A93;
  --primary-light: #E8EFFC;
  --orange: #F7941D;
  --navy: #0F2C6B;
  --text: #1E2733;
  --text-2: #5B6674;
  --text-3: #8A94A3;
  --line: #E3E7EC;
  --bg: #FFFFFF;
  --bg-gray: #F4F6F8;
  --gold: #F7941D;
  --wa: #25D366;

  --font: 'Figtree', 'Segoe UI', Arial, sans-serif;
  --radius: 8px;
  --shadow: 0 1px 3px rgba(20, 33, 61, .08), 0 6px 20px -8px rgba(20, 33, 61, .12);
  --container: 1180px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: var(--font); font-size: 16px; line-height: 1.55; color: var(--text); background: var(--bg); }
body.locked { overflow: hidden; }
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; }
h1, h2, h3, h4 { margin: 0; line-height: 1.2; font-weight: 700; }
p { margin: 0; }
ul, ol { margin: 0; padding: 0; list-style: none; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.container { width: min(var(--container), calc(100% - 2rem)); margin-inline: auto; }
.container--narrow { max-width: 760px; }

.btn { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; padding: .7rem 1.25rem; border-radius: var(--radius); border: 1px solid transparent; font-weight: 600; font-size: .95rem; line-height: 1.2; white-space: nowrap; transition: background .15s, border-color .15s, color .15s; }
.btn--primary { background: var(--primary); color: #fff; }
.btn--primary:hover { background: var(--primary-dark); }
.btn--white { background: #fff; color: var(--primary-dark); border-color: #fff; }
.btn--white:hover { background: var(--primary-light); }
.btn--orange { background: var(--orange); color: #fff; }
.btn--orange:hover { background: #DD7F0E; }
.btn--dark { background: var(--navy); color: #fff; }
.btn--dark:hover { background: #0E1730; }
.btn--link { color: var(--text-2); font-weight: 500; }
.btn--link:hover { color: var(--text); }
.btn--lg { padding: .9rem 1.6rem; font-size: 1rem; }
.btn--block { width: 100%; }

.gate { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 1rem; background: rgba(20, 33, 61, .7); }
.gate[hidden], .gate-ok .gate { display: none; }
.gate__card { width: min(420px, 100%); text-align: center; padding: 2rem 1.75rem; border-radius: 12px; background: #fff; box-shadow: var(--shadow); }
.gate__badge { display: inline-grid; place-items: center; width: 60px; height: 60px; margin-bottom: 1rem; border-radius: 50%; border: 3px solid var(--navy); font-weight: 800; }
.gate__card h2 { font-size: 1.35rem; margin-bottom: .5rem; }
.gate__card p { color: var(--text-2); font-size: .95rem; }
.gate__actions { display: grid; gap: .5rem; margin-top: 1.5rem; }

.topbar { background: var(--navy); color: #C9D2E3; font-size: .82rem; }
.topbar__inner { display: flex; justify-content: space-between; align-items: center; height: 36px; gap: 1rem; }
.topbar__right { display: flex; gap: 1.25rem; }
.topbar__right a:hover { color: #fff; }

.header { position: sticky; top: 0; z-index: 50; background: #fff; border-bottom: 1px solid var(--line); }
.header__inner { display: flex; align-items: center; gap: 2rem; height: 76px; }
.logo { display: inline-flex; align-items: center; gap: .6rem; }
.logo__img { height: 60px; width: auto; }
.logo__img[hidden] { display: none; }
.logo__fallback { display: inline-flex; align-items: center; gap: .6rem; }
.logo__fallback[hidden] { display: none; }
.logo--footer .logo__img { height: 64px; }
.logo__mark { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 8px; background: var(--primary); color: #fff; font-weight: 800; font-size: 1.1rem; }
.logo__text { font-size: 1.15rem; font-weight: 600; letter-spacing: -.01em; }
.logo__text strong { font-weight: 800; color: var(--primary); }
.logo--light .logo__text { color: #fff; }
.nav { display: flex; gap: 1.6rem; margin-left: auto; }
.nav a { font-weight: 500; font-size: .95rem; color: var(--text-2); }
.nav a:hover { color: var(--primary-dark); }
.nav__drop { position: relative; }
.nav__drop > a { white-space: nowrap; }
.nav__caret { font-size: .7rem; margin-left: .1rem; }
.nav__menu { position: absolute; top: calc(100% + 10px); left: -.75rem; min-width: 190px; background: #fff; border: 1px solid var(--line); border-radius: 10px; box-shadow: var(--shadow); padding: .4rem; display: none; z-index: 60; }
.nav__menu::before { content: ''; position: absolute; top: -12px; left: 0; right: 0; height: 12px; }
.nav__drop:hover .nav__menu, .nav__drop:focus-within .nav__menu { display: block; }
.nav__menu a { display: flex; align-items: center; gap: .6rem; padding: .55rem .75rem; border-radius: 7px; font-size: .92rem; color: var(--text); white-space: nowrap; }
.nav__menu a:hover { background: var(--bg-gray); color: var(--text); }
.nav__menu a i { width: 10px; height: 10px; border-radius: 50%; background: var(--c); flex: none; }
.burger { display: none; width: 40px; height: 40px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; flex-direction: column; justify-content: center; align-items: center; gap: 5px; margin-left: auto; }
.burger span { width: 18px; height: 2px; background: var(--text); }

.hero { background: var(--primary); color: #fff; padding: 3.5rem 0; }
.hero__inner { display: grid; grid-template-columns: 1fr 380px; gap: 3rem; align-items: center; }
.hero h1 { font-size: clamp(1.9rem, 3.4vw, 2.7rem); font-weight: 800; letter-spacing: -.02em; max-width: 18ch; }
.hero__text > p { margin-top: 1rem; font-size: 1.1rem; color: rgba(255,255,255,.9); max-width: 52ch; }
.hero__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.75rem; }
.hero__list { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; margin-top: 1.75rem; font-size: .92rem; color: rgba(255,255,255,.9); }
.hero__list li { padding-left: 1.3rem; position: relative; }
.hero__list li::before { content: ''; position: absolute; left: 0; top: .45em; width: 8px; height: 8px; border-radius: 50%; background: #fff; }

.hero__card { background: #fff; color: var(--text); border-radius: 12px; overflow: hidden; box-shadow: var(--shadow); }
.hero__card-head { display: flex; justify-content: space-between; align-items: center; padding: .85rem 1.25rem; background: var(--navy); color: #fff; font-size: .85rem; }
.hero .btn--primary { background: var(--orange); }
.hero .btn--primary:hover { background: #DD7F0E; }
.hero__card-head strong { font-size: .95rem; }
.hero__card-body { padding: 1.25rem; }
.hero__card-body small { color: var(--text-2); font-size: .85rem; }
.hero__card-prize { font-size: 2.1rem; font-weight: 800; letter-spacing: -.02em; margin: .2rem 0 1rem; color: var(--navy); }
.hero__card-meta { display: grid; grid-template-columns: repeat(2, 1fr); gap: .75rem; margin: 0 0 1.25rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.hero__card-meta dt { font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; color: var(--text-3); font-weight: 600; }
.hero__card-meta dd { margin: .15rem 0 0; font-weight: 700; font-size: .95rem; }

.section { padding: 4rem 0; }
.section--gray { background: var(--bg-gray); }
.section__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 1.5rem; margin-bottom: 2rem; }
.section__head h2 { font-size: 1.75rem; font-weight: 800; letter-spacing: -.01em; }
.section__head p { color: var(--text-2); }
.section__head--center { flex-direction: column; align-items: center; text-align: center; gap: .5rem; }
.section__status { font-size: .85rem; color: var(--text-3); }
.section__status.is-live::before, .section__status.is-cache::before { content: ''; display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: .4rem; background: var(--primary); }
.section__status.is-cache::before { background: var(--gold); }
.section__link { color: var(--primary-dark); font-weight: 600; font-size: .95rem; white-space: nowrap; }
.section__link:hover { text-decoration: underline; }

.lot-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.25rem; }
.lot { --c: var(--primary); --ct: #fff; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; transition: box-shadow .2s, transform .2s; }
.lot:hover { box-shadow: var(--shadow); transform: translateY(-2px); }
.lot__head { display: flex; justify-content: space-between; align-items: center; gap: .5rem; height: 56px; padding: 0 .75rem 0 .9rem; background: var(--c); color: var(--ct); }
.lot__name { font-size: 1.05rem; font-weight: 800; white-space: nowrap; letter-spacing: -.01em; }
.lot__label-row { display: flex; justify-content: space-between; align-items: center; gap: .5rem; }
.lot__badge { font-size: .68rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; padding: .2rem .5rem; border-radius: 4px; background: #FFF3E0; color: #B8650A; white-space: nowrap; }
.lot__body { display: flex; flex-direction: column; flex: 1; padding: 1rem; }
.lot__label { font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; color: var(--text-3); font-weight: 600; }
.lot__prize { font-size: 1.55rem; font-weight: 800; letter-spacing: -.02em; color: var(--navy); line-height: 1.2; margin: .15rem 0 .85rem; white-space: nowrap; }
.lot__meta { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; padding: .75rem 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: .85rem; }
.lot__meta span { display: block; color: var(--text-3); font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; font-weight: 600; }
.lot__meta b { font-weight: 700; color: var(--text); white-space: nowrap; }
.lot__desc { font-size: .85rem; color: var(--text-2); margin: .75rem 0 1rem; min-height: 2.6em; }
.lot__foot { margin-top: auto; }

.lot__help { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: rgba(255,255,255,.25); color: var(--ct); font-weight: 800; font-size: .85rem; line-height: 1; transition: background .15s; }
.lot__help:hover { background: #fff; color: var(--c); }

.lp-hero { background: var(--c); color: #fff; padding: 3rem 0; }
.lp-hero__inner { display: grid; grid-template-columns: 1fr 360px; gap: 3rem; align-items: center; }
.lp-hero__title { margin-top: 1.25rem; font-size: clamp(1.8rem, 3.2vw, 2.5rem); font-weight: 800; letter-spacing: -.02em; }
.lp-hero__logo { height: 64px; width: auto; }
.lp-hero__logo[hidden], .lp-hero__title span[hidden] { display: none; }
.lp-hero .hero__card { box-shadow: 0 12px 40px rgba(0,0,0,.25); }
.lp-hero__resumo { margin-top: .75rem; font-size: 1.1rem; color: rgba(255,255,255,.92); max-width: 52ch; }
.lp-hero__sorteios { margin-top: 1.5rem; font-size: .95rem; color: rgba(255,255,255,.9); }
.lp-hero .btn--white { color: var(--c); }
.crumbs { font-size: .85rem; color: rgba(255,255,255,.8); }
.crumbs a:hover { color: #fff; text-decoration: underline; }
.hero__card-status { margin-top: .75rem; font-size: .8rem; color: var(--text-3); text-align: center; }
.hero__card-status.is-live::before, .hero__card-status.is-cache::before { content: ''; display: inline-block; width: 7px; height: 7px; border-radius: 50%; margin-right: .35rem; background: var(--primary); }
.hero__card-status.is-cache::before { background: var(--gold); }
.lp-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: start; }
.lp-cols h2, .container--narrow > h2 { font-size: 1.5rem; font-weight: 800; margin-bottom: 1rem; }
.texto { color: var(--text-2); margin-bottom: 1rem; }
.lista { display: grid; gap: .6rem; color: var(--text-2); }
.lista li { position: relative; padding-left: 1.4rem; }
.lista li::before { content: ''; position: absolute; left: 0; top: .5em; width: 8px; height: 8px; border-radius: 50%; background: var(--primary); }
.lista--num { counter-reset: n; margin-bottom: 1rem; }
.lista--num li { padding-left: 2.2rem; }
.lista--num li::before { content: counter(n); counter-increment: n; top: 0; width: 24px; height: 24px; border-radius: 50%; background: var(--primary); color: #fff; font-size: .75rem; font-weight: 700; display: grid; place-items: center; }
.tabela-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 10px; }
.tabela { width: 100%; border-collapse: collapse; font-size: .92rem; background: #fff; }
.tabela th, .tabela td { padding: .65rem .9rem; text-align: left; border-bottom: 1px solid var(--line); white-space: nowrap; }
.tabela th { background: var(--bg-gray); font-size: .75rem; text-transform: uppercase; letter-spacing: .05em; color: var(--text-3); }
.tabela tr:last-child td { border-bottom: 0; }
.tabela td:first-child { font-weight: 700; }
.tabela--custo th, .tabela--custo td { padding: .45rem 1rem; }
.tabela--custo th:first-child, .tabela--custo td:first-child { text-align: center; width: 5.5rem; }
.tabela--custo th:not(:first-child), .tabela--custo td:not(:first-child) { text-align: right; font-variant-numeric: tabular-nums; }
.tabela--custo tr.destaque td { background: var(--primary-light); }
.tabela--custo tr.destaque td:first-child { color: var(--primary-dark); }
.nota { margin-top: .75rem; font-size: .8rem; color: var(--text-3); }
.nota__cor { display: inline-block; width: 12px; height: 12px; border-radius: 3px; background: var(--primary-light); border: 1px solid var(--line); vertical-align: -1px; }
.destaque-box { padding: 1.75rem; border-radius: 12px; background: var(--bg-gray); border-top: 5px solid var(--c); }
.destaque-box h3 { font-size: 1.15rem; margin-bottom: .6rem; }
.destaque-box .btn--link { margin-left: .5rem; }
.destaque-box--sim { background: #fff; border: 1px solid var(--line); text-align: center; }
.destaque-box--sim p { max-width: 60ch; margin-inline: auto; }
.lp-hero--sim { padding: 2.5rem 0; }
.lp-hero--sim .lp-hero__resumo { max-width: 70ch; }
.destaque-box p { color: var(--text-2); margin-bottom: 1.25rem; }

.painel { --c: var(--primary); background: #fff; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; box-shadow: var(--shadow); }
.painel__head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.5rem; background: var(--c); color: #fff; }
.painel__head img { height: 40px; width: auto; }
.painel__head img[hidden], .painel__nome[hidden] { display: none; }
.painel__nome { font-size: 1.3rem; font-weight: 800; }
.painel__concurso { font-size: .9rem; color: rgba(255,255,255,.92); text-align: right; }
.painel__body { padding: 1.75rem 1.5rem 1.5rem; }
.painel .ball { width: 52px; height: 52px; font-size: 1.15rem; }
.painel .result__balls { gap: .6rem; }
.painel .result__extra { font-size: 1rem; margin-top: .9rem; }
.painel__status { margin-top: 1.4rem; font-size: 1.9rem; font-weight: 800; text-transform: uppercase; letter-spacing: -.01em; color: var(--c); line-height: 1.1; }
.painel__sub { margin-top: .3rem; color: var(--text-2); }
.painel__foot { display: grid; grid-template-columns: 1fr 1fr 1.4fr auto; gap: 1rem; align-items: center; padding: 1.1rem 1.5rem; background: var(--bg-gray); border-top: 1px solid var(--line); }
.painel__foot span { display: block; font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; color: var(--text-3); font-weight: 600; }
.painel__foot b { display: block; font-size: 1.05rem; font-weight: 700; margin-top: .1rem; }
.painel__foot .painel__premio { color: var(--c); font-size: 1.25rem; font-weight: 800; }
.chips { display: flex; flex-wrap: wrap; gap: .5rem; }
.chip { display: inline-flex; align-items: center; gap: .5rem; padding: .5rem .9rem; border-radius: 999px; background: #fff; border: 1px solid var(--line); font-weight: 600; font-size: .9rem; transition: border-color .15s; }
.chip:hover { border-color: var(--c); }
.chip i { width: 10px; height: 10px; border-radius: 50%; background: var(--c); }
.chips:has(.chip--logo) { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: .75rem; }
.chip--logo { display: flex; align-items: center; justify-content: center; height: 64px; padding: .6rem 1rem; border-radius: 10px; background: var(--c); border: 0; color: #fff; font-weight: 800; transition: transform .15s, box-shadow .15s; }
.chip--logo:hover { transform: translateY(-2px); box-shadow: var(--shadow); }
.chip--logo img { height: 36px; width: auto; max-width: 100%; }
.chip--logo img[hidden], .chip--logo span[hidden] { display: none; }

.sim-page { display: grid; grid-template-columns: 1fr 300px; gap: 1.5rem; align-items: start; }
.vol { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 1.25rem; }
.vol__top { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: .75rem; margin-bottom: 1rem; }
.vol__count { font-size: .95rem; }
.vol__count b { font-size: 1.3rem; color: var(--c); }
.vol__count small { color: var(--text-3); }
.vol__tools { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; }
.vol__gen { display: inline-flex; align-items: center; gap: .4rem; font-size: .85rem; color: var(--text-2); }
.vol__gen select { padding: .45rem .5rem; border-radius: var(--radius); border: 1px solid var(--line); font: inherit; }
.vol__tools .btn--white { border-color: var(--line); color: var(--text); padding: .55rem 1rem; }
.vol__grid { display: grid; grid-template-columns: repeat(var(--cols, 10), minmax(0, 46px)); gap: .4rem; }
.vol__n { aspect-ratio: 1; border-radius: 50%; border: 1.5px solid var(--line); background: var(--bg-gray); color: var(--text); font: inherit; font-weight: 700; font-size: .88rem; cursor: pointer; transition: background .12s, color .12s, transform .12s, border-color .12s; }
.vol__n:hover:not(:disabled) { border-color: var(--c); transform: translateY(-1px); }
.vol__n[aria-pressed="true"] { background: var(--c); color: #fff; border-color: var(--c); }
.vol__n:disabled { opacity: .35; cursor: not-allowed; }
.vol__trevos { margin-top: 1rem; padding-top: 1rem; border-top: 1px dashed var(--line); }
.vol__col-h { display: block; font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; color: var(--text-3); font-weight: 600; margin-bottom: .5rem; }
.vol__col-h small { text-transform: none; letter-spacing: 0; font-weight: 500; }
.vol__grid--tv .vol__n { background: #FFF8E1; border-color: #F1D98A; }
.vol__grid--tv .vol__n[aria-pressed="true"] { background: var(--gold); border-color: var(--gold); color: #fff; }
.vol__cols { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: .6rem; }
.vol__col { display: grid; gap: .35rem; justify-items: center; }
.vol__col .vol__col-h { text-align: center; margin-bottom: .15rem; }
.vol__col .vol__n { width: 100%; max-width: 44px; }
.sim__cols { display: flex; flex-wrap: wrap; gap: .6rem; }
.sim__cols > div small { display: block; font-size: .7rem; color: var(--text-3); font-weight: 600; text-align: center; }
.sim__tv-label { display: block; margin-top: .5rem; font-size: .7rem; text-transform: uppercase; letter-spacing: .05em; color: var(--text-3); font-weight: 600; }
.sim__balls--tv .ball { background: var(--gold) !important; color: #fff !important; border-color: transparent; }
.sim__tvrow { display: flex; align-items: center; gap: .5rem; margin-top: .35rem; }
.sim__tvrow small { font-size: .7rem; color: var(--text-3); font-weight: 600; }
.sim__tvrow .ball--hit { box-shadow: 0 0 0 2px var(--navy); }
.vol .nota { margin-top: 1rem; }
.vol__foot { display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; flex-wrap: wrap; margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.vol__info { font-size: .9rem; color: var(--text-2); max-width: 46ch; }
.vol__acoes { display: flex; align-items: flex-end; gap: .75rem; flex-wrap: wrap; }
.sim__resumo { display: grid; grid-template-columns: 1fr auto; gap: 1.25rem; align-items: center; padding: 1.25rem; border-radius: 12px; background: var(--primary-light); margin-bottom: 1rem; }
.sim__resumo-jogo small { display: block; font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; color: var(--text-3); font-weight: 600; margin-bottom: .4rem; }
.sim__balls--jogo .ball { background: var(--c); color: #fff; border-color: transparent; width: 36px; height: 36px; font-size: .88rem; }
.sim__resumo-nums { display: flex; gap: 1.5rem; }
.sim__resumo-nums b { display: block; font-size: 1.9rem; font-weight: 800; line-height: 1; color: var(--navy); white-space: nowrap; }
.sim__resumo-nums small { display: block; margin-top: .3rem; font-size: .8rem; color: var(--text-2); line-height: 1.35; }
.sim__h3 { font-size: 1.1rem; margin: 1.5rem 0 .75rem; }
.sim__h3 small { font-weight: 500; color: var(--text-3); font-size: .85rem; }
.est { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 1.25rem; position: sticky; top: 90px; }
.est h3 { font-size: 1.05rem; margin-bottom: .25rem; }
.est .texto { font-size: .85rem; margin-bottom: .75rem; }
.est__bloco { margin-top: 1rem; }
.est__bloco h4 { font-size: .78rem; text-transform: uppercase; letter-spacing: .05em; color: var(--text-3); margin-bottom: .5rem; }
.est__lista { display: grid; grid-template-columns: 1fr 1fr; gap: .35rem .75rem; }
.est__lista li { display: flex; align-items: center; gap: .5rem; font-size: .8rem; color: var(--text-2); }
.est__lista .ball { width: 30px; height: 30px; font-size: .78rem; background: var(--c); color: #fff; flex: none; }
.est .nota { margin-top: 1rem; }
.sim-home { display: flex; flex-wrap: wrap; gap: .6rem; justify-content: center; margin-top: 1.25rem; }
.sim-home .btn { border: 1px solid var(--line); background: #fff; color: var(--text); gap: .5rem; }
.sim-home .btn i { width: 10px; height: 10px; border-radius: 50%; background: var(--c); }
.sim-home .btn:hover { border-color: var(--c); color: var(--c); }

.sim-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 1.25rem; align-items: start; }
.sim-card { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 1.5rem; }
.sim-card h3 { font-size: 1.15rem; margin-bottom: .35rem; }
.sim-card > p { color: var(--text-2); font-size: .92rem; margin-bottom: 1rem; }
.sim__form { display: flex; flex-wrap: wrap; gap: .75rem; align-items: flex-end; }
.sim__field { display: grid; gap: .3rem; min-width: 150px; }
.sim__field[hidden] { display: none; }
.sim__field--grow { flex: 1 1 220px; }
.sim__field span { font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; color: var(--text-3); font-weight: 600; }
.sim__field select, .sim__field input { padding: .7rem .9rem; border-radius: var(--radius); border: 1px solid var(--line); background: #fff; font: inherit; color: var(--text); min-width: 0; }
.sim__field select:focus, .sim__field input:focus { outline: none; border-color: var(--primary); }
.sim__out { margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid var(--line); }
.sim__out[hidden] { display: none; }
.sim__balls { gap: .3rem; }
.sim__balls .ball { width: 32px; height: 32px; font-size: .8rem; background: var(--bg-gray); color: var(--text); border: 1px solid var(--line); }
.sim__balls .ball--hit { background: var(--c); color: #fff; border-color: transparent; }
.sim__cmp { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 1rem 0; }
.sim__side { padding: 1rem; border-radius: 10px; background: var(--bg-gray); border: 1px solid var(--line); }
.sim__side--b { background: var(--primary-light); border-color: transparent; }
.sim__side h4 { font-size: .9rem; margin-bottom: .6rem; }
.sim__side .sim__balls .ball { background: #fff; }
.sim__side--b .sim__balls .ball { background: var(--c); color: #fff; border-color: transparent; }
.sim__big { margin-top: .75rem; font-size: 2rem; font-weight: 800; line-height: 1; color: var(--navy); }
.sim__big small { display: block; font-size: .82rem; font-weight: 500; color: var(--text-2); margin-top: .3rem; }
.sim__valor { margin-top: .75rem; padding-top: .75rem; border-top: 1px solid rgba(0,0,0,.08); font-size: 1.25rem; font-weight: 800; color: var(--primary-dark); }
.sim__valor small { display: block; font-size: .78rem; font-weight: 500; color: var(--text-2); margin-top: .15rem; }
.sim__tab td small { display: block; color: var(--text-3); font-weight: 500; font-size: .78rem; }
.sim__td-valor { font-weight: 700; color: var(--primary-dark); white-space: nowrap; }
.sim__tab td:not(:first-child), .sim__tab th:not(:first-child) { text-align: center; font-weight: 700; }
.sim__tab td small { color: var(--text-3); font-weight: 400; }
.sim__det { margin-top: 1rem; }
.sim__det summary { cursor: pointer; font-weight: 600; color: var(--primary-dark); font-size: .92rem; }
.sim__det .tabela-wrap { margin-top: .75rem; }
.sim__hist td { white-space: normal; font-size: .85rem; vertical-align: middle; }
.sim__hist td small { display: block; color: var(--text-3); }
.sim__hist .sim__balls .ball { width: 28px; height: 28px; font-size: .72rem; }
.sim__hist tr.destaque td { background: var(--primary-light); }
.sim__acoes { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.25rem; }
.sim__acoes .btn--white { border-color: var(--line); color: var(--text); }
.sim__conf { margin-top: .75rem; padding: 1rem; border-radius: 10px; background: var(--bg-gray); }
.sim__conf .sim__big { font-size: 1.6rem; }
.sim-card .texto { font-size: .95rem; }
.sim-card .texto .sim__balls { display: inline-flex; vertical-align: middle; margin-left: .3rem; }

.steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.25rem; }
.step { background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 1.5rem; }
.step__n { display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--primary); color: #fff; font-weight: 800; margin-bottom: 1rem; }
.step h3 { font-size: 1.05rem; margin-bottom: .5rem; }
.step p { color: var(--text-2); font-size: .92rem; }

.lot__name { display: flex; align-items: center; gap: .5rem; min-width: 0; }
.lot__logo { height: 32px; width: auto; max-width: 100%; }
.lot__logo[hidden], .lot__name-fb[hidden] { display: none; }
.lot__name-fb { display: inline-flex; align-items: center; gap: .5rem; }
.lot__icon { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: #fff; flex: none; }
.lot__icon .trevo { transform: scale(.82); }
.lot__icon .trevo--svg { color: var(--c); }

.results { display: grid; }
.result { --c: var(--primary); display: grid; grid-template-columns: 300px 1fr; gap: 2.5rem; padding: 2rem 0; border-bottom: 1px solid var(--line); }
.result:first-child { padding-top: .5rem; }
.result:last-child { border-bottom: 0; }
.result__logo { min-height: 44px; display: flex; align-items: center; margin-bottom: .9rem; }
.result__logo img { height: 44px; width: auto; max-width: 100%; }
.result__logo img[hidden] { display: none; }

.result__logo img { box-sizing: content-box; height: 40px; width: auto; max-width: 220px; padding: 8px 14px; border-radius: 10px; background: var(--c); }
.result__logo img[hidden] { display: none; }
.result__logo-fb { display: inline-flex; align-items: center; gap: .6rem; color: var(--c); }
.result__logo-fb[hidden] { display: none; }
.trevo { display: inline-block; flex: none; width: 35px; height: 35px; background: url(../img/icos_loterias.png) no-repeat 0 0; }
.trevo--svg { background: none; display: grid; place-items: center; color: var(--c); }
.trevo--svg svg { width: 35px; height: 35px; }
.result__logo-fb b { font-size: 1.35rem; font-weight: 800; letter-spacing: -.01em; }
.result__next { font-size: .9rem; color: var(--text-2); line-height: 1.45; }
.result__prize { margin-top: .5rem; font-size: 1.2rem; font-weight: 800; color: var(--c); }
.result__balls { display: flex; flex-wrap: wrap; gap: .45rem; }
.result__balls--2 { margin-top: .6rem; padding-top: .6rem; border-top: 1px dashed var(--line); }
.ball { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--c); color: #fff; font-weight: 700; font-size: .95rem; font-variant-numeric: tabular-nums; }
.bilhetes { display: grid; gap: .3rem; max-width: 420px; }
.bilhetes li { display: grid; grid-template-columns: 2.2rem 1fr auto; align-items: center; gap: .5rem; padding: .4rem .7rem; border-radius: 6px; background: var(--bg-gray); font-size: .9rem; }
.bilhetes li span { color: var(--text-3); font-weight: 600; }
.bilhetes li b { font-variant-numeric: tabular-nums; letter-spacing: .12em; font-weight: 800; }
.bilhetes li em { font-style: normal; color: var(--c); font-weight: 700; white-space: nowrap; }
.result__extra { margin-top: .6rem; font-size: .9rem; color: var(--text-2); }
.result__extra b { color: var(--text); }
.result__status { margin-top: 1rem; font-size: 1.4rem; font-weight: 800; text-transform: uppercase; color: var(--c); letter-spacing: -.01em; }
.result__meta { margin-top: .15rem; font-size: .9rem; color: var(--text-2); }
.result__link { display: inline-block; margin-top: .5rem; font-weight: 700; font-size: .9rem; color: var(--orange); }
.result__link:hover { text-decoration: underline; }

.features { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
.feature { background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 1.5rem; }
.feature__icon { width: 44px; height: 44px; border-radius: 10px; display: grid; place-items: center; background: var(--primary-light); margin-bottom: 1rem; }
.feature__icon svg { width: 24px; height: 24px; fill: none; stroke: var(--primary-dark); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.feature h3 { font-size: 1.05rem; margin-bottom: .4rem; }
.feature p { color: var(--text-2); font-size: .92rem; }

.faq { display: grid; gap: .6rem; }
.faq__item { border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.faq__item summary { list-style: none; cursor: pointer; padding: 1rem 1.25rem; font-weight: 600; display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.faq__item summary::-webkit-details-marker { display: none; }
.faq__item summary::after { content: '+'; color: var(--primary-dark); font-size: 1.3rem; font-weight: 400; }
.faq__item[open] summary::after { content: '–'; }
.faq__item p { padding: 0 1.25rem 1.1rem; color: var(--text-2); font-size: .95rem; }

.cta { background: var(--navy); color: #fff; padding: 3.5rem 0; }
.cta__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: center; }
.cta h2 { font-size: 1.7rem; font-weight: 800; margin-bottom: .6rem; }
.cta p { color: #C9D2E3; }
.cta__form { display: grid; grid-template-columns: 1fr 1fr auto; gap: .6rem; }
.cta__form input { padding: .8rem 1rem; border-radius: var(--radius); border: 1px solid transparent; background: #fff; color: var(--text); font: inherit; outline: none; min-width: 0; }
.cta__form input:focus { border-color: var(--primary); }
.cta__form input.invalid { border-color: #D64545; }
.cta__form .btn--dark { background: var(--orange); }
.cta__form .btn--dark:hover { background: #DD7F0E; }

.footer { background: #0B1F4D; color: #C9D2E3; padding: 3.5rem 0 1.5rem; }
.footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 2.5rem; }
.footer__brand p { font-size: .92rem; margin-top: 1rem; max-width: 34ch; }
.footer__legal { font-size: .8rem !important; color: #8A96B0; }
.footer__col h4 { font-size: .8rem; letter-spacing: .06em; text-transform: uppercase; color: #fff; margin-bottom: 1rem; }
.footer__col li { margin-bottom: .5rem; }
.footer__col a { font-size: .92rem; }
.footer__col a:hover { color: #fff; text-decoration: underline; }
.footer__18 { display: flex; gap: .75rem; align-items: center; margin-top: 1.5rem; padding: .75rem; border: 1px solid rgba(255,255,255,.15); border-radius: var(--radius); }
.footer__18 span { flex: none; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; border: 2px solid var(--gold); color: var(--gold); font-weight: 800; font-size: .75rem; }
.footer__18 p { font-size: .8rem; }
.footer__bottom { margin-top: 2.5rem; padding-top: 1.25rem; border-top: 1px solid rgba(255,255,255,.12); font-size: .8rem; color: #8A96B0; }

.fab { position: fixed; right: 1.25rem; bottom: 1.25rem; z-index: 40; width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center; background: var(--wa); color: #fff; box-shadow: 0 6px 20px rgba(0,0,0,.2); }
.fab:hover { background: #1EBE5A; }

.modal { position: fixed; inset: 0; z-index: 90; display: grid; place-items: center; padding: 1rem; background: rgba(20,33,61,.7); }
.modal[hidden] { display: none; }
.modal__card { position: relative; width: min(540px, 100%); padding: 2rem; border-radius: 12px; background: #fff; box-shadow: var(--shadow); }
.modal__card h3 { font-size: 1.3rem; margin-bottom: 1rem; }
.modal__card ul { display: grid; gap: .5rem; color: var(--text-2); margin-bottom: 1rem; list-style: disc; padding-left: 1.2rem; }
.modal__card p { color: var(--text-2); font-size: .95rem; }
.modal__card a { color: var(--primary-dark); font-weight: 600; }
.modal__close { position: absolute; top: .75rem; right: .75rem; width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--line); background: #fff; font-size: 1.3rem; line-height: 1; }

@media (max-width: 1024px) {
  .lot-grid { grid-template-columns: repeat(3, 1fr); }
  .hero__inner { grid-template-columns: 1fr; }
  .hero__card { max-width: 420px; }
  .lp-hero__inner, .lp-cols { grid-template-columns: 1fr; gap: 2rem; }
  .sim-grid, .sim-page { grid-template-columns: 1fr; }
  .est { position: static; }
  .steps { grid-template-columns: repeat(2, 1fr); }
  .features { grid-template-columns: repeat(2, 1fr); }
  .footer__grid { grid-template-columns: 1fr 1fr; }
  .cta__inner { grid-template-columns: 1fr; gap: 1.5rem; }
}
@media (max-width: 768px) {
  .topbar__inner > span { display: none; }
  .topbar__inner { justify-content: flex-end; }
  .header__btn { display: none; }
  .burger { display: flex; }
  .nav { position: absolute; top: 76px; left: 0; right: 0; flex-direction: column; gap: 0; background: #fff; border-bottom: 1px solid var(--line); padding: .25rem 1rem 1rem; display: none; max-height: calc(100vh - 76px); max-height: calc(100dvh - 76px); overflow-y: auto; -webkit-overflow-scrolling: touch; box-shadow: 0 12px 24px -12px rgba(20,33,61,.25); }
  .nav.open { display: flex; }
  .nav a { padding: .9rem 0; border-bottom: 1px solid var(--line); }
  .nav__drop > a { display: flex; justify-content: space-between; align-items: center; }
  .nav__caret { display: inline-block; transition: transform .2s; }
  .nav__drop.open .nav__caret { transform: rotate(180deg); }
  .nav__menu, .nav__drop:hover .nav__menu, .nav__drop:focus-within .nav__menu { display: none; position: static; border: 0; box-shadow: none; padding: 0 0 .5rem .75rem; min-width: 0; }
  .nav__drop.open .nav__menu { display: block; }
  .nav__menu a { padding: .6rem 0; border-bottom: 0; }
  .hero { padding: 2.5rem 0; }
  .section { padding: 3rem 0; }
  .section__head { flex-direction: column; align-items: flex-start; gap: .4rem; }
  .lot-grid { grid-template-columns: repeat(2, 1fr); gap: .75rem; }
  .lot__head { padding: 0 .75rem; }
  .lot__name { font-size: .95rem; }
  .logo__img { height: 48px; }
  .lot__body { padding: .75rem; }
  .lot__prize { font-size: 1.3rem; }
  .result { grid-template-columns: 1fr; gap: 1rem; padding: 1.5rem 0; }
  .painel__head { flex-direction: column; align-items: flex-start; gap: .5rem; }
  .painel__concurso { text-align: left; }
  .painel .ball { width: 42px; height: 42px; font-size: 1rem; }
  .painel__status { font-size: 1.5rem; }
  .sim__cmp, .sim__resumo { grid-template-columns: 1fr; }
  .vol__grid { gap: .3rem; }
  .vol__n { font-size: .8rem; }
  .vol__foot, .vol__acoes { flex-direction: column; align-items: stretch; }
  .painel__foot { grid-template-columns: 1fr 1fr; }
  .painel__foot .btn { grid-column: 1 / -1; }
  .ball { width: 36px; height: 36px; font-size: .85rem; }
  .steps, .features, .footer__grid { grid-template-columns: 1fr; }
  .cta__form { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .lot-grid { grid-template-columns: 1fr; }
}
