.quoter-container{
    width: 784px;
    margin: 0 auto;
    padding: var(--space-xxl) var(--space-xl);
    .quoter-header{
        h1{
            font-family: Inter;
            font-weight: 700;
            font-size: 26.25px;
            line-height: 31.5px;
            letter-spacing: 0px;
            text-align: center;
            color: var(--color-gray-900);
        }
        p{
            font-family: Inter;
            font-weight: 400;
            font-size: 15.75px;
            line-height: 24.5px;
            letter-spacing: 0px;
            text-align: center;
            color: var(--gray-1);
        }
    }

    .quoter-steps{
        margin-top: var(--space-xl);
        display: flex;
        justify-content: center;
        align-items: center;
        gap: var(--space-xxl);
        .step{
            margin-bottom: var(--space-lg);
            display: flex;
            justify-content: center;
            align-items: center;
            flex-direction: column;
            .step-number{
                width: 28px;
                height: 28px;
                border-radius: 50%;
                display: flex;
                justify-content: center;
                align-items: center;
                background-color: var(--third);
                margin-bottom: var(--space-sm);
                span{
                    font-family: Inter;
                    font-size: 12.25px;
                    font-weight: 500;
                    line-height: 17.5px;
                    color: var(--color-gray-500);
                }
            }
            p{
                color: var(--gray-4);
                text-align: center;
                font-family: Inter;
                font-size: 10.5px;
                font-weight: 500;
                line-height: 14px;
            }
            &.active{
                .step-number{
                    background-color: var(--primary);
                    span{
                        color: white;
                    }
                }
                p{
                    color: #155FFC;
                }
            }
        }
    }
    .alert-error {
        width: calc(588px - 64px);
        margin: 25px auto;
        padding: 15px;
        border: 1px solid #FCA5A5;
        background-color: #FEF2F2;
        border-radius: 9px;
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: var(--space-md);

        .alert-error-content {
            flex: 1;

            h5 {
                color: var(--error);
                font-family: Inter;
                font-weight: 600;
                font-size: 15.75px;
                line-height: 24.5px;
                margin: 0 0 8px 0;
            }

            p {
                color: #7F1D1D;
                font-family: Inter;
                font-size: 14px;
                font-weight: 400;
                line-height: 21px;
                margin: 0;
            }
        }

        .alert-error-close {
            width: 24px;
            height: 24px;
            display: flex;
            align-items: center;
            justify-content: center;
            background: transparent;
            border: none;
            cursor: pointer;
            color: #991B1B;
            font-size: 24px;
            line-height: 1;
            padding: 0;
            transition: all 0.2s;

            &:hover {
                color: var(--error);
                transform: scale(1.1);
            }

            span {
                display: block;
            }
        }
    }

    .step-active{
        margin-top: var(--space-md);
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        p{
            color: var(--gray-1);
            text-align: center;
            font-family: Inter;
            font-size: 14px;
            font-weight: 400;
            line-height: 21px;
            margin-bottom: var(--space-md);
        }
        .step-ico{
            width: 56px;
            height: 56px;
            margin-bottom: var(--space-md);
            img{
                width: 100%;
                height: 100%;
            }
        }
    }

    .step-content{
        margin-top: var(--space-md);
        .step-wp{
            display: flex;
            justify-content: center;
            align-items: center;
            flex-direction: column;
            .step-box{
                display: none;
                &.show{
                    display: block;
                }
            }
            
            .step-wp-txt{
                width: 588px;
                margin: 0 auto;
            }
            h2{
                color: var(--gray-2);
                text-align: center;
                font-family: Inter;
                font-size: 21px;
                font-weight: 600;
                line-height: 28px;
            }
            p{
                color: var(--gray-1);
                text-align: center;
                font-family: Inter;
                font-size: 14px;
                font-weight: 400;
                line-height: 21px;
            }
            .box-form{
                margin-top: var(--space-lg);
                width: calc(588px - 64px);
                border-radius: 12.75px;
                border: 1px solid rgba(0, 0, 0, 0.10);
                background: #FFF;
                box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.10), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
                padding: var(--space-xl);
                margin: 25px auto;
                .row{
                    display: flex;
                    justify-content: space-between;
                    align-items: center;
                    gap: var(--space-lg);
                    margin-bottom: var(--space-md);
                    .form-group{
                        display: flex;
                        flex-direction: column;
                        width: 100%;
                        gap: 20px;
                        label{
                            color: #0A0A0A;
                            font-family: Inter;
                            font-size: 12.25px;
                            font-weight: 500;
                            line-height: 12.25px;
                        }
                        select, input{
                            color: #0A0A0A;
                            font-family: Inter;
                            font-size: 12.25px;
                            font-weight: 400;
                            line-height: 17.5px;
                            border-radius: 6.75px;
                            border: 1px solid #E5E7EB;
                            background: #F9FAFB;
                        }
                        .seleccion{
                            border-radius: 8.75px;
                            border: 1px solid #BEDBFF;
                            background: #EFF6FF;
                            width: calc(100% - 30px);
                            padding: 0;
                            margin: 0;
                            overflow: hidden;
                            width: 100%;

                            .max-vehiculos-info {
                                display: flex;
                                align-items: center;
                                justify-content: center;
                                gap: 8px;
                                padding: 12px 15px;
                                background: #DBEAFE;
                                border-top: 1px solid #BEDBFF;

                                i {
                                    color: #1447E6;
                                    font-size: 14px;
                                }

                                span {
                                    color: #1447E6;
                                    font-family: Inter;
                                    font-size: 12.25px;
                                    font-weight: 500;
                                    line-height: 17.5px;
                                }
                            }

                            .vehiculo-fila {
                                display: flex;
                                justify-content: space-between;
                                align-items: center;
                                height: 48px;
                                padding: 0 15px;
                                border-top: 1px solid #BEDBFF;

                                p{
                                    color: #193CB8;
                                    font-family: Inter;
                                    font-size: 12.25px;
                                    font-weight: 400;
                                    line-height: 17.5px;
                                    flex: 1;
                                    margin: 0;
                                }

                                .btn-eliminar-vehiculo {
                                    width: 24px;
                                    height: 24px;
                                    display: flex;
                                    align-items: center;
                                    justify-content: center;
                                    font-size: 20px;
                                    line-height: 1;
                                    color: #6B7280;
                                    background-color: transparent;
                                    border: none;
                                    border-radius: 4px;
                                    cursor: pointer;
                                    transition: all 0.2s ease;
                                    padding: 0;
                                    margin-left: 8px;

                                    &:hover {
                                        color: #DC2626;
                                        background-color: rgba(220, 38, 38, 0.1);
                                    }
                                }
                            }
                        }
                        &.submit-group{
                            flex-direction: row;
                            justify-content: space-between;
                            align-items: center;
                            gap: 20px;

                            // Cuando solo hay un botón (max vehículos), alinear a la derecha
                            &.single-button {
                                justify-content: flex-end;
                            }
                            button{
                                height: 35px;
                                padding: 10.5px 28px;
                                border-radius: 6.75px;
                                font-family: Inter;
                                font-size: 12.25px;
                                font-weight: 500;
                                line-height: 100%;
                                cursor: pointer;
                                transition: all 0.2s ease;

                                // Botón volver (izquierda) - estilo outline
                                &.js-prev-step{
                                    border: 1px solid #D1D5DC;
                                    background-color: white;
                                    color: #364153;
                                    &:hover{
                                        background: var(--primary);
                                        border-color: var(--primary);
                                        color: #FFF;
                                    }
                                }

                                // Botón continuar (derecha) - estilo primario
                                &.js-next-step{
                                    border: 1px solid var(--primary);
                                    background-color: var(--primary);
                                    color: #FFF;
                                    &:hover{
                                        background: var(--primary-hover);
                                        border-color: var(--primary-hover);
                                    }
                                }

                                // Botón agregar vehiculo - estilo outline
                                &#btn-agregar-vehiculo{
                                    border: 1px solid #D1D5DC;
                                    background-color: white;
                                    color: #364153;
                                    &:hover{
                                        background: var(--primary);
                                        border-color: var(--primary);
                                        color: #FFF;
                                    }
                                }

                                &:disabled{
                                    opacity: 0.5;
                                    cursor: not-allowed;
                                    pointer-events: none;
                                }

                                // Botones por defecto (sin clase específica) - estilo outline
                                &:not(.js-prev-step):not(.js-next-step):not(#btn-agregar-vehiculo) {
                                    border: 1px solid #D1D5DC;
                                    background-color: white;
                                    color: #364153;
                                    &:hover{
                                        background: var(--primary);
                                        border-color: var(--primary);
                                        color: #FFF;
                                    }
                                }
                            }
                        }
                        .container-radio{
                            display: flex;
                            flex-direction: row;
                            flex-wrap: wrap;
                            align-items: center;
                            gap: 15px;
                            
                            .container-checkbox {
                                display: inline-block;
                                position: relative;
                                line-height: 40px;
                                margin: 0;
                                cursor: pointer;
                                -webkit-user-select: none;
                                -moz-user-select: none;
                                -ms-user-select: none;
                                user-select: none;
                            }

                            /* Hide the browser's default checkbox */
                            .container-checkbox input {
                                position: absolute;
                                opacity: 0;
                                cursor: pointer;
                                height: 0;
                                width: 0;
                            }

                            /* Create a custom checkbox */
                            .checkmark {
                                background-color: #fff;
                                border: 2px solid #D1D5DC;
                                padding: 7px 14px;
                                border-radius: 20px;
                            }

                            .container-checkbox:hover input ~ .checkmark {
                                background-color: white;
                            }

                            /* When the checkbox is checked, add a blue background */
                            .container-checkbox input:checked ~ .checkmark {
                                background-color: var(--primary);
                                border-color: var(--primary);
                                color: white;
                            }
                        }

                        .disclaimer-text{
                            border: 1px solid #E5E7EB;
                            background-color: #F9FAFB;
                            padding: 15px;
                            border-radius: 9px;
                            text-align: left;
                            p{
                                font-family: Inter;
                                font-weight: 400;
                                font-size: 12.25px;
                                line-height: 17.5px;
                                letter-spacing: 0px;
                                color: #4A5565;
                                text-align: left;
                            }
                        }
                        &.flex-end{
                            justify-content: flex-end;
                        }
                    }
                }
                .item-complete{
                    .item-header{
                        display: flex;
                        justify-content: space-between;
                        align-items: center;
                        margin-bottom: 40px;
                        .col-left, .col-right{
                            flex: 1;
                            display: flex;
                            align-items: center;
                        }
                        .col-left{
                            justify-content: flex-start;
                        }
                        .col-right{
                            justify-content: flex-end;
                        }
                        .item-ico{
                            width: 17px;
                            height: 17px;
                            margin-right: var(--space-sm);
                            img{
                                width: 100%;
                                height: 100%;
                                object-fit: contain;
                            }
                        }
                        .item-title{
                            p{
                                font-family: Inter;
                                font-weight: 600;
                                font-size: 15.75px;
                                line-height: 24.5px;
                                letter-spacing: 0px;
                            }
                        }
                        .step-completed{
                            padding: 2px 7px;
                            border-radius: 7px;
                            span{
                                font-family: Inter;
                                font-weight: 500;
                                font-size: 10.5px;
                                line-height: 14px;
                                letter-spacing: 0px;
                            }
                            &.blue{
                                background-color: #DBEAFE;
                                span{
                                    color: #1447E6;
                                }
                            }
                            &.green{
                                background-color: #DCFCE7;
                                span{
                                    color: #008236;
                                }
                            }
                        }
                    }
                    .item-content{
                        .item-row{
                            display: flex;
                            .item-col{
                                flex: 1;
                            }
                        }

                        .sub-item{
                            width: 100%;
                            display: flex;
                            align-items: center;
                            justify-content: flex-start;
                            padding-bottom: 20px;
                            .img-ico{
                                width: 14px;
                                height: 14px;
                                margin-right: var(--space-sm);
                                img{
                                    width: 100%;
                                    height: 100%;
                                    object-fit: contain;
                                }
                            }
                            .txt{
                                text-align: left;
                                h5{
                                    font-family: Inter;
                                    font-weight: 400;
                                    font-size: 12.25px;
                                    line-height: 17.5px;
                                    letter-spacing: 0px;
                                    color: #6A7282;
                                    text-align: left;
                                    margin-bottom: 5px;
                                }
                                p{
                                    font-family: Inter;
                                    font-weight: 500;
                                    font-size: 14px;
                                    line-height: 21px;
                                    letter-spacing: 0px;
                                    color: #0A0A0A;
                                    text-align: left;
                                }

                                .tag-contact{
                                    background-color: #EFF6FF;
                                    padding: 2px 7px;
                                    border: 1px solid #BEDBFF;
                                    display: inline-block;
                                    border-radius: 7px;
                                    height: 20px;
                                    align-items: center;
                                    display: inline-flex;
                                    span{
                                        font-family: Inter;
                                        font-weight: 500;
                                        font-size: 10.5px;
                                        letter-spacing: 0px;
                                        color: #1447E6;
                                        display: inline-block;
                                        vertical-align: middle;
                                    }
                                }
                            }
                        }
                    }
                }
                &.disclaimer-confirmation{
                    border: 1px solid #BEDBFF;
                    background-color: #EAF4FF;
                    h5{
                        font-family: Inter;
                        font-weight: 600;
                        font-size: 17.5px;
                        line-height: 24.5px;
                        letter-spacing: 0px;
                        text-align: center;
                        color: #1E2939;
                        margin-bottom: 15px;
                    }
                    p{
                        font-family: Inter;
                        font-weight: 400;
                        font-size: 14px;
                        line-height: 21px;
                        letter-spacing: 0px;
                        text-align: center;
                    }
                    .stats-list{
                        display: flex;
                        justify-content: center;
                        align-items: center;
                        gap: 10px;
                        padding: 20px 0;
                        p{
                            font-family: Inter;
                            font-weight: 400;
                            font-size: 12.25px;
                            line-height: 17.5px;
                            letter-spacing: 0px;
                            text-align: center;
                            p{
                                color: #6A7282;
                            }
                        }
                    }
                }
                &.no-background{
                    background-color: transparent;
                    box-shadow: none;
                    border: none;
                    padding: 0;
                    width: 588px;
                }
            }
        }
        .end-step-wp{
            .step-wp-txt{
                h2{
                    font-family: Inter;
                    font-weight: 600;
                    font-size: 26.25px;
                    line-height: 31.5px;
                    letter-spacing: 0px;
                    text-align: center;
                    color: #008236;
                    margin-bottom: 20px;
                }
                p{
                    font-family: Inter;
                    font-weight: 400;
                    font-size: 15.75px;
                    line-height: 24.5px;
                    letter-spacing: 0px;
                    text-align: center;
                    color: #4A5565;
                }
            }
            .resume{
                background-color: #F0FDF4;
                border: 1px solid #B9F8CF;
                box-shadow: none;
                h3, p{
                    text-align: left;
                }
                h3{
                    color: #016630;
                    font-family: Inter;
                    font-weight: 600;
                    font-size: 14px;
                    line-height: 21px;
                    letter-spacing: 0px;
                    margin-bottom: 20px;
                }
                p{
                    font-family: Inter;
                    font-weight: 400;
                    font-size: 12.25px;
                    line-height: 17.5px;
                    letter-spacing: 0px;
                    color: #008236;
                }
            }
            .no-background{
                .row{
                    .form-group{
                        &.submit-group{
                            justify-content: center;
                        }
                    }
                }
            }
        }
    }
}



