/* =============================================
   GELADEIRAS USADAS BH — MAIN CSS
   Mobile-First, SEO Programático
   ============================================= */

/* === RESET & BASE === */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --blue-deep: #0a1628;
  --blue-mid: #1a3a6b;
  --blue-light: #2563eb;
  --blue-bright: #3b82f6;
  --green-wa: #25d366;
  --green-wa-dark: #128c7e;
  --ice: #e0f2fe;
  --ice-light: #f0f9ff;
  --orange: #f97316;
  --orange-dark: #ea580c;
  --white: #ffffff;
  --gray-50: #f8fafc;
  --gray-100: #f1f5f9;
  --gray-200: #e2e8f0;
  --gray-400: #94a3b8;
  --gray-600: #475569;
  --gray-800: #1e293b;
  --shadow-sm: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.06);
  --shadow-md: 0 4px 6px -1px rgba(0,0,0,.1), 0 2px 4px -1px rgba(0,0,0,.06);
  --shadow-lg: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -2px rgba(0,0,0,.05);
  --shadow-xl: 0 20px 25px -5px rgba(0,0,0,.1), 0 10px 10px -5px rgba(0,0,0,.04);
  --radius: 12px;
  --radius-lg: 20px;
  --font-head: 'Sora', sans-serif;
  --font-body: 'Inter', sans-serif;
  --max-w: 1200px;
  --transition: .2s ease;
}

html { scroll-behavior: smooth; font-size: 16px; }

body {
  font-family: var(--font-body);
  color: var(--gray-800);
  background: var(--white);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; }
button { cursor: pointer; border: none; background: none; font-family: inherit; }

.container {
  width: 100%;
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 0 1rem;
}

/* === HEADER === */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: var(--blue-deep);
  box-shadow: 0 2px 20px rgba(0,0,0,.3);
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .75rem 0;
}

.site-logo {
  display: flex;
  align-items: center;
  gap: .5rem;
  color: var(--white);
  flex-shrink: 0;
}

.logo-icon { font-size: 1.5rem; }

.logo-text {
  display: flex;
  flex-direction: column;
  line-height: 1.1;
}

.logo-main {
  font-family: var(--font-head);
  font-weight: 700;
  font-size: .95rem;
  color: var(--white);
}

.logo-sub {
  font-size: .65rem;
  color: var(--blue-bright);
  font-weight: 500;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.site-nav { display: none; }

.site-nav ul {
  display: flex;
  gap: 1.5rem;
}

.site-nav a {
  color: rgba(255,255,255,.8);
  font-size: .875rem;
  font-weight: 500;
  transition: color var(--transition);
}

.site-nav a:hover { color: var(--white); }

.header-whatsapp {
  display: none;
  align-items: center;
  gap: .4rem;
  background: var(--green-wa);
  color: var(--white);
  padding: .5rem 1rem;
  border-radius: 50px;
  font-size: .8rem;
  font-weight: 600;
  transition: background var(--transition), transform var(--transition);
}

.header-whatsapp:hover {
  background: var(--green-wa-dark);
  transform: translateY(-1px);
}

.menu-toggle {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: .5rem;
}

.menu-toggle span {
  display: block;
  width: 22px;
  height: 2px;
  background: var(--white);
  border-radius: 2px;
  transition: var(--transition);
}

/* === URGENCY BANNER === */
.urgency-banner {
  background: linear-gradient(90deg, var(--orange-dark), var(--orange));
  color: var(--white);
  text-align: center;
  padding: .6rem 1rem;
  font-size: .875rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .75rem;
  letter-spacing: .01em;
}

.urgency-icon { font-size: 1rem; }

/* === HERO HOME === */
.hero-home {
  background: linear-gradient(135deg, var(--blue-deep) 0%, var(--blue-mid) 60%, #1e4fa8 100%);
  padding: 4rem 0 3rem;
  position: relative;
  overflow: hidden;
}

.hero-home-bg {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle at 80% 50%, rgba(59,130,246,.15) 0%, transparent 60%);
  pointer-events: none;
}

.hero-home-content {
  position: relative;
  z-index: 1;
  max-width: 700px;
}

.hero-badge {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.2);
  color: var(--white);
  padding: .35rem .9rem;
  border-radius: 50px;
  font-size: .8rem;
  font-weight: 600;
  margin-bottom: 1.25rem;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.hero-home h1 {
  font-family: var(--font-head);
  font-size: clamp(1.75rem, 5vw, 2.75rem);
  font-weight: 800;
  color: var(--white);
  line-height: 1.2;
  margin-bottom: 1rem;
}

.hero-home h1 .highlight { color: #60a5fa; }

.hero-sub {
  color: rgba(255,255,255,.8);
  font-size: 1.05rem;
  margin-bottom: 1.5rem;
  max-width: 560px;
}

.search-cidades {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  align-items: center;
  margin-bottom: 2rem;
  color: rgba(255,255,255,.7);
  font-size: .875rem;
}

.cidades-tags { display: flex; flex-wrap: wrap; gap: .4rem; }

.cidade-tag {
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.2);
  color: rgba(255,255,255,.9);
  padding: .2rem .6rem;
  border-radius: 50px;
  font-size: .75rem;
  font-weight: 500;
}

/* === BUTTONS === */
.btn-whatsapp {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .6rem;
  background: var(--green-wa);
  color: var(--white);
  padding: .875rem 1.5rem;
  border-radius: var(--radius);
  font-weight: 700;
  font-size: 1rem;
  transition: background var(--transition), transform var(--transition), box-shadow var(--transition);
  box-shadow: 0 4px 15px rgba(37,211,102,.3);
  text-align: center;
}

.btn-whatsapp:hover {
  background: var(--green-wa-dark);
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(37,211,102,.4);
}

.btn-whatsapp.btn-large {
  padding: 1rem 2rem;
  font-size: 1.1rem;
  border-radius: var(--radius-lg);
}

.btn-phone {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  border: 2px solid var(--blue-light);
  color: var(--blue-light);
  padding: .75rem 1.25rem;
  border-radius: var(--radius);
  font-weight: 600;
  font-size: .9rem;
  margin-top: .75rem;
  transition: var(--transition);
  width: 100%;
}

.btn-phone:hover {
  background: var(--blue-light);
  color: var(--white);
}

/* === STATS === */
.section-stats {
  background: var(--blue-deep);
  padding: 2rem 0;
  border-top: 1px solid rgba(255,255,255,.1);
}

.stats-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
  text-align: center;
}

