/*
Theme Name: Solar Electron
Theme URI: https://solarelectron.com.br
Author: Solar Electron
Description: Tema proprietario da Solar Electron. Inteligencia em energia. Leve, sem construtor de pagina, com SEO e dados estruturados nativos.
Version: 1.0.0
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: solar-electron
*/

/* ============================================================
   1. TOKENS
   ============================================================ */
:root{
  --navy:#00176F;
  --navy-900:#000F3C;
  --navy-800:#001048;
  --navy-ink:#16224A;
  --azul:#003E8B;
  --ciano:#0090D0;
  --ciano-claro:#7DC7EC;

  --ambar:#FCA402;
  --ambar-claro:#FDB528;
  --ambar-medio:#FECB6B;
  --ambar-suave:#FFD98F;
  --laranja:#F18902;
  --laranja-forte:#F28001;
  --brasa:#E64904;
  --brasa-escura:#C23C03;
  --creme:#FFF8EC;
  --creme-linha:#F0DDB9;
  --creme-texto:#6B6038;
  --dourado-texto:#B06E00;

  --ground:#F5F7FB;
  --branco:#FFFFFF;
  --linha:#E1E7F2;
  --linha-suave:#EBEFF7;
  --tinta:#0B1224;
  --tinta-2:#48566F;
  --tinta-3:#55627E;
  --tinta-fraca:#7C8AA6;

  --raio:14px;
  --raio-p:8px;
  --sombra:0 1px 2px rgba(11,18,36,.05), 0 10px 30px -20px rgba(11,18,36,.35);
  --sombra-forte:0 26px 60px -34px rgba(90,52,0,.55);

  --largura:1296px;
  --gutter:24px;

  --display:"Sora",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --corpo:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
}

/* ============================================================
   2. BASE
   ============================================================ */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--ground);color:var(--tinta);
  font-family:var(--corpo);font-size:16px;line-height:1.62;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
img,svg,video{max-width:100%;height:auto;display:block}
a{color:var(--azul);text-decoration:none}
a:hover{color:var(--ciano)}
p{margin:0 0 1em}
p:last-child{margin-bottom:0}
h1,h2,h3,h4{font-family:var(--display);margin:0;text-wrap:balance;letter-spacing:-.022em;line-height:1.16}
ul,ol{margin:0 0 1em;padding-left:1.25em}
li{margin-bottom:.4em}
strong{font-weight:600}
:focus-visible{outline:3px solid var(--ciano);outline-offset:2px;border-radius:4px}
.se-skip{position:absolute;left:-9999px}
.se-skip:focus{left:16px;top:16px;z-index:999;background:var(--branco);padding:12px 18px;border-radius:8px;box-shadow:var(--sombra)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}

.se-wrap{max-width:var(--largura);margin:0 auto;padding-inline:var(--gutter)}
.se-mono{font-family:var(--mono)}
.se-eyebrow{font-family:var(--mono);font-size:.69rem;letter-spacing:.15em;text-transform:uppercase;color:var(--tinta-fraca);display:block;margin-bottom:.9rem}

/* ============================================================
   3. CABECALHO
   ============================================================ */
