/* ============================================================================
   ADOLPHO ELETRICISTA — CSS DO SITE PÚBLICO
   ============================================================================ */

:root{
  --azul:#0b1220; --azul2:#111c33; --azul3:#1a2740;
  --amarelo:#ffc107; --amarelo2:#ffb300;
  --texto:#e8eefc; --texto-suave:#9fb0cc; --borda:rgba(255,255,255,.08);
  --verde:#25d366; --vermelho:#f87171;
  --header-h:76px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Segoe UI',system-ui,-apple-system,Roboto,Arial,sans-serif;
  background:var(--azul); color:var(--texto);
  min-height:100vh; line-height:1.6; overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  padding-top:var(--header-h);
}
body::before{
  content:''; position:fixed; inset:0; pointer-events:none; z-index:0;
  background-image:
    linear-gradient(rgba(255,193,7,.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,193,7,.03) 1px, transparent 1px);
  background-size:52px 52px;
  -webkit-mask-image:radial-gradient(circle at 50% 20%, #000 0%, transparent 70%);
  mask-image:radial-gradient(circle at 50% 20%, #000 0%, transparent 70%);
}
a{color:var(--amarelo); text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%; height:auto; display:block}

.container{position:relative; z-index:1; max-width:1140px; margin:0 auto; padding:0 24px}

/* AVISO ADMIN */
.aviso-admin{
  position:fixed; top:0; left:0; right:0; z-index:999;
  background:linear-gradient(90deg, #7c2d12, #9a3412);
  color:#fff; padding:11px 20px;
  font-size:.88rem; text-align:center;
  box-shadow:0 4px 16px rgba(0,0,0,.4);
}
.aviso-admin strong{color:#fde68a}
.aviso-admin a{color:#fde68a; font-weight:700; margin-left:8px}

/* HEADER */
.site-header{
  position:fixed; top:0; left:0; right:0; z-index:100;
  height:var(--header-h);
  background:rgba(11,18,32,.92);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--borda);
  transition:background .3s ease;
}
.aviso-admin ~ .site-header{top:auto} /* quando há aviso, mantém no lugar */
.header-inner{
  display:flex; align-items:center; justify-content:space-between;
  height:100%; gap:20px;
}

.marca{display:inline-flex; align-items:center; gap:12px; color:inherit; text-decoration:none}
.marca:hover{text-decoration:none}
.marca-logo{max-height:44px; width:auto}
.marca-icone{
  width:44px; height:44px; border-radius:12px;
  display:grid; place-items:center; font-size:22px;
  background:linear-gradient(135deg,var(--amarelo),var(--amarelo2));
  color:#0b1220; box-shadow:0 8px 20px rgba(255,193,7,.28);
}
.marca-texto{line-height:1.15}
.marca-texto .nome{font-weight:800; font-size:1.02rem; letter-spacing:-.01em; display:block}
.marca-texto .sub{font-size:.68rem; color:var(--texto-suave); text-transform:uppercase; letter-spacing:.08em}

/* NAV */
.menu-principal{display:flex; align-items:center; gap:4px; flex-wrap:wrap}
.menu-link{
  display:inline-flex; align-items:center; gap:7px;
  padding:10px 14px; border-radius:9px;
  color:var(--texto-suave); font-weight:600; font-size:.92rem;
  text-decoration:none; transition:all .18s ease;
  background:transparent; border:none; cursor:pointer; font-family:inherit;
}
.menu-link:hover{background:rgba(255,255,255,.05); color:var(--texto); text-decoration:none}
.menu-link.ativo{
  background:rgba(255,193,7,.12); color:var(--amarelo);
}
.menu-link .ic{font-size:.95rem}

/* Dropdown */
.menu-item-dropdown{position:relative}
.menu-item-dropdown .chev{width:14px; height:14px; fill:currentColor; transition:transform .2s ease; margin-left:2px}
.menu-item-dropdown:hover .chev{transform:rotate(180deg)}
.dropdown{
  position:absolute; top:calc(100% + 6px); left:0;
  min-width:220px; padding:8px;
  background:linear-gradient(180deg, var(--azul2) 0%, var(--azul) 100%);
  border:1px solid var(--borda); border-radius:12px;
  box-shadow:0 20px 50px rgba(0,0,0,.6);
  opacity:0; visibility:hidden; transform:translateY(-6px);
  transition:all .22s ease;
  z-index:50;
}
.menu-item-dropdown:hover .dropdown,
.menu-item-dropdown:focus-within .dropdown{
  opacity:1; visibility:visible; transform:translateY(0);
}
.dropdown-link{
  display:flex; align-items:center; gap:9px;
  padding:10px 14px; border-radius:8px;
  color:var(--texto-suave); font-size:.88rem; font-weight:600;
  text-decoration:none; transition:all .18s ease;
}
.dropdown-link:hover{
  background:rgba(255,193,7,.1); color:var(--amarelo); text-decoration:none;
}

.btn-whats-header{
  display:inline-flex; align-items:center; gap:9px;
  padding:10px 20px; margin-left:8px;
  background:var(--verde); color:#052e16;
  border-radius:999px; font-weight:700; font-size:.88rem;
  text-decoration:none;
  box-shadow:0 6px 18px rgba(37,211,102,.28);
  transition:transform .2s ease, box-shadow .2s ease;
}
.btn-whats-header:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(37,211,102,.42);
  text-decoration:none;
}
.btn-whats-header svg{width:17px; height:17px; fill:currentColor}

.menu-toggle-mobile{
  display:none;
  width:44px; height:44px; border-radius:10px;
  background:rgba(255,255,255,.04); border:1px solid var(--borda);
  cursor:pointer; flex-direction:column; justify-content:center; align-items:center; gap:4px;
}
.menu-toggle-mobile span{
  display:block; width:20px; height:2px; border-radius:2px;
  background:var(--texto); transition:all .25s ease;
}
.menu-toggle-mobile.ativo span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.menu-toggle-mobile.ativo span:nth-child(2){opacity:0}
.menu-toggle-mobile.ativo span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* CONTEÚDO */
.site-main{position:relative; z-index:1; min-height:60vh}

/* FOOTER */
.site-footer{
  position:relative; z-index:1;
  margin-top:80px;
  background:linear-gradient(180deg, rgba(17,28,51,.5) 0%, rgba(11,18,32,.9) 100%);
  border-top:1px solid var(--borda);
  padding:60px 0 24px;
}
.footer-grid{
  display:grid; gap:36px;
  grid-template-columns:1.4fr 1fr 1fr 1.2fr;
  margin-bottom:44px;
}
.footer-col h4.footer-titulo{
  font-size:.82rem; font-weight:800; text-transform:uppercase;
  letter-spacing:.08em; color:var(--amarelo);
  margin-bottom:18px;
}
.footer-marca{display:flex; align-items:center; gap:12px; margin-bottom:14px}
.footer-logo{max-height:40px; width:auto}
.footer-icone{
  width:40px; height:40px; border-radius:10px;
  display:grid; place-items:center; font-size:20px;
  background:linear-gradient(135deg,var(--amarelo),var(--amarelo2));
  color:#0b1220;
}
.footer-nome{font-weight:800; font-size:1.02rem}
.footer-slogan{color:var(--texto-suave); font-size:.88rem; line-height:1.6; margin-bottom:16px}

.footer-redes{display:flex; gap:10px; flex-wrap:wrap}
.rede-social{
  width:40px; height:40px; border-radius:50%;
  display:grid; place-items:center;
  background:rgba(255,255,255,.04); border:1px solid var(--borda);
  color:var(--texto-suave); text-decoration:none;
  transition:all .22s ease;
}
.rede-social:hover{
  background:var(--amarelo); color:#0b1220; border-color:var(--amarelo);
  transform:translateY(-3px); text-decoration:none;
}
.rede-social svg{width:18px; height:18px; fill:currentColor}

.footer-links{list-style:none}
.footer-links li{margin-bottom:9px}
.footer-links a{
  color:var(--texto-suave); font-size:.9rem;
  text-decoration:none; transition:color .18s ease;
}
.footer-links a:hover{color:var(--amarelo)}

.footer-contato{list-style:none}
.footer-contato li{
  display:flex; align-items:flex-start; gap:10px;
  margin-bottom:12px; color:var(--texto-suave); font-size:.88rem;
  line-height:1.55;
}
.footer-contato .ic{flex-shrink:0; font-size:1rem; width:18px; text-align:center}
.footer-contato a{color:var(--texto-suave); text-decoration:none}
.footer-contato a:hover{color:var(--amarelo)}

.footer-base{
  display:flex; justify-content:space-between; align-items:center;
  gap:20px; flex-wrap:wrap;
  padding-top:24px; border-top:1px solid var(--borda);
  font-size:.82rem; color:var(--texto-suave);
}
.footer-base-esq{opacity:.85}
.footer-base-dir{display:flex; align-items:center; gap:8px; flex-wrap:wrap}
.footer-base-dir a{color:var(--texto-suave)}
.footer-base-dir a:hover{color:var(--amarelo)}
.footer-base .sep{opacity:.4}
.credito a{color:rgba(255,193,7,.85); font-weight:600}

/* WHATSAPP FLUTUANTE */
.whats-flutuante{
  position:fixed; bottom:24px; right:24px; z-index:90;
  width:58px; height:58px; border-radius:50%;
  display:grid; place-items:center;
  background:var(--verde); color:#052e16;
  box-shadow:0 12px 30px rgba(37,211,102,.45);
  transition:transform .22s ease, box-shadow .22s ease;
}
.whats-flutuante:hover{
  transform:scale(1.08); box-shadow:0 18px 40px rgba(37,211,102,.6);
  text-decoration:none;
}
.whats-flutuante svg{width:28px; height:28px; fill:currentColor}

/* VOLTAR TOPO */
.voltar-topo{
  position:fixed; bottom:24px; right:96px; z-index:90;
  width:48px; height:48px; border-radius:50%;
  background:rgba(255,255,255,.06); border:1px solid var(--borda);
  color:var(--texto-suave); cursor:pointer;
  display:grid; place-items:center;
  opacity:0; visibility:hidden;
  transition:all .25s ease;
  backdrop-filter:blur(8px);
}
.voltar-topo.visivel{opacity:1; visibility:visible}
.voltar-topo:hover{background:var(--amarelo); color:#0b1220; border-color:var(--amarelo)}
.voltar-topo svg{width:22px; height:22px; fill:currentColor}

/* COOKIE BANNER */
.cookie-banner{
  position:fixed; bottom:0; left:0; right:0; z-index:9999;
  padding:16px 20px;
  background:linear-gradient(180deg, rgba(17,28,51,.98) 0%, rgba(11,18,32,.98) 100%);
  border-top:1px solid var(--borda);
  box-shadow:0 -8px 32px rgba(0,0,0,.5);
  transform:translateY(100%);
  transition:transform .35s ease;
  backdrop-filter:blur(12px);
}
.cookie-banner.visivel{transform:translateY(0)}
.cookie-conteudo{
  max-width:1140px; margin:0 auto;
  display:flex; align-items:center; justify-content:space-between;
  gap:20px; flex-wrap:wrap;
}
.cookie-texto{flex:1; min-width:260px}
.cookie-texto strong{display:block; margin-bottom:4px; font-size:.95rem}
.cookie-texto p{font-size:.85rem; color:var(--texto-suave); line-height:1.55}
.cookie-texto a{color:var(--amarelo); font-weight:600}
.cookie-acoes{display:flex; gap:10px; flex-wrap:wrap}
.cookie-btn{
  padding:11px 24px; border-radius:999px;
  font-size:.88rem; font-weight:800; cursor:pointer;
  font-family:inherit; border:none;
  transition:transform .2s ease, opacity .2s ease;
}
.cookie-btn.aceitar{
  background:linear-gradient(135deg,var(--amarelo),var(--amarelo2));
  color:#0b1220;
}
.cookie-btn.recusar{
  background:transparent; color:var(--texto-suave);
  border:1px solid var(--borda);
}
.cookie-btn:hover{transform:translateY(-2px)}

/* UTILITÁRIOS */
.text-center{text-align:center}
.mb-0{margin-bottom:0}
.mt-20{margin-top:20px}
.mt-40{margin-top:40px}

/* RESPONSIVO */
@media (max-width: 900px){
  .menu-toggle-mobile{display:flex}
  .menu-principal{
    position:fixed; top:var(--header-h); left:0; right:0; bottom:0;
    background:linear-gradient(180deg, var(--azul2) 0%, var(--azul) 100%);
    padding:24px;
    flex-direction:column; align-items:stretch; gap:6px;
    overflow-y:auto;
    transform:translateX(100%);
    transition:transform .3s ease;
  }
  .menu-principal.aberto{transform:translateX(0)}
  .menu-link{
    padding:14px 18px; font-size:1rem;
    border-radius:10px;
  }
  .menu-item-dropdown{width:100%}
  .menu-item-dropdown .menu-link{width:100%; justify-content:space-between}
  .dropdown{
    position:static; opacity:1; visibility:visible; transform:none;
    box-shadow:none; background:rgba(0,0,0,.2);
    max-height:0; overflow:hidden; padding:0;
    transition:max-height .3s ease, padding .3s ease;
  }
  .menu-item-dropdown.aberto .dropdown{
    max-height:400px; padding:8px;
  }
  .btn-whats-header{
    width:100%; justify-content:center;
    padding:14px; margin-top:12px; margin-left:0;
  }

  .footer-grid{grid-template-columns:1fr 1fr; gap:32px}
  .marca-col{grid-column:1 / -1}
}
@media (max-width: 600px){
  .footer-grid{grid-template-columns:1fr}
  .footer-base{flex-direction:column; text-align:center}
  .footer-base-dir{justify-content:center}
  .voltar-topo{bottom:24px; right:90px}
  .cookie-conteudo{flex-direction:column; align-items:stretch}
  .cookie-acoes{width:100%}
  .cookie-btn{flex:1}
}

@media (prefers-reduced-motion: reduce){
  *{animation:none !important; transition:none !important}
}