/* ========== FOOTER ========== */
.site-footer {
  background: var(--dark-bg);
  padding: 0;
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.3fr 1fr 1fr;
  gap: 40px;
  padding: 40px 0;
}

/* ── Col 1: logo pequena + breadcrumb contextual ── */
.footer-col1-top { margin-bottom: 16px; }

.footer-logo-small { height: 70px; width: auto; display: block; margin-bottom: 10px; opacity: .85; transition: opacity .15s; }
.footer-col1-top a:hover .footer-logo-small { opacity: 1; }

/* Breadcrumb inline (dentro da col 1) */
.footer-bc ol {
  display: flex; align-items: center; flex-wrap: wrap;
  list-style: none; padding: 0; margin: 0; gap: 0;
}
.footer-bc li { display: flex; align-items: center; }
.footer-bc__sep { color: var(--gray6); margin: 0 5px; font-size: 14px; line-height: 1; }
.footer-bc a,
.footer-bc span[aria-current] { font-size: 14px; color: var(--gray6); line-height: 1.4; }
.footer-bc a:hover { color: var(--white); }
.footer-bc span[aria-current] { color: var(--gray4); }

/* ── Strip de breadcrumb: acima do footer-grid ── */
.footer-bc-strip {
  border-bottom: 1px solid rgba(255,255,255,0.08);
  padding: 14px 0;
}

/* ── Headings das colunas ── */
.footer-col h4,
.footer-col__toggle {
  font-size: 14px; font-weight: 700; color: var(--white);
  margin-bottom: 16px; text-transform: uppercase; letter-spacing: 0.5px;
}

/* Toggle (desktop: aparência idêntica a um h4) */
.footer-col__toggle {
  display: flex; align-items: center; justify-content: space-between;
  background: none; border: none; padding: 0; width: 100%;
  cursor: default; font-family: inherit; text-align: left;
}
.footer-col__chevron {
  width: 20px; height: 20px; fill: var(--gray6);
  flex-shrink: 0; display: none; /* oculto no desktop */
  transition: transform .25s ease;
}
.footer-col__body { overflow: hidden; }

/* ── Sub-seções independentes (Unidades / Produtos) ── */
.footer-sub { margin-bottom: 0; }
.footer-sub + .footer-sub { margin-top: 20px; }

.footer-sub__toggle {
  display: flex; align-items: center; justify-content: space-between;
  width: 100%; background: none; border: none; padding: 0;
  cursor: default; font-family: inherit; text-align: left;
  font-size: 14px; font-weight: 700; color: var(--white);
  text-transform: uppercase; letter-spacing: 0.5px;
  margin-bottom: 12px;
}
.footer-sub__toggle .footer-col__chevron { display: none; }
.footer-sub__body { overflow: hidden; }

/* ── Listas com linhas separadoras (Apple-style) ── */
.footer-links-lined { list-style: none; padding: 0; margin: 0; }
.footer-links-lined li {
  margin-bottom: 0;
}
.footer-links-lined li a {
  font-size: 13px; color: var(--gray6); transition: color 0.2s;
  display: flex; align-items: center; gap: 8px;
  padding: 0px;
}
.footer-links-lined li a:hover { color: var(--white); }

/* ── Listas normais (coluna Contato) ── */
.footer-col p {
  font-size: 13px; color: var(--gray6);
  line-height: 1.6; margin-bottom: 16px;
}

.footer-col ul li { margin-bottom: 8px; }

.footer-col ul li a {
  font-size: 13px; color: var(--gray6); transition: color 0.2s;
  display: flex; align-items: center; gap: 8px;
}
.footer-col ul li a:hover { color: var(--white); }

.footer-col .footer-icon {
  width: 16px; height: 16px; fill: var(--gray6);
  flex-shrink: 0;
}

/* ── Social ── */
.footer-social { display: flex; gap: 10px; margin-top: 20px; }

.footer-social a {
  width: 32px; height: 32px; border-radius: 50%;
  background: rgba(255,255,255,0.08);
  display: flex; align-items: center; justify-content: center;
  color: var(--gray6); font-size: 14px; transition: background-color 0.2s, color 0.2s;
}
.footer-social a:hover { background: var(--red); color: var(--white); }

/* ── Rodapé inferior ── */
.footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.08);
  padding: 16px 0;
}
.footer-bottom__row {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
}
.footer-bottom p { font-size: 12px; color: var(--gray4); margin: 0; }
.footer-media-rights { font-size: 12px !important; color: var(--gray6) !important; margin-top: 2px !important; }
.footer-legal-links { display: flex; align-items: center; gap: 10px; }
.footer-legal-links a { font-size: 12px; color: var(--gray6); transition: color .2s; }
.footer-legal-links a:hover { color: var(--white); }
.footer-legal-links span[aria-hidden] { color: var(--gray6); }

/* ========== SOCIAL ICON SVGs ========== */
.icon-svg { width: 18px; height: 18px; fill: currentColor; }
.footer-social .icon-svg { width: 16px; height: 16px; }

/* ========== FAB WHATSAPP ========== */
.wpp-fab {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 9999;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #25D366;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 16px rgba(0,0,0,0.22);
  transition: transform .2s ease, box-shadow .2s ease;
  text-decoration: none;
}
.wpp-fab svg {
  width: 30px;
  height: 30px;
  fill: #fff;
  flex-shrink: 0;
}
.wpp-fab:hover {
  transform: scale(1.08);
  box-shadow: 0 6px 22px rgba(0,0,0,0.28);
}
.wpp-fab:active { transform: scale(0.96); }

@keyframes wpp-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(37,211,102,.55); }
  70%  { box-shadow: 0 0 0 14px rgba(37,211,102,0); }
  100% { box-shadow: 0 0 0 0 rgba(37,211,102,0); }
}
.wpp-fab { animation: wpp-pulse 2.8s ease-out 3s 3; }
