*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
/* Cores da Identidade Visual Adipé Baterias */
--green: #0A6B38;
--green-dark: #085530;
--green-light: #0d8245;
--red: #AD1312;
--red-dark: #8f0f0f;
--red-light: #c91716;
--blue: #4C81B2;
--blue-dark: #3a6690;
--blue-light: #5f94c5;
--white: #ffffff;
--off-white: #f5f9f6;
--gray-light: #e0ece5;
--gray-mid: #8aaa97;
--gray-dark: #3a3a3a;
--text: #1a1a1a;
/* Mapeamentos legados para evitar quebras */
--navy: var(--green);
--navy-dark: var(--green-dark);
--navy-light: var(--green-light);
}

html { scroll-behavior: smooth; }

body {
font-family: 'Barlow', sans-serif;
color: var(--text);
background: var(--white);
overflow-x: hidden;
}

/* ── TOPBAR ── */
.topbar {
background: var(--green-dark);
padding: 8px 24px;
display: flex;
justify-content: space-between;
align-items: center;
font-size: 13px;
color: rgba(255,255,255,0.75);
}
.topbar a { color: rgba(255,255,255,0.75); text-decoration: none; }
.topbar-right { display: flex; gap: 24px; align-items: center; }
.topbar-phone { color: #fff; font-weight: 600; letter-spacing: 0.3px; }

/* ── NAV ── */
nav {
background: var(--green);
padding: 0 24px;
display: flex;
align-items: center;
justify-content: space-between;
position: sticky;
top: 0;
z-index: 100;
box-shadow: 0 2px 12px rgba(0,0,0,0.35);
border-bottom: 3px solid var(--red);
}
.nav-logo img { height: 64px; display: block; padding: 6px 0; }
.nav-links { display: flex; gap: 4px; }
.nav-links a {
color: rgba(255,255,255,0.85);
text-decoration: none;
padding: 20px 16px;
font-family: 'Barlow Condensed', sans-serif;
font-size: 15px;
font-weight: 600;
letter-spacing: 1px;
text-transform: uppercase;
transition: color 0.2s, background 0.2s;
display: block;
}
.nav-links a:hover { color: #fff; background: rgba(255,255,255,0.1); }
.nav-cta-btn {
background: var(--red);
color: #fff !important;
border-radius: 6px;
padding: 10px 20px !important;
margin: 8px 0 8px 12px;
align-self: center;
transition: background 0.2s !important;
display: inline-flex !important;
align-items: center;
}
.nav-cta-btn:hover { background: var(--red-dark) !important; }

/* ── URGENCY BANNER ── */
.urgency-banner {
background: var(--red);
color: #fff;
text-align: center;
padding: 10px 16px;
font-family: 'Barlow Condensed', sans-serif;
font-size: 15px;
font-weight: 700;
letter-spacing: 0.5px;
text-transform: uppercase;
}
.urgency-banner span { opacity: 0.85; font-weight: 400; margin-left: 8px; text-transform: none; font-family: 'Barlow', sans-serif; font-size: 14px; }

/* ── HERO ── */
.hero {
background: var(--green-dark);
position: relative;
overflow: hidden;
padding: 64px 24px 56px;
}
.hero::before {
content: '';
position: absolute;
inset: 0;
background: repeating-linear-gradient(
    -45deg,
    transparent,
    transparent 18px,
    rgba(255,255,255,0.03) 18px,
    rgba(255,255,255,0.03) 19px
);
pointer-events: none;
}
.hero-inner {
max-width: 900px;
margin: 0 auto;
position: relative;
z-index: 1;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 48px;
align-items: center;
}
.hero-badge {
display: inline-flex;
align-items: center;
gap: 6px;
background: rgba(173,19,18,0.2);
border: 1px solid rgba(173,19,18,0.6);
color: #f8a0a0;
font-size: 12px;
font-weight: 600;
letter-spacing: 1px;
text-transform: uppercase;
padding: 5px 14px;
border-radius: 3px;
margin-bottom: 18px;
}
.hero-badge::before { font-family: 'Font Awesome 6 Free'; font-weight: 900; content: '\f005'; color: #f8a0a0; margin-right: 4px; }
.hero h1 {
font-family: 'Barlow Condensed', sans-serif;
font-size: clamp(54px, 8vw, 90px);
font-weight: 900;
line-height: 1.05;
color: #fff;
text-transform: uppercase;
margin-bottom: 20px;
}
.hero h1 em {
color: #ffd0a0;
font-style: normal;
display: block;
}
.hero-sub {
color: rgba(255,255,255,0.8);
font-size: 19px;
line-height: 1.6;
margin-bottom: 32px;
max-width: 460px;
font-weight: 500;
}
.hero-ctas { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 32px; }
.btn-whats {
background: #25D366;
color: #fff;
border: none;
border-radius: 6px;
padding: 14px 24px;
font-size: 15px;
font-weight: 600;
cursor: pointer;
text-decoration: none;
display: inline-flex;
align-items: center;
gap: 8px;
transition: background 0.2s, transform 0.15s;
font-family: 'Barlow', sans-serif;
}
.btn-whats:hover { background: #1da855; transform: translateY(-1px); }
.btn-phone {
background: transparent;
color: rgba(255,255,255,0.85);
border: 1.5px solid rgba(255,255,255,0.4);
border-radius: 6px;
padding: 13px 24px;
font-size: 15px;
font-weight: 500;
cursor: pointer;
text-decoration: none;
display: inline-flex;
align-items: center;
gap: 8px;
transition: border-color 0.2s, background 0.2s;
font-family: 'Barlow', sans-serif;
}
.btn-phone:hover { border-color: #fff; background: rgba(255,255,255,0.1); }

.hero-chips { display: flex; gap: 12px; flex-wrap: wrap; }
.chip {
display: flex;
align-items: center;
gap: 6px;
font-size: 13px;
color: rgba(255,255,255,0.75);
font-weight: 500;
}
.chip-dot { width: 6px; height: 6px; border-radius: 50%; background: #ffd0a0; flex-shrink: 0; }

.hero-visual {
display: flex;
justify-content: center;
align-items: center;
}
.hero-card-visual {
background: rgba(255,255,255,0.08);
border: 1px solid rgba(255,255,255,0.15);
border-radius: 12px;
padding: 32px 28px;
text-align: center;
backdrop-filter: blur(4px);
}
.hero-card-visual .battery-icon {
font-size: 72px;
line-height: 1;
display: block;
margin-bottom: 16px;
filter: drop-shadow(0 0 20px rgba(173,19,18,0.5));
animation: pulse-glow 2.5s ease-in-out infinite;
}
@keyframes pulse-glow {
0%, 100% { filter: drop-shadow(0 0 12px rgba(173,19,18,0.4)); }
50% { filter: drop-shadow(0 0 28px rgba(173,19,18,0.75)); }
}
.hero-card-visual p {
color: rgba(255,255,255,0.65);
font-size: 13px;
margin-bottom: 20px;
}
.hero-card-visual .rating {
color: #ffd060;
font-size: 16px;
letter-spacing: 2px;
margin-bottom: 6px;
}
.hero-card-visual .rating-text {
color: rgba(255,255,255,0.85);
font-family: 'Barlow Condensed', sans-serif;
font-size: 20px;
font-weight: 700;
}

/* ── NÚMEROS ── */
.numeros-section {
background: var(--red);
padding: 0;
}
.numeros-grid {
max-width: 900px;
margin: 0 auto;
display: grid;
grid-template-columns: repeat(3, 1fr);
}
.num-item {
padding: 28px 24px;
text-align: center;
border-right: 1px solid rgba(255,255,255,0.2);
}
.num-item:last-child { border-right: none; }
.num-val {
font-family: 'Barlow Condensed', sans-serif;
font-size: 42px;
font-weight: 900;
color: #fff;
line-height: 1;
display: block;
}
.num-label {
font-size: 13px;
color: rgba(255,255,255,0.85);
margin-top: 4px;
font-weight: 500;
line-height: 1.4;
}

/* ── DIFERENCIAIS ── */
.diferenciais-section {
padding: 64px 24px;
background: var(--off-white);
}
.section-header { text-align: center; margin-bottom: 48px; }
.section-eyebrow {
font-family: 'Barlow Condensed', sans-serif;
font-size: 13px;
font-weight: 700;
letter-spacing: 2.5px;
text-transform: uppercase;
color: var(--green);
margin-bottom: 10px;
}
.section-title {
font-family: 'Barlow Condensed', sans-serif;
font-size: clamp(28px, 4vw, 40px);
font-weight: 800;
color: var(--green-dark);
text-transform: uppercase;
line-height: 1.1;
}
.dif-grid {
max-width: 900px;
margin: 0 auto;
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 20px;
}
.dif-card {
background: #fff;
border-radius: 10px;
padding: 28px 24px;
border: 1px solid var(--gray-light);
border-left: 4px solid var(--green);
display: flex;
gap: 18px;
align-items: flex-start;
transition: transform 0.2s, box-shadow 0.2s;
}
.dif-card:hover { transform: translateY(-3px); box-shadow: 0 8px 24px rgba(10,107,56,0.12); }
.dif-icon {
width: 48px;
height: 48px;
border-radius: 10px;
background: var(--green-dark);
display: flex;
align-items: center;
justify-content: center;
font-size: 22px;
flex-shrink: 0;
color: #ffffff;
}
.dif-title {
font-family: 'Barlow Condensed', sans-serif;
font-size: 18px;
font-weight: 700;
color: var(--green-dark);
text-transform: uppercase;
letter-spacing: 0.5px;
margin-bottom: 6px;
}
.dif-desc {
font-size: 14px;
color: var(--gray-dark);
line-height: 1.6;
}

/* ── MARCAS ── */
.marcas-section {
background: var(--green);
padding: 48px 24px;
text-align: center;
}
.marcas-section .section-title { color: #fff; margin-bottom: 32px; }
.marcas-section .section-eyebrow { color: rgba(255,255,255,0.6); }
.marcas-grid {
display: flex;
gap: 12px;
flex-wrap: wrap;
justify-content: center;
max-width: 700px;
margin: 0 auto;
}
.marca-pill {
background: rgba(255,255,255,0.12);
border: 1px solid rgba(255,255,255,0.25);
color: rgba(255,255,255,0.9);
font-family: 'Barlow Condensed', sans-serif;
font-size: 15px;
font-weight: 700;
letter-spacing: 1.5px;
text-transform: uppercase;
padding: 10px 22px;
border-radius: 4px;
transition: background 0.2s, border-color 0.2s;
}
.marca-pill:hover { background: rgba(255,255,255,0.22); border-color: rgba(255,255,255,0.5); }

/* ── SOBRE ── */
.sobre-section {
padding: 64px 24px;
background: #fff;
}
.sobre-inner {
max-width: 900px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 64px;
align-items: center;
}
.sobre-content .section-header { text-align: left; margin-bottom: 24px; }
.sobre-text { font-size: 16px; line-height: 1.8; color: var(--gray-dark); margin-bottom: 20px; }
.sobre-destaques { display: flex; flex-direction: column; gap: 12px; }
.sobre-item {
display: flex;
align-items: flex-start;
gap: 12px;
font-size: 15px;
color: var(--text);
}
.sobre-item-icon {
width: 28px;
height: 28px;
border-radius: 50%;
background: var(--green);
color: #fff;
display: flex;
align-items: center;
justify-content: center;
font-size: 13px;
flex-shrink: 0;
margin-top: 1px;
}
.sobre-visual {
background: var(--green-dark);
border-radius: 12px;
padding: 40px 32px;
color: #fff;
}
.sobre-visual h3 {
font-family: 'Barlow Condensed', sans-serif;
font-size: 22px;
font-weight: 700;
text-transform: uppercase;
margin-bottom: 24px;
border-bottom: 2px solid var(--red);
padding-bottom: 14px;
}
.sobre-info-item {
display: flex;
justify-content: space-between;
align-items: center;
padding: 12px 0;
border-bottom: 1px solid rgba(255,255,255,0.1);
font-size: 14px;
}
.sobre-info-item:last-child { border-bottom: none; }
.sobre-info-label { color: rgba(255,255,255,0.55); }
.sobre-info-value { font-weight: 600; color: #fff; }

/* ── DEPOIMENTOS ── */
.reviews-section {
padding: 64px 24px;
background: var(--off-white);
}
.reviews-grid {
max-width: 900px;
margin: 0 auto;
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
}
.review-card {
background: #fff;
border-radius: 10px;
padding: 24px;
border: 1px solid var(--gray-light);
position: relative;
}
.review-card::before {
content: '"';
position: absolute;
top: 12px;
right: 20px;
font-size: 64px;
line-height: 1;
color: var(--green);
font-family: Georgia, serif;
opacity: 0.15;
}
.review-stars { color: #f5a623; font-size: 14px; letter-spacing: 2px; margin-bottom: 12px; }
.review-text { font-size: 14px; color: var(--gray-dark); line-height: 1.7; margin-bottom: 16px; }
.review-author { display: flex; align-items: center; gap: 10px; }
.review-avatar {
width: 36px; height: 36px; border-radius: 50%;
background: var(--blue);
color: #fff;
display: flex; align-items: center; justify-content: center;
font-size: 13px; font-weight: 700;
font-family: 'Barlow Condensed', sans-serif;
flex-shrink: 0;
}
.review-name { font-size: 14px; font-weight: 600; color: var(--green-dark); }
.review-since { font-size: 12px; color: var(--gray-mid); }

/* ── CTA FINAL ── */
.cta-section {
background: var(--green-dark);
padding: 64px 24px;
text-align: center;
position: relative;
overflow: hidden;
}
.cta-section::before {
content: '';
position: absolute;
inset: 0;
background: repeating-linear-gradient(
    90deg,
    transparent,
    transparent 40px,
    rgba(255,255,255,0.02) 40px,
    rgba(255,255,255,0.02) 41px
);
}
.cta-inner { position: relative; z-index: 1; max-width: 600px; margin: 0 auto; }
.cta-section h2 {
font-family: 'Barlow Condensed', sans-serif;
font-size: clamp(32px, 5vw, 52px);
font-weight: 900;
color: #fff;
text-transform: uppercase;
line-height: 1.05;
margin-bottom: 16px;
}
.cta-section h2 em { color: #ffd0a0; font-style: normal; }
.cta-section p { color: rgba(255,255,255,0.65); font-size: 16px; margin-bottom: 36px; line-height: 1.7; }
.cta-btns { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; margin-bottom: 28px; }
.btn-cta-main {
background: var(--red);
color: #fff;
border: none;
border-radius: 6px;
padding: 16px 32px;
font-size: 16px;
font-weight: 700;
cursor: pointer;
text-decoration: none;
display: inline-flex;
align-items: center;
gap: 10px;
transition: background 0.2s, transform 0.15s;
font-family: 'Barlow', sans-serif;
}
.btn-cta-main:hover { background: var(--red-dark); transform: translateY(-2px); }
.btn-cta-secondary {
background: transparent;
color: rgba(255,255,255,0.8);
border: 1.5px solid rgba(255,255,255,0.35);
border-radius: 6px;
padding: 15px 32px;
font-size: 15px;
font-weight: 500;
cursor: pointer;
text-decoration: none;
display: inline-flex;
align-items: center;
gap: 10px;
transition: all 0.2s;
font-family: 'Barlow', sans-serif;
}
.btn-cta-secondary:hover { border-color: #fff; color: #fff; background: rgba(255,255,255,0.1); }
.cta-address {
color: rgba(255,255,255,0.4);
font-size: 13px;
line-height: 1.7;
}

/* ── RODAPÉ ── */
footer {
background: #0a0a0a;
padding: 40px 24px 24px;
color: rgba(255,255,255,0.45);
border-top: 3px solid var(--green);
}
.footer-inner {
max-width: 900px;
margin: 0 auto;
}
.footer-top {
display: grid;
grid-template-columns: 1.5fr 1fr 1fr;
gap: 40px;
margin-bottom: 32px;
padding-bottom: 32px;
border-bottom: 1px solid rgba(255,255,255,0.08);
}
.footer-brand img { height: 52px; opacity: 0.9; margin-bottom: 12px; }
.footer-desc { font-size: 13px; line-height: 1.8; }
.footer-col h4 {
font-family: 'Barlow Condensed', sans-serif;
font-size: 14px;
font-weight: 700;
letter-spacing: 1.5px;
text-transform: uppercase;
color: rgba(255,255,255,0.65);
margin-bottom: 14px;
}
.footer-col ul { list-style: none; }
.footer-col ul li { margin-bottom: 8px; }
.footer-col ul li a { color: rgba(255,255,255,0.45); text-decoration: none; font-size: 13px; transition: color 0.2s; }
.footer-col ul li a:hover { color: rgba(255,255,255,0.85); }
.footer-bottom {
display: flex;
justify-content: space-between;
align-items: center;
font-size: 12px;
}
.footer-social { display: flex; gap: 12px; }
.social-link {
width: 32px; height: 32px; border-radius: 6px;
background: rgba(255,255,255,0.07);
display: flex; align-items: center; justify-content: center;
font-size: 14px; text-decoration: none; color: rgba(255,255,255,0.5);
transition: background 0.2s, color 0.2s;
}
.social-link:hover { background: var(--green); color: #fff; }

/* ── WHATSAPP FLOAT ── */
.whats-float {
position: fixed;
bottom: 24px;
right: 24px;
width: 56px;
height: 56px;
border-radius: 50%;
background: #25D366;
display: flex;
align-items: center;
justify-content: center;
font-size: 24px; color: #fff;
text-decoration: none;
box-shadow: 0 4px 16px rgba(37,211,102,0.45);
z-index: 999;
transition: transform 0.2s;
animation: float-in 0.6s ease 1s both;
}
.whats-float:hover { transform: scale(1.1); }
@keyframes float-in {
from { opacity: 0; transform: translateY(20px); }
to { opacity: 1; transform: translateY(0); }
}

/* ── RESPONSIVO ── */
@media (max-width: 768px) {
.topbar-left { display: none; }
.nav-links { display: none; }
.hero-inner { grid-template-columns: 1fr; }
.hero-visual { display: none; }
.numeros-grid { grid-template-columns: 1fr 1fr; }
.numeros-grid .num-item:nth-child(3) { grid-column: 1 / -1; border-right: none; border-top: 1px solid rgba(255,255,255,0.2); }
.dif-grid { grid-template-columns: 1fr; }
.reviews-grid { grid-template-columns: 1fr; }
.sobre-inner { grid-template-columns: 1fr; }
.footer-top { grid-template-columns: 1fr; gap: 28px; }
.footer-bottom { flex-direction: column; gap: 16px; text-align: center; }
.cta-btns { flex-direction: column; align-items: center; }
.btn-cta-main, .btn-cta-secondary { width: 100%; max-width: 320px; justify-content: center; }
.hero-ctas { flex-direction: column; }
.btn-whats, .btn-phone { justify-content: center; }
}

/* ── BATTERY CAROUSEL ── */
.battery-carousel {
position: relative;
display: flex;
flex-direction: column;
align-items: center;
gap: 16px;
width: 100%;
}
.battery-slide {
display: none;
animation: fadeSlide 0.5s ease;
}
.battery-slide.active { display: flex; justify-content: center; }
@keyframes fadeSlide {
from { opacity: 0; transform: scale(0.96); }
to   { opacity: 1; transform: scale(1); }
}
.battery-img {
max-width: 340px;
width: 100%;
height: auto;
filter: drop-shadow(0 8px 32px rgba(0,0,0,0.45));
transition: transform 0.3s;
}
.battery-img:hover { transform: scale(1.04); }
.carousel-dots { display: flex; gap: 10px; }
.dot {
width: 10px; height: 10px; border-radius: 50%;
background: rgba(255,255,255,0.25);
border: 2px solid rgba(255,255,255,0.4);
cursor: pointer; transition: background 0.2s, transform 0.2s;
padding: 0;
}
.dot.active { background: #fff; border-color: #fff; transform: scale(1.2); }
.dot:hover { background: rgba(255,255,255,0.6); }

/* ── HERO BUTTONS ── */
.btn-hero-green {
background: var(--red);
color: #fff;
border: none;
border-radius: 50px;
padding: 14px 36px;
font-size: 14px;
font-weight: 800;
letter-spacing: 1.5px;
cursor: pointer;
text-decoration: none;
display: inline-flex;
align-items: center;
justify-content: center;
font-family: 'Barlow Condensed', sans-serif;
text-transform: uppercase;
transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
box-shadow: 0 4px 16px rgba(173,19,18,0.4);
min-width: 200px;
}
.btn-hero-green:hover {
background: var(--red-dark);
transform: translateY(-2px);
box-shadow: 0 8px 24px rgba(173,19,18,0.55);
}
.btn-hero-whats {
background: #25D366;
color: #fff;
border: none;
border-radius: 50px;
padding: 20px 44px;
font-size: 22px;
font-weight: 900;
letter-spacing: 1px;
cursor: pointer;
text-decoration: none;
display: inline-flex;
align-items: center;
justify-content: center;
font-family: 'Barlow Condensed', sans-serif;
text-transform: uppercase;
transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
box-shadow: 0 6px 24px rgba(37,211,102,0.5);
min-width: 260px;
}
.btn-hero-whats:hover {
background: #1da855;
transform: translateY(-2px);
box-shadow: 0 10px 30px rgba(37,211,102,0.6);
}
.btn-hero-phone {
background: transparent;
color: #fff;
border: 2.5px solid rgba(255,255,255,0.6);
border-radius: 50px;
padding: 18px 36px;
font-size: 20px;
font-weight: 800;
letter-spacing: 1px;
cursor: pointer;
text-decoration: none;
display: inline-flex;
align-items: center;
justify-content: center;
font-family: 'Barlow Condensed', sans-serif;
text-transform: uppercase;
transition: background 0.2s, border-color 0.2s, transform 0.15s;
min-width: 200px;
}
.btn-hero-phone:hover {
background: rgba(255,255,255,0.1);
border-color: #fff;
transform: translateY(-2px);
}