.se-header{
  background:linear-gradient(90deg,#F79000 0%,var(--laranja-forte) 56%,#E36104 100%);
  border-bottom:3px solid var(--brasa-escura);
  position:sticky;top:0;z-index:100;
}
.se-header-in{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:14px}
.se-marca{display:flex;align-items:center;gap:14px;min-width:0}
.se-marca img{width:190px;max-width:46vw}
.se-marca-div{width:1px;height:28px;background:rgba(22,34,74,.28);flex:0 0 auto}
.se-assinatura{font-family:var(--mono);font-size:9.5px;letter-spacing:.17em;text-transform:uppercase;color:var(--navy-ink);line-height:1.5;font-weight:500}
.se-nav-wrap{display:flex;align-items:center;gap:26px}
.se-nav ul{display:flex;align-items:center;gap:22px;list-style:none;margin:0;padding:0}
.se-nav li{margin:0}
.se-nav a{font-size:14.5px;font-weight:600;color:var(--navy-ink)}
.se-nav a:hover{color:var(--branco)}
.se-tel{
  display:inline-flex;align-items:center;gap:8px;background:var(--navy-ink);color:var(--branco);
  font-family:var(--display);font-weight:600;font-size:14.5px;padding:11px 20px;border-radius:6px;white-space:nowrap;
}
.se-tel:hover{background:var(--navy);color:var(--branco)}
.se-burger{display:none;width:46px;height:46px;border:1px solid rgba(22,34,74,.3);border-radius:8px;background:none;cursor:pointer;align-items:center;justify-content:center;padding:0}

/* ============================================================
   4. HERO
   ============================================================ */
.se-hero{
  background:linear-gradient(158deg,var(--ambar-suave) 0%,var(--ambar-medio) 44%,#FDB74E 100%);
  padding-block:52px 58px;position:relative;overflow:hidden;
}
.se-hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(22,34,74,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(22,34,74,.06) 1px,transparent 1px);
  background-size:72px 72px;
}
.se-hero>*{position:relative}
.se-painel{background:var(--branco);border-radius:22px;padding:44px 48px 48px;box-shadow:var(--sombra-forte);display:flex;flex-direction:column;gap:32px}
.se-tarja{display:inline-flex;align-items:center;gap:9px;background:#FFF4DF;border:1px solid #F3D9A6;border-radius:999px;padding:7px 15px;align-self:flex-start}
.se-tarja span:first-child{width:6px;height:6px;border-radius:50%;background:var(--navy);flex:0 0 auto}
.se-tarja em{font-family:var(--mono);font-style:normal;font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--navy-ink);font-weight:500}
.se-titulo{display:flex;flex-direction:column;gap:14px}
.se-h1{font-size:clamp(2.3rem,5.2vw,4.35rem);font-weight:700;line-height:1;letter-spacing:-.032em;color:var(--navy-ink)}
.se-h1-sub{font-size:clamp(1.28rem,2.4vw,2.06rem);font-weight:500;line-height:1.2;letter-spacing:-.018em;color:var(--dourado-texto)}
.se-hero-cols{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:56px;align-items:start}
.se-lead{font-size:1.19rem;line-height:1.66;color:var(--tinta-2);max-width:54ch;margin:0}
.se-acoes{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}

.se-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--display);font-weight:600;font-size:16px;padding:16px 28px;border-radius:var(--raio-p);border:1.5px solid transparent;cursor:pointer;transition:transform .12s ease,background .15s ease}
.se-btn:hover{transform:translateY(-1px)}
.se-btn--primaria{background:var(--navy);color:var(--branco)}
.se-btn--primaria:hover{background:var(--azul);color:var(--branco)}
.se-btn--ambar{background:var(--ambar);color:var(--navy-ink)}
.se-btn--ambar:hover{background:var(--ambar-claro);color:var(--navy-ink)}
.se-btn--branca{background:var(--branco);color:var(--navy)}
.se-btn--fantasma{border-color:#C9D2E6;color:var(--navy-ink);background:transparent}
.se-btn--fantasma:hover{border-color:var(--navy);color:var(--navy)}
.se-btn--escura{background:var(--navy-ink);color:var(--branco)}
.se-btn--bloco{width:100%}

.se-estudo{background:var(--navy);border-radius:16px;padding:28px 30px 30px;display:flex;flex-direction:column;gap:16px;box-shadow:0 18px 40px -22px rgba(0,16,47,.7)}
.se-estudo .se-eyebrow{color:var(--ciano-claro);margin-bottom:0}
.se-estudo h2,.se-estudo h3{font-size:1.62rem;font-weight:600;color:var(--branco);letter-spacing:-.014em;line-height:1.24}
.se-estudo p{font-size:.96rem;line-height:1.6;color:#B3C2E2;margin:0}
.se-checks{display:flex;flex-direction:column;gap:10px;margin:2px 0 0}
.se-check{display:flex;align-items:flex-start;gap:10px;font-size:.94rem;color:#DCE4F5;line-height:1.5}
.se-check svg{flex:0 0 auto;margin-top:3px}

/* ============================================================
   5. FAIXA DE PROVA
   ============================================================ */
.se-provas{background:var(--branco);border-bottom:1px solid var(--linha);padding-block:40px}
.se-provas-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
.se-prova-num{font-family:var(--display);font-weight:700;font-size:2.2rem;letter-spacing:-.03em;color:var(--navy);line-height:1.05}
.se-prova-num--texto{font-size:1.85rem;letter-spacing:-.024em}
.se-prova p{font-size:.9rem;line-height:1.5;color:var(--tinta-3);margin:6px 0 0}
.se-estrelas{display:inline-flex;gap:2px;margin-left:8px;vertical-align:baseline}

/* ============================================================
   6. SECOES
   ============================================================ */
.se-sec{padding-block:72px}
.se-sec--branca{background:var(--branco);border-top:1px solid var(--linha);border-bottom:1px solid var(--linha)}
.se-sec--navy{background:var(--navy);color:var(--branco)}
.se-sec--creme{background:var(--creme);border-top:1px solid #F3DFBC;border-bottom:1px solid #F3DFBC}
.se-sec--tinta{background:var(--ground);border-bottom:1px solid var(--linha)}

.se-h2{font-size:clamp(1.62rem,3.2vw,2.4rem);font-weight:600;letter-spacing:-.024em;line-height:1.16;color:var(--tinta)}
.se-sec--navy .se-h2{color:var(--branco)}
.se-sec--creme .se-h2{color:var(--navy-ink)}
.se-sec--navy .se-eyebrow{color:var(--ciano-claro)}
.se-sec--creme .se-eyebrow{color:#A8792B}
.se-intro{font-size:1.09rem;line-height:1.68;color:var(--tinta-2);max-width:66ch;margin-top:14px}
.se-sec--navy .se-intro{color:#B3C2E2}
.se-sec--creme .se-intro{color:#5C5024}
.se-cabeca{margin-bottom:34px;max-width:64ch}
.se-cabeca--larga{max-width:none}
.se-duas{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:60px;align-items:start;margin-bottom:40px}

/* grelhas */
.se-grade{display:grid;gap:16px}
.se-grade--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.se-grade--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.se-grade--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.se-grade--5{grid-template-columns:repeat(5,minmax(0,1fr))}

/* cartoes */
.se-card{background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio);padding:24px 22px 26px;display:flex;flex-direction:column;gap:12px}
.se-card h3{font-size:1.11rem;font-weight:600;letter-spacing:-.012em;color:var(--tinta)}
.se-card p{font-size:.9rem;line-height:1.6;color:var(--tinta-3);margin:0}
.se-card svg{color:var(--ambar)}
.se-card--creme{background:var(--branco);border-color:var(--creme-linha)}
.se-card--creme p{color:var(--creme-texto)}
.se-card--creme h3{color:var(--navy-ink)}
.se-card--vidro{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16)}
.se-card--vidro h3{color:var(--branco)}
.se-card--vidro p{color:#DCE4F5}
.se-card--ambar{background:var(--ambar);border-color:transparent}
.se-card--ambar h3{color:var(--navy-ink)}
.se-card--ambar p{color:#3E3110}
.se-card--simples{padding:22px 22px 24px;border-radius:12px}
.se-card--simples h3{font-size:1.04rem}

/* lista de servicos */
.se-servicos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.se-servico{display:flex;flex-direction:column;gap:8px;border:1px solid var(--linha);border-radius:12px;padding:22px;background:var(--branco);transition:border-color .15s ease}
.se-servico:hover{border-color:var(--ambar)}
.se-servico h3{font-size:1.04rem;font-weight:600;color:var(--tinta)}
.se-servico p{font-size:.9rem;line-height:1.56;color:var(--tinta-3);margin:0}
.se-servico h3 a,.se-card h3 a{color:inherit;text-decoration:none;background-image:linear-gradient(var(--ambar),var(--ambar));background-size:0 2px;background-position:0 100%;background-repeat:no-repeat;transition:background-size .18s ease}
.se-servico h3 a:hover,.se-servico h3 a:focus-visible,.se-card h3 a:hover,.se-card h3 a:focus-visible{background-size:100% 2px}
.se-servico h3 a::after{content:"";position:absolute;inset:0}
.se-servico{position:relative}

/* etapas */
.se-etapa{background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio);padding:22px 20px 24px;display:flex;flex-direction:column;gap:10px}
.se-etapa-topo{display:flex;align-items:center;gap:11px}
.se-etapa-n{font-family:var(--mono);font-size:11.5px;font-weight:500;color:var(--branco);background:var(--ambar);border-radius:6px;padding:4px 8px;letter-spacing:.04em}
.se-etapa-linha{height:1px;flex-grow:1;background:var(--linha-suave)}
.se-etapa h3{font-size:1.06rem;font-weight:600;color:var(--tinta)}
.se-etapa p{font-size:.89rem;line-height:1.6;color:var(--tinta-3);margin:0}
.se-destaque{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:28px;align-items:center;
  background:var(--branco);border:1px solid var(--linha);border-left:4px solid var(--ambar);
  border-radius:0 var(--raio) var(--raio) 0;padding:24px 28px;margin-top:18px;
}
.se-destaque-num{font-family:var(--display);font-weight:700;font-size:2.05rem;letter-spacing:-.03em;color:var(--navy);line-height:1}
.se-destaque p{font-size:.96rem;line-height:1.66;color:var(--tinta-3);margin:0}

/* criterio */
.se-criterio{display:flex;flex-direction:column}
.se-criterio-item{display:flex;align-items:flex-start;gap:13px;padding:16px 0;border-bottom:1px solid var(--linha-suave)}
.se-criterio-item svg{flex:0 0 auto;margin-top:2px;color:var(--ambar)}
.se-criterio-item h3{font-size:1.02rem;font-weight:600;color:var(--tinta);letter-spacing:-.01em}
.se-criterio-item p{font-size:.9rem;line-height:1.6;color:var(--tinta-3);margin:4px 0 0}

/* depoimentos */
.se-quote{background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio);padding:24px 22px;display:flex;flex-direction:column;gap:14px}
.se-quote blockquote{margin:0;font-size:1rem;line-height:1.62;color:#2B3752}
.se-quote cite{font-style:normal;font-size:.84rem;color:var(--tinta-fraca)}

/* cta final */
.se-cta{background:var(--ambar);padding-block:52px}
.se-cta-in{display:flex;align-items:center;justify-content:space-between;gap:44px;flex-wrap:wrap}
.se-cta h2{font-family:var(--display);font-weight:700;font-size:clamp(1.55rem,3vw,2.2rem);letter-spacing:-.024em;line-height:1.14;color:var(--navy-ink)}
.se-cta p{font-size:1.04rem;line-height:1.6;color:#4A3B14;max-width:62ch;margin:10px 0 0}

/* ============================================================
   7. CONTEUDO DE PAGINA INTERNA
   ============================================================ */
.se-pagina{padding-block:56px 72px}
.se-hero-int{background:linear-gradient(158deg,var(--ambar-suave) 0%,var(--ambar-medio) 100%);padding-block:44px 48px;border-bottom:3px solid rgba(230,73,4,.25)}
.se-hero-int .se-h1{font-size:clamp(1.9rem,4vw,3rem)}
.se-hero-int p{font-size:1.09rem;line-height:1.66;color:#4A3B14;max-width:62ch;margin:14px 0 0}
.se-migalhas{font-size:.84rem;color:#7A5A12;margin-bottom:14px}
.se-migalhas a{color:#7A5A12;text-decoration:underline}
.se-conteudo{max-width:74ch}
.se-conteudo--largo{max-width:none}
.se-conteudo h2{font-size:clamp(1.4rem,2.6vw,1.9rem);font-weight:600;margin:2.2em 0 .7em;color:var(--tinta)}
.se-conteudo h2:first-child{margin-top:0}
.se-conteudo h3{font-size:1.18rem;font-weight:600;margin:1.8em 0 .5em;color:var(--tinta)}
.se-conteudo p,.se-conteudo li{font-size:1.03rem;line-height:1.75;color:var(--tinta-2)}
.se-conteudo table{width:100%;border-collapse:collapse;margin:1.6em 0;font-size:.95rem}
.se-conteudo th,.se-conteudo td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--linha)}
.se-conteudo th{font-family:var(--display);font-weight:600;color:var(--tinta);background:var(--ground)}
.se-tabela-rolagem{overflow-x:auto}

/* FAQ */
.se-faq{display:flex;flex-direction:column;gap:10px}
.se-faq details{background:var(--branco);border:1px solid var(--linha);border-radius:12px;padding:18px 22px}
.se-faq summary{font-family:var(--display);font-weight:600;font-size:1.04rem;color:var(--tinta);cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center}
.se-faq summary::-webkit-details-marker{display:none}
.se-faq summary::after{content:"+";font-family:var(--mono);font-size:1.3rem;color:var(--ambar);line-height:1}
.se-faq details[open] summary::after{content:"\2212"}
.se-faq details p{margin-top:12px;font-size:.98rem;line-height:1.7;color:var(--tinta-2)}

/* ============================================================
   8. RODAPE
   ============================================================ */
.se-footer{background:#00102F;color:#B9C6E2;padding-block:52px 26px;font-size:.9rem}
.se-footer-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr);gap:48px;padding-bottom:34px;border-bottom:1px solid rgba(255,255,255,.1)}
.se-footer img{width:180px}
.se-footer p{line-height:1.66;color:#8B9AC0;margin:0 0 .9em}
.se-footer h3{font-family:var(--mono);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#5E6E94;font-weight:400;margin-bottom:12px}
.se-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.se-footer li{margin:0}
.se-footer a{color:#B9C6E2}
.se-footer a:hover{color:var(--ambar)}
.se-footer-base{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:20px;font-size:.79rem;color:#5E6E94;flex-wrap:wrap}

/* botao flutuante */
.se-zap{
  position:fixed;right:18px;bottom:18px;z-index:90;
  display:inline-flex;align-items:center;gap:10px;
  background:#1FA855;color:#fff;font-family:var(--display);font-weight:600;font-size:15px;
  padding:14px 20px;border-radius:999px;box-shadow:0 10px 30px -8px rgba(0,0,0,.45);
}
.se-zap:hover{background:#178c46;color:#fff;transform:translateY(-2px)}

/* ============================================================
   9. RESPONSIVO
   ============================================================ */
@media (max-width:1080px){
  .se-grade--5,.se-grade--4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .se-servicos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .se-duas{grid-template-columns:1fr;gap:26px}
  .se-hero-cols{grid-template-columns:1fr;gap:34px}
  .se-footer-grid{grid-template-columns:1fr 1fr;gap:32px}
}
@media (max-width:860px){
  .se-nav{display:none}
  .se-burger{display:flex}
  .se-header.aberto .se-nav{display:block;position:absolute;left:0;right:0;top:100%;background:var(--laranja-forte);border-bottom:3px solid var(--brasa-escura);padding:14px 24px 20px}
  .se-header.aberto .se-nav ul{flex-direction:column;align-items:stretch;gap:0}
  .se-header.aberto .se-nav li{border-bottom:1px solid rgba(22,34,74,.16)}
  .se-header.aberto .se-nav a{display:block;padding:13px 0;font-size:16px}
  .se-marca-div,.se-assinatura{display:none}
  .se-tel span{display:none}
  .se-tel{padding:12px}
}
@media (max-width:720px){
  :root{--gutter:18px}
  .se-painel{padding:26px 22px 28px;border-radius:18px;gap:22px}
  .se-hero{padding-block:26px 30px}
  .se-provas-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}
  .se-grade--2,.se-grade--3,.se-grade--4,.se-grade--5,.se-servicos{grid-template-columns:1fr}
  .se-sec{padding-block:46px}
  .se-destaque{grid-template-columns:1fr;gap:12px;border-left:0;border-top:4px solid var(--ambar);border-radius:0 0 var(--raio) var(--raio)}
  .se-footer-grid{grid-template-columns:1fr;gap:28px}
  .se-cta-in{gap:22px}
  .se-btn{width:100%}
  .se-acoes{gap:10px;margin-top:18px}
  .se-zap{right:14px;bottom:14px;padding:13px 16px;font-size:14px}
}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