@media (max-width: 768px) {
  .quoter-container {
    width: 100%;
    padding: var(--space-lg) var(--space-md);
    box-sizing: border-box;
    .quoter-header {
      h1 {
        font-size: 20px;
        line-height: 26px;
      }
      p {
        font-size: 14px;
        line-height: 20px;
      }
    }

    .quoter-steps {
      /* flex-direction: column; */
      gap: var(--space-lg);

      .step {
        .step-number {
          width: 24px;
          height: 24px;
          margin-bottom: var(--space-xs);

          span {
            font-size: 11px;
          }
        }
        p {
          font-size: 10px;
        }
      }
    }

    .step-active {
      .step-ico {
        width: 48px;
        height: 48px;
      }
      p {
        font-size: 13px;
        line-height: 18px;
      }
    }

    .step-content {
      .step-wp {
        .step-wp-txt {
          width: 100%;
          padding: 0 var(--space-sm);
          box-sizing: border-box;
        }

        h2 {
          font-size: 18px;
          line-height: 24px;
        }

        p {
          font-size: 13px;
          line-height: 19px;
        }

        .box-form {
            width: 100%;
            padding: var(--space-md);
            margin: 15px auto;
            box-sizing: border-box;
            display: flex;
            flex-direction: column;

          // En mobile, poner el vehículo seleccionado arriba del formulario
          .row:has(.seleccion) {
            order: -1;
          }

          .row {
            flex-direction: column;
            gap: var(--space-md);

            .form-group {
              width: 100%;

              label {
                font-size: 11.5px;
              }

              select,
              input {
                font-size: 12px;
              }

              &.submit-group {
                flex-direction: column;
                gap: var(--space-sm);

                button {
                  width: 100%;
                }
              }

              .container-radio{
                flex-direction: row;
                flex-wrap: wrap;
              }

              .disclaimer-text p {
                font-size: 11.5px;
              }
            }
          }

          &.no-background {
            width: 100%;
          }
        }
      }

      .end-step-wp {
        .step-wp-txt {
          h2 {
            font-size: 22px;
            line-height: 28px;
          }

          p {
            font-size: 13px;
            line-height: 19px;
          }
        }

        .resume {
          padding: var(--space-md);
          h3 {
            font-size: 13px;
          }
          p {
            font-size: 11.5px;
          }
        }
      }
    }
  }
}

#resumen-vehiculos-lista {
  .resumen-vehiculo-item {
    padding: 12px 16px;
    margin-bottom: 10px;
    background-color: white;
    border: 1px solid #E5E7EB;
    border-radius: 6px;
    font-family: Inter;
    font-size: 14px;
    font-weight: 500;
    color: var(--color-gray-900);
  }
}

// Estilos para validación de formularios
.form-group {
  position: relative;

  input.input-error,
  select.input-error,
  textarea.input-error {
    border-color: var(--error) !important;

    &:focus {
      border-color: var(--error) !important;
      box-shadow: 0 0 0 3px rgba(231, 0, 11, 0.1);
    }
  }

  .error-message {
    display: block;
    margin-top: 6px;
    color: var(--error);
    font-family: Inter;
    font-size: 13px;
    font-weight: 400;
    line-height: 18px;
    min-height: 18px;

    &:empty {
      display: none;
    }
  }
}
