/* ============================================
   VUE FORM WIZARD - ESTILOS CSS ORGANIZADOS
   ============================================ */

/* ==========================================
   ESTILOS GENERALES DEL WIZARD
   ========================================== */

/* Configuración básica del contenedor principal */
.vue-form-wizard {
    padding-bottom: 20px;
}

/* Box-sizing para todos los elementos del wizard */
.vue-form-wizard * {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

/* Eliminar decoración de enlaces */
.vue-form-wizard a {
    text-decoration: none;
}

/* ==========================================
   BOTONES DEL WIZARD
   ========================================== */

/* Estilos base para botones del wizard */
.vue-form-wizard .wizard-btn {
    display: inline-block;
    margin-bottom: 0;
    font-weight: 400;
    text-align: center;
    vertical-align: middle;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
    cursor: pointer;
    background-image: none;
    border: 1px solid transparent;
    white-space: nowrap;
    padding: 6px 12px;
    font-size: 400px;
    line-height: 1.42857;
    border-radius: 4px;
}

/* Botones avanzados del wizard con estilos mejorados */
.vue-form-wizard .navbar .navbar-nav>li>a.wizard-btn,
.vue-form-wizard .wizard-btn {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-width: 2px;
    background-color: transparent;
    font-size: 14px;
    font-weight: 600;
    padding: 6px 12px;
    min-width: 140px;
}

/* Estados de hover y focus para botones */
.vue-form-wizard .navbar .navbar-nav>li>a.wizard-btn:focus,
.vue-form-wizard .navbar .navbar-nav>li>a.wizard-btn:hover,
.vue-form-wizard .wizard-btn:focus,
.vue-form-wizard .wizard-btn:hover {
    outline: 0!important;
}

/* Botones deshabilitados */
.vue-form-wizard .wizard-btn.disabled,
.vue-form-wizard .wizard-btn[disabled],
fieldset[disabled] .vue-form-wizard .wizard-btn {
    cursor: not-allowed;
    opacity: .65;
    filter: alpha(opacity=65);
    -webkit-box-shadow: none;
    box-shadow: none;
}

/* ==========================================
   NAVEGACIÓN DEL WIZARD
   ========================================== */

/* Lista de navegación base */
.vue-form-wizard .wizard-nav {
    margin-bottom: 0;
    padding-left: 0;
    list-style: none;
}

/* Elementos de la lista de navegación */
.vue-form-wizard .wizard-nav>li {
    position: relative;
    display: block;
}

/* Enlaces de navegación */
.vue-form-wizard .wizard-nav>li>a {
    position: relative;
    display: block;
    padding: 10px 15px;
}

/* Estados hover y focus de navegación */
.vue-form-wizard .wizard-nav>li>a:focus,
.vue-form-wizard .wizard-nav>li>a:hover {
    text-decoration: none;
    background-color: #eee;
}

/* Enlaces deshabilitados en navegación */
.vue-form-wizard .wizard-nav>li.disabled>a {
    color: #777;
}

.vue-form-wizard .wizard-nav>li.disabled>a:focus,
.vue-form-wizard .wizard-nav>li.disabled>a:hover {
    color: #777;
    text-decoration: none;
    background-color: transparent;
    cursor: not-allowed;
}

/* ==========================================
   NAVEGACIÓN TIPO PILLS (PASTILLAS)
   ========================================== */

/* Contenedor principal de navegación tipo pills */
.vue-form-wizard .wizard-nav-pills {
    margin-top: 0;
    position: relative;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

/* Elementos flexibles en navegación pills */
.vue-form-wizard .wizard-nav-pills a,
.vue-form-wizard .wizard-nav-pills li {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

/* Enlaces en navegación pills */
.vue-form-wizard .wizard-nav-pills>li>a,
.vue-form-wizard .wizard-nav-pills a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

/* Estilos específicos para enlaces de pills */
.vue-form-wizard .wizard-nav-pills>li>a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 0;
    margin: 0 auto;
    color: rgba(0,0,0,.2);
    position: relative;
    top: 3px;
}

/* Estados hover y focus en pills */
.vue-form-wizard .wizard-nav-pills>li>a:focus,
.vue-form-wizard .wizard-nav-pills>li>a:hover {
    background-color: transparent;
    color: rgba(0,0,0,.2);
    outline: 0!important;
}

/* Enlaces deshabilitados en pills */
.vue-form-wizard .wizard-nav-pills>li>a.disabled {
    pointer-events: none;
    cursor: default;
}

/* Estado activo en pills */
.vue-form-wizard .wizard-nav-pills>li.active>a,
.vue-form-wizard .wizard-nav-pills>li.active>a:focus,
.vue-form-wizard .wizard-nav-pills>li.active>a:hover {
    background-color: transparent;
    -webkit-transition: font-size .2s linear;
    transition: font-size .2s linear;
}

/* Iconos en estado activo */
.vue-form-wizard .wizard-nav-pills>li.active>a .wizard-icon,
.vue-form-wizard .wizard-nav-pills>li.active>a:focus .wizard-icon,
.vue-form-wizard .wizard-nav-pills>li.active>a:hover .wizard-icon {
    color: #fff;
    font-size: 24px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-transition: all .2s linear;
    transition: all .2s linear;
}

/* ==========================================
   BARRA DE PROGRESO
   ========================================== */

/* Barra de progreso principal */
.vue-form-wizard .wizard-progress-bar {
    float: left;
    width: 0;
    height: 100%;
    font-size: 12px;
    line-height: 20px;
    color: #fff;
    text-align: center;
    background-color: #272727;
    -webkit-box-shadow: inset 0 -1px 0 rgba(0,0,0,.15);
    box-shadow: inset 0 -1px 0 rgba(0,0,0,.15);
    -webkit-transition: width .6s ease;
    transition: width .6s ease;
}

/* Contenedor de progreso con círculo */
.vue-form-wizard .wizard-navigation .wizard-progress-with-circle {
    position: relative;
    top: 40px;
    height: 4px;
}

/* Barra de progreso dentro del contenedor con círculo */
.vue-form-wizard .wizard-navigation .wizard-progress-with-circle .wizard-progress-bar {
    -webkit-box-shadow: none;
    box-shadow: none;
    -webkit-transition: width .3s ease;
    transition: width .3s ease;
}

/* ==========================================
   ICONOS CIRCULARES
   ========================================== */

/* Círculo base para iconos */
.vue-form-wizard .wizard-icon-circle {
    font-size: 18px;
    border: 3px solid #f3f2ee;
    border-radius: 50%;
    font-weight: 600;
    width: 70px;
    height: 70px;
    background-color: #fff;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
}

/* Variante cuadrada */
.vue-form-wizard .wizard-icon-circle.square_shape {
    border-radius: 0;
}

/* Variante tipo pestaña */
.vue-form-wizard .wizard-icon-circle.tab_shape {
    width: 100%;
    min-width: 100px;
    height: 40px;
    border: none;
    background-color: #826902;
    border-radius: 0;
}

/* Contenedor del icono */
.vue-form-wizard .wizard-icon-circle .wizard-icon-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    border-radius: 40%;
}

/* Contenedor de icono para formas cuadradas y pestañas */
.vue-form-wizard .wizard-icon-circle .wizard-icon-container.square_shape,
.vue-form-wizard .wizard-icon-circle .wizard-icon-container.tab_shape {
    border-radius: 0;
}

/* Icono dentro del contenedor */
.vue-form-wizard .wizard-icon-circle .wizard-icon {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

/* ==========================================
   TAMAÑOS RESPONSIVOS
   ========================================== */

/* Tamaño Extra Small (XS) */
.vue-form-wizard.xs .wizard-icon-circle {
    width: 40px;
    height: 40px;
    font-size: 16px;
}

.vue-form-wizard.xs .wizard-icon-circle.tab_shape {
    height: 25px;
}

.vue-form-wizard.xs .wizard-nav-pills>li.active>a .wizard-icon {
    font-size: 16px;
}

.vue-form-wizard.xs .wizard-navigation .wizard-progress-with-circle {
    position: relative;
    top: 25px;
    height: 4px;
}

/* Tamaño Small (SM) */
.vue-form-wizard.sm .wizard-icon-circle {
    width: 50px;
    height: 50px;
    font-size: 20px;
}

.vue-form-wizard.sm .wizard-icon-circle.tab_shape {
    height: 30px;
}

.vue-form-wizard.sm .wizard-nav-pills>li.active>a .wizard-icon {
    font-size: 20px;
}

.vue-form-wizard.sm .wizard-navigation .wizard-progress-with-circle {
    position: relative;
    top: 30px;
    height: 4px;
}

/* Tamaño Medium (MD) */
.vue-form-wizard.md .wizard-icon-circle {
    width: 70px;
    height: 70px;
    font-size: 24px;
}

.vue-form-wizard.md .wizard-icon-circle.tab_shape {
    height: 40px;
}

.vue-form-wizard.md .wizard-nav-pills>li.active>a .wizard-icon {
    font-size: 24px;
}

.vue-form-wizard.md .wizard-navigation .wizard-progress-with-circle {
    position: relative;
    top: 40px;
    height: 4px;
}

/* Tamaño Large (LG) */
.vue-form-wizard.lg .wizard-icon-circle {
    width: 90px;
    height: 90px;
    font-size: 28px;
}

.vue-form-wizard.lg .wizard-icon-circle.tab_shape {
    height: 50px;
}

.vue-form-wizard.lg .wizard-nav-pills>li.active>a .wizard-icon {
    font-size: 28px;
}

.vue-form-wizard.lg .wizard-navigation .wizard-progress-with-circle {
    position: relative;
    top: 50px;
    height: 4px;
}

/* ==========================================
   CONTENIDO Y ESTRUCTURA
   ========================================== */

/* Contenido de las pestañas */
.vue-form-wizard .wizard-tab-content {
    min-height: 100px;
    padding: 30px 20px 10px;
}

/* Encabezado del wizard */
.vue-form-wizard .wizard-header {
    padding: 15px;
    position: relative;
    border-radius: 3px 3px 0 0;
    text-align: center;
}

/* Título del wizard */
.vue-form-wizard .wizard-title {
    color: #252422;
    font-weight: 300;
    margin: 0;
    text-align: center;
    display: none;
}

/* Categoría o subtítulo */
.vue-form-wizard .category {
    font-size: 14px;
    font-weight: 400;
    color: #9a9a9a;
    margin-bottom: 0;
    text-align: center;
}

/* ==========================================
   ESTADOS DE ERROR
   ========================================== */

/* Elementos con error */
.vue-form-wizard .is_error {
    border-color: #c84513!important;
}

/* Contenedor de icono con error */
.vue-form-wizard .is_error .icon-container {
    background: #c84513!important;
}

/* ==========================================
   UTILIDADES
   ========================================== */

/* Clearfix para limpiar floats */
.vue-form-wizard .clearfix:after {
    content: "";
    clear: both;
    display: table;
}

/* ==========================================
   PIE DE PÁGINA DEL WIZARD
   ========================================== */

/* Contenedor del pie de página */
.vue-form-wizard .wizard-card-footer {
    padding: 0 20px;
}

/* Sección izquierda del pie */
.vue-form-wizard .wizard-card-footer .wizard-footer-left {
    float: left;
}

/* Sección derecha del pie */
.vue-form-wizard .wizard-card-footer .wizard-footer-right {
    float: right;
}

/* ==========================================
   LAYOUT VERTICAL
   ========================================== */

/* Pie de página en layout vertical */
.vue-form-wizard.vertical .wizard-card-footer {
    display: block;
    padding-top: 30px;
}

/* Navegación vertical */
.vue-form-wizard.vertical .wizard-nav-pills {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

/* Contenedor de navegación vertical */
.vue-form-wizard.vertical .wizard-navigation {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
}

/* ==========================================
   MEDIA QUERIES - RESPONSIVIDAD
   ========================================== */

/* Pantallas pequeñas (máximo 350px) */
@media screen and (max-width: 350px) {
    /* Pie de página en columna para pantallas pequeñas */
    .vue-form-wizard .wizard-card-footer {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    /* Secciones del pie sin float */
    .vue-form-wizard .wizard-card-footer .wizard-footer-left,
    .vue-form-wizard .wizard-card-footer .wizard-footer-right {
        float: none;
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    /* Margen superior para botones en sección derecha */
    .vue-form-wizard .wizard-card-footer .wizard-footer-right button {
        margin-top: 10px;
    }
}