/* =====================================================
   ELETRÔNICA BRASIL
   STYLE.CSS
===================================================== */

:root{

--verde:#0E8A47;
--verde-hover:#0A6D39;
--grafite:#1F2937;
--cinza:#6B7280;
--claro:#F5F7FA;
--branco:#FFFFFF;

--shadow:0 15px 40px rgba(0,0,0,.10);

--radius:16px;

--transition:.35s;

}

*{

margin:0;
padding:0;
box-sizing:border-box;

}

html{

scroll-behavior:smooth;

}

body{

font-family:'Poppins',sans-serif;

background:#fff;

color:var(--grafite);

line-height:1.7;

overflow-x:hidden;

}

img{

max-width:100%;

display:block;

}

a{

text-decoration:none;

color:inherit;

}

ul{

list-style:none;

}

.container{

width:min(1180px,92%);

margin:auto;

}

/*=============================
HEADER
==============================*/

#header{

position:fixed;

top:0;

left:0;

width:100%;

z-index:999;

transition:.4s;

background:rgba(0,0,0,.20);

backdrop-filter:blur(8px);

}

#header.scrolled{

background:#fff;

box-shadow:0 8px 30px rgba(0,0,0,.08);

}

#header .container{

display:flex;

align-items:center;

justify-content:space-between;

height:88px;

}

.logo{

width:220px;

transition:.4s;

}

#menu ul{

display:flex;

gap:38px;

}

#menu a{

font-size:15px;

font-weight:500;

color:#fff;

transition:.3s;

}

#header.scrolled #menu a{

color:var(--grafite);

}

#menu a:hover{

color:var(--verde);

}

.menu-mobile{

display:none;

font-size:28px;

cursor:pointer;

color:#fff;

}
#menu.ativo{

display:block;
position:absolute;
top:88px;
left:0;
width:100%;
background:#fff;
padding:25px;

}

#menu.ativo ul{

flex-direction:column;
gap:18px;

}

#menu.ativo a{

color:#1F2937;

}

.btn-header{

background:var(--verde);

padding:14px 28px;

border-radius:50px;

color:#fff;

font-weight:600;

transition:.35s;

box-shadow:var(--shadow);

}

.btn-header:hover{

background:var(--verde-hover);

transform:translateY(-3px);

}

/*=============================
HERO
==============================*/

#inicio{

position:relative;

min-height:100vh;

display:flex;

align-items:center;

background:url("../images/assist.png") center center/cover no-repeat;

}

.overlay{

position:absolute;

inset:0;

background:linear-gradient(

90deg,

rgba(0,0,0,.82),

rgba(0,0,0,.45)

);

}

.hero-grid{

position:relative;

z-index:2;

display:grid;

grid-template-columns:1.2fr .8fr;

align-items:center;

gap:60px;

padding-top:120px;

padding-bottom:60px;

}

.tag{

display:inline-block;

padding:10px 22px;

border-radius:40px;

background:rgba(255,255,255,.15);

color:#fff;

font-size:13px;

letter-spacing:1px;

margin-bottom:20px;

backdrop-filter:blur(6px);

}

.hero-texto h1{

font-size:58px;

font-weight:800;

line-height:1.1;

color:#fff;

margin-bottom:30px;

}

.hero-texto p{

font-size:19px;

color:#E8E8E8;

margin-bottom:40px;

max-width:640px;

}

.hero-botoes{

display:flex;

gap:20px;

margin-bottom:55px;

}

.btn-verde{

display:inline-flex;

align-items:center;

gap:12px;

padding:18px 34px;

background:var(--verde);

color:#fff;

border-radius:50px;

font-weight:600;

transition:.35s;

box-shadow:var(--shadow);

}

.btn-verde:hover{

background:var(--verde-hover);

transform:translateY(-4px);

}

.btn-branco{

display:inline-flex;

align-items:center;

padding:18px 34px;

border-radius:50px;

background:#fff;

color:var(--grafite);

font-weight:600;

transition:.35s;

}

.btn-branco:hover{

transform:translateY(-4px);

}

.hero-info{

display:flex;

gap:50px;

color:#fff;

}

.hero-info h3{

font-size:34px;

font-weight:700;

}

.hero-info p{

font-size:15px;

margin-top:8px;

color:#ddd;

}

.hero-imagem{

display:flex;

justify-content:center;

}

.hero-imagem img{

max-width:420px;

filter:drop-shadow(0 20px 45px rgba(0,0,0,.35));

animation:flutuar 5s ease-in-out infinite;

}

