.aps-wrapper-a0928c73 {
    position: relative;
    width: 100%;
}
.aps-header-a0928c73 {
    text-align: center;
    margin-bottom: 2rem;
}
.aps-steps-container-a0928c73 {
    display: flex;
    flex-wrap: nowrap;
    position: relative;
    justify-content: space-between;
    gap: var(--steps-gap, 30px);
}
/* Horizontal Connector */
.aps-layout-horizontal .aps-steps-container-a0928c73::before {
    content: "";
    position: absolute;
    top: var(--connector-top, 30px);
    left: calc( (100% / var(--steps-count, 4) ) / 2 ); 
    right: calc( (100% / var(--steps-count, 4) ) / 2 );
    height: var(--connector-thickness, 2px);
    background: var(--connector-color, #e0e0e0);
    z-index: 1;
}
/* Vertical Layout */
.aps-layout-vertical .aps-steps-container-a0928c73 {
    flex-direction: column;
}
.aps-layout-vertical .aps-steps-container-a0928c73::before {
    display: none; 
}

.aps-step-a0928c73 {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    z-index: 2;
    min-width: 0; 
}

/* Vertical Connector per step */
.aps-layout-vertical .aps-step-a0928c73::before {
     content: "";
     position: absolute;
     left: var(--connector-left, 30px);
     top: var(--connector-top, 30px);
     bottom: calc(-1 * var(--steps-gap, 30px)); 
     width: var(--connector-thickness, 2px);
     background: var(--connector-color, #e0e0e0);
     z-index: 1;
}
.aps-layout-vertical .aps-step-a0928c73:last-child::before {
    display: none;
}


.aps-layout-vertical .aps-step-a0928c73 {
    flex-direction: row;
    align-items: flex-start;
}

.aps-step-number-a0928c73 {
    width: var(--number-size, 60px);
    height: var(--number-size, 60px);
    border-radius: var(--number-border-radius, 50%);
    background: #fff;
    border: 2px solid var(--connector-color, #e0e0e0);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    margin-bottom: var(--number-margin-bottom, 25px);
    z-index: 3;
    transition: all 0.3s ease;
    flex-shrink: 0; 
    box-sizing: border-box; 
}
.aps-layout-vertical .aps-step-number-a0928c73 {
    margin-bottom: 0;
    margin-right: var(--number-margin-right, 30px);
}

.aps-step-card-a0928c73 {
    background: #fff;
    border-radius: var(--card-border-radius, 12px);
    padding: var(--card-padding, 30px 25px);
    box-shadow: 0 10px 30px rgba(0,0,0,0.04);
    text-align: var(--card-text-align, center);
    width: 100%;
    transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), border 0.3s ease, background 0.3s ease;
    display: flex;
    flex-direction: column;
    height: 100%;
    border: 1px solid rgba(0,0,0,0.05);
    text-decoration: none; 
    color: inherit;
    align-items: var(--card-align-items, center);
}
.aps-step-card-a0928c73:hover {
    transform: translateY(var(--card-hover-translate-y, -8px));
}

.aps-step-icon-a0928c73 {
    font-size: var(--icon-size, 36px);
    margin-bottom: var(--icon-spacing, 20px);
    color: var(--icon-color, #2b3a42);
    display: flex;
    justify-content: center;
    align-items: center;
}
.aps-step-icon-a0928c73 svg {
    width: var(--icon-size, 36px);
    height: var(--icon-size, 36px);
    fill: var(--icon-color, #2b3a42);
}

.aps-step-title-a0928c73 {
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: var(--title-spacing, 12px);
    color: #1a1a1a;
    line-height: 1.3;
}
.aps-step-desc-a0928c73 {
    font-size: 1rem;
    color: #555;
    margin-bottom: var(--desc-spacing, 20px);
    flex-grow: 1;
    line-height: 1.6;
    width: 100%;
}
/* If desc is the last child (no badges), remove its bottom margin */
.aps-step-desc-a0928c73:last-child {
    margin-bottom: 0;
}

/* NEW BADGES REPEATER STYLES */
.aps-badges-container-a0928c73 {
    display: flex;
    flex-wrap: wrap;
    gap: var(--badges-gap-y, 8px) var(--badges-gap-x, 8px);
    justify-content: var(--badges-justify, flex-start);
    margin-top: auto; 
    width: 100%;
}

.aps-badge-item-a0928c73 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: var(--badge-padding, 6px 12px);
    border-radius: var(--badge-border-radius, 4px);
    font-size: 0.8rem;
    background: var(--badge-bg, #e8f5e9);
    color: var(--badge-color, #0d5c2d);
    text-decoration: none;
    transition: all 0.3s ease;
    border: 1px solid var(--badge-border-color, #c8e6c9);
}
.aps-badge-item-a0928c73:hover {
    transform: translateY(-2px);
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}


.aps-layout-vertical .aps-step-card-a0928c73 {
    text-align: left;
    align-items: flex-start;
}
.aps-layout-vertical .aps-step-icon-a0928c73 {
    justify-content: flex-start;
}

/* Tablet Responsive */
@media (max-width: 1024px) {
    .aps-steps-container-a0928c73 {
        gap: var(--steps-gap-tablet, 20px);
    }
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .aps-steps-container-a0928c73 {
        flex-direction: column;
        gap: var(--steps-gap-mobile, 30px);
    }
    .aps-layout-horizontal .aps-steps-container-a0928c73::before {
        display: none;
    }
    .aps-step-a0928c73::before {
        content: "";
        position: absolute;
        left: calc(var(--number-size, 50px) / 2);
        top: calc(var(--number-size, 50px) / 2);
        bottom: calc(-1 * var(--steps-gap-mobile, 30px));
        width: var(--connector-thickness, 2px);
        background: var(--connector-color, #e0e0e0);
        z-index: 1;
    }
    .aps-step-a0928c73:last-child::before {
        display: none;
    }
    
    .aps-step-a0928c73,
    .aps-layout-horizontal .aps-step-a0928c73 {
        flex-direction: row;
        align-items: stretch; 
        margin-bottom: 0;
    }
    .aps-step-number-a0928c73 {
        width: var(--number-size, 50px);
        height: var(--number-size, 50px);
        margin-bottom: 0;
        margin-right: 20px;
        flex-shrink: 0;
        z-index: 3;
        background: #fff; 
    }
    .aps-step-card-a0928c73,
    .aps-layout-horizontal .aps-step-card-a0928c73 {
        text-align: left;
        align-items: flex-start;
    }
    .aps-step-icon-a0928c73 {
        justify-content: flex-start;
    }
}
