/* Tema: claro/escuro via data-bs-theme (Bootstrap 5.3) + cores do painel via variaveis */
:root{
  --bs-primary:var(--brand);
  --bs-link-color:var(--brand);
  --radius:14px;
}
[data-bs-theme="dark"]{
  --bs-body-bg:#0b1020;
  --bs-body-color:#e5e7eb;
  --bs-secondary-bg:#141a2e;
  --bs-tertiary-bg:#10162a;
  --bs-border-color:#263050;
  --bs-link-color:color-mix(in srgb,var(--brand) 55%,#fff);
  --card-bg:#141a2e;
  --soft:#1b2340;
}
[data-bs-theme="light"]{
  --bs-body-bg:#f4f6fb;
  --bs-body-color:#1f2937;
  --card-bg:#ffffff;
  --soft:#eef2fb;
}
body{background:var(--bs-body-bg);color:var(--bs-body-color);}
.navbar-site{background:var(--card-bg);border-bottom:1px solid var(--bs-border-color);}
.card{background:var(--card-bg);border:1px solid var(--bs-border-color);border-radius:var(--radius);}
.btn-primary,.btn-brand{--bs-btn-bg:var(--brand);--bs-btn-border-color:var(--brand);--bs-btn-color:var(--brand-contrast);
  --bs-btn-hover-bg:color-mix(in srgb,var(--brand) 85%,#000);--bs-btn-hover-border-color:color-mix(in srgb,var(--brand) 85%,#000);--bs-btn-hover-color:var(--brand-contrast);
  --bs-btn-active-bg:color-mix(in srgb,var(--brand) 75%,#000);--bs-btn-active-color:var(--brand-contrast);--bs-btn-disabled-bg:var(--brand);--bs-btn-disabled-color:var(--brand-contrast);}
.btn-buy{--bs-btn-bg:var(--btn);--bs-btn-border-color:var(--btn);--bs-btn-color:var(--btn-contrast);
  --bs-btn-hover-bg:color-mix(in srgb,var(--btn) 85%,#000);--bs-btn-hover-border-color:color-mix(in srgb,var(--btn) 85%,#000);--bs-btn-hover-color:var(--btn-contrast);
  --bs-btn-active-bg:color-mix(in srgb,var(--btn) 75%,#000);--bs-btn-active-color:var(--btn-contrast);font-weight:600;}
.btn-outline-primary{--bs-btn-color:var(--brand);--bs-btn-border-color:var(--brand);--bs-btn-hover-bg:var(--brand);--bs-btn-hover-color:var(--brand-contrast);--bs-btn-hover-border-color:var(--brand);}
.text-brand{color:var(--brand)!important}
.bg-brand{background:var(--brand)!important;color:var(--brand-contrast)!important}
.progress{background:var(--soft);height:.7rem;border-radius:999px}
.progress-bar{background:var(--accent)}
.hero{background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 85%,#000),color-mix(in srgb,var(--brand) 40%,#0b1020));color:#fff;border-radius:calc(var(--radius) + 6px);overflow:hidden}
.hero.has-img{background-size:cover;background-position:center}
.hero .overlay{background:linear-gradient(90deg,rgba(0,0,0,.65),rgba(0,0,0,.15));padding:3rem 1.5rem}
.raffle-card{transition:transform .18s ease,box-shadow .18s ease;overflow:hidden}
.raffle-card:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(0,0,0,.18)}
.raffle-card .cover{aspect-ratio:16/10;object-fit:cover;width:100%;background:var(--soft)}
.stat-card{border-left:4px solid var(--brand)}
.stat-card .value{font-size:1.5rem;font-weight:700}
.sidebar{background:var(--card-bg);border-right:1px solid var(--bs-border-color);min-height:100vh}
.sidebar .nav-link{color:var(--bs-body-color);border-radius:10px;padding:.55rem .8rem}
.sidebar .nav-link:hover{background:var(--soft)}
.sidebar .nav-link.active{background:var(--brand);color:var(--brand-contrast)}
.num-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(54px,1fr));gap:6px}
.num{border:1px solid var(--bs-border-color);background:var(--card-bg);color:var(--bs-body-color);border-radius:8px;padding:.45rem 0;font-weight:600;font-size:.85rem;cursor:pointer;transition:all .12s}
.num:hover:not(:disabled){border-color:var(--brand)}
.num.sel{background:var(--btn);border-color:var(--btn);color:var(--btn-contrast)}
.num.reserved{background:repeating-linear-gradient(45deg,var(--soft),var(--soft) 6px,transparent 6px,transparent 12px);color:var(--bs-secondary-color);cursor:not-allowed}
.num.paid{background:var(--bs-secondary-bg);color:var(--bs-secondary-color);text-decoration:line-through;cursor:not-allowed;opacity:.65}
.num.mine{outline:2px solid var(--accent)}
.pix-box{word-break:break-all;font-family:ui-monospace,monospace;font-size:.8rem;background:var(--soft);border-radius:10px;padding:.7rem}
.fade-in{animation:fadeIn .35s ease both}
@keyframes fadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.theme-toggle{border:0;background:transparent;color:inherit;font-size:1.2rem}
.logo-dark{display:none}[data-bs-theme="dark"] .logo-dark{display:inline}[data-bs-theme="dark"] .logo-light.has-dark{display:none}
.spinner-inline{width:1rem;height:1rem;border-width:.15em}
@media print{.no-print,.navbar,.sidebar,footer{display:none!important}body{background:#fff;color:#000}.card{border:1px solid #999}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ===== Layout de referencia (hero ciano, cards em grade, rodape em 3 colunas) ===== */
:root{--cyan-1:color-mix(in srgb,var(--brand) 78%,#fff);--cyan-2:color-mix(in srgb,var(--brand) 92%,#000)}
[data-bs-theme="dark"]{--bs-body-bg:#0b1220;--card-bg:#111a2c;--soft:#18233b;--bs-border-color:#22304d}
.topbar{background:var(--brand);color:var(--brand-contrast)}
.navbar-site{backdrop-filter:blur(8px)}
.navbar-site .nav-link{font-size:.85rem;font-weight:500}
.hero-cyan{background:linear-gradient(135deg,var(--cyan-1),var(--cyan-2));color:#fff;border-radius:20px;position:relative;overflow:hidden}
.hero-cyan::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.12) 1px,transparent 1px);background-size:22px 22px;opacity:.5;pointer-events:none}
.hero-cyan>.row{position:relative}
.hero-title{font-size:clamp(2rem,4.5vw,3.2rem);font-weight:800;line-height:1.1;margin-bottom:1rem}
.hero-title .hl{color:var(--accent)}
.hero-text{max-width:34rem;opacity:.92}
.hero-stats .n{font-size:1.5rem;font-weight:800}
.hero-stats .l{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;opacity:.85}
.phone-wrap{position:relative;display:flex;justify-content:center;padding:1rem 0}
.phone{width:220px;height:400px;border-radius:30px;border:6px solid #0b1220;background:#0b1220;box-shadow:0 20px 50px rgba(0,0,0,.35);transform:rotate(3deg)}
.phone-screen{height:100%;border-radius:22px;background:linear-gradient(180deg,var(--cyan-1),var(--cyan-2));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:1rem;text-align:center}
.phone-brand{background:#fff;color:var(--brand);font-weight:700;padding:.25rem .8rem;border-radius:8px;font-size:.8rem;position:absolute;top:34px}
.phone-title{font-weight:800;font-size:1.25rem;line-height:1.15}
.phone-btn{background:#fff;color:var(--brand);font-weight:700;border-radius:999px;padding:.45rem 1.1rem;text-decoration:none;font-size:.85rem}
.float-badge{position:absolute;display:flex;gap:.6rem;align-items:center;background:#fff;color:#111827;border-radius:14px;padding:.6rem .9rem;box-shadow:0 10px 25px rgba(0,0,0,.2);font-size:.85rem}
.float-badge small{display:block;color:#6b7280;font-size:.7rem}
.fb-1{left:-10px;bottom:30px}.fb-2{right:-10px;bottom:-5px}
.cat-bar{background:var(--soft);border-radius:16px;padding:1rem}
.cat-pill{display:inline-flex;gap:.35rem;align-items:center;padding:.35rem .9rem;border-radius:999px;border:1px solid var(--bs-border-color);background:var(--card-bg);color:var(--bs-body-color);font-size:.8rem;text-decoration:none}
.cat-pill.active,.cat-pill:hover{background:var(--brand);border-color:var(--brand);color:var(--brand-contrast)}
.rc{border-radius:16px;overflow:hidden}
.rc .cover{aspect-ratio:4/3;object-fit:cover}
.rc-chip{position:absolute;top:10px;font-size:.68rem;font-weight:600;padding:.2rem .6rem;border-radius:999px;color:#fff}
.rc-cat{left:10px;background:var(--brand);color:var(--brand-contrast)}
.rc-pop{left:10px;top:40px;background:#ef4444}
.rc-status{right:10px;background:rgba(0,0,0,.65)}
.rc-title{font-size:1rem;font-weight:700;margin-bottom:.35rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}
.rc-desc{font-size:.8rem;color:var(--bs-secondary-color);min-height:3.2em;margin-bottom:.8rem}
.rc-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;color:var(--bs-secondary-color)}
.rc-price{font-size:1.25rem;font-weight:800}
.rc .progress{height:.45rem}
.rc .progress-bar{background:var(--brand)}
.site-footer{background:var(--card-bg);border-top:1px solid var(--bs-border-color)}
.foot-links li{margin-bottom:.4rem}.foot-links a{color:var(--bs-secondary-color);text-decoration:none}.foot-links a:hover{color:var(--brand)}
.soc{width:36px;height:36px;border-radius:50%;background:var(--soft);display:inline-flex;align-items:center;justify-content:center;color:var(--bs-body-color);text-decoration:none}
.soc:hover{background:var(--brand);color:var(--brand-contrast)}
.trust-bar{background:color-mix(in srgb,var(--brand) 18%,transparent);border:1px solid color-mix(in srgb,var(--brand) 40%,transparent);border-radius:12px;padding:.7rem 1rem;text-align:center;font-size:.85rem;font-weight:600}
.banner-wrap{max-width:1100px}
.banner-wrap img{border-radius:16px}