/*=============================
DESTAQUES
==============================*/

.destaques{

background:#fff;

padding:60px 0;

}

.destaques .container{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:30px;

}

.item{

background:#fff;

padding:35px;

border-radius:18px;

box-shadow:0 10px 35px rgba(0,0,0,.06);

text-align:center;

transition:.35s;

}

.item:hover{

transform:translateY(-8px);

}

.item i{

font-size:40px;

color:var(--verde);

margin-bottom:20px;

}

.item h3{

font-size:22px;

margin-bottom:8px;

}

.item p{

color:var(--cinza);

}

/*=============================
TÍTULOS
==============================*/

.section{

padding:100px 0;

}

.section-title{

text-align:center;

margin-bottom:60px;

}

.section-title span{

display:inline-block;

color:var(--verde);

font-weight:600;

margin-bottom:12px;

letter-spacing:.5px;

}

.section-title h2{

font-size:42px;

font-weight:700;

margin-bottom:18px;

}

.section-title p{

max-width:760px;

margin:auto;

color:var(--cinza);

}

/*=============================
ANIMAÇÃO
==============================*/

@keyframes flutuar{

0%{

transform:translateY(0);

}

50%{

transform:translateY(-15px);

}

100%{

transform:translateY(0);

}

}
.hidden{

opacity:0;
transform:translateY(40px);
transition:.7s;

}

.show{

opacity:1;
transform:none;

}

#lightbox{

position:fixed;
inset:0;
background:rgba(0,0,0,.90);

display:flex;
align-items:center;
justify-content:center;

opacity:0;
visibility:hidden;

transition:.35s;

z-index:99999;

}

#lightbox.open{

opacity:1;
visibility:visible;

}

#lightbox img{

max-width:90%;
max-height:90%;
border-radius:12px;

}

#fechar{

position:absolute;
top:30px;
right:40px;

font-size:50px;

color:#fff;

cursor:pointer;

}
/*=====================================================
SERVIÇOS
======================================================*/

.cards-servicos{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

gap:35px;

margin-top:50px;

}

.card-servico{

background:#fff;

padding:45px 35px;

border-radius:20px;

box-shadow:0 10px 35px rgba(0,0,0,.07);

transition:.35s;

position:relative;

overflow:hidden;

}

.card-servico::before{

content:"";

position:absolute;

left:0;

top:0;

width:6px;

height:100%;

background:var(--verde);

transition:.35s;

}

.card-servico:hover{

transform:translateY(-12px);

box-shadow:0 25px 45px rgba(0,0,0,.12);

}

.card-servico:hover::before{

width:100%;

opacity:.05;

}

.card-servico i{

font-size:48px;

color:var(--verde);

margin-bottom:25px;

}

.card-servico h3{

font-size:24px;

margin-bottom:18px;

}

.card-servico p{

color:var(--cinza);

line-height:1.8;

}

/*=====================================================
EMPRESA
======================================================*/

.empresa{

padding:120px 0;

background:#F8FAFC;

}

.empresa-grid{

display:grid;

grid-template-columns:1fr 1fr;

gap:70px;

align-items:center;

}

.empresa-imagem{

position:relative;

}

.empresa-imagem img{

border-radius:22px;

box-shadow:0 25px 60px rgba(0,0,0,.18);

}

.empresa-imagem::after{

content:"";

position:absolute;

right:-25px;

bottom:-25px;

width:180px;

height:180px;

border-radius:25px;

background:var(--verde);

z-index:-1;

opacity:.12;

}

.empresa-texto span{

display:inline-block;

color:var(--verde);

font-weight:600;

margin-bottom:15px;

}

.empresa-texto h2{

font-size:46px;

line-height:1.2;

margin-bottom:30px;

}

.empresa-texto p{

margin-bottom:22px;

font-size:17px;

color:var(--cinza);

line-height:1.9;

}

.empresa-texto .btn-verde{

margin-top:20px;

display:inline-flex;

}

/*=====================================================
DIFERENCIAIS
======================================================*/

.diferenciais{

padding:110px 0;

background:#fff;

}

.grid-diferenciais{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

gap:30px;

margin-top:60px;

}

.box{

background:#fff;

padding:40px 30px;

border-radius:20px;

text-align:center;

transition:.35s;

box-shadow:0 12px 35px rgba(0,0,0,.07);

border:1px solid #ececec;

}

.box:hover{

transform:translateY(-10px);

border-color:var(--verde);

}

