/* Meu Serviço Premiado — Carrefour + Assurant/Porto (Black Friday 2026)

   Identidade do KV oficial (CarrefourKV.psd): fundo preto, ciano #00BDFB do "PREMIADO",
   azul #1A73E8 das fitas de prêmio. Fonte Montserrat servida daqui (fonts/) — sem Google Fonts,
   apontado no relatório de vulnerabilidade por falta de SRI. Sem estilo inline (CSP). */

@font-face{font-family:Montserrat;font-style:normal;font-weight:300 900;font-display:swap;src:url(fonts/montserrat-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Montserrat;font-style:normal;font-weight:300 900;font-display:swap;src:url(fonts/montserrat-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --fundo:#05070f; --fundo-2:#0a0f22; --card:#0e1530; --borda:rgba(0,189,251,.22);
  --ciano:#00bdfb; --azul:#1a73e8; --azul-escuro:#1450c8; --vermelho:#e3131b;
  --texto:#fff; --texto-2:#b6c2dd; --texto-3:#7e8bab;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Montserrat,system-ui,sans-serif;background:var(--fundo);color:var(--texto);line-height:1.55;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--ciano)}
.container,.limite{max-width:1200px;margin:0 auto;padding:0 20px}
.estreito,.limite-estreito{max-width:820px}
.ciano{color:var(--ciano)}
.destaque-branco{color:#fff}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pular{position:absolute;left:-9999px;top:0;background:var(--ciano);color:#00121c;padding:10px 16px;z-index:50;font-weight:700}
.pular:focus{left:12px;top:12px}
:focus-visible{outline:2px solid var(--ciano);outline-offset:2px}
.pendente{display:inline-block;background:#ffcf5c;color:#1a1300;font-size:12px;font-weight:700;padding:2px 8px;border-radius:6px;vertical-align:middle}

/* topo */
.topo{position:sticky;top:0;z-index:20;background:rgba(0,0,0,.86);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.07)}
.topo .container{display:flex;align-items:center;justify-content:space-between;height:66px;gap:16px}
.marca img{height:24px;width:auto}
.menu{display:flex;gap:26px;font-size:14px;font-weight:500}
.menu a{color:var(--texto-2);text-decoration:none;white-space:nowrap}
.menu a:hover{color:#fff}

/* botões */
.btn,.botao{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:15px 28px;border-radius:999px;font:700 15px Montserrat,sans-serif;text-decoration:none;border:0;cursor:pointer;transition:.2s;white-space:nowrap}
.btn-primario,.botao{background:var(--ciano);color:#00121c;box-shadow:0 0 26px rgba(0,189,251,.45)}
.btn-primario:hover,.botao:hover{box-shadow:0 0 38px rgba(0,189,251,.75);transform:translateY(-1px)}
.btn-contorno,.botao-vazado{border:1.5px solid rgba(255,255,255,.5);color:#fff;background:transparent;box-shadow:none}
.btn-contorno:hover,.botao-vazado:hover{border-color:#fff;background:rgba(255,255,255,.06)}
.topo .btn,.btn-pequeno{padding:10px 18px;font-size:13px}
.btn-grande{padding:18px 34px;font-size:17px}
.btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}

/* banner de topo (KV) */
.hero{background:#000;padding:0}
.hero img{width:100%;height:auto}
.faixa-cta{background:#000;border-bottom:1px solid var(--borda)}
.faixa-cta .container{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;padding-top:24px;padding-bottom:24px}
.tarja{display:inline-flex;align-items:center;gap:10px;font-size:15px;font-weight:600;color:var(--texto-2)}
.tarja b{color:#fff}
.ponto{width:10px;height:10px;border-radius:50%;background:#2bd66b;box-shadow:0 0 10px #2bd66b}
.ponto-espera{background:#ffcf5c;box-shadow:0 0 10px #ffcf5c}
.ponto-fim{background:var(--texto-3);box-shadow:none}
.acoes{display:flex;flex-wrap:wrap;gap:12px}

/* seções */
section{padding:92px 0}
.alternada{background:var(--fundo-2)}
.sobretitulo{font-size:13px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--ciano);margin-bottom:10px}
h1,h2{font-size:clamp(30px,4vw,46px);font-weight:900;line-height:1.08;letter-spacing:-.5px;text-transform:uppercase}
.subtitulo,.chamada{color:var(--texto-2);max-width:680px;margin-top:14px;font-size:17px}
.nota{margin-top:18px;font-size:13px;color:var(--texto-3)}

.passos{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:48px}
.passo{background:var(--card);border:1px solid var(--borda);border-radius:20px;padding:30px 26px}
.passo .num{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--ciano);color:#00121c;font-weight:900;font-size:20px;margin-bottom:20px}
.passo h3{font-size:20px;font-weight:800;line-height:1.25;margin-bottom:10px}
.passo p{color:var(--texto-2);font-size:15px}
.destaque{margin-top:28px;display:flex;align-items:center;gap:24px;flex-wrap:wrap;padding:26px 30px;border-radius:20px;background:linear-gradient(90deg,rgba(0,189,251,.16),rgba(26,115,232,.06));border:1.5px solid var(--ciano)}
.destaque svg{flex:0 0 52px;width:52px;height:52px;color:var(--ciano)}
.destaque p{font-size:19px;font-weight:500;flex:1 1 320px}
.destaque strong{color:var(--ciano);font-weight:800}

.premios{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:48px}
.premio{border-radius:24px;padding:36px 34px}
.premio.semana{background:linear-gradient(140deg,#00bdfb,#0a8fd8)}
.premio.mes{background:linear-gradient(140deg,#1f7bff,#1146b8)}
.premio .etq{display:inline-block;font-size:12px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;background:rgba(0,0,0,.22);padding:6px 12px;border-radius:999px}
.premio .grande{display:flex;align-items:flex-start;gap:8px;font-weight:900;line-height:.9;margin:22px 0 12px}
.premio .grande small{font-size:22px;margin-top:10px}
.premio .grande strong{font-size:clamp(64px,9vw,110px);letter-spacing:-3px}
.premio h3{font-size:22px;font-weight:800;text-transform:uppercase}
.premio p{margin-top:8px;font-size:15px;color:rgba(255,255,255,.9)}

.agenda{margin-top:40px;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.semana-card{background:var(--card);border:1px solid var(--borda);border-radius:18px;padding:22px}
.semana-card .rot{font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--ciano)}
.semana-card .periodo{font-size:18px;font-weight:800;margin:6px 0 10px}
.semana-card .sorteio{font-size:14px;color:var(--texto-2)}
.semana-card.final{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;border-color:var(--ciano);background:linear-gradient(90deg,rgba(26,115,232,.3),var(--card))}

.painel,.cartao{margin-top:40px;border-radius:22px;background:var(--card);border:1px solid var(--borda);padding:34px}
.painel-titulo{font-size:22px;font-weight:800}
.painel-sub{color:var(--texto-2);margin-top:6px}
.ganhadores{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin-top:40px}
.ganhador{background:var(--card);border:1px solid var(--borda);border-radius:18px;padding:22px}
.ganhador-numero{font-size:26px;font-weight:900;color:var(--ciano)}
.ganhador h3{font-size:17px;margin:6px 0}
.ganhador p{font-size:14px;color:var(--texto-2)}

.consulta{background:radial-gradient(ellipse at 15% 0%,rgba(0,189,251,.28),transparent 55%),radial-gradient(ellipse at 100% 100%,rgba(227,19,27,.22),transparent 50%),var(--fundo-2)}
.chamada-consulta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px}

.faq{margin-top:40px;display:grid;gap:12px;max-width:860px}
details{background:var(--card);border:1px solid var(--borda);border-radius:16px;padding:20px 24px}
summary{cursor:pointer;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:16px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";color:var(--ciano);font-size:22px;line-height:1}
details[open] summary::after{content:"–"}
details p,details li{color:var(--texto-2);margin-top:12px;font-size:15px}
details ul,details ol{padding-left:20px}

/* consulta, regulamento e privacidade */
.consulta-topo{padding:64px 0 24px}
.consulta-corpo{padding:40px 0 92px}
.form{background:rgba(0,0,0,.55);border:1px solid var(--borda);border-radius:22px;padding:30px;display:grid;gap:16px}
.form label{display:grid;gap:6px;font-size:13px;font-weight:600;color:var(--texto-2)}
.form input{width:100%;padding:14px 16px;border-radius:12px;border:1px solid rgba(255,255,255,.15);background:#0a0f22;color:#fff;font:inherit;font-size:16px}
.form input:focus{outline:2px solid var(--ciano);border-color:transparent}
.form-tit{font-size:22px;font-weight:800}
.form-sub,.miudo{font-size:13.5px;color:var(--texto-2)}
.form-sair{display:inline}
.erro{background:rgba(227,19,27,.14);border:1px solid rgba(227,19,27,.5);color:#ffb3b6;border-radius:14px;padding:14px 18px;font-weight:600;margin-bottom:18px}
.campo-senha{position:relative;display:block}
.campo-senha input{padding-right:52px}
.olho{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:0;color:var(--ciano);cursor:pointer;padding:8px;line-height:0}
.olho svg{width:22px;height:22px}
.olho[aria-pressed="true"] .risco{display:none}
.identificacao{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin-bottom:26px}
.identificacao-nome{font-size:24px;font-weight:800}
.bloco{margin-top:30px}
.h-bloco{font-size:22px;margin-bottom:14px}
.numeros{list-style:none;display:grid;gap:10px}
.numeros li{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:14px 16px;border-radius:14px;background:#0a0f22;border:1px solid var(--borda)}
.numeros b{font-size:24px;font-weight:900;color:var(--ciano);letter-spacing:1px;min-width:92px}
.numero-origem{font-size:13px;color:var(--texto-2);flex:1 1 220px}
.numeros-invalidos b{color:var(--texto-3);text-decoration:line-through}
.selo{font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;padding:4px 10px;border-radius:999px;border:1px solid}
.selo-assurant{color:#fff;border-color:rgba(255,255,255,.6)}
.selo-porto{color:#5aa9ff;border-color:#5aa9ff}
.selo-bonus_confirmacao{color:#ffcf5c;border-color:#ffcf5c}
.rodape-consulta{margin-top:30px}
.visor-pdf{width:100%;height:75vh;border:1px solid var(--borda);border-radius:14px;background:#fff;margin-top:20px}
.pdf-acoes{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.tarja-demo{background:#ffcf5c;color:#1a1300;font-weight:700;font-size:13px;padding:10px 16px;border-radius:12px;margin-bottom:18px}
.documento h2{font-size:22px;margin:34px 0 12px;text-transform:none;letter-spacing:0}
.documento h3{font-size:18px;margin:24px 0 8px}
.documento p,.documento li{color:var(--texto-2);margin-top:10px}
.documento ul,.documento ol{padding-left:22px}
.documento table{width:100%;border-collapse:collapse;margin-top:14px;font-size:14px}
.documento th,.documento td{border:1px solid var(--borda);padding:8px 10px;text-align:left;vertical-align:top}
.sumario{background:var(--card);border:1px solid var(--borda);border-radius:16px;padding:18px 22px;margin-top:20px}

/* rodapé */
.rodape{background:#fff;color:#1a2240;padding:44px 0 28px}
.rodape .logos{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:36px;padding-bottom:28px;border-bottom:1px solid #e3e7f2}
.rodape .logos img{height:34px;width:auto}
.rodape .logos .sep{width:1px;height:40px;background:#cfd6e8}
.rodape .legal{color:#5a6687;text-align:center;max-width:920px;margin:22px auto 0;font-size:12px;line-height:1.7}
.rodape-links{display:flex;justify-content:center;flex-wrap:wrap;gap:24px;margin-top:16px;font-size:14px}
.rodape-links a{color:var(--azul-escuro)}
.faixa-assinatura{background:#000;border-top:1px solid rgba(255,255,255,.06)}
.assinatura{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px 40px;padding-top:22px;padding-bottom:22px}
.assina{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:rgba(255,255,255,.75)}
.assina a{display:block;line-height:0}
.assina img{height:25px;width:auto}
.assina img.fiedler{height:25px;width:auto}  /* mesma altura da Ozaca (pedido da Adriana, 09/10) */

@media (max-width:980px){.menu{display:none}.agenda{grid-template-columns:1fr 1fr}}
@media (max-width:860px){
  .passos,.premios{grid-template-columns:1fr}
  section{padding:64px 0}
  .rodape .logos .sep{display:none}
  .faixa-cta .container{flex-direction:column;align-items:stretch}
  .acoes .btn{flex:1 1 auto}
}
@media (max-width:640px){
  .agenda{grid-template-columns:1fr}
  .topo .btn{padding:9px 14px}
  .btn-grande{width:100%}
}
