/* ============================================
   DISK BATERIAS — Stylesheet otimizado
   Design tokens, dark navy + laranja vibrante
   ============================================ */

@font-face{font-family:'Barlow';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/barlow-400.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/barlow-600.woff2) format('woff2')}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/barlow-condensed-700.woff2) format('woff2')}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:800;font-display:swap;src:url(fonts/barlow-condensed-800.woff2) format('woff2')}
@font-face{font-family:'Barlow Condensed Fallback';src:local('Arial Narrow'),local('Arial');size-adjust:97%;ascent-override:95%;descent-override:25%;line-gap-override:0%}

:root{
  --navy:#00264d;
  --navy-2:#001a33;
  --navy-3:#003566;
  --orange:#cc5200;
  --orange-2:#e85d00;
  --orange-glow:oklch(0.65 0.18 45);
  --green:#0e6e63;
  --green-2:#128c7e;
  --bg:#f6f7fa;
  --surface:#ffffff;
  --ink:#1a1f2e;
  --ink-2:#4a5260;
  --ink-3:#7a8290;
  --line:#e6e9ef;
  --shadow-sm:0 1px 2px rgba(15,23,42,.06),0 1px 3px rgba(15,23,42,.05);
  --shadow:0 4px 12px rgba(15,23,42,.06),0 2px 6px rgba(15,23,42,.04);
  --shadow-lg:0 24px 48px -12px rgba(0,38,77,.18),0 8px 16px rgba(15,23,42,.06);
  --radius:14px;
  --radius-sm:8px;
  --radius-lg:20px;
  --container:1200px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:'Barlow',system-ui,Arial,sans-serif;
  font-size:16px;
  line-height:1.55;
  min-height:100vh;
  display:flex;
  flex-direction:column;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
button{font-family:inherit;cursor:pointer;border:none;background:none}

h1,h2,h3,h4,.logo,.brand-name,.product-title,.product-subtitle{
  font-family:'Barlow Condensed','Barlow Condensed Fallback',sans-serif;
  font-weight:800;
  line-height:1.05;
  letter-spacing:-0.01em;
  text-wrap:balance;
}

.icon{width:1.1em;height:1.1em;fill:currentColor;vertical-align:-0.15em;display:inline-block;margin-right:6px;flex-shrink:0}

/* ============================================
   ANIMATIONS
   ============================================ */
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.04);opacity:.85}}
@keyframes glow{from{box-shadow:0 0 0 0 rgba(204,82,0,.5)}to{box-shadow:0 0 0 12px rgba(204,82,0,0)}}
@keyframes pulseRing{0%{transform:scale(.9);opacity:.8}100%{transform:scale(2.4);opacity:0}}
@keyframes shine{0%{transform:translateX(-120%) skewX(-15deg)}100%{transform:translateX(220%) skewX(-15deg)}}
@keyframes blink{50%{opacity:.4}}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  html{scroll-behavior:auto}
}

/* ============================================
   HEADER
   ============================================ */
header{
  background:linear-gradient(180deg,var(--navy) 0%,var(--navy-2) 100%);
  color:#fff;
  padding:.75rem 5%;
  display:flex;
  justify-content:space-between;
  align-items:center;
  position:fixed;
  inset:0 0 auto 0;
  z-index:1000;
  border-bottom:3px solid var(--orange);
  box-shadow:0 4px 20px rgba(0,0,0,.25);
  transition:background .3s ease,backdrop-filter .3s ease;
}
header.scrolled{
  background:rgba(0,38,77,.85);
  backdrop-filter:saturate(180%) blur(14px);
  -webkit-backdrop-filter:saturate(180%) blur(14px);
}

.logo{
  font-size:1.55rem;
  font-weight:900;
  letter-spacing:.5px;
  text-transform:uppercase;
  display:flex;
  align-items:center;
  gap:8px;
  text-decoration:none;
  color:#fff;
}
.logo span{color:var(--orange)}
.badge-24h{
  background:rgb(204,82,0);
  color:rgb(255,255,255);
  padding:3px 9px;
  border-radius:6px;
  font-weight:800;
  font-size:.75rem;
  letter-spacing:.6px;
  position:relative;
  animation:glow 2s infinite;
  box-shadow:0 2px 8px rgba(204,82,0,.4);
}

