Como o seu CSS é aplicado
O seu CSS vale só dentro do checkout.:root, html e body apontam para o próprio checkout, e qualquer outro seletor só acerta elementos dentro dele.
Defina as variáveis em :root e estilize os blocos pelos ganchos data-checkout-part:
--checkout-background ou com o campo Cor de fundo do editor, senão ele continua claro. Os dois valem na página de venda e nas telas de resultado, e a variável vence o campo. Parte do texto fica sobre o fundo da página e parte sobre --checkout-surface, então escolha uma cor de texto que contraste com os dois. Os campos do cartão só acompanham essas cores no tema infoproduct; nos temas shop e stepped, mantêm o visual claro próprio.
Variáveis que você pode definir
Defina estas em:root. O padrão é o que os campos do tema mostram enquanto a variável não é definida. Outros elementos que leem a variável mantêm o próprio tom até você defini-la: no tema infoproduct, por exemplo, os campos usam #d4d4d8 e os cartões usam #e5e5e5. Definir a variável deixa os dois iguais.
Variáveis que você pode ler
Estas trazem valores dos campos do editor. Use-as dentro devar(...) nas suas regras e mude-as no editor.
Ganchos
Cada gancho é um atributo num bloco que já existe na página de venda. Aponte para ele com o seletor de atributo.Telas de resultado
As variáveis de cor também valem nas telas que o comprador vê depois de pagar: Pix, cartão, boleto, assinatura, a confirmação de cada tema, o upsell e o resumo pós-checkout.- Fundo da página: o mesmo da página de venda.
--checkout-backgroundvence quando definida; sem ela, vale o campo Cor de fundo do editor, e com o campo vazio cada tela mantém o tom próprio, branco ou um cinza bem claro. - Blocos com cor própria: estes ficam como estão, seja qual for o seu CSS:
- o cartão do QR code do Pix, as caixas de código e os botões de copiar;
- o bloco do boleto, inclusive o QR code dele no Peru;
- os avisos de “aguardando confirmação” dentro desses blocos;
- o selo do cronômetro do upsell;
- o balão do pino no mapa;
- os painéis de status.
- Cor terciária: quando o editor define essa cor, ela vence nos botões de recusar e aplicar, então precisa contrastar com o fundo definido pelo seu CSS.
- Ganchos: só têm garantia na página de venda. Quando um deles também aparece numa tela de resultado, lá ele fica fora do contrato.
O que fica nos campos do editor
Defina estes no editor, não no CSS. A única exceção é o fundo da página:- cor primária
- fundo da página: o campo Cor de fundo do editor, que também vale nas telas de resultado e que o seu CSS sobrescreve quando define
--checkout-background - cor do header
- cor e raio dos cantos do botão de pagar
- fonte
- logo, banner e imagens, porque
url()não é permitido no CSS
Regras de estilo
Todo CSS precisa seguir estas regras. Quando alguma é quebrada, o editor não salva e lista cada problema com a linha e a coluna.- Tamanho: até 50 000 caracteres. O editor conta em bytes, então caracteres acentuados ocupam mais de um. Depois de restrito ao checkout, o CSS também tem teto de 150 000 caracteres.
- At-rules: só
@media,@supports,@containere@keyframes. Qualquer outra, como@import,@font-face,@namespace,@layer,@pageou@property, é recusada. - Sem
url(), em nenhuma propriedade. - Funções: só estas são permitidas. Qualquer outra, como
image-set(),image()ouattr(), é recusada.- cores:
rgb(),rgba(),hsl(),hsla(),hwb(),lab(),lch(),oklab(),oklch(),color(),color-mix(),light-dark() - variáveis e ambiente:
var(),env() - cálculo:
calc(),-webkit-calc(),min(),max(),clamp(),round(),mod(),rem(),abs(),sign() - gradientes:
linear-gradient(),radial-gradient(),conic-gradient(), as versõesrepeating-e as formas com prefixo-webkit-de todos eles - transformações:
matrix(),matrix3d(),perspective(),rotate(),rotate3d(),rotateX(),rotateY(),rotateZ(),scale(),scale3d(),scaleX(),scaleY(),scaleZ(),skew(),skewX(),skewY(),translate(),translate3d(),translateX(),translateY(),translateZ() - filtros:
blur(),brightness(),contrast(),grayscale(),hue-rotate(),invert(),opacity(),saturate(),sepia() - formas:
inset(),circle(),ellipse(),polygon(),rect(),xywh() - tempo, grid e contadores:
cubic-bezier(),steps(),minmax(),repeat(),fit-content(),counter(),counters()
- cores:
- Seletores: sem
:visited, sem seletor de atributo sobrevalue, sem seletor que comece com um combinador, como> a, e sem~ou+depois de:root,htmloubody. - Sem aninhamento: sem
&e sem regras ou at-rules dentro de outra regra. - Propriedades:
behavior,-moz-bindinge-webkit-box-reflectsão recusadas. - Alcance e ampliação: nada pode pintar muito além do próprio elemento nem ampliá-lo muito. Nas propriedades abaixo, medidas vão em
pxourem(umremconta como 16px), ou0, e fatores de escala em números. Medidas ememou%, unidades de viewport,calc(),min(),max(),clamp()evar()são recusados nelas, seja numa parte do valor, na cor ou no valor inteiro.box-shadow,text-shadow,outline,outline-width,outline-offset, ooutsetdoborder-image,text-decoration,text-decoration-thickness,text-underline-offset,-webkit-text-strokee as formas com prefixo: cada medida vai até 64px. Para usar uma variável na cor, defina-a na própria propriedade, comooutline-color: var(--checkout-primary).filter: os raios dosblur()somam no máximo 64px, edrop-shadow()é recusada. Filtros de cor, comobrightness()ougrayscale(), não têm limite e aceitamvar().transform,scaleezoom: cada declaração amplia no máximo 1,1×, contandoscale(),matrix()eskew().translate()erotate()não têm limite e aceitamvar()ecalc().perspective(),matrix3d()e qualquerperspectivediferente denonesão recusados.
- Blocos protegidos: nada que esconda ou cubra o conteúdo de um gancho protegido. O editor não confere esta regra ao salvar: quem confere é o checkout, desligando o seu CSS, como diz o aviso abaixo dos ganchos.
Teste antes de salvar
1
Cole o seu CSS
Cole o CSS no campo de CSS customizado do editor do checkout.
2
Corrija o que o editor apontar
Cada problema mostra a linha e a coluna. Só dá para salvar quando a lista estiver vazia.
3
Confira a pré-visualização
A pré-visualização do editor aplica o mesmo CSS que o checkout publicado serve. Confira os blocos que você mudou no desktop e no celular.
4
Salve
Salve a configuração para publicar o CSS.
Se a pré-visualização aplica o seu CSS e logo depois volta ao padrão, o checkout desligou o seu CSS porque um campo, um preço ou o botão de pagar ficou invisível ou sem contraste. O caso típico é texto claro sobre o fundo da página ainda claro: defina
--checkout-background ou escureça o campo Cor de fundo.Use com uma IA
Para reproduzir o visual de outro checkout, copie o prompt abaixo na IA que você usa. Troque tudo o que está entre colchetes pelo checkout de referência e pelos valores atuais do seu editor, e anexe prints da referência. A resposta vem em duas partes: os valores vão para os campos do editor e o CSS para o campo de CSS customizado. Depois, teste na pré-visualização como acima.Classes utilitárias
Seletores escritos sobre as classes utilitárias do checkout, como.bg-white, continuam funcionando, mas não fazem parte do contrato e podem mudar em qualquer atualização do checkout. Prefira os ganchos e as variáveis desta página.
Esta página documenta o contrato de estilo v1. Uma mudança nas variáveis ou nos ganchos sobe a versão do contrato.