.stat-item { color: var(--white); }

.stat-number {
  display: block;
  font-family: var(--font-head);
  font-size: 2rem;
  font-weight: 800;
  color: #60a5fa;
  line-height: 1;
}

.stat-label {
  display: block;
  font-size: .75rem;
  color: rgba(255,255,255,.7);
  margin-top: .25rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .05em;
}

/* === HERO PRODUCT === */
.hero-product {
  padding: 2rem 0;
  background: var(--gray-50);
}

.hero-grid {
  display: grid;
  gap: 2rem;
}

.breadcrumb {
  font-size: .8rem;
  color: var(--gray-400);
  margin-bottom: .75rem;
  display: flex;
  flex-wrap: wrap;
  gap: .25rem;
  align-items: center;
}

.breadcrumb a { color: var(--blue-light); }
.breadcrumb a:hover { text-decoration: underline; }

.product-title {
  font-family: var(--font-head);
  font-size: clamp(1.4rem, 4vw, 2rem);
  font-weight: 800;
  color: var(--gray-800);
  line-height: 1.25;
  margin-bottom: .5rem;
}

.city-tag {
  display: inline-block;
  font-size: .75rem;
  background: var(--blue-light);
  color: var(--white);
  padding: .15rem .5rem;
  border-radius: 50px;
  font-weight: 600;
  margin-left: .5rem;
  vertical-align: middle;
}

/* === CAROUSEL === */
.carousel-wrapper {
  position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-xl);
  background: var(--gray-100);
  aspect-ratio: 4/3;
}

.carousel { position: relative; width: 100%; height: 100%; }

.carousel-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity .4s ease;
}

.carousel-slide.active { opacity: 1; }

.carousel-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.carousel-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0,0,0,.5);
  color: var(--white);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  font-size: 1.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background var(--transition);
  z-index: 5;
}

.carousel-btn:hover { background: rgba(0,0,0,.8); }
.carousel-btn.prev { left: .75rem; }
.carousel-btn.next { right: .75rem; }

.carousel-dots {
  position: absolute;
  bottom: .75rem;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: .4rem;
  z-index: 5;
}

.dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(255,255,255,.5);
  transition: var(--transition);
}

.dot.active { background: var(--white); transform: scale(1.3); }