.box i{

width:90px;

height:90px;

display:flex;

align-items:center;

justify-content:center;

margin:auto;

background:rgba(14,138,71,.10);

border-radius:50%;

font-size:38px;

color:var(--verde);

margin-bottom:25px;

transition:.35s;

}

.box:hover i{

background:var(--verde);

color:#fff;

transform:rotate(8deg) scale(1.08);

}

.box h3{

font-size:24px;

margin-bottom:15px;

}

.box p{

color:var(--cinza);

line-height:1.8;

}

/*=====================================================
EFEITOS GERAIS
======================================================*/

.card-servico,
.box,
.item{

cursor:default;

}

.card-servico:hover i{

transform:scale(1.12);

transition:.35s;

}

.btn-verde,
.btn-header,
.btn-branco{

transition:all .35s ease;

}

.btn-verde:hover,
.btn-header:hover,
.btn-branco:hover{

box-shadow:0 18px 35px rgba(14,138,71,.28);

}

.section{

position:relative;

overflow:hidden;

}

.section::before{

content:"";

position:absolute;

right:-120px;

top:-120px;

width:280px;

height:280px;

background:rgba(14,138,71,.03);

border-radius:50%;

}

.section::after{

content:"";

position:absolute;

left:-140px;

bottom:-140px;

width:320px;

height:320px;

background:rgba(14,138,71,.03);

border-radius:50%;

}
/*=====================================================
AVALIAÇÕES
======================================================*/

.avaliacoes{

padding:120px 0;

background:#F7F9FC;

}

.reviews-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(320px,1fr));

gap:35px;

margin-top:60px;

}

.review-card{

background:#fff;

padding:40px;

border-radius:22px;

box-shadow:0 15px 40px rgba(0,0,0,.08);

transition:.35s;

position:relative;

overflow:hidden;

}

.review-card::before{

content:"★★★★★";

position:absolute;

top:20px;

right:25px;

font-size:14px;

color:#FFD700;

opacity:.15;

letter-spacing:3px;

}

.review-card:hover{

transform:translateY(-10px);

}

.stars{

font-size:26px;

color:#FFC107;

margin-bottom:20px;

}

.review-card p{

font-size:16px;

line-height:1.9;

color:var(--cinza);

margin-bottom:25px;

}

.review-card h4{

font-size:18px;

font-weight:600;

color:var(--grafite);

}

.google-button{

margin-top:60px;

text-align:center;

}

/*=====================================================
GALERIA
======================================================*/

.galeria{

padding:120px 0;

background:#fff;

}

.gallery{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(320px,1fr));

gap:25px;

margin-top:60px;

}

.foto{

overflow:hidden;

border-radius:22px;

position:relative;

box-shadow:0 15px 40px rgba(0,0,0,.10);

cursor:pointer;

}

.foto img{

width:100%;

height:100%;

object-fit:cover;

transition:.6s;

}

.foto:hover img{

transform:scale(1.10);

}

.foto::after{

content:"";

position:absolute;

inset:0;

background:linear-gradient(

transparent,

rgba(0,0,0,.30)

);

opacity:0;

transition:.35s;

}

.foto:hover::after{

opacity:1;

}

/*=====================================================
MARCAS
======================================================*/

.marcas{

padding:100px 0;

background:#F5F7FA;

}

.marcas-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(160px,1fr));

gap:25px;

margin-top:55px;

}

.marcas-grid div{

background:#fff;

padding:28px;

border-radius:18px;

text-align:center;

font-size:20px;

font-weight:600;

color:#777;

transition:.35s;

box-shadow:0 8px 30px rgba(0,0,0,.05);

}

.marcas-grid div:hover{

background:var(--verde);

color:#fff;

transform:translateY(-8px);

}

/*=====================================================
CTA
======================================================*/

.cta{

padding:110px 20px;

background:linear-gradient(

135deg,

#0E8A47,

#056839

);

text-align:center;

color:#fff;

position:relative;

overflow:hidden;

}

.cta::before{

content:"";

position:absolute;

width:700px;

height:700px;

background:rgba(255,255,255,.05);

border-radius:50%;

top:-350px;

right:-250px;

}

.cta h2{

font-size:48px;

font-weight:700;

margin-bottom:20px;

position:relative;

z-index:2;

}

.cta p{

font-size:20px;

margin-bottom:40px;

position:relative;

z-index:2;

}

