/* Estilos básicos para la calculadora inmobiliaria */
#inmo-calculator-app {
    max-width: 800px;
    margin: 20px auto;
    padding: 20px;
    border: 1px solid #ddd;
    border-radius: 8px;
    background-color: #f9f9f9;
    font-family: sans-serif;
    position: relative;
}

/* 🛑 REGLAS PARA EL WIZARD: TODOS VISIBLES (Sección larga) 🛑 */
/* Estas clases se mantienen para definir la estructura de las secciones */
.calc-step {
    display: block !important; /* Aseguramos que todas las secciones sean visibles */
    margin-bottom: 40px; /* Separación entre secciones grandes */
    border: none !important; /* Quitamos el borde para que parezca un formulario continuo */
    padding: 0 !important;
}

/* Sección y Campos */
.calc-section {
    margin-bottom: 20px;
    padding: 15px;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    background-color: #fff;
}

#inmo-calculator-app label {
    display: block;
    margin-top: 10px;
    font-weight: bold;
}

#inmo-calculator-app input, 
#inmo-calculator-app select {
    width: 100%;
    padding: 8px;
    margin-top: 5px;
    margin-bottom: 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box;
    transition: border 0.3s;
}

/* Navegación y Validación */
.nav-buttons {
    display: flex;
    justify-content: flex-end; /* Alinear el botón de validación a la derecha */
    margin-top: 20px;
    border-top: 1px dashed #ccc;
    padding-top: 15px;
}
.nav-buttons button {
    padding: 10px 20px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 16px;
    flex-grow: 0;
    margin: 0 5px;
}
.btn-validar {
    background-color: darkgoldenrod;
    color: white;
}
.btn-validar:disabled {
    background-color: #ccc !important;
}

/* Estilo para campos con error: borde rojo grueso */
.campo-error {
    border: 2px solid red !important;
}

/* Alertas y Confirmación */
.alerta-tenencia {
    background-color: orange;
    color: white;
    padding: 10px;
    margin-top: 10px;
    border-radius: 4px;
    font-weight: bold;
    text-align: center;
}

.alerta-confirmacion {
    background-color: white;
    color: darkgreen;
    padding: 15px;
    margin-bottom: 15px;
    border: 2px solid darkgreen;
    border-radius: 4px;
    font-weight: bold;
    text-align: center;
}

/* Estilo para el texto "Pulsa Calcular" */
.alerta-calculo-final {
    background-color: #0073aa; /* Azul */
    color: white;
    padding: 15px;
    margin-bottom: 15px;
    border-radius: 4px;
    font-weight: bold;
    text-align: center;
}


/* Otros estilos */
.input-group {
    display: flex;
    gap: 10px;
}
.input-group input {
    flex-grow: 1;
    width: auto;
}

#tabla-desglose {
    width: 100%;
    border-collapse: collapse;
    margin-top: 15px;
}

#tabla-desglose th, #tabla-desglose td {
    border: 1px solid #ddd;
    padding: 8px;
    text-align: left;
}

#tabla-desglose th {
    background-color: #f2f2f2;
    font-weight: bold;
}

#tabla-desglose tfoot th {
    background-color: #0073aa;
    color: white;
    font-size: 1.1em;
}

.participante-card {
    border: 1px solid #ccc;
    padding: 15px;
    margin-bottom: 15px;
    border-radius: 4px;
    background-color: #fcfcfc;
}