Estrutura dos Códigos Atômicos

1º Passo: CSS do Site Copie o código abaixo e cole no Custom CSS das Configurações do Site.

				
					/*CSS DO SITE - CÓDIGOS ATÔMICOS*/

/* ### TEXTOS E CORES ### */

/*Remover margens vazias dos textos e títulos (IMPORTANTE: Inserir no css do site em caso de wordpress NOVO em caso contrário no css da página)*/
p:last-child{
    margin: 0;
}

.elementor-image-box-title, .elementor-icon-box-title{
    margin-top: 0;
}

.destaque{
    color: var(--cor-destaque);
}

.destaquebold{
    color: var(--cor-destaque);
    font-weight: 700;
}

.fundodestaque{
    background: var(--cor-destaque);
    color: var(--cor-fundo-destaque);
    border-radius: 3px;
    padding: 2px 0.2em;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
    /*line-height: 1.6em !important;*/
}

/*Degradê no texto*/
.degrade{
    background: var(--cor-degrade);
    -webkit-background: var(--cor-degrade);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent !important;
    -webkit-text-fill-color: transparent;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
    padding: 16px 0;
}

.branco{
    color: #fff;
}

.brancobold{
    color: #fff;
    font-weight: 700;
}

/*Quebra de linha forçada*/
.br-space{
    content: "" !important;
    display: block !important;
    margin-bottom: .7em !important;
}

/*Link - Cor do texto do link*/
.link a, .link a:hover{
    color: currentColor !important;
}

/*Texto com quebra balanceada*/
.text-balance{
    text-wrap: balance;
}
/*Texto com quebra balanceada - Apenas Mobile*/
@media (max-width: 767px){
/*Texto com quebra balanceada*/
.text-balance-mobile{
    text-wrap: balance;
}
}

/*Alterar textos de acordo com Desktop ou Mobile*/
@media (min-width: 1025px){
.mobile{
    display: none !important;
}
}
@media (max-width: 1024px){
.desktop{
    display: none !important;
}
}

/* ### IMAGENS ### */

/*BG para Mobile*/
@media (max-width: 767px){
/*BG mobile: cor sólida no fundo do container. BG mobile custom: fundo do container escolhido manualmente*/
.bg-mobile img, .bg-mobile-custom img{
    max-width: calc(100% + (2 * var(--padding-horizontal)));
    margin-left: calc(-1 * var(--padding-horizontal)) !important;
}
.e-con:has(*.bg-mobile) {
    background: var(--cor-fundo-bg-mobile) !important;
}
}
@media (min-width: 768px){
.bg-mobile{
    display: none;
}
}

/* ### ÍCONES/SVG ### */

/* Remover margem vazia dos ícones (exceto Social Media) */
.elementor-icon:not(.elementor-social-icon) > svg {
    margin-bottom: -7px;
}

/*Tamanho padrão dos ícones (quadrado)*/
.icon-size-64 svg{
    width: var(--icon-size-64) !important;
    height: var(--icon-size-64) !important;
}
.icon-size-48 svg{
    width: var(--icon-size-48) !important;
    height: var(--icon-size-48) !important;
}
.icon-size-40 svg{
    width: var(--icon-size-40) !important;
    height: var(--icon-size-40) !important;
}
.icon-size-32 svg{
    width: var(--icon-size-32) !important;
    height: var(--icon-size-32) !important;
}
.icon-size-24 svg{
    width: var(--icon-size-24) !important;
    height: var(--icon-size-24) !important;
}
.icon-size-20 svg{
    width: var(--icon-size-20) !important;
    height: var(--icon-size-20) !important;
}

/*Centralizar texto e ícone do botão*/
.botao-icone-drt .elementor-button-content-wrapper, .botao-icone-esq .elementor-button-content-wrapper{
    display: grid;
    grid-template-areas:
    "a b";
    grid-gap: 8px;
}
.botao-icone-drt svg, .botao-icone-esq svg{
    fill: var(--color-text-botao) !important;
}
.botao-icone-drt .elementor-button-text{
    grid-area: a;
    align-self: center;
}
.botao-icone-esq .elementor-button-text{
    grid-area: b;
    align-self: center;
}

/* ### AJUSTES GERAIS ### */

/*Zerar padding vertical*/
.padding-top-zero{
    padding-top: 0 !important;
}
.padding-bottom-zero{
    padding-bottom: 0 !important;
}