.btn-whatsapp{

display:inline-flex;

align-items:center;

gap:15px;

padding:22px 42px;

background:#fff;

color:var(--verde);

font-size:18px;

font-weight:700;

border-radius:60px;

transition:.35s;

box-shadow:0 20px 45px rgba(0,0,0,.18);

position:relative;

z-index:2;

}

.btn-whatsapp:hover{

transform:translateY(-5px);

box-shadow:0 30px 60px rgba(0,0,0,.25);

}

/*=====================================================
ANIMAÇÕES
======================================================*/

.review-card,
.card-servico,
.box,
.foto,
.marcas-grid div{

transition:all .35s ease;

}

@keyframes pulseWhatsapp{

0%{

transform:scale(1);

}

50%{

transform:scale(1.08);

}

100%{

transform:scale(1);

}

}

.btn-whatsapp{

animation:pulseWhatsapp 2.5s infinite;

}
/*=====================================================
CONTATO
======================================================*/

.contato{

padding:120px 0;

background:#fff;

}

.contato-grid{

display:grid;

grid-template-columns:1fr 1fr;

gap:60px;

margin-top:60px;

align-items:flex-start;

}

.info-contato{

display:flex;

flex-direction:column;

gap:30px;

}

.info-item{

display:flex;

align-items:flex-start;

gap:20px;

padding:25px;

background:#F8FAFC;

border-radius:18px;

transition:.35s;

}

.info-item:hover{

transform:translateY(-6px);

box-shadow:0 15px 35px rgba(0,0,0,.08);

}

.info-item i{

width:65px;

height:65px;

display:flex;

align-items:center;

justify-content:center;

background:var(--verde);

color:#fff;

border-radius:50%;

font-size:24px;

flex-shrink:0;

}

.info-item h3{

margin-bottom:8px;

font-size:20px;

}

.info-item p{

color:var(--cinza);

line-height:1.8;

}

.redes{

display:flex;

gap:15px;

margin-top:20px;

}

.redes a{

width:55px;

height:55px;

display:flex;

align-items:center;

justify-content:center;

border-radius:50%;

background:var(--verde);

color:#fff;

font-size:22px;

transition:.35s;

}

.redes a:hover{

background:var(--verde-hover);

transform:translateY(-5px);

}

/*=====================================================
FORMULÁRIO
======================================================*/

.formulario{

background:#fff;

padding:40px;

border-radius:22px;

box-shadow:0 15px 45px rgba(0,0,0,.08);

}

.formulario form{

display:flex;

flex-direction:column;

gap:20px;

}

.formulario input,
.formulario textarea{

width:100%;

padding:18px;

border:1px solid #ddd;

border-radius:14px;

font-size:16px;

font-family:'Poppins',sans-serif;

transition:.35s;

}

.formulario input:focus,
.formulario textarea:focus{

outline:none;

border-color:var(--verde);

box-shadow:0 0 0 4px rgba(14,138,71,.10);

}

/*=====================================================
MAPA
======================================================*/

.mapa iframe{

width:100%;

height:450px;

border:none;

display:block;

}

/*=====================================================
FOOTER
======================================================*/

footer{

background:#1F2937;

color:#fff;

padding-top:70px;

}

.footer-grid{

display:grid;

grid-template-columns:2fr 1fr 1fr;

gap:50px;

padding-bottom:50px;

}

.footer-logo{

width:220px;

margin-bottom:25px;

}

footer h3{

margin-bottom:20px;

font-size:22px;

}

footer p{

color:#d5d5d5;

line-height:1.8;

}

footer ul{

display:flex;

flex-direction:column;

gap:12px;

}

footer ul a{

color:#d5d5d5;

transition:.3s;

}

footer ul a:hover{

color:#fff;

padding-left:8px;

}

.copyright{

padding:25px 0;

border-top:1px solid rgba(255,255,255,.10);

text-align:center;

font-size:14px;

color:#ccc;

}

/*=====================================================
INSTAGRAM E WHATSAPP FLUTUANTES
======================================================*/

.instagram-float,
.whatsapp-float{

position:fixed;

bottom:25px;

width:70px;

height:70px;

border-radius:50%;

background:#25D366;

display:flex;

align-items:center;

justify-content:center;

color:#fff;

font-size:34px;

z-index:999;

box-shadow:0 15px 40px rgba(0,0,0,.25);

animation:pulseWhatsapp 2s infinite;

transition:.35s;

}