.badge-estado {
  position: absolute;
  top: 1rem;
  left: 1rem;
  background: var(--blue-light);
  color: var(--white);
  padding: .3rem .7rem;
  border-radius: 50px;
  font-size: .75rem;
  font-weight: 700;
  z-index: 5;
  text-transform: uppercase;
  letter-spacing: .05em;
}

/* === PRODUCT INFO === */
.rating-stars {
  display: flex;
  align-items: center;
  gap: .5rem;
  margin-bottom: 1rem;
}

.stars { color: #fbbf24; font-size: 1.1rem; letter-spacing: .05em; }
.rating-text { font-size: .875rem; color: var(--gray-600); }

/* === PRICE BLOCK === */
.price-block {
  background: var(--white);
  border: 2px solid var(--blue-light);
  border-radius: var(--radius);
  padding: 1.25rem;
  margin-bottom: 1.25rem;
}

.price-original {
  font-size: .875rem;
  color: var(--gray-400);
  margin-bottom: .25rem;
}

.price-current {
  font-family: var(--font-head);
  font-size: 2.5rem;
  font-weight: 800;
  color: var(--blue-deep);
  line-height: 1;
  margin-bottom: .5rem;
}

.price-economy {
  font-size: .875rem;
  color: #16a34a;
  font-weight: 600;
  margin-bottom: .3rem;
}

.price-pix {
  font-size: .875rem;
  color: var(--orange-dark);
  font-weight: 700;
  background: #fff7ed;
  padding: .35rem .7rem;
  border-radius: 6px;
  display: inline-block;
}

/* === SPECS QUICK === */
.specs-quick {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: .75rem;
  margin-bottom: 1.25rem;
}

.spec-item {
  display: flex;
  align-items: center;
  gap: .6rem;
  background: var(--gray-50);
  border: 1px solid var(--gray-200);
  border-radius: var(--radius);
  padding: .6rem .8rem;
}

.spec-icon { font-size: 1.25rem; flex-shrink: 0; }

.spec-label {
  display: block;
  font-size: .65rem;
  color: var(--gray-400);
  text-transform: uppercase;
  letter-spacing: .05em;
  font-weight: 600;
}

.spec-value {
  display: block;
  font-size: .875rem;
  font-weight: 700;
  color: var(--gray-800);
}

/* === CTA BLOCK === */
.cta-block {
  display: flex;
  flex-direction: column;
  gap: .5rem;
  margin-bottom: 1.25rem;
}

.cta-block .btn-whatsapp { width: 100%; }

/* === TRUST BADGES === */
.trust-badges {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: .5rem;
}

.badge {
  background: var(--gray-50);
  border: 1px solid var(--gray-200);
  border-radius: var(--radius);
  padding: .5rem .75rem;
  font-size: .78rem;
  font-weight: 600;
  color: var(--gray-600);
  text-align: center;
}

/* === SECTIONS === */
section { padding: 3rem 0; }

h2 {
  font-family: var(--font-head);
  font-size: clamp(1.4rem, 3.5vw, 2rem);
  font-weight: 800;
  color: var(--gray-800);
  margin-bottom: .5rem;
}

.section-subtitle {
  color: var(--gray-600);
  margin-bottom: 2rem;
  font-size: .95rem;
}

/* === DESCRIPTION === */
.section-description { background: var(--white); }

.description-grid {
  display: grid;
  gap: 2rem;
  margin-top: 1.5rem;
}

.description-text p {
  margin-bottom: 1rem;
  color: var(--gray-600);
  line-height: 1.8;
}

.diferenciais-list h3 {
  font-family: var(--font-head);
  font-size: 1.1rem;
  font-weight: 700;
  margin-bottom: 1rem;
  color: var(--blue-deep);
}

.diferenciais-list ul { display: flex; flex-direction: column; gap: .5rem; }

.diferenciais-list li {
  color: var(--gray-700);
  font-size: .9rem;
  padding-left: .25rem;
}

/* === DEPOIMENTOS === */
.section-depoimentos { background: var(--ice-light); }

.depoimentos-grid {
  display: grid;
  gap: 1rem;
  margin-top: 1.5rem;
}

.depoimento-card {
  background: var(--white);
  border-radius: var(--radius);
  padding: 1.25rem;
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--gray-200);
}

.depoimento-stars {
  color: #fbbf24;
  font-size: 1rem;
  margin-bottom: .5rem;
  letter-spacing: .05em;
}

.depoimento-texto {
  color: var(--gray-600);
  font-size: .9rem;
  line-height: 1.7;
  margin-bottom: .75rem;
  font-style: italic;
}

