/*===========================================
  PALAVER BENTO STATS — Shared Grid System
  Use across all pages for stat sections
===========================================*/

/* ─── BENTO GRID CONTAINER (COLLAGE/MOSAIC) ─── */
.bento-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 160px;
  grid-auto-flow: dense;
  gap: 16px;
  padding: 40px 0;
}

/* ─── STAT CARD ─── */
.bento-stat-card {
  background: var(--primary-color, #232333);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 18px;
  padding: 32px 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  transition: transform 0.4s ease, border-color 0.4s ease;
  min-height: 100%;
  overflow: hidden;
}

.bento-stat-card:hover {
  transform: translateY(-4px);
  border-color: rgba(184, 155, 94, 0.2);
}

/* ─── ASYMMETRICAL MOSAIC RULES ─── */
/* Force irregular sizing for specific children to create a collage */
.bento-stats-grid > :nth-child(4n - 3) {
  /* 1st, 5th items */
  grid-column: span 2;
  grid-row: span 2;
}

.bento-stats-grid > :nth-child(4n - 2) {
  /* 2nd, 6th items */
  grid-column: span 2;
  grid-row: span 1;
}

.bento-stats-grid > :nth-child(3n) {
  /* 3rd, 6th... -> 6th overlaps rule above and is overridden depending on cascade order. We'll use specific spans */
  grid-column: span 1;
  grid-row: span 2;
}

/* Override previous media/feature classes so they lock into the mosaic cleanly */
/* Feature card (wider, can hold image/video/CTA) */
.bento-stat-card--feature {
  grid-column: span 2 !important;
  grid-row: span 2 !important;
  background:
    linear-gradient(135deg, rgba(184, 155, 94, 0.08), transparent 60%),
    var(--primary-color, #232333);
}

.bento-stat-card--media {
  grid-column: span 2 !important;
  grid-row: span 2 !important;
}

/* CTA card */
.bento-stat-card--cta {
  background: linear-gradient(135deg, var(--gold-muted, #b89b5e), var(--gold-deep, #8a7440));
  border: none;
  cursor: pointer;
}

.bento-stat-card--cta .bento-stat-label {
  color: rgba(0, 0, 0, 0.7);
}

/* ─── COUNT-UP NUMBER ─── */
.countup {
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(1.8rem, 4vw, 3.2rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1;
  color: #fff;
  margin-bottom: 8px;
  white-space: nowrap;
}

/* ─── STAT LABEL ─── */
.bento-stat-label {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.45);
  margin-top: 4px;
}

/* ─── STAT DETAIL (subtitle) ─── */
.bento-stat-detail {
  font-size: 0.65rem;
  color: rgba(255, 255, 255, 0.3);
  margin-top: 6px;
  letter-spacing: 0.05em;
}

/* ─── STAT ICON ─── */
.bento-stat-icon {
  font-size: 1.4rem;
  color: var(--gold-muted, #b89b5e);
  margin-bottom: 12px;
  opacity: 0.7;
}

/* ─── IMAGE INSIDE BENTO ─── */
.bento-stat-card img,
.bento-stat-card video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 14px;
}

.bento-stat-card--media {
  padding: 0;
  overflow: hidden;
  min-height: 200px;
}

/* ─── RESPONSIVE: MOBILE ─── */
@media (max-width: 575px) {
  .bento-stats-grid {
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: 125px;
    gap: 12px;
  }

  /* Make mobile an explicit collage gallery - NOT straight rows */
  .bento-stats-grid > :nth-child(n) {
    grid-column: span 1;
    grid-row: span 1;
  }
  
  /* Every 3rd item spans 2 columns */
  .bento-stats-grid > :nth-child(3n) {
    grid-column: span 2;
    grid-row: span 1;
  }

  /* Every 4th item spans 2 rows */
  .bento-stats-grid > :nth-child(4n) {
    grid-column: span 1;
    grid-row: span 2;
  }

  /* Features/Media explicitly span 2x2 to break layout heavily */
  .bento-stat-card--feature,
  .bento-stat-card--media {
    grid-column: span 2 !important;
    grid-row: span 2 !important;
  }

  .bento-stat-card {
    padding: 24px 16px;
    min-height: auto;
    border-radius: 14px;
  }

  .countup {
    font-size: clamp(1.5rem, 8vw, 2.2rem);
  }
}

/* ─── TABLET ─── */
@media (min-width: 576px) and (max-width: 991px) {
  .bento-stats-grid {
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: 150px;
  }
  
  /* Less aggressive mosaic on tablet */
  .bento-stats-grid > :nth-child(n) {
    grid-column: span 1;
    grid-row: span 1;
  }
  
  .bento-stats-grid > :nth-child(3n - 2) {
    grid-column: span 2;
    grid-row: span 2;
  }
  
  .bento-stat-card--feature,
  .bento-stat-card--media {
    grid-column: span 3 !important;
    grid-row: span 2 !important;
  }
}
