/* Site overrides — mobile uniform item widths */

/* --- Freelancer / sticky card lists (solutions, scenarios) --- */
.sticky-home-wrapper .single-card-sticky .card-list {
  width: 100%;
  box-sizing: border-box;
}

.sticky-home-wrapper .single-card-sticky .card-list li {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.sticky-home-wrapper .single-card-sticky .card-list li a {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.65rem;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.sticky-home-wrapper .single-card-sticky .card-list li a svg {
  flex-shrink: 0;
  margin-top: 0.2em;
}

/* --- Customer logo grid (Freelancer) --- */
.customer-logo-grid {
  width: 100%;
  box-sizing: border-box;
}

.customer-logo-grid .cell {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

/* --- Customer portfolio cards (Consulting, etc.) --- */
.customer-card-grid {
  width: 100%;
}

.customer-card-grid > [class*="col-"] {
  display: flex;
}

.customer-card-grid .rn-portfolio {
  width: 100%;
  max-width: 100%;
}

/* --- Solution / service cards: equal column stretch --- */
.row.row--25 > [class*="col-"] {
  display: flex;
}

.row.row--25 > [class*="col-"] > .rn-service,
.row.row--25 > [class*="col-"] > .rn-portfolio {
  width: 100%;
  max-width: 100%;
}

/* --- Buttons: full-width stack on phones --- */
@media only screen and (max-width: 575px) {
  .customer-logo-grid {
    /* Fixed 2 equal columns — no uneven last-row stretch */
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .button-group {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    margin-left: 0;
    margin-right: 0;
    width: 100%;
    box-sizing: border-box;
  }

  .button-group a.rn-btn,
  .button-group button.rn-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    box-sizing: border-box;
    text-align: center;
  }

  .sticky-top-slider .button-group,
  .banner-details-wrapper-sticky .button-group {
    width: 100%;
  }

  /* Hero dual CTAs outside .button-group */
  .button-area {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    gap: 0.75rem;
  }

  .button-area a.rn-btn {
    width: 100%;
    max-width: 100%;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box;
    text-align: center;
  }

  /* Sticky card list: full-width rows, consistent indent */
  .sticky-home-wrapper .single-card-sticky .card-list li {
    margin-left: 0;
    padding-left: 1.25rem;
  }

  .sticky-home-wrapper .single-card-sticky .card-list li::before {
    left: 0;
  }
}

@media only screen and (min-width: 576px) and (max-width: 767px) {
  .customer-logo-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