/*Degradê de transição - De baixo para cima*/
.transicao-to-top::after, .transicao-to-botom::after{
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background: linear-gradient(to top, var(--cor-transicao), transparent var(--percentual-transicao));
    bottom: 0 !important;
    left: 50%;
    transform: translate(-50%);
    pointer-events: none;
    z-index: 0;
}
/*Degradê de transição - De cima para baixo*/
.transicao-to-botom::after{
    background: linear-gradient(to bottom, var(--cor-transicao), transparent var(--percentual-transicao)) !important;
}

/*Camada de colorização acima (cor sólida com modo de mesclagem color)*/
.blendmode-color::after{
	content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background: var(--cor-blendmode-color);
	mix-blend-mode: color;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
    z-index: 0;
}

/*Posicionar os elementos internos do contaner acima do gradiente de transição*/
.transicao-to-top .elementor-widget, .transicao-to-botom .elementor-widget, .blendmode-color .elementor-widget{
    z-index: 1;
}

/*Widgets de HTML - Zerar espaço ocupado no Rodapé*/
.html-sem-dimensoes, .rodape .elementor-widget-html{
    position: absolute;
    width: 0 !important;
    bottom: 0;
    left: 50%;
}

/*Ocultar elemento - Em todos os dispositivos*/
.ocultar{
    display: none !important;
}
/*Ocultar elemento - Exceto mobile*/
@media (min-width: 768px){
.ocultar-exceto-mobile{
    display: none !important;
}
}
/*Ocultar elemento - Exceto tablet e mobile*/
@media (min-width: 1025px){
.ocultar-exceto-tablet-mobile{
    display: none !important;
}
}
/*Ocultar elemento - Apenas no mobile*/
@media (max-width: 767px){
.ocultar-apenas-mobile{
    display: none !important;
}
}
/*Ocultar elemento - Apenas no tablet e mobile*/
@media (max-width: 1024px){
.ocultar-apenas-tablet-mobile{
    display: none !important;
}
}

/*Bloquear clique no elemento*/
.bloquear-clique{
    pointer-events: none;
}
/*Bloquear seleção do elemento*/
.bloquear-selecao{
    user-select: none;
}
/*Bloquear total*/
.bloquear-total{
    pointer-events: none;
    user-select: none;
}

/*Centralizar elemento na seção*/
.centralizar{
    position: relative;
    left: 50%;
    transform: translateX(-50%);
}

/*Posicionar elementos nos cantos da área útil*/
.position-left-top, .position-left-bottom, .position-right-top, .position-right-bottom{
    position: absolute;
}
.position-left-top, .position-left-top .top-zero{
    left: calc(50% - calc((var(--container-max-width)) / 2));
	top: var(--padding-vertical);
}
.position-left-bottom, .position-left-bottom .bottom-zero{
    left: calc(50% - calc((var(--container-max-width)) / 2));
	bottom: var(--padding-vertical);
}
.position-right-top, .position-right-top .top-zero{
    right: calc(50% - calc((var(--container-max-width)) / 2));
	top: var(--padding-vertical);
}
.position-right-bottom, .position-right-bottom .bottom-zero{
    right: calc(50% - calc((var(--container-max-width)) / 2));
	bottom: var(--padding-vertical);
}
.top-zero{
	top: 0 !important;
}
.bottom-zero{
	bottom: 0 !important;
}
/*Exceto Desktop*/
@media (max-width: 1366px){
.position-left-top, .position-left-bottom{
    left: var(--padding-horizontal) !important;
    right: auto !important;
}
.position-right-top, .position-right-bottom{
    right: var(--padding-horizontal) !important;
    left: auto !important;
}
}
				
			

2º Passo: CSS do Página Copie o código abaixo e cole no Custom CSS das Configurações da Página.

				
					/*CSS DA PÁGINA - CÓDIGOS ATÔMICOS*/

/* ### VARIÁVEIS GLOBAIS ### */

