/* =====================================================================
   CarregaBR · rodape.css · rodapé de todas as páginas (src/partials/footer.html)
   Aprovado pelo Fabio na prévia rodape-preview-v2 (23/10/2026). Classes com
   prefixo ft- para não colidir com o CSS das páginas. Texto mínimo 15 px.
   JS: assets/js/rodape.js ("Aberto agora" e listas recolhíveis no celular).
   ===================================================================== */
.ft{--canvas:#1C1B19;--panel:#262420;--line:rgba(246,241,234,.12);--line-strong:rgba(246,241,234,.28);
  /* entardecer: o azul dos fechamentos (.mo-dawn__sky, .dx-end--dawn, .gx-end, .ap-end começam em #0E1530 e #1E2648) */
  --ft-dusk:#0E1530;--ft-dusk-2:#1E2648;--ft-dusk-3:#4A3E66;
  /* cobre da marca no escuro: --accent-hover (5,7:1 no carvão) e --accent-light (7,8:1), para texto miúdo */
  --cu:#D08B55;--cu-light:#E8A87C;
  /* folha: o único verde, só no traço da folhinha da frase */
  --leaf:#9CB89B;
  /* emenda: cor da borda de baixo do fechamento (padrão: o sol do .mo-dawn) e altura do degradê que desce sobre ela */
  --ft-h:#F7C98C;--ft-fade:0px;
  position:relative;font-size:.9375rem;line-height:1.55;padding-bottom:env(safe-area-inset-bottom,0px)}
.ft .icon{width:18px;height:18px;stroke-width:1.6}
.ft-lbl,.ft h2.ft-lbl,.ft h3.ft-lbl{font:600 .9375rem/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);margin:0}
.ft-lbl--g{color:var(--cu-light)}
.ft a.ft-tx{color:var(--text-secondary);text-decoration:none;transition:color var(--t-fast)}
.ft a.ft-tx:hover{color:var(--text-primary)}
.ft-nw{white-space:nowrap}
.ft-brk{overflow-wrap:anywhere}

/* 1 · faixa do entardecer: o fechamento desce para o rodapé sem emenda.
   Nas páginas que fecham no amanhecer (.mo-dawn: Início, Comparar, Guias...), a faixa começa na cor exata
   da borda do céu (#F7C98C) e no meio do sol (mesmo raio horizontal do .mo-dawn__sun, achatado: reflexo),
   e desce pelo mesmo degradê do céu, invertido, até o azul profundo. Nas páginas que fecham em foto
   (DC, Wallbox, Garantia, Alta potência, Mídia, Software), --ft-h é a média da borda de baixo da foto,
   e um degradê curto (::before) desce sobre ela. */
