/* ===========================================================
   Eduardo Auto Imports - base.css
   Estrutura, cabeçalho, rodapé e compatibilidade de layout.
   O visual (tipografia, cards, grids) está em design.css
   =========================================================== */

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:#5F6670;background:#fff;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,h4,p,ul,ol{margin:0}
ul{padding:0;list-style:none}
button{font:inherit}
:focus-visible{outline:3px solid #FF7A88;outline-offset:3px}

/* ---------- Paleta ---------- */
:root{
  --azul:#082F6A; --azul-profundo:#051D42;
  --vermelho:#E30518; --vermelho-botao:#C70414; --vermelho-hover:#A80311; --vermelho-claro:#FF7A88;
  --texto:#5F6670; --texto-claro:#C9CEDA;
  --cinza-200:#E1E5EC; --cinza-100:#F3F5F8;
  --topo:86px;
}

/* ---------- Compatibilidade de layout (equivalente ao Elementor) ---------- */
.elementor{width:100%}
.e-con{position:relative;display:flex;flex-direction:column;width:100%;align-content:flex-start}
.e-con-boxed>.e-con-inner{width:100%;max-width:1240px;margin-inline:auto;display:flex;flex-direction:column;align-content:flex-start}
.e-con-full{display:flex}
.elementor-element{min-width:0}
.elementor-widget{position:relative}
.elementor-widget-container{min-width:0}
.elementor-widget-image img{width:100%}
.elementor-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;border:0;cursor:pointer;text-align:center}
.elementor-button-content-wrapper{display:flex;align-items:center;gap:10px}
.elementor-screen-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Linhas de containers internos */
#hero .elementor-element-ea00008,
#cta-final .elementor-element-ea00073{flex-direction:row;gap:14px;align-items:center;flex-wrap:wrap}
#sobre .elementor-element-ea00022,
#servicos .elementor-element-ea00029,
#estrutura .elementor-element-ea00051{flex-direction:row}
#contato .elementor-element-ea00082{flex-direction:row;align-items:stretch;gap:0}
#contato .elementor-element-ea00079{width:45%;max-width:45%;background:var(--azul);padding:90px 60px;justify-content:center}
#contato .elementor-element-ea00081{width:55%;max-width:55%}
#como-funciona .elementor-element-ea00037{flex-direction:row;justify-content:center}
#cta-final .elementor-element-ea00074{align-items:center}
#cta-final .ea-h2,#cta-final .ea-txt{max-width:760px;margin-inline:auto}

/* Fundos fotográficos */
#hero{background:url("../imagens/hero-oficina.webp") center/cover no-repeat;min-height:100vh;justify-content:center}
#numeros{background:url("../imagens/faixa-numeros.webp") center/cover no-repeat}
#cta-final{background:url("../imagens/cta-fachada.webp") center/cover no-repeat}
#numeros>.e-con-inner,#contato>.e-con-inner{max-width:none}
#numeros .elementor-element-ea00012>.e-con-inner{max-width:1200px}