.depoimento-autor {
  font-size: .85rem;
  font-weight: 600;
}

.depoimento-bairro {
  color: var(--gray-400);
  font-weight: 400;
}

/* === PROCESSO === */
.section-processo { background: var(--white); }

.processo-steps {
  display: grid;
  gap: 1rem;
  margin-top: 2rem;
}

.step {
  background: var(--gray-50);
  border-radius: var(--radius);
  padding: 1.25rem;
  text-align: center;
  border: 2px solid var(--gray-200);
}

.step-number {
  width: 48px;
  height: 48px;
  background: var(--blue-light);
  color: var(--white);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-head);
  font-size: 1.25rem;
  font-weight: 800;
  margin: 0 auto 1rem;
}

.step h3 {
  font-family: var(--font-head);
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: .4rem;
  color: var(--gray-800);
}

.step p { font-size: .875rem; color: var(--gray-600); }

.step-arrow {
  display: none;
  font-size: 1.5rem;
  color: var(--blue-light);
  align-self: center;
  text-align: center;
}

/* === FAQ === */
.section-faq { background: var(--gray-50); }

.faq-list {
  display: flex;
  flex-direction: column;
  gap: .5rem;
  margin-top: 1.5rem;
}

.faq-item {
  background: var(--white);
  border: 1px solid var(--gray-200);
  border-radius: var(--radius);
  overflow: hidden;
  transition: border-color var(--transition);
}

.faq-item:focus-within { border-color: var(--blue-light); }

.faq-question {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 1.25rem;
  font-size: .9rem;
  font-weight: 600;
  color: var(--gray-800);
  text-align: left;
  gap: 1rem;
  transition: background var(--transition);
}

.faq-question:hover { background: var(--gray-50); }

.faq-icon {
  font-size: 1.4rem;
  color: var(--blue-light);
  transition: transform var(--transition);
  flex-shrink: 0;
  line-height: 1;
}

.faq-item.open .faq-icon { transform: rotate(45deg); }

.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height .3s ease, padding .3s ease;
}

.faq-item.open .faq-answer { max-height: 300px; }

.faq-answer p {
  padding: 0 1.25rem 1rem;
  font-size: .875rem;
  color: var(--gray-600);
  line-height: 1.7;
}

/* === CTA FINAL === */
.section-cta-final {
  background: linear-gradient(135deg, var(--blue-deep), var(--blue-mid));
  padding: 4rem 0;
}

.cta-final-box {
  text-align: center;
  max-width: 600px;
  margin: 0 auto;
}

.cta-final-box h2 {
  color: var(--white);
  font-size: clamp(1.5rem, 4vw, 2rem);
  margin-bottom: .5rem;
}

.cta-final-box h2 span { color: #60a5fa; }

.cta-final-box > p {
  color: rgba(255,255,255,.8);
  margin-bottom: 1.5rem;
}

.cta-price-final {
  font-family: var(--font-head);
  font-size: 2.5rem;
  font-weight: 800;
  color: var(--white);
  margin-bottom: 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .25rem;
}

.cta-guarantee {
  font-size: .8rem;
  background: rgba(255,255,255,.15);
  color: rgba(255,255,255,.9);
  padding: .2rem .75rem;
  border-radius: 50px;
  font-weight: 500;
}

/* === PRODUTOS GRID (HOME) === */
.section-produtos { background: var(--gray-50); }

.produtos-grid {
  display: grid;
  gap: 1.25rem;
  margin-top: 1.5rem;
}

.produto-card {
  background: var(--white);
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--gray-200);
  transition: transform var(--transition), box-shadow var(--transition);
}

.produto-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-lg);
}

.produto-img-wrap {
  position: relative;
  aspect-ratio: 4/3;
  overflow: hidden;
  background: var(--gray-100);
}

.produto-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s ease;
}

.produto-card:hover .produto-img-wrap img { transform: scale(1.05); }

.produto-badge-estado {
  position: absolute;
  top: .75rem;
  left: .75rem;
  background: var(--blue-light);
  color: var(--white);
  padding: .2rem .6rem;
  border-radius: 50px;
  font-size: .7rem;
  font-weight: 700;
  text-transform: uppercase;
}

.produto-info { padding: 1rem; }

.produto-info h3 {
  font-family: var(--font-head);
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: .5rem;
  color: var(--gray-800);
}

