/* Styles specific to the Impact / stats section
   Scope: .stats01 (id: #testimonials-1-uUlbAKhLxB)
   Keeps selectors specific to avoid touching other Mobirise components.
*/

:root{
  --stats-bg-start: #f7fbff;
  --stats-bg-end: #ffffff;
  /* switched to green accents to better match site headings */
  --stats-accent-1: #3a7a2a; /* medium green */
  --stats-accent-2: #6fbf3a; /* lighter green */
  --stats-text: #0f1724;
  --stats-muted: #5b6b79;
  --stats-font: 'Source Sans Pro', 'Lora', sans-serif;
}

.stats01{
  padding: 3.5rem 0 2.5rem;
  background: linear-gradient(135deg,var(--stats-bg-start),var(--stats-bg-end));
}

.stats01 .title-wrapper h2{
  font-weight:700;
  letter-spacing: -0.5px;
}

.stats01 .desc-wrapper p{
  color:var(--stats-muted);
  margin-top: .25rem;
}

.stats01 .content-wrap{
  /* rely on Bootstrap grid for layout/gutters; just add top spacing */
  margin-top: 1.25rem;
}

.stats01 .item{
  background: #fff;
  border-radius: 12px;
  padding: 1.25rem 1.25rem;
  box-shadow: 0 6px 20px rgba(13,38,59,0.06);
  transition: transform .28s cubic-bezier(.2,.9,.3,1), box-shadow .28s;
  /* let the column (.col-*) control width; use full width of the column */
  width: 100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  min-height: 160px; /* avoid very short, tall cards */
  padding-top: 1.1rem;
  padding-bottom: 1.1rem;

  display: flex
;
    justify-content: space-between;
    padding: 54px;
    border: 3px dashed var(--sage);
}

.stats01 .item:hover{
  transform: translateY(-8px);
  box-shadow: 0 18px 42px rgba(13,38,59,0.12);
}

/* circular badge that now contains the stat number */
.stats01 .icon-circle{
  /*width:84px;
  height:84px;
  */
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:.75rem;
  /*background: linear-gradient(135deg,var(--stats-accent-1),var(--stats-accent-2)); */
  color: #fff;
  /* box-shadow: 0 8px 22px rgba(58,122,42,0.10); */
}

.stats01 .stat-number{
  font-weight:800;
  font-size: 1.45rem;
  color:#ffffff; /* white inside badge */
  margin: 0;
  line-height:1;
  text-align:center;
  font-family: var(--stats-font);
}

.stats01 .mbr-text{ /* description under number */
  color:var(--stats-muted);
  margin:0;
  font-size: .95rem;
  font-family: var(--stats-font);
}

/* larger screens: four columns */
@media (min-width: 768px){
  .stats01 .stat-number{ font-size: 1.6rem; }
  /*.stats01 .icon-circle{ width:96px; height:96px; } */
}

/* reduce apparent gap between columns inside this section only */
.stats01 .row > [class*="col-"]{
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

/* ensure the description text doesn't collapse into tiny columns */
.stats01 .item .mbr-text{
  max-width: 100%;
}

/* subtle entrance animation */
@keyframes statsFadeUp{ from{ opacity:0; transform: translateY(8px);} to{ opacity:1; transform:none;} }
.stats01 .item{ animation: statsFadeUp .6s ease both; }

/* reduce motion preference */
@media (prefers-reduced-motion: reduce){
  .stats01 .item{ transition: none; animation: none; }
}

/* Accessibility: ensure sufficient contrast for stat numbers */
.stats01 .stat-number{ 
  color: var(--stats-accent-1); 
  font-size: 35pt;
}