/* ---------- Cabeçalho ---------- */
#topo{position:fixed;inset:0 0 auto 0;z-index:900;background:rgba(5,29,66,.92);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.1);transition:background .3s}
#topo.compacto{background:rgba(5,29,66,.98);box-shadow:0 10px 34px rgba(3,17,38,.3)}
.topo-area{max-width:1240px;margin-inline:auto;padding:0 20px;height:var(--topo);display:flex;align-items:center;gap:28px}
.topo-logo{flex:0 0 auto;display:flex;align-items:center}
.topo-logo img{height:46px;width:auto}
.topo-nav{margin-left:auto}
.topo-nav ul{display:flex;gap:30px}
.topo-nav a{font-size:14px;font-weight:600;letter-spacing:.2px;color:#E7EBF2;text-decoration:none;padding:8px 0;position:relative}
.topo-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--vermelho);transition:right .3s cubic-bezier(.22,.61,.36,1)}
.topo-nav a:hover::after,.topo-nav a:focus-visible::after{right:0}
.topo-acoes{display:flex;align-items:center;gap:16px}
.topo-fone{font-size:14px;font-weight:700;color:#fff;text-decoration:none;white-space:nowrap}
.topo-fone:hover{color:var(--vermelho-claro)}
.botao-topo{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;background:var(--vermelho-botao);color:#fff;font-size:15px;font-weight:700;letter-spacing:.3px;padding:13px 26px;border-radius:2px;text-decoration:none;transition:background .3s,transform .3s}
.botao-topo:hover{background:var(--vermelho-hover);transform:translateY(-2px)}
.hamburguer{display:none;flex-direction:column;justify-content:center;gap:5px;width:46px;height:46px;background:transparent;border:1px solid rgba(255,255,255,.26);border-radius:2px;cursor:pointer}
.hamburguer span{display:block;width:20px;height:2px;margin-inline:auto;background:#fff;transition:transform .3s,opacity .2s}
.hamburguer[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburguer[aria-expanded="true"] span:nth-child(2){opacity:0}
.hamburguer[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

#menu-mobile{position:fixed;inset:var(--topo) 0 0 0;z-index:880;background:rgba(5,29,66,.985);backdrop-filter:blur(16px);padding:34px 24px 44px;display:none;overflow-y:auto}
#menu-mobile.aberto{display:block}
#menu-mobile ul{display:flex;flex-direction:column;gap:2px}
#menu-mobile a{display:block;padding:17px 4px;font-size:19px;font-weight:600;color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.1)}
#menu-mobile .mm-acoes{margin-top:30px;display:flex;flex-direction:column;gap:12px}
#menu-mobile .mm-acoes a{text-align:center;border:0;border-radius:2px}
#menu-mobile .mm-zap{background:var(--vermelho-botao);font-weight:700}
#menu-mobile .mm-fone{border:1px solid rgba(255,255,255,.3)!important}

/* ---------- Rodapé ---------- */
#rodape{background:var(--azul-profundo);color:var(--texto-claro);font-size:14.5px;line-height:1.7}
.rodape-area{max-width:1240px;margin-inline:auto;padding:76px 20px 44px}
.rodape-grade{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.3fr;gap:48px}
.rodape-logo{display:inline-block;background:#fff;padding:14px 18px;border-radius:3px;margin-bottom:20px}
.rodape-logo img{height:44px;width:auto}
.rodape-col h3{font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#fff;margin-bottom:20px}
.rodape-col li{margin-bottom:11px}
.rodape-col a{color:var(--texto-claro);text-decoration:none;transition:color .25s}
.rodape-col a:hover{color:#fff}
.rodape-social{display:flex;gap:11px;margin-top:22px}
.rodape-social a{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.22);border-radius:50%;color:#fff;transition:background .25s,border-color .25s}
.rodape-social a:hover{background:var(--vermelho-botao);border-color:var(--vermelho-botao)}
.rodape-social svg{stroke:currentColor;fill:none}
.rodape-aviso{border-top:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.18)}
.rodape-aviso div{max-width:1240px;margin-inline:auto;padding:22px 20px;font-size:12.5px;line-height:1.6;color:#8E99AE}
.rodape-fim{max-width:1240px;margin-inline:auto;padding:22px 20px 34px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;font-size:13px;color:#8E99AE;border-top:1px solid rgba(255,255,255,.07)}
.rodape-fim a{color:#8E99AE;text-decoration:none}
.rodape-fim a:hover{color:#fff}

/* ---------- Botão flutuante de WhatsApp ---------- */
.zap-flutuante{position:fixed;right:20px;bottom:20px;z-index:950;display:flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:50%;background:#25D366;box-shadow:0 10px 30px rgba(0,0,0,.26);transition:transform .3s}
.zap-flutuante:hover{transform:scale(1.08)}
.zap-flutuante svg{width:30px;height:30px;fill:#fff}

/* ---------- Acordeão das dúvidas ---------- */
.elementor-accordion-item{border:1px solid var(--cinza-200);background:#fff;margin-bottom:12px;border-radius:2px;overflow:hidden}
.elementor-tab-title{display:flex;align-items:center;gap:14px;padding:22px 24px;cursor:pointer;user-select:none;transition:background .25s}
.elementor-tab-title:hover{background:#FAFBFD}
.elementor-accordion-icon{position:relative;flex:0 0 auto;width:20px;height:20px}
.elementor-accordion-icon i{display:none}
.elementor-accordion-icon::before,.elementor-accordion-icon::after{content:"";position:absolute;background:var(--vermelho-botao);transition:transform .3s,opacity .3s}
.elementor-accordion-icon::before{top:9px;left:0;width:20px;height:2px}
.elementor-accordion-icon::after{top:0;left:9px;width:2px;height:20px}
.elementor-tab-title.elementor-active .elementor-accordion-icon::after{transform:rotate(90deg);opacity:0}
.elementor-accordion-title{flex:1}
.elementor-tab-content{display:none;padding:0 24px 24px 58px}
.elementor-tab-content.elementor-active{display:block}
.elementor-tab-content p{font-size:15.5px;line-height:1.7;color:var(--texto)}

/* ---------- Mapa ---------- */
#contato iframe{display:block;width:100%;height:100%;min-height:560px;border:0}

/* ---------- Responsivo ---------- */
@media (max-width:1024px){
  .topo-nav{display:none}
  .topo-fone{display:none}
  .hamburguer{display:flex}
  .topo-acoes{margin-left:auto}
  #contato .elementor-element-ea00082{flex-direction:column}
  #contato .elementor-element-ea00079,
  #contato .elementor-element-ea00081{width:100%;max-width:100%;padding:70px 28px}
  #contato .elementor-element-ea00081{padding:0}
  #contato iframe{min-height:380px}
  .rodape-grade{grid-template-columns:1fr 1fr;gap:40px}
}
@media (max-width:860px){
  #sobre .elementor-element-ea00022,
  #servicos .elementor-element-ea00029,
  #estrutura .elementor-element-ea00051{flex-direction:column;gap:30px}
  #hero{min-height:auto}
}
@media (max-width:640px){
  :root{--topo:72px}
  .topo-logo img{height:38px}
  .botao-topo{padding:11px 13px;font-size:13.5px;letter-spacing:0}
  .topo-area{gap:12px}
  .topo-acoes{gap:10px}
  .hamburguer{width:42px;height:42px}
  .rodape-grade{grid-template-columns:1fr;gap:34px}
  .rodape-area{padding:56px 20px 34px}
  .rodape-fim{flex-direction:column;gap:8px}
  .elementor-tab-content{padding:0 20px 20px 20px}
  #hero .elementor-element-ea00008,
  #cta-final .elementor-element-ea00073{flex-direction:column;align-items:stretch;width:100%}
  #hero .ea-btn .elementor-button,#cta-final .ea-btn .elementor-button{width:100%}
}
@media print{#topo,#menu-mobile,.zap-flutuante{display:none!important}}

/* ===========================================================
   Fundos de seção e espaçamentos (equivalem ao CSS que o
   Elementor gera a partir das configurações dos containers)
   =========================================================== */
#servicos,#marcas,#diferenciais,#faq{background-color:var(--cinza-100)}
#como-funciona{background-color:var(--azul-profundo)}
#depoimentos{background-color:#fff}

#hero .elementor-element-ea00003>.elementor-widget-container{margin-bottom:16px}
#hero .elementor-element-ea00004>.elementor-widget-container{margin-bottom:26px}
#hero .elementor-element-ea00005>.elementor-widget-container{margin-bottom:34px}
.elementor-element-ea00017>.elementor-widget-container,
.elementor-element-ea00024>.elementor-widget-container,
.elementor-element-ea00032>.elementor-widget-container,
.elementor-element-ea00039>.elementor-widget-container,
.elementor-element-ea00046>.elementor-widget-container,
.elementor-element-ea00054>.elementor-widget-container,
.elementor-element-ea00059>.elementor-widget-container,
.elementor-element-ea00064>.elementor-widget-container,
.elementor-element-ea00076>.elementor-widget-container{margin-bottom:16px}
.elementor-element-ea00069>.elementor-widget-container{margin-bottom:18px}
.elementor-element-ea00019>.elementor-widget-container{margin-bottom:20px}
.elementor-element-ea00077>.elementor-widget-container{margin-bottom:26px}

#servicos .elementor-element-ea00029,
#estrutura .elementor-element-ea00051{margin-bottom:52px}
#como-funciona .elementor-element-ea00034{margin-bottom:54px}
#como-funciona .elementor-element-ea00037{margin-top:50px}
#diferenciais .elementor-element-ea00056{margin-bottom:46px}
#depoimentos .elementor-element-ea00061{margin-bottom:40px}
#faq .elementor-element-ea00066{margin-bottom:44px}

/* Depoimentos: oculto enquanto o Trustindex não estiver conectado ao
   perfil do Google Meu Negócio. Para reativar, apague as 2 linhas abaixo
   e coloque o widget de avaliações dentro da seção. */
#depoimentos{display:none!important}