.instagram-float{

right:110px;

background:linear-gradient(135deg,#833AB4,#E1306C,#FCAF45);

}

.whatsapp-float{

right:25px;

}

.instagram-float:hover,
.whatsapp-float:hover{

transform:scale(1.12);

}

/*=====================================================
BOTÃO TOPO
======================================================*/

#voltarTopo{

position:fixed;

left:25px;

bottom:25px;

width:60px;

height:60px;

background:var(--grafite);

color:#fff;

display:flex;

align-items:center;

justify-content:center;

border-radius:50%;

font-size:22px;

z-index:998;

transition:.35s;

}

#voltarTopo:hover{

background:var(--verde);

transform:translateY(-5px);

}

/*=====================================================
RESPONSIVO
======================================================*/

@media(max-width:1100px){

.hero-grid,
.empresa-grid,
.contato-grid,
.footer-grid{

grid-template-columns:1fr;

}

.hero-imagem{

order:-1;

margin-bottom:40px;

}

.hero-texto{

text-align:center;

}

.hero-botoes,
.hero-info{

justify-content:center;

}

}

@media(max-width:900px){

#menu{

display:none;

}

.menu-mobile{

display:block;

}

.btn-header{

display:none;

}

.hero-texto h1{

font-size:42px;

}

.section-title h2{

font-size:34px;

}

.destaques .container{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.cards-servicos,
.grid-diferenciais,
.gallery,
.reviews-grid,
.marcas-grid{

grid-template-columns:1fr;

}

.hero-botoes{

flex-direction:column;

}

.hero-info{

flex-direction:column;

gap:25px;

}

.cta h2{

font-size:34px;

}

.cta p{

font-size:18px;

}

.footer-grid{

text-align:center;

}

.redes{

justify-content:center;

}

}

@media(max-width:480px){

.logo{

width:170px;

}

.hero-texto h1{

font-size:34px;

}

.hero-texto p{

font-size:17px;

}

.btn-verde,
.btn-branco,
.btn-whatsapp{

width:100%;

justify-content:center;

}

.section{

padding:80px 0;

}

.instagram-float,
.whatsapp-float{

width:60px;

height:60px;

font-size:28px;

}

.instagram-float{

right:95px;

}

#voltarTopo{

width:50px;

height:50px;

font-size:18px;

}

}

/*=====================================================
PÁGINA: CONSERTO DE TV
======================================================*/

.pagina-conserto .tv-hero{min-height:760px;}
.pagina-conserto .hero-texto h1{max-width:760px;}
.pagina-conserto .menu-mobile{border:0;background:transparent;}
.tv-trust{display:flex;flex-wrap:wrap;gap:14px 26px;color:#fff;font-size:14px;font-weight:500;}
.tv-trust i{color:#54d98e;margin-right:6px;}
.tv-section-soft{background:#f5f7fa;}
.tv-problemas .card-servico{background:#fff;}
.tv-center-cta{margin-top:55px;padding:32px;border-radius:20px;background:#fff;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:center;gap:28px;text-align:center;}
.tv-center-cta p{font-size:19px;font-weight:600;}
.tv-processo{padding:110px 0;background:#fff;}
.tv-passos{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;list-style:none;}
.tv-passos li{position:relative;padding:34px 28px;border:1px solid #e5e7eb;border-radius:20px;background:#fff;box-shadow:0 12px 35px rgba(0,0,0,.06);}
.tv-passos li > span{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:24px;background:var(--verde);color:#fff;font-size:22px;font-weight:700;}
.tv-passos h3{font-size:21px;margin-bottom:12px;}
.tv-passos p{color:var(--cinza);font-size:15px;}
.tv-marcas{margin-bottom:28px;}
.tv-observacao{max-width:850px;margin:0 auto;text-align:center;color:var(--cinza);font-size:13px;}
.tv-cta .tag{margin-bottom:18px;}
.tv-contato{padding:110px 0;}
.tv-contact-card{overflow:hidden;border-radius:22px;background:#fff;box-shadow:var(--shadow);}
.tv-contact-card img{width:100%;height:260px;object-fit:cover;}
.tv-contact-card > div{padding:32px;}
.tv-contact-card h3{font-size:27px;margin-bottom:10px;}
.tv-contact-card p{color:var(--cinza);margin-bottom:24px;}

@media(max-width:1100px){
.tv-passos{grid-template-columns:repeat(2,1fr);}
}

@media(max-width:768px){
.pagina-conserto .tv-hero{min-height:100vh;}
.tv-trust{justify-content:center;}
.tv-center-cta{flex-direction:column;}
.tv-passos{grid-template-columns:1fr;}
}
