/*
 * Convida um Portista (Ronda 30, 5 Nov 2026): a landing /convida/.
 * Folha própria, só nesta página (inc/convida.php). Conceito «Enche a bancada».
 * Tokens do tema por var(--sp-…, recurso); Barlow Condensed (600/700, já nas
 * fontes do tema) para a campanha e os números; Source Serif 4 nos títulos
 * editoriais; Libre Franklin no corpo. Dourado só no prémio, laranja só no
 * kicker e no «próximo lugar». Telemóvel primeiro; aos 720 px passa a duas colunas.
 */

@font-face { font-family: 'Barlow Condensed'; font-style: normal; font-weight: 600; font-display: swap; src: url(../fonts/barlow-condensed-600-normal-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; }
@font-face { font-family: 'Barlow Condensed'; font-style: normal; font-weight: 600; font-display: swap; src: url(../fonts/barlow-condensed-600-normal-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: 'Barlow Condensed'; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/barlow-condensed-700-normal-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; }
@font-face { font-family: 'Barlow Condensed'; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/barlow-condensed-700-normal-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; }

.sp-cv {
	--cv-navy: var(--sp-navy, #06152B);
	--cv-porto: var(--sp-porto, #004B9B);
	--cv-porto-topo: var(--sp-porto-bright, #0A4EA3);
	--cv-porto-hover: var(--sp-porto-hover, #003D7A);
	--cv-porto-light: var(--sp-porto-light, #E8F0FA);
	--cv-fundo: var(--sp-surface-muted, #F4F7FB);
	--cv-branco: var(--sp-surface, #FFFFFF);
	--cv-borda: var(--sp-border, #DFE5EE);
	--cv-ink: var(--sp-ink, #0F172A);
	--cv-ink-forte: var(--sp-ink-strong, #33415C);
	--cv-ink-medio: var(--sp-ink-muted, #475569);
	--cv-ink-suave: #64748B;
	--cv-ouro: #F2B705;
	--cv-ouro-ink: #5C4300;
	--cv-laranja: var(--sp-accent, #FF8A3D);
	--cv-ok: var(--sp-sucesso, #15803D);
	--cv-ok-fundo: #E7F6EC;
	--cv-aviso: var(--sp-aviso, #B45309);
	--cv-aviso-fundo: #FFF4E5;
	--cv-whatsapp: var(--sp-whatsapp, #25D366);
	--cv-facebook: #1877F2;
	--cv-cond: 'Barlow Condensed', 'Arial Narrow', sans-serif;
	--cv-serif: 'Source Serif 4', Georgia, serif;
	--cv-sans: 'Libre Franklin', system-ui, sans-serif;
	font-family: var(--cv-sans);
	color: var(--cv-ink);
	background: var(--cv-fundo);
	min-height: 100vh;
	-webkit-font-smoothing: antialiased;
}
.sp-cv *, .sp-cv *::before, .sp-cv *::after { box-sizing: border-box; }
/* Só os links de texto: os botões e as lojas têm a sua cor (superportistas#399, ponto 1). */
.sp-cv a:not(.sp-cv-botao):not(.sp-cv-loja) { color: var(--cv-porto); }
.sp-cv a:not(.sp-cv-botao):not(.sp-cv-loja):hover { color: var(--cv-porto-hover); }
.sp-cv p { margin: 0; }
.sp-cv ol, .sp-cv ul { list-style: none; margin: 0; padding: 0; }
.sp-cv button { font-family: inherit; }

.sp-cv-wrap { max-width: 1180px; margin: 0 auto; padding: 0 16px; }
.sp-cv-wrap--estreito { max-width: 820px; }

/* barra */
.sp-cv-barra { display: flex; align-items: center; justify-content: space-between; height: 56px; padding: 0 16px; max-width: 1212px; margin: 0 auto; }
.sp-cv-barra__logo img { height: 28px; width: auto; display: block; }
.sp-cv-barra__conta { font-size: 14px; font-weight: 600; color: var(--cv-ink-forte); text-decoration: none; }

/* selo */
.sp-cv-selo { display: inline-flex; align-items: center; gap: 10px; font-family: var(--cv-cond); font-weight: 700; font-size: 15px; letter-spacing: .08em; text-transform: uppercase; color: #fff; }
.sp-cv-selo__pt { width: 8px; height: 8px; border-radius: 50%; background: var(--cv-laranja); box-shadow: 0 0 0 4px rgba(255, 138, 61, .25); display: inline-block; }
.sp-cv-selo--escuro { color: var(--cv-navy); }

/* hero */
.sp-cv-hero { position: relative; overflow: hidden; background: var(--cv-navy); color: #fff; }
.sp-cv-hero__foto { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .42; }
.sp-cv-hero__veu { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(6, 21, 43, .55) 0%, rgba(6, 21, 43, .97) 70%); }
.sp-cv-hero__in { position: relative; max-width: 1180px; margin: 0 auto; padding: 28px 16px 36px; display: grid; grid-template-columns: 1fr; gap: 28px; align-items: center; }
.sp-cv-hero__in--um { padding: 48px 16px; }
.sp-cv-hero__texto { display: flex; flex-direction: column; gap: 16px; }
.sp-cv-h1 { font-family: var(--cv-cond); font-weight: 700; font-size: 48px; line-height: .95; letter-spacing: -.01em; margin: 0; text-transform: uppercase; color: #fff; }
.sp-cv-h1 em { font-style: normal; color: var(--cv-ouro); }
.sp-cv-h1--fim { font-size: 44px; }
.sp-cv-hero__frase { font-size: 17px; line-height: 25px; color: rgba(255, 255, 255, .9); }
.sp-cv-hero__convite { font-size: 15px; line-height: 22px; background: rgba(255, 255, 255, .12); border-radius: 12px; padding: 10px 14px; }
.sp-cv-tres { display: flex; flex-direction: column; gap: 10px; }
.sp-cv-tres li { display: flex; gap: 12px; align-items: flex-start; font-size: 16px; line-height: 23px; color: rgba(255, 255, 255, .92); }
.sp-cv-tres__n { flex: none; width: 28px; height: 28px; border-radius: 50%; background: rgba(255, 255, 255, .14); font-family: var(--cv-cond); font-weight: 700; font-size: 16px; display: flex; align-items: center; justify-content: center; }
.sp-cv-prova { display: flex; flex-wrap: wrap; gap: 12px 24px; align-items: baseline; font-size: 14px; color: rgba(255, 255, 255, .85); }
.sp-cv-prova strong { font-family: var(--cv-cond); font-size: 26px; font-weight: 700; color: #fff; margin-right: 6px; }
.sp-cv-contagem__n { color: var(--cv-ouro) !important; }

/* voucher do prémio */
.sp-cv-voucher { position: relative; background: #fff; color: var(--cv-ink); border-radius: 20px; padding: 22px 22px 18px; box-shadow: 0 24px 60px rgba(0, 0, 0, .35); display: flex; flex-direction: column; gap: 12px; }
.sp-cv-voucher__k { font-family: var(--cv-cond); font-weight: 700; font-size: 14px; letter-spacing: .12em; text-transform: uppercase; color: var(--cv-ink-suave); }
.sp-cv-voucher__t { font-family: var(--cv-cond); font-weight: 700; font-size: 36px; line-height: .95; text-transform: uppercase; margin: 0; color: var(--cv-porto); }
.sp-cv-voucher__nome { color: var(--cv-porto); font-size: 44px; }
.sp-cv-voucher__dois { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.sp-cv-voucher__b { border: 1.5px dashed var(--cv-borda); border-radius: 14px; padding: 12px; display: flex; flex-direction: column; gap: 4px; }
.sp-cv-voucher__b b { font-family: var(--cv-cond); font-size: 22px; font-weight: 700; line-height: 1; }
.sp-cv-voucher__b span { font-size: 13px; color: var(--cv-ink-medio); }
.sp-cv-voucher__ligas { font-size: 13px; font-weight: 600; color: var(--cv-porto); background: var(--cv-porto-light); border-radius: 10px; padding: 8px 12px; line-height: 19px; }
.sp-cv-voucher__nota { font-size: 12px; line-height: 18px; color: var(--cv-ink-suave); }
.sp-cv-voucher__bola { position: absolute; right: -18px; top: -26px; width: 72px; height: auto; filter: drop-shadow(0 10px 20px rgba(0, 0, 0, .35)); }

/* botões */
.sp-cv-botao { display: inline-flex; align-items: center; justify-content: center; gap: 10px; height: 56px; padding: 0 24px; border-radius: 999px; border: 0; cursor: pointer; text-decoration: none; font-family: var(--cv-cond); font-weight: 700; font-size: 20px; letter-spacing: .02em; text-transform: uppercase; width: 100%; }
.sp-cv-botao--ouro { background: var(--cv-ouro); color: var(--cv-ouro-ink); }
.sp-cv-botao--porto { background: var(--cv-porto); color: #fff; }
.sp-cv-botao--porto:hover { background: var(--cv-porto-hover); color: #fff; }
.sp-cv-botao--branco { background: #fff; color: var(--cv-porto); }
.sp-cv-botao--whatsapp { background: var(--cv-whatsapp); color: var(--cv-navy); }
.sp-cv-botao--whatsapp svg { width: 22px; height: 22px; }
.sp-cv-botao--claro { height: 48px; background: #fff; color: var(--cv-porto); border: 1px solid var(--cv-borda); font-family: var(--cv-sans); font-size: 14px; font-weight: 600; text-transform: none; letter-spacing: 0; padding: 0 8px; border-radius: 12px; }
.sp-cv-botao--pequeno { height: 48px; padding: 0 18px; background: var(--cv-porto); color: #fff; font-size: 18px; width: auto; }
.sp-cv-botao[disabled] { opacity: .6; cursor: default; }

/* secções */
.sp-cv-sec { padding: 36px 0; }
.sp-cv-sec--branca { background: #fff; }
.sp-cv-h2 { font-family: var(--cv-serif); font-weight: 700; font-size: 22px; line-height: 1.15; margin: 0; }
.sp-cv-h2--sec { font-size: 28px; margin-bottom: 8px; }
.sp-cv-lead { font-size: 16px; line-height: 24px; color: var(--cv-ink-medio); margin: 0 0 22px; max-width: 640px; }
.sp-cv-p { font-size: 15px; line-height: 23px; color: var(--cv-ink-medio); }
.sp-cv-passos { display: grid; grid-template-columns: 1fr; gap: 14px; }
.sp-cv-passo { background: var(--cv-branco); border: 1px solid var(--cv-borda); border-radius: 18px; padding: 16px; display: flex; gap: 14px; align-items: flex-start; }
.sp-cv-passo__n { flex: none; font-family: var(--cv-cond); font-weight: 700; font-size: 40px; line-height: 1; color: var(--cv-porto); opacity: .35; }
.sp-cv-passo h3 { font-family: var(--cv-cond); font-weight: 700; font-size: 22px; line-height: 1; margin: 0 0 6px; text-transform: uppercase; }
.sp-cv-passo p { font-size: 15px; line-height: 22px; color: var(--cv-ink-medio); }
.sp-cv-regra { background: var(--cv-aviso-fundo); border: 1px solid #FDE2C2; border-radius: 14px; padding: 14px 16px; font-size: 14px; line-height: 21px; color: var(--cv-aviso); margin-top: 18px; }

/* bancada */
.sp-cv-bancada { position: relative; overflow: hidden; background: var(--cv-navy); border-radius: 20px; padding: 20px; color: #fff; display: flex; flex-direction: column; gap: 14px; }
.sp-cv-bancada__fundo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .18; }
.sp-cv-bancada > :not(.sp-cv-bancada__fundo) { position: relative; }
.sp-cv-bancada__cab { display: flex; flex-direction: column; gap: 4px; }
.sp-cv-bancada__t { font-family: var(--cv-cond); font-weight: 700; font-size: 22px; text-transform: uppercase; letter-spacing: .04em; margin: 0; color: #fff; }
.sp-cv-bancada__meta { font-size: 13px; color: rgba(255, 255, 255, .75); }
.sp-cv-bancada__meta2 { font-size: 14px; color: rgba(255, 255, 255, .9); }
.sp-cv-bancada__meta2 strong { font-family: var(--cv-cond); font-size: 22px; color: var(--cv-ouro); }
.sp-cv-lugares { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 5px; }
.sp-cv-lugares--cartao { grid-template-columns: repeat(16, minmax(0, 1fr)); gap: 3px; }
.sp-cv-lugar { aspect-ratio: 1; border-radius: 3px; background: rgba(255, 255, 255, .12); display: block; transition: background .4s, box-shadow .4s; }
.sp-cv-lugar.is-on { background: #fff; box-shadow: 0 0 0 1px rgba(255, 255, 255, .4), 0 0 10px rgba(255, 255, 255, .55); }
.sp-cv-lugar.is-proximo { background: var(--cv-laranja); }
.sp-cv-lugar.is-novo { animation: sp-cv-acende .9s ease-out; }
@keyframes sp-cv-acende { 0% { transform: scale(.4); background: var(--cv-ouro); } 60% { transform: scale(1.3); } 100% { transform: scale(1); } }
.sp-cv-bancada__legenda { display: flex; gap: 18px; font-size: 12px; color: rgba(255, 255, 255, .8); }
.sp-cv-bancada__legenda i { display: inline-block; width: 10px; height: 10px; border-radius: 2px; margin-right: 6px; vertical-align: -1px; background: rgba(255, 255, 255, .12); }
.sp-cv-bancada__legenda i.is-on { background: #fff; }

/* cartões e ranking */
.sp-cv-cartao { background: var(--cv-branco); border: 1px solid var(--cv-borda); border-radius: 18px; padding: 18px; display: flex; flex-direction: column; gap: 12px; }
.sp-cv-pilha { display: flex; flex-direction: column; gap: 14px; }
.sp-cv-grelha2 { display: grid; grid-template-columns: 1fr; gap: 16px; }
.sp-cv-grelha3 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.sp-cv-top__cab { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.sp-cv-top__sub { font-size: 13px; color: var(--cv-ink-suave); }
.sp-cv-rank { display: flex; flex-direction: column; }
.sp-cv-rank__l { display: grid; grid-template-columns: 36px 1fr auto; align-items: center; gap: 12px; padding: 9px 0; border-top: 1px solid var(--cv-borda); font-size: 15px; }
.sp-cv-rank__l:first-child { border-top: 0; }
.sp-cv-rank__p { font-family: var(--cv-cond); font-weight: 700; font-size: 20px; color: var(--cv-ink-suave); }
.sp-cv-rank__p.is-podio { color: var(--cv-ouro-ink); background: var(--cv-ouro); border-radius: 8px; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; }
.sp-cv-rank__c em { font-style: normal; color: var(--cv-ink-suave); font-size: 13px; }
.sp-cv-rank__n { font-family: var(--cv-cond); font-weight: 700; font-size: 22px; }
.sp-cv-rank__l.is-propria { background: var(--cv-porto-light); margin: 0 -10px; padding: 9px 10px; border-radius: 10px; font-weight: 600; }
.sp-cv-rank__l.is-fora { border-top: 2px dashed var(--cv-borda); margin-top: 6px; }
.sp-cv-rank__l.is-livre .sp-cv-rank__c, .sp-cv-rank__l.is-livre .sp-cv-rank__n { color: var(--cv-ink-suave); font-size: 13px; font-family: var(--cv-sans); font-weight: 500; }
.sp-cv-ticker { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 13px; color: var(--cv-ink-medio); }
.sp-cv-ticker strong { font-family: var(--cv-cond); font-size: 18px; color: var(--cv-ink); }
.sp-cv-ticker__pt { width: 8px; height: 8px; border-radius: 50%; background: var(--cv-ok); box-shadow: 0 0 0 3px rgba(21, 128, 61, .18); display: inline-block; flex: none; }
.sp-cv-ticker__sep { color: var(--cv-borda); }

/* zona pessoal */
.sp-cv-corpo { max-width: 1180px; margin: 0 auto; padding: 8px 16px 28px; display: grid; grid-template-columns: 1fr; gap: 14px; }
.sp-cv-corpo__topo { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; }
.sp-cv-col { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.sp-cv-cartaoconvite { position: relative; overflow: hidden; background: var(--cv-navy); color: #fff; border-radius: 22px; padding: 20px; display: flex; flex-direction: column; gap: 10px; }
.sp-cv-cartaoconvite__fundo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .35; transition: opacity .3s; }
.sp-cv-cartaoconvite__veu { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(6, 21, 43, .25), rgba(6, 21, 43, .92)); }
.sp-cv-cartaoconvite[data-fundo="noite"] .sp-cv-cartaoconvite__fundo { opacity: 0; }
.sp-cv-cartaoconvite[data-fundo="noite"] .sp-cv-cartaoconvite__veu { background: linear-gradient(160deg, var(--cv-navy), var(--cv-porto)); }
.sp-cv-cartaoconvite > :not(.sp-cv-cartaoconvite__fundo):not(.sp-cv-cartaoconvite__veu):not(.sp-cv-festa) { position: relative; }
.sp-cv-cartaoconvite__logo { height: 18px; width: auto; opacity: .9; align-self: flex-start; }
.sp-cv-cartaoconvite__k { font-family: var(--cv-cond); font-weight: 700; font-size: 14px; letter-spacing: .14em; text-transform: uppercase; color: rgba(255, 255, 255, .8); }
.sp-cv-codigo { font-family: var(--cv-cond); font-weight: 700; font-size: 56px; line-height: .95; letter-spacing: -.01em; display: block; word-break: break-word; }
.sp-cv-cartaoconvite__link { font-size: 13px; color: rgba(255, 255, 255, .85); }
.sp-cv-cartaoconvite__mudar { background: none; border: 0; padding: 0; color: #fff; opacity: .85; text-decoration: underline; cursor: pointer; font-size: 13px; }
.sp-cv-cartaoconvite__nota { font-size: 13px; color: rgba(255, 255, 255, .85); }
.sp-cv-cartaoconvite__nota strong { font-family: var(--cv-cond); font-size: 18px; }
.sp-cv-cartaoconvite--exemplo { min-height: 240px; }
.sp-cv-codigo__form { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.sp-cv-codigo__prefixo { font-family: var(--cv-cond); font-weight: 700; font-size: 20px; }
.sp-cv-codigo__form input { height: 44px; border-radius: 10px; border: 1px solid rgba(255, 255, 255, .4); background: rgba(255, 255, 255, .12); color: #fff; padding: 0 12px; font-family: var(--cv-cond); font-size: 20px; font-weight: 700; flex: 1; min-width: 120px; }
.sp-cv-aviso { font-size: 13px; color: var(--cv-laranja); width: 100%; }
.sp-cv-fundos { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.sp-cv-fundos__r { font-size: 14px; color: var(--cv-ink-medio); }
.sp-cv-fundos__dica { font-size: 12px; color: var(--cv-ink-suave); }
.sp-cv-fundo { width: 44px; height: 44px; border-radius: 10px; border: 2px solid transparent; cursor: pointer; background: var(--cv-navy); padding: 0; overflow: hidden; }
.sp-cv-fundo.is-on { border-color: var(--cv-ouro); }
.sp-cv-fundo img, .sp-cv-fundo__noite { width: 100%; height: 100%; object-fit: cover; border-radius: 8px; display: block; }
.sp-cv-fundo__noite { background: linear-gradient(160deg, #06152B, #004B9B); }
.sp-cv-estado { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.sp-cv-est { border-radius: 14px; padding: 14px; display: flex; flex-direction: column; gap: 2px; }
.sp-cv-est b { font-family: var(--cv-cond); font-weight: 700; font-size: 36px; line-height: 1; }
.sp-cv-est span { font-size: 14px; font-weight: 600; }
.sp-cv-est.is-pendente { background: var(--cv-aviso-fundo); color: var(--cv-aviso); }
.sp-cv-est.is-ok { background: var(--cv-ok-fundo); color: var(--cv-ok); }
.sp-cv-est.is-pos { background: var(--cv-porto-light); color: var(--cv-porto); }
.sp-cv-barra-prog { height: 10px; border-radius: 999px; background: var(--cv-borda); overflow: hidden; display: flex; }
.sp-cv-barra-prog__ok { background: var(--cv-ok); transition: width .6s; }
.sp-cv-barra-prog__warn { background: var(--cv-laranja); transition: width .6s; }
.sp-cv-meta { font-family: var(--cv-cond); font-size: 18px; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; }
.sp-cv-meta b { color: var(--cv-porto); }
.sp-cv-meta b.is-laranja { color: var(--cv-aviso); }
.sp-cv-lista { display: flex; flex-direction: column; }
.sp-cv-lista__vazia { font-size: 14px; color: var(--cv-ink-suave); }
.sp-cv-conv { display: flex; align-items: center; gap: 10px; padding: 9px 0; border-top: 1px solid var(--cv-borda); font-size: 14px; }
.sp-cv-conv:first-child { border-top: 0; }
.sp-cv-conv__n { flex: 1; font-weight: 600; min-width: 0; }
.sp-cv-ini { flex: none; width: 30px; height: 30px; border-radius: 50%; background: var(--cv-porto); color: #fff; font-family: var(--cv-cond); font-weight: 700; font-size: 14px; display: flex; align-items: center; justify-content: center; }
.sp-cv-tag { font-size: 12px; font-weight: 700; padding: 4px 10px; border-radius: 999px; white-space: nowrap; }
.sp-cv-tag.is-ok { background: var(--cv-ok-fundo); color: var(--cv-ok); }
.sp-cv-tag.is-pendente { background: var(--cv-aviso-fundo); color: var(--cv-aviso); }
.sp-cv-lembrar { height: 32px; padding: 0 12px; border-radius: 999px; border: 1px solid var(--cv-borda); background: #fff; font-size: 13px; font-weight: 600; color: var(--cv-porto); text-decoration: none; display: inline-flex; align-items: center; }
.sp-cv-tenho__form { display: flex; gap: 10px; }
.sp-cv-tenho__form input { flex: 1; height: 48px; border: 1.5px solid var(--cv-borda); border-radius: 12px; padding: 0 14px; font-size: 16px; font-family: var(--cv-cond); font-weight: 700; letter-spacing: .02em; color: var(--cv-ink); min-width: 0; }
.sp-cv-tenho__dica { font-size: 14px; color: var(--cv-ink-medio); }
.sp-cv-tenho__ok { display: flex; align-items: center; gap: 8px; font-size: 15px; color: var(--cv-ok); font-weight: 600; }
.sp-cv-tenho__visto { width: 24px; height: 24px; border-radius: 50%; background: var(--cv-ok-fundo); display: inline-flex; align-items: center; justify-content: center; }
.sp-cv-festa { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }
.sp-cv-conf { position: absolute; top: -14px; width: 8px; height: 14px; border-radius: 2px; animation: sp-cv-cai 1.6s ease-in forwards; }
@keyframes sp-cv-cai { 0% { transform: translateY(0) rotate(0); opacity: 1; } 100% { transform: translateY(420px) rotate(540deg); opacity: 0; } }

/* lojas */
.sp-cv-app { background: var(--cv-porto-light); border-color: var(--cv-porto-light); }
.sp-cv-app__texto { display: flex; flex-direction: column; gap: 2px; }
.sp-cv-app__texto strong { font-family: var(--cv-serif); font-size: 18px; }
.sp-cv-app__texto span { font-size: 14px; color: var(--cv-ink-medio); }
.sp-cv-app__botoes { display: flex; gap: 10px; flex-wrap: wrap; }
.sp-cv-loja { display: flex; align-items: center; height: 40px; text-decoration: none; }
.sp-cv-loja img { display: block; height: 40px; width: auto; }
.sp-cv-loja--abrir { padding: 0 14px; border-radius: 8px; background: var(--cv-porto); color: #fff; font-size: 15px; font-weight: 600; }
.sp-cv-loja--abrir:hover { background: var(--cv-porto-hover); color: #fff; }
.sp-cv-app__dica { font-size: 13px; color: var(--cv-ok); }

/* «Instala a app» no topo (6 Nov 2026): a app primeiro, o site como alternativa */
.sp-cv-instalar { display: flex; flex-direction: column; gap: 12px; }
.sp-cv-instalar [hidden] { display: none !important; }
.sp-cv-instalar__loja { height: auto; min-height: 64px; padding: 10px 24px; flex-direction: column; gap: 2px; line-height: 1.05; }
.sp-cv-instalar__loja small { font-family: var(--cv-sans); font-size: 13px; font-weight: 600; letter-spacing: 0; text-transform: none; opacity: .85; }
.sp-cv-instalar__abrir { font-size: 15px; font-weight: 600; color: #fff !important; text-decoration: underline; text-underline-offset: 3px; }
.sp-cv-instalar__site { font-size: 15px; color: rgba(255, 255, 255, .85) !important; text-decoration: underline; text-underline-offset: 3px; }
.sp-cv-instalar__site:hover { color: #fff !important; }
.sp-cv-instalar__dica { color: var(--cv-ouro); }
.sp-cv-qr { display: flex; gap: 16px; align-items: center; background: rgba(255, 255, 255, .1); border-radius: 16px; padding: 14px; }
.sp-cv-qr__img { flex: none; width: 116px; height: 116px; background: #fff; border-radius: 10px; padding: 6px; }
.sp-cv-qr__img svg { display: block; width: 100%; height: 100%; }
.sp-cv-qr__t { font-size: 15px; line-height: 22px; color: rgba(255, 255, 255, .92); margin: 0; }
.sp-cv-qr__t strong { color: #fff; }

/* entrar */
.sp-cv-entrar { display: flex; flex-direction: column; gap: 10px; }
.sp-cv-entrar__botao { height: 54px; border-radius: 12px; border: 1px solid var(--cv-borda); background: #fff; color: var(--cv-ink); font-size: 16px; font-weight: 600; display: flex; align-items: center; justify-content: center; gap: 10px; cursor: pointer; }
.sp-cv-entrar__g { font-weight: 700; color: var(--cv-porto); }
.sp-cv-entrar__fb { width: 20px; height: 20px; color: var(--cv-facebook); }
.sp-cv-entrar__botao[disabled] { opacity: .6; cursor: default; }
.sp-cv-entrar__nota { font-size: 12px; color: var(--cv-ink-suave); }

/* dúvidas */
.sp-cv-faq details { border-top: 1px solid var(--cv-borda); }
.sp-cv-faq summary { cursor: pointer; padding: 16px 0; font-weight: 600; font-size: 16px; list-style: none; display: flex; justify-content: space-between; gap: 16px; }
.sp-cv-faq summary::-webkit-details-marker { display: none; }
.sp-cv-faq summary::after { content: '+'; font-family: var(--cv-cond); font-size: 22px; color: var(--cv-porto); }
.sp-cv-faq details[open] summary::after { content: '−'; }
.sp-cv-faq p { font-size: 15px; line-height: 23px; color: var(--cv-ink-medio); padding: 0 0 16px; }

/* rodapé */
.sp-cv-rodape { max-width: 1180px; margin: 0 auto; padding: 24px 16px 32px; border-top: 1px solid var(--cv-borda); display: flex; flex-direction: column; gap: 8px; font-size: 13px; color: var(--cv-ink-suave); }
.sp-cv-rodape__links a { margin-right: 14px; }
.sp-cv-corpo--fim .sp-cv-botao { margin-top: 4px; }

/* computador */
@media (min-width: 720px) {
	.sp-cv-barra { height: 64px; }
	.sp-cv-barra__logo img { height: 34px; }
	.sp-cv-hero__in { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 48px; padding: 56px 24px 64px; }
	.sp-cv-hero__veu { background: linear-gradient(90deg, rgba(6, 21, 43, .96) 0%, rgba(6, 21, 43, .78) 55%, rgba(6, 21, 43, .35) 100%); }
	.sp-cv-h1 { font-size: 72px; }
	.sp-cv-h1--fim { font-size: 60px; }
	.sp-cv-tres li { font-size: 18px; line-height: 26px; }
	.sp-cv-botao--ouro, .sp-cv-botao--porto { width: auto; align-self: flex-start; padding: 0 28px; }
	.sp-cv-corpo--fim .sp-cv-botao--porto { align-self: flex-start; }
	.sp-cv-voucher { padding: 22px; }
	.sp-cv-voucher__t { font-size: 44px; }
	.sp-cv-voucher__bola { width: 96px; right: -26px; top: -34px; }
	.sp-cv-wrap { padding: 0 24px; }
	.sp-cv-sec { padding: 56px 0; }
	.sp-cv-h2--sec { font-size: 34px; }
	.sp-cv-passos { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
	.sp-cv-passo { flex-direction: column; padding: 22px; }
	.sp-cv-passo__n { font-size: 48px; }
	.sp-cv-passo h3 { font-size: 26px; }
	.sp-cv-grelha2 { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; }
	.sp-cv-grelha2--centro { align-items: center; }
	.sp-cv-grelha3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.sp-cv-lugares { grid-template-columns: repeat(15, minmax(0, 1fr)); }
	.sp-cv-lugares--cartao { grid-template-columns: repeat(20, minmax(0, 1fr)); gap: 4px; }
	.sp-cv-bancada { padding: 22px; }
	.sp-cv-bancada__cab { flex-direction: row; justify-content: space-between; align-items: baseline; }
	.sp-cv-corpo { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 20px; padding: 24px 24px 40px; align-items: start; }
	.sp-cv-corpo__topo { grid-column: 1 / -1; }
	.sp-cv-corpo--fim { grid-template-columns: 1fr; max-width: 820px; }
	.sp-cv-cartaoconvite { padding: 26px; gap: 12px; }
	.sp-cv-cartaoconvite__logo { height: 22px; }
	.sp-cv-codigo { font-size: 72px; }
	.sp-cv-cartaoconvite__link { font-size: 15px; }
	.sp-cv-est b { font-size: 40px; }
	.sp-cv-rodape { flex-direction: row; justify-content: space-between; padding: 28px 24px; }
}
