/* reset css */
* { box-sizing:border-box; }
html { --font-family:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; --cor-primaria:#0B0F1D; }
html, body { font:16px/1.6em var(--font-family); color:#FFFFFF; background-color:#0B0F1D; }
html, body, div, main, section, article, aside, figure, fieldset, header, footer { position:relative; display:block; margin:0; padding:0; border:none; }
h1, h2, h3, h4, h5, h6 { line-height:1; }
h1, h2, h3, h4, h5, h6, p { margin:0; padding:0; }
ul, ol { margin:0; padding:0; list-style-position:inside; }
img, figure, iframe, embed, object, video { max-width:100%; border:none; }
input[type="submit"], button, select, option, optgroup { cursor:pointer; }
input, button, select, option, optgroup, textarea { display:block; margin:0; padding:0; font:15px/23px var(--font-family); color:#000000; outline:none; border:none; }
a { text-decoration:none; color:#FFFFFF; }
a:hover { text-decoration:underline; }
i { color:#2C6BB3; }

input:focus::-moz-placeholder { opacity:0 !important; }
input:focus::-webkit-input-placeholder { opacity:0 !important; }

textarea:focus::-moz-placeholder { opacity:0 !important; }
textarea:focus::-webkit-input-placeholder { opacity:0 !important; }

::-moz-placeholder { opacity:1 !important; color:#000000; }
::-webkit-input-placeholder { opacity:1 !important; color:#000000; }

/* geral */
.central { margin:0 auto; padding:0 20px; max-width:1152px; }
.clear { clear:both; }

h2 { padding-bottom:20px; font:600 2.25rem/1.6 "Gunterz Black", sans-serif; }
h3 { font:600 1.5rem/1.6 "Gunterz Black", sans-serif; margin-bottom: 0.75rem; letter-spacing:-0.5px; }

section .section-header { text-align: center; margin-bottom: 3rem; }
section .section-header p { font-size: 1.125rem; color: #9D9D9C; margin-bottom:1rem; }

.aviso-privacidade { position:fixed; bottom:0; left:0; padding:20px; width:100%; text-align:center; color:#ffffff; background-color:rgba(0,0,0,0.75); z-index:3; }
.aviso-privacidade > p { text-align:left; }
.aviso-privacidade > p a { text-decoration:underline; color:#ffffff; }
.aviso-privacidade .botao-privacidade { display:inline-block; vertical-align:middle; margin-top:10px; padding:10px 30px; border-radius:5px; background-color:#d43c0e; cursor:pointer; font-weight:700; color:#ffffff; }

/* paginas internas */
.paginas-internas section .conteudo { padding:30px 0; }

/* abre menu sanduiche */
.sanduiche-aberto header .desktop { display:block; background: #0B0F1D; overflow-x:hidden; overflow-y:auto; transform:translateX(0); transition:all .30s linear; z-index:2; }
.sanduiche-aberto { overflow:hidden; }

/* validacao formulario */
.sucesso { margin:0 !important; padding:0 !important; font-size:15px !important; font-weight:700 !important; text-align:center !important; color:#66b34e !important; }
.erro-enviar { margin:0 !important; padding:0 !important; font-size:15px !important; font-weight:700 !important; text-align:center !important; color:#c00 !important; }
.erro-enviar a { display:block !important; color:#c00 !important; }
.retorno { display:block !important; margin:15px 0 0 !important; padding:0 !important; font-size:15px !important; font-weight:700 !important; text-align:left !important; color:#c00 !important; clear:both !important; }
.erro:focus { color:#000000 !important; border:1px solid #c00 !important; background-color:#f7cece !important; }
form .retorno { display:none; }

/* topo */
header { padding:16px 0; }
header .central { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:19.4px 24px; }
header .logo figure { position:relative; margin:0 auto; width:100%; max-width:94px; min-height:53px; }
header .logo img { margin:0; vertical-align:top; }
header .menu { position:absolute; top: calc(50% - 17px); right:0; }
header .sanduiche { width:40px; height:34px; background:#000000 url('../img/ico-menu-sanduiche.png') center center no-repeat; cursor:pointer; }
header .desktop { position:fixed; top:0; right:0; padding:10px 0; width:100%; max-width:280px; height:100%; transform:translateX(280px); background-color:#ffffff; }
header .desktop a { display:block; margin-top:10px; padding:0 10px; font-weight:400; }
header .desktop a:first-child { margin-top:0; }
header .desktop a.orcamento { padding:20px 10px; line-height:1; color:#ffffff; background-color:#d43c0e; }
header .desktop .fechar { position:absolute; top:5px; right:5px; padding:12px; width:18px; height:18px; background:#000000 url('../img/ico-fechar.png') center no-repeat; cursor:pointer; }
#topo-orcamento { display:none; }

/* index */
#entrada { z-index:1; }
#banners { z-index:1; height:100vh; width:100%; min-height:700px; }
#banners .imagem { z-index:1; height:100%; }
#banners .imagem .foto { display:none; }
#banners .imagem figure { position:relative; width:100%; height:100%; background:no-repeat center center; background-size:cover; }
#banners .imagem .logo img { max-height:60px; }
#banners .imagem figure > a { display:flex; align-items:center; justify-content:space-between; position:absolute; top:0; width:100%; height:100%; text-decoration:none; }
#banners .imagem figure .foto { max-width:50%; }
#banners .imagem .central { display:flex; align-items:center; justify-content:center; width:100%; height:420px; }
#banners .imagem .texto { display: flex; flex-direction: column; align-items: flex-start; gap: 1.5rem; }
#banners .imagem .texto p.distribuidor { color: #ffffff; font:500 1rem/1 var(--font-family); text-transform: uppercase; letter-spacing: 1px; }
#banners .imagem .texto h1 { font:700 2.5rem/1.1 var(--font-family); color:#ffffff; text-align:left; }
#banners .imagem .texto h2 { font:1rem/1.6 var(--font-family); color:#ffffff; text-align:left; padding:0; }
#banners .imagem .texto p { font:1rem/1.6 var(--font-family); color:#ffffff; }
#banners .imagem .cycle-slide { opacity:0; }
#banners .imagem .cycle-slide-active .texto { transition:opacity .60s linear; opacity:1; }
#banners .imagem .foto { max-height:80%; }
#banners .imagem .logo { max-height:100px; display:block; }
#banners .imagem .botao { padding: 16px 32px; font-size: 16px; margin-top:1.5rem; display: inline-block; background: #2C6BB3; color: #ffffff; text-decoration: none; border-radius: 8px; font-weight: 500; transition: all 0.3s ease; border: none; cursor: pointer; letter-spacing:-0.5px; }
#banners .imagem .botao:hover { transform: translateY(-2px); opacity: 0.9; box-shadow: 0 8px 25px rgba(44, 107, 179, 0.3); }

#banners .video { position:relative; padding-bottom:56.25%; height:0; overflow:hidden; }
#banners .video iframe { position:absolute; top:0; left:0; width:100%; height:100%; border:0; }
#controlador-banner { margin-top:20px; width:100%; height:15px; text-align:center; }
#controlador-banner span { display:inline-block; vertical-align:top; margin:0 10px; width:15px; height:15px; font-size:0; border-radius:50px; background-color:#FFFFFF; cursor:pointer; }
#controlador-banner span:only-child { display:none; }
#controlador-banner span.ativo { cursor:default; background-color:#2C6BB3; }

#chamadas { padding:5rem 0; }
#chamadas .blocos { display:flex; gap:2rem; flex-direction:column; }
#chamadas .bloco { flex:1; background: linear-gradient(135deg, #12182b, #1a213a); padding: 2rem; border-radius: 16px; text-align: center; border: 1px solid #2C6BB3; transition: all 0.3s ease; }
#chamadas .bloco:hover { transform: translateY(-5px); box-shadow: 0 20px 40px rgba(44, 107, 179, 0.2); }
#chamadas .bloco i { width: 60px; height: 60px; background: #2C6BB3; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 1.5rem; font-size: 1.5rem; color: #ffffff; }
#chamadas .bloco figure { width: 60px; height: 60px; display:flex; align-items:center; justify-content:center; background: #2C6BB3; line-height:60px; border-radius:50%; margin:0 auto 1.5rem; }
#chamadas .bloco figure img { width: 30px; height: 30px; }
#chamadas .bloco h3 { color: #ffffff; margin-bottom: 1rem; font-family: 'Gunterz Black', sans-serif; letter-spacing: -0.5px; font-size: 1.5rem; }
#chamadas .bloco p { color: #9D9D9C; }
#chamadas .bloco:nth-child(2) { background-color:#00aca8; }
#chamadas .bloco:nth-child(2) figure { max-width:257px; }
#chamadas figure { display:inline-block; vertical-align:middle; margin:10px 5px; max-width:122px; }
#chamadas figure img { margin:0 auto; }

/* sobre nos */
#sobre { background:url('../img/parallax1.webp') no-repeat center center; background-attachment: fixed; background-position: center; background-repeat: no-repeat; background-size: cover; padding:3rem 0; }
#sobre:before {  content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(11, 15, 29, 0.7); backdrop-filter: blur(3px); z-index: 0; }
#sobre .texto { text-align:left; flex:1; }
#sobre .texto .descricao { font:500 1.125rem/1.6 var(--font-family); margin-bottom: 1.5rem; }
#sobre .texto .central > div:last-child { margin-top:30px; }
#sobre .blocos { display:flex; gap:2rem; align-items:flex-start; justify-content:space-between; flex-direction:column; }
#sobre .bloco i { font-size: 1.25rem; text-align:center; width:25px; }
#sobre .blocos .bloco.caixa { display: flex; align-items:center; justify-content:center; width:100%; }
#sobre .bloco.caixa > div { width: 350px; height: 250px; background: rgba(11, 15, 29, 0.7); border-radius: 16px; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 1px solid #2C6BB3; backdrop-filter: blur(5px); color:#9D9D9C; }
#sobre .bloco.caixa i { font-size: 3rem; margin-bottom: 1rem; }
#sobre .itens .item { display: flex; align-items:center; gap:5px; }
#sobre .itens .item img { vertical-align:top; }
#sobre figure { overflow:hidden; display:block; border-radius:20px; }

/* produtos */
#produtos { padding:3rem 0; }
#produtos .blocos { display: flex; justify-content: center; gap: 2rem; flex-wrap: wrap; margin-bottom: 3rem; }
#produtos .blocos .bloco { background: linear-gradient(135deg, #12182b, #1a213a); padding: 2rem; border-radius: 16px; text-align: center; border: 1px solid #2C6BB3; transition: all 0.3s ease; display: flex; flex-direction: column; width: 360px; color: #9D9D9C; display:flex; flex-direction:column; gap:1.5rem; }
#produtos .blocos .bloco:hover { text-decoration:none; transform: translateY(-5px); box-shadow: 0 20px 40px rgba(44, 107, 179, 0.2); }
#produtos .blocos .bloco .icone { width: 70px; height: 70px; background: #2C6BB3; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto; }
#produtos .blocos .bloco .icone figure { display: flex; align-items: center; justify-content: center; }
#produtos .blocos .bloco .icone img { width:30px; height:30px; }
#produtos .blocos .bloco .icone i { color:#FFFFFF; font-size:1.75rem; }
#produtos .blocos .bloco h3 { color: #ffffff; min-height: 2.4em; display: flex; align-items: center; justify-content: center; margin-bottom:0; }
#produtos .blocos .bloco p { flex:1; }
#produtos .blocos .bloco .botao { display: inline-block; width:100%; padding: 10px 20px; background: transparent; color: #ffffff; text-decoration: none; border: 1px solid #ffffff; border-radius: 6px; font-weight: 500; transition: all 0.3s ease; font-size: 14px; }

.applications { text-align: center; margin-top: 3rem; }
.applications h3 { margin-bottom: 1.5rem; }
.applications-list { display: flex; justify-content: center; flex-wrap: wrap; gap: 1rem; }
.application-tag { background: #2C6BB3; color: #ffffff; padding: 0.5rem 1rem; border-radius: 20px; font-size: 0.875rem; font-weight: 500; }

/* Suporte */
#suporte { background:url('../img/parallax2.webp') no-repeat center center; background-attachment: fixed; background-position: center; background-repeat: no-repeat; background-size: cover; padding:3rem 0; }
#suporte .blocos { display: flex; flex-direction:column; justify-content: center; gap:1rem; margin-bottom: 0; }
#suporte .blocos .bloco { background: linear-gradient(135deg, #12182b, #1a213a); padding:1rem; border-radius: 16px; text-align: center; border: 1px solid #2C6BB3; transition: all 0.3s ease; display: flex; flex-direction: column; flex: 1; color: #9D9D9C; display:flex; flex-direction:column; gap:1rem; }
#suporte .blocos .bloco:hover { text-decoration:none; transform: translateY(-5px); box-shadow: 0 20px 40px rgba(44, 107, 179, 0.2); }
#suporte .blocos .bloco .icone { width:60px; height:60px; background: #2C6BB3; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 0.5rem; }
#suporte .blocos .bloco .icone i { color:#FFFFFF; font-size:1.5rem; }
#suporte .blocos .bloco figure { width: 60px; height: 60px; display:flex; align-items:center; justify-content:center; background: #2C6BB3; line-height:60px; border-radius:50%; margin:0 auto; }
#suporte .blocos .bloco figure img { width: 30px; height: 30px; }
#suporte .blocos .bloco h3 { color: #ffffff; min-height: 3.2em; line-height:1.25; font-size:1.25rem; display: flex; align-items: center; justify-content: center; margin-bottom:0; }
#suporte .blocos .bloco p { flex:1; }
#suporte .blocos .bloco .botao { display: inline-block; width:100%; padding: 10px 20px; background: transparent; color: #ffffff; text-decoration: none; border: 1px solid #ffffff; border-radius: 6px; font-weight: 500; transition: all 0.3s ease; font-size: 14px; }

/* produto detalhe */
#produto-detalhe .conteudo { padding:0 0 30px; }
#produto-detalhe .editor { font-size: 1rem; color: #9D9D9C; margin-bottom: 1.5rem; line-height: 1.7; }
#produto-detalhe h1 { font-size: 1.5rem; color: #ffffff; margin-bottom: 1rem; line-height: 1.2; text-align:center; }
#produto-detalhe #dados-tecnicos { background:linear-gradient(135deg, #12182b, #1a213a); padding:2rem 0; display:none; }
#infos-produto { padding:0; }
#infos-produto figure { text-align:center; }
#infos-produto figure img { vertical-align:top; }
#infos-produto .titulo { font-size: 1.25rem; color: #ffffff; border-bottom: 2px solid #2C6BB3; padding-bottom: 0.5rem; margin-bottom: 1.5rem; text-align:center; }
#infos-produto ul li:before { content:"\f058"; color: #2C6BB3; margin-right: 10px; margin-top: 4px; font:900 16px/1 "Font Awesome 6 Free"; }
#infos-produto ul li { list-style:none; display:flex; align-items:flex-start; }
#infos-produto .botao { padding: 16px 32px; font-size: 16px; margin-top:1.5rem; display: inline-block; background: #2C6BB3; color: #ffffff; text-decoration: none; border-radius: 8px; font-weight: 500; transition: all 0.3s ease; border: none; cursor: pointer; letter-spacing:-0.5px; }
#infos-produto .caracteristicas { margin-top:1rem; }
#produto-detalhe .tabela { overflow-x: auto; border: 1px solid #2C6BB3; border-radius: 8px; }

#produto-detalhe .tabela table { width: 100%; border-collapse: collapse; color: #9D9D9C; }
#produto-detalhe .tabela table th, #produto-detalhe .tabela table td { padding:0.5rem; text-align: left; border-bottom: 1px solid #1a213a; }
#produto-detalhe .tabela table thead th { background-color: #1a213a; color: #ffffff; font-size: 0.75rem; line-height:1rem; }
#produto-detalhe .tabela table tbody tr:nth-child(even) { background-color: #12182b; }
#produto-detalhe .tabela table tbody tr:hover { background-color: #2C6BB3; color: #ffffff; }
#produto-detalhe .tabela table tbody td { font-size: 0.75rem; line-height:1rem; }
#dados-tecnicos h2 { text-align:center; }

/* contatos */
#contato { padding:1rem 0 2rem; }
#contato .blocos { display: flex; flex-direction:column; gap: 2rem; }
.contact-info { flex:1; }
.contact-info h2 { text-align: center; line-height: 1em; font-size:1.8em; }
.contact-info p { margin-bottom:2rem; color:#9D9D9C; text-align:center; }
.contact-methods { display: flex; flex-direction: column; gap: 1.5rem; }
.contact-method { display: flex; align-items: center; gap: 1rem; }
.contact-method i { width: 40px; height: 40px; background: #2C6BB3; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #ffffff; font-size: 1rem; }
.contact-method h4 { color: #ffffff; margin-bottom: 0.25rem; }
.contact-method p { color: #9D9D9C; margin: 0; }
.contact-form { flex:1; background: linear-gradient(135deg, #12182b, #1a213a); padding: 2rem; border-radius: 16px; border: 1px solid #2C6BB3; }
fieldset { position: relative; margin-bottom: 1.5rem; }
fieldset input,
fieldset textarea { width: 100%; padding: 1rem; background: transparent; border: 1px solid #2C6BB3; border-radius: 8px; color: #ffffff; font-size: 1rem; transition: all 0.3s ease; }
fieldset input:focus,
fieldset textarea:focus { outline: none; border-color: #2C6BB3; box-shadow: 0 0 0 2px rgba(44, 107, 179, 0.2); }
fieldset label { position: absolute; top: 1rem; left: 1rem; color: #9D9D9C; font-size: 1rem; transition: all 0.3s ease; pointer-events: none; }
fieldset input:focus + label,
fieldset input:valid + label,
fieldset textarea:focus + label,
fieldset textarea:valid + label { top: -0.5rem; left: 0.75rem; font-size: 0.75rem; color: #2C6BB3; background: #151c31; padding: 0 0.5rem; }
fieldset textarea { resize: vertical; min-height: 100px; }
form button { display: inline-block; padding: 12px 24px; background: #2C6BB3; color: #ffffff; text-decoration: none; border-radius: 8px; font-weight: 500; transition: all 0.3s ease; border: none; cursor: pointer; font-size: 14px; }

/* Internas */
.paginas-internas .conteudo { text-align:center; }
.paginas-internas .conteudo h2 { padding:30px 0 0 0; font-weight:700; }
.paginas-internas .conteudo p ~ p { padding-top:30px; }
.paginas-internas .conteudo p span { text-transform:uppercase; }
.paginas-internas .conteudo a { text-decoration:underline; }
.paginas-internas .conteudo ul { padding-top:30px; }
.paginas-internas .conteudo ul li { padding-bottom:5px; }
.paginas-internas .conteudo ul li:last-child { padding-bottom:0; }

/* rodape */
footer { background-color:#0B0F1D; color:#ffffff; border-top:1px solid #2C6BB3; padding:3rem 0 0; }
footer > .central { padding:25px 10px; }
footer a { color:#9D9D9C; }
footer a:hover { color:#2C6BB3; text-decoration:none; }
footer .telefone { color:#FFFFFF; }
footer .email { color:#FFFFFF; }
footer .instagram { color:#FFFFFF; }
footer .telefone span { color:#2C6BB3; }
footer .email span { color:#2C6BB3; }
footer .instagram span { color:#2C6BB3; }
footer > .central { display:flex; flex-wrap:wrap; gap:1rem; flex-direction:column; }
footer .bloco { text-align:left; flex:1; }
footer .bloco:first-child { flex:none; width:100%; text-align:center; }
footer .bloco > div ~ div { margin-top:20px; }
footer .bloco h2 { padding-bottom:20px; font:500 15px/23px var(--font-family); text-transform:uppercase; }
footer p ~ p { padding-top:20px; }
footer p span { text-transform:uppercase; }
footer p strong { font-weight:500; }

footer .redes-sociais { display:flex; gap:10px; }
footer .redes-sociais a { display:inline-block; width:36px; height:36px; vertical-align:top; text-align:center; background-color:#2C6BB3; color:#FFFFFF; border-radius:50%; line-height:36px; }

footer figure img { display:inline-block; vertical-align:middle; margin:0 7.5px; }
footer .logo { color:#9D9D9C; }
footer .logo figure { display:flex; align-items:center; justify-content:center; margin:0 auto 10px; width:100%; max-width:143px; }
footer .logo figure img { display:block; margin:0; }
footer .titulo { display:block; font:600 16px/1.6 var(--font-family); margin-bottom:1rem; }
footer nav a { display:flex; align-items:center; margin-bottom:5px; text-align: left; line-height:24px; }
footer nav a span:before { margin-right:0.5rem; }
footer .menu { margin-top:20px; }
footer .menu div ~ div { margin-top:20px; }
footer .canais { display:inline-block; vertical-align:middle; padding:20px; border:1px solid #555555; border-radius:5px; }
footer .canais a { display:block; font-size:13px; word-break:break-all; }
footer .canais a + a { margin-top:5px; }
#politica-termos a { display:block; margin-bottom:5px; text-transform:uppercase; }
footer .copyright { padding:22px 0; text-align:center; border-top:1px solid #9D9D9C; color:#9D9D9C; font-size:0.8em; }
footer .copyright .logo { margin:0 auto; display:block; width:100%; max-width:81px; line-height:14px; }
footer .copyright img { margin:0 auto; }
footer .copyright p { width:100%; text-align:center; }

.whatsapp-float { position: fixed; bottom: 2rem; right: 2rem; width: 60px; height: 60px; background: #25d366; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.5rem; text-decoration: none; box-shadow: 0 4px 20px rgba(37, 211, 102, 0.3); transition: all 0.3s ease; z-index: 998; }
.whatsapp-float.com-lgpd { position: fixed; bottom: 2rem; right: 2rem; width: 60px; height: 60px; background: #25d366; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.5rem; text-decoration: none; box-shadow: 0 4px 20px rgba(37, 211, 102, 0.3); transition: all 0.3s ease; z-index: 1000; }
.whatsapp-float i { color:#FFFFFF; }
.whatsapp-float:hover { transform: scale(1.1); box-shadow: 0 8px 30px rgba(37, 211, 102, 0.5); text-decoration:none; }
.grecaptcha-badge { z-index:-1; }

@media screen and (min-width:480px){
	#suporte .blocos { display: grid; grid-template-columns: repeat(2,1fr); }

	/* rodape */
	footer .menu { display:flex; justify-content:space-between; margin-top:50px; }
	footer .menu > div ~ div { margin-top:0; }
	footer .menu .duas-colunas { margin-top:0; }
}