/* ============================================================
   Container — shared responsive layout constraint
   Provides 1024px max content width with responsive side padding.
   Import this in any component that uses the .container class.
   ============================================================ */

.container {
  position:   relative;
  width:      100%;
  max-width:  calc(1024px + 160px); /* 1024px content + 80px × 2 */
  padding:    0 80px;
  margin:     0 auto;
  box-sizing: border-box;
}

/* Tablet (≤991px): 60px sides */
@media (max-width: 991px) {
  .container {
    padding: 0 60px;
  }
}

/* Landscape mobile (≤767px): 2rem sides */
@media (max-width: 767px) {
  .container {
    padding: 0 2rem;
  }
}



/* ============================================================
   Wide container — 1360px content + 48px side padding
   Used for full-bleed section content blocks (slider, big cards)
   that need to be wider than the standard 1024px text container.
   ============================================================ */

.container-wide {
  width:      100%;
  max-width:  calc(1384px + 96px);   /* 1384px content + 48px × 2 */
  padding:    0 3rem;                /* 48px sides */
  margin:     0 auto;
  box-sizing: border-box;
}

/* Tablet (≤991px): 16px less than .container (60px → 44px) */
@media (max-width: 991px) {
  .container-wide {
    padding: 0 44px;
  }
}

/* Landscape mobile (≤767px): 16px less than .container (2rem → 1rem) */
@media (max-width: 767px) {
  .container-wide {
    padding: 0 1rem;
  }
}


.partner-stats {
  width: 100%;
  padding: 4rem 0;
  background: var(--secondary);
  color: var(--secondary-foreground);
  font-family: var(--font-family-default);
}

.partner-stats__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: 12px;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}

.partner-stats__card {
  display: flex;
  min-height: 210px;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 1rem;
  padding: 28px;
  background: var(--card);
  border: 0.5px solid var(--border);
  border-radius: 12px;
}

.partner-stats__value,
.partner-stats__description {
  margin: 0;
}

.partner-stats__value {
  width: 100%;
  padding-top: 1px;
  font-size: 3rem;
  line-height: normal;
}

.partner-stats__description {
  max-width: 250px;
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-light);
  line-height: var(--line-height-lg);
}

@media (max-width: 991px) {
  .partner-stats__card {
    min-height: 0;
    padding: 24px;
  }

  .partner-stats__value {
    font-size: 2.5rem;
  }

  .partner-stats__description {
    font-size: var(--font-size-base);
    line-height: var(--line-height-base);
  }
}

@media (max-width: 767px) {
  .partner-stats {
    padding: 3rem 0;
  }

  .partner-stats__grid {
    grid-template-columns: 1fr;
  }

  .partner-stats__card {
    padding: 28px;
  }

  .partner-stats__description {
    max-width: 100%;
    font-size: var(--font-size-lg);
    line-height: var(--line-height-lg);
  }
}