.produto-specs {
  display: flex;
  gap: .4rem;
  flex-wrap: wrap;
  margin-bottom: .75rem;
}

.produto-specs span {
  background: var(--ice);
  color: var(--blue-mid);
  padding: .15rem .5rem;
  border-radius: 50px;
  font-size: .7rem;
  font-weight: 600;
}

.produto-preco {
  display: flex;
  align-items: center;
  gap: .5rem;
  flex-wrap: wrap;
  margin-bottom: .75rem;
}

.preco-de {
  font-size: .8rem;
  color: var(--gray-400);
  text-decoration: line-through;
}

.preco-por {
  font-family: var(--font-head);
  font-size: 1.25rem;
  font-weight: 800;
  color: var(--blue-deep);
}

.btn-ver-mais {
  display: block;
  text-align: center;
  background: var(--blue-light);
  color: var(--white);
  padding: .6rem 1rem;
  border-radius: var(--radius);
  font-size: .875rem;
  font-weight: 700;
  transition: background var(--transition), transform var(--transition);
}

.btn-ver-mais:hover {
  background: var(--blue-mid);
  transform: translateY(-1px);
}

/* === PORQUE NÓS === */
.section-porque { background: var(--white); }

.porque-grid {
  display: grid;
  gap: 1.25rem;
  margin-top: 1.5rem;
}

.porque-item {
  background: var(--gray-50);
  border-radius: var(--radius);
  padding: 1.5rem;
  border: 1px solid var(--gray-200);
  text-align: center;
}

.porque-icon {
  font-size: 2.5rem;
  margin-bottom: .75rem;
  display: block;
}

.porque-item h3 {
  font-family: var(--font-head);
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: .5rem;
  color: var(--blue-deep);
}

.porque-item p { font-size: .875rem; color: var(--gray-600); line-height: 1.6; }

/* === BAIRROS CLOUD === */
.section-bairros { background: var(--ice-light); }

.bairros-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: 1.5rem;
}

.bairro-link {
  background: var(--white);
  border: 1px solid var(--gray-200);
  color: var(--blue-mid);
  padding: .35rem .8rem;
  border-radius: 50px;
  font-size: .8rem;
  font-weight: 500;
  transition: var(--transition);
}

.bairro-link:hover {
  background: var(--blue-light);
  color: var(--white);
  border-color: var(--blue-light);
}

/* === FOOTER === */
.site-footer {
  background: var(--blue-deep);
  color: rgba(255,255,255,.8);
  padding: 3rem 0 0;
}

.footer-grid {
  display: grid;
  gap: 2rem;
  padding-bottom: 2rem;
}

.footer-brand p {
  font-size: .875rem;
  line-height: 1.7;
  margin-top: 1rem;
  max-width: 300px;
}

.footer-social {
  display: flex;
  gap: .75rem;
  margin-top: 1rem;
}

.footer-social a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  background: rgba(255,255,255,.1);
  border-radius: 50%;
  color: rgba(255,255,255,.8);
  transition: var(--transition);
}

.footer-social a:hover { background: var(--blue-light); color: var(--white); }

.footer-nav h3,
.footer-contato h3,
.footer-regioes h3 {
  font-family: var(--font-head);
  font-size: .875rem;
  font-weight: 700;
  color: var(--white);
  margin-bottom: 1rem;
  text-transform: uppercase;
  letter-spacing: .1em;
}

.footer-nav ul,
.footer-contato ul,
.footer-regioes ul {
  display: flex;
  flex-direction: column;
  gap: .5rem;
}

.footer-nav li,
.footer-contato li,
.footer-regioes li {
  font-size: .875rem;
}

.footer-nav a { transition: color var(--transition); }
.footer-nav a:hover { color: var(--white); }
.footer-contato a { transition: color var(--transition); }
.footer-contato a:hover { color: var(--white); }

.footer-bottom {
  border-top: 1px solid rgba(255,255,255,.1);
  padding: 1.25rem 0;
  display: flex;
  flex-direction: column;
  gap: .5rem;
  font-size: .8rem;
  text-align: center;
}

.footer-legal { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }
.footer-legal a { color: rgba(255,255,255,.6); transition: color var(--transition); }
.footer-legal a:hover { color: var(--white); }

/* === WHATSAPP FLOAT === */
.whatsapp-float {
  position: fixed;
  bottom: 1.5rem;
  right: 1.5rem;
  z-index: 999;
  background: var(--green-wa);
  color: var(--white);
  width: 60px;
  height: 60px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 20px rgba(37,211,102,.5);
  transition: transform var(--transition), box-shadow var(--transition);
  animation: pulse 2s infinite;
}

