/* The Main Wrapper */
.ss-container {
  width: 100%;
  max-width: 1200px;
  margin: 80px auto;
  margin-bottom: 80px !important;
  display: flex;
  flex-direction: column;
  gap: 30px;
  align-items: center;
  /* Add safety gutters so elements don't touch the screen edge */
  box-sizing: border-box;
  padding: 0 20px;
}

.ss-step-row {
  width: 100%;
  display: flex;
  justify-content: center;
  float: none !important; /* Fix for Salient col classes */
}

/* --- Zig-Zag Logic --- */

/* Track A: Steps 1, 3, 5 (Centered) */
.ss-step-row:nth-child(odd) {
  padding-left: 0;
  padding-right: 0;
}

/* Track B: Steps 2, 4 (Nudged Right) */
.ss-step-row:nth-child(even) {
  padding-left: 120px; /* Adjust this number to control the "shift" distance */
}

.ss-step-card {
  display: flex;
  align-items: center;
  background: #ffffff;
  border: 2px solid var(--step-color);
  border-radius: 12px;
  padding: 20px 40px;
  gap: 25px;
  width: 100%;
  max-width: 850px;
  box-sizing: border-box; /* Ensures padding stays inside the width limit */
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
}

.ss-number {
  background-color: var(--step-color);
  color: #ffffff;
  width: 45px;
  height: 45px;
  min-width: 45px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 20px;
  transition: all 0.3s ease;
}

.ss-text {
  font-size: var(--ss-font-size);
  color: var(--ss-text-color);
  line-height: 1.5;
  margin: 0;
}

/* --- RESPONSIVE BREAKPOINTS --- */

/* 1. Tablets / Small Laptops */
@media (max-width: 1100px) {
  .ss-step-row:nth-child(even) {
    padding-left: 60px; /* Softens the zig-zag so cards don't get squished */
  }
}

/* 2. MOBILE: Force clean stacking */
@media (max-width: 900px) {
  .ss-container {
    margin: 40px auto !important;
    padding: 0 0px !important; /* Let the parent container handle the edge padding */
    gap: 20px; 
  }

  .ss-step-row:nth-child(odd),
  .ss-step-row:nth-child(even) {
    padding: 0 !important; /* Kills the zig-zag completely */
    margin: 0 !important;
    justify-content: center;
  }

  .ss-step-card {
    width: 100% !important; 
    padding: 25px 20px !important; /* Standardized comfortable mobile padding */
    gap: 15px;
  }

  .ss-text {
    font-size: 16px !important; /* Locks in the consistent 16px mobile text */
    line-height: 1.6 !important;
  }

  .ss-number {
    width: 35px; /* Shrinks the circle footprint */
    height: 35px;
    min-width: 35px;
    font-size: 16px;
  }
}