/* ============================================================
   WHY CHOOSE CARDS — Component styles
   Based on the NexUI "Why Choose Us" section design.
   ============================================================ */

/* ---- CSS Variables ---- */
:root {
  --wc-bg:            rgba(109, 40, 217, 0.08);
  --wc-bg-hover:      rgba(109, 40, 217, 0.18);
  --wc-border:        rgba(124, 58, 237, 0.28);
  --wc-border-hover:  rgba(139, 92, 246, 0.55);
  --wc-shadow:        0 8px 32px rgba(7, 5, 15, 0.25);
  --wc-shadow-hover:  0 18px 48px rgba(7, 5, 15, 0.4);
  --wc-radius:        22px;
  --wc-padding:       28px;
  --wc-gap:           16px;
  --wc-font-sans:     'Outfit', system-ui, sans-serif;
  --wc-font-serif:    'Cormorant Garamond', Georgia, serif;
  --wc-ease:          0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

/* ---- Card Grid ---- */
.why-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--wc-gap);
  margin-top: 0;
}

/* ---- Individual Card ---- */
.why-card {
  position: relative;
  padding: var(--wc-padding);
  background: var(--wc-bg);
  border: 1px solid var(--wc-border);
  border-radius: var(--wc-radius);
  box-shadow: var(--wc-shadow);
  cursor: default;
  /* Scroll-reveal initial state */
  opacity: 0;
  transform: translateY(30px);
  transition:
    opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.4s cubic-bezier(0.22, 1, 0.36, 1),
    border-color 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

/* ---- Scroll-reveal final state ---- */
.why-card.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Staggered entrance delays — only apply to reveal transition via JS */

/* ---- Hover ---- */
.why-card:hover {
  transform: translateY(-8px);
  box-shadow: var(--wc-shadow-hover);
  border-color: var(--wc-border-hover);
  background: var(--wc-bg-hover);
}

/* ---- Card Content ---- */
.why-card-number {
  font-family: var(--wc-font-sans);
  font-size: 32px;
  font-weight: 800;
  color: rgba(139, 92, 246, 0.35);
  line-height: 1;
  margin-bottom: 14px;
  letter-spacing: -0.5px;
}

.why-card-title {
  font-family: var(--wc-font-serif);
  font-size: 20px;
  font-weight: 600;
  color: #ffffff;
  margin-bottom: 10px;
  line-height: 1.25;
}

.why-card-text {
  font-family: var(--wc-font-sans);
  font-size: 14px;
  color: rgba(255, 255, 255, 0.5);
  line-height: 1.7;
  margin: 0;
}

/* ---- Responsive ---- */
@media (max-width: 768px) {
  :root {
    --wc-padding: 24px;
    --wc-gap: 14px;
    --wc-radius: 18px;
  }
  .why-card-number { font-size: 28px; }
  .why-card-title  { font-size: 18px; }
  .why-card-text   { font-size: 13px; }
}

@media (max-width: 480px) {
  .why-grid {
    grid-template-columns: 1fr;
  }
  :root {
    --wc-padding: 22px;
  }
}

/* ---- Reduced Motion ---- */
@media (prefers-reduced-motion: reduce) {
  .why-card {
    transition: none !important;
    opacity: 1;
    transform: none;
  }
  .why-card.visible {
    transition: none !important;
    opacity: 1;
    transform: none;
  }
  .why-card:hover {
    transform: none;
  }
}