.whatsapp-float:hover {
  transform: scale(1.1);
  box-shadow: 0 8px 30px rgba(37,211,102,.6);
  animation: none;
}

.whatsapp-float-text {
  position: absolute;
  right: 70px;
  background: var(--gray-800);
  color: var(--white);
  padding: .3rem .8rem;
  border-radius: 6px;
  font-size: .75rem;
  font-weight: 600;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--transition);
}

.whatsapp-float:hover .whatsapp-float-text { opacity: 1; }

@keyframes pulse {
  0%, 100% { box-shadow: 0 4px 20px rgba(37,211,102,.5); }
  50% { box-shadow: 0 4px 30px rgba(37,211,102,.8), 0 0 0 8px rgba(37,211,102,.15); }
}

/* =============================================
   RESPONSIVE — TABLET (640px+)
   ============================================= */
@media (min-width: 640px) {
  .stats-grid { grid-template-columns: repeat(4, 1fr); }
  .produtos-grid { grid-template-columns: repeat(2, 1fr); }
  .porque-grid { grid-template-columns: repeat(2, 1fr); }
  .depoimentos-grid { grid-template-columns: repeat(2, 1fr); }
  .processo-steps {
    grid-template-columns: repeat(4, 1fr) 0fr;
    align-items: start;
  }
  .step-arrow { display: block; }
  .trust-badges { grid-template-columns: repeat(4, 1fr); }
  .specs-quick { grid-template-columns: repeat(4, 1fr); }
  .description-grid { grid-template-columns: 1fr 1fr; }
}

/* =============================================
   RESPONSIVE — DESKTOP (1024px+)
   ============================================= */
@media (min-width: 1024px) {
  .container { padding: 0 1.5rem; }
  .site-nav { display: block; }
  .header-whatsapp { display: flex; }
  .menu-toggle { display: none; }
  .hero-grid { grid-template-columns: 1fr 1fr; align-items: start; }
  .hero-product { padding: 3rem 0; }
  .produtos-grid { grid-template-columns: repeat(3, 1fr); }
  .footer-grid { grid-template-columns: 2fr 1fr 1fr 1fr; }
  .footer-bottom { flex-direction: row; justify-content: space-between; text-align: left; }
  .cta-block { flex-direction: row; flex-wrap: wrap; }
  .cta-block .btn-whatsapp { flex: 1; }
  .btn-phone { width: auto; flex: 1; }
}

@media (min-width: 1280px) {
  .produtos-grid { grid-template-columns: repeat(4, 1fr); }
  .depoimentos-grid { grid-template-columns: repeat(3, 1fr); }
}

/* === ACESSIBILIDADE === */
:focus-visible {
  outline: 3px solid var(--blue-bright);
  outline-offset: 3px;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  border: 0;
}

/* === PRINT === */
@media print {
  .site-header, .whatsapp-float, .cta-block, .section-cta-final { display: none !important; }
}

/* =============================================
   NOVO TEMPLATE — LANDING PAGE CONVERSÃO
   ============================================= */