:root{
    /*Paleta de cores*/
    --cor-destaque: red;
    --cor-fundo-geral: black;
	--cor-fundo-destaque: var(--cor-fundo-geral);
	--cor-degrade: linear-gradient(to right, red 15%, blue 100%);
	
	/*--cor-fundo-bg-mobile: var(--cor-fundo-geral);*/
	--cor-blendmode-color: var(--cor-fundo-geral);
	--cor-transicao: var(--cor-fundo-geral);
	--percentual-transicao: 60%;
    
    /*Barra de scroll*/
    --cor-barra-scroll: var(--cor-destaque);
    --cor-fundo-barra-scroll: var(--cor-fundo-geral);
    --largura-barra-scroll: 6px;
    --espessura-border-barra-scroll: 0px;
    --border-radius-barra-scroll: 10px;

    /*Tipografias*/
    --fonte-primaria: "DM Sans", sans-serif;
    --fonte-secundaria: "DM Sans", sans-serif;
	
	/*Cores Light para Textos)*/
    --cor-l100: rgba(255, 255, 255, 1);
    --cor-l80: rgba(255, 255, 255, .8);
    --cor-l60: rgba(255, 255, 255, .6);
    --cor-l40: rgba(255, 255, 255, .4);
    --cor-l20: rgba(255, 255, 255, .2);
    --cor-l10: rgba(255, 255, 255, .1);
	
	/*Cores Dark para Textos)*/
    --cor-d100: rgba(22, 22, 22, 1);
    --cor-d80: rgba(22, 22, 22, .8);
    --cor-d60: rgba(22, 22, 22, .6);
    --cor-d40: rgba(22, 22, 22, .4);
    --cor-d20: rgba(22, 22, 22, .2);
    --cor-d10: rgba(22, 22, 22, .1);	

    /*VARIÁVEIS DINÂMICAS. Padrão: Contexto ESCURO (Fundo dark/escuro, texto claro)*/
    --cor-primaria: var(--cor-l100); /* Headlines e Títulos */
    --cor-secundaria: var(--cor-l60);  /* Textos/Subtítulos */
    --cor-borda: var(--cor-l20);  /* Bordas sutis */
    
    /*Ícones: Tamanhos padrões (quadrados)*/
    --icon-size-64: clamp(32px, 6.25vw, 64px);
	--icon-size-48: clamp(32px, 4.69vw, 48px);
	--icon-size-40: clamp(24px, 3.91vw, 40px);
	--icon-size-32: clamp(24px, 3.13vw, 32px);
    --icon-size-24: clamp(20px, 2.34vw, 24px);
    --icon-size-20: clamp(18px, 1.95vw, 20px);
	
	/*Cards e Box interno: Espaçamentos e layout*/
	--border-radius-padrao: clamp(10px, 1.56vw, 16px);
	--border-radius-p: 8px;
    --border-radius-m: clamp(16px, 2.15vw, 24px);
    --border-radius-g: clamp(24px, 2.34vw, 40px);
	
    --gap-cards: clamp(16px, 2.34vw, 32px);
    --gap-box-interno: clamp(20px, 3.13vw, 64px);
	--gap-textos-padrao: clamp(10px, 1.56vw, 16px);
	--gap-textos-p: 8px;
	--gap-textos-m: clamp(10px, 2.34vw, 24px);
	--gap-textos-g: clamp(20px, 3.13vw, 40px);
	
	--padding-cards-padrao: clamp(16px, 2.34vw, 24px);
	--padding-cards-p: clamp(8px, 1.56vw, 16px);
	--padding-cards-m: clamp(20px, 3.13vw, 32px);
    --padding-cards-g: clamp(24px, 6.25vw, 64px);
	
	/*Seção: Espaçamentos*/
	--largura-area-util: 1280px;
	
    --gap-secao: clamp(24px, 3.91vw, 48px);	
	
	--padding-vertical: 120px;
	--padding-horizontal: 40px;
}

/*Em containers no modo dark o texto fica light/claro. AVISO: Use "bg.light" para containers filho (em modo light) que estiverem dentro de um container pai no modo dark*/
.bg-dark, .bg-dark-custom {
    --cor-primaria: var(--cor-l100);
    --cor-secundaria: var(--cor-l60);
    --cor-borda: var(--cor-l20);
}
.bg-light, .bg-light-custom {
    --cor-primaria: var(--cor-d100);
    --cor-secundaria: var(--cor-d80);
    --cor-borda: var(--cor-d20);
}
/*Backgrounds com cores Pré-definidas*/
.bg-dark {
    background: var(--cor-fundo-geral) !important;
}
.bg-light {
    background: #fff !important;
}

/*Apenas Laptop*/
@media (min-width: 1025px) and (max-width: 1366px){
:root{
    /*Seção: Espaçamentos*/
    --padding-vertical: 80px;
	--padding-horizontal: 40px;
}
}

/*Apenas Tablet*/
@media (max-width: 1024px) and (min-width: 768px){
:root{
    /*Seção: Espaçamentos*/
	--largura-area-util: 100%;
	
    --padding-vertical: 64px;
	--padding-horizontal: 24px;
}
}

/*Apenas Mobile*/
@media (max-width: 767px){
:root{	
	/*Seção: Espaçamentos*/
	--largura-area-util: 390px;
	
    --padding-vertical: 40px;
	--padding-horizontal: 16px;
}
}

