/* For HORIZONTAL steps at the top */
.steps-horizontal-layout .steps-container {
    order: -1;
    width: 100%;
    margin-right: 0;
    margin-bottom: 4px;
}

.steps-horizontal-layout .steps-card {
    position: static;
}

.steps-horizontal-layout .step-item {
    margin-bottom: 0;
    margin-right: 30px;
    flex-direction: column;
    text-align: center;
}

.steps-horizontal-layout .step-item:not(:last-child)::after {
    position: absolute;
    left: 50%;
    top: 15px;
    width: 30px;
    height: 2px;
    background: var(--border-color);
    transform: translateX(50%);
}

.steps-horizontal-layout .step-item.completed:not(:last-child)::after {
    background: var(--success-color);
}

.steps-horizontal-layout .step-item.active:not(:last-child)::after {
    background: var(--primary-color);
}

.steps-horizontal-layout .step-circle {
    margin-right: 0;
    margin-bottom: 10px;
}

.steps-horizontal-layout .step-text {
    font-size: 14px;
}

/* For VERTICAL steps on the side (default) */
.steps-vertical-layout .steps-container {
    order: 0;
    width: 300px;
    margin-right: 30px;
}

.steps-vertical-layout .steps-card {
    position: sticky;
    top: 100px;
}

.steps-vertical-layout .step-item {
    margin-bottom: 25px;
    flex-direction: row;
    text-align: left;
}

.steps-vertical-layout .step-item:not(:last-child)::after {
    position: absolute;
    left: 20px;
    top: 50px;
    width: 2px;
    height: 30px;
    background: var(--border-color);
}

.steps-vertical-layout .step-item.completed:not(:last-child)::after {
    background: var(--success-color);
}

.steps-vertical-layout .step-item.active:not(:last-child)::after {
    background: var(--primary-color);
}

.steps-vertical-layout .step-circle {
    margin-right: 15px;
    margin-bottom: 0;
}

.steps-vertical-layout .step-text {
    font-size: 16px;
}

:root {
    /* Primary Colors */
    --primary-color: #20c997;           /* Main brand color (teal) */
    --primary-dark: #1aa179;            /* Darker shade for hover states */
    --primary-light: #a8e6cf;           /* Lighter shade for backgrounds */
    
    /* Secondary Colors */
    --secondary-color: #6c757d;         /* Gray for secondary elements */
    --accent-color: #007bff;            /* Blue for accents and links */
    --accent-dark: #0056b3;             /* Darker blue for hover states */
    
    /* Background Colors */
    --background-gradient-start: #e3f2fd;  /* Light blue gradient start */
    --background-gradient-end: #bbdefb;    /* Light blue gradient end */
    --white: #ffffff;                    /* Pure white */
    --light-gray: #f8f9fa;              /* Light gray for cards */
    
    /* Text Colors */
    --text-color: #2c3e50;              /* Dark gray for main text */
    --text-light: #6c757d;              /* Light gray for secondary text */
    --text-muted: #adb5bd;              /* Muted text color */
    
    /* Status Colors */
    --success-color: #28a745;           /* Green for success states */
    --warning-color: #ffc107;           /* Yellow for warnings */
    --danger-color: #dc3545;            /* Red for errors and danger */
    --info-color: #17a2b8;              /* Blue for info messages */
    
    /* Border and Shadow Colors */
    --border-color: #dee2e6;            /* Light gray for borders */
    --border-light: #e9ecef;            /* Lighter gray for subtle borders */
    --shadow-color: rgba(0,0,0,0.1);    /* Shadow color with opacity */
    --shadow-hover: rgba(0,0,0,0.15);   /* Darker shadow for hover states */
    
    /* Form Colors */
    --form-focus-color: var(--primary-color);           /* Focus border color */
    --form-focus-shadow: rgba(32, 201, 151, 0.1);      /* Focus shadow color */
    --form-error-color: var(--danger-color);            /* Error text color */
    --form-error-border: var(--danger-color);           /* Error border color */
    --form-success-color: var(--success-color);         /* Success text color */
    --form-success-border: var(--success-color);        /* Success border color */
}

/* Blue Theme */
.theme-blue {
    --primary-color: #007bff;
    --primary-dark: #0056b3;
    --primary-light: #b3d7ff;
    --background-gradient-start: #e3f2fd;
    --background-gradient-end: #bbdefb;
}

/* Green Theme */
.theme-green {
    --primary-color: #28a745;
    --primary-dark: #1e7e34;
    --primary-light: #c3e6cb;
    --background-gradient-start: #d4edda;
    --background-gradient-end: #c3e6cb;
}

/* Purple Theme */
.theme-purple {
    --primary-color: #6f42c1;
    --primary-dark: #5a32a3;
    --primary-light: #d1c4e9;
    --background-gradient-start: #f3e5f5;
    --background-gradient-end: #e1bee7;
}

/* Orange Theme */
.theme-orange {
    --primary-color: #fd7e14;
    --primary-dark: #e55a00;
    --primary-light: #ffe0b3;
    --background-gradient-start: #fff3e0;
    --background-gradient-end: #ffcc80;
}

/* Mobile First responsive breakpoint Approach */
@media (max-width: 576px) {
    .steps-horizontal-layout .step-item {
        margin-right: 15px;
    }
    
    .steps-horizontal-layout .step-text {
        font-size: 12px;
    }
    
    .steps-horizontal-layout .step-circle {
        width: 30px;
        height: 30px;
        font-size: 12px;
    }
}

@media (max-width: 768px) {
    .steps-vertical-layout .steps-container {
        width: 100%;
        margin-right: 0;
        margin-bottom: 20px;
    }
    
    .steps-vertical-layout .steps-card {
        position: static;
    }
}

/* Enable/Disable animations by commenting/uncommenting */
.animated {
    transition: all 0.3s ease;
}

.animated:hover {
    transform: translateY(-2px);
}

/* Smooth transitions for form elements */
.form-control {
    transition: all 0.3s ease;
}

.btn-nav {
    transition: all 0.3s ease;
}

.step-circle {
    transition: all 0.3s ease;
}

.no-animations * {
    transition: none !important;
    animation: none !important;
}
