@import url('https://fonts.googleapis.com/icon?family=Material+Icons');

/* Containerul principal */
.order-steps-card.card {
    border: 1px solid #e1e1e1 !important;
    background-color: #fdfdfd !important;
    padding: 25px 15px !important;
    margin: 20px 0 !important;
    display: block !important; /* Ne asigurăm că e vizibil */
}

.stepper-wrapper {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    position: relative !important;
    width: 100% !important;
}

/* Fiecare etapă */
.stepper-item {
    flex: 1 !important;
    text-align: center !important;
    position: relative !important;
    z-index: 1 !important;
    opacity: 0.5; /* Implicit sunt șterse */
    transition: all 0.3s ease-in-out;
}

/* Etapa activă sau parcursă */
.stepper-item.completed {
    opacity: 1 !important;
}

/* Cercul (Dot) */
.stepper-item .step-dot {
    width: 45px !important;
    height: 45px !important;
    background-color: #ffffff !important;
    border: 3px solid #ddd !important;
    border-radius: 50% !important;
    margin: 0 auto 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #999 !important;
    position: relative !important;
    z-index: 2 !important;
}

/* Cercul devine VERDE la statusuri precum 16 */
.stepper-item.completed .step-dot {
    background-color: #4caf50 !important;
    border-color: #4caf50 !important;
    color: #ffffff !important;
}

/* Linia de legătură între cercuri */
.stepper-item::before {
    content: "" !important;
    position: absolute !important;
    width: 100% !important;
    height: 4px !important;
    background-color: #ddd !important;
    top: 22px !important;
    left: -50% !important;
    z-index: 1 !important;
}

.stepper-item:first-child::before {
    display: none !important;
}

/* Linia devine VERDE */
.stepper-item.completed::before {
    background-color: #4caf50 !important;
}

/* Textul de sub cerc */
.step-label {
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #666 !important;
    display: block !important;
    line-height: 1.2 !important;
}

.stepper-item.completed .step-label {
    color: #4caf50 !important;
}

@media (max-width: 767px) {
    /* Aliniem întregul container pe stânga */
    .stepper-wrapper {
        flex-direction: column !important;
        align-items: flex-start !important;
        padding-left: 10px !important;
        position: relative !important;
    }

    .stepper-item {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-start !important;
        margin-bottom: 30px !important; /* Spațiu mai mare între rânduri */
        width: 100% !important;
        text-align: left !important;
    }

    /* Ascundem linia orizontală de desktop */
    .stepper-item::before {
        display: none !important;
    }

    /* Adăugăm o linie VERTICALĂ între cercuri */
    .stepper-item::after {
        content: "" !important;
        position: absolute !important;
        left: 21px !important; /* Jumătatea cercului (45px / 2) */
        top: 45px !important;  /* Începe de sub cerc */
        width: 3px !important;
        height: calc(100% - 15px) !important; /* Se întinde până la următorul */
        background-color: #ddd !important;
        z-index: 0 !important;
    }

    /* Linia verticală devine verde pentru pașii parcurși */
    .stepper-item.completed::after {
        background-color: #4caf50 !important;
    }

    /* Eliminăm linia pentru ultimul element */
    .stepper-item:last-child::after {
        display: none !important;
    }

    /* Ajustăm cercul să nu se deformeze și să aibă spațiu față de text */
    .step-dot {
        margin: 0 20px 0 0 !important;
        flex-shrink: 0 !important; /* Previne turtirea cercului */
        z-index: 2 !important;
    }

    /* Facem textul puțin mai mare pe mobil pentru lizibilitate */
    .step-label {
        font-size: 13px !important;
        margin-top: 0 !important;
    }
}