/* ### AJUSTES DE BODY/HTML E SEÇÕES ### */

/*Largura útil do layout*/
.e-con:not(.horizontal-personalizada):not(.padding-personalizado) {
    --container-max-width: var(--largura-area-util);
    padding-left: var(--padding-horizontal);
    padding-right: var(--padding-horizontal);
}
.e-con:not(.vertical-personalizada):not(.padding-personalizado) {
    padding-top: var(--padding-vertical);
    padding-bottom: var(--padding-vertical);
}

/*Zerar padding de container dentro de container*/
.e-con-full{
    padding: 0 !important;
}

/*Widgets com largura 100% no Mobile*/
@media (max-width: 767px){
.e-con .elementor-widget:not(.largura-fixa):not(.elementor-widget-button):not(.elementor-widget-icon):not(.elementor-widget-image){
    width: 100% !important;
}
}

/*Personalização da barra de scroll*/

/*Ocultar barra de rolagem*/
/*::-webkit-scrollbar{
    display: none;
}*/

/*Chrome, Edge e Safari*/
body::-webkit-scrollbar {
    width: var(--largura-barra-scroll) !important;
}
body::-webkit-scrollbar-thumb {
    background-color: var(--cor-barra-scroll);
    border-radius: var(--border-radius-barra-scroll);
    border: var(--espessura-border-barra-scroll) solid var(--cor-fundo-barra-scroll);
}
body::-webkit-scrollbar-track {
    background: var(--cor-fundo-barra-scroll);
}
/*Firefox*/
@-moz-document url-prefix() {
* {
    scrollbar-width: var(--largura-barra-scroll);
    scrollbar-color: var(--cor-barra-scroll) var(--cor-fundo-barra-scroll);
    -moz-appearance: scrollbar;
  }
}

/*Ocultar barra de rolagem horizontal(x)*/
html, body{
    width: 100% !important;
    overflow-x: clip !important;
}

/*Cor geral de fundo*/
body{
    background-color: var(--cor-fundo-geral) !important;
}

/*Ocultar barra de rolagem vertical(y) duplicada*/
/*body{
    overflow-y: hidden !important;
}*/

/*Alterar cor da seleção*/
::selection {
    -webkit-text-fill-color: var(--cor-fundo-geral);
    color: var(--cor-fundo-geral);
    background: var(--cor-destaque);
}

/* ### PERSONALIZAÇÃO DO BOTÃO ### */

/*Colar CSS do Botão aqui*/
				
			

3º Passo: CSS dos Botões Copie o código abaixo e cole no Custom CSS da Página.

				
					:root{
	/*Botão primário*/
    --fundo-botao: var(--cor-destaque);
    --profundidade: 4px;
    --sombra-botao: 0px var(--profundidade) 0px 0px #116050, 0px 32px 40px -24px rgba(32, 238, 197, 0.16);
    --font-size-botao: clamp(16px, 2.15vw, 22px);
    --color-text-botao: var(--cor-fundo-geral);
    --border-radius-botao: 200px;
    --padding-botao:
	/*Padding vertical*/
	clamp(20px, 2.15vw, 24px)
	/*Padding horizontal*/
	clamp(16px, 3vw, 32px);

	/*Botão secundário*/
	--fundo-botao-sec: transparent;
    --sombra-botao-sec: none;
    --font-size-botao-sec: 14px;
    --padding-botao-sec:
    /*Padding vertical*/
	clamp(8px, .9vw, 10px)
	/*Padding horizontal*/
	clamp(16px, 1.95vw, 20px);
}

.elementor-button{
    background: var(--fundo-botao) !important;
    box-shadow: var(--sombra-botao) !important;
    font-family: var(--fonte-primaria) !important;
    font-size: var(--font-size-botao) !important;
    color: var(--color-text-botao) !important;
    border-radius: var(--border-radius-botao) !important;
    padding: var(--padding-botao) !important;
    line-height: 1.3em !important;
    border: none !important;
    text-wrap: balance;
    margin-bottom: var(--profundidade);
    transition: all .4s !important;
}

.btn-sec .elementor-button{
    background: var(--fundo-botao-sec) !important;
    box-shadow: var(--sombra-botao-sec) !important;
    font-size: var(--font-size-botao-sec) !important;
    color: var(--cor-secundaria) !important;
    padding: var(--padding-botao-sec) !important;
    border: 1px solid var(--cor-secundaria) !important;
    margin-bottom: 0 !important;
}

.elementor-button:hover{
    transform: scale(1.05);
}

