.software-table-wrapper {
  width: 100%;
  overflow-x: auto;
  margin: 0;
  padding: 0;
}

.software-table {
  width: 100%;
  min-width: 600px;
  border-collapse: collapse;
  font-size: 14px;
  background-color: #fff;
  border-radius: 8px;
  overflow: hidden;
}

.software-table thead {
  background-color: white;
  position: sticky;
  top: 0;
  z-index: 10;
}
@media not all and (min-resolution: 0.001dpcm) {

  @supports (-webkit-appearance: none) {
    .software-table th {
      border-bottom: 2px solid #dee2e6 !important;
    }
  }
}
@media only screen and (max-width: 620px) {
    .hero-banner {    
      height: 220px;
    }
}

.software-table th {
  padding: 15px !important;
  text-align: left;
  font-weight: 600;
  color: #333;
  border-bottom: 1px solid #dee2e6 !important;
  white-space: nowrap;
}
.table {
  margin-bottom: 0.4px !important;
}
.software-table td {
  padding: 15px !important;
  border-bottom: 1px solid #dee2e6;
  vertical-align: top;
}

.software-row {
  background-color: unset !important;
}

.title-column {
  width: 25%;
  min-width: 200px;
}
.software-table tbody tr:last-child td {
  border-bottom: none;
}

.description-column {
  width: 55%;
  min-width: 250px;
}

.download-column {
  width: 20%;
  min-width: 120px;
  text-align: center;
}

/* Mobile-first card layout */
.software-mobile-cards {
  display: none;
}
.download-link:hover {
  padding-bottom: 2px;
}

/* Tablet styles */
@media screen and (max-width: 768px) {
  .software-table {
    min-width: 500px;
    font-size: 13px;
  }

  .title-column { min-width: 150px; }
  .description-column { min-width: 200px; }
  .download-column { min-width: 100px; }

  .download-link {
    padding: 6px 12px;
    font-size: 12px;
  }
}

/* Mobile styles */
@media screen and (max-width: 600px) {
  .software-table {
    display: none;
  }
.software-card .title,
.software-card .description,
.software-card .download {
  font-size: 14px;
  margin-bottom: 6px;
}

.software-card .title strong,
.software-card .description strong,
.software-card .download strong {
  display: inline-block;
  margin-right: 4px;
  color: #333;
}
.download-link:hover {
  padding-bottom: 2px;
}
  .software-mobile-cards {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 10px;
  }

  .software-card {
    border: 1px solid white;
    border-radius: 8px;
    padding: 12px;
    background: #fff;
  }

  .software-card .download a {
    margin-left: -11px;
    font-size: 13px;
  }
  .software-card {
  border-bottom: 1px solid #dee2e6;
  padding: 12px 0;
}

.software-card:last-child {
  border-bottom: none;
}
}
.software-title a,
.software-description a,
.software-card .title a,
.software-card .description a {
  text-decoration: none;
  display: inline-block;
}
.software-title a:hover,
.software-description a:hover,
.software-card .title a:hover,
.software-card .description a:hover {
  display: inline-block;
}

