/**
 * Responsive card grids (Bootstrap 4 breakpoints: md 768px, lg 992px).
 * 4-2-1 → 4 cols (lg), 2 cols (md), 1 col (default)
 * 3-1-1 → 3 cols (lg), 1 col (below lg)
 * 3-2-1 (--6, 5+ cards) → 3 cols (lg), 2 cols (md), 1 col (default)
 * 2-1-1 → 2 cols (lg), 1 col (below lg)
 * 1-1-1 → 1 col always
 */

.km-card-grid {
  display: grid;
  align-items: stretch;
  width: 100%;
  margin-left: 0 !important;
  margin-right: 0 !important;
  gap: clamp(1rem, 3vw, 1.75rem);
  list-style: none;
  padding: 0;
}

/* ——— 4-2-1 ——— */
.km-card-grid--4 {
  grid-template-columns: 1fr;
}

@media (min-width: 768px) {
  .km-card-grid--4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 992px) {
  .km-card-grid--4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* ——— 3-1-1 ——— */
.km-card-grid--3 {
  grid-template-columns: 1fr;
}

@media (min-width: 992px) {
  .km-card-grid--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* ——— 3-2-1 (six cards / five or more) ——— */
.km-card-grid--6 {
  grid-template-columns: 1fr;
}

@media (min-width: 768px) {
  .km-card-grid--6 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 992px) {
  .km-card-grid--6 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* ——— 2-1-1 ——— */
.km-card-grid--2 {
  grid-template-columns: 1fr;
}

@media (min-width: 992px) {
  .km-card-grid--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* ——— 1-1-1 ——— */
.km-card-grid--1 {
  grid-template-columns: 1fr;
}

/* Grid cell: no Bootstrap column padding fight */
.km-card-grid > .km-card-grid__cell,
.km-card-grid > .km-gallery-grid-cell {
  min-width: 0;
}

/* ——— Fluid type inside card-style blocks ——— */
.km-card-grid .km-about-pillar h3 {
  font-size: clamp(1rem, 2.5vw, 1.28rem);
  line-height: 1.3;
}

.km-card-grid .km-about-pillar p {
  font-size: clamp(0.88rem, 2vw, 1.02rem);
  line-height: 1.65;
}

.page-training .training-card .card-title {
  font-size: clamp(1.02rem, 2.6vw, 1.35rem) !important;
  line-height: 1.3;
}

.page-training .training-card .card-content p,
.page-training .training-card .training-card__desc {
  font-size: clamp(0.86rem, 2.1vw, 1rem) !important;
  line-height: 1.65;
}

.page-training .section-header h1 {
  font-size: clamp(1.35rem, 4.5vw, 2rem) !important;
  color: #fff !important;
}

.page-training .section-header h2 {
  font-size: clamp(1.15rem, 3.8vw, 1.65rem) !important;
  color: #fff !important;
}

.page-training .section-header h2 strong {
  color: #fff !important;
}

/* Contact FAQ items in 4-2-1 grid */
.page-contact .km-contact-faq__grid.km-card-grid details summary {
  font-size: clamp(0.98rem, 2.3vw, 1.1rem);
}

.page-contact .km-contact-faq__grid.km-card-grid details p {
  font-size: clamp(0.86rem, 2vw, 0.98rem);
  line-height: 1.65;
}
