/* ========================================================================
  Carrossel Antes / Depois
   ======================================================================== */

.antes-depois { display: none; } /* JS revela se encontrar pelo menos 1 par */
.antes-depois.tem-fotos { display: block; }

.ad-slide {
  display: none;
}
.ad-slide.ativo {
  display: grid;
  animation: adEntrada 0.7s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes adEntrada {
  from { opacity: 0; transform: translateX(32px); }
  to { opacity: 1; transform: translateX(0); }
}

.ad-slide {
  grid-template-columns: 1fr 1fr;
  gap: 4px;
  border-radius: var(--raio);
  overflow: hidden;
}

.ad-metade {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: var(--gelo-2);
}
.ad-metade img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ad-metade__etiqueta {
  position: absolute;
  bottom: 12px;
  left: 12px;
  font-family: var(--f-mono);
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 5px 12px;
  border-radius: 20px;
  color: #fff;
}
.ad-metade--antes .ad-metade__etiqueta { background: rgba(28,31,36,0.75); }
.ad-metade--depois .ad-metade__etiqueta { background: var(--sinal); }

.ad-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin-top: 24px;
}
.ad-nav button {
  background: var(--asfalto);
  color: #fff;
  border: none;
  width: 40px; height: 40px;
  border-radius: 50%;
  cursor: pointer;
  font-size: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ad-nav button:hover { background: var(--sinal); }

.ad-pontos {
  display: flex;
  gap: 8px;
}
.ad-ponto {
  width: 9px; height: 9px;
  border-radius: 50%;
  background: var(--gelo-2);
  border: none;
  cursor: pointer;
  padding: 0;
}
.ad-ponto.ativo { background: var(--sinal); }

@media (max-width: 640px) {
  .ad-slide { grid-template-columns: 1fr; }
}
