/* Molo Icon Grid */

.molo-icon-grid__head {
  max-width: 62ch;
  margin-bottom: clamp(36px, 5vw, 60px);
}
.molo--center .molo-icon-grid__head { margin-inline: auto; }

/* component root doubles the specificity so Avada's global heading
   typography (.fusion-body h2 etc.) cannot restyle our headings */
.molo-icon-grid .molo-icon-grid__headline {
  margin: 0;
  font-size: clamp(1.7rem, 3.2vw, 2.5rem);
  line-height: 1.15;
  font-weight: 700;
  letter-spacing: -0.01em;
  text-transform: none;
  text-wrap: balance;
}

.molo-icon-grid__intro {
  margin-top: 1em;
  font-size: clamp(1rem, 1.3vw, 1.12rem);
  line-height: 1.6;
}
.molo-icon-grid__intro p { margin: 0 0 .9em; }
.molo-icon-grid__intro p:last-child { margin-bottom: 0; }
.molo-theme-dark .molo-icon-grid__intro,
.molo-theme-deep .molo-icon-grid__intro { color: rgba(255, 255, 255, .8); }

/* ---- grid ---------------------------------------------------------------- */
.molo-icon-grid__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(32px, 4vw, 48px) clamp(24px, 3vw, 40px);
  text-align: left; /* cell copy stays left even under molo--center */
}
@media (max-width: 1024px) {
  .molo-icon-grid__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .molo-icon-grid__grid { grid-template-columns: 1fr; }
}

/* ---- cell ---------------------------------------------------------------- */
.molo-icon-grid__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 12px;
  font-size: 1.35rem;
  color: var(--molo-orange);
  background: rgba(255, 81, 0, .09);
}
.molo-theme-dark .molo-icon-grid__icon,
.molo-theme-deep .molo-icon-grid__icon {
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(255, 255, 255, .08);
}

.molo-icon-grid .molo-icon-grid__title {
  margin: .95em 0 .45em;
  font-size: 1.2rem;
  line-height: 1.3;
  font-weight: 700;
  letter-spacing: -0.01em;
  text-transform: none;
}

.molo-icon-grid__text {
  margin: 0;
  font-size: .97rem;
  line-height: 1.62;
}
.molo-theme-dark .molo-icon-grid__text,
.molo-theme-deep .molo-icon-grid__text { color: rgba(255, 255, 255, .8); }