.ft::before{content:"";position:absolute;left:0;right:0;top:calc(-1 * var(--ft-fade));height:var(--ft-fade);z-index:1;pointer-events:none;background:linear-gradient(180deg,transparent,var(--ft-h))}
.ft-open{--sun-rx:min(750px,65vw);position:relative;overflow:hidden;
  background:
    radial-gradient(var(--sun-rx) calc(var(--sun-rx) / 4.8) at 50% 0,rgba(255,226,182,.95),rgba(246,178,112,.5) 32%,rgba(232,140,90,0) 74%),
    linear-gradient(180deg,var(--ft-h) 0,#F4B77A 14px,#D98457 38px,#9A5F62 76px,var(--ft-dusk-3) 122px,#2B2D55 172px,var(--ft-dusk-2) 220px,var(--ft-dusk) 330px,#121527 calc(100% - 90px),var(--canvas) 100%)}
.ft-open__in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:var(--s-6) var(--s-7);align-items:end;padding-top:clamp(150px,9rem + 2vw,184px)}
.ft-open__copy{display:grid;justify-items:start;gap:var(--s-3);padding-bottom:clamp(32px,3vw,44px)}
.ft-open .logo{font-size:1.5rem;color:#F6F1EA}
.ft-open .logo b{color:var(--accent-light)}
.ft-claim{font:700 clamp(1.85rem,1.3rem + 1.9vw,2.75rem)/1.06 var(--display);letter-spacing:-.03em;color:#F6F1EA;max-width:20ch;margin-top:var(--s-2);text-wrap:balance}
.ft-claim em{font-style:normal;color:var(--cu-light)}
.ft-leaf{display:inline-block;width:.7em;height:.7em;margin-left:.12em;vertical-align:-.02em;fill:none;stroke:var(--leaf);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.ft-open__sub{color:var(--text-secondary);max-width:46ch;font-size:1rem}
.ft-open .btn{margin-top:var(--s-2)}
.ft-scene{width:100%;justify-self:end;align-self:end}
.ft-scene svg{width:100%;height:auto;overflow:visible}
.ft-scene .s{fill:none;stroke:rgba(246,241,234,.78);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.ft-scene .d{stroke:rgba(246,241,234,.26)}
.ft-scene .g{stroke:var(--cu)}
.ft-scene .acc{stroke:var(--accent)}
.ft-scene .face{fill:#ECE6DC}
.ft-scene .win{fill:#0B0B0A;stroke:none}
.ft-scene .flow{fill:none;stroke:var(--cu-light);stroke-width:1.6;stroke-linecap:round;stroke-dasharray:3 9;vector-effect:non-scaling-stroke;animation:ft-flow 1.6s linear infinite}
@keyframes ft-flow{to{stroke-dashoffset:-24}}

/* emenda por página: média da borda de baixo de cada fechamento (medida a 1440 e a 390) */
main:has(> .dx--ultra) ~ .ft{--ft-h:#5D4C4B;--ft-fade:72px}
main:has(> .dx--lite) ~ .ft{--ft-h:#1B171E;--ft-fade:56px}
main:has(> .gx) ~ .ft{--ft-h:#886F65;--ft-fade:88px}
main:has(> .ap) ~ .ft{--ft-h:#634D41;--ft-fade:72px}
main:has(> .amw) ~ .ft{--ft-h:#211F1F;--ft-fade:56px}
main:has(> .cm) ~ .ft{--ft-h:#433127;--ft-fade:24px}
main:has(> .sw) ~ .ft{--ft-h:#221D23;--ft-fade:24px}
main:has(> .dx, > .gx, > .ap, > .amw, > .cm, > .sw) ~ .ft .ft-open{background:linear-gradient(180deg,var(--ft-h) 0,var(--ft-dusk-2) 150px,var(--ft-dusk) 280px,#121527 calc(100% - 90px),var(--canvas) 100%)}

/* 2 · onde estamos */
.ft-where{display:grid;grid-template-columns:minmax(0,240px) minmax(0,1fr);gap:var(--s-6) clamp(32px,3.4vw,48px);align-items:center;margin-top:clamp(40px,4vw,56px);padding:clamp(24px,2.6vw,36px);border-radius:var(--radius-lg);background:linear-gradient(160deg,#24232A 0%,#1E1F28 100%);border:1px solid var(--line)}
.ft-where__body{display:grid;gap:var(--s-5)}
.ft-where__sum{display:none}
.ft-map{position:relative;width:100%;max-width:240px;justify-self:center}
.ft-map svg{width:100%;height:auto;overflow:visible}
.ft-map .br{fill:rgba(232,168,124,.04);stroke:rgba(246,241,234,.5);stroke-width:1.3;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.ft-map .route{fill:none;stroke:var(--cu);stroke-width:1.5;stroke-linecap:round;stroke-dasharray:2 7;vector-effect:non-scaling-stroke}
.ft-map .pt{fill:var(--cu-light)}
.ft-map .halo{fill:none;stroke:var(--cu);stroke-width:1;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:center;animation:ft-halo 3s var(--ease-out) infinite}
.ft-map .halo--2{animation-delay:1.5s}
@keyframes ft-halo{0%{transform:scale(.4);opacity:.9}100%{transform:scale(2.2);opacity:0}}
.ft-map__lbl{position:absolute;left:calc(var(--x) * 1%);top:calc(var(--y) * 1%);font:600 .9375rem/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);white-space:nowrap;background:#22222A;padding:0 4px;border-radius:4px}
.ft-map__lbl--lon{transform:translate(calc(-100% - 12px),-50%)}
.ft-map__lbl--pe{transform:translate(calc(-100% + 2px),calc(-100% - 10px))}
.ft-units{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-5) var(--gap)}
.ft-unit{display:grid;gap:6px;align-content:start}
.ft-unit + .ft-unit{padding-left:var(--gap);border-left:1px solid var(--line)}
.ft-unit__city{font:600 1.3rem/1.2 var(--display);letter-spacing:-.015em;color:var(--text-primary)}
.ft-unit address{font-style:normal;color:var(--text-secondary)}
.ft-maps{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--text-primary);text-decoration:none;font-weight:500;justify-self:start}
.ft-maps .icon{color:var(--cu-light)}
.ft-maps span{border-bottom:1px solid var(--line-strong);padding-bottom:1px;transition:border-color var(--t-fast)}
.ft-maps:hover span{border-color:var(--cu)}
.ft-maps .icon--out{width:14px;height:14px;opacity:.7}
/* WhatsApp da região de cada unidade (Sul, Sudeste e Centro-Oeste em Londrina; Norte e Nordeste em Paulista) */
.ft-wa{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-top:-6px;color:var(--text-primary);text-decoration:none;font-weight:500;justify-self:start}
.ft-wa .icon{color:var(--cu-light)}
.ft-wa > span:not(.sr-only){border-bottom:1px solid var(--line-strong);padding-bottom:1px;transition:border-color var(--t-fast)}
.ft-wa:hover > span:not(.sr-only){border-color:var(--cu)}
.ft-wa__reg{margin-top:-8px;padding-left:26px;color:var(--text-dim)}
/* "Fale com a gente": região lembrada e o botão de trocar */
.ft-wa-now{margin-top:2px;color:var(--text-dim)}
.ft-wa-now__btn{display:inline-flex;align-items:center;min-height:32px;padding:0;border:0;background:none;color:var(--text-secondary);font:inherit;cursor:pointer;
  text-decoration:underline;text-decoration-color:var(--cu);text-underline-offset:3px}
.ft-wa-now__btn:hover{color:var(--text-primary)}
.ft-service{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr) minmax(0,1.15fr);gap:var(--s-5) var(--gap);padding-top:var(--s-5);border-top:1px solid var(--line)}
.ft-service > div{display:grid;gap:4px;align-content:start}
.ft-service > div + div{padding-left:var(--gap);border-left:1px solid var(--line)}
.ft-service .ft-lbl{margin-bottom:4px}
.ft-service p{color:var(--text-secondary)}
.ft-service b{color:var(--text-primary);font-weight:500}
.ft-service a.ft-tx{display:inline-flex;align-items:center;gap:8px;min-height:32px;justify-self:start}
.ft-service .icon{width:16px;height:16px;color:var(--text-dim)}
.ft-status{display:inline-flex;align-items:center;gap:9px;justify-self:start;min-height:30px;padding:3px 12px 3px 10px;border-radius:999px;border:1px solid var(--line-strong);color:var(--text-secondary);font:500 .9375rem/1.2 var(--body);margin-bottom:4px}
.ft-status i{width:8px;height:8px;border-radius:50%;background:var(--text-dim);position:relative;flex:none}
.ft-status.is-open{border-color:rgba(232,168,124,.5);color:var(--text-primary)}
.ft-status.is-open i{background:var(--cu-light)}
.ft-status.is-open i::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:1px solid var(--cu-light);animation:ft-ping 2.4s var(--ease-out) infinite}
@keyframes ft-ping{0%{transform:scale(.5);opacity:.9}100%{transform:scale(1.6);opacity:0}}

/* 3 · selos numa faixa só, mesma altura, monocromáticos */
.ft-seals{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-5) var(--s-6);padding-block:clamp(32px,3vw,44px);border-bottom:1px solid var(--line)}
.ft-seals__row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.ft-seal{--h:60px;position:relative;height:var(--h);display:inline-flex;align-items:center;justify-content:center;gap:var(--s-3);padding:0 var(--s-4);border:1px solid var(--line-strong);border-radius:12px;color:var(--text-secondary);text-decoration:none;transition:border-color var(--t) var(--ease-out),color var(--t) var(--ease-out),background-color var(--t) var(--ease-out)}
a.ft-seal:hover{border-color:rgba(232,168,124,.7);color:var(--text-primary);background:rgba(232,168,124,.06)}
a.ft-seal:hover .ft-seal__mark{color:var(--cu-light)}
.ft-seal__mark{font:700 1.2rem/1 var(--display);letter-spacing:-.01em;color:var(--text-primary);transition:color var(--t)}
.ft-seal__mark small{font:500 .9375rem/1 var(--body);color:var(--text-dim);margin-left:4px;letter-spacing:0}
.ft-seal--chint{gap:var(--s-4);padding-inline:var(--s-5);border-color:rgba(232,168,124,.45)}
.ft-seal--chint img{width:80px;height:auto;opacity:.92;transition:opacity var(--t)}
a.ft-seal--chint:hover img{opacity:1}
.ft-seal__rule{width:1px;align-self:stretch;margin-block:16px;background:var(--line-strong)}
.ft-seal__txt{font:600 .9375rem/1.25 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-primary)}
.ft-seals__esg{flex:1 1 300px;display:grid;gap:4px;color:var(--text-secondary);max-width:46ch;padding-left:var(--s-6);border-left:1px solid var(--line)}
.ft-seals__esg b{color:var(--text-primary);font-weight:500}
.ft-seals__esg .ft-lbl{display:flex;align-items:center;gap:8px}
.ft-seals__esg .ft-lbl::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--cu);flex:none}
.ft-src{color:var(--text-dim)}
.ft-src a{color:var(--text-secondary);text-underline-offset:3px;text-decoration-color:var(--line-strong);display:inline-flex;align-items:center;gap:4px;min-height:28px}
.ft-src a:hover{color:var(--text-primary);text-decoration-color:var(--cu)}
.ft-src .icon{width:13px;height:13px}

/* 4 · links e A empresa */
.ft-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.55fr);gap:var(--s-6) var(--gap);padding-block:clamp(36px,3.4vw,52px) var(--s-6)}
.ft-grp summary{list-style:none;display:flex;align-items:center;min-height:24px;margin-bottom:var(--s-2)}
.ft-grp summary::-webkit-details-marker{display:none}
.ft-grp summary h2{font:600 .9375rem/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);margin:0}
.ft-grp .ft-chev{display:none}
.ft-grp ul{display:grid;gap:0;list-style:none;padding:0;margin:0}
.ft-grp ul a{display:inline-flex;align-items:center;min-height:32px;line-height:1.35;color:var(--text-secondary);text-decoration:none;transition:color var(--t-fast)}
.ft-grp ul a:hover{color:var(--text-primary)}
.ft-grp ul a[aria-current="page"]{color:var(--text-primary)}
.ft-nav.is-wide .ft-grp summary{cursor:default;pointer-events:none}
.ft-firm{display:grid;gap:var(--s-3);align-content:start;padding-left:var(--gap);border-left:1px solid var(--line)}
.ft-firm dl{display:grid;gap:var(--s-3)}
.ft-firm dt{color:var(--text-dim)}
.ft-firm dd{color:var(--text-secondary);font-variant-numeric:tabular-nums}
.ft-firm dd b{color:var(--text-primary);font-weight:500}
.ft-firm__chint{color:var(--text-primary)}

/* 5 · linha legal */
.ft-legal{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--s-2) var(--s-6);padding-block:var(--s-5) var(--s-6);border-top:1px solid var(--line);color:var(--text-dim)}
.ft-legal ul{display:flex;gap:var(--s-5);list-style:none;margin:0;padding:0}
.ft-legal a{display:inline-flex;align-items:center;min-height:36px;color:var(--text-secondary);text-decoration:none}
.ft-legal a:hover{color:var(--text-primary)}

@media (max-width:1100px){
  .ft-where{grid-template-columns:minmax(0,220px) minmax(0,1fr)}
  .ft-service{grid-template-columns:1fr 1fr}
  .ft-service > div:nth-child(3){grid-column:1/-1;padding-left:0;border-left:0;padding-top:var(--s-4);border-top:1px solid var(--line)}
}
@media (max-width:900px){
  .ft-open__in{grid-template-columns:minmax(0,1fr)}
  .ft-scene{justify-self:center;max-width:420px}
  .ft-open__copy{padding-bottom:0}
  .ft-nav{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ft-firm{grid-column:1/-1;padding-left:0;border-left:0;padding-top:var(--s-5);border-top:1px solid var(--line)}
}
@media (max-width:900px) and (min-width:681px){
  .ft-where{grid-template-columns:minmax(0,180px) minmax(0,1fr)}
}
@media (max-width:680px){
  .ft-open__in{gap:var(--s-5);padding-top:128px}
  .ft-scene{max-width:340px}
  /* mapa compacto, ao lado do título */
  .ft-where{grid-template-columns:minmax(0,1fr) 108px;grid-template-areas:"head map" "units units" "service service";gap:var(--s-5) var(--s-4);align-items:start;margin-top:var(--s-6);padding:var(--s-5) 20px}
  .ft-where__body{display:contents}
  .ft-where__head{grid-area:head;display:grid;gap:6px;align-self:center}
  .ft-where__sum{display:block;color:var(--text-secondary);font-size:1rem;line-height:1.45}
  .ft-map{grid-area:map;max-width:108px;justify-self:end;align-self:center}
  .ft-map__lbl{display:none}
  .ft-map .halo{stroke-width:1.2}
  .ft-units{grid-area:units}
  .ft-service{grid-area:service}
  .ft-units,.ft-service{grid-template-columns:minmax(0,1fr);gap:var(--s-4)}
  .ft-unit + .ft-unit,.ft-service > div + div,.ft-service > div:nth-child(3){padding-left:0;border-left:0;padding-top:var(--s-4);border-top:1px solid var(--line)}
  .ft-seals{gap:var(--s-6) var(--s-5)}
  .ft-seals__row{width:100%}
  .ft-seal{--h:52px}
  .ft-seals__esg{padding-left:0;border-left:0;flex-basis:100%}
  .ft-seal--chint{flex:1 1 100%}
  .ft-seal--cert{flex:1 1 calc(50% - 5px)}
  /* links: listas recolhíveis */
  .ft-nav{grid-template-columns:minmax(0,1fr);gap:0;padding-top:var(--s-3)}
  .ft-grp{border-bottom:1px solid var(--line)}
  .ft-grp summary{display:flex;align-items:center;justify-content:space-between;min-height:56px;margin-bottom:0;cursor:pointer;border-radius:6px}
  .ft-grp summary h2{margin:0;color:var(--text-secondary)}
  .ft-grp .ft-chev{display:block;width:18px;height:18px;color:var(--text-dim);transition:transform var(--t-fast) var(--ease-out)}
  .ft-grp[open] .ft-chev{transform:rotate(180deg)}
  .ft-grp[open] summary h2{color:var(--text-primary)}
  .ft-grp ul{padding-bottom:var(--s-3)}
  .ft-grp ul a{min-height:44px}
  .ft-firm{border-top:0;padding-top:var(--s-6)}
  .ft-legal{padding-top:var(--s-4)}
}
@media (max-width:760px){
  main:has(> .dx--ultra) ~ .ft{--ft-h:#594B4D}
  main:has(> .dx--lite) ~ .ft{--ft-h:#0B0E1A;--ft-fade:0px}
  main:has(> .gx) ~ .ft{--ft-h:#7D655B}
  main:has(> .ap) ~ .ft{--ft-h:#4B3D38}
  main:has(> .amw) ~ .ft{--ft-h:#2D2726}
  main:has(> .cm) ~ .ft{--ft-h:#05070D;--ft-fade:0px}
  main:has(> .sw) ~ .ft{--ft-h:#0B0E1C;--ft-fade:0px}
}
@media (pointer:coarse){.ft-grp ul a,.ft-service a.ft-tx,.ft-legal a,.ft-wa-now__btn{min-height:44px}}
@media (prefers-reduced-motion:reduce){
  .ft-status.is-open i::after,.ft-map .halo,.ft-scene .flow{animation:none}
  .ft-map .halo{opacity:.35}
}