.elementor-button:active {
    transform: scale(.95);
}

.elementor-button:focus {
    outline: none;
}

.btn-sec .elementor-button:hover, .btn-sec .elementor-button:active, .btn-sec .elementor-button:focus{
    color: var(--cor-secundaria) !important;
}

/*Apenas Mobile < 359px*/
@media (max-width: 359px){
    :root{
        /*--font-size-botao: 5.2vw !important;*/
    }
}
				
			

4º Passo: CSS da Estrutura dos Textos Copie o código abaixo e cole no Custom CSS da Página. (abaixo css do botão)

				
					/* ### ESTRUTURA DOS TEXTOS ### */

/*Tamanho REM padrão para textos*/
html{
	/*font-size: 10px;*/
}

:root {
	/* Font size */
	--font-size-headline: 64px;
	--font-size-subheadline: 24px;
	--font-size-pretitulo: 14px;
	--font-size-titulo: 40px;
	--font-size-titulo-card: 24px;
	--font-size-subtitulo: 20px;
	--font-size-texto: 16px;

	/* Line height */
	--line-height-headline: 1.2em;
	--line-height-padrao: 1.4em;

	/* Font abreviada */
	--font-headline: 700 var(--font-size-headline)/var(--line-height-headline) var(--fonte-primaria);
	--font-subheadline: 400 var(--font-size-subheadline)/var(--line-height-padrao) var(--fonte-secundaria);
	--font-pretitulo: 400 var(--font-size-pretitulo)/var(--line-height-padrao) var(--fonte-secundaria);
	--font-titulo: 700 var(--font-size-titulo)/var(--line-height-padrao) var(--fonte-secundaria);
	--font-titulo-card: 700 var(--font-size-titulo-card)/var(--line-height-padrao) var(--fonte-secundaria);
	--font-subtitulo: 400 var(--font-size-subtitulo)/var(--line-height-padrao) var(--fonte-secundaria);
	--font-texto: 400 var(--font-size-texto)/var(--line-height-padrao) var(--fonte-secundaria);
}

.headline {
	font: var(--font-headline);
	color: var(--cor-primaria);
	display: block;
}

.subheadline {
	font: var(--font-subheadline);
	color: var(--cor-secundaria);
	display: block;
}

.pretitulo {
	font: var(--font-pretitulo);
	letter-spacing: .4em;
	text-transform: uppercase;
	color: var(--cor-secundaria);
	display: inline-block;
	margin-bottom: var(--gap-textos-padrao);
}

.titulo {
	font: var(--font-titulo);
	color: var(--cor-primaria);
	display: block;
}

.titulo-card {
	font: var(--font-titulo-card);
	color: var(--cor-primaria);
	display: block;
}

.subtitulo {
	font: var(--font-subtitulo);
	color: var(--cor-primaria);
	display: block;
	margin-top: var(--gap-textos-padrao);
}

.sem-margem .subtitulo {
	margin-top: 0 !important;
}

.texto {
	font: var(--font-texto);
	color: var(--cor-secundaria);
	display: block;
}

:where(.subheadline, .subtitulo, .texto) b,
:where(.subheadline, .subtitulo, .texto) strong {
	color: var(--cor-primaria);
}

/* Apenas Laptop */
@media (min-width: 1025px) and (max-width: 1366px) {
	:root {
		/* Font size */
		--font-size-headline: 48px;
		--font-size-subheadline: 22px;
	}
}

/* Apenas Tablet */
@media (max-width: 1024px) and (min-width: 768px) {
	:root {
		/* Font size */
		--font-size-headline: 40px;
		--font-size-subheadline: 20px;
		--font-size-titulo: 32px;
	}
}

/* Apenas Mobile */
@media (max-width: 767px) {
	:root {
		/* Font size */
		--font-size-headline: 32px;
		--font-size-subheadline: 18px;
		--font-size-pretitulo: 12px;
		--font-size-titulo: 24px;
		--font-size-titulo-card: 18px;
		--font-size-subtitulo: 18px;
		--font-size-texto: 15px;

		/* Line height */
		--line-height-headline: 1.3em;
	}

	.headline, .subheadline, .titulo, .titulo-card, .subtitulo, .texto {
		text-wrap: balance;
	}
}

/* Apenas Mobile < 359px */
@media (max-width: 359px) {
	:root {
		/* Font size */
		--font-size-headline: 10vw !important;
		--font-size-subheadline: 5vw !important;
	}
}
				
			

Recursos Exclusivos dos Códigos Atômicos - Heitor Vinícius Design