/* ==========================================================================
   NATA PORTUGUESE 2.0 - COMPONENTE 9.0: AVALIAÇÕES DOS HÓSPEDES (REVIEWS)
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. SEÇÃO E PADRÃO DE FUNDO (DOT PATTERN + RADIAL GLOW FIGMA)
   -------------------------------------------------------------------------- */
.reviews-section {
  position: relative;
  width: 100%;
  padding-top: clamp(48px, 6vw, 80px);
  padding-bottom: clamp(48px, 6vw, 80px);
  background-color: var(--color-base, #F1ECDE);
  overflow: hidden;
}

/* Padrão visual de bolinhas (Dot Pattern com máscara radial) */
.reviews-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(42, 28, 18, 0.12) 2.5px, transparent 2.5px);
  background-size: 32px 32px;
  background-position: center center;
  opacity: 0.85;
  pointer-events: none;
  z-index: 1;
  -webkit-mask-image: radial-gradient(ellipse 75% 75% at 50% 50%, #000 30%, transparent 100%);
  mask-image: radial-gradient(ellipse 75% 75% at 50% 50%, #000 30%, transparent 70%);
}

/* Brilho radial terracota de fundo */
.reviews-section::after {
  content: '';
  position: absolute;
  bottom: 0%;
  left: 50%;
  transform: translate(-50%, -25%);
  width: clamp(300px, 80vw, 1080px);
  height: clamp(200px, 40vw, 300px);
  background: radial-gradient(50% 50% at 50% 50%, rgba(217, 106, 61, 0.42) 0%, rgba(42, 28, 18, 0.08) 60%, rgba(42, 28, 18, 0) 100%);
  filter: blur(90px);
  pointer-events: none;
  z-index: 1;
}

.reviews-container {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding-left: clamp(16px, 3vw, 32px);
  padding-right: clamp(16px, 3vw, 32px);
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* --------------------------------------------------------------------------
   2. CABEÇALHO / SUBTÍTULO SUPERIOR
   -------------------------------------------------------------------------- */
.reviews-header {
  text-align: center;
  margin-bottom: clamp(28px, 4vw, 48px);
  position: relative;
  z-index: 2;
}

.reviews-badge {
  font-family: var(--font-family-body, 'Inter', sans-serif);
  font-weight: 600;
  font-size: 14px;
  line-height: 1.4;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-terracota-700, #9C4826);
  display: inline-block;
}

/* --------------------------------------------------------------------------
   3. ESTRUTURA DO CARROSSEL (MOSTRA APENAS 3 CARTÕES NO DESKTOP)
   -------------------------------------------------------------------------- */
.reviews-carousel-wrapper {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* O container limita a largura visual exatamente para 3 cartões (340 + 20 + 410 + 20 + 340 = 1130px) */
.reviews-carousel-track-container {
  width: 100%;
  max-width: 1240px;
  overflow: hidden;
  position: relative;
  padding-top: 20px;
  padding-bottom: 28px;
}

.reviews-carousel-track {
  display: flex;
  gap: 10px;
  align-items: center;
  width: max-content;
  will-change: transform;
  transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

/* --------------------------------------------------------------------------
   4. CARTÕES DE AVALIAÇÃO (DIMENSÕES DOM FIXAS: SEM DESLOCAMENTO DE LAYOUT)
   -------------------------------------------------------------------------- */
.review-card-outer {
  flex: 0 0 auto;
  width: 410px;
  height: 220px;
  border-radius: 16px;
  background-color: #fff;
  box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.04);
  /* Inativo: Scale 0.83 reduz o cartão visualmente para ~340px x 180px */
  transform: scale(0.83);
  transform-origin: center center;
  opacity: 0.65;
  transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1),
    opacity 0.45s cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 0.45s ease;
  cursor: pointer;
  user-select: none;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Cartão Ativo no Centro (Scale 1.0 = 410px x 220px) */
.review-card-outer.is-active {
  opacity: 1;
  transform: scale(1);
  box-shadow: 0px 12px 32px rgba(42, 28, 18, 0.08);
}

@media (max-width: 767px) {
  .reviews-carousel-track-container {
    max-width: 100%;
  }

  .review-card-outer {
    width: clamp(280px, 80vw, 360px);
    height: 190px;
    transform: scale(0.9);
  }

  .review-card-outer.is-active {
    transform: scale(1);
  }
}

/* Conteúdo Interno do Cartão (Imagem da Avaliação) */
.review-card-inner {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  overflow: hidden;
  background-color: #FFFFFF;
}

.review-card-image {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.review-card-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-base-white, #F5F4F4);
  border-radius: 12px;
  border: 1px dashed var(--color-neutral-300, #F4ECCF);
  color: var(--color-neutral-600, #706E69);
  font-family: var(--font-family-title, 'Manrope', sans-serif);
  font-weight: 600;
  font-size: 16px;
}

/* --------------------------------------------------------------------------
   5. SETAS DE NAVEGAÇÃO SOBRE OS CARTÕES LATERAIS INATIVOS
   -------------------------------------------------------------------------- */
.reviews-nav-btn {
  background: transparent;
  border: none;
  padding: 0;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-terracota-500, #D96A3D);
  cursor: pointer;
  position: absolute;
  top: calc(50% - 10px);
  transform: translate(-50%, -50%);
  z-index: 20;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.reviews-nav-btn:hover {
  opacity: 0.8;
  transform: translate(-50%, -50%) scale(1.15);
}

/* Posiciona a seta esquerda sobre o centro do cartão esquerdo inativo */
.reviews-nav-prev {
  left: 55px;
}

/* Posiciona a seta direita sobre o centro do cartão direito inativo */
.reviews-nav-next {
  right: 10px;
}

@media (max-width: 1024px) {
  .reviews-nav-prev {
    left: clamp(16px, 3vw, 40px);
  }

  .reviews-nav-next {
    left: auto;
    right: clamp(16px, 3vw, 40px);
    transform: translateY(-50%);
  }

  .reviews-nav-next:hover {
    transform: translateY(-50%) scale(1.15);
  }
}

.reviews-nav-btn svg {
  width: 24px;
  height: 24px;
}

@media (max-width: 767px) {
  .reviews-nav-btn {
    display: none;
    /* No mobile usamos toque e bullets */
  }
}

/* --------------------------------------------------------------------------
   6. PAGINAÇÃO POR BULLETS (BOLINHAS)
   -------------------------------------------------------------------------- */
.reviews-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4px;
  margin-top: clamp(20px, 3vw, 32px);
  position: relative;
  z-index: 2;
}

.reviews-bullet {
  width: 24px;
  height: 24px;
  min-width: 24px;
  min-height: 24px;
  padding: 0;
  margin: 0;
  border: none;
  background-color: transparent;
  cursor: pointer;
  outline: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: width 0.25s ease;
}

/* O ponto visual de 10px */
.reviews-bullet::before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: var(--color-terracota-300, #E5C8BD);
  transition: background-color 0.25s ease, width 0.25s ease, border-radius 0.25s ease;
}

.reviews-bullet.is-active {
  width: 38px;
}

.reviews-bullet.is-active::before {
  background-color: var(--color-terracota-500, #D96A3D);
  width: 24px;
  border-radius: 12px;
}