
  /* Nav rules handled globally in head.css */

  body.no-hero main {
    padding-top: 110px;
    /* tweak 90–120px if needed to sit perfectly */
  }

  main>section>.container {
    padding-top: 10px;
    padding-bottom: 20px;
  }


  h1+p,
  h2+p,
  h3+p,
  h4+p,
  h2+h4,
  h1+h4,
  h2+ul.icon-list,
  h3+ul.icon-list,
  p+h3,
  p+.btn,
  p+h4,
  h4+.btn,
  h4+.btn-text,
  h4+input,
  h4+select,
  h4+textarea,
  p+ul.icon-list,
  p+.btn-text,
  p+table,
  p+pre,
  p+img,
  p+.row,
  p+.img-box,
  p+.media-box,
  p+.cnt-box,
  p+.icon-links,
  p+ul.icon-list,
  .container>.row+.row,
  .container>div+p,
  p+.text-list,
  .container>div+.btn,
  .table+.btn,
  .table+.btn-text,
  h4+div,
  h4+ul,
  h4+ul.icon-list,
  h4+a,
  .slimScrollDiv+.btn,
  h3+.grid-list,
  h3+.slider,
  .text-list+.btn,
  .text-list+.btn-text {
    margin-top: 5px;
    margin-bottom: 20px;
  }

  .form-box {
    margin-bottom: 15px;
  }

  /* Equal-height service cards — without breaking grid layout */
.services-grid .grid-item {
  display: flex;               /* grid items become flex containers */
  height: 100%;
}

.services-grid .cnt-box {
  display: flex;
  flex-direction: column;
  height: 100%;                /* full height inside each grid-item */
}

.services-grid .cnt-box .caption {
  flex: 1 1 auto;              /* expands to fill space */
  display: flex;
  flex-direction: column;
}

.services-grid .cnt-box .cnt-info {
  display: flex !important;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0 0 18px !important;
  padding: 0;
  border: 0;
}

.services-grid .cnt-box .cnt-info > div {
  display: inline-flex !important;
  align-items: center;
  width: auto !important;
  min-width: 0;
  margin: 0 !important;
  padding: 6px 10px;
  border: 0 !important;
  border-radius: 999px;
  background: #e9fbfd;
  color: #006f7d;
  line-height: 1.15;
}

.services-grid .cnt-box .cnt-info > div > span:first-child {
  display: none !important;
}

.services-grid .cnt-box .cnt-info > div > span:last-child {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  color: #007c8b;
  font-size: 11px;
  font-weight: 800;
  text-transform: none;
}

.services-grid .cnt-box .caption p {
  flex: 1 1 auto;              /* stretch description area */
}

.services-grid .cnt-box .btn-text {
  margin-top: auto;            /* stick Learn more link to bottom */
}

/* ------------ SOFTWARE SECTION TAB FIX ------------ */

/* Give some space between title and tabs */
#software .tab-box.tab-top-right {
    margin-top: 40px; /* adjust if you want more/less gap */
}

/* Kill any negative offsets / transforms used by the theme */
#software .tab-box.tab-top-right .tab-nav {
    position: static !important;
    top: auto !important;
    transform: none !important;
    margin-top: 20px !important;
    display: flex !important;
    justify-content: center;   /* center tabs like your reference */
}

/* Optional: a bit of bottom margin so tabs don't touch the cards */
#software .tab-box.tab-top-right .tab-nav li {
    margin-bottom: 0 !important;
}

/* Equal-height cards inside the Software > Software tab */
.software-cards .grid-item {
    display: flex;
    height: 100%;
}

.software-cards .cnt-box {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.software-cards .cnt-box .caption {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.software-cards .cnt-box .caption p {
    flex: 1; /* stretch the description to fill */
}

/* Optional: aligns all titles/icons same vertical spacing */
.software-cards .cnt-box .cnt-box-top-icon i {
    margin-bottom: 15px;
}

/* Keep everything clean */
.software-cards .cnt-box.boxed {
    padding-bottom: 25px; /* so "Learn more" or bottom spacing stays consistent */
}

/* ── Spare parts section ────────────────────────────────────────────────────── */
.spare-parts-hero-img {
    width: 100%;
    border-radius: 10px;
    object-fit: cover;
    max-height: 380px;
    display: block;
    box-shadow: 0 8px 28px rgba(0, 71, 103, .12);
}

.spare-parts-categories {
    margin-top: 48px;
    padding-top: 40px;
    border-top: 1px solid #dce8f0;
}

@media (max-width: 991px) {
    .spare-parts-hero-img { margin-top: 32px; max-height: 260px; }
    .spare-parts-categories { margin-top: 36px; padding-top: 32px; }
}