/* URGENCY BAR */
.urgency-bar{background:linear-gradient(90deg,#c2410c,#ea580c);color:#fff;text-align:center;padding:.6rem 1rem;font-size:.875rem;font-weight:700;display:flex;align-items:center;justify-content:center;gap:.75rem;letter-spacing:.01em}

/* HERO */
.pg-hero{background:#f8fafc;padding:1.5rem 0 2rem}
.pg-grid{display:grid;gap:2rem;margin-top:1rem}

/* BREADCRUMB */
.breadcrumb{font-size:.8rem;color:#94a3b8;display:flex;flex-wrap:wrap;gap:.25rem;align-items:center}
.breadcrumb a{color:#2563eb}.breadcrumb a:hover{text-decoration:underline}

/* FOTOS */
.pg-fotos{display:flex;flex-direction:column;gap:1rem}
.carousel-box{position:relative;border-radius:16px;overflow:hidden;background:#e2e8f0;aspect-ratio:4/3;box-shadow:0 8px 30px rgba(0,0,0,.12)}
.slide{position:absolute;inset:0;opacity:0;transition:opacity .4s}
.slide.active{opacity:1}
.slide img{width:100%;height:100%;object-fit:cover}
.slide-btn{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.45);color:#fff;width:38px;height:38px;border-radius:50%;font-size:1.5rem;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;transition:.2s}
.slide-btn:hover{background:rgba(0,0,0,.75)}
.slide-btn.prev{left:.75rem}.slide-btn.next{right:.75rem}
.slide-badge{position:absolute;top:.75rem;left:.75rem;background:#2563eb;color:#fff;padding:.25rem .7rem;border-radius:50px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.slide-dots{display:flex;gap:.4rem;justify-content:center}
.dot{width:8px;height:8px;border-radius:50%;background:#cbd5e1;border:none;cursor:pointer;transition:.2s;padding:0}
.dot.on{background:#2563eb;transform:scale(1.3)}

/* SEGURANÇA BOX */
.seguranca-box{background:#f0fdf4;border:1.5px solid #86efac;border-radius:12px;padding:1rem 1.25rem}
.seg-titulo{font-weight:700;font-size:.9rem;color:#15803d;margin-bottom:.6rem}
.seg-itens{display:flex;flex-direction:column;gap:.4rem}
.seg-item{font-size:.82rem;color:#166534}

/* INFO COLUNA */
.pg-info{display:flex;flex-direction:column;gap:1.25rem}
.pg-titulo{font-family:var(--font-head);font-size:clamp(1.35rem,4vw,1.85rem);font-weight:800;color:#0f172a;line-height:1.25}
.pg-bairro{display:block;font-size:.8rem;font-weight:600;color:#2563eb;margin-top:.3rem;letter-spacing:.02em;text-transform:uppercase}
.pg-rating{display:flex;align-items:center;gap:.5rem}
.stars{color:#fbbf24;font-size:1.1rem}
.rating-txt{font-size:.8rem;color:#64748b}

/* PREÇO */
.preco-card{background:#fff;border:2px solid #2563eb;border-radius:12px;padding:1.1rem 1.25rem}
.preco-de{font-size:.8rem;color:#94a3b8;margin-bottom:.2rem}
.preco-por{font-family:var(--font-head);font-size:2.2rem;font-weight:800;color:#0f172a;line-height:1}
.preco-economia{font-size:.82rem;color:#16a34a;font-weight:700;margin-top:.4rem}
.preco-parcela{font-size:.75rem;color:#94a3b8;margin-top:.25rem}

/* SPECS */
.specs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem}
.spec{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:.6rem .8rem;display:flex;align-items:center;gap:.6rem}
.spec-icon{font-size:1.2rem;flex-shrink:0}
.spec-label{display:block;font-size:.6rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;font-weight:600}
.spec-val{display:block;font-size:.82rem;font-weight:700;color:#0f172a}

/* CTA PRINCIPAL */
.cta-principal{display:flex;flex-direction:column;gap:.5rem}
.btn-wa-grande{display:flex;align-items:center;justify-content:center;gap:.6rem;background:#25d366;color:#fff;padding:1rem 1.5rem;border-radius:14px;font-weight:800;font-size:1rem;text-decoration:none;box-shadow:0 4px 20px rgba(37,211,102,.35);transition:.2s;text-align:center}
.btn-wa-grande:hover{background:#128c7e;transform:translateY(-2px);box-shadow:0 8px 28px rgba(37,211,102,.45)}
.cta-hint{text-align:center;font-size:.75rem;color:#94a3b8}

/* CTAs SECUNDÁRIOS */
.cta-secundarios{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.btn-sec{display:flex;align-items:center;justify-content:center;gap:.4rem;border:1.5px solid #2563eb;color:#2563eb;padding:.65rem .75rem;border-radius:10px;font-size:.78rem;font-weight:700;text-decoration:none;text-align:center;transition:.2s}
.btn-sec:hover{background:#2563eb;color:#fff}

/* COMO FUNCIONA */
.como-funciona{background:#f8fafc;border-radius:12px;padding:1rem 1.25rem;border:1px solid #e2e8f0}
.cf-titulo{font-weight:700;font-size:.85rem;color:#0f172a;margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.05em}
.cf-passos{display:flex;flex-direction:column;gap:.7rem}
.cf-passo{display:flex;align-items:flex-start;gap:.75rem}
.cf-num{width:28px;height:28px;background:#2563eb;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.8rem;flex-shrink:0}
.cf-passo div{display:flex;flex-direction:column;gap:.1rem}
.cf-passo strong{font-size:.85rem;color:#0f172a}
.cf-passo span{font-size:.78rem;color:#64748b}

/* VS OLX */
.sec-vs{background:#fff;padding:3rem 0}
.sec-vs h2{font-family:var(--font-head);font-size:clamp(1.25rem,3vw,1.6rem);font-weight:800;color:#0f172a;margin-bottom:1.5rem}
.vs-grid{display:grid;gap:1rem}
.vs-card{border-radius:14px;padding:1.25rem;border:2px solid}
.vs-nos{background:#f0fdf4;border-color:#86efac}
.vs-olx{background:#fef2f2;border-color:#fca5a5}
.vs-header{font-weight:800;font-size:.95rem;margin-bottom:1rem}
.vs-nos .vs-header{color:#15803d}
.vs-olx .vs-header{color:#dc2626}
.vs-card ul{display:flex;flex-direction:column;gap:.5rem;padding:0}
.vs-card li{font-size:.85rem;line-height:1.4}
.vs-nos li{color:#166534}
.vs-olx li{color:#991b1b}

/* DEPOIMENTOS */
.sec-dep{background:#f8fafc;padding:3rem 0}
.sec-dep h2{font-family:var(--font-head);font-size:clamp(1.25rem,3vw,1.6rem);font-weight:800;color:#0f172a;margin-bottom:1.5rem}
.dep-grid{display:grid;gap:1rem}
.dep-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1.25rem;box-shadow:0 1px 4px rgba(0,0,0,.06)}
.dep-stars{color:#fbbf24;font-size:1rem;margin-bottom:.5rem}
.dep-card p{font-size:.875rem;color:#475569;line-height:1.7;margin-bottom:.75rem;font-style:italic}
.dep-autor{font-size:.8rem;font-weight:700;color:#0f172a}

/* FAQ */
.sec-faq{background:#fff;padding:3rem 0}
.sec-faq h2{font-family:var(--font-head);font-size:clamp(1.25rem,3vw,1.6rem);font-weight:800;color:#0f172a;margin-bottom:1.5rem}
.faq-lista{display:flex;flex-direction:column;gap:.5rem}
.faq-item{border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}
.faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;padding:.9rem 1.1rem;font-size:.875rem;font-weight:600;color:#0f172a;text-align:left;background:#fff;border:none;cursor:pointer;gap:1rem;transition:background .15s}
.faq-q:hover{background:#f8fafc}
.faq-seta{font-size:1.3rem;color:#2563eb;flex-shrink:0;transition:transform .2s}
.faq-item.open .faq-seta{transform:rotate(45deg)}
.faq-r{max-height:0;overflow:hidden;transition:max-height .3s ease}
.faq-item.open .faq-r{max-height:300px}
.faq-r p{padding:.25rem 1.1rem 1rem;font-size:.85rem;color:#475569;line-height:1.7}

/* CTA FINAL */
.sec-cta-final{background:linear-gradient(135deg,#0a1628,#1a3a6b);padding:3.5rem 0}
.cta-final-inner{display:flex;flex-direction:column;align-items:center;gap:1.5rem;text-align:center}
.cta-final-txt h2{font-family:var(--font-head);font-size:clamp(1.25rem,3vw,1.75rem);font-weight:800;color:#fff;margin-bottom:.5rem}
.cta-final-txt p{color:rgba(255,255,255,.8);font-size:.95rem}

/* DESC */
.sec-desc{background:#fff;padding:3rem 0}
.desc-grid{display:grid;gap:2rem;margin-top:1rem}
.sec-desc h2{font-family:var(--font-head);font-size:clamp(1.2rem,3vw,1.5rem);font-weight:800;color:#0f172a;margin-bottom:.75rem}
.sec-desc p{color:#475569;line-height:1.8;margin-bottom:.75rem;font-size:.9rem}
.diferenciais h3{font-family:var(--font-head);font-size:1rem;font-weight:700;margin-bottom:.75rem;color:#0f172a}
.diferenciais ul{display:flex;flex-direction:column;gap:.5rem}
.diferenciais li{font-size:.875rem;color:#334155}

/* RESPONSIVE */
@media(min-width:768px){
  .pg-grid{grid-template-columns:1fr 1fr}
  .vs-grid{grid-template-columns:1fr 1fr}
  .dep-grid{grid-template-columns:repeat(3,1fr)}
  .desc-grid{grid-template-columns:1fr 1fr}
  .cta-final-inner{flex-direction:row;text-align:left;justify-content:space-between}
  .specs-grid{grid-template-columns:repeat(4,1fr)}
}