.header-info{display:flex;gap:18px;align-items:center;font-size:.95rem}
.header-item{display:flex;align-items:center;font-weight:600;gap:4px}
.header-item-link{text-decoration:none;color:inherit;display:flex;align-items:center;transition:color .2s}
.header-item-link:hover{color:var(--orange)}
.header-item .icon{color:var(--orange);font-size:1.1rem}
.mob-loc{display:none}

.parcelamento-banner{
  background:linear-gradient(90deg,#fff,#fff8f0,#fff);
  color:var(--navy);
  text-align:center;
  padding:8px 1rem;
  font-weight:700;
  font-size:1rem;
  position:fixed;
  width:100%;
  top:var(--header-h,60px);
  z-index:999;
  box-shadow:0 2px 8px rgba(0,0,0,.08);
  display:flex;
  justify-content:center;
  align-items:center;
  gap:8px;
  border-bottom:1px solid var(--line);
  letter-spacing:.3px;
}
.parcelamento-banner .icon{color:#16a34a;font-size:1.1rem}
.parcelamento-banner strong{color:var(--orange)}

/* ============================================
   HERO
   ============================================ */
.hero{
  position:relative;
  background:
    linear-gradient(180deg,rgba(0,26,51,.55) 0%,rgba(0,26,51,.85) 100%),
    url('imagens/fundo-hero.webp') center/cover no-repeat;
  padding:170px 20px 70px;
  color:#fff;
  text-align:center;
  flex:1 0 auto;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  overflow:hidden;
}
.hero::before{
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse at 50% 0%,rgba(204,82,0,.18) 0%,transparent 60%);
  pointer-events:none;
}
.hero > *{position:relative;z-index:1}

.hero-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:rgba(255,255,255,.1);
  backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.2);
  padding:7px 16px;
  border-radius:50px;
  font-size:.85rem;
  font-weight:600;
  margin-bottom:18px;
  animation:fadeUp .6s ease both;
}
.hero-badge .live-dot{
  width:8px;height:8px;border-radius:50%;background:#22c55e;
  box-shadow:0 0 0 0 rgba(34,197,94,.6);
  animation:glow 2s infinite;
}
.hero h1{
  font-size:clamp(2.2rem,5.5vw,3.6rem);
  line-height:1.05;
  text-transform:uppercase;
  margin-bottom:14px;
  animation:fadeUp .6s .1s ease both;
  max-width:14ch;
}
.hero h1 .accent{
  background:linear-gradient(120deg,var(--orange) 0%,#ff8c42 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  display:inline-block;
}
.hero-sub{
  font-size:clamp(1.05rem,2.2vw,1.3rem);
  color:#ffd9b8;
  font-weight:600;
  margin-bottom:14px;
  animation:fadeUp .6s .2s ease both;
}
.hero p{
  font-size:1.05rem;
  max-width:620px;
  color:#dde4ee;
  margin-bottom:28px;
  animation:fadeUp .6s .3s ease both;
  text-wrap:pretty;
}
.hero p strong{color:#fff}

.cta-group{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  justify-content:center;
  animation:fadeUp .6s .4s ease both;
}

.btn-hero,.btn-main{
  position:relative;
  overflow:hidden;
  padding:15px 28px;
  font-size:1.05rem;
  font-weight:800;
  text-decoration:none;
  border-radius:50px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  text-transform:uppercase;
  letter-spacing:.5px;
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;
  white-space:nowrap;
}
.btn-hero::after,.btn-main::after{
  content:'';
  position:absolute;
  top:0;
  left:0;
  width:30%;
  height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);
  transform:translateX(-200%) skewX(-15deg);
  pointer-events:none;
}
.btn-hero:hover::after,.btn-main:hover::after{animation:shine .8s ease}
.btn-hero:hover,.btn-main:hover{transform:translateY(-2px);filter:brightness(1.08)}
.btn-hero:active,.btn-main:active{transform:translateY(0)}

.btn-whats-hero,.btn-whats{background:linear-gradient(135deg,#128c7e 0%,#0e6e63 100%);color:#fff;box-shadow:0 6px 18px rgba(18,140,126,.4)}
.btn-call-hero,.btn-call{background:linear-gradient(135deg,#e85d00 0%,#cc5200 100%);color:#fff;box-shadow:0 6px 18px rgba(204,82,0,.4)}

.hero-trust{
  display:flex;
  flex-wrap:wrap;
  gap:18px 28px;
  justify-content:center;
  margin-top:32px;
  font-size:.92rem;
  color:#cdd5e0;
  animation:fadeUp .6s .5s ease both;
}
.hero-trust span{display:flex;align-items:center;gap:6px}
.hero-trust .icon{color:#22c55e}
.hero-trust .stars{color:#fbbf24}

.urgency-strip{
  background:linear-gradient(90deg,#a34000 0%,#cc5200 50%,#a34000 100%);
  color:#fff;
  text-align:center;
  padding:14px;
  font-weight:800;
  font-size:1rem;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:8px;
  letter-spacing:.3px;
  text-transform:uppercase;
}
.urgency-strip .icon{color:#fff;animation:pulse 1.5s ease infinite}

/* ============================================
   SECTION BASE
   ============================================ */
section{padding:4rem 5%}
.container{max-width:var(--container);margin-inline:auto}
.section-eyebrow{
  display:inline-block;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:1.5px;
  text-transform:uppercase;
  color:var(--orange);
  margin-bottom:8px;
  font-family:'Barlow',sans-serif;
}
.section-title{
  text-align:center;
  font-size:clamp(1.8rem,3.5vw,2.4rem);
  color:var(--navy);
  margin-bottom:.5rem;
  text-transform:uppercase;
}
.section-lead{
  text-align:center;
  max-width:680px;
  margin:0 auto 2.5rem;
  color:var(--ink-2);
  font-size:1.05rem;
}

/* ============================================
   BATTERY FINDER
   ============================================ */
.battery-finder{
  background:
    radial-gradient(ellipse at top,rgba(204,82,0,.12) 0%,transparent 50%),
    linear-gradient(180deg,var(--navy) 0%,var(--navy-2) 100%);
  color:#fff;
  border-bottom:3px solid var(--orange);
  text-align:center;
}
.finder-container{
  max-width:820px;
  margin:0 auto;
  background:rgba(255,255,255,.04);
  padding:2.5rem 2rem;
  border-radius:var(--radius-lg);
  border:1px solid rgba(255,255,255,.1);
  backdrop-filter:blur(8px);
  box-shadow:0 24px 48px rgba(0,0,0,.25);
}
.battery-finder h2{font-size:clamp(1.6rem,3vw,2.1rem);margin-bottom:.5rem;color:#fff;display:flex;align-items:center;justify-content:center;gap:8px}
.battery-finder h2 .icon{color:var(--orange)}
.battery-finder p.hint{margin-bottom:1.5rem;color:#cbd5e1;font-size:1rem}
.finder-controls{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:1rem}
.finder-controls select{
  padding:14px 16px;
  font-size:1rem;
  border-radius:10px;
  border:2px solid transparent;
  width:100%;
  max-width:300px;
  background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 7' fill='%2300264d'><path d='M6 7L0 1l1.4-1.4L6 4.2 10.6-.4 12 1z'/></svg>") no-repeat right 16px center/12px;
  color:var(--navy);
  font-family:inherit;
  font-weight:600;
  cursor:pointer;
  outline:none;
  transition:.2s;
  appearance:none;
  -webkit-appearance:none;
  padding-right:42px;
}
.finder-controls select:focus{border-color:var(--orange);box-shadow:0 0 0 4px rgba(204,82,0,.2)}
.finder-controls select:disabled{background-color:#e2e8f0;cursor:not-allowed;opacity:.7}
.finder-result{
  background:#fff;
  color:var(--navy);
  padding:1.5rem;
  border-radius:12px;
  margin-top:1rem;
  opacity:0;
  transform:translateY(10px);
  transition:all .4s ease;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.finder-result.visible{opacity:1;transform:translateY(0)}
.finder-result h3{font-size:1.1rem;font-family:'Barlow',sans-serif;font-weight:500;line-height:1.4}
.start-stop-alert{background:#fff3cd;color:#856404;padding:10px 14px;border-radius:8px;font-size:.9rem;font-weight:700;margin-top:12px;border-left:4px solid #f59e0b}
.hidden{display:none!important}

/* ============================================
   BRANDS
   ============================================ */
.brands{background:#fff;text-align:center}
.brands-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:1.5rem;
  max-width:var(--container);
  margin:0 auto;
}
.brand-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:24px 18px 20px;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
  text-decoration:none;
  color:var(--ink);
  display:flex;
  flex-direction:column;
  align-items:center;
  position:relative;
  overflow:hidden;
}
.brand-card::before{
  content:'';
  position:absolute;
  inset:0 0 auto 0;
  height:4px;
  background:linear-gradient(90deg,var(--orange) 0%,var(--orange-2) 100%);
}
.brand-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow-lg);
  border-color:transparent;
}
.img-thumb{width:100%;max-width:200px;height:170px;object-fit:contain;margin-bottom:14px}
.brand-name{font-weight:800;font-size:1.35rem;color:var(--navy);text-transform:uppercase;letter-spacing:.5px}
.brand-desc{font-size:.9rem;color:var(--ink-2);margin-top:6px;text-align:center;line-height:1.45}
.btn-ver-mais{
  margin-top:14px;
  padding:8px 16px;
  font-size:.85rem;
  color:var(--orange);
  font-weight:700;
  display:inline-flex;
  align-items:center;
  gap:4px;
  border:1.5px solid var(--orange);
  border-radius:50px;
  text-transform:uppercase;
  letter-spacing:.5px;
  transition:.2s;
}
.brand-card:hover .btn-ver-mais{background:var(--orange);color:#fff}
.btn-ver-mais .icon{margin-left:2px;margin-right:0;font-size:.8rem}
.badge-destaque{
  position:absolute;
  top:14px;
  right:14px;
  background:var(--orange);
  color:#fff;
  font-size:.68rem;
  font-weight:800;
  padding:4px 10px;
  border-radius:20px;
  text-transform:uppercase;
  letter-spacing:.5px;
  z-index:2;
  box-shadow:0 2px 8px rgba(204,82,0,.4);
}

/* ============================================
   BENEFITS
   ============================================ */
.benefits{background:var(--bg);text-align:center}
.benefits-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:1.25rem;
  max-width:var(--container);
  margin:0 auto;
}
.benefit-card{
  background:#fff;
  padding:2rem 1.75rem;
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  text-align:left;
  position:relative;
  overflow:hidden;
  transition:transform .25s ease,box-shadow .25s ease;
}
.benefit-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.benefit-card .icon-wrap{
  width:52px;
  height:52px;
  border-radius:14px;
  background:linear-gradient(135deg,#fff5ec 0%,#ffe2cc 100%);
  color:var(--orange);
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:1rem;
}
.benefit-card .icon-wrap .icon{font-size:1.6rem;margin:0}
.benefit-card h3{font-size:1.25rem;color:var(--navy);margin-bottom:6px}
.benefit-card p{font-size:.95rem;color:var(--ink-2);line-height:1.5}
.benefit-card.reveal{opacity:0;transform:translateY(20px)}
.benefit-card.visible{opacity:1;transform:translateY(0);transition:opacity .5s ease,transform .5s ease}

/* ============================================
   STATS BAR
   ============================================ */
.stats{
  background:var(--navy);
  color:#fff;
  padding:2.5rem 5%;
}
.stats-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:1rem;
  max-width:var(--container);
  margin:0 auto;
  text-align:center;
}
.stat{padding:1rem;border-right:1px solid rgba(255,255,255,.1)}
.stat:last-child{border-right:0}
.stat-num{
  font-family:'Barlow Condensed',sans-serif;
  font-size:clamp(2.2rem,4vw,3rem);
  font-weight:800;
  color:var(--orange);
  line-height:1;
  display:block;
}
.stat-label{font-size:.92rem;color:#cdd5e0;margin-top:6px}

/* ============================================
   SEO SECTIONS
   ============================================ */
.seo-section{background:#fff;text-align:center}
.seo-section.alt-bg{background:var(--bg)}
.seo-section h2{color:var(--navy);font-size:clamp(1.8rem,3.5vw,2.3rem);margin-bottom:2rem;text-transform:uppercase;text-align:center}
.seo-section h3{color:var(--navy);font-size:1.2rem;margin-bottom:.6rem}
.seo-section p{font-size:1rem;line-height:1.65;color:var(--ink-2);max-width:880px;margin:0 auto 1rem;text-align:left}
.seo-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:1.25rem;
  max-width:var(--container);
  margin:0 auto;
}
.seo-card{
  background:#fff;
  padding:1.75rem;
  border-radius:var(--radius);
  border:1px solid var(--line);
  box-shadow:var(--shadow-sm);
  text-align:left;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.seo-section.alt-bg .seo-card{background:#fff}
.seo-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#dce2ea}
.seo-card .icon-wrap{
  width:44px;height:44px;border-radius:10px;
  background:linear-gradient(135deg,#eef4fb,#dde9f5);
  color:var(--navy);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:14px;
}
.seo-card .icon-wrap .icon{font-size:1.35rem;margin:0}
.seo-card p{font-size:.95rem;line-height:1.55;text-align:left;color:var(--ink-2);margin:0}

/* Tech box */
.tech-box{
  background:linear-gradient(135deg,var(--navy) 0%,var(--navy-3) 100%);
  color:#fff;
  padding:3rem 2.5rem;
  border-radius:var(--radius-lg);
  max-width:var(--container);
  margin:0 auto;
  text-align:left;
  position:relative;
  overflow:hidden;
}
.tech-box::after{
  content:'';
  position:absolute;
  inset:auto -40px -40px auto;
  width:240px;height:240px;
  background:radial-gradient(circle,rgba(204,82,0,.4) 0%,transparent 70%);
  pointer-events:none;
}
.tech-box h2{color:#fff;text-align:left;margin-bottom:1rem;position:relative}
.tech-box p{color:#dde4ee;max-width:100%;position:relative}
.tech-box .feature-list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:1.5rem;
  margin-top:1.5rem;
  position:relative;
}
.tech-box .feature-list h3{color:var(--orange);font-size:1.2rem;margin-bottom:.4rem;display:flex;align-items:center;gap:6px}
.tech-box .feature-list p{color:#cdd5e0;font-size:.95rem}

/* Long-tail SEO list */
.seo-tags-container{max-width:var(--container);margin:0 auto;text-align:left}
.seo-tags-container ul{list-style:none;padding:0;margin:0;display:grid;gap:14px}
.seo-tags-container li{
  background:#fff;
  padding:1rem 1.25rem;
  border-radius:var(--radius-sm);
  border-left:4px solid var(--orange);
  font-size:1rem;
  line-height:1.55;
  box-shadow:var(--shadow-sm);
  color:var(--ink-2);
}
.seo-tags-container li strong{color:var(--navy)}
.seo-tags-container li a{color:var(--orange);text-decoration:underline;font-weight:600}

/* E-E-A-T */
.eat-box{
  border-left:4px solid var(--orange);
  padding:1rem 1.5rem;
  max-width:1000px;
  margin:0 auto;
  text-align:left;
  background:#fff;
  border-radius:0 var(--radius) var(--radius) 0;
  box-shadow:var(--shadow-sm);
}
.eat-box p{font-size:1.05rem;color:var(--ink-2)}

/* ============================================
   LOCATION
   ============================================ */
.location-section{
  background:linear-gradient(180deg,var(--navy) 0%,var(--navy-2) 100%);
  color:#fff;
  text-align:center;
}
.location-section h2{color:#fff;display:flex;align-items:center;justify-content:center;gap:8px;font-size:clamp(1.8rem,3.5vw,2.3rem);text-transform:uppercase;margin-bottom:.6rem}
.location-section h2 .icon{color:var(--orange)}
.location-text{max-width:760px;margin:0 auto 1.5rem;font-size:1rem;color:#cdd5e0;line-height:1.65}
.location-list{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:1.5rem 0}
.city-tag{
  background:rgba(255,255,255,.06);
  padding:8px 18px;
  border-radius:50px;
  font-size:.92rem;
  border:1px solid rgba(204,82,0,.5);
  display:inline-flex;
  align-items:center;
  gap:4px;
  transition:.2s;
  font-weight:600;
}
.city-tag .icon{color:var(--orange);font-size:.9rem}
.city-tag:hover{background:var(--orange);color:#fff;border-color:var(--orange)}
.map-wrap{
  margin-top:2rem;
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:0 12px 32px rgba(0,0,0,.3);
  max-width:1000px;
  margin-inline:auto;
  background:rgba(255,255,255,.04);
  aspect-ratio:16/6;
}
.map-wrap iframe{width:100%;height:100%;border:0;display:block}

/* ============================================
   FAQ
   ============================================ */
.faq-section{background:var(--bg)}
.faq-section h2{color:var(--navy);text-align:center;font-size:clamp(1.8rem,3.5vw,2.3rem);margin-bottom:.5rem;text-transform:uppercase}
.faq-list{max-width:880px;margin:0 auto}
.faq-section details{
  background:#fff;
  border-radius:var(--radius);
  margin-bottom:10px;
  box-shadow:var(--shadow-sm);
  border:1px solid var(--line);
  transition:box-shadow .25s ease;
}
.faq-section details[open]{box-shadow:var(--shadow);border-color:#dce2ea}
.faq-section summary{
  padding:1.1rem 1.25rem;
  font-weight:700;
  color:var(--navy);
  cursor:pointer;
  list-style:none;
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:1.02rem;
  gap:1rem;
}
.faq-section summary::-webkit-details-marker{display:none}
.faq-section summary::after{
  content:'+';
  font-size:1.6rem;
  color:var(--orange);
  font-weight:300;
  transition:transform .3s ease;
  flex-shrink:0;
  line-height:1;
}
.faq-section details[open] summary::after{transform:rotate(45deg)}
.faq-section details p{padding:0 1.25rem 1.1rem;color:var(--ink-2);line-height:1.6;font-size:.97rem}

/* ============================================
   FOOTER
   ============================================ */
footer{
  background:#050a10;
  color:#a8b1bf;
  padding:3rem 5% 110px;
  width:100%;
  margin-top:auto;
  font-size:.9rem;
}
.footer-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:2rem;
  max-width:1100px;
  margin:0 auto 2rem;
  text-align:left;
}
.footer-col h2,.footer-col h3{
  color:#fff;
  font-size:.95rem;
  text-transform:uppercase;
  margin-bottom:.9rem;
  padding-bottom:.5rem;
  letter-spacing:1px;
  position:relative;
  font-family:'Barlow',sans-serif;
  font-weight:700;
}
.footer-col h2::after,.footer-col h3::after{
  content:'';
  position:absolute;
  bottom:0;left:0;
  width:32px;height:2px;
  background:var(--orange);
}
.footer-col p,.footer-col a{
  color:#a8b1bf;
  font-size:.88rem;
  text-decoration:none;
  display:block;
  margin-bottom:.45rem;
  line-height:1.5;
  transition:color .2s;
}
.footer-col a:hover{color:var(--orange)}
.footer-col .logo{color:#fff;font-size:1.35rem;margin-bottom:.5rem}
.footer-bottom{
  border-top:1px solid #1a1f2e;
  padding-top:1.2rem;
  margin-top:1.5rem;
  font-size:.78rem;
  color:#7a8290;
  text-align:center;
}
.footer-bairros{max-width:1100px;margin:1.5rem auto 0;padding-top:1.5rem;border-top:1px solid #1a1f2e;text-align:center}
.footer-bairros h3{color:#fff;font-size:.88rem;text-transform:uppercase;margin-bottom:1rem;letter-spacing:1.2px;font-family:'Barlow',sans-serif;font-weight:700}
.footer-bairros .bairros-list{display:flex;flex-wrap:wrap;justify-content:center;gap:0;font-size:.82rem}
.footer-bairros a{padding:6px 12px;display:inline-block;color:#a8b1bf;transition:color .2s;text-decoration:none}
.footer-bairros a:hover{color:var(--orange)}
.footer-bairros .sep{color:#3a4150;padding:6px 0}

/* ============================================
   MOBILE BAR
   ============================================ */
.mobile-bar{
  position:fixed;
  bottom:0;
  left:0;
  width:100%;
  height:68px;
  background:#fff;
  box-shadow:0 -4px 16px rgba(0,0,0,.12);
  display:flex;
  z-index:2000;
  border-top:1px solid var(--line);
}
.mobile-btn{
  flex:1;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-decoration:none;
  font-weight:800;
  font-size:.85rem;
  letter-spacing:.5px;
  text-transform:uppercase;
  transition:filter .2s;
}
.mobile-btn:active{filter:brightness(.92)}
.btn-bar-whats{background:linear-gradient(135deg,#128c7e,#0e6e63);color:#fff}
.btn-bar-call{background:linear-gradient(135deg,var(--navy-3),var(--navy));color:#fff}
.mobile-btn .icon{font-size:1.4rem;margin-bottom:2px;display:block;margin-inline:auto}

/* ============================================
   STATUS POPUP
   ============================================ */
.status-popup{
  position:fixed;
  bottom:90px;
  right:20px;
  background:#fff;
  border-left:5px solid #25D366;
  padding:14px 18px;
  border-radius:12px;
  box-shadow:0 12px 36px rgba(0,0,0,.18);
  display:flex;
  align-items:center;
  gap:12px;
  z-index:1999;
  transform:translateX(150%);
  transition:transform .6s cubic-bezier(.175,.885,.32,1.275);
  max-width:320px;
}
.status-popup.show{transform:translateX(0)}
.pulse-dot{width:12px;height:12px;background:#25D366;border-radius:50%;position:relative;flex-shrink:0}
.pulse-dot::after{content:'';position:absolute;inset:0;background:#25D366;border-radius:50%;z-index:-1;animation:pulseRing 1.5s cubic-bezier(.215,.61,.355,1) infinite}
.status-text strong{display:block;font-size:1rem;color:var(--navy);font-weight:800}
.status-text p{margin:2px 0 0;font-size:.85rem;color:var(--ink-2);line-height:1.3}
.close-popup{position:absolute;top:4px;right:10px;cursor:pointer;color:var(--ink-3);font-size:1.2rem;line-height:1;background:none;border:none}

/* ============================================
   PRODUCT PAGES (moura, heliar, excell, pioneiro)
   ============================================ */
.product-hero{
  position:relative;
  background:
    linear-gradient(180deg,rgba(0,26,51,.65) 0%,rgba(0,26,51,.92) 100%),
    url('imagens/fundo-hero.webp') center/cover no-repeat;
  background-attachment:scroll;
  color:#fff;
  padding:140px 5% 70px;
  text-align:center;
}
.product-title{
  font-size:clamp(2rem,5vw,3.4rem);
  letter-spacing:.5px;
  text-transform:uppercase;
  line-height:1.05;
  margin-bottom:14px;
  color:#fff;
}
.product-subtitle{
  font-family:'Barlow',sans-serif;
  font-weight:600;
  font-size:clamp(1rem,2.2vw,1.25rem);
  color:#ffd9b8;
  max-width:760px;
  margin:0 auto 36px;
  line-height:1.5;
}
.battery-showcase{
  background:#fff;
  color:var(--ink);
  max-width:1100px;
  margin:0 auto;
  padding:2.5rem 2rem;
  border-radius:var(--radius-lg);
  display:grid;
  grid-template-columns:240px 1fr;
  grid-template-areas:"img specs" "img cta";
  gap:2rem 2.5rem;
  align-items:start;
  box-shadow:0 24px 48px rgba(0,0,0,.18);
  text-align:left;
}
.battery-showcase .img-thumb{
  grid-area:img;
  width:100%;max-width:240px;
  height:auto;object-fit:contain;
  align-self:center;
  margin:0 auto;
}
.specs-list{grid-area:specs}
.specs-list p{
  color:var(--ink-2);
  font-size:1rem;
  line-height:1.6;
  margin-bottom:14px;
}
.specs-list p strong{color:var(--navy);font-weight:700}
.spec-item{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:12px 0;
  border-bottom:1px solid var(--line);
  font-size:.97rem;
  gap:12px;
}
.spec-item:last-of-type{border-bottom:0}
.spec-item .spec-label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--navy);
  font-weight:700;
}
.spec-item .spec-label svg{
  width:16px;height:16px;flex-shrink:0;
  fill:#16a34a;
}
.spec-item > span:last-child{
  color:var(--ink-2);
  font-weight:600;
  text-align:right;
}

.battery-showcase .cta-group{
  grid-area:cta;
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:8px;
}
.battery-showcase .btn-main{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:14px 26px;
  border-radius:12px;
  font-family:'Barlow',sans-serif;
  font-weight:700;
  font-size:1rem;
  text-decoration:none;
  letter-spacing:.3px;
  transition:transform .15s ease,box-shadow .2s ease;
  flex:1 1 200px;
}
.battery-showcase .btn-main:hover{transform:translateY(-2px)}
.battery-showcase .btn-main .icon{width:18px;height:18px;fill:currentColor;flex-shrink:0}

/* CATALOG */
.catalog-section{
  background:var(--bg);
  padding:4rem 5%;
  text-align:center;
}
.catalog-section > h2{
  font-size:clamp(1.8rem,3.5vw,2.4rem);
  color:var(--navy);
  margin-bottom:2rem;
  text-transform:uppercase;
  letter-spacing:.5px;
}
.catalog-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:1.25rem;
  max-width:var(--container);
  margin:0 auto;
}
.catalog-card{
  background:#fff;
  padding:1.75rem 1.5rem;
  border-radius:var(--radius);
  border:1px solid var(--line);
  text-align:left;
  display:flex;
  flex-direction:column;
  gap:14px;
  box-shadow:var(--shadow-sm);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
  position:relative;
}
.catalog-card::before{
  content:'';
  position:absolute;
  top:0;left:0;right:0;
  height:3px;
  background:linear-gradient(90deg,var(--orange) 0%,var(--orange-2) 100%);
  border-radius:var(--radius) var(--radius) 0 0;
}
.catalog-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow-lg);
  border-color:transparent;
}
.catalog-card h3{
  color:var(--navy);
  font-size:1.25rem;
  text-transform:uppercase;
  letter-spacing:.4px;
  margin:0;
}
.catalog-specs{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.catalog-spec-item{
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:.92rem;
  color:var(--ink-2);
  padding-bottom:6px;
  border-bottom:1px dashed var(--line);
}
.catalog-spec-item:last-child{border-bottom:0;padding-bottom:0}
.catalog-spec-item strong{color:var(--navy);font-weight:700}
.btn-catalog{
  margin-top:auto;
  display:inline-block;
  padding:12px 18px;
  background:var(--navy);
  color:#fff;
  text-align:center;
  border-radius:10px;
  font-weight:700;
  text-decoration:none;
  font-size:.95rem;
  letter-spacing:.3px;
  transition:background .2s ease,transform .15s ease;
}
.btn-catalog:hover{
  background:var(--orange);
  transform:translateY(-1px);
}

/* SVG icon size guard for product pages — prevents naked <svg> from blowing up */
.product-hero svg:not(.icon),
.battery-showcase svg:not(.icon),
.catalog-section svg:not(.icon){
  width:1em;height:1em;flex-shrink:0;
}

/* Responsive: collapse showcase to single column on mobile */
@media (max-width: 720px){
  .battery-showcase{
    grid-template-columns:1fr;
    grid-template-areas:"img" "specs" "cta";
    padding:2rem 1.5rem;
    gap:1.5rem;
  }
  .battery-showcase .img-thumb{max-width:200px}
  .battery-showcase .cta-group{flex-direction:column}
  .battery-showcase .btn-main{width:100%}
  .product-hero{padding:130px 5% 50px}
}

/* ============================================
   RESPONSIVE
   ============================================ */
@media (min-width: 769px){
  .mobile-bar{display:none}
  footer{padding-bottom:3rem}
}

@media (max-width: 768px){
  section{padding:3rem 5%}
  .desk-loc{display:none}
  .mob-loc{display:inline-block;line-height:1.1;margin-left:2px}

  header{padding:.7rem 4%;flex-wrap:nowrap;gap:5px}
  .logo{font-size:1.4rem;flex:0 0 auto;letter-spacing:0;gap:6px}
  .logo .badge-24h{font-size:.62rem;padding:2px 6px}
  .header-info{display:flex;justify-content:flex-end;font-size:.72rem;gap:8px;align-items:center}
  .header-item{font-size:.7rem;gap:3px}
  .header-item .icon{font-size:.85rem;margin-right:0}

  .parcelamento-banner{font-size:.82rem;padding:6px 0}
  .hero{padding:160px 16px 50px}
  .cta-group{flex-direction:column;width:100%;max-width:340px}
  .btn-hero,.btn-main{width:100%}
  .hero-trust{gap:12px 18px;font-size:.85rem}

  .stat{border-right:0;border-bottom:1px solid rgba(255,255,255,.08);padding:.75rem}
  .stat:last-child{border-bottom:0}

  .tech-box{padding:2rem 1.5rem}
  .finder-container{padding:2rem 1.25rem}
}

@media (max-width: 480px){
  .logo{font-size:1.25rem}
  .badge-24h{font-size:.6rem;padding:2px 5px;margin-left:2px}
  .header-info{font-size:.65rem;gap:5px}
  .parcelamento-banner{font-size:.78rem}
  .hero{padding-top:150px}
}

@media print{
  .mobile-bar,.status-popup,.parcelamento-banner,.urgency-strip{display:none!important}
  header{position:static}
}
