/* =========================================================
   PARTNERS CAROUSEL V2 - MOBILE/IOS/ANDROID SAFE
   Arquivo: public/assets/css/components/partners-carousel-v2.css
   ========================================================= */

/* -----------------------------------------------------------------
   0) FIX DEFINITIVO: Android/iOS "Text Autosize"
   (no emulador do Chrome geralmente não aparece)
------------------------------------------------------------------ */
.ht-carousel-section-unique,
.ht-carousel-section-unique * {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* -----------------------------------------------------------------
   1) SEÇÃO + HEADER (mantém padrão do site e evita "bloco cinza")
------------------------------------------------------------------ */
.ht-carousel-section-unique {
  position: relative;
  padding: 72px 0 64px;

  /* não força bloco cinza: deixa o fundo vir do layout do site */
  background: transparent !important;
}

.ht-carousel-header-unique {
  text-align: center;
  margin: 0 auto 26px;
  max-width: 980px;
  padding: 0 10px;
}

.ht-carousel-section-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 8px 18px;
  border-radius: 999px;

  border: 1px solid rgba(99, 255, 82, 0.35);
  background: rgba(0, 0, 0, 0.22);
  backdrop-filter: blur(8px);

  color: #63ff52;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;

  /* evita zoom/troca de layout no mobile real */
  font-size: 12px;
  line-height: 1;
}

.ht-carousel-title-unique {
  margin: 18px 0 10px;
  color: #ffffff;
  font-weight: 800;
  letter-spacing: 0.02em;

  /* clamp para ficar idêntico em device real */
  font-size: clamp(34px, 5.6vw, 56px);
  line-height: 1.05;
}

.ht-carousel-subtitle-unique {
  margin: 0 auto;
  color: rgba(255, 255, 255, 0.78);
  max-width: 860px;

  font-size: 18px;
  line-height: 1.55;
}

.ht-carousel-header-decoration {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin-top: 18px;
}

.ht-carousel-decoration-line {
  width: 64px;
  height: 1px;
  background: rgba(99, 255, 82, 0.35);
}

.ht-carousel-decoration-diamond {
  width: 8px;
  height: 8px;
  transform: rotate(45deg);
  background: #63ff52;
  border-radius: 2px;
}

/* mobile real (Android/iOS): melhora leitura e evita “quebra feia” */
@media (max-width: 520px) {
  .ht-carousel-section-unique {
    padding: 54px 0 52px;
  }

  .ht-carousel-title-unique {
    font-size: 38px;      /* fixa pra não variar por autosize */
    line-height: 1.08;
  }

  .ht-carousel-subtitle-unique {
    font-size: 16px;
    line-height: 1.6;
    max-width: 92%;
  }

  .ht-carousel-decoration-line {
    width: 48px;
  }
}

/* -----------------------------------------------------------------
   2) CAROUSEL V2 (track + itens + botões + dots)
------------------------------------------------------------------ */
.partners-v2 {
  position: relative;
  padding: 12px 0 0;

  /* mantém fundo igual do restante */
  background: transparent !important;
}

.partners-v2 * {
  box-sizing: border-box;
}

.partners-v2__viewport {
  position: relative;
  overflow: hidden;
  padding: 6px 0;
  background: transparent !important;
}

/* Trilho com scroll horizontal e snap */
.partners-v2__track {
  display: flex;
  gap: 18px;

  overflow-x: auto;
  overflow-y: hidden;

  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;

  padding: 10px 46px; /* espaço pros botões */
  margin: 0;

  scrollbar-width: none;
  white-space: nowrap;

  background: transparent !important;
}
.partners-v2__track::-webkit-scrollbar {
  display: none;
}

/* Item */
.partners-v2__item {
  flex: 0 0 100%;
  scroll-snap-align: center;

  display: flex;
  align-items: center;
  justify-content: center;

  background: transparent !important;
  border: none !important;
  box-shadow: none !important;

  min-height: 120px;
}

/* Tablet */
@media (min-width: 768px) {
  .partners-v2__item { flex-basis: calc(50% - 9px); }
}

/* Desktop */
@media (min-width: 1024px) {
  .partners-v2__item { flex-basis: calc(33.333% - 12px); }
}

/* Imagem */
.partners-v2__img {
  display: block;
  max-width: 100%;
  width: auto;
  height: auto;

  max-height: 92px;
  object-fit: contain;

  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  filter: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

@media (max-width: 480px) {
  .partners-v2__img { max-height: 84px; }
}

/* Botões */
.partners-v2__btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;

  width: 38px;
  height: 38px;
  border-radius: 999px;

  border: 1px solid rgba(99, 255, 82, 0.35);
  background: rgba(0, 0, 0, 0.25);
  backdrop-filter: blur(8px);

  color: #63ff52;
  cursor: pointer;

  display: flex;
  align-items: center;
  justify-content: center;

  transition: transform .15s ease, background .15s ease, border-color .15s ease;
}

.partners-v2__btn:hover {
  transform: translateY(-50%) scale(1.05);
  background: rgba(99, 255, 82, 0.12);
  border-color: rgba(99, 255, 82, 0.7);
}

.partners-v2__btn--prev { left: 8px; }
.partners-v2__btn--next { right: 8px; }

.partners-v2__btn svg {
  width: 18px;
  height: 18px;
}

/* Dots */
.partners-v2__dots {
  display: flex;
  justify-content: center;
  gap: 8px;

  /* no mobile real isso ajuda a não “subir/colar” */
  padding: 14px 10px 0;
  margin: 0 auto;
}

.partners-v2__dot {
  width: 9px;
  height: 9px;
  border-radius: 999px;

  border: 1px solid rgba(99, 255, 82, 0.35);
  background: rgba(255,255,255,0.15);

  cursor: pointer;
  transition: transform .15s ease, background .15s ease, border-color .15s ease;
}

.partners-v2__dot.is-active {
  background: #63ff52;
  border-color: rgba(99, 255, 82, 0.9);
  transform: scale(1.15);
}

/* Segurança extra: remove QUALQUER fundo vindo de CSS antigo */
.partners-v2,
.partners-v2__viewport,
.partners-v2__track,
.partners-v2__item,
.partners-v2__img {
  background: transparent !important;
}
