@import "./theme.css";

/* ===========================
   Porque nos escolher
   =========================== */

.why-choose-us {
  padding: var(--section-py) 20px;
  text-align: center;
  color: var(--paragraph-color);
}

/* Antes chamava-se apenas `.title` — um nome global que qualquer outra seção
   poderia colidir. Agora está escopado à seção. */
.why-choose-us__title {
  font-family: "Poppins", sans-serif;
  font-size: clamp(1.35rem, 3.5vw, 2rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  margin: 0 0 56px;
  color: var(--text-primary);
}

.why-choose-us__title-accent {
  display: inline-block;
  padding: 4px 14px;
  border-radius: var(--radius-sm);
  background: var(--gradient-brand-soft);
  color: var(--accent-gold);
}

/* --- Grid --- */

.why-cards-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 22px;
  max-width: 1100px;
  margin: 0 auto;
}

/* --- Card --- */

.why-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  height: 100%;
  padding: 34px 20px;
  text-align: center;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--radius-lg);
  background: rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: var(--shadow-sm);
  transition: transform var(--transition-smooth),
    box-shadow var(--transition-smooth), border-color var(--transition-smooth),
    background var(--transition-smooth);
}

/* Borda em gradiente no hover, igual aos cards de produto e aos pilares.
   O `border` acima é o fallback onde mask-composite não existe. */
.why-card::before {
  content: "";
  position: absolute;
  inset: 0;
  padding: 1px;
  border-radius: inherit;
  background: var(--gradient-brand);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--transition-smooth);
}

.why-card:hover {
  transform: translateY(-8px);
  background: var(--black-mid);
  border-color: rgba(212, 175, 55, 0.28);
  box-shadow: var(--shadow-md);
}

.why-card:hover::before {
  opacity: 1;
}

/* --- Ícone --- */

.why-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  border-radius: var(--radius-pill);
  border: var(--border-accent-soft);
  background: var(--gradient-brand-soft);
  color: var(--accent-gold);
  font-size: 24px;
  transition: color var(--transition-smooth), box-shadow var(--transition-smooth),
    transform var(--transition-spring);
}

.why-card:hover .why-icon {
  color: var(--gold-light);
  box-shadow: var(--shadow-glow-gold);
  transform: translateY(-2px) scale(1.04);
}

/* --- Texto --- */

.why-title {
  margin: 0;
  font-size: 0.9375rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-primary);
}

/* --- Reveal escalonado (--i vem do IntersectionObserver) --- */

.why-choose-us.js-reveal .js-why-reveal {
  opacity: 0;
  transform: translate3d(0, 34px, 0);
}

.why-choose-us.js-reveal .js-why-reveal.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition: opacity var(--dur-reveal) var(--ease-reveal),
    transform var(--dur-reveal) var(--ease-reveal),
    box-shadow var(--transition-smooth), border-color var(--transition-smooth),
    background var(--transition-smooth);
  transition-delay: calc(var(--i, 0) * 80ms);
}

.why-choose-us.js-reveal .why-card.is-visible:hover {
  transition-delay: 0s;
}

/* --- Responsivo --- */

@media (max-width: 640px) {
  .why-cards-container {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 16px;
  }

  .why-card {
    padding: 26px 14px;
  }

  .why-icon {
    width: 52px;
    height: 52px;
    font-size: 21px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .why-card,
  .why-card:hover {
    transform: none;
    transition: none;
  }
  .why-card:hover .why-icon {
    transform: none;
  }
}
