* { margin: 0; padding: 0; box-sizing: border-box; }
body { background-color: #0d3d1e; font-family: 'Segoe UI', sans-serif; }

.wrapper { width: 100%; max-width: 1513px; margin: 0 auto; position: relative; }

/* ── NAVBAR ── */
.secao-nav {
    width: 100%; padding-bottom: 4.7619%;
    background-image: url('layout-01.png');
    background-size: 100% 100%; background-repeat: no-repeat;
    position: sticky; top: 0; z-index: 100; margin-bottom: -1px;
}
.nav-links a {
    position: absolute; top: 0; height: 100%;
    display: block; cursor: pointer;
}

.nav-logo        { left: 14%;   width: 12%; }
.nav-inicio      { left: 31.5%; width: 5%;  }
.nav-como        { left: 36.5%;   width: 8.5%; }
.nav-lojas       { left: 45%;   width: 11%; }
.nav-regulamento { left: 56%;   width: 7.5%; }
.nav-ganhadores  { left: 63.5%;   width: 7%; }
.nav-participar  { left: 74%;   width: 13%; top: 10% !important; height: 80% !important; }

/* ── CONTEÚDO ── */
.conteudo {
    width: 100%; min-height: 500px; background-color: #0d3d1e;
    display: flex; flex-direction: column; align-items: center;
    padding: 60px 40px 80px; color: #fff;
}
.pagina-titulo { font-size: clamp(1.6rem,3vw,2.4rem); font-weight:700; color:#f0c040; margin-bottom:8px; text-align:center; }
.pagina-subtitulo { font-size: clamp(0.9rem,1.5vw,1.05rem); color:#b8d4b8; margin-bottom:40px; text-align:center; }

/* ── CARD ── */
.card {
    background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.12);
    border-radius: 16px; padding: 36px 40px; width: 100%; max-width: 680px;
}

/* ── ALERTAS ── */
.alerta { padding:12px 16px; border-radius:8px; font-size:0.9rem; margin-bottom:18px; display:none; }
.alerta.erro    { background:rgba(220,50,50,0.18);  border:1px solid rgba(220,50,50,0.4);  color:#ffaaaa; }
.alerta.sucesso { background:rgba(50,200,100,0.18); border:1px solid rgba(50,200,100,0.4); color:#aaffbb; }
.alerta.info    { background:rgba(50,150,255,0.15); border:1px solid rgba(50,150,255,0.35); color:#aad4ff; }

/* ── TABS ── */
.tabs { display:flex; border-bottom:2px solid rgba(255,255,255,0.12); margin-bottom:28px; }
.tab-btn {
    flex:1; padding:12px; background:none; border:none;
    color:#b8d4b8; font-size:1rem; font-weight:600; cursor:pointer;
    border-bottom:3px solid transparent; margin-bottom:-2px; transition:color 0.2s;
}
.tab-btn.ativo { color:#f0c040; border-bottom-color:#f0c040; }
.tab-panel { display:none; }
.tab-panel.ativo { display:block; }

/* ── FORM ── */
.form-grupo { margin-bottom:18px; }
.form-grupo label { display:block; color:#b8d4b8; font-size:0.82rem; margin-bottom:6px; text-transform:uppercase; letter-spacing:0.05em; }
.form-grupo input[type=text],
.form-grupo input[type=email] {
    width:100%; padding:12px 16px; border-radius:8px;
    border:1px solid rgba(255,255,255,0.18); background:rgba(255,255,255,0.07);
    color:#fff; font-size:1rem; outline:none; transition:border 0.2s;
}
.form-grupo input:focus { border-color:#f0c040; }
.form-grupo input::placeholder { color:rgba(255,255,255,0.25); }

/* Checkbox optin */
.optin-label {
    display:flex; align-items:flex-start; gap:10px;
    color:#b8d4b8; font-size:0.88rem; cursor:pointer; line-height:1.5;
}
.optin-label input[type=checkbox] { margin-top:3px; accent-color:#f0c040; width:16px; height:16px; flex-shrink:0; }
.optin-label a { color:#f0c040; }

/* ── BOTÕES ── */
.btn {
    width:100%; padding:14px; background:#f0c040; color:#1a1a1a;
    font-weight:700; font-size:1rem; border:none; border-radius:8px;
    cursor:pointer; letter-spacing:0.04em; transition:background 0.2s, transform 0.1s;
    text-decoration:none; display:block; text-align:center;
}
.btn:hover  { background:#ddb030; }
.btn:active { transform:scale(0.98); }
.btn:disabled { opacity:0.6; cursor:not-allowed; }
.btn-sm { width:auto; display:inline-block; padding:10px 28px; font-size:0.92rem; }
.btn-outline {
    display:inline-block; padding:10px 28px;
    border:2px solid #f0c040; color:#f0c040; background:none;
    border-radius:8px; font-weight:600; cursor:pointer; font-size:0.95rem;
    transition:all 0.2s; margin-top:10px; text-decoration:none;
}
.btn-outline:hover { background:#f0c040; color:#1a1a1a; }
.link-alt { text-align:center; margin-top:14px; font-size:0.87rem; color:#b8d4b8; }
.link-alt a { color:#f0c040; text-decoration:none; }
.link-alt a:hover { text-decoration:underline; }

/* ── SAUDAÇÃO (pós-login) ── */
.saudacao { text-align:center; padding:10px 0; }
.saudacao .nome-usuario { font-size:1.4rem; font-weight:700; color:#f0c040; margin-bottom:10px; }
.saudacao p { color:#b8d4b8; margin-bottom:24px; }

/* ── RESUMO CARDS (números da sorte) ── */
.resumo-topo { display:flex; gap:20px; margin-bottom:36px; flex-wrap:wrap; justify-content:center; }
.resumo-card {
    background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.12);
    border-radius:12px; padding:20px 32px; text-align:center; min-width:140px;
}
.resumo-card .valor { font-size:2rem; font-weight:700; color:#f0c040; }
.resumo-card .label { font-size:0.8rem; color:#b8d4b8; margin-top:4px; text-transform:uppercase; letter-spacing:0.05em; }

/* ── TABELAS ── */
.tabela { width:100%; border-collapse:collapse; font-size:0.93rem; }
.tabela thead tr { background:rgba(240,192,64,0.12); }
.tabela th { padding:12px 16px; text-align:left; color:#f0c040; font-weight:600; border-bottom:1px solid rgba(255,255,255,0.1); }
.tabela td { padding:12px 16px; color:#ddd; border-bottom:1px solid rgba(255,255,255,0.06); }
.tabela tbody tr:hover { background:rgba(255,255,255,0.04); }

/* ── BADGES ── */
.badge { display:inline-block; padding:3px 10px; border-radius:20px; font-size:0.78rem; font-weight:600; }
.badge-verde  { background:#1a6b35; color:#7dffaa; }
.badge-dourado{ background:#c8960a; color:#fff; }
.badge-cinza  { background:rgba(255,255,255,0.12); color:#ccc; }
.badge-azul   { background:#0a4a8a; color:#aad4ff; }

/* ── SEÇÃO SORTEIO (ganhadores) ── */
.secao-sorteio { width:100%; max-width:860px; margin-bottom:48px; }
.secao-sorteio h2 {
    font-size:1rem; font-weight:700; color:#f0c040;
    text-transform:uppercase; letter-spacing:0.05em;
    border-bottom:1px solid rgba(240,192,64,0.25);
    padding-bottom:10px; margin-bottom:20px;
}
.tag-aguardando {
    display:inline-block; padding:3px 10px; border-radius:20px;
    font-size:0.78rem; font-weight:600; background:rgba(255,255,255,0.08); color:#888;
}

/* ── GRID LOJAS ── */
.grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:16px; width:100%; max-width:900px; }
.card-loja { background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.1); border-radius:12px; padding:20px; }
.card-loja h3 { color:#f0c040; font-size:0.97rem; margin-bottom:6px; }
.card-loja p  { color:#b8d4b8; font-size:0.86rem; line-height:1.55; }

/* ── REGULAMENTO / PDF ── */
.pdf-container { width:100%; max-width:900px; background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.12); border-radius:16px; overflow:hidden; }
.pdf-toolbar { display:flex; align-items:center; justify-content:space-between; padding:14px 20px; background:rgba(0,0,0,0.3); border-bottom:1px solid rgba(255,255,255,0.08); flex-wrap:wrap; gap:10px; }
.pdf-toolbar span { color:#b8d4b8; font-size:0.9rem; }
.btn-download { display:inline-flex; align-items:center; gap:8px; padding:8px 20px; background:#f0c040; color:#1a1a1a; font-weight:700; font-size:0.88rem; border:none; border-radius:8px; cursor:pointer; text-decoration:none; transition:background 0.2s; }
.btn-download:hover { background:#ddb030; }
.pdf-frame { width:100%; height:780px; border:none; display:block; }
.pdf-fallback { padding:60px 40px; text-align:center; color:#b8d4b8; }
.pdf-fallback p { margin-bottom:20px; font-size:1rem; }

/* ── FOOTER ── */
.secao-footer { width:100%; padding-bottom:8.5317%; background-image:url('layout-07.png'); background-size:100% 100%; background-repeat:no-repeat; margin-top:-1px; }

/* ── NAO LOGADO ── */
.nao-logado { text-align:center; padding:20px; }
.nao-logado p { color:#b8d4b8; margin-bottom:20px; }
