/* =====================================================================
   SHIM-ME Hub — Why SHIM-ME section (Bucket B)
   Scoped to body #shim-why per §0 rule 3.
   Color/font props use !important to beat Total's late inline styles.
   Layout props (display, grid, position) are left without !important.
   ===================================================================== */

/* ---- Section chrome ---- */
/* padding handled by WPBakery row; border-bottom is ours */
body #shim-why {
  border-bottom: 1px solid var(--shim-line);
}

/* ---- Head: eyebrow left, heading right ---- */
body #shim-why .shim-why__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 56px;
  flex-wrap: wrap;
  gap: 24px;
}

body #shim-why .shim-why__head .shim-h2 {
  margin: 0;
  max-width: 14ch;
}

/* ---- Feature grid — 4 equal columns, border-box approach ---- */
body #shim-why .shim-why__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border-top: 1px solid var(--shim-line);
  border-left: 1px solid var(--shim-line);
}

body #shim-why .shim-why__feature {
  padding: 40px 32px;
  border-right: 1px solid var(--shim-line);
  border-bottom: 1px solid var(--shim-line);
  position: relative;
  background: var(--shim-bg);
  transition: background .2s ease;
}

body #shim-why .shim-why__feature:hover {
  background: var(--shim-bg-2);
}

body #shim-why .shim-why__feature:hover .shim-why__feature-n {
  color: var(--shim-red) !important;
}

/* ---- Feature number ---- */
body #shim-why .shim-why__feature-n {
  font-family: var(--shim-mono) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: var(--shim-text-mute) !important;
  letter-spacing: 0.16em !important;
  text-transform: none !important;
  margin-bottom: 24px;
  transition: color .2s ease;
  display: block;
}

/* ---- Feature title (h3) ---- */
body #shim-why .shim-why__feature h3 {
  font-family: var(--shim-display) !important;
  font-weight: 700 !important;
  font-size: 28px !important;
  line-height: 1.05 !important;
  text-transform: uppercase !important;
  letter-spacing: -0.005em !important;
  color: var(--shim-text) !important;
  margin: 0 0 12px;
}

/* ---- Feature body ---- */
body #shim-why .shim-why__feature p {
  font-family: var(--shim-body) !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: var(--shim-text-dim) !important;
  margin: 0;
}

/* ---- Responsive ---- */
@media (max-width: 900px) {
  body #shim-why .shim-why__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 540px) {
  body #shim-why .shim-why__grid {
    grid-template-columns: 1fr;
  }
  body #shim-why .shim-why__head {
    flex-direction: column;
    align-items: flex-start;
  }
  body #shim-why .shim-why__feature {
    padding: 32px 24px;
  }
}
