.ds-flow-step {
    cursor: pointer;
    transition: all 0.2s ease;
}

.ds-flow-step:hover {
    border-color: #000;
}

.ds-flow-step.active {
    background: #000;
    color: #fff;
    border-color: #000;
}

.fade-in {
    animation: fadeIn 0.3s ease-in-out;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Drain type cards */
.ds-option-grid {
    display: flex;
    gap: 20px;
    margin-top: 20px;
}

.ds-option-card {
    padding: 20px 30px;
    border: 1px solid #ccc;
    background: #fff;
    cursor: pointer;
    font-size: 15px;
    transition: all 0.2s ease;
}

.ds-option-card:hover {
    border-color: #000;
}

@media (max-width: 768px) {

    .ds-flow-diagram {
        flex-direction: column;
        align-items: flex-start;
    }

    .ds-flow-arrow {
        display: none;
    }

    .ds-option-grid {
        flex-direction: column;
    }

    .ds-option-card {
        width: 100%;
        text-align: left;
    }
}
